Просмотр исходного кода

mac80211: update to version 6.16

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 4 месяцев назад
Родитель
Сommit
e005cdea10
100 измененных файлов с 247 добавлено и 30986 удалено
  1. 2 2
      package/kernel/mac80211/Makefile
  2. 1 1
      package/kernel/mac80211/patches/ath10k/921-ath10k_init_devices_synchronously.patch
  3. 2 2
      package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch
  4. 1 1
      package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch
  5. 5 5
      package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch
  6. 1 1
      package/kernel/mac80211/patches/ath10k/984-ath10k-Try-to-get-mac-address-from-dts.patch
  7. 1 1
      package/kernel/mac80211/patches/ath10k/988-ath10k-always-use-mac80211-loss-detection.patch
  8. 2 2
      package/kernel/mac80211/patches/ath11k/100-wifi-ath11k-use-unique-QRTR-instance-ID.patch
  9. 9 9
      package/kernel/mac80211/patches/ath11k/201-wifi-ath11k-Support-setting-bdf-addr-and-caldb-addr-.patch
  10. 2 2
      package/kernel/mac80211/patches/ath11k/900-ath11k-control-thermal-support-via-symbol.patch
  11. 2 2
      package/kernel/mac80211/patches/ath11k/903-ath11k-support-setting-FW-memory-mode-via-DT.patch
  12. 2 2
      package/kernel/mac80211/patches/ath11k/920-wifi-ath11k-add-hw-params-for-QCN6122.patch
  13. 5 5
      package/kernel/mac80211/patches/ath11k/923-wifi-ath11k-update-hif_and-pci_ops-for-QCN6122.patch
  14. 3 3
      package/kernel/mac80211/patches/ath11k/924-wifi-ath11k-add-multipd-support-for-QCN6122.patch
  15. 1 1
      package/kernel/mac80211/patches/ath11k/931-wifi-ath11k-Support-to-assign-m3-dump-memory.patch
  16. 1 1
      package/kernel/mac80211/patches/ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch
  17. 0 924
      package/kernel/mac80211/patches/ath12k/001-wifi-ath12k-add-11d-scan-offload-support-and-handle-country-code-for-WCN7850.patch
  18. 0 53
      package/kernel/mac80211/patches/ath12k/003-1-v6.16-wifi-ath12k-Pass-correct-values-of-center-freq1-and-.patch
  19. 0 43
      package/kernel/mac80211/patches/ath12k/003-2-v6.16-wifi-ath12k-Pass-correct-values-of-center-freq1-and-.patch
  20. 2 2
      package/kernel/mac80211/patches/ath12k/102-wifi-ath12k-limit-WMI_SCAN_CHAN_LIST_CMDID-arg.patch
  21. 3 3
      package/kernel/mac80211/patches/ath12k/103-wifi-ath12k-fix-5GHz-operation-on-wideband-QCN.patch
  22. 14 14
      package/kernel/mac80211/patches/ath12k/104-1-wifi-ath12k-push-HE-MU-MIMO-params-to-hardware.patch
  23. 4 4
      package/kernel/mac80211/patches/ath12k/104-2-wifi-ath12k-push-EHT-MU-MIMO-params-to-hardware.patch
  24. 2 2
      package/kernel/mac80211/patches/ath12k/104-3-wifi-ath12k-move-HE-MCS-mapper-to-a-separate-function.patch
  25. 3 3
      package/kernel/mac80211/patches/ath12k/104-4-wifi-ath12k-generate-rx-and-tx-mcs-maps-for-supported-HE-mcs.patch
  26. 2 2
      package/kernel/mac80211/patches/ath12k/104-5-wifi-ath12k-fix-TX-and-RX-MCS-rate-configurations-in-HE-mode.patch
  27. 41 41
      package/kernel/mac80211/patches/ath12k/104-6-wifi-ath12k-add-support-for-setting-fixed-HE-rate-GI-LTF.patch
  28. 11 11
      package/kernel/mac80211/patches/ath12k/104-7-wifi-ath12k-clean-up-80P80-support.patch
  29. 23 37
      package/kernel/mac80211/patches/ath12k/104-8-wifi-ath12k-add-support-for-160-MHz-bandwidth.patch
  30. 4 4
      package/kernel/mac80211/patches/ath12k/104-9-wifi-ath12k-add-extended-NSS-bandwidth-support-for-160-MHz.patch
  31. 5 5
      package/kernel/mac80211/patches/ath12k/200-Revert-wifi-ath12k-convert-tasklet-to-BH-workqueue-f.patch
  32. 0 50
      package/kernel/mac80211/patches/ath9k/509-ath9k-use-devm-for-irq-and-ioremap-resource.patch
  33. 3 3
      package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch
  34. 1 1
      package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch
  35. 1 1
      package/kernel/mac80211/patches/brcm/860-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch
  36. 1 1
      package/kernel/mac80211/patches/brcm/870-02-rpi-6.12-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch
  37. 1 1
      package/kernel/mac80211/patches/brcm/870-03-rpi-6.12-brcmfmac-Increase-power-saving-delay-to-2s.patch
  38. 13 13
      package/kernel/mac80211/patches/brcm/870-04-rpi-6.12-brcmfmac-non-upstream-support-DS1-exit-firmware-re-download.patch
  39. 1 1
      package/kernel/mac80211/patches/brcm/870-05-rpi-6.12-brcmfmac-Fix-interoperating-DPP-and-other-encryption.patch
  40. 3 3
      package/kernel/mac80211/patches/brcm/871-brcmfmac-disable-dump_survey-on-bcm2835.patch
  41. 1 1
      package/kernel/mac80211/patches/build/100-backports-drop-QRTR-and-MHI.patch
  42. 1 1
      package/kernel/mac80211/patches/build/140-trace_backport.patch
  43. 1 1
      package/kernel/mac80211/patches/build/150-ath_iommu_paging_domain_revert.patch
  44. 2 2
      package/kernel/mac80211/patches/build/200-iwlwifi_thermal_backport.patch
  45. 24 13
      package/kernel/mac80211/patches/build/210-wireless_netns_local_backport.patch
  46. 1 1
      package/kernel/mac80211/patches/build/220-brcmfmac_usb_driver_backport.patch
  47. 2 2
      package/kernel/mac80211/patches/build/230-fix-init_vqs-build-error-on-kernel-6.6.patch
  48. 1 1
      package/kernel/mac80211/patches/build/240-realtek-rtw88-BH-workqueue.patch
  49. 2 2
      package/kernel/mac80211/patches/build/300-backports-handle-genlmsg_multicast_allns-upstream-ba.patch
  50. 1 1
      package/kernel/mac80211/patches/build/410-mac80211-convert-short-fops-to-debugfs-files.patch
  51. 1 1
      package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch
  52. 4 16
      package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch
  53. 0 42
      package/kernel/mac80211/patches/rt2x00/110-wifi-rt2x00-fix-remove-callback-type-mismatch.patch
  54. 1 1
      package/kernel/mac80211/patches/rt2x00/602-01-wifi-rt2x00-Add-support-for-loading-EEPROM-from-user.patch
  55. 0 71
      package/kernel/mac80211/patches/rtl/065-v6.15-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch
  56. 0 39
      package/kernel/mac80211/patches/rtl/066-v6.15-wifi-rtw88-Fix-a-typo-of-debug-message-in-rtw8723d_i.patch
  57. 0 46
      package/kernel/mac80211/patches/rtl/069-v6.15-wifi-rtw88-Extend-struct-rtw_pwr_track_tbl-for-RTL88.patch
  58. 0 32
      package/kernel/mac80211/patches/rtl/070-v6.15-wifi-rtw88-Extend-rf_base_addr-and-rf_sipi_addr-for-.patch
  59. 0 213
      package/kernel/mac80211/patches/rtl/072-v6.15-wifi-rtw88-Constify-some-more-structs-and-arrays.patch
  60. 0 227
      package/kernel/mac80211/patches/rtl/073-v6.15-wifi-rtw88-Rename-RTW_RATE_SECTION_MAX-to-RTW_RATE_S.patch
  61. 0 369
      package/kernel/mac80211/patches/rtl/074-v6.15-wifi-rtw88-Extend-TX-power-stuff-for-3-4-spatial-str.patch
  62. 0 54
      package/kernel/mac80211/patches/rtl/081-v6.15-wifi-rtw88-Fix-rtw_rx_phy_stat-for-RTL8814AU.patch
  63. 0 75
      package/kernel/mac80211/patches/rtl/082-v6.15-wifi-rtw88-Extend-rtw_phy_config_swing_table-for-RTL.patch
  64. 0 86
      package/kernel/mac80211/patches/rtl/083-v6.15-wifi-rtw88-Extend-rtw_debugfs_get_phy_info-for-RTL88.patch
  65. 0 65
      package/kernel/mac80211/patches/rtl/084-v6.15-wifi-rtw88-Extend-rtw_debugfs_get_tx_pwr_tbl-for-RTL.patch
  66. 0 200
      package/kernel/mac80211/patches/rtl/085-v6.15-wifi-rtw88-Add-some-definitions-for-RTL8814AU.patch
  67. 0 12573
      package/kernel/mac80211/patches/rtl/086-v6.15-wifi-rtw88-Add-rtw8814a_table.c-part-1-2.patch
  68. 0 11450
      package/kernel/mac80211/patches/rtl/087-v6.15-wifi-rtw88-Add-rtw8814a_table.c-part-2-2.patch
  69. 0 2343
      package/kernel/mac80211/patches/rtl/088-v6.15-wifi-rtw88-Add-rtw8814a.-c-h.patch
  70. 0 50
      package/kernel/mac80211/patches/rtl/089-v6.15-wifi-rtw88-Add-rtw8814ae.c.patch
  71. 0 73
      package/kernel/mac80211/patches/rtl/090-v6.15-wifi-rtw88-Add-rtw8814au.c.patch
  72. 0 34
      package/kernel/mac80211/patches/rtl/091-v6.15-wifi-rtw88-Add-__nonstring-annotations-for-untermina.patch
  73. 0 130
      package/kernel/mac80211/patches/rtl/092-v6.15-wifi-rtw88-Enable-the-new-RTL8814AE-RTL8814AU-driver.patch
  74. 0 36
      package/kernel/mac80211/patches/rtl/093-v6.16-wifi-rtw88-sdio-Remove-redundant-flush_workqueue-cal.patch
  75. 0 44
      package/kernel/mac80211/patches/rtl/094-v6.16-wifi-rtw88-usb-Remove-redundant-flush_workqueue-call.patch
  76. 0 32
      package/kernel/mac80211/patches/rtl/095-v6.16-wifi-rtw88-usb-Enable-switching-the-RTL8814AU-to-USB.patch
  77. 0 28
      package/kernel/mac80211/patches/rtl/096-v6.16-wifi-rtw88-usb-Enable-RX-aggregation-for-RTL8814AU.patch
  78. 0 192
      package/kernel/mac80211/patches/rtl/097-v6.16-wifi-rtw88-Set-AMPDU-factor-to-hardware-for-RTL8814A.patch
  79. 0 169
      package/kernel/mac80211/patches/rtl/098-v6.16-wifi-rtw88-Don-t-set-SUPPORTS_AMSDU_IN_AMPDU-for-RTL.patch
  80. 0 230
      package/kernel/mac80211/patches/rtl/099-v6.16-wifi-rtw88-Fix-the-module-names-printed-in-dmesg.patch
  81. 0 36
      package/kernel/mac80211/patches/rtl/100-v6.16-wifi-rtw88-sdio-map-mgmt-frames-to-queue-TX_DESC_QSE.patch
  82. 0 37
      package/kernel/mac80211/patches/rtl/101-v6.16-wifi-rtw88-sdio-call-rtw_sdio_indicate_tx_status-unc.patch
  83. 0 32
      package/kernel/mac80211/patches/rtl/102-v6.16-wifi-rtw88-do-not-ignore-hardware-read-error-during-.patch
  84. 0 44
      package/kernel/mac80211/patches/rtl/103-v6.16-wifi-rtw88-Fix-RX-aggregation-settings-for-RTL8723DS.patch
  85. 0 198
      package/kernel/mac80211/patches/rtl/104-v6.16-wifi-rtw88-Handle-RTL8723D-S-with-blank-efuse.patch
  86. 0 27
      package/kernel/mac80211/patches/rtl/105-v6.16-wifi-rtw88-rtw8822bu-VID-PID-for-BUFFALO-WI-U2-866DM.patch
  87. 0 52
      package/kernel/mac80211/patches/rtl/106-v6.16-wifi-rtw88-usb-Reduce-control-message-timeout-to-500.patch
  88. 0 214
      package/kernel/mac80211/patches/rtl/107-v6.16-wifi-rtw88-usb-Upload-the-firmware-in-bigger-chunks.patch
  89. 0 73
      package/kernel/mac80211/patches/rtl/108-v6.16-wifi-rtw88-Fix-the-random-error-beacon-valid-message.patch
  90. 0 38
      package/kernel/mac80211/patches/rtl/109-v6.16-wifi-rtw88-fix-the-para-buffer-size-to-avoid-reading.patch
  91. 4 4
      package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch
  92. 1 1
      package/kernel/mac80211/patches/subsys/210-ap_scan.patch
  93. 1 1
      package/kernel/mac80211/patches/subsys/220-allow-ibss-mixed.patch
  94. 1 1
      package/kernel/mac80211/patches/subsys/230-avoid-crashing-missing-band.patch
  95. 1 1
      package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch
  96. 3 3
      package/kernel/mac80211/patches/subsys/305-mac80211-increase-quantum-for-airtime-scheduler.patch
  97. 3 3
      package/kernel/mac80211/patches/subsys/310-cfg80211-allow-grace-period-for-DFS-available-after-.patch
  98. 10 10
      package/kernel/mac80211/patches/subsys/320-mac80211-add-AQL-support-for-broadcast-packets.patch
  99. 1 1
      package/kernel/mac80211/patches/subsys/330-wifi-mac80211-Do-not-schedule-stopped-TXQs.patch
  100. 2 2
      package/kernel/mac80211/patches/subsys/331-wifi-mac80211-Don-t-call-fq_flow_idx-for-management-.patch

+ 2 - 2
package/kernel/mac80211/Makefile

@@ -10,13 +10,13 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=6.14.11
+PKG_VERSION:=6.16
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
-PKG_HASH:=1f6620485f0b33046e87aa2c6ac04ae529e9b5e83e318652d89939b192c6e348
+PKG_HASH:=67f11320509dd18e5e2c58cb81e9f6c7d19b09f5229baa5880ed4dab71c19052
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)backports-$(PKG_VERSION)

+ 1 - 1
package/kernel/mac80211/patches/ath10k/921-ath10k_init_devices_synchronously.patch

@@ -14,7 +14,7 @@ Signed-off-by: Sven Eckelmann <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath10k/core.c
 +++ b/drivers/net/wireless/ath/ath10k/core.c
-@@ -3539,6 +3539,16 @@ int ath10k_core_register(struct ath10k *
+@@ -3546,6 +3546,16 @@ int ath10k_core_register(struct ath10k *
  
  	queue_work(ar->workqueue, &ar->register_work);
  

+ 2 - 2
package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -9934,6 +9934,21 @@ static int ath10k_mac_init_rd(struct ath
+@@ -9951,6 +9951,21 @@ static int ath10k_mac_init_rd(struct ath
  	return 0;
  }
  
@@ -22,7 +22,7 @@
  int ath10k_mac_register(struct ath10k *ar)
  {
  	static const u32 cipher_suites[] = {
-@@ -10296,6 +10311,12 @@ int ath10k_mac_register(struct ath10k *a
+@@ -10313,6 +10328,12 @@ int ath10k_mac_register(struct ath10k *a
  
  	ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
  

+ 1 - 1
package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch

@@ -40,7 +40,7 @@ Signed-off-by: Mathias Kresin <[email protected]>
  	if (ret)
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -10312,7 +10312,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -10329,7 +10329,7 @@ int ath10k_mac_register(struct ath10k *a
  	ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
  
  #ifdef CPTCFG_MAC80211_LEDS

+ 5 - 5
package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch

@@ -28,8 +28,8 @@ Forwarded: no
 
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -1022,6 +1022,40 @@ static inline int ath10k_vdev_setup_sync
- 	return ar->last_wmi_vdev_start_status;
+@@ -1043,6 +1043,40 @@ static inline int ath10k_vdev_delete_syn
+ 	return 0;
  }
  
 +static u32 ath10k_get_max_antenna_gain(struct ath10k *ar,
@@ -69,7 +69,7 @@ Forwarded: no
  static int ath10k_monitor_vdev_start(struct ath10k *ar, int vdev_id)
  {
  	struct cfg80211_chan_def *chandef = NULL;
-@@ -1054,7 +1088,8 @@ static int ath10k_monitor_vdev_start(str
+@@ -1075,7 +1109,8 @@ static int ath10k_monitor_vdev_start(str
  	arg.channel.min_power = 0;
  	arg.channel.max_power = channel->max_power * 2;
  	arg.channel.max_reg_power = channel->max_reg_power * 2;
@@ -79,7 +79,7 @@ Forwarded: no
  
  	reinit_completion(&ar->vdev_setup_done);
  	reinit_completion(&ar->vdev_delete_done);
-@@ -1500,7 +1535,8 @@ static int ath10k_vdev_start_restart(str
+@@ -1521,7 +1556,8 @@ static int ath10k_vdev_start_restart(str
  	arg.channel.min_power = 0;
  	arg.channel.max_power = chandef->chan->max_power * 2;
  	arg.channel.max_reg_power = chandef->chan->max_reg_power * 2;
@@ -89,7 +89,7 @@ Forwarded: no
  
  	if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
  		arg.ssid = arvif->u.ap.ssid;
-@@ -3431,7 +3467,8 @@ static int ath10k_update_channel_list(st
+@@ -3452,7 +3488,8 @@ static int ath10k_update_channel_list(st
  			ch->min_power = 0;
  			ch->max_power = channel->max_power * 2;
  			ch->max_reg_power = channel->max_reg_power * 2;

+ 1 - 1
package/kernel/mac80211/patches/ath10k/984-ath10k-Try-to-get-mac-address-from-dts.patch

@@ -26,7 +26,7 @@ Signed-off-by: Ansuel Smith <[email protected]>
  #include <linux/property.h>
  #include <linux/dmi.h>
  #include <linux/ctype.h>
-@@ -3411,6 +3412,8 @@ static int ath10k_core_probe_fw(struct a
+@@ -3418,6 +3419,8 @@ static int ath10k_core_probe_fw(struct a
  
  	device_get_mac_address(ar->dev, ar->mac_addr);
  

+ 1 - 1
package/kernel/mac80211/patches/ath10k/988-ath10k-always-use-mac80211-loss-detection.patch

@@ -18,7 +18,7 @@ Signed-off-by: David Bauer <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -10104,7 +10104,6 @@ int ath10k_mac_register(struct ath10k *a
+@@ -10121,7 +10121,6 @@ int ath10k_mac_register(struct ath10k *a
  	ieee80211_hw_set(ar->hw, CHANCTX_STA_CSA);
  	ieee80211_hw_set(ar->hw, QUEUE_CONTROL);
  	ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG);

+ 2 - 2
package/kernel/mac80211/patches/ath11k/100-wifi-ath11k-use-unique-QRTR-instance-ID.patch

@@ -136,11 +136,11 @@ Signed-off-by: Robert Marko <[email protected]>
 +#define QRTR_INSTANCE_MASK			GENMASK(7, 0)
 +
  int ath11k_mhi_start(struct ath11k_pci *ar_pci);
- void ath11k_mhi_stop(struct ath11k_pci *ar_pci);
+ void ath11k_mhi_stop(struct ath11k_pci *ar_pci, bool is_suspend);
  int ath11k_mhi_register(struct ath11k_pci *ar_pci);
 --- a/drivers/net/wireless/ath/ath11k/pci.c
 +++ b/drivers/net/wireless/ath/ath11k/pci.c
-@@ -374,13 +374,20 @@ static void ath11k_pci_sw_reset(struct a
+@@ -376,13 +376,20 @@ static void ath11k_pci_sw_reset(struct a
  static void ath11k_pci_init_qmi_ce_config(struct ath11k_base *ab)
  {
  	struct ath11k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg;

+ 9 - 9
package/kernel/mac80211/patches/ath11k/201-wifi-ath11k-Support-setting-bdf-addr-and-caldb-addr-.patch

@@ -10,7 +10,7 @@ Signed-off-by: Ziyang Huang <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath11k/qmi.c
 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -2030,6 +2030,7 @@ static int ath11k_qmi_assign_target_mem_
+@@ -2041,6 +2041,7 @@ static int ath11k_qmi_assign_target_mem_
  	struct device_node *hremote_node = NULL;
  	struct resource res;
  	u32 host_ddr_sz;
@@ -18,30 +18,30 @@ Signed-off-by: Ziyang Huang <[email protected]>
  	int i, idx, ret;
  
  	for (i = 0, idx = 0; i < ab->qmi.mem_seg_count; i++) {
-@@ -2069,7 +2070,9 @@ static int ath11k_qmi_assign_target_mem_
+@@ -2080,7 +2081,9 @@ static int ath11k_qmi_assign_target_mem_
  			idx++;
  			break;
  		case BDF_MEM_REGION_TYPE:
 -			ab->qmi.target_mem[idx].paddr = ab->hw_params.bdf_addr;
-+			if(of_property_read_u32(dev->of_node, "qcom,bdf-addr", &addr))
++			if (of_property_read_u32(dev->of_node, "qcom,bdf-addr", &addr))
 +				addr = ab->hw_params.bdf_addr;
 +			ab->qmi.target_mem[idx].paddr = addr;
- 			ab->qmi.target_mem[idx].vaddr = NULL;
+ 			ab->qmi.target_mem[idx].iaddr = NULL;
  			ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size;
  			ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type;
-@@ -2091,8 +2094,9 @@ static int ath11k_qmi_assign_target_mem_
+@@ -2102,8 +2105,9 @@ static int ath11k_qmi_assign_target_mem_
  					if (!ab->qmi.target_mem[idx].iaddr)
  						return -EIO;
  				} else {
 -					ab->qmi.target_mem[idx].paddr =
 -						ATH11K_QMI_CALDB_ADDRESS;
-+					if(of_property_read_u32(dev->of_node, "qcom,caldb-addr", &addr))
++					if (of_property_read_u32(dev->of_node, "qcom,caldb-addr", &addr))
 +						addr = ATH11K_QMI_CALDB_ADDRESS;
 +					ab->qmi.target_mem[idx].paddr = addr;
+ 					ab->qmi.target_mem[idx].iaddr = NULL;
  				}
  			} else {
- 				ab->qmi.target_mem[idx].paddr = 0;
-@@ -2297,6 +2301,7 @@ static int ath11k_qmi_load_file_target_m
+@@ -2309,6 +2313,7 @@ static int ath11k_qmi_load_file_target_m
  	struct qmi_wlanfw_bdf_download_resp_msg_v01 resp;
  	struct qmi_txn txn;
  	const u8 *temp = data;
@@ -49,7 +49,7 @@ Signed-off-by: Ziyang Huang <[email protected]>
  	void __iomem *bdf_addr = NULL;
  	int ret = 0;
  	u32 remaining = len;
-@@ -2308,7 +2313,9 @@ static int ath11k_qmi_load_file_target_m
+@@ -2320,7 +2325,9 @@ static int ath11k_qmi_load_file_target_m
  	memset(&resp, 0, sizeof(resp));
  
  	if (ab->hw_params.fixed_bdf_addr) {

+ 2 - 2
package/kernel/mac80211/patches/ath11k/900-ath11k-control-thermal-support-via-symbol.patch

@@ -42,7 +42,7 @@ Signed-off-by: Robert Marko <[email protected]>
 +ath11k-$(CPTCFG_ATH11K_THERMAL) += thermal.o
  ath11k-$(CPTCFG_ATH11K_SPECTRAL) += spectral.o
  ath11k-$(CONFIG_PM) += wow.o
- 
+ ath11k-$(CONFIG_DEV_COREDUMP) += coredump.o
 --- a/drivers/net/wireless/ath/ath11k/thermal.h
 +++ b/drivers/net/wireless/ath/ath11k/thermal.h
 @@ -26,7 +26,7 @@ struct ath11k_thermal {
@@ -62,5 +62,5 @@ Signed-off-by: Robert Marko <[email protected]>
  ATH11K_SPECTRAL=
 +ATH11K_THERMAL=
  ATH12K=
+ ATH12K_AHB=
  ATH12K_DEBUG=
- ATH12K_DEBUGFS=

+ 2 - 2
package/kernel/mac80211/patches/ath11k/903-ath11k-support-setting-FW-memory-mode-via-DT.patch

@@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <[email protected]>
  	{
  		.hw_rev = ATH11K_HW_IPQ8074,
  		.name = "ipq8074 hw2.0",
-@@ -2280,7 +2280,8 @@ static void ath11k_core_reset(struct wor
+@@ -2481,7 +2481,8 @@ static void ath11k_core_reset(struct wor
  static int ath11k_init_hw_params(struct ath11k_base *ab)
  {
  	const struct ath11k_hw_params *hw_params = NULL;
@@ -41,7 +41,7 @@ Signed-off-by: Robert Marko <[email protected]>
  
  	for (i = 0; i < ARRAY_SIZE(ath11k_hw_params); i++) {
  		hw_params = &ath11k_hw_params[i];
-@@ -2296,7 +2297,31 @@ static int ath11k_init_hw_params(struct
+@@ -2497,7 +2498,31 @@ static int ath11k_init_hw_params(struct
  
  	ab->hw_params = *hw_params;
  

+ 2 - 2
package/kernel/mac80211/patches/ath11k/920-wifi-ath11k-add-hw-params-for-QCN6122.patch

@@ -92,10 +92,10 @@ Signed-off-by: George Moussalem <[email protected]>
 +	},
  };
  
- static inline struct ath11k_pdev *ath11k_core_get_single_pdev(struct ath11k_base *ab)
+ static const struct dmi_system_id ath11k_pm_quirk_table[] = {
 --- a/drivers/net/wireless/ath/ath11k/core.h
 +++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -149,6 +149,7 @@ enum ath11k_hw_rev {
+@@ -151,6 +151,7 @@ enum ath11k_hw_rev {
  	ATH11K_HW_IPQ5018_HW10,
  	ATH11K_HW_QCA2066_HW21,
  	ATH11K_HW_QCA6698AQ_HW21,

+ 5 - 5
package/kernel/mac80211/patches/ath11k/923-wifi-ath11k-update-hif_and-pci_ops-for-QCN6122.patch

@@ -68,16 +68,16 @@ Signed-off-by: George Moussalem <[email protected]>
  		return -EOPNOTSUPP;
 --- a/drivers/net/wireless/ath/ath11k/hif.h
 +++ b/drivers/net/wireless/ath/ath11k/hif.h
-@@ -31,6 +31,7 @@ struct ath11k_hif_ops {
- 	void (*ce_irq_enable)(struct ath11k_base *ab);
+@@ -32,6 +32,7 @@ struct ath11k_hif_ops {
  	void (*ce_irq_disable)(struct ath11k_base *ab);
  	void (*get_ce_msi_idx)(struct ath11k_base *ab, u32 ce_id, u32 *msi_idx);
+ 	void (*coredump_download)(struct ath11k_base *ab);
 +	void (*config_static_window)(struct ath11k_base *ab);
  };
  
  static inline void ath11k_hif_ce_irq_enable(struct ath11k_base *ab)
-@@ -146,4 +147,12 @@ static inline void ath11k_get_ce_msi_idx
- 		*msi_data_idx = ce_id;
+@@ -159,4 +160,12 @@ static inline void ath11k_hif_coredump_d
+ 		ab->hif.ops->coredump_download(ab);
  }
  
 +static inline void ath11k_hif_config_static_window(struct ath11k_base *ab)
@@ -91,7 +91,7 @@ Signed-off-by: George Moussalem <[email protected]>
  #endif /* _HIF_H_ */
 --- a/drivers/net/wireless/ath/ath11k/qmi.c
 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -2189,6 +2189,8 @@ static int ath11k_qmi_request_device_inf
+@@ -2201,6 +2201,8 @@ static int ath11k_qmi_request_device_inf
  	if (!ab->hw_params.ce_remap)
  		ab->mem_ce = ab->mem;
  

+ 3 - 3
package/kernel/mac80211/patches/ath11k/924-wifi-ath11k-add-multipd-support-for-QCN6122.patch

@@ -79,7 +79,7 @@ Signed-off-by: George Moussalem <[email protected]>
  
 --- a/drivers/net/wireless/ath/ath11k/core.h
 +++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -45,6 +45,9 @@
+@@ -47,6 +47,9 @@
  #define ATH11K_INVALID_HW_MAC_ID	0xFF
  #define ATH11K_CONNECTION_LOSS_HZ	(3 * HZ)
  
@@ -89,7 +89,7 @@ Signed-off-by: George Moussalem <[email protected]>
  /* SMBIOS type containing Board Data File Name Extension */
  #define ATH11K_SMBIOS_BDF_EXT_TYPE 0xF8
  
-@@ -952,6 +955,7 @@ struct ath11k_base {
+@@ -966,6 +969,7 @@ struct ath11k_base {
  	struct list_head peers;
  	wait_queue_head_t peer_mapping_wq;
  	u8 mac_addr[ETH_ALEN];
@@ -99,7 +99,7 @@ Signed-off-by: George Moussalem <[email protected]>
  	struct ath11k_targ_cap target_caps;
 --- a/drivers/net/wireless/ath/ath11k/pci.c
 +++ b/drivers/net/wireless/ath/ath11k/pci.c
-@@ -389,6 +389,8 @@ static void ath11k_pci_init_qmi_ce_confi
+@@ -391,6 +391,8 @@ static void ath11k_pci_init_qmi_ce_confi
  	} else
  		ab->qmi.service_ins_id = ab->hw_params.qmi_service_ins_id;
  

+ 1 - 1
package/kernel/mac80211/patches/ath11k/931-wifi-ath11k-Support-to-assign-m3-dump-memory.patch

@@ -10,7 +10,7 @@ Signed-off-by: Ziyang Huang <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath11k/qmi.c
 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -2106,6 +2106,18 @@ static int ath11k_qmi_assign_target_mem_
+@@ -2118,6 +2118,18 @@ static int ath11k_qmi_assign_target_mem_
  			ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type;
  			idx++;
  			break;

+ 1 - 1
package/kernel/mac80211/patches/ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch

@@ -23,7 +23,7 @@ Signed-off-by: Rameshkumar Sundaram <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath11k/mac.c
 +++ b/drivers/net/wireless/ath/ath11k/mac.c
-@@ -4220,7 +4220,9 @@ static int ath11k_install_key(struct ath
+@@ -4232,7 +4232,9 @@ static int ath11k_install_key(struct ath
  		return 0;
  
  	if (cmd == DISABLE_KEY) {

+ 0 - 924
package/kernel/mac80211/patches/ath12k/001-wifi-ath12k-add-11d-scan-offload-support-and-handle-country-code-for-WCN7850.patch

@@ -1,924 +0,0 @@
-From patchwork Thu Sep  5 02:35:08 2024
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Kang Yang <[email protected]>
-X-Patchwork-Id: 13791624
-X-Patchwork-Delegate: [email protected]
-Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com
- [205.220.180.131])
-	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
-	(No client certificate requested)
-	by smtp.subspace.kernel.org (Postfix) with ESMTPS id D313D33CFC
-	for <[email protected]>; Thu,  5 Sep 2024 02:36:17 +0000 (UTC)
-Authentication-Results: smtp.subspace.kernel.org;
- arc=none smtp.client-ip=205.220.180.131
-ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
-	t=1725503779; cv=none;
- b=blv4mH95IN2AR7Rt90gw/V7DnZRtr3upgAP50X6ew3jh0CusPG6/OTO9CSJVthJnqHU3Y3GT88jaeMzb9+f2xzqgl7+E35TmwN3uf6dFmbp7CD8LL0W6xu76ZZgFGxzRspv9YoVy/fydZY6I4JRc2faWqI540+n9bHEXdSJTZMM=
-ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
-	s=arc-20240116; t=1725503779; c=relaxed/simple;
-	bh=vjzfDc6UXtw2Li6Q3bAgcW0K1rcTpi3dAxkQgbT5ogI=;
-	h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
-	 MIME-Version:Content-Type;
- b=VMgF0PfIOoXmfB6EARb/O+dooXutjAm/cnemJ0RC7uc8TSIAusH1ffc6jF1XndEp+nPTWnuMQ5/d1cE/bPeIvSTxrtWaUepnKNjQDrNKm4NrqmjR446CT9t0VHG16RZ1cmCmU74qXnfgus4XfTqD093lc1N5Q/YRh/kwmcCzxhY=
-ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
- dmarc=pass (p=none dis=none) header.from=quicinc.com;
- spf=pass smtp.mailfrom=quicinc.com;
- dkim=pass (2048-bit key) header.d=quicinc.com [email protected]
- header.b=E5hktrdm; arc=none smtp.client-ip=205.220.180.131
-Authentication-Results: smtp.subspace.kernel.org;
- dmarc=pass (p=none dis=none) header.from=quicinc.com
-Authentication-Results: smtp.subspace.kernel.org;
- spf=pass smtp.mailfrom=quicinc.com
-Authentication-Results: smtp.subspace.kernel.org;
-	dkim=pass (2048-bit key) header.d=quicinc.com [email protected]
- header.b="E5hktrdm"
-Received: from pps.filterd (m0279869.ppops.net [127.0.0.1])
-	by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id
- 484MRZwS008193;
-	Thu, 5 Sep 2024 02:36:12 GMT
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
-	cc:content-transfer-encoding:content-type:date:from:in-reply-to
-	:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
-	No6X3gHpioHamjfMDccV8LJEZBGk/uDqbZ/fuGUTvJM=; b=E5hktrdmmOb3KcP6
-	Qi3M5Y06Yd8RxNJTps8WMEoXZ7xzROVuhmRmlG/mw21NjBMTTMgtjcaen/n8Anj3
-	Ash1VFK6s7PrLcwoUT/uui6hzleGE+X9Wh8DJXYnZKKWmeQ+8E0yEzNR0kt9FG0n
-	S+asFc8VYEJHid6QDNAfM9e4JqJgU3NGXYJBTBM2lpdbqeWU7LEYnVTGCqvOPaH2
-	K+QDwvNiNeXlqbaxnqCYimUrSDnTbSUoiVxSpTe9/muWWAB+6YuUbXRfTceqgcd1
-	xFIOE1KrtAowMOk5mO3tn6Tjl7nJzewVUm9hncBRfynP8k2jt1xosMezL42dmb56
-	a9VWLQ==
-Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com
- [129.46.96.20])
-	by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 41bt674mq1-1
-	(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
-	Thu, 05 Sep 2024 02:36:11 +0000 (GMT)
-Received: from nalasex01b.na.qualcomm.com (nalasex01b.na.qualcomm.com
- [10.47.209.197])
-	by NALASPPMTA03.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id
- 4852aAdV010181
-	(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
-	Thu, 5 Sep 2024 02:36:10 GMT
-Received: from kangyang.ap.qualcomm.com (10.80.80.8) by
- nalasex01b.na.qualcomm.com (10.47.209.197) with Microsoft SMTP Server
- (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
- 15.2.1544.9; Wed, 4 Sep 2024 19:36:09 -0700
-From: Kang Yang <[email protected]>
-To: <[email protected]>
-CC: <[email protected]>, <[email protected]>
-Subject: [PATCH v3 1/4] wifi: ath12k: add configure country code for WCN7850
-Date: Thu, 5 Sep 2024 10:35:08 +0800
-Message-ID: <[email protected]>
-X-Mailer: git-send-email 2.34.1.windows.1
-In-Reply-To: <[email protected]>
-References: <[email protected]>
-Precedence: bulk
-X-Mailing-List: [email protected]
-List-Id: <linux-wireless.vger.kernel.org>
-List-Subscribe: <mailto:[email protected]>
-List-Unsubscribe: <mailto:[email protected]>
-MIME-Version: 1.0
-X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
- nalasex01b.na.qualcomm.com (10.47.209.197)
-X-QCInternal: smtphost
-X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800
- signatures=585085
-X-Proofpoint-ORIG-GUID: FzfHe7cZy6IUVu8IKORVKLxkYG9f8WUl
-X-Proofpoint-GUID: FzfHe7cZy6IUVu8IKORVKLxkYG9f8WUl
-X-Proofpoint-Virus-Version: vendor=baseguard
- engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
- definitions=2024-09-05_01,2024-09-04_01,2024-09-02_01
-X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
- malwarescore=0 adultscore=0
- bulkscore=0 mlxscore=0 impostorscore=0 suspectscore=0 phishscore=0
- mlxlogscore=999 lowpriorityscore=0 spamscore=0 clxscore=1015
- priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
- engine=8.19.0-2407110000 definitions=main-2409050018
-
-From: Wen Gong <[email protected]>
-
-Add handler to send WMI_SET_CURRENT_COUNTRY_CMDID to firmware, which
-is used for WCN7850 to update country code.
-
-Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
-
-Signed-off-by: Wen Gong <[email protected]>
-Signed-off-by: Kang Yang <[email protected]>
-Acked-by: Jeff Johnson <[email protected]>
----
- drivers/net/wireless/ath/ath12k/wmi.c | 36 +++++++++++++++++++++++++++
- drivers/net/wireless/ath/ath12k/wmi.h | 13 ++++++++++
- 2 files changed, 49 insertions(+)
-
---- a/drivers/net/wireless/ath/ath12k/wmi.c
-+++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -171,6 +171,8 @@ static const struct ath12k_wmi_tlv_polic
- 		.min_len = sizeof(struct ath12k_wmi_p2p_noa_info) },
- 	[WMI_TAG_P2P_NOA_EVENT] = {
- 		.min_len = sizeof(struct wmi_p2p_noa_event) },
-+	[WMI_TAG_11D_NEW_COUNTRY_EVENT] = {
-+		.min_len = sizeof(struct wmi_11d_new_cc_event) },
- };
- 
- static __le32 ath12k_wmi_tlv_hdr(u32 cmd, u32 len)
-@@ -2531,7 +2533,10 @@ int ath12k_wmi_send_scan_start_cmd(struc
- 	cmd->scan_id = cpu_to_le32(arg->scan_id);
- 	cmd->scan_req_id = cpu_to_le32(arg->scan_req_id);
- 	cmd->vdev_id = cpu_to_le32(arg->vdev_id);
--	cmd->scan_priority = cpu_to_le32(arg->scan_priority);
-+	if (ar->state_11d == ATH12K_11D_PREPARING)
-+		arg->scan_priority = WMI_SCAN_PRIORITY_MEDIUM;
-+	else
-+		arg->scan_priority = WMI_SCAN_PRIORITY_LOW;
- 	cmd->notify_scan_events = cpu_to_le32(arg->notify_scan_events);
- 
- 	ath12k_wmi_copy_scan_event_cntrl_flags(cmd, arg);
-@@ -3253,6 +3258,110 @@ out:
- 	return ret;
- }
- 
-+int ath12k_wmi_send_set_current_country_cmd(struct ath12k *ar,
-+					    struct wmi_set_current_country_arg *arg)
-+{
-+	struct ath12k_wmi_pdev *wmi = ar->wmi;
-+	struct wmi_set_current_country_cmd *cmd;
-+	struct sk_buff *skb;
-+	int ret;
-+
-+	skb = ath12k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
-+	if (!skb)
-+		return -ENOMEM;
-+
-+	cmd = (struct wmi_set_current_country_cmd *)skb->data;
-+	cmd->tlv_header =
-+		ath12k_wmi_tlv_cmd_hdr(WMI_TAG_SET_CURRENT_COUNTRY_CMD,
-+				       sizeof(*cmd));
-+
-+	cmd->pdev_id = cpu_to_le32(ar->pdev->pdev_id);
-+	memcpy(&cmd->new_alpha2, &arg->alpha2, sizeof(arg->alpha2));
-+	ret = ath12k_wmi_cmd_send(wmi, skb, WMI_SET_CURRENT_COUNTRY_CMDID);
-+
-+	ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
-+		   "set current country pdev id %d alpha2 %c%c\n",
-+		   ar->pdev->pdev_id,
-+		   arg->alpha2[0],
-+		   arg->alpha2[1]);
-+
-+	if (ret) {
-+		ath12k_warn(ar->ab,
-+			    "failed to send WMI_SET_CURRENT_COUNTRY_CMDID: %d\n", ret);
-+		dev_kfree_skb(skb);
-+	}
-+
-+	return ret;
-+}
-+
-+int ath12k_wmi_send_11d_scan_start_cmd(struct ath12k *ar,
-+				       struct wmi_11d_scan_start_arg *arg)
-+{
-+	struct ath12k_wmi_pdev *wmi = ar->wmi;
-+	struct wmi_11d_scan_start_cmd *cmd;
-+	struct sk_buff *skb;
-+	int ret;
-+
-+	skb = ath12k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
-+	if (!skb)
-+		return -ENOMEM;
-+
-+	cmd = (struct wmi_11d_scan_start_cmd *)skb->data;
-+	cmd->tlv_header =
-+		ath12k_wmi_tlv_cmd_hdr(WMI_TAG_11D_SCAN_START_CMD,
-+				       sizeof(*cmd));
-+
-+	cmd->vdev_id = cpu_to_le32(arg->vdev_id);
-+	cmd->scan_period_msec = cpu_to_le32(arg->scan_period_msec);
-+	cmd->start_interval_msec = cpu_to_le32(arg->start_interval_msec);
-+	ret = ath12k_wmi_cmd_send(wmi, skb, WMI_11D_SCAN_START_CMDID);
-+
-+	ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
-+		   "send 11d scan start vdev id %d period %d ms internal %d ms\n",
-+		   arg->vdev_id, arg->scan_period_msec,
-+		   arg->start_interval_msec);
-+
-+	if (ret) {
-+		ath12k_warn(ar->ab,
-+			    "failed to send WMI_11D_SCAN_START_CMDID: %d\n", ret);
-+		dev_kfree_skb(skb);
-+	}
-+
-+	return ret;
-+}
-+
-+int ath12k_wmi_send_11d_scan_stop_cmd(struct ath12k *ar, u32 vdev_id)
-+{
-+	struct ath12k_wmi_pdev *wmi = ar->wmi;
-+	struct wmi_11d_scan_stop_cmd *cmd;
-+	struct sk_buff *skb;
-+	int ret;
-+
-+	skb = ath12k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd));
-+	if (!skb)
-+		return -ENOMEM;
-+
-+	cmd = (struct wmi_11d_scan_stop_cmd *)skb->data;
-+	cmd->tlv_header =
-+		ath12k_wmi_tlv_cmd_hdr(WMI_TAG_11D_SCAN_STOP_CMD,
-+				       sizeof(*cmd));
-+
-+	cmd->vdev_id = cpu_to_le32(vdev_id);
-+	ret = ath12k_wmi_cmd_send(wmi, skb, WMI_11D_SCAN_STOP_CMDID);
-+
-+	ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
-+		   "send 11d scan stop vdev id %d\n",
-+		   cmd->vdev_id);
-+
-+	if (ret) {
-+		ath12k_warn(ar->ab,
-+			    "failed to send WMI_11D_SCAN_STOP_CMDID: %d\n", ret);
-+		dev_kfree_skb(skb);
-+	}
-+
-+	return ret;
-+}
-+
- int
- ath12k_wmi_send_twt_enable_cmd(struct ath12k *ar, u32 pdev_id)
- {
-@@ -5873,6 +5982,50 @@ static void ath12k_wmi_op_ep_tx_credits(
- 	wake_up(&ab->wmi_ab.tx_credits_wq);
- }
- 
-+static int ath12k_reg_11d_new_cc_event(struct ath12k_base *ab, struct sk_buff *skb)
-+{
-+	const struct wmi_11d_new_cc_event *ev;
-+	struct ath12k *ar;
-+	struct ath12k_pdev *pdev;
-+	const void **tb;
-+	int ret, i;
-+
-+	tb = ath12k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
-+	if (IS_ERR(tb)) {
-+		ret = PTR_ERR(tb);
-+		ath12k_warn(ab, "failed to parse tlv: %d\n", ret);
-+		return ret;
-+	}
-+
-+	ev = tb[WMI_TAG_11D_NEW_COUNTRY_EVENT];
-+	if (!ev) {
-+		kfree(tb);
-+		ath12k_warn(ab, "failed to fetch 11d new cc ev");
-+		return -EPROTO;
-+	}
-+
-+	spin_lock_bh(&ab->base_lock);
-+	memcpy(&ab->new_alpha2, &ev->new_alpha2, REG_ALPHA2_LEN);
-+	spin_unlock_bh(&ab->base_lock);
-+
-+	ath12k_dbg(ab, ATH12K_DBG_WMI, "wmi 11d new cc %c%c\n",
-+		   ab->new_alpha2[0],
-+		   ab->new_alpha2[1]);
-+
-+	kfree(tb);
-+
-+	for (i = 0; i < ab->num_radios; i++) {
-+		pdev = &ab->pdevs[i];
-+		ar = pdev->ar;
-+		ar->state_11d = ATH12K_11D_IDLE;
-+		complete(&ar->completed_11d_scan);
-+	}
-+
-+	queue_work(ab->workqueue, &ab->update_11d_work);
-+
-+	return 0;
-+}
-+
- static void ath12k_wmi_htc_tx_complete(struct ath12k_base *ab,
- 				       struct sk_buff *skb)
- {
-@@ -7586,6 +7739,9 @@ static void ath12k_wmi_op_rx(struct ath1
- 	case WMI_OBSS_COLOR_COLLISION_DETECTION_EVENTID:
- 		/* debug might flood hence silently ignore (no-op) */
- 		break;
-+	case WMI_11D_NEW_COUNTRY_EVENTID:
-+		ath12k_reg_11d_new_cc_event(ab, skb);
-+		break;
- 	/* TODO: Add remaining events */
- 	default:
- 		ath12k_dbg(ab, ATH12K_DBG_WMI, "Unknown eventid: 0x%x\n", id);
---- a/drivers/net/wireless/ath/ath12k/wmi.h
-+++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -3990,6 +3990,28 @@ struct wmi_init_country_cmd {
- 	} cc_info;
- } __packed;
- 
-+struct wmi_11d_scan_start_arg {
-+	u32 vdev_id;
-+	u32 scan_period_msec;
-+	u32 start_interval_msec;
-+};
-+
-+struct wmi_11d_scan_start_cmd {
-+	__le32 tlv_header;
-+	__le32 vdev_id;
-+	__le32 scan_period_msec;
-+	__le32 start_interval_msec;
-+} __packed;
-+
-+struct wmi_11d_scan_stop_cmd {
-+	__le32 tlv_header;
-+	__le32 vdev_id;
-+} __packed;
-+
-+struct wmi_11d_new_cc_event {
-+	__le32 new_alpha2;
-+} __packed;
-+
- struct wmi_delba_send_cmd {
- 	__le32 tlv_header;
- 	__le32 vdev_id;
-@@ -4074,6 +4096,16 @@ struct ath12k_wmi_eht_rate_set_params {
- #define REG_ALPHA2_LEN 2
- #define MAX_6G_REG_RULES 5
- 
-+struct wmi_set_current_country_arg {
-+	u8 alpha2[REG_ALPHA2_LEN];
-+};
-+
-+struct wmi_set_current_country_cmd {
-+	__le32 tlv_header;
-+	__le32 pdev_id;
-+	__le32 new_alpha2;
-+} __packed;
-+
- enum wmi_start_event_param {
- 	WMI_VDEV_START_RESP_EVENT = 0,
- 	WMI_VDEV_RESTART_RESP_EVENT,
-@@ -5714,11 +5746,17 @@ int ath12k_wmi_send_bcn_offload_control_
- 					    u32 vdev_id, u32 bcn_ctrl_op);
- int ath12k_wmi_send_init_country_cmd(struct ath12k *ar,
- 				     struct ath12k_wmi_init_country_arg *arg);
-+int
-+ath12k_wmi_send_set_current_country_cmd(struct ath12k *ar,
-+					struct wmi_set_current_country_arg *arg);
- int ath12k_wmi_peer_rx_reorder_queue_setup(struct ath12k *ar,
- 					   int vdev_id, const u8 *addr,
- 					   dma_addr_t paddr, u8 tid,
- 					   u8 ba_window_size_valid,
- 					   u32 ba_window_size);
-+int ath12k_wmi_send_11d_scan_start_cmd(struct ath12k *ar,
-+				       struct wmi_11d_scan_start_arg *arg);
-+int ath12k_wmi_send_11d_scan_stop_cmd(struct ath12k *ar, u32 vdev_id);
- int
- ath12k_wmi_rx_reord_queue_remove(struct ath12k *ar,
- 				 struct ath12k_wmi_rx_reorder_queue_remove_arg *arg);
---- a/drivers/net/wireless/ath/ath12k/core.c
-+++ b/drivers/net/wireless/ath/ath12k/core.c
-@@ -1251,6 +1251,7 @@ void ath12k_core_halt(struct ath12k *ar)
- 	cancel_delayed_work_sync(&ar->scan.timeout);
- 	cancel_work_sync(&ar->regd_update_work);
- 	cancel_work_sync(&ab->rfkill_work);
-+	cancel_work_sync(&ab->update_11d_work);
- 
- 	rcu_assign_pointer(ab->pdevs_active[ar->pdev_idx], NULL);
- 	synchronize_rcu();
-@@ -1258,6 +1259,34 @@ void ath12k_core_halt(struct ath12k *ar)
- 	idr_init(&ar->txmgmt_idr);
- }
- 
-+static void ath12k_update_11d(struct work_struct *work)
-+{
-+	struct ath12k_base *ab = container_of(work, struct ath12k_base, update_11d_work);
-+	struct ath12k *ar;
-+	struct ath12k_pdev *pdev;
-+	struct wmi_set_current_country_arg arg = {};
-+	int ret, i;
-+
-+	spin_lock_bh(&ab->base_lock);
-+	memcpy(&arg.alpha2, &ab->new_alpha2, 2);
-+	spin_unlock_bh(&ab->base_lock);
-+
-+	ath12k_dbg(ab, ATH12K_DBG_WMI, "update 11d new cc %c%c\n",
-+		   arg.alpha2[0], arg.alpha2[1]);
-+
-+	for (i = 0; i < ab->num_radios; i++) {
-+		pdev = &ab->pdevs[i];
-+		ar = pdev->ar;
-+
-+		memcpy(&ar->alpha2, &arg.alpha2, 2);
-+		ret = ath12k_wmi_send_set_current_country_cmd(ar, &arg);
-+		if (ret)
-+			ath12k_warn(ar->ab,
-+				    "pdev id %d failed set current country code: %d\n",
-+				    i, ret);
-+	}
-+}
-+
- static void ath12k_core_pre_reconfigure_recovery(struct ath12k_base *ab)
- {
- 	struct ath12k_hw_group *ag = ab->ag;
-@@ -1283,8 +1312,10 @@ static void ath12k_core_pre_reconfigure_
- 			ar = &ah->radio[j];
- 
- 			ath12k_mac_drain_tx(ar);
-+			ar->state_11d = ATH12K_11D_IDLE;
-+			complete(&ar->completed_11d_scan);
- 			complete(&ar->scan.started);
--			complete(&ar->scan.completed);
-+			complete_all(&ar->scan.completed);
- 			complete(&ar->scan.on_channel);
- 			complete(&ar->peer_assoc_done);
- 			complete(&ar->peer_delete_done);
-@@ -1953,6 +1984,7 @@ struct ath12k_base *ath12k_core_alloc(st
- 	INIT_WORK(&ab->reset_work, ath12k_core_reset);
- 	INIT_WORK(&ab->rfkill_work, ath12k_rfkill_work);
- 	INIT_WORK(&ab->dump_work, ath12k_coredump_upload);
-+	INIT_WORK(&ab->update_11d_work, ath12k_update_11d);
- 
- 	timer_setup(&ab->rx_replenish_retry, ath12k_ce_rx_replenish_retry, 0);
- 	init_completion(&ab->htc_suspend);
---- a/drivers/net/wireless/ath/ath12k/core.h
-+++ b/drivers/net/wireless/ath/ath12k/core.h
-@@ -224,6 +224,12 @@ enum ath12k_hw_group_flags {
- 	ATH12K_GROUP_FLAG_UNREGISTER,
- };
- 
-+enum ath12k_11d_state {
-+	ATH12K_11D_IDLE,
-+	ATH12K_11D_PREPARING,
-+	ATH12K_11D_RUNNING,
-+};
-+
- enum ath12k_dev_flags {
- 	ATH12K_FLAG_CAC_RUNNING,
- 	ATH12K_FLAG_CRASH_FLUSH,
-@@ -361,6 +367,8 @@ struct ath12k_vif_iter {
- #define ATH12K_RX_RATE_TABLE_11AX_NUM	576
- #define ATH12K_RX_RATE_TABLE_NUM 320
- 
-+#define ATH12K_SCAN_TIMEOUT_HZ (20 * HZ)
-+
- struct ath12k_rx_peer_rate_stats {
- 	u64 ht_mcs_count[HAL_RX_MAX_MCS_HT + 1];
- 	u64 vht_mcs_count[HAL_RX_MAX_MCS_VHT + 1];
-@@ -713,6 +721,13 @@ struct ath12k {
- 
- 	struct wiphy_radio_freq_range freq_range;
- 
-+	/* Protected by wiphy::mtx lock. */
-+	u32 vdev_id_11d_scan;
-+	struct completion completed_11d_scan;
-+	enum ath12k_11d_state state_11d;
-+	u8 alpha2[REG_ALPHA2_LEN];
-+	bool regdom_set_by_user;
-+
- 	bool nlo_enabled;
- 
- 	struct completion mlo_setup_done;
-@@ -985,6 +1000,8 @@ struct ath12k_base {
- 	/* continuous recovery fail count */
- 	atomic_t fail_cont_count;
- 	unsigned long reset_fail_timeout;
-+	struct work_struct update_11d_work;
-+	u8 new_alpha2[2];
- 	struct {
- 		/* protected by data_lock */
- 		u32 fw_crash_counter;
---- a/drivers/net/wireless/ath/ath12k/mac.c
-+++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -3340,6 +3340,11 @@ static void ath12k_bss_assoc(struct ath1
- 	if (ret)
- 		ath12k_warn(ar->ab, "failed to set vdev %i OBSS PD parameters: %d\n",
- 			    arvif->vdev_id, ret);
-+
-+	if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map) &&
-+	    ahvif->vdev_type == WMI_VDEV_TYPE_STA &&
-+	    ahvif->vdev_subtype == WMI_VDEV_SUBTYPE_NONE)
-+		ath12k_mac_11d_scan_stop_all(ar->ab);
- }
- 
- static void ath12k_bss_disassoc(struct ath12k *ar,
-@@ -4094,7 +4099,7 @@ void __ath12k_mac_scan_finish(struct ath
- 		fallthrough;
- 	case ATH12K_SCAN_STARTING:
- 		cancel_delayed_work(&ar->scan.timeout);
--		complete(&ar->scan.completed);
-+		complete_all(&ar->scan.completed);
- 		wiphy_work_queue(ar->ah->hw->wiphy, &ar->scan.vdev_clean_wk);
- 		break;
- 	}
-@@ -4438,7 +4443,12 @@ static int ath12k_mac_op_hw_scan(struct
- 
- 	ret = ath12k_start_scan(ar, arg);
- 	if (ret) {
--		ath12k_warn(ar->ab, "failed to start hw scan: %d\n", ret);
-+		if (ret == -EBUSY)
-+			ath12k_dbg(ar->ab, ATH12K_DBG_MAC,
-+				   "scan engine is busy 11d state %d\n", ar->state_11d);
-+		else
-+			ath12k_warn(ar->ab, "failed to start hw scan: %d\n", ret);
-+
- 		spin_lock_bh(&ar->data_lock);
- 		ar->scan.state = ATH12K_SCAN_IDLE;
- 		spin_unlock_bh(&ar->data_lock);
-@@ -4465,6 +4475,11 @@ exit:
- 		kfree(arg);
- 	}
- 
-+	if (ar->state_11d == ATH12K_11D_PREPARING &&
-+	    ahvif->vdev_type == WMI_VDEV_TYPE_STA &&
-+	    ahvif->vdev_subtype == WMI_VDEV_SUBTYPE_NONE)
-+		ath12k_mac_11d_scan_start(ar, arvif->vdev_id);
-+
- 	return ret;
- }
- 
-@@ -7383,7 +7398,7 @@ static int ath12k_mac_start(struct ath12
- 
- 	/* TODO: Do we need to enable ANI? */
- 
--	ath12k_reg_update_chan_list(ar);
-+	ath12k_reg_update_chan_list(ar, false);
- 
- 	ar->num_started_vdevs = 0;
- 	ar->num_created_vdevs = 0;
-@@ -7564,6 +7579,9 @@ static void ath12k_mac_stop(struct ath12
- 	wiphy_work_cancel(ath12k_ar_to_hw(ar)->wiphy, &ar->scan.vdev_clean_wk);
- 	cancel_work_sync(&ar->regd_update_work);
- 	cancel_work_sync(&ar->ab->rfkill_work);
-+	cancel_work_sync(&ar->ab->update_11d_work);
-+	ar->state_11d = ATH12K_11D_IDLE;
-+	complete(&ar->completed_11d_scan);
- 
- 	spin_lock_bh(&ar->data_lock);
- 	list_for_each_entry_safe(ppdu_stats, tmp, &ar->ppdu_stats_info, list) {
-@@ -7857,6 +7875,117 @@ static void ath12k_mac_op_update_vif_off
- 	ath12k_mac_update_vif_offload(&ahvif->deflink);
- }
- 
-+static bool ath12k_mac_vif_ap_active_any(struct ath12k_base *ab)
-+{
-+	struct ath12k *ar;
-+	struct ath12k_pdev *pdev;
-+	struct ath12k_link_vif *arvif;
-+	int i;
-+
-+	for (i = 0; i < ab->num_radios; i++) {
-+		pdev = &ab->pdevs[i];
-+		ar = pdev->ar;
-+		list_for_each_entry(arvif, &ar->arvifs, list) {
-+			if (arvif->is_up && arvif->ahvif->vdev_type == WMI_VDEV_TYPE_AP)
-+				return true;
-+		}
-+	}
-+	return false;
-+}
-+
-+void ath12k_mac_11d_scan_start(struct ath12k *ar, u32 vdev_id)
-+{
-+	struct wmi_11d_scan_start_arg arg;
-+	int ret;
-+
-+	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
-+
-+	if (ar->regdom_set_by_user)
-+		goto fin;
-+
-+	if (ar->vdev_id_11d_scan != ATH12K_11D_INVALID_VDEV_ID)
-+		goto fin;
-+
-+	if (!test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map))
-+		goto fin;
-+
-+	if (ath12k_mac_vif_ap_active_any(ar->ab))
-+		goto fin;
-+
-+	arg.vdev_id = vdev_id;
-+	arg.start_interval_msec = 0;
-+	arg.scan_period_msec = ATH12K_SCAN_11D_INTERVAL;
-+
-+	ath12k_dbg(ar->ab, ATH12K_DBG_MAC,
-+		   "mac start 11d scan for vdev %d\n", vdev_id);
-+
-+	ret = ath12k_wmi_send_11d_scan_start_cmd(ar, &arg);
-+	if (ret) {
-+		ath12k_warn(ar->ab, "failed to start 11d scan vdev %d ret: %d\n",
-+			    vdev_id, ret);
-+	} else {
-+		ar->vdev_id_11d_scan = vdev_id;
-+		if (ar->state_11d == ATH12K_11D_PREPARING)
-+			ar->state_11d = ATH12K_11D_RUNNING;
-+	}
-+
-+fin:
-+	if (ar->state_11d == ATH12K_11D_PREPARING) {
-+		ar->state_11d = ATH12K_11D_IDLE;
-+		complete(&ar->completed_11d_scan);
-+	}
-+}
-+
-+void ath12k_mac_11d_scan_stop(struct ath12k *ar)
-+{
-+	int ret;
-+	u32 vdev_id;
-+
-+	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
-+
-+	if (!test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map))
-+		return;
-+
-+	ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "mac stop 11d for vdev %d\n",
-+		   ar->vdev_id_11d_scan);
-+
-+	if (ar->state_11d == ATH12K_11D_PREPARING) {
-+		ar->state_11d = ATH12K_11D_IDLE;
-+		complete(&ar->completed_11d_scan);
-+	}
-+
-+	if (ar->vdev_id_11d_scan != ATH12K_11D_INVALID_VDEV_ID) {
-+		vdev_id = ar->vdev_id_11d_scan;
-+
-+		ret = ath12k_wmi_send_11d_scan_stop_cmd(ar, vdev_id);
-+		if (ret) {
-+			ath12k_warn(ar->ab,
-+				    "failed to stopt 11d scan vdev %d ret: %d\n",
-+				    vdev_id, ret);
-+		} else {
-+			ar->vdev_id_11d_scan = ATH12K_11D_INVALID_VDEV_ID;
-+			ar->state_11d = ATH12K_11D_IDLE;
-+			complete(&ar->completed_11d_scan);
-+		}
-+	}
-+}
-+
-+void ath12k_mac_11d_scan_stop_all(struct ath12k_base *ab)
-+{
-+	struct ath12k *ar;
-+	struct ath12k_pdev *pdev;
-+	int i;
-+
-+	ath12k_dbg(ab, ATH12K_DBG_MAC, "mac stop soc 11d scan\n");
-+
-+	for (i = 0; i < ab->num_radios; i++) {
-+		pdev = &ab->pdevs[i];
-+		ar = pdev->ar;
-+
-+		ath12k_mac_11d_scan_stop(ar);
-+	}
-+}
-+
- int ath12k_mac_vdev_create(struct ath12k *ar, struct ath12k_link_vif *arvif)
- {
- 	struct ath12k_hw *ah = ar->ah;
-@@ -7991,6 +8120,7 @@ int ath12k_mac_vdev_create(struct ath12k
- 				    arvif->vdev_id, ret);
- 			goto err_peer_del;
- 		}
-+		ath12k_mac_11d_scan_stop_all(ar->ab);
- 		break;
- 	case WMI_VDEV_TYPE_STA:
- 		param_id = WMI_STA_PS_PARAM_RX_WAKE_POLICY;
-@@ -8029,6 +8159,13 @@ int ath12k_mac_vdev_create(struct ath12k
- 				    arvif->vdev_id, ret);
- 			goto err_peer_del;
- 		}
-+
-+		if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ab->wmi_ab.svc_map) &&
-+		    ahvif->vdev_type == WMI_VDEV_TYPE_STA &&
-+		    ahvif->vdev_subtype == WMI_VDEV_SUBTYPE_NONE) {
-+			reinit_completion(&ar->completed_11d_scan);
-+			ar->state_11d = ATH12K_11D_PREPARING;
-+		}
- 		break;
- 	default:
- 		break;
-@@ -8821,6 +8958,11 @@ ath12k_mac_vdev_start_restart(struct ath
- 			return ret;
- 	}
- 
-+	if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ab->wmi_ab.svc_map) &&
-+	    ahvif->vdev_type == WMI_VDEV_TYPE_STA &&
-+	    ahvif->vdev_subtype == WMI_VDEV_SUBTYPE_NONE)
-+		ath12k_mac_11d_scan_stop(ar);
-+
- 	if (ahvif->vdev_type == WMI_VDEV_TYPE_AP) {
- 		arg.ssid = ahvif->u.ap.ssid;
- 		arg.ssid_len = ahvif->u.ap.ssid_len;
-@@ -9395,6 +9537,14 @@ ath12k_mac_op_unassign_vif_chanctx(struc
- 	    ar->num_started_vdevs == 1 && ar->monitor_vdev_created)
- 		ath12k_mac_monitor_stop(ar);
- 
-+	if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ab->wmi_ab.svc_map) &&
-+	    ahvif->vdev_type == WMI_VDEV_TYPE_STA &&
-+	    ahvif->vdev_subtype == WMI_VDEV_SUBTYPE_NONE &&
-+	    ar->state_11d != ATH12K_11D_PREPARING) {
-+		reinit_completion(&ar->completed_11d_scan);
-+		ar->state_11d = ATH12K_11D_PREPARING;
-+	}
-+
- 	ath12k_mac_remove_link_interface(hw, arvif);
- 	ath12k_mac_unassign_link_vif(arvif);
- }
-@@ -9958,6 +10108,14 @@ ath12k_mac_op_reconfig_complete(struct i
- 		ath12k_warn(ar->ab, "pdev %d successfully recovered\n",
- 			    ar->pdev->pdev_id);
- 
-+		if (ar->ab->hw_params->current_cc_support &&
-+		    ar->alpha2[0] != 0 && ar->alpha2[1] != 0) {
-+			struct wmi_set_current_country_arg arg = {};
-+
-+			memcpy(&arg.alpha2, ar->alpha2, 2);
-+			ath12k_wmi_send_set_current_country_cmd(ar, &arg);
-+		}
-+
- 		if (ab->is_reset) {
- 			recovery_count = atomic_inc_return(&ab->recovery_count);
- 
-@@ -11173,6 +11331,9 @@ static void ath12k_mac_setup(struct ath1
- 
- 	wiphy_work_init(&ar->wmi_mgmt_tx_work, ath12k_mgmt_over_wmi_tx_work);
- 	skb_queue_head_init(&ar->wmi_mgmt_tx_queue);
-+
-+	ar->vdev_id_11d_scan = ATH12K_11D_INVALID_VDEV_ID;
-+	init_completion(&ar->completed_11d_scan);
- }
- 
- static int __ath12k_mac_mlo_setup(struct ath12k *ar)
---- a/drivers/net/wireless/ath/ath12k/mac.h
-+++ b/drivers/net/wireless/ath/ath12k/mac.h
-@@ -66,6 +66,13 @@ struct ath12k_mac_get_any_chanctx_conf_a
- 
- extern const struct htt_rx_ring_tlv_filter ath12k_mac_mon_status_filter_default;
- 
-+#define ATH12K_SCAN_11D_INTERVAL		600000
-+#define ATH12K_11D_INVALID_VDEV_ID		0xFFFF
-+
-+void ath12k_mac_11d_scan_start(struct ath12k *ar, u32 vdev_id);
-+void ath12k_mac_11d_scan_stop(struct ath12k *ar);
-+void ath12k_mac_11d_scan_stop_all(struct ath12k_base *ab);
-+
- void ath12k_mac_destroy(struct ath12k_hw_group *ag);
- void ath12k_mac_unregister(struct ath12k_hw_group *ag);
- int ath12k_mac_register(struct ath12k_hw_group *ag);
---- a/drivers/net/wireless/ath/ath12k/reg.c
-+++ b/drivers/net/wireless/ath/ath12k/reg.c
-@@ -48,6 +48,7 @@ ath12k_reg_notifier(struct wiphy *wiphy,
- {
- 	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
- 	struct ath12k_wmi_init_country_arg arg;
-+	struct wmi_set_current_country_arg current_arg = {};
- 	struct ath12k_hw *ah = ath12k_hw_to_ah(hw);
- 	struct ath12k *ar = ath12k_ah_to_ar(ah, 0);
- 	int ret, i;
-@@ -77,27 +78,38 @@ ath12k_reg_notifier(struct wiphy *wiphy,
- 		return;
- 	}
- 
--	/* Set the country code to the firmware and wait for
--	 * the WMI_REG_CHAN_LIST_CC EVENT for updating the
--	 * reg info
--	 */
--	arg.flags = ALPHA_IS_SET;
--	memcpy(&arg.cc_info.alpha2, request->alpha2, 2);
--	arg.cc_info.alpha2[2] = 0;
--
- 	/* Allow fresh updates to wiphy regd */
- 	ah->regd_updated = false;
- 
- 	/* Send the reg change request to all the radios */
- 	for_each_ar(ah, ar, i) {
--		ret = ath12k_wmi_send_init_country_cmd(ar, &arg);
--		if (ret)
--			ath12k_warn(ar->ab,
--				    "INIT Country code set to fw failed : %d\n", ret);
-+		if (ar->ab->hw_params->current_cc_support) {
-+			memcpy(&current_arg.alpha2, request->alpha2, 2);
-+			memcpy(&ar->alpha2, &current_arg.alpha2, 2);
-+			ret = ath12k_wmi_send_set_current_country_cmd(ar, &current_arg);
-+			if (ret)
-+				ath12k_warn(ar->ab,
-+					    "failed set current country code: %d\n", ret);
-+		} else {
-+			arg.flags = ALPHA_IS_SET;
-+			memcpy(&arg.cc_info.alpha2, request->alpha2, 2);
-+			arg.cc_info.alpha2[2] = 0;
-+
-+			ret = ath12k_wmi_send_init_country_cmd(ar, &arg);
-+			if (ret)
-+				ath12k_warn(ar->ab,
-+					    "failed set INIT Country code: %d\n", ret);
-+		}
-+
-+		wiphy_lock(wiphy);
-+		ath12k_mac_11d_scan_stop(ar);
-+		wiphy_unlock(wiphy);
-+
-+		ar->regdom_set_by_user = true;
- 	}
- }
- 
--int ath12k_reg_update_chan_list(struct ath12k *ar)
-+int ath12k_reg_update_chan_list(struct ath12k *ar, bool wait)
- {
- 	struct ieee80211_supported_band **bands;
- 	struct ath12k_wmi_scan_chan_list_arg *arg;
-@@ -106,7 +118,35 @@ int ath12k_reg_update_chan_list(struct a
- 	struct ath12k_wmi_channel_arg *ch;
- 	enum nl80211_band band;
- 	int num_channels = 0;
--	int i, ret;
-+	int i, ret, left;
-+
-+	if (wait && ar->state_11d != ATH12K_11D_IDLE) {
-+		left = wait_for_completion_timeout(&ar->completed_11d_scan,
-+						   ATH12K_SCAN_TIMEOUT_HZ);
-+		if (!left) {
-+			ath12k_dbg(ar->ab, ATH12K_DBG_REG,
-+				   "failed to receive 11d scan complete: timed out\n");
-+			ar->state_11d = ATH12K_11D_IDLE;
-+		}
-+		ath12k_dbg(ar->ab, ATH12K_DBG_REG,
-+			   "reg 11d scan wait left time %d\n", left);
-+	}
-+
-+	if (wait &&
-+	    (ar->scan.state == ATH12K_SCAN_STARTING ||
-+	    ar->scan.state == ATH12K_SCAN_RUNNING)) {
-+		left = wait_for_completion_timeout(&ar->scan.completed,
-+						   ATH12K_SCAN_TIMEOUT_HZ);
-+		if (!left)
-+			ath12k_dbg(ar->ab, ATH12K_DBG_REG,
-+				   "failed to receive hw scan complete: timed out\n");
-+
-+		ath12k_dbg(ar->ab, ATH12K_DBG_REG,
-+			   "reg hw scan wait left time %d\n", left);
-+	}
-+
-+	if (ar->ah->state == ATH12K_HW_STATE_RESTARTING)
-+		return 0;
- 
- 	bands = hw->wiphy->bands;
- 	for (band = 0; band < NUM_NL80211_BANDS; band++) {
-@@ -295,7 +335,7 @@ int ath12k_regd_update(struct ath12k *ar
- 	 */
- 	for_each_ar(ah, ar, i) {
- 		ab = ar->ab;
--		ret = ath12k_reg_update_chan_list(ar);
-+		ret = ath12k_reg_update_chan_list(ar, true);
- 		if (ret)
- 			goto err;
- 	}
---- a/drivers/net/wireless/ath/ath12k/reg.h
-+++ b/drivers/net/wireless/ath/ath12k/reg.h
-@@ -1,7 +1,7 @@
- /* SPDX-License-Identifier: BSD-3-Clause-Clear */
- /*
-  * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
-- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
-+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
-  */
- 
- #ifndef ATH12K_REG_H
-@@ -96,6 +96,6 @@ struct ieee80211_regdomain *ath12k_reg_b
- 						  struct ath12k_reg_info *reg_info,
- 						  bool intersect);
- int ath12k_regd_update(struct ath12k *ar, bool init);
--int ath12k_reg_update_chan_list(struct ath12k *ar);
-+int ath12k_reg_update_chan_list(struct ath12k *ar, bool wait);
- 
- #endif
---- a/drivers/net/wireless/ath/ath12k/hw.c
-+++ b/drivers/net/wireless/ath/ath12k/hw.c
-@@ -928,6 +928,7 @@ static const struct ath12k_hw_params ath
- 		.iova_mask = 0,
- 
- 		.supports_aspm = false,
-+		.current_cc_support = false,
- 	},
- 	{
- 		.name = "wcn7850 hw2.0",
-@@ -1008,6 +1009,7 @@ static const struct ath12k_hw_params ath
- 		.iova_mask = ATH12K_PCIE_MAX_PAYLOAD_SIZE - 1,
- 
- 		.supports_aspm = true,
-+		.current_cc_support = true,
- 	},
- 	{
- 		.name = "qcn9274 hw2.0",
-@@ -1084,6 +1086,7 @@ static const struct ath12k_hw_params ath
- 		.iova_mask = 0,
- 
- 		.supports_aspm = false,
-+		.current_cc_support = false,
- 	},
- };
- 
---- a/drivers/net/wireless/ath/ath12k/hw.h
-+++ b/drivers/net/wireless/ath/ath12k/hw.h
-@@ -190,6 +190,7 @@ struct ath12k_hw_params {
- 	bool reoq_lut_support:1;
- 	bool supports_shadow_regs:1;
- 	bool supports_aspm:1;
-+	bool current_cc_support:1;
- 
- 	u32 num_tcl_banks;
- 	u32 max_tx_ring;

+ 0 - 53
package/kernel/mac80211/patches/ath12k/003-1-v6.16-wifi-ath12k-Pass-correct-values-of-center-freq1-and-.patch

@@ -1,53 +0,0 @@
-From b1b01e46a3db5ad44d1e4691ba37c1e0832cd5cf Mon Sep 17 00:00:00 2001
-From: Suraj P Kizhakkethil <[email protected]>
-Date: Tue, 4 Mar 2025 15:23:14 +0530
-Subject: [PATCH 1/2] wifi: ath12k: Pass correct values of center freq1 and
- center freq2 for 160 MHz
-
-Currently, for 160 MHz bandwidth, center frequency1 and
-center frequency2 are not passed correctly to the firmware.
-Set center frequency1 as the center frequency
-of the primary 80 MHz channel segment and center frequency2 as
-the center frequency of the 160 MHz channel and pass the values
-to the firmware.
-
-Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
-
-Signed-off-by: Suraj P Kizhakkethil <[email protected]>
-Reviewed-by: Aditya Kumar Singh <[email protected]>
-Link: https://patch.msgid.link/[email protected]
-Signed-off-by: Jeff Johnson <[email protected]>
----
- drivers/net/wireless/ath/ath12k/wmi.c | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
-
---- a/drivers/net/wireless/ath/ath12k/wmi.c
-+++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -1000,14 +1000,24 @@ int ath12k_wmi_vdev_down(struct ath12k *
- static void ath12k_wmi_put_wmi_channel(struct ath12k_wmi_channel_params *chan,
- 				       struct wmi_vdev_start_req_arg *arg)
- {
-+	u32 center_freq1 = arg->band_center_freq1;
-+
- 	memset(chan, 0, sizeof(*chan));
- 
- 	chan->mhz = cpu_to_le32(arg->freq);
--	chan->band_center_freq1 = cpu_to_le32(arg->band_center_freq1);
--	if (arg->mode == MODE_11AC_VHT80_80)
-+	chan->band_center_freq1 = cpu_to_le32(center_freq1);
-+	if (arg->mode == MODE_11BE_EHT160) {
-+		if (arg->freq > center_freq1)
-+			chan->band_center_freq1 = cpu_to_le32(center_freq1 + 40);
-+		else
-+			chan->band_center_freq1 = cpu_to_le32(center_freq1 - 40);
-+
-+		chan->band_center_freq2 = cpu_to_le32(center_freq1);
-+	} else if (arg->mode == MODE_11BE_EHT80_80) {
- 		chan->band_center_freq2 = cpu_to_le32(arg->band_center_freq2);
--	else
-+	} else {
- 		chan->band_center_freq2 = 0;
-+	}
- 
- 	chan->info |= le32_encode_bits(arg->mode, WMI_CHAN_INFO_MODE);
- 	if (arg->passive)

+ 0 - 43
package/kernel/mac80211/patches/ath12k/003-2-v6.16-wifi-ath12k-Pass-correct-values-of-center-freq1-and-.patch

@@ -1,43 +0,0 @@
-From 5e44b181bec8e2fe3826033360fc1a42bb432191 Mon Sep 17 00:00:00 2001
-From: Sriram R <[email protected]>
-Date: Tue, 4 Mar 2025 15:23:15 +0530
-Subject: [PATCH 2/2] wifi: ath12k: Pass correct values of center freq1 and
- center freq2 for 320 MHz
-
-Currently, for 320 MHz bandwidth, center frequency1 and
-center frequency2 are not passed correctly to the firmware.
-Set center frequency1 as the center frequency of the
-primary 160 MHz channel segment and center frequency2 as the center
-frequency of the 320 MHz channel and pass the values
-to the firmware.
-
-Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
-
-Signed-off-by: Sriram R <[email protected]>
-Signed-off-by: Suraj P Kizhakkethil <[email protected]>
-Reviewed-by: Aditya Kumar Singh <[email protected]>
-Link: https://patch.msgid.link/[email protected]
-Signed-off-by: Jeff Johnson <[email protected]>
----
- drivers/net/wireless/ath/ath12k/wmi.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/ath/ath12k/wmi.c
-+++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -1006,7 +1006,15 @@ static void ath12k_wmi_put_wmi_channel(s
- 
- 	chan->mhz = cpu_to_le32(arg->freq);
- 	chan->band_center_freq1 = cpu_to_le32(center_freq1);
--	if (arg->mode == MODE_11BE_EHT160) {
-+	if (arg->mode == MODE_11BE_EHT320) {
-+		if (arg->freq > center_freq1)
-+			chan->band_center_freq1 = cpu_to_le32(center_freq1 + 80);
-+		else
-+			chan->band_center_freq1 = cpu_to_le32(center_freq1 - 80);
-+
-+		chan->band_center_freq2 = cpu_to_le32(center_freq1);
-+
-+	} else if (arg->mode == MODE_11BE_EHT160) {
- 		if (arg->freq > center_freq1)
- 			chan->band_center_freq1 = cpu_to_le32(center_freq1 + 40);
- 		else

+ 2 - 2
package/kernel/mac80211/patches/ath12k/102-wifi-ath12k-limit-WMI_SCAN_CHAN_LIST_CMDID-arg.patch

@@ -130,7 +130,7 @@ Best regards,
 
 --- a/drivers/net/wireless/ath/ath12k/wmi.c
 +++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -2743,6 +2743,9 @@ int ath12k_wmi_send_scan_chan_list_cmd(s
+@@ -2832,6 +2832,9 @@ int ath12k_wmi_send_scan_chan_list_cmd(s
  		max_chan_limit = (wmi->wmi_ab->max_msg_len[ar->pdev_idx] - len) /
  			sizeof(*chan_info);
  
@@ -142,7 +142,7 @@ Best regards,
  		arg->nallchans -= num_send_chans;
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -3873,6 +3873,8 @@ struct wmi_stop_scan_cmd {
+@@ -3947,6 +3947,8 @@ struct wmi_stop_scan_cmd {
  	__le32 pdev_id;
  } __packed;
  

+ 3 - 3
package/kernel/mac80211/patches/ath12k/103-wifi-ath12k-fix-5GHz-operation-on-wideband-QCN.patch

@@ -124,14 +124,14 @@ Best regards,
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -6432,9 +6432,7 @@ static void ath12k_mac_setup_ht_vht_cap(
+@@ -6985,9 +6985,7 @@ static void ath12k_mac_setup_ht_vht_cap(
  						    rate_cap_rx_chainmask);
  	}
  
--	if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP &&
+-	if (cap->supported_bands & WMI_HOST_WLAN_5GHZ_CAP &&
 -	    (ar->ab->hw_params->single_pdev_only ||
 -	     !ar->supports_6ghz)) {
-+	if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP) {
++	if (cap->supported_bands & WMI_HOST_WLAN_5GHZ_CAP) {
  		band = &ar->mac.sbands[NL80211_BAND_5GHZ];
  		ht_cap = cap->band[NL80211_BAND_5GHZ].ht_cap_info;
  		if (ht_cap_info)

+ 14 - 14
package/kernel/mac80211/patches/ath12k/104-1-wifi-ath12k-push-HE-MU-MIMO-params-to-hardware.patch

@@ -131,8 +131,8 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -3215,6 +3215,125 @@ static int ath12k_setup_peer_smps(struct
- 					 ath12k_smps_map[smps]);
+@@ -3173,6 +3173,125 @@ static u32 ath12k_mac_ieee80211_sta_bw_t
+ 	return bw;
  }
  
 +static int ath12k_mac_set_he_txbf_conf(struct ath12k_link_vif *arvif)
@@ -257,7 +257,7 @@ Acked-by: Jeff Johnson <[email protected]>
  static void ath12k_bss_assoc(struct ath12k *ar,
  			     struct ath12k_link_vif *arvif,
  			     struct ieee80211_bss_conf *bss_conf)
-@@ -3229,6 +3348,7 @@ static void ath12k_bss_assoc(struct ath1
+@@ -3187,6 +3306,7 @@ static void ath12k_bss_assoc(struct ath1
  	struct ath12k_sta *ahsta;
  	struct ath12k_peer *peer;
  	bool is_auth = false;
@@ -265,7 +265,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	int ret;
  
  	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
-@@ -3272,8 +3392,26 @@ static void ath12k_bss_assoc(struct ath1
+@@ -3230,8 +3350,26 @@ static void ath12k_bss_assoc(struct ath1
  
  	ath12k_peer_assoc_prepare(ar, arvif, arsta, peer_arg, false);
  
@@ -292,7 +292,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	ret = ath12k_wmi_send_peer_assoc_cmd(ar, peer_arg);
  	if (ret) {
  		ath12k_warn(ar->ab, "failed to run peer assoc for %pM vdev %i: %d\n",
-@@ -3677,6 +3815,13 @@ static void ath12k_mac_bss_info_changed(
+@@ -3850,6 +3988,13 @@ static void ath12k_mac_bss_info_changed(
  		ether_addr_copy(arvif->bssid, info->bssid);
  
  	if (changed & BSS_CHANGED_BEACON_ENABLED) {
@@ -306,7 +306,7 @@ Acked-by: Jeff Johnson <[email protected]>
  		ath12k_control_beaconing(arvif, info);
  
  		if (arvif->is_up && info->he_support &&
-@@ -6598,11 +6743,14 @@ static void ath12k_mac_copy_he_cap(struc
+@@ -7151,11 +7296,14 @@ static void ath12k_mac_copy_he_cap(struc
  
  	he_cap_elem->mac_cap_info[1] &=
  		IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_MASK;
@@ -324,7 +324,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	he_cap_elem->phy_cap_info[5] |= num_tx_chains - 1;
  
  	switch (iftype) {
-@@ -7734,72 +7882,6 @@ static int ath12k_mac_setup_vdev_create_
+@@ -8454,72 +8602,6 @@ static int ath12k_mac_setup_vdev_create_
  	return 0;
  }
  
@@ -336,7 +336,7 @@ Acked-by: Jeff Johnson <[email protected]>
 -	u32 *hecap_phy_ptr = NULL;
 -	u32 hemode;
 -
--	if (pdev->cap.supported_bands & WMI_HOST_WLAN_2G_CAP)
+-	if (pdev->cap.supported_bands & WMI_HOST_WLAN_2GHZ_CAP)
 -		cap_band = &pdev_cap->band[NL80211_BAND_2GHZ];
 -	else
 -		cap_band = &pdev_cap->band[NL80211_BAND_5GHZ];
@@ -397,7 +397,7 @@ Acked-by: Jeff Johnson <[email protected]>
  static void ath12k_mac_update_vif_offload(struct ath12k_link_vif *arvif)
  {
  	struct ath12k_vif *ahvif = arvif->ahvif;
-@@ -8978,14 +9060,6 @@ ath12k_mac_vdev_start_restart(struct ath
+@@ -9706,14 +9788,6 @@ ath12k_mac_vdev_start_restart(struct ath
  		spin_unlock_bh(&ab->base_lock);
  
  		/* TODO: Notify if secondary 80Mhz also needs radar detection */
@@ -414,9 +414,9 @@ Acked-by: Jeff Johnson <[email protected]>
  	arg.passive |= !!(chandef->chan->flags & IEEE80211_CHAN_NO_IR);
 --- a/drivers/net/wireless/ath/ath12k/mac.h
 +++ b/drivers/net/wireless/ath/ath12k/mac.h
-@@ -51,6 +51,21 @@ struct ath12k_generic_iter {
- #define ATH12K_DEFAULT_SCAN_LINK	IEEE80211_MLD_MAX_NUM_LINKS
- #define ATH12K_NUM_MAX_LINKS		(IEEE80211_MLD_MAX_NUM_LINKS + 1)
+@@ -56,6 +56,21 @@ struct ath12k_generic_iter {
+ 
+ #define ATH12K_NUM_MAX_ACTIVE_LINKS_PER_DEVICE	2
  
 +#define HECAP_PHY_SUBFMR_GET(hecap_phy) \
 +	u8_get_bits(hecap_phy[3], IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER)
@@ -438,7 +438,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	ATH12K_BW_40    = 1,
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -3079,31 +3079,6 @@ struct ath12k_wmi_rx_reorder_queue_remov
+@@ -3131,31 +3131,6 @@ struct ath12k_wmi_rx_reorder_queue_remov
  #define WMI_VDEV_PARAM_TXBF_SU_TX_BFER BIT(2)
  #define WMI_VDEV_PARAM_TXBF_MU_TX_BFER BIT(3)
  
@@ -470,7 +470,7 @@ Acked-by: Jeff Johnson <[email protected]>
  #define HE_MODE_SU_TX_BFEE	BIT(0)
  #define HE_MODE_SU_TX_BFER	BIT(1)
  #define HE_MODE_MU_TX_BFEE	BIT(2)
-@@ -3115,8 +3090,11 @@ struct ath12k_wmi_rx_reorder_queue_remov
+@@ -3167,8 +3142,11 @@ struct ath12k_wmi_rx_reorder_queue_remov
  #define HE_DL_MUOFDMA_ENABLE	1
  #define HE_UL_MUOFDMA_ENABLE	1
  #define HE_DL_MUMIMO_ENABLE	1

+ 4 - 4
package/kernel/mac80211/patches/ath12k/104-2-wifi-ath12k-push-EHT-MU-MIMO-params-to-hardware.patch

@@ -131,7 +131,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -3334,6 +3334,58 @@ static int ath12k_mac_vif_recalc_sta_he_
+@@ -3292,6 +3292,58 @@ static int ath12k_mac_vif_recalc_sta_he_
  	return 0;
  }
  
@@ -190,7 +190,7 @@ Acked-by: Jeff Johnson <[email protected]>
  static void ath12k_bss_assoc(struct ath12k *ar,
  			     struct ath12k_link_vif *arvif,
  			     struct ieee80211_bss_conf *bss_conf)
-@@ -3821,6 +3873,12 @@ static void ath12k_mac_bss_info_changed(
+@@ -3994,6 +4046,12 @@ static void ath12k_mac_bss_info_changed(
  				ath12k_warn(ar->ab,
  					    "failed to set HE TXBF config for vdev: %d\n",
  					    arvif->vdev_id);
@@ -205,7 +205,7 @@ Acked-by: Jeff Johnson <[email protected]>
  
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -1152,6 +1152,7 @@ enum wmi_tlv_vdev_param {
+@@ -1176,6 +1176,7 @@ enum wmi_tlv_vdev_param {
  	WMI_VDEV_PARAM_BSS_COLOR,
  	WMI_VDEV_PARAM_SET_HEMU_MODE,
  	WMI_VDEV_PARAM_HEOPS_0_31 = 0x8003,
@@ -213,7 +213,7 @@ Acked-by: Jeff Johnson <[email protected]>
  };
  
  enum wmi_tlv_peer_flags {
-@@ -3096,6 +3097,26 @@ struct ath12k_wmi_rx_reorder_queue_remov
+@@ -3148,6 +3149,26 @@ struct ath12k_wmi_rx_reorder_queue_remov
  #define HE_MU_BFER_ENABLE	1
  #define HE_SU_BFER_ENABLE	1
  

+ 2 - 2
package/kernel/mac80211/patches/ath12k/104-3-wifi-ath12k-move-HE-MCS-mapper-to-a-separate-function.patch

@@ -130,7 +130,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -6786,12 +6786,24 @@ static __le16 ath12k_mac_setup_he_6ghz_c
+@@ -7339,12 +7339,24 @@ static __le16 ath12k_mac_setup_he_6ghz_c
  	return cpu_to_le16(bcap->he_6ghz_capa);
  }
  
@@ -156,7 +156,7 @@ Acked-by: Jeff Johnson <[email protected]>
  
  	he_cap->has_he = true;
  	memcpy(he_cap_elem->mac_cap_info, band_cap->he_cap_info,
-@@ -6829,13 +6841,7 @@ static void ath12k_mac_copy_he_cap(struc
+@@ -7384,13 +7396,7 @@ static void ath12k_mac_copy_he_cap(struc
  		break;
  	}
  

+ 3 - 3
package/kernel/mac80211/patches/ath12k/104-4-wifi-ath12k-generate-rx-and-tx-mcs-maps-for-supported-HE-mcs.patch

@@ -128,7 +128,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -6786,20 +6786,40 @@ static __le16 ath12k_mac_setup_he_6ghz_c
+@@ -7339,20 +7339,40 @@ static __le16 ath12k_mac_setup_he_6ghz_c
  	return cpu_to_le16(bcap->he_6ghz_capa);
  }
  
@@ -177,7 +177,7 @@ Acked-by: Jeff Johnson <[email protected]>
  				   int iftype, u8 num_tx_chains,
  				   struct ieee80211_sta_he_cap *he_cap)
  {
-@@ -6841,7 +6861,7 @@ static void ath12k_mac_copy_he_cap(struc
+@@ -7396,7 +7416,7 @@ static void ath12k_mac_copy_he_cap(struc
  		break;
  	}
  
@@ -186,7 +186,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	memset(he_cap->ppe_thres, 0, sizeof(he_cap->ppe_thres));
  	if (he_cap_elem->phy_cap_info[6] &
  	    IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT)
-@@ -7030,7 +7050,7 @@ static int ath12k_mac_copy_sband_iftype_
+@@ -7586,7 +7606,7 @@ static int ath12k_mac_copy_sband_iftype_
  
  		data[idx].types_mask = BIT(i);
  

+ 2 - 2
package/kernel/mac80211/patches/ath12k/104-5-wifi-ath12k-fix-TX-and-RX-MCS-rate-configurations-in-HE-mode.patch

@@ -127,7 +127,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/wmi.c
 +++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -2266,8 +2266,8 @@ int ath12k_wmi_send_peer_assoc_cmd(struc
+@@ -2333,8 +2333,8 @@ int ath12k_wmi_send_peer_assoc_cmd(struc
  		he_mcs->tlv_header = ath12k_wmi_tlv_cmd_hdr(WMI_TAG_HE_RATE_SET,
  							    sizeof(*he_mcs));
  
@@ -140,7 +140,7 @@ Acked-by: Jeff Johnson <[email protected]>
  
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -4083,7 +4083,9 @@ struct ath12k_wmi_vht_rate_set_params {
+@@ -4157,7 +4157,9 @@ struct ath12k_wmi_vht_rate_set_params {
  
  struct ath12k_wmi_he_rate_set_params {
  	__le32 tlv_header;

+ 41 - 41
package/kernel/mac80211/patches/ath12k/104-6-wifi-ath12k-add-support-for-setting-fixed-HE-rate-GI-LTF.patch

@@ -127,7 +127,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -518,6 +518,18 @@ ath12k_mac_max_vht_nss(const u16 *vht_mc
+@@ -521,6 +521,18 @@ ath12k_mac_max_vht_nss(const u16 *vht_mc
  	return 1;
  }
  
@@ -146,7 +146,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  static u8 ath12k_parse_mpdudensity(u8 mpdudensity)
  {
  /*  From IEEE Std 802.11-2020 defined values for "Minimum MPDU Start Spacing":
-@@ -2135,9 +2147,15 @@ static void ath12k_peer_assoc_h_ht(struc
+@@ -2053,9 +2065,15 @@ static void ath12k_peer_assoc_h_ht(struc
  		arg->peer_rate_caps |= WMI_HOST_RC_CW40_FLAG;
  	}
  
@@ -165,7 +165,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  			arg->peer_rate_caps |= WMI_HOST_RC_SGI_FLAG;
  	}
  
-@@ -2260,11 +2278,12 @@ static void ath12k_peer_assoc_h_vht(stru
+@@ -2178,11 +2196,12 @@ static void ath12k_peer_assoc_h_vht(stru
  	struct ieee80211_link_sta *link_sta;
  	struct cfg80211_chan_def def;
  	enum nl80211_band band;
@@ -180,7 +180,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
  
-@@ -2317,6 +2336,25 @@ static void ath12k_peer_assoc_h_vht(stru
+@@ -2235,6 +2254,25 @@ static void ath12k_peer_assoc_h_vht(stru
  	if (link_sta->bandwidth == IEEE80211_STA_RX_BW_160)
  		arg->bw_160 = true;
  
@@ -206,7 +206,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	/* Calculate peer NSS capability from VHT capabilities if STA
  	 * supports VHT.
  	 */
-@@ -2356,6 +2394,72 @@ static void ath12k_peer_assoc_h_vht(stru
+@@ -2274,6 +2312,72 @@ static void ath12k_peer_assoc_h_vht(stru
  	/* TODO: rxnss_override */
  }
  
@@ -279,7 +279,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  static void ath12k_peer_assoc_h_he(struct ath12k *ar,
  				   struct ath12k_link_vif *arvif,
  				   struct ath12k_link_sta *arsta,
-@@ -2366,18 +2470,28 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2284,18 +2388,28 @@ static void ath12k_peer_assoc_h_he(struc
  	const struct ieee80211_sta_he_cap *he_cap;
  	struct ieee80211_bss_conf *link_conf;
  	struct ieee80211_link_sta *link_sta;
@@ -310,7 +310,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  		return;
  	}
  
-@@ -2392,6 +2506,12 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2310,6 +2424,12 @@ static void ath12k_peer_assoc_h_he(struc
  	if (!he_cap->has_he)
  		return;
  
@@ -323,7 +323,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	arg->he_flag = true;
  
  	support_160 = !!(he_cap->he_cap_elem.phy_cap_info[0] &
-@@ -2497,25 +2617,47 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2415,25 +2535,47 @@ static void ath12k_peer_assoc_h_he(struc
  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_REQ)
  		arg->twt_requester = true;
  
@@ -373,7 +373,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  		fallthrough;
  
  	default:
-@@ -2523,11 +2665,36 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2441,11 +2583,36 @@ static void ath12k_peer_assoc_h_he(struc
  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
  
  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
@@ -410,7 +410,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  }
  
  static void ath12k_peer_assoc_h_he_6ghz(struct ath12k *ar,
-@@ -2863,6 +3030,7 @@ static void ath12k_peer_assoc_h_phymode(
+@@ -2781,6 +2948,7 @@ static void ath12k_peer_assoc_h_phymode(
  	enum nl80211_band band;
  	const u8 *ht_mcs_mask;
  	const u16 *vht_mcs_mask;
@@ -418,7 +418,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	enum wmi_phy_mode phymode = MODE_UNKNOWN;
  
  	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
-@@ -2876,6 +3044,7 @@ static void ath12k_peer_assoc_h_phymode(
+@@ -2794,6 +2962,7 @@ static void ath12k_peer_assoc_h_phymode(
  	band = def.chan->band;
  	ht_mcs_mask = arvif->bitrate_mask.control[band].ht_mcs;
  	vht_mcs_mask = arvif->bitrate_mask.control[band].vht_mcs;
@@ -426,7 +426,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  	link_sta = ath12k_mac_get_link_sta(arsta);
  	if (!link_sta) {
-@@ -2891,7 +3060,8 @@ static void ath12k_peer_assoc_h_phymode(
+@@ -2809,7 +2978,8 @@ static void ath12k_peer_assoc_h_phymode(
  				phymode = MODE_11BE_EHT40_2G;
  			else
  				phymode = MODE_11BE_EHT20_2G;
@@ -436,7 +436,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  			if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
  				phymode = MODE_11AX_HE80_2G;
  			else if (link_sta->bandwidth == IEEE80211_STA_RX_BW_40)
-@@ -2921,7 +3091,8 @@ static void ath12k_peer_assoc_h_phymode(
+@@ -2839,7 +3009,8 @@ static void ath12k_peer_assoc_h_phymode(
  		/* Check EHT first */
  		if (link_sta->eht_cap.has_eht) {
  			phymode = ath12k_mac_get_phymode_eht(ar, link_sta);
@@ -446,7 +446,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  			phymode = ath12k_mac_get_phymode_he(ar, link_sta);
  		} else if (link_sta->vht_cap.vht_supported &&
  		    !ath12k_peer_assoc_h_vht_masked(vht_mcs_mask)) {
-@@ -4190,10 +4361,13 @@ static struct ath12k_link_vif *ath12k_ma
+@@ -3623,10 +3794,13 @@ static void ath12k_mac_init_arvif(struct
  
  	for (i = 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) {
  		arvif->bitrate_mask.control[i].legacy = 0xffffffff;
@@ -459,8 +459,8 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
 +		       sizeof(arvif->bitrate_mask.control[i].he_mcs));
  	}
  
- 	/* Allocate Default Queue now and reassign during actual vdev create */
-@@ -5083,6 +5257,20 @@ ath12k_mac_bitrate_mask_num_vht_rates(st
+ 	/* Handle MLO related assignments */
+@@ -5282,6 +5456,20 @@ ath12k_mac_bitrate_mask_num_vht_rates(st
  }
  
  static int
@@ -481,7 +481,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  ath12k_mac_set_peer_vht_fixed_rate(struct ath12k_link_vif *arvif,
  				   struct ath12k_link_sta *arsta,
  				   const struct cfg80211_bitrate_mask *mask,
-@@ -5128,6 +5316,60 @@ ath12k_mac_set_peer_vht_fixed_rate(struc
+@@ -5327,6 +5515,60 @@ ath12k_mac_set_peer_vht_fixed_rate(struc
  	return ret;
  }
  
@@ -542,7 +542,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  static int ath12k_mac_station_assoc(struct ath12k *ar,
  				    struct ath12k_link_vif *arvif,
  				    struct ath12k_link_sta *arsta,
-@@ -5140,7 +5382,7 @@ static int ath12k_mac_station_assoc(stru
+@@ -5339,7 +5581,7 @@ static int ath12k_mac_station_assoc(stru
  	struct cfg80211_chan_def def;
  	enum nl80211_band band;
  	struct cfg80211_bitrate_mask *mask;
@@ -551,7 +551,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	u8 link_id = arvif->link_id;
  
  	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
-@@ -5180,9 +5422,10 @@ static int ath12k_mac_station_assoc(stru
+@@ -5379,9 +5621,10 @@ static int ath12k_mac_station_assoc(stru
  	}
  
  	num_vht_rates = ath12k_mac_bitrate_mask_num_vht_rates(ar, band, mask);
@@ -564,8 +564,8 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	 * fixed param.
  	 * Note that all other rates and NSS will be disabled for this peer.
  	 */
-@@ -5193,8 +5436,9 @@ static int ath12k_mac_station_assoc(stru
- 	}
+@@ -5397,8 +5640,9 @@ static int ath12k_mac_station_assoc(stru
+ 	spin_unlock_bh(&ar->data_lock);
  
  	if (link_sta->vht_cap.vht_supported && num_vht_rates == 1) {
 -		ret = ath12k_mac_set_peer_vht_fixed_rate(arvif, arsta, mask,
@@ -576,7 +576,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  		if (ret)
  			return ret;
  	}
-@@ -5258,8 +5502,9 @@ static void ath12k_sta_rc_update_wk(stru
+@@ -5462,8 +5706,9 @@ static void ath12k_sta_rc_update_wk(stru
  	enum nl80211_band band;
  	const u8 *ht_mcs_mask;
  	const u16 *vht_mcs_mask;
@@ -588,7 +588,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	const struct cfg80211_bitrate_mask *mask;
  	enum wmi_phy_mode peer_phymode;
  	struct ath12k_link_sta *arsta;
-@@ -5279,6 +5524,7 @@ static void ath12k_sta_rc_update_wk(stru
+@@ -5483,6 +5728,7 @@ static void ath12k_sta_rc_update_wk(stru
  	band = def.chan->band;
  	ht_mcs_mask = arvif->bitrate_mask.control[band].ht_mcs;
  	vht_mcs_mask = arvif->bitrate_mask.control[band].vht_mcs;
@@ -596,7 +596,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  	spin_lock_bh(&ar->data_lock);
  
-@@ -5293,8 +5539,10 @@ static void ath12k_sta_rc_update_wk(stru
+@@ -5497,8 +5743,10 @@ static void ath12k_sta_rc_update_wk(stru
  	spin_unlock_bh(&ar->data_lock);
  
  	nss = max_t(u32, 1, nss);
@@ -609,7 +609,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  	struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) =
  					kzalloc(sizeof(*peer_arg), GFP_KERNEL);
-@@ -5377,6 +5625,8 @@ static void ath12k_sta_rc_update_wk(stru
+@@ -5581,6 +5829,8 @@ static void ath12k_sta_rc_update_wk(stru
  		mask = &arvif->bitrate_mask;
  		num_vht_rates = ath12k_mac_bitrate_mask_num_vht_rates(ar, band,
  								      mask);
@@ -618,7 +618,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  		/* Peer_assoc_prepare will reject vht rates in
  		 * bitrate_mask if its not available in range format and
-@@ -5399,11 +5649,24 @@ static void ath12k_sta_rc_update_wk(stru
+@@ -5603,11 +5853,24 @@ static void ath12k_sta_rc_update_wk(stru
  		if (link_sta->vht_cap.vht_supported && num_vht_rates == 1) {
  			ath12k_mac_set_peer_vht_fixed_rate(arvif, arsta, mask,
  							   band);
@@ -645,7 +645,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  			ath12k_peer_assoc_prepare(ar, arvif, arsta,
  						  peer_arg, true);
  
-@@ -9903,19 +10166,40 @@ ath12k_mac_has_single_legacy_rate(struct
+@@ -11036,19 +11299,40 @@ ath12k_mac_has_single_legacy_rate(struct
  	if (ath12k_mac_bitrate_mask_num_vht_rates(ar, band, mask))
  		return false;
  
@@ -686,7 +686,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	int i;
  
  	/* No need to consider legacy here. Basic rates are always present
-@@ -9942,7 +10226,24 @@ ath12k_mac_bitrate_mask_get_single_nss(s
+@@ -11075,7 +11359,24 @@ ath12k_mac_bitrate_mask_get_single_nss(s
  			return false;
  	}
  
@@ -712,7 +712,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  		return false;
  
  	if (ht_nss_mask == 0)
-@@ -9989,54 +10290,182 @@ ath12k_mac_get_single_legacy_rate(struct
+@@ -11122,54 +11423,182 @@ ath12k_mac_get_single_legacy_rate(struct
  	return 0;
  }
  
@@ -914,7 +914,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	return 0;
  }
  
-@@ -10065,6 +10494,31 @@ ath12k_mac_vht_mcs_range_present(struct
+@@ -11198,6 +11627,31 @@ ath12k_mac_vht_mcs_range_present(struct
  	return true;
  }
  
@@ -946,7 +946,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  static void ath12k_mac_set_bitrate_mask_iter(void *data,
  					     struct ieee80211_sta *sta)
  {
-@@ -10073,7 +10527,10 @@ static void ath12k_mac_set_bitrate_mask_
+@@ -11206,7 +11660,10 @@ static void ath12k_mac_set_bitrate_mask_
  	struct ath12k_link_sta *arsta;
  	struct ath12k *ar = arvif->ar;
  
@@ -958,7 +958,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	if (!arsta || arsta->arvif != arvif)
  		return;
  
-@@ -10111,6 +10568,61 @@ static void ath12k_mac_disable_peer_fixe
+@@ -11244,6 +11701,61 @@ static void ath12k_mac_disable_peer_fixe
  			    arsta->addr, ret);
  }
  
@@ -1020,7 +1020,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  static int
  ath12k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw,
  			       struct ieee80211_vif *vif,
-@@ -10123,13 +10635,17 @@ ath12k_mac_op_set_bitrate_mask(struct ie
+@@ -11256,13 +11768,17 @@ ath12k_mac_op_set_bitrate_mask(struct ie
  	enum nl80211_band band;
  	const u8 *ht_mcs_mask;
  	const u16 *vht_mcs_mask;
@@ -1039,7 +1039,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  	lockdep_assert_wiphy(hw->wiphy);
  
-@@ -10144,14 +10660,18 @@ ath12k_mac_op_set_bitrate_mask(struct ie
+@@ -11277,14 +11793,18 @@ ath12k_mac_op_set_bitrate_mask(struct ie
  	band = def.chan->band;
  	ht_mcs_mask = mask->control[band].ht_mcs;
  	vht_mcs_mask = mask->control[band].vht_mcs;
@@ -1059,7 +1059,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	/* mac80211 doesn't support sending a fixed HT/VHT MCS alone, rather it
  	 * requires passing at least one of used basic rates along with them.
  	 * Fixed rate setting across different preambles(legacy, HT, VHT) is
-@@ -10168,18 +10688,31 @@ ath12k_mac_op_set_bitrate_mask(struct ie
+@@ -11301,18 +11821,31 @@ ath12k_mac_op_set_bitrate_mask(struct ie
  				    arvif->vdev_id, ret);
  			goto out;
  		}
@@ -1095,7 +1095,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
  		/* If multiple rates across different preambles are given
  		 * we can reconfigure this info with all peers using PEER_ASSOC
-@@ -10211,9 +10744,21 @@ ath12k_mac_op_set_bitrate_mask(struct ie
+@@ -11344,9 +11877,21 @@ ath12k_mac_op_set_bitrate_mask(struct ie
  			 */
  			ath12k_warn(ar->ab,
  				    "Setting more than one MCS Value in bitrate mask not supported\n");
@@ -1118,7 +1118,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  		ieee80211_iterate_stations_mtx(hw,
  					       ath12k_mac_disable_peer_fixed_rate,
  					       arvif);
-@@ -10224,9 +10769,10 @@ ath12k_mac_op_set_bitrate_mask(struct ie
+@@ -11357,9 +11902,10 @@ ath12k_mac_op_set_bitrate_mask(struct ie
  					       arvif);
  	}
  
@@ -1133,8 +1133,8 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -220,6 +220,22 @@ enum WMI_HOST_WLAN_BAND {
- 	WMI_HOST_WLAN_2G_5G_CAP	= 3,
+@@ -222,6 +222,22 @@ enum WMI_HOST_WLAN_BAND {
+ 	WMI_HOST_WLAN_2GHZ_5GHZ_CAP	= 3,
  };
  
 +/* Parameters used for WMI_VDEV_PARAM_AUTORATE_MISC_CFG command.
@@ -1156,7 +1156,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  enum wmi_cmd_group {
  	/* 0 to 2 are reserved */
  	WMI_GRP_START = 0x3,
-@@ -1145,7 +1161,9 @@ enum wmi_tlv_vdev_param {
+@@ -1169,7 +1185,9 @@ enum wmi_tlv_vdev_param {
  	WMI_VDEV_PARAM_HE_RANGE_EXT,
  	WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE,
  	WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME,
@@ -1166,7 +1166,7 @@ Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
  	WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE = 0x87,
  	WMI_VDEV_PARAM_6GHZ_PARAMS = 0x99,
  	WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
-@@ -3579,6 +3597,15 @@ struct wmi_force_fw_hang_cmd {
+@@ -3631,6 +3649,15 @@ struct wmi_force_fw_hang_cmd {
  	__le32 delay_time_ms;
  } __packed;
  

+ 11 - 11
package/kernel/mac80211/patches/ath12k/104-7-wifi-ath12k-clean-up-80P80-support.patch

@@ -124,7 +124,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -207,7 +207,7 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12
+@@ -209,7 +209,7 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12
  			[NL80211_CHAN_WIDTH_40] = MODE_11BE_EHT40,
  			[NL80211_CHAN_WIDTH_80] = MODE_11BE_EHT80,
  			[NL80211_CHAN_WIDTH_160] = MODE_11BE_EHT160,
@@ -133,7 +133,7 @@ Acked-by: Jeff Johnson <[email protected]>
  			[NL80211_CHAN_WIDTH_320] = MODE_11BE_EHT320,
  	},
  	[NL80211_BAND_6GHZ] = {
-@@ -218,7 +218,7 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12
+@@ -220,7 +220,7 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12
  			[NL80211_CHAN_WIDTH_40] = MODE_11BE_EHT40,
  			[NL80211_CHAN_WIDTH_80] = MODE_11BE_EHT80,
  			[NL80211_CHAN_WIDTH_160] = MODE_11BE_EHT160,
@@ -142,7 +142,7 @@ Acked-by: Jeff Johnson <[email protected]>
  			[NL80211_CHAN_WIDTH_320] = MODE_11BE_EHT320,
  	},
  
-@@ -2638,17 +2638,6 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2556,17 +2556,6 @@ static void ath12k_peer_assoc_h_he(struc
  
  	switch (link_sta->bandwidth) {
  	case IEEE80211_STA_RX_BW_160:
@@ -160,7 +160,7 @@ Acked-by: Jeff Johnson <[email protected]>
  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
  
-@@ -2935,16 +2924,11 @@ static enum wmi_phy_mode ath12k_mac_get_
+@@ -2853,16 +2842,11 @@ static enum wmi_phy_mode ath12k_mac_get_
  						    struct ieee80211_link_sta *link_sta)
  {
  	if (link_sta->bandwidth == IEEE80211_STA_RX_BW_160) {
@@ -181,7 +181,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	}
  
  	if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
-@@ -2966,11 +2950,8 @@ static enum wmi_phy_mode ath12k_mac_get_
+@@ -2884,11 +2868,8 @@ static enum wmi_phy_mode ath12k_mac_get_
  		if (link_sta->he_cap.he_cap_elem.phy_cap_info[0] &
  		     IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G)
  			return MODE_11AX_HE160;
@@ -195,7 +195,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	}
  
  	if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
-@@ -2998,14 +2979,10 @@ static enum wmi_phy_mode ath12k_mac_get_
+@@ -2916,14 +2897,10 @@ static enum wmi_phy_mode ath12k_mac_get_
  		    IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G)
  			return MODE_11BE_EHT160;
  
@@ -211,7 +211,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	}
  
  	if (link_sta->bandwidth == IEEE80211_STA_RX_BW_80)
-@@ -7077,8 +7054,6 @@ static void ath12k_mac_set_hemcsmap(stru
+@@ -7630,8 +7607,6 @@ static void ath12k_mac_set_hemcsmap(stru
  	mcs_nss->tx_mcs_80 = cpu_to_le16(txmcs_map & 0xffff);
  	mcs_nss->rx_mcs_160 = cpu_to_le16(rxmcs_map & 0xffff);
  	mcs_nss->tx_mcs_160 = cpu_to_le16(txmcs_map & 0xffff);
@@ -220,7 +220,7 @@ Acked-by: Jeff Johnson <[email protected]>
  }
  
  static void ath12k_mac_copy_he_cap(struct ath12k *ar,
-@@ -7100,6 +7075,7 @@ static void ath12k_mac_copy_he_cap(struc
+@@ -7653,6 +7628,7 @@ static void ath12k_mac_copy_he_cap(struc
  		IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
  		IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
  		IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G;
@@ -228,7 +228,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	he_cap_elem->phy_cap_info[0] &=
  		~IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G;
  	he_cap_elem->phy_cap_info[5] &=
-@@ -10176,10 +10152,6 @@ static __le16
+@@ -11309,10 +11285,6 @@ static __le16
  ath12k_mac_get_tx_mcs_map(const struct ieee80211_sta_he_cap *he_cap)
  {
  	if (he_cap->he_cap_elem.phy_cap_info[0] &
@@ -241,7 +241,7 @@ Acked-by: Jeff Johnson <[email protected]>
  
 --- a/drivers/net/wireless/ath/ath12k/wmi.c
 +++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -1021,8 +1021,6 @@ static void ath12k_wmi_put_wmi_channel(s
+@@ -1066,8 +1066,6 @@ static void ath12k_wmi_put_wmi_channel(s
  			chan->band_center_freq1 = cpu_to_le32(center_freq1 - 40);
  
  		chan->band_center_freq2 = cpu_to_le32(center_freq1);
@@ -252,7 +252,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	}
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -3726,7 +3726,6 @@ struct wmi_vdev_install_key_arg {
+@@ -3798,7 +3798,6 @@ struct wmi_vdev_install_key_arg {
  #define WMI_HOST_MAX_HE_RATE_SET		3
  #define WMI_HECAP_TXRX_MCS_NSS_IDX_80		0
  #define WMI_HECAP_TXRX_MCS_NSS_IDX_160		1

+ 23 - 37
package/kernel/mac80211/patches/ath12k/104-8-wifi-ath12k-add-support-for-160-MHz-bandwidth.patch

@@ -139,7 +139,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/core.h
 +++ b/drivers/net/wireless/ath/ath12k/core.h
-@@ -789,6 +789,8 @@ struct ath12k_pdev_cap {
+@@ -879,6 +879,8 @@ struct ath12k_pdev_cap {
  	struct ath12k_band_cap band[NUM_NL80211_BANDS];
  	u32 eml_cap;
  	u32 mld_cap;
@@ -150,7 +150,7 @@ Acked-by: Jeff Johnson <[email protected]>
  struct mlo_timestamp {
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -2267,6 +2267,34 @@ ath12k_peer_assoc_h_vht_limit(u16 tx_mcs
+@@ -2185,6 +2185,34 @@ ath12k_peer_assoc_h_vht_limit(u16 tx_mcs
  	return tx_mcs_set;
  }
  
@@ -185,7 +185,7 @@ Acked-by: Jeff Johnson <[email protected]>
  static void ath12k_peer_assoc_h_vht(struct ath12k *ar,
  				    struct ath12k_link_vif *arvif,
  				    struct ath12k_link_sta *arsta,
-@@ -2284,6 +2312,7 @@ static void ath12k_peer_assoc_h_vht(stru
+@@ -2202,6 +2230,7 @@ static void ath12k_peer_assoc_h_vht(stru
  	u8 max_nss, vht_mcs;
  	int i, vht_nss, nss_idx;
  	bool user_rate_valid = true;
@@ -193,7 +193,7 @@ Acked-by: Jeff Johnson <[email protected]>
  
  	lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
  
-@@ -2388,10 +2417,24 @@ static void ath12k_peer_assoc_h_vht(stru
+@@ -2306,10 +2335,24 @@ static void ath12k_peer_assoc_h_vht(stru
  	/* TODO:  Check */
  	arg->tx_max_mcs_nss = 0xFF;
  
@@ -221,7 +221,7 @@ Acked-by: Jeff Johnson <[email protected]>
  }
  
  static int ath12k_mac_get_max_he_mcs_map(u16 mcs_map, int nss)
-@@ -2484,6 +2527,7 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2402,6 +2445,7 @@ static void ath12k_peer_assoc_h_he(struc
  	u16 he_tx_mcs = 0, v = 0;
  	int he_nss, nss_idx;
  	bool user_rate_valid = true;
@@ -229,7 +229,7 @@ Acked-by: Jeff Johnson <[email protected]>
  
  	if (WARN_ON(ath12k_mac_vif_link_chan(vif, link_id, &def)))
  		return;
-@@ -2681,9 +2725,25 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2599,9 +2643,25 @@ static void ath12k_peer_assoc_h_he(struc
  	max_nss = min(max_nss, ar->num_tx_chains);
  	arg->peer_nss = min(link_sta->rx_nss, max_nss);
  
@@ -257,7 +257,7 @@ Acked-by: Jeff Johnson <[email protected]>
  }
  
  static void ath12k_peer_assoc_h_he_6ghz(struct ath12k *ar,
-@@ -2924,10 +2984,13 @@ static enum wmi_phy_mode ath12k_mac_get_
+@@ -2842,10 +2902,13 @@ static enum wmi_phy_mode ath12k_mac_get_
  						    struct ieee80211_link_sta *link_sta)
  {
  	if (link_sta->bandwidth == IEEE80211_STA_RX_BW_160) {
@@ -273,7 +273,7 @@ Acked-by: Jeff Johnson <[email protected]>
  		return MODE_11AC_VHT160;
  	}
  
-@@ -6826,10 +6889,8 @@ ath12k_create_vht_cap(struct ath12k *ar,
+@@ -7379,10 +7442,8 @@ ath12k_create_vht_cap(struct ath12k *ar,
  
  	ath12k_set_vht_txbf_cap(ar, &vht_cap.cap);
  
@@ -286,19 +286,19 @@ Acked-by: Jeff Johnson <[email protected]>
  
  	rxmcs_map = 0;
  	txmcs_map = 0;
-@@ -11437,7 +11498,8 @@ ath12k_mac_setup_radio_iface_comb(struct
- 	comb[0].radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
- 					BIT(NL80211_CHAN_WIDTH_20) |
- 					BIT(NL80211_CHAN_WIDTH_40) |
--					BIT(NL80211_CHAN_WIDTH_80);
-+					BIT(NL80211_CHAN_WIDTH_80) |
-+					BIT(NL80211_CHAN_WIDTH_160);
+@@ -12654,7 +12715,8 @@ ath12k_mac_setup_radio_iface_comb(struct
+ 		comb[0].radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
+ 						BIT(NL80211_CHAN_WIDTH_20) |
+ 						BIT(NL80211_CHAN_WIDTH_40) |
+-						BIT(NL80211_CHAN_WIDTH_80);
++						BIT(NL80211_CHAN_WIDTH_80) |
++						BIT(NL80211_CHAN_WIDTH_160);
+ 	}
  
  	return 0;
- }
-@@ -11811,6 +11873,9 @@ static int ath12k_mac_hw_register(struct
- 	ieee80211_hw_set(hw, SUPPORTS_TX_FRAG);
+@@ -13031,6 +13093,9 @@ static int ath12k_mac_hw_register(struct
  	ieee80211_hw_set(hw, REPORTS_LOW_ACK);
+ 	ieee80211_hw_set(hw, NO_VIRTUAL_MONITOR);
  
 +	if (cap->nss_ratio_enabled)
 +		ieee80211_hw_set(hw, SUPPORTS_VHT_EXT_NSS_BW);
@@ -308,7 +308,7 @@ Acked-by: Jeff Johnson <[email protected]>
  		ieee80211_hw_set(hw, TX_AMPDU_SETUP_IN_HW);
 --- a/drivers/net/wireless/ath/ath12k/mac.h
 +++ b/drivers/net/wireless/ath/ath12k/mac.h
-@@ -38,6 +38,8 @@ struct ath12k_generic_iter {
+@@ -41,6 +41,8 @@ struct ath12k_generic_iter {
  #define IEEE80211_DISABLE_VHT_MCS_SUPPORT_0_11	BIT(24)
  
  #define ATH12K_CHAN_WIDTH_NUM			14
@@ -319,7 +319,7 @@ Acked-by: Jeff Johnson <[email protected]>
  #define ATH12K_TX_POWER_MIN_VAL	0
 --- a/drivers/net/wireless/ath/ath12k/wmi.c
 +++ b/drivers/net/wireless/ath/ath12k/wmi.c
-@@ -525,6 +525,10 @@ ath12k_pull_mac_phy_cap_svc_ready_ext(st
+@@ -537,6 +537,10 @@ ath12k_pull_mac_phy_cap_svc_ready_ext(st
  		pdev_cap->he_mcs = le32_to_cpu(mac_caps->he_supp_mcs_5g);
  		pdev_cap->tx_chain_mask = le32_to_cpu(mac_caps->tx_chain_mask_5g);
  		pdev_cap->rx_chain_mask = le32_to_cpu(mac_caps->rx_chain_mask_5g);
@@ -330,7 +330,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	} else {
  		return -EINVAL;
  	}
-@@ -1014,7 +1018,8 @@ static void ath12k_wmi_put_wmi_channel(s
+@@ -1059,7 +1063,8 @@ static void ath12k_wmi_put_wmi_channel(s
  
  		chan->band_center_freq2 = cpu_to_le32(center_freq1);
  
@@ -342,7 +342,7 @@ Acked-by: Jeff Johnson <[email protected]>
  		else
 --- a/drivers/net/wireless/ath/ath12k/wmi.h
 +++ b/drivers/net/wireless/ath/ath12k/wmi.h
-@@ -2290,6 +2290,21 @@ enum wmi_direct_buffer_module {
+@@ -2328,6 +2328,21 @@ enum wmi_direct_buffer_module {
  	WMI_DIRECT_BUF_MAX
  };
  
@@ -364,7 +364,7 @@ Acked-by: Jeff Johnson <[email protected]>
  struct ath12k_wmi_pdev_band_arg {
  	u32 pdev_id;
  	u32 start_freq;
-@@ -2606,6 +2621,12 @@ struct ath12k_wmi_hw_mode_cap_params {
+@@ -2647,6 +2662,12 @@ struct ath12k_wmi_hw_mode_cap_params {
  } __packed;
  
  #define WMI_MAX_HECAP_PHY_SIZE                 (3)
@@ -377,17 +377,3 @@ Acked-by: Jeff Johnson <[email protected]>
  
  /* pdev_id is present in lower 16 bits of pdev_and_hw_link_ids in
   * ath12k_wmi_mac_phy_caps_params & ath12k_wmi_caps_ext_params.
-@@ -2647,6 +2668,13 @@ struct ath12k_wmi_mac_phy_caps_params {
- 	__le32 he_cap_info_2g_ext;
- 	__le32 he_cap_info_5g_ext;
- 	__le32 he_cap_info_internal;
-+	__le32 wireless_modes;
-+	__le32 low_2ghz_chan_freq;
-+	__le32 high_2ghz_chan_freq;
-+	__le32 low_5ghz_chan_freq;
-+	__le32 high_5ghz_chan_freq;
-+	__le32 nss_ratio;
-+
- } __packed;
- 
- struct ath12k_wmi_hal_reg_caps_ext_params {

+ 4 - 4
package/kernel/mac80211/patches/ath12k/104-9-wifi-ath12k-add-extended-NSS-bandwidth-support-for-160-MHz.patch

@@ -132,7 +132,7 @@ Acked-by: Jeff Johnson <[email protected]>
 
 --- a/drivers/net/wireless/ath/ath12k/mac.c
 +++ b/drivers/net/wireless/ath/ath12k/mac.c
-@@ -2726,8 +2726,10 @@ static void ath12k_peer_assoc_h_he(struc
+@@ -2644,8 +2644,10 @@ static void ath12k_peer_assoc_h_he(struc
  	arg->peer_nss = min(link_sta->rx_nss, max_nss);
  
  	if (arg->peer_phymode == MODE_11AX_HE160) {
@@ -144,7 +144,7 @@ Acked-by: Jeff Johnson <[email protected]>
  		arg->peer_bw_rxnss_override = ATH12K_BW_NSS_MAP_ENABLE;
  
  		if (!rx_nss) {
-@@ -6912,6 +6914,12 @@ ath12k_create_vht_cap(struct ath12k *ar,
+@@ -7465,6 +7467,12 @@ ath12k_create_vht_cap(struct ath12k *ar,
  	vht_cap.vht_mcs.rx_mcs_map = cpu_to_le16(rxmcs_map);
  	vht_cap.vht_mcs.tx_mcs_map = cpu_to_le16(txmcs_map);
  
@@ -157,7 +157,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	return vht_cap;
  }
  
-@@ -7092,11 +7100,12 @@ static void ath12k_mac_set_hemcsmap(stru
+@@ -7645,11 +7653,12 @@ static void ath12k_mac_set_hemcsmap(stru
  				    struct ieee80211_sta_he_cap *he_cap)
  {
  	struct ieee80211_he_mcs_nss_supp *mcs_nss = &he_cap->he_mcs_nss_supp;
@@ -173,7 +173,7 @@ Acked-by: Jeff Johnson <[email protected]>
  	for (i = 0; i < 8; i++) {
  		if (i < ar->num_tx_chains &&
  		    (ar->cfg_tx_chainmask >> cap->tx_chain_mask_shift) & BIT(i))
-@@ -7109,12 +7118,24 @@ static void ath12k_mac_set_hemcsmap(stru
+@@ -7662,12 +7671,24 @@ static void ath12k_mac_set_hemcsmap(stru
  			rxmcs_map |= IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2);
  		else
  			rxmcs_map |= IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2);

+ 5 - 5
package/kernel/mac80211/patches/ath12k/200-Revert-wifi-ath12k-convert-tasklet-to-BH-workqueue-f.patch

@@ -12,7 +12,7 @@ This reverts commit cdad737160571a98cc4933a62c9f2728e965ab27.
 
 --- a/drivers/net/wireless/ath/ath12k/ce.h
 +++ b/drivers/net/wireless/ath/ath12k/ce.h
-@@ -148,7 +148,7 @@ struct ath12k_ce_pipe {
+@@ -159,7 +159,7 @@ struct ath12k_ce_pipe {
  	void (*send_cb)(struct ath12k_ce_pipe *pipe);
  	void (*recv_cb)(struct ath12k_base *ab, struct sk_buff *skb);
  
@@ -44,7 +44,7 @@ This reverts commit cdad737160571a98cc4933a62c9f2728e965ab27.
  
  	return IRQ_HANDLED;
  }
-@@ -683,7 +683,7 @@ static int ath12k_pci_config_irq(struct
+@@ -684,7 +684,7 @@ static int ath12k_pci_config_irq(struct
  
  		irq_idx = ATH12K_PCI_IRQ_CE0_OFFSET + i;
  
@@ -53,7 +53,7 @@ This reverts commit cdad737160571a98cc4933a62c9f2728e965ab27.
  
  		ret = request_irq(irq, ath12k_pci_ce_interrupt_handler,
  				  ab_pci->irq_flags, irq_name[irq_idx],
-@@ -970,7 +970,7 @@ static void ath12k_pci_aspm_restore(stru
+@@ -967,7 +967,7 @@ static void ath12k_pci_aspm_restore(stru
  						   PCI_EXP_LNKCTL_ASPMC);
  }
  
@@ -62,7 +62,7 @@ This reverts commit cdad737160571a98cc4933a62c9f2728e965ab27.
  {
  	int i;
  
-@@ -980,7 +980,7 @@ static void ath12k_pci_cancel_workqueue(
+@@ -977,7 +977,7 @@ static void ath12k_pci_cancel_workqueue(
  		if (ath12k_ce_get_attr_flags(ab, i) & CE_ATTR_DIS_INTR)
  			continue;
  
@@ -71,7 +71,7 @@ This reverts commit cdad737160571a98cc4933a62c9f2728e965ab27.
  	}
  }
  
-@@ -988,7 +988,7 @@ static void ath12k_pci_ce_irq_disable_sy
+@@ -985,7 +985,7 @@ static void ath12k_pci_ce_irq_disable_sy
  {
  	ath12k_pci_ce_irqs_disable(ab);
  	ath12k_pci_sync_ce_irqs(ab);

+ 0 - 50
package/kernel/mac80211/patches/ath9k/509-ath9k-use-devm-for-irq-and-ioremap-resource.patch

@@ -1,50 +0,0 @@
-From 454255e44bf48d8498ac3413389513138ab57bf6 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <[email protected]>
-Date: Sat, 4 Jan 2025 14:24:46 -0800
-Subject: [PATCH] wifi: ath9k: ahb: do ioremap resource in one step
-
-Simplifies probe slightly and adds extra error codes.
-
-Switching from devm_ioremap to the platform variant ends up calling
-devm_request_mem_region, which reserves the memory region for the
-various wmacs. Per board, there is only one wmac and after some fairly
-thorough analysis, there are no overlapping memory regions between wmacs
-and other devices on the ahb.
-
-Tested on a TP-Link Archer C7v2.
-
-Signed-off-by: Rosen Penev <[email protected]>
----
- drivers/net/wireless/ath/ath9k/ahb.c | 13 +++----------
- 1 file changed, 3 insertions(+), 10 deletions(-)
-
---- a/drivers/net/wireless/ath/ath9k/ahb.c
-+++ b/drivers/net/wireless/ath/ath9k/ahb.c
-@@ -74,7 +74,6 @@ static int ath_ahb_probe(struct platform
- 	void __iomem *mem;
- 	struct ath_softc *sc;
- 	struct ieee80211_hw *hw;
--	struct resource *res;
- 	const struct platform_device_id *id = platform_get_device_id(pdev);
- 	int irq;
- 	int ret = 0;
-@@ -86,16 +85,10 @@ static int ath_ahb_probe(struct platform
- 		return -EINVAL;
- 	}
- 
--	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
--	if (res == NULL) {
--		dev_err(&pdev->dev, "no memory resource found\n");
--		return -ENXIO;
--	}
--
--	mem = devm_ioremap(&pdev->dev, res->start, resource_size(res));
--	if (mem == NULL) {
-+	mem = devm_platform_ioremap_resource(pdev, 0);
-+	if (IS_ERR(mem)) {
- 		dev_err(&pdev->dev, "ioremap failed\n");
--		return -ENOMEM;
-+		return PTR_ERR(mem);
- 	}
- 
- 	irq = platform_get_irq(pdev, 0);

+ 3 - 3
package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -845,6 +845,9 @@ static inline int ath9k_dump_btcoex(stru
+@@ -844,6 +844,9 @@ static inline int ath9k_dump_btcoex(stru
  #ifdef CPTCFG_MAC80211_LEDS
  void ath_init_leds(struct ath_softc *sc);
  void ath_deinit_leds(struct ath_softc *sc);
@@ -10,7 +10,7 @@
  #else
  static inline void ath_init_leds(struct ath_softc *sc)
  {
-@@ -981,6 +984,13 @@ void ath_ant_comb_scan(struct ath_softc
+@@ -980,6 +983,13 @@ void ath_ant_comb_scan(struct ath_softc
  
  #define ATH9K_NUM_CHANCTX  2 /* supports 2 operating channels */
  
@@ -24,7 +24,7 @@
  struct ath_softc {
  	struct ieee80211_hw *hw;
  	struct device *dev;
-@@ -1036,9 +1046,8 @@ struct ath_softc {
+@@ -1035,9 +1045,8 @@ struct ath_softc {
  	spinlock_t chan_lock;
  
  #ifdef CPTCFG_MAC80211_LEDS

+ 1 - 1
package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch

@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  #include "common.h"
  #include "debug.h"
-@@ -1048,6 +1050,10 @@ struct ath_softc {
+@@ -1047,6 +1049,10 @@ struct ath_softc {
  #ifdef CPTCFG_MAC80211_LEDS
  	const char *led_default_trigger;
  	struct list_head leds;

+ 1 - 1
package/kernel/mac80211/patches/brcm/860-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch

@@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -984,8 +984,36 @@ static struct wireless_dev *brcmf_cfg802
+@@ -983,8 +983,36 @@ static struct wireless_dev *brcmf_cfg802
  	struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
  	struct brcmf_pub *drvr = cfg->pub;
  	struct wireless_dev *wdev;

+ 1 - 1
package/kernel/mac80211/patches/brcm/870-02-rpi-6.12-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch

@@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <[email protected]>
  #include <net/cfg80211.h>
  #include <net/netlink.h>
  #include <uapi/linux/if_arp.h>
-@@ -8215,31 +8216,45 @@ static void brcmf_cfg80211_reg_notifier(
+@@ -8223,31 +8224,45 @@ static void brcmf_cfg80211_reg_notifier(
  	struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0);
  	struct brcmf_pub *drvr = cfg->pub;
  	struct brcmf_fil_country_le ccreq;

+ 1 - 1
package/kernel/mac80211/patches/brcm/870-03-rpi-6.12-brcmfmac-Increase-power-saving-delay-to-2s.patch

@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <[email protected]>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -3342,6 +3342,7 @@ brcmf_cfg80211_set_power_mgmt(struct wip
+@@ -3343,6 +3343,7 @@ brcmf_cfg80211_set_power_mgmt(struct wip
  			bphy_err(drvr, "error (%d)\n", err);
  	}
  

+ 13 - 13
package/kernel/mac80211/patches/brcm/870-04-rpi-6.12-brcmfmac-non-upstream-support-DS1-exit-firmware-re-download.patch

@@ -121,9 +121,9 @@ JIRA: SWWLAN-136577
  {
  	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
  	struct brcmf_pub *drvr = bus_if->drvr;
-@@ -1363,10 +1363,13 @@ int brcmf_attach(struct device *dev)
- 	brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
- 			    brcmf_psm_watchdog_notify);
+@@ -1365,10 +1365,13 @@ int brcmf_attach(struct device *dev)
+ 
+ 	brcmf_fwvid_get_cfg80211_ops(drvr);
  
 -	ret = brcmf_bus_started(drvr, drvr->ops);
 -	if (ret != 0) {
@@ -151,17 +151,17 @@ JIRA: SWWLAN-136577
  #undef pr_fmt
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
-@@ -94,7 +94,8 @@ struct brcmf_cfg80211_info;
- 	BRCMF_ENUM_DEF(FIFO_CREDIT_MAP, 74) \
- 	BRCMF_ENUM_DEF(ACTION_FRAME_RX, 75) \
- 	BRCMF_ENUM_DEF(TDLS_PEER_EVENT, 92) \
--	BRCMF_ENUM_DEF(BCMC_CREDIT_SUPPORT, 127)
-+	BRCMF_ENUM_DEF(BCMC_CREDIT_SUPPORT, 127) \
+@@ -98,7 +98,8 @@ struct brcmf_cfg80211_info;
+ 	BRCMF_ABSTRACT_ENUM_DEF(EXT_AUTH_REQ, 0) \
+ 	BRCMF_ABSTRACT_ENUM_DEF(EXT_AUTH_FRAME_RX, 1) \
+ 	BRCMF_ABSTRACT_ENUM_DEF(MGMT_FRAME_TXSTATUS, 2) \
+-	BRCMF_ABSTRACT_ENUM_DEF(MGMT_FRAME_OFFCHAN_DONE, 3)
++	BRCMF_ABSTRACT_ENUM_DEF(MGMT_FRAME_OFFCHAN_DONE, 3) \
 +	BRCMF_ENUM_DEF(ULP, 146)
  
  #define BRCMF_ENUM_DEF(id, val) \
  	BRCMF_E_##id = (val),
-@@ -102,6 +103,12 @@ struct brcmf_cfg80211_info;
+@@ -106,6 +107,12 @@ struct brcmf_cfg80211_info;
  /* firmware event codes sent by the dongle */
  enum brcmf_fweh_event_code {
  	BRCMF_FWEH_EVENT_ENUM_DEFLIST
@@ -174,7 +174,7 @@ JIRA: SWWLAN-136577
  };
  #undef BRCMF_ENUM_DEF
  
-@@ -280,6 +287,28 @@ struct brcmf_if_event {
+@@ -284,6 +291,28 @@ struct brcmf_if_event {
  	u8 role;
  };
  
@@ -692,7 +692,7 @@ JIRA: SWWLAN-136577
  #endif /* BRCMFMAC_SDIO_H */
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
-@@ -1202,7 +1202,7 @@ static void brcmf_usb_probe_phase2(struc
+@@ -1211,7 +1211,7 @@ static void brcmf_usb_probe_phase2(struc
  		goto error;
  
  	/* Attach to the common driver interface */
@@ -701,7 +701,7 @@ JIRA: SWWLAN-136577
  	if (ret)
  		goto error;
  
-@@ -1282,7 +1282,7 @@ static int brcmf_usb_probe_cb(struct brc
+@@ -1291,7 +1291,7 @@ static int brcmf_usb_probe_cb(struct brc
  		ret = brcmf_alloc(devinfo->dev, devinfo->settings);
  		if (ret)
  			goto fail;

+ 1 - 1
package/kernel/mac80211/patches/brcm/870-05-rpi-6.12-brcmfmac-Fix-interoperating-DPP-and-other-encryption.patch

@@ -25,7 +25,7 @@ Signed-off-by: Chi-hsien Lin <[email protected]>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -2495,43 +2495,50 @@ brcmf_cfg80211_connect(struct wiphy *wip
+@@ -2496,43 +2496,50 @@ brcmf_cfg80211_connect(struct wiphy *wip
  		goto done;
  	}
  

+ 3 - 3
package/kernel/mac80211/patches/brcm/871-brcmfmac-disable-dump_survey-on-bcm2835.patch

@@ -9,7 +9,7 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -7994,6 +7994,7 @@ static s32 brcmf_translate_country_code(
+@@ -8002,6 +8002,7 @@ static s32 brcmf_translate_country_code(
  	return 0;
  }
  
@@ -17,7 +17,7 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>
  static int
  brcmf_parse_dump_obss(char *buf, struct brcmf_dump_survey *survey)
  {
-@@ -8216,6 +8217,7 @@ exit:
+@@ -8224,6 +8225,7 @@ exit:
  		brcmf_set_mpc(ifp, 1);
  	return err;
  }
@@ -25,7 +25,7 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>
  
  static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy,
  					struct regulatory_request *req)
-@@ -8382,8 +8384,10 @@ struct brcmf_cfg80211_info *brcmf_cfg802
+@@ -8390,8 +8392,10 @@ struct brcmf_cfg80211_info *brcmf_cfg802
  	if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_WOWL_GTK))
  		ops->set_rekey_data = brcmf_cfg80211_set_rekey_data;
  #endif

+ 1 - 1
package/kernel/mac80211/patches/build/100-backports-drop-QRTR-and-MHI.patch

@@ -54,7 +54,7 @@ Signed-off-by: Robert Marko <[email protected]>
 +	depends on MHI_BUS
 +	depends on QRTR
 +	depends on QRTR_MHI
- 	select PCI_PWRCTL_PWRSEQ if HAVE_PWRCTL
+ 	select PCI_PWRCTRL_PWRSEQ if HAVE_PWRCTRL
  	help
  	  This module adds support for PCIE bus
 --- a/local-symbols

+ 1 - 1
package/kernel/mac80211/patches/build/140-trace_backport.patch

@@ -634,7 +634,7 @@
  	TP_printk("%s", __get_str(msg))
 --- a/drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h
 +++ b/drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h
-@@ -87,7 +87,11 @@ static inline void trace_ ## name(proto)
+@@ -88,7 +88,11 @@ static inline void trace_ ## name(proto)
  #endif
  
  #define DEV_ENTRY	__string(dev, dev_name(dev))

+ 1 - 1
package/kernel/mac80211/patches/build/150-ath_iommu_paging_domain_revert.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath10k/snoc.c
 +++ b/drivers/net/wireless/ath/ath10k/snoc.c
-@@ -1635,10 +1635,10 @@ static int ath10k_fw_init(struct ath10k
+@@ -1638,10 +1638,10 @@ static int ath10k_fw_init(struct ath10k
  
  	ar_snoc->fw.dev = &pdev->dev;
  

+ 2 - 2
package/kernel/mac80211/patches/build/200-iwlwifi_thermal_backport.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
-@@ -638,8 +638,13 @@ static int iwl_mvm_tzone_get_temp(struct
+@@ -626,8 +626,13 @@ static int iwl_mvm_tzone_get_temp(struct
  	return 0;
  }
  
@@ -14,7 +14,7 @@
  {
  	struct iwl_mvm *mvm = thermal_zone_device_priv(device);
  
-@@ -682,13 +687,23 @@ static void iwl_mvm_thermal_zone_registe
+@@ -670,13 +675,23 @@ static void iwl_mvm_thermal_zone_registe
  	for (i = 0 ; i < IWL_MAX_DTS_TRIPS; i++) {
  		mvm->tz_device.trips[i].temperature = THERMAL_TEMP_INVALID;
  		mvm->tz_device.trips[i].type = THERMAL_TRIP_PASSIVE;

+ 24 - 13
package/kernel/mac80211/patches/build/210-wireless_netns_local_backport.patch

@@ -1,43 +1,54 @@
 --- a/net/wireless/core.c
 +++ b/net/wireless/core.c
-@@ -162,11 +162,15 @@ int cfg80211_switch_netns(struct cfg8021
+@@ -162,11 +162,19 @@ int cfg80211_switch_netns(struct cfg8021
  	list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
  		if (!wdev->netdev)
  			continue;
-+#if LINUX_VERSION_IS_GEQ(6,12,0)
- 		wdev->netdev->netns_local = false;
+-		wdev->netdev->netns_immutable = false;
++#if LINUX_VERSION_IS_GEQ(6,15,0)
++		wdev->netdev->netns_immutable = true;
++#elif LINUX_VERSION_IS_GEQ(6,12,0)
++		wdev->netdev->netns_local = true;
 +#endif
  		err = dev_change_net_namespace(wdev->netdev, net, "wlan%d");
  		if (err)
  			break;
-+#if LINUX_VERSION_IS_GEQ(6,12,0)
- 		wdev->netdev->netns_local = true;
++#if LINUX_VERSION_IS_GEQ(6,15,0)
+ 		wdev->netdev->netns_immutable = true;
++#elif LINUX_VERSION_IS_GEQ(6,12,0)
++		wdev->netdev->netns_local = true;
 +#endif
  	}
  
  	if (err) {
-@@ -178,11 +182,15 @@ int cfg80211_switch_netns(struct cfg8021
+@@ -178,11 +186,19 @@ int cfg80211_switch_netns(struct cfg8021
  						     list) {
  			if (!wdev->netdev)
  				continue;
-+#if LINUX_VERSION_IS_GEQ(6,12,0)
- 			wdev->netdev->netns_local = false;
++#if LINUX_VERSION_IS_GEQ(6,15,0)
+ 			wdev->netdev->netns_immutable = false;
++#elif LINUX_VERSION_IS_GEQ(6,12,0)
++			wdev->netdev->netns_local = false;
 +#endif
  			err = dev_change_net_namespace(wdev->netdev, net,
  							"wlan%d");
  			WARN_ON(err);
-+#if LINUX_VERSION_IS_GEQ(6,12,0)
- 			wdev->netdev->netns_local = true;
++#if LINUX_VERSION_IS_GEQ(6,15,0)
+ 			wdev->netdev->netns_immutable = true;
++#elif LINUX_VERSION_IS_GEQ(6,12,0)
++			wdev->netdev->netns_local = true;
 +#endif
  		}
  
  		return err;
-@@ -1520,7 +1528,9 @@ static int cfg80211_netdev_notifier_call
+@@ -1521,7 +1537,11 @@ static int cfg80211_netdev_notifier_call
  		SET_NETDEV_DEVTYPE(dev, &wiphy_type);
  		wdev->netdev = dev;
  		/* can only change netns with wiphy */
-+#if LINUX_VERSION_IS_GEQ(6,12,0)
- 		dev->netns_local = true;
++#if LINUX_VERSION_IS_GEQ(6,15,0)
+ 		dev->netns_immutable = true;
++#elif LINUX_VERSION_IS_GEQ(6,12,0)
++		dev->netns_local = true;
 +#endif
  
  		cfg80211_init_wdev(wdev);

+ 1 - 1
package/kernel/mac80211/patches/build/220-brcmfmac_usb_driver_backport.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
-@@ -1579,7 +1579,11 @@ static int brcmf_usb_reset_device(struct
+@@ -1588,7 +1588,11 @@ static int brcmf_usb_reset_device(struct
  
  void brcmf_usb_exit(void)
  {

+ 2 - 2
package/kernel/mac80211/patches/build/230-fix-init_vqs-build-error-on-kernel-6.6.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/virtual/mac80211_hwsim.c
 +++ b/drivers/net/wireless/virtual/mac80211_hwsim.c
-@@ -6670,6 +6670,7 @@ static void hwsim_virtio_rx_done(struct
+@@ -6672,6 +6672,7 @@ static void hwsim_virtio_rx_done(struct
  
  static int init_vqs(struct virtio_device *vdev)
  {
@@ -8,7 +8,7 @@
  	struct virtqueue_info vqs_info[HWSIM_NUM_VQS] = {
  		[HWSIM_VQ_TX] = { "tx", hwsim_virtio_tx_done },
  		[HWSIM_VQ_RX] = { "rx", hwsim_virtio_rx_done },
-@@ -6677,6 +6678,19 @@ static int init_vqs(struct virtio_device
+@@ -6679,6 +6680,19 @@ static int init_vqs(struct virtio_device
  
  	return virtio_find_vqs(vdev, HWSIM_NUM_VQS,
  			       hwsim_vqs, vqs_info, NULL);

+ 1 - 1
package/kernel/mac80211/patches/build/240-realtek-rtw88-BH-workqueue.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/realtek/rtw88/usb.c
 +++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -909,7 +909,11 @@ static int rtw_usb_init_rx(struct rtw_de
+@@ -965,7 +965,11 @@ static int rtw_usb_init_rx(struct rtw_de
  	struct sk_buff *rx_skb;
  	int i;
  

+ 2 - 2
package/kernel/mac80211/patches/build/300-backports-handle-genlmsg_multicast_allns-upstream-ba.patch

@@ -17,8 +17,8 @@ Signed-off-by: Christian Marangi <[email protected]>
 
 --- a/backport-include/net/genetlink.h
 +++ b/backport-include/net/genetlink.h
-@@ -172,4 +172,15 @@ static inline int genlmsg_parse(const st
- }
+@@ -192,4 +192,15 @@ int backport_genlmsg_multicast_allns(con
+ #define genlmsg_multicast_allns LINUX_BACKPORT(genlmsg_multicast_allns)
  #endif /* LINUX_VERSION_IS_LESS(5,2,0) */
  
 +#if LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) || \

+ 1 - 1
package/kernel/mac80211/patches/build/410-mac80211-convert-short-fops-to-debugfs-files.patch

@@ -173,7 +173,7 @@
  	.llseek = generic_file_llseek,					\
  }
  
-@@ -448,8 +450,9 @@ STA_OPS_RW(agg_status);
+@@ -442,8 +444,9 @@ STA_OPS_RW(agg_status);
  
  /* link sta attributes */
  #define LINK_STA_OPS(name)						\

+ 1 - 1
package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch

@@ -11,7 +11,7 @@
   err_wiphy_new:
 --- a/drivers/net/wireless/marvell/libertas/main.c
 +++ b/drivers/net/wireless/marvell/libertas/main.c
-@@ -935,6 +935,7 @@ struct lbs_private *lbs_add_card(void *c
+@@ -852,6 +852,7 @@ struct lbs_private *lbs_add_card(void *c
  		goto err_adapter;
  	}
  

+ 4 - 16
package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch

@@ -105,7 +105,7 @@ Signed-off-by: Pali Rohár <[email protected]>
  /*
   * This function initializes a command node.
   *
-@@ -193,8 +272,8 @@ static int mwifiex_dnld_cmd_to_fw(struct
+@@ -191,8 +270,8 @@ static int mwifiex_dnld_cmd_to_fw(struct
  	    cmd_code != HostCmd_CMD_FUNC_SHUTDOWN &&
  	    cmd_code != HostCmd_CMD_FUNC_INIT) {
  		mwifiex_dbg(adapter, ERROR,
@@ -116,7 +116,7 @@ Signed-off-by: Pali Rohár <[email protected]>
  		mwifiex_recycle_cmd_node(adapter, cmd_node);
  		queue_work(adapter->workqueue, &adapter->main_work);
  		return -1;
-@@ -655,8 +734,8 @@ int mwifiex_send_cmd(struct mwifiex_priv
+@@ -651,8 +730,8 @@ int mwifiex_send_cmd(struct mwifiex_priv
  	/* Return error, since the command preparation failed */
  	if (ret) {
  		mwifiex_dbg(adapter, ERROR,
@@ -127,19 +127,7 @@ Signed-off-by: Pali Rohár <[email protected]>
  		mwifiex_insert_cmd_to_free_q(adapter, cmd_node);
  		return -1;
  	}
-@@ -904,8 +983,9 @@ int mwifiex_process_cmdresp(struct mwifi
- 	if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) {
- 		if (ret) {
- 			mwifiex_dbg(adapter, ERROR,
--				    "%s: cmd %#x failed during\t"
--				    "initialization\n", __func__, cmdresp_no);
-+				    "%s: cmd %s (%#x) failed during\t"
-+				    "initialization\n", __func__,
-+				    mwifiex_cmd_to_str(cmdresp_no), cmdresp_no);
- 			mwifiex_init_fw_complete(adapter);
- 			return -1;
- 		} else if (adapter->last_init_cmd == cmdresp_no)
-@@ -1287,8 +1367,8 @@ mwifiex_process_sleep_confirm_resp(struc
+@@ -1262,8 +1341,8 @@ mwifiex_process_sleep_confirm_resp(struc
  
  	if (command != HostCmd_CMD_802_11_PS_MODE_ENH) {
  		mwifiex_dbg(adapter, ERROR,
@@ -152,7 +140,7 @@ Signed-off-by: Pali Rohár <[email protected]>
  
 --- a/drivers/net/wireless/marvell/mwifiex/main.h
 +++ b/drivers/net/wireless/marvell/mwifiex/main.h
-@@ -1096,6 +1096,8 @@ void mwifiex_cancel_all_pending_cmd(stru
+@@ -1090,6 +1090,8 @@ void mwifiex_cancel_all_pending_cmd(stru
  void mwifiex_cancel_pending_scan_cmd(struct mwifiex_adapter *adapter);
  void mwifiex_cancel_scan(struct mwifiex_adapter *adapter);
  

+ 0 - 42
package/kernel/mac80211/patches/rt2x00/110-wifi-rt2x00-fix-remove-callback-type-mismatch.patch

@@ -1,42 +0,0 @@
-From: Felix Fietkau <[email protected]>
-Date: Sun, 6 Jul 2025 11:15:13 +0200
-Subject: [PATCH] wifi: rt2x00: fix remove callback type mismatch
-
-The function is used as remove callback for a platform driver.
-It was missed during the conversion from int to void
-
-Fixes: 0edb555a65d1 ("platform: Make platform_driver::remove() return void")
-Signed-off-by: Felix Fietkau <[email protected]>
----
-
---- a/drivers/net/wireless/ralink/rt2x00/rt2x00soc.c
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00soc.c
-@@ -108,7 +108,7 @@ exit_free_device:
- }
- EXPORT_SYMBOL_GPL(rt2x00soc_probe);
- 
--int rt2x00soc_remove(struct platform_device *pdev)
-+void rt2x00soc_remove(struct platform_device *pdev)
- {
- 	struct ieee80211_hw *hw = platform_get_drvdata(pdev);
- 	struct rt2x00_dev *rt2x00dev = hw->priv;
-@@ -119,8 +119,6 @@ int rt2x00soc_remove(struct platform_dev
- 	rt2x00lib_remove_dev(rt2x00dev);
- 	rt2x00soc_free_reg(rt2x00dev);
- 	ieee80211_free_hw(hw);
--
--	return 0;
- }
- EXPORT_SYMBOL_GPL(rt2x00soc_remove);
- 
---- a/drivers/net/wireless/ralink/rt2x00/rt2x00soc.h
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00soc.h
-@@ -17,7 +17,7 @@
-  * SoC driver handlers.
-  */
- int rt2x00soc_probe(struct platform_device *pdev, const struct rt2x00_ops *ops);
--int rt2x00soc_remove(struct platform_device *pdev);
-+void rt2x00soc_remove(struct platform_device *pdev);
- #ifdef CONFIG_PM
- int rt2x00soc_suspend(struct platform_device *pdev, pm_message_t state);
- int rt2x00soc_resume(struct platform_device *pdev);

+ 1 - 1
package/kernel/mac80211/patches/rt2x00/602-01-wifi-rt2x00-Add-support-for-loading-EEPROM-from-user.patch

@@ -21,7 +21,7 @@ Signed-off-by: Christian Marangi <[email protected]>
 
 --- a/local-symbols
 +++ b/local-symbols
-@@ -334,6 +334,7 @@ RT2X00_LIB_FIRMWARE=
+@@ -336,6 +336,7 @@ RT2X00_LIB_FIRMWARE=
  RT2X00_LIB_CRYPTO=
  RT2X00_LIB_LEDS=
  RT2X00_LIB_DEBUGFS=

+ 0 - 71
package/kernel/mac80211/patches/rtl/065-v6.15-wifi-rtw88-Don-t-use-static-local-variable-in-rtw882.patch

@@ -1,71 +0,0 @@
-From 0d1d165eff9d6cfad51113e18d9d8c9a8de27d6d Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Sun, 26 Jan 2025 16:04:21 +0200
-Subject: [PATCH] wifi: rtw88: Don't use static local variable in
- rtw8821c_set_tx_power_index_by_rate
-
-Some users want to plug two identical USB devices at the same time.
-This static variable could theoretically cause them to use incorrect
-TX power values.
-
-Move the variable to the caller and pass a pointer to it to
-rtw8821c_set_tx_power_index_by_rate().
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8821c.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-@@ -680,11 +680,11 @@ static void query_phy_status(struct rtw_
- }
- 
- static void
--rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs)
-+rtw8821c_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path,
-+				    u8 rs, u32 *phy_pwr_idx)
- {
- 	struct rtw_hal *hal = &rtwdev->hal;
- 	static const u32 offset_txagc[2] = {0x1d00, 0x1d80};
--	static u32 phy_pwr_idx;
- 	u8 rate, rate_idx, pwr_index, shift;
- 	int j;
- 
-@@ -692,12 +692,12 @@ rtw8821c_set_tx_power_index_by_rate(stru
- 		rate = rtw_rate_section[rs][j];
- 		pwr_index = hal->tx_pwr_tbl[path][rate];
- 		shift = rate & 0x3;
--		phy_pwr_idx |= ((u32)pwr_index << (shift * 8));
-+		*phy_pwr_idx |= ((u32)pwr_index << (shift * 8));
- 		if (shift == 0x3 || rate == DESC_RATEVHT1SS_MCS9) {
- 			rate_idx = rate & 0xfc;
- 			rtw_write32(rtwdev, offset_txagc[path] + rate_idx,
--				    phy_pwr_idx);
--			phy_pwr_idx = 0;
-+				    *phy_pwr_idx);
-+			*phy_pwr_idx = 0;
- 		}
- 	}
- }
-@@ -705,6 +705,7 @@ rtw8821c_set_tx_power_index_by_rate(stru
- static void rtw8821c_set_tx_power_index(struct rtw_dev *rtwdev)
- {
- 	struct rtw_hal *hal = &rtwdev->hal;
-+	u32 phy_pwr_idx = 0;
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
-@@ -712,7 +713,8 @@ static void rtw8821c_set_tx_power_index(
- 			if (rs == RTW_RATE_SECTION_HT_2S ||
- 			    rs == RTW_RATE_SECTION_VHT_2S)
- 				continue;
--			rtw8821c_set_tx_power_index_by_rate(rtwdev, path, rs);
-+			rtw8821c_set_tx_power_index_by_rate(rtwdev, path, rs,
-+							    &phy_pwr_idx);
- 		}
- 	}
- }

+ 0 - 39
package/kernel/mac80211/patches/rtl/066-v6.15-wifi-rtw88-Fix-a-typo-of-debug-message-in-rtw8723d_i.patch

@@ -1,39 +0,0 @@
-From 105dc94233e48ff30e572a50fb39d7e3dec810fa Mon Sep 17 00:00:00 2001
-From: Andrew Kreimer <[email protected]>
-Date: Mon, 3 Feb 2025 20:08:27 +0200
-Subject: [PATCH] wifi: rtw88: Fix a typo of debug message in
- rtw8723d_iqk_check_tx_failed()
-
-There is a typo in debug messages:
- - afer -> after
-
-Fix it via codespell.
-
-Signed-off-by: Andrew Kreimer <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8723d.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-@@ -444,7 +444,7 @@ static u8 rtw8723d_iqk_check_tx_failed(s
- 		rtw_read32(rtwdev, REG_IQK_RES_TX),
- 		rtw_read32(rtwdev, REG_IQK_RES_TY));
- 	rtw_dbg(rtwdev, RTW_DBG_RFK,
--		"[IQK] 0xe90(before IQK)= 0x%x, 0xe98(afer IQK) = 0x%x\n",
-+		"[IQK] 0xe90(before IQK)= 0x%x, 0xe98(after IQK) = 0x%x\n",
- 		rtw_read32(rtwdev, 0xe90),
- 		rtw_read32(rtwdev, 0xe98));
- 
-@@ -472,7 +472,7 @@ static u8 rtw8723d_iqk_check_rx_failed(s
- 		rtw_read32(rtwdev, REG_IQK_RES_RY));
- 
- 	rtw_dbg(rtwdev, RTW_DBG_RFK,
--		"[IQK] 0xea0(before IQK)= 0x%x, 0xea8(afer IQK) = 0x%x\n",
-+		"[IQK] 0xea0(before IQK)= 0x%x, 0xea8(after IQK) = 0x%x\n",
- 		rtw_read32(rtwdev, 0xea0),
- 		rtw_read32(rtwdev, 0xea8));
- 

+ 0 - 46
package/kernel/mac80211/patches/rtl/069-v6.15-wifi-rtw88-Extend-struct-rtw_pwr_track_tbl-for-RTL88.patch

@@ -1,46 +0,0 @@
-From 62f726848da42554e6d270dfda17ed19bfa3456f Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 4 Feb 2025 20:38:17 +0200
-Subject: [PATCH] wifi: rtw88: Extend struct rtw_pwr_track_tbl for RTL8814AU
-
-Currently this struct has the members required for chips with 2 RF
-paths. Add more members to support chips with 4 RF paths, like the
-RTL8814AU.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.h | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -1131,14 +1131,26 @@ struct rtw_rfe_def {
-  * For 2G there are cck rate and ofdm rate with different settings.
-  */
- struct rtw_pwr_track_tbl {
-+	const u8 *pwrtrk_5gd_n[RTW_PWR_TRK_5G_NUM];
-+	const u8 *pwrtrk_5gd_p[RTW_PWR_TRK_5G_NUM];
-+	const u8 *pwrtrk_5gc_n[RTW_PWR_TRK_5G_NUM];
-+	const u8 *pwrtrk_5gc_p[RTW_PWR_TRK_5G_NUM];
- 	const u8 *pwrtrk_5gb_n[RTW_PWR_TRK_5G_NUM];
- 	const u8 *pwrtrk_5gb_p[RTW_PWR_TRK_5G_NUM];
- 	const u8 *pwrtrk_5ga_n[RTW_PWR_TRK_5G_NUM];
- 	const u8 *pwrtrk_5ga_p[RTW_PWR_TRK_5G_NUM];
-+	const u8 *pwrtrk_2gd_n;
-+	const u8 *pwrtrk_2gd_p;
-+	const u8 *pwrtrk_2gc_n;
-+	const u8 *pwrtrk_2gc_p;
- 	const u8 *pwrtrk_2gb_n;
- 	const u8 *pwrtrk_2gb_p;
- 	const u8 *pwrtrk_2ga_n;
- 	const u8 *pwrtrk_2ga_p;
-+	const u8 *pwrtrk_2g_cckd_n;
-+	const u8 *pwrtrk_2g_cckd_p;
-+	const u8 *pwrtrk_2g_cckc_n;
-+	const u8 *pwrtrk_2g_cckc_p;
- 	const u8 *pwrtrk_2g_cckb_n;
- 	const u8 *pwrtrk_2g_cckb_p;
- 	const u8 *pwrtrk_2g_ccka_n;

+ 0 - 32
package/kernel/mac80211/patches/rtl/070-v6.15-wifi-rtw88-Extend-rf_base_addr-and-rf_sipi_addr-for-.patch

@@ -1,32 +0,0 @@
-From d80e7d9b6ba38102f92559dbb647330216ea290b Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 4 Feb 2025 20:38:43 +0200
-Subject: [PATCH] wifi: rtw88: Extend rf_base_addr and rf_sipi_addr for
- RTL8814AU
-
-These members of struct rtw_chip_info each have a size of 2. Increase
-their size to 4, which is the number of RF paths the RTL8814AU has.
-
-This is required to read and write the RF registers of the RTL8814AU.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -1240,8 +1240,8 @@ struct rtw_chip_info {
- 
- 	const struct rtw_hw_reg *dig;
- 	const struct rtw_hw_reg *dig_cck;
--	u32 rf_base_addr[2];
--	u32 rf_sipi_addr[2];
-+	u32 rf_base_addr[RTW_RF_PATH_MAX];
-+	u32 rf_sipi_addr[RTW_RF_PATH_MAX];
- 	const struct rtw_rf_sipi_addr *rf_sipi_read_addr;
- 	u8 fix_rf_phy_num;
- 	const struct rtw_ltecoex_addr *ltecoex_addr;

+ 0 - 213
package/kernel/mac80211/patches/rtl/072-v6.15-wifi-rtw88-Constify-some-more-structs-and-arrays.patch

@@ -1,213 +0,0 @@
-From e66f3b5c7535bb508e9c561a047b32de4ddc1cda Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 4 Feb 2025 20:40:22 +0200
-Subject: [PATCH] wifi: rtw88: Constify some more structs and arrays
-
-These structs and arrays are never modified, so make them const:
-
-rtw_band_2ghz
-rtw_band_5ghz
-rtw_pci_tx_queue_idx_addr
-rtw_pci_ops
-rtw_cck_rates
-rtw_ofdm_rates
-rtw_ht_1s_rates
-rtw_ht_2s_rates
-rtw_vht_1s_rates
-rtw_vht_2s_rates
-rtw_rate_section
-rtw_rate_size
-rtw_sdio_ops
-rtw_usb_ops
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.c |  4 ++--
- drivers/net/wireless/realtek/rtw88/main.h |  2 +-
- drivers/net/wireless/realtek/rtw88/pci.c  |  4 ++--
- drivers/net/wireless/realtek/rtw88/phy.c  | 26 ++++++++++++++---------
- drivers/net/wireless/realtek/rtw88/phy.h  | 16 +++++++-------
- drivers/net/wireless/realtek/rtw88/sdio.c |  2 +-
- drivers/net/wireless/realtek/rtw88/usb.c  |  2 +-
- 7 files changed, 31 insertions(+), 25 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/main.c
-+++ b/drivers/net/wireless/realtek/rtw88/main.c
-@@ -136,7 +136,7 @@ u16 rtw_desc_to_bitrate(u8 desc_rate)
- 	return rate.bitrate;
- }
- 
--static struct ieee80211_supported_band rtw_band_2ghz = {
-+static const struct ieee80211_supported_band rtw_band_2ghz = {
- 	.band = NL80211_BAND_2GHZ,
- 
- 	.channels = rtw_channeltable_2g,
-@@ -149,7 +149,7 @@ static struct ieee80211_supported_band r
- 	.vht_cap = {0},
- };
- 
--static struct ieee80211_supported_band rtw_band_5ghz = {
-+static const struct ieee80211_supported_band rtw_band_5ghz = {
- 	.band = NL80211_BAND_5GHZ,
- 
- 	.channels = rtw_channeltable_5g,
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -61,7 +61,7 @@ enum rtw_hci_type {
- };
- 
- struct rtw_hci {
--	struct rtw_hci_ops *ops;
-+	const struct rtw_hci_ops *ops;
- 	enum rtw_hci_type type;
- 
- 	u32 rpwm_addr;
---- a/drivers/net/wireless/realtek/rtw88/pci.c
-+++ b/drivers/net/wireless/realtek/rtw88/pci.c
-@@ -20,7 +20,7 @@ module_param_named(disable_aspm, rtw_pci
- MODULE_PARM_DESC(disable_msi, "Set Y to disable MSI interrupt support");
- MODULE_PARM_DESC(disable_aspm, "Set Y to disable PCI ASPM support");
- 
--static u32 rtw_pci_tx_queue_idx_addr[] = {
-+static const u32 rtw_pci_tx_queue_idx_addr[] = {
- 	[RTW_TX_QUEUE_BK]	= RTK_PCI_TXBD_IDX_BKQ,
- 	[RTW_TX_QUEUE_BE]	= RTK_PCI_TXBD_IDX_BEQ,
- 	[RTW_TX_QUEUE_VI]	= RTK_PCI_TXBD_IDX_VIQ,
-@@ -1591,7 +1591,7 @@ static void rtw_pci_destroy(struct rtw_d
- 	rtw_pci_io_unmapping(rtwdev, pdev);
- }
- 
--static struct rtw_hci_ops rtw_pci_ops = {
-+static const struct rtw_hci_ops rtw_pci_ops = {
- 	.tx_write = rtw_pci_tx_write,
- 	.tx_kick_off = rtw_pci_tx_kick_off,
- 	.flush_queues = rtw_pci_flush_queues,
---- a/drivers/net/wireless/realtek/rtw88/phy.c
-+++ b/drivers/net/wireless/realtek/rtw88/phy.c
-@@ -52,44 +52,50 @@ static const u32 db_invert_table[12][8]
- 	 1995262315,	2511886432U,	3162277660U,	3981071706U}
- };
- 
--u8 rtw_cck_rates[] = { DESC_RATE1M, DESC_RATE2M, DESC_RATE5_5M, DESC_RATE11M };
--u8 rtw_ofdm_rates[] = {
-+const u8 rtw_cck_rates[] = { DESC_RATE1M, DESC_RATE2M, DESC_RATE5_5M, DESC_RATE11M };
-+
-+const u8 rtw_ofdm_rates[] = {
- 	DESC_RATE6M,  DESC_RATE9M,  DESC_RATE12M,
- 	DESC_RATE18M, DESC_RATE24M, DESC_RATE36M,
- 	DESC_RATE48M, DESC_RATE54M
- };
--u8 rtw_ht_1s_rates[] = {
-+
-+const u8 rtw_ht_1s_rates[] = {
- 	DESC_RATEMCS0, DESC_RATEMCS1, DESC_RATEMCS2,
- 	DESC_RATEMCS3, DESC_RATEMCS4, DESC_RATEMCS5,
- 	DESC_RATEMCS6, DESC_RATEMCS7
- };
--u8 rtw_ht_2s_rates[] = {
-+
-+const u8 rtw_ht_2s_rates[] = {
- 	DESC_RATEMCS8,  DESC_RATEMCS9,  DESC_RATEMCS10,
- 	DESC_RATEMCS11, DESC_RATEMCS12, DESC_RATEMCS13,
- 	DESC_RATEMCS14, DESC_RATEMCS15
- };
--u8 rtw_vht_1s_rates[] = {
-+
-+const u8 rtw_vht_1s_rates[] = {
- 	DESC_RATEVHT1SS_MCS0, DESC_RATEVHT1SS_MCS1,
- 	DESC_RATEVHT1SS_MCS2, DESC_RATEVHT1SS_MCS3,
- 	DESC_RATEVHT1SS_MCS4, DESC_RATEVHT1SS_MCS5,
- 	DESC_RATEVHT1SS_MCS6, DESC_RATEVHT1SS_MCS7,
- 	DESC_RATEVHT1SS_MCS8, DESC_RATEVHT1SS_MCS9
- };
--u8 rtw_vht_2s_rates[] = {
-+
-+const u8 rtw_vht_2s_rates[] = {
- 	DESC_RATEVHT2SS_MCS0, DESC_RATEVHT2SS_MCS1,
- 	DESC_RATEVHT2SS_MCS2, DESC_RATEVHT2SS_MCS3,
- 	DESC_RATEVHT2SS_MCS4, DESC_RATEVHT2SS_MCS5,
- 	DESC_RATEVHT2SS_MCS6, DESC_RATEVHT2SS_MCS7,
- 	DESC_RATEVHT2SS_MCS8, DESC_RATEVHT2SS_MCS9
- };
--u8 *rtw_rate_section[RTW_RATE_SECTION_MAX] = {
-+
-+const u8 * const rtw_rate_section[RTW_RATE_SECTION_MAX] = {
- 	rtw_cck_rates, rtw_ofdm_rates,
- 	rtw_ht_1s_rates, rtw_ht_2s_rates,
- 	rtw_vht_1s_rates, rtw_vht_2s_rates
- };
- EXPORT_SYMBOL(rtw_rate_section);
- 
--u8 rtw_rate_size[RTW_RATE_SECTION_MAX] = {
-+const u8 rtw_rate_size[RTW_RATE_SECTION_MAX] = {
- 	ARRAY_SIZE(rtw_cck_rates),
- 	ARRAY_SIZE(rtw_ofdm_rates),
- 	ARRAY_SIZE(rtw_ht_1s_rates),
-@@ -2214,7 +2220,7 @@ static void rtw_phy_set_tx_power_index_b
- {
- 	struct rtw_hal *hal = &rtwdev->hal;
- 	u8 regd = rtw_regd_get(rtwdev);
--	u8 *rates;
-+	const u8 *rates;
- 	u8 size;
- 	u8 rate;
- 	u8 pwr_idx;
-@@ -2274,7 +2280,7 @@ EXPORT_SYMBOL(rtw_phy_set_tx_power_level
- 
- static void
- rtw_phy_tx_power_by_rate_config_by_path(struct rtw_hal *hal, u8 path,
--					u8 rs, u8 size, u8 *rates)
-+					u8 rs, u8 size, const u8 *rates)
- {
- 	u8 rate;
- 	u8 base_idx, rate_idx;
---- a/drivers/net/wireless/realtek/rtw88/phy.h
-+++ b/drivers/net/wireless/realtek/rtw88/phy.h
-@@ -7,14 +7,14 @@
- 
- #include "debug.h"
- 
--extern u8 rtw_cck_rates[];
--extern u8 rtw_ofdm_rates[];
--extern u8 rtw_ht_1s_rates[];
--extern u8 rtw_ht_2s_rates[];
--extern u8 rtw_vht_1s_rates[];
--extern u8 rtw_vht_2s_rates[];
--extern u8 *rtw_rate_section[];
--extern u8 rtw_rate_size[];
-+extern const u8 rtw_cck_rates[];
-+extern const u8 rtw_ofdm_rates[];
-+extern const u8 rtw_ht_1s_rates[];
-+extern const u8 rtw_ht_2s_rates[];
-+extern const u8 rtw_vht_1s_rates[];
-+extern const u8 rtw_vht_2s_rates[];
-+extern const u8 * const rtw_rate_section[];
-+extern const u8 rtw_rate_size[];
- 
- void rtw_phy_init(struct rtw_dev *rtwdev);
- void rtw_phy_dynamic_mechanism(struct rtw_dev *rtwdev);
---- a/drivers/net/wireless/realtek/rtw88/sdio.c
-+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
-@@ -1147,7 +1147,7 @@ static void rtw_sdio_declaim(struct rtw_
- 	sdio_release_host(sdio_func);
- }
- 
--static struct rtw_hci_ops rtw_sdio_ops = {
-+static const struct rtw_hci_ops rtw_sdio_ops = {
- 	.tx_write = rtw_sdio_tx_write,
- 	.tx_kick_off = rtw_sdio_tx_kick_off,
- 	.setup = rtw_sdio_setup,
---- a/drivers/net/wireless/realtek/rtw88/usb.c
-+++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -881,7 +881,7 @@ static void rtw_usb_dynamic_rx_agg(struc
- 	}
- }
- 
--static struct rtw_hci_ops rtw_usb_ops = {
-+static const struct rtw_hci_ops rtw_usb_ops = {
- 	.tx_write = rtw_usb_tx_write,
- 	.tx_kick_off = rtw_usb_tx_kick_off,
- 	.setup = rtw_usb_setup,

+ 0 - 227
package/kernel/mac80211/patches/rtl/073-v6.15-wifi-rtw88-Rename-RTW_RATE_SECTION_MAX-to-RTW_RATE_S.patch

@@ -1,227 +0,0 @@
-From ad815f3920035a0c5b6ffe45bddc9fb308194b49 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 4 Feb 2025 20:40:58 +0200
-Subject: [PATCH] wifi: rtw88: Rename RTW_RATE_SECTION_MAX to
- RTW_RATE_SECTION_NUM
-
-It fits the meaning of the enum better.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.h     | 12 +++++-----
- drivers/net/wireless/realtek/rtw88/phy.c      | 24 +++++++++----------
- drivers/net/wireless/realtek/rtw88/rtw8821c.c |  2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822b.c |  2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822c.c |  2 +-
- drivers/net/wireless/realtek/rtw88/rtw88xxa.c |  2 +-
- drivers/net/wireless/realtek/rtw88/sar.c      |  2 +-
- 7 files changed, 23 insertions(+), 23 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -168,7 +168,7 @@ enum rtw_rate_section {
- 	RTW_RATE_SECTION_VHT_2S,
- 
- 	/* keep last */
--	RTW_RATE_SECTION_MAX,
-+	RTW_RATE_SECTION_NUM,
- };
- 
- enum rtw_wireless_set {
-@@ -1937,7 +1937,7 @@ union rtw_sar_cfg {
- 
- struct rtw_sar {
- 	enum rtw_sar_sources src;
--	union rtw_sar_cfg cfg[RTW_RF_PATH_MAX][RTW_RATE_SECTION_MAX];
-+	union rtw_sar_cfg cfg[RTW_RF_PATH_MAX][RTW_RATE_SECTION_NUM];
- };
- 
- struct rtw_hal {
-@@ -1981,16 +1981,16 @@ struct rtw_hal {
- 	s8 tx_pwr_by_rate_offset_5g[RTW_RF_PATH_MAX]
- 				   [DESC_RATE_MAX];
- 	s8 tx_pwr_by_rate_base_2g[RTW_RF_PATH_MAX]
--				 [RTW_RATE_SECTION_MAX];
-+				 [RTW_RATE_SECTION_NUM];
- 	s8 tx_pwr_by_rate_base_5g[RTW_RF_PATH_MAX]
--				 [RTW_RATE_SECTION_MAX];
-+				 [RTW_RATE_SECTION_NUM];
- 	s8 tx_pwr_limit_2g[RTW_REGD_MAX]
- 			  [RTW_CHANNEL_WIDTH_MAX]
--			  [RTW_RATE_SECTION_MAX]
-+			  [RTW_RATE_SECTION_NUM]
- 			  [RTW_MAX_CHANNEL_NUM_2G];
- 	s8 tx_pwr_limit_5g[RTW_REGD_MAX]
- 			  [RTW_CHANNEL_WIDTH_MAX]
--			  [RTW_RATE_SECTION_MAX]
-+			  [RTW_RATE_SECTION_NUM]
- 			  [RTW_MAX_CHANNEL_NUM_5G];
- 	s8 tx_pwr_tbl[RTW_RF_PATH_MAX]
- 		     [DESC_RATE_MAX];
---- a/drivers/net/wireless/realtek/rtw88/phy.c
-+++ b/drivers/net/wireless/realtek/rtw88/phy.c
-@@ -88,14 +88,14 @@ const u8 rtw_vht_2s_rates[] = {
- 	DESC_RATEVHT2SS_MCS8, DESC_RATEVHT2SS_MCS9
- };
- 
--const u8 * const rtw_rate_section[RTW_RATE_SECTION_MAX] = {
-+const u8 * const rtw_rate_section[RTW_RATE_SECTION_NUM] = {
- 	rtw_cck_rates, rtw_ofdm_rates,
- 	rtw_ht_1s_rates, rtw_ht_2s_rates,
- 	rtw_vht_1s_rates, rtw_vht_2s_rates
- };
- EXPORT_SYMBOL(rtw_rate_section);
- 
--const u8 rtw_rate_size[RTW_RATE_SECTION_MAX] = {
-+const u8 rtw_rate_size[RTW_RATE_SECTION_NUM] = {
- 	ARRAY_SIZE(rtw_cck_rates),
- 	ARRAY_SIZE(rtw_ofdm_rates),
- 	ARRAY_SIZE(rtw_ht_1s_rates),
-@@ -1596,7 +1596,7 @@ static void rtw_phy_set_tx_power_limit(s
- 	ch_idx = rtw_channel_to_idx(band, ch);
- 
- 	if (regd >= RTW_REGD_MAX || bw >= RTW_CHANNEL_WIDTH_MAX ||
--	    rs >= RTW_RATE_SECTION_MAX || ch_idx < 0) {
-+	    rs >= RTW_RATE_SECTION_NUM || ch_idx < 0) {
- 		WARN(1,
- 		     "wrong txpwr_lmt regd=%u, band=%u bw=%u, rs=%u, ch_idx=%u, pwr_limit=%d\n",
- 		     regd, band, bw, rs, ch_idx, pwr_limit);
-@@ -1701,7 +1701,7 @@ rtw_cfg_txpwr_lmt_by_alt(struct rtw_dev
- 	u8 bw, rs;
- 
- 	for (bw = 0; bw < RTW_CHANNEL_WIDTH_MAX; bw++)
--		for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++)
-+		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++)
- 			__cfg_txpwr_lmt_by_alt(&rtwdev->hal, regd, regd_alt,
- 					       bw, rs);
- }
-@@ -2060,7 +2060,7 @@ static u8 rtw_phy_get_5g_tx_power_index(
- 	return tx_power;
- }
- 
--/* return RTW_RATE_SECTION_MAX to indicate rate is invalid */
-+/* return RTW_RATE_SECTION_NUM to indicate rate is invalid */
- static u8 rtw_phy_rate_to_rate_section(u8 rate)
- {
- 	if (rate >= DESC_RATE1M && rate <= DESC_RATE11M)
-@@ -2076,7 +2076,7 @@ static u8 rtw_phy_rate_to_rate_section(u
- 	else if (rate >= DESC_RATEVHT2SS_MCS0 && rate <= DESC_RATEVHT2SS_MCS9)
- 		return RTW_RATE_SECTION_VHT_2S;
- 	else
--		return RTW_RATE_SECTION_MAX;
-+		return RTW_RATE_SECTION_NUM;
- }
- 
- static s8 rtw_phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
-@@ -2094,7 +2094,7 @@ static s8 rtw_phy_get_tx_power_limit(str
- 	if (regd > RTW_REGD_WW)
- 		return power_limit;
- 
--	if (rs == RTW_RATE_SECTION_MAX)
-+	if (rs == RTW_RATE_SECTION_NUM)
- 		goto err;
- 
- 	/* only 20M BW with cck and ofdm */
-@@ -2138,7 +2138,7 @@ static s8 rtw_phy_get_tx_power_sar(struc
- 		.rs = rs,
- 	};
- 
--	if (rs == RTW_RATE_SECTION_MAX)
-+	if (rs == RTW_RATE_SECTION_NUM)
- 		goto err;
- 
- 	return rtw_query_sar(rtwdev, &arg);
-@@ -2227,7 +2227,7 @@ static void rtw_phy_set_tx_power_index_b
- 	u8 bw;
- 	int i;
- 
--	if (rs >= RTW_RATE_SECTION_MAX)
-+	if (rs >= RTW_RATE_SECTION_NUM)
- 		return;
- 
- 	rates = rtw_rate_section[rs];
-@@ -2258,7 +2258,7 @@ static void rtw_phy_set_tx_power_level_b
- 	else
- 		rs = RTW_RATE_SECTION_OFDM;
- 
--	for (; rs < RTW_RATE_SECTION_MAX; rs++)
-+	for (; rs < RTW_RATE_SECTION_NUM; rs++)
- 		rtw_phy_set_tx_power_index_by_rs(rtwdev, ch, path, rs);
- }
- 
-@@ -2353,7 +2353,7 @@ void rtw_phy_tx_power_limit_config(struc
- 
- 	for (regd = 0; regd < RTW_REGD_MAX; regd++)
- 		for (bw = 0; bw < RTW_CHANNEL_WIDTH_MAX; bw++)
--			for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++)
-+			for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++)
- 				__rtw_phy_tx_power_limit_config(hal, regd, bw, rs);
- }
- 
-@@ -2389,7 +2389,7 @@ void rtw_phy_init_tx_power(struct rtw_de
- 	/* init tx power limit */
- 	for (regd = 0; regd < RTW_REGD_MAX; regd++)
- 		for (bw = 0; bw < RTW_CHANNEL_WIDTH_MAX; bw++)
--			for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++)
-+			for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++)
- 				rtw_phy_init_tx_power_limit(rtwdev, regd, bw,
- 							    rs);
- }
---- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-@@ -709,7 +709,7 @@ static void rtw8821c_set_tx_power_index(
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
--		for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++) {
-+		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++) {
- 			if (rs == RTW_RATE_SECTION_HT_2S ||
- 			    rs == RTW_RATE_SECTION_VHT_2S)
- 				continue;
---- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-@@ -964,7 +964,7 @@ static void rtw8822b_set_tx_power_index(
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
--		for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++)
-+		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++)
- 			rtw8822b_set_tx_power_index_by_rate(rtwdev, path, rs,
- 							    &phy_pwr_idx);
- 	}
---- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -2746,7 +2746,7 @@ static void rtw8822c_set_tx_power_index(
- 	s8 diff_idx[4];
- 
- 	rtw8822c_set_write_tx_power_ref(rtwdev, pwr_ref_cck, pwr_ref_ofdm);
--	for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++) {
-+	for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++) {
- 		for (j = 0; j < rtw_rate_size[rs]; j++) {
- 			rate = rtw_rate_section[rs][j];
- 			pwr_a = hal->tx_pwr_tbl[RF_PATH_A][rate];
---- a/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
-@@ -1637,7 +1637,7 @@ void rtw88xxa_set_tx_power_index(struct
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
--		for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++) {
-+		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++) {
- 			if (hal->rf_path_num == 1 &&
- 			    (rs == RTW_RATE_SECTION_HT_2S ||
- 			     rs == RTW_RATE_SECTION_VHT_2S))
---- a/drivers/net/wireless/realtek/rtw88/sar.c
-+++ b/drivers/net/wireless/realtek/rtw88/sar.c
-@@ -97,7 +97,7 @@ int rtw_set_sar_specs(struct rtw_dev *rt
- 			power, BIT(RTW_COMMON_SAR_FCT));
- 
- 		for (j = 0; j < RTW_RF_PATH_MAX; j++) {
--			for (k = 0; k < RTW_RATE_SECTION_MAX; k++) {
-+			for (k = 0; k < RTW_RATE_SECTION_NUM; k++) {
- 				arg = (struct rtw_sar_arg){
- 					.sar_band = idx,
- 					.path = j,

+ 0 - 369
package/kernel/mac80211/patches/rtl/074-v6.15-wifi-rtw88-Extend-TX-power-stuff-for-3-4-spatial-str.patch

@@ -1,369 +0,0 @@
-From 0f98a59596579b34932c06aec7d52c1e835fa1f0 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 4 Feb 2025 20:41:43 +0200
-Subject: [PATCH] wifi: rtw88: Extend TX power stuff for 3-4 spatial streams
-
-Although the RTL8814AU only has 3 spatial streams, maybe some other chip
-has 4.
-
-Correct the TX power index and TX power limit calculations for 3SS and
-4SS HT/VHT rates.
-
-With this the RTL8814AU can set the TX power correctly.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.h     |   5 +
- drivers/net/wireless/realtek/rtw88/phy.c      | 145 ++++++++++++------
- drivers/net/wireless/realtek/rtw88/phy.h      |   4 +
- drivers/net/wireless/realtek/rtw88/rtw8821c.c |   2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822b.c |   2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822c.c |   2 +-
- drivers/net/wireless/realtek/rtw88/rtw88xxa.c |   2 +-
- 7 files changed, 111 insertions(+), 51 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -166,6 +166,11 @@ enum rtw_rate_section {
- 	RTW_RATE_SECTION_HT_2S,
- 	RTW_RATE_SECTION_VHT_1S,
- 	RTW_RATE_SECTION_VHT_2S,
-+	__RTW_RATE_SECTION_2SS_MAX = RTW_RATE_SECTION_VHT_2S,
-+	RTW_RATE_SECTION_HT_3S,
-+	RTW_RATE_SECTION_HT_4S,
-+	RTW_RATE_SECTION_VHT_3S,
-+	RTW_RATE_SECTION_VHT_4S,
- 
- 	/* keep last */
- 	RTW_RATE_SECTION_NUM,
---- a/drivers/net/wireless/realtek/rtw88/phy.c
-+++ b/drivers/net/wireless/realtek/rtw88/phy.c
-@@ -88,10 +88,40 @@ const u8 rtw_vht_2s_rates[] = {
- 	DESC_RATEVHT2SS_MCS8, DESC_RATEVHT2SS_MCS9
- };
- 
-+const u8 rtw_ht_3s_rates[] = {
-+	DESC_RATEMCS16, DESC_RATEMCS17, DESC_RATEMCS18,
-+	DESC_RATEMCS19, DESC_RATEMCS20, DESC_RATEMCS21,
-+	DESC_RATEMCS22, DESC_RATEMCS23
-+};
-+
-+const u8 rtw_ht_4s_rates[] = {
-+	DESC_RATEMCS24, DESC_RATEMCS25, DESC_RATEMCS26,
-+	DESC_RATEMCS27, DESC_RATEMCS28, DESC_RATEMCS29,
-+	DESC_RATEMCS30, DESC_RATEMCS31
-+};
-+
-+const u8 rtw_vht_3s_rates[] = {
-+	DESC_RATEVHT3SS_MCS0, DESC_RATEVHT3SS_MCS1,
-+	DESC_RATEVHT3SS_MCS2, DESC_RATEVHT3SS_MCS3,
-+	DESC_RATEVHT3SS_MCS4, DESC_RATEVHT3SS_MCS5,
-+	DESC_RATEVHT3SS_MCS6, DESC_RATEVHT3SS_MCS7,
-+	DESC_RATEVHT3SS_MCS8, DESC_RATEVHT3SS_MCS9
-+};
-+
-+const u8 rtw_vht_4s_rates[] = {
-+	DESC_RATEVHT4SS_MCS0, DESC_RATEVHT4SS_MCS1,
-+	DESC_RATEVHT4SS_MCS2, DESC_RATEVHT4SS_MCS3,
-+	DESC_RATEVHT4SS_MCS4, DESC_RATEVHT4SS_MCS5,
-+	DESC_RATEVHT4SS_MCS6, DESC_RATEVHT4SS_MCS7,
-+	DESC_RATEVHT4SS_MCS8, DESC_RATEVHT4SS_MCS9
-+};
-+
- const u8 * const rtw_rate_section[RTW_RATE_SECTION_NUM] = {
- 	rtw_cck_rates, rtw_ofdm_rates,
- 	rtw_ht_1s_rates, rtw_ht_2s_rates,
--	rtw_vht_1s_rates, rtw_vht_2s_rates
-+	rtw_vht_1s_rates, rtw_vht_2s_rates,
-+	rtw_ht_3s_rates, rtw_ht_4s_rates,
-+	rtw_vht_3s_rates, rtw_vht_4s_rates
- };
- EXPORT_SYMBOL(rtw_rate_section);
- 
-@@ -101,17 +131,14 @@ const u8 rtw_rate_size[RTW_RATE_SECTION_
- 	ARRAY_SIZE(rtw_ht_1s_rates),
- 	ARRAY_SIZE(rtw_ht_2s_rates),
- 	ARRAY_SIZE(rtw_vht_1s_rates),
--	ARRAY_SIZE(rtw_vht_2s_rates)
-+	ARRAY_SIZE(rtw_vht_2s_rates),
-+	ARRAY_SIZE(rtw_ht_3s_rates),
-+	ARRAY_SIZE(rtw_ht_4s_rates),
-+	ARRAY_SIZE(rtw_vht_3s_rates),
-+	ARRAY_SIZE(rtw_vht_4s_rates)
- };
- EXPORT_SYMBOL(rtw_rate_size);
- 
--static const u8 rtw_cck_size = ARRAY_SIZE(rtw_cck_rates);
--static const u8 rtw_ofdm_size = ARRAY_SIZE(rtw_ofdm_rates);
--static const u8 rtw_ht_1s_size = ARRAY_SIZE(rtw_ht_1s_rates);
--static const u8 rtw_ht_2s_size = ARRAY_SIZE(rtw_ht_2s_rates);
--static const u8 rtw_vht_1s_size = ARRAY_SIZE(rtw_vht_1s_rates);
--static const u8 rtw_vht_2s_size = ARRAY_SIZE(rtw_vht_2s_rates);
--
- enum rtw_phy_band_type {
- 	PHY_BAND_2G	= 0,
- 	PHY_BAND_5G	= 1,
-@@ -1640,11 +1667,15 @@ rtw_xref_5g_txpwr_lmt(struct rtw_dev *rt
- static void
- rtw_xref_txpwr_lmt_by_rs(struct rtw_dev *rtwdev, u8 regd, u8 bw, u8 ch_idx)
- {
-+	static const u8 rs_cmp[4][2] = {
-+		{RTW_RATE_SECTION_HT_1S, RTW_RATE_SECTION_VHT_1S},
-+		{RTW_RATE_SECTION_HT_2S, RTW_RATE_SECTION_VHT_2S},
-+		{RTW_RATE_SECTION_HT_3S, RTW_RATE_SECTION_VHT_3S},
-+		{RTW_RATE_SECTION_HT_4S, RTW_RATE_SECTION_VHT_4S}
-+	};
- 	u8 rs_idx, rs_ht, rs_vht;
--	u8 rs_cmp[2][2] = {{RTW_RATE_SECTION_HT_1S, RTW_RATE_SECTION_VHT_1S},
--			   {RTW_RATE_SECTION_HT_2S, RTW_RATE_SECTION_VHT_2S} };
- 
--	for (rs_idx = 0; rs_idx < 2; rs_idx++) {
-+	for (rs_idx = 0; rs_idx < 4; rs_idx++) {
- 		rs_ht = rs_cmp[rs_idx][0];
- 		rs_vht = rs_cmp[rs_idx][1];
- 
-@@ -1965,10 +1996,10 @@ static u8 rtw_phy_get_2g_tx_power_index(
- 					u8 rate, u8 group)
- {
- 	const struct rtw_chip_info *chip = rtwdev->chip;
--	u8 tx_power;
--	bool mcs_rate;
--	bool above_2ss;
-+	bool above_2ss, above_3ss, above_4ss;
- 	u8 factor = chip->txgi_factor;
-+	bool mcs_rate;
-+	u8 tx_power;
- 
- 	if (rate <= DESC_RATE11M)
- 		tx_power = pwr_idx_2g->cck_base[group];
-@@ -1978,11 +2009,15 @@ static u8 rtw_phy_get_2g_tx_power_index(
- 	if (rate >= DESC_RATE6M && rate <= DESC_RATE54M)
- 		tx_power += pwr_idx_2g->ht_1s_diff.ofdm * factor;
- 
--	mcs_rate = (rate >= DESC_RATEMCS0 && rate <= DESC_RATEMCS15) ||
-+	mcs_rate = (rate >= DESC_RATEMCS0 && rate <= DESC_RATEMCS31) ||
- 		   (rate >= DESC_RATEVHT1SS_MCS0 &&
--		    rate <= DESC_RATEVHT2SS_MCS9);
--	above_2ss = (rate >= DESC_RATEMCS8 && rate <= DESC_RATEMCS15) ||
-+		    rate <= DESC_RATEVHT4SS_MCS9);
-+	above_2ss = (rate >= DESC_RATEMCS8 && rate <= DESC_RATEMCS31) ||
- 		    (rate >= DESC_RATEVHT2SS_MCS0);
-+	above_3ss = (rate >= DESC_RATEMCS16 && rate <= DESC_RATEMCS31) ||
-+		    (rate >= DESC_RATEVHT3SS_MCS0);
-+	above_4ss = (rate >= DESC_RATEMCS24 && rate <= DESC_RATEMCS31) ||
-+		    (rate >= DESC_RATEVHT4SS_MCS0);
- 
- 	if (!mcs_rate)
- 		return tx_power;
-@@ -1995,11 +2030,19 @@ static u8 rtw_phy_get_2g_tx_power_index(
- 		tx_power += pwr_idx_2g->ht_1s_diff.bw20 * factor;
- 		if (above_2ss)
- 			tx_power += pwr_idx_2g->ht_2s_diff.bw20 * factor;
-+		if (above_3ss)
-+			tx_power += pwr_idx_2g->ht_3s_diff.bw20 * factor;
-+		if (above_4ss)
-+			tx_power += pwr_idx_2g->ht_4s_diff.bw20 * factor;
- 		break;
- 	case RTW_CHANNEL_WIDTH_40:
- 		/* bw40 is the base power */
- 		if (above_2ss)
- 			tx_power += pwr_idx_2g->ht_2s_diff.bw40 * factor;
-+		if (above_3ss)
-+			tx_power += pwr_idx_2g->ht_3s_diff.bw40 * factor;
-+		if (above_4ss)
-+			tx_power += pwr_idx_2g->ht_4s_diff.bw40 * factor;
- 		break;
- 	}
- 
-@@ -2012,19 +2055,23 @@ static u8 rtw_phy_get_5g_tx_power_index(
- 					u8 rate, u8 group)
- {
- 	const struct rtw_chip_info *chip = rtwdev->chip;
--	u8 tx_power;
-+	bool above_2ss, above_3ss, above_4ss;
-+	u8 factor = chip->txgi_factor;
- 	u8 upper, lower;
- 	bool mcs_rate;
--	bool above_2ss;
--	u8 factor = chip->txgi_factor;
-+	u8 tx_power;
- 
- 	tx_power = pwr_idx_5g->bw40_base[group];
- 
--	mcs_rate = (rate >= DESC_RATEMCS0 && rate <= DESC_RATEMCS15) ||
-+	mcs_rate = (rate >= DESC_RATEMCS0 && rate <= DESC_RATEMCS31) ||
- 		   (rate >= DESC_RATEVHT1SS_MCS0 &&
--		    rate <= DESC_RATEVHT2SS_MCS9);
--	above_2ss = (rate >= DESC_RATEMCS8 && rate <= DESC_RATEMCS15) ||
-+		    rate <= DESC_RATEVHT4SS_MCS9);
-+	above_2ss = (rate >= DESC_RATEMCS8 && rate <= DESC_RATEMCS31) ||
- 		    (rate >= DESC_RATEVHT2SS_MCS0);
-+	above_3ss = (rate >= DESC_RATEMCS16 && rate <= DESC_RATEMCS31) ||
-+		    (rate >= DESC_RATEVHT3SS_MCS0);
-+	above_4ss = (rate >= DESC_RATEMCS24 && rate <= DESC_RATEMCS31) ||
-+		    (rate >= DESC_RATEVHT4SS_MCS0);
- 
- 	if (!mcs_rate) {
- 		tx_power += pwr_idx_5g->ht_1s_diff.ofdm * factor;
-@@ -2039,11 +2086,19 @@ static u8 rtw_phy_get_5g_tx_power_index(
- 		tx_power += pwr_idx_5g->ht_1s_diff.bw20 * factor;
- 		if (above_2ss)
- 			tx_power += pwr_idx_5g->ht_2s_diff.bw20 * factor;
-+		if (above_3ss)
-+			tx_power += pwr_idx_5g->ht_3s_diff.bw20 * factor;
-+		if (above_4ss)
-+			tx_power += pwr_idx_5g->ht_4s_diff.bw20 * factor;
- 		break;
- 	case RTW_CHANNEL_WIDTH_40:
- 		/* bw40 is the base power */
- 		if (above_2ss)
- 			tx_power += pwr_idx_5g->ht_2s_diff.bw40 * factor;
-+		if (above_3ss)
-+			tx_power += pwr_idx_5g->ht_3s_diff.bw40 * factor;
-+		if (above_4ss)
-+			tx_power += pwr_idx_5g->ht_4s_diff.bw40 * factor;
- 		break;
- 	case RTW_CHANNEL_WIDTH_80:
- 		/* the base idx of bw80 is the average of bw40+/bw40- */
-@@ -2054,6 +2109,10 @@ static u8 rtw_phy_get_5g_tx_power_index(
- 		tx_power += pwr_idx_5g->vht_1s_diff.bw80 * factor;
- 		if (above_2ss)
- 			tx_power += pwr_idx_5g->vht_2s_diff.bw80 * factor;
-+		if (above_3ss)
-+			tx_power += pwr_idx_5g->vht_3s_diff.bw80 * factor;
-+		if (above_4ss)
-+			tx_power += pwr_idx_5g->vht_4s_diff.bw80 * factor;
- 		break;
- 	}
- 
-@@ -2071,10 +2130,18 @@ static u8 rtw_phy_rate_to_rate_section(u
- 		return RTW_RATE_SECTION_HT_1S;
- 	else if (rate >= DESC_RATEMCS8 && rate <= DESC_RATEMCS15)
- 		return RTW_RATE_SECTION_HT_2S;
-+	else if (rate >= DESC_RATEMCS16 && rate <= DESC_RATEMCS23)
-+		return RTW_RATE_SECTION_HT_3S;
-+	else if (rate >= DESC_RATEMCS24 && rate <= DESC_RATEMCS31)
-+		return RTW_RATE_SECTION_HT_4S;
- 	else if (rate >= DESC_RATEVHT1SS_MCS0 && rate <= DESC_RATEVHT1SS_MCS9)
- 		return RTW_RATE_SECTION_VHT_1S;
- 	else if (rate >= DESC_RATEVHT2SS_MCS0 && rate <= DESC_RATEVHT2SS_MCS9)
- 		return RTW_RATE_SECTION_VHT_2S;
-+	else if (rate >= DESC_RATEVHT3SS_MCS0 && rate <= DESC_RATEVHT3SS_MCS9)
-+		return RTW_RATE_SECTION_VHT_3S;
-+	else if (rate >= DESC_RATEVHT4SS_MCS0 && rate <= DESC_RATEVHT4SS_MCS9)
-+		return RTW_RATE_SECTION_VHT_4S;
- 	else
- 		return RTW_RATE_SECTION_NUM;
- }
-@@ -2102,7 +2169,7 @@ static s8 rtw_phy_get_tx_power_limit(str
- 		bw = RTW_CHANNEL_WIDTH_20;
- 
- 	/* only 20/40M BW with ht */
--	if (rs == RTW_RATE_SECTION_HT_1S || rs == RTW_RATE_SECTION_HT_2S)
-+	if (rate >= DESC_RATEMCS0 && rate <= DESC_RATEMCS31)
- 		bw = min_t(u8, bw, RTW_CHANNEL_WIDTH_40);
- 
- 	/* select min power limit among [20M BW ~ current BW] */
-@@ -2286,7 +2353,7 @@ rtw_phy_tx_power_by_rate_config_by_path(
- 	u8 base_idx, rate_idx;
- 	s8 base_2g, base_5g;
- 
--	if (rs >= RTW_RATE_SECTION_VHT_1S)
-+	if (size == 10) /* VHT rates */
- 		base_idx = rates[size - 3];
- 	else
- 		base_idx = rates[size - 1];
-@@ -2303,28 +2370,12 @@ rtw_phy_tx_power_by_rate_config_by_path(
- 
- void rtw_phy_tx_power_by_rate_config(struct rtw_hal *hal)
- {
--	u8 path;
-+	u8 path, rs;
- 
--	for (path = 0; path < RTW_RF_PATH_MAX; path++) {
--		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
--				RTW_RATE_SECTION_CCK,
--				rtw_cck_size, rtw_cck_rates);
--		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
--				RTW_RATE_SECTION_OFDM,
--				rtw_ofdm_size, rtw_ofdm_rates);
--		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
--				RTW_RATE_SECTION_HT_1S,
--				rtw_ht_1s_size, rtw_ht_1s_rates);
--		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
--				RTW_RATE_SECTION_HT_2S,
--				rtw_ht_2s_size, rtw_ht_2s_rates);
--		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
--				RTW_RATE_SECTION_VHT_1S,
--				rtw_vht_1s_size, rtw_vht_1s_rates);
--		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
--				RTW_RATE_SECTION_VHT_2S,
--				rtw_vht_2s_size, rtw_vht_2s_rates);
--	}
-+	for (path = 0; path < RTW_RF_PATH_MAX; path++)
-+		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++)
-+			rtw_phy_tx_power_by_rate_config_by_path(hal, path, rs,
-+				rtw_rate_size[rs], rtw_rate_section[rs]);
- }
- 
- static void
---- a/drivers/net/wireless/realtek/rtw88/phy.h
-+++ b/drivers/net/wireless/realtek/rtw88/phy.h
-@@ -13,6 +13,10 @@ extern const u8 rtw_ht_1s_rates[];
- extern const u8 rtw_ht_2s_rates[];
- extern const u8 rtw_vht_1s_rates[];
- extern const u8 rtw_vht_2s_rates[];
-+extern const u8 rtw_ht_3s_rates[];
-+extern const u8 rtw_ht_4s_rates[];
-+extern const u8 rtw_vht_3s_rates[];
-+extern const u8 rtw_vht_4s_rates[];
- extern const u8 * const rtw_rate_section[];
- extern const u8 rtw_rate_size[];
- 
---- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-@@ -709,7 +709,7 @@ static void rtw8821c_set_tx_power_index(
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
--		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++) {
-+		for (rs = 0; rs <= __RTW_RATE_SECTION_2SS_MAX; rs++) {
- 			if (rs == RTW_RATE_SECTION_HT_2S ||
- 			    rs == RTW_RATE_SECTION_VHT_2S)
- 				continue;
---- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-@@ -964,7 +964,7 @@ static void rtw8822b_set_tx_power_index(
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
--		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++)
-+		for (rs = 0; rs <= __RTW_RATE_SECTION_2SS_MAX; rs++)
- 			rtw8822b_set_tx_power_index_by_rate(rtwdev, path, rs,
- 							    &phy_pwr_idx);
- 	}
---- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -2746,7 +2746,7 @@ static void rtw8822c_set_tx_power_index(
- 	s8 diff_idx[4];
- 
- 	rtw8822c_set_write_tx_power_ref(rtwdev, pwr_ref_cck, pwr_ref_ofdm);
--	for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++) {
-+	for (rs = 0; rs <= __RTW_RATE_SECTION_2SS_MAX; rs++) {
- 		for (j = 0; j < rtw_rate_size[rs]; j++) {
- 			rate = rtw_rate_section[rs][j];
- 			pwr_a = hal->tx_pwr_tbl[RF_PATH_A][rate];
---- a/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw88xxa.c
-@@ -1637,7 +1637,7 @@ void rtw88xxa_set_tx_power_index(struct
- 	int rs, path;
- 
- 	for (path = 0; path < hal->rf_path_num; path++) {
--		for (rs = 0; rs < RTW_RATE_SECTION_NUM; rs++) {
-+		for (rs = 0; rs <= __RTW_RATE_SECTION_2SS_MAX; rs++) {
- 			if (hal->rf_path_num == 1 &&
- 			    (rs == RTW_RATE_SECTION_HT_2S ||
- 			     rs == RTW_RATE_SECTION_VHT_2S))

+ 0 - 54
package/kernel/mac80211/patches/rtl/081-v6.15-wifi-rtw88-Fix-rtw_rx_phy_stat-for-RTL8814AU.patch

@@ -1,54 +0,0 @@
-From 053a7aace0207593776c729f229d87f1be464b98 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 18 Feb 2025 01:31:13 +0200
-Subject: [PATCH] wifi: rtw88: Fix rtw_rx_phy_stat() for RTL8814AU
-
-Record statistics for the 3SS rates too.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.h | 7 +++++++
- drivers/net/wireless/realtek/rtw88/rx.c   | 6 ++++++
- 2 files changed, 13 insertions(+)
-
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -386,6 +386,9 @@ enum rtw_evm {
- 	RTW_EVM_1SS,
- 	RTW_EVM_2SS_A,
- 	RTW_EVM_2SS_B,
-+	RTW_EVM_3SS_A,
-+	RTW_EVM_3SS_B,
-+	RTW_EVM_3SS_C,
- 	/* keep it last */
- 	RTW_EVM_NUM
- };
-@@ -403,6 +406,10 @@ enum rtw_snr {
- 	RTW_SNR_2SS_B,
- 	RTW_SNR_2SS_C,
- 	RTW_SNR_2SS_D,
-+	RTW_SNR_3SS_A,
-+	RTW_SNR_3SS_B,
-+	RTW_SNR_3SS_C,
-+	RTW_SNR_3SS_D,
- 	/* keep it last */
- 	RTW_SNR_NUM
- };
---- a/drivers/net/wireless/realtek/rtw88/rx.c
-+++ b/drivers/net/wireless/realtek/rtw88/rx.c
-@@ -73,6 +73,12 @@ static void rtw_rx_phy_stat(struct rtw_d
- 		rate_ss_evm = 2;
- 		evm_id = RTW_EVM_2SS_A;
- 		break;
-+	case DESC_RATEMCS16...DESC_RATEMCS23:
-+	case DESC_RATEVHT3SS_MCS0...DESC_RATEVHT3SS_MCS9:
-+		rate_ss = 3;
-+		rate_ss_evm = 3;
-+		evm_id = RTW_EVM_3SS_A;
-+		break;
- 	default:
- 		rtw_warn(rtwdev, "unknown pkt rate = %d\n", pkt_stat->rate);
- 		return;

+ 0 - 75
package/kernel/mac80211/patches/rtl/082-v6.15-wifi-rtw88-Extend-rtw_phy_config_swing_table-for-RTL.patch

@@ -1,75 +0,0 @@
-From 8b42c46cf6656ef3c2f6d1ec0f113753c6875712 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 18 Feb 2025 01:31:51 +0200
-Subject: [PATCH] wifi: rtw88: Extend rtw_phy_config_swing_table() for
- RTL8814AU
-
-Select the TX power tracking tables for RF paths C and D as well.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/phy.c | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
---- a/drivers/net/wireless/realtek/rtw88/phy.c
-+++ b/drivers/net/wireless/realtek/rtw88/phy.c
-@@ -2458,32 +2458,56 @@ void rtw_phy_config_swing_table(struct r
- 			swing_table->n[RF_PATH_A] = tbl->pwrtrk_2g_ccka_n;
- 			swing_table->p[RF_PATH_B] = tbl->pwrtrk_2g_cckb_p;
- 			swing_table->n[RF_PATH_B] = tbl->pwrtrk_2g_cckb_n;
-+			swing_table->p[RF_PATH_C] = tbl->pwrtrk_2g_cckc_p;
-+			swing_table->n[RF_PATH_C] = tbl->pwrtrk_2g_cckc_n;
-+			swing_table->p[RF_PATH_D] = tbl->pwrtrk_2g_cckd_p;
-+			swing_table->n[RF_PATH_D] = tbl->pwrtrk_2g_cckd_n;
- 		} else {
- 			swing_table->p[RF_PATH_A] = tbl->pwrtrk_2ga_p;
- 			swing_table->n[RF_PATH_A] = tbl->pwrtrk_2ga_n;
- 			swing_table->p[RF_PATH_B] = tbl->pwrtrk_2gb_p;
- 			swing_table->n[RF_PATH_B] = tbl->pwrtrk_2gb_n;
-+			swing_table->p[RF_PATH_C] = tbl->pwrtrk_2gc_p;
-+			swing_table->n[RF_PATH_C] = tbl->pwrtrk_2gc_n;
-+			swing_table->p[RF_PATH_D] = tbl->pwrtrk_2gd_p;
-+			swing_table->n[RF_PATH_D] = tbl->pwrtrk_2gd_n;
- 		}
- 	} else if (IS_CH_5G_BAND_1(channel) || IS_CH_5G_BAND_2(channel)) {
- 		swing_table->p[RF_PATH_A] = tbl->pwrtrk_5ga_p[RTW_PWR_TRK_5G_1];
- 		swing_table->n[RF_PATH_A] = tbl->pwrtrk_5ga_n[RTW_PWR_TRK_5G_1];
- 		swing_table->p[RF_PATH_B] = tbl->pwrtrk_5gb_p[RTW_PWR_TRK_5G_1];
- 		swing_table->n[RF_PATH_B] = tbl->pwrtrk_5gb_n[RTW_PWR_TRK_5G_1];
-+		swing_table->p[RF_PATH_C] = tbl->pwrtrk_5gc_p[RTW_PWR_TRK_5G_1];
-+		swing_table->n[RF_PATH_C] = tbl->pwrtrk_5gc_n[RTW_PWR_TRK_5G_1];
-+		swing_table->p[RF_PATH_D] = tbl->pwrtrk_5gd_p[RTW_PWR_TRK_5G_1];
-+		swing_table->n[RF_PATH_D] = tbl->pwrtrk_5gd_n[RTW_PWR_TRK_5G_1];
- 	} else if (IS_CH_5G_BAND_3(channel)) {
- 		swing_table->p[RF_PATH_A] = tbl->pwrtrk_5ga_p[RTW_PWR_TRK_5G_2];
- 		swing_table->n[RF_PATH_A] = tbl->pwrtrk_5ga_n[RTW_PWR_TRK_5G_2];
- 		swing_table->p[RF_PATH_B] = tbl->pwrtrk_5gb_p[RTW_PWR_TRK_5G_2];
- 		swing_table->n[RF_PATH_B] = tbl->pwrtrk_5gb_n[RTW_PWR_TRK_5G_2];
-+		swing_table->p[RF_PATH_C] = tbl->pwrtrk_5gc_p[RTW_PWR_TRK_5G_2];
-+		swing_table->n[RF_PATH_C] = tbl->pwrtrk_5gc_n[RTW_PWR_TRK_5G_2];
-+		swing_table->p[RF_PATH_D] = tbl->pwrtrk_5gd_p[RTW_PWR_TRK_5G_2];
-+		swing_table->n[RF_PATH_D] = tbl->pwrtrk_5gd_n[RTW_PWR_TRK_5G_2];
- 	} else if (IS_CH_5G_BAND_4(channel)) {
- 		swing_table->p[RF_PATH_A] = tbl->pwrtrk_5ga_p[RTW_PWR_TRK_5G_3];
- 		swing_table->n[RF_PATH_A] = tbl->pwrtrk_5ga_n[RTW_PWR_TRK_5G_3];
- 		swing_table->p[RF_PATH_B] = tbl->pwrtrk_5gb_p[RTW_PWR_TRK_5G_3];
- 		swing_table->n[RF_PATH_B] = tbl->pwrtrk_5gb_n[RTW_PWR_TRK_5G_3];
-+		swing_table->p[RF_PATH_C] = tbl->pwrtrk_5gc_p[RTW_PWR_TRK_5G_3];
-+		swing_table->n[RF_PATH_C] = tbl->pwrtrk_5gc_n[RTW_PWR_TRK_5G_3];
-+		swing_table->p[RF_PATH_D] = tbl->pwrtrk_5gd_p[RTW_PWR_TRK_5G_3];
-+		swing_table->n[RF_PATH_D] = tbl->pwrtrk_5gd_n[RTW_PWR_TRK_5G_3];
- 	} else {
- 		swing_table->p[RF_PATH_A] = tbl->pwrtrk_2ga_p;
- 		swing_table->n[RF_PATH_A] = tbl->pwrtrk_2ga_n;
- 		swing_table->p[RF_PATH_B] = tbl->pwrtrk_2gb_p;
- 		swing_table->n[RF_PATH_B] = tbl->pwrtrk_2gb_n;
-+		swing_table->p[RF_PATH_C] = tbl->pwrtrk_2gc_p;
-+		swing_table->n[RF_PATH_C] = tbl->pwrtrk_2gc_n;
-+		swing_table->p[RF_PATH_D] = tbl->pwrtrk_2gd_p;
-+		swing_table->n[RF_PATH_D] = tbl->pwrtrk_2gd_n;
- 	}
- }
- EXPORT_SYMBOL(rtw_phy_config_swing_table);

+ 0 - 86
package/kernel/mac80211/patches/rtl/083-v6.15-wifi-rtw88-Extend-rtw_debugfs_get_phy_info-for-RTL88.patch

@@ -1,86 +0,0 @@
-From cfebabdd351e9cbafdc99cb198db482208ec5ad9 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 18 Feb 2025 01:32:15 +0200
-Subject: [PATCH] wifi: rtw88: Extend rtw_debugfs_get_phy_info() for RTL8814AU
-
-Print information about the 3rd and 4th RF paths and about the 3rd
-spatial stream.
-
-Also, fix a small bug: don't show the average SNR and EVM for the OFDM
-and HT/VHT rates when the rate is actually CCK 11M.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/debug.c | 37 +++++++++++++++-------
- 1 file changed, 26 insertions(+), 11 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/debug.c
-+++ b/drivers/net/wireless/realtek/rtw88/debug.c
-@@ -654,10 +654,10 @@ static void rtw_print_rate(struct seq_fi
- 	case DESC_RATE6M...DESC_RATE54M:
- 		rtw_print_ofdm_rate_txt(m, rate);
- 		break;
--	case DESC_RATEMCS0...DESC_RATEMCS15:
-+	case DESC_RATEMCS0...DESC_RATEMCS31:
- 		rtw_print_ht_rate_txt(m, rate);
- 		break;
--	case DESC_RATEVHT1SS_MCS0...DESC_RATEVHT2SS_MCS9:
-+	case DESC_RATEVHT1SS_MCS0...DESC_RATEVHT4SS_MCS9:
- 		rtw_print_vht_rate_txt(m, rate);
- 		break;
- 	default:
-@@ -849,20 +849,28 @@ static int rtw_debugfs_get_phy_info(stru
- 			   last_cnt->num_qry_pkt[rate_id + 9]);
- 	}
- 
--	seq_printf(m, "[RSSI(dBm)] = {%d, %d}\n",
-+	seq_printf(m, "[RSSI(dBm)] = {%d, %d, %d, %d}\n",
- 		   dm_info->rssi[RF_PATH_A] - 100,
--		   dm_info->rssi[RF_PATH_B] - 100);
--	seq_printf(m, "[Rx EVM(dB)] = {-%d, -%d}\n",
-+		   dm_info->rssi[RF_PATH_B] - 100,
-+		   dm_info->rssi[RF_PATH_C] - 100,
-+		   dm_info->rssi[RF_PATH_D] - 100);
-+	seq_printf(m, "[Rx EVM(dB)] = {-%d, -%d, -%d, -%d}\n",
- 		   dm_info->rx_evm_dbm[RF_PATH_A],
--		   dm_info->rx_evm_dbm[RF_PATH_B]);
--	seq_printf(m, "[Rx SNR] = {%d, %d}\n",
-+		   dm_info->rx_evm_dbm[RF_PATH_B],
-+		   dm_info->rx_evm_dbm[RF_PATH_C],
-+		   dm_info->rx_evm_dbm[RF_PATH_D]);
-+	seq_printf(m, "[Rx SNR] = {%d, %d, %d, %d}\n",
- 		   dm_info->rx_snr[RF_PATH_A],
--		   dm_info->rx_snr[RF_PATH_B]);
--	seq_printf(m, "[CFO_tail(KHz)] = {%d, %d}\n",
-+		   dm_info->rx_snr[RF_PATH_B],
-+		   dm_info->rx_snr[RF_PATH_C],
-+		   dm_info->rx_snr[RF_PATH_D]);
-+	seq_printf(m, "[CFO_tail(KHz)] = {%d, %d, %d, %d}\n",
- 		   dm_info->cfo_tail[RF_PATH_A],
--		   dm_info->cfo_tail[RF_PATH_B]);
-+		   dm_info->cfo_tail[RF_PATH_B],
-+		   dm_info->cfo_tail[RF_PATH_C],
-+		   dm_info->cfo_tail[RF_PATH_D]);
- 
--	if (dm_info->curr_rx_rate >= DESC_RATE11M) {
-+	if (dm_info->curr_rx_rate >= DESC_RATE6M) {
- 		seq_puts(m, "[Rx Average Status]:\n");
- 		seq_printf(m, " * OFDM, EVM: {-%d}, SNR: {%d}\n",
- 			   (u8)ewma_evm_read(&ewma_evm[RTW_EVM_OFDM]),
-@@ -875,6 +883,13 @@ static int rtw_debugfs_get_phy_info(stru
- 			   (u8)ewma_evm_read(&ewma_evm[RTW_EVM_2SS_B]),
- 			   (u8)ewma_snr_read(&ewma_snr[RTW_SNR_2SS_A]),
- 			   (u8)ewma_snr_read(&ewma_snr[RTW_SNR_2SS_B]));
-+		seq_printf(m, " * 3SS, EVM: {-%d, -%d, -%d}, SNR: {%d, %d, %d}\n",
-+			   (u8)ewma_evm_read(&ewma_evm[RTW_EVM_3SS_A]),
-+			   (u8)ewma_evm_read(&ewma_evm[RTW_EVM_3SS_B]),
-+			   (u8)ewma_evm_read(&ewma_evm[RTW_EVM_3SS_C]),
-+			   (u8)ewma_snr_read(&ewma_snr[RTW_SNR_3SS_A]),
-+			   (u8)ewma_snr_read(&ewma_snr[RTW_SNR_3SS_B]),
-+			   (u8)ewma_snr_read(&ewma_snr[RTW_SNR_3SS_C]));
- 	}
- 
- 	seq_puts(m, "[Rx Counter]:\n");

+ 0 - 65
package/kernel/mac80211/patches/rtl/084-v6.15-wifi-rtw88-Extend-rtw_debugfs_get_tx_pwr_tbl-for-RTL.patch

@@ -1,65 +0,0 @@
-From c374281f828545b3698cf936b584249c2f9e40c5 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Tue, 18 Feb 2025 01:32:49 +0200
-Subject: [PATCH] wifi: rtw88: Extend rtw_debugfs_get_tx_pwr_tbl() for
- RTL8814AU
-
-Make it print the TX power details for all RF paths, not just A and B,
-and for all the rates supported by the chip, not just 1SS and 2SS
-rates.
-
-Also skip the RF paths and rates not supported by the chip.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/debug.c | 20 +++++++++++++-------
- 1 file changed, 13 insertions(+), 7 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/debug.c
-+++ b/drivers/net/wireless/realtek/rtw88/debug.c
-@@ -692,9 +692,11 @@ static int rtw_debugfs_get_tx_pwr_tbl(st
- {
- 	struct rtw_debugfs_priv *debugfs_priv = m->private;
- 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
-+	struct rtw_power_params pwr_param = {0};
- 	struct rtw_hal *hal = &rtwdev->hal;
-+	u8 nss = rtwdev->efuse.hw_cap.nss;
- 	u8 path, rate, bw, ch, regd;
--	struct rtw_power_params pwr_param = {0};
-+	u8 max_ht_rate, max_rate;
- 
- 	mutex_lock(&rtwdev->mutex);
- 	bw = hal->current_band_width;
-@@ -707,19 +709,23 @@ static int rtw_debugfs_get_tx_pwr_tbl(st
- 	seq_printf(m, "%-4s %-10s %-9s %-9s (%-4s %-4s %-4s) %-4s\n",
- 		   "path", "rate", "pwr", "base", "byr", "lmt", "sar", "rem");
- 
-+	max_ht_rate = DESC_RATEMCS0 + nss * 8 - 1;
-+
-+	if (rtwdev->chip->vht_supported)
-+		max_rate = DESC_RATEVHT1SS_MCS0 + nss * 10 - 1;
-+	else
-+		max_rate = max_ht_rate;
-+
- 	mutex_lock(&hal->tx_power_mutex);
--	for (path = RF_PATH_A; path <= RF_PATH_B; path++) {
-+	for (path = RF_PATH_A; path < hal->rf_path_num; path++) {
- 		/* there is no CCK rates used in 5G */
- 		if (hal->current_band_type == RTW_BAND_5G)
- 			rate = DESC_RATE6M;
- 		else
- 			rate = DESC_RATE1M;
- 
--		/* now, not support vht 3ss and vht 4ss*/
--		for (; rate <= DESC_RATEVHT2SS_MCS9; rate++) {
--			/* now, not support ht 3ss and ht 4ss*/
--			if (rate > DESC_RATEMCS15 &&
--			    rate < DESC_RATEVHT1SS_MCS0)
-+		for (; rate <= max_rate; rate++) {
-+			if (rate > max_ht_rate && rate <= DESC_RATEMCS31)
- 				continue;
- 
- 			rtw_get_tx_power_params(rtwdev, path, rate, bw,

+ 0 - 200
package/kernel/mac80211/patches/rtl/085-v6.15-wifi-rtw88-Add-some-definitions-for-RTL8814AU.patch

@@ -1,200 +0,0 @@
-From 679ec431477cdb68d1cab068c008da0de7f842ef Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:22:17 +0200
-Subject: [PATCH] wifi: rtw88: Add some definitions for RTL8814AU
-
-Add various register definitions which will be used by the new driver.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/reg.h | 66 ++++++++++++++++++++++--
- 1 file changed, 62 insertions(+), 4 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/reg.h
-+++ b/drivers/net/wireless/realtek/rtw88/reg.h
-@@ -8,6 +8,7 @@
- #define REG_SYS_FUNC_EN		0x0002
- #define BIT_FEN_EN_25_1		BIT(13)
- #define BIT_FEN_ELDR		BIT(12)
-+#define BIT_FEN_PCIEA		BIT(6)
- #define BIT_FEN_CPUEN		BIT(2)
- #define BIT_FEN_USBA		BIT(2)
- #define BIT_FEN_BB_GLB_RST	BIT(1)
-@@ -39,6 +40,9 @@
- #define BIT_RF_RSTB		BIT(1)
- #define BIT_RF_EN		BIT(0)
- 
-+#define REG_RF_CTRL1		0x0020
-+#define REG_RF_CTRL2		0x0021
-+
- #define REG_AFE_CTRL1		0x0024
- #define BIT_MAC_CLK_SEL		(BIT(20) | BIT(21))
- #define REG_EFUSE_CTRL		0x0030
-@@ -73,6 +77,8 @@
- #define BIT_BT_PTA_EN		BIT(5)
- #define BIT_WLRFE_4_5_EN	BIT(2)
- 
-+#define REG_GPIO_PIN_CTRL	0x0044
-+
- #define REG_LED_CFG		0x004C
- #define BIT_LNAON_SEL_EN	BIT(26)
- #define BIT_PAPE_SEL_EN		BIT(25)
-@@ -110,6 +116,7 @@
- #define BIT_SDIO_PAD_E5		BIT(18)
- 
- #define REG_RF_B_CTRL		0x76
-+#define REG_RF_CTRL3		0x0076
- 
- #define REG_AFE_CTRL_4		0x0078
- #define BIT_CK320M_AFE_EN	BIT(4)
-@@ -603,15 +610,25 @@
- #define REG_CCA2ND		0x0838
- #define REG_L1PKTH		0x0848
- #define REG_CLKTRK		0x0860
-+#define REG_CSI_MASK_SETTING1	0x0874
-+#define REG_NBI_SETTING		0x087c
-+#define BIT_NBI_ENABLE		BIT(13)
-+#define REG_CSI_FIX_MASK0	0x0880
-+#define REG_CSI_FIX_MASK1	0x0884
-+#define REG_CSI_FIX_MASK6	0x0898
-+#define REG_CSI_FIX_MASK7	0x089c
- #define REG_ADCCLK		0x08AC
- #define REG_HSSI_READ		0x08B0
- #define REG_FPGA0_XCD_RF_PARA	0x08B4
- #define REG_RX_MCS_LIMIT	0x08BC
- #define REG_ADC160		0x08C4
-+#define REG_DBGSEL		0x08fc
- #define REG_ANTSEL_SW		0x0900
- #define REG_DAC_RSTB		0x090c
-+#define REG_PSD			0x0910
-+#define BIT_PSD_INI		GENMASK(23, 22)
- #define REG_SINGLE_TONE_CONT_TX	0x0914
--
-+#define REG_AGC_TABLE		0x0958
- #define REG_RFE_CTRL_E		0x0974
- #define REG_2ND_CCA_CTRL	0x0976
- #define REG_IQK_COM00		0x0978
-@@ -621,10 +638,18 @@
- 
- #define REG_FAS			0x09a4
- #define REG_RXSB		0x0a00
-+#define BIT_RXSB_ANA_DIV	BIT(15)
- #define REG_CCK_RX		0x0a04
- #define REG_CCK_PD_TH		0x0a0a
--
--#define REG_CCK0_FAREPORT	0xa2c
-+#define REG_PRECTRL		0x0a14
-+#define BIT_DIS_CO_PATHSEL	BIT(7)
-+#define BIT_IQ_WGT		GENMASK(9, 8)
-+#define REG_CCA_MF		0x0a20
-+#define BIT_MBC_WIN		GENMASK(5, 4)
-+#define REG_CCK0_TX_FILTER1	0x0a20
-+#define REG_CCK0_TX_FILTER2	0x0a24
-+#define REG_CCK0_DEBUG_PORT	0x0a28
-+#define REG_CCK0_FAREPORT	0x0a2c
- #define BIT_CCK0_2RX		BIT(18)
- #define BIT_CCK0_MRC		BIT(22)
- #define REG_FA_CCK		0x0a5c
-@@ -643,10 +668,18 @@
- #define DIS_DPD_RATEVHT2SS_MCS1	BIT(9)
- #define DIS_DPD_RATEALL		GENMASK(9, 0)
- 
-+#define REG_CCA			0x0a70
-+#define BIT_CCA_CO		BIT(7)
-+#define REG_ANTSEL		0x0a74
-+#define BIT_ANT_BYCO		BIT(8)
-+#define REG_CCKTX		0x0a84
-+#define BIT_CMB_CCA_2R		BIT(28)
-+
- #define REG_CNTRST		0x0b58
- 
- #define REG_3WIRE_SWA		0x0c00
- #define REG_RX_IQC_AB_A		0x0c10
-+#define REG_RX_IQC_CD_A		0x0c14
- #define REG_TXSCALE_A		0x0c1c
- #define BB_SWING_MASK		GENMASK(31, 21)
- #define REG_TX_AGC_A_CCK_11_CCK_1		0xc20
-@@ -674,7 +707,7 @@
- #define REG_LSSI_WRITE_A	0x0c90
- #define REG_PREDISTA		0x0c90
- #define REG_TXAGCIDX		0x0c94
--
-+#define REG_TX_AGC_A		0x0c94
- #define REG_RFE_PINMUX_A	0x0cb0
- #define REG_RFE_INV_A		0x0cb4
- #define REG_RFE_CTRL8		0x0cb4
-@@ -683,6 +716,7 @@
- #define DPDT_CTRL_PIN		0x77
- #define RFE_INV_MASK		0x3ff00000
- #define REG_RFECTL_A		0x0cb8
-+#define REG_RFE_INV0		0x0cbc
- #define REG_RFE_INV8		0x0cbd
- #define BIT_MASK_RFE_INV89	GENMASK(1, 0)
- #define REG_RFE_INV16		0x0cbe
-@@ -703,6 +737,7 @@
- 
- #define REG_3WIRE_SWB		0x0e00
- #define REG_RX_IQC_AB_B		0x0e10
-+#define REG_RX_IQC_CD_B		0x0e14
- #define REG_TXSCALE_B		0x0e1c
- #define REG_TX_AGC_B_CCK_11_CCK_1		0xe20
- #define REG_TX_AGC_B_OFDM18_OFDM6		0xe24
-@@ -729,6 +764,7 @@
- #define REG_LSSI_WRITE_B	0x0e90
- #define REG_PREDISTB		0x0e90
- #define REG_INIDLYB		0x0e94
-+#define REG_TX_AGC_B		0x0e94
- #define REG_RFE_PINMUX_B	0x0eb0
- #define REG_RFE_INV_B		0x0eb4
- #define REG_RFECTL_B		0x0eb8
-@@ -744,8 +780,11 @@
- #define REG_CRC_HT		0x0f10
- #define REG_CRC_OFDM		0x0f14
- #define REG_FA_OFDM		0x0f48
-+#define REG_DBGRPT		0x0fa0
- #define REG_CCA_CCK		0x0fcc
- 
-+#define REG_SYS_CFG3_8814A	0x1000
-+
- #define REG_ANAPARSW_MAC_0	0x1010
- #define BIT_CF_L_V2		GENMASK(29, 28)
- 
-@@ -863,9 +902,27 @@
- #define LTECOEX_WRITE_DATA REG_WL2LTECOEX_INDIRECT_ACCESS_WRITE_DATA_V1
- #define LTECOEX_READ_DATA REG_WL2LTECOEX_INDIRECT_ACCESS_READ_DATA_V1
- 
-+#define REG_RX_IQC_AB_C		0x1810
-+#define REG_RX_IQC_CD_C		0x1814
-+#define REG_TXSCALE_C		0x181c
-+#define REG_CK_MONHC		0x185c
-+#define REG_AFE_PWR1_C		0x1860
- #define REG_IGN_GNT_BT1	0x1860
-+#define REG_TX_AGC_C		0x1894
-+#define REG_RFE_PINMUX_C	0x18b4
- 
- #define REG_RFESEL_CTRL	0x1990
-+#define REG_AGC_TBL		0x1998
-+
-+#define REG_RX_IQC_AB_D		0x1a10
-+#define REG_RX_IQC_CD_D		0x1a14
-+#define REG_TXSCALE_D		0x1a1c
-+#define REG_CK_MONHD		0x1a5c
-+#define REG_AFE_PWR1_D		0x1a60
-+#define REG_TX_AGC_D		0x1a94
-+#define REG_RFE_PINMUX_D	0x1ab4
-+#define REG_RFE_INVSEL_D	0x1abc
-+#define BIT_RFE_SELSW0_D	GENMASK(27, 20)
- 
- #define REG_NOMASK_TXBT	0x1ca7
- #define REG_ANAPAR	0x1c30
-@@ -906,6 +963,7 @@
- #define RF18_BAND_MASK	(BIT(16) | BIT(9) | BIT(8))
- #define RF18_CHANNEL_MASK	(MASKBYTE0)
- #define RF18_RFSI_MASK	(BIT(18) | BIT(17))
-+#define RF_RCK1_V1	0x1c
- #define RF_RCK		0x1d
- #define RF_MODE_TABLE_ADDR	0x30
- #define RF_MODE_TABLE_DATA0	0x31

+ 0 - 12573
package/kernel/mac80211/patches/rtl/086-v6.15-wifi-rtw88-Add-rtw8814a_table.c-part-1-2.patch

@@ -1,12573 +0,0 @@
-From f4debfcb1b3c14a28ec157a41e0b98be72e554a0 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:23:22 +0200
-Subject: [PATCH] wifi: rtw88: Add rtw8814a_table.c (part 1/2)
-
-This contains various tables for initialising the RTL8814A, plus TX
-power limits.
-
-Split into two patches because they are big.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- .../wireless/realtek/rtw88/rtw8814a_table.c   | 12551 ++++++++++++++++
- 1 file changed, 12551 insertions(+)
- create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8814a_table.c
-
---- /dev/null
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a_table.c
-@@ -0,0 +1,12551 @@
-+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
-+/* Copyright(c) 2025  Realtek Corporation
-+ */
-+
-+#include "main.h"
-+#include "phy.h"
-+#include "rtw8814a_table.h"
-+
-+static const u32 rtw8814a_mac[] = {
-+	0x010, 0x0000007C,
-+	0x014, 0x000000DB,
-+	0x016, 0x00000002,
-+	0x073, 0x00000010,
-+	0x420, 0x00000080,
-+	0x421, 0x0000000F,
-+	0x428, 0x0000000A,
-+	0x429, 0x00000010,
-+	0x430, 0x00000000,
-+	0x431, 0x00000000,
-+	0x432, 0x00000000,
-+	0x433, 0x00000001,
-+	0x434, 0x00000004,
-+	0x435, 0x00000005,
-+	0x436, 0x00000007,
-+	0x437, 0x00000008,
-+	0x43C, 0x00000004,
-+	0x43D, 0x00000005,
-+	0x43E, 0x00000007,
-+	0x43F, 0x00000008,
-+	0x440, 0x0000005D,
-+	0x441, 0x00000001,
-+	0x442, 0x00000000,
-+	0x444, 0x00000010,
-+	0x445, 0x000000F0,
-+	0x446, 0x00000001,
-+	0x447, 0x000000FE,
-+	0x448, 0x00000000,
-+	0x449, 0x00000000,
-+	0x44A, 0x00000000,
-+	0x44B, 0x00000040,
-+	0x44C, 0x00000010,
-+	0x44D, 0x000000F0,
-+	0x44E, 0x0000003F,
-+	0x44F, 0x00000000,
-+	0x450, 0x00000000,
-+	0x451, 0x00000000,
-+	0x452, 0x00000000,
-+	0x453, 0x00000040,
-+	0x45E, 0x00000004,
-+	0x49C, 0x00000010,
-+	0x49D, 0x000000F0,
-+	0x49E, 0x00000000,
-+	0x49F, 0x00000006,
-+	0x4A0, 0x000000E0,
-+	0x4A1, 0x00000003,
-+	0x4A2, 0x00000000,
-+	0x4A3, 0x00000040,
-+	0x4A4, 0x00000015,
-+	0x4A5, 0x000000F0,
-+	0x4A6, 0x00000000,
-+	0x4A7, 0x00000006,
-+	0x4A8, 0x000000E0,
-+	0x4A9, 0x00000000,
-+	0x4AA, 0x00000000,
-+	0x4AB, 0x00000000,
-+	0x7DA, 0x00000008,
-+	0x1448, 0x00000006,
-+	0x144A, 0x00000006,
-+	0x144C, 0x00000006,
-+	0x144E, 0x00000006,
-+	0x4C8, 0x000000FF,
-+	0x4C9, 0x00000008,
-+	0x4CA, 0x0000003C,
-+	0x4CB, 0x0000003C,
-+	0x4CC, 0x000000FF,
-+	0x4CD, 0x000000FF,
-+	0x4CE, 0x00000001,
-+	0x4CF, 0x00000008,
-+	0x500, 0x00000026,
-+	0x501, 0x000000A2,
-+	0x502, 0x0000002F,
-+	0x503, 0x00000000,
-+	0x504, 0x00000028,
-+	0x505, 0x000000A3,
-+	0x506, 0x0000005E,
-+	0x507, 0x00000000,
-+	0x508, 0x0000002B,
-+	0x509, 0x000000A4,
-+	0x50A, 0x0000005E,
-+	0x50B, 0x00000000,
-+	0x50C, 0x0000004F,
-+	0x50D, 0x000000A4,
-+	0x50E, 0x00000000,
-+	0x50F, 0x00000000,
-+	0x512, 0x0000001C,
-+	0x514, 0x0000000A,
-+	0x516, 0x0000000A,
-+	0x521, 0x0000002F,
-+	0x525, 0x00000047,
-+	0x550, 0x00000010,
-+	0x551, 0x00000010,
-+	0x559, 0x00000002,
-+	0x55C, 0x00000064,
-+	0x55D, 0x000000FF,
-+	0x577, 0x00000003,
-+	0x5BE, 0x00000064,
-+	0x604, 0x00000001,
-+	0x605, 0x00000030,
-+	0x607, 0x00000001,
-+	0x608, 0x0000000E,
-+	0x609, 0x0000002A,
-+	0x60A, 0x00000000,
-+	0x60C, 0x00000018,
-+	0x60D, 0x00000050,
-+	0x6A0, 0x000000FF,
-+	0x6A1, 0x000000FF,
-+	0x6A2, 0x000000FF,
-+	0x6A3, 0x000000FF,
-+	0x6A4, 0x000000FF,
-+	0x6A5, 0x000000FF,
-+	0x6DE, 0x00000084,
-+	0x620, 0x000000FF,
-+	0x621, 0x000000FF,
-+	0x622, 0x000000FF,
-+	0x623, 0x000000FF,
-+	0x624, 0x000000FF,
-+	0x625, 0x000000FF,
-+	0x626, 0x000000FF,
-+	0x627, 0x000000FF,
-+	0x638, 0x00000064,
-+	0x63C, 0x0000000A,
-+	0x63D, 0x0000000A,
-+	0x63E, 0x0000000E,
-+	0x63F, 0x0000000E,
-+	0x640, 0x00000040,
-+	0x642, 0x00000040,
-+	0x643, 0x00000000,
-+	0x652, 0x000000C8,
-+	0x66E, 0x00000005,
-+	0x700, 0x00000021,
-+	0x701, 0x00000043,
-+	0x702, 0x00000065,
-+	0x703, 0x00000087,
-+	0x708, 0x00000021,
-+	0x709, 0x00000043,
-+	0x70A, 0x00000065,
-+	0x70B, 0x00000087,
-+	0x718, 0x00000040,
-+	0x7D5, 0x000000BC,
-+	0x7D8, 0x00000028,
-+	0x7D9, 0x00000000,
-+	0x7DA, 0x0000000B,
-+};
-+
-+RTW_DECL_TABLE_PHY_COND(rtw8814a_mac, rtw_phy_cfg_mac);
-+
-+static const u32 rtw8814a_agc[] = {
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000003,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000003,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0xA0000000,	0x00000000,
-+	0x81C, 0xFF000003,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x81C, 0xFD020003,
-+	0x81C, 0xFC040003,
-+	0x81C, 0xFB060003,
-+	0x81C, 0xFA080003,
-+	0x81C, 0xF90A0003,
-+	0x81C, 0xF80C0003,
-+	0x81C, 0xF70E0003,
-+	0x81C, 0xF6100003,
-+	0x81C, 0xF5120003,
-+	0x81C, 0xF4140003,
-+	0x81C, 0xF3160003,
-+	0x81C, 0xF2180003,
-+	0x81C, 0xF11A0003,
-+	0x81C, 0xF01C0003,
-+	0x81C, 0xEF1E0003,
-+	0x81C, 0xEE200003,
-+	0x81C, 0xED220003,
-+	0x81C, 0xCF240003,
-+	0x81C, 0xCE260003,
-+	0x81C, 0xCD280003,
-+	0x81C, 0xCC2A0003,
-+	0x81C, 0xCB2C0003,
-+	0x81C, 0xCA2E0003,
-+	0x81C, 0xC9300003,
-+	0x81C, 0xC8320003,
-+	0x81C, 0xC7340003,
-+	0x81C, 0xC6360003,
-+	0x81C, 0xC5380003,
-+	0x81C, 0xC43A0003,
-+	0x81C, 0xA63C0003,
-+	0x81C, 0xA53E0003,
-+	0x81C, 0xA4400003,
-+	0x81C, 0xA3420003,
-+	0x81C, 0xA2440003,
-+	0x81C, 0xA1460003,
-+	0x81C, 0x86480003,
-+	0x81C, 0x854A0003,
-+	0x81C, 0x844C0003,
-+	0x81C, 0x834E0003,
-+	0x81C, 0x66500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x435C0003,
-+	0x81C, 0x425E0003,
-+	0x81C, 0x41600003,
-+	0x81C, 0x27620003,
-+	0x81C, 0x26640003,
-+	0x81C, 0x25660003,
-+	0x81C, 0x24680003,
-+	0x81C, 0x236A0003,
-+	0x81C, 0x226C0003,
-+	0x81C, 0x216E0003,
-+	0x81C, 0x21700003,
-+	0x81C, 0x21720003,
-+	0x81C, 0x21740003,
-+	0x81C, 0x21760003,
-+	0x81C, 0x21780003,
-+	0x81C, 0x217A0003,
-+	0x81C, 0x217C0003,
-+	0x81C, 0x217E0003,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000003,
-+	0x81C, 0xFE020003,
-+	0x81C, 0xFD040003,
-+	0x81C, 0xFC060003,
-+	0x81C, 0xFB080003,
-+	0x81C, 0xFA0A0003,
-+	0x81C, 0xF90C0003,
-+	0x81C, 0xF80E0003,
-+	0x81C, 0xF7100003,
-+	0x81C, 0xF6120003,
-+	0x81C, 0xF5140003,
-+	0x81C, 0xF4160003,
-+	0x81C, 0xF3180003,
-+	0x81C, 0xF21A0003,
-+	0x81C, 0xF11C0003,
-+	0x81C, 0xF01E0003,
-+	0x81C, 0xEF200003,
-+	0x81C, 0xEE220003,
-+	0x81C, 0xED240003,
-+	0x81C, 0xEC260003,
-+	0x81C, 0xEB280003,
-+	0x81C, 0xEA2A0003,
-+	0x81C, 0xE92C0003,
-+	0x81C, 0xE82E0003,
-+	0x81C, 0xE7300003,
-+	0x81C, 0xE6320003,
-+	0x81C, 0xE5340003,
-+	0x81C, 0xE4360003,
-+	0x81C, 0xE3380003,
-+	0x81C, 0xC53A0003,
-+	0x81C, 0xC43C0003,
-+	0x81C, 0xC33E0003,
-+	0x81C, 0xC2400003,
-+	0x81C, 0xC1420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0xA44C0003,
-+	0x81C, 0xA34E0003,
-+	0x81C, 0xA2500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x475C0003,
-+	0x81C, 0x465E0003,
-+	0x81C, 0x45600003,
-+	0x81C, 0x44620003,
-+	0x81C, 0x43640003,
-+	0x81C, 0x42660003,
-+	0x81C, 0x41680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x81C, 0xFD020003,
-+	0x81C, 0xFC040003,
-+	0x81C, 0xFB060003,
-+	0x81C, 0xFA080003,
-+	0x81C, 0xF90A0003,
-+	0x81C, 0xF80C0003,
-+	0x81C, 0xF70E0003,
-+	0x81C, 0xF6100003,
-+	0x81C, 0xF5120003,
-+	0x81C, 0xF4140003,
-+	0x81C, 0xF3160003,
-+	0x81C, 0xF2180003,
-+	0x81C, 0xF11A0003,
-+	0x81C, 0xF01C0003,
-+	0x81C, 0xEF1E0003,
-+	0x81C, 0xEE200003,
-+	0x81C, 0xED220003,
-+	0x81C, 0xEC240003,
-+	0x81C, 0xEB260003,
-+	0x81C, 0xEA280003,
-+	0x81C, 0xE92A0003,
-+	0x81C, 0xE82C0003,
-+	0x81C, 0xE72E0003,
-+	0x81C, 0xE6300003,
-+	0x81C, 0xE5320003,
-+	0x81C, 0xE4340003,
-+	0x81C, 0xE3360003,
-+	0x81C, 0xC6380003,
-+	0x81C, 0xC53A0003,
-+	0x81C, 0xC43C0003,
-+	0x81C, 0xC33E0003,
-+	0x81C, 0xC2400003,
-+	0x81C, 0xA9420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0xA44C0003,
-+	0x81C, 0xA34E0003,
-+	0x81C, 0x66500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x49580003,
-+	0x81C, 0x485A0003,
-+	0x81C, 0x475C0003,
-+	0x81C, 0x465E0003,
-+	0x81C, 0x45600003,
-+	0x81C, 0x44620003,
-+	0x81C, 0x43640003,
-+	0x81C, 0x42660003,
-+	0x81C, 0x41680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000003,
-+	0x81C, 0xFE020003,
-+	0x81C, 0xFD040003,
-+	0x81C, 0xFC060003,
-+	0x81C, 0xFB080003,
-+	0x81C, 0xFA0A0003,
-+	0x81C, 0xF90C0003,
-+	0x81C, 0xF80E0003,
-+	0x81C, 0xF7100003,
-+	0x81C, 0xF6120003,
-+	0x81C, 0xF5140003,
-+	0x81C, 0xF4160003,
-+	0x81C, 0xF3180003,
-+	0x81C, 0xF21A0003,
-+	0x81C, 0xF11C0003,
-+	0x81C, 0xF01E0003,
-+	0x81C, 0xEF200003,
-+	0x81C, 0xEE220003,
-+	0x81C, 0xED240003,
-+	0x81C, 0xEC260003,
-+	0x81C, 0xEB280003,
-+	0x81C, 0xEA2A0003,
-+	0x81C, 0xE92C0003,
-+	0x81C, 0xE82E0003,
-+	0x81C, 0xE7300003,
-+	0x81C, 0xE6320003,
-+	0x81C, 0xE5340003,
-+	0x81C, 0xE4360003,
-+	0x81C, 0xE3380003,
-+	0x81C, 0xC53A0003,
-+	0x81C, 0xC43C0003,
-+	0x81C, 0xC33E0003,
-+	0x81C, 0xC2400003,
-+	0x81C, 0xC1420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0xA44C0003,
-+	0x81C, 0xA34E0003,
-+	0x81C, 0xA2500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x475C0003,
-+	0x81C, 0x465E0003,
-+	0x81C, 0x45600003,
-+	0x81C, 0x44620003,
-+	0x81C, 0x43640003,
-+	0x81C, 0x42660003,
-+	0x81C, 0x41680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x81C, 0xFD020003,
-+	0x81C, 0xFC040003,
-+	0x81C, 0xFB060003,
-+	0x81C, 0xFA080003,
-+	0x81C, 0xF90A0003,
-+	0x81C, 0xF80C0003,
-+	0x81C, 0xF70E0003,
-+	0x81C, 0xF6100003,
-+	0x81C, 0xF5120003,
-+	0x81C, 0xF4140003,
-+	0x81C, 0xF3160003,
-+	0x81C, 0xF2180003,
-+	0x81C, 0xF11A0003,
-+	0x81C, 0xF01C0003,
-+	0x81C, 0xEF1E0003,
-+	0x81C, 0xEE200003,
-+	0x81C, 0xED220003,
-+	0x81C, 0xEC240003,
-+	0x81C, 0xEB260003,
-+	0x81C, 0xEA280003,
-+	0x81C, 0xE92A0003,
-+	0x81C, 0xE82C0003,
-+	0x81C, 0xE72E0003,
-+	0x81C, 0xE6300003,
-+	0x81C, 0xE5320003,
-+	0x81C, 0xE4340003,
-+	0x81C, 0xE3360003,
-+	0x81C, 0xC6380003,
-+	0x81C, 0xC53A0003,
-+	0x81C, 0xC43C0003,
-+	0x81C, 0xC33E0003,
-+	0x81C, 0xC2400003,
-+	0x81C, 0xA9420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0xA44C0003,
-+	0x81C, 0xA34E0003,
-+	0x81C, 0x66500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x49580003,
-+	0x81C, 0x485A0003,
-+	0x81C, 0x475C0003,
-+	0x81C, 0x465E0003,
-+	0x81C, 0x45600003,
-+	0x81C, 0x44620003,
-+	0x81C, 0x43640003,
-+	0x81C, 0x42660003,
-+	0x81C, 0x41680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xDF000003,
-+	0x81C, 0xDF020003,
-+	0x81C, 0xDF040003,
-+	0x81C, 0xDE060003,
-+	0x81C, 0xDD080003,
-+	0x81C, 0xDC0A0003,
-+	0x81C, 0xDB0C0003,
-+	0x81C, 0xDA0E0003,
-+	0x81C, 0xD9100003,
-+	0x81C, 0xD8120003,
-+	0x81C, 0xD7140003,
-+	0x81C, 0xD6160003,
-+	0x81C, 0xD5180003,
-+	0x81C, 0xD41A0003,
-+	0x81C, 0xD31C0003,
-+	0x81C, 0xD21E0003,
-+	0x81C, 0xD1200003,
-+	0x81C, 0xD0220003,
-+	0x81C, 0xCF240003,
-+	0x81C, 0xCE260003,
-+	0x81C, 0xCD280003,
-+	0x81C, 0xCC2A0003,
-+	0x81C, 0xCB2C0003,
-+	0x81C, 0xCA2E0003,
-+	0x81C, 0xC9300003,
-+	0x81C, 0xC8320003,
-+	0x81C, 0xC7340003,
-+	0x81C, 0xC6360003,
-+	0x81C, 0xC5380003,
-+	0x81C, 0xA73A0003,
-+	0x81C, 0xA63C0003,
-+	0x81C, 0xA53E0003,
-+	0x81C, 0xA4400003,
-+	0x81C, 0xA3420003,
-+	0x81C, 0xA2440003,
-+	0x81C, 0x87460003,
-+	0x81C, 0x86480003,
-+	0x81C, 0x854A0003,
-+	0x81C, 0x844C0003,
-+	0x81C, 0x834E0003,
-+	0x81C, 0x82500003,
-+	0x81C, 0x81520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x445C0003,
-+	0x81C, 0x435E0003,
-+	0x81C, 0x42600003,
-+	0x81C, 0x41620003,
-+	0x81C, 0x27640003,
-+	0x81C, 0x26660003,
-+	0x81C, 0x25680003,
-+	0x81C, 0x246A0003,
-+	0x81C, 0x236C0003,
-+	0x81C, 0x226E0003,
-+	0x81C, 0x21700003,
-+	0x81C, 0x21720003,
-+	0x81C, 0x21740003,
-+	0x81C, 0x21760003,
-+	0x81C, 0x21780003,
-+	0x81C, 0x217A0003,
-+	0x81C, 0x217C0003,
-+	0x81C, 0x217E0003,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000003,
-+	0x81C, 0xFE020003,
-+	0x81C, 0xFD040003,
-+	0x81C, 0xFC060003,
-+	0x81C, 0xFB080003,
-+	0x81C, 0xFA0A0003,
-+	0x81C, 0xF90C0003,
-+	0x81C, 0xF80E0003,
-+	0x81C, 0xF7100003,
-+	0x81C, 0xF6120003,
-+	0x81C, 0xF5140003,
-+	0x81C, 0xF4160003,
-+	0x81C, 0xF3180003,
-+	0x81C, 0xF21A0003,
-+	0x81C, 0xF11C0003,
-+	0x81C, 0xF01E0003,
-+	0x81C, 0xEF200003,
-+	0x81C, 0xEE220003,
-+	0x81C, 0xED240003,
-+	0x81C, 0xEC260003,
-+	0x81C, 0xEB280003,
-+	0x81C, 0xEA2A0003,
-+	0x81C, 0xE92C0003,
-+	0x81C, 0xE82E0003,
-+	0x81C, 0xE7300003,
-+	0x81C, 0xE6320003,
-+	0x81C, 0xE5340003,
-+	0x81C, 0xE4360003,
-+	0x81C, 0xE3380003,
-+	0x81C, 0xC53A0003,
-+	0x81C, 0xC43C0003,
-+	0x81C, 0xC33E0003,
-+	0x81C, 0xC2400003,
-+	0x81C, 0xC1420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0xA44C0003,
-+	0x81C, 0xA34E0003,
-+	0x81C, 0xA2500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x475C0003,
-+	0x81C, 0x465E0003,
-+	0x81C, 0x45600003,
-+	0x81C, 0x44620003,
-+	0x81C, 0x43640003,
-+	0x81C, 0x42660003,
-+	0x81C, 0x41680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xDF000003,
-+	0x81C, 0xDF020003,
-+	0x81C, 0xDF040003,
-+	0x81C, 0xDE060003,
-+	0x81C, 0xDD080003,
-+	0x81C, 0xDC0A0003,
-+	0x81C, 0xDB0C0003,
-+	0x81C, 0xDA0E0003,
-+	0x81C, 0xD9100003,
-+	0x81C, 0xD8120003,
-+	0x81C, 0xD7140003,
-+	0x81C, 0xD6160003,
-+	0x81C, 0xD5180003,
-+	0x81C, 0xD41A0003,
-+	0x81C, 0xD31C0003,
-+	0x81C, 0xD21E0003,
-+	0x81C, 0xD1200003,
-+	0x81C, 0xD0220003,
-+	0x81C, 0xCF240003,
-+	0x81C, 0xCE260003,
-+	0x81C, 0xCD280003,
-+	0x81C, 0xCC2A0003,
-+	0x81C, 0xCB2C0003,
-+	0x81C, 0xCA2E0003,
-+	0x81C, 0xC9300003,
-+	0x81C, 0xC8320003,
-+	0x81C, 0xC7340003,
-+	0x81C, 0xC6360003,
-+	0x81C, 0xC5380003,
-+	0x81C, 0xA73A0003,
-+	0x81C, 0xA63C0003,
-+	0x81C, 0xA53E0003,
-+	0x81C, 0xA4400003,
-+	0x81C, 0xA3420003,
-+	0x81C, 0xA2440003,
-+	0x81C, 0x87460003,
-+	0x81C, 0x86480003,
-+	0x81C, 0x854A0003,
-+	0x81C, 0x844C0003,
-+	0x81C, 0x834E0003,
-+	0x81C, 0x82500003,
-+	0x81C, 0x81520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x445C0003,
-+	0x81C, 0x435E0003,
-+	0x81C, 0x42600003,
-+	0x81C, 0x41620003,
-+	0x81C, 0x27640003,
-+	0x81C, 0x26660003,
-+	0x81C, 0x25680003,
-+	0x81C, 0x246A0003,
-+	0x81C, 0x236C0003,
-+	0x81C, 0x226E0003,
-+	0x81C, 0x21700003,
-+	0x81C, 0x21720003,
-+	0x81C, 0x21740003,
-+	0x81C, 0x21760003,
-+	0x81C, 0x21780003,
-+	0x81C, 0x217A0003,
-+	0x81C, 0x217C0003,
-+	0x81C, 0x217E0003,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x81C, 0xFE020003,
-+	0x81C, 0xFD040003,
-+	0x81C, 0xFC060003,
-+	0x81C, 0xFB080003,
-+	0x81C, 0xFA0A0003,
-+	0x81C, 0xF90C0003,
-+	0x81C, 0xF80E0003,
-+	0x81C, 0xF7100003,
-+	0x81C, 0xF6120003,
-+	0x81C, 0xF5140003,
-+	0x81C, 0xF4160003,
-+	0x81C, 0xF3180003,
-+	0x81C, 0xF21A0003,
-+	0x81C, 0xF11C0003,
-+	0x81C, 0xF01E0003,
-+	0x81C, 0xEF200003,
-+	0x81C, 0xEE220003,
-+	0x81C, 0xED240003,
-+	0x81C, 0x0F260003,
-+	0x81C, 0x0E280003,
-+	0x81C, 0x0D2A0003,
-+	0x81C, 0x0C2C0003,
-+	0x81C, 0x0B2E0003,
-+	0x81C, 0x0A300003,
-+	0x81C, 0x09320003,
-+	0x81C, 0x08340003,
-+	0x81C, 0x07360003,
-+	0x81C, 0x06380003,
-+	0x81C, 0x053A0003,
-+	0x81C, 0x043C0003,
-+	0x81C, 0x033E0003,
-+	0x81C, 0x23400003,
-+	0x81C, 0x22420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0xA44C0003,
-+	0x81C, 0x684E0003,
-+	0x81C, 0x67500003,
-+	0x81C, 0x66520003,
-+	0x81C, 0x65540003,
-+	0x81C, 0x64560003,
-+	0x81C, 0x63580003,
-+	0x81C, 0x625A0003,
-+	0x81C, 0x615C0003,
-+	0x81C, 0x475E0003,
-+	0x81C, 0x46600003,
-+	0x81C, 0x45620003,
-+	0x81C, 0x44640003,
-+	0x81C, 0x43660003,
-+	0x81C, 0x42680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x81C, 0xFE020003,
-+	0x81C, 0xFD040003,
-+	0x81C, 0xFC060003,
-+	0x81C, 0xFB080003,
-+	0x81C, 0xFA0A0003,
-+	0x81C, 0xF90C0003,
-+	0x81C, 0xF80E0003,
-+	0x81C, 0xF7100003,
-+	0x81C, 0xF6120003,
-+	0x81C, 0xF5140003,
-+	0x81C, 0xF4160003,
-+	0x81C, 0xF3180003,
-+	0x81C, 0xF21A0003,
-+	0x81C, 0xF11C0003,
-+	0x81C, 0xF01E0003,
-+	0x81C, 0xEF200003,
-+	0x81C, 0xEE220003,
-+	0x81C, 0xED240003,
-+	0x81C, 0xEC260003,
-+	0x81C, 0xEB280003,
-+	0x81C, 0xEA2A0003,
-+	0x81C, 0xE92C0003,
-+	0x81C, 0xE72E0003,
-+	0x81C, 0xE6300003,
-+	0x81C, 0xE5320003,
-+	0x81C, 0x08340003,
-+	0x81C, 0x07360003,
-+	0x81C, 0x06380003,
-+	0x81C, 0x053A0003,
-+	0x81C, 0x043C0003,
-+	0x81C, 0x033E0003,
-+	0x81C, 0x02400003,
-+	0x81C, 0xA9420003,
-+	0x81C, 0xA8440003,
-+	0x81C, 0xA7460003,
-+	0x81C, 0xA6480003,
-+	0x81C, 0xA54A0003,
-+	0x81C, 0x684C0003,
-+	0x81C, 0x674E0003,
-+	0x81C, 0x66500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x475C0003,
-+	0x81C, 0x465E0003,
-+	0x81C, 0x45600003,
-+	0x81C, 0x44620003,
-+	0x81C, 0x43640003,
-+	0x81C, 0x42660003,
-+	0x81C, 0x41680003,
-+	0x81C, 0x416A0003,
-+	0x81C, 0x416C0003,
-+	0x81C, 0x416E0003,
-+	0x81C, 0x41700003,
-+	0x81C, 0x41720003,
-+	0x81C, 0x41740003,
-+	0x81C, 0x41760003,
-+	0x81C, 0x41780003,
-+	0x81C, 0x417A0003,
-+	0x81C, 0x417C0003,
-+	0x81C, 0x417E0003,
-+	0xA0000000,	0x00000000,
-+	0x81C, 0xFE000003,
-+	0x81C, 0xFD020003,
-+	0x81C, 0xFC040003,
-+	0x81C, 0xFB060003,
-+	0x81C, 0xFA080003,
-+	0x81C, 0xF90A0003,
-+	0x81C, 0xF80C0003,
-+	0x81C, 0xF70E0003,
-+	0x81C, 0xF6100003,
-+	0x81C, 0xF5120003,
-+	0x81C, 0xF4140003,
-+	0x81C, 0xF3160003,
-+	0x81C, 0xF2180003,
-+	0x81C, 0xF11A0003,
-+	0x81C, 0xF01C0003,
-+	0x81C, 0xEF1E0003,
-+	0x81C, 0xEE200003,
-+	0x81C, 0xED220003,
-+	0x81C, 0xCF240003,
-+	0x81C, 0xCE260003,
-+	0x81C, 0xCD280003,
-+	0x81C, 0xCC2A0003,
-+	0x81C, 0xCB2C0003,
-+	0x81C, 0xCA2E0003,
-+	0x81C, 0xC9300003,
-+	0x81C, 0xC8320003,
-+	0x81C, 0xC7340003,
-+	0x81C, 0xC6360003,
-+	0x81C, 0xC5380003,
-+	0x81C, 0xC43A0003,
-+	0x81C, 0xA63C0003,
-+	0x81C, 0xA53E0003,
-+	0x81C, 0xA4400003,
-+	0x81C, 0xA3420003,
-+	0x81C, 0xA2440003,
-+	0x81C, 0xA1460003,
-+	0x81C, 0x86480003,
-+	0x81C, 0x854A0003,
-+	0x81C, 0x844C0003,
-+	0x81C, 0x834E0003,
-+	0x81C, 0x66500003,
-+	0x81C, 0x65520003,
-+	0x81C, 0x64540003,
-+	0x81C, 0x63560003,
-+	0x81C, 0x62580003,
-+	0x81C, 0x615A0003,
-+	0x81C, 0x435C0003,
-+	0x81C, 0x425E0003,
-+	0x81C, 0x41600003,
-+	0x81C, 0x27620003,
-+	0x81C, 0x26640003,
-+	0x81C, 0x25660003,
-+	0x81C, 0x24680003,
-+	0x81C, 0x236A0003,
-+	0x81C, 0x226C0003,
-+	0x81C, 0x216E0003,
-+	0x81C, 0x21700003,
-+	0x81C, 0x21720003,
-+	0x81C, 0x21740003,
-+	0x81C, 0x21760003,
-+	0x81C, 0x21780003,
-+	0x81C, 0x217A0003,
-+	0x81C, 0x217C0003,
-+	0x81C, 0x217E0003,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF9000103,
-+	0x81C, 0xF8020103,
-+	0x81C, 0xF7040103,
-+	0x81C, 0xF6060103,
-+	0x81C, 0xF5080103,
-+	0x81C, 0xF40A0103,
-+	0x81C, 0xF30C0103,
-+	0x81C, 0xF20E0103,
-+	0x81C, 0xF1100103,
-+	0x81C, 0xF0120103,
-+	0x81C, 0xEF140103,
-+	0x81C, 0xEE160103,
-+	0x81C, 0xED180103,
-+	0x81C, 0xEC1A0103,
-+	0x81C, 0xEB1C0103,
-+	0x81C, 0xEA1E0103,
-+	0x81C, 0xE9200103,
-+	0x81C, 0xE8220103,
-+	0x81C, 0xE7240103,
-+	0x81C, 0xE6260103,
-+	0x81C, 0xE5280103,
-+	0x81C, 0xE42A0103,
-+	0x81C, 0xE32C0103,
-+	0x81C, 0xC32E0103,
-+	0x81C, 0xC2300103,
-+	0x81C, 0xC1320103,
-+	0x81C, 0xA5340103,
-+	0x81C, 0xA4360103,
-+	0x81C, 0xA3380103,
-+	0x81C, 0xA23A0103,
-+	0x81C, 0xA13C0103,
-+	0x81C, 0x843E0103,
-+	0x81C, 0x83400103,
-+	0x81C, 0x82420103,
-+	0x81C, 0x81440103,
-+	0x81C, 0x64460103,
-+	0x81C, 0x63480103,
-+	0x81C, 0x624A0103,
-+	0x81C, 0x614C0103,
-+	0x81C, 0x444E0103,
-+	0x81C, 0x43500103,
-+	0x81C, 0x42520103,
-+	0x81C, 0x41540103,
-+	0x81C, 0x25560103,
-+	0x81C, 0x24580103,
-+	0x81C, 0x235A0103,
-+	0x81C, 0x065C0103,
-+	0x81C, 0x055E0103,
-+	0x81C, 0x04600103,
-+	0x81C, 0x03620103,
-+	0x81C, 0x02640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF8000103,
-+	0x81C, 0xF7020103,
-+	0x81C, 0xF6040103,
-+	0x81C, 0xF5060103,
-+	0x81C, 0xF4080103,
-+	0x81C, 0xF30A0103,
-+	0x81C, 0xF20C0103,
-+	0x81C, 0xF10E0103,
-+	0x81C, 0xF0100103,
-+	0x81C, 0xEF120103,
-+	0x81C, 0xEE140103,
-+	0x81C, 0xED160103,
-+	0x81C, 0xEC180103,
-+	0x81C, 0xEB1A0103,
-+	0x81C, 0xEA1C0103,
-+	0x81C, 0xE91E0103,
-+	0x81C, 0xE8200103,
-+	0x81C, 0xE7220103,
-+	0x81C, 0xE6240103,
-+	0x81C, 0xE5260103,
-+	0x81C, 0xE4280103,
-+	0x81C, 0xE32A0103,
-+	0x81C, 0xE22C0103,
-+	0x81C, 0xE12E0103,
-+	0x81C, 0xA5300103,
-+	0x81C, 0xA4320103,
-+	0x81C, 0xA3340103,
-+	0x81C, 0xA2360103,
-+	0x81C, 0xA1380103,
-+	0x81C, 0x843A0103,
-+	0x81C, 0x833C0103,
-+	0x81C, 0x823E0103,
-+	0x81C, 0x81400103,
-+	0x81C, 0x64420103,
-+	0x81C, 0x63440103,
-+	0x81C, 0x62460103,
-+	0x81C, 0x61480103,
-+	0x81C, 0x454A0103,
-+	0x81C, 0x444C0103,
-+	0x81C, 0x434E0103,
-+	0x81C, 0x42500103,
-+	0x81C, 0x25520103,
-+	0x81C, 0x24540103,
-+	0x81C, 0x23560103,
-+	0x81C, 0x06580103,
-+	0x81C, 0x055A0103,
-+	0x81C, 0x045C0103,
-+	0x81C, 0x035E0103,
-+	0x81C, 0x02600103,
-+	0x81C, 0x01620103,
-+	0x81C, 0x01640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFC000103,
-+	0x81C, 0xFB020103,
-+	0x81C, 0xFA040103,
-+	0x81C, 0xF9060103,
-+	0x81C, 0xF8080103,
-+	0x81C, 0xF70A0103,
-+	0x81C, 0xF60C0103,
-+	0x81C, 0xF50E0103,
-+	0x81C, 0xF4100103,
-+	0x81C, 0xF3120103,
-+	0x81C, 0xF2140103,
-+	0x81C, 0xF1160103,
-+	0x81C, 0xF0180103,
-+	0x81C, 0xEF1A0103,
-+	0x81C, 0xEE1C0103,
-+	0x81C, 0xED1E0103,
-+	0x81C, 0xEC200103,
-+	0x81C, 0xEB220103,
-+	0x81C, 0xEA240103,
-+	0x81C, 0xE9260103,
-+	0x81C, 0xE8280103,
-+	0x81C, 0xE72A0103,
-+	0x81C, 0xE62C0103,
-+	0x81C, 0xE52E0103,
-+	0x81C, 0xE4300103,
-+	0x81C, 0xE3320103,
-+	0x81C, 0xE2340103,
-+	0x81C, 0xE1360103,
-+	0x81C, 0x87380103,
-+	0x81C, 0x863A0103,
-+	0x81C, 0x853C0103,
-+	0x81C, 0x843E0103,
-+	0x81C, 0x83400103,
-+	0x81C, 0x82420103,
-+	0x81C, 0x81440103,
-+	0x81C, 0x64460103,
-+	0x81C, 0x63480103,
-+	0x81C, 0x624A0103,
-+	0x81C, 0x464C0103,
-+	0x81C, 0x454E0103,
-+	0x81C, 0x44500103,
-+	0x81C, 0x43520103,
-+	0x81C, 0x26540103,
-+	0x81C, 0x25560103,
-+	0x81C, 0x24580103,
-+	0x81C, 0x075A0103,
-+	0x81C, 0x065C0103,
-+	0x81C, 0x055E0103,
-+	0x81C, 0x04600103,
-+	0x81C, 0x03620103,
-+	0x81C, 0x02640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF9000103,
-+	0x81C, 0xF8020103,
-+	0x81C, 0xF7040103,
-+	0x81C, 0xF6060103,
-+	0x81C, 0xF5080103,
-+	0x81C, 0xF40A0103,
-+	0x81C, 0xF30C0103,
-+	0x81C, 0xF20E0103,
-+	0x81C, 0xF1100103,
-+	0x81C, 0xF0120103,
-+	0x81C, 0xEF140103,
-+	0x81C, 0xEE160103,
-+	0x81C, 0xED180103,
-+	0x81C, 0xEC1A0103,
-+	0x81C, 0xEB1C0103,
-+	0x81C, 0xEA1E0103,
-+	0x81C, 0xE9200103,
-+	0x81C, 0xE8220103,
-+	0x81C, 0xE7240103,
-+	0x81C, 0xE6260103,
-+	0x81C, 0xE5280103,
-+	0x81C, 0xE42A0103,
-+	0x81C, 0xE32C0103,
-+	0x81C, 0xE22E0103,
-+	0x81C, 0xA6300103,
-+	0x81C, 0xA5320103,
-+	0x81C, 0xA4340103,
-+	0x81C, 0xA3360103,
-+	0x81C, 0xA2380103,
-+	0x81C, 0xA13A0103,
-+	0x81C, 0x843C0103,
-+	0x81C, 0x833E0103,
-+	0x81C, 0x82400103,
-+	0x81C, 0x81420103,
-+	0x81C, 0x64440103,
-+	0x81C, 0x63460103,
-+	0x81C, 0x62480103,
-+	0x81C, 0x614A0103,
-+	0x81C, 0x444C0103,
-+	0x81C, 0x434E0103,
-+	0x81C, 0x42500103,
-+	0x81C, 0x41520103,
-+	0x81C, 0x25540103,
-+	0x81C, 0x24560103,
-+	0x81C, 0x23580103,
-+	0x81C, 0x225A0103,
-+	0x81C, 0x055C0103,
-+	0x81C, 0x045E0103,
-+	0x81C, 0x03600103,
-+	0x81C, 0x02620103,
-+	0x81C, 0x01640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFD000103,
-+	0x81C, 0xFC020103,
-+	0x81C, 0xFB040103,
-+	0x81C, 0xFA060103,
-+	0x81C, 0xF9080103,
-+	0x81C, 0xF80A0103,
-+	0x81C, 0xF70C0103,
-+	0x81C, 0xF60E0103,
-+	0x81C, 0xF5100103,
-+	0x81C, 0xF4120103,
-+	0x81C, 0xF3140103,
-+	0x81C, 0xF2160103,
-+	0x81C, 0xF1180103,
-+	0x81C, 0xF01A0103,
-+	0x81C, 0xEF1C0103,
-+	0x81C, 0xEE1E0103,
-+	0x81C, 0xED200103,
-+	0x81C, 0xEC220103,
-+	0x81C, 0xEB240103,
-+	0x81C, 0xEA260103,
-+	0x81C, 0xE9280103,
-+	0x81C, 0xE82A0103,
-+	0x81C, 0xE72C0103,
-+	0x81C, 0xE62E0103,
-+	0x81C, 0xE5300103,
-+	0x81C, 0xE4320103,
-+	0x81C, 0xE3340103,
-+	0x81C, 0xE2360103,
-+	0x81C, 0xE1380103,
-+	0x81C, 0xA33A0103,
-+	0x81C, 0xA23C0103,
-+	0x81C, 0xA13E0103,
-+	0x81C, 0x84400103,
-+	0x81C, 0x83420103,
-+	0x81C, 0x82440103,
-+	0x81C, 0x81460103,
-+	0x81C, 0x64480103,
-+	0x81C, 0x634A0103,
-+	0x81C, 0x624C0103,
-+	0x81C, 0x614E0103,
-+	0x81C, 0x45500103,
-+	0x81C, 0x44520103,
-+	0x81C, 0x43540103,
-+	0x81C, 0x42560103,
-+	0x81C, 0x25580103,
-+	0x81C, 0x245A0103,
-+	0x81C, 0x235C0103,
-+	0x81C, 0x065E0103,
-+	0x81C, 0x05600103,
-+	0x81C, 0x04620103,
-+	0x81C, 0x03640103,
-+	0x81C, 0x02660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFA000103,
-+	0x81C, 0xF9020103,
-+	0x81C, 0xF8040103,
-+	0x81C, 0xF7060103,
-+	0x81C, 0xF6080103,
-+	0x81C, 0xF50A0103,
-+	0x81C, 0xF40C0103,
-+	0x81C, 0xF30E0103,
-+	0x81C, 0xF2100103,
-+	0x81C, 0xF1120103,
-+	0x81C, 0xF0140103,
-+	0x81C, 0xEF160103,
-+	0x81C, 0xEE180103,
-+	0x81C, 0xED1A0103,
-+	0x81C, 0xEC1C0103,
-+	0x81C, 0xEB1E0103,
-+	0x81C, 0xEA200103,
-+	0x81C, 0xE9220103,
-+	0x81C, 0xE8240103,
-+	0x81C, 0xE7260103,
-+	0x81C, 0xE6280103,
-+	0x81C, 0xE52A0103,
-+	0x81C, 0xE42C0103,
-+	0x81C, 0xE32E0103,
-+	0x81C, 0xE2300103,
-+	0x81C, 0xE1320103,
-+	0x81C, 0xA5340103,
-+	0x81C, 0xA4360103,
-+	0x81C, 0xA3380103,
-+	0x81C, 0xA23A0103,
-+	0x81C, 0xA13C0103,
-+	0x81C, 0x843E0103,
-+	0x81C, 0x83400103,
-+	0x81C, 0x82420103,
-+	0x81C, 0x81440103,
-+	0x81C, 0x64460103,
-+	0x81C, 0x63480103,
-+	0x81C, 0x624A0103,
-+	0x81C, 0x614C0103,
-+	0x81C, 0x454E0103,
-+	0x81C, 0x44500103,
-+	0x81C, 0x43520103,
-+	0x81C, 0x42540103,
-+	0x81C, 0x41560103,
-+	0x81C, 0x24580103,
-+	0x81C, 0x235A0103,
-+	0x81C, 0x225C0103,
-+	0x81C, 0x055E0103,
-+	0x81C, 0x04600103,
-+	0x81C, 0x03620103,
-+	0x81C, 0x02640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000103,
-+	0x81C, 0xFF020103,
-+	0x81C, 0xFE040103,
-+	0x81C, 0xFD060103,
-+	0x81C, 0xFC080103,
-+	0x81C, 0xFB0A0103,
-+	0x81C, 0xFA0C0103,
-+	0x81C, 0xF90E0103,
-+	0x81C, 0xF8100103,
-+	0x81C, 0xF7120103,
-+	0x81C, 0xF6140103,
-+	0x81C, 0xF5160103,
-+	0x81C, 0xF4180103,
-+	0x81C, 0xF31A0103,
-+	0x81C, 0xF21C0103,
-+	0x81C, 0xF11E0103,
-+	0x81C, 0xF0200103,
-+	0x81C, 0xEF220103,
-+	0x81C, 0xEE240103,
-+	0x81C, 0xED260103,
-+	0x81C, 0xEC280103,
-+	0x81C, 0xEB2A0103,
-+	0x81C, 0xEA2C0103,
-+	0x81C, 0xE92E0103,
-+	0x81C, 0xE8300103,
-+	0x81C, 0xE7320103,
-+	0x81C, 0xE6340103,
-+	0x81C, 0xE5360103,
-+	0x81C, 0xE4380103,
-+	0x81C, 0xE33A0103,
-+	0x81C, 0xA53C0103,
-+	0x81C, 0xA43E0103,
-+	0x81C, 0xA3400103,
-+	0x81C, 0xA2420103,
-+	0x81C, 0xA1440103,
-+	0x81C, 0x85460103,
-+	0x81C, 0x84480103,
-+	0x81C, 0x834A0103,
-+	0x81C, 0x824C0103,
-+	0x81C, 0x814E0103,
-+	0x81C, 0x64500103,
-+	0x81C, 0x63520103,
-+	0x81C, 0x62540103,
-+	0x81C, 0x44560103,
-+	0x81C, 0x43580103,
-+	0x81C, 0x425A0103,
-+	0x81C, 0x265C0103,
-+	0x81C, 0x255E0103,
-+	0x81C, 0x24600103,
-+	0x81C, 0x07620103,
-+	0x81C, 0x06640103,
-+	0x81C, 0x05660103,
-+	0x81C, 0x04680103,
-+	0x81C, 0x036A0103,
-+	0x81C, 0x026C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF8000103,
-+	0x81C, 0xF7020103,
-+	0x81C, 0xF6040103,
-+	0x81C, 0xF5060103,
-+	0x81C, 0xF4080103,
-+	0x81C, 0xF30A0103,
-+	0x81C, 0xF20C0103,
-+	0x81C, 0xF10E0103,
-+	0x81C, 0xF0100103,
-+	0x81C, 0xEF120103,
-+	0x81C, 0xEE140103,
-+	0x81C, 0xED160103,
-+	0x81C, 0xEC180103,
-+	0x81C, 0xEB1A0103,
-+	0x81C, 0xEA1C0103,
-+	0x81C, 0xE91E0103,
-+	0x81C, 0xE8200103,
-+	0x81C, 0xE7220103,
-+	0x81C, 0xE6240103,
-+	0x81C, 0xE5260103,
-+	0x81C, 0xE4280103,
-+	0x81C, 0xE32A0103,
-+	0x81C, 0xE22C0103,
-+	0x81C, 0xE12E0103,
-+	0x81C, 0xA4300103,
-+	0x81C, 0xA3320103,
-+	0x81C, 0xA2340103,
-+	0x81C, 0xA1360103,
-+	0x81C, 0x85380103,
-+	0x81C, 0x843A0103,
-+	0x81C, 0x833C0103,
-+	0x81C, 0x823E0103,
-+	0x81C, 0x65400103,
-+	0x81C, 0x64420103,
-+	0x81C, 0x63440103,
-+	0x81C, 0x62460103,
-+	0x81C, 0x45480103,
-+	0x81C, 0x444A0103,
-+	0x81C, 0x434C0103,
-+	0x81C, 0x264E0103,
-+	0x81C, 0x25500103,
-+	0x81C, 0x24520103,
-+	0x81C, 0x08540103,
-+	0x81C, 0x07560103,
-+	0x81C, 0x06580103,
-+	0x81C, 0x055A0103,
-+	0x81C, 0x045C0103,
-+	0x81C, 0x035E0103,
-+	0x81C, 0x02600103,
-+	0x81C, 0x01620103,
-+	0x81C, 0x01640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000103,
-+	0x81C, 0xFF020103,
-+	0x81C, 0xFE040103,
-+	0x81C, 0xFD060103,
-+	0x81C, 0xFC080103,
-+	0x81C, 0xFB0A0103,
-+	0x81C, 0xFA0C0103,
-+	0x81C, 0xF90E0103,
-+	0x81C, 0xF8100103,
-+	0x81C, 0xF7120103,
-+	0x81C, 0xF6140103,
-+	0x81C, 0xF5160103,
-+	0x81C, 0xF4180103,
-+	0x81C, 0xF31A0103,
-+	0x81C, 0xF21C0103,
-+	0x81C, 0xF11E0103,
-+	0x81C, 0xF0200103,
-+	0x81C, 0xEF220103,
-+	0x81C, 0xEE240103,
-+	0x81C, 0xED260103,
-+	0x81C, 0xEC280103,
-+	0x81C, 0xEB2A0103,
-+	0x81C, 0xEA2C0103,
-+	0x81C, 0xE92E0103,
-+	0x81C, 0xE8300103,
-+	0x81C, 0xE7320103,
-+	0x81C, 0xE6340103,
-+	0x81C, 0xE5360103,
-+	0x81C, 0xE4380103,
-+	0x81C, 0xE33A0103,
-+	0x81C, 0xA53C0103,
-+	0x81C, 0xA43E0103,
-+	0x81C, 0xA3400103,
-+	0x81C, 0xA2420103,
-+	0x81C, 0xA1440103,
-+	0x81C, 0x85460103,
-+	0x81C, 0x84480103,
-+	0x81C, 0x834A0103,
-+	0x81C, 0x824C0103,
-+	0x81C, 0x814E0103,
-+	0x81C, 0x64500103,
-+	0x81C, 0x63520103,
-+	0x81C, 0x62540103,
-+	0x81C, 0x44560103,
-+	0x81C, 0x43580103,
-+	0x81C, 0x425A0103,
-+	0x81C, 0x265C0103,
-+	0x81C, 0x255E0103,
-+	0x81C, 0x24600103,
-+	0x81C, 0x07620103,
-+	0x81C, 0x06640103,
-+	0x81C, 0x05660103,
-+	0x81C, 0x04680103,
-+	0x81C, 0x036A0103,
-+	0x81C, 0x026C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF9000103,
-+	0x81C, 0xF8020103,
-+	0x81C, 0xF7040103,
-+	0x81C, 0xF6060103,
-+	0x81C, 0xF5080103,
-+	0x81C, 0xF40A0103,
-+	0x81C, 0xF30C0103,
-+	0x81C, 0xF20E0103,
-+	0x81C, 0xF1100103,
-+	0x81C, 0xF0120103,
-+	0x81C, 0xEF140103,
-+	0x81C, 0xEE160103,
-+	0x81C, 0xED180103,
-+	0x81C, 0xEC1A0103,
-+	0x81C, 0xEB1C0103,
-+	0x81C, 0xEA1E0103,
-+	0x81C, 0xE9200103,
-+	0x81C, 0xE8220103,
-+	0x81C, 0xE7240103,
-+	0x81C, 0xE6260103,
-+	0x81C, 0xE5280103,
-+	0x81C, 0xE42A0103,
-+	0x81C, 0xE32C0103,
-+	0x81C, 0xE22E0103,
-+	0x81C, 0xA6300103,
-+	0x81C, 0xA5320103,
-+	0x81C, 0xA4340103,
-+	0x81C, 0xA3360103,
-+	0x81C, 0xA2380103,
-+	0x81C, 0xA13A0103,
-+	0x81C, 0x843C0103,
-+	0x81C, 0x833E0103,
-+	0x81C, 0x82400103,
-+	0x81C, 0x81420103,
-+	0x81C, 0x64440103,
-+	0x81C, 0x63460103,
-+	0x81C, 0x62480103,
-+	0x81C, 0x614A0103,
-+	0x81C, 0x444C0103,
-+	0x81C, 0x434E0103,
-+	0x81C, 0x42500103,
-+	0x81C, 0x41520103,
-+	0x81C, 0x25540103,
-+	0x81C, 0x24560103,
-+	0x81C, 0x23580103,
-+	0x81C, 0x225A0103,
-+	0x81C, 0x055C0103,
-+	0x81C, 0x045E0103,
-+	0x81C, 0x03600103,
-+	0x81C, 0x02620103,
-+	0x81C, 0x01640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFA000103,
-+	0x81C, 0xF9020103,
-+	0x81C, 0xF8040103,
-+	0x81C, 0xF7060103,
-+	0x81C, 0xF6080103,
-+	0x81C, 0xF50A0103,
-+	0x81C, 0xF40C0103,
-+	0x81C, 0xF30E0103,
-+	0x81C, 0xF2100103,
-+	0x81C, 0xF1120103,
-+	0x81C, 0xF0140103,
-+	0x81C, 0xEF160103,
-+	0x81C, 0xEE180103,
-+	0x81C, 0xED1A0103,
-+	0x81C, 0xCC1C0103,
-+	0x81C, 0xCB1E0103,
-+	0x81C, 0xCA200103,
-+	0x81C, 0xE9220103,
-+	0x81C, 0xE8240103,
-+	0x81C, 0xE7260103,
-+	0x81C, 0xE6280103,
-+	0x81C, 0xE42A0103,
-+	0x81C, 0xE32C0103,
-+	0x81C, 0xE22E0103,
-+	0x81C, 0xA7300103,
-+	0x81C, 0xA6320103,
-+	0x81C, 0xA5340103,
-+	0x81C, 0xA4360103,
-+	0x81C, 0xA3380103,
-+	0x81C, 0xA23A0103,
-+	0x81C, 0xA13C0103,
-+	0x81C, 0x843E0103,
-+	0x81C, 0x83400103,
-+	0x81C, 0x82420103,
-+	0x81C, 0x65440103,
-+	0x81C, 0x64460103,
-+	0x81C, 0x63480103,
-+	0x81C, 0x624A0103,
-+	0x81C, 0x614C0103,
-+	0x81C, 0x444E0103,
-+	0x81C, 0x43500103,
-+	0x81C, 0x42520103,
-+	0x81C, 0x41540103,
-+	0x81C, 0x24560103,
-+	0x81C, 0x23580103,
-+	0x81C, 0x055A0103,
-+	0x81C, 0x045C0103,
-+	0x81C, 0x035E0103,
-+	0x81C, 0x02600103,
-+	0x81C, 0x01620103,
-+	0x81C, 0x01640103,
-+	0x81C, 0x01660103,
-+	0x81C, 0x01680103,
-+	0x81C, 0x016A0103,
-+	0x81C, 0x016C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0xA0000000,	0x00000000,
-+	0x81C, 0xFF000103,
-+	0x81C, 0xFE020103,
-+	0x81C, 0xFD040103,
-+	0x81C, 0xFC060103,
-+	0x81C, 0xFB080103,
-+	0x81C, 0xFA0A0103,
-+	0x81C, 0xF90C0103,
-+	0x81C, 0xF80E0103,
-+	0x81C, 0xF7100103,
-+	0x81C, 0xF6120103,
-+	0x81C, 0xF5140103,
-+	0x81C, 0xF4160103,
-+	0x81C, 0xF3180103,
-+	0x81C, 0xF21A0103,
-+	0x81C, 0xF11C0103,
-+	0x81C, 0xF01E0103,
-+	0x81C, 0xEF200103,
-+	0x81C, 0xEE220103,
-+	0x81C, 0xED240103,
-+	0x81C, 0xEC260103,
-+	0x81C, 0xEB280103,
-+	0x81C, 0xEA2A0103,
-+	0x81C, 0xE92C0103,
-+	0x81C, 0xE82E0103,
-+	0x81C, 0xE7300103,
-+	0x81C, 0xE6320103,
-+	0x81C, 0xE5340103,
-+	0x81C, 0xE4360103,
-+	0x81C, 0xE3380103,
-+	0x81C, 0xE23A0103,
-+	0x81C, 0xE13C0103,
-+	0x81C, 0xA43E0103,
-+	0x81C, 0xA3400103,
-+	0x81C, 0xA2420103,
-+	0x81C, 0xA1440103,
-+	0x81C, 0x86460103,
-+	0x81C, 0x85480103,
-+	0x81C, 0x844A0103,
-+	0x81C, 0x834C0103,
-+	0x81C, 0x824E0103,
-+	0x81C, 0x81500103,
-+	0x81C, 0x64520103,
-+	0x81C, 0x63540103,
-+	0x81C, 0x62560103,
-+	0x81C, 0x61580103,
-+	0x81C, 0x435A0103,
-+	0x81C, 0x425C0103,
-+	0x81C, 0x415E0103,
-+	0x81C, 0x25600103,
-+	0x81C, 0x24620103,
-+	0x81C, 0x06640103,
-+	0x81C, 0x05660103,
-+	0x81C, 0x04680103,
-+	0x81C, 0x036A0103,
-+	0x81C, 0x026C0103,
-+	0x81C, 0x016E0103,
-+	0x81C, 0x01700103,
-+	0x81C, 0x01720103,
-+	0x81C, 0x01740103,
-+	0x81C, 0x01760103,
-+	0x81C, 0x01780103,
-+	0x81C, 0x017A0103,
-+	0x81C, 0x017C0103,
-+	0x81C, 0x017E0103,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFA000203,
-+	0x81C, 0xF9020203,
-+	0x81C, 0xF8040203,
-+	0x81C, 0xF7060203,
-+	0x81C, 0xF6080203,
-+	0x81C, 0xF50A0203,
-+	0x81C, 0xF40C0203,
-+	0x81C, 0xF30E0203,
-+	0x81C, 0xF2100203,
-+	0x81C, 0xF1120203,
-+	0x81C, 0xF0140203,
-+	0x81C, 0xEF160203,
-+	0x81C, 0xEE180203,
-+	0x81C, 0xED1A0203,
-+	0x81C, 0xEC1C0203,
-+	0x81C, 0xEB1E0203,
-+	0x81C, 0xEA200203,
-+	0x81C, 0xE9220203,
-+	0x81C, 0xE8240203,
-+	0x81C, 0xE7260203,
-+	0x81C, 0xE6280203,
-+	0x81C, 0xE52A0203,
-+	0x81C, 0xE42C0203,
-+	0x81C, 0xE32E0203,
-+	0x81C, 0xE2300203,
-+	0x81C, 0xE1320203,
-+	0x81C, 0xA5340203,
-+	0x81C, 0xA4360203,
-+	0x81C, 0xA3380203,
-+	0x81C, 0xA23A0203,
-+	0x81C, 0xA13C0203,
-+	0x81C, 0x843E0203,
-+	0x81C, 0x83400203,
-+	0x81C, 0x82420203,
-+	0x81C, 0x81440203,
-+	0x81C, 0x63460203,
-+	0x81C, 0x62480203,
-+	0x81C, 0x614A0203,
-+	0x81C, 0x464C0203,
-+	0x81C, 0x454E0203,
-+	0x81C, 0x44500203,
-+	0x81C, 0x43520203,
-+	0x81C, 0x42540203,
-+	0x81C, 0x41560203,
-+	0x81C, 0x24580203,
-+	0x81C, 0x235A0203,
-+	0x81C, 0x065C0203,
-+	0x81C, 0x055E0203,
-+	0x81C, 0x04600203,
-+	0x81C, 0x03620203,
-+	0x81C, 0x02640203,
-+	0x81C, 0x01660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF8000203,
-+	0x81C, 0xF7020203,
-+	0x81C, 0xF6040203,
-+	0x81C, 0xF5060203,
-+	0x81C, 0xF4080203,
-+	0x81C, 0xF30A0203,
-+	0x81C, 0xF20C0203,
-+	0x81C, 0xF10E0203,
-+	0x81C, 0xF0100203,
-+	0x81C, 0xEF120203,
-+	0x81C, 0xEE140203,
-+	0x81C, 0xED160203,
-+	0x81C, 0xEC180203,
-+	0x81C, 0xEB1A0203,
-+	0x81C, 0xEA1C0203,
-+	0x81C, 0xE91E0203,
-+	0x81C, 0xE8200203,
-+	0x81C, 0xE7220203,
-+	0x81C, 0xE6240203,
-+	0x81C, 0xE5260203,
-+	0x81C, 0xE4280203,
-+	0x81C, 0xE32A0203,
-+	0x81C, 0xE22C0203,
-+	0x81C, 0xE12E0203,
-+	0x81C, 0xA6300203,
-+	0x81C, 0xA5320203,
-+	0x81C, 0xA4340203,
-+	0x81C, 0xA3360203,
-+	0x81C, 0xA2380203,
-+	0x81C, 0x853A0203,
-+	0x81C, 0x843C0203,
-+	0x81C, 0x833E0203,
-+	0x81C, 0x82400203,
-+	0x81C, 0x81420203,
-+	0x81C, 0x64440203,
-+	0x81C, 0x63460203,
-+	0x81C, 0x62480203,
-+	0x81C, 0x614A0203,
-+	0x81C, 0x444C0203,
-+	0x81C, 0x434E0203,
-+	0x81C, 0x42500203,
-+	0x81C, 0x25520203,
-+	0x81C, 0x24540203,
-+	0x81C, 0x23560203,
-+	0x81C, 0x06580203,
-+	0x81C, 0x055A0203,
-+	0x81C, 0x045C0203,
-+	0x81C, 0x035E0203,
-+	0x81C, 0x02600203,
-+	0x81C, 0x01620203,
-+	0x81C, 0x01640203,
-+	0x81C, 0x01660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFC000203,
-+	0x81C, 0xFB020203,
-+	0x81C, 0xFA040203,
-+	0x81C, 0xF9060203,
-+	0x81C, 0xF8080203,
-+	0x81C, 0xF70A0203,
-+	0x81C, 0xF60C0203,
-+	0x81C, 0xF50E0203,
-+	0x81C, 0xF4100203,
-+	0x81C, 0xF3120203,
-+	0x81C, 0xF2140203,
-+	0x81C, 0xF1160203,
-+	0x81C, 0xF0180203,
-+	0x81C, 0xEF1A0203,
-+	0x81C, 0xEE1C0203,
-+	0x81C, 0xED1E0203,
-+	0x81C, 0xEC200203,
-+	0x81C, 0xEB220203,
-+	0x81C, 0xEA240203,
-+	0x81C, 0xE9260203,
-+	0x81C, 0xE8280203,
-+	0x81C, 0xE72A0203,
-+	0x81C, 0xE62C0203,
-+	0x81C, 0xE52E0203,
-+	0x81C, 0xE4300203,
-+	0x81C, 0xE3320203,
-+	0x81C, 0xE2340203,
-+	0x81C, 0xE1360203,
-+	0x81C, 0x87380203,
-+	0x81C, 0x863A0203,
-+	0x81C, 0x853C0203,
-+	0x81C, 0x843E0203,
-+	0x81C, 0x83400203,
-+	0x81C, 0x82420203,
-+	0x81C, 0x81440203,
-+	0x81C, 0x64460203,
-+	0x81C, 0x63480203,
-+	0x81C, 0x624A0203,
-+	0x81C, 0x474C0203,
-+	0x81C, 0x464E0203,
-+	0x81C, 0x45500203,
-+	0x81C, 0x44520203,
-+	0x81C, 0x43540203,
-+	0x81C, 0x42560203,
-+	0x81C, 0x24580203,
-+	0x81C, 0x235A0203,
-+	0x81C, 0x075C0203,
-+	0x81C, 0x065E0203,
-+	0x81C, 0x05600203,
-+	0x81C, 0x04620203,
-+	0x81C, 0x03640203,
-+	0x81C, 0x02660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF8000203,
-+	0x81C, 0xF7020203,
-+	0x81C, 0xF6040203,
-+	0x81C, 0xF5060203,
-+	0x81C, 0xF4080203,
-+	0x81C, 0xF30A0203,
-+	0x81C, 0xF20C0203,
-+	0x81C, 0xF10E0203,
-+	0x81C, 0xF0100203,
-+	0x81C, 0xEF120203,
-+	0x81C, 0xEE140203,
-+	0x81C, 0xED160203,
-+	0x81C, 0xEC180203,
-+	0x81C, 0xEB1A0203,
-+	0x81C, 0xEA1C0203,
-+	0x81C, 0xE91E0203,
-+	0x81C, 0xE8200203,
-+	0x81C, 0xE7220203,
-+	0x81C, 0xE6240203,
-+	0x81C, 0xE5260203,
-+	0x81C, 0xE4280203,
-+	0x81C, 0xE32A0203,
-+	0x81C, 0xE22C0203,
-+	0x81C, 0xE12E0203,
-+	0x81C, 0xA6300203,
-+	0x81C, 0xA5320203,
-+	0x81C, 0xA4340203,
-+	0x81C, 0xA3360203,
-+	0x81C, 0xA2380203,
-+	0x81C, 0xA13A0203,
-+	0x81C, 0x843C0203,
-+	0x81C, 0x833E0203,
-+	0x81C, 0x82400203,
-+	0x81C, 0x81420203,
-+	0x81C, 0x64440203,
-+	0x81C, 0x63460203,
-+	0x81C, 0x62480203,
-+	0x81C, 0x614A0203,
-+	0x81C, 0x444C0203,
-+	0x81C, 0x434E0203,
-+	0x81C, 0x42500203,
-+	0x81C, 0x41520203,
-+	0x81C, 0x25540203,
-+	0x81C, 0x24560203,
-+	0x81C, 0x23580203,
-+	0x81C, 0x065A0203,
-+	0x81C, 0x055C0203,
-+	0x81C, 0x045E0203,
-+	0x81C, 0x03600203,
-+	0x81C, 0x02620203,
-+	0x81C, 0x01640203,
-+	0x81C, 0x01660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFB000203,
-+	0x81C, 0xFA020203,
-+	0x81C, 0xF9040203,
-+	0x81C, 0xF8060203,
-+	0x81C, 0xF7080203,
-+	0x81C, 0xF60A0203,
-+	0x81C, 0xF50C0203,
-+	0x81C, 0xF40E0203,
-+	0x81C, 0xF3100203,
-+	0x81C, 0xF2120203,
-+	0x81C, 0xF1140203,
-+	0x81C, 0xF0160203,
-+	0x81C, 0xEF180203,
-+	0x81C, 0xEE1A0203,
-+	0x81C, 0xED1C0203,
-+	0x81C, 0xEC1E0203,
-+	0x81C, 0xEB200203,
-+	0x81C, 0xEA220203,
-+	0x81C, 0xE9240203,
-+	0x81C, 0xE8260203,
-+	0x81C, 0xE7280203,
-+	0x81C, 0xE62A0203,
-+	0x81C, 0xE52C0203,
-+	0x81C, 0xE42E0203,
-+	0x81C, 0xE3300203,
-+	0x81C, 0xE2320203,
-+	0x81C, 0xE1340203,
-+	0x81C, 0xA5360203,
-+	0x81C, 0xA4380203,
-+	0x81C, 0xA33A0203,
-+	0x81C, 0xA23C0203,
-+	0x81C, 0x843E0203,
-+	0x81C, 0x83400203,
-+	0x81C, 0x82420203,
-+	0x81C, 0x81440203,
-+	0x81C, 0x64460203,
-+	0x81C, 0x63480203,
-+	0x81C, 0x624A0203,
-+	0x81C, 0x614C0203,
-+	0x81C, 0x474E0203,
-+	0x81C, 0x46500203,
-+	0x81C, 0x45520203,
-+	0x81C, 0x44540203,
-+	0x81C, 0x43560203,
-+	0x81C, 0x25580203,
-+	0x81C, 0x245A0203,
-+	0x81C, 0x235C0203,
-+	0x81C, 0x075E0203,
-+	0x81C, 0x06600203,
-+	0x81C, 0x05620203,
-+	0x81C, 0x04640203,
-+	0x81C, 0x03660203,
-+	0x81C, 0x02680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFC000203,
-+	0x81C, 0xFB020203,
-+	0x81C, 0xFA040203,
-+	0x81C, 0xF9060203,
-+	0x81C, 0xF8080203,
-+	0x81C, 0xF70A0203,
-+	0x81C, 0xF60C0203,
-+	0x81C, 0xF50E0203,
-+	0x81C, 0xF4100203,
-+	0x81C, 0xF3120203,
-+	0x81C, 0xF2140203,
-+	0x81C, 0xF1160203,
-+	0x81C, 0xF0180203,
-+	0x81C, 0xEF1A0203,
-+	0x81C, 0xEE1C0203,
-+	0x81C, 0xED1E0203,
-+	0x81C, 0xEC200203,
-+	0x81C, 0xEB220203,
-+	0x81C, 0xEA240203,
-+	0x81C, 0xE9260203,
-+	0x81C, 0xE8280203,
-+	0x81C, 0xE72A0203,
-+	0x81C, 0xE62C0203,
-+	0x81C, 0xE52E0203,
-+	0x81C, 0xE4300203,
-+	0x81C, 0xE3320203,
-+	0x81C, 0xE2340203,
-+	0x81C, 0xE1360203,
-+	0x81C, 0xA5380203,
-+	0x81C, 0xA43A0203,
-+	0x81C, 0xA33C0203,
-+	0x81C, 0x853E0203,
-+	0x81C, 0x84400203,
-+	0x81C, 0x83420203,
-+	0x81C, 0x82440203,
-+	0x81C, 0x81460203,
-+	0x81C, 0x64480203,
-+	0x81C, 0x634A0203,
-+	0x81C, 0x624C0203,
-+	0x81C, 0x614E0203,
-+	0x81C, 0x46500203,
-+	0x81C, 0x45520203,
-+	0x81C, 0x44540203,
-+	0x81C, 0x43560203,
-+	0x81C, 0x25580203,
-+	0x81C, 0x245A0203,
-+	0x81C, 0x235C0203,
-+	0x81C, 0x075E0203,
-+	0x81C, 0x06600203,
-+	0x81C, 0x05620203,
-+	0x81C, 0x04640203,
-+	0x81C, 0x03660203,
-+	0x81C, 0x02680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000203,
-+	0x81C, 0xFF020203,
-+	0x81C, 0xFE040203,
-+	0x81C, 0xFD060203,
-+	0x81C, 0xFC080203,
-+	0x81C, 0xFB0A0203,
-+	0x81C, 0xFA0C0203,
-+	0x81C, 0xF90E0203,
-+	0x81C, 0xF8100203,
-+	0x81C, 0xF7120203,
-+	0x81C, 0xF6140203,
-+	0x81C, 0xF5160203,
-+	0x81C, 0xF4180203,
-+	0x81C, 0xF31A0203,
-+	0x81C, 0xF21C0203,
-+	0x81C, 0xF11E0203,
-+	0x81C, 0xF0200203,
-+	0x81C, 0xEF220203,
-+	0x81C, 0xEE240203,
-+	0x81C, 0xED260203,
-+	0x81C, 0xEC280203,
-+	0x81C, 0xEB2A0203,
-+	0x81C, 0xEA2C0203,
-+	0x81C, 0xE92E0203,
-+	0x81C, 0xE8300203,
-+	0x81C, 0xE7320203,
-+	0x81C, 0xE6340203,
-+	0x81C, 0xE5360203,
-+	0x81C, 0xE4380203,
-+	0x81C, 0xE33A0203,
-+	0x81C, 0xE23C0203,
-+	0x81C, 0xE13E0203,
-+	0x81C, 0xA4400203,
-+	0x81C, 0xA3420203,
-+	0x81C, 0xA2440203,
-+	0x81C, 0xA1460203,
-+	0x81C, 0x84480203,
-+	0x81C, 0x834A0203,
-+	0x81C, 0x824C0203,
-+	0x81C, 0x814E0203,
-+	0x81C, 0x64500203,
-+	0x81C, 0x63520203,
-+	0x81C, 0x62540203,
-+	0x81C, 0x61560203,
-+	0x81C, 0x45580203,
-+	0x81C, 0x445A0203,
-+	0x81C, 0x435C0203,
-+	0x81C, 0x425E0203,
-+	0x81C, 0x24600203,
-+	0x81C, 0x23620203,
-+	0x81C, 0x07640203,
-+	0x81C, 0x06660203,
-+	0x81C, 0x05680203,
-+	0x81C, 0x046A0203,
-+	0x81C, 0x036C0203,
-+	0x81C, 0x026E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF7000203,
-+	0x81C, 0xF6020203,
-+	0x81C, 0xF5040203,
-+	0x81C, 0xF4060203,
-+	0x81C, 0xF3080203,
-+	0x81C, 0xF20A0203,
-+	0x81C, 0xF10C0203,
-+	0x81C, 0xF00E0203,
-+	0x81C, 0xEF100203,
-+	0x81C, 0xEE120203,
-+	0x81C, 0xED140203,
-+	0x81C, 0xEC160203,
-+	0x81C, 0xEB180203,
-+	0x81C, 0xEA1A0203,
-+	0x81C, 0xE91C0203,
-+	0x81C, 0xE81E0203,
-+	0x81C, 0xE7200203,
-+	0x81C, 0xE6220203,
-+	0x81C, 0xE5240203,
-+	0x81C, 0xE4260203,
-+	0x81C, 0xE3280203,
-+	0x81C, 0xE22A0203,
-+	0x81C, 0xA62C0203,
-+	0x81C, 0xA52E0203,
-+	0x81C, 0xA4300203,
-+	0x81C, 0xA3320203,
-+	0x81C, 0xA2340203,
-+	0x81C, 0xA1360203,
-+	0x81C, 0x86380203,
-+	0x81C, 0x853A0203,
-+	0x81C, 0x843C0203,
-+	0x81C, 0x833E0203,
-+	0x81C, 0x65400203,
-+	0x81C, 0x64420203,
-+	0x81C, 0x63440203,
-+	0x81C, 0x46460203,
-+	0x81C, 0x45480203,
-+	0x81C, 0x444A0203,
-+	0x81C, 0x434C0203,
-+	0x81C, 0x264E0203,
-+	0x81C, 0x25500203,
-+	0x81C, 0x24520203,
-+	0x81C, 0x08540203,
-+	0x81C, 0x07560203,
-+	0x81C, 0x06580203,
-+	0x81C, 0x055A0203,
-+	0x81C, 0x045C0203,
-+	0x81C, 0x035E0203,
-+	0x81C, 0x02600203,
-+	0x81C, 0x01620203,
-+	0x81C, 0x01640203,
-+	0x81C, 0x01660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFF000203,
-+	0x81C, 0xFF020203,
-+	0x81C, 0xFE040203,
-+	0x81C, 0xFD060203,
-+	0x81C, 0xFC080203,
-+	0x81C, 0xFB0A0203,
-+	0x81C, 0xFA0C0203,
-+	0x81C, 0xF90E0203,
-+	0x81C, 0xF8100203,
-+	0x81C, 0xF7120203,
-+	0x81C, 0xF6140203,
-+	0x81C, 0xF5160203,
-+	0x81C, 0xF4180203,
-+	0x81C, 0xF31A0203,
-+	0x81C, 0xF21C0203,
-+	0x81C, 0xF11E0203,
-+	0x81C, 0xF0200203,
-+	0x81C, 0xEF220203,
-+	0x81C, 0xEE240203,
-+	0x81C, 0xED260203,
-+	0x81C, 0xEC280203,
-+	0x81C, 0xEB2A0203,
-+	0x81C, 0xEA2C0203,
-+	0x81C, 0xE92E0203,
-+	0x81C, 0xE8300203,
-+	0x81C, 0xE7320203,
-+	0x81C, 0xE6340203,
-+	0x81C, 0xE5360203,
-+	0x81C, 0xE4380203,
-+	0x81C, 0xE33A0203,
-+	0x81C, 0xE23C0203,
-+	0x81C, 0xE13E0203,
-+	0x81C, 0xA4400203,
-+	0x81C, 0xA3420203,
-+	0x81C, 0xA2440203,
-+	0x81C, 0xA1460203,
-+	0x81C, 0x84480203,
-+	0x81C, 0x834A0203,
-+	0x81C, 0x824C0203,
-+	0x81C, 0x814E0203,
-+	0x81C, 0x64500203,
-+	0x81C, 0x63520203,
-+	0x81C, 0x62540203,
-+	0x81C, 0x61560203,
-+	0x81C, 0x45580203,
-+	0x81C, 0x445A0203,
-+	0x81C, 0x435C0203,
-+	0x81C, 0x425E0203,
-+	0x81C, 0x24600203,
-+	0x81C, 0x23620203,
-+	0x81C, 0x07640203,
-+	0x81C, 0x06660203,
-+	0x81C, 0x05680203,
-+	0x81C, 0x046A0203,
-+	0x81C, 0x036C0203,
-+	0x81C, 0x026E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF8000203,
-+	0x81C, 0xF7020203,
-+	0x81C, 0xF6040203,
-+	0x81C, 0xF5060203,
-+	0x81C, 0xF4080203,
-+	0x81C, 0xF30A0203,
-+	0x81C, 0xF20C0203,
-+	0x81C, 0xF10E0203,
-+	0x81C, 0xF0100203,
-+	0x81C, 0xEF120203,
-+	0x81C, 0xEE140203,
-+	0x81C, 0xED160203,
-+	0x81C, 0xEC180203,
-+	0x81C, 0xEB1A0203,
-+	0x81C, 0xEA1C0203,
-+	0x81C, 0xE91E0203,
-+	0x81C, 0xE8200203,
-+	0x81C, 0xE7220203,
-+	0x81C, 0xE6240203,
-+	0x81C, 0xE5260203,
-+	0x81C, 0xE4280203,
-+	0x81C, 0xE32A0203,
-+	0x81C, 0xE22C0203,
-+	0x81C, 0xE12E0203,
-+	0x81C, 0xA6300203,
-+	0x81C, 0xA5320203,
-+	0x81C, 0xA4340203,
-+	0x81C, 0xA3360203,
-+	0x81C, 0xA2380203,
-+	0x81C, 0xA13A0203,
-+	0x81C, 0x843C0203,
-+	0x81C, 0x833E0203,
-+	0x81C, 0x82400203,
-+	0x81C, 0x81420203,
-+	0x81C, 0x64440203,
-+	0x81C, 0x63460203,
-+	0x81C, 0x62480203,
-+	0x81C, 0x614A0203,
-+	0x81C, 0x444C0203,
-+	0x81C, 0x434E0203,
-+	0x81C, 0x42500203,
-+	0x81C, 0x41520203,
-+	0x81C, 0x25540203,
-+	0x81C, 0x24560203,
-+	0x81C, 0x23580203,
-+	0x81C, 0x065A0203,
-+	0x81C, 0x055C0203,
-+	0x81C, 0x045E0203,
-+	0x81C, 0x03600203,
-+	0x81C, 0x02620203,
-+	0x81C, 0x01640203,
-+	0x81C, 0x01660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF9000203,
-+	0x81C, 0xF8020203,
-+	0x81C, 0xF7040203,
-+	0x81C, 0xF6060203,
-+	0x81C, 0xF5080203,
-+	0x81C, 0xF40A0203,
-+	0x81C, 0xF30C0203,
-+	0x81C, 0xF20E0203,
-+	0x81C, 0xF1100203,
-+	0x81C, 0xF0120203,
-+	0x81C, 0xEF140203,
-+	0x81C, 0xCE160203,
-+	0x81C, 0xCD180203,
-+	0x81C, 0xCC1A0203,
-+	0x81C, 0xCB1C0203,
-+	0x81C, 0xCA1E0203,
-+	0x81C, 0xC9200203,
-+	0x81C, 0xC8220203,
-+	0x81C, 0xC7240203,
-+	0x81C, 0xC6260203,
-+	0x81C, 0xC5280203,
-+	0x81C, 0xC42A0203,
-+	0x81C, 0xC32C0203,
-+	0x81C, 0xC22E0203,
-+	0x81C, 0xC1300203,
-+	0x81C, 0xA5320203,
-+	0x81C, 0xA4340203,
-+	0x81C, 0xA3360203,
-+	0x81C, 0xA2380203,
-+	0x81C, 0xA13A0203,
-+	0x81C, 0x853C0203,
-+	0x81C, 0x843E0203,
-+	0x81C, 0x83400203,
-+	0x81C, 0x82420203,
-+	0x81C, 0x81440203,
-+	0x81C, 0x64460203,
-+	0x81C, 0x63480203,
-+	0x81C, 0x624A0203,
-+	0x81C, 0x614C0203,
-+	0x81C, 0x444E0203,
-+	0x81C, 0x43500203,
-+	0x81C, 0x42520203,
-+	0x81C, 0x41540203,
-+	0x81C, 0x24560203,
-+	0x81C, 0x23580203,
-+	0x81C, 0x075A0203,
-+	0x81C, 0x065C0203,
-+	0x81C, 0x055E0203,
-+	0x81C, 0x04600203,
-+	0x81C, 0x03620203,
-+	0x81C, 0x02640203,
-+	0x81C, 0x01660203,
-+	0x81C, 0x01680203,
-+	0x81C, 0x016A0203,
-+	0x81C, 0x016C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0xA0000000,	0x00000000,
-+	0x81C, 0xFF000203,
-+	0x81C, 0xFF020203,
-+	0x81C, 0xFE040203,
-+	0x81C, 0xFD060203,
-+	0x81C, 0xFC080203,
-+	0x81C, 0xFB0A0203,
-+	0x81C, 0xFA0C0203,
-+	0x81C, 0xF90E0203,
-+	0x81C, 0xF8100203,
-+	0x81C, 0xF7120203,
-+	0x81C, 0xF6140203,
-+	0x81C, 0xF5160203,
-+	0x81C, 0xF4180203,
-+	0x81C, 0xF31A0203,
-+	0x81C, 0xF21C0203,
-+	0x81C, 0xF11E0203,
-+	0x81C, 0xF0200203,
-+	0x81C, 0xEF220203,
-+	0x81C, 0xEE240203,
-+	0x81C, 0xED260203,
-+	0x81C, 0xEC280203,
-+	0x81C, 0xEB2A0203,
-+	0x81C, 0xEA2C0203,
-+	0x81C, 0xE92E0203,
-+	0x81C, 0xE8300203,
-+	0x81C, 0xE7320203,
-+	0x81C, 0xE6340203,
-+	0x81C, 0xE5360203,
-+	0x81C, 0xE4380203,
-+	0x81C, 0xE33A0203,
-+	0x81C, 0xE23C0203,
-+	0x81C, 0xE13E0203,
-+	0x81C, 0xA4400203,
-+	0x81C, 0xA3420203,
-+	0x81C, 0xA2440203,
-+	0x81C, 0xA1460203,
-+	0x81C, 0x85480203,
-+	0x81C, 0x844A0203,
-+	0x81C, 0x834C0203,
-+	0x81C, 0x824E0203,
-+	0x81C, 0x81500203,
-+	0x81C, 0x64520203,
-+	0x81C, 0x63540203,
-+	0x81C, 0x62560203,
-+	0x81C, 0x61580203,
-+	0x81C, 0x445A0203,
-+	0x81C, 0x435C0203,
-+	0x81C, 0x425E0203,
-+	0x81C, 0x25600203,
-+	0x81C, 0x24620203,
-+	0x81C, 0x06640203,
-+	0x81C, 0x05660203,
-+	0x81C, 0x04680203,
-+	0x81C, 0x036A0203,
-+	0x81C, 0x026C0203,
-+	0x81C, 0x016E0203,
-+	0x81C, 0x01700203,
-+	0x81C, 0x01720203,
-+	0x81C, 0x01740203,
-+	0x81C, 0x01760203,
-+	0x81C, 0x01780203,
-+	0x81C, 0x017A0203,
-+	0x81C, 0x017C0203,
-+	0x81C, 0x017E0203,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF8000303,
-+	0x81C, 0xF7020303,
-+	0x81C, 0xF6040303,
-+	0x81C, 0xF5060303,
-+	0x81C, 0xF4080303,
-+	0x81C, 0xF30A0303,
-+	0x81C, 0xF20C0303,
-+	0x81C, 0xF10E0303,
-+	0x81C, 0xF0100303,
-+	0x81C, 0xEF120303,
-+	0x81C, 0xEE140303,
-+	0x81C, 0xED160303,
-+	0x81C, 0xEC180303,
-+	0x81C, 0xEB1A0303,
-+	0x81C, 0xEA1C0303,
-+	0x81C, 0xE91E0303,
-+	0x81C, 0xE8200303,
-+	0x81C, 0xE7220303,
-+	0x81C, 0xE6240303,
-+	0x81C, 0xE5260303,
-+	0x81C, 0xE4280303,
-+	0x81C, 0xE32A0303,
-+	0x81C, 0xE22C0303,
-+	0x81C, 0xE12E0303,
-+	0x81C, 0xA6300303,
-+	0x81C, 0xA5320303,
-+	0x81C, 0xA4340303,
-+	0x81C, 0xA3360303,
-+	0x81C, 0xA2380303,
-+	0x81C, 0xA13A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x82400303,
-+	0x81C, 0x81420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x63460303,
-+	0x81C, 0x62480303,
-+	0x81C, 0x614A0303,
-+	0x81C, 0x454C0303,
-+	0x81C, 0x444E0303,
-+	0x81C, 0x43500303,
-+	0x81C, 0x42520303,
-+	0x81C, 0x41540303,
-+	0x81C, 0x24560303,
-+	0x81C, 0x23580303,
-+	0x81C, 0x065A0303,
-+	0x81C, 0x055C0303,
-+	0x81C, 0x045E0303,
-+	0x81C, 0x03600303,
-+	0x81C, 0x02620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF7000303,
-+	0x81C, 0xF6020303,
-+	0x81C, 0xF5040303,
-+	0x81C, 0xF4060303,
-+	0x81C, 0xF3080303,
-+	0x81C, 0xF20A0303,
-+	0x81C, 0xF10C0303,
-+	0x81C, 0xF00E0303,
-+	0x81C, 0xEF100303,
-+	0x81C, 0xEE120303,
-+	0x81C, 0xED140303,
-+	0x81C, 0xEC160303,
-+	0x81C, 0xEB180303,
-+	0x81C, 0xEA1A0303,
-+	0x81C, 0xE91C0303,
-+	0x81C, 0xE81E0303,
-+	0x81C, 0xE7200303,
-+	0x81C, 0xE6220303,
-+	0x81C, 0xE5240303,
-+	0x81C, 0xE4260303,
-+	0x81C, 0xE3280303,
-+	0x81C, 0xC32A0303,
-+	0x81C, 0xC22C0303,
-+	0x81C, 0xC12E0303,
-+	0x81C, 0xA5300303,
-+	0x81C, 0xA4320303,
-+	0x81C, 0xA3340303,
-+	0x81C, 0xA2360303,
-+	0x81C, 0xA1380303,
-+	0x81C, 0x853A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x82400303,
-+	0x81C, 0x81420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x63460303,
-+	0x81C, 0x62480303,
-+	0x81C, 0x614A0303,
-+	0x81C, 0x454C0303,
-+	0x81C, 0x444E0303,
-+	0x81C, 0x43500303,
-+	0x81C, 0x25520303,
-+	0x81C, 0x24540303,
-+	0x81C, 0x23560303,
-+	0x81C, 0x06580303,
-+	0x81C, 0x055A0303,
-+	0x81C, 0x045C0303,
-+	0x81C, 0x035E0303,
-+	0x81C, 0x02600303,
-+	0x81C, 0x01620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF9000303,
-+	0x81C, 0xF8020303,
-+	0x81C, 0xF7040303,
-+	0x81C, 0xF6060303,
-+	0x81C, 0xF5080303,
-+	0x81C, 0xF40A0303,
-+	0x81C, 0xF30C0303,
-+	0x81C, 0xF20E0303,
-+	0x81C, 0xF1100303,
-+	0x81C, 0xF0120303,
-+	0x81C, 0xEF140303,
-+	0x81C, 0xEE160303,
-+	0x81C, 0xED180303,
-+	0x81C, 0xEC1A0303,
-+	0x81C, 0xEB1C0303,
-+	0x81C, 0xEA1E0303,
-+	0x81C, 0xE9200303,
-+	0x81C, 0xE8220303,
-+	0x81C, 0xE7240303,
-+	0x81C, 0xE6260303,
-+	0x81C, 0xE5280303,
-+	0x81C, 0xE42A0303,
-+	0x81C, 0xE32C0303,
-+	0x81C, 0xE22E0303,
-+	0x81C, 0xE1300303,
-+	0x81C, 0xA4320303,
-+	0x81C, 0xA3340303,
-+	0x81C, 0xA2360303,
-+	0x81C, 0xA1380303,
-+	0x81C, 0x853A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x82400303,
-+	0x81C, 0x81420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x63460303,
-+	0x81C, 0x62480303,
-+	0x81C, 0x614A0303,
-+	0x81C, 0x444C0303,
-+	0x81C, 0x434E0303,
-+	0x81C, 0x42500303,
-+	0x81C, 0x25520303,
-+	0x81C, 0x24540303,
-+	0x81C, 0x23560303,
-+	0x81C, 0x07580303,
-+	0x81C, 0x065A0303,
-+	0x81C, 0x055C0303,
-+	0x81C, 0x045E0303,
-+	0x81C, 0x03600303,
-+	0x81C, 0x02620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF7000303,
-+	0x81C, 0xF6020303,
-+	0x81C, 0xF5040303,
-+	0x81C, 0xF4060303,
-+	0x81C, 0xF3080303,
-+	0x81C, 0xF20A0303,
-+	0x81C, 0xF10C0303,
-+	0x81C, 0xF00E0303,
-+	0x81C, 0xEF100303,
-+	0x81C, 0xEE120303,
-+	0x81C, 0xED140303,
-+	0x81C, 0xEC160303,
-+	0x81C, 0xEB180303,
-+	0x81C, 0xEA1A0303,
-+	0x81C, 0xE91C0303,
-+	0x81C, 0xE81E0303,
-+	0x81C, 0xE7200303,
-+	0x81C, 0xE6220303,
-+	0x81C, 0xE5240303,
-+	0x81C, 0xE4260303,
-+	0x81C, 0xE3280303,
-+	0x81C, 0xE22A0303,
-+	0x81C, 0xE12C0303,
-+	0x81C, 0xA72E0303,
-+	0x81C, 0xA6300303,
-+	0x81C, 0xA5320303,
-+	0x81C, 0xA4340303,
-+	0x81C, 0xA3360303,
-+	0x81C, 0xA2380303,
-+	0x81C, 0xA13A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x82400303,
-+	0x81C, 0x81420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x63460303,
-+	0x81C, 0x62480303,
-+	0x81C, 0x614A0303,
-+	0x81C, 0x454C0303,
-+	0x81C, 0x444E0303,
-+	0x81C, 0x43500303,
-+	0x81C, 0x42520303,
-+	0x81C, 0x41540303,
-+	0x81C, 0x24560303,
-+	0x81C, 0x23580303,
-+	0x81C, 0x065A0303,
-+	0x81C, 0x055C0303,
-+	0x81C, 0x045E0303,
-+	0x81C, 0x03600303,
-+	0x81C, 0x02620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFB000303,
-+	0x81C, 0xFA020303,
-+	0x81C, 0xF9040303,
-+	0x81C, 0xF8060303,
-+	0x81C, 0xF7080303,
-+	0x81C, 0xF60A0303,
-+	0x81C, 0xF50C0303,
-+	0x81C, 0xF40E0303,
-+	0x81C, 0xF3100303,
-+	0x81C, 0xF2120303,
-+	0x81C, 0xF1140303,
-+	0x81C, 0xF0160303,
-+	0x81C, 0xEF180303,
-+	0x81C, 0xEE1A0303,
-+	0x81C, 0xED1C0303,
-+	0x81C, 0xEC1E0303,
-+	0x81C, 0xEB200303,
-+	0x81C, 0xEA220303,
-+	0x81C, 0xE9240303,
-+	0x81C, 0xE8260303,
-+	0x81C, 0xE7280303,
-+	0x81C, 0xE62A0303,
-+	0x81C, 0xE52C0303,
-+	0x81C, 0xE42E0303,
-+	0x81C, 0xE3300303,
-+	0x81C, 0xE2320303,
-+	0x81C, 0xE1340303,
-+	0x81C, 0xC2360303,
-+	0x81C, 0xC1380303,
-+	0x81C, 0xA33A0303,
-+	0x81C, 0xA23C0303,
-+	0x81C, 0x853E0303,
-+	0x81C, 0x84400303,
-+	0x81C, 0x83420303,
-+	0x81C, 0x66440303,
-+	0x81C, 0x65460303,
-+	0x81C, 0x64480303,
-+	0x81C, 0x634A0303,
-+	0x81C, 0x624C0303,
-+	0x81C, 0x614E0303,
-+	0x81C, 0x45500303,
-+	0x81C, 0x44520303,
-+	0x81C, 0x43540303,
-+	0x81C, 0x42560303,
-+	0x81C, 0x25580303,
-+	0x81C, 0x245A0303,
-+	0x81C, 0x235C0303,
-+	0x81C, 0x065E0303,
-+	0x81C, 0x05600303,
-+	0x81C, 0x04620303,
-+	0x81C, 0x03640303,
-+	0x81C, 0x02660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF9000303,
-+	0x81C, 0xF8020303,
-+	0x81C, 0xF7040303,
-+	0x81C, 0xF6060303,
-+	0x81C, 0xF5080303,
-+	0x81C, 0xF40A0303,
-+	0x81C, 0xF30C0303,
-+	0x81C, 0xF20E0303,
-+	0x81C, 0xF1100303,
-+	0x81C, 0xF0120303,
-+	0x81C, 0xEF140303,
-+	0x81C, 0xEE160303,
-+	0x81C, 0xED180303,
-+	0x81C, 0xEC1A0303,
-+	0x81C, 0xEB1C0303,
-+	0x81C, 0xEA1E0303,
-+	0x81C, 0xE9200303,
-+	0x81C, 0xE8220303,
-+	0x81C, 0xE7240303,
-+	0x81C, 0xE6260303,
-+	0x81C, 0xE5280303,
-+	0x81C, 0xE42A0303,
-+	0x81C, 0xE32C0303,
-+	0x81C, 0xE22E0303,
-+	0x81C, 0xE1300303,
-+	0x81C, 0xA6320303,
-+	0x81C, 0xA5340303,
-+	0x81C, 0xA4360303,
-+	0x81C, 0xA3380303,
-+	0x81C, 0xA23A0303,
-+	0x81C, 0xA13C0303,
-+	0x81C, 0x853E0303,
-+	0x81C, 0x84400303,
-+	0x81C, 0x83420303,
-+	0x81C, 0x82440303,
-+	0x81C, 0x81460303,
-+	0x81C, 0x64480303,
-+	0x81C, 0x634A0303,
-+	0x81C, 0x624C0303,
-+	0x81C, 0x614E0303,
-+	0x81C, 0x44500303,
-+	0x81C, 0x43520303,
-+	0x81C, 0x42540303,
-+	0x81C, 0x41560303,
-+	0x81C, 0x25580303,
-+	0x81C, 0x245A0303,
-+	0x81C, 0x235C0303,
-+	0x81C, 0x055E0303,
-+	0x81C, 0x04600303,
-+	0x81C, 0x03620303,
-+	0x81C, 0x02640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000303,
-+	0x81C, 0xFD020303,
-+	0x81C, 0xFC040303,
-+	0x81C, 0xFB060303,
-+	0x81C, 0xFA080303,
-+	0x81C, 0xF90A0303,
-+	0x81C, 0xF80C0303,
-+	0x81C, 0xF70E0303,
-+	0x81C, 0xF6100303,
-+	0x81C, 0xF5120303,
-+	0x81C, 0xF4140303,
-+	0x81C, 0xF3160303,
-+	0x81C, 0xF2180303,
-+	0x81C, 0xF11A0303,
-+	0x81C, 0xF01C0303,
-+	0x81C, 0xEF1E0303,
-+	0x81C, 0xEE200303,
-+	0x81C, 0xED220303,
-+	0x81C, 0xEC240303,
-+	0x81C, 0xEB260303,
-+	0x81C, 0xEA280303,
-+	0x81C, 0xE92A0303,
-+	0x81C, 0xE82C0303,
-+	0x81C, 0xE72E0303,
-+	0x81C, 0xE6300303,
-+	0x81C, 0xE5320303,
-+	0x81C, 0xE4340303,
-+	0x81C, 0xE3360303,
-+	0x81C, 0xC3380303,
-+	0x81C, 0xC23A0303,
-+	0x81C, 0xC13C0303,
-+	0x81C, 0xA43E0303,
-+	0x81C, 0xA3400303,
-+	0x81C, 0xA2420303,
-+	0x81C, 0xA1440303,
-+	0x81C, 0x85460303,
-+	0x81C, 0x84480303,
-+	0x81C, 0x834A0303,
-+	0x81C, 0x824C0303,
-+	0x81C, 0x814E0303,
-+	0x81C, 0x64500303,
-+	0x81C, 0x63520303,
-+	0x81C, 0x62540303,
-+	0x81C, 0x61560303,
-+	0x81C, 0x44580303,
-+	0x81C, 0x435A0303,
-+	0x81C, 0x425C0303,
-+	0x81C, 0x265E0303,
-+	0x81C, 0x25600303,
-+	0x81C, 0x24620303,
-+	0x81C, 0x06640303,
-+	0x81C, 0x05660303,
-+	0x81C, 0x04680303,
-+	0x81C, 0x036A0303,
-+	0x81C, 0x026C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF7000303,
-+	0x81C, 0xF6020303,
-+	0x81C, 0xF5040303,
-+	0x81C, 0xF4060303,
-+	0x81C, 0xF3080303,
-+	0x81C, 0xF20A0303,
-+	0x81C, 0xF10C0303,
-+	0x81C, 0xF00E0303,
-+	0x81C, 0xEF100303,
-+	0x81C, 0xEE120303,
-+	0x81C, 0xED140303,
-+	0x81C, 0xEC160303,
-+	0x81C, 0xEB180303,
-+	0x81C, 0xEA1A0303,
-+	0x81C, 0xE91C0303,
-+	0x81C, 0xE81E0303,
-+	0x81C, 0xE7200303,
-+	0x81C, 0xE6220303,
-+	0x81C, 0xE5240303,
-+	0x81C, 0xE4260303,
-+	0x81C, 0xE3280303,
-+	0x81C, 0xE22A0303,
-+	0x81C, 0xA62C0303,
-+	0x81C, 0xA52E0303,
-+	0x81C, 0xA4300303,
-+	0x81C, 0xA3320303,
-+	0x81C, 0xA2340303,
-+	0x81C, 0x87360303,
-+	0x81C, 0x86380303,
-+	0x81C, 0x853A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x66400303,
-+	0x81C, 0x65420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x45460303,
-+	0x81C, 0x44480303,
-+	0x81C, 0x434A0303,
-+	0x81C, 0x274C0303,
-+	0x81C, 0x264E0303,
-+	0x81C, 0x25500303,
-+	0x81C, 0x24520303,
-+	0x81C, 0x23540303,
-+	0x81C, 0x08560303,
-+	0x81C, 0x07580303,
-+	0x81C, 0x065A0303,
-+	0x81C, 0x055C0303,
-+	0x81C, 0x045E0303,
-+	0x81C, 0x03600303,
-+	0x81C, 0x02620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xFE000303,
-+	0x81C, 0xFD020303,
-+	0x81C, 0xFC040303,
-+	0x81C, 0xFB060303,
-+	0x81C, 0xFA080303,
-+	0x81C, 0xF90A0303,
-+	0x81C, 0xF80C0303,
-+	0x81C, 0xF70E0303,
-+	0x81C, 0xF6100303,
-+	0x81C, 0xF5120303,
-+	0x81C, 0xF4140303,
-+	0x81C, 0xF3160303,
-+	0x81C, 0xF2180303,
-+	0x81C, 0xF11A0303,
-+	0x81C, 0xF01C0303,
-+	0x81C, 0xEF1E0303,
-+	0x81C, 0xEE200303,
-+	0x81C, 0xED220303,
-+	0x81C, 0xEC240303,
-+	0x81C, 0xEB260303,
-+	0x81C, 0xEA280303,
-+	0x81C, 0xE92A0303,
-+	0x81C, 0xE82C0303,
-+	0x81C, 0xE72E0303,
-+	0x81C, 0xE6300303,
-+	0x81C, 0xE5320303,
-+	0x81C, 0xE4340303,
-+	0x81C, 0xE3360303,
-+	0x81C, 0xC3380303,
-+	0x81C, 0xC23A0303,
-+	0x81C, 0xC13C0303,
-+	0x81C, 0xA43E0303,
-+	0x81C, 0xA3400303,
-+	0x81C, 0xA2420303,
-+	0x81C, 0xA1440303,
-+	0x81C, 0x85460303,
-+	0x81C, 0x84480303,
-+	0x81C, 0x834A0303,
-+	0x81C, 0x824C0303,
-+	0x81C, 0x814E0303,
-+	0x81C, 0x64500303,
-+	0x81C, 0x63520303,
-+	0x81C, 0x62540303,
-+	0x81C, 0x61560303,
-+	0x81C, 0x44580303,
-+	0x81C, 0x435A0303,
-+	0x81C, 0x425C0303,
-+	0x81C, 0x265E0303,
-+	0x81C, 0x25600303,
-+	0x81C, 0x24620303,
-+	0x81C, 0x06640303,
-+	0x81C, 0x05660303,
-+	0x81C, 0x04680303,
-+	0x81C, 0x036A0303,
-+	0x81C, 0x026C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF7000303,
-+	0x81C, 0xF6020303,
-+	0x81C, 0xF5040303,
-+	0x81C, 0xF4060303,
-+	0x81C, 0xF3080303,
-+	0x81C, 0xF20A0303,
-+	0x81C, 0xF10C0303,
-+	0x81C, 0xF00E0303,
-+	0x81C, 0xEF100303,
-+	0x81C, 0xEE120303,
-+	0x81C, 0xED140303,
-+	0x81C, 0xEC160303,
-+	0x81C, 0xEB180303,
-+	0x81C, 0xEA1A0303,
-+	0x81C, 0xE91C0303,
-+	0x81C, 0xE81E0303,
-+	0x81C, 0xE7200303,
-+	0x81C, 0xE6220303,
-+	0x81C, 0xE5240303,
-+	0x81C, 0xE4260303,
-+	0x81C, 0xE3280303,
-+	0x81C, 0xE22A0303,
-+	0x81C, 0xE12C0303,
-+	0x81C, 0xA72E0303,
-+	0x81C, 0xA6300303,
-+	0x81C, 0xA5320303,
-+	0x81C, 0xA4340303,
-+	0x81C, 0xA3360303,
-+	0x81C, 0xA2380303,
-+	0x81C, 0xA13A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x82400303,
-+	0x81C, 0x81420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x63460303,
-+	0x81C, 0x62480303,
-+	0x81C, 0x614A0303,
-+	0x81C, 0x454C0303,
-+	0x81C, 0x444E0303,
-+	0x81C, 0x43500303,
-+	0x81C, 0x42520303,
-+	0x81C, 0x41540303,
-+	0x81C, 0x24560303,
-+	0x81C, 0x23580303,
-+	0x81C, 0x065A0303,
-+	0x81C, 0x055C0303,
-+	0x81C, 0x045E0303,
-+	0x81C, 0x03600303,
-+	0x81C, 0x02620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x81C, 0xF7000303,
-+	0x81C, 0xF6020303,
-+	0x81C, 0xF5040303,
-+	0x81C, 0xF4060303,
-+	0x81C, 0xF3080303,
-+	0x81C, 0xF20A0303,
-+	0x81C, 0xF10C0303,
-+	0x81C, 0xF00E0303,
-+	0x81C, 0xEF100303,
-+	0x81C, 0xEE120303,
-+	0x81C, 0xED140303,
-+	0x81C, 0xEC160303,
-+	0x81C, 0xEB180303,
-+	0x81C, 0xEA1A0303,
-+	0x81C, 0xAF1C0303,
-+	0x81C, 0xAE1E0303,
-+	0x81C, 0xAD200303,
-+	0x81C, 0xAC220303,
-+	0x81C, 0xAB240303,
-+	0x81C, 0xAA260303,
-+	0x81C, 0xC5280303,
-+	0x81C, 0xC42A0303,
-+	0x81C, 0xC32C0303,
-+	0x81C, 0xC22E0303,
-+	0x81C, 0xA5300303,
-+	0x81C, 0xA4320303,
-+	0x81C, 0xA3340303,
-+	0x81C, 0xA2360303,
-+	0x81C, 0xA1380303,
-+	0x81C, 0x853A0303,
-+	0x81C, 0x843C0303,
-+	0x81C, 0x833E0303,
-+	0x81C, 0x82400303,
-+	0x81C, 0x81420303,
-+	0x81C, 0x64440303,
-+	0x81C, 0x63460303,
-+	0x81C, 0x62480303,
-+	0x81C, 0x614A0303,
-+	0x81C, 0x444C0303,
-+	0x81C, 0x434E0303,
-+	0x81C, 0x42500303,
-+	0x81C, 0x41520303,
-+	0x81C, 0x25540303,
-+	0x81C, 0x24560303,
-+	0x81C, 0x06580303,
-+	0x81C, 0x055A0303,
-+	0x81C, 0x045C0303,
-+	0x81C, 0x035E0303,
-+	0x81C, 0x02600303,
-+	0x81C, 0x01620303,
-+	0x81C, 0x01640303,
-+	0x81C, 0x01660303,
-+	0x81C, 0x01680303,
-+	0x81C, 0x016A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0xA0000000,	0x00000000,
-+	0x81C, 0xFD000303,
-+	0x81C, 0xFC020303,
-+	0x81C, 0xFB040303,
-+	0x81C, 0xFA060303,
-+	0x81C, 0xF9080303,
-+	0x81C, 0xF80A0303,
-+	0x81C, 0xF70C0303,
-+	0x81C, 0xF60E0303,
-+	0x81C, 0xF5100303,
-+	0x81C, 0xF4120303,
-+	0x81C, 0xF3140303,
-+	0x81C, 0xF2160303,
-+	0x81C, 0xF1180303,
-+	0x81C, 0xF01A0303,
-+	0x81C, 0xEF1C0303,
-+	0x81C, 0xEE1E0303,
-+	0x81C, 0xED200303,
-+	0x81C, 0xEC220303,
-+	0x81C, 0xEB240303,
-+	0x81C, 0xEA260303,
-+	0x81C, 0xE9280303,
-+	0x81C, 0xE82A0303,
-+	0x81C, 0xE72C0303,
-+	0x81C, 0xE62E0303,
-+	0x81C, 0xE5300303,
-+	0x81C, 0xE4320303,
-+	0x81C, 0xE3340303,
-+	0x81C, 0xE2360303,
-+	0x81C, 0xE1380303,
-+	0x81C, 0xA53A0303,
-+	0x81C, 0xA43C0303,
-+	0x81C, 0xA33E0303,
-+	0x81C, 0xA2400303,
-+	0x81C, 0xA1420303,
-+	0x81C, 0x87440303,
-+	0x81C, 0x86460303,
-+	0x81C, 0x85480303,
-+	0x81C, 0x844A0303,
-+	0x81C, 0x834C0303,
-+	0x81C, 0x824E0303,
-+	0x81C, 0x81500303,
-+	0x81C, 0x64520303,
-+	0x81C, 0x63540303,
-+	0x81C, 0x62560303,
-+	0x81C, 0x61580303,
-+	0x81C, 0x435A0303,
-+	0x81C, 0x425C0303,
-+	0x81C, 0x415E0303,
-+	0x81C, 0x07600303,
-+	0x81C, 0x06620303,
-+	0x81C, 0x05640303,
-+	0x81C, 0x04660303,
-+	0x81C, 0x03680303,
-+	0x81C, 0x026A0303,
-+	0x81C, 0x016C0303,
-+	0x81C, 0x016E0303,
-+	0x81C, 0x01700303,
-+	0x81C, 0x01720303,
-+	0x81C, 0x01740303,
-+	0x81C, 0x01760303,
-+	0x81C, 0x01780303,
-+	0x81C, 0x017A0303,
-+	0x81C, 0x017C0303,
-+	0x81C, 0x017E0303,
-+	0xB0000000,	0x00000000,
-+	0xC50, 0x00000022,
-+	0xC50, 0x00000020,
-+	0xE50, 0x00000022,
-+	0xE50, 0x00000020,
-+	0x1850, 0x00000022,
-+	0x1850, 0x00000020,
-+	0x1A50, 0x00000022,
-+	0x1A50, 0x00000020,
-+};
-+
-+RTW_DECL_TABLE_PHY_COND(rtw8814a_agc, rtw_phy_cfg_agc);
-+
-+static const u32 rtw8814a_bb[] = {
-+	0x800, 0x9020D010,
-+	0x804, 0x08011280,
-+	0x808, 0x0E0282FF,
-+	0x80C, 0x1000002F,
-+	0x80000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x810, 0x33303265,
-+	0xA0000000,	0x00000000,
-+	0x810, 0x33303265,
-+	0xB0000000,	0x00000000,
-+	0x814, 0x020C3D10,
-+	0x818, 0x04A10385,
-+	0x820, 0x00000000,
-+	0x824, 0x00033E40,
-+	0x828, 0x00000000,
-+	0x82C, 0x73985170,
-+	0x830, 0x79A0EA08,
-+	0x834, 0x042E708A,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x838, 0x86667640,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x838, 0x86667641,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x838, 0x86667641,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x838, 0x86667641,
-+	0xA0000000,	0x00000000,
-+	0x838, 0x86667640,
-+	0xB0000000,	0x00000000,
-+	0x83C, 0x9798B9B9,
-+	0x840, 0x17578F60,
-+	0x844, 0x4BBDFCDE,
-+	0x848, 0x5CD07F8B,
-+	0x84C, 0x6CFBF7B5,
-+	0x850, 0x28834706,
-+	0x854, 0x0001520C,
-+	0x858, 0x4060C000,
-+	0x85C, 0x74210368,
-+	0x860, 0x6929C321,
-+	0x864, 0x79727432,
-+	0x868, 0x8CA7A314,
-+	0x86C, 0x438C2878,
-+	0x870, 0x44444444,
-+	0x874, 0x21612C2E,
-+	0x878, 0x00003152,
-+	0x87C, 0x000FC000,
-+	0x8A0, 0x00000013,
-+	0x8A4, 0x7F7F7F7F,
-+	0x8A8, 0xA202033E,
-+	0x8AC, 0xF40F550A,
-+	0x8B0, 0x00000600,
-+	0x8B4, 0x000FC080,
-+	0x8B8, 0xEC0057FF,
-+	0x8BC, 0x8CA520C3,
-+	0x8C0, 0x3FF00020,
-+	0x8C4, 0x44C00000,
-+	0x80000009,	0x00000000,	0x40000000,	0x00000000,
-+	0x8C8, 0x80025969,
-+	0xA0000000,	0x00000000,
-+	0x8C8, 0x80025167,
-+	0xB0000000,	0x00000000,
-+	0x8CC, 0x08250492,
-+	0x8D0, 0x0000B800,
-+	0x8D4, 0x940008A0,
-+	0x8D8, 0x290B5612,
-+	0x8DC, 0x00000000,
-+	0x8E0, 0x32316407,
-+	0x8E4, 0x4A092925,
-+	0x8E8, 0xFFFFC42C,
-+	0x8EC, 0x99999999,
-+	0x8F0, 0x00009999,
-+	0x8F4, 0x00F80FA1,
-+	0x8F8, 0x400082C0,
-+	0x8FC, 0x00000000,
-+	0x900, 0x00400700,
-+	0x90C, 0x09004000,
-+	0x910, 0x0000FC00,
-+	0x914, 0xD6400404,
-+	0x918, 0x1C1028C0,
-+	0x91C, 0x64B11A1C,
-+	0x920, 0xE0767233,
-+	0x924, 0x055AA500,
-+	0x928, 0x4AB0E4E4,
-+	0x92C, 0xFFFE0000,
-+	0x930, 0xFFFFFFFE,
-+	0x934, 0x001FFFFF,
-+	0x938, 0x00008400,
-+	0x93C, 0x932C0642,
-+	0x940, 0x093E9360,
-+	0x944, 0x08000000,
-+	0x948, 0x04000000,
-+	0x950, 0x02010080,
-+	0x954, 0x86510080,
-+	0x960, 0x00000000,
-+	0x964, 0x00000000,
-+	0x968, 0x00000000,
-+	0x96C, 0x00000000,
-+	0x970, 0x801FFFFF,
-+	0x978, 0x00000000,
-+	0x97C, 0x00000000,
-+	0x980, 0x00000000,
-+	0x984, 0x00000000,
-+	0x988, 0x00000000,
-+	0x98C, 0x03440000,
-+	0x990, 0x27100000,
-+	0x994, 0xFFFF0100,
-+	0x998, 0xFFFFFF5C,
-+	0x99C, 0xFFFFFFFF,
-+	0x9A0, 0x000000FF,
-+	0x9A4, 0x00080080,
-+	0x9A8, 0x0C2F0000,
-+	0x9AC, 0x00560000,
-+	0x9B0, 0x81081008,
-+	0x9B4, 0x00000000,
-+	0x9B8, 0x01081008,
-+	0x9BC, 0x01081008,
-+	0x9D0, 0x00000000,
-+	0x9D4, 0x00000000,
-+	0x9D8, 0x00000000,
-+	0x9DC, 0x00000000,
-+	0x9E4, 0x00000002,
-+	0x9E8, 0x000022D5,
-+	0x9FC, 0xEFFFF7FF,
-+	0xB00, 0xE3100000,
-+	0xB04, 0x0000B000,
-+	0xB0C, 0x31EAA006,
-+	0xB5C, 0x41CFFFFF,
-+	0xC00, 0x00000007,
-+	0xC04, 0x00042020,
-+	0xC08, 0x80410231,
-+	0xC0C, 0x00000000,
-+	0xC10, 0x00000100,
-+	0xC14, 0x01000000,
-+	0xC1C, 0x40000053,
-+	0xC50, 0x00000020,
-+	0xC54, 0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0xC58, 0x3C0A0C14,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0xC58, 0x3C0A0C14,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0xC58, 0x3C0A0C14,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xC58, 0x3C0A0C14,
-+	0xA0000000,	0x00000000,
-+	0xC58, 0x3C020C14,
-+	0xB0000000,	0x00000000,
-+	0xC5C, 0x0D000058,
-+	0xC60, 0x1B800000,
-+	0xC60, 0x0B800001,
-+	0xC60, 0x05800002,
-+	0xC60, 0x07800003,
-+	0xC60, 0x1A800004,
-+	0xC60, 0x0B800005,
-+	0xC60, 0x05800006,
-+	0xC60, 0x0E800007,
-+	0xC60, 0x1A800008,
-+	0xC60, 0x0B800009,
-+	0xC60, 0x1580000A,
-+	0xC60, 0x0880000B,
-+	0xC60, 0x1A80000C,
-+	0xC60, 0x0B80000D,
-+	0xC60, 0x0580000E,
-+	0xC60, 0x0E80000F,
-+	0xC60, 0x1A800010,
-+	0xC60, 0x0B800011,
-+	0xC60, 0x15800012,
-+	0xC60, 0x08800013,
-+	0xC60, 0x1A800014,
-+	0xC60, 0x0B800015,
-+	0xC60, 0x05800016,
-+	0xC60, 0x07800017,
-+	0xC60, 0x1A800018,
-+	0xC60, 0x0B800019,
-+	0xC60, 0x1580001A,
-+	0xC60, 0x0880001B,
-+	0xC60, 0x1B80001C,
-+	0xC60, 0x0B80001D,
-+	0xC60, 0x0580001E,
-+	0xC60, 0x0780001F,
-+	0xC60, 0x1B800020,
-+	0xC60, 0x0B800021,
-+	0xC60, 0x05800022,
-+	0xC60, 0x07800023,
-+	0xC60, 0x1B800024,
-+	0xC60, 0x0B800025,
-+	0xC60, 0x05800026,
-+	0xC60, 0x07800027,
-+	0xC60, 0x1B800028,
-+	0xC60, 0x0B800029,
-+	0xC60, 0x0580002A,
-+	0xC60, 0x0780002B,
-+	0xC60, 0x1B800030,
-+	0xC60, 0x0B800031,
-+	0xC60, 0x05800032,
-+	0xC60, 0x00800033,
-+	0xC60, 0x1B800034,
-+	0xC60, 0x0B800035,
-+	0xC60, 0x05800036,
-+	0xC60, 0x00800037,
-+	0xC60, 0x1B800038,
-+	0xC60, 0x0B800039,
-+	0xC60, 0x0580003A,
-+	0xC60, 0x0E80803B,
-+	0xC94, 0x01000401,
-+	0xC98, 0x00188000,
-+	0xCA0, 0x00002929,
-+	0xCA4, 0x08040201,
-+	0xCA8, 0x80402010,
-+	0xCAC, 0x77777000,
-+	0xCB0, 0x54775477,
-+	0xCB4, 0x54775477,
-+	0xCB8, 0x00500000,
-+	0xCBC, 0x77700000,
-+	0xCC0, 0x00000010,
-+	0xCC8, 0x00000010,
-+	0xE00, 0x00000007,
-+	0xE04, 0x00042020,
-+	0xE08, 0x80410231,
-+	0xE0C, 0x00000000,
-+	0xE10, 0x00000100,
-+	0xE14, 0x01000000,
-+	0xE1C, 0x40000053,
-+	0xE50, 0x00000020,
-+	0xE54, 0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0xE58, 0x3C0A0C14,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0xE58, 0x3C0A0C14,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0xE58, 0x3C0A0C14,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xE58, 0x3C0A0C14,
-+	0xA0000000,	0x00000000,
-+	0xE58, 0x3C020C14,
-+	0xB0000000,	0x00000000,
-+	0xE5C, 0x0D000058,
-+	0xE60, 0x1B800000,
-+	0xE60, 0x0B800001,
-+	0xE60, 0x05800002,
-+	0xE60, 0x07800003,
-+	0xE60, 0x1A800004,
-+	0xE60, 0x0B800005,
-+	0xE60, 0x05800006,
-+	0xE60, 0x0E800007,
-+	0xE60, 0x1A800008,
-+	0xE60, 0x0B800009,
-+	0xE60, 0x1580000A,
-+	0xE60, 0x0880000B,
-+	0xE60, 0x1A80000C,
-+	0xE60, 0x0B80000D,
-+	0xE60, 0x0580000E,
-+	0xE60, 0x0E80000F,
-+	0xE60, 0x1A800010,
-+	0xE60, 0x0B800011,
-+	0xE60, 0x15800012,
-+	0xE60, 0x08800013,
-+	0xE60, 0x1A800014,
-+	0xE60, 0x0B800015,
-+	0xE60, 0x05800016,
-+	0xE60, 0x07800017,
-+	0xE60, 0x1A800018,
-+	0xE60, 0x0B800019,
-+	0xE60, 0x1580001A,
-+	0xE60, 0x0880001B,
-+	0xE60, 0x1B80001C,
-+	0xE60, 0x0B80001D,
-+	0xE60, 0x0580001E,
-+	0xE60, 0x0780001F,
-+	0xE60, 0x1B800020,
-+	0xE60, 0x0B800021,
-+	0xE60, 0x05800022,
-+	0xE60, 0x07800023,
-+	0xE60, 0x1B800024,
-+	0xE60, 0x0B800025,
-+	0xE60, 0x05800026,
-+	0xE60, 0x07800027,
-+	0xE60, 0x1B800028,
-+	0xE60, 0x0B800029,
-+	0xE60, 0x0580002A,
-+	0xE60, 0x0780002B,
-+	0xE60, 0x1B800030,
-+	0xE60, 0x0B800031,
-+	0xE60, 0x05800032,
-+	0xE60, 0x00800033,
-+	0xE60, 0x1B800034,
-+	0xE60, 0x0B800035,
-+	0xE60, 0x05800036,
-+	0xE60, 0x00800037,
-+	0xE60, 0x1B800038,
-+	0xE60, 0x0B800039,
-+	0xE60, 0x0580003A,
-+	0xE60, 0x0E80803B,
-+	0xE94, 0x01000401,
-+	0xE98, 0x00188000,
-+	0xEA0, 0x00002929,
-+	0xEA4, 0x08040201,
-+	0xEA8, 0x80402010,
-+	0xEAC, 0x77777000,
-+	0xEB0, 0x54775477,
-+	0xEB4, 0x54775477,
-+	0xEB8, 0x00500000,
-+	0xEBC, 0x77700000,
-+	0x1800, 0x00000007,
-+	0x1804, 0x00042020,
-+	0x1808, 0x80410231,
-+	0x180C, 0x00000000,
-+	0x1810, 0x00000100,
-+	0x1814, 0x01000000,
-+	0x181C, 0x40000053,
-+	0x1850, 0x00000020,
-+	0x1854, 0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1858, 0x3C0A0C14,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1858, 0x3C0A0C14,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1858, 0x3C0A0C14,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1858, 0x3C0A0C14,
-+	0xA0000000,	0x00000000,
-+	0x1858, 0x3C020C14,
-+	0xB0000000,	0x00000000,
-+	0x185C, 0x0D000058,
-+	0x1860, 0x1B800000,
-+	0x1860, 0x0B800001,
-+	0x1860, 0x05800002,
-+	0x1860, 0x07800003,
-+	0x1860, 0x1A800004,
-+	0x1860, 0x0B800005,
-+	0x1860, 0x05800006,
-+	0x1860, 0x0E800007,
-+	0x1860, 0x1A800008,
-+	0x1860, 0x0B800009,
-+	0x1860, 0x1580000A,
-+	0x1860, 0x0880000B,
-+	0x1860, 0x1A80000C,
-+	0x1860, 0x0B80000D,
-+	0x1860, 0x0580000E,
-+	0x1860, 0x0E80000F,
-+	0x1860, 0x1A800010,
-+	0x1860, 0x0B800011,
-+	0x1860, 0x15800012,
-+	0x1860, 0x08800013,
-+	0x1860, 0x1A800014,
-+	0x1860, 0x0B800015,
-+	0x1860, 0x05800016,
-+	0x1860, 0x07800017,
-+	0x1860, 0x1A800018,
-+	0x1860, 0x0B800019,
-+	0x1860, 0x1580001A,
-+	0x1860, 0x0880001B,
-+	0x1860, 0x1B80001C,
-+	0x1860, 0x0B80001D,
-+	0x1860, 0x0580001E,
-+	0x1860, 0x0780001F,
-+	0x1860, 0x1B800020,
-+	0x1860, 0x0B800021,
-+	0x1860, 0x05800022,
-+	0x1860, 0x07800023,
-+	0x1860, 0x1B800024,
-+	0x1860, 0x0B800025,
-+	0x1860, 0x05800026,
-+	0x1860, 0x07800027,
-+	0x1860, 0x1B800028,
-+	0x1860, 0x0B800029,
-+	0x1860, 0x0580002A,
-+	0x1860, 0x0780002B,
-+	0x1860, 0x1B800030,
-+	0x1860, 0x0B800031,
-+	0x1860, 0x05800032,
-+	0x1860, 0x00800033,
-+	0x1860, 0x1B800034,
-+	0x1860, 0x0B800035,
-+	0x1860, 0x05800036,
-+	0x1860, 0x00800037,
-+	0x1860, 0x1B800038,
-+	0x1860, 0x0B800039,
-+	0x1860, 0x0580003A,
-+	0x1860, 0x0E80803B,
-+	0x1894, 0x01000401,
-+	0x1898, 0x00188000,
-+	0x18A0, 0x00002929,
-+	0x18A4, 0x08040201,
-+	0x18A8, 0x80402010,
-+	0x18AC, 0x77777000,
-+	0x18B0, 0x54775477,
-+	0x18B4, 0x54775477,
-+	0x18B8, 0x00500000,
-+	0x18BC, 0x77700000,
-+	0x1A00, 0x00000007,
-+	0x1A04, 0x00042020,
-+	0x1A08, 0x80410231,
-+	0x1A0C, 0x00000000,
-+	0x1A10, 0x00000100,
-+	0x1A14, 0x01000000,
-+	0x1A1C, 0x40000053,
-+	0x1A50, 0x00000020,
-+	0x1A54, 0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1A58, 0x3C0A0C14,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1A58, 0x3C0A0C14,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1A58, 0x3C0A0C14,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1A58, 0x3C0A0C14,
-+	0xA0000000,	0x00000000,
-+	0x1A58, 0x3C020C14,
-+	0xB0000000,	0x00000000,
-+	0x1A5C, 0x0D000058,
-+	0x1A60, 0x1B800000,
-+	0x1A60, 0x0B800001,
-+	0x1A60, 0x05800002,
-+	0x1A60, 0x07800003,
-+	0x1A60, 0x1A800004,
-+	0x1A60, 0x0B800005,
-+	0x1A60, 0x05800006,
-+	0x1A60, 0x0E800007,
-+	0x1A60, 0x1A800008,
-+	0x1A60, 0x0B800009,
-+	0x1A60, 0x1580000A,
-+	0x1A60, 0x0880000B,
-+	0x1A60, 0x1A80000C,
-+	0x1A60, 0x0B80000D,
-+	0x1A60, 0x0580000E,
-+	0x1A60, 0x0E80000F,
-+	0x1A60, 0x1A800010,
-+	0x1A60, 0x0B800011,
-+	0x1A60, 0x15800012,
-+	0x1A60, 0x08800013,
-+	0x1A60, 0x1A800014,
-+	0x1A60, 0x0B800015,
-+	0x1A60, 0x05800016,
-+	0x1A60, 0x07800017,
-+	0x1A60, 0x1A800018,
-+	0x1A60, 0x0B800019,
-+	0x1A60, 0x1580001A,
-+	0x1A60, 0x0880001B,
-+	0x1A60, 0x1B80001C,
-+	0x1A60, 0x0B80001D,
-+	0x1A60, 0x0580001E,
-+	0x1A60, 0x0780001F,
-+	0x1A60, 0x1B800020,
-+	0x1A60, 0x0B800021,
-+	0x1A60, 0x05800022,
-+	0x1A60, 0x07800023,
-+	0x1A60, 0x1B800024,
-+	0x1A60, 0x0B800025,
-+	0x1A60, 0x05800026,
-+	0x1A60, 0x07800027,
-+	0x1A60, 0x1B800028,
-+	0x1A60, 0x0B800029,
-+	0x1A60, 0x0580002A,
-+	0x1A60, 0x0780002B,
-+	0x1A60, 0x1B800030,
-+	0x1A60, 0x0B800031,
-+	0x1A60, 0x05800032,
-+	0x1A60, 0x00800033,
-+	0x1A60, 0x1B800034,
-+	0x1A60, 0x0B800035,
-+	0x1A60, 0x05800036,
-+	0x1A60, 0x00800037,
-+	0x1A60, 0x1B800038,
-+	0x1A60, 0x0B800039,
-+	0x1A60, 0x0580003A,
-+	0x1A60, 0x0E80803B,
-+	0x1A94, 0x01000401,
-+	0x1A98, 0x00188000,
-+	0x1AA0, 0x00002929,
-+	0x1AA4, 0x08040201,
-+	0x1AA8, 0x80402010,
-+	0x1AAC, 0x77777000,
-+	0x1AB0, 0x54775477,
-+	0x1AB4, 0x54775477,
-+	0x1AB8, 0x00500000,
-+	0x1ABC, 0x77700000,
-+	0x1904, 0x00030000,
-+	0x1914, 0x00030000,
-+	0x1984, 0x03000000,
-+	0x1988, 0x00000087,
-+	0x198C, 0x00000007,
-+	0x1990, 0xFFAA5500,
-+	0x1994, 0x00000077,
-+	0x1998, 0x12801000,
-+	0x1998, 0x12801000,
-+	0x1998, 0x12801001,
-+	0x1998, 0x12801002,
-+	0x1998, 0x12801003,
-+	0x1998, 0x12801004,
-+	0x1998, 0x12801005,
-+	0x1998, 0x12801006,
-+	0x1998, 0x12801007,
-+	0x1998, 0x12801008,
-+	0x1998, 0x12801009,
-+	0x1998, 0x1280100A,
-+	0x1998, 0x1280100B,
-+	0x1998, 0x1280100C,
-+	0x1998, 0x1280100D,
-+	0x1998, 0x1280100E,
-+	0x1998, 0x1280100F,
-+	0x1998, 0x12801010,
-+	0x1998, 0x12801011,
-+	0x1998, 0x12801012,
-+	0x1998, 0x12801013,
-+	0x1998, 0x12801014,
-+	0x1998, 0x12801015,
-+	0x1998, 0x12801016,
-+	0x1998, 0x12801017,
-+	0x1998, 0x12801018,
-+	0x1998, 0x12801019,
-+	0x1998, 0x1280101A,
-+	0x1998, 0x1280101B,
-+	0x1998, 0x1280101C,
-+	0x1998, 0x1280101D,
-+	0x1998, 0x1280101E,
-+	0x1998, 0x1280101F,
-+	0x1998, 0x12801020,
-+	0x1998, 0x12801021,
-+	0x1998, 0x12801022,
-+	0x1998, 0x12801023,
-+	0x1998, 0x1280102C,
-+	0x1998, 0x1280102D,
-+	0x1998, 0x1280102E,
-+	0x1998, 0x1280102F,
-+	0x1998, 0x12801030,
-+	0x1998, 0x12801031,
-+	0x1998, 0x12801032,
-+	0x1998, 0x12801033,
-+	0x1998, 0x12801034,
-+	0x1998, 0x12801035,
-+	0x1998, 0x12801036,
-+	0x1998, 0x12801037,
-+	0x1998, 0x12801038,
-+	0x1998, 0x12801039,
-+	0x1998, 0x1280103A,
-+	0x1998, 0x1280103B,
-+	0x1998, 0x1280103C,
-+	0x1998, 0x1280103D,
-+	0x1998, 0x1280103E,
-+	0x1998, 0x1280103F,
-+	0x1998, 0x12801040,
-+	0x1998, 0x12801041,
-+	0x1998, 0x12801042,
-+	0x1998, 0x12801043,
-+	0x1998, 0x12801044,
-+	0x1998, 0x12801045,
-+	0x1998, 0x12801046,
-+	0x1998, 0x12801047,
-+	0x1998, 0x12801048,
-+	0x1998, 0x12801049,
-+	0x1998, 0x12801100,
-+	0x1998, 0x12801101,
-+	0x1998, 0x12801102,
-+	0x1998, 0x12801103,
-+	0x1998, 0x12801104,
-+	0x1998, 0x12801105,
-+	0x1998, 0x12801106,
-+	0x1998, 0x12801107,
-+	0x1998, 0x12801108,
-+	0x1998, 0x12801109,
-+	0x1998, 0x1280110A,
-+	0x1998, 0x1280110B,
-+	0x1998, 0x1280110C,
-+	0x1998, 0x1280110D,
-+	0x1998, 0x1280110E,
-+	0x1998, 0x1280110F,
-+	0x1998, 0x12801110,
-+	0x1998, 0x12801111,
-+	0x1998, 0x12801112,
-+	0x1998, 0x12801113,
-+	0x1998, 0x12801114,
-+	0x1998, 0x12801115,
-+	0x1998, 0x12801116,
-+	0x1998, 0x12801117,
-+	0x1998, 0x12801118,
-+	0x1998, 0x12801119,
-+	0x1998, 0x1280111A,
-+	0x1998, 0x1280111B,
-+	0x1998, 0x1280111C,
-+	0x1998, 0x1280111D,
-+	0x1998, 0x1280111E,
-+	0x1998, 0x1280111F,
-+	0x1998, 0x12801120,
-+	0x1998, 0x12801121,
-+	0x1998, 0x12801122,
-+	0x1998, 0x12801123,
-+	0x1998, 0x1280112C,
-+	0x1998, 0x1280112D,
-+	0x1998, 0x1280112E,
-+	0x1998, 0x1280112F,
-+	0x1998, 0x12801130,
-+	0x1998, 0x12801131,
-+	0x1998, 0x12801132,
-+	0x1998, 0x12801133,
-+	0x1998, 0x12801134,
-+	0x1998, 0x12801135,
-+	0x1998, 0x12801136,
-+	0x1998, 0x12801137,
-+	0x1998, 0x12801138,
-+	0x1998, 0x12801139,
-+	0x1998, 0x1280113A,
-+	0x1998, 0x1280113B,
-+	0x1998, 0x1280113C,
-+	0x1998, 0x1280113D,
-+	0x1998, 0x1280113E,
-+	0x1998, 0x1280113F,
-+	0x1998, 0x12801140,
-+	0x1998, 0x12801141,
-+	0x1998, 0x12801142,
-+	0x1998, 0x12801143,
-+	0x1998, 0x12801144,
-+	0x1998, 0x12801145,
-+	0x1998, 0x12801146,
-+	0x1998, 0x12801147,
-+	0x1998, 0x12801148,
-+	0x1998, 0x12801149,
-+	0x1998, 0x12801200,
-+	0x1998, 0x12801201,
-+	0x1998, 0x12801202,
-+	0x1998, 0x12801203,
-+	0x1998, 0x12801204,
-+	0x1998, 0x12801205,
-+	0x1998, 0x12801206,
-+	0x1998, 0x12801207,
-+	0x1998, 0x12801208,
-+	0x1998, 0x12801209,
-+	0x1998, 0x1280120A,
-+	0x1998, 0x1280120B,
-+	0x1998, 0x1280120C,
-+	0x1998, 0x1280120D,
-+	0x1998, 0x1280120E,
-+	0x1998, 0x1280120F,
-+	0x1998, 0x12801210,
-+	0x1998, 0x12801211,
-+	0x1998, 0x12801212,
-+	0x1998, 0x12801213,
-+	0x1998, 0x12801214,
-+	0x1998, 0x12801215,
-+	0x1998, 0x12801216,
-+	0x1998, 0x12801217,
-+	0x1998, 0x12801218,
-+	0x1998, 0x12801219,
-+	0x1998, 0x1280121A,
-+	0x1998, 0x1280121B,
-+	0x1998, 0x1280121C,
-+	0x1998, 0x1280121D,
-+	0x1998, 0x1280121E,
-+	0x1998, 0x1280121F,
-+	0x1998, 0x12801220,
-+	0x1998, 0x12801221,
-+	0x1998, 0x12801222,
-+	0x1998, 0x12801223,
-+	0x1998, 0x1280122C,
-+	0x1998, 0x1280122D,
-+	0x1998, 0x1280122E,
-+	0x1998, 0x1280122F,
-+	0x1998, 0x12801230,
-+	0x1998, 0x12801231,
-+	0x1998, 0x12801232,
-+	0x1998, 0x12801233,
-+	0x1998, 0x12801234,
-+	0x1998, 0x12801235,
-+	0x1998, 0x12801236,
-+	0x1998, 0x12801237,
-+	0x1998, 0x12801238,
-+	0x1998, 0x12801239,
-+	0x1998, 0x1280123A,
-+	0x1998, 0x1280123B,
-+	0x1998, 0x1280123C,
-+	0x1998, 0x1280123D,
-+	0x1998, 0x1280123E,
-+	0x1998, 0x1280123F,
-+	0x1998, 0x12801240,
-+	0x1998, 0x12801241,
-+	0x1998, 0x12801242,
-+	0x1998, 0x12801243,
-+	0x1998, 0x12801244,
-+	0x1998, 0x12801245,
-+	0x1998, 0x12801246,
-+	0x1998, 0x12801247,
-+	0x1998, 0x12801248,
-+	0x1998, 0x12801249,
-+	0x1998, 0x12801300,
-+	0x1998, 0x12801301,
-+	0x1998, 0x12801302,
-+	0x1998, 0x12801303,
-+	0x1998, 0x12801304,
-+	0x1998, 0x12801305,
-+	0x1998, 0x12801306,
-+	0x1998, 0x12801307,
-+	0x1998, 0x12801308,
-+	0x1998, 0x12801309,
-+	0x1998, 0x1280130A,
-+	0x1998, 0x1280130B,
-+	0x1998, 0x1280130C,
-+	0x1998, 0x1280130D,
-+	0x1998, 0x1280130E,
-+	0x1998, 0x1280130F,
-+	0x1998, 0x12801310,
-+	0x1998, 0x12801311,
-+	0x1998, 0x12801312,
-+	0x1998, 0x12801313,
-+	0x1998, 0x12801314,
-+	0x1998, 0x12801315,
-+	0x1998, 0x12801316,
-+	0x1998, 0x12801317,
-+	0x1998, 0x12801318,
-+	0x1998, 0x12801319,
-+	0x1998, 0x1280131A,
-+	0x1998, 0x1280131B,
-+	0x1998, 0x1280131C,
-+	0x1998, 0x1280131D,
-+	0x1998, 0x1280131E,
-+	0x1998, 0x1280131F,
-+	0x1998, 0x12801320,
-+	0x1998, 0x12801321,
-+	0x1998, 0x12801322,
-+	0x1998, 0x12801323,
-+	0x1998, 0x1280132C,
-+	0x1998, 0x1280132D,
-+	0x1998, 0x1280132E,
-+	0x1998, 0x1280132F,
-+	0x1998, 0x12801330,
-+	0x1998, 0x12801331,
-+	0x1998, 0x12801332,
-+	0x1998, 0x12801333,
-+	0x1998, 0x12801334,
-+	0x1998, 0x12801335,
-+	0x1998, 0x12801336,
-+	0x1998, 0x12801337,
-+	0x1998, 0x12801338,
-+	0x1998, 0x12801339,
-+	0x1998, 0x1280133A,
-+	0x1998, 0x1280133B,
-+	0x1998, 0x1280133C,
-+	0x1998, 0x1280133D,
-+	0x1998, 0x1280133E,
-+	0x1998, 0x1280133F,
-+	0x1998, 0x12801340,
-+	0x1998, 0x12801341,
-+	0x1998, 0x12801342,
-+	0x1998, 0x12801343,
-+	0x1998, 0x12801344,
-+	0x1998, 0x12801345,
-+	0x1998, 0x12801346,
-+	0x1998, 0x12801347,
-+	0x1998, 0x12801348,
-+	0x1998, 0x12801349,
-+	0x19D4, 0x88888888,
-+	0x19D8, 0x00000888,
-+	0xB00, 0xE3100100,
-+	0xB00, 0xE7100100,
-+	0xC60, 0x15808002,
-+	0xC60, 0x01808003,
-+	0xE60, 0x15808002,
-+	0xE60, 0x01808003,
-+	0x1860, 0x15808002,
-+	0x1860, 0x01808003,
-+	0x1A60, 0x15808002,
-+	0x1A60, 0x01808003,
-+	0xB00, 0xE3100100,
-+	0xC5C, 0x0D080058,
-+	0xE5C, 0x0D080058,
-+	0x185C, 0x0D080058,
-+	0x1A5C, 0x0D080058,
-+	0xC5C, 0x0D000058,
-+	0xE5C, 0x0D000058,
-+	0x185C, 0x0D000058,
-+	0x1A5C, 0x0D000058,
-+	0xC60, 0x05808002,
-+	0xC60, 0x0E808003,
-+	0xE60, 0x05808002,
-+	0xE60, 0x0E808003,
-+	0x1860, 0x05808002,
-+	0x1860, 0x0E808003,
-+	0x1A60, 0x05808002,
-+	0x1A60, 0x0E808003,
-+	0xB00, 0xE7100100,
-+	0xB00, 0xE3100100,
-+	0xB00, 0xE3100000,
-+	0x1C38, 0x00000002,
-+	0xA00, 0x00D047C8,
-+	0xA04, 0x46FF800C,
-+	0xA08, 0x8C838300,
-+	0xA0C, 0x2E7E000F,
-+	0xA10, 0x9500BB78,
-+	0xA14, 0x11144028,
-+	0xA18, 0x00881117,
-+	0xA1C, 0x89140F00,
-+	0xA20, 0x1A1B0030,
-+	0xA24, 0x090E1317,
-+	0xA28, 0x00000204,
-+	0xA2C, 0x00900000,
-+	0xA70, 0x101FFF00,
-+	0xA74, 0x00000128,
-+	0xA78, 0x00000900,
-+	0xA7C, 0x225B0606,
-+	0xA80, 0x218075B2,
-+	0xA84, 0x9C1F8C00,
-+	0x1B04, 0xE24628D2,
-+	0x1B10, 0x88010D46,
-+	0x1B14, 0x00000000,
-+	0x1B18, 0x00292903,
-+	0x1B00, 0xF8000000,
-+	0x1B00, 0xF800D000,
-+	0x1B00, 0xF801F000,
-+	0x1B1C, 0xA2123DB2,
-+	0x1B20, 0x07040001,
-+	0x1B24, 0x07060807,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0xA0000000,	0x00000000,
-+	0x1B28, 0xC0060348,
-+	0xB0000000,	0x00000000,
-+	0x1B2C, 0x20000003,
-+	0x1B30, 0x20000000,
-+	0x1B38, 0x20000000,
-+	0x1B3C, 0x20000000,
-+	0x1BD4, 0x00000001,
-+	0x1B94, 0x80000000,
-+	0x1B34, 0x00000000,
-+	0x1B34, 0x00000002,
-+	0x1B34, 0x00000000,
-+	0x1B00, 0xF8000002,
-+	0x1B00, 0xF800D002,
-+	0x1B00, 0xF801F002,
-+	0x1B1C, 0xA2123DB2,
-+	0x1B20, 0x07040001,
-+	0x1B24, 0x07060807,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0xA0000000,	0x00000000,
-+	0x1B28, 0xC0060348,
-+	0xB0000000,	0x00000000,
-+	0x1B2C, 0x20000003,
-+	0x1B30, 0x20000000,
-+	0x1B38, 0x20000000,
-+	0x1B3C, 0x20000000,
-+	0x1BD4, 0x00000001,
-+	0x1B94, 0x80000000,
-+	0x1B34, 0x00000000,
-+	0x1B34, 0x00000002,
-+	0x1B34, 0x00000000,
-+	0x1B00, 0xF8000004,
-+	0x1B00, 0xF800D004,
-+	0x1B00, 0xF801F004,
-+	0x1B1C, 0xA2123DB2,
-+	0x1B20, 0x07040001,
-+	0x1B24, 0x07060807,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0xA0000000,	0x00000000,
-+	0x1B28, 0xC0060348,
-+	0xB0000000,	0x00000000,
-+	0x1B2C, 0x20000003,
-+	0x1B30, 0x20000000,
-+	0x1B38, 0x20000000,
-+	0x1B3C, 0x20000000,
-+	0x1BD4, 0x00000001,
-+	0x1B94, 0x80000000,
-+	0x1B34, 0x00000000,
-+	0x1B34, 0x00000002,
-+	0x1B34, 0x00000000,
-+	0x1B00, 0xF8000006,
-+	0x1B00, 0xF800D006,
-+	0x1B00, 0xF801F006,
-+	0x1B1C, 0xA2123DB2,
-+	0x1B20, 0x07040001,
-+	0x1B24, 0x07060807,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B28, 0xC0060324,
-+	0xA0000000,	0x00000000,
-+	0x1B28, 0xC0060348,
-+	0xB0000000,	0x00000000,
-+	0x1B2C, 0x20000003,
-+	0x1B30, 0x20000000,
-+	0x1B38, 0x20000000,
-+	0x1B3C, 0x20000000,
-+	0x1BD4, 0x00000001,
-+	0x1B94, 0x80000000,
-+	0x1B34, 0x00000000,
-+	0x1B34, 0x00000002,
-+	0x1B34, 0x00000000,
-+	0x1B00, 0xF8000000,
-+	0x1B80, 0x00000007,
-+	0x1B80, 0x09060005,
-+	0x1B80, 0x09060007,
-+	0x1B80, 0x0FFE0015,
-+	0x1B80, 0x0FFE0017,
-+	0x1B80, 0x00240025,
-+	0x1B80, 0x00240027,
-+	0x1B80, 0x00040035,
-+	0x1B80, 0x00040037,
-+	0x1B80, 0x05C00045,
-+	0x1B80, 0x05C00047,
-+	0x1B80, 0x00070055,
-+	0x1B80, 0x00070057,
-+	0x1B80, 0x64000065,
-+	0x1B80, 0x64000067,
-+	0x1B80, 0x00020075,
-+	0x1B80, 0x00020077,
-+	0x1B80, 0x00080085,
-+	0x1B80, 0x00080087,
-+	0x1B80, 0x80000095,
-+	0x1B80, 0x80000097,
-+	0x1B80, 0x090100A5,
-+	0x1B80, 0x090100A7,
-+	0x1B80, 0x0F0200B5,
-+	0x1B80, 0x0F0200B7,
-+	0x1B80, 0x002400C5,
-+	0x1B80, 0x002400C7,
-+	0x1B80, 0x000400D5,
-+	0x1B80, 0x000400D7,
-+	0x1B80, 0x05C000E5,
-+	0x1B80, 0x05C000E7,
-+	0x1B80, 0x000700F5,
-+	0x1B80, 0x000700F7,
-+	0x1B80, 0x64020105,
-+	0x1B80, 0x64020107,
-+	0x1B80, 0x00020115,
-+	0x1B80, 0x00020117,
-+	0x1B80, 0x00040125,
-+	0x1B80, 0x00040127,
-+	0x1B80, 0x4A000135,
-+	0x1B80, 0x4A000137,
-+	0x1B80, 0x4B040145,
-+	0x1B80, 0x4B040147,
-+	0x1B80, 0x85030155,
-+	0x1B80, 0x85030157,
-+	0x1B80, 0x40010165,
-+	0x1B80, 0x40010167,
-+	0x1B80, 0xE0290175,
-+	0x1B80, 0xE0290177,
-+	0x1B80, 0x00040185,
-+	0x1B80, 0x00040187,
-+	0x1B80, 0x4B050195,
-+	0x1B80, 0x4B050197,
-+	0x1B80, 0x860301A5,
-+	0x1B80, 0x860301A7,
-+	0x1B80, 0x400301B5,
-+	0x1B80, 0x400301B7,
-+	0x1B80, 0xE02901C5,
-+	0x1B80, 0xE02901C7,
-+	0x1B80, 0x000401D5,
-+	0x1B80, 0x000401D7,
-+	0x1B80, 0x4B0601E5,
-+	0x1B80, 0x4B0601E7,
-+	0x1B80, 0x870301F5,
-+	0x1B80, 0x870301F7,
-+	0x1B80, 0x40050205,
-+	0x1B80, 0x40050207,
-+	0x1B80, 0xE0290215,
-+	0x1B80, 0xE0290217,
-+	0x1B80, 0x00040225,
-+	0x1B80, 0x00040227,
-+	0x1B80, 0x4B070235,
-+	0x1B80, 0x4B070237,
-+	0x1B80, 0x88030245,
-+	0x1B80, 0x88030247,
-+	0x1B80, 0x40070255,
-+	0x1B80, 0x40070257,
-+	0x1B80, 0xE0290265,
-+	0x1B80, 0xE0290267,
-+	0x1B80, 0x4B000275,
-+	0x1B80, 0x4B000277,
-+	0x1B80, 0x30000285,
-+	0x1B80, 0x30000287,
-+	0x1B80, 0xFE100295,
-+	0x1B80, 0xFE100297,
-+	0x1B80, 0xFF1002A5,
-+	0x1B80, 0xFF1002A7,
-+	0x1B80, 0xE18602B5,
-+	0x1B80, 0xE18602B7,
-+	0x1B80, 0xF00A02C5,
-+	0x1B80, 0xF00A02C7,
-+	0x1B80, 0xF10A02D5,
-+	0x1B80, 0xF10A02D7,
-+	0x1B80, 0xF20A02E5,
-+	0x1B80, 0xF20A02E7,
-+	0x1B80, 0xF30802F5,
-+	0x1B80, 0xF30802F7,
-+	0x1B80, 0xF4070305,
-+	0x1B80, 0xF4070307,
-+	0x1B80, 0xF5060315,
-+	0x1B80, 0xF5060317,
-+	0x1B80, 0xF7060325,
-+	0x1B80, 0xF7060327,
-+	0x1B80, 0xF8050335,
-+	0x1B80, 0xF8050337,
-+	0x1B80, 0xF9040345,
-+	0x1B80, 0xF9040347,
-+	0x1B80, 0x00010355,
-+	0x1B80, 0x00010357,
-+	0x1B80, 0x303B0365,
-+	0x1B80, 0x303B0367,
-+	0x1B80, 0x30500375,
-+	0x1B80, 0x30500377,
-+	0x1B80, 0x305C0385,
-+	0x1B80, 0x305C0387,
-+	0x1B80, 0x31D50395,
-+	0x1B80, 0x31D50397,
-+	0x1B80, 0x31C503A5,
-+	0x1B80, 0x31C503A7,
-+	0x1B80, 0x4D0403B5,
-+	0x1B80, 0x4D0403B7,
-+	0x1B80, 0x2EF003C5,
-+	0x1B80, 0x2EF003C7,
-+	0x1B80, 0x000203D5,
-+	0x1B80, 0x000203D7,
-+	0x1B80, 0x208003E5,
-+	0x1B80, 0x208003E7,
-+	0x1B80, 0x000003F5,
-+	0x1B80, 0x000003F7,
-+	0x1B80, 0x4D000405,
-+	0x1B80, 0x4D000407,
-+	0x1B80, 0x55070415,
-+	0x1B80, 0x55070417,
-+	0x1B80, 0xE1230425,
-+	0x1B80, 0xE1230427,
-+	0x1B80, 0xE1230435,
-+	0x1B80, 0xE1230437,
-+	0x1B80, 0x4D040445,
-+	0x1B80, 0x4D040447,
-+	0x1B80, 0x20800455,
-+	0x1B80, 0x20800457,
-+	0x1B80, 0x84000465,
-+	0x1B80, 0x84000467,
-+	0x1B80, 0x4D000475,
-+	0x1B80, 0x4D000477,
-+	0x1B80, 0x550F0485,
-+	0x1B80, 0x550F0487,
-+	0x1B80, 0xE1230495,
-+	0x1B80, 0xE1230497,
-+	0x1B80, 0x4F0204A5,
-+	0x1B80, 0x4F0204A7,
-+	0x1B80, 0x4E0004B5,
-+	0x1B80, 0x4E0004B7,
-+	0x1B80, 0x530204C5,
-+	0x1B80, 0x530204C7,
-+	0x1B80, 0x520104D5,
-+	0x1B80, 0x520104D7,
-+	0x1B80, 0xE12704E5,
-+	0x1B80, 0xE12704E7,
-+	0x1B80, 0x000104F5,
-+	0x1B80, 0x000104F7,
-+	0x1B80, 0x5C720505,
-+	0x1B80, 0x5C720507,
-+	0x1B80, 0xE1320515,
-+	0x1B80, 0xE1320517,
-+	0x1B80, 0x54E50525,
-+	0x1B80, 0x54E50527,
-+	0x1B80, 0x54BF0535,
-+	0x1B80, 0x54BF0537,
-+	0x1B80, 0x54C50545,
-+	0x1B80, 0x54C50547,
-+	0x1B80, 0x54BE0555,
-+	0x1B80, 0x54BE0557,
-+	0x1B80, 0x54DF0565,
-+	0x1B80, 0x54DF0567,
-+	0x1B80, 0x0BA60575,
-+	0x1B80, 0x0BA60577,
-+	0x1B80, 0xF3130585,
-+	0x1B80, 0xF3130587,
-+	0x1B80, 0xF41E0595,
-+	0x1B80, 0xF41E0597,
-+	0x1B80, 0xF53C05A5,
-+	0x1B80, 0xF53C05A7,
-+	0x1B80, 0x000105B5,
-+	0x1B80, 0x000105B7,
-+	0x1B80, 0x620605C5,
-+	0x1B80, 0x620605C7,
-+	0x1B80, 0x600605D5,
-+	0x1B80, 0x600605D7,
-+	0x1B80, 0xE1A905E5,
-+	0x1B80, 0xE1A905E7,
-+	0x1B80, 0x0C0005F5,
-+	0x1B80, 0x0C0005F7,
-+	0x1B80, 0x5C720605,
-+	0x1B80, 0x5C720607,
-+	0x1B80, 0xE1320615,
-+	0x1B80, 0xE1320617,
-+	0x1B80, 0x5CF10625,
-+	0x1B80, 0x5CF10627,
-+	0x1B80, 0x0C010635,
-+	0x1B80, 0x0C010637,
-+	0x1B80, 0xF2020645,
-+	0x1B80, 0xF2020647,
-+	0x1B80, 0x30D60655,
-+	0x1B80, 0x30D60657,
-+	0x1B80, 0x0AC60665,
-+	0x1B80, 0x0AC60667,
-+	0x1B80, 0xE1B60675,
-+	0x1B80, 0xE1B60677,
-+	0x1B80, 0xE1580685,
-+	0x1B80, 0xE1580687,
-+	0x1B80, 0x54E50695,
-+	0x1B80, 0x54E50697,
-+	0x1B80, 0x000106A5,
-+	0x1B80, 0x000106A7,
-+	0x1B80, 0x560106B5,
-+	0x1B80, 0x560106B7,
-+	0x1B80, 0x5CE206C5,
-+	0x1B80, 0x5CE206C7,
-+	0x1B80, 0x0AE106D5,
-+	0x1B80, 0x0AE106D7,
-+	0x1B80, 0x630C06E5,
-+	0x1B80, 0x630C06E7,
-+	0x1B80, 0xE13F06F5,
-+	0x1B80, 0xE13F06F7,
-+	0x1B80, 0x00270705,
-+	0x1B80, 0x00270707,
-+	0x1B80, 0xE16C0715,
-+	0x1B80, 0xE16C0717,
-+	0x1B80, 0x00020725,
-+	0x1B80, 0x00020727,
-+	0x1B80, 0x002A0735,
-+	0x1B80, 0x002A0737,
-+	0x1B80, 0x07140745,
-+	0x1B80, 0x07140747,
-+	0x1B80, 0x00020755,
-+	0x1B80, 0x00020757,
-+	0x1B80, 0x30C30765,
-+	0x1B80, 0x30C30767,
-+	0x1B80, 0x56010775,
-+	0x1B80, 0x56010777,
-+	0x1B80, 0x5CE20785,
-+	0x1B80, 0x5CE20787,
-+	0x1B80, 0x0AE10795,
-+	0x1B80, 0x0AE10797,
-+	0x1B80, 0x631707A5,
-+	0x1B80, 0x631707A7,
-+	0x1B80, 0xE13F07B5,
-+	0x1B80, 0xE13F07B7,
-+	0x1B80, 0x002507C5,
-+	0x1B80, 0x002507C7,
-+	0x1B80, 0xE16C07D5,
-+	0x1B80, 0xE16C07D7,
-+	0x1B80, 0x000207E5,
-+	0x1B80, 0x000207E7,
-+	0x1B80, 0x630F07F5,
-+	0x1B80, 0x630F07F7,
-+	0x1B80, 0xE13F0805,
-+	0x1B80, 0xE13F0807,
-+	0x1B80, 0x63070815,
-+	0x1B80, 0x63070817,
-+	0x1B80, 0xE13F0825,
-+	0x1B80, 0xE13F0827,
-+	0x1B80, 0x07140835,
-+	0x1B80, 0x07140837,
-+	0x1B80, 0x56000845,
-+	0x1B80, 0x56000847,
-+	0x1B80, 0x5CF20855,
-+	0x1B80, 0x5CF20857,
-+	0x1B80, 0x0AF10865,
-+	0x1B80, 0x0AF10867,
-+	0x1B80, 0x07140875,
-+	0x1B80, 0x07140877,
-+	0x1B80, 0x07140885,
-+	0x1B80, 0x07140887,
-+	0x1B80, 0x630F0895,
-+	0x1B80, 0x630F0897,
-+	0x1B80, 0xE13F08A5,
-+	0x1B80, 0xE13F08A7,
-+	0x1B80, 0x631708B5,
-+	0x1B80, 0x631708B7,
-+	0x1B80, 0xE13F08C5,
-+	0x1B80, 0xE13F08C7,
-+	0x1B80, 0x002508D5,
-+	0x1B80, 0x002508D7,
-+	0x1B80, 0xE16C08E5,
-+	0x1B80, 0xE16C08E7,
-+	0x1B80, 0x000208F5,
-+	0x1B80, 0x000208F7,
-+	0x1B80, 0x30C30905,
-+	0x1B80, 0x30C30907,
-+	0x1B80, 0xE1A90915,
-+	0x1B80, 0xE1A90917,
-+	0x1B80, 0x62060925,
-+	0x1B80, 0x62060927,
-+	0x1B80, 0x60060935,
-+	0x1B80, 0x60060937,
-+	0x1B80, 0xE1160945,
-+	0x1B80, 0xE1160947,
-+	0x1B80, 0x54BE0955,
-+	0x1B80, 0x54BE0957,
-+	0x1B80, 0x56010965,
-+	0x1B80, 0x56010967,
-+	0x1B80, 0x5CE20975,
-+	0x1B80, 0x5CE20977,
-+	0x1B80, 0x0AE10985,
-+	0x1B80, 0x0AE10987,
-+	0x1B80, 0x633A0995,
-+	0x1B80, 0x633A0997,
-+	0x1B80, 0xE13F09A5,
-+	0x1B80, 0xE13F09A7,
-+	0x1B80, 0x633709B5,
-+	0x1B80, 0x633709B7,
-+	0x1B80, 0xE13F09C5,
-+	0x1B80, 0xE13F09C7,
-+	0x1B80, 0x632F09D5,
-+	0x1B80, 0x632F09D7,
-+	0x1B80, 0xE13F09E5,
-+	0x1B80, 0xE13F09E7,
-+	0x1B80, 0x632709F5,
-+	0x1B80, 0x632709F7,
-+	0x1B80, 0xE13F0A05,
-+	0x1B80, 0xE13F0A07,
-+	0x1B80, 0x631F0A15,
-+	0x1B80, 0x631F0A17,
-+	0x1B80, 0xE13F0A25,
-+	0x1B80, 0xE13F0A27,
-+	0x1B80, 0x63170A35,
-+	0x1B80, 0x63170A37,
-+	0x1B80, 0xE13F0A45,
-+	0x1B80, 0xE13F0A47,
-+	0x1B80, 0x630F0A55,
-+	0x1B80, 0x630F0A57,
-+	0x1B80, 0xE13F0A65,
-+	0x1B80, 0xE13F0A67,
-+	0x1B80, 0x63070A75,
-+	0x1B80, 0x63070A77,
-+	0x1B80, 0xE13F0A85,
-+	0x1B80, 0xE13F0A87,
-+	0x1B80, 0xE16C0A95,
-+	0x1B80, 0xE16C0A97,
-+	0x1B80, 0x56000AA5,
-+	0x1B80, 0x56000AA7,
-+	0x1B80, 0x5CF20AB5,
-+	0x1B80, 0x5CF20AB7,
-+	0x1B80, 0x0AF10AC5,
-+	0x1B80, 0x0AF10AC7,
-+	0x1B80, 0xF5040AD5,
-+	0x1B80, 0xF5040AD7,
-+	0x1B80, 0xE13F0AE5,
-+	0x1B80, 0xE13F0AE7,
-+	0x1B80, 0xE16C0AF5,
-+	0x1B80, 0xE16C0AF7,
-+	0x1B80, 0x30B30B05,
-+	0x1B80, 0x30B30B07,
-+	0x1B80, 0x07140B15,
-+	0x1B80, 0x07140B17,
-+	0x1B80, 0x07140B25,
-+	0x1B80, 0x07140B27,
-+	0x1B80, 0x630F0B35,
-+	0x1B80, 0x630F0B37,
-+	0x1B80, 0xE13F0B45,
-+	0x1B80, 0xE13F0B47,
-+	0x1B80, 0x63170B55,
-+	0x1B80, 0x63170B57,
-+	0x1B80, 0xE13F0B65,
-+	0x1B80, 0xE13F0B67,
-+	0x1B80, 0x631F0B75,
-+	0x1B80, 0x631F0B77,
-+	0x1B80, 0xE13F0B85,
-+	0x1B80, 0xE13F0B87,
-+	0x1B80, 0x63270B95,
-+	0x1B80, 0x63270B97,
-+	0x1B80, 0xE13F0BA5,
-+	0x1B80, 0xE13F0BA7,
-+	0x1B80, 0x632F0BB5,
-+	0x1B80, 0x632F0BB7,
-+	0x1B80, 0xE13F0BC5,
-+	0x1B80, 0xE13F0BC7,
-+	0x1B80, 0x63370BD5,
-+	0x1B80, 0x63370BD7,
-+	0x1B80, 0xE13F0BE5,
-+	0x1B80, 0xE13F0BE7,
-+	0x1B80, 0x633A0BF5,
-+	0x1B80, 0x633A0BF7,
-+	0x1B80, 0xE13F0C05,
-+	0x1B80, 0xE13F0C07,
-+	0x1B80, 0xF60B0C15,
-+	0x1B80, 0xF60B0C17,
-+	0x1B80, 0xF7170C25,
-+	0x1B80, 0xF7170C27,
-+	0x1B80, 0x4D300C35,
-+	0x1B80, 0x4D300C37,
-+	0x1B80, 0x57040C45,
-+	0x1B80, 0x57040C47,
-+	0x1B80, 0x57000C55,
-+	0x1B80, 0x57000C57,
-+	0x1B80, 0x96000C65,
-+	0x1B80, 0x96000C67,
-+	0x1B80, 0x57080C75,
-+	0x1B80, 0x57080C77,
-+	0x1B80, 0x57000C85,
-+	0x1B80, 0x57000C87,
-+	0x1B80, 0x95000C95,
-+	0x1B80, 0x95000C97,
-+	0x1B80, 0x4D000CA5,
-+	0x1B80, 0x4D000CA7,
-+	0x1B80, 0x6C070CB5,
-+	0x1B80, 0x6C070CB7,
-+	0x1B80, 0x00010CC5,
-+	0x1B80, 0x00010CC7,
-+	0x1B80, 0x00220CD5,
-+	0x1B80, 0x00220CD7,
-+	0x1B80, 0x06140CE5,
-+	0x1B80, 0x06140CE7,
-+	0x1B80, 0xE16C0CF5,
-+	0x1B80, 0xE16C0CF7,
-+	0x1B80, 0x00020D05,
-+	0x1B80, 0x00020D07,
-+	0x1B80, 0x00250D15,
-+	0x1B80, 0x00250D17,
-+	0x1B80, 0x06140D25,
-+	0x1B80, 0x06140D27,
-+	0x1B80, 0xE16C0D35,
-+	0x1B80, 0xE16C0D37,
-+	0x1B80, 0x00020D45,
-+	0x1B80, 0x00020D47,
-+	0x1B80, 0x00010D55,
-+	0x1B80, 0x00010D57,
-+	0x1B80, 0x00320D65,
-+	0x1B80, 0x00320D67,
-+	0x1B80, 0xE16C0D75,
-+	0x1B80, 0xE16C0D77,
-+	0x1B80, 0x00020D85,
-+	0x1B80, 0x00020D87,
-+	0x1B80, 0xE1860D95,
-+	0x1B80, 0xE1860D97,
-+	0x1B80, 0xE1B60DA5,
-+	0x1B80, 0xE1B60DA7,
-+	0x1B80, 0x5CD10DB5,
-+	0x1B80, 0x5CD10DB7,
-+	0x1B80, 0x673A0DC5,
-+	0x1B80, 0x673A0DC7,
-+	0x1B80, 0xE1230DD5,
-+	0x1B80, 0xE1230DD7,
-+	0x1B80, 0xF80B0DE5,
-+	0x1B80, 0xF80B0DE7,
-+	0x1B80, 0xF9110DF5,
-+	0x1B80, 0xF9110DF7,
-+	0x1B80, 0xE1580E05,
-+	0x1B80, 0xE1580E07,
-+	0x1B80, 0x67370E15,
-+	0x1B80, 0x67370E17,
-+	0x1B80, 0xE1580E25,
-+	0x1B80, 0xE1580E27,
-+	0x1B80, 0x672F0E35,
-+	0x1B80, 0x672F0E37,
-+	0x1B80, 0xE1580E45,
-+	0x1B80, 0xE1580E47,
-+	0x1B80, 0x67270E55,
-+	0x1B80, 0x67270E57,
-+	0x1B80, 0xE1580E65,
-+	0x1B80, 0xE1580E67,
-+	0x1B80, 0x671F0E75,
-+	0x1B80, 0x671F0E77,
-+	0x1B80, 0xE1580E85,
-+	0x1B80, 0xE1580E87,
-+	0x1B80, 0x67170E95,
-+	0x1B80, 0x67170E97,
-+	0x1B80, 0xE1580EA5,
-+	0x1B80, 0xE1580EA7,
-+	0x1B80, 0xF8020EB5,
-+	0x1B80, 0xF8020EB7,
-+	0x1B80, 0x30EE0EC5,
-+	0x1B80, 0x30EE0EC7,
-+	0x1B80, 0xE0D10ED5,
-+	0x1B80, 0xE0D10ED7,
-+	0x1B80, 0x670F0EE5,
-+	0x1B80, 0x670F0EE7,
-+	0x1B80, 0xE1580EF5,
-+	0x1B80, 0xE1580EF7,
-+	0x1B80, 0x67070F05,
-+	0x1B80, 0x67070F07,
-+	0x1B80, 0xE1580F15,
-+	0x1B80, 0xE1580F17,
-+	0x1B80, 0xF9020F25,
-+	0x1B80, 0xF9020F27,
-+	0x1B80, 0x30F50F35,
-+	0x1B80, 0x30F50F37,
-+	0x1B80, 0xE0CD0F45,
-+	0x1B80, 0xE0CD0F47,
-+	0x1B80, 0x06140F55,
-+	0x1B80, 0x06140F57,
-+	0x1B80, 0xE16C0F65,
-+	0x1B80, 0xE16C0F67,
-+	0x1B80, 0x5CF10F75,
-+	0x1B80, 0x5CF10F77,
-+	0x1B80, 0xE1580F85,
-+	0x1B80, 0xE1580F87,
-+	0x1B80, 0x06140F95,
-+	0x1B80, 0x06140F97,
-+	0x1B80, 0xE16C0FA5,
-+	0x1B80, 0xE16C0FA7,
-+	0x1B80, 0xF9020FB5,
-+	0x1B80, 0xF9020FB7,
-+	0x1B80, 0x30FF0FC5,
-+	0x1B80, 0x30FF0FC7,
-+	0x1B80, 0xE0CD0FD5,
-+	0x1B80, 0xE0CD0FD7,
-+	0x1B80, 0x31130FE5,
-+	0x1B80, 0x31130FE7,
-+	0x1B80, 0x670F0FF5,
-+	0x1B80, 0x670F0FF7,
-+	0x1B80, 0xE1581005,
-+	0x1B80, 0xE1581007,
-+	0x1B80, 0x67171015,
-+	0x1B80, 0x67171017,
-+	0x1B80, 0xE1581025,
-+	0x1B80, 0xE1581027,
-+	0x1B80, 0xF8021035,
-+	0x1B80, 0xF8021037,
-+	0x1B80, 0x31071045,
-+	0x1B80, 0x31071047,
-+	0x1B80, 0xE0D11055,
-+	0x1B80, 0xE0D11057,
-+	0x1B80, 0x31131065,
-+	0x1B80, 0x31131067,
-+	0x1B80, 0x670F1075,
-+	0x1B80, 0x670F1077,
-+	0x1B80, 0xE1581085,
-+	0x1B80, 0xE1581087,
-+	0x1B80, 0x671F1095,
-+	0x1B80, 0x671F1097,
-+	0x1B80, 0xE15810A5,
-+	0x1B80, 0xE15810A7,
-+	0x1B80, 0x672710B5,
-+	0x1B80, 0x672710B7,
-+	0x1B80, 0xE15810C5,
-+	0x1B80, 0xE15810C7,
-+	0x1B80, 0x672F10D5,
-+	0x1B80, 0x672F10D7,
-+	0x1B80, 0xE15810E5,
-+	0x1B80, 0xE15810E7,
-+	0x1B80, 0x673710F5,
-+	0x1B80, 0x673710F7,
-+	0x1B80, 0xE1581105,
-+	0x1B80, 0xE1581107,
-+	0x1B80, 0x673A1115,
-+	0x1B80, 0x673A1117,
-+	0x1B80, 0xE1581125,
-+	0x1B80, 0xE1581127,
-+	0x1B80, 0x4D101135,
-+	0x1B80, 0x4D101137,
-+	0x1B80, 0x30C41145,
-+	0x1B80, 0x30C41147,
-+	0x1B80, 0x00011155,
-+	0x1B80, 0x00011157,
-+	0x1B80, 0x6F241165,
-+	0x1B80, 0x6F241167,
-+	0x1B80, 0x6E401175,
-+	0x1B80, 0x6E401177,
-+	0x1B80, 0x6D001185,
-+	0x1B80, 0x6D001187,
-+	0x1B80, 0x55031195,
-+	0x1B80, 0x55031197,
-+	0x1B80, 0x312311A5,
-+	0x1B80, 0x312311A7,
-+	0x1B80, 0x6F1C11B5,
-+	0x1B80, 0x6F1C11B7,
-+	0x1B80, 0x6E4011C5,
-+	0x1B80, 0x6E4011C7,
-+	0x1B80, 0x550B11D5,
-+	0x1B80, 0x550B11D7,
-+	0x1B80, 0x312311E5,
-+	0x1B80, 0x312311E7,
-+	0x1B80, 0x061C11F5,
-+	0x1B80, 0x061C11F7,
-+	0x1B80, 0x54DE1205,
-+	0x1B80, 0x54DE1207,
-+	0x1B80, 0x06DC1215,
-+	0x1B80, 0x06DC1217,
-+	0x1B80, 0x55131225,
-+	0x1B80, 0x55131227,
-+	0x1B80, 0x74011235,
-+	0x1B80, 0x74011237,
-+	0x1B80, 0x74001245,
-+	0x1B80, 0x74001247,
-+	0x1B80, 0x8E001255,
-+	0x1B80, 0x8E001257,
-+	0x1B80, 0x00011265,
-+	0x1B80, 0x00011267,
-+	0x1B80, 0x57021275,
-+	0x1B80, 0x57021277,
-+	0x1B80, 0x57001285,
-+	0x1B80, 0x57001287,
-+	0x1B80, 0x97001295,
-+	0x1B80, 0x97001297,
-+	0x1B80, 0x000112A5,
-+	0x1B80, 0x000112A7,
-+	0x1B80, 0x54BF12B5,
-+	0x1B80, 0x54BF12B7,
-+	0x1B80, 0x54C112C5,
-+	0x1B80, 0x54C112C7,
-+	0x1B80, 0x54A212D5,
-+	0x1B80, 0x54A212D7,
-+	0x1B80, 0x54C012E5,
-+	0x1B80, 0x54C012E7,
-+	0x1B80, 0x54A112F5,
-+	0x1B80, 0x54A112F7,
-+	0x1B80, 0x54DF1305,
-+	0x1B80, 0x54DF1307,
-+	0x1B80, 0x00011315,
-+	0x1B80, 0x00011317,
-+	0x1B80, 0x55001325,
-+	0x1B80, 0x55001327,
-+	0x1B80, 0xE1231335,
-+	0x1B80, 0xE1231337,
-+	0x1B80, 0x54811345,
-+	0x1B80, 0x54811347,
-+	0x1B80, 0xE1231355,
-+	0x1B80, 0xE1231357,
-+	0x1B80, 0x54801365,
-+	0x1B80, 0x54801367,
-+	0x1B80, 0x002A1375,
-+	0x1B80, 0x002A1377,
-+	0x1B80, 0xE12B1385,
-+	0x1B80, 0xE12B1387,
-+	0x1B80, 0xE1231395,
-+	0x1B80, 0xE1231397,
-+	0x1B80, 0x548013A5,
-+	0x1B80, 0x548013A7,
-+	0x1B80, 0xE17213B5,
-+	0x1B80, 0xE17213B7,
-+	0x1B80, 0xBF3013C5,
-+	0x1B80, 0xBF3013C7,
-+	0x1B80, 0x000213D5,
-+	0x1B80, 0x000213D7,
-+	0x1B80, 0x302813E5,
-+	0x1B80, 0x302813E7,
-+	0x1B80, 0x4F7813F5,
-+	0x1B80, 0x4F7813F7,
-+	0x1B80, 0x4E001405,
-+	0x1B80, 0x4E001407,
-+	0x1B80, 0x53871415,
-+	0x1B80, 0x53871417,
-+	0x1B80, 0x52F11425,
-+	0x1B80, 0x52F11427,
-+	0x1B80, 0xE1161435,
-+	0x1B80, 0xE1161437,
-+	0x1B80, 0xE11B1445,
-+	0x1B80, 0xE11B1447,
-+	0x1B80, 0xE11F1455,
-+	0x1B80, 0xE11F1457,
-+	0x1B80, 0xE1271465,
-+	0x1B80, 0xE1271467,
-+	0x1B80, 0x54811475,
-+	0x1B80, 0x54811477,
-+	0x1B80, 0xE1161485,
-+	0x1B80, 0xE1161487,
-+	0x1B80, 0xE11B1495,
-+	0x1B80, 0xE11B1497,
-+	0x1B80, 0xE11F14A5,
-+	0x1B80, 0xE11F14A7,
-+	0x1B80, 0xE12714B5,
-+	0x1B80, 0xE12714B7,
-+	0x1B80, 0x548014C5,
-+	0x1B80, 0x548014C7,
-+	0x1B80, 0x002A14D5,
-+	0x1B80, 0x002A14D7,
-+	0x1B80, 0xE12B14E5,
-+	0x1B80, 0xE12B14E7,
-+	0x1B80, 0xE11614F5,
-+	0x1B80, 0xE11614F7,
-+	0x1B80, 0xE11B1505,
-+	0x1B80, 0xE11B1507,
-+	0x1B80, 0xE11F1515,
-+	0x1B80, 0xE11F1517,
-+	0x1B80, 0xE1271525,
-+	0x1B80, 0xE1271527,
-+	0x1B80, 0x54801535,
-+	0x1B80, 0x54801537,
-+	0x1B80, 0xE1721545,
-+	0x1B80, 0xE1721547,
-+	0x1B80, 0xBF171555,
-+	0x1B80, 0xBF171557,
-+	0x1B80, 0x00021565,
-+	0x1B80, 0x00021567,
-+	0x1B80, 0x30281575,
-+	0x1B80, 0x30281577,
-+	0x1B80, 0x06141585,
-+	0x1B80, 0x06141587,
-+	0x1B80, 0x73201595,
-+	0x1B80, 0x73201597,
-+	0x1B80, 0x720015A5,
-+	0x1B80, 0x720015A7,
-+	0x1B80, 0x710015B5,
-+	0x1B80, 0x710015B7,
-+	0x1B80, 0x550115C5,
-+	0x1B80, 0x550115C7,
-+	0x1B80, 0xE12315D5,
-+	0x1B80, 0xE12315D7,
-+	0x1B80, 0xE12715E5,
-+	0x1B80, 0xE12715E7,
-+	0x1B80, 0x548115F5,
-+	0x1B80, 0x548115F7,
-+	0x1B80, 0xE1231605,
-+	0x1B80, 0xE1231607,
-+	0x1B80, 0xE1271615,
-+	0x1B80, 0xE1271617,
-+	0x1B80, 0x54801625,
-+	0x1B80, 0x54801627,
-+	0x1B80, 0x002A1635,
-+	0x1B80, 0x002A1637,
-+	0x1B80, 0xE12B1645,
-+	0x1B80, 0xE12B1647,
-+	0x1B80, 0xE1231655,
-+	0x1B80, 0xE1231657,
-+	0x1B80, 0xE1271665,
-+	0x1B80, 0xE1271667,
-+	0x1B80, 0x54801675,
-+	0x1B80, 0x54801677,
-+	0x1B80, 0xE1721685,
-+	0x1B80, 0xE1721687,
-+	0x1B80, 0xBF031695,
-+	0x1B80, 0xBF031697,
-+	0x1B80, 0x000216A5,
-+	0x1B80, 0x000216A7,
-+	0x1B80, 0x302816B5,
-+	0x1B80, 0x302816B7,
-+	0x1B80, 0x54BF16C5,
-+	0x1B80, 0x54BF16C7,
-+	0x1B80, 0x54C516D5,
-+	0x1B80, 0x54C516D7,
-+	0x1B80, 0x050A16E5,
-+	0x1B80, 0x050A16E7,
-+	0x1B80, 0x071416F5,
-+	0x1B80, 0x071416F7,
-+	0x1B80, 0x54DF1705,
-+	0x1B80, 0x54DF1707,
-+	0x1B80, 0x00011715,
-+	0x1B80, 0x00011717,
-+	0x1B80, 0x54BF1725,
-+	0x1B80, 0x54BF1727,
-+	0x1B80, 0x54C01735,
-+	0x1B80, 0x54C01737,
-+	0x1B80, 0x54A31745,
-+	0x1B80, 0x54A31747,
-+	0x1B80, 0x54C11755,
-+	0x1B80, 0x54C11757,
-+	0x1B80, 0x54A41765,
-+	0x1B80, 0x54A41767,
-+	0x1B80, 0x4C831775,
-+	0x1B80, 0x4C831777,
-+	0x1B80, 0x4C031785,
-+	0x1B80, 0x4C031787,
-+	0x1B80, 0xBF0B1795,
-+	0x1B80, 0xBF0B1797,
-+	0x1B80, 0x54C217A5,
-+	0x1B80, 0x54C217A7,
-+	0x1B80, 0x54A417B5,
-+	0x1B80, 0x54A417B7,
-+	0x1B80, 0x4C8517C5,
-+	0x1B80, 0x4C8517C7,
-+	0x1B80, 0x4C0517D5,
-+	0x1B80, 0x4C0517D7,
-+	0x1B80, 0xBF0617E5,
-+	0x1B80, 0xBF0617E7,
-+	0x1B80, 0x54C117F5,
-+	0x1B80, 0x54C117F7,
-+	0x1B80, 0x54A31805,
-+	0x1B80, 0x54A31807,
-+	0x1B80, 0x4C861815,
-+	0x1B80, 0x4C861817,
-+	0x1B80, 0x4C061825,
-+	0x1B80, 0x4C061827,
-+	0x1B80, 0xBF011835,
-+	0x1B80, 0xBF011837,
-+	0x1B80, 0x54DF1845,
-+	0x1B80, 0x54DF1847,
-+	0x1B80, 0x00011855,
-+	0x1B80, 0x00011857,
-+	0x1B80, 0x00071865,
-+	0x1B80, 0x00071867,
-+	0x1B80, 0x54011875,
-+	0x1B80, 0x54011877,
-+	0x1B80, 0x00041885,
-+	0x1B80, 0x00041887,
-+	0x1B80, 0x56001895,
-+	0x1B80, 0x56001897,
-+	0x1B80, 0x5CF218A5,
-+	0x1B80, 0x5CF218A7,
-+	0x1B80, 0x630718B5,
-+	0x1B80, 0x630718B7,
-+	0x1B80, 0x620418C5,
-+	0x1B80, 0x620418C7,
-+	0x1B80, 0x610018D5,
-+	0x1B80, 0x610018D7,
-+	0x1B80, 0x670718E5,
-+	0x1B80, 0x670718E7,
-+	0x1B80, 0x660618F5,
-+	0x1B80, 0x660618F7,
-+	0x1B80, 0x6F201905,
-+	0x1B80, 0x6F201907,
-+	0x1B80, 0x6E001915,
-+	0x1B80, 0x6E001917,
-+	0x1B80, 0x6D001925,
-+	0x1B80, 0x6D001927,
-+	0x1B80, 0x6C031935,
-+	0x1B80, 0x6C031937,
-+	0x1B80, 0x73201945,
-+	0x1B80, 0x73201947,
-+	0x1B80, 0x72001955,
-+	0x1B80, 0x72001957,
-+	0x1B80, 0x71001965,
-+	0x1B80, 0x71001967,
-+	0x1B80, 0x7B201975,
-+	0x1B80, 0x7B201977,
-+	0x1B80, 0x7A001985,
-+	0x1B80, 0x7A001987,
-+	0x1B80, 0x79001995,
-+	0x1B80, 0x79001997,
-+	0x1B80, 0x7F2019A5,
-+	0x1B80, 0x7F2019A7,
-+	0x1B80, 0x7E0019B5,
-+	0x1B80, 0x7E0019B7,
-+	0x1B80, 0x7D0019C5,
-+	0x1B80, 0x7D0019C7,
-+	0x1B80, 0x090119D5,
-+	0x1B80, 0x090119D7,
-+	0x1B80, 0x0AC619E5,
-+	0x1B80, 0x0AC619E7,
-+	0x1B80, 0x0BA619F5,
-+	0x1B80, 0x0BA619F7,
-+	0x1B80, 0x0C011A05,
-+	0x1B80, 0x0C011A07,
-+	0x1B80, 0x0D021A15,
-+	0x1B80, 0x0D021A17,
-+	0x1B80, 0x0E041A25,
-+	0x1B80, 0x0E041A27,
-+	0x1B80, 0x0FFF1A35,
-+	0x1B80, 0x0FFF1A37,
-+	0x1B80, 0x4D041A45,
-+	0x1B80, 0x4D041A47,
-+	0x1B80, 0x28F81A55,
-+	0x1B80, 0x28F81A57,
-+	0x1B80, 0xE0001A65,
-+	0x1B80, 0xE0001A67,
-+	0x1B80, 0x4D001A75,
-+	0x1B80, 0x4D001A77,
-+	0x1B80, 0x00011A85,
-+	0x1B80, 0x00011A87,
-+	0x1B80, 0x4D041A95,
-+	0x1B80, 0x4D041A97,
-+	0x1B80, 0x2EF81AA5,
-+	0x1B80, 0x2EF81AA7,
-+	0x1B80, 0x00021AB5,
-+	0x1B80, 0x00021AB7,
-+	0x1B80, 0x23031AC5,
-+	0x1B80, 0x23031AC7,
-+	0x1B80, 0x00001AD5,
-+	0x1B80, 0x00001AD7,
-+	0x1B80, 0x23131AE5,
-+	0x1B80, 0x23131AE7,
-+	0x1B80, 0xE77F1AF5,
-+	0x1B80, 0xE77F1AF7,
-+	0x1B80, 0x232F1B05,
-+	0x1B80, 0x232F1B07,
-+	0x1B80, 0xEFBF1B15,
-+	0x1B80, 0xEFBF1B17,
-+	0x1B80, 0x2EF01B25,
-+	0x1B80, 0x2EF01B27,
-+	0x1B80, 0x00021B35,
-+	0x1B80, 0x00021B37,
-+	0x1B80, 0x4D001B45,
-+	0x1B80, 0x4D001B47,
-+	0x1B80, 0x00011B55,
-+	0x1B80, 0x00011B57,
-+	0x1B80, 0x4D041B65,
-+	0x1B80, 0x4D041B67,
-+	0x1B80, 0x2EF81B75,
-+	0x1B80, 0x2EF81B77,
-+	0x1B80, 0x00021B85,
-+	0x1B80, 0x00021B87,
-+	0x1B80, 0x23031B95,
-+	0x1B80, 0x23031B97,
-+	0x1B80, 0x00001BA5,
-+	0x1B80, 0x00001BA7,
-+	0x1B80, 0x23131BB5,
-+	0x1B80, 0x23131BB7,
-+	0x1B80, 0xE77F1BC5,
-+	0x1B80, 0xE77F1BC7,
-+	0x1B80, 0x232F1BD5,
-+	0x1B80, 0x232F1BD7,
-+	0x1B80, 0xE79F1BE5,
-+	0x1B80, 0xE79F1BE7,
-+	0x1B80, 0x2EF01BF5,
-+	0x1B80, 0x2EF01BF7,
-+	0x1B80, 0x00021C05,
-+	0x1B80, 0x00021C07,
-+	0x1B80, 0x28F81C15,
-+	0x1B80, 0x28F81C17,
-+	0x1B80, 0x80001C25,
-+	0x1B80, 0x80001C27,
-+	0x1B80, 0x4D001C35,
-+	0x1B80, 0x4D001C37,
-+	0x1B80, 0x00011C45,
-+	0x1B80, 0x00011C47,
-+	0x1B80, 0x00041C55,
-+	0x1B80, 0x00041C57,
-+	0x1B80, 0x6BC01C65,
-+	0x1B80, 0x6BC01C67,
-+	0x1B80, 0x4D041C75,
-+	0x1B80, 0x4D041C77,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241C85,
-+	0x1B80, 0x68241C87,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x68481C85,
-+	0x1B80, 0x68481C87,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x66061C95,
-+	0x1B80, 0x66061C97,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x650C1CA5,
-+	0x1B80, 0x650C1CA7,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x65041CA5,
-+	0x1B80, 0x65041CA7,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x64471CB5,
-+	0x1B80, 0x64471CB7,
-+	0x1B80, 0x23411CC5,
-+	0x1B80, 0x23411CC7,
-+	0x1B80, 0x100E1CD5,
-+	0x1B80, 0x100E1CD7,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60101CE5,
-+	0x1B80, 0x60101CE7,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x60011CE5,
-+	0x1B80, 0x60011CE7,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x23411CF5,
-+	0x1B80, 0x23411CF7,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60811D05,
-+	0x1B80, 0x60811D07,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x60611D05,
-+	0x1B80, 0x60611D07,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x23411D15,
-+	0x1B80, 0x23411D17,
-+	0x1B80, 0x70E11D25,
-+	0x1B80, 0x70E11D27,
-+	0x1B80, 0x4D001D35,
-+	0x1B80, 0x4D001D37,
-+	0x1B80, 0x00011D45,
-+	0x1B80, 0x00011D47,
-+	0x1B80, 0x00041D55,
-+	0x1B80, 0x00041D57,
-+	0x1B80, 0x6B401D65,
-+	0x1B80, 0x6B401D67,
-+	0x1B80, 0x4D041D75,
-+	0x1B80, 0x4D041D77,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241D85,
-+	0x1B80, 0x68241D87,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241D85,
-+	0x1B80, 0x68241D87,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241D85,
-+	0x1B80, 0x68241D87,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241D85,
-+	0x1B80, 0x68241D87,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241D85,
-+	0x1B80, 0x68241D87,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x68241D85,
-+	0x1B80, 0x68241D87,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x68481D85,
-+	0x1B80, 0x68481D87,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x66061D95,
-+	0x1B80, 0x66061D97,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65081DA5,
-+	0x1B80, 0x65081DA7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65181DA5,
-+	0x1B80, 0x65181DA7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65181DA5,
-+	0x1B80, 0x65181DA7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65181DA5,
-+	0x1B80, 0x65181DA7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65181DA5,
-+	0x1B80, 0x65181DA7,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65081DA5,
-+	0x1B80, 0x65081DA7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65181DA5,
-+	0x1B80, 0x65181DA7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x65181DA5,
-+	0x1B80, 0x65181DA7,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x65081DA5,
-+	0x1B80, 0x65081DA7,
-+	0xB0000000,	0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x64481DB5,
-+	0x1B80, 0x64481DB7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x64481DB5,
-+	0x1B80, 0x64481DB7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x64481DB5,
-+	0x1B80, 0x64481DB7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x64481DB5,
-+	0x1B80, 0x64481DB7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x64481DB5,
-+	0x1B80, 0x64481DB7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x64481DB5,
-+	0x1B80, 0x64481DB7,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x64471DB5,
-+	0x1B80, 0x64471DB7,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x23411DC5,
-+	0x1B80, 0x23411DC7,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E41DD5,
-+	0x1B80, 0x11E41DD7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E81DD5,
-+	0x1B80, 0x11E81DD7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E81DD5,
-+	0x1B80, 0x11E81DD7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E81DD5,
-+	0x1B80, 0x11E81DD7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E81DD5,
-+	0x1B80, 0x11E81DD7,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E41DD5,
-+	0x1B80, 0x11E41DD7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E81DD5,
-+	0x1B80, 0x11E81DD7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x11E81DD5,
-+	0x1B80, 0x11E81DD7,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x11E41DD5,
-+	0x1B80, 0x11E41DD7,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x60011DE5,
-+	0x1B80, 0x60011DE7,
-+	0x1B80, 0x23411DF5,
-+	0x1B80, 0x23411DF7,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60E11E05,
-+	0x1B80, 0x60E11E07,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x61E11E05,
-+	0x1B80, 0x61E11E07,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x61E11E05,
-+	0x1B80, 0x61E11E07,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x61E11E05,
-+	0x1B80, 0x61E11E07,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x61E11E05,
-+	0x1B80, 0x61E11E07,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x60E11E05,
-+	0x1B80, 0x60E11E07,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x61E11E05,
-+	0x1B80, 0x61E11E07,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0x1B80, 0x61E11E05,
-+	0x1B80, 0x61E11E07,
-+	0xA0000000,	0x00000000,
-+	0x1B80, 0x60E11E05,
-+	0x1B80, 0x60E11E07,
-+	0xB0000000,	0x00000000,
-+	0x1B80, 0x23411E15,
-+	0x1B80, 0x23411E17,
-+	0x1B80, 0x70611E25,
-+	0x1B80, 0x70611E27,
-+	0x1B80, 0x4D001E35,
-+	0x1B80, 0x4D001E37,
-+	0x1B80, 0x00011E45,
-+	0x1B80, 0x00011E47,
-+	0x1B80, 0x00001E55,
-+	0x1B80, 0x00001E57,
-+	0x1B80, 0x00001E65,
-+	0x1B80, 0x00001E67,
-+	0x1B80, 0x00001E75,
-+	0x1B80, 0x00001E77,
-+	0x1B80, 0x00001E85,
-+	0x1B80, 0x00001E87,
-+	0x1B80, 0x00001E95,
-+	0x1B80, 0x00001E97,
-+	0x1B80, 0x00001EA5,
-+	0x1B80, 0x00001EA7,
-+	0x1B80, 0x00001EB5,
-+	0x1B80, 0x00001EB7,
-+	0x1B80, 0x00001EC5,
-+	0x1B80, 0x00001EC7,
-+	0x1B80, 0x00001ED5,
-+	0x1B80, 0x00001ED7,
-+	0x1B80, 0x00001EE5,
-+	0x1B80, 0x00001EE7,
-+	0x1B80, 0x00001EF5,
-+	0x1B80, 0x00001EF7,
-+	0x1B80, 0x00001F05,
-+	0x1B80, 0x00001F07,
-+	0x1B80, 0x00001F15,
-+	0x1B80, 0x00001F17,
-+	0x1B80, 0x00001F25,
-+	0x1B80, 0x00001F27,
-+	0x1B80, 0x00001F35,
-+	0x1B80, 0x00001F37,
-+	0x1B80, 0x00001F45,
-+	0x1B80, 0x00001F47,
-+	0x1B80, 0x00001F55,
-+	0x1B80, 0x00001F57,
-+	0x1B80, 0x00001F65,
-+	0x1B80, 0x00001F67,
-+	0x1B80, 0x00001F75,
-+	0x1B80, 0x00001F77,
-+	0x1B80, 0x00001F85,
-+	0x1B80, 0x00001F87,
-+	0x1B80, 0x00001F95,
-+	0x1B80, 0x00001F97,
-+	0x1B80, 0x00001FA5,
-+	0x1B80, 0x00001FA7,
-+	0x1B80, 0x00001FB5,
-+	0x1B80, 0x00001FB7,
-+	0x1B80, 0x00001FC5,
-+	0x1B80, 0x00001FC7,
-+	0x1B80, 0x00001FD5,
-+	0x1B80, 0x00001FD7,
-+	0x1B80, 0x00001FE5,
-+	0x1B80, 0x00001FE7,
-+	0x1B80, 0x00001FF5,
-+	0x1B80, 0x00001FF7,
-+	0x1B80, 0x00000006,
-+	0x1B80, 0x00000002,
-+};
-+
-+RTW_DECL_TABLE_PHY_COND(rtw8814a_bb, rtw_phy_cfg_bb);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x30323434, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x32323232, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x26283032, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x30303030, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x32322426, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x30323232, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x30303030, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x20222222, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x30323434, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x32323232, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x26283032, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x30303030, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x32322426, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x30323232, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x30303030, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x20222222, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x30323434, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x32323232, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x26283032, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x30303030, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x32322426, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x30323232, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x22242628, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x30303030, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x20222222, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x30323434, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x32323232, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x26283032, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x30303030, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x32322426, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x30323232, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x22242628, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x30303030, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x20222222, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x30323434, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x32323232, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x26283032, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x30303030, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x24262830, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x32322426, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x30323232, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x30303030, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x24262830, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x20222222, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x30323434, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x32323232, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x26283032, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x30303030, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x24262830, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x32322426, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x30323232, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x30303030, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x24262830, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x20222222, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x30323434, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x32323232, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x26283032, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x30303030, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x24262830, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x32322426, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x30323232, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x22242628, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x30303030, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x24262830, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x20222222, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x30323434, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x32323232, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x26283032, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x30303030, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x24262830, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x32322426, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x30323232, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x22242628, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x30303030, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x24262830, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x20222222, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type0[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x32323232, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x32323232, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x28303232, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x32323232, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x26283032, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x30303030, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x28282828, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x22242628, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x32323232, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x26283032, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x30302224, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x28303030, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x20222426, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x28282828, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x22242628, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x18202020, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x32323232, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x32323232, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x28303232, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x32323232, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x26283032, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x30303030, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x28282828, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x22242628, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x32323232, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x26283032, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x30302224, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x28303030, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x20222426, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x28282828, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x22242628, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x18202020, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x32323232, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x32323232, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x28303232, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x32323232, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x26283032, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x30303030, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x28282828, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x22242628, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x32323232, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x26283032, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x30302224, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x28303030, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x20222426, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x28282828, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x22242628, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x18202020, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x32323232, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x32323232, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x28303232, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x32323232, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x26283032, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x30303030, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x28282828, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x22242628, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x32323232, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x26283032, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x30302224, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x28303030, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x20222426, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x28282828, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x22242628, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x18202020, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x32323232, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x28303232, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x32323232, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x26283032, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x30303030, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x24262830, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x28282828, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x22242628, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x32323232, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x26283032, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x30302224, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x28303030, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x20222426, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x28282828, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x22242628, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x18202020, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x32323232, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x28303232, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x32323232, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x26283032, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x30303030, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x24262830, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x28282828, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x22242628, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x32323232, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x26283032, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x30302224, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x28303030, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x20222426, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x28282828, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x22242628, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x18202020, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x32323232, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x28303232, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x32323232, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x26283032, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x30303030, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x24262830, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x28282828, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x22242628, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x32323232, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x26283032, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x30302224, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x28303030, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x20222426, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x28282828, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x22242628, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x18202020, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x32323232, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x28303232, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x32323232, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x26283032, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x30303030, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x24262830, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x28282828, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x22242628, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x32323232, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x26283032, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x30302224, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x28303030, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x20222426, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x28282828, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x22242628, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x18202020, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type0);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type2[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x30323434, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x32323232, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x26283032, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x30303030, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x32322426, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x30323232, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x30303030, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x20222222, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x30323434, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x32323232, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x26283032, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x30303030, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x32322426, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x30323232, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x30303030, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x20222222, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x30323434, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x32323232, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x26283032, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x30303030, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x32322426, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x30323232, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x22242628, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x30303030, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x20222222, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x30323434, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x32323232, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x26283032, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x30303030, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x32322426, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x30323232, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x22242628, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x30303030, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x20222222, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x30323434, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x32323232, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x26283032, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x30303030, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x24262830, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x32322426, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x30323232, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x30303030, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x24262830, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x20222222, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x30323434, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x32323232, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x26283032, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x30303030, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x24262830, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x32322426, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x30323232, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x30303030, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x24262830, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x20222222, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x30323434, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x32323232, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x26283032, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x30303030, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x24262830, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x32322426, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x30323232, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x22242628, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x30303030, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x24262830, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x20222222, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x30323434, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x32323232, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x26283032, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x30303030, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x24262830, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x32322426, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x30323232, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x22242628, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x30303030, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x24262830, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x20222222, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type2);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type3[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x48484848, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x44464646, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x46463840, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x38404244, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x38383840, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x48484848, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x44464646, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x46463840, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x38404244, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x38383840, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x48484848, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x44464646, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x46463840, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x38404244, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x38383840, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x48484848, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x44464646, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x46463840, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x38404244, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x38383840, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x44464646, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x46463840, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x38404244, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x38383840, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x44464646, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x46463840, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x38404244, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x38383840, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x44464646, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x46463840, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x38404244, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x38383840, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x44464646, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x46463840, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x38404244, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x38383840, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type3);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type4[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x36384042, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x34363840, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x34363840, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x34363840, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x34363840, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x42423032, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x38404242, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x30323436, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x34363840, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x30303032, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x36384042, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x34363840, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x34363840, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x34363840, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x34363840, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x42423032, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x38404242, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x30323436, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x34363840, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x30303032, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x36384042, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x34363840, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x34363840, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x34363840, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x34363840, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x42423032, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x38404242, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x30323436, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x34363840, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x30303032, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x36384042, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x34363840, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x34363840, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x34363840, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x34363840, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x42423032, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x38404242, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x30323436, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x34363840, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x30303032, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x36384042, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x34363840, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x34363840, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x34363840, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x34363840, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x42423032, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x38404242, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x30323436, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x34363840, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x30303032, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x36384042, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x34363840, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x34363840, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x34363840, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x34363840, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x42423032, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x38404242, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x30323436, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x34363840, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x30303032, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x36384042, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x34363840, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x34363840, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x34363840, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x34363840, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x42423032, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x38404242, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x30323436, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x34363840, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x30303032, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x36384042, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x34363840, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x34363840, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x34363840, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x34363840, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x42423032, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x38404242, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x30323436, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x34363840, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x30303032, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type4);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type5[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x48484848, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x44464646, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x44444444, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x40424444, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x38404242, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x46464646, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x42444646, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x44444040, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x44444444, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x38384042, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x42424242, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x38404242, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x20203636, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x48484848, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x44464646, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x44444444, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x40424444, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x38404242, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x46464646, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x42444646, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x44444040, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x44444444, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x38384042, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x42424242, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x38404242, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x20203636, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x48484848, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x44464646, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x44444444, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x40424444, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x38404242, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x46464646, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x42444646, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x44444040, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x44444444, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x38384042, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x42424242, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x38404242, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x20203636, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x48484848, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x44464646, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x44444444, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x40424444, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x38404242, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x46464646, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x42444646, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x44444040, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x44444444, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x38384042, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x42424242, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x38404242, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x20203636, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x44464646, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x44444444, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x40424444, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x38404242, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x44443840, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x44444444, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x36384042, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x42424242, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x38404242, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x20203436, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x44464646, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x44444444, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x40424444, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x38404242, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x44443840, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x44444444, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x36384042, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x42424242, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x38404242, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x20203436, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x44464646, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x44444444, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x40424444, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x38404242, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x44443840, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x44444444, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x36384042, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x42424242, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x38404242, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x20203436, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x44464646, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x44444444, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x40424444, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x38404242, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x44443840, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x44444444, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x36384042, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x42424242, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x38404242, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x20203436, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type5);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type7[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x30323434, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x34342426, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x32343434, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x24263434, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x30323434, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x34342426, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x32343434, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x24263434, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x30323434, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x34342426, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x32343434, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x24263434, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x30323434, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x34342426, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x32343434, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x24263434, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x30323434, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x34342426, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x32343434, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x24262830, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x34343434, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x28303234, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x24263434, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x30323434, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x34342426, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x32343434, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x24262830, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x34343434, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x28303234, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x24263434, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x30323434, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x34342426, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x32343434, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x24262830, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x34343434, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x28303234, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x24263434, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x30323434, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x34342426, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x32343434, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x24262830, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x34343434, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x28303234, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x24263434, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type7);
-+
-+static const struct rtw_phy_pg_cfg_pair rtw8814a_bb_pg_type8[] = {
-+	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x43434343, },
-+	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x43434343, },
-+	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x35373941, },
-+	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x43434343, },
-+	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x33353739, },
-+	{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x43434343, },
-+	{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x31333537, },
-+	{ 0, 0, 2, 0x00000cd8, 0xffffffff, 0x43434343, },
-+	{ 0, 0, 2, 0x00000cdc, 0xffffffff, 0x29313335, },
-+	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x34343434, },
-+	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x28303234, },
-+	{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x32322426, },
-+	{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x30323232, },
-+	{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
-+	{ 0, 0, 2, 0x00000ce0, 0xffffffff, 0x30303030, },
-+	{ 0, 0, 2, 0x00000ce4, 0xffffffff, 0x24262830, },
-+	{ 0, 0, 2, 0x00000ce8, 0x0000ffff, 0x20222222, },
-+	{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x43434343, },
-+	{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x43434343, },
-+	{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x35373941, },
-+	{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x41434343, },
-+	{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x33353739, },
-+	{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x39414141, },
-+	{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x31333537, },
-+	{ 0, 1, 2, 0x00000ed8, 0xffffffff, 0x37393939, },
-+	{ 0, 1, 2, 0x00000edc, 0xffffffff, 0x29313335, },
-+	{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x34343434, },
-+	{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x28303234, },
-+	{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x32322426, },
-+	{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x30323232, },
-+	{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
-+	{ 0, 1, 2, 0x00000ee0, 0xffffffff, 0x30303030, },
-+	{ 0, 1, 2, 0x00000ee4, 0xffffffff, 0x24262830, },
-+	{ 0, 1, 2, 0x00000ee8, 0x0000ffff, 0x20222222, },
-+	{ 0, 2, 0, 0x00001820, 0xffffffff, 0x43434343, },
-+	{ 0, 2, 0, 0x00001824, 0xffffffff, 0x43434343, },
-+	{ 0, 2, 0, 0x00001828, 0xffffffff, 0x35373941, },
-+	{ 0, 2, 0, 0x0000182c, 0xffffffff, 0x41434343, },
-+	{ 0, 2, 0, 0x00001830, 0xffffffff, 0x33353739, },
-+	{ 0, 2, 1, 0x00001834, 0xffffffff, 0x39414141, },
-+	{ 0, 2, 1, 0x00001838, 0xffffffff, 0x31333537, },
-+	{ 0, 2, 2, 0x000018d8, 0xffffffff, 0x37393939, },
-+	{ 0, 2, 2, 0x000018dc, 0xffffffff, 0x29313335, },
-+	{ 0, 2, 0, 0x0000183c, 0xffffffff, 0x34343434, },
-+	{ 0, 2, 0, 0x00001840, 0xffffffff, 0x28303234, },
-+	{ 0, 2, 0, 0x00001844, 0xffffffff, 0x32322426, },
-+	{ 0, 2, 1, 0x00001848, 0xffffffff, 0x30323232, },
-+	{ 0, 2, 1, 0x0000184c, 0xffffffff, 0x22242628, },
-+	{ 0, 2, 2, 0x000018e0, 0xffffffff, 0x30303030, },
-+	{ 0, 2, 2, 0x000018e4, 0xffffffff, 0x24262830, },
-+	{ 0, 2, 2, 0x000018e8, 0x0000ffff, 0x20222222, },
-+	{ 0, 3, 0, 0x00001a20, 0xffffffff, 0x43434343, },
-+	{ 0, 3, 0, 0x00001a24, 0xffffffff, 0x43434343, },
-+	{ 0, 3, 0, 0x00001a28, 0xffffffff, 0x35373941, },
-+	{ 0, 3, 0, 0x00001a2c, 0xffffffff, 0x41434343, },
-+	{ 0, 3, 0, 0x00001a30, 0xffffffff, 0x33353739, },
-+	{ 0, 3, 1, 0x00001a34, 0xffffffff, 0x39414141, },
-+	{ 0, 3, 1, 0x00001a38, 0xffffffff, 0x31333537, },
-+	{ 0, 3, 2, 0x00001ad8, 0xffffffff, 0x37393939, },
-+	{ 0, 3, 2, 0x00001adc, 0xffffffff, 0x29313335, },
-+	{ 0, 3, 0, 0x00001a3c, 0xffffffff, 0x34343434, },
-+	{ 0, 3, 0, 0x00001a40, 0xffffffff, 0x28303234, },
-+	{ 0, 3, 0, 0x00001a44, 0xffffffff, 0x32322426, },
-+	{ 0, 3, 1, 0x00001a48, 0xffffffff, 0x30323232, },
-+	{ 0, 3, 1, 0x00001a4c, 0xffffffff, 0x22242628, },
-+	{ 0, 3, 2, 0x00001ae0, 0xffffffff, 0x30303030, },
-+	{ 0, 3, 2, 0x00001ae4, 0xffffffff, 0x24262830, },
-+	{ 0, 3, 2, 0x00001ae8, 0x0000ffff, 0x20222222, },
-+	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x39414345, },
-+	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x38404244, },
-+	{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x36384042, },
-+	{ 1, 0, 2, 0x00000cd8, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 2, 0x00000cdc, 0xffffffff, 0x34363840, },
-+	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x38404244, },
-+	{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x46463738, },
-+	{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x42444646, },
-+	{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x35373840, },
-+	{ 1, 0, 2, 0x00000ce0, 0xffffffff, 0x46464646, },
-+	{ 1, 0, 2, 0x00000ce4, 0xffffffff, 0x37394143, },
-+	{ 1, 0, 2, 0x00000ce8, 0x0000ffff, 0x33333335, },
-+	{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x39414345, },
-+	{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x38404244, },
-+	{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x36384042, },
-+	{ 1, 1, 2, 0x00000ed8, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 2, 0x00000edc, 0xffffffff, 0x34363840, },
-+	{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x38404244, },
-+	{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x46463738, },
-+	{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x42444646, },
-+	{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x35373840, },
-+	{ 1, 1, 2, 0x00000ee0, 0xffffffff, 0x46464646, },
-+	{ 1, 1, 2, 0x00000ee4, 0xffffffff, 0x37394143, },
-+	{ 1, 1, 2, 0x00000ee8, 0x0000ffff, 0x33333335, },
-+	{ 1, 2, 0, 0x00001824, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001828, 0xffffffff, 0x39414345, },
-+	{ 1, 2, 0, 0x0000182c, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001830, 0xffffffff, 0x38404244, },
-+	{ 1, 2, 1, 0x00001834, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 1, 0x00001838, 0xffffffff, 0x36384042, },
-+	{ 1, 2, 2, 0x000018d8, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 2, 0x000018dc, 0xffffffff, 0x34363840, },
-+	{ 1, 2, 0, 0x0000183c, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 0, 0x00001840, 0xffffffff, 0x38404244, },
-+	{ 1, 2, 0, 0x00001844, 0xffffffff, 0x46463738, },
-+	{ 1, 2, 1, 0x00001848, 0xffffffff, 0x42444646, },
-+	{ 1, 2, 1, 0x0000184c, 0xffffffff, 0x35373840, },
-+	{ 1, 2, 2, 0x000018e0, 0xffffffff, 0x46464646, },
-+	{ 1, 2, 2, 0x000018e4, 0xffffffff, 0x37394143, },
-+	{ 1, 2, 2, 0x000018e8, 0x0000ffff, 0x33333335, },
-+	{ 1, 3, 0, 0x00001a24, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a28, 0xffffffff, 0x39414345, },
-+	{ 1, 3, 0, 0x00001a2c, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a30, 0xffffffff, 0x38404244, },
-+	{ 1, 3, 1, 0x00001a34, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 1, 0x00001a38, 0xffffffff, 0x36384042, },
-+	{ 1, 3, 2, 0x00001ad8, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 2, 0x00001adc, 0xffffffff, 0x34363840, },
-+	{ 1, 3, 0, 0x00001a3c, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 0, 0x00001a40, 0xffffffff, 0x38404244, },
-+	{ 1, 3, 0, 0x00001a44, 0xffffffff, 0x46463738, },
-+	{ 1, 3, 1, 0x00001a48, 0xffffffff, 0x42444646, },
-+	{ 1, 3, 1, 0x00001a4c, 0xffffffff, 0x35373840, },
-+	{ 1, 3, 2, 0x00001ae0, 0xffffffff, 0x46464646, },
-+	{ 1, 3, 2, 0x00001ae4, 0xffffffff, 0x37394143, },
-+	{ 1, 3, 2, 0x00001ae8, 0x0000ffff, 0x33333335, },
-+};
-+
-+RTW_DECL_TABLE_BB_PG(rtw8814a_bb_pg_type8);
-+
-+static const u32 rtw8814a_rf_a[] = {
-+		0x018, 0x00013124,
-+		0x040, 0x00000C00,
-+		0x058, 0x00000F98,
-+		0x07F, 0x00068004,
-+		0x0B0, 0x000FFFFE,
-+		0x0B1, 0x0003FF48,
-+		0x0B2, 0x0006AA3F,
-+		0x0B3, 0x000FFC9A,
-+		0x0B4, 0x0000A78F,
-+		0x0B5, 0x00000A3F,
-+		0x0B6, 0x0000C09C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B7, 0x00030008,
-+	0xA0000000,	0x00000000,
-+		0x0B7, 0x0003000C,
-+	0xB0000000,	0x00000000,
-+		0x0B8, 0x0007400E,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0xA0000000,	0x00000000,
-+		0x0B9, 0x000FBF50,
-+	0xB0000000,	0x00000000,
-+		0x0BA, 0x00050780,
-+		0x0BB, 0x00000000,
-+		0x0BC, 0x00040009,
-+		0x0BD, 0x00000000,
-+		0x0BE, 0x00000000,
-+		0x0BF, 0x00000000,
-+		0x0EF, 0x00020000,
-+		0x03E, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0xA0000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0xB0000000,	0x00000000,
-+		0x03E, 0x00020000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00040000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00040000,
-+	0xA0000000,	0x00000000,
-+		0x03F, 0x00040000,
-+	0xB0000000,	0x00000000,
-+		0x03E, 0x00040000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0xA0000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0xB0000000,	0x00000000,
-+		0x03E, 0x00060000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0xA0000000,	0x00000000,
-+		0x03F, 0x00030000,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00010000,
-+		0x03E, 0x00000000,
-+		0x03F, 0x00006800,
-+		0x03E, 0x00000080,
-+		0x03F, 0x00006000,
-+		0x03E, 0x00000100,
-+		0x03F, 0x00004800,
-+		0x03E, 0x00000180,
-+		0x03F, 0x00004000,
-+		0x03E, 0x00000200,
-+		0x03F, 0x00004000,
-+		0x03E, 0x00000280,
-+		0x03F, 0x00002800,
-+		0x03E, 0x00000300,
-+		0x03F, 0x00002800,
-+		0x03E, 0x00000380,
-+		0x03F, 0x00002000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00040000,
-+		0x03E, 0x00000000,
-+		0x03F, 0x000000BC,
-+		0x03E, 0x00000040,
-+		0x03F, 0x00000053,
-+		0x03E, 0x00000050,
-+		0x03F, 0x00000050,
-+		0x03E, 0x00000060,
-+		0x03F, 0x00000050,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00000400,
-+		0x03E, 0x00000006,
-+		0x041, 0x000EE080,
-+		0x03E, 0x00000008,
-+		0x041, 0x000EE0C0,
-+		0x03E, 0x0000000A,
-+		0x041, 0x000EE100,
-+		0x03E, 0x0000000C,
-+		0x041, 0x000EE100,
-+		0x0EF, 0x00000000,
-+		0x018, 0x00000006,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0xA0000000,	0x00000000,
-+		0x086, 0x000E4B58,
-+		0x087, 0x00049F80,
-+	0xB0000000,	0x00000000,
-+		0x0DF, 0x00000008,
-+		0x0EF, 0x00002000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x000179C3,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0003F258,
-+		0x03B, 0x00030A58,
-+		0x03B, 0x0002FA58,
-+		0x03B, 0x00022590,
-+		0x03B, 0x0001FA50,
-+		0x03B, 0x00010248,
-+		0x03B, 0x00008240,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000100,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000ADF6,
-+		0x034, 0x00009DF3,
-+		0x034, 0x00008DF0,
-+		0x034, 0x00007DED,
-+		0x034, 0x00006DEA,
-+		0x034, 0x00005CED,
-+		0x034, 0x00004CEA,
-+		0x034, 0x000034EA,
-+		0x034, 0x000024E7,
-+		0x034, 0x0000146A,
-+		0x034, 0x0000006B,
-+	0xB0000000,	0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008ADF6,
-+		0x034, 0x00089DF3,
-+		0x034, 0x00088DF0,
-+		0x034, 0x00087DED,
-+		0x034, 0x00086DEA,
-+		0x034, 0x00085CED,
-+		0x034, 0x00084CEA,
-+		0x034, 0x000834EA,
-+		0x034, 0x000824E7,
-+		0x034, 0x0008146A,
-+		0x034, 0x0008006B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x000020A2,
-+		0x0DF, 0x00000080,
-+		0x035, 0x00000192,
-+		0x035, 0x00008192,
-+		0x035, 0x00010192,
-+		0x036, 0x00000024,
-+		0x036, 0x00008024,
-+		0x036, 0x00010024,
-+		0x036, 0x00018024,
-+		0x0EF, 0x00000000,
-+		0x051, 0x00000C21,
-+		0x052, 0x000006D9,
-+		0x053, 0x000FC649,
-+		0x054, 0x0000017E,
-+		0x018, 0x0001012A,
-+		0x081, 0x0007FC00,
-+		0x089, 0x00050110,
-+		0x08A, 0x00043E50,
-+		0x08B, 0x0002E180,
-+		0x08C, 0x00093C3C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xA0000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0xA0000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00001000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00028000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00030023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00028623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00021633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0001C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00010293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00009593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0000118B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0000078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x000AC000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00040000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0004C000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00070023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00068623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00061633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0005C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00050293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00049593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0004138B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0004078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0008C000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00060000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00004000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B0023,
-+	0x80000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A8623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A1633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0009C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00090293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00089593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0008118B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0008078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00000800,
-+		0x03B, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000801,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00040000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001801,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000003,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000003,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001001,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00080000,
-+	0x80000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001802,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000800,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001002,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x00013124,
-+		0x0EF, 0x00000100,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A1AD,
-+		0x034, 0x000491AA,
-+		0x034, 0x000481A7,
-+		0x034, 0x000470AA,
-+		0x034, 0x000460A7,
-+		0x034, 0x00045049,
-+		0x034, 0x00044046,
-+		0x034, 0x00043026,
-+		0x034, 0x00042009,
-+		0x034, 0x00041006,
-+		0x034, 0x00040003,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AF,
-+		0x034, 0x000483AB,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004406A,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AF,
-+		0x034, 0x000483AB,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004406A,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AF,
-+		0x034, 0x000483AB,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004406A,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AF,
-+		0x034, 0x000483AB,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004406A,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3F5,
-+		0x034, 0x000493F2,
-+		0x034, 0x000483B0,
-+		0x034, 0x00047370,
-+		0x034, 0x0004636D,
-+		0x034, 0x0004536A,
-+		0x034, 0x00044349,
-+		0x034, 0x0004316A,
-+		0x034, 0x00042167,
-+		0x034, 0x00041129,
-+		0x034, 0x00040049,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AF,
-+		0x034, 0x000483AB,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004406A,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AF,
-+		0x034, 0x000483AB,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004406A,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0004AFF1,
-+		0x034, 0x00049FEE,
-+		0x034, 0x00048FEB,
-+		0x034, 0x00047FE8,
-+		0x034, 0x00046DEA,
-+		0x034, 0x00045DE7,
-+		0x034, 0x00044CEA,
-+		0x034, 0x00043CE7,
-+		0x034, 0x00042C69,
-+		0x034, 0x00041C66,
-+		0x034, 0x00040C28,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A1AD,
-+		0x034, 0x000291AA,
-+		0x034, 0x000281A7,
-+		0x034, 0x000270AA,
-+		0x034, 0x000260A7,
-+		0x034, 0x00025049,
-+		0x034, 0x00024046,
-+		0x034, 0x00023026,
-+		0x034, 0x00022009,
-+		0x034, 0x00021006,
-+		0x034, 0x00020003,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3F5,
-+		0x034, 0x000293F2,
-+		0x034, 0x000282F1,
-+		0x034, 0x000272B0,
-+		0x034, 0x000262AD,
-+		0x034, 0x000252AA,
-+		0x034, 0x000242A7,
-+		0x034, 0x000230EC,
-+		0x034, 0x000220E9,
-+		0x034, 0x0002106A,
-+		0x034, 0x00020067,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0002AFF1,
-+		0x034, 0x00029FEE,
-+		0x034, 0x00028FEB,
-+		0x034, 0x00027FE8,
-+		0x034, 0x00026DEA,
-+		0x034, 0x00025DE7,
-+		0x034, 0x00024CEA,
-+		0x034, 0x00023CE7,
-+		0x034, 0x00022C69,
-+		0x034, 0x00021C66,
-+		0x034, 0x00020C28,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EC,
-+		0x034, 0x0000938C,
-+		0x034, 0x000081AD,
-+		0x034, 0x000071AA,
-+		0x034, 0x000061A7,
-+		0x034, 0x000050AA,
-+		0x034, 0x000040A7,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x0000100C,
-+		0x034, 0x00000009,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3F4,
-+		0x034, 0x000093F1,
-+		0x034, 0x000082B1,
-+		0x034, 0x000071D1,
-+		0x034, 0x000061CE,
-+		0x034, 0x000051CB,
-+		0x034, 0x000041C8,
-+		0x034, 0x000030CB,
-+		0x034, 0x000020C8,
-+		0x034, 0x00001087,
-+		0x034, 0x00000084,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000AFF1,
-+		0x034, 0x00009FEE,
-+		0x034, 0x00008FEB,
-+		0x034, 0x00007FE8,
-+		0x034, 0x00006DEA,
-+		0x034, 0x00005DE7,
-+		0x034, 0x00004CEA,
-+		0x034, 0x00003CE7,
-+		0x034, 0x00002C69,
-+		0x034, 0x00001C66,
-+		0x034, 0x00000C28,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA1AD,
-+		0x034, 0x000C91AA,
-+		0x034, 0x000C81A7,
-+		0x034, 0x000C70AA,
-+		0x034, 0x000C60A7,
-+		0x034, 0x000C5049,
-+		0x034, 0x000C4046,
-+		0x034, 0x000C3026,
-+		0x034, 0x000C2009,
-+		0x034, 0x000C1006,
-+		0x034, 0x000C0003,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AF,
-+		0x034, 0x000C83AB,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C406A,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AF,
-+		0x034, 0x000C83AB,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C406A,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AF,
-+		0x034, 0x000C83AB,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C406A,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AF,
-+		0x034, 0x000C83AB,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C406A,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3F5,
-+		0x034, 0x000C93F2,
-+		0x034, 0x000C83B0,
-+		0x034, 0x000C7370,
-+		0x034, 0x000C636D,
-+		0x034, 0x000C536A,
-+		0x034, 0x000C4349,
-+		0x034, 0x000C316A,
-+		0x034, 0x000C2167,
-+		0x034, 0x000C1129,
-+		0x034, 0x000C0049,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AF,
-+		0x034, 0x000C83AB,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C406A,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AF,
-+		0x034, 0x000C83AB,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C406A,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000CA794,
-+		0x034, 0x000C9791,
-+		0x034, 0x000C878E,
-+		0x034, 0x000C778B,
-+		0x034, 0x000C658D,
-+		0x034, 0x000C558A,
-+		0x034, 0x000C448D,
-+		0x034, 0x000C348A,
-+		0x034, 0x000C244C,
-+		0x034, 0x000C1449,
-+		0x034, 0x000C042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA1AD,
-+		0x034, 0x000A91AA,
-+		0x034, 0x000A81A7,
-+		0x034, 0x000A70AA,
-+		0x034, 0x000A60A7,
-+		0x034, 0x000A5049,
-+		0x034, 0x000A4046,
-+		0x034, 0x000A3026,
-+		0x034, 0x000A2009,
-+		0x034, 0x000A1006,
-+		0x034, 0x000A0003,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3F5,
-+		0x034, 0x000A93F2,
-+		0x034, 0x000A82F1,
-+		0x034, 0x000A72B0,
-+		0x034, 0x000A62AD,
-+		0x034, 0x000A52AA,
-+		0x034, 0x000A42A7,
-+		0x034, 0x000A30EC,
-+		0x034, 0x000A20E9,
-+		0x034, 0x000A106A,
-+		0x034, 0x000A0067,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000AA794,
-+		0x034, 0x000A9791,
-+		0x034, 0x000A878E,
-+		0x034, 0x000A778B,
-+		0x034, 0x000A658D,
-+		0x034, 0x000A558A,
-+		0x034, 0x000A448D,
-+		0x034, 0x000A348A,
-+		0x034, 0x000A244C,
-+		0x034, 0x000A1449,
-+		0x034, 0x000A042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EC,
-+		0x034, 0x0008938C,
-+		0x034, 0x000881AD,
-+		0x034, 0x000871AA,
-+		0x034, 0x000861A7,
-+		0x034, 0x000850AA,
-+		0x034, 0x000840A7,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x0008100C,
-+		0x034, 0x00080009,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3F4,
-+		0x034, 0x000893F1,
-+		0x034, 0x000882B1,
-+		0x034, 0x000871D1,
-+		0x034, 0x000861CE,
-+		0x034, 0x000851CB,
-+		0x034, 0x000841C8,
-+		0x034, 0x000830CB,
-+		0x034, 0x000820C8,
-+		0x034, 0x00081087,
-+		0x034, 0x00080084,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008A794,
-+		0x034, 0x00089791,
-+		0x034, 0x0008878E,
-+		0x034, 0x0008778B,
-+		0x034, 0x0008658D,
-+		0x034, 0x0008558A,
-+		0x034, 0x0008448D,
-+		0x034, 0x0008348A,
-+		0x034, 0x0008244C,
-+		0x034, 0x00081449,
-+		0x034, 0x0008042B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0DF, 0x00000001,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000040,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0xA0000000,	0x00000000,
-+		0x035, 0x00000747,
-+		0x035, 0x00008747,
-+		0x035, 0x00010747,
-+		0x035, 0x00020747,
-+		0x035, 0x00028747,
-+		0x035, 0x00030747,
-+		0x035, 0x00040747,
-+		0x035, 0x00048747,
-+		0x035, 0x00050747,
-+		0x035, 0x000805FB,
-+		0x035, 0x000885FB,
-+		0x035, 0x000905FB,
-+		0x035, 0x000A05FB,
-+		0x035, 0x000A85FB,
-+		0x035, 0x000B05FB,
-+		0x035, 0x000C05FB,
-+		0x035, 0x000C85FB,
-+		0x035, 0x000D05FB,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0DF, 0x00000001,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000010,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000473,
-+		0x036, 0x00008473,
-+		0x036, 0x00010473,
-+		0x036, 0x00020473,
-+		0x036, 0x00028473,
-+		0x036, 0x00030473,
-+		0x036, 0x00040473,
-+		0x036, 0x00048473,
-+		0x036, 0x00050473,
-+		0x036, 0x00080473,
-+		0x036, 0x00088473,
-+		0x036, 0x00090473,
-+		0x036, 0x000A0473,
-+		0x036, 0x000A8473,
-+		0x036, 0x000B0473,
-+		0x036, 0x000C0473,
-+		0x036, 0x000C8473,
-+		0x036, 0x000D0473,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0xA0000000,	0x00000000,
-+		0x036, 0x00000473,
-+		0x036, 0x00008473,
-+		0x036, 0x00010473,
-+		0x036, 0x00020473,
-+		0x036, 0x00028473,
-+		0x036, 0x00030473,
-+		0x036, 0x00040473,
-+		0x036, 0x00048473,
-+		0x036, 0x00050473,
-+		0x036, 0x00080473,
-+		0x036, 0x00088473,
-+		0x036, 0x00090473,
-+		0x036, 0x000A0473,
-+		0x036, 0x000A8473,
-+		0x036, 0x000B0473,
-+		0x036, 0x000C0473,
-+		0x036, 0x000C8473,
-+		0x036, 0x000D0473,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x0EF, 0x00000004,
-+		0x037, 0x00000000,
-+		0x038, 0x00005146,
-+		0x037, 0x00004000,
-+		0x038, 0x00005146,
-+		0x037, 0x00008000,
-+		0x038, 0x00005146,
-+		0x037, 0x00010000,
-+		0x038, 0x00005146,
-+		0x037, 0x00014000,
-+		0x038, 0x00005146,
-+		0x037, 0x00018000,
-+		0x038, 0x00004D4E,
-+		0x037, 0x0001C000,
-+		0x038, 0x00004D4E,
-+		0x037, 0x00020000,
-+		0x038, 0x00004D4E,
-+		0x037, 0x00024000,
-+		0x038, 0x000071C6,
-+		0x037, 0x00028000,
-+		0x038, 0x000071C6,
-+		0x037, 0x0002C000,
-+		0x038, 0x000071C6,
-+		0x037, 0x00030000,
-+		0x038, 0x000071CE,
-+		0x037, 0x00034000,
-+		0x038, 0x000071CE,
-+		0x037, 0x00038000,
-+		0x038, 0x00005126,
-+		0x037, 0x0003C000,
-+		0x038, 0x00005126,
-+		0x037, 0x00040000,
-+		0x038, 0x00005126,
-+		0x037, 0x00044000,
-+		0x038, 0x00005126,
-+		0x037, 0x00048000,
-+		0x038, 0x00005126,
-+		0x037, 0x00080000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00084000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00088000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00090000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00094000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00098000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x0009C000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000AC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000BC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C8000,
-+		0x038, 0x00005ECE,
-+		0x0EF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000008,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000007D,
-+		0x03C, 0x0000047D,
-+		0x03C, 0x0000087D,
-+		0x03C, 0x0000107D,
-+		0x03C, 0x0000147D,
-+		0x03C, 0x0000187D,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x0000054A,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x0000154A,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x0000254A,
-+		0x03C, 0x00002821,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000037E,
-+		0x03C, 0x00000575,
-+		0x03C, 0x00000971,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001575,
-+		0x03C, 0x00001871,
-+		0x03C, 0x0000217E,
-+		0x03C, 0x00002575,
-+		0x03C, 0x00002871,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x061, 0x000C0D47,
-+		0x062, 0x0000133C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0xA0000000,	0x00000000,
-+		0x063, 0x0007D0E7,
-+	0xB0000000,	0x00000000,
-+		0x064, 0x00014FEC,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0xA0000000,	0x00000000,
-+		0x065, 0x000933FF,
-+	0xB0000000,	0x00000000,
-+		0x066, 0x00000040,
-+		0x057, 0x00050000,
-+		0x056, 0x00051DF0,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x055, 0x00082061,
-+	0xA0000000,	0x00000000,
-+		0x055, 0x00082060,
-+	0xB0000000,	0x00000000,
-+		0x01C, 0x000739D2,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x01F, 0x0002255C,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x01F, 0x0002255C,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x01F, 0x0002255C,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x01F, 0x0002255C,
-+	0xA0000000,	0x00000000,
-+		0x01F, 0x0002255C,
-+	0xB0000000,	0x00000000,
-+		0x0B1, 0x0007FF48,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0C4, 0x00081700,
-+	0xA0000000,	0x00000000,
-+		0x0C4, 0x00083F00,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001B126,
-+		0xFFE, 0x00000000,
-+		0xFFE, 0x00000000,
-+		0xFFE, 0x00000000,
-+		0x018, 0x00013126,
-+		0x018, 0x00013124,
-+};
-+
-+RTW_DECL_TABLE_RF_RADIO(rtw8814a_rf_a, A);
-+
-+static const u32 rtw8814a_rf_b[] = {
-+		0x018, 0x00013124,
-+		0x040, 0x00000C00,
-+		0x058, 0x00000F98,
-+		0x07F, 0x00068004,
-+		0x018, 0x00000006,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0xA0000000,	0x00000000,
-+		0x086, 0x000E4B58,
-+		0x087, 0x00049F80,
-+	0xB0000000,	0x00000000,
-+		0x0DF, 0x00000008,
-+		0x0EF, 0x00002000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F39B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F39B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017BC3,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0003F258,
-+		0x03B, 0x00030A58,
-+		0x03B, 0x0002FA58,
-+		0x03B, 0x00022590,
-+		0x03B, 0x0001FA50,
-+		0x03B, 0x00010248,
-+		0x03B, 0x00008240,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000100,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000ADF6,
-+		0x034, 0x00009DF3,
-+		0x034, 0x00008DF0,
-+		0x034, 0x00007DED,
-+		0x034, 0x00006DEA,
-+		0x034, 0x00005CED,
-+		0x034, 0x00004CEA,
-+		0x034, 0x000034EA,
-+		0x034, 0x000024E7,
-+		0x034, 0x0000146A,
-+		0x034, 0x0000006B,
-+	0xB0000000,	0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008ADF6,
-+		0x034, 0x00089DF3,
-+		0x034, 0x00088DF0,
-+		0x034, 0x00087DED,
-+		0x034, 0x00086DEA,
-+		0x034, 0x00085CED,
-+		0x034, 0x00084CEA,
-+		0x034, 0x000834EA,
-+		0x034, 0x000824E7,
-+		0x034, 0x0008146A,
-+		0x034, 0x0008006B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x000020A2,
-+		0x0DF, 0x00000080,
-+		0x035, 0x00000192,
-+		0x035, 0x00008192,
-+		0x035, 0x00010192,
-+		0x036, 0x00000024,
-+		0x036, 0x00008024,
-+		0x036, 0x00010024,
-+		0x036, 0x00018024,
-+		0x0EF, 0x00000000,
-+		0x051, 0x00000C21,
-+		0x052, 0x000006D9,
-+		0x053, 0x000FC649,
-+		0x054, 0x0000017E,
-+		0x018, 0x0001012A,
-+		0x081, 0x0007FC00,
-+		0x089, 0x00050110,
-+		0x08A, 0x00043E50,
-+		0x08B, 0x0002E180,
-+		0x08C, 0x00093C3C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xA0000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xB0000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+		0x0EF, 0x00001000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00040000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00030023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00028623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00021633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0001C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00010293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00009593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x00000F8B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0000078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00060000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00070023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00068623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00061633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0005C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00050293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00049593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+		0x03B, 0x0004078B,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00060000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0004C000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0004C000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00004000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B0023,
-+	0x80000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A8623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A1633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0009C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00090293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00089593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0008138B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0008078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00000800,
-+		0x03B, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00040000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000800,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000800,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00080000,
-+	0x80000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001802,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001802,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001002,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x00013124,
-+		0x0EF, 0x00000100,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38C,
-+		0x034, 0x000491AD,
-+		0x034, 0x000481AA,
-+		0x034, 0x000471A7,
-+		0x034, 0x000460AA,
-+		0x034, 0x000450A7,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x0004200C,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38C,
-+		0x034, 0x00049389,
-+		0x034, 0x0004816D,
-+		0x034, 0x0004716A,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38B,
-+		0x034, 0x00049388,
-+		0x034, 0x0004818B,
-+		0x034, 0x00047188,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38C,
-+		0x034, 0x00049389,
-+		0x034, 0x0004816D,
-+		0x034, 0x0004716A,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38B,
-+		0x034, 0x00049388,
-+		0x034, 0x0004818B,
-+		0x034, 0x00047188,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3F5,
-+		0x034, 0x000493F3,
-+		0x034, 0x000483B2,
-+		0x034, 0x00047390,
-+		0x034, 0x0004638D,
-+		0x034, 0x0004538A,
-+		0x034, 0x00044387,
-+		0x034, 0x0004324A,
-+		0x034, 0x00042247,
-+		0x034, 0x0004104D,
-+		0x034, 0x0004004A,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004AFF7,
-+		0x034, 0x00049FF6,
-+		0x034, 0x00048FF3,
-+		0x034, 0x00047FF0,
-+		0x034, 0x00046FED,
-+		0x034, 0x00045FEA,
-+		0x034, 0x00044FE7,
-+		0x034, 0x00043DEA,
-+		0x034, 0x00042DE7,
-+		0x034, 0x00041DE4,
-+		0x034, 0x00040CE7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38C,
-+		0x034, 0x00049389,
-+		0x034, 0x0004816D,
-+		0x034, 0x0004716A,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38C,
-+		0x034, 0x00049389,
-+		0x034, 0x0004816D,
-+		0x034, 0x0004716A,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0004AFF4,
-+		0x034, 0x00049FF1,
-+		0x034, 0x00048FEE,
-+		0x034, 0x00047FEB,
-+		0x034, 0x00046FE8,
-+		0x034, 0x00045DEA,
-+		0x034, 0x00044CED,
-+		0x034, 0x00043CEA,
-+		0x034, 0x00042C6C,
-+		0x034, 0x00041C69,
-+		0x034, 0x00040C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A38C,
-+		0x034, 0x000291AD,
-+		0x034, 0x000281AA,
-+		0x034, 0x000271A7,
-+		0x034, 0x000260AA,
-+		0x034, 0x000250A7,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x0002200C,
-+		0x034, 0x00021009,
-+		0x034, 0x00020006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EE,
-+		0x034, 0x000293AC,
-+		0x034, 0x00028389,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AD,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EE,
-+		0x034, 0x000293AC,
-+		0x034, 0x00028389,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EF,
-+		0x034, 0x000293AD,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3F5,
-+		0x034, 0x000293F3,
-+		0x034, 0x000283D0,
-+		0x034, 0x00027371,
-+		0x034, 0x0002636E,
-+		0x034, 0x0002536B,
-+		0x034, 0x00024368,
-+		0x034, 0x0002332A,
-+		0x034, 0x00022327,
-+		0x034, 0x0002104C,
-+		0x034, 0x00020049,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002AFF7,
-+		0x034, 0x00029FF6,
-+		0x034, 0x00028FF3,
-+		0x034, 0x00027FF0,
-+		0x034, 0x00026FED,
-+		0x034, 0x00025FEA,
-+		0x034, 0x00024FE7,
-+		0x034, 0x00023DEA,
-+		0x034, 0x00022DE7,
-+		0x034, 0x00021DE4,
-+		0x034, 0x00020F25,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EE,
-+		0x034, 0x000293AC,
-+		0x034, 0x00028389,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EE,
-+		0x034, 0x000293AC,
-+		0x034, 0x00028389,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0002AFF4,
-+		0x034, 0x00029FF1,
-+		0x034, 0x00028FEE,
-+		0x034, 0x00027FEB,
-+		0x034, 0x00026FE8,
-+		0x034, 0x00025DEA,
-+		0x034, 0x00024CED,
-+		0x034, 0x00023CEA,
-+		0x034, 0x00022C6C,
-+		0x034, 0x00021C69,
-+		0x034, 0x00020C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A38C,
-+		0x034, 0x000091AD,
-+		0x034, 0x000081AA,
-+		0x034, 0x000071A7,
-+		0x034, 0x000060AA,
-+		0x034, 0x000050A7,
-+		0x034, 0x0000402C,
-+		0x034, 0x00003029,
-+		0x034, 0x00002026,
-+		0x034, 0x00001009,
-+		0x034, 0x00000006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EC,
-+		0x034, 0x000093AC,
-+		0x034, 0x000081EC,
-+		0x034, 0x0000716D,
-+		0x034, 0x0000616A,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000404C,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EF,
-+		0x034, 0x000093AD,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EC,
-+		0x034, 0x000093AC,
-+		0x034, 0x000081EC,
-+		0x034, 0x0000716D,
-+		0x034, 0x0000616A,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000404C,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EF,
-+		0x034, 0x000093AD,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3F4,
-+		0x034, 0x000093F0,
-+		0x034, 0x000083AE,
-+		0x034, 0x00007350,
-+		0x034, 0x0000634D,
-+		0x034, 0x0000534A,
-+		0x034, 0x00004347,
-+		0x034, 0x0000312D,
-+		0x034, 0x0000212A,
-+		0x034, 0x00001127,
-+		0x034, 0x0000002A,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000AFF7,
-+		0x034, 0x00009FF4,
-+		0x034, 0x00008FF1,
-+		0x034, 0x00007FEE,
-+		0x034, 0x00006FEB,
-+		0x034, 0x00005FE8,
-+		0x034, 0x00004DEB,
-+		0x034, 0x00003DE8,
-+		0x034, 0x00002DE5,
-+		0x034, 0x00001C8B,
-+		0x034, 0x00000C88,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EC,
-+		0x034, 0x000093AC,
-+		0x034, 0x000081EC,
-+		0x034, 0x0000716D,
-+		0x034, 0x0000616A,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000404C,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EC,
-+		0x034, 0x000093AC,
-+		0x034, 0x000081EC,
-+		0x034, 0x0000716D,
-+		0x034, 0x0000616A,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000404C,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000AFF4,
-+		0x034, 0x00009FF1,
-+		0x034, 0x00008FEE,
-+		0x034, 0x00007FEB,
-+		0x034, 0x00006FE8,
-+		0x034, 0x00005DEA,
-+		0x034, 0x00004CED,
-+		0x034, 0x00003CEA,
-+		0x034, 0x00002C6C,
-+		0x034, 0x00001C69,
-+		0x034, 0x00000C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38C,
-+		0x034, 0x000C91AD,
-+		0x034, 0x000C81AA,
-+		0x034, 0x000C71A7,
-+		0x034, 0x000C60AA,
-+		0x034, 0x000C50A7,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C200C,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38C,
-+		0x034, 0x000C9389,
-+		0x034, 0x000C816D,
-+		0x034, 0x000C716A,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38B,
-+		0x034, 0x000C9388,
-+		0x034, 0x000C818B,
-+		0x034, 0x000C7188,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38C,
-+		0x034, 0x000C9389,
-+		0x034, 0x000C816D,
-+		0x034, 0x000C716A,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38B,
-+		0x034, 0x000C9388,
-+		0x034, 0x000C818B,
-+		0x034, 0x000C7188,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3F5,
-+		0x034, 0x000C93F3,
-+		0x034, 0x000C83B2,
-+		0x034, 0x000C7390,
-+		0x034, 0x000C638D,
-+		0x034, 0x000C538A,
-+		0x034, 0x000C4387,
-+		0x034, 0x000C324A,
-+		0x034, 0x000C2247,
-+		0x034, 0x000C104D,
-+		0x034, 0x000C004A,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CAFF7,
-+		0x034, 0x000C9FF6,
-+		0x034, 0x000C8FF3,
-+		0x034, 0x000C7FF0,
-+		0x034, 0x000C6FED,
-+		0x034, 0x000C5FEA,
-+		0x034, 0x000C4FE7,
-+		0x034, 0x000C3DEA,
-+		0x034, 0x000C2DE7,
-+		0x034, 0x000C1DE4,
-+		0x034, 0x000C0CE7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38C,
-+		0x034, 0x000C9389,
-+		0x034, 0x000C816D,
-+		0x034, 0x000C716A,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38C,
-+		0x034, 0x000C9389,
-+		0x034, 0x000C816D,
-+		0x034, 0x000C716A,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000CA794,
-+		0x034, 0x000C9791,
-+		0x034, 0x000C878E,
-+		0x034, 0x000C778B,
-+		0x034, 0x000C658D,
-+		0x034, 0x000C558A,
-+		0x034, 0x000C448D,
-+		0x034, 0x000C348A,
-+		0x034, 0x000C244C,
-+		0x034, 0x000C1449,
-+		0x034, 0x000C042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA38C,
-+		0x034, 0x000A91AD,
-+		0x034, 0x000A81AA,
-+		0x034, 0x000A71A7,
-+		0x034, 0x000A60AA,
-+		0x034, 0x000A50A7,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A200C,
-+		0x034, 0x000A1009,
-+		0x034, 0x000A0006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EE,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A8389,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AD,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EE,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A8389,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EF,
-+		0x034, 0x000A93AD,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3F5,
-+		0x034, 0x000A93F3,
-+		0x034, 0x000A83D0,
-+		0x034, 0x000A7371,
-+		0x034, 0x000A636E,
-+		0x034, 0x000A536B,
-+		0x034, 0x000A4368,
-+		0x034, 0x000A332A,
-+		0x034, 0x000A2327,
-+		0x034, 0x000A104C,
-+		0x034, 0x000A0049,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AAFF7,
-+		0x034, 0x000A9FF6,
-+		0x034, 0x000A8FF3,
-+		0x034, 0x000A7FF0,
-+		0x034, 0x000A6FED,
-+		0x034, 0x000A5FEA,
-+		0x034, 0x000A4FE7,
-+		0x034, 0x000A3DEA,
-+		0x034, 0x000A2DE7,
-+		0x034, 0x000A1DE4,
-+		0x034, 0x000A0F25,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EE,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A8389,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EE,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A8389,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000AA794,
-+		0x034, 0x000A9791,
-+		0x034, 0x000A878E,
-+		0x034, 0x000A778B,
-+		0x034, 0x000A658D,
-+		0x034, 0x000A558A,
-+		0x034, 0x000A448D,
-+		0x034, 0x000A348A,
-+		0x034, 0x000A244C,
-+		0x034, 0x000A1449,
-+		0x034, 0x000A042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A38C,
-+		0x034, 0x000891AD,
-+		0x034, 0x000881AA,
-+		0x034, 0x000871A7,
-+		0x034, 0x000860AA,
-+		0x034, 0x000850A7,
-+		0x034, 0x0008402C,
-+		0x034, 0x00083029,
-+		0x034, 0x00082026,
-+		0x034, 0x00081009,
-+		0x034, 0x00080006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EC,
-+		0x034, 0x000893AC,
-+		0x034, 0x000881EC,
-+		0x034, 0x0008716D,
-+		0x034, 0x0008616A,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008404C,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EF,
-+		0x034, 0x000893AD,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EC,
-+		0x034, 0x000893AC,
-+		0x034, 0x000881EC,
-+		0x034, 0x0008716D,
-+		0x034, 0x0008616A,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008404C,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EF,
-+		0x034, 0x000893AD,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3F4,
-+		0x034, 0x000893F0,
-+		0x034, 0x000883AE,
-+		0x034, 0x00087350,
-+		0x034, 0x0008634D,
-+		0x034, 0x0008534A,
-+		0x034, 0x00084347,
-+		0x034, 0x0008312D,
-+		0x034, 0x0008212A,
-+		0x034, 0x00081127,
-+		0x034, 0x0008002A,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008AFF7,
-+		0x034, 0x00089FF4,
-+		0x034, 0x00088FF1,
-+		0x034, 0x00087FEE,
-+		0x034, 0x00086FEB,
-+		0x034, 0x00085FE8,
-+		0x034, 0x00084DEB,
-+		0x034, 0x00083DE8,
-+		0x034, 0x00082DE5,
-+		0x034, 0x00081C8B,
-+		0x034, 0x00080C88,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EC,
-+		0x034, 0x000893AC,
-+		0x034, 0x000881EC,
-+		0x034, 0x0008716D,
-+		0x034, 0x0008616A,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008404C,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EC,
-+		0x034, 0x000893AC,
-+		0x034, 0x000881EC,
-+		0x034, 0x0008716D,
-+		0x034, 0x0008616A,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008404C,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008A794,
-+		0x034, 0x00089791,
-+		0x034, 0x0008878E,
-+		0x034, 0x0008778B,
-+		0x034, 0x0008658D,
-+		0x034, 0x0008558A,
-+		0x034, 0x0008448D,
-+		0x034, 0x0008348A,
-+		0x034, 0x0008244C,
-+		0x034, 0x00081449,
-+		0x034, 0x0008042B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x0DF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000040,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0xA0000000,	0x00000000,
-+		0x035, 0x00000484,
-+		0x035, 0x00008484,
-+		0x035, 0x00010484,
-+		0x035, 0x00020584,
-+		0x035, 0x00028584,
-+		0x035, 0x00030584,
-+		0x035, 0x00040584,
-+		0x035, 0x00048584,
-+		0x035, 0x00050584,
-+		0x035, 0x000805FB,
-+		0x035, 0x000885FB,
-+		0x035, 0x000905FB,
-+		0x035, 0x000A05FB,
-+		0x035, 0x000A85FB,
-+		0x035, 0x000B05FB,
-+		0x035, 0x000C05FB,
-+		0x035, 0x000C85FB,
-+		0x035, 0x000D05FB,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x0DF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000010,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000473,
-+		0x036, 0x00008473,
-+		0x036, 0x00010473,
-+		0x036, 0x00020473,
-+		0x036, 0x00028473,
-+		0x036, 0x00030473,
-+		0x036, 0x00040473,
-+		0x036, 0x00048473,
-+		0x036, 0x00050473,
-+		0x036, 0x00080473,
-+		0x036, 0x00088473,
-+		0x036, 0x00090473,
-+		0x036, 0x000A0473,
-+		0x036, 0x000A8473,
-+		0x036, 0x000B0473,
-+		0x036, 0x000C0473,
-+		0x036, 0x000C8473,
-+		0x036, 0x000D0473,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0xA0000000,	0x00000000,
-+		0x036, 0x00000474,
-+		0x036, 0x00008474,
-+		0x036, 0x00010474,
-+		0x036, 0x00020474,
-+		0x036, 0x00028474,
-+		0x036, 0x00030474,
-+		0x036, 0x00040474,
-+		0x036, 0x00048474,
-+		0x036, 0x00050474,
-+		0x036, 0x00080474,
-+		0x036, 0x00088474,
-+		0x036, 0x00090474,
-+		0x036, 0x000A0474,
-+		0x036, 0x000A8474,
-+		0x036, 0x000B0474,
-+		0x036, 0x000C0474,
-+		0x036, 0x000C8474,
-+		0x036, 0x000D0474,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x0EF, 0x00000004,
-+		0x037, 0x00000000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00004000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00008000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00010000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00014000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00018000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0001C000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00020000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00024000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00028000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0002C000,
-+		0x038, 0x0000714E,
-+		0x037, 0x00030000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00034000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00038000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0003C000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00040000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00044000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00048000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00080000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00084000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00088000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00090000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00094000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00098000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x0009C000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000AC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000BC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C8000,
-+		0x038, 0x00005ECE,
-+		0x0EF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000008,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000007D,
-+		0x03C, 0x0000047D,
-+		0x03C, 0x0000087D,
-+		0x03C, 0x0000107D,
-+		0x03C, 0x0000147D,
-+		0x03C, 0x0000187D,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027E,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227E,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000037E,
-+		0x03C, 0x00000575,
-+		0x03C, 0x00000971,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001575,
-+		0x03C, 0x00001871,
-+		0x03C, 0x0000217E,
-+		0x03C, 0x00002575,
-+		0x03C, 0x00002871,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x061, 0x000C0D47,
-+		0x062, 0x0000133C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0xA0000000,	0x00000000,
-+		0x063, 0x0007D0E7,
-+	0xB0000000,	0x00000000,
-+		0x064, 0x00014FEC,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0xA0000000,	0x00000000,
-+		0x065, 0x000923FF,
-+	0xB0000000,	0x00000000,
-+		0x066, 0x00000040,
-+		0x057, 0x00050000,
-+		0x056, 0x00051DF0,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x055, 0x00082060,
-+	0xB0000000,	0x00000000,
-+};
-+
-+RTW_DECL_TABLE_RF_RADIO(rtw8814a_rf_b, B);
-+
-+static const u32 rtw8814a_rf_c[] = {
-+		0x018, 0x00013124,
-+		0x040, 0x00000C00,
-+		0x058, 0x00000F98,
-+		0x07F, 0x00068004,
-+		0x018, 0x00000006,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0xA0000000,	0x00000000,
-+		0x086, 0x000E4B58,
-+		0x087, 0x00049F80,
-+	0xB0000000,	0x00000000,
-+		0x0DF, 0x00000008,
-+		0x0EF, 0x00002000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017823,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0003F258,
-+		0x03B, 0x00030A58,
-+		0x03B, 0x0002FA58,
-+		0x03B, 0x00022590,
-+		0x03B, 0x0001FA50,
-+		0x03B, 0x00010248,
-+		0x03B, 0x00008240,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000100,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000ADF6,
-+		0x034, 0x00009DF3,
-+		0x034, 0x00008DF0,
-+		0x034, 0x00007DED,
-+		0x034, 0x00006DEA,
-+		0x034, 0x00005CED,
-+		0x034, 0x00004CEA,
-+		0x034, 0x000034EA,
-+		0x034, 0x000024E7,
-+		0x034, 0x0000146A,
-+		0x034, 0x0000006B,
-+	0xB0000000,	0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008ADF6,
-+		0x034, 0x00089DF3,
-+		0x034, 0x00088DF0,
-+		0x034, 0x00087DED,
-+		0x034, 0x00086DEA,
-+		0x034, 0x00085CED,
-+		0x034, 0x00084CEA,
-+		0x034, 0x000834EA,
-+		0x034, 0x000824E7,
-+		0x034, 0x0008146A,
-+		0x034, 0x0008006B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x000020A2,
-+		0x0DF, 0x00000080,
-+		0x035, 0x00000192,
-+		0x035, 0x00008192,
-+		0x035, 0x00010192,
-+		0x036, 0x00000024,
-+		0x036, 0x00008024,
-+		0x036, 0x00010024,
-+		0x036, 0x00018024,
-+		0x0EF, 0x00000000,
-+		0x051, 0x00000C21,
-+		0x052, 0x000006D9,
-+		0x053, 0x000FC649,
-+		0x054, 0x0000017E,
-+		0x018, 0x0001012A,
-+		0x081, 0x0007FC00,
-+		0x089, 0x00050110,
-+		0x08A, 0x00043E50,
-+		0x08B, 0x0002E180,
-+		0x08C, 0x00093C3C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xA0000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0xA0000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00001000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0006C000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x000D4000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00080000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0006C000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0008C000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00004000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x000A0000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00030023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00028623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00021633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0001C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00010293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00009593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0000118B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0000078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0004C000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00084000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00080000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0004C000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x000D0000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00080000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00080000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00028000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00070023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00068623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00061633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0005C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00050293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00049593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+		0x03B, 0x0004078B,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00060000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00080000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B0023,
-+	0x80000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A8623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A1633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0009C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00090293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00089593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0008128B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0008078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00000800,
-+		0x03B, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001803,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001803,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00040000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000800,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00080000,
-+	0x80000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001802,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001802,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001002,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+	0xB0000000,	0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0xA0000000,	0x00000000,
-+		0x018, 0x00013124,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000100,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A38C,
-+		0x034, 0x000491AD,
-+		0x034, 0x000481AA,
-+		0x034, 0x000471A7,
-+		0x034, 0x000460AA,
-+		0x034, 0x000450A7,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x0004200C,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AD,
-+		0x034, 0x0004838A,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004404C,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AD,
-+		0x034, 0x0004838A,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004404C,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AD,
-+		0x034, 0x0004838A,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004404C,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AD,
-+		0x034, 0x0004838A,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004404C,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3F5,
-+		0x034, 0x000493F3,
-+		0x034, 0x00048393,
-+		0x034, 0x00047390,
-+		0x034, 0x0004638D,
-+		0x034, 0x0004538A,
-+		0x034, 0x00044387,
-+		0x034, 0x000430ED,
-+		0x034, 0x000420EA,
-+		0x034, 0x000410E7,
-+		0x034, 0x0004002D,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004AFF7,
-+		0x034, 0x00049FF6,
-+		0x034, 0x00048FF3,
-+		0x034, 0x00047FF0,
-+		0x034, 0x00046FED,
-+		0x034, 0x00045FEA,
-+		0x034, 0x00044FE7,
-+		0x034, 0x00043CD0,
-+		0x034, 0x00042CCD,
-+		0x034, 0x00041CCA,
-+		0x034, 0x00040CC7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AD,
-+		0x034, 0x0004838A,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004404C,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EF,
-+		0x034, 0x000493AD,
-+		0x034, 0x0004838A,
-+		0x034, 0x0004718C,
-+		0x034, 0x00046189,
-+		0x034, 0x0004506D,
-+		0x034, 0x0004404C,
-+		0x034, 0x0004302C,
-+		0x034, 0x00042029,
-+		0x034, 0x00041026,
-+		0x034, 0x00040023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0004AFF4,
-+		0x034, 0x00049FF1,
-+		0x034, 0x00048FEE,
-+		0x034, 0x00047FEB,
-+		0x034, 0x00046FE8,
-+		0x034, 0x00045DEA,
-+		0x034, 0x00044CED,
-+		0x034, 0x00043CEA,
-+		0x034, 0x00042C6C,
-+		0x034, 0x00041C69,
-+		0x034, 0x00040C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x0002938C,
-+		0x034, 0x000281AD,
-+		0x034, 0x000271AA,
-+		0x034, 0x000261A7,
-+		0x034, 0x000250AA,
-+		0x034, 0x000240A7,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x0002100C,
-+		0x034, 0x00020009,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x0002936D,
-+		0x034, 0x0002836A,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x0002936D,
-+		0x034, 0x0002836A,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x000293AC,
-+		0x034, 0x0002838A,
-+		0x034, 0x0002718C,
-+		0x034, 0x00026189,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3F5,
-+		0x034, 0x000293F3,
-+		0x034, 0x000282F2,
-+		0x034, 0x000272D0,
-+		0x034, 0x000262CD,
-+		0x034, 0x000252CA,
-+		0x034, 0x000242C7,
-+		0x034, 0x000230CD,
-+		0x034, 0x000220CA,
-+		0x034, 0x000210C7,
-+		0x034, 0x00020086,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002AFF7,
-+		0x034, 0x00029FF6,
-+		0x034, 0x00028FF3,
-+		0x034, 0x00027FF0,
-+		0x034, 0x00026FED,
-+		0x034, 0x00025FEA,
-+		0x034, 0x00024FE7,
-+		0x034, 0x00023DEA,
-+		0x034, 0x00022DE7,
-+		0x034, 0x00021DE4,
-+		0x034, 0x00020E44,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x0002936D,
-+		0x034, 0x0002836A,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EC,
-+		0x034, 0x0002936D,
-+		0x034, 0x0002836A,
-+		0x034, 0x0002716D,
-+		0x034, 0x0002616A,
-+		0x034, 0x0002506D,
-+		0x034, 0x0002406A,
-+		0x034, 0x0002302C,
-+		0x034, 0x00022029,
-+		0x034, 0x00021026,
-+		0x034, 0x00020023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0002AFF4,
-+		0x034, 0x00029FF1,
-+		0x034, 0x00028FEE,
-+		0x034, 0x00027FEB,
-+		0x034, 0x00026FE8,
-+		0x034, 0x00025DEA,
-+		0x034, 0x00024CED,
-+		0x034, 0x00023CEA,
-+		0x034, 0x00022C6C,
-+		0x034, 0x00021C69,
-+		0x034, 0x00020C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A38C,
-+		0x034, 0x000091AD,
-+		0x034, 0x000081AA,
-+		0x034, 0x000071A7,
-+		0x034, 0x000060AA,
-+		0x034, 0x000050A7,
-+		0x034, 0x0000402C,
-+		0x034, 0x00003029,
-+		0x034, 0x0000200C,
-+		0x034, 0x00001009,
-+		0x034, 0x00000006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AB,
-+		0x034, 0x00008389,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AB,
-+		0x034, 0x00008389,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AB,
-+		0x034, 0x00008389,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AB,
-+		0x034, 0x00008389,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3F5,
-+		0x034, 0x000093F1,
-+		0x034, 0x000083B0,
-+		0x034, 0x00007370,
-+		0x034, 0x0000636D,
-+		0x034, 0x0000536A,
-+		0x034, 0x00004367,
-+		0x034, 0x0000308E,
-+		0x034, 0x0000208B,
-+		0x034, 0x00001088,
-+		0x034, 0x00000085,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000AFF7,
-+		0x034, 0x00009FF5,
-+		0x034, 0x00008FF2,
-+		0x034, 0x00007FEF,
-+		0x034, 0x00006FEC,
-+		0x034, 0x00005FE9,
-+		0x034, 0x00004EAA,
-+		0x034, 0x00003EA7,
-+		0x034, 0x00002C70,
-+		0x034, 0x00001C6D,
-+		0x034, 0x00000C6A,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AB,
-+		0x034, 0x00008389,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AB,
-+		0x034, 0x00008389,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000AFF4,
-+		0x034, 0x00009FF1,
-+		0x034, 0x00008FEE,
-+		0x034, 0x00007FEB,
-+		0x034, 0x00006FE8,
-+		0x034, 0x00005DEA,
-+		0x034, 0x00004CED,
-+		0x034, 0x00003CEA,
-+		0x034, 0x00002C6C,
-+		0x034, 0x00001C69,
-+		0x034, 0x00000C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA38C,
-+		0x034, 0x000C91AD,
-+		0x034, 0x000C81AA,
-+		0x034, 0x000C71A7,
-+		0x034, 0x000C60AA,
-+		0x034, 0x000C50A7,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C200C,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AD,
-+		0x034, 0x000C838A,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C404C,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AD,
-+		0x034, 0x000C838A,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C404C,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AD,
-+		0x034, 0x000C838A,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C404C,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AD,
-+		0x034, 0x000C838A,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C404C,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3F5,
-+		0x034, 0x000C93F3,
-+		0x034, 0x000C8393,
-+		0x034, 0x000C7390,
-+		0x034, 0x000C638D,
-+		0x034, 0x000C538A,
-+		0x034, 0x000C4387,
-+		0x034, 0x000C30ED,
-+		0x034, 0x000C20EA,
-+		0x034, 0x000C10E7,
-+		0x034, 0x000C002D,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CAFF7,
-+		0x034, 0x000C9FF6,
-+		0x034, 0x000C8FF3,
-+		0x034, 0x000C7FF0,
-+		0x034, 0x000C6FED,
-+		0x034, 0x000C5FEA,
-+		0x034, 0x000C4FE7,
-+		0x034, 0x000C3CD0,
-+		0x034, 0x000C2CCD,
-+		0x034, 0x000C1CCA,
-+		0x034, 0x000C0CC7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AD,
-+		0x034, 0x000C838A,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C404C,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EF,
-+		0x034, 0x000C93AD,
-+		0x034, 0x000C838A,
-+		0x034, 0x000C718C,
-+		0x034, 0x000C6189,
-+		0x034, 0x000C506D,
-+		0x034, 0x000C404C,
-+		0x034, 0x000C302C,
-+		0x034, 0x000C2029,
-+		0x034, 0x000C1026,
-+		0x034, 0x000C0023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000CA794,
-+		0x034, 0x000C9791,
-+		0x034, 0x000C878E,
-+		0x034, 0x000C778B,
-+		0x034, 0x000C658D,
-+		0x034, 0x000C558A,
-+		0x034, 0x000C448D,
-+		0x034, 0x000C348A,
-+		0x034, 0x000C244C,
-+		0x034, 0x000C1449,
-+		0x034, 0x000C042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A938C,
-+		0x034, 0x000A81AD,
-+		0x034, 0x000A71AA,
-+		0x034, 0x000A61A7,
-+		0x034, 0x000A50AA,
-+		0x034, 0x000A40A7,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A100C,
-+		0x034, 0x000A0009,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A936D,
-+		0x034, 0x000A836A,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A936D,
-+		0x034, 0x000A836A,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A93AC,
-+		0x034, 0x000A838A,
-+		0x034, 0x000A718C,
-+		0x034, 0x000A6189,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3F5,
-+		0x034, 0x000A93F3,
-+		0x034, 0x000A82F2,
-+		0x034, 0x000A72D0,
-+		0x034, 0x000A62CD,
-+		0x034, 0x000A52CA,
-+		0x034, 0x000A42C7,
-+		0x034, 0x000A30CD,
-+		0x034, 0x000A20CA,
-+		0x034, 0x000A10C7,
-+		0x034, 0x000A0086,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AAFF7,
-+		0x034, 0x000A9FF6,
-+		0x034, 0x000A8FF3,
-+		0x034, 0x000A7FF0,
-+		0x034, 0x000A6FED,
-+		0x034, 0x000A5FEA,
-+		0x034, 0x000A4FE7,
-+		0x034, 0x000A3DEA,
-+		0x034, 0x000A2DE7,
-+		0x034, 0x000A1DE4,
-+		0x034, 0x000A0E44,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A936D,
-+		0x034, 0x000A836A,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EC,
-+		0x034, 0x000A936D,
-+		0x034, 0x000A836A,
-+		0x034, 0x000A716D,
-+		0x034, 0x000A616A,
-+		0x034, 0x000A506D,
-+		0x034, 0x000A406A,
-+		0x034, 0x000A302C,
-+		0x034, 0x000A2029,
-+		0x034, 0x000A1026,
-+		0x034, 0x000A0023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000AA794,
-+		0x034, 0x000A9791,
-+		0x034, 0x000A878E,
-+		0x034, 0x000A778B,
-+		0x034, 0x000A658D,
-+		0x034, 0x000A558A,
-+		0x034, 0x000A448D,
-+		0x034, 0x000A348A,
-+		0x034, 0x000A244C,
-+		0x034, 0x000A1449,
-+		0x034, 0x000A042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A38C,
-+		0x034, 0x000891AD,
-+		0x034, 0x000881AA,
-+		0x034, 0x000871A7,
-+		0x034, 0x000860AA,
-+		0x034, 0x000850A7,
-+		0x034, 0x0008402C,
-+		0x034, 0x00083029,
-+		0x034, 0x0008200C,
-+		0x034, 0x00081009,
-+		0x034, 0x00000006,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AB,
-+		0x034, 0x00088389,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AB,
-+		0x034, 0x00088389,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AB,
-+		0x034, 0x00088389,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AB,
-+		0x034, 0x00088389,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3F5,
-+		0x034, 0x000893F1,
-+		0x034, 0x000883B0,
-+		0x034, 0x00087370,
-+		0x034, 0x0008636D,
-+		0x034, 0x0008536A,
-+		0x034, 0x00084367,
-+		0x034, 0x0008308E,
-+		0x034, 0x0008208B,
-+		0x034, 0x00081088,
-+		0x034, 0x00080085,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008AFF7,
-+		0x034, 0x00089FF5,
-+		0x034, 0x00088FF2,
-+		0x034, 0x00087FEF,
-+		0x034, 0x00086FEC,
-+		0x034, 0x00085FE9,
-+		0x034, 0x00084EAA,
-+		0x034, 0x00083EA7,
-+		0x034, 0x00082C70,
-+		0x034, 0x00081C6D,
-+		0x034, 0x00080C6A,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AB,
-+		0x034, 0x00088389,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AB,
-+		0x034, 0x00088389,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008A794,
-+		0x034, 0x00089791,
-+		0x034, 0x0008878E,
-+		0x034, 0x0008778B,
-+		0x034, 0x0008658D,
-+		0x034, 0x0008558A,
-+		0x034, 0x0008448D,
-+		0x034, 0x0008348A,
-+		0x034, 0x0008244C,
-+		0x034, 0x00081449,
-+		0x034, 0x0008042B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x0DF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000040,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0xA0000000,	0x00000000,
-+		0x035, 0x00000484,
-+		0x035, 0x00008484,
-+		0x035, 0x00010484,
-+		0x035, 0x00020584,
-+		0x035, 0x00028584,
-+		0x035, 0x00030584,
-+		0x035, 0x00040584,
-+		0x035, 0x00048584,
-+		0x035, 0x00050584,
-+		0x035, 0x000805FB,
-+		0x035, 0x000885FB,
-+		0x035, 0x000905FB,
-+		0x035, 0x000A05FB,
-+		0x035, 0x000A85FB,
-+		0x035, 0x000B05FB,
-+		0x035, 0x000C05FB,
-+		0x035, 0x000C85FB,
-+		0x035, 0x000D05FB,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x0DF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000010,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000473,
-+		0x036, 0x00008473,
-+		0x036, 0x00010473,
-+		0x036, 0x00020473,
-+		0x036, 0x00028473,
-+		0x036, 0x00030473,
-+		0x036, 0x00040473,
-+		0x036, 0x00048473,
-+		0x036, 0x00050473,
-+		0x036, 0x00080473,
-+		0x036, 0x00088473,
-+		0x036, 0x00090473,
-+		0x036, 0x000A0473,
-+		0x036, 0x000A8473,
-+		0x036, 0x000B0473,
-+		0x036, 0x000C0473,
-+		0x036, 0x000C8473,
-+		0x036, 0x000D0473,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0xA0000000,	0x00000000,
-+		0x036, 0x00000474,
-+		0x036, 0x00008474,
-+		0x036, 0x00010474,
-+		0x036, 0x00020474,
-+		0x036, 0x00028474,
-+		0x036, 0x00030474,
-+		0x036, 0x00040474,
-+		0x036, 0x00048474,
-+		0x036, 0x00050474,
-+		0x036, 0x00080474,
-+		0x036, 0x00088474,
-+		0x036, 0x00090474,
-+		0x036, 0x000A0474,
-+		0x036, 0x000A8474,
-+		0x036, 0x000B0474,
-+		0x036, 0x000C0474,
-+		0x036, 0x000C8474,
-+		0x036, 0x000D0474,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x0EF, 0x00000004,
-+		0x037, 0x00000000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00004000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00008000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00010000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00014000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00018000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0001C000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00020000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00024000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00028000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0002C000,
-+		0x038, 0x0000714E,
-+		0x037, 0x00030000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00034000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00038000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0003C000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00040000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00044000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00048000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00080000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00084000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00088000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00090000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00094000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00098000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x0009C000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000AC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000BC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C8000,
-+		0x038, 0x00005ECE,
-+		0x0EF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000008,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000007D,
-+		0x03C, 0x0000047D,
-+		0x03C, 0x0000087D,
-+		0x03C, 0x0000107D,
-+		0x03C, 0x0000147D,
-+		0x03C, 0x0000187D,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000541,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001541,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002541,
-+		0x03C, 0x00002821,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027D,
-+		0x03C, 0x00000546,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127D,
-+		0x03C, 0x00001546,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227D,
-+		0x03C, 0x00002546,
-+		0x03C, 0x00002821,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000037E,
-+		0x03C, 0x00000575,
-+		0x03C, 0x00000971,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001575,
-+		0x03C, 0x00001871,
-+		0x03C, 0x0000217E,
-+		0x03C, 0x00002575,
-+		0x03C, 0x00002871,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x061, 0x000C0D47,
-+		0x062, 0x0000133C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0xA0000000,	0x00000000,
-+		0x063, 0x0007D0E7,
-+	0xB0000000,	0x00000000,
-+		0x064, 0x00014FEC,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0xA0000000,	0x00000000,
-+		0x065, 0x000923FF,
-+	0xB0000000,	0x00000000,
-+		0x066, 0x00000040,
-+		0x057, 0x00050000,
-+		0x056, 0x00051DF0,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x055, 0x00082060,
-+	0xB0000000,	0x00000000,
-+};
-+
-+RTW_DECL_TABLE_RF_RADIO(rtw8814a_rf_c, C);

+ 0 - 11450
package/kernel/mac80211/patches/rtl/087-v6.15-wifi-rtw88-Add-rtw8814a_table.c-part-2-2.patch

@@ -1,11450 +0,0 @@
-From e38246889cc9f8497c8d7413b73856ae1634322d Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:24:02 +0200
-Subject: [PATCH] wifi: rtw88: Add rtw8814a_table.c (part 2/2)
-
-This contains various tables for initialising the RTL8814A, plus TX
-power limits.
-
-Also add rtw8814a_table.h.
-
-Split into two patches because they are big.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- .../wireless/realtek/rtw88/rtw8814a_table.c   | 11379 ++++++++++++++++
- .../wireless/realtek/rtw88/rtw8814a_table.h   |    40 +
- 2 files changed, 11419 insertions(+)
- create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8814a_table.h
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8814a_table.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a_table.c
-@@ -12549,3 +12549,11382 @@ static const u32 rtw8814a_rf_c[] = {
- };
- 
- RTW_DECL_TABLE_RF_RADIO(rtw8814a_rf_c, C);
-+
-+static const u32 rtw8814a_rf_d[] = {
-+		0x018, 0x00013124,
-+		0x040, 0x00000C00,
-+		0x058, 0x00000F98,
-+		0x07F, 0x00068004,
-+		0x018, 0x00000006,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x086, 0x000E335A,
-+		0x087, 0x00079F80,
-+	0xA0000000,	0x00000000,
-+		0x086, 0x000E4B58,
-+		0x087, 0x00049F80,
-+	0xB0000000,	0x00000000,
-+		0x0DF, 0x00000008,
-+		0x0EF, 0x00002000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F09B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F09B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0003F19B,
-+		0x03B, 0x00037A5B,
-+		0x03B, 0x0002A433,
-+		0x03B, 0x00027BD3,
-+		0x03B, 0x0001F80B,
-+		0x03B, 0x00017803,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0003F258,
-+		0x03B, 0x00030A58,
-+		0x03B, 0x0002FA58,
-+		0x03B, 0x00022590,
-+		0x03B, 0x0001FA50,
-+		0x03B, 0x00010248,
-+		0x03B, 0x00008240,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000100,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000ADF6,
-+		0x034, 0x00009DF3,
-+		0x034, 0x00008DF0,
-+		0x034, 0x00007DED,
-+		0x034, 0x00006DEA,
-+		0x034, 0x00005CED,
-+		0x034, 0x00004CEA,
-+		0x034, 0x000034EA,
-+		0x034, 0x000024E7,
-+		0x034, 0x0000146A,
-+		0x034, 0x0000006B,
-+	0xB0000000,	0x00000000,
-+	0x80000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A0D0,
-+		0x034, 0x000090CD,
-+		0x034, 0x000080CA,
-+		0x034, 0x0000704D,
-+		0x034, 0x0000604A,
-+		0x034, 0x00005047,
-+		0x034, 0x0000400A,
-+		0x034, 0x00003007,
-+		0x034, 0x00002004,
-+		0x034, 0x00001001,
-+		0x034, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008ADF6,
-+		0x034, 0x00089DF3,
-+		0x034, 0x00088DF0,
-+		0x034, 0x00087DED,
-+		0x034, 0x00086DEA,
-+		0x034, 0x00085CED,
-+		0x034, 0x00084CEA,
-+		0x034, 0x000834EA,
-+		0x034, 0x000824E7,
-+		0x034, 0x0008146A,
-+		0x034, 0x0008006B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x000020A2,
-+		0x0DF, 0x00000080,
-+		0x035, 0x00000192,
-+		0x035, 0x00008192,
-+		0x035, 0x00010192,
-+		0x036, 0x00000024,
-+		0x036, 0x00008024,
-+		0x036, 0x00010024,
-+		0x036, 0x00018024,
-+		0x0EF, 0x00000000,
-+		0x051, 0x00000C21,
-+		0x052, 0x000006D9,
-+		0x053, 0x000FC649,
-+		0x054, 0x0000017E,
-+		0x018, 0x0001012A,
-+		0x081, 0x0007FC00,
-+		0x089, 0x00050110,
-+		0x08A, 0x00043E50,
-+		0x08B, 0x0002E180,
-+		0x08C, 0x00093C3C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xA0000000,	0x00000000,
-+		0x085, 0x000F8000,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0xA0000000,	0x00000000,
-+		0x08D, 0x000FFFF0,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00001000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00038023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00040000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00088000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00048000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00030023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00028623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00021633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0001C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00010293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00009593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x00000F8B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0000078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00078023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00044000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00070023,
-+		0x03C, 0x00048000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00068623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00061633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0005C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00050293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00049593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x00040F8B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0004078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B8023,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00004000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00060000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00004000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00060000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00024000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00004000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000B0023,
-+	0x80000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x00020000,
-+	0xB0000000,	0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A8623,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x000A1633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x0009C633,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00090293,
-+		0x03C, 0x00000000,
-+		0x03A, 0x0000013C,
-+		0x03B, 0x00089593,
-+		0x03C, 0x00000000,
-+		0x03A, 0x00000148,
-+	0x80000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03B, 0x0008138B,
-+	0xA0000000,	0x00000000,
-+		0x03B, 0x0008078B,
-+	0xB0000000,	0x00000000,
-+		0x03C, 0x00000000,
-+		0x0EF, 0x00000000,
-+		0x0EF, 0x00000800,
-+		0x03B, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001003,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001803,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00000803,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00040000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001002,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000001,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000802,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001803,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0xB0000000,	0x00000000,
-+		0x03B, 0x00080000,
-+	0x80000007,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001802,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00001000,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x03A, 0x00000802,
-+	0xA0000000,	0x00000000,
-+		0x03A, 0x00001002,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000006,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x00013124,
-+		0x0EF, 0x00000100,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3EB,
-+		0x034, 0x0004938B,
-+		0x034, 0x000481AC,
-+		0x034, 0x000471A9,
-+		0x034, 0x000460AC,
-+		0x034, 0x000450A9,
-+		0x034, 0x0004402E,
-+		0x034, 0x0004302B,
-+		0x034, 0x00042028,
-+		0x034, 0x0004100B,
-+		0x034, 0x00040008,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3AD,
-+		0x034, 0x0004938A,
-+		0x034, 0x0004818C,
-+		0x034, 0x00047189,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3AD,
-+		0x034, 0x0004938A,
-+		0x034, 0x0004818C,
-+		0x034, 0x00047189,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3AD,
-+		0x034, 0x0004938A,
-+		0x034, 0x0004818C,
-+		0x034, 0x00047189,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3AD,
-+		0x034, 0x0004938A,
-+		0x034, 0x0004818C,
-+		0x034, 0x00047189,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3F4,
-+		0x034, 0x000493D2,
-+		0x034, 0x000482D1,
-+		0x034, 0x000471F1,
-+		0x034, 0x000461EE,
-+		0x034, 0x000451EB,
-+		0x034, 0x000441E8,
-+		0x034, 0x0004314B,
-+		0x034, 0x00042148,
-+		0x034, 0x0004104B,
-+		0x034, 0x00040048,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004AFF7,
-+		0x034, 0x00049FF6,
-+		0x034, 0x00048FF3,
-+		0x034, 0x00047FF0,
-+		0x034, 0x00046FED,
-+		0x034, 0x00045FEA,
-+		0x034, 0x00044FE7,
-+		0x034, 0x00043CB1,
-+		0x034, 0x00042CAE,
-+		0x034, 0x00041CAB,
-+		0x034, 0x00040CA8,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3AD,
-+		0x034, 0x0004938A,
-+		0x034, 0x0004818C,
-+		0x034, 0x00047189,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0004A3AD,
-+		0x034, 0x0004938A,
-+		0x034, 0x0004818C,
-+		0x034, 0x00047189,
-+		0x034, 0x0004606D,
-+		0x034, 0x0004506A,
-+		0x034, 0x0004402C,
-+		0x034, 0x00043029,
-+		0x034, 0x00042026,
-+		0x034, 0x00041009,
-+		0x034, 0x00040006,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0004AFF4,
-+		0x034, 0x00049FF1,
-+		0x034, 0x00048FEE,
-+		0x034, 0x00047FEB,
-+		0x034, 0x00046FE8,
-+		0x034, 0x00045DEA,
-+		0x034, 0x00044CED,
-+		0x034, 0x00043CEA,
-+		0x034, 0x00042C6C,
-+		0x034, 0x00041C69,
-+		0x034, 0x00040C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3EE,
-+		0x034, 0x000293EB,
-+		0x034, 0x0002838B,
-+		0x034, 0x000271AC,
-+		0x034, 0x000261A9,
-+		0x034, 0x000250AC,
-+		0x034, 0x000240A9,
-+		0x034, 0x000230A6,
-+		0x034, 0x0002202C,
-+		0x034, 0x00021029,
-+		0x034, 0x00020026,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3AD,
-+		0x034, 0x0002938A,
-+		0x034, 0x0002818C,
-+		0x034, 0x00027189,
-+		0x034, 0x0002606D,
-+		0x034, 0x0002504C,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x00022026,
-+		0x034, 0x00021023,
-+		0x034, 0x00020006,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3AD,
-+		0x034, 0x0002938A,
-+		0x034, 0x0002818C,
-+		0x034, 0x00027189,
-+		0x034, 0x0002606D,
-+		0x034, 0x0002504C,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x00022026,
-+		0x034, 0x00021023,
-+		0x034, 0x00020006,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3AD,
-+		0x034, 0x0002938A,
-+		0x034, 0x0002818C,
-+		0x034, 0x00027189,
-+		0x034, 0x0002606D,
-+		0x034, 0x0002504C,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x00022026,
-+		0x034, 0x00021023,
-+		0x034, 0x00020006,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3AD,
-+		0x034, 0x0002938A,
-+		0x034, 0x0002818C,
-+		0x034, 0x00027189,
-+		0x034, 0x0002606D,
-+		0x034, 0x0002504C,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x00022026,
-+		0x034, 0x00021023,
-+		0x034, 0x00020006,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3F5,
-+		0x034, 0x000293D2,
-+		0x034, 0x000283CE,
-+		0x034, 0x00027290,
-+		0x034, 0x0002628D,
-+		0x034, 0x0002528A,
-+		0x034, 0x00024287,
-+		0x034, 0x0002308D,
-+		0x034, 0x0002208A,
-+		0x034, 0x00021087,
-+		0x034, 0x00020048,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002AFF7,
-+		0x034, 0x00029FF6,
-+		0x034, 0x00028FF3,
-+		0x034, 0x00027FF0,
-+		0x034, 0x00026FED,
-+		0x034, 0x00025FEA,
-+		0x034, 0x00024FE7,
-+		0x034, 0x00023DEA,
-+		0x034, 0x00022DE7,
-+		0x034, 0x00021DE4,
-+		0x034, 0x00020D48,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3AD,
-+		0x034, 0x0002938A,
-+		0x034, 0x0002818C,
-+		0x034, 0x00027189,
-+		0x034, 0x0002606D,
-+		0x034, 0x0002504C,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x00022026,
-+		0x034, 0x00021023,
-+		0x034, 0x00020006,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0002A3AD,
-+		0x034, 0x0002938A,
-+		0x034, 0x0002818C,
-+		0x034, 0x00027189,
-+		0x034, 0x0002606D,
-+		0x034, 0x0002504C,
-+		0x034, 0x0002402C,
-+		0x034, 0x00023029,
-+		0x034, 0x00022026,
-+		0x034, 0x00021023,
-+		0x034, 0x00020006,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0002AFF4,
-+		0x034, 0x00029FF1,
-+		0x034, 0x00028FEE,
-+		0x034, 0x00027FEB,
-+		0x034, 0x00026FE8,
-+		0x034, 0x00025DEA,
-+		0x034, 0x00024CED,
-+		0x034, 0x00023CEA,
-+		0x034, 0x00022C6C,
-+		0x034, 0x00021C69,
-+		0x034, 0x00020C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EF,
-+		0x034, 0x000093EC,
-+		0x034, 0x0000838C,
-+		0x034, 0x000071AD,
-+		0x034, 0x000061AA,
-+		0x034, 0x000050AD,
-+		0x034, 0x000040AA,
-+		0x034, 0x0000306A,
-+		0x034, 0x0000202D,
-+		0x034, 0x0000102A,
-+		0x034, 0x00000027,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3F1,
-+		0x034, 0x000092B1,
-+		0x034, 0x000081CF,
-+		0x034, 0x00007170,
-+		0x034, 0x0000616D,
-+		0x034, 0x0000516A,
-+		0x034, 0x00004167,
-+		0x034, 0x0000302F,
-+		0x034, 0x0000202C,
-+		0x034, 0x00001029,
-+		0x034, 0x00000026,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000AFF7,
-+		0x034, 0x00009FF6,
-+		0x034, 0x00008FF3,
-+		0x034, 0x00007FF0,
-+		0x034, 0x00006FED,
-+		0x034, 0x00005FEA,
-+		0x034, 0x00004FE7,
-+		0x034, 0x00003EC7,
-+		0x034, 0x00002EC4,
-+		0x034, 0x00001D4B,
-+		0x034, 0x00000D48,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0000A3EE,
-+		0x034, 0x000093AC,
-+		0x034, 0x0000838A,
-+		0x034, 0x0000718C,
-+		0x034, 0x00006189,
-+		0x034, 0x0000506D,
-+		0x034, 0x0000406A,
-+		0x034, 0x0000302C,
-+		0x034, 0x00002029,
-+		0x034, 0x00001026,
-+		0x034, 0x00000023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0000AFF4,
-+		0x034, 0x00009FF1,
-+		0x034, 0x00008FEE,
-+		0x034, 0x00007FEB,
-+		0x034, 0x00006FE8,
-+		0x034, 0x00005DEA,
-+		0x034, 0x00004CED,
-+		0x034, 0x00003CEA,
-+		0x034, 0x00002C6C,
-+		0x034, 0x00001C69,
-+		0x034, 0x00000C2B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3EB,
-+		0x034, 0x000C938B,
-+		0x034, 0x000C81AC,
-+		0x034, 0x000C71A9,
-+		0x034, 0x000C60AC,
-+		0x034, 0x000C50A9,
-+		0x034, 0x000C402E,
-+		0x034, 0x000C302B,
-+		0x034, 0x000C2028,
-+		0x034, 0x000C100B,
-+		0x034, 0x000C0008,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3AD,
-+		0x034, 0x000C938A,
-+		0x034, 0x000C818C,
-+		0x034, 0x000C7189,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3AD,
-+		0x034, 0x000C938A,
-+		0x034, 0x000C818C,
-+		0x034, 0x000C7189,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3AD,
-+		0x034, 0x000C938A,
-+		0x034, 0x000C818C,
-+		0x034, 0x000C7189,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3AD,
-+		0x034, 0x000C938A,
-+		0x034, 0x000C818C,
-+		0x034, 0x000C7189,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3F4,
-+		0x034, 0x000C93D2,
-+		0x034, 0x000C82D1,
-+		0x034, 0x000C71F1,
-+		0x034, 0x000C61EE,
-+		0x034, 0x000C51EB,
-+		0x034, 0x000C41E8,
-+		0x034, 0x000C314B,
-+		0x034, 0x000C2148,
-+		0x034, 0x000C104B,
-+		0x034, 0x000C0048,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CAFF7,
-+		0x034, 0x000C9FF6,
-+		0x034, 0x000C8FF3,
-+		0x034, 0x000C7FF0,
-+		0x034, 0x000C6FED,
-+		0x034, 0x000C5FEA,
-+		0x034, 0x000C4FE7,
-+		0x034, 0x000C3CB1,
-+		0x034, 0x000C2CAE,
-+		0x034, 0x000C1CAB,
-+		0x034, 0x000C0CA8,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3AD,
-+		0x034, 0x000C938A,
-+		0x034, 0x000C818C,
-+		0x034, 0x000C7189,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000CA3AD,
-+		0x034, 0x000C938A,
-+		0x034, 0x000C818C,
-+		0x034, 0x000C7189,
-+		0x034, 0x000C606D,
-+		0x034, 0x000C506A,
-+		0x034, 0x000C402C,
-+		0x034, 0x000C3029,
-+		0x034, 0x000C2026,
-+		0x034, 0x000C1009,
-+		0x034, 0x000C0006,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000CA794,
-+		0x034, 0x000C9791,
-+		0x034, 0x000C878E,
-+		0x034, 0x000C778B,
-+		0x034, 0x000C658D,
-+		0x034, 0x000C558A,
-+		0x034, 0x000C448D,
-+		0x034, 0x000C348A,
-+		0x034, 0x000C244C,
-+		0x034, 0x000C1449,
-+		0x034, 0x000C042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3EE,
-+		0x034, 0x000A93EB,
-+		0x034, 0x000A838B,
-+		0x034, 0x000A71AC,
-+		0x034, 0x000A61A9,
-+		0x034, 0x000A50AC,
-+		0x034, 0x000A40A9,
-+		0x034, 0x000A30A6,
-+		0x034, 0x000A202C,
-+		0x034, 0x000A1029,
-+		0x034, 0x000A0026,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3AD,
-+		0x034, 0x000A938A,
-+		0x034, 0x000A818C,
-+		0x034, 0x000A7189,
-+		0x034, 0x000A606D,
-+		0x034, 0x000A504C,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A2026,
-+		0x034, 0x000A1023,
-+		0x034, 0x000A0006,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3AD,
-+		0x034, 0x000A938A,
-+		0x034, 0x000A818C,
-+		0x034, 0x000A7189,
-+		0x034, 0x000A606D,
-+		0x034, 0x000A504C,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A2026,
-+		0x034, 0x000A1023,
-+		0x034, 0x000A0006,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3AD,
-+		0x034, 0x000A938A,
-+		0x034, 0x000A818C,
-+		0x034, 0x000A7189,
-+		0x034, 0x000A606D,
-+		0x034, 0x000A504C,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A2026,
-+		0x034, 0x000A1023,
-+		0x034, 0x000A0006,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3AD,
-+		0x034, 0x000A938A,
-+		0x034, 0x000A818C,
-+		0x034, 0x000A7189,
-+		0x034, 0x000A606D,
-+		0x034, 0x000A504C,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A2026,
-+		0x034, 0x000A1023,
-+		0x034, 0x000A0006,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3F5,
-+		0x034, 0x000A93D2,
-+		0x034, 0x000A83CE,
-+		0x034, 0x000A7290,
-+		0x034, 0x000A628D,
-+		0x034, 0x000A528A,
-+		0x034, 0x000A4287,
-+		0x034, 0x000A308D,
-+		0x034, 0x000A208A,
-+		0x034, 0x000A1087,
-+		0x034, 0x000A0048,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AAFF7,
-+		0x034, 0x000A9FF6,
-+		0x034, 0x000A8FF3,
-+		0x034, 0x000A7FF0,
-+		0x034, 0x000A6FED,
-+		0x034, 0x000A5FEA,
-+		0x034, 0x000A4FE7,
-+		0x034, 0x000A3DEA,
-+		0x034, 0x000A2DE7,
-+		0x034, 0x000A1DE4,
-+		0x034, 0x000A0D48,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3AD,
-+		0x034, 0x000A938A,
-+		0x034, 0x000A818C,
-+		0x034, 0x000A7189,
-+		0x034, 0x000A606D,
-+		0x034, 0x000A504C,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A2026,
-+		0x034, 0x000A1023,
-+		0x034, 0x000A0006,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x000AA3AD,
-+		0x034, 0x000A938A,
-+		0x034, 0x000A818C,
-+		0x034, 0x000A7189,
-+		0x034, 0x000A606D,
-+		0x034, 0x000A504C,
-+		0x034, 0x000A402C,
-+		0x034, 0x000A3029,
-+		0x034, 0x000A2026,
-+		0x034, 0x000A1023,
-+		0x034, 0x000A0006,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x000AA794,
-+		0x034, 0x000A9791,
-+		0x034, 0x000A878E,
-+		0x034, 0x000A778B,
-+		0x034, 0x000A658D,
-+		0x034, 0x000A558A,
-+		0x034, 0x000A448D,
-+		0x034, 0x000A348A,
-+		0x034, 0x000A244C,
-+		0x034, 0x000A1449,
-+		0x034, 0x000A042B,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EF,
-+		0x034, 0x000893EC,
-+		0x034, 0x0008838C,
-+		0x034, 0x000871AD,
-+		0x034, 0x000861AA,
-+		0x034, 0x000850AD,
-+		0x034, 0x000840AA,
-+		0x034, 0x0008306A,
-+		0x034, 0x0008202D,
-+		0x034, 0x0008102A,
-+		0x034, 0x00080027,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3F1,
-+		0x034, 0x000892B1,
-+		0x034, 0x000881CF,
-+		0x034, 0x00087170,
-+		0x034, 0x0008616D,
-+		0x034, 0x0008516A,
-+		0x034, 0x00084167,
-+		0x034, 0x0008302F,
-+		0x034, 0x0008202C,
-+		0x034, 0x00081029,
-+		0x034, 0x00080026,
-+	0x90000009,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008AFF7,
-+		0x034, 0x00089FF6,
-+		0x034, 0x00088FF3,
-+		0x034, 0x00087FF0,
-+		0x034, 0x00086FED,
-+		0x034, 0x00085FEA,
-+		0x034, 0x00084FE7,
-+		0x034, 0x00083EC7,
-+		0x034, 0x00082EC4,
-+		0x034, 0x00081D4B,
-+		0x034, 0x00080D48,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x034, 0x0008A3EE,
-+		0x034, 0x000893AC,
-+		0x034, 0x0008838A,
-+		0x034, 0x0008718C,
-+		0x034, 0x00086189,
-+		0x034, 0x0008506D,
-+		0x034, 0x0008406A,
-+		0x034, 0x0008302C,
-+		0x034, 0x00082029,
-+		0x034, 0x00081026,
-+		0x034, 0x00080023,
-+	0xA0000000,	0x00000000,
-+		0x034, 0x0008A794,
-+		0x034, 0x00089791,
-+		0x034, 0x0008878E,
-+		0x034, 0x0008778B,
-+		0x034, 0x0008658D,
-+		0x034, 0x0008558A,
-+		0x034, 0x0008448D,
-+		0x034, 0x0008348A,
-+		0x034, 0x0008244C,
-+		0x034, 0x00081449,
-+		0x034, 0x0008042B,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x0DF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000040,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x035, 0x000006CC,
-+		0x035, 0x000086CC,
-+		0x035, 0x000106CC,
-+		0x035, 0x000206CC,
-+		0x035, 0x000286CC,
-+		0x035, 0x000306CC,
-+		0x035, 0x000406CC,
-+		0x035, 0x000486CC,
-+		0x035, 0x000506CC,
-+		0x035, 0x000806CC,
-+		0x035, 0x000886CC,
-+		0x035, 0x000906CC,
-+		0x035, 0x000A06CC,
-+		0x035, 0x000A86CC,
-+		0x035, 0x000B06CC,
-+		0x035, 0x000C06CC,
-+		0x035, 0x000C86CC,
-+		0x035, 0x000D06CC,
-+	0xA0000000,	0x00000000,
-+		0x035, 0x00000484,
-+		0x035, 0x00008484,
-+		0x035, 0x00010484,
-+		0x035, 0x00020584,
-+		0x035, 0x00028584,
-+		0x035, 0x00030584,
-+		0x035, 0x00040584,
-+		0x035, 0x00048584,
-+		0x035, 0x00050584,
-+		0x035, 0x000805FB,
-+		0x035, 0x000885FB,
-+		0x035, 0x000905FB,
-+		0x035, 0x000A05FB,
-+		0x035, 0x000A85FB,
-+		0x035, 0x000B05FB,
-+		0x035, 0x000C05FB,
-+		0x035, 0x000C85FB,
-+		0x035, 0x000D05FB,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x0DF, 0x00000001,
-+	0xA0000000,	0x00000000,
-+		0x0DF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x018, 0x0001712A,
-+		0x0EF, 0x00000010,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000473,
-+		0x036, 0x00008473,
-+		0x036, 0x00010473,
-+		0x036, 0x00020473,
-+		0x036, 0x00028473,
-+		0x036, 0x00030473,
-+		0x036, 0x00040473,
-+		0x036, 0x00048473,
-+		0x036, 0x00050473,
-+		0x036, 0x00080473,
-+		0x036, 0x00088473,
-+		0x036, 0x00090473,
-+		0x036, 0x000A0473,
-+		0x036, 0x000A8473,
-+		0x036, 0x000B0473,
-+		0x036, 0x000C0473,
-+		0x036, 0x000C8473,
-+		0x036, 0x000D0473,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x036, 0x00000475,
-+		0x036, 0x00008475,
-+		0x036, 0x00010475,
-+		0x036, 0x00020475,
-+		0x036, 0x00028475,
-+		0x036, 0x00030475,
-+		0x036, 0x00040475,
-+		0x036, 0x00048475,
-+		0x036, 0x00050475,
-+		0x036, 0x00080475,
-+		0x036, 0x00088475,
-+		0x036, 0x00090475,
-+		0x036, 0x000A0475,
-+		0x036, 0x000A8475,
-+		0x036, 0x000B0475,
-+		0x036, 0x000C0475,
-+		0x036, 0x000C8475,
-+		0x036, 0x000D0475,
-+	0xA0000000,	0x00000000,
-+		0x036, 0x00000474,
-+		0x036, 0x00008474,
-+		0x036, 0x00010474,
-+		0x036, 0x00020474,
-+		0x036, 0x00028474,
-+		0x036, 0x00030474,
-+		0x036, 0x00040474,
-+		0x036, 0x00048474,
-+		0x036, 0x00050474,
-+		0x036, 0x00080474,
-+		0x036, 0x00088474,
-+		0x036, 0x00090474,
-+		0x036, 0x000A0474,
-+		0x036, 0x000A8474,
-+		0x036, 0x000B0474,
-+		0x036, 0x000C0474,
-+		0x036, 0x000C8474,
-+		0x036, 0x000D0474,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x0EF, 0x00000004,
-+		0x037, 0x00000000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00004000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00008000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00010000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00014000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00018000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0001C000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00020000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00024000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00028000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0002C000,
-+		0x038, 0x0000714E,
-+		0x037, 0x00030000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00034000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00038000,
-+		0x038, 0x0000514E,
-+		0x037, 0x0003C000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00040000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00044000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00048000,
-+		0x038, 0x0000514E,
-+		0x037, 0x00080000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00084000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00088000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00090000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00094000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x00098000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x0009C000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000A8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000AC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000B8000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000BC000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C0000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C4000,
-+		0x038, 0x00005ECE,
-+		0x037, 0x000C8000,
-+		0x038, 0x00005ECE,
-+		0x0EF, 0x00000000,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000008,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000007D,
-+		0x03C, 0x0000047D,
-+		0x03C, 0x0000087D,
-+		0x03C, 0x0000107D,
-+		0x03C, 0x0000147D,
-+		0x03C, 0x0000187D,
-+	0xB0000000,	0x00000000,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x00000275,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x00001275,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x00002275,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x03C, 0x0000027F,
-+		0x03C, 0x00000542,
-+		0x03C, 0x00000821,
-+		0x03C, 0x0000127F,
-+		0x03C, 0x00001542,
-+		0x03C, 0x00001821,
-+		0x03C, 0x0000227F,
-+		0x03C, 0x00002542,
-+		0x03C, 0x00002821,
-+	0xA0000000,	0x00000000,
-+		0x03C, 0x0000037E,
-+		0x03C, 0x00000575,
-+		0x03C, 0x00000971,
-+		0x03C, 0x0000127E,
-+		0x03C, 0x00001575,
-+		0x03C, 0x00001871,
-+		0x03C, 0x0000217E,
-+		0x03C, 0x00002575,
-+		0x03C, 0x00002871,
-+	0xB0000000,	0x00000000,
-+		0x0EF, 0x00000000,
-+		0x061, 0x000C0D47,
-+		0x062, 0x0000133C,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x063, 0x000750E7,
-+	0xA0000000,	0x00000000,
-+		0x063, 0x0007D0E7,
-+	0xB0000000,	0x00000000,
-+		0x064, 0x00014FEC,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+		0x065, 0x000920D0,
-+	0xA0000000,	0x00000000,
-+		0x065, 0x000923FF,
-+	0xB0000000,	0x00000000,
-+		0x066, 0x00000040,
-+		0x057, 0x00050000,
-+		0x056, 0x00051DF0,
-+	0x80000001,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000002,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000003,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000004,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000005,	0x00000000,	0x40000000,	0x00000000,
-+	0x90000008,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000a,	0x00000000,	0x40000000,	0x00000000,
-+	0x9000000b,	0x00000000,	0x40000000,	0x00000000,
-+	0xA0000000,	0x00000000,
-+		0x055, 0x00082060,
-+	0xB0000000,	0x00000000,
-+};
-+
-+RTW_DECL_TABLE_RF_RADIO(rtw8814a_rf_d, D);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt[] = {
-+	{ 0, 0, 0, 0, 1, 36, },
-+	{ 2, 0, 0, 0, 1, 32, },
-+	{ 1, 0, 0, 0, 1, 32, },
-+	{ 0, 0, 0, 0, 2, 36, },
-+	{ 2, 0, 0, 0, 2, 32, },
-+	{ 1, 0, 0, 0, 2, 32, },
-+	{ 0, 0, 0, 0, 3, 36, },
-+	{ 2, 0, 0, 0, 3, 32, },
-+	{ 1, 0, 0, 0, 3, 32, },
-+	{ 0, 0, 0, 0, 4, 36, },
-+	{ 2, 0, 0, 0, 4, 32, },
-+	{ 1, 0, 0, 0, 4, 32, },
-+	{ 0, 0, 0, 0, 5, 36, },
-+	{ 2, 0, 0, 0, 5, 32, },
-+	{ 1, 0, 0, 0, 5, 32, },
-+	{ 0, 0, 0, 0, 6, 36, },
-+	{ 2, 0, 0, 0, 6, 32, },
-+	{ 1, 0, 0, 0, 6, 32, },
-+	{ 0, 0, 0, 0, 7, 36, },
-+	{ 2, 0, 0, 0, 7, 32, },
-+	{ 1, 0, 0, 0, 7, 32, },
-+	{ 0, 0, 0, 0, 8, 36, },
-+	{ 2, 0, 0, 0, 8, 32, },
-+	{ 1, 0, 0, 0, 8, 32, },
-+	{ 0, 0, 0, 0, 9, 36, },
-+	{ 2, 0, 0, 0, 9, 32, },
-+	{ 1, 0, 0, 0, 9, 32, },
-+	{ 0, 0, 0, 0, 10, 36, },
-+	{ 2, 0, 0, 0, 10, 32, },
-+	{ 1, 0, 0, 0, 10, 32, },
-+	{ 0, 0, 0, 0, 11, 36, },
-+	{ 2, 0, 0, 0, 11, 32, },
-+	{ 1, 0, 0, 0, 11, 32, },
-+	{ 0, 0, 0, 0, 12, 63, },
-+	{ 2, 0, 0, 0, 12, 32, },
-+	{ 1, 0, 0, 0, 12, 32, },
-+	{ 0, 0, 0, 0, 13, 63, },
-+	{ 2, 0, 0, 0, 13, 32, },
-+	{ 1, 0, 0, 0, 13, 32, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 32, },
-+	{ 0, 0, 0, 1, 1, 34, },
-+	{ 2, 0, 0, 1, 1, 32, },
-+	{ 1, 0, 0, 1, 1, 32, },
-+	{ 0, 0, 0, 1, 2, 36, },
-+	{ 2, 0, 0, 1, 2, 32, },
-+	{ 1, 0, 0, 1, 2, 32, },
-+	{ 0, 0, 0, 1, 3, 36, },
-+	{ 2, 0, 0, 1, 3, 32, },
-+	{ 1, 0, 0, 1, 3, 32, },
-+	{ 0, 0, 0, 1, 4, 36, },
-+	{ 2, 0, 0, 1, 4, 32, },
-+	{ 1, 0, 0, 1, 4, 32, },
-+	{ 0, 0, 0, 1, 5, 36, },
-+	{ 2, 0, 0, 1, 5, 32, },
-+	{ 1, 0, 0, 1, 5, 32, },
-+	{ 0, 0, 0, 1, 6, 36, },
-+	{ 2, 0, 0, 1, 6, 32, },
-+	{ 1, 0, 0, 1, 6, 32, },
-+	{ 0, 0, 0, 1, 7, 36, },
-+	{ 2, 0, 0, 1, 7, 32, },
-+	{ 1, 0, 0, 1, 7, 32, },
-+	{ 0, 0, 0, 1, 8, 36, },
-+	{ 2, 0, 0, 1, 8, 32, },
-+	{ 1, 0, 0, 1, 8, 32, },
-+	{ 0, 0, 0, 1, 9, 36, },
-+	{ 2, 0, 0, 1, 9, 32, },
-+	{ 1, 0, 0, 1, 9, 32, },
-+	{ 0, 0, 0, 1, 10, 36, },
-+	{ 2, 0, 0, 1, 10, 32, },
-+	{ 1, 0, 0, 1, 10, 32, },
-+	{ 0, 0, 0, 1, 11, 32, },
-+	{ 2, 0, 0, 1, 11, 32, },
-+	{ 1, 0, 0, 1, 11, 32, },
-+	{ 0, 0, 0, 1, 12, 63, },
-+	{ 2, 0, 0, 1, 12, 32, },
-+	{ 1, 0, 0, 1, 12, 32, },
-+	{ 0, 0, 0, 1, 13, 63, },
-+	{ 2, 0, 0, 1, 13, 32, },
-+	{ 1, 0, 0, 1, 13, 32, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 34, },
-+	{ 2, 0, 0, 2, 1, 32, },
-+	{ 1, 0, 0, 2, 1, 32, },
-+	{ 0, 0, 0, 2, 2, 36, },
-+	{ 2, 0, 0, 2, 2, 32, },
-+	{ 1, 0, 0, 2, 2, 32, },
-+	{ 0, 0, 0, 2, 3, 36, },
-+	{ 2, 0, 0, 2, 3, 32, },
-+	{ 1, 0, 0, 2, 3, 32, },
-+	{ 0, 0, 0, 2, 4, 36, },
-+	{ 2, 0, 0, 2, 4, 32, },
-+	{ 1, 0, 0, 2, 4, 32, },
-+	{ 0, 0, 0, 2, 5, 36, },
-+	{ 2, 0, 0, 2, 5, 32, },
-+	{ 1, 0, 0, 2, 5, 32, },
-+	{ 0, 0, 0, 2, 6, 36, },
-+	{ 2, 0, 0, 2, 6, 32, },
-+	{ 1, 0, 0, 2, 6, 32, },
-+	{ 0, 0, 0, 2, 7, 36, },
-+	{ 2, 0, 0, 2, 7, 32, },
-+	{ 1, 0, 0, 2, 7, 32, },
-+	{ 0, 0, 0, 2, 8, 36, },
-+	{ 2, 0, 0, 2, 8, 32, },
-+	{ 1, 0, 0, 2, 8, 32, },
-+	{ 0, 0, 0, 2, 9, 36, },
-+	{ 2, 0, 0, 2, 9, 32, },
-+	{ 1, 0, 0, 2, 9, 32, },
-+	{ 0, 0, 0, 2, 10, 36, },
-+	{ 2, 0, 0, 2, 10, 32, },
-+	{ 1, 0, 0, 2, 10, 32, },
-+	{ 0, 0, 0, 2, 11, 32, },
-+	{ 2, 0, 0, 2, 11, 32, },
-+	{ 1, 0, 0, 2, 11, 32, },
-+	{ 0, 0, 0, 2, 12, 63, },
-+	{ 2, 0, 0, 2, 12, 32, },
-+	{ 1, 0, 0, 2, 12, 32, },
-+	{ 0, 0, 0, 2, 13, 63, },
-+	{ 2, 0, 0, 2, 13, 32, },
-+	{ 1, 0, 0, 2, 13, 32, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 32, },
-+	{ 2, 0, 0, 3, 1, 30, },
-+	{ 1, 0, 0, 3, 1, 30, },
-+	{ 0, 0, 0, 3, 2, 34, },
-+	{ 2, 0, 0, 3, 2, 30, },
-+	{ 1, 0, 0, 3, 2, 30, },
-+	{ 0, 0, 0, 3, 3, 34, },
-+	{ 2, 0, 0, 3, 3, 30, },
-+	{ 1, 0, 0, 3, 3, 30, },
-+	{ 0, 0, 0, 3, 4, 34, },
-+	{ 2, 0, 0, 3, 4, 30, },
-+	{ 1, 0, 0, 3, 4, 30, },
-+	{ 0, 0, 0, 3, 5, 34, },
-+	{ 2, 0, 0, 3, 5, 30, },
-+	{ 1, 0, 0, 3, 5, 30, },
-+	{ 0, 0, 0, 3, 6, 34, },
-+	{ 2, 0, 0, 3, 6, 30, },
-+	{ 1, 0, 0, 3, 6, 30, },
-+	{ 0, 0, 0, 3, 7, 34, },
-+	{ 2, 0, 0, 3, 7, 30, },
-+	{ 1, 0, 0, 3, 7, 30, },
-+	{ 0, 0, 0, 3, 8, 34, },
-+	{ 2, 0, 0, 3, 8, 30, },
-+	{ 1, 0, 0, 3, 8, 30, },
-+	{ 0, 0, 0, 3, 9, 34, },
-+	{ 2, 0, 0, 3, 9, 30, },
-+	{ 1, 0, 0, 3, 9, 30, },
-+	{ 0, 0, 0, 3, 10, 34, },
-+	{ 2, 0, 0, 3, 10, 30, },
-+	{ 1, 0, 0, 3, 10, 30, },
-+	{ 0, 0, 0, 3, 11, 30, },
-+	{ 2, 0, 0, 3, 11, 30, },
-+	{ 1, 0, 0, 3, 11, 30, },
-+	{ 0, 0, 0, 3, 12, 63, },
-+	{ 2, 0, 0, 3, 12, 30, },
-+	{ 1, 0, 0, 3, 12, 30, },
-+	{ 0, 0, 0, 3, 13, 63, },
-+	{ 2, 0, 0, 3, 13, 30, },
-+	{ 1, 0, 0, 3, 13, 30, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 30, },
-+	{ 2, 0, 0, 6, 1, 28, },
-+	{ 1, 0, 0, 6, 1, 28, },
-+	{ 0, 0, 0, 6, 2, 32, },
-+	{ 2, 0, 0, 6, 2, 28, },
-+	{ 1, 0, 0, 6, 2, 28, },
-+	{ 0, 0, 0, 6, 3, 32, },
-+	{ 2, 0, 0, 6, 3, 28, },
-+	{ 1, 0, 0, 6, 3, 28, },
-+	{ 0, 0, 0, 6, 4, 32, },
-+	{ 2, 0, 0, 6, 4, 28, },
-+	{ 1, 0, 0, 6, 4, 28, },
-+	{ 0, 0, 0, 6, 5, 32, },
-+	{ 2, 0, 0, 6, 5, 28, },
-+	{ 1, 0, 0, 6, 5, 28, },
-+	{ 0, 0, 0, 6, 6, 32, },
-+	{ 2, 0, 0, 6, 6, 28, },
-+	{ 1, 0, 0, 6, 6, 28, },
-+	{ 0, 0, 0, 6, 7, 32, },
-+	{ 2, 0, 0, 6, 7, 28, },
-+	{ 1, 0, 0, 6, 7, 28, },
-+	{ 0, 0, 0, 6, 8, 32, },
-+	{ 2, 0, 0, 6, 8, 28, },
-+	{ 1, 0, 0, 6, 8, 28, },
-+	{ 0, 0, 0, 6, 9, 32, },
-+	{ 2, 0, 0, 6, 9, 28, },
-+	{ 1, 0, 0, 6, 9, 28, },
-+	{ 0, 0, 0, 6, 10, 32, },
-+	{ 2, 0, 0, 6, 10, 28, },
-+	{ 1, 0, 0, 6, 10, 28, },
-+	{ 0, 0, 0, 6, 11, 28, },
-+	{ 2, 0, 0, 6, 11, 28, },
-+	{ 1, 0, 0, 6, 11, 28, },
-+	{ 0, 0, 0, 6, 12, 63, },
-+	{ 2, 0, 0, 6, 12, 28, },
-+	{ 1, 0, 0, 6, 12, 28, },
-+	{ 0, 0, 0, 6, 13, 63, },
-+	{ 2, 0, 0, 6, 13, 28, },
-+	{ 1, 0, 0, 6, 13, 28, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 28, },
-+	{ 2, 0, 0, 7, 1, 26, },
-+	{ 1, 0, 0, 7, 1, 26, },
-+	{ 0, 0, 0, 7, 2, 30, },
-+	{ 2, 0, 0, 7, 2, 26, },
-+	{ 1, 0, 0, 7, 2, 26, },
-+	{ 0, 0, 0, 7, 3, 30, },
-+	{ 2, 0, 0, 7, 3, 26, },
-+	{ 1, 0, 0, 7, 3, 26, },
-+	{ 0, 0, 0, 7, 4, 30, },
-+	{ 2, 0, 0, 7, 4, 26, },
-+	{ 1, 0, 0, 7, 4, 26, },
-+	{ 0, 0, 0, 7, 5, 30, },
-+	{ 2, 0, 0, 7, 5, 26, },
-+	{ 1, 0, 0, 7, 5, 26, },
-+	{ 0, 0, 0, 7, 6, 30, },
-+	{ 2, 0, 0, 7, 6, 26, },
-+	{ 1, 0, 0, 7, 6, 26, },
-+	{ 0, 0, 0, 7, 7, 30, },
-+	{ 2, 0, 0, 7, 7, 26, },
-+	{ 1, 0, 0, 7, 7, 26, },
-+	{ 0, 0, 0, 7, 8, 30, },
-+	{ 2, 0, 0, 7, 8, 26, },
-+	{ 1, 0, 0, 7, 8, 26, },
-+	{ 0, 0, 0, 7, 9, 30, },
-+	{ 2, 0, 0, 7, 9, 26, },
-+	{ 1, 0, 0, 7, 9, 26, },
-+	{ 0, 0, 0, 7, 10, 30, },
-+	{ 2, 0, 0, 7, 10, 26, },
-+	{ 1, 0, 0, 7, 10, 26, },
-+	{ 0, 0, 0, 7, 11, 26, },
-+	{ 2, 0, 0, 7, 11, 26, },
-+	{ 1, 0, 0, 7, 11, 26, },
-+	{ 0, 0, 0, 7, 12, 63, },
-+	{ 2, 0, 0, 7, 12, 26, },
-+	{ 1, 0, 0, 7, 12, 26, },
-+	{ 0, 0, 0, 7, 13, 63, },
-+	{ 2, 0, 0, 7, 13, 26, },
-+	{ 1, 0, 0, 7, 13, 26, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 32, },
-+	{ 2, 0, 1, 2, 3, 32, },
-+	{ 1, 0, 1, 2, 3, 32, },
-+	{ 0, 0, 1, 2, 4, 36, },
-+	{ 2, 0, 1, 2, 4, 32, },
-+	{ 1, 0, 1, 2, 4, 32, },
-+	{ 0, 0, 1, 2, 5, 36, },
-+	{ 2, 0, 1, 2, 5, 32, },
-+	{ 1, 0, 1, 2, 5, 32, },
-+	{ 0, 0, 1, 2, 6, 36, },
-+	{ 2, 0, 1, 2, 6, 32, },
-+	{ 1, 0, 1, 2, 6, 32, },
-+	{ 0, 0, 1, 2, 7, 36, },
-+	{ 2, 0, 1, 2, 7, 32, },
-+	{ 1, 0, 1, 2, 7, 32, },
-+	{ 0, 0, 1, 2, 8, 36, },
-+	{ 2, 0, 1, 2, 8, 32, },
-+	{ 1, 0, 1, 2, 8, 32, },
-+	{ 0, 0, 1, 2, 9, 36, },
-+	{ 2, 0, 1, 2, 9, 32, },
-+	{ 1, 0, 1, 2, 9, 32, },
-+	{ 0, 0, 1, 2, 10, 36, },
-+	{ 2, 0, 1, 2, 10, 32, },
-+	{ 1, 0, 1, 2, 10, 32, },
-+	{ 0, 0, 1, 2, 11, 32, },
-+	{ 2, 0, 1, 2, 11, 32, },
-+	{ 1, 0, 1, 2, 11, 32, },
-+	{ 0, 0, 1, 2, 12, 63, },
-+	{ 2, 0, 1, 2, 12, 32, },
-+	{ 1, 0, 1, 2, 12, 32, },
-+	{ 0, 0, 1, 2, 13, 63, },
-+	{ 2, 0, 1, 2, 13, 32, },
-+	{ 1, 0, 1, 2, 13, 32, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 30, },
-+	{ 2, 0, 1, 3, 3, 30, },
-+	{ 1, 0, 1, 3, 3, 30, },
-+	{ 0, 0, 1, 3, 4, 34, },
-+	{ 2, 0, 1, 3, 4, 30, },
-+	{ 1, 0, 1, 3, 4, 30, },
-+	{ 0, 0, 1, 3, 5, 34, },
-+	{ 2, 0, 1, 3, 5, 30, },
-+	{ 1, 0, 1, 3, 5, 30, },
-+	{ 0, 0, 1, 3, 6, 34, },
-+	{ 2, 0, 1, 3, 6, 30, },
-+	{ 1, 0, 1, 3, 6, 30, },
-+	{ 0, 0, 1, 3, 7, 34, },
-+	{ 2, 0, 1, 3, 7, 30, },
-+	{ 1, 0, 1, 3, 7, 30, },
-+	{ 0, 0, 1, 3, 8, 34, },
-+	{ 2, 0, 1, 3, 8, 30, },
-+	{ 1, 0, 1, 3, 8, 30, },
-+	{ 0, 0, 1, 3, 9, 34, },
-+	{ 2, 0, 1, 3, 9, 30, },
-+	{ 1, 0, 1, 3, 9, 30, },
-+	{ 0, 0, 1, 3, 10, 34, },
-+	{ 2, 0, 1, 3, 10, 30, },
-+	{ 1, 0, 1, 3, 10, 30, },
-+	{ 0, 0, 1, 3, 11, 30, },
-+	{ 2, 0, 1, 3, 11, 30, },
-+	{ 1, 0, 1, 3, 11, 30, },
-+	{ 0, 0, 1, 3, 12, 63, },
-+	{ 2, 0, 1, 3, 12, 30, },
-+	{ 1, 0, 1, 3, 12, 30, },
-+	{ 0, 0, 1, 3, 13, 63, },
-+	{ 2, 0, 1, 3, 13, 30, },
-+	{ 1, 0, 1, 3, 13, 30, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 28, },
-+	{ 2, 0, 1, 6, 3, 28, },
-+	{ 1, 0, 1, 6, 3, 28, },
-+	{ 0, 0, 1, 6, 4, 32, },
-+	{ 2, 0, 1, 6, 4, 28, },
-+	{ 1, 0, 1, 6, 4, 28, },
-+	{ 0, 0, 1, 6, 5, 32, },
-+	{ 2, 0, 1, 6, 5, 28, },
-+	{ 1, 0, 1, 6, 5, 28, },
-+	{ 0, 0, 1, 6, 6, 32, },
-+	{ 2, 0, 1, 6, 6, 28, },
-+	{ 1, 0, 1, 6, 6, 28, },
-+	{ 0, 0, 1, 6, 7, 32, },
-+	{ 2, 0, 1, 6, 7, 28, },
-+	{ 1, 0, 1, 6, 7, 28, },
-+	{ 0, 0, 1, 6, 8, 32, },
-+	{ 2, 0, 1, 6, 8, 28, },
-+	{ 1, 0, 1, 6, 8, 28, },
-+	{ 0, 0, 1, 6, 9, 32, },
-+	{ 2, 0, 1, 6, 9, 28, },
-+	{ 1, 0, 1, 6, 9, 28, },
-+	{ 0, 0, 1, 6, 10, 32, },
-+	{ 2, 0, 1, 6, 10, 28, },
-+	{ 1, 0, 1, 6, 10, 28, },
-+	{ 0, 0, 1, 6, 11, 28, },
-+	{ 2, 0, 1, 6, 11, 28, },
-+	{ 1, 0, 1, 6, 11, 28, },
-+	{ 0, 0, 1, 6, 12, 63, },
-+	{ 2, 0, 1, 6, 12, 28, },
-+	{ 1, 0, 1, 6, 12, 28, },
-+	{ 0, 0, 1, 6, 13, 63, },
-+	{ 2, 0, 1, 6, 13, 28, },
-+	{ 1, 0, 1, 6, 13, 28, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 26, },
-+	{ 2, 0, 1, 7, 3, 26, },
-+	{ 1, 0, 1, 7, 3, 26, },
-+	{ 0, 0, 1, 7, 4, 30, },
-+	{ 2, 0, 1, 7, 4, 26, },
-+	{ 1, 0, 1, 7, 4, 26, },
-+	{ 0, 0, 1, 7, 5, 30, },
-+	{ 2, 0, 1, 7, 5, 26, },
-+	{ 1, 0, 1, 7, 5, 26, },
-+	{ 0, 0, 1, 7, 6, 30, },
-+	{ 2, 0, 1, 7, 6, 26, },
-+	{ 1, 0, 1, 7, 6, 26, },
-+	{ 0, 0, 1, 7, 7, 30, },
-+	{ 2, 0, 1, 7, 7, 26, },
-+	{ 1, 0, 1, 7, 7, 26, },
-+	{ 0, 0, 1, 7, 8, 30, },
-+	{ 2, 0, 1, 7, 8, 26, },
-+	{ 1, 0, 1, 7, 8, 26, },
-+	{ 0, 0, 1, 7, 9, 30, },
-+	{ 2, 0, 1, 7, 9, 26, },
-+	{ 1, 0, 1, 7, 9, 26, },
-+	{ 0, 0, 1, 7, 10, 30, },
-+	{ 2, 0, 1, 7, 10, 26, },
-+	{ 1, 0, 1, 7, 10, 26, },
-+	{ 0, 0, 1, 7, 11, 26, },
-+	{ 2, 0, 1, 7, 11, 26, },
-+	{ 1, 0, 1, 7, 11, 26, },
-+	{ 0, 0, 1, 7, 12, 63, },
-+	{ 2, 0, 1, 7, 12, 26, },
-+	{ 1, 0, 1, 7, 12, 26, },
-+	{ 0, 0, 1, 7, 13, 63, },
-+	{ 2, 0, 1, 7, 13, 26, },
-+	{ 1, 0, 1, 7, 13, 26, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 30, },
-+	{ 2, 1, 0, 1, 36, 32, },
-+	{ 1, 1, 0, 1, 36, 32, },
-+	{ 0, 1, 0, 1, 40, 30, },
-+	{ 2, 1, 0, 1, 40, 32, },
-+	{ 1, 1, 0, 1, 40, 32, },
-+	{ 0, 1, 0, 1, 44, 30, },
-+	{ 2, 1, 0, 1, 44, 32, },
-+	{ 1, 1, 0, 1, 44, 32, },
-+	{ 0, 1, 0, 1, 48, 30, },
-+	{ 2, 1, 0, 1, 48, 32, },
-+	{ 1, 1, 0, 1, 48, 32, },
-+	{ 0, 1, 0, 1, 52, 36, },
-+	{ 2, 1, 0, 1, 52, 32, },
-+	{ 1, 1, 0, 1, 52, 32, },
-+	{ 0, 1, 0, 1, 56, 34, },
-+	{ 2, 1, 0, 1, 56, 32, },
-+	{ 1, 1, 0, 1, 56, 32, },
-+	{ 0, 1, 0, 1, 60, 32, },
-+	{ 2, 1, 0, 1, 60, 32, },
-+	{ 1, 1, 0, 1, 60, 32, },
-+	{ 0, 1, 0, 1, 64, 28, },
-+	{ 2, 1, 0, 1, 64, 32, },
-+	{ 1, 1, 0, 1, 64, 32, },
-+	{ 0, 1, 0, 1, 100, 30, },
-+	{ 2, 1, 0, 1, 100, 32, },
-+	{ 1, 1, 0, 1, 100, 32, },
-+	{ 0, 1, 0, 1, 104, 30, },
-+	{ 2, 1, 0, 1, 104, 32, },
-+	{ 1, 1, 0, 1, 104, 32, },
-+	{ 0, 1, 0, 1, 108, 32, },
-+	{ 2, 1, 0, 1, 108, 32, },
-+	{ 1, 1, 0, 1, 108, 32, },
-+	{ 0, 1, 0, 1, 112, 34, },
-+	{ 2, 1, 0, 1, 112, 32, },
-+	{ 1, 1, 0, 1, 112, 32, },
-+	{ 0, 1, 0, 1, 116, 34, },
-+	{ 2, 1, 0, 1, 116, 32, },
-+	{ 1, 1, 0, 1, 116, 32, },
-+	{ 0, 1, 0, 1, 120, 36, },
-+	{ 2, 1, 0, 1, 120, 32, },
-+	{ 1, 1, 0, 1, 120, 32, },
-+	{ 0, 1, 0, 1, 124, 34, },
-+	{ 2, 1, 0, 1, 124, 32, },
-+	{ 1, 1, 0, 1, 124, 32, },
-+	{ 0, 1, 0, 1, 128, 32, },
-+	{ 2, 1, 0, 1, 128, 32, },
-+	{ 1, 1, 0, 1, 128, 32, },
-+	{ 0, 1, 0, 1, 132, 30, },
-+	{ 2, 1, 0, 1, 132, 32, },
-+	{ 1, 1, 0, 1, 132, 32, },
-+	{ 0, 1, 0, 1, 136, 30, },
-+	{ 2, 1, 0, 1, 136, 32, },
-+	{ 1, 1, 0, 1, 136, 32, },
-+	{ 0, 1, 0, 1, 140, 28, },
-+	{ 2, 1, 0, 1, 140, 32, },
-+	{ 1, 1, 0, 1, 140, 32, },
-+	{ 0, 1, 0, 1, 149, 36, },
-+	{ 2, 1, 0, 1, 149, 32, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 36, },
-+	{ 2, 1, 0, 1, 153, 32, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 36, },
-+	{ 2, 1, 0, 1, 157, 32, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 36, },
-+	{ 2, 1, 0, 1, 161, 32, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 36, },
-+	{ 2, 1, 0, 1, 165, 32, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 30, },
-+	{ 2, 1, 0, 2, 36, 32, },
-+	{ 1, 1, 0, 2, 36, 32, },
-+	{ 0, 1, 0, 2, 40, 30, },
-+	{ 2, 1, 0, 2, 40, 32, },
-+	{ 1, 1, 0, 2, 40, 32, },
-+	{ 0, 1, 0, 2, 44, 30, },
-+	{ 2, 1, 0, 2, 44, 32, },
-+	{ 1, 1, 0, 2, 44, 32, },
-+	{ 0, 1, 0, 2, 48, 30, },
-+	{ 2, 1, 0, 2, 48, 32, },
-+	{ 1, 1, 0, 2, 48, 32, },
-+	{ 0, 1, 0, 2, 52, 36, },
-+	{ 2, 1, 0, 2, 52, 32, },
-+	{ 1, 1, 0, 2, 52, 32, },
-+	{ 0, 1, 0, 2, 56, 34, },
-+	{ 2, 1, 0, 2, 56, 32, },
-+	{ 1, 1, 0, 2, 56, 32, },
-+	{ 0, 1, 0, 2, 60, 32, },
-+	{ 2, 1, 0, 2, 60, 32, },
-+	{ 1, 1, 0, 2, 60, 32, },
-+	{ 0, 1, 0, 2, 64, 28, },
-+	{ 2, 1, 0, 2, 64, 32, },
-+	{ 1, 1, 0, 2, 64, 32, },
-+	{ 0, 1, 0, 2, 100, 30, },
-+	{ 2, 1, 0, 2, 100, 32, },
-+	{ 1, 1, 0, 2, 100, 32, },
-+	{ 0, 1, 0, 2, 104, 30, },
-+	{ 2, 1, 0, 2, 104, 32, },
-+	{ 1, 1, 0, 2, 104, 32, },
-+	{ 0, 1, 0, 2, 108, 32, },
-+	{ 2, 1, 0, 2, 108, 32, },
-+	{ 1, 1, 0, 2, 108, 32, },
-+	{ 0, 1, 0, 2, 112, 34, },
-+	{ 2, 1, 0, 2, 112, 32, },
-+	{ 1, 1, 0, 2, 112, 32, },
-+	{ 0, 1, 0, 2, 116, 34, },
-+	{ 2, 1, 0, 2, 116, 32, },
-+	{ 1, 1, 0, 2, 116, 32, },
-+	{ 0, 1, 0, 2, 120, 36, },
-+	{ 2, 1, 0, 2, 120, 32, },
-+	{ 1, 1, 0, 2, 120, 32, },
-+	{ 0, 1, 0, 2, 124, 34, },
-+	{ 2, 1, 0, 2, 124, 32, },
-+	{ 1, 1, 0, 2, 124, 32, },
-+	{ 0, 1, 0, 2, 128, 32, },
-+	{ 2, 1, 0, 2, 128, 32, },
-+	{ 1, 1, 0, 2, 128, 32, },
-+	{ 0, 1, 0, 2, 132, 30, },
-+	{ 2, 1, 0, 2, 132, 32, },
-+	{ 1, 1, 0, 2, 132, 32, },
-+	{ 0, 1, 0, 2, 136, 30, },
-+	{ 2, 1, 0, 2, 136, 32, },
-+	{ 1, 1, 0, 2, 136, 32, },
-+	{ 0, 1, 0, 2, 140, 28, },
-+	{ 2, 1, 0, 2, 140, 32, },
-+	{ 1, 1, 0, 2, 140, 32, },
-+	{ 0, 1, 0, 2, 149, 36, },
-+	{ 2, 1, 0, 2, 149, 32, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 36, },
-+	{ 2, 1, 0, 2, 153, 32, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 36, },
-+	{ 2, 1, 0, 2, 157, 32, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 36, },
-+	{ 2, 1, 0, 2, 161, 32, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 36, },
-+	{ 2, 1, 0, 2, 165, 32, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 28, },
-+	{ 2, 1, 0, 3, 36, 30, },
-+	{ 1, 1, 0, 3, 36, 30, },
-+	{ 0, 1, 0, 3, 40, 28, },
-+	{ 2, 1, 0, 3, 40, 30, },
-+	{ 1, 1, 0, 3, 40, 30, },
-+	{ 0, 1, 0, 3, 44, 28, },
-+	{ 2, 1, 0, 3, 44, 30, },
-+	{ 1, 1, 0, 3, 44, 30, },
-+	{ 0, 1, 0, 3, 48, 28, },
-+	{ 2, 1, 0, 3, 48, 30, },
-+	{ 1, 1, 0, 3, 48, 30, },
-+	{ 0, 1, 0, 3, 52, 34, },
-+	{ 2, 1, 0, 3, 52, 30, },
-+	{ 1, 1, 0, 3, 52, 30, },
-+	{ 0, 1, 0, 3, 56, 32, },
-+	{ 2, 1, 0, 3, 56, 30, },
-+	{ 1, 1, 0, 3, 56, 30, },
-+	{ 0, 1, 0, 3, 60, 30, },
-+	{ 2, 1, 0, 3, 60, 30, },
-+	{ 1, 1, 0, 3, 60, 30, },
-+	{ 0, 1, 0, 3, 64, 26, },
-+	{ 2, 1, 0, 3, 64, 30, },
-+	{ 1, 1, 0, 3, 64, 30, },
-+	{ 0, 1, 0, 3, 100, 28, },
-+	{ 2, 1, 0, 3, 100, 30, },
-+	{ 1, 1, 0, 3, 100, 30, },
-+	{ 0, 1, 0, 3, 104, 28, },
-+	{ 2, 1, 0, 3, 104, 30, },
-+	{ 1, 1, 0, 3, 104, 30, },
-+	{ 0, 1, 0, 3, 108, 30, },
-+	{ 2, 1, 0, 3, 108, 30, },
-+	{ 1, 1, 0, 3, 108, 30, },
-+	{ 0, 1, 0, 3, 112, 32, },
-+	{ 2, 1, 0, 3, 112, 30, },
-+	{ 1, 1, 0, 3, 112, 30, },
-+	{ 0, 1, 0, 3, 116, 32, },
-+	{ 2, 1, 0, 3, 116, 30, },
-+	{ 1, 1, 0, 3, 116, 30, },
-+	{ 0, 1, 0, 3, 120, 34, },
-+	{ 2, 1, 0, 3, 120, 30, },
-+	{ 1, 1, 0, 3, 120, 30, },
-+	{ 0, 1, 0, 3, 124, 32, },
-+	{ 2, 1, 0, 3, 124, 30, },
-+	{ 1, 1, 0, 3, 124, 30, },
-+	{ 0, 1, 0, 3, 128, 30, },
-+	{ 2, 1, 0, 3, 128, 30, },
-+	{ 1, 1, 0, 3, 128, 30, },
-+	{ 0, 1, 0, 3, 132, 28, },
-+	{ 2, 1, 0, 3, 132, 30, },
-+	{ 1, 1, 0, 3, 132, 30, },
-+	{ 0, 1, 0, 3, 136, 28, },
-+	{ 2, 1, 0, 3, 136, 30, },
-+	{ 1, 1, 0, 3, 136, 30, },
-+	{ 0, 1, 0, 3, 140, 26, },
-+	{ 2, 1, 0, 3, 140, 30, },
-+	{ 1, 1, 0, 3, 140, 30, },
-+	{ 0, 1, 0, 3, 149, 34, },
-+	{ 2, 1, 0, 3, 149, 30, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 34, },
-+	{ 2, 1, 0, 3, 153, 30, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 34, },
-+	{ 2, 1, 0, 3, 157, 30, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 34, },
-+	{ 2, 1, 0, 3, 161, 30, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 34, },
-+	{ 2, 1, 0, 3, 165, 30, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 26, },
-+	{ 2, 1, 0, 6, 36, 28, },
-+	{ 1, 1, 0, 6, 36, 28, },
-+	{ 0, 1, 0, 6, 40, 26, },
-+	{ 2, 1, 0, 6, 40, 28, },
-+	{ 1, 1, 0, 6, 40, 28, },
-+	{ 0, 1, 0, 6, 44, 26, },
-+	{ 2, 1, 0, 6, 44, 28, },
-+	{ 1, 1, 0, 6, 44, 28, },
-+	{ 0, 1, 0, 6, 48, 26, },
-+	{ 2, 1, 0, 6, 48, 28, },
-+	{ 1, 1, 0, 6, 48, 28, },
-+	{ 0, 1, 0, 6, 52, 32, },
-+	{ 2, 1, 0, 6, 52, 28, },
-+	{ 1, 1, 0, 6, 52, 28, },
-+	{ 0, 1, 0, 6, 56, 30, },
-+	{ 2, 1, 0, 6, 56, 28, },
-+	{ 1, 1, 0, 6, 56, 28, },
-+	{ 0, 1, 0, 6, 60, 28, },
-+	{ 2, 1, 0, 6, 60, 28, },
-+	{ 1, 1, 0, 6, 60, 28, },
-+	{ 0, 1, 0, 6, 64, 24, },
-+	{ 2, 1, 0, 6, 64, 28, },
-+	{ 1, 1, 0, 6, 64, 28, },
-+	{ 0, 1, 0, 6, 100, 26, },
-+	{ 2, 1, 0, 6, 100, 28, },
-+	{ 1, 1, 0, 6, 100, 28, },
-+	{ 0, 1, 0, 6, 104, 26, },
-+	{ 2, 1, 0, 6, 104, 28, },
-+	{ 1, 1, 0, 6, 104, 28, },
-+	{ 0, 1, 0, 6, 108, 28, },
-+	{ 2, 1, 0, 6, 108, 28, },
-+	{ 1, 1, 0, 6, 108, 28, },
-+	{ 0, 1, 0, 6, 112, 30, },
-+	{ 2, 1, 0, 6, 112, 28, },
-+	{ 1, 1, 0, 6, 112, 28, },
-+	{ 0, 1, 0, 6, 116, 30, },
-+	{ 2, 1, 0, 6, 116, 28, },
-+	{ 1, 1, 0, 6, 116, 28, },
-+	{ 0, 1, 0, 6, 120, 32, },
-+	{ 2, 1, 0, 6, 120, 28, },
-+	{ 1, 1, 0, 6, 120, 28, },
-+	{ 0, 1, 0, 6, 124, 30, },
-+	{ 2, 1, 0, 6, 124, 28, },
-+	{ 1, 1, 0, 6, 124, 28, },
-+	{ 0, 1, 0, 6, 128, 28, },
-+	{ 2, 1, 0, 6, 128, 28, },
-+	{ 1, 1, 0, 6, 128, 28, },
-+	{ 0, 1, 0, 6, 132, 26, },
-+	{ 2, 1, 0, 6, 132, 28, },
-+	{ 1, 1, 0, 6, 132, 28, },
-+	{ 0, 1, 0, 6, 136, 26, },
-+	{ 2, 1, 0, 6, 136, 28, },
-+	{ 1, 1, 0, 6, 136, 28, },
-+	{ 0, 1, 0, 6, 140, 24, },
-+	{ 2, 1, 0, 6, 140, 28, },
-+	{ 1, 1, 0, 6, 140, 28, },
-+	{ 0, 1, 0, 6, 149, 32, },
-+	{ 2, 1, 0, 6, 149, 28, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 32, },
-+	{ 2, 1, 0, 6, 153, 28, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 32, },
-+	{ 2, 1, 0, 6, 157, 28, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 32, },
-+	{ 2, 1, 0, 6, 161, 28, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 32, },
-+	{ 2, 1, 0, 6, 165, 28, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 24, },
-+	{ 2, 1, 0, 7, 36, 26, },
-+	{ 1, 1, 0, 7, 36, 26, },
-+	{ 0, 1, 0, 7, 40, 24, },
-+	{ 2, 1, 0, 7, 40, 26, },
-+	{ 1, 1, 0, 7, 40, 26, },
-+	{ 0, 1, 0, 7, 44, 24, },
-+	{ 2, 1, 0, 7, 44, 26, },
-+	{ 1, 1, 0, 7, 44, 26, },
-+	{ 0, 1, 0, 7, 48, 24, },
-+	{ 2, 1, 0, 7, 48, 26, },
-+	{ 1, 1, 0, 7, 48, 26, },
-+	{ 0, 1, 0, 7, 52, 30, },
-+	{ 2, 1, 0, 7, 52, 26, },
-+	{ 1, 1, 0, 7, 52, 26, },
-+	{ 0, 1, 0, 7, 56, 28, },
-+	{ 2, 1, 0, 7, 56, 26, },
-+	{ 1, 1, 0, 7, 56, 26, },
-+	{ 0, 1, 0, 7, 60, 26, },
-+	{ 2, 1, 0, 7, 60, 26, },
-+	{ 1, 1, 0, 7, 60, 26, },
-+	{ 0, 1, 0, 7, 64, 22, },
-+	{ 2, 1, 0, 7, 64, 26, },
-+	{ 1, 1, 0, 7, 64, 26, },
-+	{ 0, 1, 0, 7, 100, 24, },
-+	{ 2, 1, 0, 7, 100, 26, },
-+	{ 1, 1, 0, 7, 100, 26, },
-+	{ 0, 1, 0, 7, 104, 24, },
-+	{ 2, 1, 0, 7, 104, 26, },
-+	{ 1, 1, 0, 7, 104, 26, },
-+	{ 0, 1, 0, 7, 108, 26, },
-+	{ 2, 1, 0, 7, 108, 26, },
-+	{ 1, 1, 0, 7, 108, 26, },
-+	{ 0, 1, 0, 7, 112, 28, },
-+	{ 2, 1, 0, 7, 112, 26, },
-+	{ 1, 1, 0, 7, 112, 26, },
-+	{ 0, 1, 0, 7, 116, 28, },
-+	{ 2, 1, 0, 7, 116, 26, },
-+	{ 1, 1, 0, 7, 116, 26, },
-+	{ 0, 1, 0, 7, 120, 30, },
-+	{ 2, 1, 0, 7, 120, 26, },
-+	{ 1, 1, 0, 7, 120, 26, },
-+	{ 0, 1, 0, 7, 124, 28, },
-+	{ 2, 1, 0, 7, 124, 26, },
-+	{ 1, 1, 0, 7, 124, 26, },
-+	{ 0, 1, 0, 7, 128, 26, },
-+	{ 2, 1, 0, 7, 128, 26, },
-+	{ 1, 1, 0, 7, 128, 26, },
-+	{ 0, 1, 0, 7, 132, 24, },
-+	{ 2, 1, 0, 7, 132, 26, },
-+	{ 1, 1, 0, 7, 132, 26, },
-+	{ 0, 1, 0, 7, 136, 24, },
-+	{ 2, 1, 0, 7, 136, 26, },
-+	{ 1, 1, 0, 7, 136, 26, },
-+	{ 0, 1, 0, 7, 140, 22, },
-+	{ 2, 1, 0, 7, 140, 26, },
-+	{ 1, 1, 0, 7, 140, 26, },
-+	{ 0, 1, 0, 7, 149, 30, },
-+	{ 2, 1, 0, 7, 149, 26, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 30, },
-+	{ 2, 1, 0, 7, 153, 26, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 30, },
-+	{ 2, 1, 0, 7, 157, 26, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 30, },
-+	{ 2, 1, 0, 7, 161, 26, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 30, },
-+	{ 2, 1, 0, 7, 165, 26, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 30, },
-+	{ 2, 1, 1, 2, 38, 32, },
-+	{ 1, 1, 1, 2, 38, 32, },
-+	{ 0, 1, 1, 2, 46, 30, },
-+	{ 2, 1, 1, 2, 46, 32, },
-+	{ 1, 1, 1, 2, 46, 32, },
-+	{ 0, 1, 1, 2, 54, 32, },
-+	{ 2, 1, 1, 2, 54, 32, },
-+	{ 1, 1, 1, 2, 54, 32, },
-+	{ 0, 1, 1, 2, 62, 32, },
-+	{ 2, 1, 1, 2, 62, 32, },
-+	{ 1, 1, 1, 2, 62, 32, },
-+	{ 0, 1, 1, 2, 102, 28, },
-+	{ 2, 1, 1, 2, 102, 32, },
-+	{ 1, 1, 1, 2, 102, 32, },
-+	{ 0, 1, 1, 2, 110, 32, },
-+	{ 2, 1, 1, 2, 110, 32, },
-+	{ 1, 1, 1, 2, 110, 32, },
-+	{ 0, 1, 1, 2, 118, 36, },
-+	{ 2, 1, 1, 2, 118, 32, },
-+	{ 1, 1, 1, 2, 118, 32, },
-+	{ 0, 1, 1, 2, 126, 34, },
-+	{ 2, 1, 1, 2, 126, 32, },
-+	{ 1, 1, 1, 2, 126, 32, },
-+	{ 0, 1, 1, 2, 134, 32, },
-+	{ 2, 1, 1, 2, 134, 32, },
-+	{ 1, 1, 1, 2, 134, 32, },
-+	{ 0, 1, 1, 2, 151, 36, },
-+	{ 2, 1, 1, 2, 151, 32, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 36, },
-+	{ 2, 1, 1, 2, 159, 32, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 28, },
-+	{ 2, 1, 1, 3, 38, 30, },
-+	{ 1, 1, 1, 3, 38, 30, },
-+	{ 0, 1, 1, 3, 46, 28, },
-+	{ 2, 1, 1, 3, 46, 30, },
-+	{ 1, 1, 1, 3, 46, 30, },
-+	{ 0, 1, 1, 3, 54, 30, },
-+	{ 2, 1, 1, 3, 54, 30, },
-+	{ 1, 1, 1, 3, 54, 30, },
-+	{ 0, 1, 1, 3, 62, 30, },
-+	{ 2, 1, 1, 3, 62, 30, },
-+	{ 1, 1, 1, 3, 62, 30, },
-+	{ 0, 1, 1, 3, 102, 26, },
-+	{ 2, 1, 1, 3, 102, 30, },
-+	{ 1, 1, 1, 3, 102, 30, },
-+	{ 0, 1, 1, 3, 110, 30, },
-+	{ 2, 1, 1, 3, 110, 30, },
-+	{ 1, 1, 1, 3, 110, 30, },
-+	{ 0, 1, 1, 3, 118, 34, },
-+	{ 2, 1, 1, 3, 118, 30, },
-+	{ 1, 1, 1, 3, 118, 30, },
-+	{ 0, 1, 1, 3, 126, 32, },
-+	{ 2, 1, 1, 3, 126, 30, },
-+	{ 1, 1, 1, 3, 126, 30, },
-+	{ 0, 1, 1, 3, 134, 30, },
-+	{ 2, 1, 1, 3, 134, 30, },
-+	{ 1, 1, 1, 3, 134, 30, },
-+	{ 0, 1, 1, 3, 151, 34, },
-+	{ 2, 1, 1, 3, 151, 30, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 34, },
-+	{ 2, 1, 1, 3, 159, 30, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 26, },
-+	{ 2, 1, 1, 6, 38, 28, },
-+	{ 1, 1, 1, 6, 38, 28, },
-+	{ 0, 1, 1, 6, 46, 26, },
-+	{ 2, 1, 1, 6, 46, 28, },
-+	{ 1, 1, 1, 6, 46, 28, },
-+	{ 0, 1, 1, 6, 54, 28, },
-+	{ 2, 1, 1, 6, 54, 28, },
-+	{ 1, 1, 1, 6, 54, 28, },
-+	{ 0, 1, 1, 6, 62, 28, },
-+	{ 2, 1, 1, 6, 62, 28, },
-+	{ 1, 1, 1, 6, 62, 28, },
-+	{ 0, 1, 1, 6, 102, 24, },
-+	{ 2, 1, 1, 6, 102, 28, },
-+	{ 1, 1, 1, 6, 102, 28, },
-+	{ 0, 1, 1, 6, 110, 28, },
-+	{ 2, 1, 1, 6, 110, 28, },
-+	{ 1, 1, 1, 6, 110, 28, },
-+	{ 0, 1, 1, 6, 118, 32, },
-+	{ 2, 1, 1, 6, 118, 28, },
-+	{ 1, 1, 1, 6, 118, 28, },
-+	{ 0, 1, 1, 6, 126, 30, },
-+	{ 2, 1, 1, 6, 126, 28, },
-+	{ 1, 1, 1, 6, 126, 28, },
-+	{ 0, 1, 1, 6, 134, 28, },
-+	{ 2, 1, 1, 6, 134, 28, },
-+	{ 1, 1, 1, 6, 134, 28, },
-+	{ 0, 1, 1, 6, 151, 32, },
-+	{ 2, 1, 1, 6, 151, 28, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 32, },
-+	{ 2, 1, 1, 6, 159, 28, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 24, },
-+	{ 2, 1, 1, 7, 38, 26, },
-+	{ 1, 1, 1, 7, 38, 26, },
-+	{ 0, 1, 1, 7, 46, 24, },
-+	{ 2, 1, 1, 7, 46, 26, },
-+	{ 1, 1, 1, 7, 46, 26, },
-+	{ 0, 1, 1, 7, 54, 26, },
-+	{ 2, 1, 1, 7, 54, 26, },
-+	{ 1, 1, 1, 7, 54, 26, },
-+	{ 0, 1, 1, 7, 62, 26, },
-+	{ 2, 1, 1, 7, 62, 26, },
-+	{ 1, 1, 1, 7, 62, 26, },
-+	{ 0, 1, 1, 7, 102, 22, },
-+	{ 2, 1, 1, 7, 102, 26, },
-+	{ 1, 1, 1, 7, 102, 26, },
-+	{ 0, 1, 1, 7, 110, 26, },
-+	{ 2, 1, 1, 7, 110, 26, },
-+	{ 1, 1, 1, 7, 110, 26, },
-+	{ 0, 1, 1, 7, 118, 30, },
-+	{ 2, 1, 1, 7, 118, 26, },
-+	{ 1, 1, 1, 7, 118, 26, },
-+	{ 0, 1, 1, 7, 126, 28, },
-+	{ 2, 1, 1, 7, 126, 26, },
-+	{ 1, 1, 1, 7, 126, 26, },
-+	{ 0, 1, 1, 7, 134, 26, },
-+	{ 2, 1, 1, 7, 134, 26, },
-+	{ 1, 1, 1, 7, 134, 26, },
-+	{ 0, 1, 1, 7, 151, 30, },
-+	{ 2, 1, 1, 7, 151, 26, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 30, },
-+	{ 2, 1, 1, 7, 159, 26, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 30, },
-+	{ 2, 1, 2, 4, 42, 32, },
-+	{ 1, 1, 2, 4, 42, 32, },
-+	{ 0, 1, 2, 4, 58, 28, },
-+	{ 2, 1, 2, 4, 58, 32, },
-+	{ 1, 1, 2, 4, 58, 32, },
-+	{ 0, 1, 2, 4, 106, 30, },
-+	{ 2, 1, 2, 4, 106, 32, },
-+	{ 1, 1, 2, 4, 106, 32, },
-+	{ 0, 1, 2, 4, 122, 34, },
-+	{ 2, 1, 2, 4, 122, 32, },
-+	{ 1, 1, 2, 4, 122, 32, },
-+	{ 0, 1, 2, 4, 155, 36, },
-+	{ 2, 1, 2, 4, 155, 32, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 28, },
-+	{ 2, 1, 2, 5, 42, 30, },
-+	{ 1, 1, 2, 5, 42, 30, },
-+	{ 0, 1, 2, 5, 58, 26, },
-+	{ 2, 1, 2, 5, 58, 30, },
-+	{ 1, 1, 2, 5, 58, 30, },
-+	{ 0, 1, 2, 5, 106, 28, },
-+	{ 2, 1, 2, 5, 106, 30, },
-+	{ 1, 1, 2, 5, 106, 30, },
-+	{ 0, 1, 2, 5, 122, 32, },
-+	{ 2, 1, 2, 5, 122, 30, },
-+	{ 1, 1, 2, 5, 122, 30, },
-+	{ 0, 1, 2, 5, 155, 34, },
-+	{ 2, 1, 2, 5, 155, 30, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 26, },
-+	{ 2, 1, 2, 8, 42, 28, },
-+	{ 1, 1, 2, 8, 42, 28, },
-+	{ 0, 1, 2, 8, 58, 24, },
-+	{ 2, 1, 2, 8, 58, 28, },
-+	{ 1, 1, 2, 8, 58, 28, },
-+	{ 0, 1, 2, 8, 106, 26, },
-+	{ 2, 1, 2, 8, 106, 28, },
-+	{ 1, 1, 2, 8, 106, 28, },
-+	{ 0, 1, 2, 8, 122, 30, },
-+	{ 2, 1, 2, 8, 122, 28, },
-+	{ 1, 1, 2, 8, 122, 28, },
-+	{ 0, 1, 2, 8, 155, 32, },
-+	{ 2, 1, 2, 8, 155, 28, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 24, },
-+	{ 2, 1, 2, 9, 42, 26, },
-+	{ 1, 1, 2, 9, 42, 26, },
-+	{ 0, 1, 2, 9, 58, 22, },
-+	{ 2, 1, 2, 9, 58, 26, },
-+	{ 1, 1, 2, 9, 58, 26, },
-+	{ 0, 1, 2, 9, 106, 24, },
-+	{ 2, 1, 2, 9, 106, 26, },
-+	{ 1, 1, 2, 9, 106, 26, },
-+	{ 0, 1, 2, 9, 122, 28, },
-+	{ 2, 1, 2, 9, 122, 26, },
-+	{ 1, 1, 2, 9, 122, 26, },
-+	{ 0, 1, 2, 9, 155, 30, },
-+	{ 2, 1, 2, 9, 155, 26, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type0[] = {
-+	{ 0, 0, 0, 0, 1, 32, },
-+	{ 2, 0, 0, 0, 1, 32, },
-+	{ 1, 0, 0, 0, 1, 32, },
-+	{ 0, 0, 0, 0, 2, 32, },
-+	{ 2, 0, 0, 0, 2, 32, },
-+	{ 1, 0, 0, 0, 2, 32, },
-+	{ 0, 0, 0, 0, 3, 32, },
-+	{ 2, 0, 0, 0, 3, 32, },
-+	{ 1, 0, 0, 0, 3, 32, },
-+	{ 0, 0, 0, 0, 4, 32, },
-+	{ 2, 0, 0, 0, 4, 32, },
-+	{ 1, 0, 0, 0, 4, 32, },
-+	{ 0, 0, 0, 0, 5, 32, },
-+	{ 2, 0, 0, 0, 5, 32, },
-+	{ 1, 0, 0, 0, 5, 32, },
-+	{ 0, 0, 0, 0, 6, 32, },
-+	{ 2, 0, 0, 0, 6, 32, },
-+	{ 1, 0, 0, 0, 6, 32, },
-+	{ 0, 0, 0, 0, 7, 32, },
-+	{ 2, 0, 0, 0, 7, 32, },
-+	{ 1, 0, 0, 0, 7, 32, },
-+	{ 0, 0, 0, 0, 8, 32, },
-+	{ 2, 0, 0, 0, 8, 32, },
-+	{ 1, 0, 0, 0, 8, 32, },
-+	{ 0, 0, 0, 0, 9, 32, },
-+	{ 2, 0, 0, 0, 9, 32, },
-+	{ 1, 0, 0, 0, 9, 32, },
-+	{ 0, 0, 0, 0, 10, 32, },
-+	{ 2, 0, 0, 0, 10, 32, },
-+	{ 1, 0, 0, 0, 10, 32, },
-+	{ 0, 0, 0, 0, 11, 32, },
-+	{ 2, 0, 0, 0, 11, 32, },
-+	{ 1, 0, 0, 0, 11, 32, },
-+	{ 0, 0, 0, 0, 12, 24, },
-+	{ 2, 0, 0, 0, 12, 32, },
-+	{ 1, 0, 0, 0, 12, 32, },
-+	{ 0, 0, 0, 0, 13, 16, },
-+	{ 2, 0, 0, 0, 13, 32, },
-+	{ 1, 0, 0, 0, 13, 32, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 32, },
-+	{ 0, 0, 0, 1, 1, 28, },
-+	{ 2, 0, 0, 1, 1, 32, },
-+	{ 1, 0, 0, 1, 1, 32, },
-+	{ 0, 0, 0, 1, 2, 32, },
-+	{ 2, 0, 0, 1, 2, 32, },
-+	{ 1, 0, 0, 1, 2, 32, },
-+	{ 0, 0, 0, 1, 3, 32, },
-+	{ 2, 0, 0, 1, 3, 32, },
-+	{ 1, 0, 0, 1, 3, 32, },
-+	{ 0, 0, 0, 1, 4, 32, },
-+	{ 2, 0, 0, 1, 4, 32, },
-+	{ 1, 0, 0, 1, 4, 32, },
-+	{ 0, 0, 0, 1, 5, 32, },
-+	{ 2, 0, 0, 1, 5, 32, },
-+	{ 1, 0, 0, 1, 5, 32, },
-+	{ 0, 0, 0, 1, 6, 32, },
-+	{ 2, 0, 0, 1, 6, 32, },
-+	{ 1, 0, 0, 1, 6, 32, },
-+	{ 0, 0, 0, 1, 7, 32, },
-+	{ 2, 0, 0, 1, 7, 32, },
-+	{ 1, 0, 0, 1, 7, 32, },
-+	{ 0, 0, 0, 1, 8, 32, },
-+	{ 2, 0, 0, 1, 8, 32, },
-+	{ 1, 0, 0, 1, 8, 32, },
-+	{ 0, 0, 0, 1, 9, 32, },
-+	{ 2, 0, 0, 1, 9, 32, },
-+	{ 1, 0, 0, 1, 9, 32, },
-+	{ 0, 0, 0, 1, 10, 32, },
-+	{ 2, 0, 0, 1, 10, 32, },
-+	{ 1, 0, 0, 1, 10, 32, },
-+	{ 0, 0, 0, 1, 11, 28, },
-+	{ 2, 0, 0, 1, 11, 32, },
-+	{ 1, 0, 0, 1, 11, 32, },
-+	{ 0, 0, 0, 1, 12, 18, },
-+	{ 2, 0, 0, 1, 12, 32, },
-+	{ 1, 0, 0, 1, 12, 32, },
-+	{ 0, 0, 0, 1, 13, 8, },
-+	{ 2, 0, 0, 1, 13, 32, },
-+	{ 1, 0, 0, 1, 13, 32, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 26, },
-+	{ 2, 0, 0, 2, 1, 32, },
-+	{ 1, 0, 0, 2, 1, 32, },
-+	{ 0, 0, 0, 2, 2, 32, },
-+	{ 2, 0, 0, 2, 2, 32, },
-+	{ 1, 0, 0, 2, 2, 32, },
-+	{ 0, 0, 0, 2, 3, 32, },
-+	{ 2, 0, 0, 2, 3, 32, },
-+	{ 1, 0, 0, 2, 3, 32, },
-+	{ 0, 0, 0, 2, 4, 32, },
-+	{ 2, 0, 0, 2, 4, 32, },
-+	{ 1, 0, 0, 2, 4, 32, },
-+	{ 0, 0, 0, 2, 5, 32, },
-+	{ 2, 0, 0, 2, 5, 32, },
-+	{ 1, 0, 0, 2, 5, 32, },
-+	{ 0, 0, 0, 2, 6, 32, },
-+	{ 2, 0, 0, 2, 6, 32, },
-+	{ 1, 0, 0, 2, 6, 32, },
-+	{ 0, 0, 0, 2, 7, 32, },
-+	{ 2, 0, 0, 2, 7, 32, },
-+	{ 1, 0, 0, 2, 7, 32, },
-+	{ 0, 0, 0, 2, 8, 32, },
-+	{ 2, 0, 0, 2, 8, 32, },
-+	{ 1, 0, 0, 2, 8, 32, },
-+	{ 0, 0, 0, 2, 9, 32, },
-+	{ 2, 0, 0, 2, 9, 32, },
-+	{ 1, 0, 0, 2, 9, 32, },
-+	{ 0, 0, 0, 2, 10, 32, },
-+	{ 2, 0, 0, 2, 10, 32, },
-+	{ 1, 0, 0, 2, 10, 32, },
-+	{ 0, 0, 0, 2, 11, 26, },
-+	{ 2, 0, 0, 2, 11, 32, },
-+	{ 1, 0, 0, 2, 11, 32, },
-+	{ 0, 0, 0, 2, 12, 16, },
-+	{ 2, 0, 0, 2, 12, 32, },
-+	{ 1, 0, 0, 2, 12, 32, },
-+	{ 0, 0, 0, 2, 13, 6, },
-+	{ 2, 0, 0, 2, 13, 32, },
-+	{ 1, 0, 0, 2, 13, 32, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 24, },
-+	{ 2, 0, 0, 3, 1, 30, },
-+	{ 1, 0, 0, 3, 1, 30, },
-+	{ 0, 0, 0, 3, 2, 30, },
-+	{ 2, 0, 0, 3, 2, 30, },
-+	{ 1, 0, 0, 3, 2, 30, },
-+	{ 0, 0, 0, 3, 3, 30, },
-+	{ 2, 0, 0, 3, 3, 30, },
-+	{ 1, 0, 0, 3, 3, 30, },
-+	{ 0, 0, 0, 3, 4, 30, },
-+	{ 2, 0, 0, 3, 4, 30, },
-+	{ 1, 0, 0, 3, 4, 30, },
-+	{ 0, 0, 0, 3, 5, 30, },
-+	{ 2, 0, 0, 3, 5, 30, },
-+	{ 1, 0, 0, 3, 5, 30, },
-+	{ 0, 0, 0, 3, 6, 30, },
-+	{ 2, 0, 0, 3, 6, 30, },
-+	{ 1, 0, 0, 3, 6, 30, },
-+	{ 0, 0, 0, 3, 7, 30, },
-+	{ 2, 0, 0, 3, 7, 30, },
-+	{ 1, 0, 0, 3, 7, 30, },
-+	{ 0, 0, 0, 3, 8, 30, },
-+	{ 2, 0, 0, 3, 8, 30, },
-+	{ 1, 0, 0, 3, 8, 30, },
-+	{ 0, 0, 0, 3, 9, 30, },
-+	{ 2, 0, 0, 3, 9, 30, },
-+	{ 1, 0, 0, 3, 9, 30, },
-+	{ 0, 0, 0, 3, 10, 30, },
-+	{ 2, 0, 0, 3, 10, 30, },
-+	{ 1, 0, 0, 3, 10, 30, },
-+	{ 0, 0, 0, 3, 11, 24, },
-+	{ 2, 0, 0, 3, 11, 30, },
-+	{ 1, 0, 0, 3, 11, 30, },
-+	{ 0, 0, 0, 3, 12, 14, },
-+	{ 2, 0, 0, 3, 12, 30, },
-+	{ 1, 0, 0, 3, 12, 30, },
-+	{ 0, 0, 0, 3, 13, 4, },
-+	{ 2, 0, 0, 3, 13, 30, },
-+	{ 1, 0, 0, 3, 13, 30, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 22, },
-+	{ 2, 0, 0, 6, 1, 28, },
-+	{ 1, 0, 0, 6, 1, 28, },
-+	{ 0, 0, 0, 6, 2, 28, },
-+	{ 2, 0, 0, 6, 2, 28, },
-+	{ 1, 0, 0, 6, 2, 28, },
-+	{ 0, 0, 0, 6, 3, 28, },
-+	{ 2, 0, 0, 6, 3, 28, },
-+	{ 1, 0, 0, 6, 3, 28, },
-+	{ 0, 0, 0, 6, 4, 28, },
-+	{ 2, 0, 0, 6, 4, 28, },
-+	{ 1, 0, 0, 6, 4, 28, },
-+	{ 0, 0, 0, 6, 5, 28, },
-+	{ 2, 0, 0, 6, 5, 28, },
-+	{ 1, 0, 0, 6, 5, 28, },
-+	{ 0, 0, 0, 6, 6, 28, },
-+	{ 2, 0, 0, 6, 6, 28, },
-+	{ 1, 0, 0, 6, 6, 28, },
-+	{ 0, 0, 0, 6, 7, 28, },
-+	{ 2, 0, 0, 6, 7, 28, },
-+	{ 1, 0, 0, 6, 7, 28, },
-+	{ 0, 0, 0, 6, 8, 28, },
-+	{ 2, 0, 0, 6, 8, 28, },
-+	{ 1, 0, 0, 6, 8, 28, },
-+	{ 0, 0, 0, 6, 9, 28, },
-+	{ 2, 0, 0, 6, 9, 28, },
-+	{ 1, 0, 0, 6, 9, 28, },
-+	{ 0, 0, 0, 6, 10, 28, },
-+	{ 2, 0, 0, 6, 10, 28, },
-+	{ 1, 0, 0, 6, 10, 28, },
-+	{ 0, 0, 0, 6, 11, 22, },
-+	{ 2, 0, 0, 6, 11, 28, },
-+	{ 1, 0, 0, 6, 11, 28, },
-+	{ 0, 0, 0, 6, 12, 14, },
-+	{ 2, 0, 0, 6, 12, 28, },
-+	{ 1, 0, 0, 6, 12, 28, },
-+	{ 0, 0, 0, 6, 13, 4, },
-+	{ 2, 0, 0, 6, 13, 28, },
-+	{ 1, 0, 0, 6, 13, 28, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 20, },
-+	{ 2, 0, 0, 7, 1, 26, },
-+	{ 1, 0, 0, 7, 1, 26, },
-+	{ 0, 0, 0, 7, 2, 26, },
-+	{ 2, 0, 0, 7, 2, 26, },
-+	{ 1, 0, 0, 7, 2, 26, },
-+	{ 0, 0, 0, 7, 3, 26, },
-+	{ 2, 0, 0, 7, 3, 26, },
-+	{ 1, 0, 0, 7, 3, 26, },
-+	{ 0, 0, 0, 7, 4, 26, },
-+	{ 2, 0, 0, 7, 4, 26, },
-+	{ 1, 0, 0, 7, 4, 26, },
-+	{ 0, 0, 0, 7, 5, 26, },
-+	{ 2, 0, 0, 7, 5, 26, },
-+	{ 1, 0, 0, 7, 5, 26, },
-+	{ 0, 0, 0, 7, 6, 26, },
-+	{ 2, 0, 0, 7, 6, 26, },
-+	{ 1, 0, 0, 7, 6, 26, },
-+	{ 0, 0, 0, 7, 7, 26, },
-+	{ 2, 0, 0, 7, 7, 26, },
-+	{ 1, 0, 0, 7, 7, 26, },
-+	{ 0, 0, 0, 7, 8, 26, },
-+	{ 2, 0, 0, 7, 8, 26, },
-+	{ 1, 0, 0, 7, 8, 26, },
-+	{ 0, 0, 0, 7, 9, 26, },
-+	{ 2, 0, 0, 7, 9, 26, },
-+	{ 1, 0, 0, 7, 9, 26, },
-+	{ 0, 0, 0, 7, 10, 26, },
-+	{ 2, 0, 0, 7, 10, 26, },
-+	{ 1, 0, 0, 7, 10, 26, },
-+	{ 0, 0, 0, 7, 11, 20, },
-+	{ 2, 0, 0, 7, 11, 26, },
-+	{ 1, 0, 0, 7, 11, 26, },
-+	{ 0, 0, 0, 7, 12, 14, },
-+	{ 2, 0, 0, 7, 12, 26, },
-+	{ 1, 0, 0, 7, 12, 26, },
-+	{ 0, 0, 0, 7, 13, 4, },
-+	{ 2, 0, 0, 7, 13, 26, },
-+	{ 1, 0, 0, 7, 13, 26, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 26, },
-+	{ 2, 0, 1, 2, 3, 32, },
-+	{ 1, 0, 1, 2, 3, 32, },
-+	{ 0, 0, 1, 2, 4, 32, },
-+	{ 2, 0, 1, 2, 4, 32, },
-+	{ 1, 0, 1, 2, 4, 32, },
-+	{ 0, 0, 1, 2, 5, 32, },
-+	{ 2, 0, 1, 2, 5, 32, },
-+	{ 1, 0, 1, 2, 5, 32, },
-+	{ 0, 0, 1, 2, 6, 32, },
-+	{ 2, 0, 1, 2, 6, 32, },
-+	{ 1, 0, 1, 2, 6, 32, },
-+	{ 0, 0, 1, 2, 7, 32, },
-+	{ 2, 0, 1, 2, 7, 32, },
-+	{ 1, 0, 1, 2, 7, 32, },
-+	{ 0, 0, 1, 2, 8, 32, },
-+	{ 2, 0, 1, 2, 8, 32, },
-+	{ 1, 0, 1, 2, 8, 32, },
-+	{ 0, 0, 1, 2, 9, 32, },
-+	{ 2, 0, 1, 2, 9, 32, },
-+	{ 1, 0, 1, 2, 9, 32, },
-+	{ 0, 0, 1, 2, 10, 32, },
-+	{ 2, 0, 1, 2, 10, 32, },
-+	{ 1, 0, 1, 2, 10, 32, },
-+	{ 0, 0, 1, 2, 11, 26, },
-+	{ 2, 0, 1, 2, 11, 32, },
-+	{ 1, 0, 1, 2, 11, 32, },
-+	{ 0, 0, 1, 2, 12, 16, },
-+	{ 2, 0, 1, 2, 12, 32, },
-+	{ 1, 0, 1, 2, 12, 32, },
-+	{ 0, 0, 1, 2, 13, 10, },
-+	{ 2, 0, 1, 2, 13, 32, },
-+	{ 1, 0, 1, 2, 13, 32, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 24, },
-+	{ 2, 0, 1, 3, 3, 30, },
-+	{ 1, 0, 1, 3, 3, 30, },
-+	{ 0, 0, 1, 3, 4, 30, },
-+	{ 2, 0, 1, 3, 4, 30, },
-+	{ 1, 0, 1, 3, 4, 30, },
-+	{ 0, 0, 1, 3, 5, 30, },
-+	{ 2, 0, 1, 3, 5, 30, },
-+	{ 1, 0, 1, 3, 5, 30, },
-+	{ 0, 0, 1, 3, 6, 30, },
-+	{ 2, 0, 1, 3, 6, 30, },
-+	{ 1, 0, 1, 3, 6, 30, },
-+	{ 0, 0, 1, 3, 7, 30, },
-+	{ 2, 0, 1, 3, 7, 30, },
-+	{ 1, 0, 1, 3, 7, 30, },
-+	{ 0, 0, 1, 3, 8, 30, },
-+	{ 2, 0, 1, 3, 8, 30, },
-+	{ 1, 0, 1, 3, 8, 30, },
-+	{ 0, 0, 1, 3, 9, 30, },
-+	{ 2, 0, 1, 3, 9, 30, },
-+	{ 1, 0, 1, 3, 9, 30, },
-+	{ 0, 0, 1, 3, 10, 30, },
-+	{ 2, 0, 1, 3, 10, 30, },
-+	{ 1, 0, 1, 3, 10, 30, },
-+	{ 0, 0, 1, 3, 11, 24, },
-+	{ 2, 0, 1, 3, 11, 30, },
-+	{ 1, 0, 1, 3, 11, 30, },
-+	{ 0, 0, 1, 3, 12, 14, },
-+	{ 2, 0, 1, 3, 12, 30, },
-+	{ 1, 0, 1, 3, 12, 30, },
-+	{ 0, 0, 1, 3, 13, 8, },
-+	{ 2, 0, 1, 3, 13, 30, },
-+	{ 1, 0, 1, 3, 13, 30, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 22, },
-+	{ 2, 0, 1, 6, 3, 28, },
-+	{ 1, 0, 1, 6, 3, 28, },
-+	{ 0, 0, 1, 6, 4, 28, },
-+	{ 2, 0, 1, 6, 4, 28, },
-+	{ 1, 0, 1, 6, 4, 28, },
-+	{ 0, 0, 1, 6, 5, 28, },
-+	{ 2, 0, 1, 6, 5, 28, },
-+	{ 1, 0, 1, 6, 5, 28, },
-+	{ 0, 0, 1, 6, 6, 28, },
-+	{ 2, 0, 1, 6, 6, 28, },
-+	{ 1, 0, 1, 6, 6, 28, },
-+	{ 0, 0, 1, 6, 7, 28, },
-+	{ 2, 0, 1, 6, 7, 28, },
-+	{ 1, 0, 1, 6, 7, 28, },
-+	{ 0, 0, 1, 6, 8, 28, },
-+	{ 2, 0, 1, 6, 8, 28, },
-+	{ 1, 0, 1, 6, 8, 28, },
-+	{ 0, 0, 1, 6, 9, 28, },
-+	{ 2, 0, 1, 6, 9, 28, },
-+	{ 1, 0, 1, 6, 9, 28, },
-+	{ 0, 0, 1, 6, 10, 28, },
-+	{ 2, 0, 1, 6, 10, 28, },
-+	{ 1, 0, 1, 6, 10, 28, },
-+	{ 0, 0, 1, 6, 11, 22, },
-+	{ 2, 0, 1, 6, 11, 28, },
-+	{ 1, 0, 1, 6, 11, 28, },
-+	{ 0, 0, 1, 6, 12, 14, },
-+	{ 2, 0, 1, 6, 12, 28, },
-+	{ 1, 0, 1, 6, 12, 28, },
-+	{ 0, 0, 1, 6, 13, 8, },
-+	{ 2, 0, 1, 6, 13, 28, },
-+	{ 1, 0, 1, 6, 13, 28, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 20, },
-+	{ 2, 0, 1, 7, 3, 26, },
-+	{ 1, 0, 1, 7, 3, 26, },
-+	{ 0, 0, 1, 7, 4, 26, },
-+	{ 2, 0, 1, 7, 4, 26, },
-+	{ 1, 0, 1, 7, 4, 26, },
-+	{ 0, 0, 1, 7, 5, 26, },
-+	{ 2, 0, 1, 7, 5, 26, },
-+	{ 1, 0, 1, 7, 5, 26, },
-+	{ 0, 0, 1, 7, 6, 26, },
-+	{ 2, 0, 1, 7, 6, 26, },
-+	{ 1, 0, 1, 7, 6, 26, },
-+	{ 0, 0, 1, 7, 7, 26, },
-+	{ 2, 0, 1, 7, 7, 26, },
-+	{ 1, 0, 1, 7, 7, 26, },
-+	{ 0, 0, 1, 7, 8, 26, },
-+	{ 2, 0, 1, 7, 8, 26, },
-+	{ 1, 0, 1, 7, 8, 26, },
-+	{ 0, 0, 1, 7, 9, 26, },
-+	{ 2, 0, 1, 7, 9, 26, },
-+	{ 1, 0, 1, 7, 9, 26, },
-+	{ 0, 0, 1, 7, 10, 26, },
-+	{ 2, 0, 1, 7, 10, 26, },
-+	{ 1, 0, 1, 7, 10, 26, },
-+	{ 0, 0, 1, 7, 11, 20, },
-+	{ 2, 0, 1, 7, 11, 26, },
-+	{ 1, 0, 1, 7, 11, 26, },
-+	{ 0, 0, 1, 7, 12, 14, },
-+	{ 2, 0, 1, 7, 12, 26, },
-+	{ 1, 0, 1, 7, 12, 26, },
-+	{ 0, 0, 1, 7, 13, 8, },
-+	{ 2, 0, 1, 7, 13, 26, },
-+	{ 1, 0, 1, 7, 13, 26, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 28, },
-+	{ 2, 1, 0, 1, 36, 32, },
-+	{ 1, 1, 0, 1, 36, 32, },
-+	{ 0, 1, 0, 1, 40, 32, },
-+	{ 2, 1, 0, 1, 40, 32, },
-+	{ 1, 1, 0, 1, 40, 32, },
-+	{ 0, 1, 0, 1, 44, 32, },
-+	{ 2, 1, 0, 1, 44, 32, },
-+	{ 1, 1, 0, 1, 44, 32, },
-+	{ 0, 1, 0, 1, 48, 32, },
-+	{ 2, 1, 0, 1, 48, 32, },
-+	{ 1, 1, 0, 1, 48, 32, },
-+	{ 0, 1, 0, 1, 52, 32, },
-+	{ 2, 1, 0, 1, 52, 32, },
-+	{ 1, 1, 0, 1, 52, 32, },
-+	{ 0, 1, 0, 1, 56, 32, },
-+	{ 2, 1, 0, 1, 56, 32, },
-+	{ 1, 1, 0, 1, 56, 32, },
-+	{ 0, 1, 0, 1, 60, 32, },
-+	{ 2, 1, 0, 1, 60, 32, },
-+	{ 1, 1, 0, 1, 60, 32, },
-+	{ 0, 1, 0, 1, 64, 28, },
-+	{ 2, 1, 0, 1, 64, 32, },
-+	{ 1, 1, 0, 1, 64, 32, },
-+	{ 0, 1, 0, 1, 100, 28, },
-+	{ 2, 1, 0, 1, 100, 32, },
-+	{ 1, 1, 0, 1, 100, 32, },
-+	{ 0, 1, 0, 1, 104, 32, },
-+	{ 2, 1, 0, 1, 104, 32, },
-+	{ 1, 1, 0, 1, 104, 32, },
-+	{ 0, 1, 0, 1, 108, 32, },
-+	{ 2, 1, 0, 1, 108, 32, },
-+	{ 1, 1, 0, 1, 108, 32, },
-+	{ 0, 1, 0, 1, 112, 32, },
-+	{ 2, 1, 0, 1, 112, 32, },
-+	{ 1, 1, 0, 1, 112, 32, },
-+	{ 0, 1, 0, 1, 116, 32, },
-+	{ 2, 1, 0, 1, 116, 32, },
-+	{ 1, 1, 0, 1, 116, 32, },
-+	{ 0, 1, 0, 1, 120, 32, },
-+	{ 2, 1, 0, 1, 120, 32, },
-+	{ 1, 1, 0, 1, 120, 32, },
-+	{ 0, 1, 0, 1, 124, 32, },
-+	{ 2, 1, 0, 1, 124, 32, },
-+	{ 1, 1, 0, 1, 124, 32, },
-+	{ 0, 1, 0, 1, 128, 32, },
-+	{ 2, 1, 0, 1, 128, 32, },
-+	{ 1, 1, 0, 1, 128, 32, },
-+	{ 0, 1, 0, 1, 132, 32, },
-+	{ 2, 1, 0, 1, 132, 32, },
-+	{ 1, 1, 0, 1, 132, 32, },
-+	{ 0, 1, 0, 1, 136, 32, },
-+	{ 2, 1, 0, 1, 136, 32, },
-+	{ 1, 1, 0, 1, 136, 32, },
-+	{ 0, 1, 0, 1, 140, 28, },
-+	{ 2, 1, 0, 1, 140, 32, },
-+	{ 1, 1, 0, 1, 140, 32, },
-+	{ 0, 1, 0, 1, 149, 28, },
-+	{ 2, 1, 0, 1, 149, 32, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 32, },
-+	{ 2, 1, 0, 1, 153, 32, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 32, },
-+	{ 2, 1, 0, 1, 157, 32, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 32, },
-+	{ 2, 1, 0, 1, 161, 32, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 32, },
-+	{ 2, 1, 0, 1, 165, 32, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 26, },
-+	{ 2, 1, 0, 2, 36, 32, },
-+	{ 1, 1, 0, 2, 36, 32, },
-+	{ 0, 1, 0, 2, 40, 32, },
-+	{ 2, 1, 0, 2, 40, 32, },
-+	{ 1, 1, 0, 2, 40, 32, },
-+	{ 0, 1, 0, 2, 44, 32, },
-+	{ 2, 1, 0, 2, 44, 32, },
-+	{ 1, 1, 0, 2, 44, 32, },
-+	{ 0, 1, 0, 2, 48, 32, },
-+	{ 2, 1, 0, 2, 48, 32, },
-+	{ 1, 1, 0, 2, 48, 32, },
-+	{ 0, 1, 0, 2, 52, 32, },
-+	{ 2, 1, 0, 2, 52, 32, },
-+	{ 1, 1, 0, 2, 52, 32, },
-+	{ 0, 1, 0, 2, 56, 32, },
-+	{ 2, 1, 0, 2, 56, 32, },
-+	{ 1, 1, 0, 2, 56, 32, },
-+	{ 0, 1, 0, 2, 60, 32, },
-+	{ 2, 1, 0, 2, 60, 32, },
-+	{ 1, 1, 0, 2, 60, 32, },
-+	{ 0, 1, 0, 2, 64, 26, },
-+	{ 2, 1, 0, 2, 64, 32, },
-+	{ 1, 1, 0, 2, 64, 32, },
-+	{ 0, 1, 0, 2, 100, 26, },
-+	{ 2, 1, 0, 2, 100, 32, },
-+	{ 1, 1, 0, 2, 100, 32, },
-+	{ 0, 1, 0, 2, 104, 32, },
-+	{ 2, 1, 0, 2, 104, 32, },
-+	{ 1, 1, 0, 2, 104, 32, },
-+	{ 0, 1, 0, 2, 108, 32, },
-+	{ 2, 1, 0, 2, 108, 32, },
-+	{ 1, 1, 0, 2, 108, 32, },
-+	{ 0, 1, 0, 2, 112, 32, },
-+	{ 2, 1, 0, 2, 112, 32, },
-+	{ 1, 1, 0, 2, 112, 32, },
-+	{ 0, 1, 0, 2, 116, 32, },
-+	{ 2, 1, 0, 2, 116, 32, },
-+	{ 1, 1, 0, 2, 116, 32, },
-+	{ 0, 1, 0, 2, 120, 32, },
-+	{ 2, 1, 0, 2, 120, 32, },
-+	{ 1, 1, 0, 2, 120, 32, },
-+	{ 0, 1, 0, 2, 124, 32, },
-+	{ 2, 1, 0, 2, 124, 32, },
-+	{ 1, 1, 0, 2, 124, 32, },
-+	{ 0, 1, 0, 2, 128, 32, },
-+	{ 2, 1, 0, 2, 128, 32, },
-+	{ 1, 1, 0, 2, 128, 32, },
-+	{ 0, 1, 0, 2, 132, 32, },
-+	{ 2, 1, 0, 2, 132, 32, },
-+	{ 1, 1, 0, 2, 132, 32, },
-+	{ 0, 1, 0, 2, 136, 32, },
-+	{ 2, 1, 0, 2, 136, 32, },
-+	{ 1, 1, 0, 2, 136, 32, },
-+	{ 0, 1, 0, 2, 140, 26, },
-+	{ 2, 1, 0, 2, 140, 32, },
-+	{ 1, 1, 0, 2, 140, 32, },
-+	{ 0, 1, 0, 2, 149, 26, },
-+	{ 2, 1, 0, 2, 149, 32, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 32, },
-+	{ 2, 1, 0, 2, 153, 32, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 32, },
-+	{ 2, 1, 0, 2, 157, 32, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 32, },
-+	{ 2, 1, 0, 2, 161, 32, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 32, },
-+	{ 2, 1, 0, 2, 165, 32, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 24, },
-+	{ 2, 1, 0, 3, 36, 28, },
-+	{ 1, 1, 0, 3, 36, 28, },
-+	{ 0, 1, 0, 3, 40, 28, },
-+	{ 2, 1, 0, 3, 40, 28, },
-+	{ 1, 1, 0, 3, 40, 28, },
-+	{ 0, 1, 0, 3, 44, 28, },
-+	{ 2, 1, 0, 3, 44, 28, },
-+	{ 1, 1, 0, 3, 44, 28, },
-+	{ 0, 1, 0, 3, 48, 28, },
-+	{ 2, 1, 0, 3, 48, 28, },
-+	{ 1, 1, 0, 3, 48, 28, },
-+	{ 0, 1, 0, 3, 52, 28, },
-+	{ 2, 1, 0, 3, 52, 28, },
-+	{ 1, 1, 0, 3, 52, 28, },
-+	{ 0, 1, 0, 3, 56, 28, },
-+	{ 2, 1, 0, 3, 56, 28, },
-+	{ 1, 1, 0, 3, 56, 28, },
-+	{ 0, 1, 0, 3, 60, 28, },
-+	{ 2, 1, 0, 3, 60, 28, },
-+	{ 1, 1, 0, 3, 60, 28, },
-+	{ 0, 1, 0, 3, 64, 24, },
-+	{ 2, 1, 0, 3, 64, 28, },
-+	{ 1, 1, 0, 3, 64, 28, },
-+	{ 0, 1, 0, 3, 100, 24, },
-+	{ 2, 1, 0, 3, 100, 28, },
-+	{ 1, 1, 0, 3, 100, 28, },
-+	{ 0, 1, 0, 3, 104, 28, },
-+	{ 2, 1, 0, 3, 104, 28, },
-+	{ 1, 1, 0, 3, 104, 28, },
-+	{ 0, 1, 0, 3, 108, 28, },
-+	{ 2, 1, 0, 3, 108, 28, },
-+	{ 1, 1, 0, 3, 108, 28, },
-+	{ 0, 1, 0, 3, 112, 28, },
-+	{ 2, 1, 0, 3, 112, 28, },
-+	{ 1, 1, 0, 3, 112, 28, },
-+	{ 0, 1, 0, 3, 116, 28, },
-+	{ 2, 1, 0, 3, 116, 28, },
-+	{ 1, 1, 0, 3, 116, 28, },
-+	{ 0, 1, 0, 3, 120, 28, },
-+	{ 2, 1, 0, 3, 120, 28, },
-+	{ 1, 1, 0, 3, 120, 28, },
-+	{ 0, 1, 0, 3, 124, 28, },
-+	{ 2, 1, 0, 3, 124, 28, },
-+	{ 1, 1, 0, 3, 124, 28, },
-+	{ 0, 1, 0, 3, 128, 28, },
-+	{ 2, 1, 0, 3, 128, 28, },
-+	{ 1, 1, 0, 3, 128, 28, },
-+	{ 0, 1, 0, 3, 132, 28, },
-+	{ 2, 1, 0, 3, 132, 28, },
-+	{ 1, 1, 0, 3, 132, 28, },
-+	{ 0, 1, 0, 3, 136, 28, },
-+	{ 2, 1, 0, 3, 136, 28, },
-+	{ 1, 1, 0, 3, 136, 28, },
-+	{ 0, 1, 0, 3, 140, 24, },
-+	{ 2, 1, 0, 3, 140, 28, },
-+	{ 1, 1, 0, 3, 140, 28, },
-+	{ 0, 1, 0, 3, 149, 24, },
-+	{ 2, 1, 0, 3, 149, 28, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 28, },
-+	{ 2, 1, 0, 3, 153, 28, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 28, },
-+	{ 2, 1, 0, 3, 157, 28, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 28, },
-+	{ 2, 1, 0, 3, 161, 28, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 28, },
-+	{ 2, 1, 0, 3, 165, 28, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 22, },
-+	{ 2, 1, 0, 6, 36, 26, },
-+	{ 1, 1, 0, 6, 36, 26, },
-+	{ 0, 1, 0, 6, 40, 26, },
-+	{ 2, 1, 0, 6, 40, 26, },
-+	{ 1, 1, 0, 6, 40, 26, },
-+	{ 0, 1, 0, 6, 44, 26, },
-+	{ 2, 1, 0, 6, 44, 26, },
-+	{ 1, 1, 0, 6, 44, 26, },
-+	{ 0, 1, 0, 6, 48, 26, },
-+	{ 2, 1, 0, 6, 48, 26, },
-+	{ 1, 1, 0, 6, 48, 26, },
-+	{ 0, 1, 0, 6, 52, 26, },
-+	{ 2, 1, 0, 6, 52, 26, },
-+	{ 1, 1, 0, 6, 52, 26, },
-+	{ 0, 1, 0, 6, 56, 26, },
-+	{ 2, 1, 0, 6, 56, 26, },
-+	{ 1, 1, 0, 6, 56, 26, },
-+	{ 0, 1, 0, 6, 60, 26, },
-+	{ 2, 1, 0, 6, 60, 26, },
-+	{ 1, 1, 0, 6, 60, 26, },
-+	{ 0, 1, 0, 6, 64, 22, },
-+	{ 2, 1, 0, 6, 64, 26, },
-+	{ 1, 1, 0, 6, 64, 26, },
-+	{ 0, 1, 0, 6, 100, 22, },
-+	{ 2, 1, 0, 6, 100, 26, },
-+	{ 1, 1, 0, 6, 100, 26, },
-+	{ 0, 1, 0, 6, 104, 26, },
-+	{ 2, 1, 0, 6, 104, 26, },
-+	{ 1, 1, 0, 6, 104, 26, },
-+	{ 0, 1, 0, 6, 108, 26, },
-+	{ 2, 1, 0, 6, 108, 26, },
-+	{ 1, 1, 0, 6, 108, 26, },
-+	{ 0, 1, 0, 6, 112, 26, },
-+	{ 2, 1, 0, 6, 112, 26, },
-+	{ 1, 1, 0, 6, 112, 26, },
-+	{ 0, 1, 0, 6, 116, 26, },
-+	{ 2, 1, 0, 6, 116, 26, },
-+	{ 1, 1, 0, 6, 116, 26, },
-+	{ 0, 1, 0, 6, 120, 26, },
-+	{ 2, 1, 0, 6, 120, 26, },
-+	{ 1, 1, 0, 6, 120, 26, },
-+	{ 0, 1, 0, 6, 124, 26, },
-+	{ 2, 1, 0, 6, 124, 26, },
-+	{ 1, 1, 0, 6, 124, 26, },
-+	{ 0, 1, 0, 6, 128, 26, },
-+	{ 2, 1, 0, 6, 128, 26, },
-+	{ 1, 1, 0, 6, 128, 26, },
-+	{ 0, 1, 0, 6, 132, 26, },
-+	{ 2, 1, 0, 6, 132, 26, },
-+	{ 1, 1, 0, 6, 132, 26, },
-+	{ 0, 1, 0, 6, 136, 26, },
-+	{ 2, 1, 0, 6, 136, 26, },
-+	{ 1, 1, 0, 6, 136, 26, },
-+	{ 0, 1, 0, 6, 140, 22, },
-+	{ 2, 1, 0, 6, 140, 26, },
-+	{ 1, 1, 0, 6, 140, 26, },
-+	{ 0, 1, 0, 6, 149, 22, },
-+	{ 2, 1, 0, 6, 149, 26, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 26, },
-+	{ 2, 1, 0, 6, 153, 26, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 26, },
-+	{ 2, 1, 0, 6, 157, 26, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 26, },
-+	{ 2, 1, 0, 6, 161, 26, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 26, },
-+	{ 2, 1, 0, 6, 165, 26, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 20, },
-+	{ 2, 1, 0, 7, 36, 24, },
-+	{ 1, 1, 0, 7, 36, 24, },
-+	{ 0, 1, 0, 7, 40, 24, },
-+	{ 2, 1, 0, 7, 40, 24, },
-+	{ 1, 1, 0, 7, 40, 24, },
-+	{ 0, 1, 0, 7, 44, 24, },
-+	{ 2, 1, 0, 7, 44, 24, },
-+	{ 1, 1, 0, 7, 44, 24, },
-+	{ 0, 1, 0, 7, 48, 24, },
-+	{ 2, 1, 0, 7, 48, 24, },
-+	{ 1, 1, 0, 7, 48, 24, },
-+	{ 0, 1, 0, 7, 52, 24, },
-+	{ 2, 1, 0, 7, 52, 24, },
-+	{ 1, 1, 0, 7, 52, 24, },
-+	{ 0, 1, 0, 7, 56, 24, },
-+	{ 2, 1, 0, 7, 56, 24, },
-+	{ 1, 1, 0, 7, 56, 24, },
-+	{ 0, 1, 0, 7, 60, 24, },
-+	{ 2, 1, 0, 7, 60, 24, },
-+	{ 1, 1, 0, 7, 60, 24, },
-+	{ 0, 1, 0, 7, 64, 20, },
-+	{ 2, 1, 0, 7, 64, 24, },
-+	{ 1, 1, 0, 7, 64, 24, },
-+	{ 0, 1, 0, 7, 100, 20, },
-+	{ 2, 1, 0, 7, 100, 24, },
-+	{ 1, 1, 0, 7, 100, 24, },
-+	{ 0, 1, 0, 7, 104, 24, },
-+	{ 2, 1, 0, 7, 104, 24, },
-+	{ 1, 1, 0, 7, 104, 24, },
-+	{ 0, 1, 0, 7, 108, 24, },
-+	{ 2, 1, 0, 7, 108, 24, },
-+	{ 1, 1, 0, 7, 108, 24, },
-+	{ 0, 1, 0, 7, 112, 24, },
-+	{ 2, 1, 0, 7, 112, 24, },
-+	{ 1, 1, 0, 7, 112, 24, },
-+	{ 0, 1, 0, 7, 116, 24, },
-+	{ 2, 1, 0, 7, 116, 24, },
-+	{ 1, 1, 0, 7, 116, 24, },
-+	{ 0, 1, 0, 7, 120, 24, },
-+	{ 2, 1, 0, 7, 120, 24, },
-+	{ 1, 1, 0, 7, 120, 24, },
-+	{ 0, 1, 0, 7, 124, 24, },
-+	{ 2, 1, 0, 7, 124, 24, },
-+	{ 1, 1, 0, 7, 124, 24, },
-+	{ 0, 1, 0, 7, 128, 24, },
-+	{ 2, 1, 0, 7, 128, 24, },
-+	{ 1, 1, 0, 7, 128, 24, },
-+	{ 0, 1, 0, 7, 132, 24, },
-+	{ 2, 1, 0, 7, 132, 24, },
-+	{ 1, 1, 0, 7, 132, 24, },
-+	{ 0, 1, 0, 7, 136, 24, },
-+	{ 2, 1, 0, 7, 136, 24, },
-+	{ 1, 1, 0, 7, 136, 24, },
-+	{ 0, 1, 0, 7, 140, 20, },
-+	{ 2, 1, 0, 7, 140, 24, },
-+	{ 1, 1, 0, 7, 140, 24, },
-+	{ 0, 1, 0, 7, 149, 20, },
-+	{ 2, 1, 0, 7, 149, 24, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 24, },
-+	{ 2, 1, 0, 7, 153, 24, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 24, },
-+	{ 2, 1, 0, 7, 157, 24, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 24, },
-+	{ 2, 1, 0, 7, 161, 24, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 24, },
-+	{ 2, 1, 0, 7, 165, 24, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 26, },
-+	{ 2, 1, 1, 2, 38, 32, },
-+	{ 1, 1, 1, 2, 38, 32, },
-+	{ 0, 1, 1, 2, 46, 32, },
-+	{ 2, 1, 1, 2, 46, 32, },
-+	{ 1, 1, 1, 2, 46, 32, },
-+	{ 0, 1, 1, 2, 54, 32, },
-+	{ 2, 1, 1, 2, 54, 32, },
-+	{ 1, 1, 1, 2, 54, 32, },
-+	{ 0, 1, 1, 2, 62, 26, },
-+	{ 2, 1, 1, 2, 62, 32, },
-+	{ 1, 1, 1, 2, 62, 32, },
-+	{ 0, 1, 1, 2, 102, 26, },
-+	{ 2, 1, 1, 2, 102, 32, },
-+	{ 1, 1, 1, 2, 102, 32, },
-+	{ 0, 1, 1, 2, 110, 32, },
-+	{ 2, 1, 1, 2, 110, 32, },
-+	{ 1, 1, 1, 2, 110, 32, },
-+	{ 0, 1, 1, 2, 118, 32, },
-+	{ 2, 1, 1, 2, 118, 32, },
-+	{ 1, 1, 1, 2, 118, 32, },
-+	{ 0, 1, 1, 2, 126, 32, },
-+	{ 2, 1, 1, 2, 126, 32, },
-+	{ 1, 1, 1, 2, 126, 32, },
-+	{ 0, 1, 1, 2, 134, 32, },
-+	{ 2, 1, 1, 2, 134, 32, },
-+	{ 1, 1, 1, 2, 134, 32, },
-+	{ 0, 1, 1, 2, 151, 26, },
-+	{ 2, 1, 1, 2, 151, 32, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 32, },
-+	{ 2, 1, 1, 2, 159, 32, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 24, },
-+	{ 2, 1, 1, 3, 38, 28, },
-+	{ 1, 1, 1, 3, 38, 28, },
-+	{ 0, 1, 1, 3, 46, 28, },
-+	{ 2, 1, 1, 3, 46, 28, },
-+	{ 1, 1, 1, 3, 46, 28, },
-+	{ 0, 1, 1, 3, 54, 28, },
-+	{ 2, 1, 1, 3, 54, 28, },
-+	{ 1, 1, 1, 3, 54, 28, },
-+	{ 0, 1, 1, 3, 62, 24, },
-+	{ 2, 1, 1, 3, 62, 28, },
-+	{ 1, 1, 1, 3, 62, 28, },
-+	{ 0, 1, 1, 3, 102, 24, },
-+	{ 2, 1, 1, 3, 102, 28, },
-+	{ 1, 1, 1, 3, 102, 28, },
-+	{ 0, 1, 1, 3, 110, 28, },
-+	{ 2, 1, 1, 3, 110, 28, },
-+	{ 1, 1, 1, 3, 110, 28, },
-+	{ 0, 1, 1, 3, 118, 28, },
-+	{ 2, 1, 1, 3, 118, 28, },
-+	{ 1, 1, 1, 3, 118, 28, },
-+	{ 0, 1, 1, 3, 126, 28, },
-+	{ 2, 1, 1, 3, 126, 28, },
-+	{ 1, 1, 1, 3, 126, 28, },
-+	{ 0, 1, 1, 3, 134, 28, },
-+	{ 2, 1, 1, 3, 134, 28, },
-+	{ 1, 1, 1, 3, 134, 28, },
-+	{ 0, 1, 1, 3, 151, 24, },
-+	{ 2, 1, 1, 3, 151, 28, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 28, },
-+	{ 2, 1, 1, 3, 159, 28, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 20, },
-+	{ 2, 1, 1, 6, 38, 26, },
-+	{ 1, 1, 1, 6, 38, 26, },
-+	{ 0, 1, 1, 6, 46, 26, },
-+	{ 2, 1, 1, 6, 46, 26, },
-+	{ 1, 1, 1, 6, 46, 26, },
-+	{ 0, 1, 1, 6, 54, 26, },
-+	{ 2, 1, 1, 6, 54, 26, },
-+	{ 1, 1, 1, 6, 54, 26, },
-+	{ 0, 1, 1, 6, 62, 20, },
-+	{ 2, 1, 1, 6, 62, 26, },
-+	{ 1, 1, 1, 6, 62, 26, },
-+	{ 0, 1, 1, 6, 102, 20, },
-+	{ 2, 1, 1, 6, 102, 26, },
-+	{ 1, 1, 1, 6, 102, 26, },
-+	{ 0, 1, 1, 6, 110, 26, },
-+	{ 2, 1, 1, 6, 110, 26, },
-+	{ 1, 1, 1, 6, 110, 26, },
-+	{ 0, 1, 1, 6, 118, 26, },
-+	{ 2, 1, 1, 6, 118, 26, },
-+	{ 1, 1, 1, 6, 118, 26, },
-+	{ 0, 1, 1, 6, 126, 26, },
-+	{ 2, 1, 1, 6, 126, 26, },
-+	{ 1, 1, 1, 6, 126, 26, },
-+	{ 0, 1, 1, 6, 134, 26, },
-+	{ 2, 1, 1, 6, 134, 26, },
-+	{ 1, 1, 1, 6, 134, 26, },
-+	{ 0, 1, 1, 6, 151, 20, },
-+	{ 2, 1, 1, 6, 151, 26, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 26, },
-+	{ 2, 1, 1, 6, 159, 26, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 18, },
-+	{ 2, 1, 1, 7, 38, 24, },
-+	{ 1, 1, 1, 7, 38, 24, },
-+	{ 0, 1, 1, 7, 46, 24, },
-+	{ 2, 1, 1, 7, 46, 24, },
-+	{ 1, 1, 1, 7, 46, 24, },
-+	{ 0, 1, 1, 7, 54, 24, },
-+	{ 2, 1, 1, 7, 54, 24, },
-+	{ 1, 1, 1, 7, 54, 24, },
-+	{ 0, 1, 1, 7, 62, 18, },
-+	{ 2, 1, 1, 7, 62, 24, },
-+	{ 1, 1, 1, 7, 62, 24, },
-+	{ 0, 1, 1, 7, 102, 18, },
-+	{ 2, 1, 1, 7, 102, 24, },
-+	{ 1, 1, 1, 7, 102, 24, },
-+	{ 0, 1, 1, 7, 110, 24, },
-+	{ 2, 1, 1, 7, 110, 24, },
-+	{ 1, 1, 1, 7, 110, 24, },
-+	{ 0, 1, 1, 7, 118, 24, },
-+	{ 2, 1, 1, 7, 118, 24, },
-+	{ 1, 1, 1, 7, 118, 24, },
-+	{ 0, 1, 1, 7, 126, 24, },
-+	{ 2, 1, 1, 7, 126, 24, },
-+	{ 1, 1, 1, 7, 126, 24, },
-+	{ 0, 1, 1, 7, 134, 24, },
-+	{ 2, 1, 1, 7, 134, 24, },
-+	{ 1, 1, 1, 7, 134, 24, },
-+	{ 0, 1, 1, 7, 151, 18, },
-+	{ 2, 1, 1, 7, 151, 24, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 24, },
-+	{ 2, 1, 1, 7, 159, 24, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 22, },
-+	{ 2, 1, 2, 4, 42, 30, },
-+	{ 1, 1, 2, 4, 42, 30, },
-+	{ 0, 1, 2, 4, 58, 22, },
-+	{ 2, 1, 2, 4, 58, 30, },
-+	{ 1, 1, 2, 4, 58, 30, },
-+	{ 0, 1, 2, 4, 106, 22, },
-+	{ 2, 1, 2, 4, 106, 30, },
-+	{ 1, 1, 2, 4, 106, 30, },
-+	{ 0, 1, 2, 4, 122, 30, },
-+	{ 2, 1, 2, 4, 122, 30, },
-+	{ 1, 1, 2, 4, 122, 30, },
-+	{ 0, 1, 2, 4, 155, 22, },
-+	{ 2, 1, 2, 4, 155, 30, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 20, },
-+	{ 2, 1, 2, 5, 42, 28, },
-+	{ 1, 1, 2, 5, 42, 28, },
-+	{ 0, 1, 2, 5, 58, 20, },
-+	{ 2, 1, 2, 5, 58, 28, },
-+	{ 1, 1, 2, 5, 58, 28, },
-+	{ 0, 1, 2, 5, 106, 20, },
-+	{ 2, 1, 2, 5, 106, 28, },
-+	{ 1, 1, 2, 5, 106, 28, },
-+	{ 0, 1, 2, 5, 122, 28, },
-+	{ 2, 1, 2, 5, 122, 28, },
-+	{ 1, 1, 2, 5, 122, 28, },
-+	{ 0, 1, 2, 5, 155, 20, },
-+	{ 2, 1, 2, 5, 155, 28, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 18, },
-+	{ 2, 1, 2, 8, 42, 26, },
-+	{ 1, 1, 2, 8, 42, 26, },
-+	{ 0, 1, 2, 8, 58, 18, },
-+	{ 2, 1, 2, 8, 58, 26, },
-+	{ 1, 1, 2, 8, 58, 26, },
-+	{ 0, 1, 2, 8, 106, 18, },
-+	{ 2, 1, 2, 8, 106, 26, },
-+	{ 1, 1, 2, 8, 106, 26, },
-+	{ 0, 1, 2, 8, 122, 26, },
-+	{ 2, 1, 2, 8, 122, 26, },
-+	{ 1, 1, 2, 8, 122, 26, },
-+	{ 0, 1, 2, 8, 155, 18, },
-+	{ 2, 1, 2, 8, 155, 26, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 16, },
-+	{ 2, 1, 2, 9, 42, 24, },
-+	{ 1, 1, 2, 9, 42, 24, },
-+	{ 0, 1, 2, 9, 58, 16, },
-+	{ 2, 1, 2, 9, 58, 24, },
-+	{ 1, 1, 2, 9, 58, 24, },
-+	{ 0, 1, 2, 9, 106, 16, },
-+	{ 2, 1, 2, 9, 106, 24, },
-+	{ 1, 1, 2, 9, 106, 24, },
-+	{ 0, 1, 2, 9, 122, 24, },
-+	{ 2, 1, 2, 9, 122, 24, },
-+	{ 1, 1, 2, 9, 122, 24, },
-+	{ 0, 1, 2, 9, 155, 16, },
-+	{ 2, 1, 2, 9, 155, 24, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type0);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type1[] = {
-+		{ 0, 0, 0, 0, 1, 34, },
-+	{ 2, 0, 0, 0, 1, 32, },
-+	{ 1, 0, 0, 0, 1, 32, },
-+	{ 0, 0, 0, 0, 2, 34, },
-+	{ 2, 0, 0, 0, 2, 32, },
-+	{ 1, 0, 0, 0, 2, 32, },
-+	{ 0, 0, 0, 0, 3, 34, },
-+	{ 2, 0, 0, 0, 3, 32, },
-+	{ 1, 0, 0, 0, 3, 32, },
-+	{ 0, 0, 0, 0, 4, 34, },
-+	{ 2, 0, 0, 0, 4, 32, },
-+	{ 1, 0, 0, 0, 4, 32, },
-+	{ 0, 0, 0, 0, 5, 34, },
-+	{ 2, 0, 0, 0, 5, 32, },
-+	{ 1, 0, 0, 0, 5, 32, },
-+	{ 0, 0, 0, 0, 6, 34, },
-+	{ 2, 0, 0, 0, 6, 32, },
-+	{ 1, 0, 0, 0, 6, 32, },
-+	{ 0, 0, 0, 0, 7, 34, },
-+	{ 2, 0, 0, 0, 7, 32, },
-+	{ 1, 0, 0, 0, 7, 32, },
-+	{ 0, 0, 0, 0, 8, 34, },
-+	{ 2, 0, 0, 0, 8, 32, },
-+	{ 1, 0, 0, 0, 8, 32, },
-+	{ 0, 0, 0, 0, 9, 34, },
-+	{ 2, 0, 0, 0, 9, 32, },
-+	{ 1, 0, 0, 0, 9, 32, },
-+	{ 0, 0, 0, 0, 10, 34, },
-+	{ 2, 0, 0, 0, 10, 32, },
-+	{ 1, 0, 0, 0, 10, 32, },
-+	{ 0, 0, 0, 0, 11, 34, },
-+	{ 2, 0, 0, 0, 11, 32, },
-+	{ 1, 0, 0, 0, 11, 32, },
-+	{ 0, 0, 0, 0, 12, 24, },
-+	{ 2, 0, 0, 0, 12, 32, },
-+	{ 1, 0, 0, 0, 12, 32, },
-+	{ 0, 0, 0, 0, 13, 16, },
-+	{ 2, 0, 0, 0, 13, 32, },
-+	{ 1, 0, 0, 0, 13, 32, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 32, },
-+	{ 0, 0, 0, 1, 1, 30, },
-+	{ 2, 0, 0, 1, 1, 32, },
-+	{ 1, 0, 0, 1, 1, 32, },
-+	{ 0, 0, 0, 1, 2, 32, },
-+	{ 2, 0, 0, 1, 2, 32, },
-+	{ 1, 0, 0, 1, 2, 32, },
-+	{ 0, 0, 0, 1, 3, 32, },
-+	{ 2, 0, 0, 1, 3, 32, },
-+	{ 1, 0, 0, 1, 3, 32, },
-+	{ 0, 0, 0, 1, 4, 32, },
-+	{ 2, 0, 0, 1, 4, 32, },
-+	{ 1, 0, 0, 1, 4, 32, },
-+	{ 0, 0, 0, 1, 5, 32, },
-+	{ 2, 0, 0, 1, 5, 32, },
-+	{ 1, 0, 0, 1, 5, 32, },
-+	{ 0, 0, 0, 1, 6, 32, },
-+	{ 2, 0, 0, 1, 6, 32, },
-+	{ 1, 0, 0, 1, 6, 32, },
-+	{ 0, 0, 0, 1, 7, 32, },
-+	{ 2, 0, 0, 1, 7, 32, },
-+	{ 1, 0, 0, 1, 7, 32, },
-+	{ 0, 0, 0, 1, 8, 32, },
-+	{ 2, 0, 0, 1, 8, 32, },
-+	{ 1, 0, 0, 1, 8, 32, },
-+	{ 0, 0, 0, 1, 9, 32, },
-+	{ 2, 0, 0, 1, 9, 32, },
-+	{ 1, 0, 0, 1, 9, 32, },
-+	{ 0, 0, 0, 1, 10, 32, },
-+	{ 2, 0, 0, 1, 10, 32, },
-+	{ 1, 0, 0, 1, 10, 32, },
-+	{ 0, 0, 0, 1, 11, 30, },
-+	{ 2, 0, 0, 1, 11, 32, },
-+	{ 1, 0, 0, 1, 11, 32, },
-+	{ 0, 0, 0, 1, 12, 18, },
-+	{ 2, 0, 0, 1, 12, 32, },
-+	{ 1, 0, 0, 1, 12, 32, },
-+	{ 0, 0, 0, 1, 13, 8, },
-+	{ 2, 0, 0, 1, 13, 32, },
-+	{ 1, 0, 0, 1, 13, 32, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 28, },
-+	{ 2, 0, 0, 2, 1, 32, },
-+	{ 1, 0, 0, 2, 1, 32, },
-+	{ 0, 0, 0, 2, 2, 32, },
-+	{ 2, 0, 0, 2, 2, 32, },
-+	{ 1, 0, 0, 2, 2, 32, },
-+	{ 0, 0, 0, 2, 3, 32, },
-+	{ 2, 0, 0, 2, 3, 32, },
-+	{ 1, 0, 0, 2, 3, 32, },
-+	{ 0, 0, 0, 2, 4, 32, },
-+	{ 2, 0, 0, 2, 4, 32, },
-+	{ 1, 0, 0, 2, 4, 32, },
-+	{ 0, 0, 0, 2, 5, 32, },
-+	{ 2, 0, 0, 2, 5, 32, },
-+	{ 1, 0, 0, 2, 5, 32, },
-+	{ 0, 0, 0, 2, 6, 32, },
-+	{ 2, 0, 0, 2, 6, 32, },
-+	{ 1, 0, 0, 2, 6, 32, },
-+	{ 0, 0, 0, 2, 7, 32, },
-+	{ 2, 0, 0, 2, 7, 32, },
-+	{ 1, 0, 0, 2, 7, 32, },
-+	{ 0, 0, 0, 2, 8, 32, },
-+	{ 2, 0, 0, 2, 8, 32, },
-+	{ 1, 0, 0, 2, 8, 32, },
-+	{ 0, 0, 0, 2, 9, 32, },
-+	{ 2, 0, 0, 2, 9, 32, },
-+	{ 1, 0, 0, 2, 9, 32, },
-+	{ 0, 0, 0, 2, 10, 32, },
-+	{ 2, 0, 0, 2, 10, 32, },
-+	{ 1, 0, 0, 2, 10, 32, },
-+	{ 0, 0, 0, 2, 11, 28, },
-+	{ 2, 0, 0, 2, 11, 32, },
-+	{ 1, 0, 0, 2, 11, 32, },
-+	{ 0, 0, 0, 2, 12, 16, },
-+	{ 2, 0, 0, 2, 12, 32, },
-+	{ 1, 0, 0, 2, 12, 32, },
-+	{ 0, 0, 0, 2, 13, 6, },
-+	{ 2, 0, 0, 2, 13, 32, },
-+	{ 1, 0, 0, 2, 13, 32, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 26, },
-+	{ 2, 0, 0, 3, 1, 30, },
-+	{ 1, 0, 0, 3, 1, 30, },
-+	{ 0, 0, 0, 3, 2, 30, },
-+	{ 2, 0, 0, 3, 2, 30, },
-+	{ 1, 0, 0, 3, 2, 30, },
-+	{ 0, 0, 0, 3, 3, 30, },
-+	{ 2, 0, 0, 3, 3, 30, },
-+	{ 1, 0, 0, 3, 3, 30, },
-+	{ 0, 0, 0, 3, 4, 30, },
-+	{ 2, 0, 0, 3, 4, 30, },
-+	{ 1, 0, 0, 3, 4, 30, },
-+	{ 0, 0, 0, 3, 5, 30, },
-+	{ 2, 0, 0, 3, 5, 30, },
-+	{ 1, 0, 0, 3, 5, 30, },
-+	{ 0, 0, 0, 3, 6, 30, },
-+	{ 2, 0, 0, 3, 6, 30, },
-+	{ 1, 0, 0, 3, 6, 30, },
-+	{ 0, 0, 0, 3, 7, 30, },
-+	{ 2, 0, 0, 3, 7, 30, },
-+	{ 1, 0, 0, 3, 7, 30, },
-+	{ 0, 0, 0, 3, 8, 30, },
-+	{ 2, 0, 0, 3, 8, 30, },
-+	{ 1, 0, 0, 3, 8, 30, },
-+	{ 0, 0, 0, 3, 9, 30, },
-+	{ 2, 0, 0, 3, 9, 30, },
-+	{ 1, 0, 0, 3, 9, 30, },
-+	{ 0, 0, 0, 3, 10, 30, },
-+	{ 2, 0, 0, 3, 10, 30, },
-+	{ 1, 0, 0, 3, 10, 30, },
-+	{ 0, 0, 0, 3, 11, 26, },
-+	{ 2, 0, 0, 3, 11, 30, },
-+	{ 1, 0, 0, 3, 11, 30, },
-+	{ 0, 0, 0, 3, 12, 14, },
-+	{ 2, 0, 0, 3, 12, 30, },
-+	{ 1, 0, 0, 3, 12, 30, },
-+	{ 0, 0, 0, 3, 13, 4, },
-+	{ 2, 0, 0, 3, 13, 30, },
-+	{ 1, 0, 0, 3, 13, 30, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 24, },
-+	{ 2, 0, 0, 6, 1, 28, },
-+	{ 1, 0, 0, 6, 1, 28, },
-+	{ 0, 0, 0, 6, 2, 28, },
-+	{ 2, 0, 0, 6, 2, 28, },
-+	{ 1, 0, 0, 6, 2, 28, },
-+	{ 0, 0, 0, 6, 3, 28, },
-+	{ 2, 0, 0, 6, 3, 28, },
-+	{ 1, 0, 0, 6, 3, 28, },
-+	{ 0, 0, 0, 6, 4, 28, },
-+	{ 2, 0, 0, 6, 4, 28, },
-+	{ 1, 0, 0, 6, 4, 28, },
-+	{ 0, 0, 0, 6, 5, 28, },
-+	{ 2, 0, 0, 6, 5, 28, },
-+	{ 1, 0, 0, 6, 5, 28, },
-+	{ 0, 0, 0, 6, 6, 28, },
-+	{ 2, 0, 0, 6, 6, 28, },
-+	{ 1, 0, 0, 6, 6, 28, },
-+	{ 0, 0, 0, 6, 7, 28, },
-+	{ 2, 0, 0, 6, 7, 28, },
-+	{ 1, 0, 0, 6, 7, 28, },
-+	{ 0, 0, 0, 6, 8, 28, },
-+	{ 2, 0, 0, 6, 8, 28, },
-+	{ 1, 0, 0, 6, 8, 28, },
-+	{ 0, 0, 0, 6, 9, 28, },
-+	{ 2, 0, 0, 6, 9, 28, },
-+	{ 1, 0, 0, 6, 9, 28, },
-+	{ 0, 0, 0, 6, 10, 28, },
-+	{ 2, 0, 0, 6, 10, 28, },
-+	{ 1, 0, 0, 6, 10, 28, },
-+	{ 0, 0, 0, 6, 11, 24, },
-+	{ 2, 0, 0, 6, 11, 28, },
-+	{ 1, 0, 0, 6, 11, 28, },
-+	{ 0, 0, 0, 6, 12, 14, },
-+	{ 2, 0, 0, 6, 12, 28, },
-+	{ 1, 0, 0, 6, 12, 28, },
-+	{ 0, 0, 0, 6, 13, 4, },
-+	{ 2, 0, 0, 6, 13, 28, },
-+	{ 1, 0, 0, 6, 13, 28, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 22, },
-+	{ 2, 0, 0, 7, 1, 26, },
-+	{ 1, 0, 0, 7, 1, 26, },
-+	{ 0, 0, 0, 7, 2, 26, },
-+	{ 2, 0, 0, 7, 2, 26, },
-+	{ 1, 0, 0, 7, 2, 26, },
-+	{ 0, 0, 0, 7, 3, 26, },
-+	{ 2, 0, 0, 7, 3, 26, },
-+	{ 1, 0, 0, 7, 3, 26, },
-+	{ 0, 0, 0, 7, 4, 26, },
-+	{ 2, 0, 0, 7, 4, 26, },
-+	{ 1, 0, 0, 7, 4, 26, },
-+	{ 0, 0, 0, 7, 5, 26, },
-+	{ 2, 0, 0, 7, 5, 26, },
-+	{ 1, 0, 0, 7, 5, 26, },
-+	{ 0, 0, 0, 7, 6, 26, },
-+	{ 2, 0, 0, 7, 6, 26, },
-+	{ 1, 0, 0, 7, 6, 26, },
-+	{ 0, 0, 0, 7, 7, 26, },
-+	{ 2, 0, 0, 7, 7, 26, },
-+	{ 1, 0, 0, 7, 7, 26, },
-+	{ 0, 0, 0, 7, 8, 26, },
-+	{ 2, 0, 0, 7, 8, 26, },
-+	{ 1, 0, 0, 7, 8, 26, },
-+	{ 0, 0, 0, 7, 9, 26, },
-+	{ 2, 0, 0, 7, 9, 26, },
-+	{ 1, 0, 0, 7, 9, 26, },
-+	{ 0, 0, 0, 7, 10, 26, },
-+	{ 2, 0, 0, 7, 10, 26, },
-+	{ 1, 0, 0, 7, 10, 26, },
-+	{ 0, 0, 0, 7, 11, 22, },
-+	{ 2, 0, 0, 7, 11, 26, },
-+	{ 1, 0, 0, 7, 11, 26, },
-+	{ 0, 0, 0, 7, 12, 14, },
-+	{ 2, 0, 0, 7, 12, 26, },
-+	{ 1, 0, 0, 7, 12, 26, },
-+	{ 0, 0, 0, 7, 13, 4, },
-+	{ 2, 0, 0, 7, 13, 26, },
-+	{ 1, 0, 0, 7, 13, 26, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 28, },
-+	{ 2, 0, 1, 2, 3, 32, },
-+	{ 1, 0, 1, 2, 3, 32, },
-+	{ 0, 0, 1, 2, 4, 32, },
-+	{ 2, 0, 1, 2, 4, 32, },
-+	{ 1, 0, 1, 2, 4, 32, },
-+	{ 0, 0, 1, 2, 5, 32, },
-+	{ 2, 0, 1, 2, 5, 32, },
-+	{ 1, 0, 1, 2, 5, 32, },
-+	{ 0, 0, 1, 2, 6, 32, },
-+	{ 2, 0, 1, 2, 6, 32, },
-+	{ 1, 0, 1, 2, 6, 32, },
-+	{ 0, 0, 1, 2, 7, 32, },
-+	{ 2, 0, 1, 2, 7, 32, },
-+	{ 1, 0, 1, 2, 7, 32, },
-+	{ 0, 0, 1, 2, 8, 32, },
-+	{ 2, 0, 1, 2, 8, 32, },
-+	{ 1, 0, 1, 2, 8, 32, },
-+	{ 0, 0, 1, 2, 9, 32, },
-+	{ 2, 0, 1, 2, 9, 32, },
-+	{ 1, 0, 1, 2, 9, 32, },
-+	{ 0, 0, 1, 2, 10, 32, },
-+	{ 2, 0, 1, 2, 10, 32, },
-+	{ 1, 0, 1, 2, 10, 32, },
-+	{ 0, 0, 1, 2, 11, 28, },
-+	{ 2, 0, 1, 2, 11, 32, },
-+	{ 1, 0, 1, 2, 11, 32, },
-+	{ 0, 0, 1, 2, 12, 16, },
-+	{ 2, 0, 1, 2, 12, 32, },
-+	{ 1, 0, 1, 2, 12, 32, },
-+	{ 0, 0, 1, 2, 13, 10, },
-+	{ 2, 0, 1, 2, 13, 32, },
-+	{ 1, 0, 1, 2, 13, 32, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 26, },
-+	{ 2, 0, 1, 3, 3, 30, },
-+	{ 1, 0, 1, 3, 3, 30, },
-+	{ 0, 0, 1, 3, 4, 30, },
-+	{ 2, 0, 1, 3, 4, 30, },
-+	{ 1, 0, 1, 3, 4, 30, },
-+	{ 0, 0, 1, 3, 5, 30, },
-+	{ 2, 0, 1, 3, 5, 30, },
-+	{ 1, 0, 1, 3, 5, 30, },
-+	{ 0, 0, 1, 3, 6, 30, },
-+	{ 2, 0, 1, 3, 6, 30, },
-+	{ 1, 0, 1, 3, 6, 30, },
-+	{ 0, 0, 1, 3, 7, 30, },
-+	{ 2, 0, 1, 3, 7, 30, },
-+	{ 1, 0, 1, 3, 7, 30, },
-+	{ 0, 0, 1, 3, 8, 30, },
-+	{ 2, 0, 1, 3, 8, 30, },
-+	{ 1, 0, 1, 3, 8, 30, },
-+	{ 0, 0, 1, 3, 9, 30, },
-+	{ 2, 0, 1, 3, 9, 30, },
-+	{ 1, 0, 1, 3, 9, 30, },
-+	{ 0, 0, 1, 3, 10, 30, },
-+	{ 2, 0, 1, 3, 10, 30, },
-+	{ 1, 0, 1, 3, 10, 30, },
-+	{ 0, 0, 1, 3, 11, 26, },
-+	{ 2, 0, 1, 3, 11, 30, },
-+	{ 1, 0, 1, 3, 11, 30, },
-+	{ 0, 0, 1, 3, 12, 14, },
-+	{ 2, 0, 1, 3, 12, 30, },
-+	{ 1, 0, 1, 3, 12, 30, },
-+	{ 0, 0, 1, 3, 13, 8, },
-+	{ 2, 0, 1, 3, 13, 30, },
-+	{ 1, 0, 1, 3, 13, 30, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 24, },
-+	{ 2, 0, 1, 6, 3, 28, },
-+	{ 1, 0, 1, 6, 3, 28, },
-+	{ 0, 0, 1, 6, 4, 28, },
-+	{ 2, 0, 1, 6, 4, 28, },
-+	{ 1, 0, 1, 6, 4, 28, },
-+	{ 0, 0, 1, 6, 5, 28, },
-+	{ 2, 0, 1, 6, 5, 28, },
-+	{ 1, 0, 1, 6, 5, 28, },
-+	{ 0, 0, 1, 6, 6, 28, },
-+	{ 2, 0, 1, 6, 6, 28, },
-+	{ 1, 0, 1, 6, 6, 28, },
-+	{ 0, 0, 1, 6, 7, 28, },
-+	{ 2, 0, 1, 6, 7, 28, },
-+	{ 1, 0, 1, 6, 7, 28, },
-+	{ 0, 0, 1, 6, 8, 28, },
-+	{ 2, 0, 1, 6, 8, 28, },
-+	{ 1, 0, 1, 6, 8, 28, },
-+	{ 0, 0, 1, 6, 9, 28, },
-+	{ 2, 0, 1, 6, 9, 28, },
-+	{ 1, 0, 1, 6, 9, 28, },
-+	{ 0, 0, 1, 6, 10, 28, },
-+	{ 2, 0, 1, 6, 10, 28, },
-+	{ 1, 0, 1, 6, 10, 28, },
-+	{ 0, 0, 1, 6, 11, 24, },
-+	{ 2, 0, 1, 6, 11, 28, },
-+	{ 1, 0, 1, 6, 11, 28, },
-+	{ 0, 0, 1, 6, 12, 14, },
-+	{ 2, 0, 1, 6, 12, 28, },
-+	{ 1, 0, 1, 6, 12, 28, },
-+	{ 0, 0, 1, 6, 13, 8, },
-+	{ 2, 0, 1, 6, 13, 28, },
-+	{ 1, 0, 1, 6, 13, 28, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 22, },
-+	{ 2, 0, 1, 7, 3, 26, },
-+	{ 1, 0, 1, 7, 3, 26, },
-+	{ 0, 0, 1, 7, 4, 26, },
-+	{ 2, 0, 1, 7, 4, 26, },
-+	{ 1, 0, 1, 7, 4, 26, },
-+	{ 0, 0, 1, 7, 5, 26, },
-+	{ 2, 0, 1, 7, 5, 26, },
-+	{ 1, 0, 1, 7, 5, 26, },
-+	{ 0, 0, 1, 7, 6, 26, },
-+	{ 2, 0, 1, 7, 6, 26, },
-+	{ 1, 0, 1, 7, 6, 26, },
-+	{ 0, 0, 1, 7, 7, 26, },
-+	{ 2, 0, 1, 7, 7, 26, },
-+	{ 1, 0, 1, 7, 7, 26, },
-+	{ 0, 0, 1, 7, 8, 26, },
-+	{ 2, 0, 1, 7, 8, 26, },
-+	{ 1, 0, 1, 7, 8, 26, },
-+	{ 0, 0, 1, 7, 9, 26, },
-+	{ 2, 0, 1, 7, 9, 26, },
-+	{ 1, 0, 1, 7, 9, 26, },
-+	{ 0, 0, 1, 7, 10, 26, },
-+	{ 2, 0, 1, 7, 10, 26, },
-+	{ 1, 0, 1, 7, 10, 26, },
-+	{ 0, 0, 1, 7, 11, 22, },
-+	{ 2, 0, 1, 7, 11, 26, },
-+	{ 1, 0, 1, 7, 11, 26, },
-+	{ 0, 0, 1, 7, 12, 14, },
-+	{ 2, 0, 1, 7, 12, 26, },
-+	{ 1, 0, 1, 7, 12, 26, },
-+	{ 0, 0, 1, 7, 13, 8, },
-+	{ 2, 0, 1, 7, 13, 26, },
-+	{ 1, 0, 1, 7, 13, 26, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 28, },
-+	{ 2, 1, 0, 1, 36, 32, },
-+	{ 1, 1, 0, 1, 36, 32, },
-+	{ 0, 1, 0, 1, 40, 32, },
-+	{ 2, 1, 0, 1, 40, 32, },
-+	{ 1, 1, 0, 1, 40, 32, },
-+	{ 0, 1, 0, 1, 44, 32, },
-+	{ 2, 1, 0, 1, 44, 32, },
-+	{ 1, 1, 0, 1, 44, 32, },
-+	{ 0, 1, 0, 1, 48, 32, },
-+	{ 2, 1, 0, 1, 48, 32, },
-+	{ 1, 1, 0, 1, 48, 32, },
-+	{ 0, 1, 0, 1, 52, 32, },
-+	{ 2, 1, 0, 1, 52, 32, },
-+	{ 1, 1, 0, 1, 52, 32, },
-+	{ 0, 1, 0, 1, 56, 32, },
-+	{ 2, 1, 0, 1, 56, 32, },
-+	{ 1, 1, 0, 1, 56, 32, },
-+	{ 0, 1, 0, 1, 60, 32, },
-+	{ 2, 1, 0, 1, 60, 32, },
-+	{ 1, 1, 0, 1, 60, 32, },
-+	{ 0, 1, 0, 1, 64, 30, },
-+	{ 2, 1, 0, 1, 64, 32, },
-+	{ 1, 1, 0, 1, 64, 32, },
-+	{ 0, 1, 0, 1, 100, 28, },
-+	{ 2, 1, 0, 1, 100, 32, },
-+	{ 1, 1, 0, 1, 100, 32, },
-+	{ 0, 1, 0, 1, 104, 32, },
-+	{ 2, 1, 0, 1, 104, 32, },
-+	{ 1, 1, 0, 1, 104, 32, },
-+	{ 0, 1, 0, 1, 108, 32, },
-+	{ 2, 1, 0, 1, 108, 32, },
-+	{ 1, 1, 0, 1, 108, 32, },
-+	{ 0, 1, 0, 1, 112, 32, },
-+	{ 2, 1, 0, 1, 112, 32, },
-+	{ 1, 1, 0, 1, 112, 32, },
-+	{ 0, 1, 0, 1, 116, 32, },
-+	{ 2, 1, 0, 1, 116, 32, },
-+	{ 1, 1, 0, 1, 116, 32, },
-+	{ 0, 1, 0, 1, 120, 32, },
-+	{ 2, 1, 0, 1, 120, 32, },
-+	{ 1, 1, 0, 1, 120, 32, },
-+	{ 0, 1, 0, 1, 124, 32, },
-+	{ 2, 1, 0, 1, 124, 32, },
-+	{ 1, 1, 0, 1, 124, 32, },
-+	{ 0, 1, 0, 1, 128, 32, },
-+	{ 2, 1, 0, 1, 128, 32, },
-+	{ 1, 1, 0, 1, 128, 32, },
-+	{ 0, 1, 0, 1, 132, 32, },
-+	{ 2, 1, 0, 1, 132, 32, },
-+	{ 1, 1, 0, 1, 132, 32, },
-+	{ 0, 1, 0, 1, 136, 32, },
-+	{ 2, 1, 0, 1, 136, 32, },
-+	{ 1, 1, 0, 1, 136, 32, },
-+	{ 0, 1, 0, 1, 140, 28, },
-+	{ 2, 1, 0, 1, 140, 32, },
-+	{ 1, 1, 0, 1, 140, 32, },
-+	{ 0, 1, 0, 1, 149, 28, },
-+	{ 2, 1, 0, 1, 149, 32, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 32, },
-+	{ 2, 1, 0, 1, 153, 32, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 32, },
-+	{ 2, 1, 0, 1, 157, 32, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 32, },
-+	{ 2, 1, 0, 1, 161, 32, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 32, },
-+	{ 2, 1, 0, 1, 165, 32, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 28, },
-+	{ 2, 1, 0, 2, 36, 32, },
-+	{ 1, 1, 0, 2, 36, 32, },
-+	{ 0, 1, 0, 2, 40, 32, },
-+	{ 2, 1, 0, 2, 40, 32, },
-+	{ 1, 1, 0, 2, 40, 32, },
-+	{ 0, 1, 0, 2, 44, 32, },
-+	{ 2, 1, 0, 2, 44, 32, },
-+	{ 1, 1, 0, 2, 44, 32, },
-+	{ 0, 1, 0, 2, 48, 32, },
-+	{ 2, 1, 0, 2, 48, 32, },
-+	{ 1, 1, 0, 2, 48, 32, },
-+	{ 0, 1, 0, 2, 52, 32, },
-+	{ 2, 1, 0, 2, 52, 32, },
-+	{ 1, 1, 0, 2, 52, 32, },
-+	{ 0, 1, 0, 2, 56, 32, },
-+	{ 2, 1, 0, 2, 56, 32, },
-+	{ 1, 1, 0, 2, 56, 32, },
-+	{ 0, 1, 0, 2, 60, 32, },
-+	{ 2, 1, 0, 2, 60, 32, },
-+	{ 1, 1, 0, 2, 60, 32, },
-+	{ 0, 1, 0, 2, 64, 30, },
-+	{ 2, 1, 0, 2, 64, 32, },
-+	{ 1, 1, 0, 2, 64, 32, },
-+	{ 0, 1, 0, 2, 100, 28, },
-+	{ 2, 1, 0, 2, 100, 32, },
-+	{ 1, 1, 0, 2, 100, 32, },
-+	{ 0, 1, 0, 2, 104, 32, },
-+	{ 2, 1, 0, 2, 104, 32, },
-+	{ 1, 1, 0, 2, 104, 32, },
-+	{ 0, 1, 0, 2, 108, 32, },
-+	{ 2, 1, 0, 2, 108, 32, },
-+	{ 1, 1, 0, 2, 108, 32, },
-+	{ 0, 1, 0, 2, 112, 32, },
-+	{ 2, 1, 0, 2, 112, 32, },
-+	{ 1, 1, 0, 2, 112, 32, },
-+	{ 0, 1, 0, 2, 116, 32, },
-+	{ 2, 1, 0, 2, 116, 32, },
-+	{ 1, 1, 0, 2, 116, 32, },
-+	{ 0, 1, 0, 2, 120, 32, },
-+	{ 2, 1, 0, 2, 120, 32, },
-+	{ 1, 1, 0, 2, 120, 32, },
-+	{ 0, 1, 0, 2, 124, 32, },
-+	{ 2, 1, 0, 2, 124, 32, },
-+	{ 1, 1, 0, 2, 124, 32, },
-+	{ 0, 1, 0, 2, 128, 32, },
-+	{ 2, 1, 0, 2, 128, 32, },
-+	{ 1, 1, 0, 2, 128, 32, },
-+	{ 0, 1, 0, 2, 132, 32, },
-+	{ 2, 1, 0, 2, 132, 32, },
-+	{ 1, 1, 0, 2, 132, 32, },
-+	{ 0, 1, 0, 2, 136, 32, },
-+	{ 2, 1, 0, 2, 136, 32, },
-+	{ 1, 1, 0, 2, 136, 32, },
-+	{ 0, 1, 0, 2, 140, 28, },
-+	{ 2, 1, 0, 2, 140, 32, },
-+	{ 1, 1, 0, 2, 140, 32, },
-+	{ 0, 1, 0, 2, 149, 28, },
-+	{ 2, 1, 0, 2, 149, 32, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 32, },
-+	{ 2, 1, 0, 2, 153, 32, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 32, },
-+	{ 2, 1, 0, 2, 157, 32, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 32, },
-+	{ 2, 1, 0, 2, 161, 32, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 32, },
-+	{ 2, 1, 0, 2, 165, 32, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 26, },
-+	{ 2, 1, 0, 3, 36, 30, },
-+	{ 1, 1, 0, 3, 36, 30, },
-+	{ 0, 1, 0, 3, 40, 30, },
-+	{ 2, 1, 0, 3, 40, 30, },
-+	{ 1, 1, 0, 3, 40, 30, },
-+	{ 0, 1, 0, 3, 44, 30, },
-+	{ 2, 1, 0, 3, 44, 30, },
-+	{ 1, 1, 0, 3, 44, 30, },
-+	{ 0, 1, 0, 3, 48, 30, },
-+	{ 2, 1, 0, 3, 48, 30, },
-+	{ 1, 1, 0, 3, 48, 30, },
-+	{ 0, 1, 0, 3, 52, 30, },
-+	{ 2, 1, 0, 3, 52, 30, },
-+	{ 1, 1, 0, 3, 52, 30, },
-+	{ 0, 1, 0, 3, 56, 30, },
-+	{ 2, 1, 0, 3, 56, 30, },
-+	{ 1, 1, 0, 3, 56, 30, },
-+	{ 0, 1, 0, 3, 60, 30, },
-+	{ 2, 1, 0, 3, 60, 30, },
-+	{ 1, 1, 0, 3, 60, 30, },
-+	{ 0, 1, 0, 3, 64, 28, },
-+	{ 2, 1, 0, 3, 64, 30, },
-+	{ 1, 1, 0, 3, 64, 30, },
-+	{ 0, 1, 0, 3, 100, 28, },
-+	{ 2, 1, 0, 3, 100, 30, },
-+	{ 1, 1, 0, 3, 100, 30, },
-+	{ 0, 1, 0, 3, 104, 30, },
-+	{ 2, 1, 0, 3, 104, 30, },
-+	{ 1, 1, 0, 3, 104, 30, },
-+	{ 0, 1, 0, 3, 108, 30, },
-+	{ 2, 1, 0, 3, 108, 30, },
-+	{ 1, 1, 0, 3, 108, 30, },
-+	{ 0, 1, 0, 3, 112, 30, },
-+	{ 2, 1, 0, 3, 112, 30, },
-+	{ 1, 1, 0, 3, 112, 30, },
-+	{ 0, 1, 0, 3, 116, 30, },
-+	{ 2, 1, 0, 3, 116, 30, },
-+	{ 1, 1, 0, 3, 116, 30, },
-+	{ 0, 1, 0, 3, 120, 30, },
-+	{ 2, 1, 0, 3, 120, 30, },
-+	{ 1, 1, 0, 3, 120, 30, },
-+	{ 0, 1, 0, 3, 124, 30, },
-+	{ 2, 1, 0, 3, 124, 30, },
-+	{ 1, 1, 0, 3, 124, 30, },
-+	{ 0, 1, 0, 3, 128, 30, },
-+	{ 2, 1, 0, 3, 128, 30, },
-+	{ 1, 1, 0, 3, 128, 30, },
-+	{ 0, 1, 0, 3, 132, 30, },
-+	{ 2, 1, 0, 3, 132, 30, },
-+	{ 1, 1, 0, 3, 132, 30, },
-+	{ 0, 1, 0, 3, 136, 30, },
-+	{ 2, 1, 0, 3, 136, 30, },
-+	{ 1, 1, 0, 3, 136, 30, },
-+	{ 0, 1, 0, 3, 140, 26, },
-+	{ 2, 1, 0, 3, 140, 30, },
-+	{ 1, 1, 0, 3, 140, 30, },
-+	{ 0, 1, 0, 3, 149, 26, },
-+	{ 2, 1, 0, 3, 149, 30, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 30, },
-+	{ 2, 1, 0, 3, 153, 30, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 30, },
-+	{ 2, 1, 0, 3, 157, 30, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 30, },
-+	{ 2, 1, 0, 3, 161, 30, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 30, },
-+	{ 2, 1, 0, 3, 165, 30, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 24, },
-+	{ 2, 1, 0, 6, 36, 28, },
-+	{ 1, 1, 0, 6, 36, 28, },
-+	{ 0, 1, 0, 6, 40, 28, },
-+	{ 2, 1, 0, 6, 40, 28, },
-+	{ 1, 1, 0, 6, 40, 28, },
-+	{ 0, 1, 0, 6, 44, 28, },
-+	{ 2, 1, 0, 6, 44, 28, },
-+	{ 1, 1, 0, 6, 44, 28, },
-+	{ 0, 1, 0, 6, 48, 28, },
-+	{ 2, 1, 0, 6, 48, 28, },
-+	{ 1, 1, 0, 6, 48, 28, },
-+	{ 0, 1, 0, 6, 52, 28, },
-+	{ 2, 1, 0, 6, 52, 28, },
-+	{ 1, 1, 0, 6, 52, 28, },
-+	{ 0, 1, 0, 6, 56, 28, },
-+	{ 2, 1, 0, 6, 56, 28, },
-+	{ 1, 1, 0, 6, 56, 28, },
-+	{ 0, 1, 0, 6, 60, 28, },
-+	{ 2, 1, 0, 6, 60, 28, },
-+	{ 1, 1, 0, 6, 60, 28, },
-+	{ 0, 1, 0, 6, 64, 26, },
-+	{ 2, 1, 0, 6, 64, 28, },
-+	{ 1, 1, 0, 6, 64, 28, },
-+	{ 0, 1, 0, 6, 100, 24, },
-+	{ 2, 1, 0, 6, 100, 28, },
-+	{ 1, 1, 0, 6, 100, 28, },
-+	{ 0, 1, 0, 6, 104, 28, },
-+	{ 2, 1, 0, 6, 104, 28, },
-+	{ 1, 1, 0, 6, 104, 28, },
-+	{ 0, 1, 0, 6, 108, 28, },
-+	{ 2, 1, 0, 6, 108, 28, },
-+	{ 1, 1, 0, 6, 108, 28, },
-+	{ 0, 1, 0, 6, 112, 28, },
-+	{ 2, 1, 0, 6, 112, 28, },
-+	{ 1, 1, 0, 6, 112, 28, },
-+	{ 0, 1, 0, 6, 116, 28, },
-+	{ 2, 1, 0, 6, 116, 28, },
-+	{ 1, 1, 0, 6, 116, 28, },
-+	{ 0, 1, 0, 6, 120, 28, },
-+	{ 2, 1, 0, 6, 120, 28, },
-+	{ 1, 1, 0, 6, 120, 28, },
-+	{ 0, 1, 0, 6, 124, 28, },
-+	{ 2, 1, 0, 6, 124, 28, },
-+	{ 1, 1, 0, 6, 124, 28, },
-+	{ 0, 1, 0, 6, 128, 28, },
-+	{ 2, 1, 0, 6, 128, 28, },
-+	{ 1, 1, 0, 6, 128, 28, },
-+	{ 0, 1, 0, 6, 132, 28, },
-+	{ 2, 1, 0, 6, 132, 28, },
-+	{ 1, 1, 0, 6, 132, 28, },
-+	{ 0, 1, 0, 6, 136, 28, },
-+	{ 2, 1, 0, 6, 136, 28, },
-+	{ 1, 1, 0, 6, 136, 28, },
-+	{ 0, 1, 0, 6, 140, 24, },
-+	{ 2, 1, 0, 6, 140, 28, },
-+	{ 1, 1, 0, 6, 140, 28, },
-+	{ 0, 1, 0, 6, 149, 24, },
-+	{ 2, 1, 0, 6, 149, 28, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 28, },
-+	{ 2, 1, 0, 6, 153, 28, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 28, },
-+	{ 2, 1, 0, 6, 157, 28, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 28, },
-+	{ 2, 1, 0, 6, 161, 28, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 28, },
-+	{ 2, 1, 0, 6, 165, 28, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 22, },
-+	{ 2, 1, 0, 7, 36, 26, },
-+	{ 1, 1, 0, 7, 36, 26, },
-+	{ 0, 1, 0, 7, 40, 26, },
-+	{ 2, 1, 0, 7, 40, 26, },
-+	{ 1, 1, 0, 7, 40, 26, },
-+	{ 0, 1, 0, 7, 44, 26, },
-+	{ 2, 1, 0, 7, 44, 26, },
-+	{ 1, 1, 0, 7, 44, 26, },
-+	{ 0, 1, 0, 7, 48, 26, },
-+	{ 2, 1, 0, 7, 48, 26, },
-+	{ 1, 1, 0, 7, 48, 26, },
-+	{ 0, 1, 0, 7, 52, 26, },
-+	{ 2, 1, 0, 7, 52, 26, },
-+	{ 1, 1, 0, 7, 52, 26, },
-+	{ 0, 1, 0, 7, 56, 26, },
-+	{ 2, 1, 0, 7, 56, 26, },
-+	{ 1, 1, 0, 7, 56, 26, },
-+	{ 0, 1, 0, 7, 60, 26, },
-+	{ 2, 1, 0, 7, 60, 26, },
-+	{ 1, 1, 0, 7, 60, 26, },
-+	{ 0, 1, 0, 7, 64, 24, },
-+	{ 2, 1, 0, 7, 64, 26, },
-+	{ 1, 1, 0, 7, 64, 26, },
-+	{ 0, 1, 0, 7, 100, 22, },
-+	{ 2, 1, 0, 7, 100, 26, },
-+	{ 1, 1, 0, 7, 100, 26, },
-+	{ 0, 1, 0, 7, 104, 26, },
-+	{ 2, 1, 0, 7, 104, 26, },
-+	{ 1, 1, 0, 7, 104, 26, },
-+	{ 0, 1, 0, 7, 108, 26, },
-+	{ 2, 1, 0, 7, 108, 26, },
-+	{ 1, 1, 0, 7, 108, 26, },
-+	{ 0, 1, 0, 7, 112, 26, },
-+	{ 2, 1, 0, 7, 112, 26, },
-+	{ 1, 1, 0, 7, 112, 26, },
-+	{ 0, 1, 0, 7, 116, 26, },
-+	{ 2, 1, 0, 7, 116, 26, },
-+	{ 1, 1, 0, 7, 116, 26, },
-+	{ 0, 1, 0, 7, 120, 26, },
-+	{ 2, 1, 0, 7, 120, 26, },
-+	{ 1, 1, 0, 7, 120, 26, },
-+	{ 0, 1, 0, 7, 124, 26, },
-+	{ 2, 1, 0, 7, 124, 26, },
-+	{ 1, 1, 0, 7, 124, 26, },
-+	{ 0, 1, 0, 7, 128, 26, },
-+	{ 2, 1, 0, 7, 128, 26, },
-+	{ 1, 1, 0, 7, 128, 26, },
-+	{ 0, 1, 0, 7, 132, 26, },
-+	{ 2, 1, 0, 7, 132, 26, },
-+	{ 1, 1, 0, 7, 132, 26, },
-+	{ 0, 1, 0, 7, 136, 26, },
-+	{ 2, 1, 0, 7, 136, 26, },
-+	{ 1, 1, 0, 7, 136, 26, },
-+	{ 0, 1, 0, 7, 140, 22, },
-+	{ 2, 1, 0, 7, 140, 26, },
-+	{ 1, 1, 0, 7, 140, 26, },
-+	{ 0, 1, 0, 7, 149, 22, },
-+	{ 2, 1, 0, 7, 149, 26, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 26, },
-+	{ 2, 1, 0, 7, 153, 26, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 26, },
-+	{ 2, 1, 0, 7, 157, 26, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 26, },
-+	{ 2, 1, 0, 7, 161, 26, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 26, },
-+	{ 2, 1, 0, 7, 165, 26, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 28, },
-+	{ 2, 1, 1, 2, 38, 32, },
-+	{ 1, 1, 1, 2, 38, 32, },
-+	{ 0, 1, 1, 2, 46, 32, },
-+	{ 2, 1, 1, 2, 46, 32, },
-+	{ 1, 1, 1, 2, 46, 32, },
-+	{ 0, 1, 1, 2, 54, 32, },
-+	{ 2, 1, 1, 2, 54, 32, },
-+	{ 1, 1, 1, 2, 54, 32, },
-+	{ 0, 1, 1, 2, 62, 28, },
-+	{ 2, 1, 1, 2, 62, 32, },
-+	{ 1, 1, 1, 2, 62, 32, },
-+	{ 0, 1, 1, 2, 102, 28, },
-+	{ 2, 1, 1, 2, 102, 32, },
-+	{ 1, 1, 1, 2, 102, 32, },
-+	{ 0, 1, 1, 2, 110, 32, },
-+	{ 2, 1, 1, 2, 110, 32, },
-+	{ 1, 1, 1, 2, 110, 32, },
-+	{ 0, 1, 1, 2, 118, 32, },
-+	{ 2, 1, 1, 2, 118, 32, },
-+	{ 1, 1, 1, 2, 118, 32, },
-+	{ 0, 1, 1, 2, 126, 32, },
-+	{ 2, 1, 1, 2, 126, 32, },
-+	{ 1, 1, 1, 2, 126, 32, },
-+	{ 0, 1, 1, 2, 134, 30, },
-+	{ 2, 1, 1, 2, 134, 32, },
-+	{ 1, 1, 1, 2, 134, 32, },
-+	{ 0, 1, 1, 2, 151, 28, },
-+	{ 2, 1, 1, 2, 151, 32, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 32, },
-+	{ 2, 1, 1, 2, 159, 32, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 26, },
-+	{ 2, 1, 1, 3, 38, 30, },
-+	{ 1, 1, 1, 3, 38, 30, },
-+	{ 0, 1, 1, 3, 46, 30, },
-+	{ 2, 1, 1, 3, 46, 30, },
-+	{ 1, 1, 1, 3, 46, 30, },
-+	{ 0, 1, 1, 3, 54, 30, },
-+	{ 2, 1, 1, 3, 54, 30, },
-+	{ 1, 1, 1, 3, 54, 30, },
-+	{ 0, 1, 1, 3, 62, 26, },
-+	{ 2, 1, 1, 3, 62, 30, },
-+	{ 1, 1, 1, 3, 62, 30, },
-+	{ 0, 1, 1, 3, 102, 26, },
-+	{ 2, 1, 1, 3, 102, 30, },
-+	{ 1, 1, 1, 3, 102, 30, },
-+	{ 0, 1, 1, 3, 110, 30, },
-+	{ 2, 1, 1, 3, 110, 30, },
-+	{ 1, 1, 1, 3, 110, 30, },
-+	{ 0, 1, 1, 3, 118, 30, },
-+	{ 2, 1, 1, 3, 118, 30, },
-+	{ 1, 1, 1, 3, 118, 30, },
-+	{ 0, 1, 1, 3, 126, 30, },
-+	{ 2, 1, 1, 3, 126, 30, },
-+	{ 1, 1, 1, 3, 126, 30, },
-+	{ 0, 1, 1, 3, 134, 28, },
-+	{ 2, 1, 1, 3, 134, 30, },
-+	{ 1, 1, 1, 3, 134, 30, },
-+	{ 0, 1, 1, 3, 151, 26, },
-+	{ 2, 1, 1, 3, 151, 30, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 30, },
-+	{ 2, 1, 1, 3, 159, 30, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 20, },
-+	{ 2, 1, 1, 6, 38, 28, },
-+	{ 1, 1, 1, 6, 38, 28, },
-+	{ 0, 1, 1, 6, 46, 28, },
-+	{ 2, 1, 1, 6, 46, 28, },
-+	{ 1, 1, 1, 6, 46, 28, },
-+	{ 0, 1, 1, 6, 54, 28, },
-+	{ 2, 1, 1, 6, 54, 28, },
-+	{ 1, 1, 1, 6, 54, 28, },
-+	{ 0, 1, 1, 6, 62, 20, },
-+	{ 2, 1, 1, 6, 62, 28, },
-+	{ 1, 1, 1, 6, 62, 28, },
-+	{ 0, 1, 1, 6, 102, 22, },
-+	{ 2, 1, 1, 6, 102, 28, },
-+	{ 1, 1, 1, 6, 102, 28, },
-+	{ 0, 1, 1, 6, 110, 28, },
-+	{ 2, 1, 1, 6, 110, 28, },
-+	{ 1, 1, 1, 6, 110, 28, },
-+	{ 0, 1, 1, 6, 118, 28, },
-+	{ 2, 1, 1, 6, 118, 28, },
-+	{ 1, 1, 1, 6, 118, 28, },
-+	{ 0, 1, 1, 6, 126, 28, },
-+	{ 2, 1, 1, 6, 126, 28, },
-+	{ 1, 1, 1, 6, 126, 28, },
-+	{ 0, 1, 1, 6, 134, 26, },
-+	{ 2, 1, 1, 6, 134, 28, },
-+	{ 1, 1, 1, 6, 134, 28, },
-+	{ 0, 1, 1, 6, 151, 22, },
-+	{ 2, 1, 1, 6, 151, 28, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 28, },
-+	{ 2, 1, 1, 6, 159, 28, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 18, },
-+	{ 2, 1, 1, 7, 38, 26, },
-+	{ 1, 1, 1, 7, 38, 26, },
-+	{ 0, 1, 1, 7, 46, 26, },
-+	{ 2, 1, 1, 7, 46, 26, },
-+	{ 1, 1, 1, 7, 46, 26, },
-+	{ 0, 1, 1, 7, 54, 26, },
-+	{ 2, 1, 1, 7, 54, 26, },
-+	{ 1, 1, 1, 7, 54, 26, },
-+	{ 0, 1, 1, 7, 62, 18, },
-+	{ 2, 1, 1, 7, 62, 26, },
-+	{ 1, 1, 1, 7, 62, 26, },
-+	{ 0, 1, 1, 7, 102, 20, },
-+	{ 2, 1, 1, 7, 102, 26, },
-+	{ 1, 1, 1, 7, 102, 26, },
-+	{ 0, 1, 1, 7, 110, 26, },
-+	{ 2, 1, 1, 7, 110, 26, },
-+	{ 1, 1, 1, 7, 110, 26, },
-+	{ 0, 1, 1, 7, 118, 26, },
-+	{ 2, 1, 1, 7, 118, 26, },
-+	{ 1, 1, 1, 7, 118, 26, },
-+	{ 0, 1, 1, 7, 126, 26, },
-+	{ 2, 1, 1, 7, 126, 26, },
-+	{ 1, 1, 1, 7, 126, 26, },
-+	{ 0, 1, 1, 7, 134, 24, },
-+	{ 2, 1, 1, 7, 134, 26, },
-+	{ 1, 1, 1, 7, 134, 26, },
-+	{ 0, 1, 1, 7, 151, 20, },
-+	{ 2, 1, 1, 7, 151, 26, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 26, },
-+	{ 2, 1, 1, 7, 159, 26, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 24, },
-+	{ 2, 1, 2, 4, 42, 32, },
-+	{ 1, 1, 2, 4, 42, 32, },
-+	{ 0, 1, 2, 4, 58, 24, },
-+	{ 2, 1, 2, 4, 58, 32, },
-+	{ 1, 1, 2, 4, 58, 32, },
-+	{ 0, 1, 2, 4, 106, 24, },
-+	{ 2, 1, 2, 4, 106, 32, },
-+	{ 1, 1, 2, 4, 106, 32, },
-+	{ 0, 1, 2, 4, 122, 32, },
-+	{ 2, 1, 2, 4, 122, 32, },
-+	{ 1, 1, 2, 4, 122, 32, },
-+	{ 0, 1, 2, 4, 155, 26, },
-+	{ 2, 1, 2, 4, 155, 32, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 22, },
-+	{ 2, 1, 2, 5, 42, 30, },
-+	{ 1, 1, 2, 5, 42, 30, },
-+	{ 0, 1, 2, 5, 58, 22, },
-+	{ 2, 1, 2, 5, 58, 30, },
-+	{ 1, 1, 2, 5, 58, 30, },
-+	{ 0, 1, 2, 5, 106, 22, },
-+	{ 2, 1, 2, 5, 106, 30, },
-+	{ 1, 1, 2, 5, 106, 30, },
-+	{ 0, 1, 2, 5, 122, 30, },
-+	{ 2, 1, 2, 5, 122, 30, },
-+	{ 1, 1, 2, 5, 122, 30, },
-+	{ 0, 1, 2, 5, 155, 24, },
-+	{ 2, 1, 2, 5, 155, 30, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 20, },
-+	{ 2, 1, 2, 8, 42, 28, },
-+	{ 1, 1, 2, 8, 42, 28, },
-+	{ 0, 1, 2, 8, 58, 20, },
-+	{ 2, 1, 2, 8, 58, 28, },
-+	{ 1, 1, 2, 8, 58, 28, },
-+	{ 0, 1, 2, 8, 106, 20, },
-+	{ 2, 1, 2, 8, 106, 28, },
-+	{ 1, 1, 2, 8, 106, 28, },
-+	{ 0, 1, 2, 8, 122, 28, },
-+	{ 2, 1, 2, 8, 122, 28, },
-+	{ 1, 1, 2, 8, 122, 28, },
-+	{ 0, 1, 2, 8, 155, 20, },
-+	{ 2, 1, 2, 8, 155, 28, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 18, },
-+	{ 2, 1, 2, 9, 42, 26, },
-+	{ 1, 1, 2, 9, 42, 26, },
-+	{ 0, 1, 2, 9, 58, 18, },
-+	{ 2, 1, 2, 9, 58, 26, },
-+	{ 1, 1, 2, 9, 58, 26, },
-+	{ 0, 1, 2, 9, 106, 18, },
-+	{ 2, 1, 2, 9, 106, 26, },
-+	{ 1, 1, 2, 9, 106, 26, },
-+	{ 0, 1, 2, 9, 122, 26, },
-+	{ 2, 1, 2, 9, 122, 26, },
-+	{ 1, 1, 2, 9, 122, 26, },
-+	{ 0, 1, 2, 9, 155, 18, },
-+	{ 2, 1, 2, 9, 155, 26, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type1);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type2[] = {
-+	{ 0, 0, 0, 0, 1, 42, },
-+	{ 2, 0, 0, 0, 1, 42, },
-+	{ 1, 0, 0, 0, 1, 42, },
-+	{ 0, 0, 0, 0, 2, 50, },
-+	{ 2, 0, 0, 0, 2, 42, },
-+	{ 1, 0, 0, 0, 2, 42, },
-+	{ 0, 0, 0, 0, 3, 50, },
-+	{ 2, 0, 0, 0, 3, 42, },
-+	{ 1, 0, 0, 0, 3, 42, },
-+	{ 0, 0, 0, 0, 4, 50, },
-+	{ 2, 0, 0, 0, 4, 42, },
-+	{ 1, 0, 0, 0, 4, 42, },
-+	{ 0, 0, 0, 0, 5, 50, },
-+	{ 2, 0, 0, 0, 5, 42, },
-+	{ 1, 0, 0, 0, 5, 42, },
-+	{ 0, 0, 0, 0, 6, 50, },
-+	{ 2, 0, 0, 0, 6, 42, },
-+	{ 1, 0, 0, 0, 6, 42, },
-+	{ 0, 0, 0, 0, 7, 50, },
-+	{ 2, 0, 0, 0, 7, 42, },
-+	{ 1, 0, 0, 0, 7, 42, },
-+	{ 0, 0, 0, 0, 8, 50, },
-+	{ 2, 0, 0, 0, 8, 42, },
-+	{ 1, 0, 0, 0, 8, 42, },
-+	{ 0, 0, 0, 0, 9, 50, },
-+	{ 2, 0, 0, 0, 9, 42, },
-+	{ 1, 0, 0, 0, 9, 42, },
-+	{ 0, 0, 0, 0, 10, 50, },
-+	{ 2, 0, 0, 0, 10, 42, },
-+	{ 1, 0, 0, 0, 10, 42, },
-+	{ 0, 0, 0, 0, 11, 44, },
-+	{ 2, 0, 0, 0, 11, 42, },
-+	{ 1, 0, 0, 0, 11, 42, },
-+	{ 0, 0, 0, 0, 12, 63, },
-+	{ 2, 0, 0, 0, 12, 42, },
-+	{ 1, 0, 0, 0, 12, 42, },
-+	{ 0, 0, 0, 0, 13, 63, },
-+	{ 2, 0, 0, 0, 13, 42, },
-+	{ 1, 0, 0, 0, 13, 42, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 42, },
-+	{ 0, 0, 0, 1, 1, 32, },
-+	{ 2, 0, 0, 1, 1, 42, },
-+	{ 1, 0, 0, 1, 1, 42, },
-+	{ 0, 0, 0, 1, 2, 42, },
-+	{ 2, 0, 0, 1, 2, 42, },
-+	{ 1, 0, 0, 1, 2, 42, },
-+	{ 0, 0, 0, 1, 3, 42, },
-+	{ 2, 0, 0, 1, 3, 42, },
-+	{ 1, 0, 0, 1, 3, 42, },
-+	{ 0, 0, 0, 1, 4, 42, },
-+	{ 2, 0, 0, 1, 4, 42, },
-+	{ 1, 0, 0, 1, 4, 42, },
-+	{ 0, 0, 0, 1, 5, 42, },
-+	{ 2, 0, 0, 1, 5, 42, },
-+	{ 1, 0, 0, 1, 5, 42, },
-+	{ 0, 0, 0, 1, 6, 42, },
-+	{ 2, 0, 0, 1, 6, 42, },
-+	{ 1, 0, 0, 1, 6, 42, },
-+	{ 0, 0, 0, 1, 7, 42, },
-+	{ 2, 0, 0, 1, 7, 42, },
-+	{ 1, 0, 0, 1, 7, 42, },
-+	{ 0, 0, 0, 1, 8, 42, },
-+	{ 2, 0, 0, 1, 8, 42, },
-+	{ 1, 0, 0, 1, 8, 42, },
-+	{ 0, 0, 0, 1, 9, 42, },
-+	{ 2, 0, 0, 1, 9, 42, },
-+	{ 1, 0, 0, 1, 9, 42, },
-+	{ 0, 0, 0, 1, 10, 42, },
-+	{ 2, 0, 0, 1, 10, 42, },
-+	{ 1, 0, 0, 1, 10, 42, },
-+	{ 0, 0, 0, 1, 11, 32, },
-+	{ 2, 0, 0, 1, 11, 42, },
-+	{ 1, 0, 0, 1, 11, 42, },
-+	{ 0, 0, 0, 1, 12, 63, },
-+	{ 2, 0, 0, 1, 12, 42, },
-+	{ 1, 0, 0, 1, 12, 42, },
-+	{ 0, 0, 0, 1, 13, 63, },
-+	{ 2, 0, 0, 1, 13, 42, },
-+	{ 1, 0, 0, 1, 13, 42, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 32, },
-+	{ 2, 0, 0, 2, 1, 42, },
-+	{ 1, 0, 0, 2, 1, 42, },
-+	{ 0, 0, 0, 2, 2, 40, },
-+	{ 2, 0, 0, 2, 2, 42, },
-+	{ 1, 0, 0, 2, 2, 42, },
-+	{ 0, 0, 0, 2, 3, 40, },
-+	{ 2, 0, 0, 2, 3, 42, },
-+	{ 1, 0, 0, 2, 3, 42, },
-+	{ 0, 0, 0, 2, 4, 40, },
-+	{ 2, 0, 0, 2, 4, 42, },
-+	{ 1, 0, 0, 2, 4, 42, },
-+	{ 0, 0, 0, 2, 5, 40, },
-+	{ 2, 0, 0, 2, 5, 42, },
-+	{ 1, 0, 0, 2, 5, 42, },
-+	{ 0, 0, 0, 2, 6, 40, },
-+	{ 2, 0, 0, 2, 6, 42, },
-+	{ 1, 0, 0, 2, 6, 42, },
-+	{ 0, 0, 0, 2, 7, 40, },
-+	{ 2, 0, 0, 2, 7, 42, },
-+	{ 1, 0, 0, 2, 7, 42, },
-+	{ 0, 0, 0, 2, 8, 40, },
-+	{ 2, 0, 0, 2, 8, 42, },
-+	{ 1, 0, 0, 2, 8, 42, },
-+	{ 0, 0, 0, 2, 9, 40, },
-+	{ 2, 0, 0, 2, 9, 42, },
-+	{ 1, 0, 0, 2, 9, 42, },
-+	{ 0, 0, 0, 2, 10, 40, },
-+	{ 2, 0, 0, 2, 10, 42, },
-+	{ 1, 0, 0, 2, 10, 42, },
-+	{ 0, 0, 0, 2, 11, 28, },
-+	{ 2, 0, 0, 2, 11, 42, },
-+	{ 1, 0, 0, 2, 11, 42, },
-+	{ 0, 0, 0, 2, 12, 63, },
-+	{ 2, 0, 0, 2, 12, 42, },
-+	{ 1, 0, 0, 2, 12, 42, },
-+	{ 0, 0, 0, 2, 13, 63, },
-+	{ 2, 0, 0, 2, 13, 42, },
-+	{ 1, 0, 0, 2, 13, 42, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 32, },
-+	{ 2, 0, 0, 3, 1, 40, },
-+	{ 1, 0, 0, 3, 1, 40, },
-+	{ 0, 0, 0, 3, 2, 40, },
-+	{ 2, 0, 0, 3, 2, 40, },
-+	{ 1, 0, 0, 3, 2, 40, },
-+	{ 0, 0, 0, 3, 3, 40, },
-+	{ 2, 0, 0, 3, 3, 40, },
-+	{ 1, 0, 0, 3, 3, 40, },
-+	{ 0, 0, 0, 3, 4, 40, },
-+	{ 2, 0, 0, 3, 4, 40, },
-+	{ 1, 0, 0, 3, 4, 40, },
-+	{ 0, 0, 0, 3, 5, 40, },
-+	{ 2, 0, 0, 3, 5, 40, },
-+	{ 1, 0, 0, 3, 5, 40, },
-+	{ 0, 0, 0, 3, 6, 40, },
-+	{ 2, 0, 0, 3, 6, 40, },
-+	{ 1, 0, 0, 3, 6, 40, },
-+	{ 0, 0, 0, 3, 7, 40, },
-+	{ 2, 0, 0, 3, 7, 40, },
-+	{ 1, 0, 0, 3, 7, 40, },
-+	{ 0, 0, 0, 3, 8, 40, },
-+	{ 2, 0, 0, 3, 8, 40, },
-+	{ 1, 0, 0, 3, 8, 40, },
-+	{ 0, 0, 0, 3, 9, 40, },
-+	{ 2, 0, 0, 3, 9, 40, },
-+	{ 1, 0, 0, 3, 9, 40, },
-+	{ 0, 0, 0, 3, 10, 40, },
-+	{ 2, 0, 0, 3, 10, 40, },
-+	{ 1, 0, 0, 3, 10, 40, },
-+	{ 0, 0, 0, 3, 11, 28, },
-+	{ 2, 0, 0, 3, 11, 40, },
-+	{ 1, 0, 0, 3, 11, 40, },
-+	{ 0, 0, 0, 3, 12, 63, },
-+	{ 2, 0, 0, 3, 12, 40, },
-+	{ 1, 0, 0, 3, 12, 40, },
-+	{ 0, 0, 0, 3, 13, 63, },
-+	{ 2, 0, 0, 3, 13, 40, },
-+	{ 1, 0, 0, 3, 13, 40, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 32, },
-+	{ 2, 0, 0, 6, 1, 40, },
-+	{ 1, 0, 0, 6, 1, 40, },
-+	{ 0, 0, 0, 6, 2, 40, },
-+	{ 2, 0, 0, 6, 2, 40, },
-+	{ 1, 0, 0, 6, 2, 40, },
-+	{ 0, 0, 0, 6, 3, 40, },
-+	{ 2, 0, 0, 6, 3, 40, },
-+	{ 1, 0, 0, 6, 3, 40, },
-+	{ 0, 0, 0, 6, 4, 40, },
-+	{ 2, 0, 0, 6, 4, 40, },
-+	{ 1, 0, 0, 6, 4, 40, },
-+	{ 0, 0, 0, 6, 5, 40, },
-+	{ 2, 0, 0, 6, 5, 40, },
-+	{ 1, 0, 0, 6, 5, 40, },
-+	{ 0, 0, 0, 6, 6, 40, },
-+	{ 2, 0, 0, 6, 6, 40, },
-+	{ 1, 0, 0, 6, 6, 40, },
-+	{ 0, 0, 0, 6, 7, 40, },
-+	{ 2, 0, 0, 6, 7, 40, },
-+	{ 1, 0, 0, 6, 7, 40, },
-+	{ 0, 0, 0, 6, 8, 40, },
-+	{ 2, 0, 0, 6, 8, 40, },
-+	{ 1, 0, 0, 6, 8, 40, },
-+	{ 0, 0, 0, 6, 9, 40, },
-+	{ 2, 0, 0, 6, 9, 40, },
-+	{ 1, 0, 0, 6, 9, 40, },
-+	{ 0, 0, 0, 6, 10, 40, },
-+	{ 2, 0, 0, 6, 10, 40, },
-+	{ 1, 0, 0, 6, 10, 40, },
-+	{ 0, 0, 0, 6, 11, 28, },
-+	{ 2, 0, 0, 6, 11, 40, },
-+	{ 1, 0, 0, 6, 11, 40, },
-+	{ 0, 0, 0, 6, 12, 63, },
-+	{ 2, 0, 0, 6, 12, 40, },
-+	{ 1, 0, 0, 6, 12, 40, },
-+	{ 0, 0, 0, 6, 13, 63, },
-+	{ 2, 0, 0, 6, 13, 40, },
-+	{ 1, 0, 0, 6, 13, 40, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 32, },
-+	{ 2, 0, 0, 7, 1, 40, },
-+	{ 1, 0, 0, 7, 1, 40, },
-+	{ 0, 0, 0, 7, 2, 40, },
-+	{ 2, 0, 0, 7, 2, 40, },
-+	{ 1, 0, 0, 7, 2, 40, },
-+	{ 0, 0, 0, 7, 3, 40, },
-+	{ 2, 0, 0, 7, 3, 40, },
-+	{ 1, 0, 0, 7, 3, 40, },
-+	{ 0, 0, 0, 7, 4, 40, },
-+	{ 2, 0, 0, 7, 4, 40, },
-+	{ 1, 0, 0, 7, 4, 40, },
-+	{ 0, 0, 0, 7, 5, 40, },
-+	{ 2, 0, 0, 7, 5, 40, },
-+	{ 1, 0, 0, 7, 5, 40, },
-+	{ 0, 0, 0, 7, 6, 40, },
-+	{ 2, 0, 0, 7, 6, 40, },
-+	{ 1, 0, 0, 7, 6, 40, },
-+	{ 0, 0, 0, 7, 7, 40, },
-+	{ 2, 0, 0, 7, 7, 40, },
-+	{ 1, 0, 0, 7, 7, 40, },
-+	{ 0, 0, 0, 7, 8, 40, },
-+	{ 2, 0, 0, 7, 8, 40, },
-+	{ 1, 0, 0, 7, 8, 40, },
-+	{ 0, 0, 0, 7, 9, 40, },
-+	{ 2, 0, 0, 7, 9, 40, },
-+	{ 1, 0, 0, 7, 9, 40, },
-+	{ 0, 0, 0, 7, 10, 40, },
-+	{ 2, 0, 0, 7, 10, 40, },
-+	{ 1, 0, 0, 7, 10, 40, },
-+	{ 0, 0, 0, 7, 11, 28, },
-+	{ 2, 0, 0, 7, 11, 40, },
-+	{ 1, 0, 0, 7, 11, 40, },
-+	{ 0, 0, 0, 7, 12, 63, },
-+	{ 2, 0, 0, 7, 12, 40, },
-+	{ 1, 0, 0, 7, 12, 40, },
-+	{ 0, 0, 0, 7, 13, 63, },
-+	{ 2, 0, 0, 7, 13, 40, },
-+	{ 1, 0, 0, 7, 13, 40, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 30, },
-+	{ 2, 0, 1, 2, 3, 34, },
-+	{ 1, 0, 1, 2, 3, 34, },
-+	{ 0, 0, 1, 2, 4, 34, },
-+	{ 2, 0, 1, 2, 4, 34, },
-+	{ 1, 0, 1, 2, 4, 34, },
-+	{ 0, 0, 1, 2, 5, 34, },
-+	{ 2, 0, 1, 2, 5, 34, },
-+	{ 1, 0, 1, 2, 5, 34, },
-+	{ 0, 0, 1, 2, 6, 34, },
-+	{ 2, 0, 1, 2, 6, 34, },
-+	{ 1, 0, 1, 2, 6, 34, },
-+	{ 0, 0, 1, 2, 7, 34, },
-+	{ 2, 0, 1, 2, 7, 34, },
-+	{ 1, 0, 1, 2, 7, 34, },
-+	{ 0, 0, 1, 2, 8, 34, },
-+	{ 2, 0, 1, 2, 8, 34, },
-+	{ 1, 0, 1, 2, 8, 34, },
-+	{ 0, 0, 1, 2, 9, 34, },
-+	{ 2, 0, 1, 2, 9, 34, },
-+	{ 1, 0, 1, 2, 9, 34, },
-+	{ 0, 0, 1, 2, 10, 34, },
-+	{ 2, 0, 1, 2, 10, 34, },
-+	{ 1, 0, 1, 2, 10, 34, },
-+	{ 0, 0, 1, 2, 11, 28, },
-+	{ 2, 0, 1, 2, 11, 34, },
-+	{ 1, 0, 1, 2, 11, 34, },
-+	{ 0, 0, 1, 2, 12, 63, },
-+	{ 2, 0, 1, 2, 12, 34, },
-+	{ 1, 0, 1, 2, 12, 34, },
-+	{ 0, 0, 1, 2, 13, 63, },
-+	{ 2, 0, 1, 2, 13, 34, },
-+	{ 1, 0, 1, 2, 13, 34, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 30, },
-+	{ 2, 0, 1, 3, 3, 34, },
-+	{ 1, 0, 1, 3, 3, 34, },
-+	{ 0, 0, 1, 3, 4, 34, },
-+	{ 2, 0, 1, 3, 4, 34, },
-+	{ 1, 0, 1, 3, 4, 34, },
-+	{ 0, 0, 1, 3, 5, 34, },
-+	{ 2, 0, 1, 3, 5, 34, },
-+	{ 1, 0, 1, 3, 5, 34, },
-+	{ 0, 0, 1, 3, 6, 34, },
-+	{ 2, 0, 1, 3, 6, 34, },
-+	{ 1, 0, 1, 3, 6, 34, },
-+	{ 0, 0, 1, 3, 7, 34, },
-+	{ 2, 0, 1, 3, 7, 34, },
-+	{ 1, 0, 1, 3, 7, 34, },
-+	{ 0, 0, 1, 3, 8, 34, },
-+	{ 2, 0, 1, 3, 8, 34, },
-+	{ 1, 0, 1, 3, 8, 34, },
-+	{ 0, 0, 1, 3, 9, 34, },
-+	{ 2, 0, 1, 3, 9, 34, },
-+	{ 1, 0, 1, 3, 9, 34, },
-+	{ 0, 0, 1, 3, 10, 34, },
-+	{ 2, 0, 1, 3, 10, 34, },
-+	{ 1, 0, 1, 3, 10, 34, },
-+	{ 0, 0, 1, 3, 11, 28, },
-+	{ 2, 0, 1, 3, 11, 34, },
-+	{ 1, 0, 1, 3, 11, 34, },
-+	{ 0, 0, 1, 3, 12, 63, },
-+	{ 2, 0, 1, 3, 12, 34, },
-+	{ 1, 0, 1, 3, 12, 34, },
-+	{ 0, 0, 1, 3, 13, 63, },
-+	{ 2, 0, 1, 3, 13, 34, },
-+	{ 1, 0, 1, 3, 13, 34, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 30, },
-+	{ 2, 0, 1, 6, 3, 34, },
-+	{ 1, 0, 1, 6, 3, 34, },
-+	{ 0, 0, 1, 6, 4, 34, },
-+	{ 2, 0, 1, 6, 4, 34, },
-+	{ 1, 0, 1, 6, 4, 34, },
-+	{ 0, 0, 1, 6, 5, 34, },
-+	{ 2, 0, 1, 6, 5, 34, },
-+	{ 1, 0, 1, 6, 5, 34, },
-+	{ 0, 0, 1, 6, 6, 34, },
-+	{ 2, 0, 1, 6, 6, 34, },
-+	{ 1, 0, 1, 6, 6, 34, },
-+	{ 0, 0, 1, 6, 7, 34, },
-+	{ 2, 0, 1, 6, 7, 34, },
-+	{ 1, 0, 1, 6, 7, 34, },
-+	{ 0, 0, 1, 6, 8, 34, },
-+	{ 2, 0, 1, 6, 8, 34, },
-+	{ 1, 0, 1, 6, 8, 34, },
-+	{ 0, 0, 1, 6, 9, 34, },
-+	{ 2, 0, 1, 6, 9, 34, },
-+	{ 1, 0, 1, 6, 9, 34, },
-+	{ 0, 0, 1, 6, 10, 34, },
-+	{ 2, 0, 1, 6, 10, 34, },
-+	{ 1, 0, 1, 6, 10, 34, },
-+	{ 0, 0, 1, 6, 11, 28, },
-+	{ 2, 0, 1, 6, 11, 34, },
-+	{ 1, 0, 1, 6, 11, 34, },
-+	{ 0, 0, 1, 6, 12, 63, },
-+	{ 2, 0, 1, 6, 12, 34, },
-+	{ 1, 0, 1, 6, 12, 34, },
-+	{ 0, 0, 1, 6, 13, 63, },
-+	{ 2, 0, 1, 6, 13, 34, },
-+	{ 1, 0, 1, 6, 13, 34, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 30, },
-+	{ 2, 0, 1, 7, 3, 34, },
-+	{ 1, 0, 1, 7, 3, 34, },
-+	{ 0, 0, 1, 7, 4, 34, },
-+	{ 2, 0, 1, 7, 4, 34, },
-+	{ 1, 0, 1, 7, 4, 34, },
-+	{ 0, 0, 1, 7, 5, 34, },
-+	{ 2, 0, 1, 7, 5, 34, },
-+	{ 1, 0, 1, 7, 5, 34, },
-+	{ 0, 0, 1, 7, 6, 34, },
-+	{ 2, 0, 1, 7, 6, 34, },
-+	{ 1, 0, 1, 7, 6, 34, },
-+	{ 0, 0, 1, 7, 7, 34, },
-+	{ 2, 0, 1, 7, 7, 34, },
-+	{ 1, 0, 1, 7, 7, 34, },
-+	{ 0, 0, 1, 7, 8, 34, },
-+	{ 2, 0, 1, 7, 8, 34, },
-+	{ 1, 0, 1, 7, 8, 34, },
-+	{ 0, 0, 1, 7, 9, 34, },
-+	{ 2, 0, 1, 7, 9, 34, },
-+	{ 1, 0, 1, 7, 9, 34, },
-+	{ 0, 0, 1, 7, 10, 34, },
-+	{ 2, 0, 1, 7, 10, 34, },
-+	{ 1, 0, 1, 7, 10, 34, },
-+	{ 0, 0, 1, 7, 11, 28, },
-+	{ 2, 0, 1, 7, 11, 34, },
-+	{ 1, 0, 1, 7, 11, 34, },
-+	{ 0, 0, 1, 7, 12, 63, },
-+	{ 2, 0, 1, 7, 12, 34, },
-+	{ 1, 0, 1, 7, 12, 34, },
-+	{ 0, 0, 1, 7, 13, 63, },
-+	{ 2, 0, 1, 7, 13, 34, },
-+	{ 1, 0, 1, 7, 13, 34, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 42, },
-+	{ 2, 1, 0, 1, 36, 42, },
-+	{ 1, 1, 0, 1, 36, 42, },
-+	{ 0, 1, 0, 1, 40, 42, },
-+	{ 2, 1, 0, 1, 40, 42, },
-+	{ 1, 1, 0, 1, 40, 42, },
-+	{ 0, 1, 0, 1, 44, 42, },
-+	{ 2, 1, 0, 1, 44, 42, },
-+	{ 1, 1, 0, 1, 44, 42, },
-+	{ 0, 1, 0, 1, 48, 42, },
-+	{ 2, 1, 0, 1, 48, 42, },
-+	{ 1, 1, 0, 1, 48, 42, },
-+	{ 0, 1, 0, 1, 52, 42, },
-+	{ 2, 1, 0, 1, 52, 42, },
-+	{ 1, 1, 0, 1, 52, 42, },
-+	{ 0, 1, 0, 1, 56, 42, },
-+	{ 2, 1, 0, 1, 56, 42, },
-+	{ 1, 1, 0, 1, 56, 42, },
-+	{ 0, 1, 0, 1, 60, 42, },
-+	{ 2, 1, 0, 1, 60, 42, },
-+	{ 1, 1, 0, 1, 60, 42, },
-+	{ 0, 1, 0, 1, 64, 42, },
-+	{ 2, 1, 0, 1, 64, 42, },
-+	{ 1, 1, 0, 1, 64, 42, },
-+	{ 0, 1, 0, 1, 100, 42, },
-+	{ 2, 1, 0, 1, 100, 42, },
-+	{ 1, 1, 0, 1, 100, 42, },
-+	{ 0, 1, 0, 1, 104, 42, },
-+	{ 2, 1, 0, 1, 104, 42, },
-+	{ 1, 1, 0, 1, 104, 42, },
-+	{ 0, 1, 0, 1, 108, 42, },
-+	{ 2, 1, 0, 1, 108, 42, },
-+	{ 1, 1, 0, 1, 108, 42, },
-+	{ 0, 1, 0, 1, 112, 42, },
-+	{ 2, 1, 0, 1, 112, 42, },
-+	{ 1, 1, 0, 1, 112, 42, },
-+	{ 0, 1, 0, 1, 116, 42, },
-+	{ 2, 1, 0, 1, 116, 42, },
-+	{ 1, 1, 0, 1, 116, 42, },
-+	{ 0, 1, 0, 1, 120, 42, },
-+	{ 2, 1, 0, 1, 120, 42, },
-+	{ 1, 1, 0, 1, 120, 42, },
-+	{ 0, 1, 0, 1, 124, 42, },
-+	{ 2, 1, 0, 1, 124, 42, },
-+	{ 1, 1, 0, 1, 124, 42, },
-+	{ 0, 1, 0, 1, 128, 42, },
-+	{ 2, 1, 0, 1, 128, 42, },
-+	{ 1, 1, 0, 1, 128, 42, },
-+	{ 0, 1, 0, 1, 132, 42, },
-+	{ 2, 1, 0, 1, 132, 42, },
-+	{ 1, 1, 0, 1, 132, 42, },
-+	{ 0, 1, 0, 1, 136, 42, },
-+	{ 2, 1, 0, 1, 136, 42, },
-+	{ 1, 1, 0, 1, 136, 42, },
-+	{ 0, 1, 0, 1, 140, 40, },
-+	{ 2, 1, 0, 1, 140, 40, },
-+	{ 1, 1, 0, 1, 140, 40, },
-+	{ 0, 1, 0, 1, 149, 44, },
-+	{ 2, 1, 0, 1, 149, 44, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 44, },
-+	{ 2, 1, 0, 1, 153, 44, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 44, },
-+	{ 2, 1, 0, 1, 157, 44, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 44, },
-+	{ 2, 1, 0, 1, 161, 44, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 44, },
-+	{ 2, 1, 0, 1, 165, 44, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 32, },
-+	{ 2, 1, 0, 2, 36, 32, },
-+	{ 1, 1, 0, 2, 36, 32, },
-+	{ 0, 1, 0, 2, 40, 32, },
-+	{ 2, 1, 0, 2, 40, 32, },
-+	{ 1, 1, 0, 2, 40, 32, },
-+	{ 0, 1, 0, 2, 44, 32, },
-+	{ 2, 1, 0, 2, 44, 32, },
-+	{ 1, 1, 0, 2, 44, 32, },
-+	{ 0, 1, 0, 2, 48, 36, },
-+	{ 2, 1, 0, 2, 48, 36, },
-+	{ 1, 1, 0, 2, 48, 36, },
-+	{ 0, 1, 0, 2, 52, 36, },
-+	{ 2, 1, 0, 2, 52, 36, },
-+	{ 1, 1, 0, 2, 52, 36, },
-+	{ 0, 1, 0, 2, 56, 32, },
-+	{ 2, 1, 0, 2, 56, 32, },
-+	{ 1, 1, 0, 2, 56, 32, },
-+	{ 0, 1, 0, 2, 60, 32, },
-+	{ 2, 1, 0, 2, 60, 32, },
-+	{ 1, 1, 0, 2, 60, 32, },
-+	{ 0, 1, 0, 2, 64, 32, },
-+	{ 2, 1, 0, 2, 64, 32, },
-+	{ 1, 1, 0, 2, 64, 32, },
-+	{ 0, 1, 0, 2, 100, 32, },
-+	{ 2, 1, 0, 2, 100, 32, },
-+	{ 1, 1, 0, 2, 100, 32, },
-+	{ 0, 1, 0, 2, 104, 32, },
-+	{ 2, 1, 0, 2, 104, 32, },
-+	{ 1, 1, 0, 2, 104, 32, },
-+	{ 0, 1, 0, 2, 108, 32, },
-+	{ 2, 1, 0, 2, 108, 32, },
-+	{ 1, 1, 0, 2, 108, 32, },
-+	{ 0, 1, 0, 2, 112, 32, },
-+	{ 2, 1, 0, 2, 112, 32, },
-+	{ 1, 1, 0, 2, 112, 32, },
-+	{ 0, 1, 0, 2, 116, 32, },
-+	{ 2, 1, 0, 2, 116, 32, },
-+	{ 1, 1, 0, 2, 116, 32, },
-+	{ 0, 1, 0, 2, 120, 32, },
-+	{ 2, 1, 0, 2, 120, 32, },
-+	{ 1, 1, 0, 2, 120, 32, },
-+	{ 0, 1, 0, 2, 124, 32, },
-+	{ 2, 1, 0, 2, 124, 32, },
-+	{ 1, 1, 0, 2, 124, 32, },
-+	{ 0, 1, 0, 2, 128, 32, },
-+	{ 2, 1, 0, 2, 128, 32, },
-+	{ 1, 1, 0, 2, 128, 32, },
-+	{ 0, 1, 0, 2, 132, 32, },
-+	{ 2, 1, 0, 2, 132, 32, },
-+	{ 1, 1, 0, 2, 132, 32, },
-+	{ 0, 1, 0, 2, 136, 32, },
-+	{ 2, 1, 0, 2, 136, 32, },
-+	{ 1, 1, 0, 2, 136, 32, },
-+	{ 0, 1, 0, 2, 140, 30, },
-+	{ 2, 1, 0, 2, 140, 30, },
-+	{ 1, 1, 0, 2, 140, 30, },
-+	{ 0, 1, 0, 2, 149, 40, },
-+	{ 2, 1, 0, 2, 149, 40, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 40, },
-+	{ 2, 1, 0, 2, 153, 40, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 40, },
-+	{ 2, 1, 0, 2, 157, 40, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 40, },
-+	{ 2, 1, 0, 2, 161, 40, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 42, },
-+	{ 2, 1, 0, 2, 165, 42, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 32, },
-+	{ 2, 1, 0, 3, 36, 32, },
-+	{ 1, 1, 0, 3, 36, 32, },
-+	{ 0, 1, 0, 3, 40, 32, },
-+	{ 2, 1, 0, 3, 40, 32, },
-+	{ 1, 1, 0, 3, 40, 32, },
-+	{ 0, 1, 0, 3, 44, 32, },
-+	{ 2, 1, 0, 3, 44, 32, },
-+	{ 1, 1, 0, 3, 44, 32, },
-+	{ 0, 1, 0, 3, 48, 36, },
-+	{ 2, 1, 0, 3, 48, 36, },
-+	{ 1, 1, 0, 3, 48, 36, },
-+	{ 0, 1, 0, 3, 52, 36, },
-+	{ 2, 1, 0, 3, 52, 36, },
-+	{ 1, 1, 0, 3, 52, 36, },
-+	{ 0, 1, 0, 3, 56, 32, },
-+	{ 2, 1, 0, 3, 56, 32, },
-+	{ 1, 1, 0, 3, 56, 32, },
-+	{ 0, 1, 0, 3, 60, 32, },
-+	{ 2, 1, 0, 3, 60, 32, },
-+	{ 1, 1, 0, 3, 60, 32, },
-+	{ 0, 1, 0, 3, 64, 32, },
-+	{ 2, 1, 0, 3, 64, 32, },
-+	{ 1, 1, 0, 3, 64, 32, },
-+	{ 0, 1, 0, 3, 100, 32, },
-+	{ 2, 1, 0, 3, 100, 32, },
-+	{ 1, 1, 0, 3, 100, 32, },
-+	{ 0, 1, 0, 3, 104, 32, },
-+	{ 2, 1, 0, 3, 104, 32, },
-+	{ 1, 1, 0, 3, 104, 32, },
-+	{ 0, 1, 0, 3, 108, 32, },
-+	{ 2, 1, 0, 3, 108, 32, },
-+	{ 1, 1, 0, 3, 108, 32, },
-+	{ 0, 1, 0, 3, 112, 32, },
-+	{ 2, 1, 0, 3, 112, 32, },
-+	{ 1, 1, 0, 3, 112, 32, },
-+	{ 0, 1, 0, 3, 116, 32, },
-+	{ 2, 1, 0, 3, 116, 32, },
-+	{ 1, 1, 0, 3, 116, 32, },
-+	{ 0, 1, 0, 3, 120, 32, },
-+	{ 2, 1, 0, 3, 120, 32, },
-+	{ 1, 1, 0, 3, 120, 32, },
-+	{ 0, 1, 0, 3, 124, 32, },
-+	{ 2, 1, 0, 3, 124, 32, },
-+	{ 1, 1, 0, 3, 124, 32, },
-+	{ 0, 1, 0, 3, 128, 32, },
-+	{ 2, 1, 0, 3, 128, 32, },
-+	{ 1, 1, 0, 3, 128, 32, },
-+	{ 0, 1, 0, 3, 132, 32, },
-+	{ 2, 1, 0, 3, 132, 32, },
-+	{ 1, 1, 0, 3, 132, 32, },
-+	{ 0, 1, 0, 3, 136, 32, },
-+	{ 2, 1, 0, 3, 136, 32, },
-+	{ 1, 1, 0, 3, 136, 32, },
-+	{ 0, 1, 0, 3, 140, 30, },
-+	{ 2, 1, 0, 3, 140, 30, },
-+	{ 1, 1, 0, 3, 140, 30, },
-+	{ 0, 1, 0, 3, 149, 40, },
-+	{ 2, 1, 0, 3, 149, 40, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 40, },
-+	{ 2, 1, 0, 3, 153, 40, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 40, },
-+	{ 2, 1, 0, 3, 157, 40, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 40, },
-+	{ 2, 1, 0, 3, 161, 40, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 42, },
-+	{ 2, 1, 0, 3, 165, 42, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 32, },
-+	{ 2, 1, 0, 6, 36, 32, },
-+	{ 1, 1, 0, 6, 36, 32, },
-+	{ 0, 1, 0, 6, 40, 32, },
-+	{ 2, 1, 0, 6, 40, 32, },
-+	{ 1, 1, 0, 6, 40, 32, },
-+	{ 0, 1, 0, 6, 44, 32, },
-+	{ 2, 1, 0, 6, 44, 32, },
-+	{ 1, 1, 0, 6, 44, 32, },
-+	{ 0, 1, 0, 6, 48, 36, },
-+	{ 2, 1, 0, 6, 48, 36, },
-+	{ 1, 1, 0, 6, 48, 36, },
-+	{ 0, 1, 0, 6, 52, 36, },
-+	{ 2, 1, 0, 6, 52, 36, },
-+	{ 1, 1, 0, 6, 52, 36, },
-+	{ 0, 1, 0, 6, 56, 32, },
-+	{ 2, 1, 0, 6, 56, 32, },
-+	{ 1, 1, 0, 6, 56, 32, },
-+	{ 0, 1, 0, 6, 60, 32, },
-+	{ 2, 1, 0, 6, 60, 32, },
-+	{ 1, 1, 0, 6, 60, 32, },
-+	{ 0, 1, 0, 6, 64, 32, },
-+	{ 2, 1, 0, 6, 64, 32, },
-+	{ 1, 1, 0, 6, 64, 32, },
-+	{ 0, 1, 0, 6, 100, 32, },
-+	{ 2, 1, 0, 6, 100, 32, },
-+	{ 1, 1, 0, 6, 100, 32, },
-+	{ 0, 1, 0, 6, 104, 32, },
-+	{ 2, 1, 0, 6, 104, 32, },
-+	{ 1, 1, 0, 6, 104, 32, },
-+	{ 0, 1, 0, 6, 108, 32, },
-+	{ 2, 1, 0, 6, 108, 32, },
-+	{ 1, 1, 0, 6, 108, 32, },
-+	{ 0, 1, 0, 6, 112, 32, },
-+	{ 2, 1, 0, 6, 112, 32, },
-+	{ 1, 1, 0, 6, 112, 32, },
-+	{ 0, 1, 0, 6, 116, 32, },
-+	{ 2, 1, 0, 6, 116, 32, },
-+	{ 1, 1, 0, 6, 116, 32, },
-+	{ 0, 1, 0, 6, 120, 32, },
-+	{ 2, 1, 0, 6, 120, 32, },
-+	{ 1, 1, 0, 6, 120, 32, },
-+	{ 0, 1, 0, 6, 124, 32, },
-+	{ 2, 1, 0, 6, 124, 32, },
-+	{ 1, 1, 0, 6, 124, 32, },
-+	{ 0, 1, 0, 6, 128, 32, },
-+	{ 2, 1, 0, 6, 128, 32, },
-+	{ 1, 1, 0, 6, 128, 32, },
-+	{ 0, 1, 0, 6, 132, 32, },
-+	{ 2, 1, 0, 6, 132, 32, },
-+	{ 1, 1, 0, 6, 132, 32, },
-+	{ 0, 1, 0, 6, 136, 32, },
-+	{ 2, 1, 0, 6, 136, 32, },
-+	{ 1, 1, 0, 6, 136, 32, },
-+	{ 0, 1, 0, 6, 140, 30, },
-+	{ 2, 1, 0, 6, 140, 30, },
-+	{ 1, 1, 0, 6, 140, 30, },
-+	{ 0, 1, 0, 6, 149, 40, },
-+	{ 2, 1, 0, 6, 149, 40, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 40, },
-+	{ 2, 1, 0, 6, 153, 40, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 40, },
-+	{ 2, 1, 0, 6, 157, 40, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 40, },
-+	{ 2, 1, 0, 6, 161, 40, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 42, },
-+	{ 2, 1, 0, 6, 165, 42, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 32, },
-+	{ 2, 1, 0, 7, 36, 32, },
-+	{ 1, 1, 0, 7, 36, 32, },
-+	{ 0, 1, 0, 7, 40, 32, },
-+	{ 2, 1, 0, 7, 40, 32, },
-+	{ 1, 1, 0, 7, 40, 32, },
-+	{ 0, 1, 0, 7, 44, 32, },
-+	{ 2, 1, 0, 7, 44, 32, },
-+	{ 1, 1, 0, 7, 44, 32, },
-+	{ 0, 1, 0, 7, 48, 36, },
-+	{ 2, 1, 0, 7, 48, 36, },
-+	{ 1, 1, 0, 7, 48, 36, },
-+	{ 0, 1, 0, 7, 52, 36, },
-+	{ 2, 1, 0, 7, 52, 36, },
-+	{ 1, 1, 0, 7, 52, 36, },
-+	{ 0, 1, 0, 7, 56, 32, },
-+	{ 2, 1, 0, 7, 56, 32, },
-+	{ 1, 1, 0, 7, 56, 32, },
-+	{ 0, 1, 0, 7, 60, 32, },
-+	{ 2, 1, 0, 7, 60, 32, },
-+	{ 1, 1, 0, 7, 60, 32, },
-+	{ 0, 1, 0, 7, 64, 32, },
-+	{ 2, 1, 0, 7, 64, 32, },
-+	{ 1, 1, 0, 7, 64, 32, },
-+	{ 0, 1, 0, 7, 100, 32, },
-+	{ 2, 1, 0, 7, 100, 32, },
-+	{ 1, 1, 0, 7, 100, 32, },
-+	{ 0, 1, 0, 7, 104, 32, },
-+	{ 2, 1, 0, 7, 104, 32, },
-+	{ 1, 1, 0, 7, 104, 32, },
-+	{ 0, 1, 0, 7, 108, 32, },
-+	{ 2, 1, 0, 7, 108, 32, },
-+	{ 1, 1, 0, 7, 108, 32, },
-+	{ 0, 1, 0, 7, 112, 32, },
-+	{ 2, 1, 0, 7, 112, 32, },
-+	{ 1, 1, 0, 7, 112, 32, },
-+	{ 0, 1, 0, 7, 116, 32, },
-+	{ 2, 1, 0, 7, 116, 32, },
-+	{ 1, 1, 0, 7, 116, 32, },
-+	{ 0, 1, 0, 7, 120, 32, },
-+	{ 2, 1, 0, 7, 120, 32, },
-+	{ 1, 1, 0, 7, 120, 32, },
-+	{ 0, 1, 0, 7, 124, 32, },
-+	{ 2, 1, 0, 7, 124, 32, },
-+	{ 1, 1, 0, 7, 124, 32, },
-+	{ 0, 1, 0, 7, 128, 32, },
-+	{ 2, 1, 0, 7, 128, 32, },
-+	{ 1, 1, 0, 7, 128, 32, },
-+	{ 0, 1, 0, 7, 132, 32, },
-+	{ 2, 1, 0, 7, 132, 32, },
-+	{ 1, 1, 0, 7, 132, 32, },
-+	{ 0, 1, 0, 7, 136, 32, },
-+	{ 2, 1, 0, 7, 136, 32, },
-+	{ 1, 1, 0, 7, 136, 32, },
-+	{ 0, 1, 0, 7, 140, 30, },
-+	{ 2, 1, 0, 7, 140, 30, },
-+	{ 1, 1, 0, 7, 140, 30, },
-+	{ 0, 1, 0, 7, 149, 40, },
-+	{ 2, 1, 0, 7, 149, 40, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 40, },
-+	{ 2, 1, 0, 7, 153, 40, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 40, },
-+	{ 2, 1, 0, 7, 157, 40, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 40, },
-+	{ 2, 1, 0, 7, 161, 40, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 42, },
-+	{ 2, 1, 0, 7, 165, 42, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 32, },
-+	{ 2, 1, 1, 2, 38, 32, },
-+	{ 1, 1, 1, 2, 38, 32, },
-+	{ 0, 1, 1, 2, 46, 36, },
-+	{ 2, 1, 1, 2, 46, 36, },
-+	{ 1, 1, 1, 2, 46, 36, },
-+	{ 0, 1, 1, 2, 54, 36, },
-+	{ 2, 1, 1, 2, 54, 36, },
-+	{ 1, 1, 1, 2, 54, 36, },
-+	{ 0, 1, 1, 2, 62, 32, },
-+	{ 2, 1, 1, 2, 62, 32, },
-+	{ 1, 1, 1, 2, 62, 32, },
-+	{ 0, 1, 1, 2, 102, 30, },
-+	{ 2, 1, 1, 2, 102, 30, },
-+	{ 1, 1, 1, 2, 102, 30, },
-+	{ 0, 1, 1, 2, 110, 32, },
-+	{ 2, 1, 1, 2, 110, 32, },
-+	{ 1, 1, 1, 2, 110, 32, },
-+	{ 0, 1, 1, 2, 118, 32, },
-+	{ 2, 1, 1, 2, 118, 32, },
-+	{ 1, 1, 1, 2, 118, 32, },
-+	{ 0, 1, 1, 2, 126, 32, },
-+	{ 2, 1, 1, 2, 126, 32, },
-+	{ 1, 1, 1, 2, 126, 32, },
-+	{ 0, 1, 1, 2, 134, 36, },
-+	{ 2, 1, 1, 2, 134, 36, },
-+	{ 1, 1, 1, 2, 134, 36, },
-+	{ 0, 1, 1, 2, 151, 36, },
-+	{ 2, 1, 1, 2, 151, 36, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 40, },
-+	{ 2, 1, 1, 2, 159, 40, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 32, },
-+	{ 2, 1, 1, 3, 38, 32, },
-+	{ 1, 1, 1, 3, 38, 32, },
-+	{ 0, 1, 1, 3, 46, 36, },
-+	{ 2, 1, 1, 3, 46, 36, },
-+	{ 1, 1, 1, 3, 46, 36, },
-+	{ 0, 1, 1, 3, 54, 36, },
-+	{ 2, 1, 1, 3, 54, 36, },
-+	{ 1, 1, 1, 3, 54, 36, },
-+	{ 0, 1, 1, 3, 62, 32, },
-+	{ 2, 1, 1, 3, 62, 32, },
-+	{ 1, 1, 1, 3, 62, 32, },
-+	{ 0, 1, 1, 3, 102, 30, },
-+	{ 2, 1, 1, 3, 102, 30, },
-+	{ 1, 1, 1, 3, 102, 30, },
-+	{ 0, 1, 1, 3, 110, 32, },
-+	{ 2, 1, 1, 3, 110, 32, },
-+	{ 1, 1, 1, 3, 110, 32, },
-+	{ 0, 1, 1, 3, 118, 32, },
-+	{ 2, 1, 1, 3, 118, 32, },
-+	{ 1, 1, 1, 3, 118, 32, },
-+	{ 0, 1, 1, 3, 126, 32, },
-+	{ 2, 1, 1, 3, 126, 32, },
-+	{ 1, 1, 1, 3, 126, 32, },
-+	{ 0, 1, 1, 3, 134, 36, },
-+	{ 2, 1, 1, 3, 134, 36, },
-+	{ 1, 1, 1, 3, 134, 36, },
-+	{ 0, 1, 1, 3, 151, 36, },
-+	{ 2, 1, 1, 3, 151, 36, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 40, },
-+	{ 2, 1, 1, 3, 159, 40, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 32, },
-+	{ 2, 1, 1, 6, 38, 32, },
-+	{ 1, 1, 1, 6, 38, 32, },
-+	{ 0, 1, 1, 6, 46, 36, },
-+	{ 2, 1, 1, 6, 46, 36, },
-+	{ 1, 1, 1, 6, 46, 36, },
-+	{ 0, 1, 1, 6, 54, 36, },
-+	{ 2, 1, 1, 6, 54, 36, },
-+	{ 1, 1, 1, 6, 54, 36, },
-+	{ 0, 1, 1, 6, 62, 32, },
-+	{ 2, 1, 1, 6, 62, 32, },
-+	{ 1, 1, 1, 6, 62, 32, },
-+	{ 0, 1, 1, 6, 102, 30, },
-+	{ 2, 1, 1, 6, 102, 30, },
-+	{ 1, 1, 1, 6, 102, 30, },
-+	{ 0, 1, 1, 6, 110, 32, },
-+	{ 2, 1, 1, 6, 110, 32, },
-+	{ 1, 1, 1, 6, 110, 32, },
-+	{ 0, 1, 1, 6, 118, 32, },
-+	{ 2, 1, 1, 6, 118, 32, },
-+	{ 1, 1, 1, 6, 118, 32, },
-+	{ 0, 1, 1, 6, 126, 32, },
-+	{ 2, 1, 1, 6, 126, 32, },
-+	{ 1, 1, 1, 6, 126, 32, },
-+	{ 0, 1, 1, 6, 134, 36, },
-+	{ 2, 1, 1, 6, 134, 36, },
-+	{ 1, 1, 1, 6, 134, 36, },
-+	{ 0, 1, 1, 6, 151, 36, },
-+	{ 2, 1, 1, 6, 151, 36, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 40, },
-+	{ 2, 1, 1, 6, 159, 40, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 32, },
-+	{ 2, 1, 1, 7, 38, 32, },
-+	{ 1, 1, 1, 7, 38, 32, },
-+	{ 0, 1, 1, 7, 46, 36, },
-+	{ 2, 1, 1, 7, 46, 36, },
-+	{ 1, 1, 1, 7, 46, 36, },
-+	{ 0, 1, 1, 7, 54, 36, },
-+	{ 2, 1, 1, 7, 54, 36, },
-+	{ 1, 1, 1, 7, 54, 36, },
-+	{ 0, 1, 1, 7, 62, 32, },
-+	{ 2, 1, 1, 7, 62, 32, },
-+	{ 1, 1, 1, 7, 62, 32, },
-+	{ 0, 1, 1, 7, 102, 30, },
-+	{ 2, 1, 1, 7, 102, 30, },
-+	{ 1, 1, 1, 7, 102, 30, },
-+	{ 0, 1, 1, 7, 110, 32, },
-+	{ 2, 1, 1, 7, 110, 32, },
-+	{ 1, 1, 1, 7, 110, 32, },
-+	{ 0, 1, 1, 7, 118, 32, },
-+	{ 2, 1, 1, 7, 118, 32, },
-+	{ 1, 1, 1, 7, 118, 32, },
-+	{ 0, 1, 1, 7, 126, 32, },
-+	{ 2, 1, 1, 7, 126, 32, },
-+	{ 1, 1, 1, 7, 126, 32, },
-+	{ 0, 1, 1, 7, 134, 36, },
-+	{ 2, 1, 1, 7, 134, 36, },
-+	{ 1, 1, 1, 7, 134, 36, },
-+	{ 0, 1, 1, 7, 151, 36, },
-+	{ 2, 1, 1, 7, 151, 36, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 40, },
-+	{ 2, 1, 1, 7, 159, 40, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 34, },
-+	{ 2, 1, 2, 4, 42, 34, },
-+	{ 1, 1, 2, 4, 42, 34, },
-+	{ 0, 1, 2, 4, 58, 34, },
-+	{ 2, 1, 2, 4, 58, 34, },
-+	{ 1, 1, 2, 4, 58, 34, },
-+	{ 0, 1, 2, 4, 106, 32, },
-+	{ 2, 1, 2, 4, 106, 32, },
-+	{ 1, 1, 2, 4, 106, 32, },
-+	{ 0, 1, 2, 4, 122, 34, },
-+	{ 2, 1, 2, 4, 122, 34, },
-+	{ 1, 1, 2, 4, 122, 34, },
-+	{ 0, 1, 2, 4, 155, 34, },
-+	{ 2, 1, 2, 4, 155, 34, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 34, },
-+	{ 2, 1, 2, 5, 42, 34, },
-+	{ 1, 1, 2, 5, 42, 34, },
-+	{ 0, 1, 2, 5, 58, 34, },
-+	{ 2, 1, 2, 5, 58, 34, },
-+	{ 1, 1, 2, 5, 58, 34, },
-+	{ 0, 1, 2, 5, 106, 32, },
-+	{ 2, 1, 2, 5, 106, 32, },
-+	{ 1, 1, 2, 5, 106, 32, },
-+	{ 0, 1, 2, 5, 122, 34, },
-+	{ 2, 1, 2, 5, 122, 34, },
-+	{ 1, 1, 2, 5, 122, 34, },
-+	{ 0, 1, 2, 5, 155, 34, },
-+	{ 2, 1, 2, 5, 155, 34, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 34, },
-+	{ 2, 1, 2, 8, 42, 34, },
-+	{ 1, 1, 2, 8, 42, 34, },
-+	{ 0, 1, 2, 8, 58, 34, },
-+	{ 2, 1, 2, 8, 58, 34, },
-+	{ 1, 1, 2, 8, 58, 34, },
-+	{ 0, 1, 2, 8, 106, 32, },
-+	{ 2, 1, 2, 8, 106, 32, },
-+	{ 1, 1, 2, 8, 106, 32, },
-+	{ 0, 1, 2, 8, 122, 34, },
-+	{ 2, 1, 2, 8, 122, 34, },
-+	{ 1, 1, 2, 8, 122, 34, },
-+	{ 0, 1, 2, 8, 155, 34, },
-+	{ 2, 1, 2, 8, 155, 34, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 34, },
-+	{ 2, 1, 2, 9, 42, 34, },
-+	{ 1, 1, 2, 9, 42, 34, },
-+	{ 0, 1, 2, 9, 58, 34, },
-+	{ 2, 1, 2, 9, 58, 34, },
-+	{ 1, 1, 2, 9, 58, 34, },
-+	{ 0, 1, 2, 9, 106, 32, },
-+	{ 2, 1, 2, 9, 106, 32, },
-+	{ 1, 1, 2, 9, 106, 32, },
-+	{ 0, 1, 2, 9, 122, 34, },
-+	{ 2, 1, 2, 9, 122, 34, },
-+	{ 1, 1, 2, 9, 122, 34, },
-+	{ 0, 1, 2, 9, 155, 34, },
-+	{ 2, 1, 2, 9, 155, 34, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type2);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type3[] = {
-+	{ 0, 0, 0, 0, 1, 46, },
-+	{ 2, 0, 0, 0, 1, 40, },
-+	{ 1, 0, 0, 0, 1, 40, },
-+	{ 0, 0, 0, 0, 2, 46, },
-+	{ 2, 0, 0, 0, 2, 40, },
-+	{ 1, 0, 0, 0, 2, 40, },
-+	{ 0, 0, 0, 0, 3, 46, },
-+	{ 2, 0, 0, 0, 3, 40, },
-+	{ 1, 0, 0, 0, 3, 40, },
-+	{ 0, 0, 0, 0, 4, 46, },
-+	{ 2, 0, 0, 0, 4, 40, },
-+	{ 1, 0, 0, 0, 4, 40, },
-+	{ 0, 0, 0, 0, 5, 46, },
-+	{ 2, 0, 0, 0, 5, 40, },
-+	{ 1, 0, 0, 0, 5, 40, },
-+	{ 0, 0, 0, 0, 6, 46, },
-+	{ 2, 0, 0, 0, 6, 40, },
-+	{ 1, 0, 0, 0, 6, 40, },
-+	{ 0, 0, 0, 0, 7, 46, },
-+	{ 2, 0, 0, 0, 7, 40, },
-+	{ 1, 0, 0, 0, 7, 40, },
-+	{ 0, 0, 0, 0, 8, 46, },
-+	{ 2, 0, 0, 0, 8, 40, },
-+	{ 1, 0, 0, 0, 8, 40, },
-+	{ 0, 0, 0, 0, 9, 46, },
-+	{ 2, 0, 0, 0, 9, 40, },
-+	{ 1, 0, 0, 0, 9, 40, },
-+	{ 0, 0, 0, 0, 10, 46, },
-+	{ 2, 0, 0, 0, 10, 40, },
-+	{ 1, 0, 0, 0, 10, 40, },
-+	{ 0, 0, 0, 0, 11, 46, },
-+	{ 2, 0, 0, 0, 11, 40, },
-+	{ 1, 0, 0, 0, 11, 40, },
-+	{ 0, 0, 0, 0, 12, 63, },
-+	{ 2, 0, 0, 0, 12, 40, },
-+	{ 1, 0, 0, 0, 12, 40, },
-+	{ 0, 0, 0, 0, 13, 63, },
-+	{ 2, 0, 0, 0, 13, 40, },
-+	{ 1, 0, 0, 0, 13, 40, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 40, },
-+	{ 0, 0, 0, 1, 1, 46, },
-+	{ 2, 0, 0, 1, 1, 40, },
-+	{ 1, 0, 0, 1, 1, 40, },
-+	{ 0, 0, 0, 1, 2, 46, },
-+	{ 2, 0, 0, 1, 2, 40, },
-+	{ 1, 0, 0, 1, 2, 40, },
-+	{ 0, 0, 0, 1, 3, 46, },
-+	{ 2, 0, 0, 1, 3, 40, },
-+	{ 1, 0, 0, 1, 3, 40, },
-+	{ 0, 0, 0, 1, 4, 46, },
-+	{ 2, 0, 0, 1, 4, 40, },
-+	{ 1, 0, 0, 1, 4, 40, },
-+	{ 0, 0, 0, 1, 5, 46, },
-+	{ 2, 0, 0, 1, 5, 40, },
-+	{ 1, 0, 0, 1, 5, 40, },
-+	{ 0, 0, 0, 1, 6, 46, },
-+	{ 2, 0, 0, 1, 6, 40, },
-+	{ 1, 0, 0, 1, 6, 40, },
-+	{ 0, 0, 0, 1, 7, 46, },
-+	{ 2, 0, 0, 1, 7, 40, },
-+	{ 1, 0, 0, 1, 7, 40, },
-+	{ 0, 0, 0, 1, 8, 46, },
-+	{ 2, 0, 0, 1, 8, 40, },
-+	{ 1, 0, 0, 1, 8, 40, },
-+	{ 0, 0, 0, 1, 9, 46, },
-+	{ 2, 0, 0, 1, 9, 40, },
-+	{ 1, 0, 0, 1, 9, 40, },
-+	{ 0, 0, 0, 1, 10, 46, },
-+	{ 2, 0, 0, 1, 10, 40, },
-+	{ 1, 0, 0, 1, 10, 40, },
-+	{ 0, 0, 0, 1, 11, 46, },
-+	{ 2, 0, 0, 1, 11, 40, },
-+	{ 1, 0, 0, 1, 11, 40, },
-+	{ 0, 0, 0, 1, 12, 63, },
-+	{ 2, 0, 0, 1, 12, 40, },
-+	{ 1, 0, 0, 1, 12, 40, },
-+	{ 0, 0, 0, 1, 13, 63, },
-+	{ 2, 0, 0, 1, 13, 40, },
-+	{ 1, 0, 0, 1, 13, 40, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 46, },
-+	{ 2, 0, 0, 2, 1, 40, },
-+	{ 1, 0, 0, 2, 1, 40, },
-+	{ 0, 0, 0, 2, 2, 46, },
-+	{ 2, 0, 0, 2, 2, 40, },
-+	{ 1, 0, 0, 2, 2, 40, },
-+	{ 0, 0, 0, 2, 3, 46, },
-+	{ 2, 0, 0, 2, 3, 40, },
-+	{ 1, 0, 0, 2, 3, 40, },
-+	{ 0, 0, 0, 2, 4, 46, },
-+	{ 2, 0, 0, 2, 4, 40, },
-+	{ 1, 0, 0, 2, 4, 40, },
-+	{ 0, 0, 0, 2, 5, 46, },
-+	{ 2, 0, 0, 2, 5, 40, },
-+	{ 1, 0, 0, 2, 5, 40, },
-+	{ 0, 0, 0, 2, 6, 46, },
-+	{ 2, 0, 0, 2, 6, 40, },
-+	{ 1, 0, 0, 2, 6, 40, },
-+	{ 0, 0, 0, 2, 7, 46, },
-+	{ 2, 0, 0, 2, 7, 40, },
-+	{ 1, 0, 0, 2, 7, 40, },
-+	{ 0, 0, 0, 2, 8, 46, },
-+	{ 2, 0, 0, 2, 8, 40, },
-+	{ 1, 0, 0, 2, 8, 40, },
-+	{ 0, 0, 0, 2, 9, 46, },
-+	{ 2, 0, 0, 2, 9, 40, },
-+	{ 1, 0, 0, 2, 9, 40, },
-+	{ 0, 0, 0, 2, 10, 46, },
-+	{ 2, 0, 0, 2, 10, 40, },
-+	{ 1, 0, 0, 2, 10, 40, },
-+	{ 0, 0, 0, 2, 11, 46, },
-+	{ 2, 0, 0, 2, 11, 40, },
-+	{ 1, 0, 0, 2, 11, 40, },
-+	{ 0, 0, 0, 2, 12, 63, },
-+	{ 2, 0, 0, 2, 12, 40, },
-+	{ 1, 0, 0, 2, 12, 40, },
-+	{ 0, 0, 0, 2, 13, 63, },
-+	{ 2, 0, 0, 2, 13, 40, },
-+	{ 1, 0, 0, 2, 13, 40, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 46, },
-+	{ 2, 0, 0, 3, 1, 40, },
-+	{ 1, 0, 0, 3, 1, 40, },
-+	{ 0, 0, 0, 3, 2, 46, },
-+	{ 2, 0, 0, 3, 2, 40, },
-+	{ 1, 0, 0, 3, 2, 40, },
-+	{ 0, 0, 0, 3, 3, 46, },
-+	{ 2, 0, 0, 3, 3, 40, },
-+	{ 1, 0, 0, 3, 3, 40, },
-+	{ 0, 0, 0, 3, 4, 46, },
-+	{ 2, 0, 0, 3, 4, 40, },
-+	{ 1, 0, 0, 3, 4, 40, },
-+	{ 0, 0, 0, 3, 5, 46, },
-+	{ 2, 0, 0, 3, 5, 40, },
-+	{ 1, 0, 0, 3, 5, 40, },
-+	{ 0, 0, 0, 3, 6, 46, },
-+	{ 2, 0, 0, 3, 6, 40, },
-+	{ 1, 0, 0, 3, 6, 40, },
-+	{ 0, 0, 0, 3, 7, 46, },
-+	{ 2, 0, 0, 3, 7, 40, },
-+	{ 1, 0, 0, 3, 7, 40, },
-+	{ 0, 0, 0, 3, 8, 46, },
-+	{ 2, 0, 0, 3, 8, 40, },
-+	{ 1, 0, 0, 3, 8, 40, },
-+	{ 0, 0, 0, 3, 9, 46, },
-+	{ 2, 0, 0, 3, 9, 40, },
-+	{ 1, 0, 0, 3, 9, 40, },
-+	{ 0, 0, 0, 3, 10, 46, },
-+	{ 2, 0, 0, 3, 10, 40, },
-+	{ 1, 0, 0, 3, 10, 40, },
-+	{ 0, 0, 0, 3, 11, 46, },
-+	{ 2, 0, 0, 3, 11, 40, },
-+	{ 1, 0, 0, 3, 11, 40, },
-+	{ 0, 0, 0, 3, 12, 63, },
-+	{ 2, 0, 0, 3, 12, 40, },
-+	{ 1, 0, 0, 3, 12, 40, },
-+	{ 0, 0, 0, 3, 13, 63, },
-+	{ 2, 0, 0, 3, 13, 40, },
-+	{ 1, 0, 0, 3, 13, 40, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 46, },
-+	{ 2, 0, 0, 6, 1, 40, },
-+	{ 1, 0, 0, 6, 1, 40, },
-+	{ 0, 0, 0, 6, 2, 46, },
-+	{ 2, 0, 0, 6, 2, 40, },
-+	{ 1, 0, 0, 6, 2, 40, },
-+	{ 0, 0, 0, 6, 3, 46, },
-+	{ 2, 0, 0, 6, 3, 40, },
-+	{ 1, 0, 0, 6, 3, 40, },
-+	{ 0, 0, 0, 6, 4, 46, },
-+	{ 2, 0, 0, 6, 4, 40, },
-+	{ 1, 0, 0, 6, 4, 40, },
-+	{ 0, 0, 0, 6, 5, 46, },
-+	{ 2, 0, 0, 6, 5, 40, },
-+	{ 1, 0, 0, 6, 5, 40, },
-+	{ 0, 0, 0, 6, 6, 46, },
-+	{ 2, 0, 0, 6, 6, 40, },
-+	{ 1, 0, 0, 6, 6, 40, },
-+	{ 0, 0, 0, 6, 7, 46, },
-+	{ 2, 0, 0, 6, 7, 40, },
-+	{ 1, 0, 0, 6, 7, 40, },
-+	{ 0, 0, 0, 6, 8, 46, },
-+	{ 2, 0, 0, 6, 8, 40, },
-+	{ 1, 0, 0, 6, 8, 40, },
-+	{ 0, 0, 0, 6, 9, 46, },
-+	{ 2, 0, 0, 6, 9, 40, },
-+	{ 1, 0, 0, 6, 9, 40, },
-+	{ 0, 0, 0, 6, 10, 46, },
-+	{ 2, 0, 0, 6, 10, 40, },
-+	{ 1, 0, 0, 6, 10, 40, },
-+	{ 0, 0, 0, 6, 11, 46, },
-+	{ 2, 0, 0, 6, 11, 40, },
-+	{ 1, 0, 0, 6, 11, 40, },
-+	{ 0, 0, 0, 6, 12, 63, },
-+	{ 2, 0, 0, 6, 12, 40, },
-+	{ 1, 0, 0, 6, 12, 40, },
-+	{ 0, 0, 0, 6, 13, 63, },
-+	{ 2, 0, 0, 6, 13, 40, },
-+	{ 1, 0, 0, 6, 13, 40, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 46, },
-+	{ 2, 0, 0, 7, 1, 40, },
-+	{ 1, 0, 0, 7, 1, 40, },
-+	{ 0, 0, 0, 7, 2, 46, },
-+	{ 2, 0, 0, 7, 2, 40, },
-+	{ 1, 0, 0, 7, 2, 40, },
-+	{ 0, 0, 0, 7, 3, 46, },
-+	{ 2, 0, 0, 7, 3, 40, },
-+	{ 1, 0, 0, 7, 3, 40, },
-+	{ 0, 0, 0, 7, 4, 46, },
-+	{ 2, 0, 0, 7, 4, 40, },
-+	{ 1, 0, 0, 7, 4, 40, },
-+	{ 0, 0, 0, 7, 5, 46, },
-+	{ 2, 0, 0, 7, 5, 40, },
-+	{ 1, 0, 0, 7, 5, 40, },
-+	{ 0, 0, 0, 7, 6, 46, },
-+	{ 2, 0, 0, 7, 6, 40, },
-+	{ 1, 0, 0, 7, 6, 40, },
-+	{ 0, 0, 0, 7, 7, 46, },
-+	{ 2, 0, 0, 7, 7, 40, },
-+	{ 1, 0, 0, 7, 7, 40, },
-+	{ 0, 0, 0, 7, 8, 46, },
-+	{ 2, 0, 0, 7, 8, 40, },
-+	{ 1, 0, 0, 7, 8, 40, },
-+	{ 0, 0, 0, 7, 9, 46, },
-+	{ 2, 0, 0, 7, 9, 40, },
-+	{ 1, 0, 0, 7, 9, 40, },
-+	{ 0, 0, 0, 7, 10, 46, },
-+	{ 2, 0, 0, 7, 10, 40, },
-+	{ 1, 0, 0, 7, 10, 40, },
-+	{ 0, 0, 0, 7, 11, 46, },
-+	{ 2, 0, 0, 7, 11, 40, },
-+	{ 1, 0, 0, 7, 11, 40, },
-+	{ 0, 0, 0, 7, 12, 63, },
-+	{ 2, 0, 0, 7, 12, 40, },
-+	{ 1, 0, 0, 7, 12, 40, },
-+	{ 0, 0, 0, 7, 13, 63, },
-+	{ 2, 0, 0, 7, 13, 40, },
-+	{ 1, 0, 0, 7, 13, 40, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 46, },
-+	{ 2, 0, 1, 2, 3, 40, },
-+	{ 1, 0, 1, 2, 3, 40, },
-+	{ 0, 0, 1, 2, 4, 46, },
-+	{ 2, 0, 1, 2, 4, 40, },
-+	{ 1, 0, 1, 2, 4, 40, },
-+	{ 0, 0, 1, 2, 5, 46, },
-+	{ 2, 0, 1, 2, 5, 40, },
-+	{ 1, 0, 1, 2, 5, 40, },
-+	{ 0, 0, 1, 2, 6, 46, },
-+	{ 2, 0, 1, 2, 6, 40, },
-+	{ 1, 0, 1, 2, 6, 40, },
-+	{ 0, 0, 1, 2, 7, 46, },
-+	{ 2, 0, 1, 2, 7, 40, },
-+	{ 1, 0, 1, 2, 7, 40, },
-+	{ 0, 0, 1, 2, 8, 46, },
-+	{ 2, 0, 1, 2, 8, 40, },
-+	{ 1, 0, 1, 2, 8, 40, },
-+	{ 0, 0, 1, 2, 9, 46, },
-+	{ 2, 0, 1, 2, 9, 40, },
-+	{ 1, 0, 1, 2, 9, 40, },
-+	{ 0, 0, 1, 2, 10, 46, },
-+	{ 2, 0, 1, 2, 10, 40, },
-+	{ 1, 0, 1, 2, 10, 40, },
-+	{ 0, 0, 1, 2, 11, 46, },
-+	{ 2, 0, 1, 2, 11, 40, },
-+	{ 1, 0, 1, 2, 11, 40, },
-+	{ 0, 0, 1, 2, 12, 63, },
-+	{ 2, 0, 1, 2, 12, 40, },
-+	{ 1, 0, 1, 2, 12, 40, },
-+	{ 0, 0, 1, 2, 13, 63, },
-+	{ 2, 0, 1, 2, 13, 40, },
-+	{ 1, 0, 1, 2, 13, 40, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 46, },
-+	{ 2, 0, 1, 3, 3, 40, },
-+	{ 1, 0, 1, 3, 3, 40, },
-+	{ 0, 0, 1, 3, 4, 46, },
-+	{ 2, 0, 1, 3, 4, 40, },
-+	{ 1, 0, 1, 3, 4, 40, },
-+	{ 0, 0, 1, 3, 5, 46, },
-+	{ 2, 0, 1, 3, 5, 40, },
-+	{ 1, 0, 1, 3, 5, 40, },
-+	{ 0, 0, 1, 3, 6, 46, },
-+	{ 2, 0, 1, 3, 6, 40, },
-+	{ 1, 0, 1, 3, 6, 40, },
-+	{ 0, 0, 1, 3, 7, 46, },
-+	{ 2, 0, 1, 3, 7, 40, },
-+	{ 1, 0, 1, 3, 7, 40, },
-+	{ 0, 0, 1, 3, 8, 46, },
-+	{ 2, 0, 1, 3, 8, 40, },
-+	{ 1, 0, 1, 3, 8, 40, },
-+	{ 0, 0, 1, 3, 9, 46, },
-+	{ 2, 0, 1, 3, 9, 40, },
-+	{ 1, 0, 1, 3, 9, 40, },
-+	{ 0, 0, 1, 3, 10, 46, },
-+	{ 2, 0, 1, 3, 10, 40, },
-+	{ 1, 0, 1, 3, 10, 40, },
-+	{ 0, 0, 1, 3, 11, 46, },
-+	{ 2, 0, 1, 3, 11, 40, },
-+	{ 1, 0, 1, 3, 11, 40, },
-+	{ 0, 0, 1, 3, 12, 63, },
-+	{ 2, 0, 1, 3, 12, 40, },
-+	{ 1, 0, 1, 3, 12, 40, },
-+	{ 0, 0, 1, 3, 13, 63, },
-+	{ 2, 0, 1, 3, 13, 40, },
-+	{ 1, 0, 1, 3, 13, 40, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 46, },
-+	{ 2, 0, 1, 6, 3, 40, },
-+	{ 1, 0, 1, 6, 3, 40, },
-+	{ 0, 0, 1, 6, 4, 46, },
-+	{ 2, 0, 1, 6, 4, 40, },
-+	{ 1, 0, 1, 6, 4, 40, },
-+	{ 0, 0, 1, 6, 5, 46, },
-+	{ 2, 0, 1, 6, 5, 40, },
-+	{ 1, 0, 1, 6, 5, 40, },
-+	{ 0, 0, 1, 6, 6, 46, },
-+	{ 2, 0, 1, 6, 6, 40, },
-+	{ 1, 0, 1, 6, 6, 40, },
-+	{ 0, 0, 1, 6, 7, 46, },
-+	{ 2, 0, 1, 6, 7, 40, },
-+	{ 1, 0, 1, 6, 7, 40, },
-+	{ 0, 0, 1, 6, 8, 46, },
-+	{ 2, 0, 1, 6, 8, 40, },
-+	{ 1, 0, 1, 6, 8, 40, },
-+	{ 0, 0, 1, 6, 9, 46, },
-+	{ 2, 0, 1, 6, 9, 40, },
-+	{ 1, 0, 1, 6, 9, 40, },
-+	{ 0, 0, 1, 6, 10, 46, },
-+	{ 2, 0, 1, 6, 10, 40, },
-+	{ 1, 0, 1, 6, 10, 40, },
-+	{ 0, 0, 1, 6, 11, 46, },
-+	{ 2, 0, 1, 6, 11, 40, },
-+	{ 1, 0, 1, 6, 11, 40, },
-+	{ 0, 0, 1, 6, 12, 63, },
-+	{ 2, 0, 1, 6, 12, 40, },
-+	{ 1, 0, 1, 6, 12, 40, },
-+	{ 0, 0, 1, 6, 13, 63, },
-+	{ 2, 0, 1, 6, 13, 40, },
-+	{ 1, 0, 1, 6, 13, 40, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 46, },
-+	{ 2, 0, 1, 7, 3, 40, },
-+	{ 1, 0, 1, 7, 3, 40, },
-+	{ 0, 0, 1, 7, 4, 46, },
-+	{ 2, 0, 1, 7, 4, 40, },
-+	{ 1, 0, 1, 7, 4, 40, },
-+	{ 0, 0, 1, 7, 5, 46, },
-+	{ 2, 0, 1, 7, 5, 40, },
-+	{ 1, 0, 1, 7, 5, 40, },
-+	{ 0, 0, 1, 7, 6, 46, },
-+	{ 2, 0, 1, 7, 6, 40, },
-+	{ 1, 0, 1, 7, 6, 40, },
-+	{ 0, 0, 1, 7, 7, 46, },
-+	{ 2, 0, 1, 7, 7, 40, },
-+	{ 1, 0, 1, 7, 7, 40, },
-+	{ 0, 0, 1, 7, 8, 46, },
-+	{ 2, 0, 1, 7, 8, 40, },
-+	{ 1, 0, 1, 7, 8, 40, },
-+	{ 0, 0, 1, 7, 9, 46, },
-+	{ 2, 0, 1, 7, 9, 40, },
-+	{ 1, 0, 1, 7, 9, 40, },
-+	{ 0, 0, 1, 7, 10, 46, },
-+	{ 2, 0, 1, 7, 10, 40, },
-+	{ 1, 0, 1, 7, 10, 40, },
-+	{ 0, 0, 1, 7, 11, 46, },
-+	{ 2, 0, 1, 7, 11, 40, },
-+	{ 1, 0, 1, 7, 11, 40, },
-+	{ 0, 0, 1, 7, 12, 63, },
-+	{ 2, 0, 1, 7, 12, 40, },
-+	{ 1, 0, 1, 7, 12, 40, },
-+	{ 0, 0, 1, 7, 13, 63, },
-+	{ 2, 0, 1, 7, 13, 40, },
-+	{ 1, 0, 1, 7, 13, 40, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 46, },
-+	{ 2, 1, 0, 1, 36, 40, },
-+	{ 1, 1, 0, 1, 36, 40, },
-+	{ 0, 1, 0, 1, 40, 46, },
-+	{ 2, 1, 0, 1, 40, 40, },
-+	{ 1, 1, 0, 1, 40, 40, },
-+	{ 0, 1, 0, 1, 44, 46, },
-+	{ 2, 1, 0, 1, 44, 40, },
-+	{ 1, 1, 0, 1, 44, 40, },
-+	{ 0, 1, 0, 1, 48, 46, },
-+	{ 2, 1, 0, 1, 48, 40, },
-+	{ 1, 1, 0, 1, 48, 40, },
-+	{ 0, 1, 0, 1, 52, 46, },
-+	{ 2, 1, 0, 1, 52, 40, },
-+	{ 1, 1, 0, 1, 52, 40, },
-+	{ 0, 1, 0, 1, 56, 46, },
-+	{ 2, 1, 0, 1, 56, 40, },
-+	{ 1, 1, 0, 1, 56, 40, },
-+	{ 0, 1, 0, 1, 60, 46, },
-+	{ 2, 1, 0, 1, 60, 40, },
-+	{ 1, 1, 0, 1, 60, 40, },
-+	{ 0, 1, 0, 1, 64, 46, },
-+	{ 2, 1, 0, 1, 64, 40, },
-+	{ 1, 1, 0, 1, 64, 40, },
-+	{ 0, 1, 0, 1, 100, 46, },
-+	{ 2, 1, 0, 1, 100, 40, },
-+	{ 1, 1, 0, 1, 100, 40, },
-+	{ 0, 1, 0, 1, 104, 46, },
-+	{ 2, 1, 0, 1, 104, 40, },
-+	{ 1, 1, 0, 1, 104, 40, },
-+	{ 0, 1, 0, 1, 108, 46, },
-+	{ 2, 1, 0, 1, 108, 40, },
-+	{ 1, 1, 0, 1, 108, 40, },
-+	{ 0, 1, 0, 1, 112, 46, },
-+	{ 2, 1, 0, 1, 112, 40, },
-+	{ 1, 1, 0, 1, 112, 40, },
-+	{ 0, 1, 0, 1, 116, 46, },
-+	{ 2, 1, 0, 1, 116, 40, },
-+	{ 1, 1, 0, 1, 116, 40, },
-+	{ 0, 1, 0, 1, 120, 46, },
-+	{ 2, 1, 0, 1, 120, 40, },
-+	{ 1, 1, 0, 1, 120, 40, },
-+	{ 0, 1, 0, 1, 124, 46, },
-+	{ 2, 1, 0, 1, 124, 40, },
-+	{ 1, 1, 0, 1, 124, 40, },
-+	{ 0, 1, 0, 1, 128, 46, },
-+	{ 2, 1, 0, 1, 128, 40, },
-+	{ 1, 1, 0, 1, 128, 40, },
-+	{ 0, 1, 0, 1, 132, 46, },
-+	{ 2, 1, 0, 1, 132, 40, },
-+	{ 1, 1, 0, 1, 132, 40, },
-+	{ 0, 1, 0, 1, 136, 46, },
-+	{ 2, 1, 0, 1, 136, 40, },
-+	{ 1, 1, 0, 1, 136, 40, },
-+	{ 0, 1, 0, 1, 140, 46, },
-+	{ 2, 1, 0, 1, 140, 40, },
-+	{ 1, 1, 0, 1, 140, 40, },
-+	{ 0, 1, 0, 1, 149, 46, },
-+	{ 2, 1, 0, 1, 149, 40, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 46, },
-+	{ 2, 1, 0, 1, 153, 40, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 46, },
-+	{ 2, 1, 0, 1, 157, 40, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 46, },
-+	{ 2, 1, 0, 1, 161, 40, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 46, },
-+	{ 2, 1, 0, 1, 165, 40, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 46, },
-+	{ 2, 1, 0, 2, 36, 40, },
-+	{ 1, 1, 0, 2, 36, 40, },
-+	{ 0, 1, 0, 2, 40, 46, },
-+	{ 2, 1, 0, 2, 40, 40, },
-+	{ 1, 1, 0, 2, 40, 40, },
-+	{ 0, 1, 0, 2, 44, 46, },
-+	{ 2, 1, 0, 2, 44, 40, },
-+	{ 1, 1, 0, 2, 44, 40, },
-+	{ 0, 1, 0, 2, 48, 46, },
-+	{ 2, 1, 0, 2, 48, 40, },
-+	{ 1, 1, 0, 2, 48, 40, },
-+	{ 0, 1, 0, 2, 52, 46, },
-+	{ 2, 1, 0, 2, 52, 40, },
-+	{ 1, 1, 0, 2, 52, 40, },
-+	{ 0, 1, 0, 2, 56, 46, },
-+	{ 2, 1, 0, 2, 56, 40, },
-+	{ 1, 1, 0, 2, 56, 40, },
-+	{ 0, 1, 0, 2, 60, 46, },
-+	{ 2, 1, 0, 2, 60, 40, },
-+	{ 1, 1, 0, 2, 60, 40, },
-+	{ 0, 1, 0, 2, 64, 46, },
-+	{ 2, 1, 0, 2, 64, 40, },
-+	{ 1, 1, 0, 2, 64, 40, },
-+	{ 0, 1, 0, 2, 100, 46, },
-+	{ 2, 1, 0, 2, 100, 40, },
-+	{ 1, 1, 0, 2, 100, 40, },
-+	{ 0, 1, 0, 2, 104, 46, },
-+	{ 2, 1, 0, 2, 104, 40, },
-+	{ 1, 1, 0, 2, 104, 40, },
-+	{ 0, 1, 0, 2, 108, 46, },
-+	{ 2, 1, 0, 2, 108, 40, },
-+	{ 1, 1, 0, 2, 108, 40, },
-+	{ 0, 1, 0, 2, 112, 46, },
-+	{ 2, 1, 0, 2, 112, 40, },
-+	{ 1, 1, 0, 2, 112, 40, },
-+	{ 0, 1, 0, 2, 116, 46, },
-+	{ 2, 1, 0, 2, 116, 40, },
-+	{ 1, 1, 0, 2, 116, 40, },
-+	{ 0, 1, 0, 2, 120, 46, },
-+	{ 2, 1, 0, 2, 120, 40, },
-+	{ 1, 1, 0, 2, 120, 40, },
-+	{ 0, 1, 0, 2, 124, 46, },
-+	{ 2, 1, 0, 2, 124, 40, },
-+	{ 1, 1, 0, 2, 124, 40, },
-+	{ 0, 1, 0, 2, 128, 46, },
-+	{ 2, 1, 0, 2, 128, 40, },
-+	{ 1, 1, 0, 2, 128, 40, },
-+	{ 0, 1, 0, 2, 132, 46, },
-+	{ 2, 1, 0, 2, 132, 40, },
-+	{ 1, 1, 0, 2, 132, 40, },
-+	{ 0, 1, 0, 2, 136, 46, },
-+	{ 2, 1, 0, 2, 136, 40, },
-+	{ 1, 1, 0, 2, 136, 40, },
-+	{ 0, 1, 0, 2, 140, 46, },
-+	{ 2, 1, 0, 2, 140, 40, },
-+	{ 1, 1, 0, 2, 140, 40, },
-+	{ 0, 1, 0, 2, 149, 46, },
-+	{ 2, 1, 0, 2, 149, 40, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 46, },
-+	{ 2, 1, 0, 2, 153, 40, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 46, },
-+	{ 2, 1, 0, 2, 157, 40, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 46, },
-+	{ 2, 1, 0, 2, 161, 40, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 46, },
-+	{ 2, 1, 0, 2, 165, 40, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 46, },
-+	{ 2, 1, 0, 3, 36, 40, },
-+	{ 1, 1, 0, 3, 36, 40, },
-+	{ 0, 1, 0, 3, 40, 46, },
-+	{ 2, 1, 0, 3, 40, 40, },
-+	{ 1, 1, 0, 3, 40, 40, },
-+	{ 0, 1, 0, 3, 44, 46, },
-+	{ 2, 1, 0, 3, 44, 40, },
-+	{ 1, 1, 0, 3, 44, 40, },
-+	{ 0, 1, 0, 3, 48, 46, },
-+	{ 2, 1, 0, 3, 48, 40, },
-+	{ 1, 1, 0, 3, 48, 40, },
-+	{ 0, 1, 0, 3, 52, 46, },
-+	{ 2, 1, 0, 3, 52, 40, },
-+	{ 1, 1, 0, 3, 52, 40, },
-+	{ 0, 1, 0, 3, 56, 46, },
-+	{ 2, 1, 0, 3, 56, 40, },
-+	{ 1, 1, 0, 3, 56, 40, },
-+	{ 0, 1, 0, 3, 60, 46, },
-+	{ 2, 1, 0, 3, 60, 40, },
-+	{ 1, 1, 0, 3, 60, 40, },
-+	{ 0, 1, 0, 3, 64, 46, },
-+	{ 2, 1, 0, 3, 64, 40, },
-+	{ 1, 1, 0, 3, 64, 40, },
-+	{ 0, 1, 0, 3, 100, 46, },
-+	{ 2, 1, 0, 3, 100, 40, },
-+	{ 1, 1, 0, 3, 100, 40, },
-+	{ 0, 1, 0, 3, 104, 46, },
-+	{ 2, 1, 0, 3, 104, 40, },
-+	{ 1, 1, 0, 3, 104, 40, },
-+	{ 0, 1, 0, 3, 108, 46, },
-+	{ 2, 1, 0, 3, 108, 40, },
-+	{ 1, 1, 0, 3, 108, 40, },
-+	{ 0, 1, 0, 3, 112, 46, },
-+	{ 2, 1, 0, 3, 112, 40, },
-+	{ 1, 1, 0, 3, 112, 40, },
-+	{ 0, 1, 0, 3, 116, 46, },
-+	{ 2, 1, 0, 3, 116, 40, },
-+	{ 1, 1, 0, 3, 116, 40, },
-+	{ 0, 1, 0, 3, 120, 46, },
-+	{ 2, 1, 0, 3, 120, 40, },
-+	{ 1, 1, 0, 3, 120, 40, },
-+	{ 0, 1, 0, 3, 124, 46, },
-+	{ 2, 1, 0, 3, 124, 40, },
-+	{ 1, 1, 0, 3, 124, 40, },
-+	{ 0, 1, 0, 3, 128, 46, },
-+	{ 2, 1, 0, 3, 128, 40, },
-+	{ 1, 1, 0, 3, 128, 40, },
-+	{ 0, 1, 0, 3, 132, 46, },
-+	{ 2, 1, 0, 3, 132, 40, },
-+	{ 1, 1, 0, 3, 132, 40, },
-+	{ 0, 1, 0, 3, 136, 46, },
-+	{ 2, 1, 0, 3, 136, 40, },
-+	{ 1, 1, 0, 3, 136, 40, },
-+	{ 0, 1, 0, 3, 140, 46, },
-+	{ 2, 1, 0, 3, 140, 40, },
-+	{ 1, 1, 0, 3, 140, 40, },
-+	{ 0, 1, 0, 3, 149, 46, },
-+	{ 2, 1, 0, 3, 149, 40, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 46, },
-+	{ 2, 1, 0, 3, 153, 40, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 46, },
-+	{ 2, 1, 0, 3, 157, 40, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 46, },
-+	{ 2, 1, 0, 3, 161, 40, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 46, },
-+	{ 2, 1, 0, 3, 165, 40, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 46, },
-+	{ 2, 1, 0, 6, 36, 40, },
-+	{ 1, 1, 0, 6, 36, 40, },
-+	{ 0, 1, 0, 6, 40, 46, },
-+	{ 2, 1, 0, 6, 40, 40, },
-+	{ 1, 1, 0, 6, 40, 40, },
-+	{ 0, 1, 0, 6, 44, 46, },
-+	{ 2, 1, 0, 6, 44, 40, },
-+	{ 1, 1, 0, 6, 44, 40, },
-+	{ 0, 1, 0, 6, 48, 46, },
-+	{ 2, 1, 0, 6, 48, 40, },
-+	{ 1, 1, 0, 6, 48, 40, },
-+	{ 0, 1, 0, 6, 52, 46, },
-+	{ 2, 1, 0, 6, 52, 40, },
-+	{ 1, 1, 0, 6, 52, 40, },
-+	{ 0, 1, 0, 6, 56, 46, },
-+	{ 2, 1, 0, 6, 56, 40, },
-+	{ 1, 1, 0, 6, 56, 40, },
-+	{ 0, 1, 0, 6, 60, 46, },
-+	{ 2, 1, 0, 6, 60, 40, },
-+	{ 1, 1, 0, 6, 60, 40, },
-+	{ 0, 1, 0, 6, 64, 46, },
-+	{ 2, 1, 0, 6, 64, 40, },
-+	{ 1, 1, 0, 6, 64, 40, },
-+	{ 0, 1, 0, 6, 100, 46, },
-+	{ 2, 1, 0, 6, 100, 40, },
-+	{ 1, 1, 0, 6, 100, 40, },
-+	{ 0, 1, 0, 6, 104, 46, },
-+	{ 2, 1, 0, 6, 104, 40, },
-+	{ 1, 1, 0, 6, 104, 40, },
-+	{ 0, 1, 0, 6, 108, 46, },
-+	{ 2, 1, 0, 6, 108, 40, },
-+	{ 1, 1, 0, 6, 108, 40, },
-+	{ 0, 1, 0, 6, 112, 46, },
-+	{ 2, 1, 0, 6, 112, 40, },
-+	{ 1, 1, 0, 6, 112, 40, },
-+	{ 0, 1, 0, 6, 116, 46, },
-+	{ 2, 1, 0, 6, 116, 40, },
-+	{ 1, 1, 0, 6, 116, 40, },
-+	{ 0, 1, 0, 6, 120, 46, },
-+	{ 2, 1, 0, 6, 120, 40, },
-+	{ 1, 1, 0, 6, 120, 40, },
-+	{ 0, 1, 0, 6, 124, 46, },
-+	{ 2, 1, 0, 6, 124, 40, },
-+	{ 1, 1, 0, 6, 124, 40, },
-+	{ 0, 1, 0, 6, 128, 46, },
-+	{ 2, 1, 0, 6, 128, 40, },
-+	{ 1, 1, 0, 6, 128, 40, },
-+	{ 0, 1, 0, 6, 132, 46, },
-+	{ 2, 1, 0, 6, 132, 40, },
-+	{ 1, 1, 0, 6, 132, 40, },
-+	{ 0, 1, 0, 6, 136, 46, },
-+	{ 2, 1, 0, 6, 136, 40, },
-+	{ 1, 1, 0, 6, 136, 40, },
-+	{ 0, 1, 0, 6, 140, 46, },
-+	{ 2, 1, 0, 6, 140, 40, },
-+	{ 1, 1, 0, 6, 140, 40, },
-+	{ 0, 1, 0, 6, 149, 46, },
-+	{ 2, 1, 0, 6, 149, 40, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 46, },
-+	{ 2, 1, 0, 6, 153, 40, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 46, },
-+	{ 2, 1, 0, 6, 157, 40, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 46, },
-+	{ 2, 1, 0, 6, 161, 40, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 46, },
-+	{ 2, 1, 0, 6, 165, 40, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 46, },
-+	{ 2, 1, 0, 7, 36, 40, },
-+	{ 1, 1, 0, 7, 36, 40, },
-+	{ 0, 1, 0, 7, 40, 46, },
-+	{ 2, 1, 0, 7, 40, 40, },
-+	{ 1, 1, 0, 7, 40, 40, },
-+	{ 0, 1, 0, 7, 44, 46, },
-+	{ 2, 1, 0, 7, 44, 40, },
-+	{ 1, 1, 0, 7, 44, 40, },
-+	{ 0, 1, 0, 7, 48, 46, },
-+	{ 2, 1, 0, 7, 48, 40, },
-+	{ 1, 1, 0, 7, 48, 40, },
-+	{ 0, 1, 0, 7, 52, 46, },
-+	{ 2, 1, 0, 7, 52, 40, },
-+	{ 1, 1, 0, 7, 52, 40, },
-+	{ 0, 1, 0, 7, 56, 46, },
-+	{ 2, 1, 0, 7, 56, 40, },
-+	{ 1, 1, 0, 7, 56, 40, },
-+	{ 0, 1, 0, 7, 60, 46, },
-+	{ 2, 1, 0, 7, 60, 40, },
-+	{ 1, 1, 0, 7, 60, 40, },
-+	{ 0, 1, 0, 7, 64, 46, },
-+	{ 2, 1, 0, 7, 64, 40, },
-+	{ 1, 1, 0, 7, 64, 40, },
-+	{ 0, 1, 0, 7, 100, 46, },
-+	{ 2, 1, 0, 7, 100, 40, },
-+	{ 1, 1, 0, 7, 100, 40, },
-+	{ 0, 1, 0, 7, 104, 46, },
-+	{ 2, 1, 0, 7, 104, 40, },
-+	{ 1, 1, 0, 7, 104, 40, },
-+	{ 0, 1, 0, 7, 108, 46, },
-+	{ 2, 1, 0, 7, 108, 40, },
-+	{ 1, 1, 0, 7, 108, 40, },
-+	{ 0, 1, 0, 7, 112, 46, },
-+	{ 2, 1, 0, 7, 112, 40, },
-+	{ 1, 1, 0, 7, 112, 40, },
-+	{ 0, 1, 0, 7, 116, 46, },
-+	{ 2, 1, 0, 7, 116, 40, },
-+	{ 1, 1, 0, 7, 116, 40, },
-+	{ 0, 1, 0, 7, 120, 46, },
-+	{ 2, 1, 0, 7, 120, 40, },
-+	{ 1, 1, 0, 7, 120, 40, },
-+	{ 0, 1, 0, 7, 124, 46, },
-+	{ 2, 1, 0, 7, 124, 40, },
-+	{ 1, 1, 0, 7, 124, 40, },
-+	{ 0, 1, 0, 7, 128, 46, },
-+	{ 2, 1, 0, 7, 128, 40, },
-+	{ 1, 1, 0, 7, 128, 40, },
-+	{ 0, 1, 0, 7, 132, 46, },
-+	{ 2, 1, 0, 7, 132, 40, },
-+	{ 1, 1, 0, 7, 132, 40, },
-+	{ 0, 1, 0, 7, 136, 46, },
-+	{ 2, 1, 0, 7, 136, 40, },
-+	{ 1, 1, 0, 7, 136, 40, },
-+	{ 0, 1, 0, 7, 140, 46, },
-+	{ 2, 1, 0, 7, 140, 40, },
-+	{ 1, 1, 0, 7, 140, 40, },
-+	{ 0, 1, 0, 7, 149, 46, },
-+	{ 2, 1, 0, 7, 149, 40, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 46, },
-+	{ 2, 1, 0, 7, 153, 40, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 46, },
-+	{ 2, 1, 0, 7, 157, 40, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 46, },
-+	{ 2, 1, 0, 7, 161, 40, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 46, },
-+	{ 2, 1, 0, 7, 165, 40, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 46, },
-+	{ 2, 1, 1, 2, 38, 40, },
-+	{ 1, 1, 1, 2, 38, 40, },
-+	{ 0, 1, 1, 2, 46, 46, },
-+	{ 2, 1, 1, 2, 46, 40, },
-+	{ 1, 1, 1, 2, 46, 40, },
-+	{ 0, 1, 1, 2, 54, 46, },
-+	{ 2, 1, 1, 2, 54, 40, },
-+	{ 1, 1, 1, 2, 54, 40, },
-+	{ 0, 1, 1, 2, 62, 46, },
-+	{ 2, 1, 1, 2, 62, 40, },
-+	{ 1, 1, 1, 2, 62, 40, },
-+	{ 0, 1, 1, 2, 102, 46, },
-+	{ 2, 1, 1, 2, 102, 40, },
-+	{ 1, 1, 1, 2, 102, 40, },
-+	{ 0, 1, 1, 2, 110, 46, },
-+	{ 2, 1, 1, 2, 110, 40, },
-+	{ 1, 1, 1, 2, 110, 40, },
-+	{ 0, 1, 1, 2, 118, 46, },
-+	{ 2, 1, 1, 2, 118, 40, },
-+	{ 1, 1, 1, 2, 118, 40, },
-+	{ 0, 1, 1, 2, 126, 46, },
-+	{ 2, 1, 1, 2, 126, 40, },
-+	{ 1, 1, 1, 2, 126, 40, },
-+	{ 0, 1, 1, 2, 134, 46, },
-+	{ 2, 1, 1, 2, 134, 40, },
-+	{ 1, 1, 1, 2, 134, 40, },
-+	{ 0, 1, 1, 2, 151, 46, },
-+	{ 2, 1, 1, 2, 151, 40, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 46, },
-+	{ 2, 1, 1, 2, 159, 40, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 46, },
-+	{ 2, 1, 1, 3, 38, 40, },
-+	{ 1, 1, 1, 3, 38, 40, },
-+	{ 0, 1, 1, 3, 46, 46, },
-+	{ 2, 1, 1, 3, 46, 40, },
-+	{ 1, 1, 1, 3, 46, 40, },
-+	{ 0, 1, 1, 3, 54, 46, },
-+	{ 2, 1, 1, 3, 54, 40, },
-+	{ 1, 1, 1, 3, 54, 40, },
-+	{ 0, 1, 1, 3, 62, 46, },
-+	{ 2, 1, 1, 3, 62, 40, },
-+	{ 1, 1, 1, 3, 62, 40, },
-+	{ 0, 1, 1, 3, 102, 46, },
-+	{ 2, 1, 1, 3, 102, 40, },
-+	{ 1, 1, 1, 3, 102, 40, },
-+	{ 0, 1, 1, 3, 110, 46, },
-+	{ 2, 1, 1, 3, 110, 40, },
-+	{ 1, 1, 1, 3, 110, 40, },
-+	{ 0, 1, 1, 3, 118, 46, },
-+	{ 2, 1, 1, 3, 118, 40, },
-+	{ 1, 1, 1, 3, 118, 40, },
-+	{ 0, 1, 1, 3, 126, 46, },
-+	{ 2, 1, 1, 3, 126, 40, },
-+	{ 1, 1, 1, 3, 126, 40, },
-+	{ 0, 1, 1, 3, 134, 46, },
-+	{ 2, 1, 1, 3, 134, 40, },
-+	{ 1, 1, 1, 3, 134, 40, },
-+	{ 0, 1, 1, 3, 151, 46, },
-+	{ 2, 1, 1, 3, 151, 40, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 46, },
-+	{ 2, 1, 1, 3, 159, 40, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 46, },
-+	{ 2, 1, 1, 6, 38, 40, },
-+	{ 1, 1, 1, 6, 38, 40, },
-+	{ 0, 1, 1, 6, 46, 46, },
-+	{ 2, 1, 1, 6, 46, 40, },
-+	{ 1, 1, 1, 6, 46, 40, },
-+	{ 0, 1, 1, 6, 54, 46, },
-+	{ 2, 1, 1, 6, 54, 40, },
-+	{ 1, 1, 1, 6, 54, 40, },
-+	{ 0, 1, 1, 6, 62, 46, },
-+	{ 2, 1, 1, 6, 62, 40, },
-+	{ 1, 1, 1, 6, 62, 40, },
-+	{ 0, 1, 1, 6, 102, 46, },
-+	{ 2, 1, 1, 6, 102, 40, },
-+	{ 1, 1, 1, 6, 102, 40, },
-+	{ 0, 1, 1, 6, 110, 46, },
-+	{ 2, 1, 1, 6, 110, 40, },
-+	{ 1, 1, 1, 6, 110, 40, },
-+	{ 0, 1, 1, 6, 118, 46, },
-+	{ 2, 1, 1, 6, 118, 40, },
-+	{ 1, 1, 1, 6, 118, 40, },
-+	{ 0, 1, 1, 6, 126, 46, },
-+	{ 2, 1, 1, 6, 126, 40, },
-+	{ 1, 1, 1, 6, 126, 40, },
-+	{ 0, 1, 1, 6, 134, 46, },
-+	{ 2, 1, 1, 6, 134, 40, },
-+	{ 1, 1, 1, 6, 134, 40, },
-+	{ 0, 1, 1, 6, 151, 46, },
-+	{ 2, 1, 1, 6, 151, 40, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 46, },
-+	{ 2, 1, 1, 6, 159, 40, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 46, },
-+	{ 2, 1, 1, 7, 38, 40, },
-+	{ 1, 1, 1, 7, 38, 40, },
-+	{ 0, 1, 1, 7, 46, 46, },
-+	{ 2, 1, 1, 7, 46, 40, },
-+	{ 1, 1, 1, 7, 46, 40, },
-+	{ 0, 1, 1, 7, 54, 46, },
-+	{ 2, 1, 1, 7, 54, 40, },
-+	{ 1, 1, 1, 7, 54, 40, },
-+	{ 0, 1, 1, 7, 62, 46, },
-+	{ 2, 1, 1, 7, 62, 40, },
-+	{ 1, 1, 1, 7, 62, 40, },
-+	{ 0, 1, 1, 7, 102, 46, },
-+	{ 2, 1, 1, 7, 102, 40, },
-+	{ 1, 1, 1, 7, 102, 40, },
-+	{ 0, 1, 1, 7, 110, 46, },
-+	{ 2, 1, 1, 7, 110, 40, },
-+	{ 1, 1, 1, 7, 110, 40, },
-+	{ 0, 1, 1, 7, 118, 46, },
-+	{ 2, 1, 1, 7, 118, 40, },
-+	{ 1, 1, 1, 7, 118, 40, },
-+	{ 0, 1, 1, 7, 126, 46, },
-+	{ 2, 1, 1, 7, 126, 40, },
-+	{ 1, 1, 1, 7, 126, 40, },
-+	{ 0, 1, 1, 7, 134, 46, },
-+	{ 2, 1, 1, 7, 134, 40, },
-+	{ 1, 1, 1, 7, 134, 40, },
-+	{ 0, 1, 1, 7, 151, 46, },
-+	{ 2, 1, 1, 7, 151, 40, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 46, },
-+	{ 2, 1, 1, 7, 159, 40, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 46, },
-+	{ 2, 1, 2, 4, 42, 40, },
-+	{ 1, 1, 2, 4, 42, 40, },
-+	{ 0, 1, 2, 4, 58, 46, },
-+	{ 2, 1, 2, 4, 58, 40, },
-+	{ 1, 1, 2, 4, 58, 40, },
-+	{ 0, 1, 2, 4, 106, 46, },
-+	{ 2, 1, 2, 4, 106, 40, },
-+	{ 1, 1, 2, 4, 106, 40, },
-+	{ 0, 1, 2, 4, 122, 46, },
-+	{ 2, 1, 2, 4, 122, 40, },
-+	{ 1, 1, 2, 4, 122, 40, },
-+	{ 0, 1, 2, 4, 155, 46, },
-+	{ 2, 1, 2, 4, 155, 40, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 46, },
-+	{ 2, 1, 2, 5, 42, 40, },
-+	{ 1, 1, 2, 5, 42, 40, },
-+	{ 0, 1, 2, 5, 58, 46, },
-+	{ 2, 1, 2, 5, 58, 40, },
-+	{ 1, 1, 2, 5, 58, 40, },
-+	{ 0, 1, 2, 5, 106, 46, },
-+	{ 2, 1, 2, 5, 106, 40, },
-+	{ 1, 1, 2, 5, 106, 40, },
-+	{ 0, 1, 2, 5, 122, 46, },
-+	{ 2, 1, 2, 5, 122, 40, },
-+	{ 1, 1, 2, 5, 122, 40, },
-+	{ 0, 1, 2, 5, 155, 46, },
-+	{ 2, 1, 2, 5, 155, 40, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 46, },
-+	{ 2, 1, 2, 8, 42, 40, },
-+	{ 1, 1, 2, 8, 42, 40, },
-+	{ 0, 1, 2, 8, 58, 46, },
-+	{ 2, 1, 2, 8, 58, 40, },
-+	{ 1, 1, 2, 8, 58, 40, },
-+	{ 0, 1, 2, 8, 106, 46, },
-+	{ 2, 1, 2, 8, 106, 40, },
-+	{ 1, 1, 2, 8, 106, 40, },
-+	{ 0, 1, 2, 8, 122, 46, },
-+	{ 2, 1, 2, 8, 122, 40, },
-+	{ 1, 1, 2, 8, 122, 40, },
-+	{ 0, 1, 2, 8, 155, 46, },
-+	{ 2, 1, 2, 8, 155, 40, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 46, },
-+	{ 2, 1, 2, 9, 42, 40, },
-+	{ 1, 1, 2, 9, 42, 40, },
-+	{ 0, 1, 2, 9, 58, 46, },
-+	{ 2, 1, 2, 9, 58, 40, },
-+	{ 1, 1, 2, 9, 58, 40, },
-+	{ 0, 1, 2, 9, 106, 46, },
-+	{ 2, 1, 2, 9, 106, 40, },
-+	{ 1, 1, 2, 9, 106, 40, },
-+	{ 0, 1, 2, 9, 122, 46, },
-+	{ 2, 1, 2, 9, 122, 40, },
-+	{ 1, 1, 2, 9, 122, 40, },
-+	{ 0, 1, 2, 9, 155, 46, },
-+	{ 2, 1, 2, 9, 155, 40, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type3);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type5[] = {
-+	{ 0, 0, 0, 0, 1, 46, },
-+	{ 2, 0, 0, 0, 1, 40, },
-+	{ 1, 0, 0, 0, 1, 40, },
-+	{ 0, 0, 0, 0, 2, 46, },
-+	{ 2, 0, 0, 0, 2, 40, },
-+	{ 1, 0, 0, 0, 2, 40, },
-+	{ 0, 0, 0, 0, 3, 46, },
-+	{ 2, 0, 0, 0, 3, 40, },
-+	{ 1, 0, 0, 0, 3, 40, },
-+	{ 0, 0, 0, 0, 4, 46, },
-+	{ 2, 0, 0, 0, 4, 40, },
-+	{ 1, 0, 0, 0, 4, 40, },
-+	{ 0, 0, 0, 0, 5, 46, },
-+	{ 2, 0, 0, 0, 5, 40, },
-+	{ 1, 0, 0, 0, 5, 40, },
-+	{ 0, 0, 0, 0, 6, 46, },
-+	{ 2, 0, 0, 0, 6, 40, },
-+	{ 1, 0, 0, 0, 6, 40, },
-+	{ 0, 0, 0, 0, 7, 46, },
-+	{ 2, 0, 0, 0, 7, 40, },
-+	{ 1, 0, 0, 0, 7, 40, },
-+	{ 0, 0, 0, 0, 8, 46, },
-+	{ 2, 0, 0, 0, 8, 40, },
-+	{ 1, 0, 0, 0, 8, 40, },
-+	{ 0, 0, 0, 0, 9, 46, },
-+	{ 2, 0, 0, 0, 9, 40, },
-+	{ 1, 0, 0, 0, 9, 40, },
-+	{ 0, 0, 0, 0, 10, 46, },
-+	{ 2, 0, 0, 0, 10, 40, },
-+	{ 1, 0, 0, 0, 10, 40, },
-+	{ 0, 0, 0, 0, 11, 46, },
-+	{ 2, 0, 0, 0, 11, 40, },
-+	{ 1, 0, 0, 0, 11, 40, },
-+	{ 0, 0, 0, 0, 12, 63, },
-+	{ 2, 0, 0, 0, 12, 40, },
-+	{ 1, 0, 0, 0, 12, 40, },
-+	{ 0, 0, 0, 0, 13, 63, },
-+	{ 2, 0, 0, 0, 13, 40, },
-+	{ 1, 0, 0, 0, 13, 40, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 40, },
-+	{ 0, 0, 0, 1, 1, 46, },
-+	{ 2, 0, 0, 1, 1, 40, },
-+	{ 1, 0, 0, 1, 1, 40, },
-+	{ 0, 0, 0, 1, 2, 46, },
-+	{ 2, 0, 0, 1, 2, 40, },
-+	{ 1, 0, 0, 1, 2, 40, },
-+	{ 0, 0, 0, 1, 3, 46, },
-+	{ 2, 0, 0, 1, 3, 40, },
-+	{ 1, 0, 0, 1, 3, 40, },
-+	{ 0, 0, 0, 1, 4, 46, },
-+	{ 2, 0, 0, 1, 4, 40, },
-+	{ 1, 0, 0, 1, 4, 40, },
-+	{ 0, 0, 0, 1, 5, 46, },
-+	{ 2, 0, 0, 1, 5, 40, },
-+	{ 1, 0, 0, 1, 5, 40, },
-+	{ 0, 0, 0, 1, 6, 46, },
-+	{ 2, 0, 0, 1, 6, 40, },
-+	{ 1, 0, 0, 1, 6, 40, },
-+	{ 0, 0, 0, 1, 7, 46, },
-+	{ 2, 0, 0, 1, 7, 40, },
-+	{ 1, 0, 0, 1, 7, 40, },
-+	{ 0, 0, 0, 1, 8, 46, },
-+	{ 2, 0, 0, 1, 8, 40, },
-+	{ 1, 0, 0, 1, 8, 40, },
-+	{ 0, 0, 0, 1, 9, 46, },
-+	{ 2, 0, 0, 1, 9, 40, },
-+	{ 1, 0, 0, 1, 9, 40, },
-+	{ 0, 0, 0, 1, 10, 46, },
-+	{ 2, 0, 0, 1, 10, 40, },
-+	{ 1, 0, 0, 1, 10, 40, },
-+	{ 0, 0, 0, 1, 11, 46, },
-+	{ 2, 0, 0, 1, 11, 40, },
-+	{ 1, 0, 0, 1, 11, 40, },
-+	{ 0, 0, 0, 1, 12, 63, },
-+	{ 2, 0, 0, 1, 12, 40, },
-+	{ 1, 0, 0, 1, 12, 40, },
-+	{ 0, 0, 0, 1, 13, 63, },
-+	{ 2, 0, 0, 1, 13, 40, },
-+	{ 1, 0, 0, 1, 13, 40, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 46, },
-+	{ 2, 0, 0, 2, 1, 40, },
-+	{ 1, 0, 0, 2, 1, 40, },
-+	{ 0, 0, 0, 2, 2, 46, },
-+	{ 2, 0, 0, 2, 2, 40, },
-+	{ 1, 0, 0, 2, 2, 40, },
-+	{ 0, 0, 0, 2, 3, 46, },
-+	{ 2, 0, 0, 2, 3, 40, },
-+	{ 1, 0, 0, 2, 3, 40, },
-+	{ 0, 0, 0, 2, 4, 46, },
-+	{ 2, 0, 0, 2, 4, 40, },
-+	{ 1, 0, 0, 2, 4, 40, },
-+	{ 0, 0, 0, 2, 5, 46, },
-+	{ 2, 0, 0, 2, 5, 40, },
-+	{ 1, 0, 0, 2, 5, 40, },
-+	{ 0, 0, 0, 2, 6, 46, },
-+	{ 2, 0, 0, 2, 6, 40, },
-+	{ 1, 0, 0, 2, 6, 40, },
-+	{ 0, 0, 0, 2, 7, 46, },
-+	{ 2, 0, 0, 2, 7, 40, },
-+	{ 1, 0, 0, 2, 7, 40, },
-+	{ 0, 0, 0, 2, 8, 46, },
-+	{ 2, 0, 0, 2, 8, 40, },
-+	{ 1, 0, 0, 2, 8, 40, },
-+	{ 0, 0, 0, 2, 9, 46, },
-+	{ 2, 0, 0, 2, 9, 40, },
-+	{ 1, 0, 0, 2, 9, 40, },
-+	{ 0, 0, 0, 2, 10, 46, },
-+	{ 2, 0, 0, 2, 10, 40, },
-+	{ 1, 0, 0, 2, 10, 40, },
-+	{ 0, 0, 0, 2, 11, 46, },
-+	{ 2, 0, 0, 2, 11, 40, },
-+	{ 1, 0, 0, 2, 11, 40, },
-+	{ 0, 0, 0, 2, 12, 63, },
-+	{ 2, 0, 0, 2, 12, 40, },
-+	{ 1, 0, 0, 2, 12, 40, },
-+	{ 0, 0, 0, 2, 13, 63, },
-+	{ 2, 0, 0, 2, 13, 40, },
-+	{ 1, 0, 0, 2, 13, 40, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 46, },
-+	{ 2, 0, 0, 3, 1, 40, },
-+	{ 1, 0, 0, 3, 1, 40, },
-+	{ 0, 0, 0, 3, 2, 46, },
-+	{ 2, 0, 0, 3, 2, 40, },
-+	{ 1, 0, 0, 3, 2, 40, },
-+	{ 0, 0, 0, 3, 3, 46, },
-+	{ 2, 0, 0, 3, 3, 40, },
-+	{ 1, 0, 0, 3, 3, 40, },
-+	{ 0, 0, 0, 3, 4, 46, },
-+	{ 2, 0, 0, 3, 4, 40, },
-+	{ 1, 0, 0, 3, 4, 40, },
-+	{ 0, 0, 0, 3, 5, 46, },
-+	{ 2, 0, 0, 3, 5, 40, },
-+	{ 1, 0, 0, 3, 5, 40, },
-+	{ 0, 0, 0, 3, 6, 46, },
-+	{ 2, 0, 0, 3, 6, 40, },
-+	{ 1, 0, 0, 3, 6, 40, },
-+	{ 0, 0, 0, 3, 7, 46, },
-+	{ 2, 0, 0, 3, 7, 40, },
-+	{ 1, 0, 0, 3, 7, 40, },
-+	{ 0, 0, 0, 3, 8, 46, },
-+	{ 2, 0, 0, 3, 8, 40, },
-+	{ 1, 0, 0, 3, 8, 40, },
-+	{ 0, 0, 0, 3, 9, 46, },
-+	{ 2, 0, 0, 3, 9, 40, },
-+	{ 1, 0, 0, 3, 9, 40, },
-+	{ 0, 0, 0, 3, 10, 46, },
-+	{ 2, 0, 0, 3, 10, 40, },
-+	{ 1, 0, 0, 3, 10, 40, },
-+	{ 0, 0, 0, 3, 11, 46, },
-+	{ 2, 0, 0, 3, 11, 40, },
-+	{ 1, 0, 0, 3, 11, 40, },
-+	{ 0, 0, 0, 3, 12, 63, },
-+	{ 2, 0, 0, 3, 12, 40, },
-+	{ 1, 0, 0, 3, 12, 40, },
-+	{ 0, 0, 0, 3, 13, 63, },
-+	{ 2, 0, 0, 3, 13, 40, },
-+	{ 1, 0, 0, 3, 13, 40, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 46, },
-+	{ 2, 0, 0, 6, 1, 40, },
-+	{ 1, 0, 0, 6, 1, 40, },
-+	{ 0, 0, 0, 6, 2, 46, },
-+	{ 2, 0, 0, 6, 2, 40, },
-+	{ 1, 0, 0, 6, 2, 40, },
-+	{ 0, 0, 0, 6, 3, 46, },
-+	{ 2, 0, 0, 6, 3, 40, },
-+	{ 1, 0, 0, 6, 3, 40, },
-+	{ 0, 0, 0, 6, 4, 46, },
-+	{ 2, 0, 0, 6, 4, 40, },
-+	{ 1, 0, 0, 6, 4, 40, },
-+	{ 0, 0, 0, 6, 5, 46, },
-+	{ 2, 0, 0, 6, 5, 40, },
-+	{ 1, 0, 0, 6, 5, 40, },
-+	{ 0, 0, 0, 6, 6, 46, },
-+	{ 2, 0, 0, 6, 6, 40, },
-+	{ 1, 0, 0, 6, 6, 40, },
-+	{ 0, 0, 0, 6, 7, 46, },
-+	{ 2, 0, 0, 6, 7, 40, },
-+	{ 1, 0, 0, 6, 7, 40, },
-+	{ 0, 0, 0, 6, 8, 46, },
-+	{ 2, 0, 0, 6, 8, 40, },
-+	{ 1, 0, 0, 6, 8, 40, },
-+	{ 0, 0, 0, 6, 9, 46, },
-+	{ 2, 0, 0, 6, 9, 40, },
-+	{ 1, 0, 0, 6, 9, 40, },
-+	{ 0, 0, 0, 6, 10, 46, },
-+	{ 2, 0, 0, 6, 10, 40, },
-+	{ 1, 0, 0, 6, 10, 40, },
-+	{ 0, 0, 0, 6, 11, 46, },
-+	{ 2, 0, 0, 6, 11, 40, },
-+	{ 1, 0, 0, 6, 11, 40, },
-+	{ 0, 0, 0, 6, 12, 63, },
-+	{ 2, 0, 0, 6, 12, 40, },
-+	{ 1, 0, 0, 6, 12, 40, },
-+	{ 0, 0, 0, 6, 13, 63, },
-+	{ 2, 0, 0, 6, 13, 40, },
-+	{ 1, 0, 0, 6, 13, 40, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 46, },
-+	{ 2, 0, 0, 7, 1, 40, },
-+	{ 1, 0, 0, 7, 1, 40, },
-+	{ 0, 0, 0, 7, 2, 46, },
-+	{ 2, 0, 0, 7, 2, 40, },
-+	{ 1, 0, 0, 7, 2, 40, },
-+	{ 0, 0, 0, 7, 3, 46, },
-+	{ 2, 0, 0, 7, 3, 40, },
-+	{ 1, 0, 0, 7, 3, 40, },
-+	{ 0, 0, 0, 7, 4, 46, },
-+	{ 2, 0, 0, 7, 4, 40, },
-+	{ 1, 0, 0, 7, 4, 40, },
-+	{ 0, 0, 0, 7, 5, 46, },
-+	{ 2, 0, 0, 7, 5, 40, },
-+	{ 1, 0, 0, 7, 5, 40, },
-+	{ 0, 0, 0, 7, 6, 46, },
-+	{ 2, 0, 0, 7, 6, 40, },
-+	{ 1, 0, 0, 7, 6, 40, },
-+	{ 0, 0, 0, 7, 7, 46, },
-+	{ 2, 0, 0, 7, 7, 40, },
-+	{ 1, 0, 0, 7, 7, 40, },
-+	{ 0, 0, 0, 7, 8, 46, },
-+	{ 2, 0, 0, 7, 8, 40, },
-+	{ 1, 0, 0, 7, 8, 40, },
-+	{ 0, 0, 0, 7, 9, 46, },
-+	{ 2, 0, 0, 7, 9, 40, },
-+	{ 1, 0, 0, 7, 9, 40, },
-+	{ 0, 0, 0, 7, 10, 46, },
-+	{ 2, 0, 0, 7, 10, 40, },
-+	{ 1, 0, 0, 7, 10, 40, },
-+	{ 0, 0, 0, 7, 11, 46, },
-+	{ 2, 0, 0, 7, 11, 40, },
-+	{ 1, 0, 0, 7, 11, 40, },
-+	{ 0, 0, 0, 7, 12, 63, },
-+	{ 2, 0, 0, 7, 12, 40, },
-+	{ 1, 0, 0, 7, 12, 40, },
-+	{ 0, 0, 0, 7, 13, 63, },
-+	{ 2, 0, 0, 7, 13, 40, },
-+	{ 1, 0, 0, 7, 13, 40, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 46, },
-+	{ 2, 0, 1, 2, 3, 40, },
-+	{ 1, 0, 1, 2, 3, 40, },
-+	{ 0, 0, 1, 2, 4, 46, },
-+	{ 2, 0, 1, 2, 4, 40, },
-+	{ 1, 0, 1, 2, 4, 40, },
-+	{ 0, 0, 1, 2, 5, 46, },
-+	{ 2, 0, 1, 2, 5, 40, },
-+	{ 1, 0, 1, 2, 5, 40, },
-+	{ 0, 0, 1, 2, 6, 46, },
-+	{ 2, 0, 1, 2, 6, 40, },
-+	{ 1, 0, 1, 2, 6, 40, },
-+	{ 0, 0, 1, 2, 7, 46, },
-+	{ 2, 0, 1, 2, 7, 40, },
-+	{ 1, 0, 1, 2, 7, 40, },
-+	{ 0, 0, 1, 2, 8, 46, },
-+	{ 2, 0, 1, 2, 8, 40, },
-+	{ 1, 0, 1, 2, 8, 40, },
-+	{ 0, 0, 1, 2, 9, 46, },
-+	{ 2, 0, 1, 2, 9, 40, },
-+	{ 1, 0, 1, 2, 9, 40, },
-+	{ 0, 0, 1, 2, 10, 46, },
-+	{ 2, 0, 1, 2, 10, 40, },
-+	{ 1, 0, 1, 2, 10, 40, },
-+	{ 0, 0, 1, 2, 11, 46, },
-+	{ 2, 0, 1, 2, 11, 40, },
-+	{ 1, 0, 1, 2, 11, 40, },
-+	{ 0, 0, 1, 2, 12, 63, },
-+	{ 2, 0, 1, 2, 12, 40, },
-+	{ 1, 0, 1, 2, 12, 40, },
-+	{ 0, 0, 1, 2, 13, 63, },
-+	{ 2, 0, 1, 2, 13, 40, },
-+	{ 1, 0, 1, 2, 13, 40, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 46, },
-+	{ 2, 0, 1, 3, 3, 40, },
-+	{ 1, 0, 1, 3, 3, 40, },
-+	{ 0, 0, 1, 3, 4, 46, },
-+	{ 2, 0, 1, 3, 4, 40, },
-+	{ 1, 0, 1, 3, 4, 40, },
-+	{ 0, 0, 1, 3, 5, 46, },
-+	{ 2, 0, 1, 3, 5, 40, },
-+	{ 1, 0, 1, 3, 5, 40, },
-+	{ 0, 0, 1, 3, 6, 46, },
-+	{ 2, 0, 1, 3, 6, 40, },
-+	{ 1, 0, 1, 3, 6, 40, },
-+	{ 0, 0, 1, 3, 7, 46, },
-+	{ 2, 0, 1, 3, 7, 40, },
-+	{ 1, 0, 1, 3, 7, 40, },
-+	{ 0, 0, 1, 3, 8, 46, },
-+	{ 2, 0, 1, 3, 8, 40, },
-+	{ 1, 0, 1, 3, 8, 40, },
-+	{ 0, 0, 1, 3, 9, 46, },
-+	{ 2, 0, 1, 3, 9, 40, },
-+	{ 1, 0, 1, 3, 9, 40, },
-+	{ 0, 0, 1, 3, 10, 46, },
-+	{ 2, 0, 1, 3, 10, 40, },
-+	{ 1, 0, 1, 3, 10, 40, },
-+	{ 0, 0, 1, 3, 11, 46, },
-+	{ 2, 0, 1, 3, 11, 40, },
-+	{ 1, 0, 1, 3, 11, 40, },
-+	{ 0, 0, 1, 3, 12, 63, },
-+	{ 2, 0, 1, 3, 12, 40, },
-+	{ 1, 0, 1, 3, 12, 40, },
-+	{ 0, 0, 1, 3, 13, 63, },
-+	{ 2, 0, 1, 3, 13, 40, },
-+	{ 1, 0, 1, 3, 13, 40, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 46, },
-+	{ 2, 0, 1, 6, 3, 40, },
-+	{ 1, 0, 1, 6, 3, 40, },
-+	{ 0, 0, 1, 6, 4, 46, },
-+	{ 2, 0, 1, 6, 4, 40, },
-+	{ 1, 0, 1, 6, 4, 40, },
-+	{ 0, 0, 1, 6, 5, 46, },
-+	{ 2, 0, 1, 6, 5, 40, },
-+	{ 1, 0, 1, 6, 5, 40, },
-+	{ 0, 0, 1, 6, 6, 46, },
-+	{ 2, 0, 1, 6, 6, 40, },
-+	{ 1, 0, 1, 6, 6, 40, },
-+	{ 0, 0, 1, 6, 7, 46, },
-+	{ 2, 0, 1, 6, 7, 40, },
-+	{ 1, 0, 1, 6, 7, 40, },
-+	{ 0, 0, 1, 6, 8, 46, },
-+	{ 2, 0, 1, 6, 8, 40, },
-+	{ 1, 0, 1, 6, 8, 40, },
-+	{ 0, 0, 1, 6, 9, 46, },
-+	{ 2, 0, 1, 6, 9, 40, },
-+	{ 1, 0, 1, 6, 9, 40, },
-+	{ 0, 0, 1, 6, 10, 46, },
-+	{ 2, 0, 1, 6, 10, 40, },
-+	{ 1, 0, 1, 6, 10, 40, },
-+	{ 0, 0, 1, 6, 11, 46, },
-+	{ 2, 0, 1, 6, 11, 40, },
-+	{ 1, 0, 1, 6, 11, 40, },
-+	{ 0, 0, 1, 6, 12, 63, },
-+	{ 2, 0, 1, 6, 12, 40, },
-+	{ 1, 0, 1, 6, 12, 40, },
-+	{ 0, 0, 1, 6, 13, 63, },
-+	{ 2, 0, 1, 6, 13, 40, },
-+	{ 1, 0, 1, 6, 13, 40, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 46, },
-+	{ 2, 0, 1, 7, 3, 40, },
-+	{ 1, 0, 1, 7, 3, 40, },
-+	{ 0, 0, 1, 7, 4, 46, },
-+	{ 2, 0, 1, 7, 4, 40, },
-+	{ 1, 0, 1, 7, 4, 40, },
-+	{ 0, 0, 1, 7, 5, 46, },
-+	{ 2, 0, 1, 7, 5, 40, },
-+	{ 1, 0, 1, 7, 5, 40, },
-+	{ 0, 0, 1, 7, 6, 46, },
-+	{ 2, 0, 1, 7, 6, 40, },
-+	{ 1, 0, 1, 7, 6, 40, },
-+	{ 0, 0, 1, 7, 7, 46, },
-+	{ 2, 0, 1, 7, 7, 40, },
-+	{ 1, 0, 1, 7, 7, 40, },
-+	{ 0, 0, 1, 7, 8, 46, },
-+	{ 2, 0, 1, 7, 8, 40, },
-+	{ 1, 0, 1, 7, 8, 40, },
-+	{ 0, 0, 1, 7, 9, 46, },
-+	{ 2, 0, 1, 7, 9, 40, },
-+	{ 1, 0, 1, 7, 9, 40, },
-+	{ 0, 0, 1, 7, 10, 46, },
-+	{ 2, 0, 1, 7, 10, 40, },
-+	{ 1, 0, 1, 7, 10, 40, },
-+	{ 0, 0, 1, 7, 11, 46, },
-+	{ 2, 0, 1, 7, 11, 40, },
-+	{ 1, 0, 1, 7, 11, 40, },
-+	{ 0, 0, 1, 7, 12, 63, },
-+	{ 2, 0, 1, 7, 12, 40, },
-+	{ 1, 0, 1, 7, 12, 40, },
-+	{ 0, 0, 1, 7, 13, 63, },
-+	{ 2, 0, 1, 7, 13, 40, },
-+	{ 1, 0, 1, 7, 13, 40, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 46, },
-+	{ 2, 1, 0, 1, 36, 40, },
-+	{ 1, 1, 0, 1, 36, 40, },
-+	{ 0, 1, 0, 1, 40, 46, },
-+	{ 2, 1, 0, 1, 40, 40, },
-+	{ 1, 1, 0, 1, 40, 40, },
-+	{ 0, 1, 0, 1, 44, 46, },
-+	{ 2, 1, 0, 1, 44, 40, },
-+	{ 1, 1, 0, 1, 44, 40, },
-+	{ 0, 1, 0, 1, 48, 46, },
-+	{ 2, 1, 0, 1, 48, 40, },
-+	{ 1, 1, 0, 1, 48, 40, },
-+	{ 0, 1, 0, 1, 52, 46, },
-+	{ 2, 1, 0, 1, 52, 40, },
-+	{ 1, 1, 0, 1, 52, 40, },
-+	{ 0, 1, 0, 1, 56, 46, },
-+	{ 2, 1, 0, 1, 56, 40, },
-+	{ 1, 1, 0, 1, 56, 40, },
-+	{ 0, 1, 0, 1, 60, 46, },
-+	{ 2, 1, 0, 1, 60, 40, },
-+	{ 1, 1, 0, 1, 60, 40, },
-+	{ 0, 1, 0, 1, 64, 46, },
-+	{ 2, 1, 0, 1, 64, 40, },
-+	{ 1, 1, 0, 1, 64, 40, },
-+	{ 0, 1, 0, 1, 100, 46, },
-+	{ 2, 1, 0, 1, 100, 40, },
-+	{ 1, 1, 0, 1, 100, 40, },
-+	{ 0, 1, 0, 1, 104, 46, },
-+	{ 2, 1, 0, 1, 104, 40, },
-+	{ 1, 1, 0, 1, 104, 40, },
-+	{ 0, 1, 0, 1, 108, 46, },
-+	{ 2, 1, 0, 1, 108, 40, },
-+	{ 1, 1, 0, 1, 108, 40, },
-+	{ 0, 1, 0, 1, 112, 46, },
-+	{ 2, 1, 0, 1, 112, 40, },
-+	{ 1, 1, 0, 1, 112, 40, },
-+	{ 0, 1, 0, 1, 116, 46, },
-+	{ 2, 1, 0, 1, 116, 40, },
-+	{ 1, 1, 0, 1, 116, 40, },
-+	{ 0, 1, 0, 1, 120, 46, },
-+	{ 2, 1, 0, 1, 120, 40, },
-+	{ 1, 1, 0, 1, 120, 40, },
-+	{ 0, 1, 0, 1, 124, 46, },
-+	{ 2, 1, 0, 1, 124, 40, },
-+	{ 1, 1, 0, 1, 124, 40, },
-+	{ 0, 1, 0, 1, 128, 46, },
-+	{ 2, 1, 0, 1, 128, 40, },
-+	{ 1, 1, 0, 1, 128, 40, },
-+	{ 0, 1, 0, 1, 132, 46, },
-+	{ 2, 1, 0, 1, 132, 40, },
-+	{ 1, 1, 0, 1, 132, 40, },
-+	{ 0, 1, 0, 1, 136, 46, },
-+	{ 2, 1, 0, 1, 136, 40, },
-+	{ 1, 1, 0, 1, 136, 40, },
-+	{ 0, 1, 0, 1, 140, 46, },
-+	{ 2, 1, 0, 1, 140, 40, },
-+	{ 1, 1, 0, 1, 140, 40, },
-+	{ 0, 1, 0, 1, 149, 46, },
-+	{ 2, 1, 0, 1, 149, 40, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 46, },
-+	{ 2, 1, 0, 1, 153, 40, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 46, },
-+	{ 2, 1, 0, 1, 157, 40, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 46, },
-+	{ 2, 1, 0, 1, 161, 40, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 46, },
-+	{ 2, 1, 0, 1, 165, 40, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 46, },
-+	{ 2, 1, 0, 2, 36, 40, },
-+	{ 1, 1, 0, 2, 36, 40, },
-+	{ 0, 1, 0, 2, 40, 46, },
-+	{ 2, 1, 0, 2, 40, 40, },
-+	{ 1, 1, 0, 2, 40, 40, },
-+	{ 0, 1, 0, 2, 44, 46, },
-+	{ 2, 1, 0, 2, 44, 40, },
-+	{ 1, 1, 0, 2, 44, 40, },
-+	{ 0, 1, 0, 2, 48, 46, },
-+	{ 2, 1, 0, 2, 48, 40, },
-+	{ 1, 1, 0, 2, 48, 40, },
-+	{ 0, 1, 0, 2, 52, 46, },
-+	{ 2, 1, 0, 2, 52, 40, },
-+	{ 1, 1, 0, 2, 52, 40, },
-+	{ 0, 1, 0, 2, 56, 46, },
-+	{ 2, 1, 0, 2, 56, 40, },
-+	{ 1, 1, 0, 2, 56, 40, },
-+	{ 0, 1, 0, 2, 60, 46, },
-+	{ 2, 1, 0, 2, 60, 40, },
-+	{ 1, 1, 0, 2, 60, 40, },
-+	{ 0, 1, 0, 2, 64, 46, },
-+	{ 2, 1, 0, 2, 64, 40, },
-+	{ 1, 1, 0, 2, 64, 40, },
-+	{ 0, 1, 0, 2, 100, 46, },
-+	{ 2, 1, 0, 2, 100, 40, },
-+	{ 1, 1, 0, 2, 100, 40, },
-+	{ 0, 1, 0, 2, 104, 46, },
-+	{ 2, 1, 0, 2, 104, 40, },
-+	{ 1, 1, 0, 2, 104, 40, },
-+	{ 0, 1, 0, 2, 108, 46, },
-+	{ 2, 1, 0, 2, 108, 40, },
-+	{ 1, 1, 0, 2, 108, 40, },
-+	{ 0, 1, 0, 2, 112, 46, },
-+	{ 2, 1, 0, 2, 112, 40, },
-+	{ 1, 1, 0, 2, 112, 40, },
-+	{ 0, 1, 0, 2, 116, 46, },
-+	{ 2, 1, 0, 2, 116, 40, },
-+	{ 1, 1, 0, 2, 116, 40, },
-+	{ 0, 1, 0, 2, 120, 46, },
-+	{ 2, 1, 0, 2, 120, 40, },
-+	{ 1, 1, 0, 2, 120, 40, },
-+	{ 0, 1, 0, 2, 124, 46, },
-+	{ 2, 1, 0, 2, 124, 40, },
-+	{ 1, 1, 0, 2, 124, 40, },
-+	{ 0, 1, 0, 2, 128, 46, },
-+	{ 2, 1, 0, 2, 128, 40, },
-+	{ 1, 1, 0, 2, 128, 40, },
-+	{ 0, 1, 0, 2, 132, 46, },
-+	{ 2, 1, 0, 2, 132, 40, },
-+	{ 1, 1, 0, 2, 132, 40, },
-+	{ 0, 1, 0, 2, 136, 46, },
-+	{ 2, 1, 0, 2, 136, 40, },
-+	{ 1, 1, 0, 2, 136, 40, },
-+	{ 0, 1, 0, 2, 140, 46, },
-+	{ 2, 1, 0, 2, 140, 40, },
-+	{ 1, 1, 0, 2, 140, 40, },
-+	{ 0, 1, 0, 2, 149, 46, },
-+	{ 2, 1, 0, 2, 149, 40, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 46, },
-+	{ 2, 1, 0, 2, 153, 40, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 46, },
-+	{ 2, 1, 0, 2, 157, 40, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 46, },
-+	{ 2, 1, 0, 2, 161, 40, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 46, },
-+	{ 2, 1, 0, 2, 165, 40, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 46, },
-+	{ 2, 1, 0, 3, 36, 40, },
-+	{ 1, 1, 0, 3, 36, 40, },
-+	{ 0, 1, 0, 3, 40, 46, },
-+	{ 2, 1, 0, 3, 40, 40, },
-+	{ 1, 1, 0, 3, 40, 40, },
-+	{ 0, 1, 0, 3, 44, 46, },
-+	{ 2, 1, 0, 3, 44, 40, },
-+	{ 1, 1, 0, 3, 44, 40, },
-+	{ 0, 1, 0, 3, 48, 46, },
-+	{ 2, 1, 0, 3, 48, 40, },
-+	{ 1, 1, 0, 3, 48, 40, },
-+	{ 0, 1, 0, 3, 52, 46, },
-+	{ 2, 1, 0, 3, 52, 40, },
-+	{ 1, 1, 0, 3, 52, 40, },
-+	{ 0, 1, 0, 3, 56, 46, },
-+	{ 2, 1, 0, 3, 56, 40, },
-+	{ 1, 1, 0, 3, 56, 40, },
-+	{ 0, 1, 0, 3, 60, 46, },
-+	{ 2, 1, 0, 3, 60, 40, },
-+	{ 1, 1, 0, 3, 60, 40, },
-+	{ 0, 1, 0, 3, 64, 46, },
-+	{ 2, 1, 0, 3, 64, 40, },
-+	{ 1, 1, 0, 3, 64, 40, },
-+	{ 0, 1, 0, 3, 100, 46, },
-+	{ 2, 1, 0, 3, 100, 40, },
-+	{ 1, 1, 0, 3, 100, 40, },
-+	{ 0, 1, 0, 3, 104, 46, },
-+	{ 2, 1, 0, 3, 104, 40, },
-+	{ 1, 1, 0, 3, 104, 40, },
-+	{ 0, 1, 0, 3, 108, 46, },
-+	{ 2, 1, 0, 3, 108, 40, },
-+	{ 1, 1, 0, 3, 108, 40, },
-+	{ 0, 1, 0, 3, 112, 46, },
-+	{ 2, 1, 0, 3, 112, 40, },
-+	{ 1, 1, 0, 3, 112, 40, },
-+	{ 0, 1, 0, 3, 116, 46, },
-+	{ 2, 1, 0, 3, 116, 40, },
-+	{ 1, 1, 0, 3, 116, 40, },
-+	{ 0, 1, 0, 3, 120, 46, },
-+	{ 2, 1, 0, 3, 120, 40, },
-+	{ 1, 1, 0, 3, 120, 40, },
-+	{ 0, 1, 0, 3, 124, 46, },
-+	{ 2, 1, 0, 3, 124, 40, },
-+	{ 1, 1, 0, 3, 124, 40, },
-+	{ 0, 1, 0, 3, 128, 46, },
-+	{ 2, 1, 0, 3, 128, 40, },
-+	{ 1, 1, 0, 3, 128, 40, },
-+	{ 0, 1, 0, 3, 132, 46, },
-+	{ 2, 1, 0, 3, 132, 40, },
-+	{ 1, 1, 0, 3, 132, 40, },
-+	{ 0, 1, 0, 3, 136, 46, },
-+	{ 2, 1, 0, 3, 136, 40, },
-+	{ 1, 1, 0, 3, 136, 40, },
-+	{ 0, 1, 0, 3, 140, 46, },
-+	{ 2, 1, 0, 3, 140, 40, },
-+	{ 1, 1, 0, 3, 140, 40, },
-+	{ 0, 1, 0, 3, 149, 46, },
-+	{ 2, 1, 0, 3, 149, 40, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 46, },
-+	{ 2, 1, 0, 3, 153, 40, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 46, },
-+	{ 2, 1, 0, 3, 157, 40, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 46, },
-+	{ 2, 1, 0, 3, 161, 40, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 46, },
-+	{ 2, 1, 0, 3, 165, 40, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 46, },
-+	{ 2, 1, 0, 6, 36, 40, },
-+	{ 1, 1, 0, 6, 36, 40, },
-+	{ 0, 1, 0, 6, 40, 46, },
-+	{ 2, 1, 0, 6, 40, 40, },
-+	{ 1, 1, 0, 6, 40, 40, },
-+	{ 0, 1, 0, 6, 44, 46, },
-+	{ 2, 1, 0, 6, 44, 40, },
-+	{ 1, 1, 0, 6, 44, 40, },
-+	{ 0, 1, 0, 6, 48, 46, },
-+	{ 2, 1, 0, 6, 48, 40, },
-+	{ 1, 1, 0, 6, 48, 40, },
-+	{ 0, 1, 0, 6, 52, 46, },
-+	{ 2, 1, 0, 6, 52, 40, },
-+	{ 1, 1, 0, 6, 52, 40, },
-+	{ 0, 1, 0, 6, 56, 46, },
-+	{ 2, 1, 0, 6, 56, 40, },
-+	{ 1, 1, 0, 6, 56, 40, },
-+	{ 0, 1, 0, 6, 60, 46, },
-+	{ 2, 1, 0, 6, 60, 40, },
-+	{ 1, 1, 0, 6, 60, 40, },
-+	{ 0, 1, 0, 6, 64, 46, },
-+	{ 2, 1, 0, 6, 64, 40, },
-+	{ 1, 1, 0, 6, 64, 40, },
-+	{ 0, 1, 0, 6, 100, 46, },
-+	{ 2, 1, 0, 6, 100, 40, },
-+	{ 1, 1, 0, 6, 100, 40, },
-+	{ 0, 1, 0, 6, 104, 46, },
-+	{ 2, 1, 0, 6, 104, 40, },
-+	{ 1, 1, 0, 6, 104, 40, },
-+	{ 0, 1, 0, 6, 108, 46, },
-+	{ 2, 1, 0, 6, 108, 40, },
-+	{ 1, 1, 0, 6, 108, 40, },
-+	{ 0, 1, 0, 6, 112, 46, },
-+	{ 2, 1, 0, 6, 112, 40, },
-+	{ 1, 1, 0, 6, 112, 40, },
-+	{ 0, 1, 0, 6, 116, 46, },
-+	{ 2, 1, 0, 6, 116, 40, },
-+	{ 1, 1, 0, 6, 116, 40, },
-+	{ 0, 1, 0, 6, 120, 46, },
-+	{ 2, 1, 0, 6, 120, 40, },
-+	{ 1, 1, 0, 6, 120, 40, },
-+	{ 0, 1, 0, 6, 124, 46, },
-+	{ 2, 1, 0, 6, 124, 40, },
-+	{ 1, 1, 0, 6, 124, 40, },
-+	{ 0, 1, 0, 6, 128, 46, },
-+	{ 2, 1, 0, 6, 128, 40, },
-+	{ 1, 1, 0, 6, 128, 40, },
-+	{ 0, 1, 0, 6, 132, 46, },
-+	{ 2, 1, 0, 6, 132, 40, },
-+	{ 1, 1, 0, 6, 132, 40, },
-+	{ 0, 1, 0, 6, 136, 46, },
-+	{ 2, 1, 0, 6, 136, 40, },
-+	{ 1, 1, 0, 6, 136, 40, },
-+	{ 0, 1, 0, 6, 140, 46, },
-+	{ 2, 1, 0, 6, 140, 40, },
-+	{ 1, 1, 0, 6, 140, 40, },
-+	{ 0, 1, 0, 6, 149, 46, },
-+	{ 2, 1, 0, 6, 149, 40, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 46, },
-+	{ 2, 1, 0, 6, 153, 40, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 46, },
-+	{ 2, 1, 0, 6, 157, 40, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 46, },
-+	{ 2, 1, 0, 6, 161, 40, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 46, },
-+	{ 2, 1, 0, 6, 165, 40, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 46, },
-+	{ 2, 1, 0, 7, 36, 40, },
-+	{ 1, 1, 0, 7, 36, 40, },
-+	{ 0, 1, 0, 7, 40, 46, },
-+	{ 2, 1, 0, 7, 40, 40, },
-+	{ 1, 1, 0, 7, 40, 40, },
-+	{ 0, 1, 0, 7, 44, 46, },
-+	{ 2, 1, 0, 7, 44, 40, },
-+	{ 1, 1, 0, 7, 44, 40, },
-+	{ 0, 1, 0, 7, 48, 46, },
-+	{ 2, 1, 0, 7, 48, 40, },
-+	{ 1, 1, 0, 7, 48, 40, },
-+	{ 0, 1, 0, 7, 52, 46, },
-+	{ 2, 1, 0, 7, 52, 40, },
-+	{ 1, 1, 0, 7, 52, 40, },
-+	{ 0, 1, 0, 7, 56, 46, },
-+	{ 2, 1, 0, 7, 56, 40, },
-+	{ 1, 1, 0, 7, 56, 40, },
-+	{ 0, 1, 0, 7, 60, 46, },
-+	{ 2, 1, 0, 7, 60, 40, },
-+	{ 1, 1, 0, 7, 60, 40, },
-+	{ 0, 1, 0, 7, 64, 46, },
-+	{ 2, 1, 0, 7, 64, 40, },
-+	{ 1, 1, 0, 7, 64, 40, },
-+	{ 0, 1, 0, 7, 100, 46, },
-+	{ 2, 1, 0, 7, 100, 40, },
-+	{ 1, 1, 0, 7, 100, 40, },
-+	{ 0, 1, 0, 7, 104, 46, },
-+	{ 2, 1, 0, 7, 104, 40, },
-+	{ 1, 1, 0, 7, 104, 40, },
-+	{ 0, 1, 0, 7, 108, 46, },
-+	{ 2, 1, 0, 7, 108, 40, },
-+	{ 1, 1, 0, 7, 108, 40, },
-+	{ 0, 1, 0, 7, 112, 46, },
-+	{ 2, 1, 0, 7, 112, 40, },
-+	{ 1, 1, 0, 7, 112, 40, },
-+	{ 0, 1, 0, 7, 116, 46, },
-+	{ 2, 1, 0, 7, 116, 40, },
-+	{ 1, 1, 0, 7, 116, 40, },
-+	{ 0, 1, 0, 7, 120, 46, },
-+	{ 2, 1, 0, 7, 120, 40, },
-+	{ 1, 1, 0, 7, 120, 40, },
-+	{ 0, 1, 0, 7, 124, 46, },
-+	{ 2, 1, 0, 7, 124, 40, },
-+	{ 1, 1, 0, 7, 124, 40, },
-+	{ 0, 1, 0, 7, 128, 46, },
-+	{ 2, 1, 0, 7, 128, 40, },
-+	{ 1, 1, 0, 7, 128, 40, },
-+	{ 0, 1, 0, 7, 132, 46, },
-+	{ 2, 1, 0, 7, 132, 40, },
-+	{ 1, 1, 0, 7, 132, 40, },
-+	{ 0, 1, 0, 7, 136, 46, },
-+	{ 2, 1, 0, 7, 136, 40, },
-+	{ 1, 1, 0, 7, 136, 40, },
-+	{ 0, 1, 0, 7, 140, 46, },
-+	{ 2, 1, 0, 7, 140, 40, },
-+	{ 1, 1, 0, 7, 140, 40, },
-+	{ 0, 1, 0, 7, 149, 46, },
-+	{ 2, 1, 0, 7, 149, 40, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 46, },
-+	{ 2, 1, 0, 7, 153, 40, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 46, },
-+	{ 2, 1, 0, 7, 157, 40, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 46, },
-+	{ 2, 1, 0, 7, 161, 40, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 46, },
-+	{ 2, 1, 0, 7, 165, 40, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 46, },
-+	{ 2, 1, 1, 2, 38, 40, },
-+	{ 1, 1, 1, 2, 38, 40, },
-+	{ 0, 1, 1, 2, 46, 46, },
-+	{ 2, 1, 1, 2, 46, 40, },
-+	{ 1, 1, 1, 2, 46, 40, },
-+	{ 0, 1, 1, 2, 54, 46, },
-+	{ 2, 1, 1, 2, 54, 40, },
-+	{ 1, 1, 1, 2, 54, 40, },
-+	{ 0, 1, 1, 2, 62, 46, },
-+	{ 2, 1, 1, 2, 62, 40, },
-+	{ 1, 1, 1, 2, 62, 40, },
-+	{ 0, 1, 1, 2, 102, 46, },
-+	{ 2, 1, 1, 2, 102, 40, },
-+	{ 1, 1, 1, 2, 102, 40, },
-+	{ 0, 1, 1, 2, 110, 46, },
-+	{ 2, 1, 1, 2, 110, 40, },
-+	{ 1, 1, 1, 2, 110, 40, },
-+	{ 0, 1, 1, 2, 118, 46, },
-+	{ 2, 1, 1, 2, 118, 40, },
-+	{ 1, 1, 1, 2, 118, 40, },
-+	{ 0, 1, 1, 2, 126, 46, },
-+	{ 2, 1, 1, 2, 126, 40, },
-+	{ 1, 1, 1, 2, 126, 40, },
-+	{ 0, 1, 1, 2, 134, 46, },
-+	{ 2, 1, 1, 2, 134, 40, },
-+	{ 1, 1, 1, 2, 134, 40, },
-+	{ 0, 1, 1, 2, 151, 46, },
-+	{ 2, 1, 1, 2, 151, 40, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 46, },
-+	{ 2, 1, 1, 2, 159, 40, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 46, },
-+	{ 2, 1, 1, 3, 38, 40, },
-+	{ 1, 1, 1, 3, 38, 40, },
-+	{ 0, 1, 1, 3, 46, 46, },
-+	{ 2, 1, 1, 3, 46, 40, },
-+	{ 1, 1, 1, 3, 46, 40, },
-+	{ 0, 1, 1, 3, 54, 46, },
-+	{ 2, 1, 1, 3, 54, 40, },
-+	{ 1, 1, 1, 3, 54, 40, },
-+	{ 0, 1, 1, 3, 62, 46, },
-+	{ 2, 1, 1, 3, 62, 40, },
-+	{ 1, 1, 1, 3, 62, 40, },
-+	{ 0, 1, 1, 3, 102, 46, },
-+	{ 2, 1, 1, 3, 102, 40, },
-+	{ 1, 1, 1, 3, 102, 40, },
-+	{ 0, 1, 1, 3, 110, 46, },
-+	{ 2, 1, 1, 3, 110, 40, },
-+	{ 1, 1, 1, 3, 110, 40, },
-+	{ 0, 1, 1, 3, 118, 46, },
-+	{ 2, 1, 1, 3, 118, 40, },
-+	{ 1, 1, 1, 3, 118, 40, },
-+	{ 0, 1, 1, 3, 126, 46, },
-+	{ 2, 1, 1, 3, 126, 40, },
-+	{ 1, 1, 1, 3, 126, 40, },
-+	{ 0, 1, 1, 3, 134, 46, },
-+	{ 2, 1, 1, 3, 134, 40, },
-+	{ 1, 1, 1, 3, 134, 40, },
-+	{ 0, 1, 1, 3, 151, 46, },
-+	{ 2, 1, 1, 3, 151, 40, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 46, },
-+	{ 2, 1, 1, 3, 159, 40, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 46, },
-+	{ 2, 1, 1, 6, 38, 40, },
-+	{ 1, 1, 1, 6, 38, 40, },
-+	{ 0, 1, 1, 6, 46, 46, },
-+	{ 2, 1, 1, 6, 46, 40, },
-+	{ 1, 1, 1, 6, 46, 40, },
-+	{ 0, 1, 1, 6, 54, 46, },
-+	{ 2, 1, 1, 6, 54, 40, },
-+	{ 1, 1, 1, 6, 54, 40, },
-+	{ 0, 1, 1, 6, 62, 46, },
-+	{ 2, 1, 1, 6, 62, 40, },
-+	{ 1, 1, 1, 6, 62, 40, },
-+	{ 0, 1, 1, 6, 102, 46, },
-+	{ 2, 1, 1, 6, 102, 40, },
-+	{ 1, 1, 1, 6, 102, 40, },
-+	{ 0, 1, 1, 6, 110, 46, },
-+	{ 2, 1, 1, 6, 110, 40, },
-+	{ 1, 1, 1, 6, 110, 40, },
-+	{ 0, 1, 1, 6, 118, 46, },
-+	{ 2, 1, 1, 6, 118, 40, },
-+	{ 1, 1, 1, 6, 118, 40, },
-+	{ 0, 1, 1, 6, 126, 46, },
-+	{ 2, 1, 1, 6, 126, 40, },
-+	{ 1, 1, 1, 6, 126, 40, },
-+	{ 0, 1, 1, 6, 134, 46, },
-+	{ 2, 1, 1, 6, 134, 40, },
-+	{ 1, 1, 1, 6, 134, 40, },
-+	{ 0, 1, 1, 6, 151, 46, },
-+	{ 2, 1, 1, 6, 151, 40, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 46, },
-+	{ 2, 1, 1, 6, 159, 40, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 46, },
-+	{ 2, 1, 1, 7, 38, 40, },
-+	{ 1, 1, 1, 7, 38, 40, },
-+	{ 0, 1, 1, 7, 46, 46, },
-+	{ 2, 1, 1, 7, 46, 40, },
-+	{ 1, 1, 1, 7, 46, 40, },
-+	{ 0, 1, 1, 7, 54, 46, },
-+	{ 2, 1, 1, 7, 54, 40, },
-+	{ 1, 1, 1, 7, 54, 40, },
-+	{ 0, 1, 1, 7, 62, 46, },
-+	{ 2, 1, 1, 7, 62, 40, },
-+	{ 1, 1, 1, 7, 62, 40, },
-+	{ 0, 1, 1, 7, 102, 46, },
-+	{ 2, 1, 1, 7, 102, 40, },
-+	{ 1, 1, 1, 7, 102, 40, },
-+	{ 0, 1, 1, 7, 110, 46, },
-+	{ 2, 1, 1, 7, 110, 40, },
-+	{ 1, 1, 1, 7, 110, 40, },
-+	{ 0, 1, 1, 7, 118, 46, },
-+	{ 2, 1, 1, 7, 118, 40, },
-+	{ 1, 1, 1, 7, 118, 40, },
-+	{ 0, 1, 1, 7, 126, 46, },
-+	{ 2, 1, 1, 7, 126, 40, },
-+	{ 1, 1, 1, 7, 126, 40, },
-+	{ 0, 1, 1, 7, 134, 46, },
-+	{ 2, 1, 1, 7, 134, 40, },
-+	{ 1, 1, 1, 7, 134, 40, },
-+	{ 0, 1, 1, 7, 151, 46, },
-+	{ 2, 1, 1, 7, 151, 40, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 46, },
-+	{ 2, 1, 1, 7, 159, 40, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 46, },
-+	{ 2, 1, 2, 4, 42, 40, },
-+	{ 1, 1, 2, 4, 42, 40, },
-+	{ 0, 1, 2, 4, 58, 46, },
-+	{ 2, 1, 2, 4, 58, 40, },
-+	{ 1, 1, 2, 4, 58, 40, },
-+	{ 0, 1, 2, 4, 106, 46, },
-+	{ 2, 1, 2, 4, 106, 40, },
-+	{ 1, 1, 2, 4, 106, 40, },
-+	{ 0, 1, 2, 4, 122, 46, },
-+	{ 2, 1, 2, 4, 122, 40, },
-+	{ 1, 1, 2, 4, 122, 40, },
-+	{ 0, 1, 2, 4, 155, 46, },
-+	{ 2, 1, 2, 4, 155, 40, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 46, },
-+	{ 2, 1, 2, 5, 42, 40, },
-+	{ 1, 1, 2, 5, 42, 40, },
-+	{ 0, 1, 2, 5, 58, 46, },
-+	{ 2, 1, 2, 5, 58, 40, },
-+	{ 1, 1, 2, 5, 58, 40, },
-+	{ 0, 1, 2, 5, 106, 46, },
-+	{ 2, 1, 2, 5, 106, 40, },
-+	{ 1, 1, 2, 5, 106, 40, },
-+	{ 0, 1, 2, 5, 122, 46, },
-+	{ 2, 1, 2, 5, 122, 40, },
-+	{ 1, 1, 2, 5, 122, 40, },
-+	{ 0, 1, 2, 5, 155, 46, },
-+	{ 2, 1, 2, 5, 155, 40, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 46, },
-+	{ 2, 1, 2, 8, 42, 40, },
-+	{ 1, 1, 2, 8, 42, 40, },
-+	{ 0, 1, 2, 8, 58, 46, },
-+	{ 2, 1, 2, 8, 58, 40, },
-+	{ 1, 1, 2, 8, 58, 40, },
-+	{ 0, 1, 2, 8, 106, 46, },
-+	{ 2, 1, 2, 8, 106, 40, },
-+	{ 1, 1, 2, 8, 106, 40, },
-+	{ 0, 1, 2, 8, 122, 46, },
-+	{ 2, 1, 2, 8, 122, 40, },
-+	{ 1, 1, 2, 8, 122, 40, },
-+	{ 0, 1, 2, 8, 155, 46, },
-+	{ 2, 1, 2, 8, 155, 40, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 46, },
-+	{ 2, 1, 2, 9, 42, 40, },
-+	{ 1, 1, 2, 9, 42, 40, },
-+	{ 0, 1, 2, 9, 58, 46, },
-+	{ 2, 1, 2, 9, 58, 40, },
-+	{ 1, 1, 2, 9, 58, 40, },
-+	{ 0, 1, 2, 9, 106, 46, },
-+	{ 2, 1, 2, 9, 106, 40, },
-+	{ 1, 1, 2, 9, 106, 40, },
-+	{ 0, 1, 2, 9, 122, 46, },
-+	{ 2, 1, 2, 9, 122, 40, },
-+	{ 1, 1, 2, 9, 122, 40, },
-+	{ 0, 1, 2, 9, 155, 46, },
-+	{ 2, 1, 2, 9, 155, 40, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type5);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type7[] = {
-+	{ 0, 0, 0, 0, 1, 44, },
-+	{ 2, 0, 0, 0, 1, 32, },
-+	{ 1, 0, 0, 0, 1, 32, },
-+	{ 0, 0, 0, 0, 2, 52, },
-+	{ 2, 0, 0, 0, 2, 32, },
-+	{ 1, 0, 0, 0, 2, 32, },
-+	{ 0, 0, 0, 0, 3, 52, },
-+	{ 2, 0, 0, 0, 3, 32, },
-+	{ 1, 0, 0, 0, 3, 32, },
-+	{ 0, 0, 0, 0, 4, 52, },
-+	{ 2, 0, 0, 0, 4, 32, },
-+	{ 1, 0, 0, 0, 4, 32, },
-+	{ 0, 0, 0, 0, 5, 52, },
-+	{ 2, 0, 0, 0, 5, 32, },
-+	{ 1, 0, 0, 0, 5, 32, },
-+	{ 0, 0, 0, 0, 6, 52, },
-+	{ 2, 0, 0, 0, 6, 32, },
-+	{ 1, 0, 0, 0, 6, 32, },
-+	{ 0, 0, 0, 0, 7, 52, },
-+	{ 2, 0, 0, 0, 7, 32, },
-+	{ 1, 0, 0, 0, 7, 32, },
-+	{ 0, 0, 0, 0, 8, 52, },
-+	{ 2, 0, 0, 0, 8, 32, },
-+	{ 1, 0, 0, 0, 8, 32, },
-+	{ 0, 0, 0, 0, 9, 52, },
-+	{ 2, 0, 0, 0, 9, 32, },
-+	{ 1, 0, 0, 0, 9, 32, },
-+	{ 0, 0, 0, 0, 10, 52, },
-+	{ 2, 0, 0, 0, 10, 32, },
-+	{ 1, 0, 0, 0, 10, 32, },
-+	{ 0, 0, 0, 0, 11, 44, },
-+	{ 2, 0, 0, 0, 11, 32, },
-+	{ 1, 0, 0, 0, 11, 32, },
-+	{ 0, 0, 0, 0, 12, 63, },
-+	{ 2, 0, 0, 0, 12, 32, },
-+	{ 1, 0, 0, 0, 12, 32, },
-+	{ 0, 0, 0, 0, 13, 63, },
-+	{ 2, 0, 0, 0, 13, 32, },
-+	{ 1, 0, 0, 0, 13, 32, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 32, },
-+	{ 0, 0, 0, 1, 1, 38, },
-+	{ 2, 0, 0, 1, 1, 32, },
-+	{ 1, 0, 0, 1, 1, 32, },
-+	{ 0, 0, 0, 1, 2, 46, },
-+	{ 2, 0, 0, 1, 2, 32, },
-+	{ 1, 0, 0, 1, 2, 32, },
-+	{ 0, 0, 0, 1, 3, 46, },
-+	{ 2, 0, 0, 1, 3, 32, },
-+	{ 1, 0, 0, 1, 3, 32, },
-+	{ 0, 0, 0, 1, 4, 46, },
-+	{ 2, 0, 0, 1, 4, 32, },
-+	{ 1, 0, 0, 1, 4, 32, },
-+	{ 0, 0, 0, 1, 5, 46, },
-+	{ 2, 0, 0, 1, 5, 32, },
-+	{ 1, 0, 0, 1, 5, 32, },
-+	{ 0, 0, 0, 1, 6, 46, },
-+	{ 2, 0, 0, 1, 6, 32, },
-+	{ 1, 0, 0, 1, 6, 32, },
-+	{ 0, 0, 0, 1, 7, 46, },
-+	{ 2, 0, 0, 1, 7, 32, },
-+	{ 1, 0, 0, 1, 7, 32, },
-+	{ 0, 0, 0, 1, 8, 46, },
-+	{ 2, 0, 0, 1, 8, 32, },
-+	{ 1, 0, 0, 1, 8, 32, },
-+	{ 0, 0, 0, 1, 9, 46, },
-+	{ 2, 0, 0, 1, 9, 32, },
-+	{ 1, 0, 0, 1, 9, 32, },
-+	{ 0, 0, 0, 1, 10, 46, },
-+	{ 2, 0, 0, 1, 10, 32, },
-+	{ 1, 0, 0, 1, 10, 32, },
-+	{ 0, 0, 0, 1, 11, 38, },
-+	{ 2, 0, 0, 1, 11, 32, },
-+	{ 1, 0, 0, 1, 11, 32, },
-+	{ 0, 0, 0, 1, 12, 63, },
-+	{ 2, 0, 0, 1, 12, 32, },
-+	{ 1, 0, 0, 1, 12, 32, },
-+	{ 0, 0, 0, 1, 13, 63, },
-+	{ 2, 0, 0, 1, 13, 32, },
-+	{ 1, 0, 0, 1, 13, 32, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 63, },
-+	{ 0, 0, 0, 2, 1, 34, },
-+	{ 2, 0, 0, 2, 1, 32, },
-+	{ 1, 0, 0, 2, 1, 32, },
-+	{ 0, 0, 0, 2, 2, 46, },
-+	{ 2, 0, 0, 2, 2, 32, },
-+	{ 1, 0, 0, 2, 2, 32, },
-+	{ 0, 0, 0, 2, 3, 46, },
-+	{ 2, 0, 0, 2, 3, 32, },
-+	{ 1, 0, 0, 2, 3, 32, },
-+	{ 0, 0, 0, 2, 4, 46, },
-+	{ 2, 0, 0, 2, 4, 32, },
-+	{ 1, 0, 0, 2, 4, 32, },
-+	{ 0, 0, 0, 2, 5, 46, },
-+	{ 2, 0, 0, 2, 5, 32, },
-+	{ 1, 0, 0, 2, 5, 32, },
-+	{ 0, 0, 0, 2, 6, 46, },
-+	{ 2, 0, 0, 2, 6, 32, },
-+	{ 1, 0, 0, 2, 6, 32, },
-+	{ 0, 0, 0, 2, 7, 46, },
-+	{ 2, 0, 0, 2, 7, 32, },
-+	{ 1, 0, 0, 2, 7, 32, },
-+	{ 0, 0, 0, 2, 8, 46, },
-+	{ 2, 0, 0, 2, 8, 32, },
-+	{ 1, 0, 0, 2, 8, 32, },
-+	{ 0, 0, 0, 2, 9, 46, },
-+	{ 2, 0, 0, 2, 9, 32, },
-+	{ 1, 0, 0, 2, 9, 32, },
-+	{ 0, 0, 0, 2, 10, 46, },
-+	{ 2, 0, 0, 2, 10, 32, },
-+	{ 1, 0, 0, 2, 10, 32, },
-+	{ 0, 0, 0, 2, 11, 34, },
-+	{ 2, 0, 0, 2, 11, 32, },
-+	{ 1, 0, 0, 2, 11, 32, },
-+	{ 0, 0, 0, 2, 12, 63, },
-+	{ 2, 0, 0, 2, 12, 32, },
-+	{ 1, 0, 0, 2, 12, 32, },
-+	{ 0, 0, 0, 2, 13, 63, },
-+	{ 2, 0, 0, 2, 13, 32, },
-+	{ 1, 0, 0, 2, 13, 32, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 63, },
-+	{ 0, 0, 0, 3, 1, 32, },
-+	{ 2, 0, 0, 3, 1, 30, },
-+	{ 1, 0, 0, 3, 1, 30, },
-+	{ 0, 0, 0, 3, 2, 44, },
-+	{ 2, 0, 0, 3, 2, 30, },
-+	{ 1, 0, 0, 3, 2, 30, },
-+	{ 0, 0, 0, 3, 3, 44, },
-+	{ 2, 0, 0, 3, 3, 30, },
-+	{ 1, 0, 0, 3, 3, 30, },
-+	{ 0, 0, 0, 3, 4, 44, },
-+	{ 2, 0, 0, 3, 4, 30, },
-+	{ 1, 0, 0, 3, 4, 30, },
-+	{ 0, 0, 0, 3, 5, 44, },
-+	{ 2, 0, 0, 3, 5, 30, },
-+	{ 1, 0, 0, 3, 5, 30, },
-+	{ 0, 0, 0, 3, 6, 44, },
-+	{ 2, 0, 0, 3, 6, 30, },
-+	{ 1, 0, 0, 3, 6, 30, },
-+	{ 0, 0, 0, 3, 7, 44, },
-+	{ 2, 0, 0, 3, 7, 30, },
-+	{ 1, 0, 0, 3, 7, 30, },
-+	{ 0, 0, 0, 3, 8, 44, },
-+	{ 2, 0, 0, 3, 8, 30, },
-+	{ 1, 0, 0, 3, 8, 30, },
-+	{ 0, 0, 0, 3, 9, 44, },
-+	{ 2, 0, 0, 3, 9, 30, },
-+	{ 1, 0, 0, 3, 9, 30, },
-+	{ 0, 0, 0, 3, 10, 44, },
-+	{ 2, 0, 0, 3, 10, 30, },
-+	{ 1, 0, 0, 3, 10, 30, },
-+	{ 0, 0, 0, 3, 11, 32, },
-+	{ 2, 0, 0, 3, 11, 30, },
-+	{ 1, 0, 0, 3, 11, 30, },
-+	{ 0, 0, 0, 3, 12, 63, },
-+	{ 2, 0, 0, 3, 12, 30, },
-+	{ 1, 0, 0, 3, 12, 30, },
-+	{ 0, 0, 0, 3, 13, 63, },
-+	{ 2, 0, 0, 3, 13, 30, },
-+	{ 1, 0, 0, 3, 13, 30, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 63, },
-+	{ 0, 0, 0, 6, 1, 30, },
-+	{ 2, 0, 0, 6, 1, 28, },
-+	{ 1, 0, 0, 6, 1, 28, },
-+	{ 0, 0, 0, 6, 2, 42, },
-+	{ 2, 0, 0, 6, 2, 28, },
-+	{ 1, 0, 0, 6, 2, 28, },
-+	{ 0, 0, 0, 6, 3, 42, },
-+	{ 2, 0, 0, 6, 3, 28, },
-+	{ 1, 0, 0, 6, 3, 28, },
-+	{ 0, 0, 0, 6, 4, 42, },
-+	{ 2, 0, 0, 6, 4, 28, },
-+	{ 1, 0, 0, 6, 4, 28, },
-+	{ 0, 0, 0, 6, 5, 42, },
-+	{ 2, 0, 0, 6, 5, 28, },
-+	{ 1, 0, 0, 6, 5, 28, },
-+	{ 0, 0, 0, 6, 6, 42, },
-+	{ 2, 0, 0, 6, 6, 28, },
-+	{ 1, 0, 0, 6, 6, 28, },
-+	{ 0, 0, 0, 6, 7, 42, },
-+	{ 2, 0, 0, 6, 7, 28, },
-+	{ 1, 0, 0, 6, 7, 28, },
-+	{ 0, 0, 0, 6, 8, 42, },
-+	{ 2, 0, 0, 6, 8, 28, },
-+	{ 1, 0, 0, 6, 8, 28, },
-+	{ 0, 0, 0, 6, 9, 42, },
-+	{ 2, 0, 0, 6, 9, 28, },
-+	{ 1, 0, 0, 6, 9, 28, },
-+	{ 0, 0, 0, 6, 10, 42, },
-+	{ 2, 0, 0, 6, 10, 28, },
-+	{ 1, 0, 0, 6, 10, 28, },
-+	{ 0, 0, 0, 6, 11, 30, },
-+	{ 2, 0, 0, 6, 11, 28, },
-+	{ 1, 0, 0, 6, 11, 28, },
-+	{ 0, 0, 0, 6, 12, 63, },
-+	{ 2, 0, 0, 6, 12, 28, },
-+	{ 1, 0, 0, 6, 12, 28, },
-+	{ 0, 0, 0, 6, 13, 63, },
-+	{ 2, 0, 0, 6, 13, 28, },
-+	{ 1, 0, 0, 6, 13, 28, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 63, },
-+	{ 0, 0, 0, 7, 1, 28, },
-+	{ 2, 0, 0, 7, 1, 26, },
-+	{ 1, 0, 0, 7, 1, 26, },
-+	{ 0, 0, 0, 7, 2, 40, },
-+	{ 2, 0, 0, 7, 2, 26, },
-+	{ 1, 0, 0, 7, 2, 26, },
-+	{ 0, 0, 0, 7, 3, 40, },
-+	{ 2, 0, 0, 7, 3, 26, },
-+	{ 1, 0, 0, 7, 3, 26, },
-+	{ 0, 0, 0, 7, 4, 40, },
-+	{ 2, 0, 0, 7, 4, 26, },
-+	{ 1, 0, 0, 7, 4, 26, },
-+	{ 0, 0, 0, 7, 5, 40, },
-+	{ 2, 0, 0, 7, 5, 26, },
-+	{ 1, 0, 0, 7, 5, 26, },
-+	{ 0, 0, 0, 7, 6, 40, },
-+	{ 2, 0, 0, 7, 6, 26, },
-+	{ 1, 0, 0, 7, 6, 26, },
-+	{ 0, 0, 0, 7, 7, 40, },
-+	{ 2, 0, 0, 7, 7, 26, },
-+	{ 1, 0, 0, 7, 7, 26, },
-+	{ 0, 0, 0, 7, 8, 40, },
-+	{ 2, 0, 0, 7, 8, 26, },
-+	{ 1, 0, 0, 7, 8, 26, },
-+	{ 0, 0, 0, 7, 9, 40, },
-+	{ 2, 0, 0, 7, 9, 26, },
-+	{ 1, 0, 0, 7, 9, 26, },
-+	{ 0, 0, 0, 7, 10, 40, },
-+	{ 2, 0, 0, 7, 10, 26, },
-+	{ 1, 0, 0, 7, 10, 26, },
-+	{ 0, 0, 0, 7, 11, 28, },
-+	{ 2, 0, 0, 7, 11, 26, },
-+	{ 1, 0, 0, 7, 11, 26, },
-+	{ 0, 0, 0, 7, 12, 63, },
-+	{ 2, 0, 0, 7, 12, 26, },
-+	{ 1, 0, 0, 7, 12, 26, },
-+	{ 0, 0, 0, 7, 13, 63, },
-+	{ 2, 0, 0, 7, 13, 26, },
-+	{ 1, 0, 0, 7, 13, 26, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 63, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 36, },
-+	{ 2, 0, 1, 2, 3, 32, },
-+	{ 1, 0, 1, 2, 3, 32, },
-+	{ 0, 0, 1, 2, 4, 40, },
-+	{ 2, 0, 1, 2, 4, 32, },
-+	{ 1, 0, 1, 2, 4, 32, },
-+	{ 0, 0, 1, 2, 5, 40, },
-+	{ 2, 0, 1, 2, 5, 32, },
-+	{ 1, 0, 1, 2, 5, 32, },
-+	{ 0, 0, 1, 2, 6, 40, },
-+	{ 2, 0, 1, 2, 6, 32, },
-+	{ 1, 0, 1, 2, 6, 32, },
-+	{ 0, 0, 1, 2, 7, 40, },
-+	{ 2, 0, 1, 2, 7, 32, },
-+	{ 1, 0, 1, 2, 7, 32, },
-+	{ 0, 0, 1, 2, 8, 40, },
-+	{ 2, 0, 1, 2, 8, 32, },
-+	{ 1, 0, 1, 2, 8, 32, },
-+	{ 0, 0, 1, 2, 9, 40, },
-+	{ 2, 0, 1, 2, 9, 32, },
-+	{ 1, 0, 1, 2, 9, 32, },
-+	{ 0, 0, 1, 2, 10, 40, },
-+	{ 2, 0, 1, 2, 10, 32, },
-+	{ 1, 0, 1, 2, 10, 32, },
-+	{ 0, 0, 1, 2, 11, 34, },
-+	{ 2, 0, 1, 2, 11, 32, },
-+	{ 1, 0, 1, 2, 11, 32, },
-+	{ 0, 0, 1, 2, 12, 63, },
-+	{ 2, 0, 1, 2, 12, 32, },
-+	{ 1, 0, 1, 2, 12, 32, },
-+	{ 0, 0, 1, 2, 13, 63, },
-+	{ 2, 0, 1, 2, 13, 32, },
-+	{ 1, 0, 1, 2, 13, 32, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 34, },
-+	{ 2, 0, 1, 3, 3, 30, },
-+	{ 1, 0, 1, 3, 3, 30, },
-+	{ 0, 0, 1, 3, 4, 38, },
-+	{ 2, 0, 1, 3, 4, 30, },
-+	{ 1, 0, 1, 3, 4, 30, },
-+	{ 0, 0, 1, 3, 5, 38, },
-+	{ 2, 0, 1, 3, 5, 30, },
-+	{ 1, 0, 1, 3, 5, 30, },
-+	{ 0, 0, 1, 3, 6, 38, },
-+	{ 2, 0, 1, 3, 6, 30, },
-+	{ 1, 0, 1, 3, 6, 30, },
-+	{ 0, 0, 1, 3, 7, 38, },
-+	{ 2, 0, 1, 3, 7, 30, },
-+	{ 1, 0, 1, 3, 7, 30, },
-+	{ 0, 0, 1, 3, 8, 38, },
-+	{ 2, 0, 1, 3, 8, 30, },
-+	{ 1, 0, 1, 3, 8, 30, },
-+	{ 0, 0, 1, 3, 9, 38, },
-+	{ 2, 0, 1, 3, 9, 30, },
-+	{ 1, 0, 1, 3, 9, 30, },
-+	{ 0, 0, 1, 3, 10, 38, },
-+	{ 2, 0, 1, 3, 10, 30, },
-+	{ 1, 0, 1, 3, 10, 30, },
-+	{ 0, 0, 1, 3, 11, 32, },
-+	{ 2, 0, 1, 3, 11, 30, },
-+	{ 1, 0, 1, 3, 11, 30, },
-+	{ 0, 0, 1, 3, 12, 63, },
-+	{ 2, 0, 1, 3, 12, 30, },
-+	{ 1, 0, 1, 3, 12, 30, },
-+	{ 0, 0, 1, 3, 13, 63, },
-+	{ 2, 0, 1, 3, 13, 30, },
-+	{ 1, 0, 1, 3, 13, 30, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 32, },
-+	{ 2, 0, 1, 6, 3, 28, },
-+	{ 1, 0, 1, 6, 3, 28, },
-+	{ 0, 0, 1, 6, 4, 36, },
-+	{ 2, 0, 1, 6, 4, 28, },
-+	{ 1, 0, 1, 6, 4, 28, },
-+	{ 0, 0, 1, 6, 5, 36, },
-+	{ 2, 0, 1, 6, 5, 28, },
-+	{ 1, 0, 1, 6, 5, 28, },
-+	{ 0, 0, 1, 6, 6, 36, },
-+	{ 2, 0, 1, 6, 6, 28, },
-+	{ 1, 0, 1, 6, 6, 28, },
-+	{ 0, 0, 1, 6, 7, 36, },
-+	{ 2, 0, 1, 6, 7, 28, },
-+	{ 1, 0, 1, 6, 7, 28, },
-+	{ 0, 0, 1, 6, 8, 36, },
-+	{ 2, 0, 1, 6, 8, 28, },
-+	{ 1, 0, 1, 6, 8, 28, },
-+	{ 0, 0, 1, 6, 9, 36, },
-+	{ 2, 0, 1, 6, 9, 28, },
-+	{ 1, 0, 1, 6, 9, 28, },
-+	{ 0, 0, 1, 6, 10, 36, },
-+	{ 2, 0, 1, 6, 10, 28, },
-+	{ 1, 0, 1, 6, 10, 28, },
-+	{ 0, 0, 1, 6, 11, 30, },
-+	{ 2, 0, 1, 6, 11, 28, },
-+	{ 1, 0, 1, 6, 11, 28, },
-+	{ 0, 0, 1, 6, 12, 63, },
-+	{ 2, 0, 1, 6, 12, 28, },
-+	{ 1, 0, 1, 6, 12, 28, },
-+	{ 0, 0, 1, 6, 13, 63, },
-+	{ 2, 0, 1, 6, 13, 28, },
-+	{ 1, 0, 1, 6, 13, 28, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 32, },
-+	{ 2, 0, 1, 7, 3, 26, },
-+	{ 1, 0, 1, 7, 3, 26, },
-+	{ 0, 0, 1, 7, 4, 36, },
-+	{ 2, 0, 1, 7, 4, 26, },
-+	{ 1, 0, 1, 7, 4, 26, },
-+	{ 0, 0, 1, 7, 5, 36, },
-+	{ 2, 0, 1, 7, 5, 26, },
-+	{ 1, 0, 1, 7, 5, 26, },
-+	{ 0, 0, 1, 7, 6, 36, },
-+	{ 2, 0, 1, 7, 6, 26, },
-+	{ 1, 0, 1, 7, 6, 26, },
-+	{ 0, 0, 1, 7, 7, 36, },
-+	{ 2, 0, 1, 7, 7, 26, },
-+	{ 1, 0, 1, 7, 7, 26, },
-+	{ 0, 0, 1, 7, 8, 36, },
-+	{ 2, 0, 1, 7, 8, 26, },
-+	{ 1, 0, 1, 7, 8, 26, },
-+	{ 0, 0, 1, 7, 9, 36, },
-+	{ 2, 0, 1, 7, 9, 26, },
-+	{ 1, 0, 1, 7, 9, 26, },
-+	{ 0, 0, 1, 7, 10, 36, },
-+	{ 2, 0, 1, 7, 10, 26, },
-+	{ 1, 0, 1, 7, 10, 26, },
-+	{ 0, 0, 1, 7, 11, 30, },
-+	{ 2, 0, 1, 7, 11, 26, },
-+	{ 1, 0, 1, 7, 11, 26, },
-+	{ 0, 0, 1, 7, 12, 63, },
-+	{ 2, 0, 1, 7, 12, 26, },
-+	{ 1, 0, 1, 7, 12, 26, },
-+	{ 0, 0, 1, 7, 13, 63, },
-+	{ 2, 0, 1, 7, 13, 26, },
-+	{ 1, 0, 1, 7, 13, 26, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 38, },
-+	{ 2, 1, 0, 1, 36, 32, },
-+	{ 1, 1, 0, 1, 36, 32, },
-+	{ 0, 1, 0, 1, 40, 38, },
-+	{ 2, 1, 0, 1, 40, 32, },
-+	{ 1, 1, 0, 1, 40, 32, },
-+	{ 0, 1, 0, 1, 44, 38, },
-+	{ 2, 1, 0, 1, 44, 32, },
-+	{ 1, 1, 0, 1, 44, 32, },
-+	{ 0, 1, 0, 1, 48, 38, },
-+	{ 2, 1, 0, 1, 48, 32, },
-+	{ 1, 1, 0, 1, 48, 32, },
-+	{ 0, 1, 0, 1, 52, 38, },
-+	{ 2, 1, 0, 1, 52, 32, },
-+	{ 1, 1, 0, 1, 52, 32, },
-+	{ 0, 1, 0, 1, 56, 38, },
-+	{ 2, 1, 0, 1, 56, 32, },
-+	{ 1, 1, 0, 1, 56, 32, },
-+	{ 0, 1, 0, 1, 60, 38, },
-+	{ 2, 1, 0, 1, 60, 32, },
-+	{ 1, 1, 0, 1, 60, 32, },
-+	{ 0, 1, 0, 1, 64, 38, },
-+	{ 2, 1, 0, 1, 64, 32, },
-+	{ 1, 1, 0, 1, 64, 32, },
-+	{ 0, 1, 0, 1, 100, 36, },
-+	{ 2, 1, 0, 1, 100, 32, },
-+	{ 1, 1, 0, 1, 100, 32, },
-+	{ 0, 1, 0, 1, 104, 36, },
-+	{ 2, 1, 0, 1, 104, 32, },
-+	{ 1, 1, 0, 1, 104, 32, },
-+	{ 0, 1, 0, 1, 108, 36, },
-+	{ 2, 1, 0, 1, 108, 32, },
-+	{ 1, 1, 0, 1, 108, 32, },
-+	{ 0, 1, 0, 1, 112, 36, },
-+	{ 2, 1, 0, 1, 112, 32, },
-+	{ 1, 1, 0, 1, 112, 32, },
-+	{ 0, 1, 0, 1, 116, 36, },
-+	{ 2, 1, 0, 1, 116, 32, },
-+	{ 1, 1, 0, 1, 116, 32, },
-+	{ 0, 1, 0, 1, 120, 36, },
-+	{ 2, 1, 0, 1, 120, 32, },
-+	{ 1, 1, 0, 1, 120, 32, },
-+	{ 0, 1, 0, 1, 124, 36, },
-+	{ 2, 1, 0, 1, 124, 32, },
-+	{ 1, 1, 0, 1, 124, 32, },
-+	{ 0, 1, 0, 1, 128, 36, },
-+	{ 2, 1, 0, 1, 128, 32, },
-+	{ 1, 1, 0, 1, 128, 32, },
-+	{ 0, 1, 0, 1, 132, 36, },
-+	{ 2, 1, 0, 1, 132, 32, },
-+	{ 1, 1, 0, 1, 132, 32, },
-+	{ 0, 1, 0, 1, 136, 36, },
-+	{ 2, 1, 0, 1, 136, 32, },
-+	{ 1, 1, 0, 1, 136, 32, },
-+	{ 0, 1, 0, 1, 140, 36, },
-+	{ 2, 1, 0, 1, 140, 32, },
-+	{ 1, 1, 0, 1, 140, 32, },
-+	{ 0, 1, 0, 1, 149, 36, },
-+	{ 2, 1, 0, 1, 149, 32, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 36, },
-+	{ 2, 1, 0, 1, 153, 32, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 36, },
-+	{ 2, 1, 0, 1, 157, 32, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 36, },
-+	{ 2, 1, 0, 1, 161, 32, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 36, },
-+	{ 2, 1, 0, 1, 165, 32, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 36, },
-+	{ 2, 1, 0, 2, 36, 32, },
-+	{ 1, 1, 0, 2, 36, 32, },
-+	{ 0, 1, 0, 2, 40, 36, },
-+	{ 2, 1, 0, 2, 40, 32, },
-+	{ 1, 1, 0, 2, 40, 32, },
-+	{ 0, 1, 0, 2, 44, 36, },
-+	{ 2, 1, 0, 2, 44, 32, },
-+	{ 1, 1, 0, 2, 44, 32, },
-+	{ 0, 1, 0, 2, 48, 36, },
-+	{ 2, 1, 0, 2, 48, 32, },
-+	{ 1, 1, 0, 2, 48, 32, },
-+	{ 0, 1, 0, 2, 52, 36, },
-+	{ 2, 1, 0, 2, 52, 32, },
-+	{ 1, 1, 0, 2, 52, 32, },
-+	{ 0, 1, 0, 2, 56, 36, },
-+	{ 2, 1, 0, 2, 56, 32, },
-+	{ 1, 1, 0, 2, 56, 32, },
-+	{ 0, 1, 0, 2, 60, 36, },
-+	{ 2, 1, 0, 2, 60, 32, },
-+	{ 1, 1, 0, 2, 60, 32, },
-+	{ 0, 1, 0, 2, 64, 36, },
-+	{ 2, 1, 0, 2, 64, 32, },
-+	{ 1, 1, 0, 2, 64, 32, },
-+	{ 0, 1, 0, 2, 100, 36, },
-+	{ 2, 1, 0, 2, 100, 32, },
-+	{ 1, 1, 0, 2, 100, 32, },
-+	{ 0, 1, 0, 2, 104, 36, },
-+	{ 2, 1, 0, 2, 104, 32, },
-+	{ 1, 1, 0, 2, 104, 32, },
-+	{ 0, 1, 0, 2, 108, 36, },
-+	{ 2, 1, 0, 2, 108, 32, },
-+	{ 1, 1, 0, 2, 108, 32, },
-+	{ 0, 1, 0, 2, 112, 36, },
-+	{ 2, 1, 0, 2, 112, 32, },
-+	{ 1, 1, 0, 2, 112, 32, },
-+	{ 0, 1, 0, 2, 116, 36, },
-+	{ 2, 1, 0, 2, 116, 32, },
-+	{ 1, 1, 0, 2, 116, 32, },
-+	{ 0, 1, 0, 2, 120, 36, },
-+	{ 2, 1, 0, 2, 120, 32, },
-+	{ 1, 1, 0, 2, 120, 32, },
-+	{ 0, 1, 0, 2, 124, 36, },
-+	{ 2, 1, 0, 2, 124, 32, },
-+	{ 1, 1, 0, 2, 124, 32, },
-+	{ 0, 1, 0, 2, 128, 36, },
-+	{ 2, 1, 0, 2, 128, 32, },
-+	{ 1, 1, 0, 2, 128, 32, },
-+	{ 0, 1, 0, 2, 132, 36, },
-+	{ 2, 1, 0, 2, 132, 32, },
-+	{ 1, 1, 0, 2, 132, 32, },
-+	{ 0, 1, 0, 2, 136, 36, },
-+	{ 2, 1, 0, 2, 136, 32, },
-+	{ 1, 1, 0, 2, 136, 32, },
-+	{ 0, 1, 0, 2, 140, 34, },
-+	{ 2, 1, 0, 2, 140, 32, },
-+	{ 1, 1, 0, 2, 140, 32, },
-+	{ 0, 1, 0, 2, 149, 32, },
-+	{ 2, 1, 0, 2, 149, 32, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 38, },
-+	{ 2, 1, 0, 2, 153, 32, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 38, },
-+	{ 2, 1, 0, 2, 157, 32, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 38, },
-+	{ 2, 1, 0, 2, 161, 32, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 38, },
-+	{ 2, 1, 0, 2, 165, 32, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 34, },
-+	{ 2, 1, 0, 3, 36, 30, },
-+	{ 1, 1, 0, 3, 36, 30, },
-+	{ 0, 1, 0, 3, 40, 34, },
-+	{ 2, 1, 0, 3, 40, 30, },
-+	{ 1, 1, 0, 3, 40, 30, },
-+	{ 0, 1, 0, 3, 44, 34, },
-+	{ 2, 1, 0, 3, 44, 30, },
-+	{ 1, 1, 0, 3, 44, 30, },
-+	{ 0, 1, 0, 3, 48, 34, },
-+	{ 2, 1, 0, 3, 48, 30, },
-+	{ 1, 1, 0, 3, 48, 30, },
-+	{ 0, 1, 0, 3, 52, 34, },
-+	{ 2, 1, 0, 3, 52, 30, },
-+	{ 1, 1, 0, 3, 52, 30, },
-+	{ 0, 1, 0, 3, 56, 34, },
-+	{ 2, 1, 0, 3, 56, 30, },
-+	{ 1, 1, 0, 3, 56, 30, },
-+	{ 0, 1, 0, 3, 60, 34, },
-+	{ 2, 1, 0, 3, 60, 30, },
-+	{ 1, 1, 0, 3, 60, 30, },
-+	{ 0, 1, 0, 3, 64, 34, },
-+	{ 2, 1, 0, 3, 64, 30, },
-+	{ 1, 1, 0, 3, 64, 30, },
-+	{ 0, 1, 0, 3, 100, 34, },
-+	{ 2, 1, 0, 3, 100, 30, },
-+	{ 1, 1, 0, 3, 100, 30, },
-+	{ 0, 1, 0, 3, 104, 34, },
-+	{ 2, 1, 0, 3, 104, 30, },
-+	{ 1, 1, 0, 3, 104, 30, },
-+	{ 0, 1, 0, 3, 108, 34, },
-+	{ 2, 1, 0, 3, 108, 30, },
-+	{ 1, 1, 0, 3, 108, 30, },
-+	{ 0, 1, 0, 3, 112, 34, },
-+	{ 2, 1, 0, 3, 112, 30, },
-+	{ 1, 1, 0, 3, 112, 30, },
-+	{ 0, 1, 0, 3, 116, 34, },
-+	{ 2, 1, 0, 3, 116, 30, },
-+	{ 1, 1, 0, 3, 116, 30, },
-+	{ 0, 1, 0, 3, 120, 34, },
-+	{ 2, 1, 0, 3, 120, 30, },
-+	{ 1, 1, 0, 3, 120, 30, },
-+	{ 0, 1, 0, 3, 124, 34, },
-+	{ 2, 1, 0, 3, 124, 30, },
-+	{ 1, 1, 0, 3, 124, 30, },
-+	{ 0, 1, 0, 3, 128, 34, },
-+	{ 2, 1, 0, 3, 128, 30, },
-+	{ 1, 1, 0, 3, 128, 30, },
-+	{ 0, 1, 0, 3, 132, 34, },
-+	{ 2, 1, 0, 3, 132, 30, },
-+	{ 1, 1, 0, 3, 132, 30, },
-+	{ 0, 1, 0, 3, 136, 34, },
-+	{ 2, 1, 0, 3, 136, 30, },
-+	{ 1, 1, 0, 3, 136, 30, },
-+	{ 0, 1, 0, 3, 140, 32, },
-+	{ 2, 1, 0, 3, 140, 30, },
-+	{ 1, 1, 0, 3, 140, 30, },
-+	{ 0, 1, 0, 3, 149, 30, },
-+	{ 2, 1, 0, 3, 149, 30, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 36, },
-+	{ 2, 1, 0, 3, 153, 30, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 36, },
-+	{ 2, 1, 0, 3, 157, 30, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 36, },
-+	{ 2, 1, 0, 3, 161, 30, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 36, },
-+	{ 2, 1, 0, 3, 165, 30, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 32, },
-+	{ 2, 1, 0, 6, 36, 28, },
-+	{ 1, 1, 0, 6, 36, 28, },
-+	{ 0, 1, 0, 6, 40, 32, },
-+	{ 2, 1, 0, 6, 40, 28, },
-+	{ 1, 1, 0, 6, 40, 28, },
-+	{ 0, 1, 0, 6, 44, 32, },
-+	{ 2, 1, 0, 6, 44, 28, },
-+	{ 1, 1, 0, 6, 44, 28, },
-+	{ 0, 1, 0, 6, 48, 32, },
-+	{ 2, 1, 0, 6, 48, 28, },
-+	{ 1, 1, 0, 6, 48, 28, },
-+	{ 0, 1, 0, 6, 52, 32, },
-+	{ 2, 1, 0, 6, 52, 28, },
-+	{ 1, 1, 0, 6, 52, 28, },
-+	{ 0, 1, 0, 6, 56, 32, },
-+	{ 2, 1, 0, 6, 56, 28, },
-+	{ 1, 1, 0, 6, 56, 28, },
-+	{ 0, 1, 0, 6, 60, 32, },
-+	{ 2, 1, 0, 6, 60, 28, },
-+	{ 1, 1, 0, 6, 60, 28, },
-+	{ 0, 1, 0, 6, 64, 32, },
-+	{ 2, 1, 0, 6, 64, 28, },
-+	{ 1, 1, 0, 6, 64, 28, },
-+	{ 0, 1, 0, 6, 100, 32, },
-+	{ 2, 1, 0, 6, 100, 28, },
-+	{ 1, 1, 0, 6, 100, 28, },
-+	{ 0, 1, 0, 6, 104, 32, },
-+	{ 2, 1, 0, 6, 104, 28, },
-+	{ 1, 1, 0, 6, 104, 28, },
-+	{ 0, 1, 0, 6, 108, 32, },
-+	{ 2, 1, 0, 6, 108, 28, },
-+	{ 1, 1, 0, 6, 108, 28, },
-+	{ 0, 1, 0, 6, 112, 32, },
-+	{ 2, 1, 0, 6, 112, 28, },
-+	{ 1, 1, 0, 6, 112, 28, },
-+	{ 0, 1, 0, 6, 116, 32, },
-+	{ 2, 1, 0, 6, 116, 28, },
-+	{ 1, 1, 0, 6, 116, 28, },
-+	{ 0, 1, 0, 6, 120, 32, },
-+	{ 2, 1, 0, 6, 120, 28, },
-+	{ 1, 1, 0, 6, 120, 28, },
-+	{ 0, 1, 0, 6, 124, 32, },
-+	{ 2, 1, 0, 6, 124, 28, },
-+	{ 1, 1, 0, 6, 124, 28, },
-+	{ 0, 1, 0, 6, 128, 32, },
-+	{ 2, 1, 0, 6, 128, 28, },
-+	{ 1, 1, 0, 6, 128, 28, },
-+	{ 0, 1, 0, 6, 132, 32, },
-+	{ 2, 1, 0, 6, 132, 28, },
-+	{ 1, 1, 0, 6, 132, 28, },
-+	{ 0, 1, 0, 6, 136, 32, },
-+	{ 2, 1, 0, 6, 136, 28, },
-+	{ 1, 1, 0, 6, 136, 28, },
-+	{ 0, 1, 0, 6, 140, 30, },
-+	{ 2, 1, 0, 6, 140, 28, },
-+	{ 1, 1, 0, 6, 140, 28, },
-+	{ 0, 1, 0, 6, 149, 28, },
-+	{ 2, 1, 0, 6, 149, 28, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 34, },
-+	{ 2, 1, 0, 6, 153, 28, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 34, },
-+	{ 2, 1, 0, 6, 157, 28, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 34, },
-+	{ 2, 1, 0, 6, 161, 28, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 34, },
-+	{ 2, 1, 0, 6, 165, 28, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 30, },
-+	{ 2, 1, 0, 7, 36, 26, },
-+	{ 1, 1, 0, 7, 36, 26, },
-+	{ 0, 1, 0, 7, 40, 30, },
-+	{ 2, 1, 0, 7, 40, 26, },
-+	{ 1, 1, 0, 7, 40, 26, },
-+	{ 0, 1, 0, 7, 44, 30, },
-+	{ 2, 1, 0, 7, 44, 26, },
-+	{ 1, 1, 0, 7, 44, 26, },
-+	{ 0, 1, 0, 7, 48, 30, },
-+	{ 2, 1, 0, 7, 48, 26, },
-+	{ 1, 1, 0, 7, 48, 26, },
-+	{ 0, 1, 0, 7, 52, 30, },
-+	{ 2, 1, 0, 7, 52, 26, },
-+	{ 1, 1, 0, 7, 52, 26, },
-+	{ 0, 1, 0, 7, 56, 30, },
-+	{ 2, 1, 0, 7, 56, 26, },
-+	{ 1, 1, 0, 7, 56, 26, },
-+	{ 0, 1, 0, 7, 60, 30, },
-+	{ 2, 1, 0, 7, 60, 26, },
-+	{ 1, 1, 0, 7, 60, 26, },
-+	{ 0, 1, 0, 7, 64, 30, },
-+	{ 2, 1, 0, 7, 64, 26, },
-+	{ 1, 1, 0, 7, 64, 26, },
-+	{ 0, 1, 0, 7, 100, 30, },
-+	{ 2, 1, 0, 7, 100, 26, },
-+	{ 1, 1, 0, 7, 100, 26, },
-+	{ 0, 1, 0, 7, 104, 30, },
-+	{ 2, 1, 0, 7, 104, 26, },
-+	{ 1, 1, 0, 7, 104, 26, },
-+	{ 0, 1, 0, 7, 108, 30, },
-+	{ 2, 1, 0, 7, 108, 26, },
-+	{ 1, 1, 0, 7, 108, 26, },
-+	{ 0, 1, 0, 7, 112, 30, },
-+	{ 2, 1, 0, 7, 112, 26, },
-+	{ 1, 1, 0, 7, 112, 26, },
-+	{ 0, 1, 0, 7, 116, 30, },
-+	{ 2, 1, 0, 7, 116, 26, },
-+	{ 1, 1, 0, 7, 116, 26, },
-+	{ 0, 1, 0, 7, 120, 30, },
-+	{ 2, 1, 0, 7, 120, 26, },
-+	{ 1, 1, 0, 7, 120, 26, },
-+	{ 0, 1, 0, 7, 124, 30, },
-+	{ 2, 1, 0, 7, 124, 26, },
-+	{ 1, 1, 0, 7, 124, 26, },
-+	{ 0, 1, 0, 7, 128, 30, },
-+	{ 2, 1, 0, 7, 128, 26, },
-+	{ 1, 1, 0, 7, 128, 26, },
-+	{ 0, 1, 0, 7, 132, 30, },
-+	{ 2, 1, 0, 7, 132, 26, },
-+	{ 1, 1, 0, 7, 132, 26, },
-+	{ 0, 1, 0, 7, 136, 30, },
-+	{ 2, 1, 0, 7, 136, 26, },
-+	{ 1, 1, 0, 7, 136, 26, },
-+	{ 0, 1, 0, 7, 140, 28, },
-+	{ 2, 1, 0, 7, 140, 26, },
-+	{ 1, 1, 0, 7, 140, 26, },
-+	{ 0, 1, 0, 7, 149, 26, },
-+	{ 2, 1, 0, 7, 149, 26, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 32, },
-+	{ 2, 1, 0, 7, 153, 26, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 32, },
-+	{ 2, 1, 0, 7, 157, 26, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 32, },
-+	{ 2, 1, 0, 7, 161, 26, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 32, },
-+	{ 2, 1, 0, 7, 165, 26, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 32, },
-+	{ 2, 1, 1, 2, 38, 32, },
-+	{ 1, 1, 1, 2, 38, 32, },
-+	{ 0, 1, 1, 2, 46, 32, },
-+	{ 2, 1, 1, 2, 46, 32, },
-+	{ 1, 1, 1, 2, 46, 32, },
-+	{ 0, 1, 1, 2, 54, 32, },
-+	{ 2, 1, 1, 2, 54, 32, },
-+	{ 1, 1, 1, 2, 54, 32, },
-+	{ 0, 1, 1, 2, 62, 30, },
-+	{ 2, 1, 1, 2, 62, 32, },
-+	{ 1, 1, 1, 2, 62, 32, },
-+	{ 0, 1, 1, 2, 102, 30, },
-+	{ 2, 1, 1, 2, 102, 32, },
-+	{ 1, 1, 1, 2, 102, 32, },
-+	{ 0, 1, 1, 2, 110, 38, },
-+	{ 2, 1, 1, 2, 110, 32, },
-+	{ 1, 1, 1, 2, 110, 32, },
-+	{ 0, 1, 1, 2, 118, 38, },
-+	{ 2, 1, 1, 2, 118, 32, },
-+	{ 1, 1, 1, 2, 118, 32, },
-+	{ 0, 1, 1, 2, 126, 38, },
-+	{ 2, 1, 1, 2, 126, 32, },
-+	{ 1, 1, 1, 2, 126, 32, },
-+	{ 0, 1, 1, 2, 134, 38, },
-+	{ 2, 1, 1, 2, 134, 32, },
-+	{ 1, 1, 1, 2, 134, 32, },
-+	{ 0, 1, 1, 2, 151, 32, },
-+	{ 2, 1, 1, 2, 151, 32, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 32, },
-+	{ 2, 1, 1, 2, 159, 32, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 30, },
-+	{ 2, 1, 1, 3, 38, 30, },
-+	{ 1, 1, 1, 3, 38, 30, },
-+	{ 0, 1, 1, 3, 46, 30, },
-+	{ 2, 1, 1, 3, 46, 30, },
-+	{ 1, 1, 1, 3, 46, 30, },
-+	{ 0, 1, 1, 3, 54, 30, },
-+	{ 2, 1, 1, 3, 54, 30, },
-+	{ 1, 1, 1, 3, 54, 30, },
-+	{ 0, 1, 1, 3, 62, 28, },
-+	{ 2, 1, 1, 3, 62, 30, },
-+	{ 1, 1, 1, 3, 62, 30, },
-+	{ 0, 1, 1, 3, 102, 28, },
-+	{ 2, 1, 1, 3, 102, 30, },
-+	{ 1, 1, 1, 3, 102, 30, },
-+	{ 0, 1, 1, 3, 110, 36, },
-+	{ 2, 1, 1, 3, 110, 30, },
-+	{ 1, 1, 1, 3, 110, 30, },
-+	{ 0, 1, 1, 3, 118, 36, },
-+	{ 2, 1, 1, 3, 118, 30, },
-+	{ 1, 1, 1, 3, 118, 30, },
-+	{ 0, 1, 1, 3, 126, 36, },
-+	{ 2, 1, 1, 3, 126, 30, },
-+	{ 1, 1, 1, 3, 126, 30, },
-+	{ 0, 1, 1, 3, 134, 36, },
-+	{ 2, 1, 1, 3, 134, 30, },
-+	{ 1, 1, 1, 3, 134, 30, },
-+	{ 0, 1, 1, 3, 151, 30, },
-+	{ 2, 1, 1, 3, 151, 30, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 30, },
-+	{ 2, 1, 1, 3, 159, 30, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 28, },
-+	{ 2, 1, 1, 6, 38, 28, },
-+	{ 1, 1, 1, 6, 38, 28, },
-+	{ 0, 1, 1, 6, 46, 28, },
-+	{ 2, 1, 1, 6, 46, 28, },
-+	{ 1, 1, 1, 6, 46, 28, },
-+	{ 0, 1, 1, 6, 54, 28, },
-+	{ 2, 1, 1, 6, 54, 28, },
-+	{ 1, 1, 1, 6, 54, 28, },
-+	{ 0, 1, 1, 6, 62, 26, },
-+	{ 2, 1, 1, 6, 62, 28, },
-+	{ 1, 1, 1, 6, 62, 28, },
-+	{ 0, 1, 1, 6, 102, 26, },
-+	{ 2, 1, 1, 6, 102, 28, },
-+	{ 1, 1, 1, 6, 102, 28, },
-+	{ 0, 1, 1, 6, 110, 34, },
-+	{ 2, 1, 1, 6, 110, 28, },
-+	{ 1, 1, 1, 6, 110, 28, },
-+	{ 0, 1, 1, 6, 118, 34, },
-+	{ 2, 1, 1, 6, 118, 28, },
-+	{ 1, 1, 1, 6, 118, 28, },
-+	{ 0, 1, 1, 6, 126, 34, },
-+	{ 2, 1, 1, 6, 126, 28, },
-+	{ 1, 1, 1, 6, 126, 28, },
-+	{ 0, 1, 1, 6, 134, 34, },
-+	{ 2, 1, 1, 6, 134, 28, },
-+	{ 1, 1, 1, 6, 134, 28, },
-+	{ 0, 1, 1, 6, 151, 28, },
-+	{ 2, 1, 1, 6, 151, 28, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 28, },
-+	{ 2, 1, 1, 6, 159, 28, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 26, },
-+	{ 2, 1, 1, 7, 38, 26, },
-+	{ 1, 1, 1, 7, 38, 26, },
-+	{ 0, 1, 1, 7, 46, 26, },
-+	{ 2, 1, 1, 7, 46, 26, },
-+	{ 1, 1, 1, 7, 46, 26, },
-+	{ 0, 1, 1, 7, 54, 26, },
-+	{ 2, 1, 1, 7, 54, 26, },
-+	{ 1, 1, 1, 7, 54, 26, },
-+	{ 0, 1, 1, 7, 62, 24, },
-+	{ 2, 1, 1, 7, 62, 26, },
-+	{ 1, 1, 1, 7, 62, 26, },
-+	{ 0, 1, 1, 7, 102, 24, },
-+	{ 2, 1, 1, 7, 102, 26, },
-+	{ 1, 1, 1, 7, 102, 26, },
-+	{ 0, 1, 1, 7, 110, 32, },
-+	{ 2, 1, 1, 7, 110, 26, },
-+	{ 1, 1, 1, 7, 110, 26, },
-+	{ 0, 1, 1, 7, 118, 32, },
-+	{ 2, 1, 1, 7, 118, 26, },
-+	{ 1, 1, 1, 7, 118, 26, },
-+	{ 0, 1, 1, 7, 126, 32, },
-+	{ 2, 1, 1, 7, 126, 26, },
-+	{ 1, 1, 1, 7, 126, 26, },
-+	{ 0, 1, 1, 7, 134, 32, },
-+	{ 2, 1, 1, 7, 134, 26, },
-+	{ 1, 1, 1, 7, 134, 26, },
-+	{ 0, 1, 1, 7, 151, 26, },
-+	{ 2, 1, 1, 7, 151, 26, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 26, },
-+	{ 2, 1, 1, 7, 159, 26, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 26, },
-+	{ 2, 1, 2, 4, 42, 32, },
-+	{ 1, 1, 2, 4, 42, 32, },
-+	{ 0, 1, 2, 4, 58, 26, },
-+	{ 2, 1, 2, 4, 58, 32, },
-+	{ 1, 1, 2, 4, 58, 32, },
-+	{ 0, 1, 2, 4, 106, 28, },
-+	{ 2, 1, 2, 4, 106, 32, },
-+	{ 1, 1, 2, 4, 106, 32, },
-+	{ 0, 1, 2, 4, 122, 28, },
-+	{ 2, 1, 2, 4, 122, 32, },
-+	{ 1, 1, 2, 4, 122, 32, },
-+	{ 0, 1, 2, 4, 155, 28, },
-+	{ 2, 1, 2, 4, 155, 32, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 24, },
-+	{ 2, 1, 2, 5, 42, 30, },
-+	{ 1, 1, 2, 5, 42, 30, },
-+	{ 0, 1, 2, 5, 58, 24, },
-+	{ 2, 1, 2, 5, 58, 30, },
-+	{ 1, 1, 2, 5, 58, 30, },
-+	{ 0, 1, 2, 5, 106, 26, },
-+	{ 2, 1, 2, 5, 106, 30, },
-+	{ 1, 1, 2, 5, 106, 30, },
-+	{ 0, 1, 2, 5, 122, 26, },
-+	{ 2, 1, 2, 5, 122, 30, },
-+	{ 1, 1, 2, 5, 122, 30, },
-+	{ 0, 1, 2, 5, 155, 26, },
-+	{ 2, 1, 2, 5, 155, 30, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 22, },
-+	{ 2, 1, 2, 8, 42, 28, },
-+	{ 1, 1, 2, 8, 42, 28, },
-+	{ 0, 1, 2, 8, 58, 22, },
-+	{ 2, 1, 2, 8, 58, 28, },
-+	{ 1, 1, 2, 8, 58, 28, },
-+	{ 0, 1, 2, 8, 106, 24, },
-+	{ 2, 1, 2, 8, 106, 28, },
-+	{ 1, 1, 2, 8, 106, 28, },
-+	{ 0, 1, 2, 8, 122, 24, },
-+	{ 2, 1, 2, 8, 122, 28, },
-+	{ 1, 1, 2, 8, 122, 28, },
-+	{ 0, 1, 2, 8, 155, 24, },
-+	{ 2, 1, 2, 8, 155, 28, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 20, },
-+	{ 2, 1, 2, 9, 42, 26, },
-+	{ 1, 1, 2, 9, 42, 26, },
-+	{ 0, 1, 2, 9, 58, 20, },
-+	{ 2, 1, 2, 9, 58, 26, },
-+	{ 1, 1, 2, 9, 58, 26, },
-+	{ 0, 1, 2, 9, 106, 22, },
-+	{ 2, 1, 2, 9, 106, 26, },
-+	{ 1, 1, 2, 9, 106, 26, },
-+	{ 0, 1, 2, 9, 122, 22, },
-+	{ 2, 1, 2, 9, 122, 26, },
-+	{ 1, 1, 2, 9, 122, 26, },
-+	{ 0, 1, 2, 9, 155, 22, },
-+	{ 2, 1, 2, 9, 155, 26, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type7);
-+
-+static const struct rtw_txpwr_lmt_cfg_pair rtw8814a_txpwr_lmt_type8[] = {
-+	{ 0, 0, 0, 0, 1, 46, },
-+	{ 2, 0, 0, 0, 1, 46, },
-+	{ 1, 0, 0, 0, 1, 46, },
-+	{ 0, 0, 0, 0, 2, 46, },
-+	{ 2, 0, 0, 0, 2, 46, },
-+	{ 1, 0, 0, 0, 2, 46, },
-+	{ 0, 0, 0, 0, 3, 46, },
-+	{ 2, 0, 0, 0, 3, 46, },
-+	{ 1, 0, 0, 0, 3, 46, },
-+	{ 0, 0, 0, 0, 4, 46, },
-+	{ 2, 0, 0, 0, 4, 46, },
-+	{ 1, 0, 0, 0, 4, 46, },
-+	{ 0, 0, 0, 0, 5, 46, },
-+	{ 2, 0, 0, 0, 5, 46, },
-+	{ 1, 0, 0, 0, 5, 46, },
-+	{ 0, 0, 0, 0, 6, 46, },
-+	{ 2, 0, 0, 0, 6, 46, },
-+	{ 1, 0, 0, 0, 6, 46, },
-+	{ 0, 0, 0, 0, 7, 46, },
-+	{ 2, 0, 0, 0, 7, 46, },
-+	{ 1, 0, 0, 0, 7, 46, },
-+	{ 0, 0, 0, 0, 8, 46, },
-+	{ 2, 0, 0, 0, 8, 46, },
-+	{ 1, 0, 0, 0, 8, 46, },
-+	{ 0, 0, 0, 0, 9, 46, },
-+	{ 2, 0, 0, 0, 9, 46, },
-+	{ 1, 0, 0, 0, 9, 46, },
-+	{ 0, 0, 0, 0, 10, 46, },
-+	{ 2, 0, 0, 0, 10, 46, },
-+	{ 1, 0, 0, 0, 10, 46, },
-+	{ 0, 0, 0, 0, 11, 46, },
-+	{ 2, 0, 0, 0, 11, 46, },
-+	{ 1, 0, 0, 0, 11, 46, },
-+	{ 0, 0, 0, 0, 12, 63, },
-+	{ 2, 0, 0, 0, 12, 46, },
-+	{ 1, 0, 0, 0, 12, 46, },
-+	{ 0, 0, 0, 0, 13, 63, },
-+	{ 2, 0, 0, 0, 13, 46, },
-+	{ 1, 0, 0, 0, 13, 46, },
-+	{ 0, 0, 0, 0, 14, 63, },
-+	{ 2, 0, 0, 0, 14, 63, },
-+	{ 1, 0, 0, 0, 14, 46, },
-+	{ 0, 0, 0, 1, 1, 46, },
-+	{ 2, 0, 0, 1, 1, 46, },
-+	{ 1, 0, 0, 1, 1, 46, },
-+	{ 0, 0, 0, 1, 2, 46, },
-+	{ 2, 0, 0, 1, 2, 46, },
-+	{ 1, 0, 0, 1, 2, 46, },
-+	{ 0, 0, 0, 1, 3, 46, },
-+	{ 2, 0, 0, 1, 3, 46, },
-+	{ 1, 0, 0, 1, 3, 46, },
-+	{ 0, 0, 0, 1, 4, 46, },
-+	{ 2, 0, 0, 1, 4, 46, },
-+	{ 1, 0, 0, 1, 4, 46, },
-+	{ 0, 0, 0, 1, 5, 46, },
-+	{ 2, 0, 0, 1, 5, 46, },
-+	{ 1, 0, 0, 1, 5, 46, },
-+	{ 0, 0, 0, 1, 6, 46, },
-+	{ 2, 0, 0, 1, 6, 46, },
-+	{ 1, 0, 0, 1, 6, 46, },
-+	{ 0, 0, 0, 1, 7, 46, },
-+	{ 2, 0, 0, 1, 7, 46, },
-+	{ 1, 0, 0, 1, 7, 46, },
-+	{ 0, 0, 0, 1, 8, 46, },
-+	{ 2, 0, 0, 1, 8, 46, },
-+	{ 1, 0, 0, 1, 8, 46, },
-+	{ 0, 0, 0, 1, 9, 46, },
-+	{ 2, 0, 0, 1, 9, 46, },
-+	{ 1, 0, 0, 1, 9, 46, },
-+	{ 0, 0, 0, 1, 10, 46, },
-+	{ 2, 0, 0, 1, 10, 46, },
-+	{ 1, 0, 0, 1, 10, 46, },
-+	{ 0, 0, 0, 1, 11, 46, },
-+	{ 2, 0, 0, 1, 11, 46, },
-+	{ 1, 0, 0, 1, 11, 46, },
-+	{ 0, 0, 0, 1, 12, 63, },
-+	{ 2, 0, 0, 1, 12, 46, },
-+	{ 1, 0, 0, 1, 12, 46, },
-+	{ 0, 0, 0, 1, 13, 63, },
-+	{ 2, 0, 0, 1, 13, 46, },
-+	{ 1, 0, 0, 1, 13, 46, },
-+	{ 0, 0, 0, 1, 14, 63, },
-+	{ 2, 0, 0, 1, 14, 63, },
-+	{ 1, 0, 0, 1, 14, 46, },
-+	{ 0, 0, 0, 2, 1, 46, },
-+	{ 2, 0, 0, 2, 1, 46, },
-+	{ 1, 0, 0, 2, 1, 46, },
-+	{ 0, 0, 0, 2, 2, 46, },
-+	{ 2, 0, 0, 2, 2, 46, },
-+	{ 1, 0, 0, 2, 2, 46, },
-+	{ 0, 0, 0, 2, 3, 46, },
-+	{ 2, 0, 0, 2, 3, 46, },
-+	{ 1, 0, 0, 2, 3, 46, },
-+	{ 0, 0, 0, 2, 4, 46, },
-+	{ 2, 0, 0, 2, 4, 46, },
-+	{ 1, 0, 0, 2, 4, 46, },
-+	{ 0, 0, 0, 2, 5, 46, },
-+	{ 2, 0, 0, 2, 5, 46, },
-+	{ 1, 0, 0, 2, 5, 46, },
-+	{ 0, 0, 0, 2, 6, 46, },
-+	{ 2, 0, 0, 2, 6, 46, },
-+	{ 1, 0, 0, 2, 6, 46, },
-+	{ 0, 0, 0, 2, 7, 46, },
-+	{ 2, 0, 0, 2, 7, 46, },
-+	{ 1, 0, 0, 2, 7, 46, },
-+	{ 0, 0, 0, 2, 8, 46, },
-+	{ 2, 0, 0, 2, 8, 46, },
-+	{ 1, 0, 0, 2, 8, 46, },
-+	{ 0, 0, 0, 2, 9, 46, },
-+	{ 2, 0, 0, 2, 9, 46, },
-+	{ 1, 0, 0, 2, 9, 46, },
-+	{ 0, 0, 0, 2, 10, 46, },
-+	{ 2, 0, 0, 2, 10, 46, },
-+	{ 1, 0, 0, 2, 10, 46, },
-+	{ 0, 0, 0, 2, 11, 46, },
-+	{ 2, 0, 0, 2, 11, 46, },
-+	{ 1, 0, 0, 2, 11, 46, },
-+	{ 0, 0, 0, 2, 12, 63, },
-+	{ 2, 0, 0, 2, 12, 46, },
-+	{ 1, 0, 0, 2, 12, 46, },
-+	{ 0, 0, 0, 2, 13, 63, },
-+	{ 2, 0, 0, 2, 13, 46, },
-+	{ 1, 0, 0, 2, 13, 46, },
-+	{ 0, 0, 0, 2, 14, 63, },
-+	{ 2, 0, 0, 2, 14, 63, },
-+	{ 1, 0, 0, 2, 14, 46, },
-+	{ 0, 0, 0, 3, 1, 46, },
-+	{ 2, 0, 0, 3, 1, 46, },
-+	{ 1, 0, 0, 3, 1, 46, },
-+	{ 0, 0, 0, 3, 2, 46, },
-+	{ 2, 0, 0, 3, 2, 46, },
-+	{ 1, 0, 0, 3, 2, 46, },
-+	{ 0, 0, 0, 3, 3, 46, },
-+	{ 2, 0, 0, 3, 3, 46, },
-+	{ 1, 0, 0, 3, 3, 46, },
-+	{ 0, 0, 0, 3, 4, 46, },
-+	{ 2, 0, 0, 3, 4, 46, },
-+	{ 1, 0, 0, 3, 4, 46, },
-+	{ 0, 0, 0, 3, 5, 46, },
-+	{ 2, 0, 0, 3, 5, 46, },
-+	{ 1, 0, 0, 3, 5, 46, },
-+	{ 0, 0, 0, 3, 6, 46, },
-+	{ 2, 0, 0, 3, 6, 46, },
-+	{ 1, 0, 0, 3, 6, 46, },
-+	{ 0, 0, 0, 3, 7, 46, },
-+	{ 2, 0, 0, 3, 7, 46, },
-+	{ 1, 0, 0, 3, 7, 46, },
-+	{ 0, 0, 0, 3, 8, 46, },
-+	{ 2, 0, 0, 3, 8, 46, },
-+	{ 1, 0, 0, 3, 8, 46, },
-+	{ 0, 0, 0, 3, 9, 46, },
-+	{ 2, 0, 0, 3, 9, 46, },
-+	{ 1, 0, 0, 3, 9, 46, },
-+	{ 0, 0, 0, 3, 10, 46, },
-+	{ 2, 0, 0, 3, 10, 46, },
-+	{ 1, 0, 0, 3, 10, 46, },
-+	{ 0, 0, 0, 3, 11, 46, },
-+	{ 2, 0, 0, 3, 11, 46, },
-+	{ 1, 0, 0, 3, 11, 46, },
-+	{ 0, 0, 0, 3, 12, 63, },
-+	{ 2, 0, 0, 3, 12, 46, },
-+	{ 1, 0, 0, 3, 12, 46, },
-+	{ 0, 0, 0, 3, 13, 63, },
-+	{ 2, 0, 0, 3, 13, 46, },
-+	{ 1, 0, 0, 3, 13, 46, },
-+	{ 0, 0, 0, 3, 14, 63, },
-+	{ 2, 0, 0, 3, 14, 63, },
-+	{ 1, 0, 0, 3, 14, 46, },
-+	{ 0, 0, 0, 6, 1, 46, },
-+	{ 2, 0, 0, 6, 1, 46, },
-+	{ 1, 0, 0, 6, 1, 46, },
-+	{ 0, 0, 0, 6, 2, 46, },
-+	{ 2, 0, 0, 6, 2, 46, },
-+	{ 1, 0, 0, 6, 2, 46, },
-+	{ 0, 0, 0, 6, 3, 46, },
-+	{ 2, 0, 0, 6, 3, 46, },
-+	{ 1, 0, 0, 6, 3, 46, },
-+	{ 0, 0, 0, 6, 4, 46, },
-+	{ 2, 0, 0, 6, 4, 46, },
-+	{ 1, 0, 0, 6, 4, 46, },
-+	{ 0, 0, 0, 6, 5, 46, },
-+	{ 2, 0, 0, 6, 5, 46, },
-+	{ 1, 0, 0, 6, 5, 46, },
-+	{ 0, 0, 0, 6, 6, 46, },
-+	{ 2, 0, 0, 6, 6, 46, },
-+	{ 1, 0, 0, 6, 6, 46, },
-+	{ 0, 0, 0, 6, 7, 46, },
-+	{ 2, 0, 0, 6, 7, 46, },
-+	{ 1, 0, 0, 6, 7, 46, },
-+	{ 0, 0, 0, 6, 8, 46, },
-+	{ 2, 0, 0, 6, 8, 46, },
-+	{ 1, 0, 0, 6, 8, 46, },
-+	{ 0, 0, 0, 6, 9, 46, },
-+	{ 2, 0, 0, 6, 9, 46, },
-+	{ 1, 0, 0, 6, 9, 46, },
-+	{ 0, 0, 0, 6, 10, 46, },
-+	{ 2, 0, 0, 6, 10, 46, },
-+	{ 1, 0, 0, 6, 10, 46, },
-+	{ 0, 0, 0, 6, 11, 46, },
-+	{ 2, 0, 0, 6, 11, 46, },
-+	{ 1, 0, 0, 6, 11, 46, },
-+	{ 0, 0, 0, 6, 12, 63, },
-+	{ 2, 0, 0, 6, 12, 46, },
-+	{ 1, 0, 0, 6, 12, 46, },
-+	{ 0, 0, 0, 6, 13, 63, },
-+	{ 2, 0, 0, 6, 13, 46, },
-+	{ 1, 0, 0, 6, 13, 46, },
-+	{ 0, 0, 0, 6, 14, 63, },
-+	{ 2, 0, 0, 6, 14, 63, },
-+	{ 1, 0, 0, 6, 14, 46, },
-+	{ 0, 0, 0, 7, 1, 46, },
-+	{ 2, 0, 0, 7, 1, 46, },
-+	{ 1, 0, 0, 7, 1, 46, },
-+	{ 0, 0, 0, 7, 2, 46, },
-+	{ 2, 0, 0, 7, 2, 46, },
-+	{ 1, 0, 0, 7, 2, 46, },
-+	{ 0, 0, 0, 7, 3, 46, },
-+	{ 2, 0, 0, 7, 3, 46, },
-+	{ 1, 0, 0, 7, 3, 46, },
-+	{ 0, 0, 0, 7, 4, 46, },
-+	{ 2, 0, 0, 7, 4, 46, },
-+	{ 1, 0, 0, 7, 4, 46, },
-+	{ 0, 0, 0, 7, 5, 46, },
-+	{ 2, 0, 0, 7, 5, 46, },
-+	{ 1, 0, 0, 7, 5, 46, },
-+	{ 0, 0, 0, 7, 6, 46, },
-+	{ 2, 0, 0, 7, 6, 46, },
-+	{ 1, 0, 0, 7, 6, 46, },
-+	{ 0, 0, 0, 7, 7, 46, },
-+	{ 2, 0, 0, 7, 7, 46, },
-+	{ 1, 0, 0, 7, 7, 46, },
-+	{ 0, 0, 0, 7, 8, 46, },
-+	{ 2, 0, 0, 7, 8, 46, },
-+	{ 1, 0, 0, 7, 8, 46, },
-+	{ 0, 0, 0, 7, 9, 46, },
-+	{ 2, 0, 0, 7, 9, 46, },
-+	{ 1, 0, 0, 7, 9, 46, },
-+	{ 0, 0, 0, 7, 10, 46, },
-+	{ 2, 0, 0, 7, 10, 46, },
-+	{ 1, 0, 0, 7, 10, 46, },
-+	{ 0, 0, 0, 7, 11, 46, },
-+	{ 2, 0, 0, 7, 11, 46, },
-+	{ 1, 0, 0, 7, 11, 46, },
-+	{ 0, 0, 0, 7, 12, 63, },
-+	{ 2, 0, 0, 7, 12, 46, },
-+	{ 1, 0, 0, 7, 12, 46, },
-+	{ 0, 0, 0, 7, 13, 63, },
-+	{ 2, 0, 0, 7, 13, 46, },
-+	{ 1, 0, 0, 7, 13, 46, },
-+	{ 0, 0, 0, 7, 14, 63, },
-+	{ 2, 0, 0, 7, 14, 63, },
-+	{ 1, 0, 0, 7, 14, 46, },
-+	{ 0, 0, 1, 2, 1, 63, },
-+	{ 2, 0, 1, 2, 1, 63, },
-+	{ 1, 0, 1, 2, 1, 63, },
-+	{ 0, 0, 1, 2, 2, 63, },
-+	{ 2, 0, 1, 2, 2, 63, },
-+	{ 1, 0, 1, 2, 2, 63, },
-+	{ 0, 0, 1, 2, 3, 30, },
-+	{ 2, 0, 1, 2, 3, 34, },
-+	{ 1, 0, 1, 2, 3, 34, },
-+	{ 0, 0, 1, 2, 4, 34, },
-+	{ 2, 0, 1, 2, 4, 34, },
-+	{ 1, 0, 1, 2, 4, 34, },
-+	{ 0, 0, 1, 2, 5, 34, },
-+	{ 2, 0, 1, 2, 5, 34, },
-+	{ 1, 0, 1, 2, 5, 34, },
-+	{ 0, 0, 1, 2, 6, 34, },
-+	{ 2, 0, 1, 2, 6, 34, },
-+	{ 1, 0, 1, 2, 6, 34, },
-+	{ 0, 0, 1, 2, 7, 34, },
-+	{ 2, 0, 1, 2, 7, 34, },
-+	{ 1, 0, 1, 2, 7, 34, },
-+	{ 0, 0, 1, 2, 8, 34, },
-+	{ 2, 0, 1, 2, 8, 34, },
-+	{ 1, 0, 1, 2, 8, 34, },
-+	{ 0, 0, 1, 2, 9, 34, },
-+	{ 2, 0, 1, 2, 9, 34, },
-+	{ 1, 0, 1, 2, 9, 34, },
-+	{ 0, 0, 1, 2, 10, 34, },
-+	{ 2, 0, 1, 2, 10, 34, },
-+	{ 1, 0, 1, 2, 10, 34, },
-+	{ 0, 0, 1, 2, 11, 28, },
-+	{ 2, 0, 1, 2, 11, 34, },
-+	{ 1, 0, 1, 2, 11, 34, },
-+	{ 0, 0, 1, 2, 12, 63, },
-+	{ 2, 0, 1, 2, 12, 34, },
-+	{ 1, 0, 1, 2, 12, 34, },
-+	{ 0, 0, 1, 2, 13, 63, },
-+	{ 2, 0, 1, 2, 13, 34, },
-+	{ 1, 0, 1, 2, 13, 34, },
-+	{ 0, 0, 1, 2, 14, 63, },
-+	{ 2, 0, 1, 2, 14, 63, },
-+	{ 1, 0, 1, 2, 14, 63, },
-+	{ 0, 0, 1, 3, 1, 63, },
-+	{ 2, 0, 1, 3, 1, 63, },
-+	{ 1, 0, 1, 3, 1, 63, },
-+	{ 0, 0, 1, 3, 2, 63, },
-+	{ 2, 0, 1, 3, 2, 63, },
-+	{ 1, 0, 1, 3, 2, 63, },
-+	{ 0, 0, 1, 3, 3, 30, },
-+	{ 2, 0, 1, 3, 3, 34, },
-+	{ 1, 0, 1, 3, 3, 34, },
-+	{ 0, 0, 1, 3, 4, 34, },
-+	{ 2, 0, 1, 3, 4, 34, },
-+	{ 1, 0, 1, 3, 4, 34, },
-+	{ 0, 0, 1, 3, 5, 34, },
-+	{ 2, 0, 1, 3, 5, 34, },
-+	{ 1, 0, 1, 3, 5, 34, },
-+	{ 0, 0, 1, 3, 6, 34, },
-+	{ 2, 0, 1, 3, 6, 34, },
-+	{ 1, 0, 1, 3, 6, 34, },
-+	{ 0, 0, 1, 3, 7, 34, },
-+	{ 2, 0, 1, 3, 7, 34, },
-+	{ 1, 0, 1, 3, 7, 34, },
-+	{ 0, 0, 1, 3, 8, 34, },
-+	{ 2, 0, 1, 3, 8, 34, },
-+	{ 1, 0, 1, 3, 8, 34, },
-+	{ 0, 0, 1, 3, 9, 34, },
-+	{ 2, 0, 1, 3, 9, 34, },
-+	{ 1, 0, 1, 3, 9, 34, },
-+	{ 0, 0, 1, 3, 10, 34, },
-+	{ 2, 0, 1, 3, 10, 34, },
-+	{ 1, 0, 1, 3, 10, 34, },
-+	{ 0, 0, 1, 3, 11, 28, },
-+	{ 2, 0, 1, 3, 11, 34, },
-+	{ 1, 0, 1, 3, 11, 34, },
-+	{ 0, 0, 1, 3, 12, 63, },
-+	{ 2, 0, 1, 3, 12, 34, },
-+	{ 1, 0, 1, 3, 12, 34, },
-+	{ 0, 0, 1, 3, 13, 63, },
-+	{ 2, 0, 1, 3, 13, 34, },
-+	{ 1, 0, 1, 3, 13, 34, },
-+	{ 0, 0, 1, 3, 14, 63, },
-+	{ 2, 0, 1, 3, 14, 63, },
-+	{ 1, 0, 1, 3, 14, 63, },
-+	{ 0, 0, 1, 6, 1, 63, },
-+	{ 2, 0, 1, 6, 1, 63, },
-+	{ 1, 0, 1, 6, 1, 63, },
-+	{ 0, 0, 1, 6, 2, 63, },
-+	{ 2, 0, 1, 6, 2, 63, },
-+	{ 1, 0, 1, 6, 2, 63, },
-+	{ 0, 0, 1, 6, 3, 30, },
-+	{ 2, 0, 1, 6, 3, 34, },
-+	{ 1, 0, 1, 6, 3, 34, },
-+	{ 0, 0, 1, 6, 4, 34, },
-+	{ 2, 0, 1, 6, 4, 34, },
-+	{ 1, 0, 1, 6, 4, 34, },
-+	{ 0, 0, 1, 6, 5, 34, },
-+	{ 2, 0, 1, 6, 5, 34, },
-+	{ 1, 0, 1, 6, 5, 34, },
-+	{ 0, 0, 1, 6, 6, 34, },
-+	{ 2, 0, 1, 6, 6, 34, },
-+	{ 1, 0, 1, 6, 6, 34, },
-+	{ 0, 0, 1, 6, 7, 34, },
-+	{ 2, 0, 1, 6, 7, 34, },
-+	{ 1, 0, 1, 6, 7, 34, },
-+	{ 0, 0, 1, 6, 8, 34, },
-+	{ 2, 0, 1, 6, 8, 34, },
-+	{ 1, 0, 1, 6, 8, 34, },
-+	{ 0, 0, 1, 6, 9, 34, },
-+	{ 2, 0, 1, 6, 9, 34, },
-+	{ 1, 0, 1, 6, 9, 34, },
-+	{ 0, 0, 1, 6, 10, 34, },
-+	{ 2, 0, 1, 6, 10, 34, },
-+	{ 1, 0, 1, 6, 10, 34, },
-+	{ 0, 0, 1, 6, 11, 28, },
-+	{ 2, 0, 1, 6, 11, 34, },
-+	{ 1, 0, 1, 6, 11, 34, },
-+	{ 0, 0, 1, 6, 12, 63, },
-+	{ 2, 0, 1, 6, 12, 34, },
-+	{ 1, 0, 1, 6, 12, 34, },
-+	{ 0, 0, 1, 6, 13, 63, },
-+	{ 2, 0, 1, 6, 13, 34, },
-+	{ 1, 0, 1, 6, 13, 34, },
-+	{ 0, 0, 1, 6, 14, 63, },
-+	{ 2, 0, 1, 6, 14, 63, },
-+	{ 1, 0, 1, 6, 14, 63, },
-+	{ 0, 0, 1, 7, 1, 63, },
-+	{ 2, 0, 1, 7, 1, 63, },
-+	{ 1, 0, 1, 7, 1, 63, },
-+	{ 0, 0, 1, 7, 2, 63, },
-+	{ 2, 0, 1, 7, 2, 63, },
-+	{ 1, 0, 1, 7, 2, 63, },
-+	{ 0, 0, 1, 7, 3, 30, },
-+	{ 2, 0, 1, 7, 3, 34, },
-+	{ 1, 0, 1, 7, 3, 34, },
-+	{ 0, 0, 1, 7, 4, 34, },
-+	{ 2, 0, 1, 7, 4, 34, },
-+	{ 1, 0, 1, 7, 4, 34, },
-+	{ 0, 0, 1, 7, 5, 34, },
-+	{ 2, 0, 1, 7, 5, 34, },
-+	{ 1, 0, 1, 7, 5, 34, },
-+	{ 0, 0, 1, 7, 6, 34, },
-+	{ 2, 0, 1, 7, 6, 34, },
-+	{ 1, 0, 1, 7, 6, 34, },
-+	{ 0, 0, 1, 7, 7, 34, },
-+	{ 2, 0, 1, 7, 7, 34, },
-+	{ 1, 0, 1, 7, 7, 34, },
-+	{ 0, 0, 1, 7, 8, 34, },
-+	{ 2, 0, 1, 7, 8, 34, },
-+	{ 1, 0, 1, 7, 8, 34, },
-+	{ 0, 0, 1, 7, 9, 34, },
-+	{ 2, 0, 1, 7, 9, 34, },
-+	{ 1, 0, 1, 7, 9, 34, },
-+	{ 0, 0, 1, 7, 10, 34, },
-+	{ 2, 0, 1, 7, 10, 34, },
-+	{ 1, 0, 1, 7, 10, 34, },
-+	{ 0, 0, 1, 7, 11, 28, },
-+	{ 2, 0, 1, 7, 11, 34, },
-+	{ 1, 0, 1, 7, 11, 34, },
-+	{ 0, 0, 1, 7, 12, 63, },
-+	{ 2, 0, 1, 7, 12, 34, },
-+	{ 1, 0, 1, 7, 12, 34, },
-+	{ 0, 0, 1, 7, 13, 63, },
-+	{ 2, 0, 1, 7, 13, 34, },
-+	{ 1, 0, 1, 7, 13, 34, },
-+	{ 0, 0, 1, 7, 14, 63, },
-+	{ 2, 0, 1, 7, 14, 63, },
-+	{ 1, 0, 1, 7, 14, 63, },
-+	{ 0, 1, 0, 1, 36, 46, },
-+	{ 2, 1, 0, 1, 36, 46, },
-+	{ 1, 1, 0, 1, 36, 46, },
-+	{ 0, 1, 0, 1, 40, 46, },
-+	{ 2, 1, 0, 1, 40, 46, },
-+	{ 1, 1, 0, 1, 40, 46, },
-+	{ 0, 1, 0, 1, 44, 46, },
-+	{ 2, 1, 0, 1, 44, 46, },
-+	{ 1, 1, 0, 1, 44, 46, },
-+	{ 0, 1, 0, 1, 48, 46, },
-+	{ 2, 1, 0, 1, 48, 46, },
-+	{ 1, 1, 0, 1, 48, 46, },
-+	{ 0, 1, 0, 1, 52, 46, },
-+	{ 2, 1, 0, 1, 52, 46, },
-+	{ 1, 1, 0, 1, 52, 46, },
-+	{ 0, 1, 0, 1, 56, 46, },
-+	{ 2, 1, 0, 1, 56, 46, },
-+	{ 1, 1, 0, 1, 56, 46, },
-+	{ 0, 1, 0, 1, 60, 46, },
-+	{ 2, 1, 0, 1, 60, 46, },
-+	{ 1, 1, 0, 1, 60, 46, },
-+	{ 0, 1, 0, 1, 64, 46, },
-+	{ 2, 1, 0, 1, 64, 46, },
-+	{ 1, 1, 0, 1, 64, 46, },
-+	{ 0, 1, 0, 1, 100, 46, },
-+	{ 2, 1, 0, 1, 100, 46, },
-+	{ 1, 1, 0, 1, 100, 46, },
-+	{ 0, 1, 0, 1, 104, 46, },
-+	{ 2, 1, 0, 1, 104, 46, },
-+	{ 1, 1, 0, 1, 104, 46, },
-+	{ 0, 1, 0, 1, 108, 46, },
-+	{ 2, 1, 0, 1, 108, 46, },
-+	{ 1, 1, 0, 1, 108, 46, },
-+	{ 0, 1, 0, 1, 112, 46, },
-+	{ 2, 1, 0, 1, 112, 46, },
-+	{ 1, 1, 0, 1, 112, 46, },
-+	{ 0, 1, 0, 1, 116, 46, },
-+	{ 2, 1, 0, 1, 116, 46, },
-+	{ 1, 1, 0, 1, 116, 46, },
-+	{ 0, 1, 0, 1, 120, 46, },
-+	{ 2, 1, 0, 1, 120, 46, },
-+	{ 1, 1, 0, 1, 120, 46, },
-+	{ 0, 1, 0, 1, 124, 46, },
-+	{ 2, 1, 0, 1, 124, 46, },
-+	{ 1, 1, 0, 1, 124, 46, },
-+	{ 0, 1, 0, 1, 128, 46, },
-+	{ 2, 1, 0, 1, 128, 46, },
-+	{ 1, 1, 0, 1, 128, 46, },
-+	{ 0, 1, 0, 1, 132, 46, },
-+	{ 2, 1, 0, 1, 132, 46, },
-+	{ 1, 1, 0, 1, 132, 46, },
-+	{ 0, 1, 0, 1, 136, 46, },
-+	{ 2, 1, 0, 1, 136, 46, },
-+	{ 1, 1, 0, 1, 136, 46, },
-+	{ 0, 1, 0, 1, 140, 46, },
-+	{ 2, 1, 0, 1, 140, 46, },
-+	{ 1, 1, 0, 1, 140, 46, },
-+	{ 0, 1, 0, 1, 149, 46, },
-+	{ 2, 1, 0, 1, 149, 46, },
-+	{ 1, 1, 0, 1, 149, 63, },
-+	{ 0, 1, 0, 1, 153, 46, },
-+	{ 2, 1, 0, 1, 153, 46, },
-+	{ 1, 1, 0, 1, 153, 63, },
-+	{ 0, 1, 0, 1, 157, 46, },
-+	{ 2, 1, 0, 1, 157, 46, },
-+	{ 1, 1, 0, 1, 157, 63, },
-+	{ 0, 1, 0, 1, 161, 46, },
-+	{ 2, 1, 0, 1, 161, 46, },
-+	{ 1, 1, 0, 1, 161, 63, },
-+	{ 0, 1, 0, 1, 165, 46, },
-+	{ 2, 1, 0, 1, 165, 46, },
-+	{ 1, 1, 0, 1, 165, 63, },
-+	{ 0, 1, 0, 2, 36, 46, },
-+	{ 2, 1, 0, 2, 36, 46, },
-+	{ 1, 1, 0, 2, 36, 46, },
-+	{ 0, 1, 0, 2, 40, 46, },
-+	{ 2, 1, 0, 2, 40, 46, },
-+	{ 1, 1, 0, 2, 40, 46, },
-+	{ 0, 1, 0, 2, 44, 46, },
-+	{ 2, 1, 0, 2, 44, 46, },
-+	{ 1, 1, 0, 2, 44, 46, },
-+	{ 0, 1, 0, 2, 48, 46, },
-+	{ 2, 1, 0, 2, 48, 46, },
-+	{ 1, 1, 0, 2, 48, 46, },
-+	{ 0, 1, 0, 2, 52, 46, },
-+	{ 2, 1, 0, 2, 52, 46, },
-+	{ 1, 1, 0, 2, 52, 46, },
-+	{ 0, 1, 0, 2, 56, 46, },
-+	{ 2, 1, 0, 2, 56, 46, },
-+	{ 1, 1, 0, 2, 56, 46, },
-+	{ 0, 1, 0, 2, 60, 46, },
-+	{ 2, 1, 0, 2, 60, 46, },
-+	{ 1, 1, 0, 2, 60, 46, },
-+	{ 0, 1, 0, 2, 64, 46, },
-+	{ 2, 1, 0, 2, 64, 46, },
-+	{ 1, 1, 0, 2, 64, 46, },
-+	{ 0, 1, 0, 2, 100, 46, },
-+	{ 2, 1, 0, 2, 100, 46, },
-+	{ 1, 1, 0, 2, 100, 46, },
-+	{ 0, 1, 0, 2, 104, 46, },
-+	{ 2, 1, 0, 2, 104, 46, },
-+	{ 1, 1, 0, 2, 104, 46, },
-+	{ 0, 1, 0, 2, 108, 46, },
-+	{ 2, 1, 0, 2, 108, 46, },
-+	{ 1, 1, 0, 2, 108, 46, },
-+	{ 0, 1, 0, 2, 112, 46, },
-+	{ 2, 1, 0, 2, 112, 46, },
-+	{ 1, 1, 0, 2, 112, 46, },
-+	{ 0, 1, 0, 2, 116, 46, },
-+	{ 2, 1, 0, 2, 116, 46, },
-+	{ 1, 1, 0, 2, 116, 46, },
-+	{ 0, 1, 0, 2, 120, 46, },
-+	{ 2, 1, 0, 2, 120, 46, },
-+	{ 1, 1, 0, 2, 120, 46, },
-+	{ 0, 1, 0, 2, 124, 46, },
-+	{ 2, 1, 0, 2, 124, 46, },
-+	{ 1, 1, 0, 2, 124, 46, },
-+	{ 0, 1, 0, 2, 128, 46, },
-+	{ 2, 1, 0, 2, 128, 46, },
-+	{ 1, 1, 0, 2, 128, 46, },
-+	{ 0, 1, 0, 2, 132, 46, },
-+	{ 2, 1, 0, 2, 132, 46, },
-+	{ 1, 1, 0, 2, 132, 46, },
-+	{ 0, 1, 0, 2, 136, 46, },
-+	{ 2, 1, 0, 2, 136, 46, },
-+	{ 1, 1, 0, 2, 136, 46, },
-+	{ 0, 1, 0, 2, 140, 46, },
-+	{ 2, 1, 0, 2, 140, 46, },
-+	{ 1, 1, 0, 2, 140, 46, },
-+	{ 0, 1, 0, 2, 149, 46, },
-+	{ 2, 1, 0, 2, 149, 46, },
-+	{ 1, 1, 0, 2, 149, 63, },
-+	{ 0, 1, 0, 2, 153, 46, },
-+	{ 2, 1, 0, 2, 153, 46, },
-+	{ 1, 1, 0, 2, 153, 63, },
-+	{ 0, 1, 0, 2, 157, 46, },
-+	{ 2, 1, 0, 2, 157, 46, },
-+	{ 1, 1, 0, 2, 157, 63, },
-+	{ 0, 1, 0, 2, 161, 46, },
-+	{ 2, 1, 0, 2, 161, 46, },
-+	{ 1, 1, 0, 2, 161, 63, },
-+	{ 0, 1, 0, 2, 165, 46, },
-+	{ 2, 1, 0, 2, 165, 46, },
-+	{ 1, 1, 0, 2, 165, 63, },
-+	{ 0, 1, 0, 3, 36, 46, },
-+	{ 2, 1, 0, 3, 36, 46, },
-+	{ 1, 1, 0, 3, 36, 46, },
-+	{ 0, 1, 0, 3, 40, 46, },
-+	{ 2, 1, 0, 3, 40, 46, },
-+	{ 1, 1, 0, 3, 40, 46, },
-+	{ 0, 1, 0, 3, 44, 46, },
-+	{ 2, 1, 0, 3, 44, 46, },
-+	{ 1, 1, 0, 3, 44, 46, },
-+	{ 0, 1, 0, 3, 48, 46, },
-+	{ 2, 1, 0, 3, 48, 46, },
-+	{ 1, 1, 0, 3, 48, 46, },
-+	{ 0, 1, 0, 3, 52, 46, },
-+	{ 2, 1, 0, 3, 52, 46, },
-+	{ 1, 1, 0, 3, 52, 46, },
-+	{ 0, 1, 0, 3, 56, 46, },
-+	{ 2, 1, 0, 3, 56, 46, },
-+	{ 1, 1, 0, 3, 56, 46, },
-+	{ 0, 1, 0, 3, 60, 46, },
-+	{ 2, 1, 0, 3, 60, 46, },
-+	{ 1, 1, 0, 3, 60, 46, },
-+	{ 0, 1, 0, 3, 64, 46, },
-+	{ 2, 1, 0, 3, 64, 46, },
-+	{ 1, 1, 0, 3, 64, 46, },
-+	{ 0, 1, 0, 3, 100, 46, },
-+	{ 2, 1, 0, 3, 100, 46, },
-+	{ 1, 1, 0, 3, 100, 46, },
-+	{ 0, 1, 0, 3, 104, 46, },
-+	{ 2, 1, 0, 3, 104, 46, },
-+	{ 1, 1, 0, 3, 104, 46, },
-+	{ 0, 1, 0, 3, 108, 46, },
-+	{ 2, 1, 0, 3, 108, 46, },
-+	{ 1, 1, 0, 3, 108, 46, },
-+	{ 0, 1, 0, 3, 112, 46, },
-+	{ 2, 1, 0, 3, 112, 46, },
-+	{ 1, 1, 0, 3, 112, 46, },
-+	{ 0, 1, 0, 3, 116, 46, },
-+	{ 2, 1, 0, 3, 116, 46, },
-+	{ 1, 1, 0, 3, 116, 46, },
-+	{ 0, 1, 0, 3, 120, 46, },
-+	{ 2, 1, 0, 3, 120, 46, },
-+	{ 1, 1, 0, 3, 120, 46, },
-+	{ 0, 1, 0, 3, 124, 46, },
-+	{ 2, 1, 0, 3, 124, 46, },
-+	{ 1, 1, 0, 3, 124, 46, },
-+	{ 0, 1, 0, 3, 128, 46, },
-+	{ 2, 1, 0, 3, 128, 46, },
-+	{ 1, 1, 0, 3, 128, 46, },
-+	{ 0, 1, 0, 3, 132, 46, },
-+	{ 2, 1, 0, 3, 132, 46, },
-+	{ 1, 1, 0, 3, 132, 46, },
-+	{ 0, 1, 0, 3, 136, 46, },
-+	{ 2, 1, 0, 3, 136, 46, },
-+	{ 1, 1, 0, 3, 136, 46, },
-+	{ 0, 1, 0, 3, 140, 46, },
-+	{ 2, 1, 0, 3, 140, 46, },
-+	{ 1, 1, 0, 3, 140, 46, },
-+	{ 0, 1, 0, 3, 149, 46, },
-+	{ 2, 1, 0, 3, 149, 46, },
-+	{ 1, 1, 0, 3, 149, 63, },
-+	{ 0, 1, 0, 3, 153, 46, },
-+	{ 2, 1, 0, 3, 153, 46, },
-+	{ 1, 1, 0, 3, 153, 63, },
-+	{ 0, 1, 0, 3, 157, 46, },
-+	{ 2, 1, 0, 3, 157, 46, },
-+	{ 1, 1, 0, 3, 157, 63, },
-+	{ 0, 1, 0, 3, 161, 46, },
-+	{ 2, 1, 0, 3, 161, 46, },
-+	{ 1, 1, 0, 3, 161, 63, },
-+	{ 0, 1, 0, 3, 165, 46, },
-+	{ 2, 1, 0, 3, 165, 46, },
-+	{ 1, 1, 0, 3, 165, 63, },
-+	{ 0, 1, 0, 6, 36, 46, },
-+	{ 2, 1, 0, 6, 36, 46, },
-+	{ 1, 1, 0, 6, 36, 46, },
-+	{ 0, 1, 0, 6, 40, 46, },
-+	{ 2, 1, 0, 6, 40, 46, },
-+	{ 1, 1, 0, 6, 40, 46, },
-+	{ 0, 1, 0, 6, 44, 46, },
-+	{ 2, 1, 0, 6, 44, 46, },
-+	{ 1, 1, 0, 6, 44, 46, },
-+	{ 0, 1, 0, 6, 48, 46, },
-+	{ 2, 1, 0, 6, 48, 46, },
-+	{ 1, 1, 0, 6, 48, 46, },
-+	{ 0, 1, 0, 6, 52, 46, },
-+	{ 2, 1, 0, 6, 52, 46, },
-+	{ 1, 1, 0, 6, 52, 46, },
-+	{ 0, 1, 0, 6, 56, 46, },
-+	{ 2, 1, 0, 6, 56, 46, },
-+	{ 1, 1, 0, 6, 56, 46, },
-+	{ 0, 1, 0, 6, 60, 46, },
-+	{ 2, 1, 0, 6, 60, 46, },
-+	{ 1, 1, 0, 6, 60, 46, },
-+	{ 0, 1, 0, 6, 64, 46, },
-+	{ 2, 1, 0, 6, 64, 46, },
-+	{ 1, 1, 0, 6, 64, 46, },
-+	{ 0, 1, 0, 6, 100, 46, },
-+	{ 2, 1, 0, 6, 100, 46, },
-+	{ 1, 1, 0, 6, 100, 46, },
-+	{ 0, 1, 0, 6, 104, 46, },
-+	{ 2, 1, 0, 6, 104, 46, },
-+	{ 1, 1, 0, 6, 104, 46, },
-+	{ 0, 1, 0, 6, 108, 46, },
-+	{ 2, 1, 0, 6, 108, 46, },
-+	{ 1, 1, 0, 6, 108, 46, },
-+	{ 0, 1, 0, 6, 112, 46, },
-+	{ 2, 1, 0, 6, 112, 46, },
-+	{ 1, 1, 0, 6, 112, 46, },
-+	{ 0, 1, 0, 6, 116, 46, },
-+	{ 2, 1, 0, 6, 116, 46, },
-+	{ 1, 1, 0, 6, 116, 46, },
-+	{ 0, 1, 0, 6, 120, 46, },
-+	{ 2, 1, 0, 6, 120, 46, },
-+	{ 1, 1, 0, 6, 120, 46, },
-+	{ 0, 1, 0, 6, 124, 46, },
-+	{ 2, 1, 0, 6, 124, 46, },
-+	{ 1, 1, 0, 6, 124, 46, },
-+	{ 0, 1, 0, 6, 128, 46, },
-+	{ 2, 1, 0, 6, 128, 46, },
-+	{ 1, 1, 0, 6, 128, 46, },
-+	{ 0, 1, 0, 6, 132, 46, },
-+	{ 2, 1, 0, 6, 132, 46, },
-+	{ 1, 1, 0, 6, 132, 46, },
-+	{ 0, 1, 0, 6, 136, 46, },
-+	{ 2, 1, 0, 6, 136, 46, },
-+	{ 1, 1, 0, 6, 136, 46, },
-+	{ 0, 1, 0, 6, 140, 46, },
-+	{ 2, 1, 0, 6, 140, 46, },
-+	{ 1, 1, 0, 6, 140, 46, },
-+	{ 0, 1, 0, 6, 149, 46, },
-+	{ 2, 1, 0, 6, 149, 46, },
-+	{ 1, 1, 0, 6, 149, 63, },
-+	{ 0, 1, 0, 6, 153, 46, },
-+	{ 2, 1, 0, 6, 153, 46, },
-+	{ 1, 1, 0, 6, 153, 63, },
-+	{ 0, 1, 0, 6, 157, 46, },
-+	{ 2, 1, 0, 6, 157, 46, },
-+	{ 1, 1, 0, 6, 157, 63, },
-+	{ 0, 1, 0, 6, 161, 46, },
-+	{ 2, 1, 0, 6, 161, 46, },
-+	{ 1, 1, 0, 6, 161, 63, },
-+	{ 0, 1, 0, 6, 165, 46, },
-+	{ 2, 1, 0, 6, 165, 46, },
-+	{ 1, 1, 0, 6, 165, 63, },
-+	{ 0, 1, 0, 7, 36, 46, },
-+	{ 2, 1, 0, 7, 36, 46, },
-+	{ 1, 1, 0, 7, 36, 46, },
-+	{ 0, 1, 0, 7, 40, 46, },
-+	{ 2, 1, 0, 7, 40, 46, },
-+	{ 1, 1, 0, 7, 40, 46, },
-+	{ 0, 1, 0, 7, 44, 46, },
-+	{ 2, 1, 0, 7, 44, 46, },
-+	{ 1, 1, 0, 7, 44, 46, },
-+	{ 0, 1, 0, 7, 48, 46, },
-+	{ 2, 1, 0, 7, 48, 46, },
-+	{ 1, 1, 0, 7, 48, 46, },
-+	{ 0, 1, 0, 7, 52, 46, },
-+	{ 2, 1, 0, 7, 52, 46, },
-+	{ 1, 1, 0, 7, 52, 46, },
-+	{ 0, 1, 0, 7, 56, 46, },
-+	{ 2, 1, 0, 7, 56, 46, },
-+	{ 1, 1, 0, 7, 56, 46, },
-+	{ 0, 1, 0, 7, 60, 46, },
-+	{ 2, 1, 0, 7, 60, 46, },
-+	{ 1, 1, 0, 7, 60, 46, },
-+	{ 0, 1, 0, 7, 64, 46, },
-+	{ 2, 1, 0, 7, 64, 46, },
-+	{ 1, 1, 0, 7, 64, 46, },
-+	{ 0, 1, 0, 7, 100, 46, },
-+	{ 2, 1, 0, 7, 100, 46, },
-+	{ 1, 1, 0, 7, 100, 46, },
-+	{ 0, 1, 0, 7, 104, 46, },
-+	{ 2, 1, 0, 7, 104, 46, },
-+	{ 1, 1, 0, 7, 104, 46, },
-+	{ 0, 1, 0, 7, 108, 46, },
-+	{ 2, 1, 0, 7, 108, 46, },
-+	{ 1, 1, 0, 7, 108, 46, },
-+	{ 0, 1, 0, 7, 112, 46, },
-+	{ 2, 1, 0, 7, 112, 46, },
-+	{ 1, 1, 0, 7, 112, 46, },
-+	{ 0, 1, 0, 7, 116, 46, },
-+	{ 2, 1, 0, 7, 116, 46, },
-+	{ 1, 1, 0, 7, 116, 46, },
-+	{ 0, 1, 0, 7, 120, 46, },
-+	{ 2, 1, 0, 7, 120, 46, },
-+	{ 1, 1, 0, 7, 120, 46, },
-+	{ 0, 1, 0, 7, 124, 46, },
-+	{ 2, 1, 0, 7, 124, 46, },
-+	{ 1, 1, 0, 7, 124, 46, },
-+	{ 0, 1, 0, 7, 128, 46, },
-+	{ 2, 1, 0, 7, 128, 46, },
-+	{ 1, 1, 0, 7, 128, 46, },
-+	{ 0, 1, 0, 7, 132, 46, },
-+	{ 2, 1, 0, 7, 132, 46, },
-+	{ 1, 1, 0, 7, 132, 46, },
-+	{ 0, 1, 0, 7, 136, 46, },
-+	{ 2, 1, 0, 7, 136, 46, },
-+	{ 1, 1, 0, 7, 136, 46, },
-+	{ 0, 1, 0, 7, 140, 46, },
-+	{ 2, 1, 0, 7, 140, 46, },
-+	{ 1, 1, 0, 7, 140, 46, },
-+	{ 0, 1, 0, 7, 149, 46, },
-+	{ 2, 1, 0, 7, 149, 46, },
-+	{ 1, 1, 0, 7, 149, 63, },
-+	{ 0, 1, 0, 7, 153, 46, },
-+	{ 2, 1, 0, 7, 153, 46, },
-+	{ 1, 1, 0, 7, 153, 63, },
-+	{ 0, 1, 0, 7, 157, 46, },
-+	{ 2, 1, 0, 7, 157, 46, },
-+	{ 1, 1, 0, 7, 157, 63, },
-+	{ 0, 1, 0, 7, 161, 46, },
-+	{ 2, 1, 0, 7, 161, 46, },
-+	{ 1, 1, 0, 7, 161, 63, },
-+	{ 0, 1, 0, 7, 165, 46, },
-+	{ 2, 1, 0, 7, 165, 46, },
-+	{ 1, 1, 0, 7, 165, 63, },
-+	{ 0, 1, 1, 2, 38, 46, },
-+	{ 2, 1, 1, 2, 38, 46, },
-+	{ 1, 1, 1, 2, 38, 46, },
-+	{ 0, 1, 1, 2, 46, 46, },
-+	{ 2, 1, 1, 2, 46, 46, },
-+	{ 1, 1, 1, 2, 46, 46, },
-+	{ 0, 1, 1, 2, 54, 46, },
-+	{ 2, 1, 1, 2, 54, 46, },
-+	{ 1, 1, 1, 2, 54, 46, },
-+	{ 0, 1, 1, 2, 62, 46, },
-+	{ 2, 1, 1, 2, 62, 46, },
-+	{ 1, 1, 1, 2, 62, 46, },
-+	{ 0, 1, 1, 2, 102, 46, },
-+	{ 2, 1, 1, 2, 102, 46, },
-+	{ 1, 1, 1, 2, 102, 46, },
-+	{ 0, 1, 1, 2, 110, 46, },
-+	{ 2, 1, 1, 2, 110, 46, },
-+	{ 1, 1, 1, 2, 110, 46, },
-+	{ 0, 1, 1, 2, 118, 46, },
-+	{ 2, 1, 1, 2, 118, 46, },
-+	{ 1, 1, 1, 2, 118, 46, },
-+	{ 0, 1, 1, 2, 126, 46, },
-+	{ 2, 1, 1, 2, 126, 46, },
-+	{ 1, 1, 1, 2, 126, 46, },
-+	{ 0, 1, 1, 2, 134, 46, },
-+	{ 2, 1, 1, 2, 134, 46, },
-+	{ 1, 1, 1, 2, 134, 46, },
-+	{ 0, 1, 1, 2, 151, 46, },
-+	{ 2, 1, 1, 2, 151, 46, },
-+	{ 1, 1, 1, 2, 151, 63, },
-+	{ 0, 1, 1, 2, 159, 46, },
-+	{ 2, 1, 1, 2, 159, 46, },
-+	{ 1, 1, 1, 2, 159, 63, },
-+	{ 0, 1, 1, 3, 38, 46, },
-+	{ 2, 1, 1, 3, 38, 46, },
-+	{ 1, 1, 1, 3, 38, 46, },
-+	{ 0, 1, 1, 3, 46, 46, },
-+	{ 2, 1, 1, 3, 46, 46, },
-+	{ 1, 1, 1, 3, 46, 46, },
-+	{ 0, 1, 1, 3, 54, 46, },
-+	{ 2, 1, 1, 3, 54, 46, },
-+	{ 1, 1, 1, 3, 54, 46, },
-+	{ 0, 1, 1, 3, 62, 46, },
-+	{ 2, 1, 1, 3, 62, 46, },
-+	{ 1, 1, 1, 3, 62, 46, },
-+	{ 0, 1, 1, 3, 102, 46, },
-+	{ 2, 1, 1, 3, 102, 46, },
-+	{ 1, 1, 1, 3, 102, 46, },
-+	{ 0, 1, 1, 3, 110, 46, },
-+	{ 2, 1, 1, 3, 110, 46, },
-+	{ 1, 1, 1, 3, 110, 46, },
-+	{ 0, 1, 1, 3, 118, 46, },
-+	{ 2, 1, 1, 3, 118, 46, },
-+	{ 1, 1, 1, 3, 118, 46, },
-+	{ 0, 1, 1, 3, 126, 46, },
-+	{ 2, 1, 1, 3, 126, 46, },
-+	{ 1, 1, 1, 3, 126, 46, },
-+	{ 0, 1, 1, 3, 134, 46, },
-+	{ 2, 1, 1, 3, 134, 46, },
-+	{ 1, 1, 1, 3, 134, 46, },
-+	{ 0, 1, 1, 3, 151, 46, },
-+	{ 2, 1, 1, 3, 151, 46, },
-+	{ 1, 1, 1, 3, 151, 63, },
-+	{ 0, 1, 1, 3, 159, 46, },
-+	{ 2, 1, 1, 3, 159, 46, },
-+	{ 1, 1, 1, 3, 159, 63, },
-+	{ 0, 1, 1, 6, 38, 46, },
-+	{ 2, 1, 1, 6, 38, 46, },
-+	{ 1, 1, 1, 6, 38, 46, },
-+	{ 0, 1, 1, 6, 46, 46, },
-+	{ 2, 1, 1, 6, 46, 46, },
-+	{ 1, 1, 1, 6, 46, 46, },
-+	{ 0, 1, 1, 6, 54, 46, },
-+	{ 2, 1, 1, 6, 54, 46, },
-+	{ 1, 1, 1, 6, 54, 46, },
-+	{ 0, 1, 1, 6, 62, 46, },
-+	{ 2, 1, 1, 6, 62, 46, },
-+	{ 1, 1, 1, 6, 62, 46, },
-+	{ 0, 1, 1, 6, 102, 46, },
-+	{ 2, 1, 1, 6, 102, 46, },
-+	{ 1, 1, 1, 6, 102, 46, },
-+	{ 0, 1, 1, 6, 110, 46, },
-+	{ 2, 1, 1, 6, 110, 46, },
-+	{ 1, 1, 1, 6, 110, 46, },
-+	{ 0, 1, 1, 6, 118, 46, },
-+	{ 2, 1, 1, 6, 118, 46, },
-+	{ 1, 1, 1, 6, 118, 46, },
-+	{ 0, 1, 1, 6, 126, 46, },
-+	{ 2, 1, 1, 6, 126, 46, },
-+	{ 1, 1, 1, 6, 126, 46, },
-+	{ 0, 1, 1, 6, 134, 46, },
-+	{ 2, 1, 1, 6, 134, 46, },
-+	{ 1, 1, 1, 6, 134, 46, },
-+	{ 0, 1, 1, 6, 151, 46, },
-+	{ 2, 1, 1, 6, 151, 46, },
-+	{ 1, 1, 1, 6, 151, 63, },
-+	{ 0, 1, 1, 6, 159, 46, },
-+	{ 2, 1, 1, 6, 159, 46, },
-+	{ 1, 1, 1, 6, 159, 63, },
-+	{ 0, 1, 1, 7, 38, 46, },
-+	{ 2, 1, 1, 7, 38, 46, },
-+	{ 1, 1, 1, 7, 38, 46, },
-+	{ 0, 1, 1, 7, 46, 46, },
-+	{ 2, 1, 1, 7, 46, 46, },
-+	{ 1, 1, 1, 7, 46, 46, },
-+	{ 0, 1, 1, 7, 54, 46, },
-+	{ 2, 1, 1, 7, 54, 46, },
-+	{ 1, 1, 1, 7, 54, 46, },
-+	{ 0, 1, 1, 7, 62, 46, },
-+	{ 2, 1, 1, 7, 62, 46, },
-+	{ 1, 1, 1, 7, 62, 46, },
-+	{ 0, 1, 1, 7, 102, 46, },
-+	{ 2, 1, 1, 7, 102, 46, },
-+	{ 1, 1, 1, 7, 102, 46, },
-+	{ 0, 1, 1, 7, 110, 46, },
-+	{ 2, 1, 1, 7, 110, 46, },
-+	{ 1, 1, 1, 7, 110, 46, },
-+	{ 0, 1, 1, 7, 118, 46, },
-+	{ 2, 1, 1, 7, 118, 46, },
-+	{ 1, 1, 1, 7, 118, 46, },
-+	{ 0, 1, 1, 7, 126, 46, },
-+	{ 2, 1, 1, 7, 126, 46, },
-+	{ 1, 1, 1, 7, 126, 46, },
-+	{ 0, 1, 1, 7, 134, 46, },
-+	{ 2, 1, 1, 7, 134, 46, },
-+	{ 1, 1, 1, 7, 134, 46, },
-+	{ 0, 1, 1, 7, 151, 46, },
-+	{ 2, 1, 1, 7, 151, 46, },
-+	{ 1, 1, 1, 7, 151, 63, },
-+	{ 0, 1, 1, 7, 159, 46, },
-+	{ 2, 1, 1, 7, 159, 46, },
-+	{ 1, 1, 1, 7, 159, 63, },
-+	{ 0, 1, 2, 4, 42, 46, },
-+	{ 2, 1, 2, 4, 42, 46, },
-+	{ 1, 1, 2, 4, 42, 46, },
-+	{ 0, 1, 2, 4, 58, 46, },
-+	{ 2, 1, 2, 4, 58, 46, },
-+	{ 1, 1, 2, 4, 58, 46, },
-+	{ 0, 1, 2, 4, 106, 46, },
-+	{ 2, 1, 2, 4, 106, 46, },
-+	{ 1, 1, 2, 4, 106, 46, },
-+	{ 0, 1, 2, 4, 122, 46, },
-+	{ 2, 1, 2, 4, 122, 46, },
-+	{ 1, 1, 2, 4, 122, 46, },
-+	{ 0, 1, 2, 4, 155, 46, },
-+	{ 2, 1, 2, 4, 155, 46, },
-+	{ 1, 1, 2, 4, 155, 63, },
-+	{ 0, 1, 2, 5, 42, 46, },
-+	{ 2, 1, 2, 5, 42, 46, },
-+	{ 1, 1, 2, 5, 42, 46, },
-+	{ 0, 1, 2, 5, 58, 46, },
-+	{ 2, 1, 2, 5, 58, 46, },
-+	{ 1, 1, 2, 5, 58, 46, },
-+	{ 0, 1, 2, 5, 106, 46, },
-+	{ 2, 1, 2, 5, 106, 46, },
-+	{ 1, 1, 2, 5, 106, 46, },
-+	{ 0, 1, 2, 5, 122, 46, },
-+	{ 2, 1, 2, 5, 122, 46, },
-+	{ 1, 1, 2, 5, 122, 46, },
-+	{ 0, 1, 2, 5, 155, 46, },
-+	{ 2, 1, 2, 5, 155, 46, },
-+	{ 1, 1, 2, 5, 155, 63, },
-+	{ 0, 1, 2, 8, 42, 46, },
-+	{ 2, 1, 2, 8, 42, 46, },
-+	{ 1, 1, 2, 8, 42, 46, },
-+	{ 0, 1, 2, 8, 58, 46, },
-+	{ 2, 1, 2, 8, 58, 46, },
-+	{ 1, 1, 2, 8, 58, 46, },
-+	{ 0, 1, 2, 8, 106, 46, },
-+	{ 2, 1, 2, 8, 106, 46, },
-+	{ 1, 1, 2, 8, 106, 46, },
-+	{ 0, 1, 2, 8, 122, 46, },
-+	{ 2, 1, 2, 8, 122, 46, },
-+	{ 1, 1, 2, 8, 122, 46, },
-+	{ 0, 1, 2, 8, 155, 46, },
-+	{ 2, 1, 2, 8, 155, 46, },
-+	{ 1, 1, 2, 8, 155, 63, },
-+	{ 0, 1, 2, 9, 42, 46, },
-+	{ 2, 1, 2, 9, 42, 46, },
-+	{ 1, 1, 2, 9, 42, 46, },
-+	{ 0, 1, 2, 9, 58, 46, },
-+	{ 2, 1, 2, 9, 58, 46, },
-+	{ 1, 1, 2, 9, 58, 46, },
-+	{ 0, 1, 2, 9, 106, 46, },
-+	{ 2, 1, 2, 9, 106, 46, },
-+	{ 1, 1, 2, 9, 106, 46, },
-+	{ 0, 1, 2, 9, 122, 46, },
-+	{ 2, 1, 2, 9, 122, 46, },
-+	{ 1, 1, 2, 9, 122, 46, },
-+	{ 0, 1, 2, 9, 155, 46, },
-+	{ 2, 1, 2, 9, 155, 46, },
-+	{ 1, 1, 2, 9, 155, 63, },
-+};
-+
-+RTW_DECL_TABLE_TXPWR_LMT(rtw8814a_txpwr_lmt_type8);
-+
-+static const u8
-+rtw8814a_pwrtrk_5gd_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10, 11,
-+	 11, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19},
-+	{0, 1, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 10,
-+	 11, 12, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18},
-+	{0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 17, 18, 19},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5gd_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25, 25},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5gc_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 10,
-+	 11, 12, 13, 14, 15, 15, 15, 15, 16, 16, 17, 18},
-+	{0, 1, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10, 11,
-+	 12, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20},
-+	{0, 1, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 10, 11, 11,
-+	 12, 13, 13, 14, 14, 15, 16, 17, 18, 18, 19, 20, 20},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5gc_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-+	 16, 16, 17, 18, 19, 20, 21, 21, 22, 23, 24, 25, 25},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 17, 18, 19, 20, 21, 22, 23, 24, 24, 25, 25, 25},
-+	{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-+	 16, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 25},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5gb_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 13, 13, 14, 14, 15, 15, 16, 17, 17},
-+	{0, 1, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10, 11,
-+	 12, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20},
-+	{0, 1, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 10, 11, 11,
-+	 12, 13, 13, 14, 14, 15, 16, 17, 18, 18, 19, 20, 20},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5gb_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14,
-+	 15, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 23, 24},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 18, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-+	 16, 16, 17, 18, 19, 20, 20, 21, 22, 23, 24, 25, 25},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5ga_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
-+	 8, 9, 9, 10, 11, 11, 11, 11, 12, 12, 13, 13, 14},
-+	{0, 1, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 11,
-+	 12, 13, 14, 14, 15, 16, 16, 17, 18, 19, 19, 20, 21},
-+	{0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 17, 18, 19},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_5ga_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 12, 13,
-+	 14, 15, 16, 16, 17, 18, 19, 20, 21, 21, 22, 23, 24},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 25, 25, 25},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25},
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2gd_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7,
-+	 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2gd_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2gc_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7,
-+	 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2gc_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2gb_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7,
-+	 7, 8, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2gb_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2ga_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2ga_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
-+	 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_d_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7,
-+	 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_d_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_c_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6,
-+	 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_c_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_b_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6,
-+	 6, 6, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_b_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7,
-+	 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_a_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7,
-+	 7, 8, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_2g_cck_a_p[RTW_PWR_TRK_TBL_SZ] = {
-+	 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7,
-+	 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14
-+};
-+
-+const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_tbl = {
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5gd_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5gd_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5gd_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5gd_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5gd_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5gd_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5gc_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5gc_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5gc_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5gc_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5gc_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5gc_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5gb_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5gb_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5gb_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5gb_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5gb_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5gb_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5ga_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5ga_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5ga_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_5ga_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_5ga_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_5ga_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_2gd_n = rtw8814a_pwrtrk_2gd_n,
-+	.pwrtrk_2gd_p = rtw8814a_pwrtrk_2gd_p,
-+	.pwrtrk_2gc_n = rtw8814a_pwrtrk_2gc_n,
-+	.pwrtrk_2gc_p = rtw8814a_pwrtrk_2gc_p,
-+	.pwrtrk_2gb_n = rtw8814a_pwrtrk_2gb_n,
-+	.pwrtrk_2gb_p = rtw8814a_pwrtrk_2gb_p,
-+	.pwrtrk_2ga_n = rtw8814a_pwrtrk_2ga_n,
-+	.pwrtrk_2ga_p = rtw8814a_pwrtrk_2ga_p,
-+	.pwrtrk_2g_cckd_n = rtw8814a_pwrtrk_2g_cck_d_n,
-+	.pwrtrk_2g_cckd_p = rtw8814a_pwrtrk_2g_cck_d_p,
-+	.pwrtrk_2g_cckc_n = rtw8814a_pwrtrk_2g_cck_c_n,
-+	.pwrtrk_2g_cckc_p = rtw8814a_pwrtrk_2g_cck_c_p,
-+	.pwrtrk_2g_cckb_n = rtw8814a_pwrtrk_2g_cck_b_n,
-+	.pwrtrk_2g_cckb_p = rtw8814a_pwrtrk_2g_cck_b_p,
-+	.pwrtrk_2g_ccka_n = rtw8814a_pwrtrk_2g_cck_a_n,
-+	.pwrtrk_2g_ccka_p = rtw8814a_pwrtrk_2g_cck_a_p,
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5gd_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5gd_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5gc_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5gc_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5gb_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5gb_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5ga_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type0_5ga_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2gd_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2gd_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2gc_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2gc_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2gb_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2gb_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2ga_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2ga_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_d_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_d_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_c_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_c_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_b_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_b_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_a_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type0_2g_cck_a_p[RTW_PWR_TRK_TBL_SZ] = {
-+	 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type0_tbl = {
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5gd_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5gd_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5gd_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5gd_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5gd_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5gd_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5gc_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5gc_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5gc_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5gc_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5gc_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5gc_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5gb_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5gb_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5gb_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5gb_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5gb_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5gb_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5ga_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5ga_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5ga_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type0_5ga_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type0_5ga_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type0_5ga_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_2gd_n = rtw8814a_pwrtrk_type0_2gd_n,
-+	.pwrtrk_2gd_p = rtw8814a_pwrtrk_type0_2gd_p,
-+	.pwrtrk_2gc_n = rtw8814a_pwrtrk_type0_2gc_n,
-+	.pwrtrk_2gc_p = rtw8814a_pwrtrk_type0_2gc_p,
-+	.pwrtrk_2gb_n = rtw8814a_pwrtrk_type0_2gb_n,
-+	.pwrtrk_2gb_p = rtw8814a_pwrtrk_type0_2gb_p,
-+	.pwrtrk_2ga_n = rtw8814a_pwrtrk_type0_2ga_n,
-+	.pwrtrk_2ga_p = rtw8814a_pwrtrk_type0_2ga_p,
-+	.pwrtrk_2g_cckd_n = rtw8814a_pwrtrk_type0_2g_cck_d_n,
-+	.pwrtrk_2g_cckd_p = rtw8814a_pwrtrk_type0_2g_cck_d_p,
-+	.pwrtrk_2g_cckc_n = rtw8814a_pwrtrk_type0_2g_cck_c_n,
-+	.pwrtrk_2g_cckc_p = rtw8814a_pwrtrk_type0_2g_cck_c_p,
-+	.pwrtrk_2g_cckb_n = rtw8814a_pwrtrk_type0_2g_cck_b_n,
-+	.pwrtrk_2g_cckb_p = rtw8814a_pwrtrk_type0_2g_cck_b_p,
-+	.pwrtrk_2g_ccka_n = rtw8814a_pwrtrk_type0_2g_cck_a_n,
-+	.pwrtrk_2g_ccka_p = rtw8814a_pwrtrk_type0_2g_cck_a_p,
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5gd_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 11, 12, 12,
-+	 12, 13, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16},
-+	{0, 1, 2, 3, 4, 5, 5, 6, 6, 7, 8, 9, 9, 10, 10, 10, 10,
-+	 11, 11, 12, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 10, 11, 11, 11, 12,
-+	 12, 13, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5gd_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14,
-+	 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 22},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14,
-+	 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 22},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
-+	 17, 18, 19, 20, 21, 22, 23, 23, 23, 23, 23, 23, 23},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5gc_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 11, 12,
-+	 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12,
-+	 13, 13, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 9, 10, 11, 11,
-+	 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5gc_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14,
-+	 15, 16, 17, 18, 19, 20, 21, 21, 21, 21, 21, 21, 21},
-+	{0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14,
-+	 15, 16, 17, 18, 19, 20, 20, 20, 21, 21, 21, 21, 21},
-+	{0, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14,
-+	 15, 16, 17, 18, 19, 20, 21, 21, 21, 21, 21, 21, 21},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5gb_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 11, 12, 13,
-+	 13, 13, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12,
-+	 13, 13, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 9, 10, 11, 11,
-+	 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5gb_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 15,
-+	 16, 17, 18, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21},
-+	{0, 0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 10, 11, 12, 13,
-+	 14, 15, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 20},
-+	{0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14,
-+	 15, 16, 17, 18, 19, 20, 21, 21, 21, 21, 21, 21, 21},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5ga_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 5, 5, 6, 7, 7, 8, 9, 10, 10, 11, 11, 11,
-+	 12, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 8, 9, 10, 10, 11, 12, 12,
-+	 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11, 11, 12,
-+	 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type2_5ga_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14,
-+	 15, 15, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 20},
-+	{0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14,
-+	 15, 16, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 20},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 15,
-+	 15, 16, 17, 18, 19, 19, 20, 20, 20, 20, 20, 20, 20},
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2gd_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5,
-+	 6, 6, 7, 8, 9, 10, 11, 11, 11, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2gd_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2gc_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 6, 6, 7, 7, 8, 8, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2gc_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 3, 3, 4, 4, 4, 5, 5, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2gb_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8,
-+	 9, 9, 10, 10, 11, 11, 12, 12, 12, 13, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2gb_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2ga_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 9,
-+	 10, 11, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2ga_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 3, 3, 4, 4, 4, 5, 6, 6, 7, 7, 8, 8, 9, 10,
-+	 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_d_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 8,
-+	 9, 9, 9, 9, 9, 9, 10, 10, 11, 11, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_d_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 10, 11, 12, 12, 13, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_c_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 2, 2, 3, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9, 9, 10,
-+	 10, 11, 11, 11, 12, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_c_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_b_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 10,
-+	 10, 10, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_b_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_a_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 6, 7, 8, 9, 9, 9, 9,
-+	 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type2_2g_cck_a_p[RTW_PWR_TRK_TBL_SZ] = {
-+	 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type2_tbl = {
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5gd_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5gd_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5gd_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5gd_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5gd_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5gd_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5gc_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5gc_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5gc_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5gc_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5gc_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5gc_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5gb_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5gb_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5gb_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5gb_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5gb_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5gb_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5ga_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5ga_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5ga_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type2_5ga_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type2_5ga_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type2_5ga_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_2gd_n = rtw8814a_pwrtrk_type2_2gd_n,
-+	.pwrtrk_2gd_p = rtw8814a_pwrtrk_type2_2gd_p,
-+	.pwrtrk_2gc_n = rtw8814a_pwrtrk_type2_2gc_n,
-+	.pwrtrk_2gc_p = rtw8814a_pwrtrk_type2_2gc_p,
-+	.pwrtrk_2gb_n = rtw8814a_pwrtrk_type2_2gb_n,
-+	.pwrtrk_2gb_p = rtw8814a_pwrtrk_type2_2gb_p,
-+	.pwrtrk_2ga_n = rtw8814a_pwrtrk_type2_2ga_n,
-+	.pwrtrk_2ga_p = rtw8814a_pwrtrk_type2_2ga_p,
-+	.pwrtrk_2g_cckd_n = rtw8814a_pwrtrk_type2_2g_cck_d_n,
-+	.pwrtrk_2g_cckd_p = rtw8814a_pwrtrk_type2_2g_cck_d_p,
-+	.pwrtrk_2g_cckc_n = rtw8814a_pwrtrk_type2_2g_cck_c_n,
-+	.pwrtrk_2g_cckc_p = rtw8814a_pwrtrk_type2_2g_cck_c_p,
-+	.pwrtrk_2g_cckb_n = rtw8814a_pwrtrk_type2_2g_cck_b_n,
-+	.pwrtrk_2g_cckb_p = rtw8814a_pwrtrk_type2_2g_cck_b_p,
-+	.pwrtrk_2g_ccka_n = rtw8814a_pwrtrk_type2_2g_cck_a_n,
-+	.pwrtrk_2g_ccka_p = rtw8814a_pwrtrk_type2_2g_cck_a_p,
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5gd_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 3, 3, 3, 4, 6, 6, 7, 7, 8, 9, 10, 11, 12, 13, 13, 14,
-+	 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 4, 5, 6, 7, 7, 8, 7, 8, 10, 11, 12, 12, 13, 13, 14, 14,
-+	 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 5, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 13, 14, 15, 15, 16,
-+	 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5gd_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 9, 10, 10, 11, 12,
-+	 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 11, 12,
-+	 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 0, 1, 1, 2, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 13,
-+	 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5gc_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 2, 3, 3, 4, 6, 7, 7, 8, 9, 9, 9, 10, 10, 10,
-+	 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 1, 2, 3, 3, 7, 7, 8, 8, 9, 11, 12, 12, 13, 14, 14, 15,
-+	 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 0, 1, 2, 3, 4, 5, 7, 8, 8, 10, 11, 12, 12, 13, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5gc_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 9, 11, 11,
-+	 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13},
-+	{0, 0, 1, 2, 3, 3, 5, 5, 6, 8, 8, 9, 10, 11, 13, 13, 13,
-+	 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 2, 3, 4, 4, 5, 7, 8, 9, 9, 10, 11, 12, 12, 12,
-+	 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5gb_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 2, 2, 2, 3, 4, 5, 6, 7, 9, 10, 10, 10, 10, 10,
-+	 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 1, 2, 3, 3, 7, 7, 8, 8, 9, 11, 12, 12, 13, 14, 14, 15,
-+	 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 0, 1, 2, 3, 4, 5, 7, 8, 8, 10, 11, 12, 12, 13, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5gb_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 1, 2, 2, 4, 5, 6, 6, 7, 8, 9, 10, 11, 11, 11,
-+	 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 0, 2, 3, 4, 5, 6, 8, 8, 9, 9, 11, 12, 13, 13, 13,
-+	 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 0, 1, 2, 3, 3, 4, 6, 7, 8, 9, 10, 11, 12, 12, 12,
-+	 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5ga_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 0, 1, 2, 3, 3, 3, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12},
-+	{0, 2, 3, 4, 5, 7, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 17,
-+	 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18},
-+	{0, 1, 2, 3, 3, 4, 6, 7, 8, 8, 10, 11, 11, 12, 13, 13, 13,
-+	 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type5_5ga_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 1, 3, 3, 3, 5, 5, 6, 6, 8, 8, 9, 10, 11, 11, 11,
-+	 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 11, 12, 13, 14, 15,
-+	 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 0, 1, 3, 3, 4, 5, 5, 6, 7, 7, 8, 10, 10, 11, 11, 11,
-+	 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13},
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2gd_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 7, 7, 8, 9, 9, 9,
-+	 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2gd_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 2, 3, 4, 4, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2gc_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10, 10,
-+	 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2gc_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 8, 8, 9, 9, 9,
-+	 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2gb_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 10, 10, 10,
-+	 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2gb_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 8, 9, 9, 9, 9,
-+	 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2ga_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 10, 10,
-+	 10, 11, 11, 11, 11, 111, 12, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2ga_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 9,
-+	 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_d_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9,
-+	 10, 10, 10, 10, 10, 11, 11, 10, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_d_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8,
-+	 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_c_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 8, 8, 9, 10, 10, 10,
-+	 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_c_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8,
-+	 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_b_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 2, 3, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 9, 10, 10, 10,
-+	 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_b_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8,
-+	 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_a_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 9, 9, 10,
-+	 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type5_2g_cck_a_p[RTW_PWR_TRK_TBL_SZ] = {
-+	 0, 1, 1, 2, 2, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 9,
-+	 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
-+};
-+
-+const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type5_tbl = {
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5gd_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5gd_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5gd_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5gd_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5gd_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5gd_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5gc_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5gc_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5gc_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5gc_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5gc_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5gc_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5gb_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5gb_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5gb_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5gb_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5gb_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5gb_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5ga_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5ga_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5ga_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type5_5ga_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type5_5ga_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type5_5ga_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_2gd_n = rtw8814a_pwrtrk_type5_2gd_n,
-+	.pwrtrk_2gd_p = rtw8814a_pwrtrk_type5_2gd_p,
-+	.pwrtrk_2gc_n = rtw8814a_pwrtrk_type5_2gc_n,
-+	.pwrtrk_2gc_p = rtw8814a_pwrtrk_type5_2gc_p,
-+	.pwrtrk_2gb_n = rtw8814a_pwrtrk_type5_2gb_n,
-+	.pwrtrk_2gb_p = rtw8814a_pwrtrk_type5_2gb_p,
-+	.pwrtrk_2ga_n = rtw8814a_pwrtrk_type5_2ga_n,
-+	.pwrtrk_2ga_p = rtw8814a_pwrtrk_type5_2ga_p,
-+	.pwrtrk_2g_cckd_n = rtw8814a_pwrtrk_type5_2g_cck_d_n,
-+	.pwrtrk_2g_cckd_p = rtw8814a_pwrtrk_type5_2g_cck_d_p,
-+	.pwrtrk_2g_cckc_n = rtw8814a_pwrtrk_type5_2g_cck_c_n,
-+	.pwrtrk_2g_cckc_p = rtw8814a_pwrtrk_type5_2g_cck_c_p,
-+	.pwrtrk_2g_cckb_n = rtw8814a_pwrtrk_type5_2g_cck_b_n,
-+	.pwrtrk_2g_cckb_p = rtw8814a_pwrtrk_type5_2g_cck_b_p,
-+	.pwrtrk_2g_ccka_n = rtw8814a_pwrtrk_type5_2g_cck_a_n,
-+	.pwrtrk_2g_ccka_p = rtw8814a_pwrtrk_type5_2g_cck_a_p,
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5gd_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5gd_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5gc_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5gc_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5gb_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5gb_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5ga_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+	{0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
-+	 8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type7_5ga_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2gd_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2gd_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2gc_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2gc_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2gb_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2gb_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2ga_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2ga_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_d_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_d_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_c_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_c_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_b_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_b_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_a_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 7, 7,
-+	 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type7_2g_cck_a_p[RTW_PWR_TRK_TBL_SZ] = {
-+	 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
-+	 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
-+};
-+
-+const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type7_tbl = {
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5gd_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5gd_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5gd_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5gd_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5gd_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5gd_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5gc_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5gc_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5gc_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5gc_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5gc_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5gc_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5gb_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5gb_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5gb_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5gb_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5gb_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5gb_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5ga_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5ga_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5ga_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type7_5ga_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type7_5ga_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type7_5ga_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_2gd_n = rtw8814a_pwrtrk_type7_2gd_n,
-+	.pwrtrk_2gd_p = rtw8814a_pwrtrk_type7_2gd_p,
-+	.pwrtrk_2gc_n = rtw8814a_pwrtrk_type7_2gc_n,
-+	.pwrtrk_2gc_p = rtw8814a_pwrtrk_type7_2gc_p,
-+	.pwrtrk_2gb_n = rtw8814a_pwrtrk_type7_2gb_n,
-+	.pwrtrk_2gb_p = rtw8814a_pwrtrk_type7_2gb_p,
-+	.pwrtrk_2ga_n = rtw8814a_pwrtrk_type7_2ga_n,
-+	.pwrtrk_2ga_p = rtw8814a_pwrtrk_type7_2ga_p,
-+	.pwrtrk_2g_cckd_n = rtw8814a_pwrtrk_type7_2g_cck_d_n,
-+	.pwrtrk_2g_cckd_p = rtw8814a_pwrtrk_type7_2g_cck_d_p,
-+	.pwrtrk_2g_cckc_n = rtw8814a_pwrtrk_type7_2g_cck_c_n,
-+	.pwrtrk_2g_cckc_p = rtw8814a_pwrtrk_type7_2g_cck_c_p,
-+	.pwrtrk_2g_cckb_n = rtw8814a_pwrtrk_type7_2g_cck_b_n,
-+	.pwrtrk_2g_cckb_p = rtw8814a_pwrtrk_type7_2g_cck_b_p,
-+	.pwrtrk_2g_ccka_n = rtw8814a_pwrtrk_type7_2g_cck_a_n,
-+	.pwrtrk_2g_ccka_p = rtw8814a_pwrtrk_type7_2g_cck_a_p,
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5gd_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 4, 6, 7, 7, 8, 8, 9, 10, 10, 11, 11, 12,
-+	 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 1, 2, 3, 4, 4, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 12,
-+	 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10,
-+	 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5gd_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 14,
-+	 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 0, 1, 2, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5gc_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 12,
-+	 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11,
-+	 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 10, 10, 11, 11,
-+	 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5gc_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 3, 4, 4, 5, 6, 7, 7, 8, 10, 11, 12, 13, 14,
-+	 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
-+	{0, 0, 1, 2, 4, 5, 5, 6, 6, 7, 7, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5gb_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11,
-+	 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11,
-+	 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 10, 10, 11, 11,
-+	 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5gb_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 10, 11, 11, 13, 13,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 10, 10, 11, 13, 13,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5ga_n[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 9, 10, 11, 11,
-+	 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
-+	{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 10, 10, 11, 11,
-+	 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+	{0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 10, 11, 12,
-+	 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
-+};
-+
-+static const u8
-+rtw8814a_pwrtrk_type8_5ga_p[RTW_PWR_TRK_5G_NUM][RTW_PWR_TRK_TBL_SZ] = {
-+	{0, 0, 1, 2, 3, 3, 4, 5, 6, 7, 7, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+	{0, 0, 1, 2, 3, 3, 4, 4, 6, 7, 7, 9, 10, 11, 12, 13, 14,
-+	 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2gd_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5,
-+	 6, 6, 7, 8, 9, 10, 11, 11, 11, 11, 11, 11, 11
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2gd_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2gc_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 6, 6, 7, 7, 8, 8, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2gc_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 3, 3, 4, 4, 4, 5, 5, 6, 7, 8, 8, 9, 10, 10,
-+	 11, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2gb_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8,
-+	 9, 9, 10, 10, 11, 11, 12, 12, 12, 13, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2gb_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2ga_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 9,
-+	 10, 11, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2ga_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 3, 3, 4, 4, 4, 5, 6, 6, 7, 7, 8, 8, 9, 10,
-+	 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_d_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 8,
-+	 9, 9, 9, 9, 9, 9, 10, 10, 11, 11, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_d_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10,
-+	 10, 11, 12, 12, 13, 14, 14, 14, 14, 14, 14, 14
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_c_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 2, 2, 3, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9, 9, 10,
-+	 10, 11, 11, 11, 12, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_c_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_b_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 10,
-+	 10, 10, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_b_p[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, 10,
-+	 10, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_a_n[RTW_PWR_TRK_TBL_SZ] = {
-+	0, 1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 6, 7, 8, 9, 9, 9, 9,
-+	 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12
-+};
-+
-+static const u8 rtw8814a_pwrtrk_type8_2g_cck_a_p[RTW_PWR_TRK_TBL_SZ] = {
-+	 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 10,
-+	 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13
-+};
-+
-+const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type8_tbl = {
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5gd_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5gd_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5gd_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5gd_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5gd_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gd_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5gd_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5gc_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5gc_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5gc_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5gc_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5gc_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gc_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5gc_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5gb_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5gb_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5gb_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5gb_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5gb_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5gb_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5gb_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5ga_n[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5ga_n[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_n[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5ga_n[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_1] = rtw8814a_pwrtrk_type8_5ga_p[RTW_PWR_TRK_5G_1],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_2] = rtw8814a_pwrtrk_type8_5ga_p[RTW_PWR_TRK_5G_2],
-+	.pwrtrk_5ga_p[RTW_PWR_TRK_5G_3] = rtw8814a_pwrtrk_type8_5ga_p[RTW_PWR_TRK_5G_3],
-+	.pwrtrk_2gd_n = rtw8814a_pwrtrk_type8_2gd_n,
-+	.pwrtrk_2gd_p = rtw8814a_pwrtrk_type8_2gd_p,
-+	.pwrtrk_2gc_n = rtw8814a_pwrtrk_type8_2gc_n,
-+	.pwrtrk_2gc_p = rtw8814a_pwrtrk_type8_2gc_p,
-+	.pwrtrk_2gb_n = rtw8814a_pwrtrk_type8_2gb_n,
-+	.pwrtrk_2gb_p = rtw8814a_pwrtrk_type8_2gb_p,
-+	.pwrtrk_2ga_n = rtw8814a_pwrtrk_type8_2ga_n,
-+	.pwrtrk_2ga_p = rtw8814a_pwrtrk_type8_2ga_p,
-+	.pwrtrk_2g_cckd_n = rtw8814a_pwrtrk_type8_2g_cck_d_n,
-+	.pwrtrk_2g_cckd_p = rtw8814a_pwrtrk_type8_2g_cck_d_p,
-+	.pwrtrk_2g_cckc_n = rtw8814a_pwrtrk_type8_2g_cck_c_n,
-+	.pwrtrk_2g_cckc_p = rtw8814a_pwrtrk_type8_2g_cck_c_p,
-+	.pwrtrk_2g_cckb_n = rtw8814a_pwrtrk_type8_2g_cck_b_n,
-+	.pwrtrk_2g_cckb_p = rtw8814a_pwrtrk_type8_2g_cck_b_p,
-+	.pwrtrk_2g_ccka_n = rtw8814a_pwrtrk_type8_2g_cck_a_n,
-+	.pwrtrk_2g_ccka_p = rtw8814a_pwrtrk_type8_2g_cck_a_p,
-+};
-+
-+static const struct rtw_pwr_seq_cmd init_power_on_8814a[] = {
-+	{0x10c2,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
-+	{0xFFFF,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 0,
-+	 RTW_PWR_CMD_END, 0, 0},
-+};
-+
-+static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8814a[] = {
-+	{0x0012,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(6), BIT(6)},
-+	{0x0015,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(5), 0},
-+	{0x0015,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(6), 0},
-+	{0x0023,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(4), 0},
-+	{0x0046,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x00},
-+	{0x0062,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x00},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_PCI_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(2), 0},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(3), 0},
-+	{0x0301,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_PCI_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0},
-+	{0x0071,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_PCI_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(2), 0},
-+	{0xFFFF,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 0,
-+	 RTW_PWR_CMD_END, 0, 0},
-+};
-+
-+static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8814a[] = {
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(2), 0},
-+	{0x0006,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_POLLING, BIT(1), BIT(1)},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(3), 0},
-+	{0x00F0,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(7), 0},
-+	{0x0081,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0x30, 0x20},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_POLLING, BIT(0), 0},
-+	{0xFFFF,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 0,
-+	 RTW_PWR_CMD_END, 0, 0},
-+};
-+
-+static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8814a[] = {
-+	{0x0c00,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x04},
-+	{0x0e00,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x04},
-+	{0x1002,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(0), 0},
-+	{0x0002,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_DELAY, 1, RTW_PWR_DELAY_US},
-+	{0x1002,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_PCI_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x001F,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0},
-+	{0x0007,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x28},
-+	{0x0008,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0x02, 0},
-+	{0x0066,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(7), 0},
-+	{0x0041,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(4), 0},
-+	{0x0042,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x004e,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(5), BIT(5)},
-+	{0x0041,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_USB_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(0), 0},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_POLLING, BIT(1), 0},
-+	{0xFFFF,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 0,
-+	 RTW_PWR_CMD_END, 0, 0},
-+};
-+
-+static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8814a[] = {
-+	{0x0003,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(2), 0},
-+	{0x0080,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x01},
-+	{0x0081,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x30},
-+	{0x0045,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x00},
-+	{0x0046,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0xff},
-+	{0x0047,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0},
-+	{0x0015,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(6), BIT(6)},
-+	{0x0015,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(5), BIT(5)},
-+	{0x0012,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(6), 0},
-+	{0x0023,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(4), BIT(4)},
-+	{0x0008,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x0007,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xFF, 0x20},
-+	{0x001f,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x0020,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x0021,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x0076,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(1), 0},
-+	{0x0091,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, 0xA0, 0xA0},
-+	{0x0070,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(3), BIT(3)},
-+	{0x0005,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 RTW_PWR_ADDR_MAC,
-+	 RTW_PWR_CMD_WRITE, BIT(3), BIT(3)},
-+	{0xFFFF,
-+	 RTW_PWR_CUT_ALL_MSK,
-+	 RTW_PWR_INTF_ALL_MSK,
-+	 0,
-+	 RTW_PWR_CMD_END, 0, 0},
-+};
-+
-+const struct rtw_pwr_seq_cmd * const card_enable_flow_8814a[] = {
-+	init_power_on_8814a,
-+	trans_carddis_to_cardemu_8814a,
-+	trans_cardemu_to_act_8814a,
-+	NULL
-+};
-+
-+const struct rtw_pwr_seq_cmd * const card_disable_flow_8814a[] = {
-+	trans_act_to_cardemu_8814a,
-+	trans_cardemu_to_carddis_8814a,
-+	NULL
-+};
---- /dev/null
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a_table.h
-@@ -0,0 +1,40 @@
-+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-+/* Copyright(c) 2025  Realtek Corporation
-+ */
-+
-+#ifndef __RTW8814A_TABLE_H__
-+#define __RTW8814A_TABLE_H__
-+
-+extern const struct rtw_table rtw8814a_mac_tbl;
-+extern const struct rtw_table rtw8814a_agc_tbl;
-+extern const struct rtw_table rtw8814a_bb_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type0_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type2_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type3_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type4_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type5_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type7_tbl;
-+extern const struct rtw_table rtw8814a_bb_pg_type8_tbl;
-+extern const struct rtw_table rtw8814a_rf_a_tbl;
-+extern const struct rtw_table rtw8814a_rf_b_tbl;
-+extern const struct rtw_table rtw8814a_rf_c_tbl;
-+extern const struct rtw_table rtw8814a_rf_d_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type0_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type1_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type2_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type3_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type5_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type7_tbl;
-+extern const struct rtw_table rtw8814a_txpwr_lmt_type8_tbl;
-+extern const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_tbl;
-+extern const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type0_tbl;
-+extern const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type2_tbl;
-+extern const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type5_tbl;
-+extern const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type7_tbl;
-+extern const struct rtw_pwr_track_tbl rtw8814a_rtw_pwrtrk_type8_tbl;
-+extern const struct rtw_pwr_seq_cmd * const card_disable_flow_8814a[];
-+extern const struct rtw_pwr_seq_cmd * const card_enable_flow_8814a[];
-+
-+#endif

+ 0 - 2343
package/kernel/mac80211/patches/rtl/088-v6.15-wifi-rtw88-Add-rtw8814a.-c-h.patch

@@ -1,2343 +0,0 @@
-From 1a75457846424b77978d0ba1feb836913ed60637 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:24:40 +0200
-Subject: [PATCH] wifi: rtw88: Add rtw8814a.{c,h}
-
-These contain all the logic for the RTL8814A chip.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8814a.c | 2257 +++++++++++++++++
- drivers/net/wireless/realtek/rtw88/rtw8814a.h |   62 +
- 2 files changed, 2319 insertions(+)
- create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8814a.c
- create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8814a.h
-
---- /dev/null
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.c
-@@ -0,0 +1,2257 @@
-+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
-+/* Copyright(c) 2025  Realtek Corporation
-+ */
-+
-+#include <linux/usb.h>
-+#include "main.h"
-+#include "coex.h"
-+#include "tx.h"
-+#include "phy.h"
-+#include "rtw8814a.h"
-+#include "rtw8814a_table.h"
-+#include "rtw88xxa.h"
-+#include "reg.h"
-+#include "debug.h"
-+#include "efuse.h"
-+#include "regd.h"
-+#include "usb.h"
-+
-+static void rtw8814a_efuse_grant(struct rtw_dev *rtwdev, bool on)
-+{
-+	if (on) {
-+		rtw_write8(rtwdev, REG_EFUSE_ACCESS, EFUSE_ACCESS_ON);
-+
-+		rtw_write16_set(rtwdev, REG_SYS_FUNC_EN, BIT_FEN_ELDR);
-+		rtw_write16_set(rtwdev, REG_SYS_CLKR,
-+				BIT_LOADER_CLK_EN | BIT_ANA8M);
-+	} else {
-+		rtw_write8(rtwdev, REG_EFUSE_ACCESS, EFUSE_ACCESS_OFF);
-+	}
-+}
-+
-+static void rtw8814a_read_rfe_type(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_efuse *efuse = &rtwdev->efuse;
-+
-+	if (!(efuse->rfe_option & BIT(7)))
-+		return;
-+
-+	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE)
-+		efuse->rfe_option = 0;
-+	else if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB)
-+		efuse->rfe_option = 1;
-+}
-+
-+static void rtw8814a_read_amplifier_type(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_efuse *efuse = &rtwdev->efuse;
-+
-+	switch (efuse->rfe_option) {
-+	case 1:
-+		/* Internal 2G */
-+		efuse->pa_type_2g = 0;
-+		efuse->lna_type_2g = 0;
-+		/* External 5G */
-+		efuse->pa_type_5g = BIT(0);
-+		efuse->lna_type_5g = BIT(3);
-+		break;
-+	case 2 ... 5:
-+		/* External everything */
-+		efuse->pa_type_2g = BIT(4);
-+		efuse->lna_type_2g = BIT(3);
-+		efuse->pa_type_5g = BIT(0);
-+		efuse->lna_type_5g = BIT(3);
-+		break;
-+	case 6:
-+		efuse->lna_type_5g = BIT(3);
-+		break;
-+	default:
-+		break;
-+	}
-+}
-+
-+static void rtw8814a_read_rf_type(struct rtw_dev *rtwdev,
-+				  struct rtw8814a_efuse *map)
-+{
-+	struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
-+	struct rtw_hal *hal = &rtwdev->hal;
-+
-+	switch (map->trx_antenna_option) {
-+	case 0xff: /* 4T4R */
-+	case 0xee: /* 3T3R */
-+		if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB &&
-+		    rtwusb->udev->speed != USB_SPEED_SUPER)
-+			hal->rf_type = RF_2T2R;
-+		else
-+			hal->rf_type = RF_3T3R;
-+
-+		break;
-+	case 0x66: /* 2T2R */
-+	case 0x6f: /* 2T4R */
-+	default:
-+		hal->rf_type = RF_2T2R;
-+		break;
-+	}
-+
-+	hal->rf_path_num = 4;
-+	hal->rf_phy_num = 4;
-+
-+	if (hal->rf_type == RF_3T3R) {
-+		hal->antenna_rx = BB_PATH_ABC;
-+		hal->antenna_tx = BB_PATH_ABC;
-+	} else {
-+		hal->antenna_rx = BB_PATH_AB;
-+		hal->antenna_tx = BB_PATH_AB;
-+	}
-+}
-+
-+static void rtw8814a_init_hwcap(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_efuse *efuse = &rtwdev->efuse;
-+	struct rtw_hal *hal = &rtwdev->hal;
-+
-+	efuse->hw_cap.bw = BIT(RTW_CHANNEL_WIDTH_20) |
-+			   BIT(RTW_CHANNEL_WIDTH_40) |
-+			   BIT(RTW_CHANNEL_WIDTH_80);
-+	efuse->hw_cap.ptcl = EFUSE_HW_CAP_PTCL_VHT;
-+
-+	if (hal->rf_type == RF_3T3R)
-+		efuse->hw_cap.nss = 3;
-+	else
-+		efuse->hw_cap.nss = 2;
-+
-+	rtw_dbg(rtwdev, RTW_DBG_EFUSE,
-+		"hw cap: hci=0x%02x, bw=0x%02x, ptcl=0x%02x, ant_num=%d, nss=%d\n",
-+		efuse->hw_cap.hci, efuse->hw_cap.bw, efuse->hw_cap.ptcl,
-+		efuse->hw_cap.ant_num, efuse->hw_cap.nss);
-+}
-+
-+static int rtw8814a_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
-+{
-+	struct rtw_efuse *efuse = &rtwdev->efuse;
-+	struct rtw8814a_efuse *map;
-+	int i;
-+
-+	if (rtw_dbg_is_enabled(rtwdev, RTW_DBG_EFUSE))
-+		print_hex_dump(KERN_INFO, "", DUMP_PREFIX_OFFSET, 16, 1,
-+			       log_map, rtwdev->chip->log_efuse_size, true);
-+
-+	map = (struct rtw8814a_efuse *)log_map;
-+
-+	efuse->usb_mode_switch = u8_get_bits(map->usb_mode, BIT(4));
-+	efuse->rfe_option = map->rfe_option;
-+	efuse->rf_board_option = map->rf_board_option;
-+	efuse->crystal_cap = map->xtal_k;
-+	efuse->channel_plan = map->channel_plan;
-+	efuse->country_code[0] = map->country_code[0];
-+	efuse->country_code[1] = map->country_code[1];
-+	efuse->bt_setting = map->rf_bt_setting;
-+	efuse->regd = map->rf_board_option & 0x7;
-+	efuse->thermal_meter[RF_PATH_A] = map->thermal_meter;
-+	efuse->thermal_meter_k = map->thermal_meter;
-+	efuse->tx_bb_swing_setting_2g = map->tx_bb_swing_setting_2g;
-+	efuse->tx_bb_swing_setting_5g = map->tx_bb_swing_setting_5g;
-+
-+	rtw8814a_read_rfe_type(rtwdev);
-+	rtw8814a_read_amplifier_type(rtwdev);
-+
-+	/* Override rtw_chip_parameter_setup() */
-+	rtw8814a_read_rf_type(rtwdev, map);
-+
-+	rtw8814a_init_hwcap(rtwdev);
-+
-+	for (i = 0; i < 4; i++)
-+		efuse->txpwr_idx_table[i] = map->txpwr_idx_table[i];
-+
-+	switch (rtw_hci_type(rtwdev)) {
-+	case RTW_HCI_TYPE_USB:
-+		ether_addr_copy(efuse->addr, map->u.mac_addr);
-+		break;
-+	case RTW_HCI_TYPE_PCIE:
-+		ether_addr_copy(efuse->addr, map->e.mac_addr);
-+		break;
-+	case RTW_HCI_TYPE_SDIO:
-+	default:
-+		/* unsupported now */
-+		return -EOPNOTSUPP;
-+	}
-+
-+	return 0;
-+}
-+
-+static void rtw8814a_init_rfe_reg(struct rtw_dev *rtwdev)
-+{
-+	u8 rfe_option = rtwdev->efuse.rfe_option;
-+
-+	if (rfe_option == 2 || rfe_option == 1) {
-+		rtw_write32_mask(rtwdev, 0x1994, 0xf, 0xf);
-+		rtw_write8_set(rtwdev, REG_GPIO_MUXCFG + 2, 0xf0);
-+	} else if (rfe_option == 0) {
-+		rtw_write32_mask(rtwdev, 0x1994, 0xf, 0xf);
-+		rtw_write8_set(rtwdev, REG_GPIO_MUXCFG + 2, 0xc0);
-+	}
-+}
-+
-+#define RTW_TXSCALE_SIZE 37
-+static const u32 rtw8814a_txscale_tbl[RTW_TXSCALE_SIZE] = {
-+	0x081, 0x088, 0x090, 0x099, 0x0a2, 0x0ac, 0x0b6, 0x0c0, 0x0cc, 0x0d8,
-+	0x0e5, 0x0f2, 0x101, 0x110, 0x120, 0x131, 0x143, 0x156, 0x16a, 0x180,
-+	0x197, 0x1af, 0x1c8, 0x1e3, 0x200, 0x21e, 0x23e, 0x261, 0x285, 0x2ab,
-+	0x2d3, 0x2fe, 0x32b, 0x35c, 0x38e, 0x3c4, 0x3fe
-+};
-+
-+static u32 rtw8814a_get_bb_swing(struct rtw_dev *rtwdev, u8 band, u8 rf_path)
-+{
-+	static const u32 swing2setting[4] = {0x200, 0x16a, 0x101, 0x0b6};
-+	struct rtw_efuse *efuse = &rtwdev->efuse;
-+	u8 tx_bb_swing;
-+
-+	if (band == RTW_BAND_2G)
-+		tx_bb_swing = efuse->tx_bb_swing_setting_2g;
-+	else
-+		tx_bb_swing = efuse->tx_bb_swing_setting_5g;
-+
-+	tx_bb_swing >>= 2 * rf_path;
-+	tx_bb_swing &= 0x3;
-+
-+	return swing2setting[tx_bb_swing];
-+}
-+
-+static u8 rtw8814a_get_swing_index(struct rtw_dev *rtwdev)
-+{
-+	u32 swing, table_value;
-+	u8 i;
-+
-+	swing = rtw8814a_get_bb_swing(rtwdev, rtwdev->hal.current_band_type,
-+				      RF_PATH_A);
-+
-+	for (i = 0; i < ARRAY_SIZE(rtw8814a_txscale_tbl); i++) {
-+		table_value = rtw8814a_txscale_tbl[i];
-+		if (swing == table_value)
-+			return i;
-+	}
-+
-+	return 24;
-+}
-+
-+static void rtw8814a_pwrtrack_init(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+	u8 path;
-+
-+	dm_info->default_ofdm_index = rtw8814a_get_swing_index(rtwdev);
-+
-+	for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
-+		ewma_thermal_init(&dm_info->avg_thermal[path]);
-+		dm_info->delta_power_index[path] = 0;
-+		dm_info->delta_power_index_last[path] = 0;
-+	}
-+	dm_info->pwr_trk_triggered = false;
-+	dm_info->pwr_trk_init_trigger = true;
-+	dm_info->thermal_meter_k = rtwdev->efuse.thermal_meter_k;
-+}
-+
-+static void rtw8814a_config_trx_path(struct rtw_dev *rtwdev)
-+{
-+	/* RX CCK disable 2R CCA */
-+	rtw_write32_clr(rtwdev, REG_CCK0_FAREPORT,
-+			BIT_CCK0_2RX | BIT_CCK0_MRC);
-+	/* pathB tx on, path A/C/D tx off */
-+	rtw_write32_mask(rtwdev, REG_CCK_RX, 0xf0000000, 0x4);
-+	/* pathB rx */
-+	rtw_write32_mask(rtwdev, REG_CCK_RX, 0x0f000000, 0x5);
-+}
-+
-+static void rtw8814a_config_cck_rx_antenna_init(struct rtw_dev *rtwdev)
-+{
-+	/* CCK 2R CCA parameters */
-+
-+	/* Disable Ant diversity */
-+	rtw_write32_mask(rtwdev, REG_RXSB, BIT_RXSB_ANA_DIV, 0x0);
-+	/* Concurrent CCA at LSB & USB */
-+	rtw_write32_mask(rtwdev, REG_CCA, BIT_CCA_CO, 0);
-+	/* RX path diversity enable */
-+	rtw_write32_mask(rtwdev, REG_ANTSEL, BIT_ANT_BYCO, 0);
-+	/* r_en_mrc_antsel */
-+	rtw_write32_mask(rtwdev, REG_PRECTRL, BIT_DIS_CO_PATHSEL, 0);
-+	/* MBC weighting */
-+	rtw_write32_mask(rtwdev, REG_CCA_MF, BIT_MBC_WIN, 1);
-+	/* 2R CCA only */
-+	rtw_write32_mask(rtwdev, REG_CCKTX, BIT_CMB_CCA_2R, 1);
-+}
-+
-+static void rtw8814a_phy_set_param(struct rtw_dev *rtwdev)
-+{
-+	u32 crystal_cap, val32;
-+	u8 val8, rf_path;
-+
-+	/* power on BB/RF domain */
-+	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB)
-+		rtw_write8_set(rtwdev, REG_SYS_FUNC_EN, BIT_FEN_USBA);
-+	else if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE)
-+		rtw_write8_set(rtwdev, REG_SYS_FUNC_EN, BIT_FEN_PCIEA);
-+
-+	rtw_write8_set(rtwdev, REG_SYS_CFG3_8814A + 2,
-+		       BIT_FEN_BB_GLB_RST | BIT_FEN_BB_RSTB);
-+
-+	/* Power on RF paths A..D */
-+	val8 = BIT_RF_EN | BIT_RF_RSTB | BIT_RF_SDM_RSTB;
-+	rtw_write8(rtwdev, REG_RF_CTRL, val8);
-+	rtw_write8(rtwdev, REG_RF_CTRL1, val8);
-+	rtw_write8(rtwdev, REG_RF_CTRL2, val8);
-+	rtw_write8(rtwdev, REG_RF_CTRL3, val8);
-+
-+	rtw_load_table(rtwdev, rtwdev->chip->bb_tbl);
-+	rtw_load_table(rtwdev, rtwdev->chip->agc_tbl);
-+
-+	crystal_cap = rtwdev->efuse.crystal_cap & 0x3F;
-+	crystal_cap |= crystal_cap << 6;
-+	rtw_write32_mask(rtwdev, REG_AFE_CTRL3, 0x07ff8000, crystal_cap);
-+
-+	rtw8814a_config_trx_path(rtwdev);
-+
-+	for (rf_path = 0; rf_path < rtwdev->hal.rf_path_num; rf_path++)
-+		rtw_load_table(rtwdev, rtwdev->chip->rf_tbl[rf_path]);
-+
-+	val32 = rtw_read_rf(rtwdev, RF_PATH_A, RF_RCK1_V1, RFREG_MASK);
-+	rtw_write_rf(rtwdev, RF_PATH_B, RF_RCK1_V1, RFREG_MASK, val32);
-+	rtw_write_rf(rtwdev, RF_PATH_C, RF_RCK1_V1, RFREG_MASK, val32);
-+	rtw_write_rf(rtwdev, RF_PATH_D, RF_RCK1_V1, RFREG_MASK, val32);
-+
-+	rtw_write32_set(rtwdev, REG_RXPSEL, BIT_RX_PSEL_RST);
-+
-+	rtw_write8(rtwdev, REG_HWSEQ_CTRL, 0xFF);
-+
-+	rtw_write32(rtwdev, REG_BAR_MODE_CTRL, 0x0201ffff);
-+
-+	rtw_write8(rtwdev, REG_MISC_CTRL, BIT_DIS_SECOND_CCA);
-+
-+	rtw_write8(rtwdev, REG_NAV_CTRL + 2, 0);
-+
-+	rtw_write8_clr(rtwdev, REG_GPIO_MUXCFG, BIT(5));
-+
-+	rtw8814a_config_cck_rx_antenna_init(rtwdev);
-+
-+	rtw_phy_init(rtwdev);
-+	rtw8814a_pwrtrack_init(rtwdev);
-+
-+	rtw8814a_init_rfe_reg(rtwdev);
-+
-+	rtw_write8_clr(rtwdev, REG_QUEUE_CTRL, BIT(3));
-+
-+	rtw_write8(rtwdev, REG_NAV_CTRL + 2, 235);
-+
-+	/* enable Tx report. */
-+	rtw_write8(rtwdev,  REG_FWHW_TXQ_CTRL + 1, 0x1F);
-+
-+	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) {
-+		/* Reset USB mode switch setting */
-+		rtw_write8(rtwdev, REG_SYS_SDIO_CTRL, 0x0);
-+		rtw_write8(rtwdev, REG_ACLK_MON, 0x0);
-+	}
-+}
-+
-+static void rtw8814ae_enable_rf_1_2v(struct rtw_dev *rtwdev)
-+{
-+	/* This is for fullsize card, because GPIO7 there is floating.
-+	 * We should pull GPIO7 high to enable RF 1.2V Switch Power Supply
-+	 */
-+
-+	/* 1. set 0x40[1:0] to 0, BIT_GPIOSEL=0, select pin as GPIO */
-+	rtw_write8_clr(rtwdev, REG_GPIO_MUXCFG, BIT(1) | BIT(0));
-+
-+	/* 2. set 0x44[31] to 0
-+	 * mode=0: data port;
-+	 * mode=1 and BIT_GPIO_IO_SEL=0: interrupt mode;
-+	 */
-+	rtw_write8_clr(rtwdev, REG_GPIO_PIN_CTRL + 3, BIT(7));
-+
-+	/* 3. data mode
-+	 * 3.1 set 0x44[23] to 1
-+	 * sel=0: input;
-+	 * sel=1: output;
-+	 */
-+	rtw_write8_set(rtwdev, REG_GPIO_PIN_CTRL + 2, BIT(7));
-+
-+	/* 3.2 set 0x44[15] to 1
-+	 * output high value;
-+	 */
-+	rtw_write8_set(rtwdev, REG_GPIO_PIN_CTRL + 1, BIT(7));
-+}
-+
-+static int rtw8814a_mac_init(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
-+
-+	rtw_write16(rtwdev, REG_CR,
-+		    MAC_TRX_ENABLE | BIT_MAC_SEC_EN | BIT_32K_CAL_TMR_EN);
-+
-+	rtw_load_table(rtwdev, rtwdev->chip->mac_tbl);
-+
-+	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB)
-+		rtw_write8(rtwdev, REG_AUTO_LLT_V1 + 3,
-+			   rtwdev->chip->usb_tx_agg_desc_num << 1);
-+
-+	rtw_write32(rtwdev, REG_HIMR0, 0);
-+	rtw_write32(rtwdev, REG_HIMR1, 0);
-+
-+	rtw_write32_mask(rtwdev, REG_RRSR, 0xfffff, 0xfffff);
-+
-+	rtw_write16(rtwdev, REG_RETRY_LIMIT, 0x3030);
-+
-+	rtw_write16(rtwdev, REG_RXFLTMAP0, 0xffff);
-+	rtw_write16(rtwdev, REG_RXFLTMAP1, 0x0400);
-+	rtw_write16(rtwdev, REG_RXFLTMAP2, 0xffff);
-+
-+	rtw_write8(rtwdev, REG_MAX_AGGR_NUM, 0x36);
-+	rtw_write8(rtwdev, REG_MAX_AGGR_NUM + 1, 0x36);
-+
-+	/* Set Spec SIFS (used in NAV) */
-+	rtw_write16(rtwdev, REG_SPEC_SIFS, 0x100a);
-+	rtw_write16(rtwdev, REG_MAC_SPEC_SIFS, 0x100a);
-+
-+	/* Set SIFS for CCK */
-+	rtw_write16(rtwdev, REG_SIFS, 0x100a);
-+
-+	/* Set SIFS for OFDM */
-+	rtw_write16(rtwdev, REG_SIFS + 2, 0x100a);
-+
-+	/* TXOP */
-+	rtw_write32(rtwdev, REG_EDCA_BE_PARAM, 0x005EA42B);
-+	rtw_write32(rtwdev, REG_EDCA_BK_PARAM, 0x0000A44F);
-+	rtw_write32(rtwdev, REG_EDCA_VI_PARAM, 0x005EA324);
-+	rtw_write32(rtwdev, REG_EDCA_VO_PARAM, 0x002FA226);
-+
-+	rtw_write8_set(rtwdev, REG_FWHW_TXQ_CTRL, BIT(7));
-+
-+	rtw_write8(rtwdev, REG_ACKTO, 0x80);
-+
-+	rtw_write16(rtwdev, REG_BCN_CTRL,
-+		    BIT_DIS_TSF_UDT | (BIT_DIS_TSF_UDT << 8));
-+	rtw_write32_mask(rtwdev, REG_TBTT_PROHIBIT, 0xfffff, WLAN_TBTT_TIME);
-+	rtw_write8(rtwdev, REG_DRVERLYINT, 0x05);
-+	rtw_write8(rtwdev, REG_BCNDMATIM, WLAN_BCN_DMA_TIME);
-+	rtw_write16(rtwdev, REG_BCNTCFG, 0x4413);
-+	rtw_write8(rtwdev, REG_BCN_MAX_ERR, 0xFF);
-+
-+	rtw_write32(rtwdev, REG_FAST_EDCA_VOVI_SETTING, 0x08070807);
-+	rtw_write32(rtwdev, REG_FAST_EDCA_BEBK_SETTING, 0x08070807);
-+
-+	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB &&
-+	    rtwusb->udev->speed == USB_SPEED_SUPER) {
-+		/* Disable U1/U2 Mode to avoid 2.5G spur in USB3.0. */
-+		rtw_write8_clr(rtwdev, REG_USB_MOD, BIT(4) | BIT(3));
-+		/* To avoid usb 3.0 H2C fail. */
-+		rtw_write16(rtwdev, 0xf002, 0);
-+
-+		rtw_write8_clr(rtwdev, REG_SW_AMPDU_BURST_MODE_CTRL,
-+			       BIT_PRE_TX_CMD);
-+	} else if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE) {
-+		rtw8814ae_enable_rf_1_2v(rtwdev);
-+
-+		/* Force the antenna b to wifi. */
-+		rtw_write8_set(rtwdev, REG_PAD_CTRL1, BIT(2));
-+		rtw_write8_set(rtwdev, REG_PAD_CTRL1 + 1, BIT(0));
-+		rtw_write8_set(rtwdev, REG_LED_CFG + 3,
-+			       (BIT(27) | BIT_DPDT_WL_SEL) >> 24);
-+	}
-+
-+	return 0;
-+}
-+
-+static void rtw8814a_set_rfe_reg_24g(struct rtw_dev *rtwdev)
-+{
-+	switch (rtwdev->efuse.rfe_option) {
-+	case 2:
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x72707270);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x72707270);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x72707270);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_D, 0x77707770);
-+
-+		rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D,
-+				 BIT_RFE_SELSW0_D, 0x72);
-+
-+		break;
-+	case 1:
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x77777777);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x77777777);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x77777777);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_D, 0x77777777);
-+
-+		rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D,
-+				 BIT_RFE_SELSW0_D, 0x77);
-+
-+		break;
-+	case 0:
-+	default:
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x77777777);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x77777777);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x77777777);
-+		/* Is it not necessary to set REG_RFE_PINMUX_D ? */
-+
-+		rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D,
-+				 BIT_RFE_SELSW0_D, 0x77);
-+
-+		break;
-+	}
-+}
-+
-+static void rtw8814a_set_rfe_reg_5g(struct rtw_dev *rtwdev)
-+{
-+	switch (rtwdev->efuse.rfe_option) {
-+	case 2:
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x37173717);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x37173717);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x37173717);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_D, 0x77177717);
-+
-+		rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D,
-+				 BIT_RFE_SELSW0_D, 0x37);
-+
-+		break;
-+	case 1:
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x33173317);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x33173317);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x33173317);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_D, 0x77177717);
-+
-+		rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D,
-+				 BIT_RFE_SELSW0_D, 0x33);
-+
-+		break;
-+	case 0:
-+	default:
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x54775477);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x54775477);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x54775477);
-+		rtw_write32(rtwdev, REG_RFE_PINMUX_D, 0x54775477);
-+
-+		rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D,
-+				 BIT_RFE_SELSW0_D, 0x54);
-+
-+		break;
-+	}
-+}
-+
-+static void rtw8814a_set_channel_bb_swing(struct rtw_dev *rtwdev, u8 band)
-+{
-+	rtw_write32_mask(rtwdev, REG_TXSCALE_A, BB_SWING_MASK,
-+			 rtw8814a_get_bb_swing(rtwdev, band, RF_PATH_A));
-+	rtw_write32_mask(rtwdev, REG_TXSCALE_B, BB_SWING_MASK,
-+			 rtw8814a_get_bb_swing(rtwdev, band, RF_PATH_B));
-+	rtw_write32_mask(rtwdev, REG_TXSCALE_C, BB_SWING_MASK,
-+			 rtw8814a_get_bb_swing(rtwdev, band, RF_PATH_C));
-+	rtw_write32_mask(rtwdev, REG_TXSCALE_D, BB_SWING_MASK,
-+			 rtw8814a_get_bb_swing(rtwdev, band, RF_PATH_D));
-+	rtw8814a_pwrtrack_init(rtwdev);
-+}
-+
-+static void rtw8814a_set_bw_reg_adc(struct rtw_dev *rtwdev, u8 bw)
-+{
-+	u32 adc = 0;
-+
-+	if (bw == RTW_CHANNEL_WIDTH_20)
-+		adc = 0;
-+	else if (bw == RTW_CHANNEL_WIDTH_40)
-+		adc = 1;
-+	else if (bw == RTW_CHANNEL_WIDTH_80)
-+		adc = 2;
-+
-+	rtw_write32_mask(rtwdev, REG_ADCCLK, BIT(1) | BIT(0), adc);
-+}
-+
-+static void rtw8814a_set_bw_reg_agc(struct rtw_dev *rtwdev, u8 new_band, u8 bw)
-+{
-+	u32 agc = 7;
-+
-+	if (bw == RTW_CHANNEL_WIDTH_20) {
-+		agc = 6;
-+	} else if (bw == RTW_CHANNEL_WIDTH_40) {
-+		if (new_band == RTW_BAND_5G)
-+			agc = 8;
-+		else
-+			agc = 7;
-+	} else if (bw == RTW_CHANNEL_WIDTH_80) {
-+		agc = 3;
-+	}
-+
-+	rtw_write32_mask(rtwdev, REG_CCASEL, 0xf000, agc);
-+}
-+
-+static void rtw8814a_switch_band(struct rtw_dev *rtwdev, u8 new_band, u8 bw)
-+{
-+	/* Clear 0x1000[16], When this bit is set to 0, CCK and OFDM
-+	 * are disabled, and clock are gated. Otherwise, CCK and OFDM
-+	 * are enabled.
-+	 */
-+	rtw_write8_clr(rtwdev, REG_SYS_CFG3_8814A + 2, BIT_FEN_BB_RSTB);
-+
-+	if (new_band == RTW_BAND_2G) {
-+		rtw_write32_mask(rtwdev, REG_AGC_TABLE, 0x1f, 0);
-+
-+		rtw8814a_set_rfe_reg_24g(rtwdev);
-+
-+		rtw_write32_mask(rtwdev, REG_TXPSEL, 0xf0, 0x2);
-+		rtw_write32_mask(rtwdev, REG_CCK_RX, 0x0f000000, 0x5);
-+
-+		rtw_write32_mask(rtwdev, REG_RXPSEL, BIT_RX_PSEL_RST, 0x3);
-+
-+		rtw_write8(rtwdev, REG_CCK_CHECK, 0);
-+
-+		rtw_write32_mask(rtwdev, 0xa80, BIT(18), 0);
-+	} else {
-+		rtw_write8(rtwdev, REG_CCK_CHECK, BIT_CHECK_CCK_EN);
-+
-+		/* Enable CCK Tx function, even when CCK is off */
-+		rtw_write32_mask(rtwdev, 0xa80, BIT(18), 1);
-+
-+		rtw8814a_set_rfe_reg_5g(rtwdev);
-+
-+		rtw_write32_mask(rtwdev, REG_TXPSEL, 0xf0, 0x0);
-+		rtw_write32_mask(rtwdev, REG_CCK_RX, 0x0f000000, 0xf);
-+
-+		rtw_write32_mask(rtwdev, REG_RXPSEL, BIT_RX_PSEL_RST, 0x2);
-+	}
-+
-+	rtw8814a_set_channel_bb_swing(rtwdev, new_band);
-+
-+	rtw8814a_set_bw_reg_adc(rtwdev, bw);
-+	rtw8814a_set_bw_reg_agc(rtwdev, new_band, bw);
-+
-+	rtw_write8_set(rtwdev, REG_SYS_CFG3_8814A + 2, BIT_FEN_BB_RSTB);
-+}
-+
-+static void rtw8814a_switch_channel(struct rtw_dev *rtwdev, u8 channel)
-+{
-+	struct rtw_hal *hal = &rtwdev->hal;
-+	u32 fc_area, rf_mod_ag, cfgch;
-+	u8 path;
-+
-+	switch (channel) {
-+	case 36 ... 48:
-+		fc_area = 0x494;
-+		break;
-+	case 50 ... 64:
-+		fc_area = 0x453;
-+		break;
-+	case 100 ... 116:
-+		fc_area = 0x452;
-+		break;
-+	default:
-+		if (channel >= 118)
-+			fc_area = 0x412;
-+		else
-+			fc_area = 0x96a;
-+		break;
-+	}
-+
-+	rtw_write32_mask(rtwdev, REG_CLKTRK, 0x1ffe0000, fc_area);
-+
-+	for (path = 0; path < hal->rf_path_num; path++) {
-+		switch (channel) {
-+		case 36 ... 64:
-+			rf_mod_ag = 0x101;
-+			break;
-+		case 100 ... 140:
-+			rf_mod_ag = 0x301;
-+			break;
-+		default:
-+			if (channel > 140)
-+				rf_mod_ag = 0x501;
-+			else
-+				rf_mod_ag = 0x000;
-+			break;
-+		}
-+
-+		cfgch = (rf_mod_ag << 8) | channel;
-+
-+		rtw_write_rf(rtwdev, path, RF_CFGCH,
-+			     RF18_RFSI_MASK | RF18_BAND_MASK | RF18_CHANNEL_MASK, cfgch);
-+	}
-+
-+	switch (channel) {
-+	case 36 ... 64:
-+		rtw_write32_mask(rtwdev, REG_AGC_TABLE, 0x1f, 1);
-+		break;
-+	case 100 ... 144:
-+		rtw_write32_mask(rtwdev, REG_AGC_TABLE, 0x1f, 2);
-+		break;
-+	default:
-+		if (channel >= 149)
-+			rtw_write32_mask(rtwdev, REG_AGC_TABLE, 0x1f, 3);
-+
-+		break;
-+	}
-+}
-+
-+static void rtw8814a_24g_cck_tx_dfir(struct rtw_dev *rtwdev, u8 channel)
-+{
-+	if (channel >= 1 && channel <= 11) {
-+		rtw_write32(rtwdev, REG_CCK0_TX_FILTER1, 0x1a1b0030);
-+		rtw_write32(rtwdev, REG_CCK0_TX_FILTER2, 0x090e1317);
-+		rtw_write32(rtwdev, REG_CCK0_DEBUG_PORT, 0x00000204);
-+	} else if (channel >= 12 && channel <= 13) {
-+		rtw_write32(rtwdev, REG_CCK0_TX_FILTER1, 0x1a1b0030);
-+		rtw_write32(rtwdev, REG_CCK0_TX_FILTER2, 0x090e1217);
-+		rtw_write32(rtwdev, REG_CCK0_DEBUG_PORT, 0x00000305);
-+	} else if (channel == 14) {
-+		rtw_write32(rtwdev, REG_CCK0_TX_FILTER1, 0x1a1b0030);
-+		rtw_write32(rtwdev, REG_CCK0_TX_FILTER2, 0x00000E17);
-+		rtw_write32(rtwdev, REG_CCK0_DEBUG_PORT, 0x00000000);
-+	}
-+}
-+
-+static void rtw8814a_set_bw_reg_mac(struct rtw_dev *rtwdev, u8 bw)
-+{
-+	u16 val16 = rtw_read16(rtwdev, REG_WMAC_TRXPTCL_CTL);
-+
-+	val16 &= ~BIT_RFMOD;
-+	if (bw == RTW_CHANNEL_WIDTH_80)
-+		val16 |= BIT_RFMOD_80M;
-+	else if (bw == RTW_CHANNEL_WIDTH_40)
-+		val16 |= BIT_RFMOD_40M;
-+
-+	rtw_write16(rtwdev, REG_WMAC_TRXPTCL_CTL, val16);
-+}
-+
-+static void rtw8814a_set_bw_rf(struct rtw_dev *rtwdev, u8 bw)
-+{
-+	u8 path;
-+
-+	for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) {
-+		switch (bw) {
-+		case RTW_CHANNEL_WIDTH_5:
-+		case RTW_CHANNEL_WIDTH_10:
-+		case RTW_CHANNEL_WIDTH_20:
-+		default:
-+			rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 3);
-+			break;
-+		case RTW_CHANNEL_WIDTH_40:
-+			rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 1);
-+			break;
-+		case RTW_CHANNEL_WIDTH_80:
-+			rtw_write_rf(rtwdev, path, RF_CFGCH, RF18_BW_MASK, 0);
-+			break;
-+		}
-+	}
-+}
-+
-+static void rtw8814a_adc_clk(struct rtw_dev *rtwdev)
-+{
-+	static const u32 rxiqc_reg[2][4] = {
-+		{ REG_RX_IQC_AB_A, REG_RX_IQC_AB_B,
-+		  REG_RX_IQC_AB_C, REG_RX_IQC_AB_D },
-+		{ REG_RX_IQC_CD_A, REG_RX_IQC_CD_B,
-+		  REG_RX_IQC_CD_C, REG_RX_IQC_CD_D }
-+	};
-+	u32 bb_reg_8fc, bb_reg_808, rxiqc[4];
-+	u32 i = 0, mac_active = 1;
-+	u8 mac_reg_522;
-+
-+	if (rtwdev->hal.cut_version != RTW_CHIP_VER_CUT_A)
-+		return;
-+
-+	/* 1 Step1. MAC TX pause */
-+	mac_reg_522 = rtw_read8(rtwdev, REG_TXPAUSE);
-+	bb_reg_8fc = rtw_read32(rtwdev, REG_DBGSEL);
-+	bb_reg_808 = rtw_read32(rtwdev, REG_RXPSEL);
-+	rtw_write8(rtwdev, REG_TXPAUSE, 0x3f);
-+
-+	/* 1 Step 2. Backup rxiqc & rxiqc = 0 */
-+	for (i = 0; i < 4; i++) {
-+		rxiqc[i] = rtw_read32(rtwdev, rxiqc_reg[0][i]);
-+		rtw_write32(rtwdev, rxiqc_reg[0][i], 0x0);
-+		rtw_write32(rtwdev, rxiqc_reg[1][i], 0x0);
-+	}
-+	rtw_write32_mask(rtwdev, REG_PRECTRL, BIT_IQ_WGT, 0x3);
-+	i = 0;
-+
-+	/* 1 Step 3. Monitor MAC IDLE */
-+	rtw_write32(rtwdev, REG_DBGSEL, 0x0);
-+	while (mac_active) {
-+		mac_active = rtw_read32(rtwdev, REG_DBGRPT) & 0x803e0008;
-+		i++;
-+		if (i > 1000)
-+			break;
-+	}
-+
-+	/* 1 Step 4. ADC clk flow */
-+	rtw_write8(rtwdev, REG_RXPSEL, 0x11);
-+	rtw_write32_mask(rtwdev, REG_DAC_RSTB, BIT(13), 0x1);
-+	rtw_write8_mask(rtwdev, REG_GNT_BT, BIT(2) | BIT(1), 0x3);
-+	rtw_write32_mask(rtwdev, REG_CCK_RPT_FORMAT, BIT(2), 0x1);
-+
-+	/* 0xc1c/0xe1c/0x181c/0x1a1c[4] must=1 to ensure table can be
-+	 * written when bbrstb=0
-+	 * 0xc60/0xe60/0x1860/0x1a60[15] always = 1 after this line
-+	 * 0xc60/0xe60/0x1860/0x1a60[14] always = 0 bcz its error in A-cut
-+	 */
-+
-+	/* power_off/clk_off @ anapar_state=idle mode */
-+	rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x15800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x01808003);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x15800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x01808003);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x15800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x01808003);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x15800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x01808003);
-+
-+	rtw_write8_mask(rtwdev, REG_GNT_BT, BIT(2), 0x0);
-+	rtw_write32_mask(rtwdev, REG_CCK_RPT_FORMAT, BIT(2), 0x0);
-+	/* [19] = 1 to turn off ADC */
-+	rtw_write32(rtwdev, REG_CK_MONHA, 0x0D080058);
-+	rtw_write32(rtwdev, REG_CK_MONHB, 0x0D080058);
-+	rtw_write32(rtwdev, REG_CK_MONHC, 0x0D080058);
-+	rtw_write32(rtwdev, REG_CK_MONHD, 0x0D080058);
-+
-+	/* power_on/clk_off */
-+	/* [19] = 0 to turn on ADC */
-+	rtw_write32(rtwdev, REG_CK_MONHA, 0x0D000058);
-+	rtw_write32(rtwdev, REG_CK_MONHB, 0x0D000058);
-+	rtw_write32(rtwdev, REG_CK_MONHC, 0x0D000058);
-+	rtw_write32(rtwdev, REG_CK_MONHD, 0x0D000058);
-+
-+	/* power_on/clk_on @ anapar_state=BT mode */
-+	rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x05808032);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x05808032);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x05808032);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x05808032);
-+	rtw_write8_mask(rtwdev, REG_GNT_BT, BIT(2), 0x1);
-+	rtw_write32_mask(rtwdev, REG_CCK_RPT_FORMAT, BIT(2), 0x1);
-+
-+	/* recover original setting @ anapar_state=BT mode */
-+	rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x05808032);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x05808032);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x05808032);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x05808032);
-+
-+	rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x05800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x07808003);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x05800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x07808003);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x05800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x07808003);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x05800002);
-+	rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x07808003);
-+
-+	rtw_write8_mask(rtwdev, REG_GNT_BT, BIT(2) | BIT(1), 0x0);
-+	rtw_write32_mask(rtwdev, REG_CCK_RPT_FORMAT, BIT(2), 0x0);
-+	rtw_write32_mask(rtwdev, REG_DAC_RSTB, BIT(13), 0x0);
-+
-+	/* 1 Step 5. Recover MAC TX & IQC */
-+	rtw_write8(rtwdev, REG_TXPAUSE, mac_reg_522);
-+	rtw_write32(rtwdev, REG_DBGSEL, bb_reg_8fc);
-+	rtw_write32(rtwdev, REG_RXPSEL, bb_reg_808);
-+	for (i = 0; i < 4; i++) {
-+		rtw_write32(rtwdev, rxiqc_reg[0][i], rxiqc[i]);
-+		rtw_write32(rtwdev, rxiqc_reg[1][i], 0x01000000);
-+	}
-+	rtw_write32_mask(rtwdev, REG_PRECTRL, BIT_IQ_WGT, 0x0);
-+}
-+
-+static void rtw8814a_spur_calibration_ch140(struct rtw_dev *rtwdev, u8 channel)
-+{
-+	struct rtw_hal *hal = &rtwdev->hal;
-+
-+	/* Add for 8814AE module ch140 MP Rx */
-+	if (channel == 140) {
-+		if (hal->ch_param[0] == 0)
-+			hal->ch_param[0] = rtw_read32(rtwdev, REG_CCASEL);
-+		if (hal->ch_param[1] == 0)
-+			hal->ch_param[1] = rtw_read32(rtwdev, REG_PDMFTH);
-+
-+		rtw_write32(rtwdev, REG_CCASEL, 0x75438170);
-+		rtw_write32(rtwdev, REG_PDMFTH, 0x79a18a0a);
-+	} else {
-+		if (rtw_read32(rtwdev, REG_CCASEL) == 0x75438170 &&
-+		    hal->ch_param[0] != 0)
-+			rtw_write32(rtwdev, REG_CCASEL, hal->ch_param[0]);
-+
-+		if (rtw_read32(rtwdev, REG_PDMFTH) == 0x79a18a0a &&
-+		    hal->ch_param[1] != 0)
-+			rtw_write32(rtwdev, REG_PDMFTH, hal->ch_param[1]);
-+
-+		hal->ch_param[0] = rtw_read32(rtwdev, REG_CCASEL);
-+		hal->ch_param[1] = rtw_read32(rtwdev, REG_PDMFTH);
-+	}
-+}
-+
-+static void rtw8814a_set_nbi_reg(struct rtw_dev *rtwdev, u32 tone_idx)
-+{
-+	/* tone_idx X 10 */
-+	static const u32 nbi_128[] = {
-+		25, 55, 85, 115, 135,
-+		155, 185, 205, 225, 245,
-+		265, 285, 305, 335, 355,
-+		375, 395, 415, 435, 455,
-+		485, 505, 525, 555, 585, 615, 635
-+	};
-+	u32 reg_idx = 0;
-+	u32 i;
-+
-+	for (i = 0; i < ARRAY_SIZE(nbi_128); i++) {
-+		if (tone_idx < nbi_128[i]) {
-+			reg_idx = i + 1;
-+			break;
-+		}
-+	}
-+
-+	rtw_write32_mask(rtwdev, REG_NBI_SETTING, 0xfc000, reg_idx);
-+}
-+
-+static void rtw8814a_nbi_setting(struct rtw_dev *rtwdev, u32 ch, u32 f_intf)
-+{
-+	u32 fc, int_distance, tone_idx;
-+
-+	fc = 2412 + (ch - 1) * 5;
-+	int_distance = abs_diff(fc, f_intf);
-+
-+	/* 10 * (int_distance / 0.3125) */
-+	tone_idx = int_distance << 5;
-+
-+	rtw8814a_set_nbi_reg(rtwdev, tone_idx);
-+
-+	rtw_write32_mask(rtwdev, REG_NBI_SETTING, BIT_NBI_ENABLE, 1);
-+}
-+
-+static void rtw8814a_spur_nbi_setting(struct rtw_dev *rtwdev)
-+{
-+	u8 primary_channel = rtwdev->hal.primary_channel;
-+	u8 rfe_type = rtwdev->efuse.rfe_option;
-+
-+	if (rfe_type != 0 && rfe_type != 1 && rfe_type != 6 && rfe_type != 7)
-+		return;
-+
-+	if (primary_channel == 14)
-+		rtw8814a_nbi_setting(rtwdev, primary_channel, 2480);
-+	else if (primary_channel >= 4 && primary_channel <= 8)
-+		rtw8814a_nbi_setting(rtwdev, primary_channel, 2440);
-+	else
-+		rtw_write32_mask(rtwdev, REG_NBI_SETTING, BIT_NBI_ENABLE, 0);
-+}
-+
-+/* A workaround to eliminate the 5280 MHz & 5600 MHz & 5760 MHz spur of 8814A */
-+static void rtw8814a_spur_calibration(struct rtw_dev *rtwdev, u8 channel, u8 bw)
-+{
-+	u8 rfe_type = rtwdev->efuse.rfe_option;
-+	bool reset_nbi_csi = true;
-+
-+	if (rfe_type == 0) {
-+		switch (bw) {
-+		case RTW_CHANNEL_WIDTH_40:
-+			if (channel == 54 || channel == 118) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x3e >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK7, 0);
-+
-+				reset_nbi_csi = false;
-+			} else if (channel == 151) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x1e >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK0,
-+						 BIT(16), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK7, 0);
-+
-+				reset_nbi_csi = false;
-+			}
-+			break;
-+		case RTW_CHANNEL_WIDTH_80:
-+			if (channel == 58 || channel == 122) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x3a >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK7,
-+						 BIT(0), 1);
-+
-+				reset_nbi_csi = false;
-+			} else if (channel == 155) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x5a >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK6,
-+						 BIT(16), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK7, 0);
-+
-+				reset_nbi_csi = false;
-+			}
-+			break;
-+		case RTW_CHANNEL_WIDTH_20:
-+			if (channel == 153) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x1e >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK7,
-+						 BIT(16), 1);
-+
-+				reset_nbi_csi = false;
-+			}
-+
-+			rtw8814a_spur_calibration_ch140(rtwdev, channel);
-+			break;
-+		default:
-+			break;
-+		}
-+	} else if (rfe_type == 1 || rfe_type == 2) {
-+		switch (bw) {
-+		case RTW_CHANNEL_WIDTH_20:
-+			if (channel == 153) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x1E >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK7,
-+						 BIT(16), 1);
-+
-+				reset_nbi_csi = false;
-+			}
-+			break;
-+		case RTW_CHANNEL_WIDTH_40:
-+			if (channel == 151) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x1e >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK0,
-+						 BIT(16), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK7, 0);
-+
-+				reset_nbi_csi = false;
-+			}
-+			break;
-+		case RTW_CHANNEL_WIDTH_80:
-+			if (channel == 155) {
-+				rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+						 0x000fe000, 0x5a >> 1);
-+				rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1,
-+						 BIT(0), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+				rtw_write32_mask(rtwdev, REG_CSI_FIX_MASK6,
-+						 BIT(16), 1);
-+				rtw_write32(rtwdev, REG_CSI_FIX_MASK7, 0);
-+
-+				reset_nbi_csi = false;
-+			}
-+			break;
-+		default:
-+			break;
-+		}
-+	}
-+
-+	if (reset_nbi_csi) {
-+		rtw_write32_mask(rtwdev, REG_NBI_SETTING,
-+				 0x000fe000, 0xfc >> 1);
-+		rtw_write32_mask(rtwdev, REG_CSI_MASK_SETTING1, BIT(0), 0);
-+		rtw_write32(rtwdev, REG_CSI_FIX_MASK0, 0);
-+		rtw_write32(rtwdev, REG_CSI_FIX_MASK1, 0);
-+		rtw_write32(rtwdev, REG_CSI_FIX_MASK6, 0);
-+		rtw_write32(rtwdev, REG_CSI_FIX_MASK7, 0);
-+	}
-+
-+	rtw8814a_spur_nbi_setting(rtwdev);
-+}
-+
-+static void rtw8814a_set_bw_mode(struct rtw_dev *rtwdev, u8 new_band,
-+				 u8 channel, u8 bw, u8 primary_chan_idx)
-+{
-+	u8 txsc40 = 0, txsc20, txsc;
-+
-+	rtw8814a_set_bw_reg_mac(rtwdev, bw);
-+
-+	txsc20 = primary_chan_idx;
-+	if (bw == RTW_CHANNEL_WIDTH_80) {
-+		if (txsc20 == RTW_SC_20_UPPER || txsc20 == RTW_SC_20_UPMOST)
-+			txsc40 = RTW_SC_40_UPPER;
-+		else
-+			txsc40 = RTW_SC_40_LOWER;
-+	}
-+
-+	txsc = BIT_TXSC_20M(txsc20) | BIT_TXSC_40M(txsc40);
-+	rtw_write8(rtwdev, REG_DATA_SC, txsc);
-+
-+	rtw8814a_set_bw_reg_adc(rtwdev, bw);
-+	rtw8814a_set_bw_reg_agc(rtwdev, new_band, bw);
-+
-+	if (bw == RTW_CHANNEL_WIDTH_80) {
-+		rtw_write32_mask(rtwdev, REG_ADCCLK, 0x3c, txsc);
-+	} else if (bw == RTW_CHANNEL_WIDTH_40) {
-+		rtw_write32_mask(rtwdev, REG_ADCCLK, 0x3c, txsc);
-+
-+		if (txsc == RTW_SC_20_UPPER)
-+			rtw_write32_set(rtwdev, REG_RXSB, BIT(4));
-+		else
-+			rtw_write32_clr(rtwdev, REG_RXSB, BIT(4));
-+	}
-+
-+	rtw8814a_set_bw_rf(rtwdev, bw);
-+
-+	rtw8814a_adc_clk(rtwdev);
-+
-+	rtw8814a_spur_calibration(rtwdev, channel, bw);
-+}
-+
-+static void rtw8814a_set_channel(struct rtw_dev *rtwdev, u8 channel, u8 bw,
-+				 u8 primary_chan_idx)
-+{
-+	u8 old_band, new_band;
-+
-+	if (rtw_read8(rtwdev, REG_CCK_CHECK) & BIT_CHECK_CCK_EN)
-+		old_band = RTW_BAND_5G;
-+	else
-+		old_band = RTW_BAND_2G;
-+
-+	if (channel > 14)
-+		new_band = RTW_BAND_5G;
-+	else
-+		new_band = RTW_BAND_2G;
-+
-+	if (new_band != old_band)
-+		rtw8814a_switch_band(rtwdev, new_band, bw);
-+
-+	rtw8814a_switch_channel(rtwdev, channel);
-+
-+	rtw8814a_24g_cck_tx_dfir(rtwdev, channel);
-+
-+	rtw8814a_set_bw_mode(rtwdev, new_band, channel, bw, primary_chan_idx);
-+}
-+
-+static s8 rtw8814a_cck_rx_pwr(u8 lna_idx, u8 vga_idx)
-+{
-+	s8 rx_pwr_all = 0;
-+
-+	switch (lna_idx) {
-+	case 7:
-+		rx_pwr_all = -38 - 2 * vga_idx;
-+		break;
-+	case 5:
-+		rx_pwr_all = -28 - 2 * vga_idx;
-+		break;
-+	case 3:
-+		rx_pwr_all = -8 - 2 * vga_idx;
-+		break;
-+	case 2:
-+		rx_pwr_all = -1 - 2 * vga_idx;
-+		break;
-+	default:
-+		break;
-+	}
-+
-+	return rx_pwr_all;
-+}
-+
-+static void rtw8814a_query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status,
-+				      struct rtw_rx_pkt_stat *pkt_stat)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+	struct rtw_jaguar_phy_status_rpt *rpt;
-+	u8 gain[RTW_RF_PATH_MAX], rssi, i;
-+	s8 rx_pwr_db, middle1, middle2;
-+	s8 snr[RTW_RF_PATH_MAX];
-+	s8 evm[RTW_RF_PATH_MAX];
-+	u8 rfmode, subchannel;
-+	u8 lna, vga;
-+	s8 cfo[2];
-+
-+	rpt = (struct rtw_jaguar_phy_status_rpt *)phy_status;
-+
-+	pkt_stat->bw = RTW_CHANNEL_WIDTH_20;
-+
-+	if (pkt_stat->rate <= DESC_RATE11M) {
-+		lna = le32_get_bits(rpt->w1, RTW_JGRPHY_W1_AGC_RPT_LNA_IDX);
-+		vga = le32_get_bits(rpt->w1, RTW_JGRPHY_W1_AGC_RPT_VGA_IDX);
-+
-+		rx_pwr_db = rtw8814a_cck_rx_pwr(lna, vga);
-+
-+		pkt_stat->rx_power[RF_PATH_A] = rx_pwr_db;
-+		pkt_stat->rssi = rtw_phy_rf_power_2_rssi(pkt_stat->rx_power, 1);
-+		dm_info->rssi[RF_PATH_A] = pkt_stat->rssi;
-+		pkt_stat->signal_power = rx_pwr_db;
-+	} else { /* OFDM rate */
-+		gain[RF_PATH_A] = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_GAIN_A);
-+		gain[RF_PATH_B] = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_GAIN_B);
-+		gain[RF_PATH_C] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_GAIN_C);
-+		gain[RF_PATH_D] = le32_get_bits(rpt->w6, RTW_JGRPHY_W6_GAIN_D);
-+
-+		snr[RF_PATH_A] = le32_get_bits(rpt->w3, RTW_JGRPHY_W3_RXSNR_A);
-+		snr[RF_PATH_B] = le32_get_bits(rpt->w4, RTW_JGRPHY_W4_RXSNR_B);
-+		snr[RF_PATH_C] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_RXSNR_C);
-+		snr[RF_PATH_D] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_RXSNR_D);
-+
-+		evm[RF_PATH_A] = le32_get_bits(rpt->w3, RTW_JGRPHY_W3_RXEVM_1);
-+		evm[RF_PATH_B] = le32_get_bits(rpt->w3, RTW_JGRPHY_W3_RXEVM_2);
-+		evm[RF_PATH_C] = le32_get_bits(rpt->w4, RTW_JGRPHY_W4_RXEVM_3);
-+		evm[RF_PATH_D] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_RXEVM_4);
-+
-+		if (pkt_stat->rate <= DESC_RATE54M)
-+			evm[RF_PATH_A] = le32_get_bits(rpt->w6,
-+						       RTW_JGRPHY_W6_SIGEVM);
-+
-+		for (i = RF_PATH_A; i < RTW_RF_PATH_MAX; i++) {
-+			pkt_stat->rx_power[i] = gain[i] - 110;
-+
-+			rssi = rtw_phy_rf_power_2_rssi(&pkt_stat->rx_power[i], 1);
-+			dm_info->rssi[i] = rssi;
-+
-+			pkt_stat->rx_snr[i] = snr[i];
-+			dm_info->rx_snr[i] = snr[i] >> 1;
-+
-+			pkt_stat->rx_evm[i] = evm[i];
-+			evm[i] = max_t(s8, -127, evm[i]);
-+			dm_info->rx_evm_dbm[i] = abs(evm[i]) >> 1;
-+		}
-+
-+		rssi = rtw_phy_rf_power_2_rssi(pkt_stat->rx_power,
-+					       RTW_RF_PATH_MAX);
-+		pkt_stat->rssi = rssi;
-+
-+		/* When power saving is enabled the hardware sometimes
-+		 * reports unbelievably high gain for paths A and C
-+		 * (e.g. one frame 64 68 68 72, the next frame 106 66 88 72,
-+		 * the next 66 66 68 72), so use the second lowest gain
-+		 * instead of the highest.
-+		 */
-+		middle1 = max(min(gain[RF_PATH_A], gain[RF_PATH_B]),
-+			      min(gain[RF_PATH_C], gain[RF_PATH_D]));
-+		middle2 = min(max(gain[RF_PATH_A], gain[RF_PATH_B]),
-+			      max(gain[RF_PATH_C], gain[RF_PATH_D]));
-+		rx_pwr_db = min(middle1, middle2);
-+		rx_pwr_db -= 110;
-+		pkt_stat->signal_power = rx_pwr_db;
-+
-+		rfmode = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_R_RFMOD);
-+		subchannel = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_SUB_CHNL);
-+
-+		if (rfmode == 1 && subchannel == 0) {
-+			pkt_stat->bw = RTW_CHANNEL_WIDTH_40;
-+		} else if (rfmode == 2) {
-+			if (subchannel == 0)
-+				pkt_stat->bw = RTW_CHANNEL_WIDTH_80;
-+			else if (subchannel == 9 || subchannel == 10)
-+				pkt_stat->bw = RTW_CHANNEL_WIDTH_40;
-+		}
-+
-+		cfo[RF_PATH_A] = le32_get_bits(rpt->w2, RTW_JGRPHY_W2_CFO_TAIL_A);
-+		cfo[RF_PATH_B] = le32_get_bits(rpt->w2, RTW_JGRPHY_W2_CFO_TAIL_B);
-+
-+		for (i = RF_PATH_A; i < 2; i++) {
-+			pkt_stat->cfo_tail[i] = cfo[i];
-+			dm_info->cfo_tail[i] = (cfo[i] * 5) >> 1;
-+		}
-+	}
-+}
-+
-+static void
-+rtw8814a_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs)
-+{
-+	struct rtw_hal *hal = &rtwdev->hal;
-+	u32 txagc_table_wd;
-+	u8 rate, pwr_index;
-+	int j;
-+
-+	for (j = 0; j < rtw_rate_size[rs]; j++) {
-+		rate = rtw_rate_section[rs][j];
-+
-+		pwr_index = hal->tx_pwr_tbl[path][rate] + 2;
-+		if (pwr_index > rtwdev->chip->max_power_index)
-+			pwr_index = rtwdev->chip->max_power_index;
-+
-+		txagc_table_wd = 0x00801000;
-+		txagc_table_wd |= (pwr_index << 24) | (path << 8) | rate;
-+
-+		rtw_write32(rtwdev, REG_AGC_TBL, txagc_table_wd);
-+
-+		/* first time to turn on the txagc table
-+		 * second to write the addr0
-+		 */
-+		if (rate == DESC_RATE1M)
-+			rtw_write32(rtwdev, REG_AGC_TBL, txagc_table_wd);
-+	}
-+}
-+
-+static void rtw8814a_set_tx_power_index(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_hal *hal = &rtwdev->hal;
-+	int path;
-+
-+	for (path = 0; path < hal->rf_path_num; path++) {
-+		if (hal->current_band_type == RTW_BAND_2G)
-+			rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+							    RTW_RATE_SECTION_CCK);
-+
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_OFDM);
-+
-+		if (test_bit(RTW_FLAG_SCANNING, rtwdev->flags))
-+			continue;
-+
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_HT_1S);
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_VHT_1S);
-+
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_HT_2S);
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_VHT_2S);
-+
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_HT_3S);
-+		rtw8814a_set_tx_power_index_by_rate(rtwdev, path,
-+						    RTW_RATE_SECTION_VHT_3S);
-+	}
-+}
-+
-+static void rtw8814a_cfg_ldo25(struct rtw_dev *rtwdev, bool enable)
-+{
-+}
-+
-+static void rtw8814a_false_alarm_statistics(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+	u32 cck_fa_cnt, ofdm_fa_cnt;
-+	u32 crc32_cnt, cca32_cnt;
-+	u32 cck_enable;
-+
-+	cck_enable = rtw_read32(rtwdev, REG_RXPSEL) & BIT(28);
-+	cck_fa_cnt = rtw_read16(rtwdev, REG_FA_CCK);
-+	ofdm_fa_cnt = rtw_read16(rtwdev, REG_FA_OFDM);
-+
-+	dm_info->cck_fa_cnt = cck_fa_cnt;
-+	dm_info->ofdm_fa_cnt = ofdm_fa_cnt;
-+	dm_info->total_fa_cnt = ofdm_fa_cnt;
-+	if (cck_enable)
-+		dm_info->total_fa_cnt += cck_fa_cnt;
-+
-+	crc32_cnt = rtw_read32(rtwdev, REG_CRC_CCK);
-+	dm_info->cck_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD);
-+	dm_info->cck_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD);
-+
-+	crc32_cnt = rtw_read32(rtwdev, REG_CRC_OFDM);
-+	dm_info->ofdm_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD);
-+	dm_info->ofdm_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD);
-+
-+	crc32_cnt = rtw_read32(rtwdev, REG_CRC_HT);
-+	dm_info->ht_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD);
-+	dm_info->ht_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD);
-+
-+	crc32_cnt = rtw_read32(rtwdev, REG_CRC_VHT);
-+	dm_info->vht_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD);
-+	dm_info->vht_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD);
-+
-+	cca32_cnt = rtw_read32(rtwdev, REG_CCA_OFDM);
-+	dm_info->ofdm_cca_cnt = u32_get_bits(cca32_cnt, MASKHWORD);
-+	dm_info->total_cca_cnt = dm_info->ofdm_cca_cnt;
-+	if (cck_enable) {
-+		cca32_cnt = rtw_read32(rtwdev, REG_CCA_CCK);
-+		dm_info->cck_cca_cnt = u32_get_bits(cca32_cnt, MASKLWORD);
-+		dm_info->total_cca_cnt += dm_info->cck_cca_cnt;
-+	}
-+
-+	rtw_write32_set(rtwdev, REG_FAS, BIT(17));
-+	rtw_write32_clr(rtwdev, REG_FAS, BIT(17));
-+	rtw_write32_clr(rtwdev, REG_CCK0_FAREPORT, BIT(15));
-+	rtw_write32_set(rtwdev, REG_CCK0_FAREPORT, BIT(15));
-+	rtw_write32_set(rtwdev, REG_CNTRST, BIT(0));
-+	rtw_write32_clr(rtwdev, REG_CNTRST, BIT(0));
-+}
-+
-+#define MAC_REG_NUM_8814 2
-+#define BB_REG_NUM_8814 14
-+#define RF_REG_NUM_8814 1
-+
-+static void rtw8814a_iqk_backup_mac_bb(struct rtw_dev *rtwdev,
-+				       u32 *mac_backup, u32 *bb_backup,
-+				       const u32 *mac_regs,
-+				       const u32 *bb_regs)
-+{
-+	u32 i;
-+
-+	/* save MACBB default value */
-+	for (i = 0; i < MAC_REG_NUM_8814; i++)
-+		mac_backup[i] = rtw_read32(rtwdev, mac_regs[i]);
-+
-+	for (i = 0; i < BB_REG_NUM_8814; i++)
-+		bb_backup[i] = rtw_read32(rtwdev, bb_regs[i]);
-+}
-+
-+static void rtw8814a_iqk_backup_rf(struct rtw_dev *rtwdev,
-+				   u32 rf_backup[][4], const u32 *rf_regs)
-+{
-+	u32 i;
-+
-+	/* Save RF Parameters */
-+	for (i = 0; i < RF_REG_NUM_8814; i++) {
-+		rf_backup[i][RF_PATH_A] = rtw_read_rf(rtwdev, RF_PATH_A,
-+						      rf_regs[i], RFREG_MASK);
-+		rf_backup[i][RF_PATH_B] = rtw_read_rf(rtwdev, RF_PATH_B,
-+						      rf_regs[i], RFREG_MASK);
-+		rf_backup[i][RF_PATH_C] = rtw_read_rf(rtwdev, RF_PATH_C,
-+						      rf_regs[i], RFREG_MASK);
-+		rf_backup[i][RF_PATH_D] = rtw_read_rf(rtwdev, RF_PATH_D,
-+						      rf_regs[i], RFREG_MASK);
-+	}
-+}
-+
-+static void rtw8814a_iqk_afe_setting(struct rtw_dev *rtwdev, bool do_iqk)
-+{
-+	if (do_iqk) {
-+		/* IQK AFE setting RX_WAIT_CCA mode */
-+		rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x0e808003);
-+		rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x0e808003);
-+		rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x0e808003);
-+		rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x0e808003);
-+	} else {
-+		rtw_write32(rtwdev, REG_AFE_PWR1_A, 0x07808003);
-+		rtw_write32(rtwdev, REG_AFE_PWR1_B, 0x07808003);
-+		rtw_write32(rtwdev, REG_AFE_PWR1_C, 0x07808003);
-+		rtw_write32(rtwdev, REG_AFE_PWR1_D, 0x07808003);
-+	}
-+
-+	rtw_write32_mask(rtwdev, REG_DAC_RSTB, BIT(13), 0x1);
-+
-+	rtw_write8_set(rtwdev, REG_GNT_BT, BIT(2) | BIT(1));
-+	rtw_write8_clr(rtwdev, REG_GNT_BT, BIT(2) | BIT(1));
-+
-+	rtw_write32_set(rtwdev, REG_CCK_RPT_FORMAT, BIT(2));
-+	rtw_write32_clr(rtwdev, REG_CCK_RPT_FORMAT, BIT(2));
-+}
-+
-+static void rtw8814a_iqk_restore_mac_bb(struct rtw_dev *rtwdev,
-+					u32 *mac_backup, u32 *bb_backup,
-+					const u32 *mac_regs,
-+					const u32 *bb_regs)
-+{
-+	u32 i;
-+
-+	/* Reload MacBB Parameters */
-+	for (i = 0; i < MAC_REG_NUM_8814; i++)
-+		rtw_write32(rtwdev, mac_regs[i], mac_backup[i]);
-+
-+	for (i = 0; i < BB_REG_NUM_8814; i++)
-+		rtw_write32(rtwdev, bb_regs[i], bb_backup[i]);
-+}
-+
-+static void rtw8814a_iqk_restore_rf(struct rtw_dev *rtwdev,
-+				    const u32 rf_backup[][4],
-+				    const u32 *rf_regs)
-+{
-+	u32 i;
-+
-+	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE, RFREG_MASK, 0x0);
-+	rtw_write_rf(rtwdev, RF_PATH_B, RF_LUTWE, RFREG_MASK, 0x0);
-+	rtw_write_rf(rtwdev, RF_PATH_C, RF_LUTWE, RFREG_MASK, 0x0);
-+	rtw_write_rf(rtwdev, RF_PATH_D, RF_LUTWE, RFREG_MASK, 0x0);
-+
-+	rtw_write_rf(rtwdev, RF_PATH_A, RF_RXBB2, RFREG_MASK, 0x88001);
-+	rtw_write_rf(rtwdev, RF_PATH_B, RF_RXBB2, RFREG_MASK, 0x88001);
-+	rtw_write_rf(rtwdev, RF_PATH_C, RF_RXBB2, RFREG_MASK, 0x88001);
-+	rtw_write_rf(rtwdev, RF_PATH_D, RF_RXBB2, RFREG_MASK, 0x88001);
-+
-+	for (i = 0; i < RF_REG_NUM_8814; i++) {
-+		rtw_write_rf(rtwdev, RF_PATH_A, rf_regs[i],
-+			     RFREG_MASK, rf_backup[i][RF_PATH_A]);
-+		rtw_write_rf(rtwdev, RF_PATH_B, rf_regs[i],
-+			     RFREG_MASK, rf_backup[i][RF_PATH_B]);
-+		rtw_write_rf(rtwdev, RF_PATH_C, rf_regs[i],
-+			     RFREG_MASK, rf_backup[i][RF_PATH_C]);
-+		rtw_write_rf(rtwdev, RF_PATH_D, rf_regs[i],
-+			     RFREG_MASK, rf_backup[i][RF_PATH_D]);
-+	}
-+}
-+
-+static void rtw8814a_iqk_reset_nctl(struct rtw_dev *rtwdev)
-+{
-+	rtw_write32(rtwdev, 0x1b00, 0xf8000000);
-+	rtw_write32(rtwdev, 0x1b80, 0x00000006);
-+
-+	rtw_write32(rtwdev, 0x1b00, 0xf8000000);
-+	rtw_write32(rtwdev, 0x1b80, 0x00000002);
-+}
-+
-+static void rtw8814a_iqk_configure_mac(struct rtw_dev *rtwdev)
-+{
-+	rtw_write8(rtwdev, REG_TXPAUSE, 0x3f);
-+	rtw_write32_clr(rtwdev, REG_BCN_CTRL,
-+			(BIT_EN_BCN_FUNCTION << 8) | BIT_EN_BCN_FUNCTION);
-+
-+	/* RX ante off */
-+	rtw_write8(rtwdev, REG_RXPSEL, 0x00);
-+	/* CCA off */
-+	rtw_write32_mask(rtwdev, REG_CCA2ND, 0xf, 0xe);
-+	/* CCK RX path off */
-+	rtw_write32_set(rtwdev, REG_PRECTRL, BIT_IQ_WGT);
-+	rtw_write32(rtwdev, REG_RFE_PINMUX_A, 0x77777777);
-+	rtw_write32(rtwdev, REG_RFE_PINMUX_B, 0x77777777);
-+	rtw_write32(rtwdev, REG_RFE_PINMUX_C, 0x77777777);
-+	rtw_write32(rtwdev, REG_RFE_PINMUX_D, 0x77777777);
-+	rtw_write32_mask(rtwdev, REG_RFE_INVSEL_D, BIT_RFE_SELSW0_D, 0x77);
-+	rtw_write32_mask(rtwdev, REG_PSD, BIT_PSD_INI, 0x0);
-+
-+	rtw_write32_mask(rtwdev, REG_RFE_INV0, 0xf, 0x0);
-+}
-+
-+static void rtw8814a_lok_one_shot(struct rtw_dev *rtwdev, u8 path)
-+{
-+	u32 lok_temp1, lok_temp2;
-+	bool lok_ready;
-+	u8 ii;
-+
-+	/* ADC Clock source */
-+	rtw_write32_mask(rtwdev, REG_FAS, BIT(21) | BIT(20), path);
-+	/* LOK: CMD ID = 0
-+	 * {0xf8000011, 0xf8000021, 0xf8000041, 0xf8000081}
-+	 */
-+	rtw_write32(rtwdev, 0x1b00, 0xf8000001 | (BIT(path) << 4));
-+
-+	usleep_range(1000, 1100);
-+
-+	if (read_poll_timeout(!rtw_read32_mask, lok_ready, lok_ready,
-+			      1000, 10000, false,
-+			      rtwdev, 0x1b00, BIT(0))) {
-+		rtw_dbg(rtwdev, RTW_DBG_RFK, "==>S%d LOK timed out\n", path);
-+
-+		rtw8814a_iqk_reset_nctl(rtwdev);
-+
-+		rtw_write_rf(rtwdev, path, RF_DTXLOK, RFREG_MASK, 0x08400);
-+
-+		return;
-+	}
-+
-+	rtw_write32(rtwdev, 0x1b00, 0xf8000000 | (path << 1));
-+	rtw_write32(rtwdev, 0x1bd4, 0x003f0001);
-+
-+	lok_temp2 = rtw_read32_mask(rtwdev, 0x1bfc, 0x003e0000);
-+	lok_temp2 = (lok_temp2 + 0x10) & 0x1f;
-+
-+	lok_temp1 = rtw_read32_mask(rtwdev, 0x1bfc, 0x0000003e);
-+	lok_temp1 = (lok_temp1 + 0x10) & 0x1f;
-+
-+	for (ii = 1; ii < 5; ii++) {
-+		lok_temp1 += (lok_temp1 & BIT(4 - ii)) << (ii * 2);
-+		lok_temp2 += (lok_temp2 & BIT(4 - ii)) << (ii * 2);
-+	}
-+
-+	rtw_dbg(rtwdev, RTW_DBG_RFK,
-+		"path %d lok_temp1 = %#x, lok_temp2 = %#x\n",
-+		path, lok_temp1 >> 4, lok_temp2 >> 4);
-+
-+	rtw_write_rf(rtwdev, path, RF_DTXLOK, 0x07c00, lok_temp1 >> 4);
-+	rtw_write_rf(rtwdev, path, RF_DTXLOK, 0xf8000, lok_temp2 >> 4);
-+}
-+
-+static void rtw8814a_iqk_tx_one_shot(struct rtw_dev *rtwdev, u8 path,
-+				     u32 *tx_matrix, bool *tx_ok)
-+{
-+	u8 bw = rtwdev->hal.current_band_width;
-+	u8 cal_retry;
-+	u32 iqk_cmd;
-+
-+	for (cal_retry = 0; cal_retry < 4; cal_retry++) {
-+		rtw_write32_mask(rtwdev, REG_FAS, BIT(21) | BIT(20), path);
-+
-+		iqk_cmd = 0xf8000001 | ((bw + 3) << 8) | (BIT(path) << 4);
-+
-+		rtw_dbg(rtwdev, RTW_DBG_RFK, "TXK_Trigger = %#x\n", iqk_cmd);
-+
-+		rtw_write32(rtwdev, 0x1b00, iqk_cmd);
-+
-+		usleep_range(10000, 11000);
-+
-+		if (read_poll_timeout(!rtw_read32_mask, *tx_ok, *tx_ok,
-+				      1000, 20000, false,
-+				      rtwdev, 0x1b00, BIT(0))) {
-+			rtw_dbg(rtwdev, RTW_DBG_RFK,
-+				"tx iqk S%d timed out\n", path);
-+
-+			rtw8814a_iqk_reset_nctl(rtwdev);
-+		} else {
-+			*tx_ok = !rtw_read32_mask(rtwdev, 0x1b08, BIT(26));
-+
-+			if (*tx_ok)
-+				break;
-+		}
-+	}
-+
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d tx ==> 0x1b00 = 0x%x\n",
-+		path, rtw_read32(rtwdev, 0x1b00));
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d tx ==> 0x1b08 = 0x%x\n",
-+		path, rtw_read32(rtwdev, 0x1b08));
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d tx ==> cal_retry = %x\n",
-+		path, cal_retry);
-+
-+	rtw_write32(rtwdev, 0x1b00, 0xf8000000 | (path << 1));
-+
-+	if (*tx_ok) {
-+		*tx_matrix = rtw_read32(rtwdev, 0x1b38);
-+
-+		rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d_IQC = 0x%x\n",
-+			path, *tx_matrix);
-+	}
-+}
-+
-+static void rtw8814a_iqk_rx_one_shot(struct rtw_dev *rtwdev, u8 path,
-+				     u32 *tx_matrix, bool *tx_ok)
-+{
-+	static const u16 iqk_apply[RTW_RF_PATH_MAX] = {
-+		REG_TXAGCIDX, REG_TX_AGC_B, REG_TX_AGC_C, REG_TX_AGC_D
-+	};
-+	u8 band = rtwdev->hal.current_band_type;
-+	u8 bw = rtwdev->hal.current_band_width;
-+	u32 rx_matrix;
-+	u8 cal_retry;
-+	u32 iqk_cmd;
-+	bool rx_ok;
-+
-+	for (cal_retry = 0; cal_retry < 4; cal_retry++) {
-+		rtw_write32_mask(rtwdev, REG_FAS, BIT(21) | BIT(20), path);
-+
-+		if (band == RTW_BAND_2G) {
-+			rtw_write_rf(rtwdev, path, RF_LUTDBG, BIT(11), 0x1);
-+			rtw_write_rf(rtwdev, path, RF_GAINTX, 0xfffff, 0x51ce1);
-+
-+			switch (path) {
-+			case 0:
-+			case 1:
-+				rtw_write32(rtwdev, REG_RFE_PINMUX_B,
-+					    0x54775477);
-+				break;
-+			case 2:
-+				rtw_write32(rtwdev, REG_RFE_PINMUX_C,
-+					    0x54775477);
-+				break;
-+			case 3:
-+				rtw_write32(rtwdev, REG_RFE_INVSEL_D, 0x75400000);
-+				rtw_write32(rtwdev, REG_RFE_PINMUX_D,
-+					    0x77777777);
-+				break;
-+			}
-+		}
-+
-+		iqk_cmd = 0xf8000001 | ((9 - bw) << 8) | (BIT(path) << 4);
-+
-+		rtw_dbg(rtwdev, RTW_DBG_RFK, "RXK_Trigger = 0x%x\n", iqk_cmd);
-+
-+		rtw_write32(rtwdev, 0x1b00, iqk_cmd);
-+
-+		usleep_range(10000, 11000);
-+
-+		if (read_poll_timeout(!rtw_read32_mask, rx_ok, rx_ok,
-+				      1000, 20000, false,
-+				      rtwdev, 0x1b00, BIT(0))) {
-+			rtw_dbg(rtwdev, RTW_DBG_RFK,
-+				"rx iqk S%d timed out\n", path);
-+
-+			rtw8814a_iqk_reset_nctl(rtwdev);
-+		} else {
-+			rx_ok = !rtw_read32_mask(rtwdev, 0x1b08, BIT(26));
-+
-+			if (rx_ok)
-+				break;
-+		}
-+	}
-+
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d rx ==> 0x1b00 = 0x%x\n",
-+		path, rtw_read32(rtwdev, 0x1b00));
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d rx ==> 0x1b08 = 0x%x\n",
-+		path, rtw_read32(rtwdev, 0x1b08));
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d rx ==> cal_retry = %x\n",
-+		path, cal_retry);
-+
-+	rtw_write32(rtwdev, 0x1b00, 0xf8000000 | (path << 1));
-+
-+	if (rx_ok) {
-+		rtw_write32(rtwdev, 0x1b3c, 0x20000000);
-+		rx_matrix = rtw_read32(rtwdev, 0x1b3c);
-+
-+		rtw_dbg(rtwdev, RTW_DBG_RFK, "S%d_IQC = 0x%x\n",
-+			path, rx_matrix);
-+	}
-+
-+	if (*tx_ok)
-+		rtw_write32(rtwdev, 0x1b38, *tx_matrix);
-+	else
-+		rtw_write32_mask(rtwdev, iqk_apply[path], BIT(0), 0x0);
-+
-+	if (!rx_ok)
-+		rtw_write32_mask(rtwdev, iqk_apply[path],
-+				 BIT(11) | BIT(10), 0x0);
-+
-+	if (band == RTW_BAND_2G)
-+		rtw_write_rf(rtwdev, path, RF_LUTDBG, BIT(11), 0x0);
-+}
-+
-+static void rtw8814a_iqk(struct rtw_dev *rtwdev)
-+{
-+	u8 band = rtwdev->hal.current_band_type;
-+	u8 bw = rtwdev->hal.current_band_width;
-+	u32 tx_matrix[RTW_RF_PATH_MAX];
-+	bool tx_ok[RTW_RF_PATH_MAX];
-+	u8 path;
-+
-+	rtw_dbg(rtwdev, RTW_DBG_RFK, "IQK band = %d GHz bw = %d MHz\n",
-+		band == RTW_BAND_2G ? 2 : 5, (1 << (bw + 1)) * 10);
-+
-+	rtw_write_rf(rtwdev, RF_PATH_A, RF_TXMOD, BIT(19), 0x1);
-+	rtw_write_rf(rtwdev, RF_PATH_B, RF_TXMOD, BIT(19), 0x1);
-+	rtw_write_rf(rtwdev, RF_PATH_C, RF_TXMOD, BIT(19), 0x1);
-+	rtw_write_rf(rtwdev, RF_PATH_D, RF_TXMOD, BIT(19), 0x1);
-+
-+	rtw_write32_mask(rtwdev, REG_TXAGCIDX,
-+			 (BIT(11) | BIT(10) | BIT(0)), 0x401);
-+	rtw_write32_mask(rtwdev, REG_TX_AGC_B,
-+			 (BIT(11) | BIT(10) | BIT(0)), 0x401);
-+	rtw_write32_mask(rtwdev, REG_TX_AGC_C,
-+			 (BIT(11) | BIT(10) | BIT(0)), 0x401);
-+	rtw_write32_mask(rtwdev, REG_TX_AGC_D,
-+			 (BIT(11) | BIT(10) | BIT(0)), 0x401);
-+
-+	if (band == RTW_BAND_5G)
-+		rtw_write32(rtwdev, 0x1b00, 0xf8000ff1);
-+	else
-+		rtw_write32(rtwdev, 0x1b00, 0xf8000ef1);
-+
-+	usleep_range(1000, 1100);
-+
-+	rtw_write32(rtwdev, 0x810, 0x20101063);
-+	rtw_write32(rtwdev, REG_DAC_RSTB, 0x0B00C000);
-+
-+	for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++)
-+		rtw8814a_lok_one_shot(rtwdev, path);
-+
-+	for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++)
-+		rtw8814a_iqk_tx_one_shot(rtwdev, path,
-+					 &tx_matrix[path], &tx_ok[path]);
-+
-+	for (path = RF_PATH_A; path < RTW_RF_PATH_MAX; path++)
-+		rtw8814a_iqk_rx_one_shot(rtwdev, path,
-+					 &tx_matrix[path], &tx_ok[path]);
-+}
-+
-+static void rtw8814a_do_iqk(struct rtw_dev *rtwdev)
-+{
-+	static const u32 backup_mac_reg[MAC_REG_NUM_8814] = {0x520, 0x550};
-+	static const u32 backup_bb_reg[BB_REG_NUM_8814] = {
-+		0xa14, 0x808, 0x838, 0x90c, 0x810, 0xcb0, 0xeb0,
-+		0x18b4, 0x1ab4, 0x1abc, 0x9a4, 0x764, 0xcbc, 0x910
-+	};
-+	static const u32 backup_rf_reg[RF_REG_NUM_8814] = {0x0};
-+	u32 rf_backup[RF_REG_NUM_8814][RTW_RF_PATH_MAX];
-+	u32 mac_backup[MAC_REG_NUM_8814];
-+	u32 bb_backup[BB_REG_NUM_8814];
-+
-+	rtw8814a_iqk_backup_mac_bb(rtwdev, mac_backup, bb_backup,
-+				   backup_mac_reg, backup_bb_reg);
-+	rtw8814a_iqk_afe_setting(rtwdev, true);
-+	rtw8814a_iqk_backup_rf(rtwdev, rf_backup, backup_rf_reg);
-+	rtw8814a_iqk_configure_mac(rtwdev);
-+	rtw8814a_iqk(rtwdev);
-+	rtw8814a_iqk_reset_nctl(rtwdev); /* for 3-wire to BB use */
-+	rtw8814a_iqk_afe_setting(rtwdev, false);
-+	rtw8814a_iqk_restore_mac_bb(rtwdev, mac_backup, bb_backup,
-+				    backup_mac_reg, backup_bb_reg);
-+	rtw8814a_iqk_restore_rf(rtwdev, rf_backup, backup_rf_reg);
-+}
-+
-+static void rtw8814a_phy_calibration(struct rtw_dev *rtwdev)
-+{
-+	rtw8814a_do_iqk(rtwdev);
-+}
-+
-+static void rtw8814a_coex_cfg_init(struct rtw_dev *rtwdev)
-+{
-+}
-+
-+static void rtw8814a_coex_cfg_ant_switch(struct rtw_dev *rtwdev, u8 ctrl_type,
-+					 u8 pos_type)
-+{
-+	/* Override rtw_coex_coex_ctrl_owner(). RF path C does not
-+	 * function when BIT_LTE_MUX_CTRL_PATH is set.
-+	 */
-+	rtw_write8_clr(rtwdev, REG_SYS_SDIO_CTRL + 3,
-+		       BIT_LTE_MUX_CTRL_PATH >> 24);
-+}
-+
-+static void rtw8814a_coex_cfg_gnt_fix(struct rtw_dev *rtwdev)
-+{
-+}
-+
-+static void rtw8814a_coex_cfg_gnt_debug(struct rtw_dev *rtwdev)
-+{
-+}
-+
-+static void rtw8814a_coex_cfg_rfe_type(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_coex *coex = &rtwdev->coex;
-+	struct rtw_coex_rfe *coex_rfe = &coex->rfe;
-+
-+	/* Only needed to make rtw8814a_coex_cfg_ant_switch() run. */
-+	coex_rfe->ant_switch_exist = true;
-+}
-+
-+static void rtw8814a_coex_cfg_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr)
-+{
-+}
-+
-+static void rtw8814a_coex_cfg_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain)
-+{
-+}
-+
-+static void rtw8814a_txagc_swing_offset(struct rtw_dev *rtwdev, u8 path,
-+					u8 tx_pwr_idx_offset,
-+					s8 *txagc_idx, u8 *swing_idx)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+	u8 swing_upper_bound = dm_info->default_ofdm_index + 10;
-+	s8 delta_pwr_idx = dm_info->delta_power_index[path];
-+	u8 swing_index = dm_info->default_ofdm_index;
-+	u8 max_tx_pwr_idx_offset = 0xf;
-+	u8 swing_lower_bound = 0;
-+	s8 agc_index = 0;
-+
-+	tx_pwr_idx_offset = min_t(u8, tx_pwr_idx_offset, max_tx_pwr_idx_offset);
-+
-+	if (delta_pwr_idx >= 0) {
-+		if (delta_pwr_idx <= tx_pwr_idx_offset) {
-+			agc_index = delta_pwr_idx;
-+			swing_index = dm_info->default_ofdm_index;
-+		} else if (delta_pwr_idx > tx_pwr_idx_offset) {
-+			agc_index = tx_pwr_idx_offset;
-+			swing_index = dm_info->default_ofdm_index +
-+					delta_pwr_idx - tx_pwr_idx_offset;
-+			swing_index = min_t(u8, swing_index, swing_upper_bound);
-+		}
-+	} else {
-+		if (dm_info->default_ofdm_index > abs(delta_pwr_idx))
-+			swing_index =
-+				dm_info->default_ofdm_index + delta_pwr_idx;
-+		else
-+			swing_index = swing_lower_bound;
-+		swing_index = max_t(u8, swing_index, swing_lower_bound);
-+
-+		agc_index = 0;
-+	}
-+
-+	if (swing_index >= RTW_TXSCALE_SIZE) {
-+		rtw_warn(rtwdev, "swing index overflow\n");
-+		swing_index = RTW_TXSCALE_SIZE - 1;
-+	}
-+	*txagc_idx = agc_index;
-+	*swing_idx = swing_index;
-+}
-+
-+static void rtw8814a_pwrtrack_set_pwr(struct rtw_dev *rtwdev, u8 path,
-+				      u8 pwr_idx_offset)
-+{
-+	static const u32 txagc_reg[RTW_RF_PATH_MAX] = {
-+		REG_TX_AGC_A, REG_TX_AGC_B, REG_TX_AGC_C, REG_TX_AGC_D
-+	};
-+	static const u32 txscale_reg[RTW_RF_PATH_MAX] = {
-+		REG_TXSCALE_A, REG_TXSCALE_B, REG_TXSCALE_C, REG_TXSCALE_D
-+	};
-+	s8 txagc_idx;
-+	u8 swing_idx;
-+
-+	rtw8814a_txagc_swing_offset(rtwdev, path, pwr_idx_offset,
-+				    &txagc_idx, &swing_idx);
-+	rtw_write32_mask(rtwdev, txagc_reg[path], GENMASK(29, 25),
-+			 txagc_idx);
-+	rtw_write32_mask(rtwdev, txscale_reg[path], BB_SWING_MASK,
-+			 rtw8814a_txscale_tbl[swing_idx]);
-+}
-+
-+static void rtw8814a_pwrtrack_set(struct rtw_dev *rtwdev, u8 path)
-+{
-+	u8 max_pwr_idx = rtwdev->chip->max_power_index;
-+	u8 band_width = rtwdev->hal.current_band_width;
-+	u8 channel = rtwdev->hal.current_channel;
-+	u8 tx_rate = rtwdev->dm_info.tx_rate;
-+	u8 regd = rtw_regd_get(rtwdev);
-+	u8 pwr_idx_offset, tx_pwr_idx;
-+
-+	tx_pwr_idx = rtw_phy_get_tx_power_index(rtwdev, path, tx_rate,
-+						band_width, channel, regd);
-+
-+	tx_pwr_idx = min_t(u8, tx_pwr_idx, max_pwr_idx);
-+
-+	pwr_idx_offset = max_pwr_idx - tx_pwr_idx;
-+
-+	rtw8814a_pwrtrack_set_pwr(rtwdev, path, pwr_idx_offset);
-+}
-+
-+static void rtw8814a_phy_pwrtrack_path(struct rtw_dev *rtwdev,
-+				       struct rtw_swing_table *swing_table,
-+				       u8 path)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+	u8 power_idx_cur, power_idx_last;
-+	u8 delta;
-+
-+	/* 8814A only has one thermal meter at PATH A */
-+	delta = rtw_phy_pwrtrack_get_delta(rtwdev, RF_PATH_A);
-+
-+	power_idx_last = dm_info->delta_power_index[path];
-+	power_idx_cur = rtw_phy_pwrtrack_get_pwridx(rtwdev, swing_table,
-+						    path, RF_PATH_A, delta);
-+
-+	/* if delta of power indexes are the same, just skip */
-+	if (power_idx_cur == power_idx_last)
-+		return;
-+
-+	dm_info->delta_power_index[path] = power_idx_cur;
-+	rtw8814a_pwrtrack_set(rtwdev, path);
-+}
-+
-+static void rtw8814a_phy_pwrtrack(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+	struct rtw_swing_table swing_table;
-+	u8 thermal_value, path;
-+
-+	rtw_phy_config_swing_table(rtwdev, &swing_table);
-+
-+	if (rtwdev->efuse.thermal_meter[RF_PATH_A] == 0xff)
-+		return;
-+
-+	thermal_value = rtw_read_rf(rtwdev, RF_PATH_A, RF_T_METER, 0xfc00);
-+
-+	rtw_phy_pwrtrack_avg(rtwdev, thermal_value, RF_PATH_A);
-+
-+	if (dm_info->pwr_trk_init_trigger)
-+		dm_info->pwr_trk_init_trigger = false;
-+	else if (!rtw_phy_pwrtrack_thermal_changed(rtwdev, thermal_value,
-+						   RF_PATH_A))
-+		goto iqk;
-+
-+	for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++)
-+		rtw8814a_phy_pwrtrack_path(rtwdev, &swing_table, path);
-+
-+iqk:
-+	if (rtw_phy_pwrtrack_need_iqk(rtwdev))
-+		rtw8814a_do_iqk(rtwdev);
-+}
-+
-+static void rtw8814a_pwr_track(struct rtw_dev *rtwdev)
-+{
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+
-+	if (!dm_info->pwr_trk_triggered) {
-+		rtw_write_rf(rtwdev, RF_PATH_A, RF_T_METER,
-+			     GENMASK(17, 16), 0x03);
-+		dm_info->pwr_trk_triggered = true;
-+		return;
-+	}
-+
-+	rtw8814a_phy_pwrtrack(rtwdev);
-+	dm_info->pwr_trk_triggered = false;
-+}
-+
-+static void rtw8814a_phy_cck_pd_set(struct rtw_dev *rtwdev, u8 new_lvl)
-+{
-+	static const u8 pd[CCK_PD_LV_MAX] = {0x40, 0x83, 0xcd, 0xdd, 0xed};
-+	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-+
-+	/* Override rtw_phy_cck_pd_lv_link(). It implements something
-+	 * like type 2/3/4. We need type 1 here.
-+	 */
-+	if (rtw_is_assoc(rtwdev)) {
-+		if (dm_info->min_rssi > 60) {
-+			new_lvl = CCK_PD_LV3;
-+		} else if (dm_info->min_rssi > 35) {
-+			new_lvl = CCK_PD_LV2;
-+		} else if (dm_info->min_rssi > 20) {
-+			if (dm_info->cck_fa_avg > 500)
-+				new_lvl = CCK_PD_LV2;
-+			else if (dm_info->cck_fa_avg < 250)
-+				new_lvl = CCK_PD_LV1;
-+			else
-+				return;
-+		} else {
-+			new_lvl = CCK_PD_LV1;
-+		}
-+	}
-+
-+	rtw_dbg(rtwdev, RTW_DBG_PHY, "lv: (%d) -> (%d)\n",
-+		dm_info->cck_pd_lv[RTW_CHANNEL_WIDTH_20][RF_PATH_A], new_lvl);
-+
-+	if (dm_info->cck_pd_lv[RTW_CHANNEL_WIDTH_20][RF_PATH_A] == new_lvl)
-+		return;
-+
-+	dm_info->cck_fa_avg = CCK_FA_AVG_RESET;
-+	dm_info->cck_pd_lv[RTW_CHANNEL_WIDTH_20][RF_PATH_A] = new_lvl;
-+
-+	rtw_write8(rtwdev, REG_CCK_PD_TH, pd[new_lvl]);
-+}
-+
-+static void rtw8814a_led_set(struct led_classdev *led,
-+			     enum led_brightness brightness)
-+{
-+	struct rtw_dev *rtwdev = container_of(led, struct rtw_dev, led_cdev);
-+	u32 led_gpio_cfg;
-+
-+	led_gpio_cfg = rtw_read32(rtwdev, REG_GPIO_PIN_CTRL_2);
-+	led_gpio_cfg |= BIT(16) | BIT(17) | BIT(21) | BIT(22);
-+
-+	if (brightness == LED_OFF) {
-+		led_gpio_cfg |= BIT(8) | BIT(9) | BIT(13) | BIT(14);
-+	} else {
-+		led_gpio_cfg &= ~(BIT(8) | BIT(9) | BIT(13) | BIT(14));
-+		led_gpio_cfg &= ~(BIT(0) | BIT(1) | BIT(5) | BIT(6));
-+	}
-+
-+	rtw_write32(rtwdev, REG_GPIO_PIN_CTRL_2, led_gpio_cfg);
-+}
-+
-+static void rtw8814a_fill_txdesc_checksum(struct rtw_dev *rtwdev,
-+					  struct rtw_tx_pkt_info *pkt_info,
-+					  u8 *txdesc)
-+{
-+	size_t words = 32 / 2; /* calculate the first 32 bytes (16 words) */
-+
-+	fill_txdesc_checksum_common(txdesc, words);
-+}
-+
-+static const struct rtw_chip_ops rtw8814a_ops = {
-+	.power_on		= rtw_power_on,
-+	.power_off		= rtw_power_off,
-+	.phy_set_param		= rtw8814a_phy_set_param,
-+	.read_efuse		= rtw8814a_read_efuse,
-+	.query_phy_status	= rtw8814a_query_phy_status,
-+	.set_channel		= rtw8814a_set_channel,
-+	.mac_init		= rtw8814a_mac_init,
-+	.read_rf		= rtw_phy_read_rf,
-+	.write_rf		= rtw_phy_write_rf_reg_sipi,
-+	.set_tx_power_index	= rtw8814a_set_tx_power_index,
-+	.set_antenna		= NULL,
-+	.cfg_ldo25		= rtw8814a_cfg_ldo25,
-+	.efuse_grant		= rtw8814a_efuse_grant,
-+	.false_alarm_statistics	= rtw8814a_false_alarm_statistics,
-+	.phy_calibration	= rtw8814a_phy_calibration,
-+	.cck_pd_set		= rtw8814a_phy_cck_pd_set,
-+	.pwr_track		= rtw8814a_pwr_track,
-+	.config_bfee		= NULL,
-+	.set_gid_table		= NULL,
-+	.cfg_csi_rate		= NULL,
-+	.led_set		= rtw8814a_led_set,
-+	.fill_txdesc_checksum	= rtw8814a_fill_txdesc_checksum,
-+
-+	.coex_set_init		= rtw8814a_coex_cfg_init,
-+	.coex_set_ant_switch	= rtw8814a_coex_cfg_ant_switch,
-+	.coex_set_gnt_fix	= rtw8814a_coex_cfg_gnt_fix,
-+	.coex_set_gnt_debug	= rtw8814a_coex_cfg_gnt_debug,
-+	.coex_set_rfe_type	= rtw8814a_coex_cfg_rfe_type,
-+	.coex_set_wl_tx_power	= rtw8814a_coex_cfg_wl_tx_power,
-+	.coex_set_wl_rx_gain	= rtw8814a_coex_cfg_wl_rx_gain,
-+};
-+
-+static const struct rtw_rqpn rqpn_table_8814a[] = {
-+	/* SDIO */
-+	{RTW_DMA_MAPPING_NORMAL, RTW_DMA_MAPPING_NORMAL, /* vo vi */
-+	 RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,	 /* be bk */
-+	 RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},	 /* mg hi */
-+	/* PCIE */
-+	{RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_NORMAL,
-+	 RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,
-+	 RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_HIGH},
-+	/* USB, 2 bulk out */
-+	{RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_HIGH,
-+	 RTW_DMA_MAPPING_NORMAL, RTW_DMA_MAPPING_NORMAL,
-+	 RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_HIGH},
-+	/* USB, 3 bulk out */
-+	{RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_NORMAL,
-+	 RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,
-+	 RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_HIGH},
-+	/* USB, 4 bulk out */
-+	{RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_NORMAL,
-+	 RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,
-+	 RTW_DMA_MAPPING_HIGH, RTW_DMA_MAPPING_HIGH},
-+};
-+
-+static const struct rtw_prioq_addrs prioq_addrs_8814a = {
-+	.prio[RTW_DMA_MAPPING_EXTRA] = {
-+		.rsvd = REG_FIFOPAGE_INFO_4, .avail = REG_FIFOPAGE_INFO_4 + 2,
-+	},
-+	.prio[RTW_DMA_MAPPING_LOW] = {
-+		.rsvd = REG_FIFOPAGE_INFO_2, .avail = REG_FIFOPAGE_INFO_2 + 2,
-+	},
-+	.prio[RTW_DMA_MAPPING_NORMAL] = {
-+		.rsvd = REG_FIFOPAGE_INFO_3, .avail = REG_FIFOPAGE_INFO_3 + 2,
-+	},
-+	.prio[RTW_DMA_MAPPING_HIGH] = {
-+		.rsvd = REG_FIFOPAGE_INFO_1, .avail = REG_FIFOPAGE_INFO_1 + 2,
-+	},
-+	.wsize = true,
-+};
-+
-+static const struct rtw_page_table page_table_8814a[] = {
-+	/* SDIO */
-+	{0, 0, 0, 0, 0},	/* hq nq lq exq gapq */
-+	/* PCIE */
-+	{32, 32, 32, 32, 0},
-+	/* USB, 2 bulk out */
-+	{32, 32, 32, 32, 0},
-+	/* USB, 3 bulk out */
-+	{32, 32, 32, 32, 0},
-+	/* USB, 4 bulk out */
-+	{32, 32, 32, 32, 0},
-+};
-+
-+static const struct rtw_intf_phy_para_table phy_para_table_8814a = {};
-+
-+static const struct rtw_hw_reg rtw8814a_dig[] = {
-+	[0] = { .addr = 0xc50, .mask = 0x7f },
-+	[1] = { .addr = 0xe50, .mask = 0x7f },
-+	[2] = { .addr = 0x1850, .mask = 0x7f },
-+	[3] = { .addr = 0x1a50, .mask = 0x7f },
-+};
-+
-+static const struct rtw_rfe_def rtw8814a_rfe_defs[] = {
-+	[0] = { .phy_pg_tbl	= &rtw8814a_bb_pg_type0_tbl,
-+		.txpwr_lmt_tbl	= &rtw8814a_txpwr_lmt_type0_tbl,
-+		.pwr_track_tbl	= &rtw8814a_rtw_pwrtrk_type0_tbl },
-+	[1] = { .phy_pg_tbl	= &rtw8814a_bb_pg_tbl,
-+		.txpwr_lmt_tbl	= &rtw8814a_txpwr_lmt_type1_tbl,
-+		.pwr_track_tbl	= &rtw8814a_rtw_pwrtrk_tbl },
-+};
-+
-+/* rssi in percentage % (dbm = % - 100) */
-+static const u8 wl_rssi_step_8814a[] = {60, 50, 44, 30};
-+static const u8 bt_rssi_step_8814a[] = {30, 30, 30, 30};
-+
-+/* wl_tx_dec_power, bt_tx_dec_power, wl_rx_gain, bt_rx_lna_constrain */
-+static const struct coex_rf_para rf_para_tx_8814a[] = {
-+	{0, 0, false, 7},  /* for normal */
-+	{0, 16, false, 7}, /* for WL-CPT */
-+	{4, 0, true, 1},
-+	{3, 6, true, 1},
-+	{2, 9, true, 1},
-+	{1, 13, true, 1}
-+};
-+
-+static const struct coex_rf_para rf_para_rx_8814a[] = {
-+	{0, 0, false, 7},  /* for normal */
-+	{0, 16, false, 7}, /* for WL-CPT */
-+	{4, 0, true, 1},
-+	{3, 6, true, 1},
-+	{2, 9, true, 1},
-+	{1, 13, true, 1}
-+};
-+
-+static_assert(ARRAY_SIZE(rf_para_tx_8814a) == ARRAY_SIZE(rf_para_rx_8814a));
-+
-+const struct rtw_chip_info rtw8814a_hw_spec = {
-+	.ops = &rtw8814a_ops,
-+	.id = RTW_CHIP_TYPE_8814A,
-+	.fw_name = "rtw88/rtw8814a_fw.bin",
-+	.wlan_cpu = RTW_WCPU_11AC,
-+	.tx_pkt_desc_sz = 40,
-+	.tx_buf_desc_sz = 16,
-+	.rx_pkt_desc_sz = 24,
-+	.rx_buf_desc_sz = 8,
-+	.phy_efuse_size = 1024,
-+	.log_efuse_size = 512,
-+	.ptct_efuse_size = 0,
-+	.txff_size = (2048 - 10) * TX_PAGE_SIZE,
-+	.rxff_size = 23552,
-+	.rsvd_drv_pg_num = 8,
-+	.band = RTW_BAND_2G | RTW_BAND_5G,
-+	.page_size = TX_PAGE_SIZE,
-+	.csi_buf_pg_num = 0,
-+	.dig_min = 0x1c,
-+	.txgi_factor = 1,
-+	.is_pwr_by_rate_dec = true,
-+	.rx_ldpc = true,
-+	.max_power_index = 0x3f,
-+	.ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
-+	.usb_tx_agg_desc_num = 3,
-+	.hw_feature_report = false,
-+	.c2h_ra_report_size = 6,
-+	.old_datarate_fb_limit = false,
-+	.ht_supported = true,
-+	.vht_supported = true,
-+	.lps_deep_mode_supported = BIT(LPS_DEEP_MODE_LCLK),
-+	.sys_func_en = 0xDC,
-+	.pwr_on_seq = card_enable_flow_8814a,
-+	.pwr_off_seq = card_disable_flow_8814a,
-+	.rqpn_table = rqpn_table_8814a,
-+	.prioq_addrs = &prioq_addrs_8814a,
-+	.page_table = page_table_8814a,
-+	.intf_table = &phy_para_table_8814a,
-+	.dig = rtw8814a_dig,
-+	.dig_cck = NULL,
-+	.rf_base_addr = {0x2800, 0x2c00, 0x3800, 0x3c00},
-+	.rf_sipi_addr = {0xc90, 0xe90, 0x1890, 0x1a90},
-+	.ltecoex_addr = NULL,
-+	.mac_tbl = &rtw8814a_mac_tbl,
-+	.agc_tbl = &rtw8814a_agc_tbl,
-+	.bb_tbl = &rtw8814a_bb_tbl,
-+	.rf_tbl = {&rtw8814a_rf_a_tbl, &rtw8814a_rf_b_tbl,
-+		   &rtw8814a_rf_c_tbl, &rtw8814a_rf_d_tbl},
-+	.rfe_defs = rtw8814a_rfe_defs,
-+	.rfe_defs_size = ARRAY_SIZE(rtw8814a_rfe_defs),
-+	.iqk_threshold = 8,
-+	.max_scan_ie_len = IEEE80211_MAX_DATA_LEN,
-+
-+	.coex_para_ver = 0,
-+	.bt_desired_ver = 0,
-+	.scbd_support = false,
-+	.new_scbd10_def = false,
-+	.ble_hid_profile_support = false,
-+	.wl_mimo_ps_support = false,
-+	.pstdma_type = COEX_PSTDMA_FORCE_LPSOFF,
-+	.bt_rssi_type = COEX_BTRSSI_RATIO,
-+	.ant_isolation = 15,
-+	.rssi_tolerance = 2,
-+	.wl_rssi_step = wl_rssi_step_8814a,
-+	.bt_rssi_step = bt_rssi_step_8814a,
-+	.table_sant_num = 0,
-+	.table_sant = NULL,
-+	.table_nsant_num = 0,
-+	.table_nsant = NULL,
-+	.tdma_sant_num = 0,
-+	.tdma_sant = NULL,
-+	.tdma_nsant_num = 0,
-+	.tdma_nsant = NULL,
-+	.wl_rf_para_num = ARRAY_SIZE(rf_para_tx_8814a),
-+	.wl_rf_para_tx = rf_para_tx_8814a,
-+	.wl_rf_para_rx = rf_para_rx_8814a,
-+	.bt_afh_span_bw20 = 0x24,
-+	.bt_afh_span_bw40 = 0x36,
-+	.afh_5g_num = 0,
-+	.afh_5g = NULL,
-+	.coex_info_hw_regs_num = 0,
-+	.coex_info_hw_regs = NULL,
-+};
-+EXPORT_SYMBOL(rtw8814a_hw_spec);
-+
-+MODULE_FIRMWARE("rtw88/rtw8814a_fw.bin");
-+
-+MODULE_AUTHOR("Bitterblue Smith <[email protected]>");
-+MODULE_DESCRIPTION("Realtek 802.11ac wireless 8814a driver");
-+MODULE_LICENSE("Dual BSD/GPL");
---- /dev/null
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
-@@ -0,0 +1,62 @@
-+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-+/* Copyright(c) 2025  Realtek Corporation
-+ */
-+
-+#ifndef __RTW8814A_H__
-+#define __RTW8814A_H__
-+
-+struct rtw8814au_efuse {
-+	u8 vid[2];			/* 0xd0 */
-+	u8 pid[2];			/* 0xd2 */
-+	u8 res[4];			/* 0xd4 */
-+	u8 mac_addr[ETH_ALEN];		/* 0xd8 */
-+} __packed;
-+
-+struct rtw8814ae_efuse {
-+	u8 mac_addr[ETH_ALEN];		/* 0xd0 */
-+	u8 vid[2];			/* 0xd6 */
-+	u8 did[2];			/* 0xd8 */
-+	u8 svid[2];			/* 0xda */
-+	u8 smid[2];			/* 0xdc */
-+} __packed;
-+
-+struct rtw8814a_efuse {
-+	__le16 rtl_id;
-+	u8 res0[0x0c];
-+	u8 usb_mode;			/* 0x0e */
-+	u8 res1;
-+
-+	/* power index for four RF paths */
-+	struct rtw_txpwr_idx txpwr_idx_table[4];
-+
-+	u8 channel_plan;		/* 0xb8 */
-+	u8 xtal_k;			/* 0xb9 */
-+	u8 thermal_meter;		/* 0xba */
-+	u8 iqk_lck;			/* 0xbb */
-+	u8 pa_type;			/* 0xbc */
-+	u8 lna_type_2g[2];		/* 0xbd */
-+	u8 lna_type_5g[2];		/* 0xbf */
-+	u8 rf_board_option;		/* 0xc1 */
-+	u8 res2;
-+	u8 rf_bt_setting;		/* 0xc3 */
-+	u8 eeprom_version;		/* 0xc4 */
-+	u8 eeprom_customer_id;		/* 0xc5 */
-+	u8 tx_bb_swing_setting_2g;	/* 0xc6 */
-+	u8 tx_bb_swing_setting_5g;	/* 0xc7 */
-+	u8 res3;
-+	u8 trx_antenna_option;		/* 0xc9 */
-+	u8 rfe_option;			/* 0xca */
-+	u8 country_code[2];		/* 0xcb */
-+	u8 res4[3];
-+	union {
-+		struct rtw8814au_efuse u;
-+		struct rtw8814ae_efuse e;
-+	};
-+	u8 res5[0x122];			/* 0xde */
-+} __packed;
-+
-+static_assert(sizeof(struct rtw8814a_efuse) == 512);
-+
-+extern const struct rtw_chip_info rtw8814a_hw_spec;
-+
-+#endif

+ 0 - 50
package/kernel/mac80211/patches/rtl/089-v6.15-wifi-rtw88-Add-rtw8814ae.c.patch

@@ -1,50 +0,0 @@
-From dad8e879310211c1e02f09c35f169388bccbfa42 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:25:09 +0200
-Subject: [PATCH] wifi: rtw88: Add rtw8814ae.c
-
-This is the entry point for the new module rtw88_8814ae.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- .../net/wireless/realtek/rtw88/rtw8814ae.c    | 31 +++++++++++++++++++
- 1 file changed, 31 insertions(+)
- create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8814ae.c
-
---- /dev/null
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814ae.c
-@@ -0,0 +1,31 @@
-+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
-+/* Copyright(c) 2025  Realtek Corporation
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/pci.h>
-+#include "pci.h"
-+#include "rtw8814a.h"
-+
-+static const struct pci_device_id rtw_8814ae_id_table[] = {
-+	{
-+		PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8813),
-+		.driver_data = (kernel_ulong_t)&rtw8814a_hw_spec
-+	},
-+	{}
-+};
-+MODULE_DEVICE_TABLE(pci, rtw_8814ae_id_table);
-+
-+static struct pci_driver rtw_8814ae_driver = {
-+	.name = "rtw_8814ae",
-+	.id_table = rtw_8814ae_id_table,
-+	.probe = rtw_pci_probe,
-+	.remove = rtw_pci_remove,
-+	.driver.pm = &rtw_pm_ops,
-+	.shutdown = rtw_pci_shutdown,
-+};
-+module_pci_driver(rtw_8814ae_driver);
-+
-+MODULE_AUTHOR("Bitterblue Smith <[email protected]>");
-+MODULE_DESCRIPTION("Realtek 802.11ac wireless 8814ae driver");
-+MODULE_LICENSE("Dual BSD/GPL");

+ 0 - 73
package/kernel/mac80211/patches/rtl/090-v6.15-wifi-rtw88-Add-rtw8814au.c.patch

@@ -1,73 +0,0 @@
-From bad060e8a425182809bfc2586a2e7f5ccd1a994d Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:25:37 +0200
-Subject: [PATCH] wifi: rtw88: Add rtw8814au.c
-
-This is the entry point for the new module rtw88_8814au.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- .../net/wireless/realtek/rtw88/rtw8814au.c    | 54 +++++++++++++++++++
- 1 file changed, 54 insertions(+)
- create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8814au.c
-
---- /dev/null
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814au.c
-@@ -0,0 +1,54 @@
-+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
-+/* Copyright(c) 2025  Realtek Corporation
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/usb.h>
-+#include "main.h"
-+#include "rtw8814a.h"
-+#include "usb.h"
-+
-+static const struct usb_device_id rtw_8814au_id_table[] = {
-+	{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8813, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x056e, 0x400b, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x056e, 0x400d, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0846, 0x9054, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1817, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1852, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1853, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0e66, 0x0026, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331a, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x20f4, 0x809a, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x20f4, 0x809b, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0106, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xa834, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xa833, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
-+	{},
-+};
-+MODULE_DEVICE_TABLE(usb, rtw_8814au_id_table);
-+
-+static struct usb_driver rtw_8814au_driver = {
-+	.name = "rtw_8814au",
-+	.id_table = rtw_8814au_id_table,
-+	.probe = rtw_usb_probe,
-+	.disconnect = rtw_usb_disconnect,
-+};
-+module_usb_driver(rtw_8814au_driver);
-+
-+MODULE_AUTHOR("Bitterblue Smith <[email protected]>");
-+MODULE_DESCRIPTION("Realtek 802.11ac wireless 8814au driver");
-+MODULE_LICENSE("Dual BSD/GPL");

+ 0 - 34
package/kernel/mac80211/patches/rtl/091-v6.15-wifi-rtw88-Add-__nonstring-annotations-for-untermina.patch

@@ -1,34 +0,0 @@
-From d58ad77d5cc2a6d04db622a898e54d93fc7002a2 Mon Sep 17 00:00:00 2001
-From: Kees Cook <[email protected]>
-Date: Mon, 10 Mar 2025 15:22:58 -0700
-Subject: [PATCH] wifi: rtw88: Add __nonstring annotations for unterminated
- strings
-
-When a character array without a terminating NUL character has a static
-initializer, GCC 15's -Wunterminated-string-initialization will only
-warn if the array lacks the "nonstring" attribute[1]. Mark the arrays
-with __nonstring to and correctly identify the char array as "not a C
-string" and thereby eliminate the warning.
-
-Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1]
-Cc: Ping-Ke Shih <[email protected]>
-Cc: Johannes Berg <[email protected]>
-Cc: [email protected]
-Signed-off-by: Kees Cook <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -835,7 +835,7 @@ struct rtw_vif {
- };
- 
- struct rtw_regulatory {
--	char alpha2[2];
-+	char alpha2[2] __nonstring;
- 	u8 txpwr_regd_2g;
- 	u8 txpwr_regd_5g;
- };

+ 0 - 130
package/kernel/mac80211/patches/rtl/092-v6.15-wifi-rtw88-Enable-the-new-RTL8814AE-RTL8814AU-driver.patch

@@ -1,130 +0,0 @@
-From deb3ddeb18652118956fb581a39ac299e1ee5623 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 7 Mar 2025 02:26:25 +0200
-Subject: [PATCH] wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers
-
-RTL8814A is a wifi 5 chip with 4 RF paths (chains), 3 spatial streams,
-and probably no Bluetooth.
-
-The USB-based RTL8814AU can reach 800 Mbps in the 5 GHz band in USB 3
-mode. In USB 2 mode it only uses 2 spatial streams.
-
-The PCI-based RTL8814AE is not as popular and didn't get as much
-testing so it's unclear how fast it goes. It's more like a bonus on top
-of the RTL8814AU support.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/Kconfig  | 25 +++++++++++++++++++++
- drivers/net/wireless/realtek/rtw88/Makefile |  9 ++++++++
- 2 files changed, 34 insertions(+)
-
---- a/Kconfig.local
-+++ b/Kconfig.local
-@@ -1138,6 +1138,9 @@ config BACKPORTED_RTW88_8821A
- config BACKPORTED_RTW88_8812A
- 	tristate
- 	default RTW88_8812A
-+config BACKPORTED_RTW88_8814A
-+	tristate
-+	default RTW88_8814A
- config BACKPORTED_RTW88_8822BE
- 	tristate
- 	default RTW88_8822BE
-@@ -1183,6 +1186,12 @@ config BACKPORTED_RTW88_8821AU
- config BACKPORTED_RTW88_8812AU
- 	tristate
- 	default RTW88_8812AU
-+config BACKPORTED_RTW88_8814AE
-+	tristate
-+	default RTW88_8814AE
-+config BACKPORTED_RTW88_8814AU
-+	tristate
-+	default RTW88_8814AU
- config BACKPORTED_RTW88_DEBUG
- 	tristate
- 	default RTW88_DEBUG
---- a/drivers/net/wireless/realtek/rtw88/Kconfig
-+++ b/drivers/net/wireless/realtek/rtw88/Kconfig
-@@ -68,6 +68,10 @@ config RTW88_8812A
- 	depends on m
- 	select RTW88_88XXA
- 
-+config RTW88_8814A
-+	tristate
-+	depends on m
-+
- config RTW88_8822BE
- 	tristate "Realtek 8822BE PCI wireless network adapter"
- 	depends on m
-@@ -251,6 +255,30 @@ config RTW88_8812AU
- 
- 	  802.11ac USB wireless network adapter
- 
-+config RTW88_8814AE
-+	tristate "Realtek 8814AE PCI wireless network adapter"
-+	depends on m
-+	depends on PCI
-+	select RTW88_CORE
-+	select RTW88_PCI
-+	select RTW88_8814A
-+	help
-+	  Select this option will enable support for 8814AE chipset
-+
-+	  802.11ac PCIe wireless network adapter
-+
-+config RTW88_8814AU
-+	tristate "Realtek 8814AU USB wireless network adapter"
-+	depends on m
-+	depends on USB
-+	select RTW88_CORE
-+	select RTW88_USB
-+	select RTW88_8814A
-+	help
-+	  Select this option will enable support for 8814AU chipset
-+
-+	  802.11ac USB wireless network adapter
-+
- config RTW88_DEBUG
- 	bool "Realtek rtw88 debug support"
- 	depends on RTW88_CORE
---- a/drivers/net/wireless/realtek/rtw88/Makefile
-+++ b/drivers/net/wireless/realtek/rtw88/Makefile
-@@ -94,6 +94,15 @@ rtw88_8821au-objs		:= rtw8821au.o
- obj-$(CPTCFG_RTW88_8812AU)	+= rtw88_8812au.o
- rtw88_8812au-objs		:= rtw8812au.o
- 
-+obj-$(CPTCFG_RTW88_8814A)	+= rtw88_8814a.o
-+rtw88_8814a-objs		:= rtw8814a.o rtw8814a_table.o
-+
-+obj-$(CPTCFG_RTW88_8814AE)	+= rtw88_8814ae.o
-+rtw88_8814ae-objs		:= rtw8814ae.o
-+
-+obj-$(CPTCFG_RTW88_8814AU)	+= rtw88_8814au.o
-+rtw88_8814au-objs		:= rtw8814au.o
-+
- obj-$(CPTCFG_RTW88_PCI)		+= rtw88_pci.o
- rtw88_pci-objs			:= pci.o
- 
---- a/local-symbols
-+++ b/local-symbols
-@@ -375,6 +375,7 @@ RTW88_8821C=
- RTW88_88XXA=
- RTW88_8821A=
- RTW88_8812A=
-+RTW88_8814A=
- RTW88_8822BE=
- RTW88_8822BS=
- RTW88_8822BU=
-@@ -390,6 +391,8 @@ RTW88_8821CS=
- RTW88_8821CU=
- RTW88_8821AU=
- RTW88_8812AU=
-+RTW88_8814AE=
-+RTW88_8814AU=
- RTW88_DEBUG=
- RTW88_DEBUGFS=
- RTW88_LEDS=

+ 0 - 36
package/kernel/mac80211/patches/rtl/093-v6.16-wifi-rtw88-sdio-Remove-redundant-flush_workqueue-cal.patch

@@ -1,36 +0,0 @@
-From 5c4cf36c538bb2714e43654e365cb77b19c4a93e Mon Sep 17 00:00:00 2001
-From: Chen Ni <[email protected]>
-Date: Mon, 24 Mar 2025 15:59:10 +0800
-Subject: [PATCH] wifi: rtw88: sdio: Remove redundant 'flush_workqueue()' calls
-
-'destroy_workqueue()' already drains the queue before destroying it, so
-there is no need to flush it explicitly.
-
-Remove the redundant 'flush_workqueue()' calls.
-
-This was generated with coccinelle:
-
-@@
-expression E;
-@@
-
-- flush_workqueue(E);
-  destroy_workqueue(E);
-
-Signed-off-by: Chen Ni <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/sdio.c | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/sdio.c
-+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
-@@ -1298,7 +1298,6 @@ static void rtw_sdio_deinit_tx(struct rt
- 	struct rtw_sdio *rtwsdio = (struct rtw_sdio *)rtwdev->priv;
- 	int i;
- 
--	flush_workqueue(rtwsdio->txwq);
- 	destroy_workqueue(rtwsdio->txwq);
- 	kfree(rtwsdio->tx_handler_data);
- 

+ 0 - 44
package/kernel/mac80211/patches/rtl/094-v6.16-wifi-rtw88-usb-Remove-redundant-flush_workqueue-call.patch

@@ -1,44 +0,0 @@
-From 625fbc16524a45488f6eb8561d98b3328efe79cd Mon Sep 17 00:00:00 2001
-From: Chen Ni <[email protected]>
-Date: Mon, 24 Mar 2025 16:03:03 +0800
-Subject: [PATCH] wifi: rtw88: usb: Remove redundant 'flush_workqueue()' calls
-
-'destroy_workqueue()' already drains the queue before destroying it, so
-there is no need to flush it explicitly.
-
-Remove the redundant 'flush_workqueue()' calls.
-
-This was generated with coccinelle:
-
-@@
-expression E;
-@@
-
-- flush_workqueue(E);
-  destroy_workqueue(E);
-
-Signed-off-by: Chen Ni <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/usb.c | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/usb.c
-+++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -952,7 +952,6 @@ static void rtw_usb_deinit_rx(struct rtw
- 
- 	skb_queue_purge(&rtwusb->rx_queue);
- 
--	flush_workqueue(rtwusb->rxwq);
- 	destroy_workqueue(rtwusb->rxwq);
- 
- 	skb_queue_purge(&rtwusb->rx_free_queue);
-@@ -981,7 +980,6 @@ static void rtw_usb_deinit_tx(struct rtw
- {
- 	struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
- 
--	flush_workqueue(rtwusb->txwq);
- 	destroy_workqueue(rtwusb->txwq);
- 	rtw_usb_tx_queue_purge(rtwusb);
- }

+ 0 - 32
package/kernel/mac80211/patches/rtl/095-v6.16-wifi-rtw88-usb-Enable-switching-the-RTL8814AU-to-USB.patch

@@ -1,32 +0,0 @@
-From bf1103654df99d50724a022c8b9fca8908a86f50 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Wed, 2 Apr 2025 18:30:02 +0300
-Subject: [PATCH] wifi: rtw88: usb: Enable switching the RTL8814AU to USB 3
-
-The Realtek wifi 5 devices which support USB 3 are weird: when first
-plugged in, they pretend to be USB 2. The driver needs to send some
-commands to the device, which make it disappear and come back as a
-USB 3 device.
-
-The method used to switch the RTL8812AU also works for the RTL8814AU.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/usb.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/usb.c
-+++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -1096,7 +1096,8 @@ static int rtw_usb_switch_mode_new(struc
- 
- static bool rtw_usb3_chip_old(u8 chip_id)
- {
--	return chip_id == RTW_CHIP_TYPE_8812A;
-+	return chip_id == RTW_CHIP_TYPE_8812A ||
-+	       chip_id == RTW_CHIP_TYPE_8814A;
- }
- 
- static bool rtw_usb3_chip_new(u8 chip_id)

+ 0 - 28
package/kernel/mac80211/patches/rtl/096-v6.16-wifi-rtw88-usb-Enable-RX-aggregation-for-RTL8814AU.patch

@@ -1,28 +0,0 @@
-From dcbb7bb3a364f218411761e2e5ee2f6818d9bdfc Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Wed, 2 Apr 2025 18:30:28 +0300
-Subject: [PATCH] wifi: rtw88: usb: Enable RX aggregation for RTL8814AU
-
-Let the chip transfer several frames in a single USB Request Block.
-This is supposed to improve the RX speed.
-
-It can use the same code used for RTL8822CU, RTL8822BU, and RTL8821CU.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/usb.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/net/wireless/realtek/rtw88/usb.c
-+++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -866,6 +866,7 @@ static void rtw_usb_dynamic_rx_agg(struc
- 	case RTW_CHIP_TYPE_8822C:
- 	case RTW_CHIP_TYPE_8822B:
- 	case RTW_CHIP_TYPE_8821C:
-+	case RTW_CHIP_TYPE_8814A:
- 		rtw_usb_dynamic_rx_agg_v1(rtwdev, enable);
- 		break;
- 	case RTW_CHIP_TYPE_8821A:

+ 0 - 192
package/kernel/mac80211/patches/rtl/097-v6.16-wifi-rtw88-Set-AMPDU-factor-to-hardware-for-RTL8814A.patch

@@ -1,192 +0,0 @@
-From 0d2a88690e583168effb03c64fd217a323b2c444 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Wed, 2 Apr 2025 18:31:12 +0300
-Subject: [PATCH] wifi: rtw88: Set AMPDU factor to hardware for RTL8814A
-
-Tell the chip the maximum AMPDU size supported by the AP. This greatly
-improves the TX speed of RTL8814AU in the 2.4 GHz band. Before: ~90
-Mbps. After: ~300 Mbps.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/mac80211.c |  2 ++
- drivers/net/wireless/realtek/rtw88/main.c     | 32 +++++++++++++++++++
- drivers/net/wireless/realtek/rtw88/main.h     |  3 ++
- drivers/net/wireless/realtek/rtw88/rtw8703b.c |  1 +
- drivers/net/wireless/realtek/rtw88/rtw8723d.c |  1 +
- drivers/net/wireless/realtek/rtw88/rtw8812a.c |  1 +
- drivers/net/wireless/realtek/rtw88/rtw8814a.c | 11 +++++++
- drivers/net/wireless/realtek/rtw88/rtw8821a.c |  1 +
- drivers/net/wireless/realtek/rtw88/rtw8821c.c |  1 +
- drivers/net/wireless/realtek/rtw88/rtw8822b.c |  1 +
- drivers/net/wireless/realtek/rtw88/rtw8822c.c |  1 +
- 11 files changed, 55 insertions(+)
-
---- a/drivers/net/wireless/realtek/rtw88/mac80211.c
-+++ b/drivers/net/wireless/realtek/rtw88/mac80211.c
-@@ -396,6 +396,8 @@ static void rtw_ops_bss_info_changed(str
- 			if (rtw_bf_support)
- 				rtw_bf_assoc(rtwdev, vif, conf);
- 
-+			rtw_set_ampdu_factor(rtwdev, vif, conf);
-+
- 			rtw_fw_beacon_filter_config(rtwdev, true, vif);
- 		} else {
- 			rtw_leave_lps(rtwdev);
---- a/drivers/net/wireless/realtek/rtw88/main.c
-+++ b/drivers/net/wireless/realtek/rtw88/main.c
-@@ -2447,6 +2447,38 @@ void rtw_core_enable_beacon(struct rtw_d
- 	}
- }
- 
-+void rtw_set_ampdu_factor(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
-+			  struct ieee80211_bss_conf *bss_conf)
-+{
-+	const struct rtw_chip_ops *ops = rtwdev->chip->ops;
-+	struct ieee80211_sta *sta;
-+	u8 factor = 0xff;
-+
-+	if (!ops->set_ampdu_factor)
-+		return;
-+
-+	rcu_read_lock();
-+
-+	sta = ieee80211_find_sta(vif, bss_conf->bssid);
-+	if (!sta) {
-+		rcu_read_unlock();
-+		rtw_warn(rtwdev, "%s: failed to find station %pM\n",
-+			 __func__, bss_conf->bssid);
-+		return;
-+	}
-+
-+	if (sta->deflink.vht_cap.vht_supported)
-+		factor = u32_get_bits(sta->deflink.vht_cap.cap,
-+				      IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK);
-+	else if (sta->deflink.ht_cap.ht_supported)
-+		factor = sta->deflink.ht_cap.ampdu_factor;
-+
-+	rcu_read_unlock();
-+
-+	if (factor != 0xff)
-+		ops->set_ampdu_factor(rtwdev, factor);
-+}
-+
- MODULE_AUTHOR("Realtek Corporation");
- MODULE_DESCRIPTION("Realtek 802.11ac wireless core module");
- MODULE_LICENSE("Dual BSD/GPL");
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -878,6 +878,7 @@ struct rtw_chip_ops {
- 			   u32 antenna_rx);
- 	void (*cfg_ldo25)(struct rtw_dev *rtwdev, bool enable);
- 	void (*efuse_grant)(struct rtw_dev *rtwdev, bool enable);
-+	void (*set_ampdu_factor)(struct rtw_dev *rtwdev, u8 factor);
- 	void (*false_alarm_statistics)(struct rtw_dev *rtwdev);
- 	void (*phy_calibration)(struct rtw_dev *rtwdev);
- 	void (*dpk_track)(struct rtw_dev *rtwdev);
-@@ -2272,4 +2273,6 @@ void rtw_update_channel(struct rtw_dev *
- void rtw_core_port_switch(struct rtw_dev *rtwdev, struct ieee80211_vif *vif);
- bool rtw_core_check_sta_active(struct rtw_dev *rtwdev);
- void rtw_core_enable_beacon(struct rtw_dev *rtwdev, bool enable);
-+void rtw_set_ampdu_factor(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
-+			  struct ieee80211_bss_conf *bss_conf);
- #endif
---- a/drivers/net/wireless/realtek/rtw88/rtw8703b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b.c
-@@ -1904,6 +1904,7 @@ static const struct rtw_chip_ops rtw8703
- 	.set_antenna		= NULL,
- 	.cfg_ldo25		= rtw8723x_cfg_ldo25,
- 	.efuse_grant		= rtw8723x_efuse_grant,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw8723x_false_alarm_statistics,
- 	.phy_calibration	= rtw8703b_phy_calibration,
- 	.dpk_track		= NULL,
---- a/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723d.c
-@@ -1404,6 +1404,7 @@ static const struct rtw_chip_ops rtw8723
- 	.set_antenna		= NULL,
- 	.cfg_ldo25		= rtw8723x_cfg_ldo25,
- 	.efuse_grant		= rtw8723x_efuse_grant,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw8723x_false_alarm_statistics,
- 	.phy_calibration	= rtw8723d_phy_calibration,
- 	.cck_pd_set		= rtw8723d_phy_cck_pd_set,
---- a/drivers/net/wireless/realtek/rtw88/rtw8812a.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8812a.c
-@@ -925,6 +925,7 @@ static const struct rtw_chip_ops rtw8812
- 	.set_tx_power_index	= rtw88xxa_set_tx_power_index,
- 	.cfg_ldo25		= rtw8812a_cfg_ldo25,
- 	.efuse_grant		= rtw88xxa_efuse_grant,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw88xxa_false_alarm_statistics,
- 	.phy_calibration	= rtw8812a_phy_calibration,
- 	.cck_pd_set		= rtw88xxa_phy_cck_pd_set,
---- a/drivers/net/wireless/realtek/rtw88/rtw8814a.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.c
-@@ -1332,6 +1332,16 @@ static void rtw8814a_cfg_ldo25(struct rt
- {
- }
- 
-+/* Without this RTL8814A sends too many frames and (some?) 11n AP
-+ * can't handle it, resulting in low TX speed. Other chips seem fine.
-+ */
-+static void rtw8814a_set_ampdu_factor(struct rtw_dev *rtwdev, u8 factor)
-+{
-+	factor = min_t(u8, factor, IEEE80211_VHT_MAX_AMPDU_256K);
-+
-+	rtw_write32(rtwdev, REG_AMPDU_MAX_LENGTH, (8192 << factor) - 1);
-+}
-+
- static void rtw8814a_false_alarm_statistics(struct rtw_dev *rtwdev)
- {
- 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
-@@ -2051,6 +2061,7 @@ static const struct rtw_chip_ops rtw8814
- 	.set_antenna		= NULL,
- 	.cfg_ldo25		= rtw8814a_cfg_ldo25,
- 	.efuse_grant		= rtw8814a_efuse_grant,
-+	.set_ampdu_factor	= rtw8814a_set_ampdu_factor,
- 	.false_alarm_statistics	= rtw8814a_false_alarm_statistics,
- 	.phy_calibration	= rtw8814a_phy_calibration,
- 	.cck_pd_set		= rtw8814a_phy_cck_pd_set,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821a.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821a.c
-@@ -871,6 +871,7 @@ static const struct rtw_chip_ops rtw8821
- 	.set_tx_power_index	= rtw88xxa_set_tx_power_index,
- 	.cfg_ldo25		= rtw8821a_cfg_ldo25,
- 	.efuse_grant		= rtw88xxa_efuse_grant,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw88xxa_false_alarm_statistics,
- 	.phy_calibration	= rtw8821a_phy_calibration,
- 	.cck_pd_set		= rtw88xxa_phy_cck_pd_set,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-@@ -1668,6 +1668,7 @@ static const struct rtw_chip_ops rtw8821
- 	.set_antenna		= NULL,
- 	.set_tx_power_index	= rtw8821c_set_tx_power_index,
- 	.cfg_ldo25		= rtw8821c_cfg_ldo25,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw8821c_false_alarm_statistics,
- 	.phy_calibration	= rtw8821c_phy_calibration,
- 	.cck_pd_set		= rtw8821c_phy_cck_pd_set,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-@@ -2158,6 +2158,7 @@ static const struct rtw_chip_ops rtw8822
- 	.set_tx_power_index	= rtw8822b_set_tx_power_index,
- 	.set_antenna		= rtw8822b_set_antenna,
- 	.cfg_ldo25		= rtw8822b_cfg_ldo25,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw8822b_false_alarm_statistics,
- 	.phy_calibration	= rtw8822b_phy_calibration,
- 	.pwr_track		= rtw8822b_pwr_track,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -4968,6 +4968,7 @@ static const struct rtw_chip_ops rtw8822
- 	.set_tx_power_index	= rtw8822c_set_tx_power_index,
- 	.set_antenna		= rtw8822c_set_antenna,
- 	.cfg_ldo25		= rtw8822c_cfg_ldo25,
-+	.set_ampdu_factor	= NULL,
- 	.false_alarm_statistics	= rtw8822c_false_alarm_statistics,
- 	.dpk_track		= rtw8822c_dpk_track,
- 	.phy_calibration	= rtw8822c_phy_calibration,

+ 0 - 169
package/kernel/mac80211/patches/rtl/098-v6.16-wifi-rtw88-Don-t-set-SUPPORTS_AMSDU_IN_AMPDU-for-RTL.patch

@@ -1,169 +0,0 @@
-From b8d49bb8d16ae7dde8e05b275d6e3b8bbf27f011 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Wed, 2 Apr 2025 18:31:36 +0300
-Subject: [PATCH] wifi: rtw88: Don't set SUPPORTS_AMSDU_IN_AMPDU for RTL8814AU
-
-RTL8814AU doesn't work well with SUPPORTS_AMSDU_IN_AMPDU. The RX speed
-is noticeably lower and the VHT RX statistics are strange. Typical
-values with SUPPORTS_AMSDU_IN_AMPDU:
-
-Reverse mode, remote host 192.168.0.1 is sending
-[  5] local 192.168.0.50 port 60710 connected to 192.168.0.1 port 5201
-[ ID] Interval           Transfer     Bitrate
-[  5]   0.00-1.00   sec  74.6 MBytes   626 Mbits/sec
-[  5]   1.00-2.00   sec  79.2 MBytes   665 Mbits/sec
-[  5]   2.00-3.00   sec  84.9 MBytes   712 Mbits/sec
-[  5]   3.00-4.00   sec  83.8 MBytes   703 Mbits/sec
-[  5]   4.00-5.00   sec  85.9 MBytes   720 Mbits/sec
-[  5]   5.00-6.00   sec  78.9 MBytes   662 Mbits/sec
-[  5]   6.00-7.00   sec  81.2 MBytes   682 Mbits/sec
-[  5]   7.00-8.00   sec  80.5 MBytes   675 Mbits/sec
-[  5]   8.00-9.00   sec  79.4 MBytes   666 Mbits/sec
-[  5]   9.00-10.00  sec  82.2 MBytes   689 Mbits/sec
-[  5]  10.00-11.00  sec  82.0 MBytes   688 Mbits/sec
-[  5]  11.00-12.00  sec  84.2 MBytes   707 Mbits/sec
-[  5]  12.00-13.00  sec  71.0 MBytes   596 Mbits/sec
-[  5]  13.00-14.00  sec  69.4 MBytes   582 Mbits/sec
-[  5]  14.00-15.00  sec  80.2 MBytes   673 Mbits/sec
-[  5]  15.00-16.00  sec  74.5 MBytes   625 Mbits/sec
-
-[Rx Counter]:
- * CCA (CCK, OFDM, Total) = (0, 2455, 2455)
- * False Alarm (CCK, OFDM, Total) = (0, 69, 69)
- * CCK cnt (ok, err) = (0, 0)
- * OFDM cnt (ok, err) = (1239, 2)
- * HT cnt (ok, err) = (0, 0)
- * VHT cnt (ok, err) = (21, 12109)
-
-The "VHT ok" number is not believable.
-
-And without SUPPORTS_AMSDU_IN_AMPDU:
-
-Reverse mode, remote host 192.168.0.1 is sending
-[  5] local 192.168.0.50 port 50030 connected to 192.168.0.1 port 5201
-[ ID] Interval           Transfer     Bitrate
-[  5]   0.00-1.00   sec  70.5 MBytes   591 Mbits/sec
-[  5]   1.00-2.00   sec  86.9 MBytes   729 Mbits/sec
-[  5]   2.00-3.00   sec  98.6 MBytes   827 Mbits/sec
-[  5]   3.00-4.00   sec  97.4 MBytes   817 Mbits/sec
-[  5]   4.00-5.00   sec  98.6 MBytes   827 Mbits/sec
-[  5]   5.00-6.00   sec  96.9 MBytes   813 Mbits/sec
-[  5]   6.00-7.00   sec  98.2 MBytes   824 Mbits/sec
-[  5]   7.00-8.00   sec  98.0 MBytes   822 Mbits/sec
-[  5]   8.00-9.00   sec  99.9 MBytes   838 Mbits/sec
-[  5]   9.00-10.00  sec  99.2 MBytes   833 Mbits/sec
-[  5]  10.00-11.00  sec  98.0 MBytes   822 Mbits/sec
-[  5]  11.00-12.00  sec  98.1 MBytes   823 Mbits/sec
-[  5]  12.00-13.00  sec  97.0 MBytes   814 Mbits/sec
-[  5]  13.00-14.00  sec  98.2 MBytes   824 Mbits/sec
-[  5]  14.00-15.00  sec  98.5 MBytes   826 Mbits/sec
-[  5]  15.00-16.00  sec  97.4 MBytes   817 Mbits/sec
-
-[Rx Counter]:
- * CCA (CCK, OFDM, Total) = (0, 3860, 3860)
- * False Alarm (CCK, OFDM, Total) = (0, 2, 2)
- * CCK cnt (ok, err) = (0, 0)
- * OFDM cnt (ok, err) = (1486, 0)
- * HT cnt (ok, err) = (0, 0)
- * VHT cnt (ok, err) = (7399, 9118)
-
-Add a new member "amsdu_in_ampdu" in struct rtw_chip_info and use it
-to set SUPPORTS_AMSDU_IN_AMPDU only for the other chips.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/main.c     | 3 ++-
- drivers/net/wireless/realtek/rtw88/main.h     | 1 +
- drivers/net/wireless/realtek/rtw88/rtw8812a.c | 1 +
- drivers/net/wireless/realtek/rtw88/rtw8814a.c | 1 +
- drivers/net/wireless/realtek/rtw88/rtw8821a.c | 1 +
- drivers/net/wireless/realtek/rtw88/rtw8821c.c | 1 +
- drivers/net/wireless/realtek/rtw88/rtw8822b.c | 1 +
- drivers/net/wireless/realtek/rtw88/rtw8822c.c | 1 +
- 8 files changed, 9 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/main.c
-+++ b/drivers/net/wireless/realtek/rtw88/main.c
-@@ -2242,7 +2242,8 @@ int rtw_register_hw(struct rtw_dev *rtwd
- 	ieee80211_hw_set(hw, SUPPORTS_PS);
- 	ieee80211_hw_set(hw, SUPPORTS_DYNAMIC_PS);
- 	ieee80211_hw_set(hw, SUPPORT_FAST_XMIT);
--	ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
-+	if (rtwdev->chip->amsdu_in_ampdu)
-+		ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
- 	ieee80211_hw_set(hw, HAS_RATE_CONTROL);
- 	ieee80211_hw_set(hw, TX_AMSDU);
- 	ieee80211_hw_set(hw, SINGLE_SCAN_ON_ALL_BANDS);
---- a/drivers/net/wireless/realtek/rtw88/main.h
-+++ b/drivers/net/wireless/realtek/rtw88/main.h
-@@ -1230,6 +1230,7 @@ struct rtw_chip_info {
- 	u16 fw_fifo_addr[RTW_FW_FIFO_MAX];
- 	const struct rtw_fwcd_segs *fwcd_segs;
- 
-+	bool amsdu_in_ampdu;
- 	u8 usb_tx_agg_desc_num;
- 	bool hw_feature_report;
- 	u8 c2h_ra_report_size;
---- a/drivers/net/wireless/realtek/rtw88/rtw8812a.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8812a.c
-@@ -1076,6 +1076,7 @@ const struct rtw_chip_info rtw8812a_hw_s
- 	.rfe_defs = rtw8812a_rfe_defs,
- 	.rfe_defs_size = ARRAY_SIZE(rtw8812a_rfe_defs),
- 	.rx_ldpc = false,
-+	.amsdu_in_ampdu = true,
- 	.hw_feature_report = false,
- 	.c2h_ra_report_size = 4,
- 	.old_datarate_fb_limit = true,
---- a/drivers/net/wireless/realtek/rtw88/rtw8814a.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.c
-@@ -2200,6 +2200,7 @@ const struct rtw_chip_info rtw8814a_hw_s
- 	.rx_ldpc = true,
- 	.max_power_index = 0x3f,
- 	.ampdu_density = IEEE80211_HT_MPDU_DENSITY_2,
-+	.amsdu_in_ampdu = false, /* RX speed is better without AMSDU */
- 	.usb_tx_agg_desc_num = 3,
- 	.hw_feature_report = false,
- 	.c2h_ra_report_size = 6,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821a.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821a.c
-@@ -1176,6 +1176,7 @@ const struct rtw_chip_info rtw8821a_hw_s
- 	.rfe_defs = rtw8821a_rfe_defs,
- 	.rfe_defs_size = ARRAY_SIZE(rtw8821a_rfe_defs),
- 	.rx_ldpc = false,
-+	.amsdu_in_ampdu = true,
- 	.hw_feature_report = false,
- 	.c2h_ra_report_size = 4,
- 	.old_datarate_fb_limit = true,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c
-@@ -1991,6 +1991,7 @@ const struct rtw_chip_info rtw8821c_hw_s
- 	.band = RTW_BAND_2G | RTW_BAND_5G,
- 	.page_size = TX_PAGE_SIZE,
- 	.dig_min = 0x1c,
-+	.amsdu_in_ampdu = true,
- 	.usb_tx_agg_desc_num = 3,
- 	.hw_feature_report = true,
- 	.c2h_ra_report_size = 7,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-@@ -2532,6 +2532,7 @@ const struct rtw_chip_info rtw8822b_hw_s
- 	.band = RTW_BAND_2G | RTW_BAND_5G,
- 	.page_size = TX_PAGE_SIZE,
- 	.dig_min = 0x1c,
-+	.amsdu_in_ampdu = true,
- 	.usb_tx_agg_desc_num = 3,
- 	.hw_feature_report = true,
- 	.c2h_ra_report_size = 7,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -5350,6 +5350,7 @@ const struct rtw_chip_info rtw8822c_hw_s
- 	.band = RTW_BAND_2G | RTW_BAND_5G,
- 	.page_size = TX_PAGE_SIZE,
- 	.dig_min = 0x20,
-+	.amsdu_in_ampdu = true,
- 	.usb_tx_agg_desc_num = 3,
- 	.hw_feature_report = true,
- 	.c2h_ra_report_size = 7,

+ 0 - 230
package/kernel/mac80211/patches/rtl/099-v6.16-wifi-rtw88-Fix-the-module-names-printed-in-dmesg.patch

@@ -1,230 +0,0 @@
-From 581cf3a9cb61daae1009c2380b228f40177046d8 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Wed, 2 Apr 2025 20:54:30 +0300
-Subject: [PATCH] wifi: rtw88: Fix the module names printed in dmesg
-
-The rtw88 module names all start with the "rtw88_" prefix, but the
-messages in dmesg mostly use the "rtw_" prefix. The messages from
-rtw88_8723cs don't even have the underscore.
-
-Use the KBUILD_MODNAME macro in every driver. This ensures that the
-messages in dmesg will always use the module name.
-
-Before:
-
-Mar 17 15:54:19 ideapad2 kernel: rtw_8814au 2-4:1.0: Firmware version 33.6.0, H2C version 6
-
-After:
-
-Mar 17 16:33:35 ideapad2 kernel: rtw88_8814au 2-4:1.0: Firmware version 33.6.0, H2C version 6
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8723cs.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8723de.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8723ds.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8723du.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8812au.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8814ae.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8814au.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8821au.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8821ce.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8821cs.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8821cu.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822be.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822bs.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822bu.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822ce.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822cs.c | 2 +-
- drivers/net/wireless/realtek/rtw88/rtw8822cu.c | 2 +-
- 17 files changed, 17 insertions(+), 17 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8723cs.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723cs.c
-@@ -19,7 +19,7 @@ static const struct sdio_device_id rtw_8
- MODULE_DEVICE_TABLE(sdio, rtw_8723cs_id_table);
- 
- static struct sdio_driver rtw_8723cs_driver = {
--	.name = "rtw8723cs",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8723cs_id_table,
- 	.probe = rtw_sdio_probe,
- 	.remove = rtw_sdio_remove,
---- a/drivers/net/wireless/realtek/rtw88/rtw8723de.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723de.c
-@@ -17,7 +17,7 @@ static const struct pci_device_id rtw_87
- MODULE_DEVICE_TABLE(pci, rtw_8723de_id_table);
- 
- static struct pci_driver rtw_8723de_driver = {
--	.name = "rtw_8723de",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8723de_id_table,
- 	.probe = rtw_pci_probe,
- 	.remove = rtw_pci_remove,
---- a/drivers/net/wireless/realtek/rtw88/rtw8723ds.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723ds.c
-@@ -25,7 +25,7 @@ static const struct sdio_device_id rtw_8
- MODULE_DEVICE_TABLE(sdio, rtw_8723ds_id_table);
- 
- static struct sdio_driver rtw_8723ds_driver = {
--	.name = "rtw_8723ds",
-+	.name = KBUILD_MODNAME,
- 	.probe = rtw_sdio_probe,
- 	.remove = rtw_sdio_remove,
- 	.id_table = rtw_8723ds_id_table,
---- a/drivers/net/wireless/realtek/rtw88/rtw8723du.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723du.c
-@@ -24,7 +24,7 @@ static int rtw8723du_probe(struct usb_in
- }
- 
- static struct usb_driver rtw_8723du_driver = {
--	.name = "rtw_8723du",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8723du_id_table,
- 	.probe = rtw8723du_probe,
- 	.disconnect = rtw_usb_disconnect,
---- a/drivers/net/wireless/realtek/rtw88/rtw8812au.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8812au.c
-@@ -82,7 +82,7 @@ static const struct usb_device_id rtw_88
- MODULE_DEVICE_TABLE(usb, rtw_8812au_id_table);
- 
- static struct usb_driver rtw_8812au_driver = {
--	.name = "rtw_8812au",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8812au_id_table,
- 	.probe = rtw_usb_probe,
- 	.disconnect = rtw_usb_disconnect,
---- a/drivers/net/wireless/realtek/rtw88/rtw8814ae.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814ae.c
-@@ -17,7 +17,7 @@ static const struct pci_device_id rtw_88
- MODULE_DEVICE_TABLE(pci, rtw_8814ae_id_table);
- 
- static struct pci_driver rtw_8814ae_driver = {
--	.name = "rtw_8814ae",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8814ae_id_table,
- 	.probe = rtw_pci_probe,
- 	.remove = rtw_pci_remove,
---- a/drivers/net/wireless/realtek/rtw88/rtw8814au.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8814au.c
-@@ -42,7 +42,7 @@ static const struct usb_device_id rtw_88
- MODULE_DEVICE_TABLE(usb, rtw_8814au_id_table);
- 
- static struct usb_driver rtw_8814au_driver = {
--	.name = "rtw_8814au",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8814au_id_table,
- 	.probe = rtw_usb_probe,
- 	.disconnect = rtw_usb_disconnect,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821au.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821au.c
-@@ -66,7 +66,7 @@ static const struct usb_device_id rtw_88
- MODULE_DEVICE_TABLE(usb, rtw_8821au_id_table);
- 
- static struct usb_driver rtw_8821au_driver = {
--	.name = "rtw_8821au",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8821au_id_table,
- 	.probe = rtw_usb_probe,
- 	.disconnect = rtw_usb_disconnect,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821ce.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821ce.c
-@@ -21,7 +21,7 @@ static const struct pci_device_id rtw_88
- MODULE_DEVICE_TABLE(pci, rtw_8821ce_id_table);
- 
- static struct pci_driver rtw_8821ce_driver = {
--	.name = "rtw_8821ce",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8821ce_id_table,
- 	.probe = rtw_pci_probe,
- 	.remove = rtw_pci_remove,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821cs.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821cs.c
-@@ -20,7 +20,7 @@ static const struct sdio_device_id rtw_8
- MODULE_DEVICE_TABLE(sdio, rtw_8821cs_id_table);
- 
- static struct sdio_driver rtw_8821cs_driver = {
--	.name = "rtw_8821cs",
-+	.name = KBUILD_MODNAME,
- 	.probe = rtw_sdio_probe,
- 	.remove = rtw_sdio_remove,
- 	.id_table = rtw_8821cs_id_table,
---- a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
-@@ -48,7 +48,7 @@ static int rtw_8821cu_probe(struct usb_i
- }
- 
- static struct usb_driver rtw_8821cu_driver = {
--	.name = "rtw_8821cu",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8821cu_id_table,
- 	.probe = rtw_8821cu_probe,
- 	.disconnect = rtw_usb_disconnect,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822be.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822be.c
-@@ -17,7 +17,7 @@ static const struct pci_device_id rtw_88
- MODULE_DEVICE_TABLE(pci, rtw_8822be_id_table);
- 
- static struct pci_driver rtw_8822be_driver = {
--	.name = "rtw_8822be",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8822be_id_table,
- 	.probe = rtw_pci_probe,
- 	.remove = rtw_pci_remove,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822bs.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822bs.c
-@@ -20,7 +20,7 @@ static const struct sdio_device_id rtw_8
- MODULE_DEVICE_TABLE(sdio, rtw_8822bs_id_table);
- 
- static struct sdio_driver rtw_8822bs_driver = {
--	.name = "rtw_8822bs",
-+	.name = KBUILD_MODNAME,
- 	.probe = rtw_sdio_probe,
- 	.remove = rtw_sdio_remove,
- 	.id_table = rtw_8822bs_id_table,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822bu.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822bu.c
-@@ -88,7 +88,7 @@ static int rtw8822bu_probe(struct usb_in
- }
- 
- static struct usb_driver rtw_8822bu_driver = {
--	.name = "rtw_8822bu",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8822bu_id_table,
- 	.probe = rtw8822bu_probe,
- 	.disconnect = rtw_usb_disconnect,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822ce.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822ce.c
-@@ -21,7 +21,7 @@ static const struct pci_device_id rtw_88
- MODULE_DEVICE_TABLE(pci, rtw_8822ce_id_table);
- 
- static struct pci_driver rtw_8822ce_driver = {
--	.name = "rtw_8822ce",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8822ce_id_table,
- 	.probe = rtw_pci_probe,
- 	.remove = rtw_pci_remove,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822cs.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822cs.c
-@@ -20,7 +20,7 @@ static const struct sdio_device_id rtw_8
- MODULE_DEVICE_TABLE(sdio, rtw_8822cs_id_table);
- 
- static struct sdio_driver rtw_8822cs_driver = {
--	.name = "rtw_8822cs",
-+	.name = KBUILD_MODNAME,
- 	.probe = rtw_sdio_probe,
- 	.remove = rtw_sdio_remove,
- 	.id_table = rtw_8822cs_id_table,
---- a/drivers/net/wireless/realtek/rtw88/rtw8822cu.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822cu.c
-@@ -32,7 +32,7 @@ static int rtw8822cu_probe(struct usb_in
- }
- 
- static struct usb_driver rtw_8822cu_driver = {
--	.name = "rtw_8822cu",
-+	.name = KBUILD_MODNAME,
- 	.id_table = rtw_8822cu_id_table,
- 	.probe = rtw8822cu_probe,
- 	.disconnect = rtw_usb_disconnect,

+ 0 - 36
package/kernel/mac80211/patches/rtl/100-v6.16-wifi-rtw88-sdio-map-mgmt-frames-to-queue-TX_DESC_QSE.patch

@@ -1,36 +0,0 @@
-From b2effcdc237979dcc533d446a792fc54fd0e1213 Mon Sep 17 00:00:00 2001
-From: Zhen XIN <[email protected]>
-Date: Thu, 10 Apr 2025 15:42:17 +0000
-Subject: [PATCH] wifi: rtw88: sdio: map mgmt frames to queue TX_DESC_QSEL_MGMT
-
-The rtw88-sdio do not work in AP mode due to the lack of TX status report
-for management frames.
-
-Map the management frames to queue TX_DESC_QSEL_MGMT, which enables the
-chip to generate TX reports for these frames
-
-Tested-on: rtl8723ds
-
-Fixes: 65371a3f14e7 ("wifi: rtw88: sdio: Add HCI implementation for SDIO based chipsets")
-Signed-off-by: Zhen XIN <[email protected]>
-Reviewed-by: Martin Blumenstingl <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/sdio.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/sdio.c
-+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
-@@ -718,10 +718,7 @@ static u8 rtw_sdio_get_tx_qsel(struct rt
- 	case RTW_TX_QUEUE_H2C:
- 		return TX_DESC_QSEL_H2C;
- 	case RTW_TX_QUEUE_MGMT:
--		if (rtw_chip_wcpu_11n(rtwdev))
--			return TX_DESC_QSEL_HIGH;
--		else
--			return TX_DESC_QSEL_MGMT;
-+		return TX_DESC_QSEL_MGMT;
- 	case RTW_TX_QUEUE_HI0:
- 		return TX_DESC_QSEL_HIGH;
- 	default:

+ 0 - 37
package/kernel/mac80211/patches/rtl/101-v6.16-wifi-rtw88-sdio-call-rtw_sdio_indicate_tx_status-unc.patch

@@ -1,37 +0,0 @@
-From fc5f5a0ec463ae6a07850428bd3082947e01d276 Mon Sep 17 00:00:00 2001
-From: Zhen XIN <[email protected]>
-Date: Thu, 10 Apr 2025 15:42:16 +0000
-Subject: [PATCH] wifi: rtw88: sdio: call rtw_sdio_indicate_tx_status
- unconditionally
-
-The rtw88-sdio do not work in AP mode due to the lack of TX status report
-for management frames.
-
-Make the invocation of rtw_sdio_indicate_tx_status unconditional and cover
-all packet queues
-
-Tested-on: rtl8723ds
-
-Fixes: 65371a3f14e7 ("wifi: rtw88: sdio: Add HCI implementation for SDIO based chipsets")
-Signed-off-by: Zhen XIN <[email protected]>
-Reviewed-by: Martin Blumenstingl <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/sdio.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/sdio.c
-+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
-@@ -1224,10 +1224,7 @@ static void rtw_sdio_process_tx_queue(st
- 		return;
- 	}
- 
--	if (queue <= RTW_TX_QUEUE_VO)
--		rtw_sdio_indicate_tx_status(rtwdev, skb);
--	else
--		dev_kfree_skb_any(skb);
-+	rtw_sdio_indicate_tx_status(rtwdev, skb);
- }
- 
- static void rtw_sdio_tx_handler(struct work_struct *work)

+ 0 - 32
package/kernel/mac80211/patches/rtl/102-v6.16-wifi-rtw88-do-not-ignore-hardware-read-error-during-.patch

@@ -1,32 +0,0 @@
-From 20d3c19bd8f9b498173c198eadf54580c8caa336 Mon Sep 17 00:00:00 2001
-From: Dmitry Antipov <[email protected]>
-Date: Tue, 15 Apr 2025 12:07:20 +0300
-Subject: [PATCH] wifi: rtw88: do not ignore hardware read error during DPK
-
-In 'rtw8822c_dpk_cal_coef1()', do not ignore error returned
-by 'check_hw_ready()' but issue a warning to denote possible
-DPK issue. Compile tested only.
-
-Found by Linux Verification Center (linuxtesting.org) with SVACE.
-
-Fixes: 5227c2ee453d ("rtw88: 8822c: add SW DPK support")
-Suggested-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Dmitry Antipov <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8822c.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -3951,7 +3951,8 @@ static void rtw8822c_dpk_cal_coef1(struc
- 	rtw_write32(rtwdev, REG_NCTL0, 0x00001148);
- 	rtw_write32(rtwdev, REG_NCTL0, 0x00001149);
- 
--	check_hw_ready(rtwdev, 0x2d9c, MASKBYTE0, 0x55);
-+	if (!check_hw_ready(rtwdev, 0x2d9c, MASKBYTE0, 0x55))
-+		rtw_warn(rtwdev, "DPK stuck, performance may be suboptimal");
- 
- 	rtw_write8(rtwdev, 0x1b10, 0x0);
- 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x0000000c);

+ 0 - 44
package/kernel/mac80211/patches/rtl/103-v6.16-wifi-rtw88-Fix-RX-aggregation-settings-for-RTL8723DS.patch

@@ -1,44 +0,0 @@
-From 0ffa1ba81b35ba147c9df6206a61499a156b0128 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 2 May 2025 14:49:01 +0300
-Subject: [PATCH] wifi: rtw88: Fix RX aggregation settings for RTL8723DS
-
-Use the same RX aggregation size and timeout used by the out-of-tree
-RTL8723DS driver. Also set mystery bit 31 of REG_RXDMA_AGG_PG_TH. This
-improves the RX speed from ~44 Mbps to ~67 Mbps.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/sdio.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/sdio.c
-+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
-@@ -677,12 +677,22 @@ static void rtw_sdio_enable_rx_aggregati
- {
- 	u8 size, timeout;
- 
--	if (rtw_chip_wcpu_11n(rtwdev)) {
-+	switch (rtwdev->chip->id) {
-+	case RTW_CHIP_TYPE_8703B:
-+	case RTW_CHIP_TYPE_8821A:
-+	case RTW_CHIP_TYPE_8812A:
- 		size = 0x6;
- 		timeout = 0x6;
--	} else {
-+		break;
-+	case RTW_CHIP_TYPE_8723D:
-+		size = 0xa;
-+		timeout = 0x3;
-+		rtw_write8_set(rtwdev, REG_RXDMA_AGG_PG_TH + 3, BIT(7));
-+		break;
-+	default:
- 		size = 0xff;
- 		timeout = 0x1;
-+		break;
- 	}
- 
- 	/* Make the firmware honor the size limit configured below */

+ 0 - 198
package/kernel/mac80211/patches/rtl/104-v6.16-wifi-rtw88-Handle-RTL8723D-S-with-blank-efuse.patch

@@ -1,198 +0,0 @@
-From 2c17afde9ff6713f3e080ed1ea1a4bd7480be9aa Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Fri, 2 May 2025 14:49:34 +0300
-Subject: [PATCH] wifi: rtw88: Handle RTL8723D(S) with blank efuse
-
-Some users have RTL8723DS chips with nearly blank efuse. Currently these
-chips cannot connect when using rtw88, but they do work using the old
-out-of-tree driver.
-
-Use reasonable default values for TX power, antenna configuration, and
-crystal cap if the chip's efuse is missing these things.
-
-RTL8723D can use the same default values as RTL8703B, so simply move
-the code from rtl8703b_read_efuse() to the shared function
-__rtl8723x_read_efuse().
-
-Link: https://github.com/lwfinger/rtw88/issues/157
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8703b.c | 60 -------------------
- drivers/net/wireless/realtek/rtw88/rtw8723x.c | 59 ++++++++++++++++++
- 2 files changed, 59 insertions(+), 60 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8703b.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b.c
-@@ -519,15 +519,6 @@ static const struct rtw_rqpn rqpn_table_
- 	 RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},
- };
- 
--/* Default power index table for RTL8703B, used if EFUSE does not
-- * contain valid data. Replaces EFUSE data from offset 0x10 (start of
-- * txpwr_idx_table).
-- */
--static const u8 rtw8703b_txpwr_idx_table[] = {
--	0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
--	0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x02
--};
--
- static void try_mac_from_devicetree(struct rtw_dev *rtwdev)
- {
- 	struct device_node *node = rtwdev->dev->of_node;
-@@ -544,15 +535,9 @@ static void try_mac_from_devicetree(stru
- 	}
- }
- 
--#define DBG_EFUSE_FIX(rtwdev, name)					\
--	rtw_dbg(rtwdev, RTW_DBG_EFUSE, "Fixed invalid EFUSE value: "	\
--		# name "=0x%x\n", rtwdev->efuse.name)
--
- static int rtw8703b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
- {
- 	struct rtw_efuse *efuse = &rtwdev->efuse;
--	u8 *pwr = (u8 *)efuse->txpwr_idx_table;
--	bool valid = false;
- 	int ret;
- 
- 	ret = rtw8723x_read_efuse(rtwdev, log_map);
-@@ -562,51 +547,6 @@ static int rtw8703b_read_efuse(struct rt
- 	if (!is_valid_ether_addr(efuse->addr))
- 		try_mac_from_devicetree(rtwdev);
- 
--	/* If TX power index table in EFUSE is invalid, fall back to
--	 * built-in table.
--	 */
--	for (int i = 0; i < ARRAY_SIZE(rtw8703b_txpwr_idx_table); i++)
--		if (pwr[i] != 0xff) {
--			valid = true;
--			break;
--		}
--	if (!valid) {
--		for (int i = 0; i < ARRAY_SIZE(rtw8703b_txpwr_idx_table); i++)
--			pwr[i] = rtw8703b_txpwr_idx_table[i];
--		rtw_dbg(rtwdev, RTW_DBG_EFUSE,
--			"Replaced invalid EFUSE TX power index table.");
--		rtw8723x_debug_txpwr_limit(rtwdev,
--					   efuse->txpwr_idx_table, 2);
--	}
--
--	/* Override invalid antenna settings. */
--	if (efuse->bt_setting == 0xff) {
--		/* shared antenna */
--		efuse->bt_setting |= BIT(0);
--		/* RF path A */
--		efuse->bt_setting &= ~BIT(6);
--		DBG_EFUSE_FIX(rtwdev, bt_setting);
--	}
--
--	/* Override invalid board options: The coex code incorrectly
--	 * assumes that if bits 6 & 7 are set the board doesn't
--	 * support coex. Regd is also derived from rf_board_option and
--	 * should be 0 if there's no valid data.
--	 */
--	if (efuse->rf_board_option == 0xff) {
--		efuse->regd = 0;
--		efuse->rf_board_option &= GENMASK(5, 0);
--		DBG_EFUSE_FIX(rtwdev, rf_board_option);
--	}
--
--	/* Override invalid crystal cap setting, default comes from
--	 * vendor driver. Chip specific.
--	 */
--	if (efuse->crystal_cap == 0xff) {
--		efuse->crystal_cap = 0x20;
--		DBG_EFUSE_FIX(rtwdev, crystal_cap);
--	}
--
- 	return 0;
- }
- 
---- a/drivers/net/wireless/realtek/rtw88/rtw8723x.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8723x.c
-@@ -69,6 +69,9 @@ static void __rtw8723x_lck(struct rtw_de
- #define DBG_EFUSE_2BYTE(rtwdev, map, name)			\
- 	rtw_dbg(rtwdev, RTW_DBG_EFUSE, # name "=0x%02x%02x\n",	\
- 		(map)->name[0], (map)->name[1])
-+#define DBG_EFUSE_FIX(rtwdev, name)					\
-+	rtw_dbg(rtwdev, RTW_DBG_EFUSE, "Fixed invalid EFUSE value: "	\
-+		# name "=0x%x\n", rtwdev->efuse.name)
- 
- static void rtw8723xe_efuse_debug(struct rtw_dev *rtwdev,
- 				  struct rtw8723x_efuse *map)
-@@ -238,10 +241,21 @@ static void rtw8723xs_efuse_parsing(stru
- 	ether_addr_copy(efuse->addr, map->s.mac_addr);
- }
- 
-+/* Default power index table for RTL8703B/RTL8723D, used if EFUSE does
-+ * not contain valid data. Replaces EFUSE data from offset 0x10 (start
-+ * of txpwr_idx_table).
-+ */
-+static const u8 rtw8723x_txpwr_idx_table[] = {
-+	0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
-+	0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x02
-+};
-+
- static int __rtw8723x_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
- {
- 	struct rtw_efuse *efuse = &rtwdev->efuse;
-+	u8 *pwr = (u8 *)efuse->txpwr_idx_table;
- 	struct rtw8723x_efuse *map;
-+	bool valid = false;
- 	int i;
- 
- 	map = (struct rtw8723x_efuse *)log_map;
-@@ -279,6 +293,51 @@ static int __rtw8723x_read_efuse(struct
- 		return -EOPNOTSUPP;
- 	}
- 
-+	/* If TX power index table in EFUSE is invalid, fall back to
-+	 * built-in table.
-+	 */
-+	for (i = 0; i < ARRAY_SIZE(rtw8723x_txpwr_idx_table); i++)
-+		if (pwr[i] != 0xff) {
-+			valid = true;
-+			break;
-+		}
-+	if (!valid) {
-+		for (i = 0; i < ARRAY_SIZE(rtw8723x_txpwr_idx_table); i++)
-+			pwr[i] = rtw8723x_txpwr_idx_table[i];
-+		rtw_dbg(rtwdev, RTW_DBG_EFUSE,
-+			"Replaced invalid EFUSE TX power index table.");
-+		rtw8723x_debug_txpwr_limit(rtwdev,
-+					   efuse->txpwr_idx_table, 2);
-+	}
-+
-+	/* Override invalid antenna settings. */
-+	if (efuse->bt_setting == 0xff) {
-+		/* shared antenna */
-+		efuse->bt_setting |= BIT(0);
-+		/* RF path A */
-+		efuse->bt_setting &= ~BIT(6);
-+		DBG_EFUSE_FIX(rtwdev, bt_setting);
-+	}
-+
-+	/* Override invalid board options: The coex code incorrectly
-+	 * assumes that if bits 6 & 7 are set the board doesn't
-+	 * support coex. Regd is also derived from rf_board_option and
-+	 * should be 0 if there's no valid data.
-+	 */
-+	if (efuse->rf_board_option == 0xff) {
-+		efuse->regd = 0;
-+		efuse->rf_board_option &= GENMASK(5, 0);
-+		DBG_EFUSE_FIX(rtwdev, rf_board_option);
-+	}
-+
-+	/* Override invalid crystal cap setting, default comes from
-+	 * vendor driver. Chip specific.
-+	 */
-+	if (efuse->crystal_cap == 0xff) {
-+		efuse->crystal_cap = 0x20;
-+		DBG_EFUSE_FIX(rtwdev, crystal_cap);
-+	}
-+
- 	return 0;
- }
- 

+ 0 - 27
package/kernel/mac80211/patches/rtl/105-v6.16-wifi-rtw88-rtw8822bu-VID-PID-for-BUFFALO-WI-U2-866DM.patch

@@ -1,27 +0,0 @@
-From b7f0cc647e52296a3d4dd727b6479dcd6d7e364e Mon Sep 17 00:00:00 2001
-From: Yuuki NAGAO <[email protected]>
-Date: Sat, 3 May 2025 09:32:27 +0900
-Subject: [PATCH] wifi: rtw88: rtw8822bu VID/PID for BUFFALO WI-U2-866DM
-
-Add VID/PID 0411/03d1 for recently released
-BUFFALO WI-U2-866DM USB WiFi adapter.
-
-Signed-off-by: Yuuki NAGAO <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/rtw8822bu.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/net/wireless/realtek/rtw88/rtw8822bu.c
-+++ b/drivers/net/wireless/realtek/rtw88/rtw8822bu.c
-@@ -77,6 +77,8 @@ static const struct usb_device_id rtw_88
- 	  .driver_info = (kernel_ulong_t)&(rtw8822b_hw_spec) }, /* Mercusys MA30N */
- 	{ USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x3322, 0xff, 0xff, 0xff),
- 	  .driver_info = (kernel_ulong_t)&(rtw8822b_hw_spec) }, /* D-Link DWA-T185 rev. A1 */
-+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0411, 0x03d1, 0xff, 0xff, 0xff),
-+	  .driver_info = (kernel_ulong_t)&(rtw8822b_hw_spec) }, /* BUFFALO WI-U2-866DM */
- 	{},
- };
- MODULE_DEVICE_TABLE(usb, rtw_8822bu_id_table);

+ 0 - 52
package/kernel/mac80211/patches/rtl/106-v6.16-wifi-rtw88-usb-Reduce-control-message-timeout-to-500.patch

@@ -1,52 +0,0 @@
-From 490340faddea461319652ce36dbc7c1b4482c35e Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Sat, 10 May 2025 15:21:25 +0300
-Subject: [PATCH] wifi: rtw88: usb: Reduce control message timeout to 500 ms
-
-RTL8811AU stops responding during the firmware download on some systems:
-
-[  809.256440] rtw_8821au 5-2.1:1.0: Firmware version 42.4.0, H2C version 0
-[  812.759142] rtw_8821au 5-2.1:1.0 wlp48s0f4u2u1: renamed from wlan0
-[  837.315388] rtw_8821au 1-4:1.0: write register 0x1ef4 failed with -110
-[  867.524259] rtw_8821au 1-4:1.0: write register 0x1ef8 failed with -110
-[  868.930976] rtw_8821au 5-2.1:1.0 wlp48s0f4u2u1: entered promiscuous mode
-[  897.730952] rtw_8821au 1-4:1.0: write register 0x1efc failed with -110
-
-Each write takes 30 seconds to fail because that's the timeout currently
-used for control messages in rtw_usb_write().
-
-In this scenario the firmware download takes at least 2000 seconds.
-Because this is done from the USB probe function, the long delay makes
-other things in the system hang.
-
-Reduce the timeout to 500 ms. This is the value used by the official USB
-wifi drivers from Realtek.
-
-Of course this only makes things hang for ~30 seconds instead of ~30
-minutes. It doesn't fix the firmware download.
-
-Tested with RTL8822CU, RTL8812BU, RTL8811CU, RTL8814AU, RTL8811AU,
-RTL8812AU, RTL8821AU, RTL8723DU.
-
-Cc: [email protected]
-Fixes: a82dfd33d123 ("wifi: rtw88: Add common USB chip support")
-Link: https://github.com/lwfinger/rtw88/issues/344
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/usb.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/usb.c
-+++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -139,7 +139,7 @@ static void rtw_usb_write(struct rtw_dev
- 
- 	ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
- 			      RTW_USB_CMD_REQ, RTW_USB_CMD_WRITE,
--			      addr, 0, data, len, 30000);
-+			      addr, 0, data, len, 500);
- 	if (ret < 0 && ret != -ENODEV && count++ < 4)
- 		rtw_err(rtwdev, "write register 0x%x failed with %d\n",
- 			addr, ret);

+ 0 - 214
package/kernel/mac80211/patches/rtl/107-v6.16-wifi-rtw88-usb-Upload-the-firmware-in-bigger-chunks.patch

@@ -1,214 +0,0 @@
-From 80fe0bc1659c0ccc79d082e426fa376be5df9c04 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Sat, 10 May 2025 15:22:24 +0300
-Subject: [PATCH] wifi: rtw88: usb: Upload the firmware in bigger chunks
-
-RTL8811AU stops responding during the firmware download on some systems:
-
-[  809.256440] rtw_8821au 5-2.1:1.0: Firmware version 42.4.0, H2C version 0
-[  812.759142] rtw_8821au 5-2.1:1.0 wlp48s0f4u2u1: renamed from wlan0
-[  837.315388] rtw_8821au 1-4:1.0: write register 0x1ef4 failed with -110
-[  867.524259] rtw_8821au 1-4:1.0: write register 0x1ef8 failed with -110
-[  868.930976] rtw_8821au 5-2.1:1.0 wlp48s0f4u2u1: entered promiscuous mode
-[  897.730952] rtw_8821au 1-4:1.0: write register 0x1efc failed with -110
-
-Maybe it takes too long when writing the firmware 4 bytes at a time.
-
-Write 196 bytes at a time for RTL8821AU, RTL8811AU, and RTL8812AU,
-and 254 bytes at a time for RTL8723DU. These are the sizes used in
-their official drivers. Tested with all these chips.
-
-Cc: [email protected]
-Link: https://github.com/lwfinger/rtw88/issues/344
-Signed-off-by: Bitterblue Smith <[email protected]>
-Acked-by: Ping-Ke Shih <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/hci.h  |  8 ++++
- drivers/net/wireless/realtek/rtw88/mac.c  | 11 +++--
- drivers/net/wireless/realtek/rtw88/mac.h  |  2 +
- drivers/net/wireless/realtek/rtw88/pci.c  |  2 +
- drivers/net/wireless/realtek/rtw88/sdio.c |  2 +
- drivers/net/wireless/realtek/rtw88/usb.c  | 55 +++++++++++++++++++++++
- 6 files changed, 76 insertions(+), 4 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtw88/hci.h
-+++ b/drivers/net/wireless/realtek/rtw88/hci.h
-@@ -19,6 +19,8 @@ struct rtw_hci_ops {
- 	void (*link_ps)(struct rtw_dev *rtwdev, bool enter);
- 	void (*interface_cfg)(struct rtw_dev *rtwdev);
- 	void (*dynamic_rx_agg)(struct rtw_dev *rtwdev, bool enable);
-+	void (*write_firmware_page)(struct rtw_dev *rtwdev, u32 page,
-+				    const u8 *data, u32 size);
- 
- 	int (*write_data_rsvd_page)(struct rtw_dev *rtwdev, u8 *buf, u32 size);
- 	int (*write_data_h2c)(struct rtw_dev *rtwdev, u8 *buf, u32 size);
-@@ -79,6 +81,12 @@ static inline void rtw_hci_dynamic_rx_ag
- 		rtwdev->hci.ops->dynamic_rx_agg(rtwdev, enable);
- }
- 
-+static inline void rtw_hci_write_firmware_page(struct rtw_dev *rtwdev, u32 page,
-+					       const u8 *data, u32 size)
-+{
-+	rtwdev->hci.ops->write_firmware_page(rtwdev, page, data, size);
-+}
-+
- static inline int
- rtw_hci_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf, u32 size)
- {
---- a/drivers/net/wireless/realtek/rtw88/mac.c
-+++ b/drivers/net/wireless/realtek/rtw88/mac.c
-@@ -856,8 +856,8 @@ fwdl_ready:
- 	}
- }
- 
--static void
--write_firmware_page(struct rtw_dev *rtwdev, u32 page, const u8 *data, u32 size)
-+void rtw_write_firmware_page(struct rtw_dev *rtwdev, u32 page,
-+			     const u8 *data, u32 size)
- {
- 	u32 val32;
- 	u32 block_nr;
-@@ -887,6 +887,7 @@ write_firmware_page(struct rtw_dev *rtwd
- 		rtw_write32(rtwdev, write_addr, le32_to_cpu(remain_data));
- 	}
- }
-+EXPORT_SYMBOL(rtw_write_firmware_page);
- 
- static int
- download_firmware_legacy(struct rtw_dev *rtwdev, const u8 *data, u32 size)
-@@ -904,11 +905,13 @@ download_firmware_legacy(struct rtw_dev
- 	rtw_write8_set(rtwdev, REG_MCUFW_CTRL, BIT_FWDL_CHK_RPT);
- 
- 	for (page = 0; page < total_page; page++) {
--		write_firmware_page(rtwdev, page, data, DLFW_PAGE_SIZE_LEGACY);
-+		rtw_hci_write_firmware_page(rtwdev, page, data,
-+					    DLFW_PAGE_SIZE_LEGACY);
- 		data += DLFW_PAGE_SIZE_LEGACY;
- 	}
- 	if (last_page_size)
--		write_firmware_page(rtwdev, page, data, last_page_size);
-+		rtw_hci_write_firmware_page(rtwdev, page, data,
-+					    last_page_size);
- 
- 	if (!check_hw_ready(rtwdev, REG_MCUFW_CTRL, BIT_FWDL_CHK_RPT, 1)) {
- 		rtw_err(rtwdev, "failed to check download firmware report\n");
---- a/drivers/net/wireless/realtek/rtw88/mac.h
-+++ b/drivers/net/wireless/realtek/rtw88/mac.h
-@@ -34,6 +34,8 @@ int rtw_pwr_seq_parser(struct rtw_dev *r
- 		       const struct rtw_pwr_seq_cmd * const *cmd_seq);
- int rtw_mac_power_on(struct rtw_dev *rtwdev);
- void rtw_mac_power_off(struct rtw_dev *rtwdev);
-+void rtw_write_firmware_page(struct rtw_dev *rtwdev, u32 page,
-+			     const u8 *data, u32 size);
- int rtw_download_firmware(struct rtw_dev *rtwdev, struct rtw_fw_state *fw);
- int rtw_mac_init(struct rtw_dev *rtwdev);
- void rtw_mac_flush_queues(struct rtw_dev *rtwdev, u32 queues, bool drop);
---- a/drivers/net/wireless/realtek/rtw88/pci.c
-+++ b/drivers/net/wireless/realtek/rtw88/pci.c
-@@ -12,6 +12,7 @@
- #include "fw.h"
- #include "ps.h"
- #include "debug.h"
-+#include "mac.h"
- 
- static bool rtw_disable_msi;
- static bool rtw_pci_disable_aspm;
-@@ -1602,6 +1603,7 @@ static const struct rtw_hci_ops rtw_pci_
- 	.link_ps = rtw_pci_link_ps,
- 	.interface_cfg = rtw_pci_interface_cfg,
- 	.dynamic_rx_agg = NULL,
-+	.write_firmware_page = rtw_write_firmware_page,
- 
- 	.read8 = rtw_pci_read8,
- 	.read16 = rtw_pci_read16,
---- a/drivers/net/wireless/realtek/rtw88/sdio.c
-+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
-@@ -10,6 +10,7 @@
- #include <linux/mmc/host.h>
- #include <linux/mmc/sdio_func.h>
- #include "main.h"
-+#include "mac.h"
- #include "debug.h"
- #include "fw.h"
- #include "ps.h"
-@@ -1164,6 +1165,7 @@ static const struct rtw_hci_ops rtw_sdio
- 	.link_ps = rtw_sdio_link_ps,
- 	.interface_cfg = rtw_sdio_interface_cfg,
- 	.dynamic_rx_agg = NULL,
-+	.write_firmware_page = rtw_write_firmware_page,
- 
- 	.read8 = rtw_sdio_read8,
- 	.read16 = rtw_sdio_read16,
---- a/drivers/net/wireless/realtek/rtw88/usb.c
-+++ b/drivers/net/wireless/realtek/rtw88/usb.c
-@@ -165,6 +165,60 @@ static void rtw_usb_write32(struct rtw_d
- 	rtw_usb_write(rtwdev, addr, val, 4);
- }
- 
-+static void rtw_usb_write_firmware_page(struct rtw_dev *rtwdev, u32 page,
-+					const u8 *data, u32 size)
-+{
-+	struct rtw_usb *rtwusb = rtw_get_usb_priv(rtwdev);
-+	struct usb_device *udev = rtwusb->udev;
-+	u32 addr = FW_START_ADDR_LEGACY;
-+	u8 *data_dup, *buf;
-+	u32 n, block_size;
-+	int ret;
-+
-+	switch (rtwdev->chip->id) {
-+	case RTW_CHIP_TYPE_8723D:
-+		block_size = 254;
-+		break;
-+	default:
-+		block_size = 196;
-+		break;
-+	}
-+
-+	data_dup = kmemdup(data, size, GFP_KERNEL);
-+	if (!data_dup)
-+		return;
-+
-+	buf = data_dup;
-+
-+	rtw_write32_mask(rtwdev, REG_MCUFW_CTRL, BIT_ROM_PGE, page);
-+
-+	while (size > 0) {
-+		if (size >= block_size)
-+			n = block_size;
-+		else if (size >= 8)
-+			n = 8;
-+		else
-+			n = 1;
-+
-+		ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
-+				      RTW_USB_CMD_REQ, RTW_USB_CMD_WRITE,
-+				      addr, 0, buf, n, 500);
-+		if (ret != n) {
-+			if (ret != -ENODEV)
-+				rtw_err(rtwdev,
-+					"write 0x%x len %d failed: %d\n",
-+					addr, n, ret);
-+			break;
-+		}
-+
-+		addr += n;
-+		buf += n;
-+		size -= n;
-+	}
-+
-+	kfree(data_dup);
-+}
-+
- static int dma_mapping_to_ep(enum rtw_dma_mapping dma_mapping)
- {
- 	switch (dma_mapping) {
-@@ -892,6 +946,7 @@ static const struct rtw_hci_ops rtw_usb_
- 	.link_ps = rtw_usb_link_ps,
- 	.interface_cfg = rtw_usb_interface_cfg,
- 	.dynamic_rx_agg = rtw_usb_dynamic_rx_agg,
-+	.write_firmware_page = rtw_usb_write_firmware_page,
- 
- 	.write8  = rtw_usb_write8,
- 	.write16 = rtw_usb_write16,

+ 0 - 73
package/kernel/mac80211/patches/rtl/108-v6.16-wifi-rtw88-Fix-the-random-error-beacon-valid-message.patch

@@ -1,73 +0,0 @@
-From f24d0d8c3cd7e4237f802c4d2f3bd4ac04572948 Mon Sep 17 00:00:00 2001
-From: Bitterblue Smith <[email protected]>
-Date: Sat, 10 May 2025 16:12:34 +0300
-Subject: [PATCH] wifi: rtw88: Fix the random "error beacon valid" messages for
- USB
-
-All the USB devices have a problem in AP mode: uploading the updated
-beacon to the chip's reserved page can randomly fail:
-
-[34996.474304] rtw88_8723du 1-2:1.2: error beacon valid
-[34996.474788] rtw88_8723du 1-2:1.2: failed to download drv rsvd page
-[34999.956369] rtw88_8723du 1-2:1.2: error beacon valid
-[34999.956846] rtw88_8723du 1-2:1.2: failed to download drv rsvd page
-[34999.956855] rtw88_8723du 1-2:1.2: failed to download beacon
-[35017.978296] rtw88_8723du 1-2:1.2: error beacon valid
-[35017.978805] rtw88_8723du 1-2:1.2: failed to download drv rsvd page
-[35017.978823] rtw88_8723du 1-2:1.2: failed to download beacon
-[35023.200395] rtw88_8723du 1-2:1.2: error beacon valid
-[35023.200869] rtw88_8723du 1-2:1.2: failed to download drv rsvd page
-[35023.200875] rtw88_8723du 1-2:1.2: failed to download beacon
-[35478.680547] rtw88_8723du 1-2:1.2: error beacon valid
-[35478.681023] rtw88_8723du 1-2:1.2: failed to download drv rsvd page
-
-Disable some beacon-related hardware functions before uploading the
-beacon and enable them again after.
-
-Tested with RTL8723DU, RTL8812BU, RTL8822CE.
-
-Signed-off-by: Bitterblue Smith <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/fw.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/fw.c
-+++ b/drivers/net/wireless/realtek/rtw88/fw.c
-@@ -1466,7 +1466,7 @@ void rtw_add_rsvd_page_sta(struct rtw_de
- int rtw_fw_write_data_rsvd_page(struct rtw_dev *rtwdev, u16 pg_addr,
- 				u8 *buf, u32 size)
- {
--	u8 bckp[2];
-+	u8 bckp[3];
- 	u8 val;
- 	u16 rsvd_pg_head;
- 	u32 bcn_valid_addr;
-@@ -1478,6 +1478,8 @@ int rtw_fw_write_data_rsvd_page(struct r
- 	if (!size)
- 		return -EINVAL;
- 
-+	bckp[2] = rtw_read8(rtwdev, REG_BCN_CTRL);
-+
- 	if (rtw_chip_wcpu_11n(rtwdev)) {
- 		rtw_write32_set(rtwdev, REG_DWBCN0_CTRL, BIT_BCN_VALID);
- 	} else {
-@@ -1491,6 +1493,9 @@ int rtw_fw_write_data_rsvd_page(struct r
- 	val |= BIT_ENSWBCN >> 8;
- 	rtw_write8(rtwdev, REG_CR + 1, val);
- 
-+	rtw_write8(rtwdev, REG_BCN_CTRL,
-+		   (bckp[2] & ~BIT_EN_BCN_FUNCTION) | BIT_DIS_TSF_UDT);
-+
- 	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE) {
- 		val = rtw_read8(rtwdev, REG_FWHW_TXQ_CTRL + 2);
- 		bckp[1] = val;
-@@ -1521,6 +1526,7 @@ restore:
- 	rsvd_pg_head = rtwdev->fifo.rsvd_boundary;
- 	rtw_write16(rtwdev, REG_FIFOPAGE_CTRL_2,
- 		    rsvd_pg_head | BIT_BCN_VALID_V1);
-+	rtw_write8(rtwdev, REG_BCN_CTRL, bckp[2]);
- 	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE)
- 		rtw_write8(rtwdev, REG_FWHW_TXQ_CTRL + 2, bckp[1]);
- 	rtw_write8(rtwdev, REG_CR + 1, bckp[0]);

+ 0 - 38
package/kernel/mac80211/patches/rtl/109-v6.16-wifi-rtw88-fix-the-para-buffer-size-to-avoid-reading.patch

@@ -1,38 +0,0 @@
-From 4c2c372de2e108319236203cce6de44d70ae15cd Mon Sep 17 00:00:00 2001
-From: Alexey Kodanev <[email protected]>
-Date: Tue, 13 May 2025 12:13:04 +0000
-Subject: [PATCH] wifi: rtw88: fix the 'para' buffer size to avoid reading out
- of bounds
-
-Set the size to 6 instead of 2, since 'para' array is passed to
-'rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1])', which reads
-5 bytes:
-
-void rtw_fw_bt_wifi_control(struct rtw_dev *rtwdev, u8 op_code, u8 *data)
-{
-    ...
-    SET_BT_WIFI_CONTROL_DATA1(h2c_pkt, *data);
-    SET_BT_WIFI_CONTROL_DATA2(h2c_pkt, *(data + 1));
-    ...
-    SET_BT_WIFI_CONTROL_DATA5(h2c_pkt, *(data + 4));
-
-Detected using the static analysis tool - Svace.
-Fixes: 4136214f7c46 ("rtw88: add BT co-existence support")
-Signed-off-by: Alexey Kodanev <[email protected]>
-Signed-off-by: Ping-Ke Shih <[email protected]>
-Link: https://patch.msgid.link/[email protected]
----
- drivers/net/wireless/realtek/rtw88/coex.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/net/wireless/realtek/rtw88/coex.c
-+++ b/drivers/net/wireless/realtek/rtw88/coex.c
-@@ -309,7 +309,7 @@ static void rtw_coex_tdma_timer_base(str
- {
- 	struct rtw_coex *coex = &rtwdev->coex;
- 	struct rtw_coex_stat *coex_stat = &coex->stat;
--	u8 para[2] = {0};
-+	u8 para[6] = {};
- 	u8 times;
- 	u16 tbtt_interval = coex_stat->wl_beacon_interval;
- 

+ 4 - 4
package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch

@@ -9,7 +9,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnect
 
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -1677,12 +1677,6 @@ static int ieee80211_stop_ap(struct wiph
+@@ -1691,12 +1691,6 @@ static int ieee80211_stop_ap(struct wiph
  
  	__sta_info_flush(sdata, true, link_id, NULL);
  
@@ -19,6 +19,6 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnect
 -		ieee80211_free_key_list(local, &keys);
 -	}
 -
- 	link_conf->enable_beacon = false;
- 	sdata->beacon_rate_set = false;
- 	sdata->vif.cfg.ssid_len = 0;
+ 	ieee80211_stop_mbssid(sdata);
+ 	RCU_INIT_POINTER(link_conf->tx_bss_conf, NULL);
+ 

+ 1 - 1
package/kernel/mac80211/patches/subsys/210-ap_scan.patch

@@ -8,7 +8,7 @@ Subject: [PATCH] mac80211: allow scans in access point mode (for site survey)
 
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -2891,6 +2891,8 @@ static int ieee80211_scan(struct wiphy *
+@@ -2925,6 +2925,8 @@ static int ieee80211_scan(struct wiphy *
  		 */
  		fallthrough;
  	case NL80211_IFTYPE_AP:

+ 1 - 1
package/kernel/mac80211/patches/subsys/220-allow-ibss-mixed.patch

@@ -16,7 +16,7 @@ and we should ignore this.
 
 --- a/net/wireless/core.c
 +++ b/net/wireless/core.c
-@@ -671,21 +671,6 @@ int wiphy_verify_iface_combinations(stru
+@@ -679,21 +679,6 @@ int wiphy_verify_iface_combinations(stru
  				    c->limits[j].max > 1))
  				return -EINVAL;
  

+ 1 - 1
package/kernel/mac80211/patches/subsys/230-avoid-crashing-missing-band.patch

@@ -18,7 +18,7 @@ Signed-off-by: David Bauer <[email protected]>
 
 --- a/net/mac80211/sta_info.c
 +++ b/net/mac80211/sta_info.c
-@@ -2474,6 +2474,13 @@ static void sta_stats_decode_rate(struct
+@@ -2468,6 +2468,13 @@ static void sta_stats_decode_rate(struct
  
  		sband = local->hw.wiphy->bands[band];
  

+ 1 - 1
package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch

@@ -28,7 +28,7 @@ Signed-off-by: Johannes Berg <[email protected]>
 
 --- a/net/mac80211/sta_info.c
 +++ b/net/mac80211/sta_info.c
-@@ -583,6 +583,7 @@ __sta_info_alloc(struct ieee80211_sub_if
+@@ -582,6 +582,7 @@ __sta_info_alloc(struct ieee80211_sub_if
  	spin_lock_init(&sta->ps_lock);
  	INIT_WORK(&sta->drv_deliver_wk, sta_deliver_ps_frames);
  	wiphy_work_init(&sta->ampdu_mlme.work, ieee80211_ba_session_work);

+ 3 - 3
package/kernel/mac80211/patches/subsys/305-mac80211-increase-quantum-for-airtime-scheduler.patch

@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -4083,7 +4083,7 @@ struct ieee80211_txq *ieee80211_next_txq
+@@ -4066,7 +4066,7 @@ struct ieee80211_txq *ieee80211_next_txq
  
  		if (deficit < 0)
  			sta->airtime[txqi->txq.ac].deficit +=
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  		if (deficit < 0 || !aql_check) {
  			list_move_tail(&txqi->schedule_order,
-@@ -4226,7 +4226,8 @@ bool ieee80211_txq_may_transmit(struct i
+@@ -4209,7 +4209,8 @@ bool ieee80211_txq_may_transmit(struct i
  		}
  		sta = container_of(iter->txq.sta, struct sta_info, sta);
  		if (ieee80211_sta_deficit(sta, ac) < 0)
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		list_move_tail(&iter->schedule_order, &local->active_txqs[ac]);
  	}
  
-@@ -4234,7 +4235,7 @@ bool ieee80211_txq_may_transmit(struct i
+@@ -4217,7 +4218,7 @@ bool ieee80211_txq_may_transmit(struct i
  	if (sta->airtime[ac].deficit >= 0)
  		goto out;
  

+ 3 - 3
package/kernel/mac80211/patches/subsys/310-cfg80211-allow-grace-period-for-DFS-available-after-.patch

@@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
 --- a/net/wireless/chan.c
 +++ b/net/wireless/chan.c
-@@ -648,6 +648,8 @@ void cfg80211_set_dfs_state(struct wiphy
+@@ -643,6 +643,8 @@ void cfg80211_set_dfs_state(struct wiphy
  
  		c->dfs_state = dfs_state;
  		c->dfs_state_entered = jiffies;
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	}
  }
  
-@@ -995,6 +997,53 @@ bool cfg80211_any_wiphy_oper_chan(struct
+@@ -990,6 +992,53 @@ bool cfg80211_any_wiphy_oper_chan(struct
  	return false;
  }
  
@@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  {
 --- a/net/wireless/core.h
 +++ b/net/wireless/core.h
-@@ -475,6 +475,8 @@ void cfg80211_set_dfs_state(struct wiphy
+@@ -474,6 +474,8 @@ void cfg80211_set_dfs_state(struct wiphy
  			    enum nl80211_dfs_state dfs_state);
  
  void cfg80211_dfs_channels_update_work(struct work_struct *work);

+ 10 - 10
package/kernel/mac80211/patches/subsys/320-mac80211-add-AQL-support-for-broadcast-packets.patch

@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
-@@ -3438,6 +3438,7 @@ enum wiphy_params_flags {
+@@ -3437,6 +3437,7 @@ enum wiphy_params_flags {
  /* The per TXQ device queue limit in airtime */
  #define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_L	5000
  #define IEEE80211_DEFAULT_AQL_TXQ_LIMIT_H	12000
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -1360,10 +1360,12 @@ struct ieee80211_local {
+@@ -1377,10 +1377,12 @@ struct ieee80211_local {
  	spinlock_t handle_wake_tx_queue_lock;
  
  	u16 airtime_flags;
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		spin_lock_init(&local->active_txq_lock[i]);
 --- a/net/mac80211/sta_info.c
 +++ b/net/mac80211/sta_info.c
-@@ -2388,13 +2388,28 @@ EXPORT_SYMBOL(ieee80211_sta_recalc_aggre
+@@ -2382,13 +2382,28 @@ EXPORT_SYMBOL(ieee80211_sta_recalc_aggre
  
  void ieee80211_sta_update_pending_airtime(struct ieee80211_local *local,
  					  struct sta_info *sta, u8 ac,
@@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  			atomic_add(tx_airtime,
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -2555,7 +2555,7 @@ static u16 ieee80211_store_ack_skb(struc
+@@ -2539,7 +2539,7 @@ static u16 ieee80211_store_ack_skb(struc
  
  		spin_lock_irqsave(&local->ack_status_lock, flags);
  		id = idr_alloc(&local->ack_status_frames, ack_skb,
@@ -136,7 +136,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		spin_unlock_irqrestore(&local->ack_status_lock, flags);
  
  		if (id >= 0) {
-@@ -3984,20 +3984,20 @@ begin:
+@@ -3967,20 +3967,20 @@ begin:
  encap_out:
  	info->control.vif = vif;
  
@@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	}
  
  	return skb;
-@@ -4049,6 +4049,7 @@ struct ieee80211_txq *ieee80211_next_txq
+@@ -4032,6 +4032,7 @@ struct ieee80211_txq *ieee80211_next_txq
  	struct ieee80211_txq *ret = NULL;
  	struct txq_info *txqi = NULL, *head = NULL;
  	bool found_eligible_txq = false;
@@ -175,7 +175,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  	spin_lock_bh(&local->active_txq_lock[ac]);
  
-@@ -4072,26 +4073,26 @@ struct ieee80211_txq *ieee80211_next_txq
+@@ -4055,26 +4056,26 @@ struct ieee80211_txq *ieee80211_next_txq
  	if (!head)
  		head = txqi;
  
@@ -214,7 +214,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (txqi->schedule_round == local->schedule_round[ac])
  		goto out;
  
-@@ -4156,7 +4157,8 @@ bool ieee80211_txq_airtime_check(struct
+@@ -4139,7 +4140,8 @@ bool ieee80211_txq_airtime_check(struct
  		return true;
  
  	if (!txq->sta)
@@ -224,7 +224,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  	if (unlikely(txq->tid == IEEE80211_NUM_TIDS))
  		return true;
-@@ -4205,15 +4207,15 @@ bool ieee80211_txq_may_transmit(struct i
+@@ -4188,15 +4190,15 @@ bool ieee80211_txq_may_transmit(struct i
  
  	spin_lock_bh(&local->active_txq_lock[ac]);
  
@@ -245,7 +245,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		if (iter == txqi)
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -1237,8 +1237,8 @@ struct ieee80211_tx_info {
+@@ -1245,8 +1245,8 @@ struct ieee80211_tx_info {
  	    status_data_idr:1,
  	    status_data:13,
  	    hw_queue:4,

+ 1 - 1
package/kernel/mac80211/patches/subsys/330-wifi-mac80211-Do-not-schedule-stopped-TXQs.patch

@@ -23,7 +23,7 @@ Signed-off-by: Johannes Berg <[email protected]>
 
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -4116,7 +4116,9 @@ void __ieee80211_schedule_txq(struct iee
+@@ -4099,7 +4099,9 @@ void __ieee80211_schedule_txq(struct iee
  
  	spin_lock_bh(&local->active_txq_lock[txq->ac]);
  

+ 2 - 2
package/kernel/mac80211/patches/subsys/331-wifi-mac80211-Don-t-call-fq_flow_idx-for-management-.patch

@@ -14,7 +14,7 @@ Signed-off-by: Johannes Berg <[email protected]>
 
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -1444,7 +1444,7 @@ static void ieee80211_txq_enqueue(struct
+@@ -1428,7 +1428,7 @@ static void ieee80211_txq_enqueue(struct
  {
  	struct fq *fq = &local->fq;
  	struct fq_tin *tin = &txqi->tin;
@@ -23,7 +23,7 @@ Signed-off-by: Johannes Berg <[email protected]>
  
  	ieee80211_set_skb_enqueue_time(skb);
  
-@@ -1460,6 +1460,7 @@ static void ieee80211_txq_enqueue(struct
+@@ -1444,6 +1444,7 @@ static void ieee80211_txq_enqueue(struct
  			IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
  		__skb_queue_tail(&txqi->frags, skb);
  	} else {

Некоторые файлы не были показаны из-за большого количества измененных файлов