Merge branch 'master'

+3778 -3529
+25 -25
Documentation/dvb/README.dvb-usb
··· 50 50 0. History & News: 51 51 2005-06-30 - added support for WideView WT-220U (Thanks to Steve Chang) 52 52 2005-05-30 - added basic isochronous support to the dvb-usb-framework 53 - added support for Conexant Hybrid reference design and Nebula DigiTV USB 53 + added support for Conexant Hybrid reference design and Nebula DigiTV USB 54 54 2005-04-17 - all dibusb devices ported to make use of the dvb-usb-framework 55 55 2005-04-02 - re-enabled and improved remote control code. 56 56 2005-03-31 - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb. 57 57 2005-03-30 - first commit of the dvb-usb-module based on the dibusb-source. First device is a new driver for the 58 - TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device. 58 + TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device. 59 59 60 60 (change from dvb-dibusb to dvb-usb) 61 61 2005-03-28 - added support for the AVerMedia AverTV DVB-T USB2.0 device (Thanks to Glen Harris and Jiun-Kuei Jung, AVerMedia) ··· 64 64 2005-02-02 - added support for the Hauppauge Win-TV Nova-T USB2 65 65 2005-01-31 - distorted streaming is gone for USB1.1 devices 66 66 2005-01-13 - moved the mirrored pid_filter_table back to dvb-dibusb 67 - - first almost working version for HanfTek UMT-010 68 - - found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010 67 + - first almost working version for HanfTek UMT-010 68 + - found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010 69 69 2005-01-10 - refactoring completed, now everything is very delightful 70 - - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a 71 - Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich. 70 + - tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a 71 + Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich. 72 72 2004-12-29 - after several days of struggling around bug of no returning URBs fixed. 73 73 2004-12-26 - refactored the dibusb-driver, splitted into separate files 74 - - i2c-probing enabled 74 + - i2c-probing enabled 75 75 2004-12-06 - possibility for demod i2c-address probing 76 - - new usb IDs (Compro, Artec) 76 + - new usb IDs (Compro, Artec) 77 77 2004-11-23 - merged changes from DiB3000MC_ver2.1 78 - - revised the debugging 79 - - possibility to deliver the complete TS for USB2.0 78 + - revised the debugging 79 + - possibility to deliver the complete TS for USB2.0 80 80 2004-11-21 - first working version of the dib3000mc/p frontend driver. 81 81 2004-11-12 - added additional remote control keys. Thanks to Uwe Hanke. 82 82 2004-11-07 - added remote control support. Thanks to David Matthews. 83 83 2004-11-05 - added support for a new devices (Grandtec/Avermedia/Artec) 84 - - merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD 85 - - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems 86 - better settled there (added xfer_ops-struct) 87 - - created a common files for frontends (mc/p/mb) 84 + - merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD 85 + - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems 86 + better settled there (added xfer_ops-struct) 87 + - created a common files for frontends (mc/p/mb) 88 88 2004-09-28 - added support for a new device (Unkown, vendor ID is Hyper-Paltek) 89 89 2004-09-20 - added support for a new device (Compro DVB-U2000), thanks 90 - to Amaury Demol for reporting 91 - - changed usb TS transfer method (several urbs, stopping transfer 92 - before setting a new pid) 90 + to Amaury Demol for reporting 91 + - changed usb TS transfer method (several urbs, stopping transfer 92 + before setting a new pid) 93 93 2004-09-13 - added support for a new device (Artec T1 USB TVBOX), thanks 94 - to Christian Motschke for reporting 94 + to Christian Motschke for reporting 95 95 2004-09-05 - released the dibusb device and dib3000mb-frontend driver 96 96 97 97 (old news for vp7041.c) 98 98 2004-07-15 - found out, by accident, that the device has a TUA6010XS for 99 - PLL 99 + PLL 100 100 2004-07-12 - figured out, that the driver should also work with the 101 - CTS Portable (Chinese Television System) 101 + CTS Portable (Chinese Television System) 102 102 2004-07-08 - firmware-extraction-2.422-problem solved, driver is now working 103 - properly with firmware extracted from 2.422 104 - - #if for 2.6.4 (dvb), compile issue 105 - - changed firmware handling, see vp7041.txt sec 1.1 103 + properly with firmware extracted from 2.422 104 + - #if for 2.6.4 (dvb), compile issue 105 + - changed firmware handling, see vp7041.txt sec 1.1 106 106 2004-07-02 - some tuner modifications, v0.1, cleanups, first public 107 107 2004-06-28 - now using the dvb_dmx_swfilter_packets, everything 108 - runs fine now 108 + runs fine now 109 109 2004-06-27 - able to watch and switching channels (pre-alpha) 110 - - no section filtering yet 110 + - no section filtering yet 111 111 2004-06-06 - first TS received, but kernel oops :/ 112 112 2004-05-14 - firmware loader is working 113 113 2004-05-11 - start writing the driver
+1 -1
Documentation/dvb/README.flexcop
··· 174 174 Everything which is identical in the following table, can be put into a common 175 175 flexcop-module. 176 176 177 - PCI USB 177 + PCI USB 178 178 ------------------------------------------------------------------------------- 179 179 Different: 180 180 Register access: accessing IO memory USB control message
+1 -1
Documentation/dvb/avermedia.txt
··· 1 1 2 2 HOWTO: Get An Avermedia DVB-T working under Linux 3 - ______________________________________________ 3 + ______________________________________________ 4 4 5 5 Table of Contents 6 6 Assumptions and Introduction
+4 -4
Documentation/dvb/cards.txt
··· 16 16 shielding, and the whole metal box has its own part number. 17 17 18 18 19 - o Frontends drivers: 19 + o Frontends drivers: 20 20 - dvb_dummy_fe: for testing... 21 21 DVB-S: 22 22 - ves1x93 : Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993) ··· 24 24 - grundig_29504-491 : Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL 25 25 - mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL 26 26 - stv0299 : Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL), 27 - LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL), 27 + LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL), 28 28 Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB 29 29 DVB-C: 30 30 - ves1820 : various (ves1820 demodulator, sp5659c or spXXXX PLL) ··· 35 35 - grundig_29504-401 : Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL 36 36 - tda1004x : Philips tda10045h (td1344 or tdm1316l PLL) 37 37 - nxt6000 : Alps TDME7 (MITEL SP5659 PLL), Alps TDED4 (TI ALP510 PLL), 38 - Comtech DVBT-6k07 (SP5730 PLL) 39 - (NxtWave Communications NXT6000 demodulator) 38 + Comtech DVBT-6k07 (SP5730 PLL) 39 + (NxtWave Communications NXT6000 demodulator) 40 40 - sp887x : Microtune 7202D 41 41 - dib3000mb : DiBcom 3000-MB demodulator 42 42 DVB-S/C/T:
+2 -2
Documentation/dvb/contributors.txt
··· 15 15 16 16 Diego Picciani <d.picciani@novacomp.it> 17 17 for CyberLogin for Linux which allows logging onto EON 18 - (in case you are wondering where CyberLogin is, EON changed its login 18 + (in case you are wondering where CyberLogin is, EON changed its login 19 19 procedure and CyberLogin is no longer used.) 20 20 21 21 Martin Schaller <martin@smurf.franken.de> ··· 57 57 Davor Emard <emard@softhome.net> 58 58 for his work on the budget drivers, the demux code, 59 59 the module unloading problems, ... 60 - 60 + 61 61 Hans-Frieder Vogt <hfvogt@arcor.de> 62 62 for his work on calculating and checking the crc's for the 63 63 TechnoTrend/Hauppauge DEC driver firmware
+2 -2
Documentation/dvb/readme.txt
··· 20 20 21 21 What's inside this directory: 22 22 23 - "cards.txt" 23 + "cards.txt" 24 24 contains a list of supported hardware. 25 25 26 26 "contributors.txt" ··· 37 37 contains detailed informations about the 38 38 TT DEC2000/DEC3000 USB DVB hardware. 39 39 40 - "bt8xx.txt" 40 + "bt8xx.txt" 41 41 contains detailed installation instructions for the 42 42 various bt8xx based "budget" DVB cards 43 43 (Nebula, Pinnacle PCTV, Twinhan DST)
+11 -11
Documentation/filesystems/ext3.txt
··· 57 57 we'd like to get some feedback if it's the contrary for 58 58 you. 59 59 60 - user_xattr (*) Enables POSIX Extended Attributes. It's enabled by 61 - default, however you need to confifure its support 62 - (CONFIG_EXT3_FS_XATTR). This is neccesary if you want 63 - to use POSIX Acces Control Lists support. You can visit 64 - http://acl.bestbits.at to know more about POSIX Extended 65 - attributes. 60 + user_xattr Enables Extended User Attributes. Additionally, you need 61 + to have extended attribute support enabled in the kernel 62 + configuration (CONFIG_EXT3_FS_XATTR). See the attr(5) 63 + manual page and http://acl.bestbits.at to learn more 64 + about extended attributes. 66 65 67 - nouser_xattr Disables POSIX Extended Attributes. 66 + nouser_xattr Disables Extended User Attributes. 68 67 69 - acl (*) Enables POSIX Access Control Lists support. This is 70 - enabled by default, however you need to configure 71 - its support (CONFIG_EXT3_FS_POSIX_ACL). If you want 72 - to know more about ACLs visit http://acl.bestbits.at 68 + acl Enables POSIX Access Control Lists support. Additionally, 69 + you need to have ACL support enabled in the kernel 70 + configuration (CONFIG_EXT3_FS_POSIX_ACL). See the acl(5) 71 + manual page and http://acl.bestbits.at for more 72 + information. 73 73 74 74 noacl This option disables POSIX Access Control List support. 75 75
+1 -1
Makefile
··· 408 408 # of make so .config is not included in this case either (for *config). 409 409 410 410 no-dot-config-targets := clean mrproper distclean \ 411 - cscope TAGS tags help %docs check% kernelrelease 411 + cscope TAGS tags help %docs check% 412 412 413 413 config-targets := 0 414 414 mixed-targets := 0
+1 -1
arch/i386/kernel/kprobes.c
··· 191 191 */ 192 192 save_previous_kprobe(kcb); 193 193 set_current_kprobe(p, regs, kcb); 194 - p->nmissed++; 194 + kprobes_inc_nmissed_count(p); 195 195 prepare_singlestep(p, regs); 196 196 kcb->kprobe_status = KPROBE_REENTER; 197 197 return 1;
-7
arch/i386/kernel/traps.c
··· 650 650 651 651 cpu = smp_processor_id(); 652 652 653 - #ifdef CONFIG_HOTPLUG_CPU 654 - if (!cpu_online(cpu)) { 655 - nmi_exit(); 656 - return; 657 - } 658 - #endif 659 - 660 653 ++nmi_count(cpu); 661 654 662 655 if (!rcu_dereference(nmi_callback)(regs, cpu))
+1 -1
arch/ia64/Kconfig
··· 58 58 bool 59 59 select GENERIC_ALLOCATOR 60 60 61 - config ZONE_DMA_IS_DMA32 61 + config DMA_IS_DMA32 62 62 bool 63 63 default y 64 64
+1 -1
arch/ia64/kernel/kprobes.c
··· 630 630 */ 631 631 save_previous_kprobe(kcb); 632 632 set_current_kprobe(p, kcb); 633 - p->nmissed++; 633 + kprobes_inc_nmissed_count(p); 634 634 prepare_ss(p, regs); 635 635 kcb->kprobe_status = KPROBE_REENTER; 636 636 return 1;
+2 -2
arch/mips/mm/init.c
··· 67 67 68 68 page = virt_to_page(empty_zero_page); 69 69 while (page < virt_to_page(empty_zero_page + (PAGE_SIZE << order))) { 70 - set_bit(PG_reserved, &page->flags); 71 - reset_page_mapcount(page); 70 + SetPageReserved(page); 71 + set_page_count(page, 1); 72 72 page++; 73 73 } 74 74
+1 -1
arch/powerpc/Kconfig
··· 227 227 If you don't know what to do here, say N. 228 228 229 229 config NR_CPUS 230 - int "Maximum number of CPUs (2-32)" 230 + int "Maximum number of CPUs (2-128)" 231 231 range 2 128 232 232 depends on SMP 233 233 default "32" if PPC64
+1 -1
arch/powerpc/kernel/kprobes.c
··· 177 177 save_previous_kprobe(kcb); 178 178 set_current_kprobe(p, regs, kcb); 179 179 kcb->kprobe_saved_msr = regs->msr; 180 - p->nmissed++; 180 + kprobes_inc_nmissed_count(p); 181 181 prepare_singlestep(p, regs); 182 182 kcb->kprobe_status = KPROBE_REENTER; 183 183 return 1;
+9 -1
arch/powerpc/kernel/setup_64.c
··· 102 102 dev_t boot_dev; 103 103 u64 ppc64_pft_size; 104 104 105 - struct ppc64_caches ppc64_caches; 105 + /* Pick defaults since we might want to patch instructions 106 + * before we've read this from the device tree. 107 + */ 108 + struct ppc64_caches ppc64_caches = { 109 + .dline_size = 0x80, 110 + .log_dline_size = 7, 111 + .iline_size = 0x80, 112 + .log_iline_size = 7 113 + }; 106 114 EXPORT_SYMBOL_GPL(ppc64_caches); 107 115 108 116 /*
+1 -1
arch/powerpc/mm/hash_utils_64.c
··· 601 601 /* Handle hugepage regions */ 602 602 if (unlikely(in_hugepage_area(mm->context, ea))) { 603 603 DBG_LOW(" -> huge page !\n"); 604 - return hash_huge_page(mm, access, ea, vsid, local); 604 + return hash_huge_page(mm, access, ea, vsid, local, trap); 605 605 } 606 606 607 607 /* Get PTE and page size from page tables */
+79 -20
arch/powerpc/mm/hugetlbpage.c
··· 148 148 return 0; 149 149 } 150 150 151 + struct slb_flush_info { 152 + struct mm_struct *mm; 153 + u16 newareas; 154 + }; 155 + 151 156 static void flush_low_segments(void *parm) 152 157 { 153 - u16 areas = (unsigned long) parm; 158 + struct slb_flush_info *fi = parm; 154 159 unsigned long i; 155 160 161 + BUILD_BUG_ON((sizeof(fi->newareas)*8) != NUM_LOW_AREAS); 162 + 163 + if (current->active_mm != fi->mm) 164 + return; 165 + 166 + /* Only need to do anything if this CPU is working in the same 167 + * mm as the one which has changed */ 168 + 169 + /* update the paca copy of the context struct */ 170 + get_paca()->context = current->active_mm->context; 171 + 156 172 asm volatile("isync" : : : "memory"); 157 - 158 - BUILD_BUG_ON((sizeof(areas)*8) != NUM_LOW_AREAS); 159 - 160 173 for (i = 0; i < NUM_LOW_AREAS; i++) { 161 - if (! (areas & (1U << i))) 174 + if (! (fi->newareas & (1U << i))) 162 175 continue; 163 176 asm volatile("slbie %0" 164 177 : : "r" ((i << SID_SHIFT) | SLBIE_C)); 165 178 } 166 - 167 179 asm volatile("isync" : : : "memory"); 168 180 } 169 181 170 182 static void flush_high_segments(void *parm) 171 183 { 172 - u16 areas = (unsigned long) parm; 184 + struct slb_flush_info *fi = parm; 173 185 unsigned long i, j; 174 186 187 + 188 + BUILD_BUG_ON((sizeof(fi->newareas)*8) != NUM_HIGH_AREAS); 189 + 190 + if (current->active_mm != fi->mm) 191 + return; 192 + 193 + /* Only need to do anything if this CPU is working in the same 194 + * mm as the one which has changed */ 195 + 196 + /* update the paca copy of the context struct */ 197 + get_paca()->context = current->active_mm->context; 198 + 175 199 asm volatile("isync" : : : "memory"); 176 - 177 - BUILD_BUG_ON((sizeof(areas)*8) != NUM_HIGH_AREAS); 178 - 179 200 for (i = 0; i < NUM_HIGH_AREAS; i++) { 180 - if (! (areas & (1U << i))) 201 + if (! (fi->newareas & (1U << i))) 181 202 continue; 182 203 for (j = 0; j < (1UL << (HTLB_AREA_SHIFT-SID_SHIFT)); j++) 183 204 asm volatile("slbie %0" 184 205 :: "r" (((i << HTLB_AREA_SHIFT) 185 - + (j << SID_SHIFT)) | SLBIE_C)); 206 + + (j << SID_SHIFT)) | SLBIE_C)); 186 207 } 187 - 188 208 asm volatile("isync" : : : "memory"); 189 209 } 190 210 ··· 249 229 static int open_low_hpage_areas(struct mm_struct *mm, u16 newareas) 250 230 { 251 231 unsigned long i; 232 + struct slb_flush_info fi; 252 233 253 234 BUILD_BUG_ON((sizeof(newareas)*8) != NUM_LOW_AREAS); 254 235 BUILD_BUG_ON((sizeof(mm->context.low_htlb_areas)*8) != NUM_LOW_AREAS); ··· 265 244 266 245 mm->context.low_htlb_areas |= newareas; 267 246 268 - /* update the paca copy of the context struct */ 269 - get_paca()->context = mm->context; 270 - 271 247 /* the context change must make it to memory before the flush, 272 248 * so that further SLB misses do the right thing. */ 273 249 mb(); 274 - on_each_cpu(flush_low_segments, (void *)(unsigned long)newareas, 0, 1); 250 + 251 + fi.mm = mm; 252 + fi.newareas = newareas; 253 + on_each_cpu(flush_low_segments, &fi, 0, 1); 275 254 276 255 return 0; 277 256 } 278 257 279 258 static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas) 280 259 { 260 + struct slb_flush_info fi; 281 261 unsigned long i; 282 262 283 263 BUILD_BUG_ON((sizeof(newareas)*8) != NUM_HIGH_AREAS); ··· 302 280 /* the context change must make it to memory before the flush, 303 281 * so that further SLB misses do the right thing. */ 304 282 mb(); 305 - on_each_cpu(flush_high_segments, (void *)(unsigned long)newareas, 0, 1); 283 + 284 + fi.mm = mm; 285 + fi.newareas = newareas; 286 + on_each_cpu(flush_high_segments, &fi, 0, 1); 306 287 307 288 return 0; 308 289 } ··· 664 639 return -ENOMEM; 665 640 } 666 641 642 + /* 643 + * Called by asm hashtable.S for doing lazy icache flush 644 + */ 645 + static unsigned int hash_huge_page_do_lazy_icache(unsigned long rflags, 646 + pte_t pte, int trap) 647 + { 648 + struct page *page; 649 + int i; 650 + 651 + if (!pfn_valid(pte_pfn(pte))) 652 + return rflags; 653 + 654 + page = pte_page(pte); 655 + 656 + /* page is dirty */ 657 + if (!test_bit(PG_arch_1, &page->flags) && !PageReserved(page)) { 658 + if (trap == 0x400) { 659 + for (i = 0; i < (HPAGE_SIZE / PAGE_SIZE); i++) 660 + __flush_dcache_icache(page_address(page+i)); 661 + set_bit(PG_arch_1, &page->flags); 662 + } else { 663 + rflags |= HPTE_R_N; 664 + } 665 + } 666 + return rflags; 667 + } 668 + 667 669 int hash_huge_page(struct mm_struct *mm, unsigned long access, 668 - unsigned long ea, unsigned long vsid, int local) 670 + unsigned long ea, unsigned long vsid, int local, 671 + unsigned long trap) 669 672 { 670 673 pte_t *ptep; 671 674 unsigned long old_pte, new_pte; ··· 744 691 rflags = 0x2 | (!(new_pte & _PAGE_RW)); 745 692 /* _PAGE_EXEC -> HW_NO_EXEC since it's inverted */ 746 693 rflags |= ((new_pte & _PAGE_EXEC) ? 0 : HPTE_R_N); 694 + if (!cpu_has_feature(CPU_FTR_COHERENT_ICACHE)) 695 + /* No CPU has hugepages but lacks no execute, so we 696 + * don't need to worry about that case */ 697 + rflags = hash_huge_page_do_lazy_icache(rflags, __pte(old_pte), 698 + trap); 747 699 748 700 /* Check if pte already has an hpte (case 2) */ 749 701 if (unlikely(old_pte & _PAGE_HASHPTE)) { ··· 761 703 slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; 762 704 slot += (old_pte & _PAGE_F_GIX) >> 12; 763 705 764 - if (ppc_md.hpte_updatepp(slot, rflags, va, 1, local) == -1) 706 + if (ppc_md.hpte_updatepp(slot, rflags, va, mmu_huge_psize, 707 + local) == -1) 765 708 old_pte &= ~_PAGE_HPTEFLAGS; 766 709 } 767 710
+1 -1
arch/powerpc/mm/numa.c
··· 125 125 126 126 /* We didnt find a matching region, return start/end as 0 */ 127 127 if (*start_pfn == -1UL) 128 - start_pfn = 0; 128 + *start_pfn = 0; 129 129 } 130 130 131 131 static inline void map_cpu_to_node(int cpu, int node)
+1 -6
arch/powerpc/mm/stab.c
··· 288 288 return; 289 289 } 290 290 #endif /* CONFIG_PPC_ISERIES */ 291 - #ifdef CONFIG_PPC_PSERIES 292 - if (platform_is_lpar()) { 293 - plpar_hcall_norets(H_SET_ASR, stabreal); 294 - return; 295 - } 296 - #endif 291 + 297 292 mtspr(SPRN_ASR, stabreal); 298 293 }
+16 -5
arch/powerpc/platforms/powermac/feature.c
··· 1650 1650 */ 1651 1651 1652 1652 if (macio->type == macio_intrepid) { 1653 - if (enable) 1654 - UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1655 - else 1656 - UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1657 - mdelay(40); 1653 + struct device_node *clock = 1654 + of_find_node_by_path("/uni-n@f8000000/hw-clock"); 1655 + if (clock && get_property(clock, "platform-do-clockspreading", 1656 + NULL)) { 1657 + printk(KERN_INFO "%sabling clock spreading on Intrepid" 1658 + " ASIC\n", enable ? "En" : "Dis"); 1659 + if (enable) 1660 + UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1661 + else 1662 + UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1663 + mdelay(40); 1664 + } 1665 + of_node_put(clock); 1658 1666 } 1659 1667 1660 1668 while (machine_is_compatible("PowerBook5,2") || ··· 1732 1724 pmac_low_i2c_close(ui2c); 1733 1725 break; 1734 1726 } 1727 + printk(KERN_INFO "%sabling clock spreading on i2c clock chip\n", 1728 + enable ? "En" : "Dis"); 1729 + 1735 1730 pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); 1736 1731 rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); 1737 1732 DBG("write result: %d,", rc);
+7 -4
arch/powerpc/platforms/pseries/iommu.c
··· 109 109 u64 rc; 110 110 union tce_entry tce; 111 111 112 + tcenum <<= TCE_PAGE_FACTOR; 113 + npages <<= TCE_PAGE_FACTOR; 114 + 112 115 tce.te_word = 0; 113 116 tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; 114 117 tce.te_rdwr = 1; ··· 146 143 union tce_entry tce, *tcep; 147 144 long l, limit; 148 145 149 - tcenum <<= TCE_PAGE_FACTOR; 150 - npages <<= TCE_PAGE_FACTOR; 151 - 152 - if (npages == 1) 146 + if (TCE_PAGE_FACTOR == 0 && npages == 1) 153 147 return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr, 154 148 direction); 155 149 ··· 163 163 uaddr, direction); 164 164 __get_cpu_var(tce_page) = tcep; 165 165 } 166 + 167 + tcenum <<= TCE_PAGE_FACTOR; 168 + npages <<= TCE_PAGE_FACTOR; 166 169 167 170 tce.te_word = 0; 168 171 tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT;
-12
arch/powerpc/platforms/pseries/lpar.c
··· 298 298 if (!(vflags & HPTE_V_BOLTED)) 299 299 DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); 300 300 301 - #if 1 302 - { 303 - int i; 304 - for (i=0;i<8;i++) { 305 - unsigned long w0, w1; 306 - plpar_pte_read(0, hpte_group, &w0, &w1); 307 - BUG_ON (HPTE_V_COMPARE(hpte_v, w0) 308 - && (w0 & HPTE_V_VALID)); 309 - } 310 - } 311 - #endif 312 - 313 301 /* Now fill in the actual HPTE */ 314 302 /* Set CEC cookie to 0 */ 315 303 /* Zero page = 0 */
+3 -3
arch/ppc/Kconfig
··· 767 767 on it (826x, 827x, 8560). 768 768 769 769 config PPC_CHRP 770 - bool " Common Hardware Reference Platform (CHRP) based machines" 770 + bool 771 771 depends on PPC_MULTIPLATFORM 772 772 select PPC_I8259 773 773 select PPC_INDIRECT_PCI 774 774 default y 775 775 776 776 config PPC_PMAC 777 - bool " Apple PowerMac based machines" 777 + bool 778 778 depends on PPC_MULTIPLATFORM 779 779 select PPC_INDIRECT_PCI 780 780 default y ··· 785 785 default y 786 786 787 787 config PPC_PREP 788 - bool " PowerPC Reference Platform (PReP) based machines" 788 + bool 789 789 depends on PPC_MULTIPLATFORM 790 790 select PPC_I8259 791 791 select PPC_INDIRECT_PCI
+4
arch/ppc/kernel/smp.c
··· 301 301 302 302 /* Probe platform for CPUs: always linear. */ 303 303 num_cpus = smp_ops->probe(); 304 + 305 + if (num_cpus < 2) 306 + smp_tb_synchronized = 1; 307 + 304 308 for (i = 0; i < num_cpus; ++i) 305 309 cpu_set(i, cpu_possible_map); 306 310
+15 -5
arch/ppc/platforms/pmac_feature.c
··· 1606 1606 */ 1607 1607 1608 1608 if (macio->type == macio_intrepid) { 1609 - if (enable) 1610 - UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1611 - else 1612 - UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1613 - mdelay(40); 1609 + struct device_node *clock = 1610 + of_find_node_by_path("/uni-n@f8000000/hw-clock"); 1611 + if (clock && get_property(clock, "platform-do-clockspreading", 1612 + NULL)) { 1613 + printk(KERN_INFO "%sabling clock spreading on Intrepid" 1614 + " ASIC\n", enable ? "En" : "Dis"); 1615 + if (enable) 1616 + UN_OUT(UNI_N_CLOCK_SPREADING, 2); 1617 + else 1618 + UN_OUT(UNI_N_CLOCK_SPREADING, 0); 1619 + mdelay(40); 1620 + } 1621 + of_node_put(clock); 1614 1622 } 1615 1623 1616 1624 while (machine_is_compatible("PowerBook5,2") || ··· 1688 1680 pmac_low_i2c_close(ui2c); 1689 1681 break; 1690 1682 } 1683 + printk(KERN_INFO "%sabling clock spreading on i2c clock chip\n", 1684 + enable ? "En" : "Dis"); 1691 1685 pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); 1692 1686 rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); 1693 1687 DBG("write result: %d,", rc);
+1 -1
arch/sparc64/kernel/kprobes.c
··· 138 138 */ 139 139 save_previous_kprobe(kcb); 140 140 set_current_kprobe(p, regs, kcb); 141 - p->nmissed++; 141 + kprobes_inc_nmissed_count(p); 142 142 kcb->kprobe_status = KPROBE_REENTER; 143 143 prepare_singlestep(p, regs, kcb); 144 144 return 1;
+2
arch/um/include/um_uaccess.h
··· 17 17 #include "uaccess-skas.h" 18 18 #endif 19 19 20 + #include "asm/fixmap.h" 21 + 20 22 #define __under_task_size(addr, size) \ 21 23 (((unsigned long) (addr) < TASK_SIZE) && \ 22 24 (((unsigned long) (addr) + (size)) < TASK_SIZE))
-1
arch/um/kernel/skas/include/uaccess-skas.h
··· 7 7 #define __SKAS_UACCESS_H 8 8 9 9 #include "asm/errno.h" 10 - #include "asm/fixmap.h" 11 10 12 11 /* No SKAS-specific checking. */ 13 12 #define access_ok_skas(type, addr, size) 0
+1 -1
arch/x86_64/kernel/kprobes.c
··· 329 329 */ 330 330 save_previous_kprobe(kcb); 331 331 set_current_kprobe(p, regs, kcb); 332 - p->nmissed++; 332 + kprobes_inc_nmissed_count(p); 333 333 prepare_singlestep(p, regs); 334 334 kcb->kprobe_status = KPROBE_REENTER; 335 335 return 1;
+1 -1
drivers/acpi/pci_link.c
··· 316 316 if (!link || !irq) 317 317 return_VALUE(-EINVAL); 318 318 319 - resource = kmalloc(sizeof(*resource) + 1, GFP_KERNEL); 319 + resource = kmalloc(sizeof(*resource) + 1, GFP_ATOMIC); 320 320 if (!resource) 321 321 return_VALUE(-ENOMEM); 322 322
-3
drivers/block/cciss.c
··· 1146 1146 del_gendisk(disk); 1147 1147 if (q) 1148 1148 blk_cleanup_queue(q); 1149 - put_disk(disk); 1150 1149 } 1151 1150 } 1152 1151 ··· 1466 1467 del_gendisk(disk); 1467 1468 if (q) 1468 1469 blk_cleanup_queue(q); 1469 - put_disk(disk); 1470 1470 } 1471 1471 } 1472 1472 ··· 3241 3243 del_gendisk(disk); 3242 3244 if (q) 3243 3245 blk_cleanup_queue(q); 3244 - put_disk(disk); 3245 3246 } 3246 3247 } 3247 3248
+9 -9
drivers/char/Kconfig
··· 943 943 Applications should simply open the device (eg /dev/hda1) 944 944 with the O_DIRECT flag. 945 945 946 + config MAX_RAW_DEVS 947 + int "Maximum number of RAW devices to support (1-8192)" 948 + depends on RAW_DRIVER 949 + default "256" 950 + help 951 + The maximum number of RAW devices that are supported. 952 + Default is 256. Increase this number in case you need lots of 953 + raw devices. 954 + 946 955 config HPET 947 956 bool "HPET - High Precision Event Timer" if (X86 || IA64) 948 957 default n ··· 982 973 registers may also contain other things that shouldn't be 983 974 exposed to the user. If this applies to your hardware, 984 975 say N here. 985 - 986 - config MAX_RAW_DEVS 987 - int "Maximum number of RAW devices to support (1-8192)" 988 - depends on RAW_DRIVER 989 - default "256" 990 - help 991 - The maximum number of RAW devices that are supported. 992 - Default is 256. Increase this number in case you need lots of 993 - raw devices. 994 976 995 977 config HANGCHECK_TIMER 996 978 tristate "Hangcheck timer"
+1 -1
drivers/char/ipmi/ipmi_msghandler.c
··· 2986 2986 msg.cmd = 2; /* Platform event command. */ 2987 2987 msg.data = data; 2988 2988 msg.data_len = 8; 2989 - data[0] = 0x21; /* Kernel generator ID, IPMI table 5-4 */ 2989 + data[0] = 0x41; /* Kernel generator ID, IPMI table 5-4 */ 2990 2990 data[1] = 0x03; /* This is for IPMI 1.0. */ 2991 2991 data[2] = 0x20; /* OS Critical Stop, IPMI table 36-3 */ 2992 2992 data[4] = 0x6f; /* Sensor specific, IPMI table 36-1 */
+5
drivers/connector/cn_proc.c
··· 56 56 msg = (struct cn_msg*)buffer; 57 57 ev = (struct proc_event*)msg->data; 58 58 get_seq(&msg->seq, &ev->cpu); 59 + getnstimestamp(&ev->timestamp); 59 60 ev->what = PROC_EVENT_FORK; 60 61 ev->event_data.fork.parent_pid = task->real_parent->pid; 61 62 ev->event_data.fork.parent_tgid = task->real_parent->tgid; ··· 82 81 msg = (struct cn_msg*)buffer; 83 82 ev = (struct proc_event*)msg->data; 84 83 get_seq(&msg->seq, &ev->cpu); 84 + getnstimestamp(&ev->timestamp); 85 85 ev->what = PROC_EVENT_EXEC; 86 86 ev->event_data.exec.process_pid = task->pid; 87 87 ev->event_data.exec.process_tgid = task->tgid; ··· 116 114 } else 117 115 return; 118 116 get_seq(&msg->seq, &ev->cpu); 117 + getnstimestamp(&ev->timestamp); 119 118 120 119 memcpy(&msg->id, &cn_proc_event_id, sizeof(msg->id)); 121 120 msg->ack = 0; /* not used */ ··· 136 133 msg = (struct cn_msg*)buffer; 137 134 ev = (struct proc_event*)msg->data; 138 135 get_seq(&msg->seq, &ev->cpu); 136 + getnstimestamp(&ev->timestamp); 139 137 ev->what = PROC_EVENT_EXIT; 140 138 ev->event_data.exit.process_pid = task->pid; 141 139 ev->event_data.exit.process_tgid = task->tgid; ··· 169 165 msg = (struct cn_msg*)buffer; 170 166 ev = (struct proc_event*)msg->data; 171 167 msg->seq = rcvd_seq; 168 + getnstimestamp(&ev->timestamp); 172 169 ev->cpu = -1; 173 170 ev->what = PROC_EVENT_NONE; 174 171 ev->event_data.ack.err = err;
+2 -2
drivers/macintosh/windfarm_pm81.c
··· 207 207 }, 208 208 /* Model ID 3 */ 209 209 { 210 - .model_id = 2, 210 + .model_id = 3, 211 211 .itarget = 0x350000, 212 212 .gd = 0x08e00000, 213 213 .gp = 0x00566666, ··· 219 219 }, 220 220 /* Model ID 5 */ 221 221 { 222 - .model_id = 2, 222 + .model_id = 5, 223 223 .itarget = 0x3a0000, 224 224 .gd = 0x15400000, 225 225 .gp = 0x00233333,
+3 -2
drivers/md/raid1.c
··· 320 320 * this branch is our 'one mirror IO has finished' event handler: 321 321 */ 322 322 r1_bio->bios[mirror] = NULL; 323 - bio_put(bio); 324 323 if (!uptodate) { 325 324 md_error(r1_bio->mddev, conf->mirrors[mirror].rdev); 326 325 /* an I/O failed, we can't clear the bitmap */ ··· 376 377 } 377 378 if (test_bit(R1BIO_BehindIO, &r1_bio->state)) { 378 379 /* free extra copy of the data pages */ 379 - /* FIXME bio has been freed!!! */ 380 380 int i = bio->bi_vcnt; 381 381 while (i--) 382 382 __free_page(bio->bi_io_vec[i].bv_page); ··· 388 390 md_write_end(r1_bio->mddev); 389 391 raid_end_bio_io(r1_bio); 390 392 } 393 + 394 + if (r1_bio->bios[mirror]==NULL) 395 + bio_put(bio); 391 396 392 397 rdev_dec_pending(conf->mirrors[mirror].rdev, conf->mddev); 393 398 return 0;
+4 -3
drivers/md/raid5.c
··· 98 98 list_add_tail(&sh->lru, &conf->inactive_list); 99 99 atomic_dec(&conf->active_stripes); 100 100 if (!conf->inactive_blocked || 101 - atomic_read(&conf->active_stripes) < (NR_STRIPES*3/4)) 101 + atomic_read(&conf->active_stripes) < (conf->max_nr_stripes*3/4)) 102 102 wake_up(&conf->wait_for_stripe); 103 103 } 104 104 } ··· 264 264 conf->inactive_blocked = 1; 265 265 wait_event_lock_irq(conf->wait_for_stripe, 266 266 !list_empty(&conf->inactive_list) && 267 - (atomic_read(&conf->active_stripes) < (NR_STRIPES *3/4) 267 + (atomic_read(&conf->active_stripes) 268 + < (conf->max_nr_stripes *3/4) 268 269 || !conf->inactive_blocked), 269 270 conf->device_lock, 270 271 unplug_slaves(conf->mddev); ··· 1918 1917 goto abort; 1919 1918 } 1920 1919 } 1921 - memory = conf->max_nr_stripes * (sizeof(struct stripe_head) + 1920 + memory = conf->max_nr_stripes * (sizeof(struct stripe_head) + 1922 1921 conf->raid_disks * ((sizeof(struct bio) + PAGE_SIZE))) / 1024; 1923 1922 if (grow_stripes(conf, conf->max_nr_stripes)) { 1924 1923 printk(KERN_ERR
+3 -3
drivers/media/common/Kconfig
··· 1 1 config VIDEO_SAA7146 2 - tristate 2 + tristate 3 3 select I2C 4 4 5 5 config VIDEO_SAA7146_VV 6 - tristate 6 + tristate 7 7 select VIDEO_BUF 8 8 select VIDEO_VIDEOBUF 9 9 select VIDEO_SAA7146 10 10 11 11 config VIDEO_VIDEOBUF 12 - tristate 12 + tristate
+2 -2
drivers/media/common/Makefile
··· 1 - saa7146-objs := saa7146_i2c.o saa7146_core.o 2 - saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o 1 + saa7146-objs := saa7146_i2c.o saa7146_core.o 2 + saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o 3 3 4 4 obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o 5 5 obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
+1
drivers/media/common/ir-common.c
··· 313 313 if (ir_codes) 314 314 memcpy(ir->ir_codes, ir_codes, sizeof(ir->ir_codes)); 315 315 316 + 316 317 dev->keycode = ir->ir_codes; 317 318 dev->keycodesize = sizeof(IR_KEYTAB_TYPE); 318 319 dev->keycodemax = IR_KEYTAB_SIZE;
+3 -3
drivers/media/common/saa7146_core.c
··· 174 174 175 175 int saa7146_pgtable_alloc(struct pci_dev *pci, struct saa7146_pgtable *pt) 176 176 { 177 - u32 *cpu; 178 - dma_addr_t dma_addr; 177 + u32 *cpu; 178 + dma_addr_t dma_addr; 179 179 180 180 cpu = pci_alloc_consistent(pci, PAGE_SIZE, &dma_addr); 181 181 if (NULL == cpu) { ··· 405 405 406 406 pci_set_drvdata(pci, dev); 407 407 408 - init_MUTEX(&dev->lock); 408 + init_MUTEX(&dev->lock); 409 409 spin_lock_init(&dev->int_slock); 410 410 spin_lock_init(&dev->slock); 411 411
+16 -16
drivers/media/common/saa7146_fops.c
··· 1 1 #include <media/saa7146_vv.h> 2 2 3 - #define BOARD_CAN_DO_VBI(dev) (dev->revision != 0 && dev->vv_data->vbi_minor != -1) 3 + #define BOARD_CAN_DO_VBI(dev) (dev->revision != 0 && dev->vv_data->vbi_minor != -1) 4 4 5 5 /****************************************************************************/ 6 6 /* resource management functions, shamelessly stolen from saa7134 driver */ ··· 102 102 /* finish current buffer */ 103 103 if (NULL == q->curr) { 104 104 DEB_D(("aiii. no current buffer\n")); 105 - return; 105 + return; 106 106 } 107 - 107 + 108 108 q->curr->vb.state = state; 109 109 do_gettimeofday(&q->curr->vb.ts); 110 110 wake_up(&q->curr->vb.done); ··· 143 143 // fixme: fix this for vflip != 0 144 144 145 145 saa7146_write(dev, PROT_ADDR1, 0); 146 - saa7146_write(dev, MC2, (MASK_02|MASK_18)); 146 + saa7146_write(dev, MC2, (MASK_02|MASK_18)); 147 147 148 148 /* write the address of the rps-program */ 149 149 saa7146_write(dev, RPS_ADDR0, dev->d_rps0.dma_handle); 150 150 /* turn on rps */ 151 151 saa7146_write(dev, MC1, (MASK_12 | MASK_28)); 152 - 152 + 153 153 /* 154 154 printk("vdma%d.base_even: 0x%08x\n", 1,saa7146_read(dev,BASE_EVEN1)); 155 155 printk("vdma%d.base_odd: 0x%08x\n", 1,saa7146_read(dev,BASE_ODD1)); ··· 246 246 goto out; 247 247 } 248 248 memset(fh,0,sizeof(*fh)); 249 - 249 + 250 250 file->private_data = fh; 251 251 fh->dev = dev; 252 252 fh->type = type; ··· 275 275 file->private_data = NULL; 276 276 } 277 277 up(&saa7146_devices_lock); 278 - return result; 278 + return result; 279 279 } 280 280 281 281 static int fops_release(struct inode *inode, struct file *file) ··· 405 405 static void vv_callback(struct saa7146_dev *dev, unsigned long status) 406 406 { 407 407 u32 isr = status; 408 - 408 + 409 409 DEB_INT(("dev:%p, isr:0x%08x\n",dev,(u32)status)); 410 410 411 411 if (0 != (isr & (MASK_27))) { ··· 454 454 handle different devices that might need different 455 455 configuration data) */ 456 456 dev->ext_vv_data = ext_vv; 457 - 457 + 458 458 vv->video_minor = -1; 459 459 vv->vbi_minor = -1; 460 460 461 - vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); 461 + vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle); 462 462 if( NULL == vv->d_clipping.cpu_addr ) { 463 463 ERR(("out of memory. aborting.\n")); 464 464 kfree(vv); ··· 468 468 469 469 saa7146_video_uops.init(dev,vv); 470 470 saa7146_vbi_uops.init(dev,vv); 471 - 471 + 472 472 dev->vv_data = vv; 473 473 dev->vv_callback = &vv_callback; 474 474 ··· 480 480 struct saa7146_vv *vv = dev->vv_data; 481 481 482 482 DEB_EE(("dev:%p\n",dev)); 483 - 483 + 484 484 pci_free_consistent(dev->pci, SAA7146_RPS_MEM, vv->d_clipping.cpu_addr, vv->d_clipping.dma_handle); 485 - kfree(vv); 485 + kfree(vv); 486 486 dev->vv_data = NULL; 487 487 dev->vv_callback = NULL; 488 - 488 + 489 489 return 0; 490 490 } 491 491 ··· 498 498 DEB_EE(("dev:%p, name:'%s', type:%d\n",dev,name,type)); 499 499 500 500 // released by vfd->release 501 - vfd = video_device_alloc(); 501 + vfd = video_device_alloc(); 502 502 if (vfd == NULL) 503 503 return -ENOMEM; 504 504 ··· 530 530 int saa7146_unregister_device(struct video_device **vid, struct saa7146_dev* dev) 531 531 { 532 532 struct saa7146_vv *vv = dev->vv_data; 533 - 533 + 534 534 DEB_EE(("dev:%p\n",dev)); 535 535 536 536 if( VFL_TYPE_GRABBER == (*vid)->type ) {
+8 -8
drivers/media/common/saa7146_i2c.c
··· 276 276 int i = 0, count = 0; 277 277 u32* buffer = dev->d_i2c.cpu_addr; 278 278 int err = 0; 279 - int address_err = 0; 280 - int short_delay = 0; 279 + int address_err = 0; 280 + int short_delay = 0; 281 281 282 282 if (down_interruptible (&dev->i2c_lock)) 283 283 return -ERESTARTSYS; ··· 325 325 if( 0 != (SAA7146_USE_I2C_IRQ & dev->ext->flags)) { 326 326 goto out; 327 327 } 328 - address_err++; 328 + address_err++; 329 329 } 330 330 DEB_I2C(("error while sending message(s). starting again.\n")); 331 331 break; ··· 336 336 break; 337 337 } 338 338 339 - /* delay a bit before retrying */ 340 - msleep(10); 339 + /* delay a bit before retrying */ 340 + msleep(10); 341 341 342 342 } while (err != num && retries--); 343 343 344 - /* if every retry had an address error, exit right away */ 345 - if (address_err == retries) { 346 - goto out; 344 + /* if every retry had an address error, exit right away */ 345 + if (address_err == retries) { 346 + goto out; 347 347 } 348 348 349 349 /* if any things had to be read, get the results */
+2 -2
drivers/media/common/saa7146_vbi.c
··· 6 6 { 7 7 struct saa7146_vv *vv = dev->vv_data; 8 8 9 - u32 *cpu; 10 - dma_addr_t dma_addr; 9 + u32 *cpu; 10 + dma_addr_t dma_addr; 11 11 12 12 int count = 0; 13 13 int i;
+23 -23
drivers/media/common/saa7146_video.c
··· 150 150 maxh = vv->standard->v_max_out; 151 151 152 152 if (V4L2_FIELD_ANY == field) { 153 - field = (win->w.height > maxh/2) 154 - ? V4L2_FIELD_INTERLACED 155 - : V4L2_FIELD_TOP; 156 - } 157 - switch (field) { 158 - case V4L2_FIELD_TOP: 159 - case V4L2_FIELD_BOTTOM: 160 - case V4L2_FIELD_ALTERNATE: 161 - maxh = maxh / 2; 162 - break; 163 - case V4L2_FIELD_INTERLACED: 164 - break; 165 - default: { 153 + field = (win->w.height > maxh/2) 154 + ? V4L2_FIELD_INTERLACED 155 + : V4L2_FIELD_TOP; 156 + } 157 + switch (field) { 158 + case V4L2_FIELD_TOP: 159 + case V4L2_FIELD_BOTTOM: 160 + case V4L2_FIELD_ALTERNATE: 161 + maxh = maxh / 2; 162 + break; 163 + case V4L2_FIELD_INTERLACED: 164 + break; 165 + default: { 166 166 DEB_D(("no known field mode '%d'.\n",field)); 167 - return -EINVAL; 167 + return -EINVAL; 168 168 } 169 - } 169 + } 170 170 171 171 win->field = field; 172 172 if (win->w.width > maxw) ··· 887 887 888 888 DEB_EE(("VIDIOC_QUERYCAP\n")); 889 889 890 - strcpy(cap->driver, "saa7146 v4l2"); 890 + strcpy(cap->driver, "saa7146 v4l2"); 891 891 strlcpy(cap->card, dev->ext->name, sizeof(cap->card)); 892 892 sprintf(cap->bus_info,"PCI:%s", pci_name(dev->pci)); 893 893 cap->version = SAA7146_VERSION_CODE; ··· 1011 1011 err = set_control(fh,arg); 1012 1012 return err; 1013 1013 } 1014 - case VIDIOC_G_PARM: 1015 - { 1016 - struct v4l2_streamparm *parm = arg; 1014 + case VIDIOC_G_PARM: 1015 + { 1016 + struct v4l2_streamparm *parm = arg; 1017 1017 if( parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE ) { 1018 1018 return -EINVAL; 1019 1019 } 1020 - memset(&parm->parm.capture,0,sizeof(struct v4l2_captureparm)); 1020 + memset(&parm->parm.capture,0,sizeof(struct v4l2_captureparm)); 1021 1021 parm->parm.capture.readbuffers = 1; 1022 1022 // fixme: only for PAL! 1023 1023 parm->parm.capture.timeperframe.numerator = 1; 1024 1024 parm->parm.capture.timeperframe.denominator = 25; 1025 - return 0; 1026 - } 1025 + return 0; 1026 + } 1027 1027 case VIDIOC_G_FMT: 1028 1028 { 1029 1029 struct v4l2_format *f = arg; ··· 1383 1383 1384 1384 static void video_init(struct saa7146_dev *dev, struct saa7146_vv *vv) 1385 1385 { 1386 - INIT_LIST_HEAD(&vv->video_q.queue); 1386 + INIT_LIST_HEAD(&vv->video_q.queue); 1387 1387 1388 1388 init_timer(&vv->video_q.timeout); 1389 1389 vv->video_q.timeout.function = saa7146_buffer_timeout;
+1 -1
drivers/media/dvb/b2c2/flexcop-common.h
··· 132 132 * I2C-channel of the flexcop. 133 133 */ 134 134 int flexcop_i2c_request(struct flexcop_device*, flexcop_access_op_t, 135 - flexcop_i2c_port_t, u8 chipaddr, u8 addr, u8 *buf, u16 len); 135 + flexcop_i2c_port_t, u8 chipaddr, u8 addr, u8 *buf, u16 len); 136 136 137 137 /* from flexcop-sram.c */ 138 138 int flexcop_sram_set_dest(struct flexcop_device *fc, flexcop_sram_dest_t dest, flexcop_sram_dest_target_t target);
+2 -2
drivers/media/dvb/b2c2/flexcop-fe-tuner.c
··· 298 298 } 299 299 300 300 static int lgdt3303_pll_set(struct dvb_frontend* fe, 301 - struct dvb_frontend_parameters* params) 301 + struct dvb_frontend_parameters* params) 302 302 { 303 303 struct flexcop_device *fc = fe->dvb->priv; 304 304 u8 buf[4]; ··· 332 332 return -EREMOTEIO; 333 333 } 334 334 335 - return 0; 335 + return 0; 336 336 } 337 337 338 338 static struct lgdt330x_config air2pc_atsc_hd5000_config = {
+3 -3
drivers/media/dvb/bt8xx/dvb-bt8xx.c
··· 556 556 dprintk("%s: tuner at 0x%02x bytes: 0x%02x 0x%02x 0x%02x 0x%02x\n", 557 557 __FUNCTION__, msg.addr, buf[0],buf[1],buf[2],buf[3]); 558 558 if ((err = i2c_transfer(card->i2c_adapter, &msg, 1)) != 1) { 559 - printk(KERN_WARNING "dvb-bt8xx: %s error " 560 - "(addr %02x <- %02x, err = %i)\n", 561 - __FUNCTION__, buf[0], buf[1], err); 559 + printk(KERN_WARNING "dvb-bt8xx: %s error " 560 + "(addr %02x <- %02x, err = %i)\n", 561 + __FUNCTION__, buf[0], buf[1], err); 562 562 if (err < 0) 563 563 return err; 564 564 else
+46 -46
drivers/media/dvb/dvb-core/demux.h
··· 86 86 87 87 enum dmx_ts_pes 88 88 { /* also send packets to decoder (if it exists) */ 89 - DMX_TS_PES_AUDIO0, 89 + DMX_TS_PES_AUDIO0, 90 90 DMX_TS_PES_VIDEO0, 91 91 DMX_TS_PES_TELETEXT0, 92 92 DMX_TS_PES_SUBTITLE0, 93 93 DMX_TS_PES_PCR0, 94 94 95 - DMX_TS_PES_AUDIO1, 95 + DMX_TS_PES_AUDIO1, 96 96 DMX_TS_PES_VIDEO1, 97 97 DMX_TS_PES_TELETEXT1, 98 98 DMX_TS_PES_SUBTITLE1, 99 99 DMX_TS_PES_PCR1, 100 100 101 - DMX_TS_PES_AUDIO2, 101 + DMX_TS_PES_AUDIO2, 102 102 DMX_TS_PES_VIDEO2, 103 103 DMX_TS_PES_TELETEXT2, 104 104 DMX_TS_PES_SUBTITLE2, 105 105 DMX_TS_PES_PCR2, 106 106 107 - DMX_TS_PES_AUDIO3, 107 + DMX_TS_PES_AUDIO3, 108 108 DMX_TS_PES_VIDEO3, 109 109 DMX_TS_PES_TELETEXT3, 110 110 DMX_TS_PES_SUBTITLE3, ··· 121 121 122 122 123 123 struct dmx_ts_feed { 124 - int is_filtering; /* Set to non-zero when filtering in progress */ 125 - struct dmx_demux *parent; /* Back-pointer */ 126 - void *priv; /* Pointer to private data of the API client */ 127 - int (*set) (struct dmx_ts_feed *feed, 124 + int is_filtering; /* Set to non-zero when filtering in progress */ 125 + struct dmx_demux *parent; /* Back-pointer */ 126 + void *priv; /* Pointer to private data of the API client */ 127 + int (*set) (struct dmx_ts_feed *feed, 128 128 u16 pid, 129 129 int type, 130 130 enum dmx_ts_pes pes_type, 131 131 size_t circular_buffer_size, 132 132 struct timespec timeout); 133 - int (*start_filtering) (struct dmx_ts_feed* feed); 134 - int (*stop_filtering) (struct dmx_ts_feed* feed); 133 + int (*start_filtering) (struct dmx_ts_feed* feed); 134 + int (*stop_filtering) (struct dmx_ts_feed* feed); 135 135 }; 136 136 137 137 /*--------------------------------------------------------------------------*/ ··· 139 139 /*--------------------------------------------------------------------------*/ 140 140 141 141 struct dmx_section_filter { 142 - u8 filter_value [DMX_MAX_FILTER_SIZE]; 143 - u8 filter_mask [DMX_MAX_FILTER_SIZE]; 144 - u8 filter_mode [DMX_MAX_FILTER_SIZE]; 145 - struct dmx_section_feed* parent; /* Back-pointer */ 146 - void* priv; /* Pointer to private data of the API client */ 142 + u8 filter_value [DMX_MAX_FILTER_SIZE]; 143 + u8 filter_mask [DMX_MAX_FILTER_SIZE]; 144 + u8 filter_mode [DMX_MAX_FILTER_SIZE]; 145 + struct dmx_section_feed* parent; /* Back-pointer */ 146 + void* priv; /* Pointer to private data of the API client */ 147 147 }; 148 148 149 149 struct dmx_section_feed { 150 - int is_filtering; /* Set to non-zero when filtering in progress */ 151 - struct dmx_demux* parent; /* Back-pointer */ 152 - void* priv; /* Pointer to private data of the API client */ 150 + int is_filtering; /* Set to non-zero when filtering in progress */ 151 + struct dmx_demux* parent; /* Back-pointer */ 152 + void* priv; /* Pointer to private data of the API client */ 153 153 154 - int check_crc; 154 + int check_crc; 155 155 u32 crc_val; 156 156 157 - u8 *secbuf; 158 - u8 secbuf_base[DMX_MAX_SECFEED_SIZE]; 159 - u16 secbufp, seclen, tsfeedp; 157 + u8 *secbuf; 158 + u8 secbuf_base[DMX_MAX_SECFEED_SIZE]; 159 + u16 secbufp, seclen, tsfeedp; 160 160 161 - int (*set) (struct dmx_section_feed* feed, 161 + int (*set) (struct dmx_section_feed* feed, 162 162 u16 pid, 163 163 size_t circular_buffer_size, 164 164 int check_crc); 165 - int (*allocate_filter) (struct dmx_section_feed* feed, 165 + int (*allocate_filter) (struct dmx_section_feed* feed, 166 166 struct dmx_section_filter** filter); 167 - int (*release_filter) (struct dmx_section_feed* feed, 167 + int (*release_filter) (struct dmx_section_feed* feed, 168 168 struct dmx_section_filter* filter); 169 - int (*start_filtering) (struct dmx_section_feed* feed); 170 - int (*stop_filtering) (struct dmx_section_feed* feed); 169 + int (*start_filtering) (struct dmx_section_feed* feed); 170 + int (*stop_filtering) (struct dmx_section_feed* feed); 171 171 }; 172 172 173 173 /*--------------------------------------------------------------------------*/ ··· 205 205 }; 206 206 207 207 struct dmx_frontend { 208 - struct list_head connectivity_list; /* List of front-ends that can 208 + struct list_head connectivity_list; /* List of front-ends that can 209 209 be connected to a particular 210 210 demux */ 211 - enum dmx_frontend_source source; 211 + enum dmx_frontend_source source; 212 212 }; 213 213 214 214 /*--------------------------------------------------------------------------*/ ··· 240 240 #define DMX_FE_ENTRY(list) list_entry(list, struct dmx_frontend, connectivity_list) 241 241 242 242 struct dmx_demux { 243 - u32 capabilities; /* Bitfield of capability flags */ 244 - struct dmx_frontend* frontend; /* Front-end connected to the demux */ 245 - void* priv; /* Pointer to private data of the API client */ 246 - int (*open) (struct dmx_demux* demux); 247 - int (*close) (struct dmx_demux* demux); 248 - int (*write) (struct dmx_demux* demux, const char* buf, size_t count); 249 - int (*allocate_ts_feed) (struct dmx_demux* demux, 243 + u32 capabilities; /* Bitfield of capability flags */ 244 + struct dmx_frontend* frontend; /* Front-end connected to the demux */ 245 + void* priv; /* Pointer to private data of the API client */ 246 + int (*open) (struct dmx_demux* demux); 247 + int (*close) (struct dmx_demux* demux); 248 + int (*write) (struct dmx_demux* demux, const char* buf, size_t count); 249 + int (*allocate_ts_feed) (struct dmx_demux* demux, 250 250 struct dmx_ts_feed** feed, 251 251 dmx_ts_cb callback); 252 - int (*release_ts_feed) (struct dmx_demux* demux, 252 + int (*release_ts_feed) (struct dmx_demux* demux, 253 253 struct dmx_ts_feed* feed); 254 - int (*allocate_section_feed) (struct dmx_demux* demux, 254 + int (*allocate_section_feed) (struct dmx_demux* demux, 255 255 struct dmx_section_feed** feed, 256 256 dmx_section_cb callback); 257 - int (*release_section_feed) (struct dmx_demux* demux, 257 + int (*release_section_feed) (struct dmx_demux* demux, 258 258 struct dmx_section_feed* feed); 259 - int (*add_frontend) (struct dmx_demux* demux, 259 + int (*add_frontend) (struct dmx_demux* demux, 260 260 struct dmx_frontend* frontend); 261 - int (*remove_frontend) (struct dmx_demux* demux, 261 + int (*remove_frontend) (struct dmx_demux* demux, 262 262 struct dmx_frontend* frontend); 263 - struct list_head* (*get_frontends) (struct dmx_demux* demux); 264 - int (*connect_frontend) (struct dmx_demux* demux, 263 + struct list_head* (*get_frontends) (struct dmx_demux* demux); 264 + int (*connect_frontend) (struct dmx_demux* demux, 265 265 struct dmx_frontend* frontend); 266 - int (*disconnect_frontend) (struct dmx_demux* demux); 266 + int (*disconnect_frontend) (struct dmx_demux* demux); 267 267 268 - int (*get_pes_pids) (struct dmx_demux* demux, u16 *pids); 268 + int (*get_pes_pids) (struct dmx_demux* demux, u16 *pids); 269 269 270 270 int (*get_caps) (struct dmx_demux* demux, struct dmx_caps *caps); 271 271 272 272 int (*set_source) (struct dmx_demux* demux, const dmx_source_t *src); 273 273 274 - int (*get_stc) (struct dmx_demux* demux, unsigned int num, 274 + int (*get_stc) (struct dmx_demux* demux, unsigned int num, 275 275 u64 *stc, unsigned int *base); 276 276 }; 277 277
+1 -1
drivers/media/dvb/dvb-core/dmxdev.c
··· 947 947 948 948 case DMX_GET_STC: 949 949 if (!dmxdev->demux->get_stc) { 950 - ret=-EINVAL; 950 + ret=-EINVAL; 951 951 break; 952 952 } 953 953 ret = dmxdev->demux->get_stc(dmxdev->demux,
+32 -32
drivers/media/dvb/dvb-core/dmxdev.h
··· 53 53 }; 54 54 55 55 struct dmxdev_buffer { 56 - u8 *data; 57 - int size; 58 - int pread; 59 - int pwrite; 56 + u8 *data; 57 + int size; 58 + int pread; 59 + int pwrite; 60 60 wait_queue_head_t queue; 61 - int error; 61 + int error; 62 62 }; 63 63 64 64 struct dmxdev_filter { 65 65 struct dvb_device *dvbdev; 66 66 67 - union { 68 - struct dmx_section_filter *sec; 67 + union { 68 + struct dmx_section_filter *sec; 69 69 } filter; 70 70 71 - union { 72 - struct dmx_ts_feed *ts; 73 - struct dmx_section_feed *sec; 71 + union { 72 + struct dmx_ts_feed *ts; 73 + struct dmx_section_feed *sec; 74 74 } feed; 75 75 76 - union { 77 - struct dmx_sct_filter_params sec; 78 - struct dmx_pes_filter_params pes; 76 + union { 77 + struct dmx_sct_filter_params sec; 78 + struct dmx_pes_filter_params pes; 79 79 } params; 80 80 81 - int type; 82 - enum dmxdev_state state; 83 - struct dmxdev *dev; 84 - struct dmxdev_buffer buffer; 81 + int type; 82 + enum dmxdev_state state; 83 + struct dmxdev *dev; 84 + struct dmxdev_buffer buffer; 85 85 86 86 struct semaphore mutex; 87 87 88 - /* only for sections */ 89 - struct timer_list timer; 90 - int todo; 91 - u8 secheader[3]; 88 + /* only for sections */ 89 + struct timer_list timer; 90 + int todo; 91 + u8 secheader[3]; 92 92 93 - u16 pid; 93 + u16 pid; 94 94 }; 95 95 96 96 97 97 struct dmxdev_dvr { 98 - int state; 99 - struct dmxdev *dev; 100 - struct dmxdev_buffer buffer; 98 + int state; 99 + struct dmxdev *dev; 100 + struct dmxdev_buffer buffer; 101 101 }; 102 102 103 103 ··· 105 105 struct dvb_device *dvbdev; 106 106 struct dvb_device *dvr_dvbdev; 107 107 108 - struct dmxdev_filter *filter; 109 - struct dmxdev_dvr *dvr; 110 - struct dmx_demux *demux; 108 + struct dmxdev_filter *filter; 109 + struct dmxdev_dvr *dvr; 110 + struct dmx_demux *demux; 111 111 112 - int filternum; 113 - int capabilities; 112 + int filternum; 113 + int capabilities; 114 114 #define DMXDEV_CAP_DUPLEX 1 115 - struct dmx_frontend *dvr_orig_fe; 115 + struct dmx_frontend *dvr_orig_fe; 116 116 117 - struct dmxdev_buffer dvr_buffer; 117 + struct dmxdev_buffer dvr_buffer; 118 118 #define DVR_BUFFER_SIZE (10*188*1024) 119 119 120 120 struct semaphore mutex;
+1 -1
drivers/media/dvb/dvb-core/dvb_ca_en50221.c
··· 498 498 /* process the CFTABLE_ENTRY tuples, and any after those */ 499 499 while ((!end_chain) && (address < 0x1000)) { 500 500 if ((status = dvb_ca_en50221_read_tuple(ca, slot, &address, &tupleType, 501 - &tupleLength, tuple)) < 0) 501 + &tupleLength, tuple)) < 0) 502 502 return status; 503 503 switch (tupleType) { 504 504 case 0x1B: // CISTPL_CFTABLE_ENTRY
+154 -154
drivers/media/dvb/dvb-core/dvb_filter.c
··· 72 72 u8 pct; 73 73 74 74 if (pr) printk( "Pic header: "); 75 - pic->temporal_reference[field] = (( headr[0] << 2 ) | 75 + pic->temporal_reference[field] = (( headr[0] << 2 ) | 76 76 (headr[1] & 0x03) )& 0x03ff; 77 77 if (pr) printk( " temp ref: 0x%04x", pic->temporal_reference[field]); 78 78 79 79 pct = ( headr[1] >> 2 ) & 0x07; 80 - pic->picture_coding_type[field] = pct; 80 + pic->picture_coding_type[field] = pct; 81 81 if (pr) { 82 82 switch(pct){ 83 83 case I_FRAME: ··· 93 93 } 94 94 95 95 96 - pic->vinfo.vbv_delay = (( headr[1] >> 5 ) | ( headr[2] << 3) | 96 + pic->vinfo.vbv_delay = (( headr[1] >> 5 ) | ( headr[2] << 3) | 97 97 ( (headr[3] & 0x1F) << 11) ) & 0xffff; 98 98 99 99 if (pr) printk( " vbv delay: 0x%04x", pic->vinfo.vbv_delay); 100 100 101 - pic->picture_header_parameter = ( headr[3] & 0xe0 ) | 101 + pic->picture_header_parameter = ( headr[3] & 0xe0 ) | 102 102 ((headr[4] & 0x80) >> 3); 103 103 104 - if ( pct == B_FRAME ){ 105 - pic->picture_header_parameter |= ( headr[4] >> 3 ) & 0x0f; 106 - } 104 + if ( pct == B_FRAME ){ 105 + pic->picture_header_parameter |= ( headr[4] >> 3 ) & 0x0f; 106 + } 107 107 if (pr) printk( " pic head param: 0x%x", 108 108 pic->picture_header_parameter); 109 109 ··· 124 124 ((headr[0]<<4)& 0x30)| ((headr[1]>>4)& 0x0F), 125 125 ((headr[1]<<3)& 0x38)| ((headr[2]>>5)& 0x0F)); 126 126 127 - if ( ( headr[3] & 0x40 ) != 0 ){ 128 - pic->closed_gop = 1; 129 - } else { 130 - pic->closed_gop = 0; 131 - } 127 + if ( ( headr[3] & 0x40 ) != 0 ){ 128 + pic->closed_gop = 1; 129 + } else { 130 + pic->closed_gop = 0; 131 + } 132 132 if (pr) printk("closed: %d", pic->closed_gop); 133 133 134 - if ( ( headr[3] & 0x20 ) != 0 ){ 135 - pic->broken_link = 1; 136 - } else { 137 - pic->broken_link = 0; 138 - } 134 + if ( ( headr[3] & 0x20 ) != 0 ){ 135 + pic->broken_link = 1; 136 + } else { 137 + pic->broken_link = 0; 138 + } 139 139 if (pr) printk(" broken: %d\n", pic->broken_link); 140 140 141 141 return 0; ··· 146 146 /* needs 8 byte input */ 147 147 static int read_sequence_header(u8 *headr, struct dvb_video_info *vi, int pr) 148 148 { 149 - int sw; 149 + int sw; 150 150 int form = -1; 151 151 152 152 if (pr) printk("Reading sequence header\n"); ··· 154 154 vi->horizontal_size = ((headr[1] &0xF0) >> 4) | (headr[0] << 4); 155 155 vi->vertical_size = ((headr[1] &0x0F) << 8) | (headr[2]); 156 156 157 - sw = (int)((headr[3]&0xF0) >> 4) ; 157 + sw = (int)((headr[3]&0xF0) >> 4) ; 158 158 159 - switch( sw ){ 159 + switch( sw ){ 160 160 case 1: 161 161 if (pr) 162 162 printk("Videostream: ASPECT: 1:1"); ··· 165 165 case 2: 166 166 if (pr) 167 167 printk("Videostream: ASPECT: 4:3"); 168 - vi->aspect_ratio = 133; 168 + vi->aspect_ratio = 133; 169 169 break; 170 170 case 3: 171 171 if (pr) 172 172 printk("Videostream: ASPECT: 16:9"); 173 - vi->aspect_ratio = 177; 173 + vi->aspect_ratio = 177; 174 174 break; 175 175 case 4: 176 176 if (pr) 177 177 printk("Videostream: ASPECT: 2.21:1"); 178 - vi->aspect_ratio = 221; 178 + vi->aspect_ratio = 221; 179 179 break; 180 180 181 - case 5 ... 15: 181 + case 5 ... 15: 182 182 if (pr) 183 183 printk("Videostream: ASPECT: reserved"); 184 - vi->aspect_ratio = 0; 184 + vi->aspect_ratio = 0; 185 185 break; 186 186 187 - default: 188 - vi->aspect_ratio = 0; 189 - return -1; 187 + default: 188 + vi->aspect_ratio = 0; 189 + return -1; 190 190 } 191 191 192 192 if (pr) 193 193 printk(" Size = %dx%d",vi->horizontal_size,vi->vertical_size); 194 194 195 - sw = (int)(headr[3]&0x0F); 195 + sw = (int)(headr[3]&0x0F); 196 196 197 - switch ( sw ) { 197 + switch ( sw ) { 198 198 case 1: 199 199 if (pr) 200 200 printk(" FRate: 23.976 fps"); 201 - vi->framerate = 23976; 201 + vi->framerate = 23976; 202 202 form = -1; 203 203 break; 204 204 case 2: 205 205 if (pr) 206 206 printk(" FRate: 24 fps"); 207 - vi->framerate = 24000; 207 + vi->framerate = 24000; 208 208 form = -1; 209 209 break; 210 210 case 3: 211 211 if (pr) 212 212 printk(" FRate: 25 fps"); 213 - vi->framerate = 25000; 213 + vi->framerate = 25000; 214 214 form = VIDEO_MODE_PAL; 215 215 break; 216 216 case 4: 217 217 if (pr) 218 218 printk(" FRate: 29.97 fps"); 219 - vi->framerate = 29970; 219 + vi->framerate = 29970; 220 220 form = VIDEO_MODE_NTSC; 221 221 break; 222 222 case 5: 223 223 if (pr) 224 224 printk(" FRate: 30 fps"); 225 - vi->framerate = 30000; 225 + vi->framerate = 30000; 226 226 form = VIDEO_MODE_NTSC; 227 227 break; 228 228 case 6: 229 229 if (pr) 230 230 printk(" FRate: 50 fps"); 231 - vi->framerate = 50000; 231 + vi->framerate = 50000; 232 232 form = VIDEO_MODE_PAL; 233 233 break; 234 234 case 7: 235 235 if (pr) 236 236 printk(" FRate: 60 fps"); 237 - vi->framerate = 60000; 237 + vi->framerate = 60000; 238 238 form = VIDEO_MODE_NTSC; 239 239 break; 240 240 } 241 241 242 242 vi->bit_rate = (headr[4] << 10) | (headr[5] << 2) | (headr[6] & 0x03); 243 243 244 - vi->vbv_buffer_size 245 - = (( headr[6] & 0xF8) >> 3 ) | (( headr[7] & 0x1F )<< 5); 244 + vi->vbv_buffer_size 245 + = (( headr[6] & 0xF8) >> 3 ) | (( headr[7] & 0x1F )<< 5); 246 246 247 247 if (pr){ 248 248 printk(" BRate: %d Mbit/s",4*(vi->bit_rate)/10000); ··· 250 250 printk("\n"); 251 251 } 252 252 253 - vi->video_format = form; 253 + vi->video_format = form; 254 254 255 255 return 0; 256 256 } ··· 308 308 if (!found) return -1; 309 309 310 310 if (c+3 >= count) return -1; 311 - headr = mbuf+c; 311 + headr = mbuf+c; 312 312 313 313 ai->layer = (headr[1] & 0x06) >> 1; 314 314 ··· 368 368 if (c+5 >= count) return -1; 369 369 370 370 ai->layer = 0; // 0 for AC3 371 - headr = mbuf+c+2; 371 + headr = mbuf+c+2; 372 372 373 373 frame = (headr[2]&0x3f); 374 374 ai->bit_rate = ac3_bitrates[frame >> 1]*1000; ··· 396 396 #if 0 397 397 static u8 *skip_pes_header(u8 **bufp) 398 398 { 399 - u8 *inbuf = *bufp; 400 - u8 *buf = inbuf; 401 - u8 *pts = NULL; 402 - int skip = 0; 399 + u8 *inbuf = *bufp; 400 + u8 *buf = inbuf; 401 + u8 *pts = NULL; 402 + int skip = 0; 403 403 404 404 static const int mpeg1_skip_table[16] = { 405 405 1, 0xffff, 5, 10, 0xffff, 0xffff, 0xffff, 0xffff, 406 - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff 406 + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff 407 407 }; 408 408 409 409 410 - if ((inbuf[6] & 0xc0) == 0x80){ /* mpeg2 */ 411 - if (buf[7] & PTS_ONLY) 412 - pts = buf+9; 413 - else pts = NULL; 414 - buf = inbuf + 9 + inbuf[8]; 415 - } else { /* mpeg1 */ 416 - for (buf = inbuf + 6; *buf == 0xff; buf++) 417 - if (buf == inbuf + 6 + 16) { 418 - break; 419 - } 420 - if ((*buf & 0xc0) == 0x40) 421 - buf += 2; 422 - skip = mpeg1_skip_table [*buf >> 4]; 423 - if (skip == 5 || skip == 10) pts = buf; 424 - else pts = NULL; 410 + if ((inbuf[6] & 0xc0) == 0x80){ /* mpeg2 */ 411 + if (buf[7] & PTS_ONLY) 412 + pts = buf+9; 413 + else pts = NULL; 414 + buf = inbuf + 9 + inbuf[8]; 415 + } else { /* mpeg1 */ 416 + for (buf = inbuf + 6; *buf == 0xff; buf++) 417 + if (buf == inbuf + 6 + 16) { 418 + break; 419 + } 420 + if ((*buf & 0xc0) == 0x40) 421 + buf += 2; 422 + skip = mpeg1_skip_table [*buf >> 4]; 423 + if (skip == 5 || skip == 10) pts = buf; 424 + else pts = NULL; 425 425 426 - buf += mpeg1_skip_table [*buf >> 4]; 427 - } 426 + buf += mpeg1_skip_table [*buf >> 4]; 427 + } 428 428 429 - *bufp = buf; 430 - return pts; 429 + *bufp = buf; 430 + return pts; 431 431 } 432 432 #endif 433 433 434 434 #if 0 435 435 static void initialize_quant_matrix( u32 *matrix ) 436 436 { 437 - int i; 437 + int i; 438 438 439 - matrix[0] = 0x08101013; 440 - matrix[1] = 0x10131616; 441 - matrix[2] = 0x16161616; 442 - matrix[3] = 0x1a181a1b; 443 - matrix[4] = 0x1b1b1a1a; 444 - matrix[5] = 0x1a1a1b1b; 445 - matrix[6] = 0x1b1d1d1d; 446 - matrix[7] = 0x2222221d; 447 - matrix[8] = 0x1d1d1b1b; 448 - matrix[9] = 0x1d1d2020; 449 - matrix[10] = 0x22222526; 450 - matrix[11] = 0x25232322; 451 - matrix[12] = 0x23262628; 452 - matrix[13] = 0x28283030; 453 - matrix[14] = 0x2e2e3838; 454 - matrix[15] = 0x3a454553; 439 + matrix[0] = 0x08101013; 440 + matrix[1] = 0x10131616; 441 + matrix[2] = 0x16161616; 442 + matrix[3] = 0x1a181a1b; 443 + matrix[4] = 0x1b1b1a1a; 444 + matrix[5] = 0x1a1a1b1b; 445 + matrix[6] = 0x1b1d1d1d; 446 + matrix[7] = 0x2222221d; 447 + matrix[8] = 0x1d1d1b1b; 448 + matrix[9] = 0x1d1d2020; 449 + matrix[10] = 0x22222526; 450 + matrix[11] = 0x25232322; 451 + matrix[12] = 0x23262628; 452 + matrix[13] = 0x28283030; 453 + matrix[14] = 0x2e2e3838; 454 + matrix[15] = 0x3a454553; 455 455 456 - for ( i = 16 ; i < 32 ; i++ ) 457 - matrix[i] = 0x10101010; 456 + for ( i = 16 ; i < 32 ; i++ ) 457 + matrix[i] = 0x10101010; 458 458 } 459 459 #endif 460 460 461 461 #if 0 462 462 static void initialize_mpg_picture(struct mpg_picture *pic) 463 463 { 464 - int i; 464 + int i; 465 465 466 - /* set MPEG1 */ 467 - pic->mpeg1_flag = 1; 468 - pic->profile_and_level = 0x4A ; /* MP@LL */ 469 - pic->progressive_sequence = 1; 470 - pic->low_delay = 0; 466 + /* set MPEG1 */ 467 + pic->mpeg1_flag = 1; 468 + pic->profile_and_level = 0x4A ; /* MP@LL */ 469 + pic->progressive_sequence = 1; 470 + pic->low_delay = 0; 471 471 472 - pic->sequence_display_extension_flag = 0; 473 - for ( i = 0 ; i < 4 ; i++ ){ 474 - pic->frame_centre_horizontal_offset[i] = 0; 475 - pic->frame_centre_vertical_offset[i] = 0; 476 - } 477 - pic->last_frame_centre_horizontal_offset = 0; 478 - pic->last_frame_centre_vertical_offset = 0; 472 + pic->sequence_display_extension_flag = 0; 473 + for ( i = 0 ; i < 4 ; i++ ){ 474 + pic->frame_centre_horizontal_offset[i] = 0; 475 + pic->frame_centre_vertical_offset[i] = 0; 476 + } 477 + pic->last_frame_centre_horizontal_offset = 0; 478 + pic->last_frame_centre_vertical_offset = 0; 479 479 480 - pic->picture_display_extension_flag[0] = 0; 481 - pic->picture_display_extension_flag[1] = 0; 482 - pic->sequence_header_flag = 0; 480 + pic->picture_display_extension_flag[0] = 0; 481 + pic->picture_display_extension_flag[1] = 0; 482 + pic->sequence_header_flag = 0; 483 483 pic->gop_flag = 0; 484 - pic->sequence_end_flag = 0; 484 + pic->sequence_end_flag = 0; 485 485 } 486 486 #endif 487 487 488 488 #if 0 489 489 static void mpg_set_picture_parameter( int32_t field_type, struct mpg_picture *pic ) 490 490 { 491 - int16_t last_h_offset; 492 - int16_t last_v_offset; 491 + int16_t last_h_offset; 492 + int16_t last_v_offset; 493 493 494 - int16_t *p_h_offset; 495 - int16_t *p_v_offset; 494 + int16_t *p_h_offset; 495 + int16_t *p_v_offset; 496 496 497 - if ( pic->mpeg1_flag ){ 498 - pic->picture_structure[field_type] = VIDEO_FRAME_PICTURE; 499 - pic->top_field_first = 0; 500 - pic->repeat_first_field = 0; 501 - pic->progressive_frame = 1; 502 - pic->picture_coding_parameter = 0x000010; 503 - } 497 + if ( pic->mpeg1_flag ){ 498 + pic->picture_structure[field_type] = VIDEO_FRAME_PICTURE; 499 + pic->top_field_first = 0; 500 + pic->repeat_first_field = 0; 501 + pic->progressive_frame = 1; 502 + pic->picture_coding_parameter = 0x000010; 503 + } 504 504 505 - /* Reset flag */ 506 - pic->picture_display_extension_flag[field_type] = 0; 505 + /* Reset flag */ 506 + pic->picture_display_extension_flag[field_type] = 0; 507 507 508 - last_h_offset = pic->last_frame_centre_horizontal_offset; 509 - last_v_offset = pic->last_frame_centre_vertical_offset; 510 - if ( field_type == FIRST_FIELD ){ 511 - p_h_offset = pic->frame_centre_horizontal_offset; 512 - p_v_offset = pic->frame_centre_vertical_offset; 513 - *p_h_offset = last_h_offset; 514 - *(p_h_offset + 1) = last_h_offset; 515 - *(p_h_offset + 2) = last_h_offset; 516 - *p_v_offset = last_v_offset; 517 - *(p_v_offset + 1) = last_v_offset; 518 - *(p_v_offset + 2) = last_v_offset; 519 - } else { 520 - pic->frame_centre_horizontal_offset[3] = last_h_offset; 521 - pic->frame_centre_vertical_offset[3] = last_v_offset; 522 - } 508 + last_h_offset = pic->last_frame_centre_horizontal_offset; 509 + last_v_offset = pic->last_frame_centre_vertical_offset; 510 + if ( field_type == FIRST_FIELD ){ 511 + p_h_offset = pic->frame_centre_horizontal_offset; 512 + p_v_offset = pic->frame_centre_vertical_offset; 513 + *p_h_offset = last_h_offset; 514 + *(p_h_offset + 1) = last_h_offset; 515 + *(p_h_offset + 2) = last_h_offset; 516 + *p_v_offset = last_v_offset; 517 + *(p_v_offset + 1) = last_v_offset; 518 + *(p_v_offset + 2) = last_v_offset; 519 + } else { 520 + pic->frame_centre_horizontal_offset[3] = last_h_offset; 521 + pic->frame_centre_vertical_offset[3] = last_v_offset; 522 + } 523 523 } 524 524 #endif 525 525 526 526 #if 0 527 527 static void init_mpg_picture( struct mpg_picture *pic, int chan, int32_t field_type) 528 528 { 529 - pic->picture_header = 0; 530 - pic->sequence_header_data 531 - = ( INIT_HORIZONTAL_SIZE << 20 ) 532 - | ( INIT_VERTICAL_SIZE << 8 ) 533 - | ( INIT_ASPECT_RATIO << 4 ) 534 - | ( INIT_FRAME_RATE ); 535 - pic->mpeg1_flag = 0; 536 - pic->vinfo.horizontal_size 537 - = INIT_DISP_HORIZONTAL_SIZE; 538 - pic->vinfo.vertical_size 539 - = INIT_DISP_VERTICAL_SIZE; 540 - pic->picture_display_extension_flag[field_type] 541 - = 0; 542 - pic->pts_flag[field_type] = 0; 529 + pic->picture_header = 0; 530 + pic->sequence_header_data 531 + = ( INIT_HORIZONTAL_SIZE << 20 ) 532 + | ( INIT_VERTICAL_SIZE << 8 ) 533 + | ( INIT_ASPECT_RATIO << 4 ) 534 + | ( INIT_FRAME_RATE ); 535 + pic->mpeg1_flag = 0; 536 + pic->vinfo.horizontal_size 537 + = INIT_DISP_HORIZONTAL_SIZE; 538 + pic->vinfo.vertical_size 539 + = INIT_DISP_VERTICAL_SIZE; 540 + pic->picture_display_extension_flag[field_type] 541 + = 0; 542 + pic->pts_flag[field_type] = 0; 543 543 544 - pic->sequence_gop_header = 0; 545 - pic->picture_header = 0; 546 - pic->sequence_header_flag = 0; 547 - pic->gop_flag = 0; 548 - pic->sequence_end_flag = 0; 549 - pic->sequence_display_extension_flag = 0; 550 - pic->last_frame_centre_horizontal_offset = 0; 551 - pic->last_frame_centre_vertical_offset = 0; 544 + pic->sequence_gop_header = 0; 545 + pic->picture_header = 0; 546 + pic->sequence_header_flag = 0; 547 + pic->gop_flag = 0; 548 + pic->sequence_end_flag = 0; 549 + pic->sequence_display_extension_flag = 0; 550 + pic->last_frame_centre_horizontal_offset = 0; 551 + pic->last_frame_centre_vertical_offset = 0; 552 552 pic->channel = chan; 553 553 } 554 554 #endif ··· 588 588 buf[1]&=~0x40; 589 589 } 590 590 if (!len) 591 - return 0; 591 + return 0; 592 592 buf[3]=0x30|((p2ts->cc++)&0x0f); 593 593 rest=183-len; 594 594 if (rest) { 595 - buf[5]=0x00; 595 + buf[5]=0x00; 596 596 if (rest-1) 597 597 memset(buf+6, 0xff, rest-1); 598 598 }
+47 -47
drivers/media/dvb/dvb-core/dvb_filter.h
··· 29 29 30 30 struct dvb_filter_pes2ts { 31 31 unsigned char buf[188]; 32 - unsigned char cc; 33 - dvb_filter_pes2ts_cb_t *cb; 32 + unsigned char cc; 33 + dvb_filter_pes2ts_cb_t *cb; 34 34 void *priv; 35 35 }; 36 36 ··· 162 162 u32 bit_rate; 163 163 u32 comp_bit_rate; 164 164 u32 vbv_buffer_size; 165 - s16 vbv_delay; 165 + s16 vbv_delay; 166 166 u32 CSPF; 167 167 u32 off; 168 168 }; ··· 173 173 #define VIDEO_FRAME_PICTURE 0x03 174 174 175 175 struct mpg_picture { 176 - int channel; 176 + int channel; 177 177 struct dvb_video_info vinfo; 178 - u32 *sequence_gop_header; 179 - u32 *picture_header; 180 - s32 time_code; 181 - int low_delay; 182 - int closed_gop; 183 - int broken_link; 184 - int sequence_header_flag; 185 - int gop_flag; 186 - int sequence_end_flag; 178 + u32 *sequence_gop_header; 179 + u32 *picture_header; 180 + s32 time_code; 181 + int low_delay; 182 + int closed_gop; 183 + int broken_link; 184 + int sequence_header_flag; 185 + int gop_flag; 186 + int sequence_end_flag; 187 187 188 - u8 profile_and_level; 189 - s32 picture_coding_parameter; 190 - u32 matrix[32]; 191 - s8 matrix_change_flag; 188 + u8 profile_and_level; 189 + s32 picture_coding_parameter; 190 + u32 matrix[32]; 191 + s8 matrix_change_flag; 192 192 193 - u8 picture_header_parameter; 193 + u8 picture_header_parameter; 194 194 /* bit 0 - 2: bwd f code 195 195 bit 3 : fpb vector 196 196 bit 4 - 6: fwd f code 197 197 bit 7 : fpf vector */ 198 198 199 - int mpeg1_flag; 200 - int progressive_sequence; 201 - int sequence_display_extension_flag; 202 - u32 sequence_header_data; 203 - s16 last_frame_centre_horizontal_offset; 204 - s16 last_frame_centre_vertical_offset; 199 + int mpeg1_flag; 200 + int progressive_sequence; 201 + int sequence_display_extension_flag; 202 + u32 sequence_header_data; 203 + s16 last_frame_centre_horizontal_offset; 204 + s16 last_frame_centre_vertical_offset; 205 205 206 - u32 pts[2]; /* [0] 1st field, [1] 2nd field */ 207 - int top_field_first; 208 - int repeat_first_field; 209 - int progressive_frame; 210 - int bank; 211 - int forward_bank; 212 - int backward_bank; 213 - int compress; 214 - s16 frame_centre_horizontal_offset[OFF_SIZE]; 215 - /* [0-2] 1st field, [3] 2nd field */ 216 - s16 frame_centre_vertical_offset[OFF_SIZE]; 217 - /* [0-2] 1st field, [3] 2nd field */ 218 - s16 temporal_reference[2]; 219 - /* [0] 1st field, [1] 2nd field */ 206 + u32 pts[2]; /* [0] 1st field, [1] 2nd field */ 207 + int top_field_first; 208 + int repeat_first_field; 209 + int progressive_frame; 210 + int bank; 211 + int forward_bank; 212 + int backward_bank; 213 + int compress; 214 + s16 frame_centre_horizontal_offset[OFF_SIZE]; 215 + /* [0-2] 1st field, [3] 2nd field */ 216 + s16 frame_centre_vertical_offset[OFF_SIZE]; 217 + /* [0-2] 1st field, [3] 2nd field */ 218 + s16 temporal_reference[2]; 219 + /* [0] 1st field, [1] 2nd field */ 220 220 221 - s8 picture_coding_type[2]; 222 - /* [0] 1st field, [1] 2nd field */ 223 - s8 picture_structure[2]; 224 - /* [0] 1st field, [1] 2nd field */ 225 - s8 picture_display_extension_flag[2]; 226 - /* [0] 1st field, [1] 2nd field */ 227 - /* picture_display_extenion() 0:no 1:exit*/ 228 - s8 pts_flag[2]; 229 - /* [0] 1st field, [1] 2nd field */ 221 + s8 picture_coding_type[2]; 222 + /* [0] 1st field, [1] 2nd field */ 223 + s8 picture_structure[2]; 224 + /* [0] 1st field, [1] 2nd field */ 225 + s8 picture_display_extension_flag[2]; 226 + /* [0] 1st field, [1] 2nd field */ 227 + /* picture_display_extenion() 0:no 1:exit*/ 228 + s8 pts_flag[2]; 229 + /* [0] 1st field, [1] 2nd field */ 230 230 }; 231 231 232 232 struct dvb_audio_info {
+4 -4
drivers/media/dvb/dvb-core/dvb_frontend.c
··· 372 372 373 373 snprintf (name, sizeof(name), "kdvb-fe-%i", fe->dvb->num); 374 374 375 - lock_kernel(); 376 - daemonize(name); 377 - sigfillset(&current->blocked); 378 - unlock_kernel(); 375 + lock_kernel(); 376 + daemonize(name); 377 + sigfillset(&current->blocked); 378 + unlock_kernel(); 379 379 380 380 fepriv->status = 0; 381 381 dvb_frontend_init(fe);
+4 -4
drivers/media/dvb/dvb-core/dvb_frontend.h
··· 41 41 #include "dvbdev.h" 42 42 43 43 struct dvb_frontend_tune_settings { 44 - int min_delay_ms; 45 - int step_size; 46 - int max_drift; 47 - struct dvb_frontend_parameters parameters; 44 + int min_delay_ms; 45 + int step_size; 46 + int max_drift; 47 + struct dvb_frontend_parameters parameters; 48 48 }; 49 49 50 50 struct dvb_frontend;
+21 -21
drivers/media/dvb/dvb-core/dvb_net.c
··· 713 713 if (buffer1_len > 32768) 714 714 printk(KERN_WARNING "length > 32k: %zu.\n", buffer1_len); 715 715 /* printk("TS callback: %u bytes, %u TS cells @ %p.\n", 716 - buffer1_len, buffer1_len / TS_SZ, buffer1); */ 716 + buffer1_len, buffer1_len / TS_SZ, buffer1); */ 717 717 dvb_net_ule(dev, buffer1, buffer1_len); 718 718 return 0; 719 719 } ··· 721 721 722 722 static void dvb_net_sec(struct net_device *dev, u8 *pkt, int pkt_len) 723 723 { 724 - u8 *eth; 725 - struct sk_buff *skb; 724 + u8 *eth; 725 + struct sk_buff *skb; 726 726 struct net_device_stats *stats = &(((struct dvb_net_priv *) dev->priv)->stats); 727 727 int snap = 0; 728 728 ··· 754 754 return; 755 755 } 756 756 snap = 8; 757 - } 757 + } 758 758 if (pkt[7]) { 759 759 /* FIXME: assemble datagram from multiple sections */ 760 760 stats->rx_errors++; ··· 778 778 memcpy(eth + 14, pkt + 12 + snap, pkt_len - 12 - 4 - snap); 779 779 780 780 /* create ethernet header: */ 781 - eth[0]=pkt[0x0b]; 782 - eth[1]=pkt[0x0a]; 783 - eth[2]=pkt[0x09]; 784 - eth[3]=pkt[0x08]; 785 - eth[4]=pkt[0x04]; 786 - eth[5]=pkt[0x03]; 781 + eth[0]=pkt[0x0b]; 782 + eth[1]=pkt[0x0a]; 783 + eth[2]=pkt[0x09]; 784 + eth[3]=pkt[0x08]; 785 + eth[4]=pkt[0x04]; 786 + eth[5]=pkt[0x03]; 787 787 788 - eth[6]=eth[7]=eth[8]=eth[9]=eth[10]=eth[11]=0; 788 + eth[6]=eth[7]=eth[8]=eth[9]=eth[10]=eth[11]=0; 789 789 790 790 if (snap) { 791 791 eth[12] = pkt[18]; ··· 807 807 808 808 stats->rx_packets++; 809 809 stats->rx_bytes+=skb->len; 810 - netif_rx(skb); 810 + netif_rx(skb); 811 811 } 812 812 813 813 static int dvb_net_sec_callback(const u8 *buffer1, size_t buffer1_len, ··· 815 815 struct dmx_section_filter *filter, 816 816 enum dmx_success success) 817 817 { 818 - struct net_device *dev = filter->priv; 818 + struct net_device *dev = filter->priv; 819 819 820 820 /** 821 821 * we rely on the DVB API definition where exactly one complete ··· 885 885 { 886 886 int ret = 0, i; 887 887 struct dvb_net_priv *priv = dev->priv; 888 - struct dmx_demux *demux = priv->demux; 889 - unsigned char *mac = (unsigned char *) dev->dev_addr; 888 + struct dmx_demux *demux = priv->demux; 889 + unsigned char *mac = (unsigned char *) dev->dev_addr; 890 890 891 891 dprintk("%s: rx_mode %i\n", __FUNCTION__, priv->rx_mode); 892 892 down(&priv->mutex); ··· 1129 1129 struct dvb_net_priv *priv = dev->priv; 1130 1130 1131 1131 priv->in_use--; 1132 - return dvb_net_feed_stop(dev); 1132 + return dvb_net_feed_stop(dev); 1133 1133 } 1134 1134 1135 1135 static struct net_device_stats * dvb_net_get_stats(struct net_device *dev) 1136 1136 { 1137 - return &((struct dvb_net_priv*) dev->priv)->stats; 1137 + return &((struct dvb_net_priv*) dev->priv)->stats; 1138 1138 } 1139 1139 1140 1140 static void dvb_net_setup(struct net_device *dev) ··· 1360 1360 }; 1361 1361 1362 1362 static struct dvb_device dvbdev_net = { 1363 - .priv = NULL, 1364 - .users = 1, 1365 - .writers = 1, 1366 - .fops = &dvb_net_fops, 1363 + .priv = NULL, 1364 + .users = 1, 1365 + .writers = 1, 1366 + .fops = &dvb_net_fops, 1367 1367 }; 1368 1368 1369 1369
+123 -123
drivers/media/dvb/dvb-core/dvb_ringbuffer.c
··· 42 42 43 43 void dvb_ringbuffer_init(struct dvb_ringbuffer *rbuf, void *data, size_t len) 44 44 { 45 - rbuf->pread=rbuf->pwrite=0; 46 - rbuf->data=data; 47 - rbuf->size=len; 45 + rbuf->pread=rbuf->pwrite=0; 46 + rbuf->data=data; 47 + rbuf->size=len; 48 48 49 - init_waitqueue_head(&rbuf->queue); 49 + init_waitqueue_head(&rbuf->queue); 50 50 51 - spin_lock_init(&(rbuf->lock)); 51 + spin_lock_init(&(rbuf->lock)); 52 52 } 53 53 54 54 55 55 56 56 int dvb_ringbuffer_empty(struct dvb_ringbuffer *rbuf) 57 57 { 58 - return (rbuf->pread==rbuf->pwrite); 58 + return (rbuf->pread==rbuf->pwrite); 59 59 } 60 60 61 61 62 62 63 63 ssize_t dvb_ringbuffer_free(struct dvb_ringbuffer *rbuf) 64 64 { 65 - ssize_t free; 65 + ssize_t free; 66 66 67 - free = rbuf->pread - rbuf->pwrite; 68 - if (free <= 0) 69 - free += rbuf->size; 70 - return free-1; 67 + free = rbuf->pread - rbuf->pwrite; 68 + if (free <= 0) 69 + free += rbuf->size; 70 + return free-1; 71 71 } 72 72 73 73 74 74 75 75 ssize_t dvb_ringbuffer_avail(struct dvb_ringbuffer *rbuf) 76 76 { 77 - ssize_t avail; 77 + ssize_t avail; 78 78 79 - avail = rbuf->pwrite - rbuf->pread; 80 - if (avail < 0) 81 - avail += rbuf->size; 82 - return avail; 79 + avail = rbuf->pwrite - rbuf->pread; 80 + if (avail < 0) 81 + avail += rbuf->size; 82 + return avail; 83 83 } 84 84 85 85 86 86 87 87 void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf) 88 88 { 89 - rbuf->pread = rbuf->pwrite; 89 + rbuf->pread = rbuf->pwrite; 90 90 } 91 91 92 92 93 93 94 94 void dvb_ringbuffer_flush_spinlock_wakeup(struct dvb_ringbuffer *rbuf) 95 95 { 96 - unsigned long flags; 96 + unsigned long flags; 97 97 98 - spin_lock_irqsave(&rbuf->lock, flags); 99 - dvb_ringbuffer_flush(rbuf); 100 - spin_unlock_irqrestore(&rbuf->lock, flags); 98 + spin_lock_irqsave(&rbuf->lock, flags); 99 + dvb_ringbuffer_flush(rbuf); 100 + spin_unlock_irqrestore(&rbuf->lock, flags); 101 101 102 - wake_up(&rbuf->queue); 102 + wake_up(&rbuf->queue); 103 103 } 104 104 105 105 106 106 107 107 ssize_t dvb_ringbuffer_read(struct dvb_ringbuffer *rbuf, u8 *buf, size_t len, int usermem) 108 108 { 109 - size_t todo = len; 110 - size_t split; 109 + size_t todo = len; 110 + size_t split; 111 111 112 - split = (rbuf->pread + len > rbuf->size) ? rbuf->size - rbuf->pread : 0; 113 - if (split > 0) { 114 - if (!usermem) 115 - memcpy(buf, rbuf->data+rbuf->pread, split); 116 - else 117 - if (copy_to_user(buf, rbuf->data+rbuf->pread, split)) 118 - return -EFAULT; 119 - buf += split; 120 - todo -= split; 121 - rbuf->pread = 0; 122 - } 123 - if (!usermem) 124 - memcpy(buf, rbuf->data+rbuf->pread, todo); 125 - else 126 - if (copy_to_user(buf, rbuf->data+rbuf->pread, todo)) 127 - return -EFAULT; 112 + split = (rbuf->pread + len > rbuf->size) ? rbuf->size - rbuf->pread : 0; 113 + if (split > 0) { 114 + if (!usermem) 115 + memcpy(buf, rbuf->data+rbuf->pread, split); 116 + else 117 + if (copy_to_user(buf, rbuf->data+rbuf->pread, split)) 118 + return -EFAULT; 119 + buf += split; 120 + todo -= split; 121 + rbuf->pread = 0; 122 + } 123 + if (!usermem) 124 + memcpy(buf, rbuf->data+rbuf->pread, todo); 125 + else 126 + if (copy_to_user(buf, rbuf->data+rbuf->pread, todo)) 127 + return -EFAULT; 128 128 129 - rbuf->pread = (rbuf->pread + todo) % rbuf->size; 129 + rbuf->pread = (rbuf->pread + todo) % rbuf->size; 130 130 131 - return len; 131 + return len; 132 132 } 133 133 134 134 135 135 136 136 ssize_t dvb_ringbuffer_write(struct dvb_ringbuffer *rbuf, const u8 *buf, size_t len) 137 137 { 138 - size_t todo = len; 139 - size_t split; 138 + size_t todo = len; 139 + size_t split; 140 140 141 - split = (rbuf->pwrite + len > rbuf->size) ? rbuf->size - rbuf->pwrite : 0; 141 + split = (rbuf->pwrite + len > rbuf->size) ? rbuf->size - rbuf->pwrite : 0; 142 142 143 - if (split > 0) { 144 - memcpy(rbuf->data+rbuf->pwrite, buf, split); 145 - buf += split; 146 - todo -= split; 147 - rbuf->pwrite = 0; 148 - } 149 - memcpy(rbuf->data+rbuf->pwrite, buf, todo); 150 - rbuf->pwrite = (rbuf->pwrite + todo) % rbuf->size; 143 + if (split > 0) { 144 + memcpy(rbuf->data+rbuf->pwrite, buf, split); 145 + buf += split; 146 + todo -= split; 147 + rbuf->pwrite = 0; 148 + } 149 + memcpy(rbuf->data+rbuf->pwrite, buf, todo); 150 + rbuf->pwrite = (rbuf->pwrite + todo) % rbuf->size; 151 151 152 - return len; 152 + return len; 153 153 } 154 154 155 155 ssize_t dvb_ringbuffer_pkt_write(struct dvb_ringbuffer *rbuf, u8* buf, size_t len) 156 156 { 157 - int status; 158 - ssize_t oldpwrite = rbuf->pwrite; 157 + int status; 158 + ssize_t oldpwrite = rbuf->pwrite; 159 159 160 - DVB_RINGBUFFER_WRITE_BYTE(rbuf, len >> 8); 161 - DVB_RINGBUFFER_WRITE_BYTE(rbuf, len & 0xff); 162 - DVB_RINGBUFFER_WRITE_BYTE(rbuf, PKT_READY); 163 - status = dvb_ringbuffer_write(rbuf, buf, len); 160 + DVB_RINGBUFFER_WRITE_BYTE(rbuf, len >> 8); 161 + DVB_RINGBUFFER_WRITE_BYTE(rbuf, len & 0xff); 162 + DVB_RINGBUFFER_WRITE_BYTE(rbuf, PKT_READY); 163 + status = dvb_ringbuffer_write(rbuf, buf, len); 164 164 165 - if (status < 0) rbuf->pwrite = oldpwrite; 166 - return status; 165 + if (status < 0) rbuf->pwrite = oldpwrite; 166 + return status; 167 167 } 168 168 169 169 ssize_t dvb_ringbuffer_pkt_read(struct dvb_ringbuffer *rbuf, size_t idx, 170 - int offset, u8* buf, size_t len, int usermem) 170 + int offset, u8* buf, size_t len, int usermem) 171 171 { 172 - size_t todo; 173 - size_t split; 174 - size_t pktlen; 172 + size_t todo; 173 + size_t split; 174 + size_t pktlen; 175 175 176 - pktlen = rbuf->data[idx] << 8; 177 - pktlen |= rbuf->data[(idx + 1) % rbuf->size]; 178 - if (offset > pktlen) return -EINVAL; 179 - if ((offset + len) > pktlen) len = pktlen - offset; 176 + pktlen = rbuf->data[idx] << 8; 177 + pktlen |= rbuf->data[(idx + 1) % rbuf->size]; 178 + if (offset > pktlen) return -EINVAL; 179 + if ((offset + len) > pktlen) len = pktlen - offset; 180 180 181 - idx = (idx + DVB_RINGBUFFER_PKTHDRSIZE + offset) % rbuf->size; 182 - todo = len; 183 - split = ((idx + len) > rbuf->size) ? rbuf->size - idx : 0; 184 - if (split > 0) { 185 - if (!usermem) 186 - memcpy(buf, rbuf->data+idx, split); 187 - else 188 - if (copy_to_user(buf, rbuf->data+idx, split)) 189 - return -EFAULT; 190 - buf += split; 191 - todo -= split; 192 - idx = 0; 193 - } 194 - if (!usermem) 195 - memcpy(buf, rbuf->data+idx, todo); 196 - else 197 - if (copy_to_user(buf, rbuf->data+idx, todo)) 198 - return -EFAULT; 181 + idx = (idx + DVB_RINGBUFFER_PKTHDRSIZE + offset) % rbuf->size; 182 + todo = len; 183 + split = ((idx + len) > rbuf->size) ? rbuf->size - idx : 0; 184 + if (split > 0) { 185 + if (!usermem) 186 + memcpy(buf, rbuf->data+idx, split); 187 + else 188 + if (copy_to_user(buf, rbuf->data+idx, split)) 189 + return -EFAULT; 190 + buf += split; 191 + todo -= split; 192 + idx = 0; 193 + } 194 + if (!usermem) 195 + memcpy(buf, rbuf->data+idx, todo); 196 + else 197 + if (copy_to_user(buf, rbuf->data+idx, todo)) 198 + return -EFAULT; 199 199 200 - return len; 200 + return len; 201 201 } 202 202 203 203 void dvb_ringbuffer_pkt_dispose(struct dvb_ringbuffer *rbuf, size_t idx) 204 204 { 205 - size_t pktlen; 205 + size_t pktlen; 206 206 207 - rbuf->data[(idx + 2) % rbuf->size] = PKT_DISPOSED; 207 + rbuf->data[(idx + 2) % rbuf->size] = PKT_DISPOSED; 208 208 209 - // clean up disposed packets 210 - while(dvb_ringbuffer_avail(rbuf) > DVB_RINGBUFFER_PKTHDRSIZE) { 211 - if (DVB_RINGBUFFER_PEEK(rbuf, 2) == PKT_DISPOSED) { 212 - pktlen = DVB_RINGBUFFER_PEEK(rbuf, 0) << 8; 213 - pktlen |= DVB_RINGBUFFER_PEEK(rbuf, 1); 214 - DVB_RINGBUFFER_SKIP(rbuf, pktlen + DVB_RINGBUFFER_PKTHDRSIZE); 215 - } else { 216 - // first packet is not disposed, so we stop cleaning now 217 - break; 218 - } 219 - } 209 + // clean up disposed packets 210 + while(dvb_ringbuffer_avail(rbuf) > DVB_RINGBUFFER_PKTHDRSIZE) { 211 + if (DVB_RINGBUFFER_PEEK(rbuf, 2) == PKT_DISPOSED) { 212 + pktlen = DVB_RINGBUFFER_PEEK(rbuf, 0) << 8; 213 + pktlen |= DVB_RINGBUFFER_PEEK(rbuf, 1); 214 + DVB_RINGBUFFER_SKIP(rbuf, pktlen + DVB_RINGBUFFER_PKTHDRSIZE); 215 + } else { 216 + // first packet is not disposed, so we stop cleaning now 217 + break; 218 + } 219 + } 220 220 } 221 221 222 222 ssize_t dvb_ringbuffer_pkt_next(struct dvb_ringbuffer *rbuf, size_t idx, size_t* pktlen) 223 223 { 224 - int consumed; 225 - int curpktlen; 226 - int curpktstatus; 224 + int consumed; 225 + int curpktlen; 226 + int curpktstatus; 227 227 228 - if (idx == -1) { 228 + if (idx == -1) { 229 229 idx = rbuf->pread; 230 230 } else { 231 - curpktlen = rbuf->data[idx] << 8; 232 - curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 233 - idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 231 + curpktlen = rbuf->data[idx] << 8; 232 + curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 233 + idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 234 234 } 235 235 236 - consumed = (idx - rbuf->pread) % rbuf->size; 236 + consumed = (idx - rbuf->pread) % rbuf->size; 237 237 238 - while((dvb_ringbuffer_avail(rbuf) - consumed) > DVB_RINGBUFFER_PKTHDRSIZE) { 238 + while((dvb_ringbuffer_avail(rbuf) - consumed) > DVB_RINGBUFFER_PKTHDRSIZE) { 239 239 240 - curpktlen = rbuf->data[idx] << 8; 241 - curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 242 - curpktstatus = rbuf->data[(idx + 2) % rbuf->size]; 240 + curpktlen = rbuf->data[idx] << 8; 241 + curpktlen |= rbuf->data[(idx + 1) % rbuf->size]; 242 + curpktstatus = rbuf->data[(idx + 2) % rbuf->size]; 243 243 244 - if (curpktstatus == PKT_READY) { 245 - *pktlen = curpktlen; 246 - return idx; 247 - } 244 + if (curpktstatus == PKT_READY) { 245 + *pktlen = curpktlen; 246 + return idx; 247 + } 248 248 249 - consumed += curpktlen + DVB_RINGBUFFER_PKTHDRSIZE; 250 - idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 251 - } 249 + consumed += curpktlen + DVB_RINGBUFFER_PKTHDRSIZE; 250 + idx = (idx + curpktlen + DVB_RINGBUFFER_PKTHDRSIZE) % rbuf->size; 251 + } 252 252 253 - // no packets available 254 - return -1; 253 + // no packets available 254 + return -1; 255 255 } 256 256 257 257
+10 -10
drivers/media/dvb/dvb-core/dvb_ringbuffer.h
··· 31 31 #include <linux/wait.h> 32 32 33 33 struct dvb_ringbuffer { 34 - u8 *data; 35 - ssize_t size; 36 - ssize_t pread; 37 - ssize_t pwrite; 34 + u8 *data; 35 + ssize_t size; 36 + ssize_t pread; 37 + ssize_t pwrite; 38 38 39 - wait_queue_head_t queue; 40 - spinlock_t lock; 39 + wait_queue_head_t queue; 40 + spinlock_t lock; 41 41 }; 42 42 43 43 #define DVB_RINGBUFFER_PKTHDRSIZE 3 ··· 106 106 ** returns number of bytes transferred or -EFAULT 107 107 */ 108 108 extern ssize_t dvb_ringbuffer_read(struct dvb_ringbuffer *rbuf, u8 *buf, 109 - size_t len, int usermem); 109 + size_t len, int usermem); 110 110 111 111 112 112 /* write routines & macros */ ··· 121 121 ** returns number of bytes transferred or -EFAULT 122 122 */ 123 123 extern ssize_t dvb_ringbuffer_write(struct dvb_ringbuffer *rbuf, const u8 *buf, 124 - size_t len); 124 + size_t len); 125 125 126 126 127 127 /** ··· 133 133 * returns Number of bytes written, or -EFAULT, -ENOMEM, -EVINAL. 134 134 */ 135 135 extern ssize_t dvb_ringbuffer_pkt_write(struct dvb_ringbuffer *rbuf, u8* buf, 136 - size_t len); 136 + size_t len); 137 137 138 138 /** 139 139 * Read from a packet in the ringbuffer. Note: unlike dvb_ringbuffer_read(), this ··· 149 149 * returns Number of bytes read, or -EFAULT. 150 150 */ 151 151 extern ssize_t dvb_ringbuffer_pkt_read(struct dvb_ringbuffer *rbuf, size_t idx, 152 - int offset, u8* buf, size_t len, int usermem); 152 + int offset, u8* buf, size_t len, int usermem); 153 153 154 154 /** 155 155 * Dispose of a packet in the ring buffer.
+66 -66
drivers/media/dvb/dvb-core/dvbdev.c
··· 47 47 static DECLARE_MUTEX(dvbdev_register_lock); 48 48 49 49 static const char * const dnames[] = { 50 - "video", "audio", "sec", "frontend", "demux", "dvr", "ca", 50 + "video", "audio", "sec", "frontend", "demux", "dvr", "ca", 51 51 "net", "osd" 52 52 }; 53 53 ··· 90 90 91 91 file->private_data = dvbdev; 92 92 old_fops = file->f_op; 93 - file->f_op = fops_get(dvbdev->fops); 94 - if(file->f_op->open) 95 - err = file->f_op->open(inode,file); 96 - if (err) { 97 - fops_put(file->f_op); 98 - file->f_op = fops_get(old_fops); 99 - } 100 - fops_put(old_fops); 101 - return err; 93 + file->f_op = fops_get(dvbdev->fops); 94 + if(file->f_op->open) 95 + err = file->f_op->open(inode,file); 96 + if (err) { 97 + fops_put(file->f_op); 98 + file->f_op = fops_get(old_fops); 99 + } 100 + fops_put(old_fops); 101 + return err; 102 102 } 103 103 return -ENODEV; 104 104 } ··· 117 117 118 118 int dvb_generic_open(struct inode *inode, struct file *file) 119 119 { 120 - struct dvb_device *dvbdev = file->private_data; 120 + struct dvb_device *dvbdev = file->private_data; 121 121 122 - if (!dvbdev) 123 - return -ENODEV; 122 + if (!dvbdev) 123 + return -ENODEV; 124 124 125 125 if (!dvbdev->users) 126 - return -EBUSY; 126 + return -EBUSY; 127 127 128 128 if ((file->f_flags & O_ACCMODE) == O_RDONLY) { 129 - if (!dvbdev->readers) 130 - return -EBUSY; 129 + if (!dvbdev->readers) 130 + return -EBUSY; 131 131 dvbdev->readers--; 132 132 } else { 133 - if (!dvbdev->writers) 134 - return -EBUSY; 133 + if (!dvbdev->writers) 134 + return -EBUSY; 135 135 dvbdev->writers--; 136 136 } 137 137 ··· 143 143 144 144 int dvb_generic_release(struct inode *inode, struct file *file) 145 145 { 146 - struct dvb_device *dvbdev = file->private_data; 146 + struct dvb_device *dvbdev = file->private_data; 147 147 148 148 if (!dvbdev) 149 - return -ENODEV; 149 + return -ENODEV; 150 150 151 151 if ((file->f_flags & O_ACCMODE) == O_RDONLY) { 152 152 dvbdev->readers++; ··· 163 163 int dvb_generic_ioctl(struct inode *inode, struct file *file, 164 164 unsigned int cmd, unsigned long arg) 165 165 { 166 - struct dvb_device *dvbdev = file->private_data; 166 + struct dvb_device *dvbdev = file->private_data; 167 167 168 - if (!dvbdev) 169 - return -ENODEV; 168 + if (!dvbdev) 169 + return -ENODEV; 170 170 171 171 if (!dvbdev->kernel_ioctl) 172 172 return -EINVAL; ··· 334 334 to the v4l "videodev.o" module, which is unnecessary for some 335 335 cards (ie. the budget dvb-cards don't need the v4l module...) */ 336 336 int dvb_usercopy(struct inode *inode, struct file *file, 337 - unsigned int cmd, unsigned long arg, 337 + unsigned int cmd, unsigned long arg, 338 338 int (*func)(struct inode *inode, struct file *file, 339 339 unsigned int cmd, void *arg)) 340 340 { 341 - char sbuf[128]; 342 - void *mbuf = NULL; 343 - void *parg = NULL; 344 - int err = -EINVAL; 341 + char sbuf[128]; 342 + void *mbuf = NULL; 343 + void *parg = NULL; 344 + int err = -EINVAL; 345 345 346 - /* Copy arguments into temp kernel buffer */ 347 - switch (_IOC_DIR(cmd)) { 348 - case _IOC_NONE: 346 + /* Copy arguments into temp kernel buffer */ 347 + switch (_IOC_DIR(cmd)) { 348 + case _IOC_NONE: 349 349 /* 350 350 * For this command, the pointer is actually an integer 351 351 * argument. 352 352 */ 353 353 parg = (void *) arg; 354 354 break; 355 - case _IOC_READ: /* some v4l ioctls are marked wrong ... */ 356 - case _IOC_WRITE: 357 - case (_IOC_WRITE | _IOC_READ): 358 - if (_IOC_SIZE(cmd) <= sizeof(sbuf)) { 359 - parg = sbuf; 360 - } else { 361 - /* too big to allocate from stack */ 362 - mbuf = kmalloc(_IOC_SIZE(cmd),GFP_KERNEL); 363 - if (NULL == mbuf) 364 - return -ENOMEM; 365 - parg = mbuf; 366 - } 355 + case _IOC_READ: /* some v4l ioctls are marked wrong ... */ 356 + case _IOC_WRITE: 357 + case (_IOC_WRITE | _IOC_READ): 358 + if (_IOC_SIZE(cmd) <= sizeof(sbuf)) { 359 + parg = sbuf; 360 + } else { 361 + /* too big to allocate from stack */ 362 + mbuf = kmalloc(_IOC_SIZE(cmd),GFP_KERNEL); 363 + if (NULL == mbuf) 364 + return -ENOMEM; 365 + parg = mbuf; 366 + } 367 367 368 - err = -EFAULT; 369 - if (copy_from_user(parg, (void __user *)arg, _IOC_SIZE(cmd))) 370 - goto out; 371 - break; 372 - } 368 + err = -EFAULT; 369 + if (copy_from_user(parg, (void __user *)arg, _IOC_SIZE(cmd))) 370 + goto out; 371 + break; 372 + } 373 373 374 - /* call driver */ 375 - if ((err = func(inode, file, cmd, parg)) == -ENOIOCTLCMD) 376 - err = -EINVAL; 374 + /* call driver */ 375 + if ((err = func(inode, file, cmd, parg)) == -ENOIOCTLCMD) 376 + err = -EINVAL; 377 377 378 - if (err < 0) 379 - goto out; 378 + if (err < 0) 379 + goto out; 380 380 381 - /* Copy results into user buffer */ 382 - switch (_IOC_DIR(cmd)) 383 - { 384 - case _IOC_READ: 385 - case (_IOC_WRITE | _IOC_READ): 386 - if (copy_to_user((void __user *)arg, parg, _IOC_SIZE(cmd))) 387 - err = -EFAULT; 388 - break; 389 - } 381 + /* Copy results into user buffer */ 382 + switch (_IOC_DIR(cmd)) 383 + { 384 + case _IOC_READ: 385 + case (_IOC_WRITE | _IOC_READ): 386 + if (copy_to_user((void __user *)arg, parg, _IOC_SIZE(cmd))) 387 + err = -EFAULT; 388 + break; 389 + } 390 390 391 391 out: 392 - kfree(mbuf); 393 - return err; 392 + kfree(mbuf); 393 + return err; 394 394 } 395 395 396 396 static int __init init_dvbdev(void) ··· 427 427 428 428 static void __exit exit_dvbdev(void) 429 429 { 430 - devfs_remove("dvb"); 430 + devfs_remove("dvb"); 431 431 class_destroy(dvb_class); 432 432 cdev_del(&dvb_device_cdev); 433 - unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS); 433 + unregister_chrdev_region(MKDEV(DVB_MAJOR, 0), MAX_DVB_MINORS); 434 434 } 435 435 436 436 module_init(init_dvbdev);
+3 -3
drivers/media/dvb/dvb-core/dvbdev.h
··· 68 68 int writers; 69 69 int users; 70 70 71 - /* don't really need those !? -- FIXME: use video_usercopy */ 72 - int (*kernel_ioctl)(struct inode *inode, struct file *file, 71 + /* don't really need those !? -- FIXME: use video_usercopy */ 72 + int (*kernel_ioctl)(struct inode *inode, struct file *file, 73 73 unsigned int cmd, void *arg); 74 74 75 75 void *priv; ··· 97 97 generic_usercopy() someday... */ 98 98 99 99 extern int dvb_usercopy(struct inode *inode, struct file *file, 100 - unsigned int cmd, unsigned long arg, 100 + unsigned int cmd, unsigned long arg, 101 101 int (*func)(struct inode *inode, struct file *file, 102 102 unsigned int cmd, void *arg)); 103 103
+1 -1
drivers/media/dvb/dvb-usb/vp702x-fe.c
··· 190 190 } 191 191 192 192 static int vp702x_fe_send_diseqc_msg (struct dvb_frontend* fe, 193 - struct dvb_diseqc_master_cmd *m) 193 + struct dvb_diseqc_master_cmd *m) 194 194 { 195 195 struct vp702x_fe_state *st = fe->demodulator_priv; 196 196 u8 cmd[8],ibuf[10];
+1 -1
drivers/media/dvb/dvb-usb/vp7045-fe.c
··· 58 58 struct vp7045_fe_state *state = fe->demodulator_priv; 59 59 *ber = (vp7045_read_reg(state->d, 0x0D) << 16) | 60 60 (vp7045_read_reg(state->d, 0x0E) << 8) | 61 - vp7045_read_reg(state->d, 0x0F); 61 + vp7045_read_reg(state->d, 0x0F); 62 62 return 0; 63 63 } 64 64
+3 -3
drivers/media/dvb/frontends/at76c651.c
··· 361 361 362 362 static int at76c651_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings *fesettings) 363 363 { 364 - fesettings->min_delay_ms = 50; 365 - fesettings->step_size = 0; 366 - fesettings->max_drift = 0; 364 + fesettings->min_delay_ms = 50; 365 + fesettings->step_size = 0; 366 + fesettings->max_drift = 0; 367 367 return 0; 368 368 } 369 369
+2 -2
drivers/media/dvb/frontends/bcm3510.c
··· 69 69 #define dbufout(b,l,m) {\ 70 70 int i; \ 71 71 for (i = 0; i < l; i++) \ 72 - m("%02x ",b[i]); \ 72 + m("%02x ",b[i]); \ 73 73 } 74 74 #define deb_info(args...) dprintk(0x01,args) 75 75 #define deb_i2c(args...) dprintk(0x02,args) ··· 827 827 .type = FE_ATSC, 828 828 .frequency_min = 54000000, 829 829 .frequency_max = 803000000, 830 - /* stepsize is just a guess */ 830 + /* stepsize is just a guess */ 831 831 .frequency_stepsize = 0, 832 832 .caps = 833 833 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
+5 -5
drivers/media/dvb/frontends/cx22700.c
··· 355 355 356 356 static int cx22700_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 357 357 { 358 - fesettings->min_delay_ms = 150; 359 - fesettings->step_size = 166667; 360 - fesettings->max_drift = 166667*2; 361 - return 0; 358 + fesettings->min_delay_ms = 150; 359 + fesettings->step_size = 166667; 360 + fesettings->max_drift = 166667*2; 361 + return 0; 362 362 } 363 363 364 364 static void cx22700_release(struct dvb_frontend* fe) ··· 407 407 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 408 408 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | 409 409 FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | 410 - FE_CAN_RECOVER 410 + FE_CAN_RECOVER 411 411 }, 412 412 413 413 .release = cx22700_release,
+1 -1
drivers/media/dvb/frontends/cx22702.c
··· 2 2 Conexant 22702 DVB OFDM demodulator driver 3 3 4 4 based on: 5 - Alps TDMB7 DVB OFDM demodulator driver 5 + Alps TDMB7 DVB OFDM demodulator driver 6 6 7 7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH 8 8 Holger Waechtler <holger@convergence.de>
+1 -1
drivers/media/dvb/frontends/cx22702.h
··· 2 2 Conexant 22702 DVB OFDM demodulator driver 3 3 4 4 based on: 5 - Alps TDMB7 DVB OFDM demodulator driver 5 + Alps TDMB7 DVB OFDM demodulator driver 6 6 7 7 Copyright (C) 2001-2002 Convergence Integrated Media GmbH 8 8 Holger Waechtler <holger@convergence.de>
+156 -156
drivers/media/dvb/frontends/cx24110.c
··· 55 55 } while (0) 56 56 57 57 static struct {u8 reg; u8 data;} cx24110_regdata[]= 58 - /* Comments beginning with @ denote this value should 59 - be the default */ 60 - {{0x09,0x01}, /* SoftResetAll */ 61 - {0x09,0x00}, /* release reset */ 62 - {0x01,0xe8}, /* MSB of code rate 27.5MS/s */ 63 - {0x02,0x17}, /* middle byte " */ 64 - {0x03,0x29}, /* LSB " */ 65 - {0x05,0x03}, /* @ DVB mode, standard code rate 3/4 */ 66 - {0x06,0xa5}, /* @ PLL 60MHz */ 67 - {0x07,0x01}, /* @ Fclk, i.e. sampling clock, 60MHz */ 68 - {0x0a,0x00}, /* @ partial chip disables, do not set */ 69 - {0x0b,0x01}, /* set output clock in gapped mode, start signal low 70 - active for first byte */ 71 - {0x0c,0x11}, /* no parity bytes, large hold time, serial data out */ 72 - {0x0d,0x6f}, /* @ RS Sync/Unsync thresholds */ 73 - {0x10,0x40}, /* chip doc is misleading here: write bit 6 as 1 74 - to avoid starting the BER counter. Reset the 75 - CRC test bit. Finite counting selected */ 76 - {0x15,0xff}, /* @ size of the limited time window for RS BER 77 - estimation. It is <value>*256 RS blocks, this 78 - gives approx. 2.6 sec at 27.5MS/s, rate 3/4 */ 79 - {0x16,0x00}, /* @ enable all RS output ports */ 80 - {0x17,0x04}, /* @ time window allowed for the RS to sync */ 81 - {0x18,0xae}, /* @ allow all standard DVB code rates to be scanned 82 - for automatically */ 83 - /* leave the current code rate and normalization 84 - registers as they are after reset... */ 85 - {0x21,0x10}, /* @ during AutoAcq, search each viterbi setting 86 - only once */ 87 - {0x23,0x18}, /* @ size of the limited time window for Viterbi BER 88 - estimation. It is <value>*65536 channel bits, i.e. 89 - approx. 38ms at 27.5MS/s, rate 3/4 */ 90 - {0x24,0x24}, /* do not trigger Viterbi CRC test. Finite count window */ 91 - /* leave front-end AGC parameters at default values */ 92 - /* leave decimation AGC parameters at default values */ 93 - {0x35,0x40}, /* disable all interrupts. They are not connected anyway */ 94 - {0x36,0xff}, /* clear all interrupt pending flags */ 95 - {0x37,0x00}, /* @ fully enable AutoAcqq state machine */ 96 - {0x38,0x07}, /* @ enable fade recovery, but not autostart AutoAcq */ 97 - /* leave the equalizer parameters on their default values */ 98 - /* leave the final AGC parameters on their default values */ 99 - {0x41,0x00}, /* @ MSB of front-end derotator frequency */ 100 - {0x42,0x00}, /* @ middle bytes " */ 101 - {0x43,0x00}, /* @ LSB " */ 102 - /* leave the carrier tracking loop parameters on default */ 103 - /* leave the bit timing loop parameters at gefault */ 104 - {0x56,0x4d}, /* set the filtune voltage to 2.7V, as recommended by */ 105 - /* the cx24108 data sheet for symbol rates above 15MS/s */ 106 - {0x57,0x00}, /* @ Filter sigma delta enabled, positive */ 107 - {0x61,0x95}, /* GPIO pins 1-4 have special function */ 108 - {0x62,0x05}, /* GPIO pin 5 has special function, pin 6 is GPIO */ 109 - {0x63,0x00}, /* All GPIO pins use CMOS output characteristics */ 110 - {0x64,0x20}, /* GPIO 6 is input, all others are outputs */ 111 - {0x6d,0x30}, /* tuner auto mode clock freq 62kHz */ 112 - {0x70,0x15}, /* use auto mode, tuner word is 21 bits long */ 113 - {0x73,0x00}, /* @ disable several demod bypasses */ 114 - {0x74,0x00}, /* @ " */ 115 - {0x75,0x00} /* @ " */ 116 - /* the remaining registers are for SEC */ 58 + /* Comments beginning with @ denote this value should 59 + be the default */ 60 + {{0x09,0x01}, /* SoftResetAll */ 61 + {0x09,0x00}, /* release reset */ 62 + {0x01,0xe8}, /* MSB of code rate 27.5MS/s */ 63 + {0x02,0x17}, /* middle byte " */ 64 + {0x03,0x29}, /* LSB " */ 65 + {0x05,0x03}, /* @ DVB mode, standard code rate 3/4 */ 66 + {0x06,0xa5}, /* @ PLL 60MHz */ 67 + {0x07,0x01}, /* @ Fclk, i.e. sampling clock, 60MHz */ 68 + {0x0a,0x00}, /* @ partial chip disables, do not set */ 69 + {0x0b,0x01}, /* set output clock in gapped mode, start signal low 70 + active for first byte */ 71 + {0x0c,0x11}, /* no parity bytes, large hold time, serial data out */ 72 + {0x0d,0x6f}, /* @ RS Sync/Unsync thresholds */ 73 + {0x10,0x40}, /* chip doc is misleading here: write bit 6 as 1 74 + to avoid starting the BER counter. Reset the 75 + CRC test bit. Finite counting selected */ 76 + {0x15,0xff}, /* @ size of the limited time window for RS BER 77 + estimation. It is <value>*256 RS blocks, this 78 + gives approx. 2.6 sec at 27.5MS/s, rate 3/4 */ 79 + {0x16,0x00}, /* @ enable all RS output ports */ 80 + {0x17,0x04}, /* @ time window allowed for the RS to sync */ 81 + {0x18,0xae}, /* @ allow all standard DVB code rates to be scanned 82 + for automatically */ 83 + /* leave the current code rate and normalization 84 + registers as they are after reset... */ 85 + {0x21,0x10}, /* @ during AutoAcq, search each viterbi setting 86 + only once */ 87 + {0x23,0x18}, /* @ size of the limited time window for Viterbi BER 88 + estimation. It is <value>*65536 channel bits, i.e. 89 + approx. 38ms at 27.5MS/s, rate 3/4 */ 90 + {0x24,0x24}, /* do not trigger Viterbi CRC test. Finite count window */ 91 + /* leave front-end AGC parameters at default values */ 92 + /* leave decimation AGC parameters at default values */ 93 + {0x35,0x40}, /* disable all interrupts. They are not connected anyway */ 94 + {0x36,0xff}, /* clear all interrupt pending flags */ 95 + {0x37,0x00}, /* @ fully enable AutoAcqq state machine */ 96 + {0x38,0x07}, /* @ enable fade recovery, but not autostart AutoAcq */ 97 + /* leave the equalizer parameters on their default values */ 98 + /* leave the final AGC parameters on their default values */ 99 + {0x41,0x00}, /* @ MSB of front-end derotator frequency */ 100 + {0x42,0x00}, /* @ middle bytes " */ 101 + {0x43,0x00}, /* @ LSB " */ 102 + /* leave the carrier tracking loop parameters on default */ 103 + /* leave the bit timing loop parameters at gefault */ 104 + {0x56,0x4d}, /* set the filtune voltage to 2.7V, as recommended by */ 105 + /* the cx24108 data sheet for symbol rates above 15MS/s */ 106 + {0x57,0x00}, /* @ Filter sigma delta enabled, positive */ 107 + {0x61,0x95}, /* GPIO pins 1-4 have special function */ 108 + {0x62,0x05}, /* GPIO pin 5 has special function, pin 6 is GPIO */ 109 + {0x63,0x00}, /* All GPIO pins use CMOS output characteristics */ 110 + {0x64,0x20}, /* GPIO 6 is input, all others are outputs */ 111 + {0x6d,0x30}, /* tuner auto mode clock freq 62kHz */ 112 + {0x70,0x15}, /* use auto mode, tuner word is 21 bits long */ 113 + {0x73,0x00}, /* @ disable several demod bypasses */ 114 + {0x74,0x00}, /* @ " */ 115 + {0x75,0x00} /* @ " */ 116 + /* the remaining registers are for SEC */ 117 117 }; 118 118 119 119 120 120 static int cx24110_writereg (struct cx24110_state* state, int reg, int data) 121 121 { 122 - u8 buf [] = { reg, data }; 122 + u8 buf [] = { reg, data }; 123 123 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; 124 124 int err; 125 125 126 - if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 126 + if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { 127 127 dprintk ("%s: writereg error (err == %i, reg == 0x%02x," 128 128 " data == 0x%02x)\n", __FUNCTION__, err, reg, data); 129 129 return -EREMOTEIO; 130 130 } 131 131 132 - return 0; 132 + return 0; 133 133 } 134 134 135 135 static int cx24110_readreg (struct cx24110_state* state, u8 reg) ··· 153 153 154 154 switch (inversion) { 155 155 case INVERSION_OFF: 156 - cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 157 - /* AcqSpectrInvDis on. No idea why someone should want this */ 158 - cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)&0xf7); 159 - /* Initial value 0 at start of acq */ 160 - cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)&0xef); 161 - /* current value 0 */ 162 - /* The cx24110 manual tells us this reg is read-only. 163 - But what the heck... set it ayways */ 164 - break; 156 + cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 157 + /* AcqSpectrInvDis on. No idea why someone should want this */ 158 + cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)&0xf7); 159 + /* Initial value 0 at start of acq */ 160 + cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)&0xef); 161 + /* current value 0 */ 162 + /* The cx24110 manual tells us this reg is read-only. 163 + But what the heck... set it ayways */ 164 + break; 165 165 case INVERSION_ON: 166 - cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 167 - /* AcqSpectrInvDis on. No idea why someone should want this */ 168 - cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)|0x08); 169 - /* Initial value 1 at start of acq */ 170 - cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)|0x10); 171 - /* current value 1 */ 172 - break; 166 + cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x1); 167 + /* AcqSpectrInvDis on. No idea why someone should want this */ 168 + cx24110_writereg(state,0x5,cx24110_readreg(state,0x5)|0x08); 169 + /* Initial value 1 at start of acq */ 170 + cx24110_writereg(state,0x22,cx24110_readreg(state,0x22)|0x10); 171 + /* current value 1 */ 172 + break; 173 173 case INVERSION_AUTO: 174 - cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)&0xfe); 175 - /* AcqSpectrInvDis off. Leave initial & current states as is */ 176 - break; 174 + cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)&0xfe); 175 + /* AcqSpectrInvDis off. Leave initial & current states as is */ 176 + break; 177 177 default: 178 178 return -EINVAL; 179 179 } ··· 185 185 { 186 186 /* fixme (low): error handling */ 187 187 188 - static const int rate[]={-1,1,2,3,5,7,-1}; 189 - static const int g1[]={-1,0x01,0x02,0x05,0x15,0x45,-1}; 190 - static const int g2[]={-1,0x01,0x03,0x06,0x1a,0x7a,-1}; 188 + static const int rate[]={-1,1,2,3,5,7,-1}; 189 + static const int g1[]={-1,0x01,0x02,0x05,0x15,0x45,-1}; 190 + static const int g2[]={-1,0x01,0x03,0x06,0x1a,0x7a,-1}; 191 191 192 - /* Well, the AutoAcq engine of the cx24106 and 24110 automatically 193 - searches all enabled viterbi rates, and can handle non-standard 194 - rates as well. */ 192 + /* Well, the AutoAcq engine of the cx24106 and 24110 automatically 193 + searches all enabled viterbi rates, and can handle non-standard 194 + rates as well. */ 195 195 196 - if (fec>FEC_AUTO) 197 - fec=FEC_AUTO; 196 + if (fec>FEC_AUTO) 197 + fec=FEC_AUTO; 198 198 199 - if (fec==FEC_AUTO) { /* (re-)establish AutoAcq behaviour */ 199 + if (fec==FEC_AUTO) { /* (re-)establish AutoAcq behaviour */ 200 200 cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)&0xdf); 201 201 /* clear AcqVitDis bit */ 202 202 cx24110_writereg(state,0x18,0xae); ··· 208 208 cx24110_writereg(state,0x1a,0x05); cx24110_writereg(state,0x1b,0x06); 209 209 /* set the puncture registers for code rate 3/4 */ 210 210 return 0; 211 - } else { 211 + } else { 212 212 cx24110_writereg(state,0x37,cx24110_readreg(state,0x37)|0x20); 213 213 /* set AcqVitDis bit */ 214 214 if(rate[fec]>0) { ··· 219 219 cx24110_writereg(state,0x1a,g1[fec]); 220 220 cx24110_writereg(state,0x1b,g2[fec]); 221 221 /* not sure if this is the right way: I always used AutoAcq mode */ 222 - } else 222 + } else 223 223 return -EOPNOTSUPP; 224 224 /* fixme (low): which is the correct return code? */ 225 - }; 225 + }; 226 226 return 0; 227 227 } 228 228 ··· 245 245 static int cx24110_set_symbolrate (struct cx24110_state* state, u32 srate) 246 246 { 247 247 /* fixme (low): add error handling */ 248 - u32 ratio; 249 - u32 tmp, fclk, BDRI; 248 + u32 ratio; 249 + u32 tmp, fclk, BDRI; 250 250 251 - static const u32 bands[]={5000000UL,15000000UL,90999000UL/2}; 252 - int i; 251 + static const u32 bands[]={5000000UL,15000000UL,90999000UL/2}; 252 + int i; 253 253 254 254 dprintk("cx24110 debug: entering %s(%d)\n",__FUNCTION__,srate); 255 - if (srate>90999000UL/2) 256 - srate=90999000UL/2; 257 - if (srate<500000) 258 - srate=500000; 255 + if (srate>90999000UL/2) 256 + srate=90999000UL/2; 257 + if (srate<500000) 258 + srate=500000; 259 259 260 - for(i=0;(i<sizeof(bands)/sizeof(bands[0]))&&(srate>bands[i]);i++) 260 + for(i=0;(i<sizeof(bands)/sizeof(bands[0]))&&(srate>bands[i]);i++) 261 261 ; 262 - /* first, check which sample rate is appropriate: 45, 60 80 or 90 MHz, 263 - and set the PLL accordingly (R07[1:0] Fclk, R06[7:4] PLLmult, 264 - R06[3:0] PLLphaseDetGain */ 265 - tmp=cx24110_readreg(state,0x07)&0xfc; 266 - if(srate<90999000UL/4) { /* sample rate 45MHz*/ 262 + /* first, check which sample rate is appropriate: 45, 60 80 or 90 MHz, 263 + and set the PLL accordingly (R07[1:0] Fclk, R06[7:4] PLLmult, 264 + R06[3:0] PLLphaseDetGain */ 265 + tmp=cx24110_readreg(state,0x07)&0xfc; 266 + if(srate<90999000UL/4) { /* sample rate 45MHz*/ 267 267 cx24110_writereg(state,0x07,tmp); 268 268 cx24110_writereg(state,0x06,0x78); 269 269 fclk=90999000UL/2; 270 - } else if(srate<60666000UL/2) { /* sample rate 60MHz */ 270 + } else if(srate<60666000UL/2) { /* sample rate 60MHz */ 271 271 cx24110_writereg(state,0x07,tmp|0x1); 272 272 cx24110_writereg(state,0x06,0xa5); 273 273 fclk=60666000UL; 274 - } else if(srate<80888000UL/2) { /* sample rate 80MHz */ 274 + } else if(srate<80888000UL/2) { /* sample rate 80MHz */ 275 275 cx24110_writereg(state,0x07,tmp|0x2); 276 276 cx24110_writereg(state,0x06,0x87); 277 277 fclk=80888000UL; 278 - } else { /* sample rate 90MHz */ 278 + } else { /* sample rate 90MHz */ 279 279 cx24110_writereg(state,0x07,tmp|0x3); 280 280 cx24110_writereg(state,0x06,0x78); 281 281 fclk=90999000UL; 282 - }; 283 - dprintk("cx24110 debug: fclk %d Hz\n",fclk); 284 - /* we need to divide two integers with approx. 27 bits in 32 bit 285 - arithmetic giving a 25 bit result */ 286 - /* the maximum dividend is 90999000/2, 0x02b6446c, this number is 287 - also the most complex divisor. Hence, the dividend has, 288 - assuming 32bit unsigned arithmetic, 6 clear bits on top, the 289 - divisor 2 unused bits at the bottom. Also, the quotient is 290 - always less than 1/2. Borrowed from VES1893.c, of course */ 282 + }; 283 + dprintk("cx24110 debug: fclk %d Hz\n",fclk); 284 + /* we need to divide two integers with approx. 27 bits in 32 bit 285 + arithmetic giving a 25 bit result */ 286 + /* the maximum dividend is 90999000/2, 0x02b6446c, this number is 287 + also the most complex divisor. Hence, the dividend has, 288 + assuming 32bit unsigned arithmetic, 6 clear bits on top, the 289 + divisor 2 unused bits at the bottom. Also, the quotient is 290 + always less than 1/2. Borrowed from VES1893.c, of course */ 291 291 292 - tmp=srate<<6; 293 - BDRI=fclk>>2; 294 - ratio=(tmp/BDRI); 292 + tmp=srate<<6; 293 + BDRI=fclk>>2; 294 + ratio=(tmp/BDRI); 295 295 296 - tmp=(tmp%BDRI)<<8; 297 - ratio=(ratio<<8)+(tmp/BDRI); 296 + tmp=(tmp%BDRI)<<8; 297 + ratio=(ratio<<8)+(tmp/BDRI); 298 298 299 - tmp=(tmp%BDRI)<<8; 300 - ratio=(ratio<<8)+(tmp/BDRI); 299 + tmp=(tmp%BDRI)<<8; 300 + ratio=(ratio<<8)+(tmp/BDRI); 301 301 302 - tmp=(tmp%BDRI)<<1; 303 - ratio=(ratio<<1)+(tmp/BDRI); 302 + tmp=(tmp%BDRI)<<1; 303 + ratio=(ratio<<1)+(tmp/BDRI); 304 304 305 - dprintk("srate= %d (range %d, up to %d)\n", srate,i,bands[i]); 306 - dprintk("fclk = %d\n", fclk); 307 - dprintk("ratio= %08x\n", ratio); 305 + dprintk("srate= %d (range %d, up to %d)\n", srate,i,bands[i]); 306 + dprintk("fclk = %d\n", fclk); 307 + dprintk("ratio= %08x\n", ratio); 308 308 309 - cx24110_writereg(state, 0x1, (ratio>>16)&0xff); 310 - cx24110_writereg(state, 0x2, (ratio>>8)&0xff); 311 - cx24110_writereg(state, 0x3, (ratio)&0xff); 309 + cx24110_writereg(state, 0x1, (ratio>>16)&0xff); 310 + cx24110_writereg(state, 0x2, (ratio>>8)&0xff); 311 + cx24110_writereg(state, 0x3, (ratio)&0xff); 312 312 313 - return 0; 313 + return 0; 314 314 315 315 } 316 316 ··· 324 324 325 325 dprintk("cx24110 debug: cx24108_write(%8.8x)\n",data); 326 326 327 - cx24110_writereg(state,0x6d,0x30); /* auto mode at 62kHz */ 328 - cx24110_writereg(state,0x70,0x15); /* auto mode 21 bits */ 327 + cx24110_writereg(state,0x6d,0x30); /* auto mode at 62kHz */ 328 + cx24110_writereg(state,0x70,0x15); /* auto mode 21 bits */ 329 329 330 - /* if the auto tuner writer is still busy, clear it out */ 331 - while (cx24110_readreg(state,0x6d)&0x80) 330 + /* if the auto tuner writer is still busy, clear it out */ 331 + while (cx24110_readreg(state,0x6d)&0x80) 332 332 cx24110_writereg(state,0x72,0); 333 333 334 - /* write the topmost 8 bits */ 335 - cx24110_writereg(state,0x72,(data>>24)&0xff); 334 + /* write the topmost 8 bits */ 335 + cx24110_writereg(state,0x72,(data>>24)&0xff); 336 336 337 - /* wait for the send to be completed */ 338 - while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 337 + /* wait for the send to be completed */ 338 + while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 339 339 ; 340 340 341 - /* send another 8 bytes */ 342 - cx24110_writereg(state,0x72,(data>>16)&0xff); 343 - while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 341 + /* send another 8 bytes */ 342 + cx24110_writereg(state,0x72,(data>>16)&0xff); 343 + while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 344 344 ; 345 345 346 - /* and the topmost 5 bits of this byte */ 347 - cx24110_writereg(state,0x72,(data>>8)&0xff); 348 - while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 346 + /* and the topmost 5 bits of this byte */ 347 + cx24110_writereg(state,0x72,(data>>8)&0xff); 348 + while ((cx24110_readreg(state,0x6d)&0xc0)==0x80) 349 349 ; 350 350 351 - /* now strobe the enable line once */ 352 - cx24110_writereg(state,0x6d,0x32); 353 - cx24110_writereg(state,0x6d,0x30); 351 + /* now strobe the enable line once */ 352 + cx24110_writereg(state,0x6d,0x32); 353 + cx24110_writereg(state,0x6d,0x30); 354 354 355 - return 0; 355 + return 0; 356 356 } 357 357 358 358 static int cx24110_initfe(struct dvb_frontend* fe) 359 359 { 360 360 struct cx24110_state *state = fe->demodulator_priv; 361 361 /* fixme (low): error handling */ 362 - int i; 362 + int i; 363 363 364 364 dprintk("%s: init chip\n", __FUNCTION__); 365 365 366 - for(i=0;i<sizeof(cx24110_regdata)/sizeof(cx24110_regdata[0]);i++) { 366 + for(i=0;i<sizeof(cx24110_regdata)/sizeof(cx24110_regdata[0]);i++) { 367 367 cx24110_writereg(state, cx24110_regdata[i].reg, cx24110_regdata[i].data); 368 - }; 368 + }; 369 369 370 370 if (state->config->pll_init) state->config->pll_init(fe); 371 371
+13 -13
drivers/media/dvb/frontends/l64781.c
··· 2 2 driver for LSI L64781 COFDM demodulator 3 3 4 4 Copyright (C) 2001 Holger Waechtler for Convergence Integrated Media GmbH 5 - Marko Kohtala <marko.kohtala@luukku.com> 5 + Marko Kohtala <marko.kohtala@luukku.com> 6 6 7 7 This program is free software; you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by ··· 433 433 { 434 434 struct l64781_state* state = fe->demodulator_priv; 435 435 436 - reset_and_configure (state); 436 + reset_and_configure (state); 437 437 438 438 /* Power up */ 439 439 l64781_writereg (state, 0x3e, 0xa5); ··· 456 456 l64781_writereg (state, 0x0d, 0x8c); 457 457 458 458 /* With ppm=8000, it seems the DTR_SENSITIVITY will result in 459 - value of 2 with all possible bandwidths and guard 460 - intervals, which is the initial value anyway. */ 461 - /*l64781_writereg (state, 0x19, 0x92);*/ 459 + value of 2 with all possible bandwidths and guard 460 + intervals, which is the initial value anyway. */ 461 + /*l64781_writereg (state, 0x19, 0x92);*/ 462 462 463 463 /* Everything is two's complement, soft bit and CSI_OUT too */ 464 464 l64781_writereg (state, 0x1e, 0x09); ··· 477 477 static int l64781_get_tune_settings(struct dvb_frontend* fe, 478 478 struct dvb_frontend_tune_settings* fesettings) 479 479 { 480 - fesettings->min_delay_ms = 4000; 481 - fesettings->step_size = 0; 482 - fesettings->max_drift = 0; 483 - return 0; 480 + fesettings->min_delay_ms = 4000; 481 + fesettings->step_size = 0; 482 + fesettings->max_drift = 0; 483 + return 0; 484 484 } 485 485 486 486 static void l64781_release(struct dvb_frontend* fe) ··· 522 522 523 523 /* The chip always responds to reads */ 524 524 if (i2c_transfer(state->i2c, msg, 2) != 2) { 525 - dprintk("No response to read on I2C bus\n"); 525 + dprintk("No response to read on I2C bus\n"); 526 526 goto error; 527 527 } 528 528 ··· 531 531 532 532 /* Reading the POWER_DOWN register always returns 0 */ 533 533 if (reg0x3e != 0) { 534 - dprintk("Device doesn't look like L64781\n"); 534 + dprintk("Device doesn't look like L64781\n"); 535 535 goto error; 536 536 } 537 537 ··· 540 540 541 541 /* Responds to all reads with 0 */ 542 542 if (l64781_readreg(state, 0x1a) != 0) { 543 - dprintk("Read 1 returned unexpcted value\n"); 543 + dprintk("Read 1 returned unexpcted value\n"); 544 544 goto error; 545 545 } 546 546 ··· 549 549 550 550 /* Responds with register default value */ 551 551 if (l64781_readreg(state, 0x1a) != 0xa1) { 552 - dprintk("Read 2 returned unexpcted value\n"); 552 + dprintk("Read 2 returned unexpcted value\n"); 553 553 goto error; 554 554 } 555 555
+1 -1
drivers/media/dvb/frontends/l64781.h
··· 2 2 driver for LSI L64781 COFDM demodulator 3 3 4 4 Copyright (C) 2001 Holger Waechtler for Convergence Integrated Media GmbH 5 - Marko Kohtala <marko.kohtala@luukku.com> 5 + Marko Kohtala <marko.kohtala@luukku.com> 6 6 7 7 This program is free software; you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by
+4 -4
drivers/media/dvb/frontends/lgdt330x.c
··· 301 301 static u8 lgdt3303_8vsb_44_data[] = { 302 302 0x04, 0x00, 303 303 0x0d, 0x40, 304 - 0x0e, 0x87, 305 - 0x0f, 0x8e, 306 - 0x10, 0x01, 307 - 0x47, 0x8b }; 304 + 0x0e, 0x87, 305 + 0x0f, 0x8e, 306 + 0x10, 0x01, 307 + 0x47, 0x8b }; 308 308 309 309 /* 310 310 * Array of byte pairs <address, value>
+2 -2
drivers/media/dvb/frontends/mt312.c
··· 554 554 if ((ret = mt312_write(state, SYM_RATE_H, buf, sizeof(buf))) < 0) 555 555 return ret; 556 556 557 - mt312_reset(state, 0); 557 + mt312_reset(state, 0); 558 558 559 559 return 0; 560 560 } ··· 695 695 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | 696 696 FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | 697 697 FE_CAN_FEC_AUTO | FE_CAN_QPSK | FE_CAN_MUTE_TS | 698 - FE_CAN_RECOVER 698 + FE_CAN_RECOVER 699 699 }, 700 700 701 701 .release = mt312_release,
+3 -3
drivers/media/dvb/frontends/nxt2002.c
··· 527 527 else 528 528 snrdb = 1000*0 + ( 1000*(12-0) * ( temp2 - 0 ) / ( 0x7C00 - 0 ) ); 529 529 530 - /* the value reported back from the frontend will be FFFF=32db 0000=0db */ 530 + /* the value reported back from the frontend will be FFFF=32db 0000=0db */ 531 531 532 532 *snr = snrdb * (0xFFFF/32000); 533 533 ··· 646 646 memcpy(&state->ops, &nxt2002_ops, sizeof(struct dvb_frontend_ops)); 647 647 state->initialised = 0; 648 648 649 - /* Check the first 5 registers to ensure this a revision we can handle */ 649 + /* Check the first 5 registers to ensure this a revision we can handle */ 650 650 651 651 i2c_readbytes(state, 0x00, buf, 5); 652 652 if (buf[0] != 0x04) goto error; /* device id */ ··· 672 672 .type = FE_ATSC, 673 673 .frequency_min = 54000000, 674 674 .frequency_max = 860000000, 675 - /* stepsize is just a guess */ 675 + /* stepsize is just a guess */ 676 676 .frequency_stepsize = 166666, 677 677 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 678 678 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
+2 -2
drivers/media/dvb/frontends/nxt200x.c
··· 339 339 switch (state->demod_chip) { 340 340 case NXT2004: 341 341 if (i2c_writebytes(state, state->config->pll_address, data, 4)) 342 - printk(KERN_WARNING "nxt200x: error writing to tuner\n"); 342 + printk(KERN_WARNING "nxt200x: error writing to tuner\n"); 343 343 /* wait until we have a lock */ 344 344 while (count < 20) { 345 345 i2c_readbytes(state, state->config->pll_address, &buf, 1); ··· 497 497 498 498 /* calculate firmware CRC */ 499 499 for (position = 0; position < fw->size; position++) { 500 - crc = nxt200x_crc(crc, fw->data[position]); 500 + crc = nxt200x_crc(crc, fw->data[position]); 501 501 } 502 502 503 503 buf[0] = rambase >> 8;
+5 -5
drivers/media/dvb/frontends/nxt6000.c
··· 574 574 .symbol_rate_max = 9360000, /* FIXME */ 575 575 .symbol_rate_tolerance = 4000, 576 576 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 577 - FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 | 578 - FE_CAN_FEC_7_8 | FE_CAN_FEC_8_9 | FE_CAN_FEC_AUTO | 579 - FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO | 580 - FE_CAN_TRANSMISSION_MODE_AUTO | FE_CAN_GUARD_INTERVAL_AUTO | 581 - FE_CAN_HIERARCHY_AUTO, 577 + FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 | 578 + FE_CAN_FEC_7_8 | FE_CAN_FEC_8_9 | FE_CAN_FEC_AUTO | 579 + FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO | 580 + FE_CAN_TRANSMISSION_MODE_AUTO | FE_CAN_GUARD_INTERVAL_AUTO | 581 + FE_CAN_HIERARCHY_AUTO, 582 582 }, 583 583 584 584 .release = nxt6000_release,
+1 -1
drivers/media/dvb/frontends/or51132.c
··· 503 503 rcvr_stat = rec_buf[1]; 504 504 usK = (rcvr_stat & 0x10) ? 3 : 0; 505 505 506 - /* The value reported back from the frontend will be FFFF=100% 0000=0% */ 506 + /* The value reported back from the frontend will be FFFF=100% 0000=0% */ 507 507 signal_strength = (((8952 - i20Log10(snr_equ) - usK*100)/3+5)*65535)/1000; 508 508 if (signal_strength > 0xffff) 509 509 *strength = 0xffff;
+3 -3
drivers/media/dvb/frontends/s5h1420.c
··· 494 494 } 495 495 496 496 static void s5h1420_setfec_inversion(struct s5h1420_state* state, 497 - struct dvb_frontend_parameters *p) 497 + struct dvb_frontend_parameters *p) 498 498 { 499 499 u8 inversion = 0; 500 500 ··· 521 521 522 522 case FEC_3_4: 523 523 s5h1420_writereg(state, 0x30, 0x04); 524 - s5h1420_writereg(state, 0x31, 0x12 | inversion); 525 - break; 524 + s5h1420_writereg(state, 0x31, 0x12 | inversion); 525 + break; 526 526 527 527 case FEC_5_6: 528 528 s5h1420_writereg(state, 0x30, 0x08);
+1 -1
drivers/media/dvb/frontends/s5h1420.h
··· 39 39 }; 40 40 41 41 extern struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, 42 - struct i2c_adapter* i2c); 42 + struct i2c_adapter* i2c); 43 43 44 44 #endif // S5H1420_H
+8 -8
drivers/media/dvb/frontends/sp8870.c
··· 67 67 68 68 static int sp8870_writereg (struct sp8870_state* state, u16 reg, u16 data) 69 69 { 70 - u8 buf [] = { reg >> 8, reg & 0xff, data >> 8, data & 0xff }; 70 + u8 buf [] = { reg >> 8, reg & 0xff, data >> 8, data & 0xff }; 71 71 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 4 }; 72 72 int err; 73 73 74 - if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 74 + if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { 75 75 dprintk ("%s: writereg error (err == %i, reg == 0x%02x, data == 0x%02x)\n", __FUNCTION__, err, reg, data); 76 76 return -EREMOTEIO; 77 77 } 78 78 79 - return 0; 79 + return 0; 80 80 } 81 81 82 82 static int sp8870_readreg (struct sp8870_state* state, u16 reg) ··· 305 305 static int sp8870_init (struct dvb_frontend* fe) 306 306 { 307 307 struct sp8870_state* state = fe->demodulator_priv; 308 - const struct firmware *fw = NULL; 308 + const struct firmware *fw = NULL; 309 309 310 310 sp8870_wake_up(state); 311 311 if (state->initialised) return 0; ··· 534 534 535 535 static int sp8870_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 536 536 { 537 - fesettings->min_delay_ms = 350; 538 - fesettings->step_size = 0; 539 - fesettings->max_drift = 0; 540 - return 0; 537 + fesettings->min_delay_ms = 350; 538 + fesettings->step_size = 0; 539 + fesettings->max_drift = 0; 540 + return 0; 541 541 } 542 542 543 543 static void sp8870_release(struct dvb_frontend* fe)
+7 -7
drivers/media/dvb/frontends/sp887x.c
··· 80 80 u8 b1 [2]; 81 81 int ret; 82 82 struct i2c_msg msg[] = {{ .addr = state->config->demod_address, .flags = 0, .buf = b0, .len = 2 }, 83 - { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 2 }}; 83 + { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 2 }}; 84 84 85 85 if ((ret = i2c_transfer(state->i2c, msg, 2)) != 2) { 86 86 printk("%s: readreg error (ret == %i)\n", __FUNCTION__, ret); ··· 498 498 static int sp887x_init(struct dvb_frontend* fe) 499 499 { 500 500 struct sp887x_state* state = fe->demodulator_priv; 501 - const struct firmware *fw = NULL; 501 + const struct firmware *fw = NULL; 502 502 int ret; 503 503 504 504 if (!state->initialised) { ··· 528 528 529 529 static int sp887x_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 530 530 { 531 - fesettings->min_delay_ms = 350; 532 - fesettings->step_size = 166666*2; 533 - fesettings->max_drift = (166666*2)+1; 534 - return 0; 531 + fesettings->min_delay_ms = 350; 532 + fesettings->step_size = 166666*2; 533 + fesettings->max_drift = (166666*2)+1; 534 + return 0; 535 535 } 536 536 537 537 static void sp887x_release(struct dvb_frontend* fe) ··· 581 581 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | 582 582 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | 583 583 FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | 584 - FE_CAN_RECOVER 584 + FE_CAN_RECOVER 585 585 }, 586 586 587 587 .release = sp887x_release,
+18 -18
drivers/media/dvb/frontends/stv0299.c
··· 95 95 96 96 int stv0299_writereg (struct dvb_frontend* fe, u8 reg, u8 data) 97 97 { 98 - struct stv0299_state* state = fe->demodulator_priv; 98 + struct stv0299_state* state = fe->demodulator_priv; 99 99 100 100 return stv0299_writeregI(state, reg, data); 101 101 } ··· 220 220 221 221 static int stv0299_set_symbolrate (struct dvb_frontend* fe, u32 srate) 222 222 { 223 - struct stv0299_state* state = fe->demodulator_priv; 223 + struct stv0299_state* state = fe->demodulator_priv; 224 224 u64 big = srate; 225 225 u32 ratio; 226 226 ··· 271 271 static int stv0299_send_diseqc_msg (struct dvb_frontend* fe, 272 272 struct dvb_diseqc_master_cmd *m) 273 273 { 274 - struct stv0299_state* state = fe->demodulator_priv; 274 + struct stv0299_state* state = fe->demodulator_priv; 275 275 u8 val; 276 276 int i; 277 277 ··· 301 301 302 302 static int stv0299_send_diseqc_burst (struct dvb_frontend* fe, fe_sec_mini_cmd_t burst) 303 303 { 304 - struct stv0299_state* state = fe->demodulator_priv; 304 + struct stv0299_state* state = fe->demodulator_priv; 305 305 u8 val; 306 306 307 307 dprintk ("%s\n", __FUNCTION__); ··· 328 328 329 329 static int stv0299_set_tone (struct dvb_frontend* fe, fe_sec_tone_mode_t tone) 330 330 { 331 - struct stv0299_state* state = fe->demodulator_priv; 331 + struct stv0299_state* state = fe->demodulator_priv; 332 332 u8 val; 333 333 334 334 if (stv0299_wait_diseqc_idle (state, 100) < 0) ··· 350 350 351 351 static int stv0299_set_voltage (struct dvb_frontend* fe, fe_sec_voltage_t voltage) 352 352 { 353 - struct stv0299_state* state = fe->demodulator_priv; 353 + struct stv0299_state* state = fe->demodulator_priv; 354 354 u8 reg0x08; 355 355 u8 reg0x0c; 356 356 ··· 442 442 443 443 static int stv0299_init (struct dvb_frontend* fe) 444 444 { 445 - struct stv0299_state* state = fe->demodulator_priv; 445 + struct stv0299_state* state = fe->demodulator_priv; 446 446 int i; 447 447 448 448 dprintk("stv0299: init chip\n"); ··· 461 461 462 462 static int stv0299_read_status(struct dvb_frontend* fe, fe_status_t* status) 463 463 { 464 - struct stv0299_state* state = fe->demodulator_priv; 464 + struct stv0299_state* state = fe->demodulator_priv; 465 465 466 466 u8 signal = 0xff - stv0299_readreg (state, 0x18); 467 467 u8 sync = stv0299_readreg (state, 0x1b); ··· 489 489 490 490 static int stv0299_read_ber(struct dvb_frontend* fe, u32* ber) 491 491 { 492 - struct stv0299_state* state = fe->demodulator_priv; 492 + struct stv0299_state* state = fe->demodulator_priv; 493 493 494 494 if (state->errmode != STATUS_BER) return 0; 495 495 *ber = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); ··· 499 499 500 500 static int stv0299_read_signal_strength(struct dvb_frontend* fe, u16* strength) 501 501 { 502 - struct stv0299_state* state = fe->demodulator_priv; 502 + struct stv0299_state* state = fe->demodulator_priv; 503 503 504 504 s32 signal = 0xffff - ((stv0299_readreg (state, 0x18) << 8) 505 505 | stv0299_readreg (state, 0x19)); ··· 516 516 517 517 static int stv0299_read_snr(struct dvb_frontend* fe, u16* snr) 518 518 { 519 - struct stv0299_state* state = fe->demodulator_priv; 519 + struct stv0299_state* state = fe->demodulator_priv; 520 520 521 521 s32 xsnr = 0xffff - ((stv0299_readreg (state, 0x24) << 8) 522 522 | stv0299_readreg (state, 0x25)); ··· 528 528 529 529 static int stv0299_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks) 530 530 { 531 - struct stv0299_state* state = fe->demodulator_priv; 531 + struct stv0299_state* state = fe->demodulator_priv; 532 532 533 533 if (state->errmode != STATUS_UCBLOCKS) *ucblocks = 0; 534 534 else *ucblocks = (stv0299_readreg (state, 0x1d) << 8) | stv0299_readreg (state, 0x1e); ··· 538 538 539 539 static int stv0299_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters * p) 540 540 { 541 - struct stv0299_state* state = fe->demodulator_priv; 541 + struct stv0299_state* state = fe->demodulator_priv; 542 542 int invval = 0; 543 543 544 544 dprintk ("%s : FE_SET_FRONTEND\n", __FUNCTION__); ··· 571 571 572 572 static int stv0299_get_frontend(struct dvb_frontend* fe, struct dvb_frontend_parameters * p) 573 573 { 574 - struct stv0299_state* state = fe->demodulator_priv; 574 + struct stv0299_state* state = fe->demodulator_priv; 575 575 s32 derot_freq; 576 576 int invval; 577 577 ··· 596 596 597 597 static int stv0299_sleep(struct dvb_frontend* fe) 598 598 { 599 - struct stv0299_state* state = fe->demodulator_priv; 599 + struct stv0299_state* state = fe->demodulator_priv; 600 600 601 601 stv0299_writeregI(state, 0x02, 0x80); 602 602 state->initialised = 0; ··· 606 606 607 607 static int stv0299_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings) 608 608 { 609 - struct stv0299_state* state = fe->demodulator_priv; 609 + struct stv0299_state* state = fe->demodulator_priv; 610 610 611 611 fesettings->min_delay_ms = state->config->min_delay_ms; 612 612 if (fesettings->parameters.u.qpsk.symbol_rate < 10000000) { ··· 658 658 659 659 /* create dvb_frontend */ 660 660 state->frontend.ops = &state->ops; 661 - state->frontend.demodulator_priv = state; 661 + state->frontend.demodulator_priv = state; 662 662 return &state->frontend; 663 663 664 664 error: ··· 714 714 715 715 MODULE_DESCRIPTION("ST STV0299 DVB Demodulator driver"); 716 716 MODULE_AUTHOR("Ralph Metzler, Holger Waechtler, Peter Schildmann, Felix Domke, " 717 - "Andreas Oberritter, Andrew de Quincey, Kenneth Aafl�y"); 717 + "Andreas Oberritter, Andrew de Quincey, Kenneth Aafl�y"); 718 718 MODULE_LICENSE("GPL"); 719 719 720 720 EXPORT_SYMBOL(stv0299_writereg);
+5 -5
drivers/media/dvb/frontends/tda10021.c
··· 1 1 /* 2 2 TDA10021 - Single Chip Cable Channel Receiver driver module 3 - used on the the Siemens DVB-C cards 3 + used on the the Siemens DVB-C cards 4 4 5 5 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de> 6 6 Copyright (C) 2004 Markus Schulz <msc@antzsystem.de> 7 - Support for TDA10021 7 + Support for TDA10021 8 8 9 9 This program is free software; you can redistribute it and/or modify 10 10 it under the terms of the GNU General Public License as published by ··· 76 76 77 77 static int tda10021_writereg (struct tda10021_state* state, u8 reg, u8 data) 78 78 { 79 - u8 buf[] = { reg, data }; 79 + u8 buf[] = { reg, data }; 80 80 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; 81 - int ret; 81 + int ret; 82 82 83 83 ret = i2c_transfer (state->i2c, &msg, 1); 84 84 if (ret != 1) ··· 95 95 u8 b0 [] = { reg }; 96 96 u8 b1 [] = { 0 }; 97 97 struct i2c_msg msg [] = { { .addr = state->config->demod_address, .flags = 0, .buf = b0, .len = 1 }, 98 - { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 1 } }; 98 + { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b1, .len = 1 } }; 99 99 int ret; 100 100 101 101 ret = i2c_transfer (state->i2c, msg, 2);
+2 -2
drivers/media/dvb/frontends/tda10021.h
··· 1 1 /* 2 2 TDA10021 - Single Chip Cable Channel Receiver driver module 3 - used on the the Siemens DVB-C cards 3 + used on the the Siemens DVB-C cards 4 4 5 5 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de> 6 6 Copyright (C) 2004 Markus Schulz <msc@antzsystem.de> 7 - Support for TDA10021 7 + Support for TDA10021 8 8 9 9 This program is free software; you can redistribute it and/or modify 10 10 it under the terms of the GNU General Public License as published by
+1 -1
drivers/media/dvb/frontends/tda1004x.c
··· 475 475 ret = state->config->request_firmware(fe, &fw, TDA10046_DEFAULT_FIRMWARE); 476 476 if (ret) { 477 477 printk(KERN_ERR "tda1004x: no firmware upload (timeout or file not found?)\n"); 478 - return ret; 478 + return ret; 479 479 } 480 480 tda1004x_write_mask(state, TDA1004X_CONFC4, 8, 8); // going to boot from HOST 481 481 ret = tda1004x_do_upload(state, fw->data, fw->size, TDA10046H_CODE_CPT, TDA10046H_CODE_IN);
+10 -10
drivers/media/dvb/frontends/tda8083.c
··· 66 66 u8 buf [] = { reg, data }; 67 67 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; 68 68 69 - ret = i2c_transfer(state->i2c, &msg, 1); 69 + ret = i2c_transfer(state->i2c, &msg, 1); 70 70 71 - if (ret != 1) 72 - dprintk ("%s: writereg error (reg %02x, ret == %i)\n", 71 + if (ret != 1) 72 + dprintk ("%s: writereg error (reg %02x, ret == %i)\n", 73 73 __FUNCTION__, reg, ret); 74 74 75 - return (ret != 1) ? -1 : 0; 75 + return (ret != 1) ? -1 : 0; 76 76 } 77 77 78 78 static int tda8083_readregs (struct tda8083_state* state, u8 reg1, u8 *b, u8 len) ··· 87 87 dprintk ("%s: readreg error (reg %02x, ret == %i)\n", 88 88 __FUNCTION__, reg1, ret); 89 89 90 - return ret == 2 ? 0 : -1; 90 + return ret == 2 ? 0 : -1; 91 91 } 92 92 93 93 static inline u8 tda8083_readreg (struct tda8083_state* state, u8 reg) ··· 132 132 133 133 static int tda8083_set_symbolrate (struct tda8083_state* state, u32 srate) 134 134 { 135 - u32 ratio; 135 + u32 ratio; 136 136 u32 tmp; 137 137 u8 filter; 138 138 139 139 if (srate > 32000000) 140 - srate = 32000000; 141 - if (srate < 500000) 142 - srate = 500000; 140 + srate = 32000000; 141 + if (srate < 500000) 142 + srate = 500000; 143 143 144 144 filter = 0; 145 145 if (srate < 24000000) ··· 174 174 unsigned long start = jiffies; 175 175 176 176 while (jiffies - start < timeout && 177 - !(tda8083_readreg(state, 0x02) & 0x80)) 177 + !(tda8083_readreg(state, 0x02) & 0x80)) 178 178 { 179 179 msleep(50); 180 180 };
+13 -13
drivers/media/dvb/ttpci/av7110.c
··· 217 217 218 218 dprintk(4, "%p\n",av7110); 219 219 220 - lock_kernel(); 221 - daemonize("arm_mon"); 222 - sigfillset(&current->blocked); 223 - unlock_kernel(); 220 + lock_kernel(); 221 + daemonize("arm_mon"); 222 + sigfillset(&current->blocked); 223 + unlock_kernel(); 224 224 225 225 av7110->arm_thread = current; 226 226 ··· 1535 1535 buf[2] = ((div & 0x18000) >> 10) | 0x95; 1536 1536 buf[3] = (pwr << 6) | 0x30; 1537 1537 1538 - // NOTE: since we're using a prescaler of 2, we set the 1538 + // NOTE: since we're using a prescaler of 2, we set the 1539 1539 // divisor frequency to 62.5kHz and divide by 125 above 1540 1540 1541 1541 if (i2c_transfer (&av7110->i2c_adap, &msg, 1) != 1) ··· 1811 1811 static int philips_cd1516_pll_set(struct dvb_frontend* fe, 1812 1812 struct dvb_frontend_parameters* params) 1813 1813 { 1814 - struct av7110* av7110 = fe->dvb->priv; 1814 + struct av7110* av7110 = fe->dvb->priv; 1815 1815 u32 div; 1816 1816 u32 f = params->frequency; 1817 1817 u8 data[4]; ··· 2202 2202 struct i2c_msg msg[] = { { .addr = 0x50,.flags = 0,.buf = &b,.len = 1 }, 2203 2203 { .addr = 0x50,.flags = I2C_M_RD,.buf = &pwm,.len = 1} }; 2204 2204 2205 - if ((i2c_transfer(&av7110->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 2205 + if ((i2c_transfer(&av7110->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 2206 2206 pwm = 0x48; 2207 2207 2208 2208 return pwm; ··· 2245 2245 } 2246 2246 2247 2247 // Try the grundig 29504-451 2248 - av7110->fe = tda8083_attach(&grundig_29504_451_config, &av7110->i2c_adap); 2248 + av7110->fe = tda8083_attach(&grundig_29504_451_config, &av7110->i2c_adap); 2249 2249 if (av7110->fe) { 2250 2250 av7110->fe->ops->diseqc_send_master_cmd = av7110_diseqc_send_master_cmd; 2251 2251 av7110->fe->ops->diseqc_send_burst = av7110_diseqc_send_burst; ··· 2271 2271 case 0x0001: // Hauppauge/TT Nexus-T premium rev1.X 2272 2272 2273 2273 // ALPS TDLB7 2274 - av7110->fe = sp8870_attach(&alps_tdlb7_config, &av7110->i2c_adap); 2274 + av7110->fe = sp8870_attach(&alps_tdlb7_config, &av7110->i2c_adap); 2275 2275 break; 2276 2276 2277 2277 case 0x0002: // Hauppauge/TT DVB-C premium rev2.X 2278 2278 2279 - av7110->fe = ves1820_attach(&alps_tdbe2_config, &av7110->i2c_adap, read_pwm(av7110)); 2279 + av7110->fe = ves1820_attach(&alps_tdbe2_config, &av7110->i2c_adap, read_pwm(av7110)); 2280 2280 break; 2281 2281 2282 2282 case 0x0006: /* Fujitsu-Siemens DVB-S rev 1.6 */ ··· 2421 2421 2422 2422 dprintk(4, "dev: %p\n", dev); 2423 2423 2424 - /* Set RPS_IRQ to 1 to track rps1 activity. 2425 - * Enabling this won't send any interrupt to PC CPU. 2426 - */ 2424 + /* Set RPS_IRQ to 1 to track rps1 activity. 2425 + * Enabling this won't send any interrupt to PC CPU. 2426 + */ 2427 2427 #define RPS_IRQ 0 2428 2428 2429 2429 if (budgetpatch == 1) {
+10 -10
drivers/media/dvb/ttpci/av7110_hw.c
··· 1203 1203 1204 1204 int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap) 1205 1205 { 1206 - switch (cap->cmd) { 1207 - case OSD_CAP_MEMSIZE: 1208 - if (FW_4M_SDRAM(av7110->arm_app)) 1209 - cap->val = 1000000; 1210 - else 1211 - cap->val = 92000; 1212 - return 0; 1213 - default: 1214 - return -EINVAL; 1215 - } 1206 + switch (cap->cmd) { 1207 + case OSD_CAP_MEMSIZE: 1208 + if (FW_4M_SDRAM(av7110->arm_app)) 1209 + cap->val = 1000000; 1210 + else 1211 + cap->val = 92000; 1212 + return 0; 1213 + default: 1214 + return -EINVAL; 1215 + } 1216 1216 } 1217 1217 #endif /* CONFIG_DVB_AV7110_OSD */
+2 -2
drivers/media/dvb/ttpci/av7110_v4l.c
··· 120 120 121 121 static int stv0297_writereg(struct saa7146_dev *dev, u8 addr, u8 reg, u8 data) 122 122 { 123 - u8 buf [] = { reg, data }; 124 - struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = buf, .len = 2 }; 123 + u8 buf [] = { reg, data }; 124 + struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = buf, .len = 2 }; 125 125 126 126 if (1 != saa7146_i2c_transfer(dev, &msg, 1, 1)) 127 127 return -1;
+1 -1
drivers/media/dvb/ttpci/budget-core.c
··· 87 87 * Pitch: 188, NumBytes3: 188, NumLines3: 1024 88 88 */ 89 89 90 - switch(budget->card->type) { 90 + switch(budget->card->type) { 91 91 case BUDGET_FS_ACTIVY: 92 92 saa7146_write(dev, DD1_INIT, 0x04000000); 93 93 saa7146_write(dev, MC2, (MASK_09 | MASK_25));
+162 -162
drivers/media/dvb/ttpci/budget-patch.c
··· 45 45 //MAKE_BUDGET_INFO(satel,"TT-Budget/Patch SATELCO PCI", BUDGET_TT_HW_DISEQC); 46 46 47 47 static struct pci_device_id pci_tbl[] = { 48 - MAKE_EXTENSION_PCI(ttbp,0x13c2, 0x0000), 48 + MAKE_EXTENSION_PCI(ttbp,0x13c2, 0x0000), 49 49 // MAKE_EXTENSION_PCI(satel, 0x13c2, 0x1013), 50 - { 51 - .vendor = 0, 52 - } 50 + { 51 + .vendor = 0, 52 + } 53 53 }; 54 54 55 55 /* those lines are for budget-patch to be tried ··· 165 165 166 166 static int budget_av7110_send_fw_cmd(struct budget_patch *budget, u16* buf, int length) 167 167 { 168 - int i; 168 + int i; 169 169 170 - dprintk(2, "budget: %p\n", budget); 170 + dprintk(2, "budget: %p\n", budget); 171 171 172 - for (i = 2; i < length; i++) 173 - { 174 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2*i, 2, (u32) buf[i], 0,0); 175 - msleep(5); 176 - } 177 - if (length) 178 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, (u32) buf[1], 0,0); 179 - else 180 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, 0, 0,0); 181 - msleep(5); 182 - ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND, 2, (u32) buf[0], 0,0); 183 - msleep(5); 184 - return 0; 172 + for (i = 2; i < length; i++) 173 + { 174 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2*i, 2, (u32) buf[i], 0,0); 175 + msleep(5); 176 + } 177 + if (length) 178 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, (u32) buf[1], 0,0); 179 + else 180 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND + 2, 2, 0, 0,0); 181 + msleep(5); 182 + ttpci_budget_debiwrite(budget, DEBINOSWAP, COMMAND, 2, (u32) buf[0], 0,0); 183 + msleep(5); 184 + return 0; 185 185 } 186 186 187 187 static void av7110_set22k(struct budget_patch *budget, int state) 188 188 { 189 - u16 buf[2] = {( COMTYPE_AUDIODAC << 8) | (state ? ON22K : OFF22K), 0}; 189 + u16 buf[2] = {( COMTYPE_AUDIODAC << 8) | (state ? ON22K : OFF22K), 0}; 190 190 191 - dprintk(2, "budget: %p\n", budget); 192 - budget_av7110_send_fw_cmd(budget, buf, 2); 191 + dprintk(2, "budget: %p\n", budget); 192 + budget_av7110_send_fw_cmd(budget, buf, 2); 193 193 } 194 194 195 195 static int av7110_send_diseqc_msg(struct budget_patch *budget, int len, u8 *msg, int burst) 196 196 { 197 - int i; 198 - u16 buf[18] = { ((COMTYPE_AUDIODAC << 8) | SendDiSEqC), 199 - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 197 + int i; 198 + u16 buf[18] = { ((COMTYPE_AUDIODAC << 8) | SendDiSEqC), 199 + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 200 200 201 - dprintk(2, "budget: %p\n", budget); 201 + dprintk(2, "budget: %p\n", budget); 202 202 203 - if (len>10) 204 - len=10; 203 + if (len>10) 204 + len=10; 205 205 206 - buf[1] = len+2; 207 - buf[2] = len; 206 + buf[1] = len+2; 207 + buf[2] = len; 208 208 209 - if (burst != -1) 210 - buf[3]=burst ? 0x01 : 0x00; 211 - else 212 - buf[3]=0xffff; 209 + if (burst != -1) 210 + buf[3]=burst ? 0x01 : 0x00; 211 + else 212 + buf[3]=0xffff; 213 213 214 - for (i=0; i<len; i++) 215 - buf[i+4]=msg[i]; 214 + for (i=0; i<len; i++) 215 + buf[i+4]=msg[i]; 216 216 217 - budget_av7110_send_fw_cmd(budget, buf, 18); 218 - return 0; 217 + budget_av7110_send_fw_cmd(budget, buf, 18); 218 + return 0; 219 219 } 220 220 221 221 static int budget_patch_set_tone(struct dvb_frontend* fe, fe_sec_tone_mode_t tone) ··· 276 276 buf[2] = ((div & 0x18000) >> 10) | 0x95; 277 277 buf[3] = (pwr << 6) | 0x30; 278 278 279 - // NOTE: since we're using a prescaler of 2, we set the 279 + // NOTE: since we're using a prescaler of 2, we set the 280 280 // divisor frequency to 62.5kHz and divide by 125 above 281 281 282 282 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO; ··· 294 294 0x01, 0x15, 295 295 0x02, 0x00, 296 296 0x03, 0x00, 297 - 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 297 + 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 298 298 0x05, 0x35, /* I2CT = 0, SCLT = 1, SDAT = 1 */ 299 299 0x06, 0x40, /* DAC not used, set to high impendance mode */ 300 300 0x07, 0x00, /* DAC LSB */ ··· 413 413 { 414 414 switch(budget->dev->pci->subsystem_device) { 415 415 case 0x0000: // Hauppauge/TT WinTV DVB-S rev1.X 416 - case 0x1013: // SATELCO Multimedia PCI 416 + case 0x1013: // SATELCO Multimedia PCI 417 417 418 418 // try the ALPS BSRV2 first of all 419 419 budget->dvb_frontend = ves1x93_attach(&alps_bsrv2_config, &budget->i2c_adap); ··· 463 463 /* written by Emard */ 464 464 static int budget_patch_attach (struct saa7146_dev* dev, struct saa7146_pci_extension_data *info) 465 465 { 466 - struct budget_patch *budget; 467 - int err; 466 + struct budget_patch *budget; 467 + int err; 468 468 int count = 0; 469 469 int detected = 0; 470 470 ··· 472 472 #define RPS_IRQ 0 473 473 #define HPS_SETUP 0 474 474 #if PATCH_RESET 475 - saa7146_write(dev, MC1, MASK_31); 476 - msleep(40); 475 + saa7146_write(dev, MC1, MASK_31); 476 + msleep(40); 477 477 #endif 478 478 #if HPS_SETUP 479 - // initialize registers. Better to have it like this 480 - // than leaving something unconfigured 479 + // initialize registers. Better to have it like this 480 + // than leaving something unconfigured 481 481 saa7146_write(dev, DD1_STREAM_B, 0); 482 482 // port B VSYNC at rising edge 483 483 saa7146_write(dev, DD1_INIT, 0x00000200); // have this in budget-core too! ··· 486 486 // debi config 487 487 // saa7146_write(dev, DEBI_CONFIG, MASK_30|MASK_28|MASK_18); 488 488 489 - // zero all HPS registers 490 - saa7146_write(dev, HPS_H_PRESCALE, 0); // r68 491 - saa7146_write(dev, HPS_H_SCALE, 0); // r6c 492 - saa7146_write(dev, BCS_CTRL, 0); // r70 493 - saa7146_write(dev, HPS_V_SCALE, 0); // r60 494 - saa7146_write(dev, HPS_V_GAIN, 0); // r64 495 - saa7146_write(dev, CHROMA_KEY_RANGE, 0); // r74 496 - saa7146_write(dev, CLIP_FORMAT_CTRL, 0); // r78 497 - // Set HPS prescaler for port B input 498 - saa7146_write(dev, HPS_CTRL, (1<<30) | (0<<29) | (1<<28) | (0<<12) ); 499 - saa7146_write(dev, MC2, 500 - 0 * (MASK_08 | MASK_24) | // BRS control 501 - 0 * (MASK_09 | MASK_25) | // a 502 - 0 * (MASK_10 | MASK_26) | // b 503 - 1 * (MASK_06 | MASK_22) | // HPS_CTRL1 504 - 1 * (MASK_05 | MASK_21) | // HPS_CTRL2 505 - 0 * (MASK_01 | MASK_15) // DEBI 506 - ); 489 + // zero all HPS registers 490 + saa7146_write(dev, HPS_H_PRESCALE, 0); // r68 491 + saa7146_write(dev, HPS_H_SCALE, 0); // r6c 492 + saa7146_write(dev, BCS_CTRL, 0); // r70 493 + saa7146_write(dev, HPS_V_SCALE, 0); // r60 494 + saa7146_write(dev, HPS_V_GAIN, 0); // r64 495 + saa7146_write(dev, CHROMA_KEY_RANGE, 0); // r74 496 + saa7146_write(dev, CLIP_FORMAT_CTRL, 0); // r78 497 + // Set HPS prescaler for port B input 498 + saa7146_write(dev, HPS_CTRL, (1<<30) | (0<<29) | (1<<28) | (0<<12) ); 499 + saa7146_write(dev, MC2, 500 + 0 * (MASK_08 | MASK_24) | // BRS control 501 + 0 * (MASK_09 | MASK_25) | // a 502 + 0 * (MASK_10 | MASK_26) | // b 503 + 1 * (MASK_06 | MASK_22) | // HPS_CTRL1 504 + 1 * (MASK_05 | MASK_21) | // HPS_CTRL2 505 + 0 * (MASK_01 | MASK_15) // DEBI 506 + ); 507 507 #endif 508 508 // Disable RPS1 and RPS0 509 - saa7146_write(dev, MC1, ( MASK_29 | MASK_28)); 510 - // RPS1 timeout disable 511 - saa7146_write(dev, RPS_TOV1, 0); 509 + saa7146_write(dev, MC1, ( MASK_29 | MASK_28)); 510 + // RPS1 timeout disable 511 + saa7146_write(dev, RPS_TOV1, 0); 512 512 513 513 // code for autodetection 514 514 // will wait for VBI_B event (vertical blank at port B) ··· 521 521 WRITE_RPS1(cpu_to_le32(CMD_UPLOAD | 522 522 MASK_10 | MASK_09 | MASK_08 | MASK_06 | MASK_05 | MASK_04 | MASK_03 | MASK_02 )); 523 523 #endif 524 - WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_VBI_B)); 525 - WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 526 - WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 527 - WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 524 + WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_VBI_B)); 525 + WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 526 + WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 527 + WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 528 528 #if RPS_IRQ 529 - // issue RPS1 interrupt to increment counter 530 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 531 - // at least a NOP is neede between two interrupts 532 - WRITE_RPS1(cpu_to_le32(CMD_NOP)); 533 - // interrupt again 534 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 529 + // issue RPS1 interrupt to increment counter 530 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 531 + // at least a NOP is neede between two interrupts 532 + WRITE_RPS1(cpu_to_le32(CMD_NOP)); 533 + // interrupt again 534 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 535 535 #endif 536 - WRITE_RPS1(cpu_to_le32(CMD_STOP)); 536 + WRITE_RPS1(cpu_to_le32(CMD_STOP)); 537 537 538 538 #if RPS_IRQ 539 - // set event counter 1 source as RPS1 interrupt (0x03) (rE4 p53) 540 - // use 0x03 to track RPS1 interrupts - increase by 1 every gpio3 is toggled 541 - // use 0x15 to track VPE interrupts - increase by 1 every vpeirq() is called 542 - saa7146_write(dev, EC1SSR, (0x03<<2) | 3 ); 543 - // set event counter 1 treshold to maximum allowed value (rEC p55) 544 - saa7146_write(dev, ECT1R, 0x3fff ); 539 + // set event counter 1 source as RPS1 interrupt (0x03) (rE4 p53) 540 + // use 0x03 to track RPS1 interrupts - increase by 1 every gpio3 is toggled 541 + // use 0x15 to track VPE interrupts - increase by 1 every vpeirq() is called 542 + saa7146_write(dev, EC1SSR, (0x03<<2) | 3 ); 543 + // set event counter 1 treshold to maximum allowed value (rEC p55) 544 + saa7146_write(dev, ECT1R, 0x3fff ); 545 545 #endif 546 - // Fix VSYNC level 547 - saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 548 - // Set RPS1 Address register to point to RPS code (r108 p42) 549 - saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 550 - // Enable RPS1, (rFC p33) 551 - saa7146_write(dev, MC1, (MASK_13 | MASK_29 )); 546 + // Fix VSYNC level 547 + saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 548 + // Set RPS1 Address register to point to RPS code (r108 p42) 549 + saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 550 + // Enable RPS1, (rFC p33) 551 + saa7146_write(dev, MC1, (MASK_13 | MASK_29 )); 552 552 553 553 554 - mdelay(50); 555 - saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); 554 + mdelay(50); 555 + saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); 556 556 mdelay(150); 557 557 558 558 ··· 560 560 detected = 1; 561 561 562 562 #if RPS_IRQ 563 - printk("Event Counter 1 0x%04x\n", saa7146_read(dev, EC1R) & 0x3fff ); 563 + printk("Event Counter 1 0x%04x\n", saa7146_read(dev, EC1R) & 0x3fff ); 564 564 #endif 565 565 // Disable RPS1 566 - saa7146_write(dev, MC1, ( MASK_29 )); 566 + saa7146_write(dev, MC1, ( MASK_29 )); 567 567 568 568 if(detected == 0) 569 - printk("budget-patch not detected or saa7146 in non-default state.\n" 570 - "try enabling ressetting of 7146 with MASK_31 in MC1 register\n"); 569 + printk("budget-patch not detected or saa7146 in non-default state.\n" 570 + "try enabling ressetting of 7146 with MASK_31 in MC1 register\n"); 571 571 572 572 else 573 - printk("BUDGET-PATCH DETECTED.\n"); 573 + printk("BUDGET-PATCH DETECTED.\n"); 574 574 575 575 576 576 /* OLD (Original design by Roberto Deza): ··· 641 641 */ 642 642 643 643 // Setup RPS1 "program" (p35) 644 - count = 0; 644 + count = 0; 645 645 646 646 647 - // Wait Source Line Counter Threshold (p36) 648 - WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_HS)); 649 - // Set GPIO3=1 (p42) 650 - WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 651 - WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 652 - WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTHI<<24)); 647 + // Wait Source Line Counter Threshold (p36) 648 + WRITE_RPS1(cpu_to_le32(CMD_PAUSE | EVT_HS)); 649 + // Set GPIO3=1 (p42) 650 + WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 651 + WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 652 + WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTHI<<24)); 653 653 #if RPS_IRQ 654 - // issue RPS1 interrupt 655 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 654 + // issue RPS1 interrupt 655 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 656 656 #endif 657 - // Wait reset Source Line Counter Threshold (p36) 658 - WRITE_RPS1(cpu_to_le32(CMD_PAUSE | RPS_INV | EVT_HS)); 659 - // Set GPIO3=0 (p42) 660 - WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 661 - WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 662 - WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 657 + // Wait reset Source Line Counter Threshold (p36) 658 + WRITE_RPS1(cpu_to_le32(CMD_PAUSE | RPS_INV | EVT_HS)); 659 + // Set GPIO3=0 (p42) 660 + WRITE_RPS1(cpu_to_le32(CMD_WR_REG_MASK | (GPIO_CTRL>>2))); 661 + WRITE_RPS1(cpu_to_le32(GPIO3_MSK)); 662 + WRITE_RPS1(cpu_to_le32(SAA7146_GPIO_OUTLO<<24)); 663 663 #if RPS_IRQ 664 - // issue RPS1 interrupt 665 - WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 664 + // issue RPS1 interrupt 665 + WRITE_RPS1(cpu_to_le32(CMD_INTERRUPT)); 666 666 #endif 667 - // Jump to begin of RPS program (p37) 668 - WRITE_RPS1(cpu_to_le32(CMD_JUMP)); 669 - WRITE_RPS1(cpu_to_le32(dev->d_rps1.dma_handle)); 667 + // Jump to begin of RPS program (p37) 668 + WRITE_RPS1(cpu_to_le32(CMD_JUMP)); 669 + WRITE_RPS1(cpu_to_le32(dev->d_rps1.dma_handle)); 670 670 671 - // Fix VSYNC level 672 - saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 673 - // Set RPS1 Address register to point to RPS code (r108 p42) 674 - saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 675 - // Set Source Line Counter Threshold, using BRS (rCC p43) 676 - // It generates HS event every TS_HEIGHT lines 677 - // this is related to TS_WIDTH set in register 678 - // NUM_LINE_BYTE3 in budget-core.c. If NUM_LINE_BYTE 679 - // low 16 bits are set to TS_WIDTH bytes (TS_WIDTH=2*188 680 - //,then RPS_THRESH1 681 - // should be set to trigger every TS_HEIGHT (512) lines. 682 - // 683 - saa7146_write(dev, RPS_THRESH1, (TS_HEIGHT*1) | MASK_12 ); 671 + // Fix VSYNC level 672 + saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); 673 + // Set RPS1 Address register to point to RPS code (r108 p42) 674 + saa7146_write(dev, RPS_ADDR1, dev->d_rps1.dma_handle); 675 + // Set Source Line Counter Threshold, using BRS (rCC p43) 676 + // It generates HS event every TS_HEIGHT lines 677 + // this is related to TS_WIDTH set in register 678 + // NUM_LINE_BYTE3 in budget-core.c. If NUM_LINE_BYTE 679 + // low 16 bits are set to TS_WIDTH bytes (TS_WIDTH=2*188 680 + //,then RPS_THRESH1 681 + // should be set to trigger every TS_HEIGHT (512) lines. 682 + // 683 + saa7146_write(dev, RPS_THRESH1, (TS_HEIGHT*1) | MASK_12 ); 684 684 685 - // saa7146_write(dev, RPS_THRESH0, ((TS_HEIGHT/2)<<16) |MASK_28| (TS_HEIGHT/2) |MASK_12 ); 686 - // Enable RPS1 (rFC p33) 687 - saa7146_write(dev, MC1, (MASK_13 | MASK_29)); 688 - 689 - 690 - if (!(budget = kmalloc (sizeof(struct budget_patch), GFP_KERNEL))) 691 - return -ENOMEM; 692 - 693 - dprintk(2, "budget: %p\n", budget); 694 - 695 - if ((err = ttpci_budget_init (budget, dev, info, THIS_MODULE))) { 696 - kfree (budget); 697 - return err; 698 - } 685 + // saa7146_write(dev, RPS_THRESH0, ((TS_HEIGHT/2)<<16) |MASK_28| (TS_HEIGHT/2) |MASK_12 ); 686 + // Enable RPS1 (rFC p33) 687 + saa7146_write(dev, MC1, (MASK_13 | MASK_29)); 699 688 700 689 701 - dev->ext_priv = budget; 690 + if (!(budget = kmalloc (sizeof(struct budget_patch), GFP_KERNEL))) 691 + return -ENOMEM; 692 + 693 + dprintk(2, "budget: %p\n", budget); 694 + 695 + if ((err = ttpci_budget_init (budget, dev, info, THIS_MODULE))) { 696 + kfree (budget); 697 + return err; 698 + } 699 + 700 + 701 + dev->ext_priv = budget; 702 702 703 703 budget->dvb_adapter.priv = budget; 704 704 frontend_init(budget); 705 705 706 - return 0; 706 + return 0; 707 707 } 708 708 709 709 static int budget_patch_detach (struct saa7146_dev* dev) 710 710 { 711 - struct budget_patch *budget = (struct budget_patch*) dev->ext_priv; 712 - int err; 711 + struct budget_patch *budget = (struct budget_patch*) dev->ext_priv; 712 + int err; 713 713 714 714 if (budget->dvb_frontend) dvb_unregister_frontend(budget->dvb_frontend); 715 715 716 - err = ttpci_budget_deinit (budget); 716 + err = ttpci_budget_deinit (budget); 717 717 718 - kfree (budget); 718 + kfree (budget); 719 719 720 - return err; 720 + return err; 721 721 } 722 722 723 723 static int __init budget_patch_init(void) ··· 727 727 728 728 static void __exit budget_patch_exit(void) 729 729 { 730 - saa7146_unregister_extension(&budget_extension); 730 + saa7146_unregister_extension(&budget_extension); 731 731 } 732 732 733 733 static struct saa7146_extension budget_extension = { 734 - .name = "budget_patch dvb\0", 735 - .flags = 0, 734 + .name = "budget_patch dvb\0", 735 + .flags = 0, 736 736 737 - .module = THIS_MODULE, 738 - .pci_tbl = pci_tbl, 739 - .attach = budget_patch_attach, 740 - .detach = budget_patch_detach, 737 + .module = THIS_MODULE, 738 + .pci_tbl = pci_tbl, 739 + .attach = budget_patch_attach, 740 + .detach = budget_patch_detach, 741 741 742 - .irq_mask = MASK_10, 743 - .irq_func = ttpci_budget_irq10_handler, 742 + .irq_mask = MASK_10, 743 + .irq_func = ttpci_budget_irq10_handler, 744 744 }; 745 745 746 746 module_init(budget_patch_init); ··· 749 749 MODULE_LICENSE("GPL"); 750 750 MODULE_AUTHOR("Emard, Roberto Deza, Holger Waechtler, Michael Hunold, others"); 751 751 MODULE_DESCRIPTION("Driver for full TS modified DVB-S SAA7146+AV7110 " 752 - "based so-called Budget Patch cards"); 752 + "based so-called Budget Patch cards");
+3 -3
drivers/media/dvb/ttpci/budget.c
··· 256 256 buf[2] = ((div & 0x18000) >> 10) | 0x95; 257 257 buf[3] = (pwr << 6) | 0x30; 258 258 259 - // NOTE: since we're using a prescaler of 2, we set the 259 + // NOTE: since we're using a prescaler of 2, we set the 260 260 // divisor frequency to 62.5kHz and divide by 125 above 261 261 262 262 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO; ··· 565 565 struct i2c_msg msg[] = { { .addr = 0x50,.flags = 0,.buf = &b,.len = 1 }, 566 566 { .addr = 0x50,.flags = I2C_M_RD,.buf = &pwm,.len = 1} }; 567 567 568 - if ((i2c_transfer(&budget->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 568 + if ((i2c_transfer(&budget->i2c_adap, msg, 2) != 2) || (pwm == 0xff)) 569 569 pwm = 0x48; 570 570 571 571 return pwm; ··· 593 593 budget->dvb_frontend = ves1x93_attach(&alps_bsrv2_config, &budget->i2c_adap); 594 594 if (budget->dvb_frontend) { 595 595 budget->dvb_frontend->ops->diseqc_send_master_cmd = budget_diseqc_send_master_cmd; 596 - budget->dvb_frontend->ops->diseqc_send_burst = budget_diseqc_send_burst; 596 + budget->dvb_frontend->ops->diseqc_send_burst = budget_diseqc_send_burst; 597 597 budget->dvb_frontend->ops->set_tone = budget_set_tone; 598 598 break; 599 599 }
+1 -1
drivers/media/dvb/ttpci/budget.h
··· 19 19 #endif 20 20 21 21 #define dprintk(level,args...) \ 22 - do { if ((budget_debug & level)) { printk("%s: %s(): ",__stringify(KBUILD_MODNAME), __FUNCTION__); printk(args); } } while (0) 22 + do { if ((budget_debug & level)) { printk("%s: %s(): ",__stringify(KBUILD_MODNAME), __FUNCTION__); printk(args); } } while (0) 23 23 24 24 struct budget_info { 25 25 char *name;
+1 -1
drivers/media/dvb/ttpci/fdump.c
··· 36 36 } 37 37 38 38 fprintf(fd_out, "\n};\n\n"); 39 - 39 + 40 40 fclose(fd_in); 41 41 fclose(fd_out); 42 42
+19 -19
drivers/media/dvb/ttpci/ttpci-eeprom.c
··· 13 13 Holger Waechtler Convergence 14 14 15 15 Copyright (C) 2002-2003 Ralph Metzler <rjkm@metzlerbros.de> 16 - Metzler Brothers Systementwicklung GbR 16 + Metzler Brothers Systementwicklung GbR 17 17 18 18 This program is free software; you can redistribute it and/or modify 19 19 it under the terms of the GNU General Public License as published by ··· 48 48 49 49 static int check_mac_tt(u8 *buf) 50 50 { 51 - int i; 52 - u16 tmp = 0xffff; 51 + int i; 52 + u16 tmp = 0xffff; 53 53 54 - for (i = 0; i < 8; i++) { 55 - tmp = (tmp << 8) | ((tmp >> 8) ^ buf[i]); 56 - tmp ^= (tmp >> 4) & 0x0f; 57 - tmp ^= (tmp << 12) ^ ((tmp & 0xff) << 5); 58 - } 59 - tmp ^= 0xffff; 60 - return (((tmp >> 8) ^ buf[8]) | ((tmp & 0xff) ^ buf[9])); 54 + for (i = 0; i < 8; i++) { 55 + tmp = (tmp << 8) | ((tmp >> 8) ^ buf[i]); 56 + tmp ^= (tmp >> 4) & 0x0f; 57 + tmp ^= (tmp << 12) ^ ((tmp & 0xff) << 5); 58 + } 59 + tmp ^= 0xffff; 60 + return (((tmp >> 8) ^ buf[8]) | ((tmp & 0xff) ^ buf[9])); 61 61 } 62 62 63 63 static int getmac_tt(u8 * decodedMAC, u8 * encodedMAC) 64 64 { 65 - u8 xor[20] = { 0x72, 0x23, 0x68, 0x19, 0x5c, 0xa8, 0x71, 0x2c, 65 + u8 xor[20] = { 0x72, 0x23, 0x68, 0x19, 0x5c, 0xa8, 0x71, 0x2c, 66 66 0x54, 0xd3, 0x7b, 0xf1, 0x9E, 0x23, 0x16, 0xf6, 67 67 0x1d, 0x36, 0x64, 0x78}; 68 - u8 data[20]; 69 - int i; 68 + u8 data[20]; 69 + int i; 70 70 71 71 /* In case there is a sig check failure have the orig contents available */ 72 72 memcpy(data, encodedMAC, 20); 73 73 74 74 for (i = 0; i < 20; i++) 75 - data[i] ^= xor[i]; 76 - for (i = 0; i < 10; i++) 77 - data[i] = ((data[2 * i + 1] << 8) | data[2 * i]) 75 + data[i] ^= xor[i]; 76 + for (i = 0; i < 10; i++) 77 + data[i] = ((data[2 * i + 1] << 8) | data[2 * i]) 78 78 >> ((data[2 * i + 1] >> 6) & 3); 79 79 80 - if (check_mac_tt(data)) 81 - return -ENODEV; 80 + if (check_mac_tt(data)) 81 + return -ENODEV; 82 82 83 83 decodedMAC[0] = data[2]; decodedMAC[1] = data[1]; decodedMAC[2] = data[0]; 84 84 decodedMAC[3] = data[6]; decodedMAC[4] = data[5]; decodedMAC[5] = data[4]; 85 - return 0; 85 + return 0; 86 86 } 87 87 88 88 static int ttpci_eeprom_read_encodedMAC(struct i2c_adapter *adapter, u8 * encodedMAC)
+62 -62
drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
··· 225 225 226 226 err = ttusb_result(ttusb, b, 0x20); 227 227 228 - /* check if the i2c transaction was successful */ 229 - if ((snd_len != b[5]) || (rcv_len != b[6])) return -EREMOTEIO; 228 + /* check if the i2c transaction was successful */ 229 + if ((snd_len != b[5]) || (rcv_len != b[6])) return -EREMOTEIO; 230 230 231 231 if (rcv_len > 0) { 232 232 ··· 489 489 490 490 static int lnbp21_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage) 491 491 { 492 - struct ttusb* ttusb = (struct ttusb*) fe->dvb->priv; 493 - int ret; 494 - u8 data[1]; 495 - struct i2c_msg msg = { .addr = 0x08, .flags = 0, .buf = data, .len = sizeof(data) }; 492 + struct ttusb* ttusb = (struct ttusb*) fe->dvb->priv; 493 + int ret; 494 + u8 data[1]; 495 + struct i2c_msg msg = { .addr = 0x08, .flags = 0, .buf = data, .len = sizeof(data) }; 496 496 497 - switch(voltage) { 498 - case SEC_VOLTAGE_OFF: 499 - data[0] = 0x00; 500 - break; 501 - case SEC_VOLTAGE_13: 502 - data[0] = 0x44; 503 - break; 504 - case SEC_VOLTAGE_18: 505 - data[0] = 0x4c; 506 - break; 507 - default: 508 - return -EINVAL; 509 - }; 497 + switch(voltage) { 498 + case SEC_VOLTAGE_OFF: 499 + data[0] = 0x00; 500 + break; 501 + case SEC_VOLTAGE_13: 502 + data[0] = 0x44; 503 + break; 504 + case SEC_VOLTAGE_18: 505 + data[0] = 0x4c; 506 + break; 507 + default: 508 + return -EINVAL; 509 + }; 510 510 511 - ret = i2c_transfer(&ttusb->i2c_adap, &msg, 1); 512 - return (ret != 1) ? -EIO : 0; 511 + ret = i2c_transfer(&ttusb->i2c_adap, &msg, 1); 512 + return (ret != 1) ? -EIO : 0; 513 513 } 514 514 515 515 static int ttusb_update_lnb(struct ttusb *ttusb) ··· 1184 1184 }; 1185 1185 1186 1186 static u8 alps_bsbe1_inittab[] = { 1187 - 0x01, 0x15, 1188 - 0x02, 0x30, 1189 - 0x03, 0x00, 1190 - 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 1191 - 0x05, 0x35, /* I2CT = 0, SCLT = 1, SDAT = 1 */ 1192 - 0x06, 0x40, /* DAC not used, set to high impendance mode */ 1193 - 0x07, 0x00, /* DAC LSB */ 1194 - 0x08, 0x40, /* DiSEqC off, LNB power on OP2/LOCK pin on */ 1195 - 0x09, 0x00, /* FIFO */ 1196 - 0x0c, 0x51, /* OP1 ctl = Normal, OP1 val = 1 (LNB Power ON) */ 1197 - 0x0d, 0x82, /* DC offset compensation = ON, beta_agc1 = 2 */ 1198 - 0x0e, 0x23, /* alpha_tmg = 2, beta_tmg = 3 */ 1199 - 0x10, 0x3f, // AGC2 0x3d 1200 - 0x11, 0x84, 1201 - 0x12, 0xb9, 1202 - 0x15, 0xc9, // lock detector threshold 1203 - 0x16, 0x00, 1204 - 0x17, 0x00, 1205 - 0x18, 0x00, 1206 - 0x19, 0x00, 1207 - 0x1a, 0x00, 1208 - 0x1f, 0x50, 1209 - 0x20, 0x00, 1210 - 0x21, 0x00, 1211 - 0x22, 0x00, 1212 - 0x23, 0x00, 1213 - 0x28, 0x00, // out imp: normal out type: parallel FEC mode:0 1214 - 0x29, 0x1e, // 1/2 threshold 1215 - 0x2a, 0x14, // 2/3 threshold 1216 - 0x2b, 0x0f, // 3/4 threshold 1217 - 0x2c, 0x09, // 5/6 threshold 1218 - 0x2d, 0x05, // 7/8 threshold 1219 - 0x2e, 0x01, 1220 - 0x31, 0x1f, // test all FECs 1221 - 0x32, 0x19, // viterbi and synchro search 1222 - 0x33, 0xfc, // rs control 1223 - 0x34, 0x93, // error control 1224 - 0x0f, 0x92, 1225 - 0xff, 0xff 1187 + 0x01, 0x15, 1188 + 0x02, 0x30, 1189 + 0x03, 0x00, 1190 + 0x04, 0x7d, /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */ 1191 + 0x05, 0x35, /* I2CT = 0, SCLT = 1, SDAT = 1 */ 1192 + 0x06, 0x40, /* DAC not used, set to high impendance mode */ 1193 + 0x07, 0x00, /* DAC LSB */ 1194 + 0x08, 0x40, /* DiSEqC off, LNB power on OP2/LOCK pin on */ 1195 + 0x09, 0x00, /* FIFO */ 1196 + 0x0c, 0x51, /* OP1 ctl = Normal, OP1 val = 1 (LNB Power ON) */ 1197 + 0x0d, 0x82, /* DC offset compensation = ON, beta_agc1 = 2 */ 1198 + 0x0e, 0x23, /* alpha_tmg = 2, beta_tmg = 3 */ 1199 + 0x10, 0x3f, // AGC2 0x3d 1200 + 0x11, 0x84, 1201 + 0x12, 0xb9, 1202 + 0x15, 0xc9, // lock detector threshold 1203 + 0x16, 0x00, 1204 + 0x17, 0x00, 1205 + 0x18, 0x00, 1206 + 0x19, 0x00, 1207 + 0x1a, 0x00, 1208 + 0x1f, 0x50, 1209 + 0x20, 0x00, 1210 + 0x21, 0x00, 1211 + 0x22, 0x00, 1212 + 0x23, 0x00, 1213 + 0x28, 0x00, // out imp: normal out type: parallel FEC mode:0 1214 + 0x29, 0x1e, // 1/2 threshold 1215 + 0x2a, 0x14, // 2/3 threshold 1216 + 0x2b, 0x0f, // 3/4 threshold 1217 + 0x2c, 0x09, // 5/6 threshold 1218 + 0x2d, 0x05, // 7/8 threshold 1219 + 0x2e, 0x01, 1220 + 0x31, 0x1f, // test all FECs 1221 + 0x32, 0x19, // viterbi and synchro search 1222 + 0x33, 0xfc, // rs control 1223 + 0x34, 0x93, // error control 1224 + 0x0f, 0x92, 1225 + 0xff, 0xff 1226 1226 }; 1227 1227 1228 1228 static u8 alps_bsru6_inittab[] = { ··· 1350 1350 u32 div; 1351 1351 struct i2c_msg msg = {.addr = 0x61,.flags = 0,.buf = buf,.len = sizeof(buf) }; 1352 1352 1353 - div = params->frequency / 125; 1353 + div = params->frequency / 125; 1354 1354 1355 1355 buf[0] = (div >> 8) & 0x7f; 1356 1356 buf[1] = div & 0xff; ··· 1487 1487 1488 1488 udev = interface_to_usbdev(intf); 1489 1489 1490 - if (intf->altsetting->desc.bInterfaceNumber != 1) return -ENODEV; 1490 + if (intf->altsetting->desc.bInterfaceNumber != 1) return -ENODEV; 1491 1491 1492 1492 if (!(ttusb = kmalloc(sizeof(struct ttusb), GFP_KERNEL))) 1493 1493 return -ENOMEM;
+1638 -1638
drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h
··· 2 2 #include <asm/types.h> 3 3 4 4 static u8 dsp_bootcode [] = { 5 - 0x08, 0xaa, 0x00, 0x18, 0x00, 0x03, 0x08, 0x00, 6 - 0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x18, 0x5f, 7 - 0x00, 0x00, 0x01, 0x80, 0x77, 0x18, 0x2a, 0xeb, 8 - 0x6b, 0xf8, 0x00, 0x18, 0x03, 0xff, 0x68, 0xf8, 9 - 0x00, 0x18, 0xff, 0xfe, 0xf7, 0xb8, 0xf7, 0xbe, 10 - 0xf6, 0xb9, 0xf4, 0xa0, 0xf6, 0xb7, 0xf6, 0xb5, 11 - 0xf6, 0xb6, 0xf0, 0x20, 0x19, 0xdf, 0xf1, 0x00, 12 - 0x00, 0x01, 0xf8, 0x4d, 0x01, 0xab, 0xf6, 0xb8, 13 - 0xf0, 0x20, 0x19, 0xdf, 0xf0, 0x73, 0x01, 0xa5, 14 - 0x7e, 0xf8, 0x00, 0x12, 0xf0, 0x00, 0x00, 0x01, 15 - 0x47, 0xf8, 0x00, 0x11, 0x7e, 0x92, 0x00, 0xf8, 16 - 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x7e, 0xf8, 17 - 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x6c, 0x89, 18 - 0x01, 0x9a, 0xf7, 0xb8, 0xee, 0xfc, 0xf0, 0x20, 19 - 0xff, 0xff, 0xf1, 0x00, 0x00, 0x01, 0xf8, 0x4d, 20 - 0x01, 0xbf, 0xf2, 0x73, 0x01, 0xb9, 0x4e, 0x02, 21 - 0xf4, 0x95, 0xf5, 0xe3, 0x56, 0x02, 0x7e, 0x00, 22 - 0x11, 0x00, 0xfa, 0x4c, 0x01, 0xb7, 0x6b, 0x03, 23 - 0x00, 0x01, 0xf6, 0xb8, 0xee, 0x04, 0xf0, 0x74, 24 - 0x0d, 0xa7, 0xf0, 0x74, 0x01, 0xc5, 0x4a, 0x11, 25 - 0x4a, 0x16, 0x72, 0x11, 0x2a, 0xe6, 0x10, 0xf8, 26 - 0x00, 0x11, 0xfa, 0x45, 0x01, 0xdb, 0xf4, 0x95, 27 - 0xee, 0xff, 0x48, 0x11, 0xf0, 0x00, 0x2a, 0xc6, 28 - 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0xee, 29 - 0xff, 0xff, 0xf4, 0xe3, 0x6c, 0xe9, 0xff, 0xff, 30 - 0x01, 0xd5, 0x10, 0xf8, 0x2a, 0xe7, 0xf8, 0x45, 31 - 0x01, 0xe2, 0x10, 0xf8, 0x2a, 0xe7, 0xf4, 0xe3, 32 - 0xf0, 0x74, 0x01, 0xff, 0xee, 0x01, 0x8a, 0x16, 33 - 0x8a, 0x11, 0xfc, 0x00, 0xf7, 0xb8, 0xe9, 0x20, 34 - 0x4a, 0x11, 0x09, 0xf8, 0x2a, 0xe6, 0xf8, 0x4e, 35 - 0x01, 0xf3, 0xf2, 0x73, 0x01, 0xfd, 0xf4, 0x95, 36 - 0xe8, 0x01, 0x72, 0x11, 0x2a, 0xe6, 0x49, 0x11, 37 - 0x80, 0xe1, 0x2a, 0xc6, 0xf3, 0x00, 0x00, 0x01, 38 - 0xe8, 0x00, 0x81, 0xf8, 0x2a, 0xe6, 0x8a, 0x11, 39 - 0xfc, 0x00, 0xf4, 0x95, 0xf0, 0x73, 0x02, 0x00, 40 - 0x10, 0xf8, 0x2a, 0x0f, 0xfc, 0x00, 0x4a, 0x11, 41 - 0xf0, 0x74, 0x02, 0x02, 0x80, 0xf8, 0x2a, 0x10, 42 - 0x73, 0x08, 0x00, 0x09, 0x40, 0xf8, 0x2a, 0x15, 43 - 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 44 - 0x03, 0xe8, 0xf5, 0xa9, 0xf8, 0x30, 0x02, 0x21, 45 - 0x71, 0xf8, 0x2a, 0x10, 0x2a, 0x15, 0x56, 0xf8, 46 - 0x2a, 0x0c, 0xf0, 0xe3, 0x4e, 0xf8, 0x2a, 0x16, 47 - 0xe8, 0x00, 0x4e, 0xf8, 0x2a, 0x0c, 0x8a, 0x11, 48 - 0xfc, 0x00, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 49 - 0x68, 0xf8, 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 50 - 0x00, 0x07, 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 51 - 0xff, 0xfc, 0x6b, 0xf8, 0x2a, 0x0f, 0x00, 0x01, 52 - 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x06, 0xf4, 0xeb, 53 - 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x0f, 0x00, 0x00, 54 - 0x76, 0x00, 0x00, 0x00, 0xfb, 0x80, 0x19, 0x4c, 55 - 0xf4, 0x95, 0xe8, 0x00, 0x80, 0xf8, 0x2a, 0x11, 56 - 0xf9, 0x80, 0x19, 0x07, 0x80, 0xf8, 0x2a, 0x0e, 57 - 0xf9, 0x80, 0x16, 0x66, 0x76, 0x00, 0x2a, 0x12, 58 - 0x10, 0xf8, 0x2a, 0x11, 0xf9, 0x80, 0x18, 0xe3, 59 - 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x66, 60 - 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x87, 61 - 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf6, 0xb8, 62 - 0xf4, 0x95, 0xf0, 0x20, 0x80, 0x00, 0x11, 0xf8, 63 - 0x2a, 0x5a, 0xf8, 0x4d, 0x02, 0x93, 0x11, 0xf8, 64 - 0x2a, 0x9f, 0xf8, 0x4c, 0x02, 0x7c, 0x77, 0x12, 65 - 0x2a, 0x39, 0x49, 0x12, 0x01, 0xf8, 0x2a, 0x9f, 66 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 67 - 0x00, 0x11, 0x6c, 0xe1, 0xff, 0xab, 0x02, 0x93, 68 - 0x6b, 0xf8, 0x2a, 0x9f, 0x00, 0x01, 0xe9, 0x05, 69 - 0x01, 0xe2, 0x00, 0x03, 0x81, 0xf8, 0x2a, 0xa0, 70 - 0xf0, 0x73, 0x02, 0x95, 0x72, 0x11, 0x2a, 0x9f, 71 - 0xf4, 0x95, 0x10, 0xe1, 0x2a, 0x39, 0x6b, 0xf8, 72 - 0x2a, 0x9f, 0x00, 0x01, 0x11, 0xf8, 0x2a, 0x9f, 73 - 0x09, 0xf8, 0x2a, 0xa0, 0xf8, 0x4c, 0x02, 0x93, 74 - 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 0x76, 0xf8, 75 - 0x2a, 0x9f, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa0, 76 - 0x00, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x48, 0x11, 77 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 78 - 0x10, 0xf8, 0x2a, 0x5a, 0xf8, 0x44, 0x02, 0xb2, 79 - 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x01, 0xf0, 0x74, 80 - 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 81 - 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 0x02, 0xb2, 82 - 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 0x80, 0x00, 83 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0xd6, 84 - 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 85 - 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 86 - 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 87 - 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 88 - 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 89 - 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 90 - 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 91 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 92 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 93 - 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 94 - 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xfd, 95 - 0xf0, 0x74, 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 96 - 0x77, 0x10, 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 97 - 0x02, 0xef, 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 98 - 0x80, 0x00, 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 99 - 0x18, 0xd6, 0xee, 0x03, 0x8a, 0x18, 0xf4, 0x95, 100 - 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 0x8a, 0x1a, 101 - 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 0x8a, 0x19, 102 - 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x15, 103 - 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 0x8a, 0x11, 104 - 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 105 - 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 0xf4, 0xeb, 106 - 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 107 - 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 108 - 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 109 - 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 110 - 0x00, 0x03, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 111 - 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 112 - 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 113 - 0xf4, 0x95, 0x10, 0x81, 0x6f, 0xf8, 0x2a, 0x9e, 114 - 0x0c, 0x88, 0xe8, 0xff, 0x18, 0xe1, 0x00, 0x01, 115 - 0x1a, 0xf8, 0x2a, 0x9e, 0xf0, 0x30, 0x1f, 0xff, 116 - 0x80, 0xf8, 0x2a, 0x9e, 0x8a, 0x11, 0xfc, 0x00, 117 - 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 118 - 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x11, 0xe2, 119 - 0x00, 0x01, 0x81, 0xe1, 0x00, 0x01, 0x11, 0xe2, 120 - 0x00, 0x02, 0x81, 0xe1, 0x00, 0x02, 0x76, 0xe1, 121 - 0x00, 0x03, 0x00, 0x02, 0x48, 0x08, 0x6f, 0xe1, 122 - 0x00, 0x04, 0x0c, 0x98, 0xf0, 0x30, 0x00, 0xff, 123 - 0x80, 0xe1, 0x00, 0x05, 0x76, 0xe1, 0x00, 0x06, 124 - 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 125 - 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 126 - 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 127 - 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 128 - 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 129 - 0x76, 0xe1, 0x00, 0x03, 0x00, 0x04, 0x48, 0x11, 130 - 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 0xf4, 0x95, 131 - 0x77, 0x13, 0x2a, 0x76, 0xe9, 0x00, 0xe5, 0x98, 132 - 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 0x48, 0x0b, 133 - 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x03, 0x71, 134 - 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 135 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xf0, 136 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 137 - 0x00, 0x14, 0x71, 0xe1, 0x00, 0x01, 0x00, 0x15, 138 - 0x49, 0x11, 0xf3, 0x00, 0x00, 0x02, 0x89, 0x11, 139 - 0xe7, 0x82, 0x6d, 0xea, 0x00, 0x04, 0xe7, 0x83, 140 - 0x6d, 0xeb, 0x00, 0x0a, 0x77, 0x1a, 0x00, 0x05, 141 - 0xf0, 0x72, 0x03, 0xaa, 0x11, 0x81, 0xf2, 0xe8, 142 - 0x80, 0x82, 0xe9, 0xff, 0x19, 0xe1, 0x00, 0x01, 143 - 0xf1, 0xa0, 0x81, 0x92, 0x11, 0xe1, 0x00, 0x0c, 144 - 0xf2, 0xe8, 0x80, 0x83, 0xe9, 0xff, 0x19, 0xe1, 145 - 0x00, 0x0d, 0xf1, 0xa0, 0x81, 0x93, 0x6d, 0xe9, 146 - 0x00, 0x02, 0x48, 0x18, 0x49, 0x18, 0x70, 0x00, 147 - 0x00, 0x15, 0xf0, 0x00, 0x00, 0x04, 0xf3, 0x00, 148 - 0x00, 0x0a, 0x80, 0x01, 0x81, 0x02, 0xf2, 0x74, 149 - 0x0e, 0x54, 0xf4, 0x95, 0x48, 0x14, 0xee, 0x10, 150 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf0, 0x74, 151 - 0x0c, 0x5e, 0x80, 0xf8, 0x2a, 0x5c, 0x77, 0x12, 152 - 0x2a, 0x39, 0x76, 0x82, 0x00, 0x55, 0x77, 0x11, 153 - 0x2a, 0x18, 0x10, 0xe1, 0x00, 0x01, 0x80, 0xe2, 154 - 0x00, 0x01, 0x10, 0xe1, 0x00, 0x02, 0x80, 0xe2, 155 - 0x00, 0x02, 0x76, 0xe2, 0x00, 0x03, 0x00, 0x1c, 156 - 0xf6, 0xb8, 0x56, 0xf8, 0x2a, 0x16, 0xf0, 0xf0, 157 - 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x07, 0x56, 0xf8, 158 - 0x2a, 0x16, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 159 - 0x80, 0xe2, 0x00, 0x06, 0x56, 0xf8, 0x2a, 0x16, 160 - 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 161 - 0x00, 0x05, 0x57, 0xf8, 0x2a, 0x16, 0xe8, 0xff, 162 - 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x04, 0x56, 0xf8, 163 - 0x27, 0x6c, 0xf0, 0xf0, 0xf0, 0xf8, 0x80, 0xe2, 164 - 0x00, 0x0b, 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf0, 165 - 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0a, 166 - 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf8, 0xe8, 0xff, 167 - 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x09, 0xe8, 0xff, 168 - 0x57, 0xf8, 0x27, 0x6c, 0xf2, 0x80, 0x80, 0xe2, 169 - 0x00, 0x08, 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0xf0, 170 - 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x0f, 0x56, 0xf8, 171 - 0x27, 0x6a, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 172 - 0x80, 0xe2, 0x00, 0x0e, 0x56, 0xf8, 0x27, 0x6a, 173 - 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 174 - 0x00, 0x0d, 0x57, 0xf8, 0x27, 0x6a, 0xe8, 0xff, 175 - 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0c, 0x76, 0xe2, 176 - 0x00, 0x13, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x12, 177 - 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x5c, 0x0c, 0x58, 178 - 0x80, 0xe2, 0x00, 0x11, 0xe8, 0xff, 0x18, 0xf8, 179 - 0x2a, 0x5c, 0x80, 0xe2, 0x00, 0x10, 0x76, 0xe2, 180 - 0x00, 0x17, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x16, 181 - 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x9e, 0x0c, 0x58, 182 - 0x80, 0xe2, 0x00, 0x15, 0xe8, 0xff, 0x18, 0xf8, 183 - 0x2a, 0x9e, 0x80, 0xe2, 0x00, 0x14, 0x76, 0xe2, 184 - 0x00, 0x1b, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1a, 185 - 0x00, 0x00, 0x76, 0xe2, 0x00, 0x19, 0x00, 0x00, 186 - 0x70, 0xe2, 0x00, 0x18, 0x27, 0x6e, 0x76, 0xe2, 187 - 0x00, 0x1f, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1e, 188 - 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1d, 0x00, 0x00, 189 - 0x76, 0xe2, 0x00, 0x1c, 0x00, 0x00, 0x76, 0xe2, 190 - 0x00, 0x20, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 191 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 192 - 0x10, 0xf8, 0x2a, 0x38, 0xf8, 0x45, 0x04, 0xed, 193 - 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x02, 194 - 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x08, 195 - 0x6d, 0xe9, 0xff, 0xdf, 0xf6, 0xa9, 0xf8, 0x20, 196 - 0x04, 0x75, 0xf0, 0x73, 0x04, 0x7d, 0xf0, 0x10, 197 - 0x00, 0x21, 0xf0, 0x00, 0x1a, 0x83, 0x48, 0x08, 198 - 0x7e, 0xf8, 0x00, 0x08, 0xf4, 0xe2, 0xf0, 0x74, 199 - 0x03, 0x0a, 0xf0, 0x73, 0x04, 0xea, 0x48, 0x12, 200 - 0xf2, 0x74, 0x03, 0x23, 0xf0, 0x00, 0x00, 0x04, 201 - 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 202 - 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 203 - 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 204 - 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x69, 205 - 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 206 - 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 207 - 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 208 - 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x41, 209 - 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 210 - 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0x57, 211 - 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 0x2a, 0x1c, 212 - 0xf0, 0x74, 0x12, 0xa4, 0xf2, 0x74, 0x03, 0x36, 213 - 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 214 - 0x48, 0x12, 0xf2, 0x74, 0x03, 0x80, 0xf0, 0x00, 215 - 0x00, 0x04, 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 216 - 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 217 - 0x2a, 0x1c, 0xf0, 0x74, 0x12, 0xc5, 0xf2, 0x74, 218 - 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 219 - 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 0xe8, 0xff, 220 - 0x6f, 0xe1, 0x00, 0x06, 0x0d, 0x48, 0x18, 0xe1, 221 - 0x00, 0x07, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 222 - 0xf2, 0xa0, 0x70, 0x00, 0x00, 0x12, 0x80, 0x01, 223 - 0x10, 0xe1, 0x00, 0x04, 0xf0, 0x74, 0x0e, 0x7a, 224 - 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 225 - 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0xbc, 226 - 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x00, 0xee, 0x02, 227 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 228 - 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 229 - 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 230 - 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 231 - 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x09, 232 - 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 233 - 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x86, 0xe9, 0x00, 234 - 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 235 - 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 236 - 0x05, 0x0a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 237 - 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 238 - 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 239 - 0x77, 0x13, 0x2a, 0x18, 0x10, 0xe3, 0x00, 0x01, 240 - 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe3, 0x00, 0x02, 241 - 0x80, 0xe1, 0x00, 0x02, 0x13, 0xe3, 0x00, 0x03, 242 - 0x81, 0xe1, 0x00, 0x03, 0x48, 0x11, 0x77, 0x11, 243 - 0x00, 0x00, 0xf8, 0x4d, 0x05, 0x44, 0xf0, 0x00, 244 - 0x00, 0x04, 0x88, 0x12, 0x48, 0x13, 0xf0, 0x00, 245 - 0x00, 0x04, 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 246 - 0xe5, 0x98, 0x6d, 0x91, 0xf6, 0xb8, 0x48, 0x11, 247 - 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x05, 0x3a, 248 - 0xf0, 0x20, 0x2a, 0x39, 0x49, 0x11, 0xf5, 0x00, 249 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x76, 0xe1, 250 - 0x00, 0x04, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 251 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 252 - 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 253 - 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 254 - 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 255 - 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x0c, 256 - 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 257 - 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x7a, 0xe9, 0x00, 258 - 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 259 - 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 260 - 0x05, 0x6a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 261 - 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 262 - 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 263 - 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 264 - 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 265 - 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 266 - 0x00, 0x19, 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 267 - 0x88, 0x12, 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x5d, 268 - 0xe9, 0x00, 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 269 - 0xf6, 0xb8, 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 270 - 0xf8, 0x43, 0x05, 0x93, 0x76, 0x82, 0x00, 0xaa, 271 - 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 272 - 0x4a, 0x11, 0x88, 0x11, 0x10, 0xf8, 0x2a, 0x38, 273 - 0xf8, 0x44, 0x05, 0xe3, 0x10, 0xf8, 0x2a, 0xa1, 274 - 0xf8, 0x44, 0x05, 0xba, 0x6c, 0xe1, 0xff, 0x56, 275 - 0x05, 0xe3, 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 276 - 0x70, 0xe2, 0x2a, 0x18, 0x00, 0x11, 0x6b, 0xf8, 277 - 0x2a, 0xa1, 0x00, 0x01, 0xf0, 0x73, 0x05, 0xe3, 278 - 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 0x70, 0xe2, 279 - 0x2a, 0x18, 0x00, 0x11, 0x10, 0xf8, 0x2a, 0xa1, 280 - 0xf0, 0x00, 0x00, 0x01, 0x88, 0x12, 0xf4, 0x95, 281 - 0xf4, 0x95, 0x6e, 0xe2, 0xff, 0xfc, 0x05, 0xd1, 282 - 0x73, 0x12, 0x2a, 0xa1, 0x48, 0x11, 0xf0, 0x00, 283 - 0x00, 0x05, 0x80, 0xf8, 0x2a, 0xa2, 0x10, 0xf8, 284 - 0x2a, 0xa1, 0x08, 0xf8, 0x2a, 0xa2, 0xf8, 0x44, 285 - 0x05, 0xe3, 0x6c, 0xe1, 0xff, 0xab, 0x05, 0xdd, 286 - 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x01, 0x76, 0xf8, 287 - 0x2a, 0xa1, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa2, 288 - 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 289 - 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 290 - 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 291 - 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 292 - 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 293 - 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 294 - 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 295 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 296 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 297 - 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 298 - 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xff, 299 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0x04, 300 - 0xf0, 0x74, 0x05, 0xa2, 0xee, 0x01, 0x8a, 0x18, 301 - 0xf4, 0x95, 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 302 - 0x8a, 0x1a, 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 303 - 0x8a, 0x19, 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 304 - 0x8a, 0x15, 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 305 - 0x8a, 0x11, 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 306 - 0x8a, 0x0b, 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 307 - 0xf4, 0xeb, 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x38, 308 - 0x00, 0x00, 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 309 - 0xe8, 0x01, 0x4e, 0x00, 0xfb, 0x80, 0x17, 0xd6, 310 - 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x2a, 0x5b, 311 - 0x76, 0x00, 0x2a, 0x8f, 0xf9, 0x80, 0x16, 0xaa, 312 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x5c, 313 - 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x6f, 314 - 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1a, 315 - 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1a, 316 - 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1b, 317 - 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1b, 318 - 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 319 - 0x13, 0x02, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 320 - 0x06, 0x6a, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 321 - 0xf4, 0x95, 0xf0, 0x72, 0x06, 0x69, 0x1c, 0x91, 322 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 323 - 0x12, 0x03, 0x11, 0x02, 0xf8, 0x45, 0x06, 0x79, 324 - 0xf0, 0x10, 0x00, 0x01, 0x88, 0x1a, 0xf4, 0x95, 325 - 0xf0, 0x72, 0x06, 0x78, 0x81, 0x91, 0x8a, 0x11, 326 - 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 327 - 0x00, 0x11, 0x11, 0x03, 0x61, 0xf8, 0x00, 0x11, 328 - 0x00, 0x01, 0xf8, 0x30, 0x06, 0x91, 0xf6, 0xb8, 329 - 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 330 - 0xf3, 0xe8, 0xe8, 0xff, 0x18, 0x81, 0xf1, 0xa0, 331 - 0x81, 0x81, 0xf0, 0x73, 0x06, 0x9d, 0xf6, 0xb8, 332 - 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 333 - 0xf3, 0x30, 0x00, 0xff, 0xf0, 0x20, 0xff, 0x00, 334 - 0x18, 0x81, 0xf1, 0xa0, 0x81, 0x81, 0x8a, 0x11, 335 - 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x11, 0x02, 336 - 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 337 - 0x06, 0xb1, 0x49, 0x0b, 0xf6, 0x1f, 0x88, 0x11, 338 - 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf2, 0x73, 339 - 0x06, 0xb8, 0xf0, 0x30, 0x00, 0xff, 0x49, 0x0b, 340 - 0xf6, 0x1f, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 341 - 0x12, 0x81, 0xf4, 0x78, 0x8a, 0x11, 0xfc, 0x00, 342 - 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x12, 343 - 0x13, 0x03, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 344 - 0x06, 0xcc, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 345 - 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xcb, 0x11, 0x92, 346 - 0xf2, 0xc0, 0x81, 0x91, 0x8a, 0x11, 0xfc, 0x00, 347 - 0x88, 0x12, 0x12, 0x02, 0x71, 0x01, 0x00, 0x13, 348 - 0xf8, 0x45, 0x06, 0xdb, 0xf0, 0x10, 0x00, 0x01, 349 - 0x88, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xda, 350 - 0xe5, 0x98, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 351 - 0x88, 0x11, 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 352 - 0x00, 0x12, 0x61, 0xf8, 0x00, 0x12, 0x00, 0x01, 353 - 0xf8, 0x20, 0x06, 0xea, 0xf0, 0x00, 0x00, 0x01, 354 - 0xf6, 0xb8, 0xf0, 0x00, 0x00, 0x01, 0x6f, 0xf8, 355 - 0x00, 0x12, 0x0f, 0x1f, 0x48, 0x08, 0x81, 0x00, 356 - 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xba, 357 - 0xf4, 0x95, 0x48, 0x11, 0xee, 0x02, 0x8a, 0x11, 358 - 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x88, 0x12, 359 - 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 0x00, 0x13, 360 - 0x61, 0xf8, 0x00, 0x13, 0x00, 0x01, 0xf8, 0x20, 361 - 0x07, 0x09, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 362 - 0x00, 0x01, 0x88, 0x11, 0xf6, 0xb8, 0x6f, 0xf8, 363 - 0x00, 0x13, 0x0f, 0x1f, 0x81, 0x00, 0x48, 0x11, 364 - 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xce, 365 - 0xf4, 0x95, 0x48, 0x12, 0x48, 0x11, 0xf0, 0x30, 366 - 0xff, 0xfe, 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 367 - 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xfc, 368 - 0xf4, 0x95, 0x80, 0x02, 0x71, 0x08, 0x00, 0x16, 369 - 0x10, 0x09, 0x71, 0x0b, 0x00, 0x17, 0x80, 0x03, 370 - 0x71, 0x0a, 0x00, 0x11, 0x48, 0x17, 0xf8, 0x45, 371 - 0x07, 0x3f, 0x70, 0x00, 0x00, 0x11, 0x10, 0x03, 372 - 0xf0, 0x74, 0x06, 0x9f, 0x80, 0x01, 0x70, 0x00, 373 - 0x00, 0x16, 0x10, 0x02, 0xf0, 0x74, 0x06, 0x7b, 374 - 0x6d, 0x91, 0x6d, 0x96, 0x6c, 0xef, 0xff, 0xff, 375 - 0x07, 0x2f, 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 376 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 377 - 0x10, 0xf8, 0x2a, 0xe8, 0x08, 0xf8, 0x2a, 0xe9, 378 - 0xf8, 0x45, 0x07, 0x64, 0x76, 0x00, 0x00, 0x01, 379 - 0x62, 0xf8, 0x2a, 0xe9, 0x00, 0x5e, 0xf2, 0x74, 380 - 0x12, 0x0b, 0xf0, 0x00, 0x30, 0x40, 0x72, 0x11, 381 - 0x2a, 0xe9, 0x77, 0x10, 0x00, 0x0f, 0xf5, 0xa9, 382 - 0xf8, 0x20, 0x07, 0x61, 0x6b, 0xf8, 0x2a, 0xe9, 383 - 0x00, 0x01, 0xf0, 0x73, 0x07, 0x64, 0x76, 0xf8, 384 - 0x2a, 0xe9, 0x00, 0x00, 0xee, 0x02, 0x8a, 0x11, 385 - 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xe8, 0x00, 386 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x08, 0xe8, 0x00, 387 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x09, 0xf6, 0xb8, 388 - 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 0x75, 0xf8, 389 - 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 0x0c, 0x30, 390 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 0x76, 0xf8, 391 - 0x2a, 0xe8, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xe9, 392 - 0x00, 0x00, 0x6c, 0x81, 0x07, 0x92, 0x76, 0xf8, 393 - 0x2a, 0xea, 0x00, 0x00, 0xfb, 0x80, 0x16, 0x76, 394 - 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 0x75, 0xf8, 395 - 0x00, 0x08, 0x00, 0x00, 0xf0, 0x73, 0x07, 0xa8, 396 - 0x76, 0xf8, 0x2a, 0xea, 0x00, 0x01, 0xfb, 0x80, 397 - 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x10, 0xfb, 0x80, 398 - 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 399 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0xf6, 0xb8, 400 - 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 0x75, 0xf8, 401 - 0x00, 0x08, 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 402 - 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 403 - 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 404 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 405 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 406 - 0x10, 0xf8, 0x2a, 0xea, 0xf8, 0x45, 0x07, 0xe1, 407 - 0x10, 0xf8, 0x2a, 0xe8, 0xf0, 0x00, 0x00, 0x01, 408 - 0xf0, 0x30, 0x00, 0x0f, 0x80, 0xf8, 0x2a, 0xe8, 409 - 0x10, 0xf8, 0x2a, 0xe8, 0xf8, 0x44, 0x07, 0xd6, 410 - 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 411 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 412 - 0x0c, 0x30, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 413 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 414 - 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 415 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0x8a, 0x1d, 416 - 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0a, 0x8a, 0x09, 417 - 0x8a, 0x08, 0xf4, 0xeb, 0xee, 0xff, 0xf2, 0x74, 418 - 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x01, 0xee, 0x01, 419 - 0xfc, 0x00, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 420 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 421 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 422 - 0x8a, 0x1d, 0x8a, 0x07, 0xf4, 0xeb, 0x4a, 0x11, 423 - 0x77, 0x11, 0x00, 0x28, 0x76, 0x81, 0x24, 0x00, 424 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 425 - 0xf2, 0x74, 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x00, 426 - 0x77, 0x11, 0x00, 0x1d, 0x68, 0x81, 0x00, 0x7f, 427 - 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0x80, 428 - 0x77, 0x11, 0x00, 0x1d, 0xf0, 0x30, 0x01, 0x00, 429 - 0x1a, 0x81, 0x80, 0x81, 0xf0, 0x74, 0x0a, 0x33, 430 - 0xf0, 0x74, 0x11, 0xac, 0xf9, 0x80, 0x13, 0x25, 431 - 0xf9, 0x80, 0x16, 0x53, 0xf9, 0x80, 0x17, 0x82, 432 - 0xf0, 0x74, 0x06, 0x2f, 0xf9, 0x80, 0x14, 0xb2, 433 - 0xf9, 0x80, 0x19, 0x10, 0xf0, 0x74, 0x0d, 0xe3, 434 - 0xf0, 0x74, 0x07, 0xe8, 0xf0, 0x74, 0x02, 0x36, 435 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x60, 0xf8, 436 - 0x27, 0x7b, 0xff, 0xff, 0xf8, 0x30, 0x08, 0x39, 437 - 0x71, 0xf8, 0x27, 0x7b, 0x27, 0x79, 0x60, 0xf8, 438 - 0x27, 0x79, 0xff, 0xff, 0xf8, 0x30, 0x08, 0xb2, 439 - 0x10, 0xf8, 0x29, 0x86, 0x08, 0xf8, 0x27, 0x79, 440 - 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 0xf4, 0x95, 441 - 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x30, 442 - 0x08, 0x58, 0x10, 0xf8, 0x27, 0x79, 0x08, 0xf8, 443 - 0x27, 0x7a, 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 444 - 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 445 - 0xf8, 0x20, 0x08, 0x63, 0x76, 0xf8, 0x27, 0x79, 446 - 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 447 - 0xf7, 0xb8, 0xf2, 0x73, 0x08, 0xd9, 0xf0, 0x20, 448 - 0xff, 0xff, 0xf6, 0xb8, 0x56, 0xf8, 0x27, 0x74, 449 - 0xf0, 0xf9, 0x88, 0x11, 0x56, 0xf8, 0x27, 0x72, 450 - 0xf0, 0xf9, 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 451 - 0xe7, 0x20, 0xf4, 0xa9, 0xf8, 0x30, 0x08, 0x8f, 452 - 0xf1, 0x20, 0x27, 0x7c, 0x48, 0x11, 0xf6, 0x00, 453 - 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x83, 454 - 0x08, 0xf8, 0x27, 0x79, 0xf0, 0x30, 0x7f, 0xff, 455 - 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 456 - 0xf5, 0xab, 0xf8, 0x30, 0x08, 0x8f, 0x6d, 0x91, 457 - 0x48, 0x11, 0xf0, 0x30, 0x01, 0xff, 0x88, 0x11, 458 - 0xf4, 0x95, 0xe7, 0x20, 0xf7, 0xa9, 0xf8, 0x30, 459 - 0x08, 0x74, 0x6d, 0x89, 0x48, 0x11, 0xf0, 0x30, 460 - 0x01, 0xff, 0xf0, 0xe7, 0xf4, 0x95, 0x48, 0x08, 461 - 0x4e, 0xf8, 0x27, 0x74, 0x48, 0x08, 0xf1, 0xf9, 462 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 463 - 0x27, 0x7c, 0x27, 0x7a, 0x60, 0xf8, 0x27, 0x7b, 464 - 0xff, 0xff, 0xf8, 0x30, 0x08, 0xab, 0x48, 0x08, 465 - 0x4e, 0xf8, 0x27, 0x72, 0x76, 0xf8, 0x27, 0x7b, 466 - 0xff, 0xff, 0x76, 0xf8, 0x27, 0x79, 0xff, 0xff, 467 - 0xf2, 0x73, 0x08, 0xd9, 0xf4, 0x95, 0xe8, 0x00, 468 - 0x44, 0xf8, 0x27, 0x73, 0x40, 0xf8, 0x27, 0x75, 469 - 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 470 - 0x80, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xd8, 471 - 0xf6, 0xb8, 0x10, 0xf8, 0x27, 0x73, 0xf0, 0x00, 472 - 0x80, 0x00, 0x48, 0x08, 0x4e, 0xf8, 0x27, 0x74, 473 - 0x48, 0x08, 0xf0, 0xf9, 0x88, 0x11, 0xf4, 0x95, 474 - 0xf4, 0x95, 0x71, 0xe1, 0x27, 0x7c, 0x27, 0x7a, 475 - 0xf7, 0xb8, 0x57, 0xf8, 0x27, 0x74, 0xf0, 0x62, 476 - 0xff, 0xff, 0xf0, 0x40, 0xff, 0x80, 0xf2, 0x80, 477 - 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 0x8a, 0x11, 478 - 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfb, 479 - 0x11, 0xf8, 0x27, 0x71, 0x09, 0xf8, 0x27, 0x73, 480 - 0x89, 0x11, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 481 - 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xed, 0xf2, 0x73, 482 - 0x09, 0x0e, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0x20, 483 - 0x76, 0x00, 0x00, 0x41, 0xf0, 0x74, 0x12, 0xee, 484 - 0x88, 0x16, 0xf4, 0x95, 0xf7, 0xb8, 0x6d, 0x96, 485 - 0x10, 0xf8, 0x00, 0x16, 0xf8, 0x47, 0x09, 0x0a, 486 - 0xe7, 0x61, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 487 - 0x00, 0x80, 0x76, 0x02, 0x00, 0xff, 0x76, 0x03, 488 - 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 489 - 0xe8, 0x00, 0x6c, 0xe9, 0xff, 0xff, 0x08, 0xfb, 490 - 0x73, 0x16, 0x00, 0x0e, 0xf0, 0x66, 0x00, 0x41, 491 - 0xee, 0x05, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 492 - 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x13, 493 - 0xf6, 0xb8, 0x77, 0x11, 0x7f, 0xff, 0x57, 0xf8, 494 - 0x27, 0x72, 0x48, 0x11, 0xf2, 0x80, 0xf0, 0x00, 495 - 0x80, 0x00, 0x88, 0x11, 0xf6, 0x40, 0xf0, 0xe0, 496 - 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 0x80, 0xf8, 497 - 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x57, 0xf8, 498 - 0x27, 0x72, 0x48, 0x12, 0xf2, 0x80, 0x88, 0x12, 499 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x09, 0x38, 500 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 501 - 0xf0, 0x73, 0x09, 0x3d, 0xf0, 0x20, 0x80, 0x01, 502 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x70, 0x81, 503 - 0x00, 0x13, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 504 - 0xf0, 0x30, 0x7f, 0xff, 0x11, 0xf8, 0x29, 0x86, 505 - 0xf5, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 506 - 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 507 - 0xf8, 0x20, 0x09, 0x54, 0xf2, 0x73, 0x09, 0x67, 508 - 0xf4, 0x95, 0xe8, 0x02, 0x6f, 0xf8, 0x27, 0x7a, 509 - 0x0d, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 510 - 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 511 - 0xf8, 0x20, 0x09, 0x64, 0xf2, 0x73, 0x09, 0x67, 512 - 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x27, 0x7b, 513 - 0xe8, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 514 - 0x11, 0xf8, 0x29, 0x86, 0xf5, 0x20, 0xf3, 0x30, 515 - 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 516 - 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x7a, 517 - 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x02, 518 - 0x6f, 0xf8, 0x27, 0x7a, 0x0d, 0x20, 0xf3, 0x30, 519 - 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 520 - 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x8a, 521 - 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x01, 522 - 0x80, 0xf8, 0x27, 0x79, 0xe8, 0x00, 0x8a, 0x11, 523 - 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 524 - 0x00, 0x12, 0x88, 0x11, 0xf6, 0xb8, 0x57, 0xf8, 525 - 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 526 - 0xf0, 0x00, 0x80, 0x00, 0x80, 0x81, 0x57, 0xf8, 527 - 0x27, 0x72, 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 528 - 0x80, 0xf8, 0x27, 0x78, 0x77, 0x11, 0x80, 0x00, 529 - 0x48, 0x11, 0x57, 0xf8, 0x27, 0x72, 0xf2, 0x80, 530 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 531 - 0x09, 0xb5, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 532 - 0x00, 0x01, 0xf0, 0x73, 0x09, 0xba, 0xf0, 0x20, 533 - 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 534 - 0x45, 0xf8, 0x27, 0x71, 0x43, 0xf8, 0x27, 0x73, 535 - 0x83, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0xe7, 0x20, 536 - 0xf6, 0xa9, 0xf8, 0x30, 0x09, 0xc9, 0xf2, 0x73, 537 - 0x09, 0xe4, 0x77, 0x12, 0x00, 0x00, 0x57, 0xf8, 538 - 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 539 - 0x49, 0x12, 0xf5, 0x00, 0xf3, 0x00, 0x80, 0x00, 540 - 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 0xf8, 0x30, 541 - 0x09, 0xdc, 0xf1, 0x20, 0x80, 0x00, 0xf5, 0x20, 542 - 0x89, 0x12, 0xf4, 0x95, 0x48, 0x12, 0x6f, 0xf8, 543 - 0x27, 0x73, 0x0d, 0x00, 0xf4, 0x95, 0x49, 0x0b, 544 - 0x4f, 0xf8, 0x27, 0x72, 0x8a, 0x11, 0xfe, 0x00, 545 - 0x48, 0x12, 0xf4, 0x95, 0x4a, 0x11, 0x4a, 0x16, 546 - 0x4a, 0x17, 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x08, 547 - 0x00, 0x16, 0x88, 0x17, 0xf0, 0x74, 0x08, 0x30, 548 - 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 549 - 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 550 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0a, 0x0a, 551 - 0xf2, 0x74, 0x08, 0xdb, 0xf4, 0x95, 0x48, 0x16, 552 - 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 553 - 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 554 - 0x10, 0x02, 0x70, 0x01, 0x00, 0x11, 0x80, 0x00, 555 - 0xf2, 0x74, 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 556 - 0x49, 0x11, 0x48, 0x17, 0xf6, 0x00, 0x88, 0x17, 557 - 0xe7, 0x60, 0xf5, 0xa9, 0xf8, 0x20, 0x0a, 0x2d, 558 - 0x48, 0x16, 0xf6, 0x20, 0x88, 0x11, 0x48, 0x18, 559 - 0x70, 0x00, 0x00, 0x11, 0xf2, 0x74, 0x09, 0x8f, 560 - 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 0x70, 0x01, 561 - 0x00, 0x11, 0x10, 0x02, 0x80, 0x00, 0xf2, 0x74, 562 - 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 0xee, 0x04, 563 - 0x48, 0x16, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 564 - 0xfc, 0x00, 0xee, 0xfd, 0xe8, 0x00, 0x4e, 0xf8, 565 - 0x27, 0x70, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x72, 566 - 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 567 - 0x4e, 0xf8, 0x27, 0x76, 0x76, 0xf8, 0x27, 0x79, 568 - 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7a, 0x00, 0x00, 569 - 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 0x76, 0xf8, 570 - 0x27, 0x78, 0x00, 0x00, 0xe8, 0x00, 0x75, 0xf8, 571 - 0x00, 0x08, 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 572 - 0x76, 0x01, 0x02, 0x00, 0xf2, 0x74, 0x12, 0xdc, 573 - 0xf0, 0x20, 0x27, 0x7c, 0xee, 0x03, 0xfc, 0x00, 574 - 0x4a, 0x11, 0xee, 0xfc, 0xf4, 0x95, 0x4e, 0x00, 575 - 0x77, 0x12, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x12, 576 - 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x12, 577 - 0xf0, 0xe0, 0xf1, 0xf1, 0x4f, 0x02, 0xe9, 0x01, 578 - 0xf4, 0x95, 0x48, 0x0b, 0xf5, 0x40, 0x56, 0x02, 579 - 0xf1, 0x80, 0x81, 0xf8, 0x27, 0x78, 0x77, 0x11, 580 - 0x80, 0x00, 0x56, 0x00, 0x49, 0x11, 0xf1, 0x80, 581 - 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 582 - 0x0a, 0x81, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 583 - 0x00, 0x01, 0xf0, 0x73, 0x0a, 0x86, 0xf0, 0x20, 584 - 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 585 - 0x10, 0x82, 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 586 - 0x4a, 0x11, 0xee, 0xfe, 0xf4, 0x95, 0x4e, 0x00, 587 - 0x77, 0x11, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x11, 588 - 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x11, 589 - 0xf0, 0xe0, 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 590 - 0x80, 0xf8, 0x27, 0x78, 0x56, 0x00, 0xf1, 0x20, 591 - 0x80, 0x00, 0xf1, 0x80, 0xf4, 0x95, 0x49, 0x0b, 592 - 0xf8, 0x4d, 0x0a, 0xab, 0xf0, 0x20, 0x80, 0x01, 593 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf0, 0x73, 594 - 0x0a, 0xaf, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 595 - 0x00, 0x01, 0xee, 0x02, 0x48, 0x11, 0x8a, 0x11, 596 - 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x12, 0x13, 0x02, 597 - 0x77, 0x11, 0x00, 0x00, 0xf8, 0x4d, 0x0a, 0xcb, 598 - 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 0xf4, 0x95, 599 - 0xf0, 0x72, 0x0a, 0xca, 0x48, 0x11, 0x1c, 0xf8, 600 - 0x29, 0x7e, 0x88, 0x11, 0x11, 0xf8, 0x29, 0x7e, 601 - 0xf2, 0x00, 0x00, 0x01, 0x80, 0xf8, 0x29, 0x7e, 602 - 0x81, 0x92, 0x48, 0x11, 0x8a, 0x11, 0xfc, 0x00, 603 - 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x11, 604 - 0x88, 0x12, 0xf6, 0xb8, 0xf0, 0x20, 0x7f, 0xff, 605 - 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0xf0, 0x00, 606 - 0x80, 0x00, 0x80, 0x82, 0x57, 0xf8, 0x27, 0x70, 607 - 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 0x80, 0xf8, 608 - 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x48, 0x12, 609 - 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0x88, 0x12, 610 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x0a, 0xf4, 611 - 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 612 - 0xf0, 0x73, 0x0a, 0xf9, 0xf0, 0x20, 0x80, 0x01, 613 - 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x45, 0xf8, 614 - 0x27, 0x75, 0xe7, 0x10, 0x43, 0xf8, 0x27, 0x71, 615 - 0x83, 0xf8, 0x00, 0x12, 0x6d, 0xe8, 0x00, 0x04, 616 - 0x6d, 0x8a, 0xf6, 0xaa, 0xf8, 0x30, 0x0b, 0x0a, 617 - 0xf2, 0x73, 0x0b, 0x25, 0x77, 0x11, 0x00, 0x00, 618 - 0x57, 0xf8, 0x27, 0x70, 0xf0, 0x20, 0x7f, 0xff, 619 - 0xf2, 0x80, 0x49, 0x11, 0xf5, 0x00, 0xf3, 0x00, 620 - 0x80, 0x00, 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 621 - 0xf8, 0x30, 0x0b, 0x1d, 0xf1, 0x20, 0x80, 0x00, 622 - 0xf5, 0x20, 0x89, 0x11, 0xf4, 0x95, 0x48, 0x11, 623 - 0x6f, 0xf8, 0x27, 0x71, 0x0d, 0x00, 0xf4, 0x95, 624 - 0x49, 0x0b, 0x4f, 0xf8, 0x27, 0x70, 0x48, 0x11, 625 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 626 - 0x4a, 0x17, 0xee, 0xf0, 0x88, 0x17, 0x10, 0x17, 627 - 0x80, 0x05, 0x10, 0x16, 0x80, 0x06, 0x10, 0x15, 628 - 0x80, 0x07, 0x71, 0x14, 0x00, 0x11, 0x10, 0x05, 629 - 0xf0, 0x30, 0x00, 0x01, 0x88, 0x10, 0x10, 0x06, 630 - 0xf0, 0x30, 0x00, 0x01, 0x80, 0x08, 0x49, 0x11, 631 - 0x10, 0x05, 0xf6, 0x01, 0x80, 0x09, 0x10, 0x06, 632 - 0x61, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf8, 0x20, 633 - 0x0b, 0x4b, 0x10, 0x09, 0xf0, 0x00, 0x00, 0x01, 634 - 0x80, 0x09, 0x71, 0x08, 0x00, 0x12, 0xf4, 0xaa, 635 - 0xf8, 0x30, 0x0b, 0x54, 0x10, 0x09, 0xf0, 0x00, 636 - 0x00, 0x01, 0x80, 0x09, 0x12, 0x09, 0x49, 0x11, 637 - 0xf4, 0x7f, 0x80, 0x09, 0xf6, 0x20, 0x80, 0x0a, 638 - 0x56, 0xf8, 0x27, 0x70, 0x4e, 0x0c, 0x10, 0x09, 639 - 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 640 - 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 0xf4, 0x95, 641 - 0xf4, 0x95, 0x6c, 0x86, 0x0b, 0x6d, 0xf2, 0x73, 642 - 0x0c, 0x59, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0xb8, 643 - 0xf4, 0x95, 0x56, 0x0c, 0xf0, 0xf9, 0x88, 0x12, 644 - 0xf4, 0x95, 0xf4, 0x95, 0x70, 0xe2, 0x27, 0x7c, 645 - 0x29, 0x86, 0xe8, 0x00, 0x80, 0x0e, 0x48, 0x11, 646 - 0xf8, 0x45, 0x0b, 0xcc, 0x77, 0x10, 0x00, 0x01, 647 - 0xf4, 0xa9, 0xf8, 0x30, 0x0b, 0x89, 0x6c, 0xe1, 648 - 0xff, 0xfd, 0x0b, 0x8b, 0x10, 0xe7, 0x00, 0x02, 649 - 0x80, 0x0e, 0xf0, 0x73, 0x0b, 0x8b, 0x10, 0x87, 650 - 0x80, 0x0e, 0xe7, 0x10, 0xf5, 0xae, 0xf8, 0x20, 651 - 0x0b, 0xb2, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 652 - 0x00, 0x16, 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 653 - 0x48, 0x17, 0x49, 0x16, 0xf6, 0x00, 0x88, 0x17, 654 - 0x48, 0x11, 0xf6, 0x20, 0x88, 0x11, 0x10, 0x09, 655 - 0xf6, 0x20, 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 656 - 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 657 - 0x10, 0x04, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 658 - 0x00, 0x11, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 659 - 0x00, 0x04, 0x80, 0x04, 0xf0, 0x73, 0x0b, 0xbc, 660 - 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 0x00, 0x11, 661 - 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 662 - 0x00, 0x04, 0x80, 0x04, 0x49, 0x11, 0x48, 0x16, 663 - 0xf6, 0x20, 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 664 - 0x6c, 0x86, 0x0b, 0xcc, 0x10, 0x0a, 0x80, 0x00, 665 - 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 666 - 0x00, 0x04, 0x88, 0x16, 0x12, 0x0a, 0xf8, 0x45, 667 - 0x0c, 0x33, 0x71, 0x0a, 0x00, 0x10, 0xf4, 0xae, 668 - 0xf8, 0x30, 0x0c, 0x1c, 0x48, 0x16, 0xf0, 0xe1, 669 - 0x88, 0x11, 0x12, 0x08, 0xf8, 0x45, 0x0b, 0xdb, 670 - 0x6d, 0x89, 0x12, 0x07, 0xf8, 0x45, 0x0b, 0xe9, 671 - 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 672 - 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 673 - 0x06, 0xdc, 0xf0, 0x73, 0x0b, 0xef, 0x48, 0x11, 674 - 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 675 - 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 676 - 0x10, 0x06, 0x49, 0x11, 0xf6, 0x00, 0x80, 0x06, 677 - 0x10, 0x05, 0xf6, 0x20, 0x88, 0x11, 0xf0, 0x00, 678 - 0x00, 0x01, 0x48, 0x08, 0x6f, 0x00, 0x0c, 0x9f, 679 - 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 680 - 0x00, 0x04, 0x12, 0x07, 0xf8, 0x45, 0x0c, 0x11, 681 - 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 682 - 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 683 - 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x17, 0x48, 0x11, 684 - 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 685 - 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 686 - 0xf0, 0x73, 0x0c, 0x33, 0x12, 0x07, 0xf8, 0x45, 687 - 0x0c, 0x2a, 0x10, 0x07, 0x80, 0x00, 0x10, 0x06, 688 - 0x80, 0x01, 0x10, 0x05, 0x80, 0x02, 0x10, 0x04, 689 - 0xf0, 0x74, 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x30, 690 - 0x12, 0x05, 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 691 - 0xf0, 0x74, 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 692 - 0x81, 0x0e, 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 693 - 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 694 - 0x71, 0x04, 0x00, 0x11, 0x70, 0x81, 0x29, 0x86, 695 - 0x10, 0x0e, 0x1c, 0xf8, 0x29, 0x86, 0x80, 0x0e, 696 - 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 0xf2, 0x74, 697 - 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x10, 0x0e, 698 - 0x71, 0x04, 0x00, 0x11, 0x80, 0x81, 0x10, 0xf8, 699 - 0x29, 0x86, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x30, 700 - 0x7f, 0xff, 0x80, 0xf8, 0x29, 0x86, 0x10, 0x09, 701 - 0xf0, 0x00, 0x00, 0x02, 0x80, 0x09, 0xee, 0x10, 702 - 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 703 - 0x10, 0xf8, 0x27, 0x75, 0x08, 0xf8, 0x27, 0x71, 704 - 0xf0, 0x10, 0x00, 0x01, 0x48, 0x08, 0xfc, 0x00, 705 - 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xff, 0xf4, 0x95, 706 - 0x71, 0x04, 0x00, 0x16, 0xf0, 0x00, 0x00, 0x01, 707 - 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 0x6d, 0xee, 708 - 0xff, 0xfd, 0x48, 0x16, 0xf8, 0x45, 0x0c, 0x99, 709 - 0x56, 0xf8, 0x29, 0x7c, 0xf0, 0x74, 0x0a, 0x5a, 710 - 0x88, 0x11, 0x10, 0xf8, 0x29, 0x7d, 0xf0, 0x00, 711 - 0x00, 0x01, 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 712 - 0x10, 0xf8, 0x29, 0x82, 0xf0, 0x00, 0x00, 0x01, 713 - 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xa9, 714 - 0xfa, 0x30, 0x0c, 0x96, 0x80, 0xf8, 0x29, 0x82, 715 - 0x56, 0xf8, 0x29, 0x80, 0xf0, 0x00, 0x00, 0x01, 716 - 0x4e, 0xf8, 0x29, 0x80, 0x73, 0x11, 0x29, 0x82, 717 - 0x6c, 0xee, 0xff, 0xff, 0x0c, 0x76, 0xee, 0x01, 718 - 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 719 - 0x76, 0xf8, 0x29, 0x84, 0x00, 0x00, 0x76, 0xf8, 720 - 0x29, 0x85, 0x00, 0x01, 0xe8, 0x00, 0x4e, 0xf8, 721 - 0x2a, 0x0c, 0x76, 0xf8, 0x29, 0x86, 0x00, 0x00, 722 - 0x76, 0xf8, 0x29, 0x87, 0x00, 0x00, 0x77, 0x11, 723 - 0x29, 0x88, 0x76, 0x81, 0xaa, 0xaa, 0x76, 0xe1, 724 - 0x00, 0x01, 0xaa, 0xaa, 0x76, 0xe1, 0x00, 0x02, 725 - 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 726 - 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x06, 0x00, 0x14, 727 - 0x71, 0x07, 0x00, 0x13, 0x71, 0x08, 0x00, 0x12, 728 - 0x71, 0x09, 0x00, 0x15, 0x77, 0x10, 0x00, 0xff, 729 - 0xf4, 0xaa, 0xf8, 0x30, 0x0d, 0x44, 0x49, 0x13, 730 - 0x53, 0xf8, 0x2a, 0x0c, 0x4f, 0xf8, 0x2a, 0x0c, 731 - 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 732 - 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x01, 733 - 0x71, 0xe1, 0x24, 0x00, 0x00, 0x11, 0xf4, 0xa9, 734 - 0xf8, 0x30, 0x0d, 0x17, 0x77, 0x10, 0x00, 0x02, 735 - 0xf4, 0xa9, 0xf8, 0x30, 0x0c, 0xec, 0x77, 0x11, 736 - 0x29, 0x8a, 0x76, 0x81, 0x00, 0x00, 0xe8, 0x00, 737 - 0x77, 0x14, 0x00, 0x00, 0x77, 0x13, 0x00, 0x00, 738 - 0xf0, 0x73, 0x0d, 0x48, 0x6c, 0x83, 0x0c, 0xfa, 739 - 0x77, 0x11, 0x29, 0x8a, 0x48, 0x12, 0xf0, 0xe8, 740 - 0xf0, 0x40, 0x80, 0x00, 0x80, 0x81, 0xe8, 0x00, 741 - 0x77, 0x14, 0x00, 0x00, 0xf0, 0x73, 0x0d, 0x48, 742 - 0x49, 0x13, 0xf3, 0x40, 0x80, 0x00, 0x81, 0xf8, 743 - 0x29, 0x8a, 0x61, 0xf8, 0x00, 0x15, 0x00, 0x01, 744 - 0xf8, 0x20, 0x0d, 0x07, 0x69, 0xf8, 0x29, 0x8a, 745 - 0x40, 0x00, 0x61, 0xf8, 0x00, 0x14, 0x00, 0x01, 746 - 0xf8, 0x20, 0x0d, 0x0f, 0x69, 0xf8, 0x29, 0x8a, 747 - 0x20, 0x00, 0x77, 0x11, 0x29, 0x8a, 0x49, 0x12, 748 - 0xf3, 0xe8, 0x1b, 0x81, 0x81, 0x81, 0xf0, 0x73, 749 - 0x0d, 0x48, 0x11, 0xf8, 0x29, 0x84, 0xf8, 0x4c, 750 - 0x0d, 0x37, 0x77, 0x11, 0x29, 0x88, 0x76, 0x81, 751 - 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 0xf3, 0x10, 752 - 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 0x81, 0xe1, 753 - 0x00, 0x01, 0x76, 0x00, 0x00, 0x02, 0x80, 0x01, 754 - 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 0x00, 0x13, 755 - 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0x48, 0x11, 756 - 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 0xf0, 0x73, 757 - 0x0d, 0x73, 0x76, 0x00, 0x00, 0x00, 0x80, 0x01, 758 - 0x76, 0x02, 0x00, 0x00, 0x70, 0x03, 0x00, 0x13, 759 - 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0xe8, 0x00, 760 - 0xf0, 0x73, 0x0d, 0x73, 0x77, 0x11, 0x29, 0x8a, 761 - 0x70, 0x81, 0x00, 0x13, 0x11, 0xf8, 0x29, 0x84, 762 - 0xf8, 0x4c, 0x0d, 0x68, 0x77, 0x11, 0x29, 0x88, 763 - 0x76, 0x81, 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 764 - 0xf3, 0x10, 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 765 - 0x81, 0xe1, 0x00, 0x01, 0x76, 0x00, 0x00, 0x03, 766 - 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 767 - 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 768 - 0x48, 0x11, 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 769 - 0xf0, 0x73, 0x0d, 0x73, 0x76, 0x00, 0x00, 0x01, 770 - 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 771 - 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 772 - 0x48, 0x11, 0x6b, 0xf8, 0x29, 0x84, 0xff, 0xff, 773 - 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 774 - 0xf5, 0x40, 0xf4, 0x95, 0x48, 0x0b, 0xf4, 0x78, 775 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe1, 776 - 0xff, 0xb9, 0x0d, 0x88, 0xf2, 0x73, 0x0d, 0xa5, 777 - 0xf4, 0x95, 0xe8, 0x60, 0xf2, 0x00, 0x00, 0x06, 778 - 0x61, 0xf8, 0x00, 0x11, 0x00, 0x20, 0xf8, 0x30, 779 - 0x0d, 0x98, 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 780 - 0xf8, 0x20, 0x0d, 0xa3, 0xf2, 0x00, 0x00, 0x07, 781 - 0xf0, 0x73, 0x0d, 0xa3, 0x61, 0xf8, 0x00, 0x0b, 782 - 0x00, 0x01, 0xf8, 0x20, 0x0d, 0xa1, 0xf2, 0x73, 783 - 0x0d, 0xa3, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 784 - 0x00, 0x02, 0x48, 0x08, 0xf4, 0x7f, 0x8a, 0x11, 785 - 0xfc, 0x00, 0xee, 0xff, 0xf0, 0x74, 0x07, 0xfd, 786 - 0xf0, 0x74, 0x07, 0x44, 0xf0, 0x74, 0x0d, 0xb4, 787 - 0xf0, 0x74, 0x02, 0x05, 0xf0, 0x74, 0x04, 0x60, 788 - 0xf0, 0x73, 0x0d, 0xaa, 0xee, 0xfd, 0x10, 0xf8, 789 - 0x2a, 0xa3, 0xf8, 0x44, 0x0d, 0xcb, 0x10, 0xf8, 790 - 0x2a, 0xa4, 0xf8, 0x45, 0x0d, 0xd7, 0x76, 0x00, 791 - 0x02, 0x00, 0xf2, 0x74, 0x09, 0xe8, 0xf0, 0x20, 792 - 0x22, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 793 - 0x76, 0xf8, 0x2a, 0xa7, 0x00, 0x00, 0xf0, 0x73, 794 - 0x0d, 0xd7, 0x76, 0x00, 0x02, 0x00, 0xf2, 0x74, 795 - 0x09, 0xe8, 0xf0, 0x20, 0x20, 0x00, 0x76, 0xf8, 796 - 0x2a, 0xa3, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa7, 797 - 0x00, 0x01, 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 798 - 0xf0, 0x10, 0x3a, 0x98, 0xf8, 0x47, 0x0d, 0xe1, 799 - 0x76, 0xf8, 0x27, 0x6e, 0x00, 0x00, 0xee, 0x03, 800 - 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x77, 0x11, 801 - 0x20, 0x00, 0x76, 0x00, 0xaa, 0xaa, 0x76, 0x01, 802 - 0x02, 0x00, 0xf2, 0x74, 0x06, 0x6c, 0xf4, 0x95, 803 - 0x48, 0x11, 0x76, 0x00, 0x55, 0x55, 0x76, 0x01, 804 - 0x02, 0x00, 0x48, 0x11, 0xf2, 0x74, 0x06, 0x6c, 805 - 0xf0, 0x00, 0x02, 0x00, 0x76, 0xf8, 0x2a, 0xa3, 806 - 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 807 - 0xe8, 0x00, 0x4e, 0x00, 0xfb, 0x80, 0x15, 0x3e, 808 - 0xf4, 0x95, 0xe8, 0x04, 0x80, 0xf8, 0x2a, 0xa5, 809 - 0x76, 0x00, 0x2a, 0xa8, 0xf9, 0x80, 0x14, 0x87, 810 - 0x76, 0x00, 0x2a, 0xad, 0xfb, 0x80, 0x13, 0x62, 811 - 0xf4, 0x95, 0xe8, 0x02, 0x10, 0xf8, 0x2a, 0xa5, 812 - 0xf9, 0x80, 0x14, 0x63, 0xfb, 0x80, 0x16, 0x66, 813 - 0xf4, 0x95, 0xe8, 0x1c, 0xfb, 0x80, 0x16, 0x87, 814 - 0xf4, 0x95, 0xe8, 0x1c, 0xe8, 0x01, 0x4e, 0x00, 815 - 0xfb, 0x80, 0x17, 0xd6, 0xf4, 0x95, 0xe8, 0x00, 816 - 0x80, 0xf8, 0x2a, 0xa6, 0x76, 0x00, 0x2a, 0xb7, 817 - 0xf9, 0x80, 0x16, 0xaa, 0x10, 0xf8, 0x2a, 0xa6, 818 - 0xf9, 0x80, 0x17, 0x5c, 0x10, 0xf8, 0x2a, 0xa6, 819 - 0xf9, 0x80, 0x17, 0x6f, 0xee, 0x02, 0x8a, 0x11, 820 - 0xfc, 0x00, 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 821 - 0x4a, 0x0a, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 822 - 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 823 - 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 824 - 0x10, 0xf8, 0x2a, 0xa7, 0xf8, 0x44, 0x0e, 0x4b, 825 - 0x76, 0xf8, 0x2a, 0xa3, 0x00, 0x01, 0xf0, 0x73, 826 - 0x0e, 0x4e, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x01, 827 - 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x0a, 0x8a, 0x09, 828 - 0x8a, 0x08, 0xf4, 0xeb, 0x4a, 0x11, 0x4a, 0x16, 829 - 0x4a, 0x17, 0xee, 0xfe, 0x88, 0x0e, 0x71, 0x08, 830 - 0x00, 0x16, 0x71, 0x06, 0x00, 0x17, 0x11, 0x07, 831 - 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 0x25, 0xa0, 832 - 0x88, 0x11, 0x76, 0x01, 0x00, 0x06, 0x81, 0x00, 833 - 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 0x00, 0x01, 834 - 0x76, 0x01, 0x00, 0x06, 0x70, 0x00, 0x00, 0x16, 835 - 0x48, 0x11, 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 836 - 0x00, 0x07, 0x70, 0x81, 0x00, 0x17, 0xee, 0x02, 837 - 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 838 - 0x4a, 0x11, 0x88, 0x0e, 0x71, 0x02, 0x00, 0x12, 839 - 0x11, 0x03, 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 840 - 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x70, 0x81, 841 - 0x00, 0x12, 0x6e, 0xe2, 0xff, 0xfe, 0x0e, 0x8d, 842 - 0xf4, 0x95, 0xe8, 0x00, 0xe8, 0x01, 0x80, 0xe1, 843 - 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 844 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 845 - 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0c, 846 - 0x00, 0x00, 0x81, 0xe1, 0x00, 0x01, 0x8a, 0x11, 847 - 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 0x88, 0x0e, 848 - 0xf4, 0x95, 0xf1, 0x66, 0x00, 0x0d, 0xf3, 0x00, 849 - 0x24, 0x00, 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 850 - 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 851 - 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 852 - 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 853 - 0x00, 0x00, 0x80, 0x02, 0x76, 0x03, 0x00, 0x00, 854 - 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0xe8, 0x00, 855 - 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 856 - 0x88, 0x19, 0xf4, 0x95, 0x73, 0x19, 0x00, 0x0e, 857 - 0xf1, 0x66, 0x00, 0x0d, 0xf2, 0x00, 0x24, 0x00, 858 - 0x77, 0x15, 0x25, 0xa0, 0x77, 0x14, 0x00, 0x00, 859 - 0x77, 0x1a, 0x00, 0x1f, 0xf0, 0x72, 0x0f, 0x14, 860 - 0xf6, 0xb8, 0x49, 0x19, 0x09, 0x85, 0xf8, 0x4c, 861 - 0x0f, 0x13, 0xf1, 0x00, 0x00, 0x05, 0x89, 0x11, 862 - 0x49, 0x15, 0xf3, 0x00, 0x00, 0x01, 0x89, 0x13, 863 - 0x49, 0x15, 0xf3, 0x00, 0x00, 0x07, 0x89, 0x12, 864 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 865 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 866 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 867 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 868 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 869 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 870 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 871 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 872 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 873 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 874 - 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x11, 875 - 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0f, 0x13, 876 - 0x6d, 0x94, 0x6d, 0xed, 0x00, 0x0d, 0x48, 0x14, 877 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 878 - 0x4a, 0x17, 0xee, 0xf8, 0x88, 0x17, 0x10, 0x0d, 879 - 0x80, 0x04, 0x10, 0x0c, 0x80, 0x05, 0x71, 0x0e, 880 - 0x00, 0x16, 0x73, 0x17, 0x00, 0x0e, 0xf0, 0x66, 881 - 0x00, 0x0d, 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 882 - 0x10, 0xf8, 0x27, 0x63, 0xf8, 0x45, 0x0f, 0x32, 883 - 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 884 - 0x10, 0xf8, 0x27, 0x60, 0xf8, 0x44, 0x0f, 0x3d, 885 - 0x60, 0xe1, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x20, 886 - 0x0f, 0x6d, 0xf0, 0x73, 0x11, 0x33, 0x10, 0x04, 887 - 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 888 - 0x11, 0x04, 0xf3, 0x00, 0x00, 0x01, 0x81, 0x04, 889 - 0x6d, 0x8e, 0x77, 0x10, 0x00, 0x01, 0x71, 0xe1, 890 - 0x00, 0x02, 0x00, 0x12, 0xf4, 0xaa, 0xf8, 0x30, 891 - 0x0f, 0x62, 0x77, 0x10, 0x00, 0x02, 0xf4, 0xaa, 892 - 0xf8, 0x30, 0x0f, 0x6d, 0x45, 0xe1, 0x00, 0x0b, 893 - 0x88, 0x10, 0x43, 0xe1, 0x00, 0x0c, 0x83, 0xf8, 894 - 0x00, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xaa, 895 - 0xf8, 0x30, 0x0f, 0x6d, 0xf0, 0x73, 0x0f, 0x96, 896 - 0xf5, 0x00, 0x81, 0x04, 0x49, 0x16, 0xf5, 0x20, 897 - 0x89, 0x16, 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 898 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x48, 0x16, 899 - 0xf8, 0x45, 0x11, 0x33, 0xf7, 0xb8, 0x71, 0xe1, 900 - 0x00, 0x02, 0x00, 0x12, 0x10, 0xf8, 0x00, 0x12, 901 - 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x46, 0x0f, 0x8c, 902 - 0x10, 0xf8, 0x00, 0x12, 0xf0, 0x10, 0x00, 0x03, 903 - 0xf8, 0x45, 0x10, 0x16, 0x77, 0x10, 0x00, 0x01, 904 - 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0x9c, 0x77, 0x10, 905 - 0x00, 0x02, 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0xa8, 906 - 0xf0, 0x73, 0x0f, 0x96, 0x77, 0x10, 0x00, 0x04, 907 - 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xb7, 0x77, 0x10, 908 - 0x00, 0x05, 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xbc, 909 - 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 910 - 0xf0, 0x73, 0x11, 0x31, 0x76, 0xe1, 0x00, 0x0c, 911 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 912 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 913 - 0x00, 0x02, 0x00, 0x02, 0x11, 0xe1, 0x00, 0x0c, 914 - 0xe8, 0x03, 0xf6, 0x20, 0x89, 0x12, 0xf4, 0x95, 915 - 0x77, 0x10, 0x00, 0x03, 0xf5, 0xaa, 0xf8, 0x30, 916 - 0x0f, 0xb6, 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 917 - 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf5, 0xae, 918 - 0xf8, 0x20, 0x0f, 0xbd, 0x48, 0x16, 0x80, 0x06, 919 - 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x03, 920 - 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xc8, 0x6b, 0xf8, 921 - 0x27, 0x6f, 0x00, 0x01, 0x12, 0x06, 0xf8, 0x45, 922 - 0x10, 0x00, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 923 - 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 924 - 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 925 - 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 926 - 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 927 - 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 928 - 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 929 - 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 930 - 0x88, 0x16, 0x89, 0x13, 0xf4, 0x95, 0x77, 0x10, 931 - 0x00, 0x03, 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xf5, 932 - 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 0x77, 0x10, 933 - 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 934 - 0xf6, 0xab, 0xf8, 0x20, 0x10, 0x00, 0x6b, 0xf8, 935 - 0x27, 0x6f, 0x00, 0x01, 0x6c, 0xe2, 0xff, 0xfd, 936 - 0x11, 0x31, 0xf6, 0xb8, 0x6f, 0xe1, 0x00, 0x05, 937 - 0x0c, 0x48, 0x6f, 0xe1, 0x00, 0x06, 0x0c, 0x18, 938 - 0xf0, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x03, 939 - 0x80, 0xe1, 0x00, 0x0b, 0x76, 0xe1, 0x00, 0x02, 940 - 0x00, 0x03, 0x48, 0x16, 0xf8, 0x45, 0x11, 0x33, 941 - 0x71, 0xe1, 0x00, 0x0c, 0x00, 0x12, 0x10, 0xe1, 942 - 0x00, 0x0b, 0x49, 0x12, 0xf6, 0x20, 0x88, 0x13, 943 - 0xe8, 0x0c, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 944 - 0xf4, 0x95, 0xf5, 0xab, 0xf8, 0x20, 0x10, 0x27, 945 - 0x48, 0x13, 0x80, 0x06, 0x88, 0x10, 0xf4, 0x95, 946 - 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0x30, 947 - 0x70, 0x06, 0x00, 0x16, 0x12, 0x06, 0xf8, 0x45, 948 - 0x10, 0x5f, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 949 - 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 950 - 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 951 - 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 952 - 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 953 - 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 954 - 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 955 - 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 956 - 0x88, 0x16, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x0c, 957 - 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 0xf6, 0xab, 958 - 0xf8, 0x20, 0x10, 0x5f, 0x6b, 0xf8, 0x27, 0x6f, 959 - 0x00, 0x01, 0x77, 0x10, 0x00, 0x0c, 0xf6, 0xaa, 960 - 0xf8, 0x20, 0x10, 0x6b, 0xf2, 0x74, 0x0e, 0x9f, 961 - 0xf4, 0x95, 0x48, 0x17, 0x71, 0xe1, 0x00, 0x0c, 962 - 0x00, 0x12, 0x77, 0x10, 0x00, 0x0c, 0xf4, 0xaa, 963 - 0xf8, 0x30, 0x10, 0x7c, 0x77, 0x10, 0x00, 0x0c, 964 - 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x13, 0xf6, 0xab, 965 - 0xf8, 0x30, 0x10, 0xb4, 0xe7, 0x30, 0xf7, 0xaa, 966 - 0xf8, 0x30, 0x10, 0xb4, 0xf2, 0x74, 0x0e, 0xc1, 967 - 0xf4, 0x95, 0x48, 0x17, 0x88, 0x12, 0xf4, 0x95, 968 - 0xf4, 0x95, 0x6c, 0x82, 0x10, 0x8d, 0x76, 0xe1, 969 - 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 970 - 0x00, 0x05, 0xf0, 0x73, 0x10, 0xb4, 0x76, 0xe1, 971 - 0x00, 0x02, 0x00, 0x04, 0x77, 0x10, 0x00, 0x0c, 972 - 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf5, 0xaa, 973 - 0xf8, 0x20, 0x10, 0x9a, 0xf0, 0x73, 0x10, 0x9c, 974 - 0x77, 0x12, 0x00, 0x0c, 0x76, 0x00, 0x00, 0x00, 975 - 0x70, 0x01, 0x00, 0x12, 0x70, 0x02, 0x00, 0x17, 976 - 0x76, 0x03, 0x00, 0x01, 0x48, 0x11, 0xf2, 0x74, 977 - 0x0c, 0xb9, 0xf0, 0x00, 0x00, 0x05, 0x76, 0xe1, 978 - 0x00, 0x04, 0x00, 0x00, 0x77, 0x10, 0x00, 0x0c, 979 - 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf6, 0xaa, 980 - 0xf8, 0x20, 0x11, 0x1c, 0x48, 0x16, 0xf8, 0x45, 981 - 0x11, 0x33, 0x60, 0xe1, 0x00, 0x02, 0x00, 0x05, 982 - 0xf8, 0x20, 0x10, 0xdf, 0x10, 0xe1, 0x00, 0x0b, 983 - 0x08, 0xe1, 0x00, 0x0c, 0x11, 0xe1, 0x00, 0x04, 984 - 0xf8, 0x4d, 0x10, 0xc7, 0x6b, 0xf8, 0x27, 0x6f, 985 - 0x00, 0x01, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 986 - 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xcf, 0x48, 0x16, 987 - 0xf4, 0x95, 0x48, 0x08, 0xf8, 0x45, 0x11, 0x16, 988 - 0x6f, 0xe1, 0x00, 0x0c, 0x0d, 0x00, 0x81, 0xe1, 989 - 0x00, 0x0c, 0x11, 0x04, 0xf5, 0x00, 0x81, 0x04, 990 - 0x49, 0x16, 0xf5, 0x20, 0x89, 0x16, 0xf0, 0x73, 991 - 0x11, 0x0e, 0x10, 0xe1, 0x00, 0x0b, 0x71, 0xe1, 992 - 0x00, 0x0c, 0x00, 0x12, 0x88, 0x10, 0xf4, 0x95, 993 - 0xf4, 0x95, 0xf6, 0xaa, 0xf8, 0x30, 0x11, 0x16, 994 - 0x49, 0x12, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 995 - 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xf3, 996 - 0x48, 0x16, 0x80, 0x06, 0x48, 0x08, 0xf8, 0x45, 997 - 0x11, 0x16, 0x10, 0x04, 0x70, 0x02, 0x00, 0x17, 998 - 0x80, 0x00, 0x76, 0x03, 0x00, 0x00, 0x10, 0x06, 999 - 0x80, 0x01, 0x10, 0x05, 0xf0, 0x74, 0x0c, 0xb9, 1000 - 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 1001 - 0x00, 0x0c, 0x11, 0x06, 0x10, 0x04, 0xf6, 0x00, 1002 - 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 0x88, 0x16, 1003 - 0x10, 0xe1, 0x00, 0x0c, 0x08, 0xe1, 0x00, 0x0b, 1004 - 0xf8, 0x45, 0x11, 0x1c, 0xf0, 0x73, 0x11, 0x31, 1005 - 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 1006 - 0xf0, 0x73, 0x11, 0x33, 0x76, 0xe1, 0x00, 0x0c, 1007 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 1008 - 0x76, 0xe1, 0x00, 0x02, 0x00, 0x01, 0x10, 0x04, 1009 - 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 1010 - 0x88, 0x12, 0xf4, 0x95, 0x77, 0x10, 0x00, 0xff, 1011 - 0xf4, 0xaa, 0xf8, 0x30, 0x11, 0x33, 0x6c, 0x86, 1012 - 0x0f, 0x70, 0xee, 0x08, 0x8a, 0x17, 0x8a, 0x16, 1013 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 1014 - 0xf4, 0x95, 0x71, 0x06, 0x00, 0x12, 0x88, 0x11, 1015 - 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 1016 - 0xf3, 0x00, 0x24, 0x00, 0x89, 0x14, 0x13, 0x81, 1017 - 0xf7, 0x7a, 0xf3, 0x30, 0x00, 0x01, 0x81, 0xf8, 1018 - 0x27, 0x60, 0x13, 0xe1, 0x00, 0x01, 0xf7, 0x7c, 1019 - 0xf3, 0x30, 0x00, 0x03, 0x81, 0xf8, 0x27, 0x61, 1020 - 0xe9, 0x0f, 0x19, 0xe1, 0x00, 0x01, 0x81, 0xf8, 1021 - 0x27, 0x62, 0x71, 0xe4, 0x00, 0x03, 0x00, 0x13, 1022 - 0xf6, 0xb8, 0x49, 0x13, 0xf3, 0x00, 0x00, 0x01, 1023 - 0xf3, 0x30, 0x00, 0x0f, 0x49, 0x0b, 0x09, 0xf8, 1024 - 0x27, 0x62, 0xf8, 0x4d, 0x11, 0x75, 0x77, 0x10, 1025 - 0x00, 0xff, 0xf4, 0xab, 0xf8, 0x30, 0x11, 0x75, 1026 - 0x57, 0xf8, 0x27, 0x6c, 0xf3, 0x00, 0x00, 0x01, 1027 - 0x4f, 0xf8, 0x27, 0x6c, 0x76, 0xf8, 0x27, 0x63, 1028 - 0x00, 0x01, 0xf0, 0x73, 0x11, 0x78, 0x76, 0xf8, 1029 - 0x27, 0x63, 0x00, 0x00, 0x70, 0xe4, 0x00, 0x03, 1030 - 0x27, 0x62, 0x76, 0xf8, 0x27, 0x64, 0x00, 0x00, 1031 - 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 0x00, 0x0b, 1032 - 0x00, 0x02, 0xf8, 0x20, 0x11, 0x8d, 0xe9, 0x01, 1033 - 0x6f, 0xe1, 0x00, 0x02, 0x0f, 0x18, 0x81, 0xf8, 1034 - 0x27, 0x64, 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 1035 - 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 0x11, 0xa9, 1036 - 0x10, 0xf8, 0x27, 0x64, 0xf1, 0x00, 0x00, 0x04, 1037 - 0x89, 0x13, 0xe9, 0xb8, 0xf5, 0x20, 0x81, 0xf8, 1038 - 0x27, 0x65, 0x60, 0x84, 0x00, 0x02, 0xf8, 0x20, 1039 - 0x11, 0xa9, 0x70, 0x00, 0x00, 0x11, 0x70, 0x01, 1040 - 0x00, 0x13, 0x70, 0x02, 0x27, 0x65, 0xf2, 0x74, 1041 - 0x0f, 0x18, 0xf4, 0x95, 0x48, 0x12, 0xee, 0x04, 1042 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 1043 - 0x4a, 0x17, 0xee, 0xfc, 0xe8, 0x00, 0x4e, 0xf8, 1044 - 0x27, 0x66, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x68, 1045 - 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x6c, 0xe8, 0x00, 1046 - 0x4e, 0xf8, 0x27, 0x6a, 0x77, 0x12, 0x27, 0x40, 1047 - 0x77, 0x11, 0x24, 0x00, 0x77, 0x1a, 0x00, 0x1f, 1048 - 0xf0, 0x72, 0x11, 0xdb, 0x70, 0x92, 0x00, 0x11, 1049 - 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 0x76, 0x81, 1050 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 0x00, 0x00, 1051 - 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 0x76, 0xe1, 1052 - 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 1053 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1054 - 0x6d, 0xe9, 0x00, 0x0d, 0xf0, 0x20, 0x25, 0xa0, 1055 - 0xf1, 0x00, 0x00, 0x07, 0x89, 0x11, 0xf1, 0x00, 1056 - 0x00, 0x01, 0x81, 0x02, 0x88, 0x16, 0xf4, 0x95, 1057 - 0x77, 0x17, 0x00, 0x20, 0x76, 0x86, 0x00, 0xff, 1058 - 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 1059 - 0x10, 0x02, 0xf0, 0x74, 0x06, 0x6c, 0x76, 0x00, 1060 - 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1061 - 0x06, 0x6c, 0xf4, 0x95, 0x48, 0x11, 0x10, 0x02, 1062 - 0xf0, 0x00, 0x00, 0x0d, 0x80, 0x02, 0x6d, 0xe9, 1063 - 0x00, 0x0d, 0x6d, 0xee, 0x00, 0x0d, 0x6c, 0xef, 1064 - 0xff, 0xff, 0x11, 0xe8, 0xf0, 0x74, 0x0c, 0x9d, 1065 - 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 1066 - 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 1067 - 0xee, 0xfa, 0x88, 0x11, 0x10, 0x0a, 0x49, 0x11, 1068 - 0xf8, 0x4d, 0x12, 0x9f, 0x48, 0x08, 0xf8, 0x45, 1069 - 0x12, 0x9f, 0x80, 0x04, 0x12, 0x81, 0xf5, 0x78, 1070 - 0x89, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe2, 1071 - 0xff, 0xb9, 0x12, 0x8a, 0x61, 0xf8, 0x00, 0x08, 1072 - 0x00, 0x80, 0xf8, 0x30, 0x12, 0x8a, 0x13, 0xe1, 1073 - 0x00, 0x01, 0xf0, 0xe8, 0xf7, 0x78, 0xf1, 0xa0, 1074 - 0xf2, 0x30, 0x1f, 0xff, 0x88, 0x17, 0xf4, 0x95, 1075 - 0x77, 0x12, 0x24, 0x00, 0x77, 0x16, 0x00, 0x00, 1076 - 0x77, 0x13, 0x00, 0x20, 0xf6, 0xb8, 0x48, 0x17, 1077 - 0x08, 0xe2, 0x00, 0x01, 0xf8, 0x45, 0x12, 0x42, 1078 - 0x6d, 0xea, 0x00, 0x0d, 0x6d, 0x96, 0x6c, 0xeb, 1079 - 0xff, 0xff, 0x12, 0x34, 0xf0, 0x73, 0x12, 0x90, 1080 - 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0x00, 0x00, 0x01, 1081 - 0x4e, 0xf8, 0x27, 0x6a, 0x60, 0x82, 0x00, 0x01, 1082 - 0xf8, 0x30, 0x12, 0x54, 0x70, 0x00, 0x00, 0x16, 1083 - 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1084 - 0xf0, 0x73, 0x12, 0x90, 0x70, 0x00, 0x00, 0x16, 1085 - 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1086 - 0x72, 0x10, 0x2a, 0x9e, 0xf4, 0x95, 0xf4, 0xaf, 1087 - 0xf8, 0x30, 0x12, 0x6e, 0x76, 0x00, 0x00, 0x00, 1088 - 0x76, 0x01, 0x00, 0xbc, 0x70, 0x02, 0x00, 0x16, 1089 - 0x76, 0x03, 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 1090 - 0xf4, 0x95, 0x48, 0x11, 0xf0, 0x73, 0x12, 0x90, 1091 - 0x10, 0xf8, 0x27, 0x6e, 0xf8, 0x44, 0x12, 0x90, 1092 - 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0xbc, 1093 - 0x70, 0x02, 0x00, 0x16, 0x76, 0x03, 0x00, 0x00, 1094 - 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0x48, 0x11, 1095 - 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 0xf0, 0x10, 1096 - 0x13, 0x88, 0xf8, 0x42, 0x12, 0x90, 0x76, 0xf8, 1097 - 0x27, 0x6e, 0x00, 0x01, 0xf0, 0x73, 0x12, 0x90, 1098 - 0x56, 0xf8, 0x27, 0x66, 0xf0, 0x00, 0x00, 0x01, 1099 - 0x4e, 0xf8, 0x27, 0x66, 0x6d, 0xe9, 0x00, 0x5e, 1100 - 0x56, 0xf8, 0x27, 0x68, 0xf0, 0x00, 0x00, 0x01, 1101 - 0x4e, 0xf8, 0x27, 0x68, 0x71, 0x04, 0x00, 0x12, 1102 - 0x6e, 0xea, 0xff, 0xff, 0x12, 0x18, 0x70, 0x04, 1103 - 0x00, 0x12, 0xee, 0x06, 0x8a, 0x17, 0x8a, 0x16, 1104 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 1105 - 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1106 - 0xf0, 0x00, 0x25, 0xa0, 0x88, 0x11, 0xf4, 0x95, 1107 - 0xf4, 0x95, 0x76, 0x81, 0x00, 0xff, 0x76, 0x00, 1108 - 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1109 - 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x01, 0x76, 0x00, 1110 - 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0x48, 0x11, 1111 - 0xf2, 0x74, 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x07, 1112 - 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 1113 - 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1114 - 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 1115 - 0xf4, 0x95, 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 1116 - 0x76, 0x81, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1117 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 1118 - 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 1119 - 0x13, 0x03, 0x88, 0x11, 0xfa, 0x4d, 0x12, 0xec, 1120 - 0x71, 0x02, 0x00, 0x12, 0xf3, 0x10, 0x00, 0x01, 1121 - 0x89, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x12, 0xeb, 1122 - 0x70, 0x91, 0x00, 0x12, 0x8a, 0x11, 0xfc, 0x00, 1123 - 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1124 - 0xf7, 0xb8, 0xee, 0xfe, 0x10, 0xf8, 0x00, 0x08, 1125 - 0x11, 0x06, 0xf1, 0xc0, 0x83, 0x00, 0xf4, 0x85, 1126 - 0x11, 0x06, 0xf7, 0x85, 0x81, 0x06, 0xf6, 0xb8, 1127 - 0xec, 0x0f, 0x1e, 0x06, 0x61, 0x00, 0x80, 0x00, 1128 - 0xf8, 0x20, 0x13, 0x05, 0xf4, 0x84, 0xee, 0x02, 1129 - 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 1130 - 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1131 - 0xee, 0xfe, 0xf7, 0xb8, 0x80, 0x00, 0x10, 0xf8, 1132 - 0x00, 0x08, 0xf4, 0x85, 0x11, 0x06, 0xf7, 0x85, 1133 - 0x81, 0x06, 0xf6, 0xb8, 0xec, 0x0f, 0x1e, 0x06, 1134 - 0xf0, 0xf0, 0x61, 0x00, 0x80, 0x00, 0xf8, 0x20, 1135 - 0x13, 0x20, 0xf4, 0x84, 0xee, 0x02, 0x8a, 0x0d, 1136 - 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 0x4a, 0x11, 1137 - 0x77, 0x11, 0x00, 0x7b, 0x76, 0x81, 0x2e, 0xec, 1138 - 0x77, 0x11, 0x00, 0x7b, 0xee, 0xff, 0x71, 0x81, 1139 - 0x00, 0x11, 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 1140 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1141 - 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1142 - 0x00, 0x62, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x76, 1143 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x92, 0x00, 0x00, 1144 - 0x76, 0xe1, 0x00, 0x94, 0x00, 0x00, 0x76, 0xe1, 1145 - 0x00, 0xb0, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xb3, 1146 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0xbe, 0x00, 0x00, 1147 - 0x76, 0xe1, 0x00, 0xbf, 0x00, 0x00, 0x76, 0xe1, 1148 - 0x00, 0xc1, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc3, 1149 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc5, 0x00, 0x00, 1150 - 0x76, 0xe1, 0x00, 0xc7, 0x00, 0x00, 0x76, 0x81, 1151 - 0x00, 0x00, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1152 - 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xff, 1153 - 0xf4, 0x95, 0x71, 0x06, 0x00, 0x16, 0xfb, 0x80, 1154 - 0x16, 0xa2, 0x88, 0x17, 0xf4, 0x95, 0xf7, 0xb8, 1155 - 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1156 - 0xfa, 0x46, 0x13, 0x88, 0x77, 0x11, 0x00, 0x00, 1157 - 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1158 - 0xf8, 0x45, 0x13, 0xf9, 0x10, 0xf8, 0x00, 0x17, 1159 - 0xf8, 0x45, 0x14, 0x39, 0x10, 0xf8, 0x00, 0x17, 1160 - 0xf0, 0x10, 0x00, 0x01, 0xf8, 0x45, 0x14, 0x1f, 1161 - 0xf0, 0x73, 0x14, 0x52, 0x10, 0xf8, 0x00, 0x17, 1162 - 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x45, 0x13, 0xd3, 1163 - 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x06, 1164 - 0xf8, 0x44, 0x14, 0x52, 0x77, 0x12, 0x00, 0x7b, 1165 - 0x71, 0x82, 0x00, 0x14, 0x61, 0xe4, 0x00, 0x07, 1166 - 0x00, 0x40, 0xf8, 0x30, 0x14, 0x52, 0x49, 0x14, 1167 - 0x48, 0x17, 0xf6, 0x00, 0x88, 0x12, 0xf4, 0x95, 1168 - 0x77, 0x13, 0x00, 0x55, 0x77, 0x11, 0x00, 0x57, 1169 - 0x6d, 0xea, 0x00, 0x3b, 0xe5, 0x01, 0x10, 0xe6, 1170 - 0x00, 0x06, 0x80, 0x81, 0x48, 0x14, 0x00, 0xf8, 1171 - 0x00, 0x17, 0x88, 0x12, 0xf4, 0x95, 0x77, 0x11, 1172 - 0x00, 0x55, 0x10, 0xe2, 0x00, 0x40, 0x80, 0x81, 1173 - 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x07, 1174 - 0x80, 0x81, 0x77, 0x11, 0x00, 0x55, 0x10, 0xe2, 1175 - 0x00, 0x45, 0x80, 0x81, 0x10, 0xe6, 0x00, 0x08, 1176 - 0x77, 0x11, 0x00, 0x57, 0x80, 0x81, 0x77, 0x11, 1177 - 0x00, 0x55, 0x10, 0xe2, 0x00, 0x4a, 0x80, 0x81, 1178 - 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x09, 1179 - 0x80, 0x81, 0xf2, 0x73, 0x14, 0x52, 0x77, 0x11, 1180 - 0x03, 0xc0, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1181 - 0xf0, 0x00, 0x00, 0x07, 0x88, 0x13, 0xf4, 0x95, 1182 - 0xf4, 0x95, 0x96, 0x1b, 0xf8, 0x30, 0x14, 0x52, 1183 - 0x10, 0xe3, 0x00, 0x35, 0x77, 0x12, 0x00, 0x55, 1184 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1185 - 0x00, 0x04, 0x80, 0x82, 0x77, 0x12, 0x00, 0x55, 1186 - 0x10, 0xe3, 0x00, 0x37, 0x80, 0x82, 0x77, 0x12, 1187 - 0x00, 0x57, 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 1188 - 0x48, 0x11, 0xf0, 0x40, 0x00, 0x10, 0xf2, 0x73, 1189 - 0x14, 0x50, 0xf0, 0x40, 0x00, 0x20, 0x77, 0x12, 1190 - 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1191 - 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0d, 1192 - 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x34, 1193 - 0x77, 0x13, 0x00, 0x55, 0x80, 0x83, 0x77, 0x13, 1194 - 0x00, 0x57, 0x10, 0xe6, 0x00, 0x02, 0x80, 0x83, 1195 - 0x10, 0xe2, 0x00, 0x36, 0x77, 0x12, 0x00, 0x55, 1196 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1197 - 0x00, 0x03, 0x80, 0x82, 0x48, 0x11, 0xf0, 0x40, 1198 - 0x00, 0x04, 0xf2, 0x73, 0x14, 0x50, 0xf0, 0x40, 1199 - 0x00, 0x08, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1200 - 0xf0, 0x00, 0x00, 0x07, 0x88, 0x12, 0xf4, 0x95, 1201 - 0xf4, 0x95, 0x96, 0x0e, 0xf8, 0x30, 0x14, 0x52, 1202 - 0x10, 0xe2, 0x00, 0x33, 0x77, 0x12, 0x00, 0x55, 1203 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1204 - 0x00, 0x01, 0x80, 0x82, 0x48, 0x11, 0xf2, 0x73, 1205 - 0x14, 0x50, 0xf0, 0x40, 0x00, 0x02, 0x77, 0x12, 1206 - 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1207 - 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0f, 1208 - 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x32, 1209 - 0x77, 0x12, 0x00, 0x55, 0x77, 0x13, 0x00, 0x57, 1210 - 0x80, 0x82, 0x48, 0x11, 0xe7, 0x62, 0xf0, 0x40, 1211 - 0x00, 0x01, 0xe5, 0x01, 0x88, 0x11, 0xf4, 0x95, 1212 - 0x77, 0x12, 0x00, 0x7b, 0x48, 0x11, 0x71, 0x82, 1213 - 0x00, 0x12, 0x1a, 0xe2, 0x00, 0x07, 0x80, 0xe2, 1214 - 0x00, 0x07, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1215 - 0x8a, 0x17, 0x48, 0x11, 0x8a, 0x16, 0x8a, 0x11, 1216 - 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0x77, 0x0e, 1217 - 0x00, 0x05, 0x77, 0x12, 0x00, 0x55, 0xe8, 0x04, 1218 - 0xf6, 0xb8, 0x28, 0xe1, 0x00, 0x02, 0xee, 0xff, 1219 - 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0xf0, 0x20, 1220 - 0x80, 0x00, 0xee, 0x01, 0x1a, 0x82, 0x77, 0x12, 1221 - 0x00, 0x57, 0x80, 0x82, 0xe8, 0x01, 0x32, 0xe1, 1222 - 0x00, 0x02, 0xf5, 0x82, 0x77, 0x11, 0x00, 0x54, 1223 - 0xf6, 0x93, 0x18, 0x81, 0x77, 0x11, 0x00, 0x54, 1224 - 0xf2, 0xa0, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1225 - 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1226 - 0x71, 0x04, 0x00, 0x11, 0xfb, 0x80, 0x16, 0xa2, 1227 - 0x88, 0x16, 0xf4, 0x95, 0x77, 0x12, 0x00, 0x55, 1228 - 0x10, 0xe6, 0x00, 0x03, 0x80, 0x82, 0x77, 0x12, 1229 - 0x00, 0x56, 0x10, 0xe1, 0x00, 0x02, 0x77, 0x13, 1230 - 0x00, 0x56, 0x80, 0x82, 0x77, 0x12, 0x00, 0x56, 1231 - 0x10, 0xe1, 0x00, 0x03, 0x80, 0x82, 0x10, 0xe1, 1232 - 0x00, 0x04, 0x77, 0x12, 0x00, 0x56, 0x80, 0x82, 1233 - 0x77, 0x12, 0x00, 0x56, 0x10, 0xe1, 0x00, 0x01, 1234 - 0x80, 0x82, 0xe7, 0x12, 0xe5, 0x01, 0xf9, 0x80, 1235 - 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1236 - 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xf9, 1237 - 0x77, 0x11, 0x00, 0x7b, 0x76, 0x00, 0x00, 0x16, 1238 - 0x76, 0x01, 0x00, 0x17, 0x76, 0x02, 0x00, 0x1a, 1239 - 0x76, 0x03, 0x00, 0x1b, 0x76, 0x04, 0x00, 0x1c, 1240 - 0x76, 0x05, 0x00, 0x1d, 0x71, 0x81, 0x00, 0x17, 1241 - 0x71, 0xe7, 0x00, 0x06, 0x00, 0x11, 0x10, 0x81, 1242 - 0xf8, 0x44, 0x14, 0xdf, 0xf9, 0x80, 0x16, 0x53, 1243 - 0xf6, 0xb8, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x20, 1244 - 0xff, 0xff, 0xf6, 0xb8, 0xfb, 0x80, 0x16, 0x08, 1245 - 0xf0, 0x20, 0xff, 0xff, 0x77, 0x11, 0x00, 0x7b, 1246 - 0x71, 0x81, 0x00, 0x17, 0x76, 0xe7, 0x00, 0x06, 1247 - 0x00, 0x01, 0x48, 0x17, 0x77, 0x16, 0x00, 0x00, 1248 - 0x77, 0x10, 0x00, 0x04, 0x77, 0x15, 0x00, 0x03, 1249 - 0x77, 0x14, 0x00, 0x02, 0x77, 0x13, 0x00, 0x01, 1250 - 0xf0, 0x00, 0x00, 0x39, 0x76, 0xe7, 0x00, 0x08, 1251 - 0x00, 0x1f, 0x76, 0xe7, 0x00, 0x07, 0x00, 0x00, 1252 - 0x88, 0x0e, 0x77, 0x1a, 0x00, 0x05, 0x48, 0x17, 1253 - 0xf0, 0x00, 0x00, 0x09, 0x88, 0x12, 0x48, 0x18, 1254 - 0x88, 0x19, 0xe8, 0x00, 0xf0, 0x72, 0x15, 0x2c, 1255 - 0x73, 0x19, 0x00, 0x11, 0x76, 0x82, 0x00, 0x00, 1256 - 0x11, 0x91, 0x73, 0x11, 0x00, 0x19, 0x70, 0xe2, 1257 - 0x00, 0x03, 0x00, 0x16, 0x70, 0xe2, 0x00, 0x04, 1258 - 0x00, 0x13, 0x70, 0xe2, 0x00, 0x05, 0x00, 0x14, 1259 - 0x81, 0xe2, 0x00, 0x01, 0x70, 0xe2, 0x00, 0x06, 1260 - 0x00, 0x15, 0x70, 0xe2, 0x00, 0x07, 0x00, 0x10, 1261 - 0x80, 0xe2, 0x00, 0x02, 0x73, 0x0e, 0x00, 0x11, 1262 - 0xf1, 0x00, 0x00, 0x1e, 0x6d, 0xee, 0x00, 0x05, 1263 - 0x6d, 0xeb, 0x00, 0x05, 0x6d, 0xec, 0x00, 0x05, 1264 - 0x6d, 0xed, 0x00, 0x05, 0x6d, 0xe8, 0x00, 0x05, 1265 - 0xf0, 0x00, 0x00, 0x01, 0x81, 0x91, 0x6d, 0xea, 1266 - 0x00, 0x08, 0x73, 0x11, 0x00, 0x0e, 0xee, 0x07, 1267 - 0x76, 0xe7, 0x00, 0x41, 0x00, 0x24, 0x76, 0xe7, 1268 - 0x00, 0x46, 0x00, 0x25, 0x76, 0xe7, 0x00, 0x4b, 1269 - 0x00, 0x26, 0x76, 0xe7, 0x00, 0x50, 0x00, 0x27, 1270 - 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1271 - 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfe, 0x88, 0x11, 1272 - 0x56, 0x06, 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 1273 - 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 0xf0, 0x10, 1274 - 0xff, 0xff, 0xfa, 0x45, 0x15, 0x60, 0x77, 0x16, 1275 - 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 0x49, 0x11, 1276 - 0x10, 0x82, 0xf6, 0x03, 0xf0, 0x00, 0x00, 0x09, 1277 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1278 - 0xf8, 0x44, 0x15, 0x71, 0xf2, 0x73, 0x15, 0x71, 1279 - 0xf4, 0x95, 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 1280 - 0x10, 0x81, 0xf0, 0x00, 0x00, 0x09, 0x88, 0x11, 1281 - 0xf4, 0x95, 0x77, 0x12, 0x00, 0x06, 0x10, 0x81, 1282 - 0xf8, 0x45, 0x15, 0x5c, 0x6e, 0xea, 0xff, 0xff, 1283 - 0x15, 0x69, 0x6d, 0xe9, 0x00, 0x08, 0x76, 0x86, 1284 - 0x00, 0x01, 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 1285 - 0x10, 0xf8, 0x00, 0x0b, 0xf8, 0x45, 0x15, 0x7e, 1286 - 0xfb, 0x80, 0x15, 0x85, 0xf4, 0x95, 0x48, 0x16, 1287 - 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x02, 0x48, 0x16, 1288 - 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 1289 - 0xee, 0xff, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1290 - 0xf4, 0x95, 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 1291 - 0xf8, 0x30, 0x15, 0xc4, 0x10, 0xe1, 0x00, 0x03, 1292 - 0x77, 0x12, 0x00, 0x55, 0x80, 0x82, 0x77, 0x12, 1293 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1294 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1295 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1296 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1297 - 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1298 - 0x00, 0x02, 0xf0, 0x00, 0x00, 0x08, 0x32, 0xf8, 1299 - 0x00, 0x08, 0x77, 0x12, 0x00, 0x54, 0xe8, 0x01, 1300 - 0xf4, 0x82, 0xf4, 0x93, 0x18, 0x82, 0x77, 0x12, 1301 - 0x00, 0x54, 0xf0, 0x40, 0x00, 0x00, 0x80, 0x82, 1302 - 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x76, 1303 - 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x66, 1304 - 0xf0, 0x73, 0x16, 0x03, 0x77, 0x11, 0x00, 0x7b, 1305 - 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 0x00, 0x07, 1306 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1307 - 0x00, 0x09, 0xf9, 0x80, 0x15, 0x85, 0x77, 0x11, 1308 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1309 - 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1310 - 0x00, 0x08, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1311 - 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1312 - 0x15, 0x85, 0xf0, 0x00, 0x00, 0x10, 0x77, 0x11, 1313 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1314 - 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1315 - 0x00, 0x18, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1316 - 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1317 - 0x15, 0x85, 0xf0, 0x00, 0x00, 0x20, 0x77, 0x11, 1318 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1319 - 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1320 - 0x00, 0x28, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1321 - 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1322 - 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1323 - 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1324 - 0x16, 0x41, 0x77, 0x11, 0x00, 0x55, 0x76, 0x81, 1325 - 0x00, 0x1e, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1326 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1327 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1328 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1329 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1330 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1331 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1332 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1333 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1334 - 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0xf2, 0x73, 1335 - 0x16, 0x4e, 0x76, 0x81, 0x00, 0x00, 0x77, 0x11, 1336 - 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 1337 - 0x00, 0x07, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1338 - 0x10, 0xe1, 0x00, 0x39, 0xf9, 0x80, 0x16, 0x08, 1339 - 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1340 - 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 1341 - 0x10, 0x81, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x11, 1342 - 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 1343 - 0x16, 0x63, 0xf4, 0x95, 0xee, 0xff, 0x76, 0x81, 1344 - 0x00, 0x01, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1345 - 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1346 - 0x00, 0x08, 0xee, 0xff, 0x77, 0x11, 0x00, 0x01, 1347 - 0xe8, 0x01, 0xee, 0x01, 0xf4, 0x82, 0x1a, 0x81, 1348 - 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1349 - 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1350 - 0x00, 0x08, 0xee, 0xff, 0xe8, 0x01, 0x77, 0x11, 1351 - 0x00, 0x00, 0xf4, 0x82, 0xee, 0x01, 0xf4, 0x93, 1352 - 0x18, 0x81, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1353 - 0xf4, 0xe4, 0x4a, 0x11, 0xf0, 0x10, 0x00, 0x10, 1354 - 0x77, 0x11, 0x00, 0x00, 0x32, 0xf8, 0x00, 0x08, 1355 - 0xee, 0xff, 0x11, 0x81, 0xe8, 0x01, 0xee, 0x01, 1356 - 0x77, 0x11, 0x00, 0x00, 0xf4, 0x82, 0xf2, 0xa0, 1357 - 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1358 - 0xf2, 0x73, 0x16, 0x9e, 0xf6, 0xbb, 0xf4, 0x95, 1359 - 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1360 - 0xf2, 0x73, 0x16, 0xa6, 0xf7, 0xbb, 0xf4, 0x95, 1361 - 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1362 - 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 0x71, 0x04, 1363 - 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1364 - 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1365 - 0x76, 0x82, 0x00, 0x0e, 0x10, 0xe6, 0x00, 0x0e, 1366 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1367 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1368 - 0x00, 0x0d, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1369 - 0x10, 0xe6, 0x00, 0x0d, 0x80, 0x82, 0x71, 0xe1, 1370 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0c, 1371 - 0x10, 0xe6, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1372 - 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1373 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 0x10, 0xe6, 1374 - 0x00, 0x0b, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1375 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1376 - 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1377 - 0x00, 0x12, 0x10, 0xe6, 0x00, 0x0a, 0x80, 0x82, 1378 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1379 - 0x00, 0x09, 0x10, 0xe6, 0x00, 0x09, 0x71, 0xe1, 1380 - 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1381 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x08, 1382 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1383 - 0x00, 0x08, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1384 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 0x10, 0xe6, 1385 - 0x00, 0x07, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1386 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1387 - 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1388 - 0x00, 0x12, 0x10, 0xe6, 0x00, 0x06, 0x80, 0x82, 1389 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1390 - 0x00, 0x05, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1391 - 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 0x71, 0xe1, 1392 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x04, 1393 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1394 - 0x00, 0x04, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1395 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 0x71, 0xe1, 1396 - 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 0x00, 0x03, 1397 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1398 - 0x76, 0x82, 0x00, 0x02, 0x10, 0xe6, 0x00, 0x02, 1399 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1400 - 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1401 - 0x00, 0x01, 0x10, 0xe6, 0x00, 0x01, 0x71, 0xe1, 1402 - 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1403 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1404 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x13, 0xe7, 0x62, 1405 - 0xe5, 0x01, 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 1406 - 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1407 - 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 1408 - 0x00, 0x12, 0xee, 0xff, 0x76, 0x82, 0x00, 0x00, 1409 - 0xee, 0x01, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 1410 - 0x69, 0x81, 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 1411 - 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 1412 - 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1413 - 0xee, 0xff, 0x76, 0x82, 0x00, 0x01, 0xee, 0x01, 1414 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 0x69, 0x81, 1415 - 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1416 - 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1417 - 0xf0, 0x00, 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 1418 - 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 0x17, 0x9c, 1419 - 0xf4, 0x95, 0xee, 0xff, 0xf9, 0x80, 0x16, 0x53, 1420 - 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 1421 - 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 1422 - 0x76, 0x81, 0x00, 0x01, 0xee, 0x01, 0x76, 0xe1, 1423 - 0x00, 0x01, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1424 - 0x00, 0x21, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x20, 1425 - 0x76, 0xe1, 0x00, 0x04, 0x00, 0x23, 0x76, 0xe1, 1426 - 0x00, 0x05, 0x00, 0x22, 0x76, 0xe1, 0x00, 0x06, 1427 - 0x00, 0x38, 0x76, 0xe1, 0x00, 0x07, 0x00, 0x39, 1428 - 0x76, 0xe1, 0x00, 0x08, 0x00, 0x15, 0x76, 0xe1, 1429 - 0x00, 0x09, 0x00, 0x14, 0x76, 0xe1, 0x00, 0x0a, 1430 - 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x41, 1431 - 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x40, 0x76, 0xe1, 1432 - 0x00, 0x0d, 0x00, 0x43, 0x76, 0xe1, 0x00, 0x0e, 1433 - 0x00, 0x42, 0x76, 0xe1, 0x00, 0x0f, 0x00, 0x48, 1434 - 0x76, 0xe1, 0x00, 0x10, 0x00, 0x49, 0x76, 0xe1, 1435 - 0x00, 0x11, 0x00, 0x1b, 0x76, 0xe1, 0x00, 0x12, 1436 - 0x00, 0x1a, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1437 - 0x4a, 0x11, 0xee, 0xfd, 0x88, 0x11, 0x56, 0x06, 1438 - 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 0x77, 0x12, 1439 - 0x00, 0x7b, 0x77, 0x0e, 0x00, 0x09, 0x10, 0x82, 1440 - 0x28, 0xf8, 0x00, 0x11, 0xf0, 0x00, 0x00, 0x95, 1441 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1442 - 0xf8, 0x45, 0x17, 0xf0, 0xf2, 0x73, 0x17, 0xfd, 1443 - 0x77, 0x11, 0xff, 0xff, 0x76, 0x81, 0x00, 0x01, 1444 - 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 0x10, 0xf8, 1445 - 0x00, 0x0b, 0xf8, 0x45, 0x17, 0xfd, 0xfb, 0x80, 1446 - 0x18, 0x10, 0xf4, 0x95, 0x48, 0x11, 0xf9, 0x80, 1447 - 0x16, 0x9a, 0xee, 0x03, 0x48, 0x11, 0x8a, 0x11, 1448 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1449 - 0xf4, 0x95, 0xee, 0xff, 0x71, 0xe1, 0x00, 0x01, 1450 - 0x00, 0x11, 0xee, 0x01, 0x10, 0x81, 0x8a, 0x11, 1451 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1452 - 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1453 - 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1454 - 0x18, 0xc3, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1455 - 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 0x00, 0x06, 1456 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1457 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 1458 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1459 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1460 - 0x76, 0x82, 0x00, 0x02, 0x71, 0xe1, 0x00, 0x06, 1461 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1462 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 1463 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1464 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1465 - 0x76, 0x82, 0x00, 0x04, 0x71, 0xe1, 0x00, 0x06, 1466 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1467 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x05, 1468 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1469 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1470 - 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1471 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 0x71, 0xe1, 1472 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 1473 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1474 - 0x20, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1475 - 0x76, 0x82, 0x00, 0x08, 0x71, 0xe1, 0x00, 0x06, 1476 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1477 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x09, 1478 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1479 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1480 - 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1481 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1482 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 1483 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1484 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1485 - 0x76, 0x82, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1486 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1487 - 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0d, 1488 - 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1489 - 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1490 - 0x76, 0x82, 0x00, 0x0e, 0x71, 0xe1, 0x00, 0x06, 1491 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1492 - 0x00, 0x07, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1493 - 0x00, 0x08, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1494 - 0x00, 0x07, 0xf9, 0x80, 0x16, 0x66, 0x10, 0xe1, 1495 - 0x00, 0x08, 0xf9, 0x80, 0x16, 0x66, 0xf0, 0x73, 1496 - 0x18, 0xd1, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1497 - 0xfb, 0x80, 0x18, 0x10, 0xf0, 0x00, 0x00, 0x95, 1498 - 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xfb, 0x80, 1499 - 0x18, 0x10, 0xf0, 0x00, 0x00, 0x9e, 0xf9, 0x80, 1500 - 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1501 - 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 0xf4, 0x95, 1502 - 0x10, 0x04, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x11, 1503 - 0xee, 0x01, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1504 - 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1505 - 0x71, 0x04, 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 1506 - 0x88, 0x11, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x02, 1507 - 0x00, 0x12, 0x76, 0x82, 0x00, 0x10, 0x10, 0xe6, 1508 - 0x00, 0x01, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 1509 - 0x80, 0x82, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1510 - 0x10, 0xe6, 0x00, 0x02, 0x80, 0x82, 0xe7, 0x62, 1511 - 0x71, 0xe1, 0x00, 0x02, 0x00, 0x13, 0xe5, 0x01, 1512 - 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 1513 - 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 1514 - 0xee, 0x01, 0x10, 0xe1, 0x00, 0x01, 0x8a, 0x11, 1515 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 1516 - 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 1517 - 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1518 - 0xfa, 0x44, 0x19, 0x2a, 0xf4, 0x95, 0xee, 0xff, 1519 - 0xf9, 0x80, 0x16, 0x53, 0x77, 0x11, 0x00, 0x7b, 1520 - 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 0x88, 0x11, 1521 - 0xf4, 0x95, 0xf4, 0x95, 0x76, 0x81, 0x00, 0x01, 1522 - 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 0x00, 0x00, 1523 - 0x76, 0xe1, 0x00, 0x02, 0x00, 0x13, 0x76, 0xe1, 1524 - 0x00, 0x03, 0x00, 0x26, 0x76, 0xe1, 0x00, 0x04, 1525 - 0x00, 0x25, 0x76, 0xe1, 0x00, 0x05, 0x00, 0x24, 1526 - 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1527 - 0x00, 0x07, 0x00, 0x17, 0x76, 0xe1, 0x00, 0x08, 1528 - 0x00, 0x32, 0x76, 0xe1, 0x00, 0x09, 0x00, 0x31, 1529 - 0x76, 0xe1, 0x00, 0x0a, 0x00, 0x30, 0x8a, 0x11, 1530 - 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 1531 - 0x4a, 0x17, 0xee, 0xff, 0xf4, 0x95, 0x71, 0x06, 1532 - 0x00, 0x17, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1533 - 0xf4, 0x95, 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 1534 - 0xf0, 0x10, 0xff, 0xff, 0xfa, 0x45, 0x19, 0x73, 1535 - 0x77, 0x16, 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 1536 - 0x77, 0x0e, 0x00, 0x05, 0x10, 0x82, 0x28, 0xf8, 1537 - 0x00, 0x11, 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 1538 - 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf8, 0x44, 1539 - 0x19, 0x84, 0xf2, 0x73, 0x19, 0x84, 0xf4, 0x95, 1540 - 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1541 - 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 0xf4, 0x95, 1542 - 0x77, 0x12, 0x00, 0x02, 0x10, 0x81, 0xf8, 0x45, 1543 - 0x19, 0x6f, 0x6e, 0xea, 0xff, 0xff, 0x19, 0x7c, 1544 - 0x6d, 0xe9, 0x00, 0x05, 0x61, 0xf8, 0x00, 0x17, 1545 - 0x00, 0x01, 0xfa, 0x20, 0x19, 0x8f, 0x76, 0x86, 1546 - 0x00, 0x01, 0xfb, 0x80, 0x19, 0x97, 0xf4, 0x95, 1547 - 0x48, 0x16, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1548 - 0x8a, 0x17, 0x48, 0x16, 0x8a, 0x16, 0x8a, 0x11, 1549 - 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 0xfb, 0x80, 1550 - 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 1551 - 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 0x19, 0xcc, 1552 - 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 0x69, 0x82, 1553 - 0x00, 0x10, 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 1554 - 0x68, 0x82, 0xf7, 0xff, 0x71, 0xe1, 0x00, 0x02, 1555 - 0x00, 0x12, 0x68, 0x82, 0xfb, 0xff, 0x71, 0xe1, 1556 - 0x00, 0x02, 0x00, 0x12, 0x68, 0x82, 0xff, 0xf0, 1557 - 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 0x76, 0x82, 1558 - 0xff, 0xff, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1559 - 0x76, 0x82, 0xff, 0xff, 0x71, 0xe1, 0x00, 0x02, 1560 - 0x00, 0x12, 0x69, 0x82, 0x00, 0x20, 0x71, 0xe1, 1561 - 0x00, 0x02, 0x00, 0x11, 0xf2, 0x73, 0x19, 0xda, 1562 - 0x68, 0x81, 0xff, 0xef, 0x77, 0x11, 0x00, 0x7b, 1563 - 0x10, 0x81, 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 1564 - 0x00, 0xb4, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1565 - 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 0x00, 0xb9, 1566 - 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1567 - 0xf4, 0xe4, 0x00, 0xa4, 0x00, 0x00, 0x19, 0xdf, 1568 - 0x00, 0x01, 0x2a, 0xe6, 0x00, 0x00, 0x00, 0x01, 1569 - 0x2a, 0xe7, 0x00, 0x00, 0x00, 0x03, 0x2a, 0x12, 1570 - 0x0c, 0x01, 0xc3, 0x4f, 0x00, 0x00, 0x00, 0x01, 1571 - 0x2a, 0x15, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x16, 1572 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2a, 0x5d, 1573 - 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 1574 - 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 1575 - 0x00, 0x74, 0x00, 0x20, 0x00, 0x54, 0x00, 0x65, 1576 - 0x00, 0x63, 0x00, 0x68, 0x00, 0x6e, 0x00, 0x6f, 1577 - 0x00, 0x54, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e, 1578 - 0x00, 0x64, 0x00, 0x20, 0x00, 0x41, 0x00, 0x47, 1579 - 0x00, 0x00, 0x00, 0x04, 0x2a, 0x76, 0x00, 0x30, 1580 - 0x00, 0x2e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0c, 1581 - 0x2a, 0x7a, 0x00, 0x46, 0x00, 0x65, 0x00, 0x62, 1582 - 0x00, 0x20, 0x00, 0x32, 0x00, 0x37, 0x00, 0x20, 1583 - 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31, 1584 - 0x00, 0x00, 0x00, 0x09, 0x2a, 0x86, 0x00, 0x31, 1585 - 0x00, 0x34, 0x00, 0x3a, 0x00, 0x33, 0x00, 0x35, 1586 - 0x00, 0x3a, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00, 1587 - 0x00, 0x0f, 0x2a, 0x8f, 0x00, 0x00, 0x00, 0x00, 1588 - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 1589 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1590 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1591 - 0x00, 0x00, 0x00, 0x01, 0x2a, 0x9e, 0x00, 0x00, 1592 - 0x00, 0x01, 0x2a, 0x9f, 0x00, 0x00, 0x00, 0x01, 1593 - 0x2a, 0xa0, 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa1, 1594 - 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa2, 0x00, 0x00, 1595 - 0x00, 0x01, 0x29, 0x7e, 0x00, 0x00, 0x00, 0x02, 1596 - 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1597 - 0x29, 0x82, 0xff, 0xff, 0x00, 0x01, 0x2a, 0xa7, 1598 - 0x00, 0x00, 0x00, 0x05, 0x2a, 0xa8, 0x71, 0x41, 1599 - 0x20, 0x00, 0x20, 0x00, 0x00, 0x23, 0x04, 0x00, 1600 - 0x00, 0x0a, 0x2a, 0xad, 0x00, 0x00, 0x00, 0x00, 1601 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1602 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1603 - 0x00, 0x0f, 0x2a, 0xb7, 0x00, 0x00, 0x00, 0x00, 1604 - 0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x82, 0x40, 1605 - 0x00, 0x08, 0x30, 0x7f, 0x00, 0x80, 0x01, 0x80, 1606 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1607 - 0x00, 0x00, 0x00, 0x01, 0x27, 0x6e, 0x00, 0x00, 1608 - 0x00, 0x01, 0x27, 0x6f, 0x00, 0x00, 0x00, 0x00, 1609 - 0x00, 0x09, 0x00, 0x00, 0x1a, 0x83, 0x04, 0xe8, 1610 - 0x04, 0xcf, 0x04, 0xc5, 0x04, 0xba, 0x04, 0xb0, 1611 - 0x04, 0xac, 0x04, 0x9c, 0x04, 0x8c, 0x04, 0x81, 1612 - 0x00, 0x78, 0x00, 0x00, 0x01, 0x00, 0xf2, 0x73, 1613 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1614 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1615 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1616 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1617 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1618 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1619 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1620 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1621 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1622 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1623 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1624 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1625 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1626 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1627 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1628 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1629 - 0x07, 0xaa, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1630 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1631 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1632 - 0x02, 0x23, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1633 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1634 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1635 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1636 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1637 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1638 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1639 - 0x05, 0xe5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1640 - 0x02, 0xb5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1641 - 0x0e, 0x33, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1642 - 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0x00, 0x00, 5 + 0x08, 0xaa, 0x00, 0x18, 0x00, 0x03, 0x08, 0x00, 6 + 0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x18, 0x5f, 7 + 0x00, 0x00, 0x01, 0x80, 0x77, 0x18, 0x2a, 0xeb, 8 + 0x6b, 0xf8, 0x00, 0x18, 0x03, 0xff, 0x68, 0xf8, 9 + 0x00, 0x18, 0xff, 0xfe, 0xf7, 0xb8, 0xf7, 0xbe, 10 + 0xf6, 0xb9, 0xf4, 0xa0, 0xf6, 0xb7, 0xf6, 0xb5, 11 + 0xf6, 0xb6, 0xf0, 0x20, 0x19, 0xdf, 0xf1, 0x00, 12 + 0x00, 0x01, 0xf8, 0x4d, 0x01, 0xab, 0xf6, 0xb8, 13 + 0xf0, 0x20, 0x19, 0xdf, 0xf0, 0x73, 0x01, 0xa5, 14 + 0x7e, 0xf8, 0x00, 0x12, 0xf0, 0x00, 0x00, 0x01, 15 + 0x47, 0xf8, 0x00, 0x11, 0x7e, 0x92, 0x00, 0xf8, 16 + 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x7e, 0xf8, 17 + 0x00, 0x11, 0xf0, 0x00, 0x00, 0x01, 0x6c, 0x89, 18 + 0x01, 0x9a, 0xf7, 0xb8, 0xee, 0xfc, 0xf0, 0x20, 19 + 0xff, 0xff, 0xf1, 0x00, 0x00, 0x01, 0xf8, 0x4d, 20 + 0x01, 0xbf, 0xf2, 0x73, 0x01, 0xb9, 0x4e, 0x02, 21 + 0xf4, 0x95, 0xf5, 0xe3, 0x56, 0x02, 0x7e, 0x00, 22 + 0x11, 0x00, 0xfa, 0x4c, 0x01, 0xb7, 0x6b, 0x03, 23 + 0x00, 0x01, 0xf6, 0xb8, 0xee, 0x04, 0xf0, 0x74, 24 + 0x0d, 0xa7, 0xf0, 0x74, 0x01, 0xc5, 0x4a, 0x11, 25 + 0x4a, 0x16, 0x72, 0x11, 0x2a, 0xe6, 0x10, 0xf8, 26 + 0x00, 0x11, 0xfa, 0x45, 0x01, 0xdb, 0xf4, 0x95, 27 + 0xee, 0xff, 0x48, 0x11, 0xf0, 0x00, 0x2a, 0xc6, 28 + 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0xee, 29 + 0xff, 0xff, 0xf4, 0xe3, 0x6c, 0xe9, 0xff, 0xff, 30 + 0x01, 0xd5, 0x10, 0xf8, 0x2a, 0xe7, 0xf8, 0x45, 31 + 0x01, 0xe2, 0x10, 0xf8, 0x2a, 0xe7, 0xf4, 0xe3, 32 + 0xf0, 0x74, 0x01, 0xff, 0xee, 0x01, 0x8a, 0x16, 33 + 0x8a, 0x11, 0xfc, 0x00, 0xf7, 0xb8, 0xe9, 0x20, 34 + 0x4a, 0x11, 0x09, 0xf8, 0x2a, 0xe6, 0xf8, 0x4e, 35 + 0x01, 0xf3, 0xf2, 0x73, 0x01, 0xfd, 0xf4, 0x95, 36 + 0xe8, 0x01, 0x72, 0x11, 0x2a, 0xe6, 0x49, 0x11, 37 + 0x80, 0xe1, 0x2a, 0xc6, 0xf3, 0x00, 0x00, 0x01, 38 + 0xe8, 0x00, 0x81, 0xf8, 0x2a, 0xe6, 0x8a, 0x11, 39 + 0xfc, 0x00, 0xf4, 0x95, 0xf0, 0x73, 0x02, 0x00, 40 + 0x10, 0xf8, 0x2a, 0x0f, 0xfc, 0x00, 0x4a, 0x11, 41 + 0xf0, 0x74, 0x02, 0x02, 0x80, 0xf8, 0x2a, 0x10, 42 + 0x73, 0x08, 0x00, 0x09, 0x40, 0xf8, 0x2a, 0x15, 43 + 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 44 + 0x03, 0xe8, 0xf5, 0xa9, 0xf8, 0x30, 0x02, 0x21, 45 + 0x71, 0xf8, 0x2a, 0x10, 0x2a, 0x15, 0x56, 0xf8, 46 + 0x2a, 0x0c, 0xf0, 0xe3, 0x4e, 0xf8, 0x2a, 0x16, 47 + 0xe8, 0x00, 0x4e, 0xf8, 0x2a, 0x0c, 0x8a, 0x11, 48 + 0xfc, 0x00, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 49 + 0x68, 0xf8, 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 50 + 0x00, 0x07, 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 51 + 0xff, 0xfc, 0x6b, 0xf8, 0x2a, 0x0f, 0x00, 0x01, 52 + 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x06, 0xf4, 0xeb, 53 + 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x0f, 0x00, 0x00, 54 + 0x76, 0x00, 0x00, 0x00, 0xfb, 0x80, 0x19, 0x4c, 55 + 0xf4, 0x95, 0xe8, 0x00, 0x80, 0xf8, 0x2a, 0x11, 56 + 0xf9, 0x80, 0x19, 0x07, 0x80, 0xf8, 0x2a, 0x0e, 57 + 0xf9, 0x80, 0x16, 0x66, 0x76, 0x00, 0x2a, 0x12, 58 + 0x10, 0xf8, 0x2a, 0x11, 0xf9, 0x80, 0x18, 0xe3, 59 + 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x66, 60 + 0x10, 0xf8, 0x2a, 0x0e, 0xf9, 0x80, 0x16, 0x87, 61 + 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf6, 0xb8, 62 + 0xf4, 0x95, 0xf0, 0x20, 0x80, 0x00, 0x11, 0xf8, 63 + 0x2a, 0x5a, 0xf8, 0x4d, 0x02, 0x93, 0x11, 0xf8, 64 + 0x2a, 0x9f, 0xf8, 0x4c, 0x02, 0x7c, 0x77, 0x12, 65 + 0x2a, 0x39, 0x49, 0x12, 0x01, 0xf8, 0x2a, 0x9f, 66 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 67 + 0x00, 0x11, 0x6c, 0xe1, 0xff, 0xab, 0x02, 0x93, 68 + 0x6b, 0xf8, 0x2a, 0x9f, 0x00, 0x01, 0xe9, 0x05, 69 + 0x01, 0xe2, 0x00, 0x03, 0x81, 0xf8, 0x2a, 0xa0, 70 + 0xf0, 0x73, 0x02, 0x95, 0x72, 0x11, 0x2a, 0x9f, 71 + 0xf4, 0x95, 0x10, 0xe1, 0x2a, 0x39, 0x6b, 0xf8, 72 + 0x2a, 0x9f, 0x00, 0x01, 0x11, 0xf8, 0x2a, 0x9f, 73 + 0x09, 0xf8, 0x2a, 0xa0, 0xf8, 0x4c, 0x02, 0x93, 74 + 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 0x76, 0xf8, 75 + 0x2a, 0x9f, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa0, 76 + 0x00, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x48, 0x11, 77 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 78 + 0x10, 0xf8, 0x2a, 0x5a, 0xf8, 0x44, 0x02, 0xb2, 79 + 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x01, 0xf0, 0x74, 80 + 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 81 + 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 0x02, 0xb2, 82 + 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 0x80, 0x00, 83 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0xd6, 84 + 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 85 + 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 86 + 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 87 + 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 88 + 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 89 + 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 90 + 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 91 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 92 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 93 + 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 94 + 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xfd, 95 + 0xf0, 0x74, 0x02, 0x58, 0x88, 0x11, 0xf4, 0x95, 96 + 0x77, 0x10, 0x80, 0x00, 0xf4, 0xa9, 0xf8, 0x30, 97 + 0x02, 0xef, 0x48, 0x11, 0xf0, 0x30, 0x00, 0xff, 98 + 0x80, 0x00, 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 99 + 0x18, 0xd6, 0xee, 0x03, 0x8a, 0x18, 0xf4, 0x95, 100 + 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 0x8a, 0x1a, 101 + 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 0x8a, 0x19, 102 + 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x15, 103 + 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 0x8a, 0x11, 104 + 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 105 + 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 0xf4, 0xeb, 106 + 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 107 + 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 108 + 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 109 + 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 110 + 0x00, 0x03, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 111 + 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 112 + 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 113 + 0xf4, 0x95, 0x10, 0x81, 0x6f, 0xf8, 0x2a, 0x9e, 114 + 0x0c, 0x88, 0xe8, 0xff, 0x18, 0xe1, 0x00, 0x01, 115 + 0x1a, 0xf8, 0x2a, 0x9e, 0xf0, 0x30, 0x1f, 0xff, 116 + 0x80, 0xf8, 0x2a, 0x9e, 0x8a, 0x11, 0xfc, 0x00, 117 + 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 118 + 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 0x11, 0xe2, 119 + 0x00, 0x01, 0x81, 0xe1, 0x00, 0x01, 0x11, 0xe2, 120 + 0x00, 0x02, 0x81, 0xe1, 0x00, 0x02, 0x76, 0xe1, 121 + 0x00, 0x03, 0x00, 0x02, 0x48, 0x08, 0x6f, 0xe1, 122 + 0x00, 0x04, 0x0c, 0x98, 0xf0, 0x30, 0x00, 0xff, 123 + 0x80, 0xe1, 0x00, 0x05, 0x76, 0xe1, 0x00, 0x06, 124 + 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 125 + 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 0x2a, 0x39, 126 + 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 0x2a, 0x18, 127 + 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 0x00, 0x01, 128 + 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 0x00, 0x02, 129 + 0x76, 0xe1, 0x00, 0x03, 0x00, 0x04, 0x48, 0x11, 130 + 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 0xf4, 0x95, 131 + 0x77, 0x13, 0x2a, 0x76, 0xe9, 0x00, 0xe5, 0x98, 132 + 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 0x48, 0x0b, 133 + 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x03, 0x71, 134 + 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 135 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xf0, 136 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0x81, 137 + 0x00, 0x14, 0x71, 0xe1, 0x00, 0x01, 0x00, 0x15, 138 + 0x49, 0x11, 0xf3, 0x00, 0x00, 0x02, 0x89, 0x11, 139 + 0xe7, 0x82, 0x6d, 0xea, 0x00, 0x04, 0xe7, 0x83, 140 + 0x6d, 0xeb, 0x00, 0x0a, 0x77, 0x1a, 0x00, 0x05, 141 + 0xf0, 0x72, 0x03, 0xaa, 0x11, 0x81, 0xf2, 0xe8, 142 + 0x80, 0x82, 0xe9, 0xff, 0x19, 0xe1, 0x00, 0x01, 143 + 0xf1, 0xa0, 0x81, 0x92, 0x11, 0xe1, 0x00, 0x0c, 144 + 0xf2, 0xe8, 0x80, 0x83, 0xe9, 0xff, 0x19, 0xe1, 145 + 0x00, 0x0d, 0xf1, 0xa0, 0x81, 0x93, 0x6d, 0xe9, 146 + 0x00, 0x02, 0x48, 0x18, 0x49, 0x18, 0x70, 0x00, 147 + 0x00, 0x15, 0xf0, 0x00, 0x00, 0x04, 0xf3, 0x00, 148 + 0x00, 0x0a, 0x80, 0x01, 0x81, 0x02, 0xf2, 0x74, 149 + 0x0e, 0x54, 0xf4, 0x95, 0x48, 0x14, 0xee, 0x10, 150 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf0, 0x74, 151 + 0x0c, 0x5e, 0x80, 0xf8, 0x2a, 0x5c, 0x77, 0x12, 152 + 0x2a, 0x39, 0x76, 0x82, 0x00, 0x55, 0x77, 0x11, 153 + 0x2a, 0x18, 0x10, 0xe1, 0x00, 0x01, 0x80, 0xe2, 154 + 0x00, 0x01, 0x10, 0xe1, 0x00, 0x02, 0x80, 0xe2, 155 + 0x00, 0x02, 0x76, 0xe2, 0x00, 0x03, 0x00, 0x1c, 156 + 0xf6, 0xb8, 0x56, 0xf8, 0x2a, 0x16, 0xf0, 0xf0, 157 + 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x07, 0x56, 0xf8, 158 + 0x2a, 0x16, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 159 + 0x80, 0xe2, 0x00, 0x06, 0x56, 0xf8, 0x2a, 0x16, 160 + 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 161 + 0x00, 0x05, 0x57, 0xf8, 0x2a, 0x16, 0xe8, 0xff, 162 + 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x04, 0x56, 0xf8, 163 + 0x27, 0x6c, 0xf0, 0xf0, 0xf0, 0xf8, 0x80, 0xe2, 164 + 0x00, 0x0b, 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf0, 165 + 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0a, 166 + 0x56, 0xf8, 0x27, 0x6c, 0xf1, 0xf8, 0xe8, 0xff, 167 + 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x09, 0xe8, 0xff, 168 + 0x57, 0xf8, 0x27, 0x6c, 0xf2, 0x80, 0x80, 0xe2, 169 + 0x00, 0x08, 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0xf0, 170 + 0xf0, 0xf8, 0x80, 0xe2, 0x00, 0x0f, 0x56, 0xf8, 171 + 0x27, 0x6a, 0xf1, 0xf0, 0xe8, 0xff, 0xf2, 0x80, 172 + 0x80, 0xe2, 0x00, 0x0e, 0x56, 0xf8, 0x27, 0x6a, 173 + 0xf1, 0xf8, 0xe8, 0xff, 0xf2, 0x80, 0x80, 0xe2, 174 + 0x00, 0x0d, 0x57, 0xf8, 0x27, 0x6a, 0xe8, 0xff, 175 + 0xf2, 0x80, 0x80, 0xe2, 0x00, 0x0c, 0x76, 0xe2, 176 + 0x00, 0x13, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x12, 177 + 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x5c, 0x0c, 0x58, 178 + 0x80, 0xe2, 0x00, 0x11, 0xe8, 0xff, 0x18, 0xf8, 179 + 0x2a, 0x5c, 0x80, 0xe2, 0x00, 0x10, 0x76, 0xe2, 180 + 0x00, 0x17, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x16, 181 + 0x00, 0x00, 0x6f, 0xf8, 0x2a, 0x9e, 0x0c, 0x58, 182 + 0x80, 0xe2, 0x00, 0x15, 0xe8, 0xff, 0x18, 0xf8, 183 + 0x2a, 0x9e, 0x80, 0xe2, 0x00, 0x14, 0x76, 0xe2, 184 + 0x00, 0x1b, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1a, 185 + 0x00, 0x00, 0x76, 0xe2, 0x00, 0x19, 0x00, 0x00, 186 + 0x70, 0xe2, 0x00, 0x18, 0x27, 0x6e, 0x76, 0xe2, 187 + 0x00, 0x1f, 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1e, 188 + 0x00, 0x00, 0x76, 0xe2, 0x00, 0x1d, 0x00, 0x00, 189 + 0x76, 0xe2, 0x00, 0x1c, 0x00, 0x00, 0x76, 0xe2, 190 + 0x00, 0x20, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 191 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 192 + 0x10, 0xf8, 0x2a, 0x38, 0xf8, 0x45, 0x04, 0xed, 193 + 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x02, 194 + 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x08, 195 + 0x6d, 0xe9, 0xff, 0xdf, 0xf6, 0xa9, 0xf8, 0x20, 196 + 0x04, 0x75, 0xf0, 0x73, 0x04, 0x7d, 0xf0, 0x10, 197 + 0x00, 0x21, 0xf0, 0x00, 0x1a, 0x83, 0x48, 0x08, 198 + 0x7e, 0xf8, 0x00, 0x08, 0xf4, 0xe2, 0xf0, 0x74, 199 + 0x03, 0x0a, 0xf0, 0x73, 0x04, 0xea, 0x48, 0x12, 200 + 0xf2, 0x74, 0x03, 0x23, 0xf0, 0x00, 0x00, 0x04, 201 + 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 202 + 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 203 + 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 204 + 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x69, 205 + 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 206 + 0xf0, 0x73, 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 207 + 0xe8, 0xff, 0x6f, 0xe1, 0x00, 0x04, 0x0d, 0x48, 208 + 0x18, 0xe1, 0x00, 0x05, 0xf2, 0x74, 0x09, 0x41, 209 + 0xf4, 0x95, 0xf2, 0xa0, 0xf0, 0x74, 0x03, 0x36, 210 + 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0x57, 211 + 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 0x2a, 0x1c, 212 + 0xf0, 0x74, 0x12, 0xa4, 0xf2, 0x74, 0x03, 0x36, 213 + 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 214 + 0x48, 0x12, 0xf2, 0x74, 0x03, 0x80, 0xf0, 0x00, 215 + 0x00, 0x04, 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 216 + 0xe8, 0x00, 0xf0, 0x73, 0x04, 0xea, 0x10, 0xf8, 217 + 0x2a, 0x1c, 0xf0, 0x74, 0x12, 0xc5, 0xf2, 0x74, 218 + 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 0xf0, 0x73, 219 + 0x04, 0xea, 0x77, 0x11, 0x2a, 0x18, 0xe8, 0xff, 220 + 0x6f, 0xe1, 0x00, 0x06, 0x0d, 0x48, 0x18, 0xe1, 221 + 0x00, 0x07, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 222 + 0xf2, 0xa0, 0x70, 0x00, 0x00, 0x12, 0x80, 0x01, 223 + 0x10, 0xe1, 0x00, 0x04, 0xf0, 0x74, 0x0e, 0x7a, 224 + 0xf2, 0x74, 0x03, 0x36, 0xf4, 0x95, 0xe8, 0x00, 225 + 0xf0, 0x73, 0x04, 0xea, 0xf0, 0x74, 0x03, 0xbc, 226 + 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x00, 0xee, 0x02, 227 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 228 + 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 229 + 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 230 + 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 231 + 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x09, 232 + 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 233 + 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x86, 0xe9, 0x00, 234 + 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 235 + 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 236 + 0x05, 0x0a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 237 + 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 238 + 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 239 + 0x77, 0x13, 0x2a, 0x18, 0x10, 0xe3, 0x00, 0x01, 240 + 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe3, 0x00, 0x02, 241 + 0x80, 0xe1, 0x00, 0x02, 0x13, 0xe3, 0x00, 0x03, 242 + 0x81, 0xe1, 0x00, 0x03, 0x48, 0x11, 0x77, 0x11, 243 + 0x00, 0x00, 0xf8, 0x4d, 0x05, 0x44, 0xf0, 0x00, 244 + 0x00, 0x04, 0x88, 0x12, 0x48, 0x13, 0xf0, 0x00, 245 + 0x00, 0x04, 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 246 + 0xe5, 0x98, 0x6d, 0x91, 0xf6, 0xb8, 0x48, 0x11, 247 + 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 0x05, 0x3a, 248 + 0xf0, 0x20, 0x2a, 0x39, 0x49, 0x11, 0xf5, 0x00, 249 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x76, 0xe1, 250 + 0x00, 0x04, 0x00, 0xaa, 0xf0, 0x74, 0x02, 0x98, 251 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x77, 0x11, 252 + 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 0x77, 0x12, 253 + 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 0x80, 0xe1, 254 + 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 0x80, 0xe1, 255 + 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x0c, 256 + 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x12, 257 + 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x7a, 0xe9, 0x00, 258 + 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 0xf6, 0xb8, 259 + 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 0xf8, 0x43, 260 + 0x05, 0x6a, 0x76, 0x82, 0x00, 0xaa, 0xf0, 0x74, 261 + 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 262 + 0x77, 0x11, 0x2a, 0x39, 0x76, 0x81, 0x00, 0x55, 263 + 0x77, 0x12, 0x2a, 0x18, 0x10, 0xe2, 0x00, 0x01, 264 + 0x80, 0xe1, 0x00, 0x01, 0x10, 0xe2, 0x00, 0x02, 265 + 0x80, 0xe1, 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 266 + 0x00, 0x19, 0x48, 0x11, 0xf0, 0x00, 0x00, 0x04, 267 + 0x88, 0x12, 0xf4, 0x95, 0x77, 0x13, 0x2a, 0x5d, 268 + 0xe9, 0x00, 0xe5, 0x98, 0xf3, 0x00, 0x00, 0x01, 269 + 0xf6, 0xb8, 0x48, 0x0b, 0x08, 0xf8, 0x2a, 0x3c, 270 + 0xf8, 0x43, 0x05, 0x93, 0x76, 0x82, 0x00, 0xaa, 271 + 0xf0, 0x74, 0x02, 0x98, 0x8a, 0x11, 0xfc, 0x00, 272 + 0x4a, 0x11, 0x88, 0x11, 0x10, 0xf8, 0x2a, 0x38, 273 + 0xf8, 0x44, 0x05, 0xe3, 0x10, 0xf8, 0x2a, 0xa1, 274 + 0xf8, 0x44, 0x05, 0xba, 0x6c, 0xe1, 0xff, 0x56, 275 + 0x05, 0xe3, 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 276 + 0x70, 0xe2, 0x2a, 0x18, 0x00, 0x11, 0x6b, 0xf8, 277 + 0x2a, 0xa1, 0x00, 0x01, 0xf0, 0x73, 0x05, 0xe3, 278 + 0x72, 0x12, 0x2a, 0xa1, 0xf4, 0x95, 0x70, 0xe2, 279 + 0x2a, 0x18, 0x00, 0x11, 0x10, 0xf8, 0x2a, 0xa1, 280 + 0xf0, 0x00, 0x00, 0x01, 0x88, 0x12, 0xf4, 0x95, 281 + 0xf4, 0x95, 0x6e, 0xe2, 0xff, 0xfc, 0x05, 0xd1, 282 + 0x73, 0x12, 0x2a, 0xa1, 0x48, 0x11, 0xf0, 0x00, 283 + 0x00, 0x05, 0x80, 0xf8, 0x2a, 0xa2, 0x10, 0xf8, 284 + 0x2a, 0xa1, 0x08, 0xf8, 0x2a, 0xa2, 0xf8, 0x44, 285 + 0x05, 0xe3, 0x6c, 0xe1, 0xff, 0xab, 0x05, 0xdd, 286 + 0x76, 0xf8, 0x2a, 0x38, 0x00, 0x01, 0x76, 0xf8, 287 + 0x2a, 0xa1, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa2, 288 + 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0xf4, 0x95, 289 + 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 0x4a, 0x0b, 290 + 0x4a, 0x0c, 0x4a, 0x0d, 0x4a, 0x10, 0x4a, 0x11, 291 + 0x4a, 0x12, 0x4a, 0x13, 0x4a, 0x14, 0x4a, 0x15, 292 + 0x4a, 0x16, 0x4a, 0x17, 0x4a, 0x17, 0x4a, 0x19, 293 + 0x4a, 0x0e, 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1a, 294 + 0x4a, 0x1d, 0x4a, 0x1b, 0x4a, 0x1c, 0x68, 0xf8, 295 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 296 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 297 + 0x48, 0x18, 0x68, 0xf8, 0x00, 0x18, 0xff, 0xfe, 298 + 0xf4, 0x95, 0xf4, 0x95, 0x4a, 0x08, 0xee, 0xff, 299 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x18, 0x04, 300 + 0xf0, 0x74, 0x05, 0xa2, 0xee, 0x01, 0x8a, 0x18, 301 + 0xf4, 0x95, 0x8a, 0x1c, 0x8a, 0x1b, 0x8a, 0x1d, 302 + 0x8a, 0x1a, 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0e, 303 + 0x8a, 0x19, 0x8a, 0x17, 0x8a, 0x17, 0x8a, 0x16, 304 + 0x8a, 0x15, 0x8a, 0x14, 0x8a, 0x13, 0x8a, 0x12, 305 + 0x8a, 0x11, 0x8a, 0x10, 0x8a, 0x0d, 0x8a, 0x0c, 306 + 0x8a, 0x0b, 0x8a, 0x0a, 0x8a, 0x09, 0x8a, 0x08, 307 + 0xf4, 0xeb, 0xee, 0xfd, 0x76, 0xf8, 0x2a, 0x38, 308 + 0x00, 0x00, 0x76, 0xf8, 0x2a, 0x5a, 0x00, 0x00, 309 + 0xe8, 0x01, 0x4e, 0x00, 0xfb, 0x80, 0x17, 0xd6, 310 + 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x2a, 0x5b, 311 + 0x76, 0x00, 0x2a, 0x8f, 0xf9, 0x80, 0x16, 0xaa, 312 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x5c, 313 + 0x10, 0xf8, 0x2a, 0x5b, 0xf9, 0x80, 0x17, 0x6f, 314 + 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1a, 315 + 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1a, 316 + 0xfb, 0x80, 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x1b, 317 + 0xfb, 0x80, 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x1b, 318 + 0xee, 0x03, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 319 + 0x13, 0x02, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 320 + 0x06, 0x6a, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 321 + 0xf4, 0x95, 0xf0, 0x72, 0x06, 0x69, 0x1c, 0x91, 322 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 323 + 0x12, 0x03, 0x11, 0x02, 0xf8, 0x45, 0x06, 0x79, 324 + 0xf0, 0x10, 0x00, 0x01, 0x88, 0x1a, 0xf4, 0x95, 325 + 0xf0, 0x72, 0x06, 0x78, 0x81, 0x91, 0x8a, 0x11, 326 + 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 327 + 0x00, 0x11, 0x11, 0x03, 0x61, 0xf8, 0x00, 0x11, 328 + 0x00, 0x01, 0xf8, 0x30, 0x06, 0x91, 0xf6, 0xb8, 329 + 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 330 + 0xf3, 0xe8, 0xe8, 0xff, 0x18, 0x81, 0xf1, 0xa0, 331 + 0x81, 0x81, 0xf0, 0x73, 0x06, 0x9d, 0xf6, 0xb8, 332 + 0x6f, 0xf8, 0x00, 0x11, 0x0c, 0x1f, 0x88, 0x11, 333 + 0xf3, 0x30, 0x00, 0xff, 0xf0, 0x20, 0xff, 0x00, 334 + 0x18, 0x81, 0xf1, 0xa0, 0x81, 0x81, 0x8a, 0x11, 335 + 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x11, 0x02, 336 + 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 337 + 0x06, 0xb1, 0x49, 0x0b, 0xf6, 0x1f, 0x88, 0x11, 338 + 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf2, 0x73, 339 + 0x06, 0xb8, 0xf0, 0x30, 0x00, 0xff, 0x49, 0x0b, 340 + 0xf6, 0x1f, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 341 + 0x12, 0x81, 0xf4, 0x78, 0x8a, 0x11, 0xfc, 0x00, 342 + 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x12, 343 + 0x13, 0x03, 0x88, 0x11, 0xe8, 0x00, 0xf8, 0x4d, 344 + 0x06, 0xcc, 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 345 + 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xcb, 0x11, 0x92, 346 + 0xf2, 0xc0, 0x81, 0x91, 0x8a, 0x11, 0xfc, 0x00, 347 + 0x88, 0x12, 0x12, 0x02, 0x71, 0x01, 0x00, 0x13, 348 + 0xf8, 0x45, 0x06, 0xdb, 0xf0, 0x10, 0x00, 0x01, 349 + 0x88, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x06, 0xda, 350 + 0xe5, 0x98, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 351 + 0x88, 0x11, 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 352 + 0x00, 0x12, 0x61, 0xf8, 0x00, 0x12, 0x00, 0x01, 353 + 0xf8, 0x20, 0x06, 0xea, 0xf0, 0x00, 0x00, 0x01, 354 + 0xf6, 0xb8, 0xf0, 0x00, 0x00, 0x01, 0x6f, 0xf8, 355 + 0x00, 0x12, 0x0f, 0x1f, 0x48, 0x08, 0x81, 0x00, 356 + 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xba, 357 + 0xf4, 0x95, 0x48, 0x11, 0xee, 0x02, 0x8a, 0x11, 358 + 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x88, 0x12, 359 + 0x11, 0x04, 0x10, 0x06, 0x71, 0x05, 0x00, 0x13, 360 + 0x61, 0xf8, 0x00, 0x13, 0x00, 0x01, 0xf8, 0x20, 361 + 0x07, 0x09, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 362 + 0x00, 0x01, 0x88, 0x11, 0xf6, 0xb8, 0x6f, 0xf8, 363 + 0x00, 0x13, 0x0f, 0x1f, 0x81, 0x00, 0x48, 0x11, 364 + 0xf4, 0x7f, 0x80, 0x01, 0xf2, 0x74, 0x06, 0xce, 365 + 0xf4, 0x95, 0x48, 0x12, 0x48, 0x11, 0xf0, 0x30, 366 + 0xff, 0xfe, 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 367 + 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xfc, 368 + 0xf4, 0x95, 0x80, 0x02, 0x71, 0x08, 0x00, 0x16, 369 + 0x10, 0x09, 0x71, 0x0b, 0x00, 0x17, 0x80, 0x03, 370 + 0x71, 0x0a, 0x00, 0x11, 0x48, 0x17, 0xf8, 0x45, 371 + 0x07, 0x3f, 0x70, 0x00, 0x00, 0x11, 0x10, 0x03, 372 + 0xf0, 0x74, 0x06, 0x9f, 0x80, 0x01, 0x70, 0x00, 373 + 0x00, 0x16, 0x10, 0x02, 0xf0, 0x74, 0x06, 0x7b, 374 + 0x6d, 0x91, 0x6d, 0x96, 0x6c, 0xef, 0xff, 0xff, 375 + 0x07, 0x2f, 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 376 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 377 + 0x10, 0xf8, 0x2a, 0xe8, 0x08, 0xf8, 0x2a, 0xe9, 378 + 0xf8, 0x45, 0x07, 0x64, 0x76, 0x00, 0x00, 0x01, 379 + 0x62, 0xf8, 0x2a, 0xe9, 0x00, 0x5e, 0xf2, 0x74, 380 + 0x12, 0x0b, 0xf0, 0x00, 0x30, 0x40, 0x72, 0x11, 381 + 0x2a, 0xe9, 0x77, 0x10, 0x00, 0x0f, 0xf5, 0xa9, 382 + 0xf8, 0x20, 0x07, 0x61, 0x6b, 0xf8, 0x2a, 0xe9, 383 + 0x00, 0x01, 0xf0, 0x73, 0x07, 0x64, 0x76, 0xf8, 384 + 0x2a, 0xe9, 0x00, 0x00, 0xee, 0x02, 0x8a, 0x11, 385 + 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x11, 0xe8, 0x00, 386 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x08, 0xe8, 0x00, 387 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x09, 0xf6, 0xb8, 388 + 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 0x75, 0xf8, 389 + 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 0x0c, 0x30, 390 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 0x76, 0xf8, 391 + 0x2a, 0xe8, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xe9, 392 + 0x00, 0x00, 0x6c, 0x81, 0x07, 0x92, 0x76, 0xf8, 393 + 0x2a, 0xea, 0x00, 0x00, 0xfb, 0x80, 0x16, 0x76, 394 + 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 0x75, 0xf8, 395 + 0x00, 0x08, 0x00, 0x00, 0xf0, 0x73, 0x07, 0xa8, 396 + 0x76, 0xf8, 0x2a, 0xea, 0x00, 0x01, 0xfb, 0x80, 397 + 0x16, 0x66, 0xf4, 0x95, 0xe8, 0x10, 0xfb, 0x80, 398 + 0x16, 0x87, 0xf4, 0x95, 0xe8, 0x10, 0xe8, 0x00, 399 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0xf6, 0xb8, 400 + 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 0x75, 0xf8, 401 + 0x00, 0x08, 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 402 + 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 0x4a, 0x0a, 403 + 0x4a, 0x06, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 404 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 405 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 406 + 0x10, 0xf8, 0x2a, 0xea, 0xf8, 0x45, 0x07, 0xe1, 407 + 0x10, 0xf8, 0x2a, 0xe8, 0xf0, 0x00, 0x00, 0x01, 408 + 0xf0, 0x30, 0x00, 0x0f, 0x80, 0xf8, 0x2a, 0xe8, 409 + 0x10, 0xf8, 0x2a, 0xe8, 0xf8, 0x44, 0x07, 0xd6, 410 + 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xfc, 0x3f, 411 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0d, 0xf0, 0x20, 412 + 0x0c, 0x30, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x0c, 413 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 414 + 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0xff, 415 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x00, 0x8a, 0x1d, 416 + 0x8a, 0x07, 0x8a, 0x06, 0x8a, 0x0a, 0x8a, 0x09, 417 + 0x8a, 0x08, 0xf4, 0xeb, 0xee, 0xff, 0xf2, 0x74, 418 + 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x01, 0xee, 0x01, 419 + 0xfc, 0x00, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 420 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 421 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 422 + 0x8a, 0x1d, 0x8a, 0x07, 0xf4, 0xeb, 0x4a, 0x11, 423 + 0x77, 0x11, 0x00, 0x28, 0x76, 0x81, 0x24, 0x00, 424 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 425 + 0xf2, 0x74, 0x07, 0x67, 0xf4, 0x95, 0xe8, 0x00, 426 + 0x77, 0x11, 0x00, 0x1d, 0x68, 0x81, 0x00, 0x7f, 427 + 0xf6, 0xb8, 0xf4, 0x95, 0xf0, 0x20, 0xff, 0x80, 428 + 0x77, 0x11, 0x00, 0x1d, 0xf0, 0x30, 0x01, 0x00, 429 + 0x1a, 0x81, 0x80, 0x81, 0xf0, 0x74, 0x0a, 0x33, 430 + 0xf0, 0x74, 0x11, 0xac, 0xf9, 0x80, 0x13, 0x25, 431 + 0xf9, 0x80, 0x16, 0x53, 0xf9, 0x80, 0x17, 0x82, 432 + 0xf0, 0x74, 0x06, 0x2f, 0xf9, 0x80, 0x14, 0xb2, 433 + 0xf9, 0x80, 0x19, 0x10, 0xf0, 0x74, 0x0d, 0xe3, 434 + 0xf0, 0x74, 0x07, 0xe8, 0xf0, 0x74, 0x02, 0x36, 435 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x60, 0xf8, 436 + 0x27, 0x7b, 0xff, 0xff, 0xf8, 0x30, 0x08, 0x39, 437 + 0x71, 0xf8, 0x27, 0x7b, 0x27, 0x79, 0x60, 0xf8, 438 + 0x27, 0x79, 0xff, 0xff, 0xf8, 0x30, 0x08, 0xb2, 439 + 0x10, 0xf8, 0x29, 0x86, 0x08, 0xf8, 0x27, 0x79, 440 + 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 0xf4, 0x95, 441 + 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x30, 442 + 0x08, 0x58, 0x10, 0xf8, 0x27, 0x79, 0x08, 0xf8, 443 + 0x27, 0x7a, 0xf0, 0x30, 0x7f, 0xff, 0x88, 0x11, 444 + 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 445 + 0xf8, 0x20, 0x08, 0x63, 0x76, 0xf8, 0x27, 0x79, 446 + 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 447 + 0xf7, 0xb8, 0xf2, 0x73, 0x08, 0xd9, 0xf0, 0x20, 448 + 0xff, 0xff, 0xf6, 0xb8, 0x56, 0xf8, 0x27, 0x74, 449 + 0xf0, 0xf9, 0x88, 0x11, 0x56, 0xf8, 0x27, 0x72, 450 + 0xf0, 0xf9, 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 451 + 0xe7, 0x20, 0xf4, 0xa9, 0xf8, 0x30, 0x08, 0x8f, 452 + 0xf1, 0x20, 0x27, 0x7c, 0x48, 0x11, 0xf6, 0x00, 453 + 0x88, 0x13, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x83, 454 + 0x08, 0xf8, 0x27, 0x79, 0xf0, 0x30, 0x7f, 0xff, 455 + 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 456 + 0xf5, 0xab, 0xf8, 0x30, 0x08, 0x8f, 0x6d, 0x91, 457 + 0x48, 0x11, 0xf0, 0x30, 0x01, 0xff, 0x88, 0x11, 458 + 0xf4, 0x95, 0xe7, 0x20, 0xf7, 0xa9, 0xf8, 0x30, 459 + 0x08, 0x74, 0x6d, 0x89, 0x48, 0x11, 0xf0, 0x30, 460 + 0x01, 0xff, 0xf0, 0xe7, 0xf4, 0x95, 0x48, 0x08, 461 + 0x4e, 0xf8, 0x27, 0x74, 0x48, 0x08, 0xf1, 0xf9, 462 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 463 + 0x27, 0x7c, 0x27, 0x7a, 0x60, 0xf8, 0x27, 0x7b, 464 + 0xff, 0xff, 0xf8, 0x30, 0x08, 0xab, 0x48, 0x08, 465 + 0x4e, 0xf8, 0x27, 0x72, 0x76, 0xf8, 0x27, 0x7b, 466 + 0xff, 0xff, 0x76, 0xf8, 0x27, 0x79, 0xff, 0xff, 467 + 0xf2, 0x73, 0x08, 0xd9, 0xf4, 0x95, 0xe8, 0x00, 468 + 0x44, 0xf8, 0x27, 0x73, 0x40, 0xf8, 0x27, 0x75, 469 + 0x82, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0x77, 0x10, 470 + 0x80, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xd8, 471 + 0xf6, 0xb8, 0x10, 0xf8, 0x27, 0x73, 0xf0, 0x00, 472 + 0x80, 0x00, 0x48, 0x08, 0x4e, 0xf8, 0x27, 0x74, 473 + 0x48, 0x08, 0xf0, 0xf9, 0x88, 0x11, 0xf4, 0x95, 474 + 0xf4, 0x95, 0x71, 0xe1, 0x27, 0x7c, 0x27, 0x7a, 475 + 0xf7, 0xb8, 0x57, 0xf8, 0x27, 0x74, 0xf0, 0x62, 476 + 0xff, 0xff, 0xf0, 0x40, 0xff, 0x80, 0xf2, 0x80, 477 + 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 0x8a, 0x11, 478 + 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfb, 479 + 0x11, 0xf8, 0x27, 0x71, 0x09, 0xf8, 0x27, 0x73, 480 + 0x89, 0x11, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 481 + 0xf6, 0xa9, 0xf8, 0x20, 0x08, 0xed, 0xf2, 0x73, 482 + 0x09, 0x0e, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0x20, 483 + 0x76, 0x00, 0x00, 0x41, 0xf0, 0x74, 0x12, 0xee, 484 + 0x88, 0x16, 0xf4, 0x95, 0xf7, 0xb8, 0x6d, 0x96, 485 + 0x10, 0xf8, 0x00, 0x16, 0xf8, 0x47, 0x09, 0x0a, 486 + 0xe7, 0x61, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 487 + 0x00, 0x80, 0x76, 0x02, 0x00, 0xff, 0x76, 0x03, 488 + 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 489 + 0xe8, 0x00, 0x6c, 0xe9, 0xff, 0xff, 0x08, 0xfb, 490 + 0x73, 0x16, 0x00, 0x0e, 0xf0, 0x66, 0x00, 0x41, 491 + 0xee, 0x05, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 492 + 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x13, 493 + 0xf6, 0xb8, 0x77, 0x11, 0x7f, 0xff, 0x57, 0xf8, 494 + 0x27, 0x72, 0x48, 0x11, 0xf2, 0x80, 0xf0, 0x00, 495 + 0x80, 0x00, 0x88, 0x11, 0xf6, 0x40, 0xf0, 0xe0, 496 + 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 0x80, 0xf8, 497 + 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x57, 0xf8, 498 + 0x27, 0x72, 0x48, 0x12, 0xf2, 0x80, 0x88, 0x12, 499 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x09, 0x38, 500 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 501 + 0xf0, 0x73, 0x09, 0x3d, 0xf0, 0x20, 0x80, 0x01, 502 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x70, 0x81, 503 + 0x00, 0x13, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 504 + 0xf0, 0x30, 0x7f, 0xff, 0x11, 0xf8, 0x29, 0x86, 505 + 0xf5, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 506 + 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 507 + 0xf8, 0x20, 0x09, 0x54, 0xf2, 0x73, 0x09, 0x67, 508 + 0xf4, 0x95, 0xe8, 0x02, 0x6f, 0xf8, 0x27, 0x7a, 509 + 0x0d, 0x20, 0xf3, 0x30, 0x7f, 0xff, 0x89, 0x11, 510 + 0xf4, 0x95, 0x77, 0x10, 0x40, 0x00, 0xf6, 0xa9, 511 + 0xf8, 0x20, 0x09, 0x64, 0xf2, 0x73, 0x09, 0x67, 512 + 0xf4, 0x95, 0xe8, 0x01, 0x80, 0xf8, 0x27, 0x7b, 513 + 0xe8, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 514 + 0x11, 0xf8, 0x29, 0x86, 0xf5, 0x20, 0xf3, 0x30, 515 + 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 516 + 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x7a, 517 + 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x02, 518 + 0x6f, 0xf8, 0x27, 0x7a, 0x0d, 0x20, 0xf3, 0x30, 519 + 0x7f, 0xff, 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 520 + 0x40, 0x00, 0xf6, 0xa9, 0xf8, 0x20, 0x09, 0x8a, 521 + 0xf2, 0x73, 0x09, 0x8d, 0xf4, 0x95, 0xe8, 0x01, 522 + 0x80, 0xf8, 0x27, 0x79, 0xe8, 0x00, 0x8a, 0x11, 523 + 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 524 + 0x00, 0x12, 0x88, 0x11, 0xf6, 0xb8, 0x57, 0xf8, 525 + 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 526 + 0xf0, 0x00, 0x80, 0x00, 0x80, 0x81, 0x57, 0xf8, 527 + 0x27, 0x72, 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 528 + 0x80, 0xf8, 0x27, 0x78, 0x77, 0x11, 0x80, 0x00, 529 + 0x48, 0x11, 0x57, 0xf8, 0x27, 0x72, 0xf2, 0x80, 530 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 531 + 0x09, 0xb5, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 532 + 0x00, 0x01, 0xf0, 0x73, 0x09, 0xba, 0xf0, 0x20, 533 + 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 534 + 0x45, 0xf8, 0x27, 0x71, 0x43, 0xf8, 0x27, 0x73, 535 + 0x83, 0xf8, 0x00, 0x11, 0xf4, 0x95, 0xe7, 0x20, 536 + 0xf6, 0xa9, 0xf8, 0x30, 0x09, 0xc9, 0xf2, 0x73, 537 + 0x09, 0xe4, 0x77, 0x12, 0x00, 0x00, 0x57, 0xf8, 538 + 0x27, 0x72, 0xf0, 0x20, 0x7f, 0xff, 0xf2, 0x80, 539 + 0x49, 0x12, 0xf5, 0x00, 0xf3, 0x00, 0x80, 0x00, 540 + 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 0xf8, 0x30, 541 + 0x09, 0xdc, 0xf1, 0x20, 0x80, 0x00, 0xf5, 0x20, 542 + 0x89, 0x12, 0xf4, 0x95, 0x48, 0x12, 0x6f, 0xf8, 543 + 0x27, 0x73, 0x0d, 0x00, 0xf4, 0x95, 0x49, 0x0b, 544 + 0x4f, 0xf8, 0x27, 0x72, 0x8a, 0x11, 0xfe, 0x00, 545 + 0x48, 0x12, 0xf4, 0x95, 0x4a, 0x11, 0x4a, 0x16, 546 + 0x4a, 0x17, 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x08, 547 + 0x00, 0x16, 0x88, 0x17, 0xf0, 0x74, 0x08, 0x30, 548 + 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 549 + 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 550 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0a, 0x0a, 551 + 0xf2, 0x74, 0x08, 0xdb, 0xf4, 0x95, 0x48, 0x16, 552 + 0x48, 0x18, 0x70, 0x00, 0x00, 0x16, 0xf2, 0x74, 553 + 0x09, 0x8f, 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 554 + 0x10, 0x02, 0x70, 0x01, 0x00, 0x11, 0x80, 0x00, 555 + 0xf2, 0x74, 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 556 + 0x49, 0x11, 0x48, 0x17, 0xf6, 0x00, 0x88, 0x17, 557 + 0xe7, 0x60, 0xf5, 0xa9, 0xf8, 0x20, 0x0a, 0x2d, 558 + 0x48, 0x16, 0xf6, 0x20, 0x88, 0x11, 0x48, 0x18, 559 + 0x70, 0x00, 0x00, 0x11, 0xf2, 0x74, 0x09, 0x8f, 560 + 0xf0, 0x00, 0x00, 0x02, 0x88, 0x11, 0x70, 0x01, 561 + 0x00, 0x11, 0x10, 0x02, 0x80, 0x00, 0xf2, 0x74, 562 + 0x06, 0xce, 0xf4, 0x95, 0x48, 0x17, 0xee, 0x04, 563 + 0x48, 0x16, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 564 + 0xfc, 0x00, 0xee, 0xfd, 0xe8, 0x00, 0x4e, 0xf8, 565 + 0x27, 0x70, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x72, 566 + 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x74, 0xe8, 0x00, 567 + 0x4e, 0xf8, 0x27, 0x76, 0x76, 0xf8, 0x27, 0x79, 568 + 0xff, 0xff, 0x76, 0xf8, 0x27, 0x7a, 0x00, 0x00, 569 + 0x76, 0xf8, 0x27, 0x7b, 0xff, 0xff, 0x76, 0xf8, 570 + 0x27, 0x78, 0x00, 0x00, 0xe8, 0x00, 0x75, 0xf8, 571 + 0x00, 0x08, 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 572 + 0x76, 0x01, 0x02, 0x00, 0xf2, 0x74, 0x12, 0xdc, 573 + 0xf0, 0x20, 0x27, 0x7c, 0xee, 0x03, 0xfc, 0x00, 574 + 0x4a, 0x11, 0xee, 0xfc, 0xf4, 0x95, 0x4e, 0x00, 575 + 0x77, 0x12, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x12, 576 + 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x12, 577 + 0xf0, 0xe0, 0xf1, 0xf1, 0x4f, 0x02, 0xe9, 0x01, 578 + 0xf4, 0x95, 0x48, 0x0b, 0xf5, 0x40, 0x56, 0x02, 579 + 0xf1, 0x80, 0x81, 0xf8, 0x27, 0x78, 0x77, 0x11, 580 + 0x80, 0x00, 0x56, 0x00, 0x49, 0x11, 0xf1, 0x80, 581 + 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 582 + 0x0a, 0x81, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 583 + 0x00, 0x01, 0xf0, 0x73, 0x0a, 0x86, 0xf0, 0x20, 584 + 0x80, 0x01, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 585 + 0x10, 0x82, 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 586 + 0x4a, 0x11, 0xee, 0xfe, 0xf4, 0x95, 0x4e, 0x00, 587 + 0x77, 0x11, 0x7f, 0xff, 0xf6, 0xb8, 0x49, 0x11, 588 + 0xf1, 0x80, 0xf3, 0x00, 0x80, 0x00, 0x89, 0x11, 589 + 0xf0, 0xe0, 0xf1, 0xf1, 0xe8, 0x01, 0xf2, 0x80, 590 + 0x80, 0xf8, 0x27, 0x78, 0x56, 0x00, 0xf1, 0x20, 591 + 0x80, 0x00, 0xf1, 0x80, 0xf4, 0x95, 0x49, 0x0b, 592 + 0xf8, 0x4d, 0x0a, 0xab, 0xf0, 0x20, 0x80, 0x01, 593 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf0, 0x73, 594 + 0x0a, 0xaf, 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 595 + 0x00, 0x01, 0xee, 0x02, 0x48, 0x11, 0x8a, 0x11, 596 + 0xfc, 0x00, 0x4a, 0x11, 0x88, 0x12, 0x13, 0x02, 597 + 0x77, 0x11, 0x00, 0x00, 0xf8, 0x4d, 0x0a, 0xcb, 598 + 0xf3, 0x10, 0x00, 0x01, 0x89, 0x1a, 0xf4, 0x95, 599 + 0xf0, 0x72, 0x0a, 0xca, 0x48, 0x11, 0x1c, 0xf8, 600 + 0x29, 0x7e, 0x88, 0x11, 0x11, 0xf8, 0x29, 0x7e, 601 + 0xf2, 0x00, 0x00, 0x01, 0x80, 0xf8, 0x29, 0x7e, 602 + 0x81, 0x92, 0x48, 0x11, 0x8a, 0x11, 0xfc, 0x00, 603 + 0x4a, 0x11, 0xf4, 0x95, 0x71, 0x02, 0x00, 0x11, 604 + 0x88, 0x12, 0xf6, 0xb8, 0xf0, 0x20, 0x7f, 0xff, 605 + 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0xf0, 0x00, 606 + 0x80, 0x00, 0x80, 0x82, 0x57, 0xf8, 0x27, 0x70, 607 + 0xe8, 0x01, 0xf3, 0xf1, 0xf2, 0x80, 0x80, 0xf8, 608 + 0x27, 0x78, 0x77, 0x12, 0x80, 0x00, 0x48, 0x12, 609 + 0x57, 0xf8, 0x27, 0x70, 0xf2, 0x80, 0x88, 0x12, 610 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x82, 0x0a, 0xf4, 611 + 0xe8, 0x00, 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 612 + 0xf0, 0x73, 0x0a, 0xf9, 0xf0, 0x20, 0x80, 0x01, 613 + 0x75, 0xf8, 0x00, 0x08, 0x00, 0x01, 0x45, 0xf8, 614 + 0x27, 0x75, 0xe7, 0x10, 0x43, 0xf8, 0x27, 0x71, 615 + 0x83, 0xf8, 0x00, 0x12, 0x6d, 0xe8, 0x00, 0x04, 616 + 0x6d, 0x8a, 0xf6, 0xaa, 0xf8, 0x30, 0x0b, 0x0a, 617 + 0xf2, 0x73, 0x0b, 0x25, 0x77, 0x11, 0x00, 0x00, 618 + 0x57, 0xf8, 0x27, 0x70, 0xf0, 0x20, 0x7f, 0xff, 619 + 0xf2, 0x80, 0x49, 0x11, 0xf5, 0x00, 0xf3, 0x00, 620 + 0x80, 0x00, 0x61, 0xf8, 0x00, 0x0b, 0x80, 0x00, 621 + 0xf8, 0x30, 0x0b, 0x1d, 0xf1, 0x20, 0x80, 0x00, 622 + 0xf5, 0x20, 0x89, 0x11, 0xf4, 0x95, 0x48, 0x11, 623 + 0x6f, 0xf8, 0x27, 0x71, 0x0d, 0x00, 0xf4, 0x95, 624 + 0x49, 0x0b, 0x4f, 0xf8, 0x27, 0x70, 0x48, 0x11, 625 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 626 + 0x4a, 0x17, 0xee, 0xf0, 0x88, 0x17, 0x10, 0x17, 627 + 0x80, 0x05, 0x10, 0x16, 0x80, 0x06, 0x10, 0x15, 628 + 0x80, 0x07, 0x71, 0x14, 0x00, 0x11, 0x10, 0x05, 629 + 0xf0, 0x30, 0x00, 0x01, 0x88, 0x10, 0x10, 0x06, 630 + 0xf0, 0x30, 0x00, 0x01, 0x80, 0x08, 0x49, 0x11, 631 + 0x10, 0x05, 0xf6, 0x01, 0x80, 0x09, 0x10, 0x06, 632 + 0x61, 0xf8, 0x00, 0x08, 0x00, 0x01, 0xf8, 0x20, 633 + 0x0b, 0x4b, 0x10, 0x09, 0xf0, 0x00, 0x00, 0x01, 634 + 0x80, 0x09, 0x71, 0x08, 0x00, 0x12, 0xf4, 0xaa, 635 + 0xf8, 0x30, 0x0b, 0x54, 0x10, 0x09, 0xf0, 0x00, 636 + 0x00, 0x01, 0x80, 0x09, 0x12, 0x09, 0x49, 0x11, 637 + 0xf4, 0x7f, 0x80, 0x09, 0xf6, 0x20, 0x80, 0x0a, 638 + 0x56, 0xf8, 0x27, 0x70, 0x4e, 0x0c, 0x10, 0x09, 639 + 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 640 + 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 0xf4, 0x95, 641 + 0xf4, 0x95, 0x6c, 0x86, 0x0b, 0x6d, 0xf2, 0x73, 642 + 0x0c, 0x59, 0xf4, 0x95, 0xe8, 0x00, 0xf6, 0xb8, 643 + 0xf4, 0x95, 0x56, 0x0c, 0xf0, 0xf9, 0x88, 0x12, 644 + 0xf4, 0x95, 0xf4, 0x95, 0x70, 0xe2, 0x27, 0x7c, 645 + 0x29, 0x86, 0xe8, 0x00, 0x80, 0x0e, 0x48, 0x11, 646 + 0xf8, 0x45, 0x0b, 0xcc, 0x77, 0x10, 0x00, 0x01, 647 + 0xf4, 0xa9, 0xf8, 0x30, 0x0b, 0x89, 0x6c, 0xe1, 648 + 0xff, 0xfd, 0x0b, 0x8b, 0x10, 0xe7, 0x00, 0x02, 649 + 0x80, 0x0e, 0xf0, 0x73, 0x0b, 0x8b, 0x10, 0x87, 650 + 0x80, 0x0e, 0xe7, 0x10, 0xf5, 0xae, 0xf8, 0x20, 651 + 0x0b, 0xb2, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 652 + 0x00, 0x16, 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 653 + 0x48, 0x17, 0x49, 0x16, 0xf6, 0x00, 0x88, 0x17, 654 + 0x48, 0x11, 0xf6, 0x20, 0x88, 0x11, 0x10, 0x09, 655 + 0xf6, 0x20, 0x80, 0x00, 0x48, 0x18, 0xf2, 0x74, 656 + 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x16, 657 + 0x10, 0x04, 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 658 + 0x00, 0x11, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 659 + 0x00, 0x04, 0x80, 0x04, 0xf0, 0x73, 0x0b, 0xbc, 660 + 0x70, 0x00, 0x00, 0x17, 0x70, 0x01, 0x00, 0x11, 661 + 0x10, 0x04, 0xf0, 0x74, 0x06, 0xce, 0x48, 0x11, 662 + 0x00, 0x04, 0x80, 0x04, 0x49, 0x11, 0x48, 0x16, 663 + 0xf6, 0x20, 0x88, 0x16, 0xf4, 0x95, 0xf4, 0x95, 664 + 0x6c, 0x86, 0x0b, 0xcc, 0x10, 0x0a, 0x80, 0x00, 665 + 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 666 + 0x00, 0x04, 0x88, 0x16, 0x12, 0x0a, 0xf8, 0x45, 667 + 0x0c, 0x33, 0x71, 0x0a, 0x00, 0x10, 0xf4, 0xae, 668 + 0xf8, 0x30, 0x0c, 0x1c, 0x48, 0x16, 0xf0, 0xe1, 669 + 0x88, 0x11, 0x12, 0x08, 0xf8, 0x45, 0x0b, 0xdb, 670 + 0x6d, 0x89, 0x12, 0x07, 0xf8, 0x45, 0x0b, 0xe9, 671 + 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 672 + 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 673 + 0x06, 0xdc, 0xf0, 0x73, 0x0b, 0xef, 0x48, 0x11, 674 + 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 675 + 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 676 + 0x10, 0x06, 0x49, 0x11, 0xf6, 0x00, 0x80, 0x06, 677 + 0x10, 0x05, 0xf6, 0x20, 0x88, 0x11, 0xf0, 0x00, 678 + 0x00, 0x01, 0x48, 0x08, 0x6f, 0x00, 0x0c, 0x9f, 679 + 0x48, 0x18, 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 680 + 0x00, 0x04, 0x12, 0x07, 0xf8, 0x45, 0x0c, 0x11, 681 + 0x10, 0x07, 0x80, 0x00, 0x70, 0x02, 0x00, 0x11, 682 + 0x10, 0x06, 0x80, 0x01, 0x10, 0x04, 0xf0, 0x74, 683 + 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x17, 0x48, 0x11, 684 + 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 0xf0, 0x74, 685 + 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 0x81, 0x0e, 686 + 0xf0, 0x73, 0x0c, 0x33, 0x12, 0x07, 0xf8, 0x45, 687 + 0x0c, 0x2a, 0x10, 0x07, 0x80, 0x00, 0x10, 0x06, 688 + 0x80, 0x01, 0x10, 0x05, 0x80, 0x02, 0x10, 0x04, 689 + 0xf0, 0x74, 0x06, 0xdc, 0xf0, 0x73, 0x0c, 0x30, 690 + 0x12, 0x05, 0x6f, 0x00, 0x0c, 0x9f, 0x10, 0x04, 691 + 0xf0, 0x74, 0x0a, 0xb3, 0x11, 0x0e, 0xf1, 0xc0, 692 + 0x81, 0x0e, 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 693 + 0xf2, 0x74, 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 694 + 0x71, 0x04, 0x00, 0x11, 0x70, 0x81, 0x29, 0x86, 695 + 0x10, 0x0e, 0x1c, 0xf8, 0x29, 0x86, 0x80, 0x0e, 696 + 0x76, 0x00, 0x00, 0x01, 0x48, 0x18, 0xf2, 0x74, 697 + 0x0a, 0xce, 0xf0, 0x00, 0x00, 0x04, 0x10, 0x0e, 698 + 0x71, 0x04, 0x00, 0x11, 0x80, 0x81, 0x10, 0xf8, 699 + 0x29, 0x86, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x30, 700 + 0x7f, 0xff, 0x80, 0xf8, 0x29, 0x86, 0x10, 0x09, 701 + 0xf0, 0x00, 0x00, 0x02, 0x80, 0x09, 0xee, 0x10, 702 + 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 703 + 0x10, 0xf8, 0x27, 0x75, 0x08, 0xf8, 0x27, 0x71, 704 + 0xf0, 0x10, 0x00, 0x01, 0x48, 0x08, 0xfc, 0x00, 705 + 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xff, 0xf4, 0x95, 706 + 0x71, 0x04, 0x00, 0x16, 0xf0, 0x00, 0x00, 0x01, 707 + 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 0x6d, 0xee, 708 + 0xff, 0xfd, 0x48, 0x16, 0xf8, 0x45, 0x0c, 0x99, 709 + 0x56, 0xf8, 0x29, 0x7c, 0xf0, 0x74, 0x0a, 0x5a, 710 + 0x88, 0x11, 0x10, 0xf8, 0x29, 0x7d, 0xf0, 0x00, 711 + 0x00, 0x01, 0x48, 0x08, 0x4e, 0xf8, 0x29, 0x7c, 712 + 0x10, 0xf8, 0x29, 0x82, 0xf0, 0x00, 0x00, 0x01, 713 + 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xa9, 714 + 0xfa, 0x30, 0x0c, 0x96, 0x80, 0xf8, 0x29, 0x82, 715 + 0x56, 0xf8, 0x29, 0x80, 0xf0, 0x00, 0x00, 0x01, 716 + 0x4e, 0xf8, 0x29, 0x80, 0x73, 0x11, 0x29, 0x82, 717 + 0x6c, 0xee, 0xff, 0xff, 0x0c, 0x76, 0xee, 0x01, 718 + 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 719 + 0x76, 0xf8, 0x29, 0x84, 0x00, 0x00, 0x76, 0xf8, 720 + 0x29, 0x85, 0x00, 0x01, 0xe8, 0x00, 0x4e, 0xf8, 721 + 0x2a, 0x0c, 0x76, 0xf8, 0x29, 0x86, 0x00, 0x00, 722 + 0x76, 0xf8, 0x29, 0x87, 0x00, 0x00, 0x77, 0x11, 723 + 0x29, 0x88, 0x76, 0x81, 0xaa, 0xaa, 0x76, 0xe1, 724 + 0x00, 0x01, 0xaa, 0xaa, 0x76, 0xe1, 0x00, 0x02, 725 + 0x00, 0x00, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 726 + 0xee, 0xfc, 0xf4, 0x95, 0x71, 0x06, 0x00, 0x14, 727 + 0x71, 0x07, 0x00, 0x13, 0x71, 0x08, 0x00, 0x12, 728 + 0x71, 0x09, 0x00, 0x15, 0x77, 0x10, 0x00, 0xff, 729 + 0xf4, 0xaa, 0xf8, 0x30, 0x0d, 0x44, 0x49, 0x13, 730 + 0x53, 0xf8, 0x2a, 0x0c, 0x4f, 0xf8, 0x2a, 0x0c, 731 + 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 732 + 0x89, 0x11, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x01, 733 + 0x71, 0xe1, 0x24, 0x00, 0x00, 0x11, 0xf4, 0xa9, 734 + 0xf8, 0x30, 0x0d, 0x17, 0x77, 0x10, 0x00, 0x02, 735 + 0xf4, 0xa9, 0xf8, 0x30, 0x0c, 0xec, 0x77, 0x11, 736 + 0x29, 0x8a, 0x76, 0x81, 0x00, 0x00, 0xe8, 0x00, 737 + 0x77, 0x14, 0x00, 0x00, 0x77, 0x13, 0x00, 0x00, 738 + 0xf0, 0x73, 0x0d, 0x48, 0x6c, 0x83, 0x0c, 0xfa, 739 + 0x77, 0x11, 0x29, 0x8a, 0x48, 0x12, 0xf0, 0xe8, 740 + 0xf0, 0x40, 0x80, 0x00, 0x80, 0x81, 0xe8, 0x00, 741 + 0x77, 0x14, 0x00, 0x00, 0xf0, 0x73, 0x0d, 0x48, 742 + 0x49, 0x13, 0xf3, 0x40, 0x80, 0x00, 0x81, 0xf8, 743 + 0x29, 0x8a, 0x61, 0xf8, 0x00, 0x15, 0x00, 0x01, 744 + 0xf8, 0x20, 0x0d, 0x07, 0x69, 0xf8, 0x29, 0x8a, 745 + 0x40, 0x00, 0x61, 0xf8, 0x00, 0x14, 0x00, 0x01, 746 + 0xf8, 0x20, 0x0d, 0x0f, 0x69, 0xf8, 0x29, 0x8a, 747 + 0x20, 0x00, 0x77, 0x11, 0x29, 0x8a, 0x49, 0x12, 748 + 0xf3, 0xe8, 0x1b, 0x81, 0x81, 0x81, 0xf0, 0x73, 749 + 0x0d, 0x48, 0x11, 0xf8, 0x29, 0x84, 0xf8, 0x4c, 750 + 0x0d, 0x37, 0x77, 0x11, 0x29, 0x88, 0x76, 0x81, 751 + 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 0xf3, 0x10, 752 + 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 0x81, 0xe1, 753 + 0x00, 0x01, 0x76, 0x00, 0x00, 0x02, 0x80, 0x01, 754 + 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 0x00, 0x13, 755 + 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0x48, 0x11, 756 + 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 0xf0, 0x73, 757 + 0x0d, 0x73, 0x76, 0x00, 0x00, 0x00, 0x80, 0x01, 758 + 0x76, 0x02, 0x00, 0x00, 0x70, 0x03, 0x00, 0x13, 759 + 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 0xe8, 0x00, 760 + 0xf0, 0x73, 0x0d, 0x73, 0x77, 0x11, 0x29, 0x8a, 761 + 0x70, 0x81, 0x00, 0x13, 0x11, 0xf8, 0x29, 0x84, 762 + 0xf8, 0x4c, 0x0d, 0x68, 0x77, 0x11, 0x29, 0x88, 763 + 0x76, 0x81, 0xaa, 0xaa, 0x11, 0xf8, 0x29, 0x85, 764 + 0xf3, 0x10, 0x00, 0x01, 0xf3, 0x40, 0xaa, 0x00, 765 + 0x81, 0xe1, 0x00, 0x01, 0x76, 0x00, 0x00, 0x03, 766 + 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 767 + 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 768 + 0x48, 0x11, 0x71, 0xf8, 0x29, 0x85, 0x29, 0x84, 769 + 0xf0, 0x73, 0x0d, 0x73, 0x76, 0x00, 0x00, 0x01, 770 + 0x80, 0x01, 0x70, 0x02, 0x00, 0x14, 0x70, 0x03, 771 + 0x00, 0x13, 0xf2, 0x74, 0x0b, 0x28, 0xf4, 0x95, 772 + 0x48, 0x11, 0x6b, 0xf8, 0x29, 0x84, 0xff, 0xff, 773 + 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 774 + 0xf5, 0x40, 0xf4, 0x95, 0x48, 0x0b, 0xf4, 0x78, 775 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe1, 776 + 0xff, 0xb9, 0x0d, 0x88, 0xf2, 0x73, 0x0d, 0xa5, 777 + 0xf4, 0x95, 0xe8, 0x60, 0xf2, 0x00, 0x00, 0x06, 778 + 0x61, 0xf8, 0x00, 0x11, 0x00, 0x20, 0xf8, 0x30, 779 + 0x0d, 0x98, 0x61, 0xf8, 0x00, 0x0b, 0x00, 0x01, 780 + 0xf8, 0x20, 0x0d, 0xa3, 0xf2, 0x00, 0x00, 0x07, 781 + 0xf0, 0x73, 0x0d, 0xa3, 0x61, 0xf8, 0x00, 0x0b, 782 + 0x00, 0x01, 0xf8, 0x20, 0x0d, 0xa1, 0xf2, 0x73, 783 + 0x0d, 0xa3, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 784 + 0x00, 0x02, 0x48, 0x08, 0xf4, 0x7f, 0x8a, 0x11, 785 + 0xfc, 0x00, 0xee, 0xff, 0xf0, 0x74, 0x07, 0xfd, 786 + 0xf0, 0x74, 0x07, 0x44, 0xf0, 0x74, 0x0d, 0xb4, 787 + 0xf0, 0x74, 0x02, 0x05, 0xf0, 0x74, 0x04, 0x60, 788 + 0xf0, 0x73, 0x0d, 0xaa, 0xee, 0xfd, 0x10, 0xf8, 789 + 0x2a, 0xa3, 0xf8, 0x44, 0x0d, 0xcb, 0x10, 0xf8, 790 + 0x2a, 0xa4, 0xf8, 0x45, 0x0d, 0xd7, 0x76, 0x00, 791 + 0x02, 0x00, 0xf2, 0x74, 0x09, 0xe8, 0xf0, 0x20, 792 + 0x22, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 793 + 0x76, 0xf8, 0x2a, 0xa7, 0x00, 0x00, 0xf0, 0x73, 794 + 0x0d, 0xd7, 0x76, 0x00, 0x02, 0x00, 0xf2, 0x74, 795 + 0x09, 0xe8, 0xf0, 0x20, 0x20, 0x00, 0x76, 0xf8, 796 + 0x2a, 0xa3, 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa7, 797 + 0x00, 0x01, 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 798 + 0xf0, 0x10, 0x3a, 0x98, 0xf8, 0x47, 0x0d, 0xe1, 799 + 0x76, 0xf8, 0x27, 0x6e, 0x00, 0x00, 0xee, 0x03, 800 + 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 0x77, 0x11, 801 + 0x20, 0x00, 0x76, 0x00, 0xaa, 0xaa, 0x76, 0x01, 802 + 0x02, 0x00, 0xf2, 0x74, 0x06, 0x6c, 0xf4, 0x95, 803 + 0x48, 0x11, 0x76, 0x00, 0x55, 0x55, 0x76, 0x01, 804 + 0x02, 0x00, 0x48, 0x11, 0xf2, 0x74, 0x06, 0x6c, 805 + 0xf0, 0x00, 0x02, 0x00, 0x76, 0xf8, 0x2a, 0xa3, 806 + 0x00, 0x00, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x00, 807 + 0xe8, 0x00, 0x4e, 0x00, 0xfb, 0x80, 0x15, 0x3e, 808 + 0xf4, 0x95, 0xe8, 0x04, 0x80, 0xf8, 0x2a, 0xa5, 809 + 0x76, 0x00, 0x2a, 0xa8, 0xf9, 0x80, 0x14, 0x87, 810 + 0x76, 0x00, 0x2a, 0xad, 0xfb, 0x80, 0x13, 0x62, 811 + 0xf4, 0x95, 0xe8, 0x02, 0x10, 0xf8, 0x2a, 0xa5, 812 + 0xf9, 0x80, 0x14, 0x63, 0xfb, 0x80, 0x16, 0x66, 813 + 0xf4, 0x95, 0xe8, 0x1c, 0xfb, 0x80, 0x16, 0x87, 814 + 0xf4, 0x95, 0xe8, 0x1c, 0xe8, 0x01, 0x4e, 0x00, 815 + 0xfb, 0x80, 0x17, 0xd6, 0xf4, 0x95, 0xe8, 0x00, 816 + 0x80, 0xf8, 0x2a, 0xa6, 0x76, 0x00, 0x2a, 0xb7, 817 + 0xf9, 0x80, 0x16, 0xaa, 0x10, 0xf8, 0x2a, 0xa6, 818 + 0xf9, 0x80, 0x17, 0x5c, 0x10, 0xf8, 0x2a, 0xa6, 819 + 0xf9, 0x80, 0x17, 0x6f, 0xee, 0x02, 0x8a, 0x11, 820 + 0xfc, 0x00, 0xf4, 0x95, 0x4a, 0x08, 0x4a, 0x09, 821 + 0x4a, 0x0a, 0x4a, 0x07, 0x4a, 0x1d, 0x68, 0xf8, 822 + 0x00, 0x07, 0x7d, 0x3f, 0x69, 0xf8, 0x00, 0x07, 823 + 0x40, 0x00, 0x68, 0xf8, 0x00, 0x1d, 0xff, 0xfc, 824 + 0x10, 0xf8, 0x2a, 0xa7, 0xf8, 0x44, 0x0e, 0x4b, 825 + 0x76, 0xf8, 0x2a, 0xa3, 0x00, 0x01, 0xf0, 0x73, 826 + 0x0e, 0x4e, 0x76, 0xf8, 0x2a, 0xa4, 0x00, 0x01, 827 + 0x8a, 0x1d, 0x8a, 0x07, 0x8a, 0x0a, 0x8a, 0x09, 828 + 0x8a, 0x08, 0xf4, 0xeb, 0x4a, 0x11, 0x4a, 0x16, 829 + 0x4a, 0x17, 0xee, 0xfe, 0x88, 0x0e, 0x71, 0x08, 830 + 0x00, 0x16, 0x71, 0x06, 0x00, 0x17, 0x11, 0x07, 831 + 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 0x25, 0xa0, 832 + 0x88, 0x11, 0x76, 0x01, 0x00, 0x06, 0x81, 0x00, 833 + 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 0x00, 0x01, 834 + 0x76, 0x01, 0x00, 0x06, 0x70, 0x00, 0x00, 0x16, 835 + 0x48, 0x11, 0xf2, 0x74, 0x06, 0xce, 0xf0, 0x00, 836 + 0x00, 0x07, 0x70, 0x81, 0x00, 0x17, 0xee, 0x02, 837 + 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xfc, 0x00, 838 + 0x4a, 0x11, 0x88, 0x0e, 0x71, 0x02, 0x00, 0x12, 839 + 0x11, 0x03, 0xf0, 0x66, 0x00, 0x0d, 0xf0, 0x00, 840 + 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 0x70, 0x81, 841 + 0x00, 0x12, 0x6e, 0xe2, 0xff, 0xfe, 0x0e, 0x8d, 842 + 0xf4, 0x95, 0xe8, 0x00, 0xe8, 0x01, 0x80, 0xe1, 843 + 0x00, 0x02, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 844 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 845 + 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0c, 846 + 0x00, 0x00, 0x81, 0xe1, 0x00, 0x01, 0x8a, 0x11, 847 + 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 0x88, 0x0e, 848 + 0xf4, 0x95, 0xf1, 0x66, 0x00, 0x0d, 0xf3, 0x00, 849 + 0x24, 0x00, 0x89, 0x11, 0xf4, 0x95, 0xf4, 0x95, 850 + 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 851 + 0x00, 0x0b, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 852 + 0x00, 0x01, 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 853 + 0x00, 0x00, 0x80, 0x02, 0x76, 0x03, 0x00, 0x00, 854 + 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0xe8, 0x00, 855 + 0xee, 0x04, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 856 + 0x88, 0x19, 0xf4, 0x95, 0x73, 0x19, 0x00, 0x0e, 857 + 0xf1, 0x66, 0x00, 0x0d, 0xf2, 0x00, 0x24, 0x00, 858 + 0x77, 0x15, 0x25, 0xa0, 0x77, 0x14, 0x00, 0x00, 859 + 0x77, 0x1a, 0x00, 0x1f, 0xf0, 0x72, 0x0f, 0x14, 860 + 0xf6, 0xb8, 0x49, 0x19, 0x09, 0x85, 0xf8, 0x4c, 861 + 0x0f, 0x13, 0xf1, 0x00, 0x00, 0x05, 0x89, 0x11, 862 + 0x49, 0x15, 0xf3, 0x00, 0x00, 0x01, 0x89, 0x13, 863 + 0x49, 0x15, 0xf3, 0x00, 0x00, 0x07, 0x89, 0x12, 864 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 865 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 866 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 867 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 868 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 869 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 870 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 871 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 872 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x10, 873 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x80, 0x0f, 0x13, 874 + 0x11, 0x93, 0x1d, 0x91, 0x19, 0x92, 0x89, 0x11, 875 + 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0x81, 0x0f, 0x13, 876 + 0x6d, 0x94, 0x6d, 0xed, 0x00, 0x0d, 0x48, 0x14, 877 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 878 + 0x4a, 0x17, 0xee, 0xf8, 0x88, 0x17, 0x10, 0x0d, 879 + 0x80, 0x04, 0x10, 0x0c, 0x80, 0x05, 0x71, 0x0e, 880 + 0x00, 0x16, 0x73, 0x17, 0x00, 0x0e, 0xf0, 0x66, 881 + 0x00, 0x0d, 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 882 + 0x10, 0xf8, 0x27, 0x63, 0xf8, 0x45, 0x0f, 0x32, 883 + 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 884 + 0x10, 0xf8, 0x27, 0x60, 0xf8, 0x44, 0x0f, 0x3d, 885 + 0x60, 0xe1, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x20, 886 + 0x0f, 0x6d, 0xf0, 0x73, 0x11, 0x33, 0x10, 0x04, 887 + 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 888 + 0x11, 0x04, 0xf3, 0x00, 0x00, 0x01, 0x81, 0x04, 889 + 0x6d, 0x8e, 0x77, 0x10, 0x00, 0x01, 0x71, 0xe1, 890 + 0x00, 0x02, 0x00, 0x12, 0xf4, 0xaa, 0xf8, 0x30, 891 + 0x0f, 0x62, 0x77, 0x10, 0x00, 0x02, 0xf4, 0xaa, 892 + 0xf8, 0x30, 0x0f, 0x6d, 0x45, 0xe1, 0x00, 0x0b, 893 + 0x88, 0x10, 0x43, 0xe1, 0x00, 0x0c, 0x83, 0xf8, 894 + 0x00, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xaa, 895 + 0xf8, 0x30, 0x0f, 0x6d, 0xf0, 0x73, 0x0f, 0x96, 896 + 0xf5, 0x00, 0x81, 0x04, 0x49, 0x16, 0xf5, 0x20, 897 + 0x89, 0x16, 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x00, 898 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x48, 0x16, 899 + 0xf8, 0x45, 0x11, 0x33, 0xf7, 0xb8, 0x71, 0xe1, 900 + 0x00, 0x02, 0x00, 0x12, 0x10, 0xf8, 0x00, 0x12, 901 + 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x46, 0x0f, 0x8c, 902 + 0x10, 0xf8, 0x00, 0x12, 0xf0, 0x10, 0x00, 0x03, 903 + 0xf8, 0x45, 0x10, 0x16, 0x77, 0x10, 0x00, 0x01, 904 + 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0x9c, 0x77, 0x10, 905 + 0x00, 0x02, 0xf4, 0xaa, 0xf8, 0x30, 0x0f, 0xa8, 906 + 0xf0, 0x73, 0x0f, 0x96, 0x77, 0x10, 0x00, 0x04, 907 + 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xb7, 0x77, 0x10, 908 + 0x00, 0x05, 0xf4, 0xaa, 0xf8, 0x30, 0x10, 0xbc, 909 + 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 910 + 0xf0, 0x73, 0x11, 0x31, 0x76, 0xe1, 0x00, 0x0c, 911 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 912 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 913 + 0x00, 0x02, 0x00, 0x02, 0x11, 0xe1, 0x00, 0x0c, 914 + 0xe8, 0x03, 0xf6, 0x20, 0x89, 0x12, 0xf4, 0x95, 915 + 0x77, 0x10, 0x00, 0x03, 0xf5, 0xaa, 0xf8, 0x30, 916 + 0x0f, 0xb6, 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 917 + 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 0xf5, 0xae, 918 + 0xf8, 0x20, 0x0f, 0xbd, 0x48, 0x16, 0x80, 0x06, 919 + 0x88, 0x13, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x03, 920 + 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xc8, 0x6b, 0xf8, 921 + 0x27, 0x6f, 0x00, 0x01, 0x12, 0x06, 0xf8, 0x45, 922 + 0x10, 0x00, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 923 + 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 924 + 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 925 + 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 926 + 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 927 + 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 928 + 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 929 + 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 930 + 0x88, 0x16, 0x89, 0x13, 0xf4, 0x95, 0x77, 0x10, 931 + 0x00, 0x03, 0xf6, 0xab, 0xf8, 0x20, 0x0f, 0xf5, 932 + 0x6b, 0xf8, 0x27, 0x6f, 0x00, 0x01, 0x77, 0x10, 933 + 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 934 + 0xf6, 0xab, 0xf8, 0x20, 0x10, 0x00, 0x6b, 0xf8, 935 + 0x27, 0x6f, 0x00, 0x01, 0x6c, 0xe2, 0xff, 0xfd, 936 + 0x11, 0x31, 0xf6, 0xb8, 0x6f, 0xe1, 0x00, 0x05, 937 + 0x0c, 0x48, 0x6f, 0xe1, 0x00, 0x06, 0x0c, 0x18, 938 + 0xf0, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x03, 939 + 0x80, 0xe1, 0x00, 0x0b, 0x76, 0xe1, 0x00, 0x02, 940 + 0x00, 0x03, 0x48, 0x16, 0xf8, 0x45, 0x11, 0x33, 941 + 0x71, 0xe1, 0x00, 0x0c, 0x00, 0x12, 0x10, 0xe1, 942 + 0x00, 0x0b, 0x49, 0x12, 0xf6, 0x20, 0x88, 0x13, 943 + 0xe8, 0x0c, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 944 + 0xf4, 0x95, 0xf5, 0xab, 0xf8, 0x20, 0x10, 0x27, 945 + 0x48, 0x13, 0x80, 0x06, 0x88, 0x10, 0xf4, 0x95, 946 + 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0x30, 947 + 0x70, 0x06, 0x00, 0x16, 0x12, 0x06, 0xf8, 0x45, 948 + 0x10, 0x5f, 0x10, 0xe1, 0x00, 0x04, 0x80, 0x00, 949 + 0x10, 0x05, 0x80, 0x01, 0x10, 0x04, 0x80, 0x02, 950 + 0x10, 0x06, 0x80, 0x03, 0x48, 0x11, 0xf2, 0x74, 951 + 0x07, 0x1e, 0xf0, 0x00, 0x00, 0x05, 0x10, 0x06, 952 + 0x00, 0xe1, 0x00, 0x04, 0x80, 0xe1, 0x00, 0x04, 953 + 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 954 + 0x00, 0x0c, 0x88, 0x12, 0x11, 0x06, 0x10, 0x04, 955 + 0xf6, 0x00, 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 956 + 0x88, 0x16, 0xf4, 0x95, 0x77, 0x10, 0x00, 0x0c, 957 + 0x71, 0xe1, 0x00, 0x04, 0x00, 0x13, 0xf6, 0xab, 958 + 0xf8, 0x20, 0x10, 0x5f, 0x6b, 0xf8, 0x27, 0x6f, 959 + 0x00, 0x01, 0x77, 0x10, 0x00, 0x0c, 0xf6, 0xaa, 960 + 0xf8, 0x20, 0x10, 0x6b, 0xf2, 0x74, 0x0e, 0x9f, 961 + 0xf4, 0x95, 0x48, 0x17, 0x71, 0xe1, 0x00, 0x0c, 962 + 0x00, 0x12, 0x77, 0x10, 0x00, 0x0c, 0xf4, 0xaa, 963 + 0xf8, 0x30, 0x10, 0x7c, 0x77, 0x10, 0x00, 0x0c, 964 + 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x13, 0xf6, 0xab, 965 + 0xf8, 0x30, 0x10, 0xb4, 0xe7, 0x30, 0xf7, 0xaa, 966 + 0xf8, 0x30, 0x10, 0xb4, 0xf2, 0x74, 0x0e, 0xc1, 967 + 0xf4, 0x95, 0x48, 0x17, 0x88, 0x12, 0xf4, 0x95, 968 + 0xf4, 0x95, 0x6c, 0x82, 0x10, 0x8d, 0x76, 0xe1, 969 + 0x00, 0x04, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 970 + 0x00, 0x05, 0xf0, 0x73, 0x10, 0xb4, 0x76, 0xe1, 971 + 0x00, 0x02, 0x00, 0x04, 0x77, 0x10, 0x00, 0x0c, 972 + 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf5, 0xaa, 973 + 0xf8, 0x20, 0x10, 0x9a, 0xf0, 0x73, 0x10, 0x9c, 974 + 0x77, 0x12, 0x00, 0x0c, 0x76, 0x00, 0x00, 0x00, 975 + 0x70, 0x01, 0x00, 0x12, 0x70, 0x02, 0x00, 0x17, 976 + 0x76, 0x03, 0x00, 0x01, 0x48, 0x11, 0xf2, 0x74, 977 + 0x0c, 0xb9, 0xf0, 0x00, 0x00, 0x05, 0x76, 0xe1, 978 + 0x00, 0x04, 0x00, 0x00, 0x77, 0x10, 0x00, 0x0c, 979 + 0x71, 0xe1, 0x00, 0x0b, 0x00, 0x12, 0xf6, 0xaa, 980 + 0xf8, 0x20, 0x11, 0x1c, 0x48, 0x16, 0xf8, 0x45, 981 + 0x11, 0x33, 0x60, 0xe1, 0x00, 0x02, 0x00, 0x05, 982 + 0xf8, 0x20, 0x10, 0xdf, 0x10, 0xe1, 0x00, 0x0b, 983 + 0x08, 0xe1, 0x00, 0x0c, 0x11, 0xe1, 0x00, 0x04, 984 + 0xf8, 0x4d, 0x10, 0xc7, 0x6b, 0xf8, 0x27, 0x6f, 985 + 0x00, 0x01, 0x88, 0x10, 0xf4, 0x95, 0xf4, 0x95, 986 + 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xcf, 0x48, 0x16, 987 + 0xf4, 0x95, 0x48, 0x08, 0xf8, 0x45, 0x11, 0x16, 988 + 0x6f, 0xe1, 0x00, 0x0c, 0x0d, 0x00, 0x81, 0xe1, 989 + 0x00, 0x0c, 0x11, 0x04, 0xf5, 0x00, 0x81, 0x04, 990 + 0x49, 0x16, 0xf5, 0x20, 0x89, 0x16, 0xf0, 0x73, 991 + 0x11, 0x0e, 0x10, 0xe1, 0x00, 0x0b, 0x71, 0xe1, 992 + 0x00, 0x0c, 0x00, 0x12, 0x88, 0x10, 0xf4, 0x95, 993 + 0xf4, 0x95, 0xf6, 0xaa, 0xf8, 0x30, 0x11, 0x16, 994 + 0x49, 0x12, 0xf6, 0x20, 0x88, 0x10, 0xf4, 0x95, 995 + 0xf4, 0x95, 0xf5, 0xae, 0xf8, 0x20, 0x10, 0xf3, 996 + 0x48, 0x16, 0x80, 0x06, 0x48, 0x08, 0xf8, 0x45, 997 + 0x11, 0x16, 0x10, 0x04, 0x70, 0x02, 0x00, 0x17, 998 + 0x80, 0x00, 0x76, 0x03, 0x00, 0x00, 0x10, 0x06, 999 + 0x80, 0x01, 0x10, 0x05, 0xf0, 0x74, 0x0c, 0xb9, 1000 + 0x10, 0x06, 0x00, 0xe1, 0x00, 0x0c, 0x80, 0xe1, 1001 + 0x00, 0x0c, 0x11, 0x06, 0x10, 0x04, 0xf6, 0x00, 1002 + 0x80, 0x04, 0x48, 0x16, 0xf6, 0x20, 0x88, 0x16, 1003 + 0x10, 0xe1, 0x00, 0x0c, 0x08, 0xe1, 0x00, 0x0b, 1004 + 0xf8, 0x45, 0x11, 0x1c, 0xf0, 0x73, 0x11, 0x31, 1005 + 0xf2, 0x74, 0x0e, 0x9f, 0xf4, 0x95, 0x48, 0x17, 1006 + 0xf0, 0x73, 0x11, 0x33, 0x76, 0xe1, 0x00, 0x0c, 1007 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x00, 1008 + 0x76, 0xe1, 0x00, 0x02, 0x00, 0x01, 0x10, 0x04, 1009 + 0x80, 0x00, 0x10, 0x05, 0xf0, 0x74, 0x06, 0x9f, 1010 + 0x88, 0x12, 0xf4, 0x95, 0x77, 0x10, 0x00, 0xff, 1011 + 0xf4, 0xaa, 0xf8, 0x30, 0x11, 0x33, 0x6c, 0x86, 1012 + 0x0f, 0x70, 0xee, 0x08, 0x8a, 0x17, 0x8a, 0x16, 1013 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfc, 1014 + 0xf4, 0x95, 0x71, 0x06, 0x00, 0x12, 0x88, 0x11, 1015 + 0x73, 0x12, 0x00, 0x0e, 0xf1, 0x66, 0x00, 0x0d, 1016 + 0xf3, 0x00, 0x24, 0x00, 0x89, 0x14, 0x13, 0x81, 1017 + 0xf7, 0x7a, 0xf3, 0x30, 0x00, 0x01, 0x81, 0xf8, 1018 + 0x27, 0x60, 0x13, 0xe1, 0x00, 0x01, 0xf7, 0x7c, 1019 + 0xf3, 0x30, 0x00, 0x03, 0x81, 0xf8, 0x27, 0x61, 1020 + 0xe9, 0x0f, 0x19, 0xe1, 0x00, 0x01, 0x81, 0xf8, 1021 + 0x27, 0x62, 0x71, 0xe4, 0x00, 0x03, 0x00, 0x13, 1022 + 0xf6, 0xb8, 0x49, 0x13, 0xf3, 0x00, 0x00, 0x01, 1023 + 0xf3, 0x30, 0x00, 0x0f, 0x49, 0x0b, 0x09, 0xf8, 1024 + 0x27, 0x62, 0xf8, 0x4d, 0x11, 0x75, 0x77, 0x10, 1025 + 0x00, 0xff, 0xf4, 0xab, 0xf8, 0x30, 0x11, 0x75, 1026 + 0x57, 0xf8, 0x27, 0x6c, 0xf3, 0x00, 0x00, 0x01, 1027 + 0x4f, 0xf8, 0x27, 0x6c, 0x76, 0xf8, 0x27, 0x63, 1028 + 0x00, 0x01, 0xf0, 0x73, 0x11, 0x78, 0x76, 0xf8, 1029 + 0x27, 0x63, 0x00, 0x00, 0x70, 0xe4, 0x00, 0x03, 1030 + 0x27, 0x62, 0x76, 0xf8, 0x27, 0x64, 0x00, 0x00, 1031 + 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 0x00, 0x0b, 1032 + 0x00, 0x02, 0xf8, 0x20, 0x11, 0x8d, 0xe9, 0x01, 1033 + 0x6f, 0xe1, 0x00, 0x02, 0x0f, 0x18, 0x81, 0xf8, 1034 + 0x27, 0x64, 0x11, 0xf8, 0x27, 0x61, 0x61, 0xf8, 1035 + 0x00, 0x0b, 0x00, 0x01, 0xf8, 0x20, 0x11, 0xa9, 1036 + 0x10, 0xf8, 0x27, 0x64, 0xf1, 0x00, 0x00, 0x04, 1037 + 0x89, 0x13, 0xe9, 0xb8, 0xf5, 0x20, 0x81, 0xf8, 1038 + 0x27, 0x65, 0x60, 0x84, 0x00, 0x02, 0xf8, 0x20, 1039 + 0x11, 0xa9, 0x70, 0x00, 0x00, 0x11, 0x70, 0x01, 1040 + 0x00, 0x13, 0x70, 0x02, 0x27, 0x65, 0xf2, 0x74, 1041 + 0x0f, 0x18, 0xf4, 0x95, 0x48, 0x12, 0xee, 0x04, 1042 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 1043 + 0x4a, 0x17, 0xee, 0xfc, 0xe8, 0x00, 0x4e, 0xf8, 1044 + 0x27, 0x66, 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x68, 1045 + 0xe8, 0x00, 0x4e, 0xf8, 0x27, 0x6c, 0xe8, 0x00, 1046 + 0x4e, 0xf8, 0x27, 0x6a, 0x77, 0x12, 0x27, 0x40, 1047 + 0x77, 0x11, 0x24, 0x00, 0x77, 0x1a, 0x00, 0x1f, 1048 + 0xf0, 0x72, 0x11, 0xdb, 0x70, 0x92, 0x00, 0x11, 1049 + 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 0x76, 0x81, 1050 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 0x00, 0x00, 1051 + 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 0x76, 0xe1, 1052 + 0x00, 0x0c, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 1053 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1054 + 0x6d, 0xe9, 0x00, 0x0d, 0xf0, 0x20, 0x25, 0xa0, 1055 + 0xf1, 0x00, 0x00, 0x07, 0x89, 0x11, 0xf1, 0x00, 1056 + 0x00, 0x01, 0x81, 0x02, 0x88, 0x16, 0xf4, 0x95, 1057 + 0x77, 0x17, 0x00, 0x20, 0x76, 0x86, 0x00, 0xff, 1058 + 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 1059 + 0x10, 0x02, 0xf0, 0x74, 0x06, 0x6c, 0x76, 0x00, 1060 + 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1061 + 0x06, 0x6c, 0xf4, 0x95, 0x48, 0x11, 0x10, 0x02, 1062 + 0xf0, 0x00, 0x00, 0x0d, 0x80, 0x02, 0x6d, 0xe9, 1063 + 0x00, 0x0d, 0x6d, 0xee, 0x00, 0x0d, 0x6c, 0xef, 1064 + 0xff, 0xff, 0x11, 0xe8, 0xf0, 0x74, 0x0c, 0x9d, 1065 + 0xee, 0x04, 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 1066 + 0xfc, 0x00, 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 1067 + 0xee, 0xfa, 0x88, 0x11, 0x10, 0x0a, 0x49, 0x11, 1068 + 0xf8, 0x4d, 0x12, 0x9f, 0x48, 0x08, 0xf8, 0x45, 1069 + 0x12, 0x9f, 0x80, 0x04, 0x12, 0x81, 0xf5, 0x78, 1070 + 0x89, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x6c, 0xe2, 1071 + 0xff, 0xb9, 0x12, 0x8a, 0x61, 0xf8, 0x00, 0x08, 1072 + 0x00, 0x80, 0xf8, 0x30, 0x12, 0x8a, 0x13, 0xe1, 1073 + 0x00, 0x01, 0xf0, 0xe8, 0xf7, 0x78, 0xf1, 0xa0, 1074 + 0xf2, 0x30, 0x1f, 0xff, 0x88, 0x17, 0xf4, 0x95, 1075 + 0x77, 0x12, 0x24, 0x00, 0x77, 0x16, 0x00, 0x00, 1076 + 0x77, 0x13, 0x00, 0x20, 0xf6, 0xb8, 0x48, 0x17, 1077 + 0x08, 0xe2, 0x00, 0x01, 0xf8, 0x45, 0x12, 0x42, 1078 + 0x6d, 0xea, 0x00, 0x0d, 0x6d, 0x96, 0x6c, 0xeb, 1079 + 0xff, 0xff, 0x12, 0x34, 0xf0, 0x73, 0x12, 0x90, 1080 + 0x56, 0xf8, 0x27, 0x6a, 0xf0, 0x00, 0x00, 0x01, 1081 + 0x4e, 0xf8, 0x27, 0x6a, 0x60, 0x82, 0x00, 0x01, 1082 + 0xf8, 0x30, 0x12, 0x54, 0x70, 0x00, 0x00, 0x16, 1083 + 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1084 + 0xf0, 0x73, 0x12, 0x90, 0x70, 0x00, 0x00, 0x16, 1085 + 0xf2, 0x74, 0x11, 0x38, 0xf4, 0x95, 0x48, 0x11, 1086 + 0x72, 0x10, 0x2a, 0x9e, 0xf4, 0x95, 0xf4, 0xaf, 1087 + 0xf8, 0x30, 0x12, 0x6e, 0x76, 0x00, 0x00, 0x00, 1088 + 0x76, 0x01, 0x00, 0xbc, 0x70, 0x02, 0x00, 0x16, 1089 + 0x76, 0x03, 0x00, 0x00, 0xf2, 0x74, 0x0c, 0xb9, 1090 + 0xf4, 0x95, 0x48, 0x11, 0xf0, 0x73, 0x12, 0x90, 1091 + 0x10, 0xf8, 0x27, 0x6e, 0xf8, 0x44, 0x12, 0x90, 1092 + 0x76, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0xbc, 1093 + 0x70, 0x02, 0x00, 0x16, 0x76, 0x03, 0x00, 0x00, 1094 + 0xf2, 0x74, 0x0c, 0xb9, 0xf4, 0x95, 0x48, 0x11, 1095 + 0xf0, 0x74, 0x0c, 0x5e, 0xf0, 0xe0, 0xf0, 0x10, 1096 + 0x13, 0x88, 0xf8, 0x42, 0x12, 0x90, 0x76, 0xf8, 1097 + 0x27, 0x6e, 0x00, 0x01, 0xf0, 0x73, 0x12, 0x90, 1098 + 0x56, 0xf8, 0x27, 0x66, 0xf0, 0x00, 0x00, 0x01, 1099 + 0x4e, 0xf8, 0x27, 0x66, 0x6d, 0xe9, 0x00, 0x5e, 1100 + 0x56, 0xf8, 0x27, 0x68, 0xf0, 0x00, 0x00, 0x01, 1101 + 0x4e, 0xf8, 0x27, 0x68, 0x71, 0x04, 0x00, 0x12, 1102 + 0x6e, 0xea, 0xff, 0xff, 0x12, 0x18, 0x70, 0x04, 1103 + 0x00, 0x12, 0xee, 0x06, 0x8a, 0x17, 0x8a, 0x16, 1104 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xee, 0xfe, 1105 + 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1106 + 0xf0, 0x00, 0x25, 0xa0, 0x88, 0x11, 0xf4, 0x95, 1107 + 0xf4, 0x95, 0x76, 0x81, 0x00, 0xff, 0x76, 0x00, 1108 + 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0xf2, 0x74, 1109 + 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x01, 0x76, 0x00, 1110 + 0x00, 0x00, 0x76, 0x01, 0x00, 0x06, 0x48, 0x11, 1111 + 0xf2, 0x74, 0x06, 0x6c, 0xf0, 0x00, 0x00, 0x07, 1112 + 0xee, 0x02, 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 1113 + 0x88, 0x0e, 0xf4, 0x95, 0xf0, 0x66, 0x00, 0x0d, 1114 + 0xf0, 0x00, 0x24, 0x00, 0x88, 0x11, 0xf4, 0x95, 1115 + 0xf4, 0x95, 0x76, 0xe1, 0x00, 0x01, 0xff, 0xff, 1116 + 0x76, 0x81, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1117 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x03, 0x00, 0xff, 1118 + 0x8a, 0x11, 0xfc, 0x00, 0x4a, 0x11, 0xf4, 0x95, 1119 + 0x13, 0x03, 0x88, 0x11, 0xfa, 0x4d, 0x12, 0xec, 1120 + 0x71, 0x02, 0x00, 0x12, 0xf3, 0x10, 0x00, 0x01, 1121 + 0x89, 0x1a, 0xf4, 0x95, 0xf0, 0x72, 0x12, 0xeb, 1122 + 0x70, 0x91, 0x00, 0x12, 0x8a, 0x11, 0xfc, 0x00, 1123 + 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1124 + 0xf7, 0xb8, 0xee, 0xfe, 0x10, 0xf8, 0x00, 0x08, 1125 + 0x11, 0x06, 0xf1, 0xc0, 0x83, 0x00, 0xf4, 0x85, 1126 + 0x11, 0x06, 0xf7, 0x85, 0x81, 0x06, 0xf6, 0xb8, 1127 + 0xec, 0x0f, 0x1e, 0x06, 0x61, 0x00, 0x80, 0x00, 1128 + 0xf8, 0x20, 0x13, 0x05, 0xf4, 0x84, 0xee, 0x02, 1129 + 0x8a, 0x0d, 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 1130 + 0xf4, 0x95, 0x4a, 0x0b, 0x4a, 0x0c, 0x4a, 0x0d, 1131 + 0xee, 0xfe, 0xf7, 0xb8, 0x80, 0x00, 0x10, 0xf8, 1132 + 0x00, 0x08, 0xf4, 0x85, 0x11, 0x06, 0xf7, 0x85, 1133 + 0x81, 0x06, 0xf6, 0xb8, 0xec, 0x0f, 0x1e, 0x06, 1134 + 0xf0, 0xf0, 0x61, 0x00, 0x80, 0x00, 0xf8, 0x20, 1135 + 0x13, 0x20, 0xf4, 0x84, 0xee, 0x02, 0x8a, 0x0d, 1136 + 0x8a, 0x0c, 0x8a, 0x0b, 0xfc, 0x00, 0x4a, 0x11, 1137 + 0x77, 0x11, 0x00, 0x7b, 0x76, 0x81, 0x2e, 0xec, 1138 + 0x77, 0x11, 0x00, 0x7b, 0xee, 0xff, 0x71, 0x81, 1139 + 0x00, 0x11, 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 1140 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x04, 0x00, 0x00, 1141 + 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1142 + 0x00, 0x62, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x76, 1143 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x92, 0x00, 0x00, 1144 + 0x76, 0xe1, 0x00, 0x94, 0x00, 0x00, 0x76, 0xe1, 1145 + 0x00, 0xb0, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xb3, 1146 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0xbe, 0x00, 0x00, 1147 + 0x76, 0xe1, 0x00, 0xbf, 0x00, 0x00, 0x76, 0xe1, 1148 + 0x00, 0xc1, 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc3, 1149 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0xc5, 0x00, 0x00, 1150 + 0x76, 0xe1, 0x00, 0xc7, 0x00, 0x00, 0x76, 0x81, 1151 + 0x00, 0x00, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1152 + 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xff, 1153 + 0xf4, 0x95, 0x71, 0x06, 0x00, 0x16, 0xfb, 0x80, 1154 + 0x16, 0xa2, 0x88, 0x17, 0xf4, 0x95, 0xf7, 0xb8, 1155 + 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1156 + 0xfa, 0x46, 0x13, 0x88, 0x77, 0x11, 0x00, 0x00, 1157 + 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x02, 1158 + 0xf8, 0x45, 0x13, 0xf9, 0x10, 0xf8, 0x00, 0x17, 1159 + 0xf8, 0x45, 0x14, 0x39, 0x10, 0xf8, 0x00, 0x17, 1160 + 0xf0, 0x10, 0x00, 0x01, 0xf8, 0x45, 0x14, 0x1f, 1161 + 0xf0, 0x73, 0x14, 0x52, 0x10, 0xf8, 0x00, 0x17, 1162 + 0xf0, 0x10, 0x00, 0x03, 0xf8, 0x45, 0x13, 0xd3, 1163 + 0x10, 0xf8, 0x00, 0x17, 0xf0, 0x10, 0x00, 0x06, 1164 + 0xf8, 0x44, 0x14, 0x52, 0x77, 0x12, 0x00, 0x7b, 1165 + 0x71, 0x82, 0x00, 0x14, 0x61, 0xe4, 0x00, 0x07, 1166 + 0x00, 0x40, 0xf8, 0x30, 0x14, 0x52, 0x49, 0x14, 1167 + 0x48, 0x17, 0xf6, 0x00, 0x88, 0x12, 0xf4, 0x95, 1168 + 0x77, 0x13, 0x00, 0x55, 0x77, 0x11, 0x00, 0x57, 1169 + 0x6d, 0xea, 0x00, 0x3b, 0xe5, 0x01, 0x10, 0xe6, 1170 + 0x00, 0x06, 0x80, 0x81, 0x48, 0x14, 0x00, 0xf8, 1171 + 0x00, 0x17, 0x88, 0x12, 0xf4, 0x95, 0x77, 0x11, 1172 + 0x00, 0x55, 0x10, 0xe2, 0x00, 0x40, 0x80, 0x81, 1173 + 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x07, 1174 + 0x80, 0x81, 0x77, 0x11, 0x00, 0x55, 0x10, 0xe2, 1175 + 0x00, 0x45, 0x80, 0x81, 0x10, 0xe6, 0x00, 0x08, 1176 + 0x77, 0x11, 0x00, 0x57, 0x80, 0x81, 0x77, 0x11, 1177 + 0x00, 0x55, 0x10, 0xe2, 0x00, 0x4a, 0x80, 0x81, 1178 + 0x77, 0x11, 0x00, 0x57, 0x10, 0xe6, 0x00, 0x09, 1179 + 0x80, 0x81, 0xf2, 0x73, 0x14, 0x52, 0x77, 0x11, 1180 + 0x03, 0xc0, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1181 + 0xf0, 0x00, 0x00, 0x07, 0x88, 0x13, 0xf4, 0x95, 1182 + 0xf4, 0x95, 0x96, 0x1b, 0xf8, 0x30, 0x14, 0x52, 1183 + 0x10, 0xe3, 0x00, 0x35, 0x77, 0x12, 0x00, 0x55, 1184 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1185 + 0x00, 0x04, 0x80, 0x82, 0x77, 0x12, 0x00, 0x55, 1186 + 0x10, 0xe3, 0x00, 0x37, 0x80, 0x82, 0x77, 0x12, 1187 + 0x00, 0x57, 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 1188 + 0x48, 0x11, 0xf0, 0x40, 0x00, 0x10, 0xf2, 0x73, 1189 + 0x14, 0x50, 0xf0, 0x40, 0x00, 0x20, 0x77, 0x12, 1190 + 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1191 + 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0d, 1192 + 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x34, 1193 + 0x77, 0x13, 0x00, 0x55, 0x80, 0x83, 0x77, 0x13, 1194 + 0x00, 0x57, 0x10, 0xe6, 0x00, 0x02, 0x80, 0x83, 1195 + 0x10, 0xe2, 0x00, 0x36, 0x77, 0x12, 0x00, 0x55, 1196 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1197 + 0x00, 0x03, 0x80, 0x82, 0x48, 0x11, 0xf0, 0x40, 1198 + 0x00, 0x04, 0xf2, 0x73, 0x14, 0x50, 0xf0, 0x40, 1199 + 0x00, 0x08, 0x77, 0x12, 0x00, 0x7b, 0x10, 0x82, 1200 + 0xf0, 0x00, 0x00, 0x07, 0x88, 0x12, 0xf4, 0x95, 1201 + 0xf4, 0x95, 0x96, 0x0e, 0xf8, 0x30, 0x14, 0x52, 1202 + 0x10, 0xe2, 0x00, 0x33, 0x77, 0x12, 0x00, 0x55, 1203 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0x10, 0xe6, 1204 + 0x00, 0x01, 0x80, 0x82, 0x48, 0x11, 0xf2, 0x73, 1205 + 0x14, 0x50, 0xf0, 0x40, 0x00, 0x02, 0x77, 0x12, 1206 + 0x00, 0x7b, 0x10, 0x82, 0xf0, 0x00, 0x00, 0x07, 1207 + 0x88, 0x12, 0xf4, 0x95, 0xf4, 0x95, 0x96, 0x0f, 1208 + 0xf8, 0x30, 0x14, 0x52, 0x10, 0xe2, 0x00, 0x32, 1209 + 0x77, 0x12, 0x00, 0x55, 0x77, 0x13, 0x00, 0x57, 1210 + 0x80, 0x82, 0x48, 0x11, 0xe7, 0x62, 0xf0, 0x40, 1211 + 0x00, 0x01, 0xe5, 0x01, 0x88, 0x11, 0xf4, 0x95, 1212 + 0x77, 0x12, 0x00, 0x7b, 0x48, 0x11, 0x71, 0x82, 1213 + 0x00, 0x12, 0x1a, 0xe2, 0x00, 0x07, 0x80, 0xe2, 1214 + 0x00, 0x07, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1215 + 0x8a, 0x17, 0x48, 0x11, 0x8a, 0x16, 0x8a, 0x11, 1216 + 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0x77, 0x0e, 1217 + 0x00, 0x05, 0x77, 0x12, 0x00, 0x55, 0xe8, 0x04, 1218 + 0xf6, 0xb8, 0x28, 0xe1, 0x00, 0x02, 0xee, 0xff, 1219 + 0x80, 0x82, 0x77, 0x12, 0x00, 0x57, 0xf0, 0x20, 1220 + 0x80, 0x00, 0xee, 0x01, 0x1a, 0x82, 0x77, 0x12, 1221 + 0x00, 0x57, 0x80, 0x82, 0xe8, 0x01, 0x32, 0xe1, 1222 + 0x00, 0x02, 0xf5, 0x82, 0x77, 0x11, 0x00, 0x54, 1223 + 0xf6, 0x93, 0x18, 0x81, 0x77, 0x11, 0x00, 0x54, 1224 + 0xf2, 0xa0, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1225 + 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1226 + 0x71, 0x04, 0x00, 0x11, 0xfb, 0x80, 0x16, 0xa2, 1227 + 0x88, 0x16, 0xf4, 0x95, 0x77, 0x12, 0x00, 0x55, 1228 + 0x10, 0xe6, 0x00, 0x03, 0x80, 0x82, 0x77, 0x12, 1229 + 0x00, 0x56, 0x10, 0xe1, 0x00, 0x02, 0x77, 0x13, 1230 + 0x00, 0x56, 0x80, 0x82, 0x77, 0x12, 0x00, 0x56, 1231 + 0x10, 0xe1, 0x00, 0x03, 0x80, 0x82, 0x10, 0xe1, 1232 + 0x00, 0x04, 0x77, 0x12, 0x00, 0x56, 0x80, 0x82, 1233 + 0x77, 0x12, 0x00, 0x56, 0x10, 0xe1, 0x00, 0x01, 1234 + 0x80, 0x82, 0xe7, 0x12, 0xe5, 0x01, 0xf9, 0x80, 1235 + 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1236 + 0x4a, 0x11, 0x4a, 0x16, 0x4a, 0x17, 0xee, 0xf9, 1237 + 0x77, 0x11, 0x00, 0x7b, 0x76, 0x00, 0x00, 0x16, 1238 + 0x76, 0x01, 0x00, 0x17, 0x76, 0x02, 0x00, 0x1a, 1239 + 0x76, 0x03, 0x00, 0x1b, 0x76, 0x04, 0x00, 0x1c, 1240 + 0x76, 0x05, 0x00, 0x1d, 0x71, 0x81, 0x00, 0x17, 1241 + 0x71, 0xe7, 0x00, 0x06, 0x00, 0x11, 0x10, 0x81, 1242 + 0xf8, 0x44, 0x14, 0xdf, 0xf9, 0x80, 0x16, 0x53, 1243 + 0xf6, 0xb8, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x20, 1244 + 0xff, 0xff, 0xf6, 0xb8, 0xfb, 0x80, 0x16, 0x08, 1245 + 0xf0, 0x20, 0xff, 0xff, 0x77, 0x11, 0x00, 0x7b, 1246 + 0x71, 0x81, 0x00, 0x17, 0x76, 0xe7, 0x00, 0x06, 1247 + 0x00, 0x01, 0x48, 0x17, 0x77, 0x16, 0x00, 0x00, 1248 + 0x77, 0x10, 0x00, 0x04, 0x77, 0x15, 0x00, 0x03, 1249 + 0x77, 0x14, 0x00, 0x02, 0x77, 0x13, 0x00, 0x01, 1250 + 0xf0, 0x00, 0x00, 0x39, 0x76, 0xe7, 0x00, 0x08, 1251 + 0x00, 0x1f, 0x76, 0xe7, 0x00, 0x07, 0x00, 0x00, 1252 + 0x88, 0x0e, 0x77, 0x1a, 0x00, 0x05, 0x48, 0x17, 1253 + 0xf0, 0x00, 0x00, 0x09, 0x88, 0x12, 0x48, 0x18, 1254 + 0x88, 0x19, 0xe8, 0x00, 0xf0, 0x72, 0x15, 0x2c, 1255 + 0x73, 0x19, 0x00, 0x11, 0x76, 0x82, 0x00, 0x00, 1256 + 0x11, 0x91, 0x73, 0x11, 0x00, 0x19, 0x70, 0xe2, 1257 + 0x00, 0x03, 0x00, 0x16, 0x70, 0xe2, 0x00, 0x04, 1258 + 0x00, 0x13, 0x70, 0xe2, 0x00, 0x05, 0x00, 0x14, 1259 + 0x81, 0xe2, 0x00, 0x01, 0x70, 0xe2, 0x00, 0x06, 1260 + 0x00, 0x15, 0x70, 0xe2, 0x00, 0x07, 0x00, 0x10, 1261 + 0x80, 0xe2, 0x00, 0x02, 0x73, 0x0e, 0x00, 0x11, 1262 + 0xf1, 0x00, 0x00, 0x1e, 0x6d, 0xee, 0x00, 0x05, 1263 + 0x6d, 0xeb, 0x00, 0x05, 0x6d, 0xec, 0x00, 0x05, 1264 + 0x6d, 0xed, 0x00, 0x05, 0x6d, 0xe8, 0x00, 0x05, 1265 + 0xf0, 0x00, 0x00, 0x01, 0x81, 0x91, 0x6d, 0xea, 1266 + 0x00, 0x08, 0x73, 0x11, 0x00, 0x0e, 0xee, 0x07, 1267 + 0x76, 0xe7, 0x00, 0x41, 0x00, 0x24, 0x76, 0xe7, 1268 + 0x00, 0x46, 0x00, 0x25, 0x76, 0xe7, 0x00, 0x4b, 1269 + 0x00, 0x26, 0x76, 0xe7, 0x00, 0x50, 0x00, 0x27, 1270 + 0x8a, 0x17, 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 1271 + 0x4a, 0x11, 0x4a, 0x16, 0xee, 0xfe, 0x88, 0x11, 1272 + 0x56, 0x06, 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 1273 + 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 0xf0, 0x10, 1274 + 0xff, 0xff, 0xfa, 0x45, 0x15, 0x60, 0x77, 0x16, 1275 + 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 0x49, 0x11, 1276 + 0x10, 0x82, 0xf6, 0x03, 0xf0, 0x00, 0x00, 0x09, 1277 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1278 + 0xf8, 0x44, 0x15, 0x71, 0xf2, 0x73, 0x15, 0x71, 1279 + 0xf4, 0x95, 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 1280 + 0x10, 0x81, 0xf0, 0x00, 0x00, 0x09, 0x88, 0x11, 1281 + 0xf4, 0x95, 0x77, 0x12, 0x00, 0x06, 0x10, 0x81, 1282 + 0xf8, 0x45, 0x15, 0x5c, 0x6e, 0xea, 0xff, 0xff, 1283 + 0x15, 0x69, 0x6d, 0xe9, 0x00, 0x08, 0x76, 0x86, 1284 + 0x00, 0x01, 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 1285 + 0x10, 0xf8, 0x00, 0x0b, 0xf8, 0x45, 0x15, 0x7e, 1286 + 0xfb, 0x80, 0x15, 0x85, 0xf4, 0x95, 0x48, 0x16, 1287 + 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x02, 0x48, 0x16, 1288 + 0x8a, 0x16, 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 1289 + 0xee, 0xff, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1290 + 0xf4, 0x95, 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 1291 + 0xf8, 0x30, 0x15, 0xc4, 0x10, 0xe1, 0x00, 0x03, 1292 + 0x77, 0x12, 0x00, 0x55, 0x80, 0x82, 0x77, 0x12, 1293 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1294 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1295 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1296 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x77, 0x12, 1297 + 0x00, 0x56, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1298 + 0x00, 0x02, 0xf0, 0x00, 0x00, 0x08, 0x32, 0xf8, 1299 + 0x00, 0x08, 0x77, 0x12, 0x00, 0x54, 0xe8, 0x01, 1300 + 0xf4, 0x82, 0xf4, 0x93, 0x18, 0x82, 0x77, 0x12, 1301 + 0x00, 0x54, 0xf0, 0x40, 0x00, 0x00, 0x80, 0x82, 1302 + 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x76, 1303 + 0x10, 0xe1, 0x00, 0x01, 0xf9, 0x80, 0x16, 0x66, 1304 + 0xf0, 0x73, 0x16, 0x03, 0x77, 0x11, 0x00, 0x7b, 1305 + 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 0x00, 0x07, 1306 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1307 + 0x00, 0x09, 0xf9, 0x80, 0x15, 0x85, 0x77, 0x11, 1308 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1309 + 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1310 + 0x00, 0x08, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1311 + 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1312 + 0x15, 0x85, 0xf0, 0x00, 0x00, 0x10, 0x77, 0x11, 1313 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1314 + 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1315 + 0x00, 0x18, 0x77, 0x11, 0x00, 0x7b, 0x71, 0x81, 1316 + 0x00, 0x11, 0x10, 0xe1, 0x00, 0x09, 0xfb, 0x80, 1317 + 0x15, 0x85, 0xf0, 0x00, 0x00, 0x20, 0x77, 0x11, 1318 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x10, 0xe1, 1319 + 0x00, 0x09, 0xfb, 0x80, 0x15, 0x85, 0xf0, 0x00, 1320 + 0x00, 0x28, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1321 + 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1322 + 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1323 + 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1324 + 0x16, 0x41, 0x77, 0x11, 0x00, 0x55, 0x76, 0x81, 1325 + 0x00, 0x1e, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1326 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1327 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1328 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1329 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1330 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1331 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1332 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1333 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0x76, 0x81, 1334 + 0x00, 0x00, 0x77, 0x11, 0x00, 0x56, 0xf2, 0x73, 1335 + 0x16, 0x4e, 0x76, 0x81, 0x00, 0x00, 0x77, 0x11, 1336 + 0x00, 0x7b, 0x71, 0x81, 0x00, 0x11, 0x71, 0xe1, 1337 + 0x00, 0x07, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1338 + 0x10, 0xe1, 0x00, 0x39, 0xf9, 0x80, 0x16, 0x08, 1339 + 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1340 + 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 1341 + 0x10, 0x81, 0xf0, 0x00, 0x00, 0x04, 0x88, 0x11, 1342 + 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 1343 + 0x16, 0x63, 0xf4, 0x95, 0xee, 0xff, 0x76, 0x81, 1344 + 0x00, 0x01, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1345 + 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1346 + 0x00, 0x08, 0xee, 0xff, 0x77, 0x11, 0x00, 0x01, 1347 + 0xe8, 0x01, 0xee, 0x01, 0xf4, 0x82, 0x1a, 0x81, 1348 + 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1349 + 0xf0, 0x10, 0x00, 0x10, 0x4a, 0x11, 0x32, 0xf8, 1350 + 0x00, 0x08, 0xee, 0xff, 0xe8, 0x01, 0x77, 0x11, 1351 + 0x00, 0x00, 0xf4, 0x82, 0xee, 0x01, 0xf4, 0x93, 1352 + 0x18, 0x81, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1353 + 0xf4, 0xe4, 0x4a, 0x11, 0xf0, 0x10, 0x00, 0x10, 1354 + 0x77, 0x11, 0x00, 0x00, 0x32, 0xf8, 0x00, 0x08, 1355 + 0xee, 0xff, 0x11, 0x81, 0xe8, 0x01, 0xee, 0x01, 1356 + 0x77, 0x11, 0x00, 0x00, 0xf4, 0x82, 0xf2, 0xa0, 1357 + 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1358 + 0xf2, 0x73, 0x16, 0x9e, 0xf6, 0xbb, 0xf4, 0x95, 1359 + 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1360 + 0xf2, 0x73, 0x16, 0xa6, 0xf7, 0xbb, 0xf4, 0x95, 1361 + 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0x95, 0xf4, 0xe4, 1362 + 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 0x71, 0x04, 1363 + 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1364 + 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1365 + 0x76, 0x82, 0x00, 0x0e, 0x10, 0xe6, 0x00, 0x0e, 1366 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1367 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1368 + 0x00, 0x0d, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1369 + 0x10, 0xe6, 0x00, 0x0d, 0x80, 0x82, 0x71, 0xe1, 1370 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0c, 1371 + 0x10, 0xe6, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1372 + 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1373 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 0x10, 0xe6, 1374 + 0x00, 0x0b, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1375 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1376 + 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1377 + 0x00, 0x12, 0x10, 0xe6, 0x00, 0x0a, 0x80, 0x82, 1378 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1379 + 0x00, 0x09, 0x10, 0xe6, 0x00, 0x09, 0x71, 0xe1, 1380 + 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1381 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x08, 1382 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1383 + 0x00, 0x08, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1384 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 0x10, 0xe6, 1385 + 0x00, 0x07, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1386 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1387 + 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1388 + 0x00, 0x12, 0x10, 0xe6, 0x00, 0x06, 0x80, 0x82, 1389 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1390 + 0x00, 0x05, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 1391 + 0x10, 0xe6, 0x00, 0x05, 0x80, 0x82, 0x71, 0xe1, 1392 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x04, 1393 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 1394 + 0x00, 0x04, 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 1395 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 0x71, 0xe1, 1396 + 0x00, 0x06, 0x00, 0x12, 0x10, 0xe6, 0x00, 0x03, 1397 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1398 + 0x76, 0x82, 0x00, 0x02, 0x10, 0xe6, 0x00, 0x02, 1399 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 1400 + 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 1401 + 0x00, 0x01, 0x10, 0xe6, 0x00, 0x01, 0x71, 0xe1, 1402 + 0x00, 0x06, 0x00, 0x12, 0x80, 0x82, 0x71, 0xe1, 1403 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 1404 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x13, 0xe7, 0x62, 1405 + 0xe5, 0x01, 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 1406 + 0x8a, 0x11, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1407 + 0xf4, 0x95, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 1408 + 0x00, 0x12, 0xee, 0xff, 0x76, 0x82, 0x00, 0x00, 1409 + 0xee, 0x01, 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 1410 + 0x69, 0x81, 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 1411 + 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xf4, 0x95, 1412 + 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1413 + 0xee, 0xff, 0x76, 0x82, 0x00, 0x01, 0xee, 0x01, 1414 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x11, 0x69, 0x81, 1415 + 0x00, 0x01, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1416 + 0x4a, 0x11, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1417 + 0xf0, 0x00, 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 1418 + 0xf4, 0x95, 0x10, 0x81, 0xfa, 0x44, 0x17, 0x9c, 1419 + 0xf4, 0x95, 0xee, 0xff, 0xf9, 0x80, 0x16, 0x53, 1420 + 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 1421 + 0x00, 0x94, 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 1422 + 0x76, 0x81, 0x00, 0x01, 0xee, 0x01, 0x76, 0xe1, 1423 + 0x00, 0x01, 0x00, 0x00, 0x76, 0xe1, 0x00, 0x02, 1424 + 0x00, 0x21, 0x76, 0xe1, 0x00, 0x03, 0x00, 0x20, 1425 + 0x76, 0xe1, 0x00, 0x04, 0x00, 0x23, 0x76, 0xe1, 1426 + 0x00, 0x05, 0x00, 0x22, 0x76, 0xe1, 0x00, 0x06, 1427 + 0x00, 0x38, 0x76, 0xe1, 0x00, 0x07, 0x00, 0x39, 1428 + 0x76, 0xe1, 0x00, 0x08, 0x00, 0x15, 0x76, 0xe1, 1429 + 0x00, 0x09, 0x00, 0x14, 0x76, 0xe1, 0x00, 0x0a, 1430 + 0x00, 0x00, 0x76, 0xe1, 0x00, 0x0b, 0x00, 0x41, 1431 + 0x76, 0xe1, 0x00, 0x0c, 0x00, 0x40, 0x76, 0xe1, 1432 + 0x00, 0x0d, 0x00, 0x43, 0x76, 0xe1, 0x00, 0x0e, 1433 + 0x00, 0x42, 0x76, 0xe1, 0x00, 0x0f, 0x00, 0x48, 1434 + 0x76, 0xe1, 0x00, 0x10, 0x00, 0x49, 0x76, 0xe1, 1435 + 0x00, 0x11, 0x00, 0x1b, 0x76, 0xe1, 0x00, 0x12, 1436 + 0x00, 0x1a, 0x8a, 0x11, 0xf4, 0x95, 0xf4, 0xe4, 1437 + 0x4a, 0x11, 0xee, 0xfd, 0x88, 0x11, 0x56, 0x06, 1438 + 0x4e, 0x00, 0xf9, 0x80, 0x16, 0xa2, 0x77, 0x12, 1439 + 0x00, 0x7b, 0x77, 0x0e, 0x00, 0x09, 0x10, 0x82, 1440 + 0x28, 0xf8, 0x00, 0x11, 0xf0, 0x00, 0x00, 0x95, 1441 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1442 + 0xf8, 0x45, 0x17, 0xf0, 0xf2, 0x73, 0x17, 0xfd, 1443 + 0x77, 0x11, 0xff, 0xff, 0x76, 0x81, 0x00, 0x01, 1444 + 0xe9, 0x01, 0x56, 0x00, 0xf1, 0x80, 0x10, 0xf8, 1445 + 0x00, 0x0b, 0xf8, 0x45, 0x17, 0xfd, 0xfb, 0x80, 1446 + 0x18, 0x10, 0xf4, 0x95, 0x48, 0x11, 0xf9, 0x80, 1447 + 0x16, 0x9a, 0xee, 0x03, 0x48, 0x11, 0x8a, 0x11, 1448 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 1449 + 0xf4, 0x95, 0xee, 0xff, 0x71, 0xe1, 0x00, 0x01, 1450 + 0x00, 0x11, 0xee, 0x01, 0x10, 0x81, 0x8a, 0x11, 1451 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 1452 + 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 1453 + 0x77, 0x10, 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 1454 + 0x18, 0xc3, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1455 + 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 0x00, 0x06, 1456 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1457 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 1458 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1459 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1460 + 0x76, 0x82, 0x00, 0x02, 0x71, 0xe1, 0x00, 0x06, 1461 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1462 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x03, 1463 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1464 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1465 + 0x76, 0x82, 0x00, 0x04, 0x71, 0xe1, 0x00, 0x06, 1466 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1467 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x05, 1468 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1469 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1470 + 0x76, 0x82, 0x00, 0x06, 0x71, 0xe1, 0x00, 0x06, 1471 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x01, 0x71, 0xe1, 1472 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x07, 1473 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1474 + 0x20, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1475 + 0x76, 0x82, 0x00, 0x08, 0x71, 0xe1, 0x00, 0x06, 1476 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1477 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x09, 1478 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1479 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1480 + 0x76, 0x82, 0x00, 0x0a, 0x71, 0xe1, 0x00, 0x06, 1481 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1482 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0b, 1483 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1484 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1485 + 0x76, 0x82, 0x00, 0x0c, 0x71, 0xe1, 0x00, 0x06, 1486 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x71, 0xe1, 1487 + 0x00, 0x05, 0x00, 0x12, 0x76, 0x82, 0x00, 0x0d, 1488 + 0x71, 0xe1, 0x00, 0x06, 0x00, 0x12, 0x76, 0x82, 1489 + 0x00, 0x00, 0x71, 0xe1, 0x00, 0x05, 0x00, 0x12, 1490 + 0x76, 0x82, 0x00, 0x0e, 0x71, 0xe1, 0x00, 0x06, 1491 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x00, 0x10, 0xe1, 1492 + 0x00, 0x07, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1493 + 0x00, 0x08, 0xf9, 0x80, 0x16, 0x76, 0x10, 0xe1, 1494 + 0x00, 0x07, 0xf9, 0x80, 0x16, 0x66, 0x10, 0xe1, 1495 + 0x00, 0x08, 0xf9, 0x80, 0x16, 0x66, 0xf0, 0x73, 1496 + 0x18, 0xd1, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1497 + 0xfb, 0x80, 0x18, 0x10, 0xf0, 0x00, 0x00, 0x95, 1498 + 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 0xfb, 0x80, 1499 + 0x18, 0x10, 0xf0, 0x00, 0x00, 0x9e, 0xf9, 0x80, 1500 + 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 0xf4, 0xe4, 1501 + 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 0xf4, 0x95, 1502 + 0x10, 0x04, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x11, 1503 + 0xee, 0x01, 0x80, 0x81, 0x8a, 0x11, 0xf4, 0x95, 1504 + 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 0xf4, 0x95, 1505 + 0x71, 0x04, 0x00, 0x16, 0xfb, 0x80, 0x16, 0xa2, 1506 + 0x88, 0x11, 0xf4, 0x95, 0x71, 0xe1, 0x00, 0x02, 1507 + 0x00, 0x12, 0x76, 0x82, 0x00, 0x10, 0x10, 0xe6, 1508 + 0x00, 0x01, 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 1509 + 0x80, 0x82, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1510 + 0x10, 0xe6, 0x00, 0x02, 0x80, 0x82, 0xe7, 0x62, 1511 + 0x71, 0xe1, 0x00, 0x02, 0x00, 0x13, 0xe5, 0x01, 1512 + 0xf9, 0x80, 0x16, 0x9a, 0x8a, 0x16, 0x8a, 0x11, 1513 + 0xf4, 0xe4, 0x4a, 0x11, 0x88, 0x11, 0xee, 0xff, 1514 + 0xee, 0x01, 0x10, 0xe1, 0x00, 0x01, 0x8a, 0x11, 1515 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x77, 0x11, 1516 + 0x00, 0x7b, 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 1517 + 0x88, 0x11, 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 1518 + 0xfa, 0x44, 0x19, 0x2a, 0xf4, 0x95, 0xee, 0xff, 1519 + 0xf9, 0x80, 0x16, 0x53, 0x77, 0x11, 0x00, 0x7b, 1520 + 0x10, 0x81, 0xf0, 0x00, 0x00, 0xb3, 0x88, 0x11, 1521 + 0xf4, 0x95, 0xf4, 0x95, 0x76, 0x81, 0x00, 0x01, 1522 + 0xee, 0x01, 0x76, 0xe1, 0x00, 0x01, 0x00, 0x00, 1523 + 0x76, 0xe1, 0x00, 0x02, 0x00, 0x13, 0x76, 0xe1, 1524 + 0x00, 0x03, 0x00, 0x26, 0x76, 0xe1, 0x00, 0x04, 1525 + 0x00, 0x25, 0x76, 0xe1, 0x00, 0x05, 0x00, 0x24, 1526 + 0x76, 0xe1, 0x00, 0x06, 0x00, 0x00, 0x76, 0xe1, 1527 + 0x00, 0x07, 0x00, 0x17, 0x76, 0xe1, 0x00, 0x08, 1528 + 0x00, 0x32, 0x76, 0xe1, 0x00, 0x09, 0x00, 0x31, 1529 + 0x76, 0xe1, 0x00, 0x0a, 0x00, 0x30, 0x8a, 0x11, 1530 + 0xf4, 0x95, 0xf4, 0xe4, 0x4a, 0x11, 0x4a, 0x16, 1531 + 0x4a, 0x17, 0xee, 0xff, 0xf4, 0x95, 0x71, 0x06, 1532 + 0x00, 0x17, 0xfb, 0x80, 0x16, 0xa2, 0x88, 0x11, 1533 + 0xf4, 0x95, 0xf7, 0xb8, 0x10, 0xf8, 0x00, 0x11, 1534 + 0xf0, 0x10, 0xff, 0xff, 0xfa, 0x45, 0x19, 0x73, 1535 + 0x77, 0x16, 0xff, 0xff, 0x77, 0x12, 0x00, 0x7b, 1536 + 0x77, 0x0e, 0x00, 0x05, 0x10, 0x82, 0x28, 0xf8, 1537 + 0x00, 0x11, 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 1538 + 0xf4, 0x95, 0xf4, 0x95, 0x10, 0x81, 0xf8, 0x44, 1539 + 0x19, 0x84, 0xf2, 0x73, 0x19, 0x84, 0xf4, 0x95, 1540 + 0xe7, 0x16, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1541 + 0xf0, 0x00, 0x00, 0xb4, 0x88, 0x11, 0xf4, 0x95, 1542 + 0x77, 0x12, 0x00, 0x02, 0x10, 0x81, 0xf8, 0x45, 1543 + 0x19, 0x6f, 0x6e, 0xea, 0xff, 0xff, 0x19, 0x7c, 1544 + 0x6d, 0xe9, 0x00, 0x05, 0x61, 0xf8, 0x00, 0x17, 1545 + 0x00, 0x01, 0xfa, 0x20, 0x19, 0x8f, 0x76, 0x86, 1546 + 0x00, 0x01, 0xfb, 0x80, 0x19, 0x97, 0xf4, 0x95, 1547 + 0x48, 0x16, 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 1548 + 0x8a, 0x17, 0x48, 0x16, 0x8a, 0x16, 0x8a, 0x11, 1549 + 0xf4, 0xe4, 0x4a, 0x11, 0xee, 0xff, 0xfb, 0x80, 1550 + 0x16, 0xa2, 0x88, 0x11, 0xf4, 0x95, 0x77, 0x10, 1551 + 0xff, 0xff, 0xf4, 0xa9, 0xf8, 0x30, 0x19, 0xcc, 1552 + 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 0x69, 0x82, 1553 + 0x00, 0x10, 0x71, 0xe1, 0x00, 0x02, 0x00, 0x12, 1554 + 0x68, 0x82, 0xf7, 0xff, 0x71, 0xe1, 0x00, 0x02, 1555 + 0x00, 0x12, 0x68, 0x82, 0xfb, 0xff, 0x71, 0xe1, 1556 + 0x00, 0x02, 0x00, 0x12, 0x68, 0x82, 0xff, 0xf0, 1557 + 0x71, 0xe1, 0x00, 0x03, 0x00, 0x12, 0x76, 0x82, 1558 + 0xff, 0xff, 0x71, 0xe1, 0x00, 0x04, 0x00, 0x12, 1559 + 0x76, 0x82, 0xff, 0xff, 0x71, 0xe1, 0x00, 0x02, 1560 + 0x00, 0x12, 0x69, 0x82, 0x00, 0x20, 0x71, 0xe1, 1561 + 0x00, 0x02, 0x00, 0x11, 0xf2, 0x73, 0x19, 0xda, 1562 + 0x68, 0x81, 0xff, 0xef, 0x77, 0x11, 0x00, 0x7b, 1563 + 0x10, 0x81, 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 1564 + 0x00, 0xb4, 0x77, 0x11, 0x00, 0x7b, 0x10, 0x81, 1565 + 0xfb, 0x80, 0x19, 0x97, 0xf0, 0x00, 0x00, 0xb9, 1566 + 0xf9, 0x80, 0x16, 0x9a, 0xee, 0x01, 0x8a, 0x11, 1567 + 0xf4, 0xe4, 0x00, 0xa4, 0x00, 0x00, 0x19, 0xdf, 1568 + 0x00, 0x01, 0x2a, 0xe6, 0x00, 0x00, 0x00, 0x01, 1569 + 0x2a, 0xe7, 0x00, 0x00, 0x00, 0x03, 0x2a, 0x12, 1570 + 0x0c, 0x01, 0xc3, 0x4f, 0x00, 0x00, 0x00, 0x01, 1571 + 0x2a, 0x15, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x16, 1572 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2a, 0x5d, 1573 + 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 1574 + 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 1575 + 0x00, 0x74, 0x00, 0x20, 0x00, 0x54, 0x00, 0x65, 1576 + 0x00, 0x63, 0x00, 0x68, 0x00, 0x6e, 0x00, 0x6f, 1577 + 0x00, 0x54, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e, 1578 + 0x00, 0x64, 0x00, 0x20, 0x00, 0x41, 0x00, 0x47, 1579 + 0x00, 0x00, 0x00, 0x04, 0x2a, 0x76, 0x00, 0x30, 1580 + 0x00, 0x2e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0c, 1581 + 0x2a, 0x7a, 0x00, 0x46, 0x00, 0x65, 0x00, 0x62, 1582 + 0x00, 0x20, 0x00, 0x32, 0x00, 0x37, 0x00, 0x20, 1583 + 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31, 1584 + 0x00, 0x00, 0x00, 0x09, 0x2a, 0x86, 0x00, 0x31, 1585 + 0x00, 0x34, 0x00, 0x3a, 0x00, 0x33, 0x00, 0x35, 1586 + 0x00, 0x3a, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00, 1587 + 0x00, 0x0f, 0x2a, 0x8f, 0x00, 0x00, 0x00, 0x00, 1588 + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 1589 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1590 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1591 + 0x00, 0x00, 0x00, 0x01, 0x2a, 0x9e, 0x00, 0x00, 1592 + 0x00, 0x01, 0x2a, 0x9f, 0x00, 0x00, 0x00, 0x01, 1593 + 0x2a, 0xa0, 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa1, 1594 + 0x00, 0x00, 0x00, 0x01, 0x2a, 0xa2, 0x00, 0x00, 1595 + 0x00, 0x01, 0x29, 0x7e, 0x00, 0x00, 0x00, 0x02, 1596 + 0x29, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1597 + 0x29, 0x82, 0xff, 0xff, 0x00, 0x01, 0x2a, 0xa7, 1598 + 0x00, 0x00, 0x00, 0x05, 0x2a, 0xa8, 0x71, 0x41, 1599 + 0x20, 0x00, 0x20, 0x00, 0x00, 0x23, 0x04, 0x00, 1600 + 0x00, 0x0a, 0x2a, 0xad, 0x00, 0x00, 0x00, 0x00, 1601 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1602 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1603 + 0x00, 0x0f, 0x2a, 0xb7, 0x00, 0x00, 0x00, 0x00, 1604 + 0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x82, 0x40, 1605 + 0x00, 0x08, 0x30, 0x7f, 0x00, 0x80, 0x01, 0x80, 1606 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1607 + 0x00, 0x00, 0x00, 0x01, 0x27, 0x6e, 0x00, 0x00, 1608 + 0x00, 0x01, 0x27, 0x6f, 0x00, 0x00, 0x00, 0x00, 1609 + 0x00, 0x09, 0x00, 0x00, 0x1a, 0x83, 0x04, 0xe8, 1610 + 0x04, 0xcf, 0x04, 0xc5, 0x04, 0xba, 0x04, 0xb0, 1611 + 0x04, 0xac, 0x04, 0x9c, 0x04, 0x8c, 0x04, 0x81, 1612 + 0x00, 0x78, 0x00, 0x00, 0x01, 0x00, 0xf2, 0x73, 1613 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1614 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1615 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1616 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1617 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1618 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1619 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1620 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1621 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1622 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1623 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1624 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1625 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1626 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1627 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1628 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1629 + 0x07, 0xaa, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1630 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1631 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1632 + 0x02, 0x23, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1633 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1634 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1635 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1636 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1637 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1638 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1639 + 0x05, 0xe5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1640 + 0x02, 0xb5, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1641 + 0x0e, 0x33, 0xf4, 0x95, 0xf4, 0x95, 0xf2, 0x73, 1642 + 0x07, 0xef, 0xf4, 0x95, 0xf4, 0x95, 0x00, 0x00, 1643 1643 }; 1644 1644
+2 -2
drivers/media/dvb/ttusb-dec/ttusb_dec.c
··· 1203 1203 input_dev->keycode = rc_keys; 1204 1204 1205 1205 for (i = 0; i < ARRAY_SIZE(rc_keys); i++) 1206 - set_bit(rc_keys[i], input_dev->keybit); 1206 + set_bit(rc_keys[i], input_dev->keybit); 1207 1207 1208 1208 input_register_device(input_dev); 1209 1209 ··· 1529 1529 usb_free_urb(dec->irq_urb); 1530 1530 1531 1531 usb_buffer_free(dec->udev,IRQ_PACKET_SIZE, 1532 - dec->irq_buffer, dec->irq_dma_handle); 1532 + dec->irq_buffer, dec->irq_dma_handle); 1533 1533 1534 1534 if (dec->rc_input_dev) { 1535 1535 input_unregister_device(dec->rc_input_dev);
+7 -7
drivers/media/video/Kconfig
··· 188 188 189 189 To compile this driver as a module, choose M here: the 190 190 module will be called zr36067. 191 - 191 + 192 192 config VIDEO_ZORAN_BUZ 193 193 tristate "Iomega Buz support" 194 194 depends on VIDEO_ZORAN ··· 204 204 205 205 config VIDEO_ZORAN_DC30 206 206 tristate "Pinnacle/Miro DC30(+) support" 207 - depends on VIDEO_ZORAN 208 - help 207 + depends on VIDEO_ZORAN 208 + help 209 209 Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback 210 210 card. This also supports really old DC10 cards based on the 211 211 zr36050 MJPEG codec and zr36016 VFE. ··· 260 260 ---help--- 261 261 This is a video4linux driver for the 'Multimedia eXtension Board' 262 262 TV card by Siemens-Nixdorf. 263 - 263 + 264 264 To compile this driver as a module, choose M here: the 265 265 module will be called mxb. 266 266 ··· 274 274 for SAA7146 bases boards, so if you have some unsupported 275 275 saa7146 based, analog video card, chances are good that it 276 276 will work with this skeleton driver. 277 - 277 + 278 278 To compile this driver as a module, choose M here: the 279 279 module will be called dpc7146. 280 280 ··· 285 285 ---help--- 286 286 This is a video4linux driver for the Hexium HV-PCI6 and 287 287 Orion frame grabber cards by Hexium. 288 - 288 + 289 289 To compile this driver as a module, choose M here: the 290 290 module will be called hexium_orion. 291 291 ··· 297 297 This is a video4linux driver for the Hexium Gemini frame 298 298 grabber card by Hexium. Please note that the Gemini Dual 299 299 card is *not* fully supported. 300 - 300 + 301 301 To compile this driver as a module, choose M here: the 302 302 module will be called hexium_gemini. 303 303
+7 -7
drivers/media/video/bt832.c
··· 231 231 232 232 static struct i2c_driver driver = { 233 233 .owner = THIS_MODULE, 234 - .name = "i2c bt832 driver", 235 - .id = -1, /* FIXME */ 236 - .flags = I2C_DF_NOTIFY, 237 - .attach_adapter = bt832_probe, 238 - .detach_client = bt832_detach, 239 - .command = bt832_command, 234 + .name = "i2c bt832 driver", 235 + .id = -1, /* FIXME */ 236 + .flags = I2C_DF_NOTIFY, 237 + .attach_adapter = bt832_probe, 238 + .detach_client = bt832_detach, 239 + .command = bt832_command, 240 240 }; 241 241 static struct i2c_client client_template = 242 242 { 243 243 .name = "bt832", 244 244 .flags = I2C_CLIENT_ALLOW_USE, 245 - .driver = &driver, 245 + .driver = &driver, 246 246 }; 247 247 248 248
+41 -41
drivers/media/video/bttv-driver.c
··· 727 727 728 728 static void set_pll_freq(struct bttv *btv, unsigned int fin, unsigned int fout) 729 729 { 730 - unsigned char fl, fh, fi; 730 + unsigned char fl, fh, fi; 731 731 732 - /* prevent overflows */ 733 - fin/=4; 734 - fout/=4; 732 + /* prevent overflows */ 733 + fin/=4; 734 + fout/=4; 735 735 736 - fout*=12; 737 - fi=fout/fin; 736 + fout*=12; 737 + fi=fout/fin; 738 738 739 - fout=(fout%fin)*256; 740 - fh=fout/fin; 739 + fout=(fout%fin)*256; 740 + fh=fout/fin; 741 741 742 - fout=(fout%fin)*256; 743 - fl=fout/fin; 742 + fout=(fout%fin)*256; 743 + fl=fout/fin; 744 744 745 - btwrite(fl, BT848_PLL_F_LO); 746 - btwrite(fh, BT848_PLL_F_HI); 747 - btwrite(fi|BT848_PLL_X, BT848_PLL_XCI); 745 + btwrite(fl, BT848_PLL_F_LO); 746 + btwrite(fh, BT848_PLL_F_HI); 747 + btwrite(fi|BT848_PLL_X, BT848_PLL_XCI); 748 748 } 749 749 750 750 static void set_pll(struct bttv *btv) 751 751 { 752 - int i; 752 + int i; 753 753 754 - if (!btv->pll.pll_crystal) 755 - return; 754 + if (!btv->pll.pll_crystal) 755 + return; 756 756 757 757 if (btv->pll.pll_ofreq == btv->pll.pll_current) { 758 758 dprintk("bttv%d: PLL: no change required\n",btv->c.nr); 759 - return; 760 - } 759 + return; 760 + } 761 761 762 - if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) { 763 - /* no PLL needed */ 764 - if (btv->pll.pll_current == 0) 765 - return; 762 + if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) { 763 + /* no PLL needed */ 764 + if (btv->pll.pll_current == 0) 765 + return; 766 766 bttv_printk(KERN_INFO "bttv%d: PLL can sleep, using XTAL (%d).\n", 767 - btv->c.nr,btv->pll.pll_ifreq); 768 - btwrite(0x00,BT848_TGCTRL); 769 - btwrite(0x00,BT848_PLL_XCI); 770 - btv->pll.pll_current = 0; 771 - return; 772 - } 767 + btv->c.nr,btv->pll.pll_ifreq); 768 + btwrite(0x00,BT848_TGCTRL); 769 + btwrite(0x00,BT848_PLL_XCI); 770 + btv->pll.pll_current = 0; 771 + return; 772 + } 773 773 774 774 bttv_printk(KERN_INFO "bttv%d: PLL: %d => %d ",btv->c.nr, 775 - btv->pll.pll_ifreq, btv->pll.pll_ofreq); 775 + btv->pll.pll_ifreq, btv->pll.pll_ofreq); 776 776 set_pll_freq(btv, btv->pll.pll_ifreq, btv->pll.pll_ofreq); 777 777 778 - for (i=0; i<10; i++) { 778 + for (i=0; i<10; i++) { 779 779 /* Let other people run while the PLL stabilizes */ 780 780 bttv_printk("."); 781 781 msleep(10); 782 782 783 - if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) { 783 + if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) { 784 784 btwrite(0,BT848_DSTATUS); 785 - } else { 786 - btwrite(0x08,BT848_TGCTRL); 787 - btv->pll.pll_current = btv->pll.pll_ofreq; 785 + } else { 786 + btwrite(0x08,BT848_TGCTRL); 787 + btv->pll.pll_current = btv->pll.pll_ofreq; 788 788 bttv_printk(" ok\n"); 789 - return; 790 - } 791 - } 792 - btv->pll.pll_current = -1; 789 + return; 790 + } 791 + } 792 + btv->pll.pll_current = -1; 793 793 bttv_printk("failed\n"); 794 - return; 794 + return; 795 795 } 796 796 797 797 /* used to switch between the bt848's analog/digital video capture modes */ ··· 1964 1964 } 1965 1965 1966 1966 down(&fh->cap.lock); 1967 - kfree(fh->ov.clips); 1967 + kfree(fh->ov.clips); 1968 1968 fh->ov.clips = clips; 1969 1969 fh->ov.nclips = n; 1970 1970 ··· 2758 2758 fh->ov.w.height = fb->fmt.height; 2759 2759 btv->init.ov.w.width = fb->fmt.width; 2760 2760 btv->init.ov.w.height = fb->fmt.height; 2761 - kfree(fh->ov.clips); 2761 + kfree(fh->ov.clips); 2762 2762 fh->ov.clips = NULL; 2763 2763 fh->ov.nclips = 0; 2764 2764
+1
drivers/media/video/bttvp.h
··· 45 45 #include <media/tveeprom.h> 46 46 #include <media/ir-common.h> 47 47 48 + 48 49 #include "bt848.h" 49 50 #include "bttv.h" 50 51 #include "btcx-risc.h"
+2
drivers/media/video/cx88/cx88-blackbird.c
··· 616 616 617 617 retval = request_firmware(&firmware, BLACKBIRD_FIRM_ENC_FILENAME, 618 618 &dev->pci->dev); 619 + 620 + 619 621 if (retval != 0) { 620 622 dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n", 621 623 BLACKBIRD_FIRM_ENC_FILENAME);
+2
drivers/media/video/cx88/cx88-cards.c
··· 567 567 .radio_type = UNSET, 568 568 .tuner_addr = ADDR_UNSET, 569 569 .radio_addr = ADDR_UNSET, 570 + .tda9887_conf = TDA9887_PRESENT, 570 571 .input = {{ 571 572 .type = CX88_VMUX_TELEVISION, 572 573 .vmux = 0, ··· 712 711 .radio_type = UNSET, 713 712 .tuner_addr = ADDR_UNSET, 714 713 .radio_addr = ADDR_UNSET, 714 + .tda9887_conf = TDA9887_PRESENT, 715 715 .input = {{ 716 716 .type = CX88_VMUX_TELEVISION, 717 717 .vmux = 0,
-2
drivers/media/video/cx88/cx88-input.c
··· 453 453 input_dev->id.product = pci->device; 454 454 } 455 455 input_dev->cdev.dev = &pci->dev; 456 - 457 456 /* record handles to ourself */ 458 457 ir->core = core; 459 458 core->ir = ir; ··· 585 586 MODULE_AUTHOR("Gerd Knorr, Pavel Machek, Chris Pascoe"); 586 587 MODULE_DESCRIPTION("input driver for cx88 GPIO-based IR remote controls"); 587 588 MODULE_LICENSE("GPL"); 588 - 589 589 /* 590 590 * Local variables: 591 591 * c-basic-offset: 8
-1
drivers/media/video/cx88/cx88.h
··· 411 411 struct videobuf_dvb dvb; 412 412 void* fe_handle; 413 413 int (*fe_release)(void *handle); 414 - 415 414 /* for switching modulation types */ 416 415 unsigned char ts_gen_cntrl; 417 416
+7 -47
drivers/media/video/em28xx/em28xx-core.c
··· 39 39 #define em28xx_coredbg(fmt, arg...) do {\ 40 40 if (core_debug) \ 41 41 printk(KERN_INFO "%s %s :"fmt, \ 42 - dev->name, __FUNCTION__ , ##arg); } while (0) 42 + dev->name, __FUNCTION__, ##arg); } while (0) 43 43 44 44 static unsigned int reg_debug; 45 45 module_param(reg_debug,int,0644); ··· 48 48 #define em28xx_regdbg(fmt, arg...) do {\ 49 49 if (reg_debug) \ 50 50 printk(KERN_INFO "%s %s :"fmt, \ 51 - dev->name, __FUNCTION__ , ##arg); } while (0) 51 + dev->name, __FUNCTION__, ##arg); } while (0) 52 52 53 53 static unsigned int isoc_debug; 54 54 module_param(isoc_debug,int,0644); ··· 57 57 #define em28xx_isocdbg(fmt, arg...) do {\ 58 58 if (isoc_debug) \ 59 59 printk(KERN_INFO "%s %s :"fmt, \ 60 - dev->name, __FUNCTION__ , ##arg); } while (0) 60 + dev->name, __FUNCTION__, ##arg); } while (0) 61 61 62 62 static int alt = EM28XX_PINOUT; 63 63 module_param(alt, int, 0644); ··· 116 116 } 117 117 } 118 118 119 - static void *rvmalloc(size_t size) 120 - { 121 - void *mem; 122 - unsigned long adr; 123 - 124 - size = PAGE_ALIGN(size); 125 - 126 - mem = vmalloc_32((unsigned long)size); 127 - if (!mem) 128 - return NULL; 129 - 130 - memset(mem, 0, size); 131 - 132 - adr = (unsigned long)mem; 133 - while (size > 0) { 134 - SetPageReserved(vmalloc_to_page((void *)adr)); 135 - adr += PAGE_SIZE; 136 - size -= PAGE_SIZE; 137 - } 138 - 139 - return mem; 140 - } 141 - 142 - static void rvfree(void *mem, size_t size) 143 - { 144 - unsigned long adr; 145 - 146 - if (!mem) 147 - return; 148 - 149 - size = PAGE_ALIGN(size); 150 - 151 - adr = (unsigned long)mem; 152 - while (size > 0) { 153 - ClearPageReserved(vmalloc_to_page((void *)adr)); 154 - adr += PAGE_SIZE; 155 - size -= PAGE_SIZE; 156 - } 157 - 158 - vfree(mem); 159 - } 160 119 161 120 /* 162 121 * em28xx_request_buffers() ··· 132 173 133 174 dev->num_frames = count; 134 175 while (dev->num_frames > 0) { 135 - if ((buff = rvmalloc(dev->num_frames * imagesize))) 176 + if ((buff = vmalloc_32(dev->num_frames * imagesize))) { 177 + memset(buff, 0, dev->num_frames * imagesize); 136 178 break; 179 + } 137 180 dev->num_frames--; 138 181 } 139 182 ··· 178 217 void em28xx_release_buffers(struct em28xx *dev) 179 218 { 180 219 if (dev->num_frames) { 181 - rvfree(dev->frame[0].bufmem, 182 - dev->num_frames * PAGE_ALIGN(dev->frame[0].buf.length)); 220 + vfree(dev->frame[0].bufmem); 183 221 dev->num_frames = 0; 184 222 } 185 223 }
+2 -2
drivers/media/video/em28xx/em28xx-i2c.c
··· 41 41 MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]"); 42 42 43 43 #define dprintk1(lvl,fmt, args...) if (i2c_debug>=lvl) do {\ 44 - printk(fmt , ##args); } while (0) 44 + printk(fmt, ##args); } while (0) 45 45 #define dprintk2(lvl,fmt, args...) if (i2c_debug>=lvl) do{ \ 46 46 printk(KERN_DEBUG "%s at %s: " fmt, \ 47 - dev->name, __FUNCTION__ , ##args); } while (0) 47 + dev->name, __FUNCTION__, ##args); } while (0) 48 48 49 49 /* 50 50 * em2800_i2c_send_max4()
+6 -17
drivers/media/video/em28xx/em28xx-video.c
··· 45 45 #define em28xx_videodbg(fmt, arg...) do {\ 46 46 if (video_debug) \ 47 47 printk(KERN_INFO "%s %s :"fmt, \ 48 - dev->name, __FUNCTION__ , ##arg); } while (0) 48 + dev->name, __FUNCTION__, ##arg); } while (0) 49 49 50 50 MODULE_AUTHOR(DRIVER_AUTHOR); 51 51 MODULE_DESCRIPTION(DRIVER_DESC); ··· 188 188 static DECLARE_RWSEM(em28xx_disconnect); 189 189 190 190 /********************* v4l2 interface ******************************************/ 191 - 192 - static inline unsigned long kvirt_to_pa(unsigned long adr) 193 - { 194 - unsigned long kva, ret; 195 - 196 - kva = (unsigned long)page_address(vmalloc_to_page((void *)adr)); 197 - kva |= adr & (PAGE_SIZE - 1); 198 - ret = __pa(kva); 199 - return ret; 200 - } 201 191 202 192 /* 203 193 * em28xx_config() ··· 606 616 static int em28xx_v4l2_mmap(struct file *filp, struct vm_area_struct *vma) 607 617 { 608 618 unsigned long size = vma->vm_end - vma->vm_start, 609 - start = vma->vm_start, pos, page; 619 + start = vma->vm_start; 620 + void *pos; 610 621 u32 i; 611 622 612 623 struct em28xx *dev = filp->private_data; ··· 648 657 vma->vm_flags |= VM_IO; 649 658 vma->vm_flags |= VM_RESERVED; /* avoid to swap out this VMA */ 650 659 651 - pos = (unsigned long)dev->frame[i].bufmem; 660 + pos = dev->frame[i].bufmem; 652 661 while (size > 0) { /* size is page-aligned */ 653 - page = vmalloc_to_pfn((void *)pos); 654 - if (remap_pfn_range(vma, start, page, PAGE_SIZE, 655 - vma->vm_page_prot)) { 656 - em28xx_videodbg("mmap: rename page map failed\n"); 662 + if (vm_insert_page(vma, start, vmalloc_to_page(pos))) { 663 + em28xx_videodbg("mmap: vm_insert_page failed\n"); 657 664 up(&dev->fileop_lock); 658 665 return -EAGAIN; 659 666 }
+4 -4
drivers/media/video/em28xx/em28xx.h
··· 392 392 /* printk macros */ 393 393 394 394 #define em28xx_err(fmt, arg...) do {\ 395 - printk(KERN_ERR fmt , ##arg); } while (0) 395 + printk(KERN_ERR fmt, ##arg); } while (0) 396 396 397 397 #define em28xx_errdev(fmt, arg...) do {\ 398 398 printk(KERN_ERR "%s: "fmt,\ 399 - dev->name , ##arg); } while (0) 399 + dev->name, ##arg); } while (0) 400 400 401 401 #define em28xx_info(fmt, arg...) do {\ 402 402 printk(KERN_INFO "%s: "fmt,\ 403 - dev->name , ##arg); } while (0) 403 + dev->name, ##arg); } while (0) 404 404 #define em28xx_warn(fmt, arg...) do {\ 405 405 printk(KERN_WARNING "%s: "fmt,\ 406 - dev->name , ##arg); } while (0) 406 + dev->name, ##arg); } while (0) 407 407 408 408 inline static int em28xx_audio_source(struct em28xx *dev, int input) 409 409 {
+4 -4
drivers/media/video/ir-kbd-gpio.c
··· 291 291 u32 mask_keycode; 292 292 u32 mask_keydown; 293 293 u32 mask_keyup; 294 - u32 polling; 294 + u32 polling; 295 295 u32 last_gpio; 296 296 struct work_struct work; 297 297 struct timer_list timer; 298 298 299 299 /* RC5 gpio */ 300 - 301 300 u32 rc5_gpio; 302 301 struct timer_list timer_end; /* timer_end for code completion */ 303 302 struct timer_list timer_keyup; /* timer_end for key release */ ··· 646 647 driver.any_irq = ir_rc5_irq; 647 648 driver.gpio_irq = NULL; 648 649 ir->rc5_gpio = 1; 649 - break; 650 + break; 650 651 } 651 652 if (NULL == ir_codes) { 652 653 kfree(ir); ··· 656 657 657 658 if (ir->rc5_gpio) { 658 659 u32 gpio; 659 - /* enable remote irq */ 660 + /* enable remote irq */ 660 661 bttv_gpio_inout(sub->core, (1 << 4), 1 << 4); 661 662 gpio = bttv_gpio_read(sub->core); 662 663 bttv_gpio_write(sub->core, gpio & ~(1 << 4)); ··· 725 726 del_timer(&ir->timer); 726 727 flush_scheduled_work(); 727 728 } 729 + 728 730 if (ir->rc5_gpio) { 729 731 u32 gpio; 730 732
+6 -5
drivers/media/video/ir-kbd-i2c.c
··· 40 40 #include <linux/i2c.h> 41 41 #include <linux/workqueue.h> 42 42 #include <asm/semaphore.h> 43 + 43 44 #include <media/ir-common.h> 44 45 #include <media/ir-kbd-i2c.h> 45 46 ··· 279 278 280 279 static struct i2c_driver driver = { 281 280 .name = "ir remote kbd driver", 282 - .id = I2C_DRIVERID_I2C_IR, 281 + .id = I2C_DRIVERID_INFRARED, 283 282 .flags = I2C_DF_NOTIFY, 284 283 .attach_adapter = ir_probe, 285 284 .detach_client = ir_detach, ··· 297 296 IR_KEYTAB_TYPE *ir_codes = NULL; 298 297 char *name; 299 298 int ir_type; 300 - struct IR_i2c *ir; 299 + struct IR_i2c *ir; 301 300 struct input_dev *input_dev; 302 301 303 - ir = kzalloc(sizeof(struct IR_i2c), GFP_KERNEL); 302 + ir = kzalloc(sizeof(struct IR_i2c),GFP_KERNEL); 304 303 input_dev = input_allocate_device(); 305 304 if (!ir || !input_dev) { 306 305 kfree(ir); 307 306 input_free_device(input_dev); 308 - return -ENOMEM; 307 + return -ENOMEM; 309 308 } 310 309 311 310 ir->c = client_template; ··· 361 360 /* register i2c device 362 361 * At device register, IR codes may be changed to be 363 362 * board dependent. 364 - */ 363 + */ 365 364 i2c_attach_client(&ir->c); 366 365 367 366 /* If IR not supported or disabled, unregisters driver */
+11 -7
drivers/media/video/msp3400.c
··· 134 134 int rxsubchans; 135 135 136 136 int muted; 137 - int left, right; /* volume */ 137 + int left, right; /* volume */ 138 138 int bass, treble; 139 139 140 140 /* shadow register set */ ··· 882 882 msp->watch_stereo = 0; 883 883 } 884 884 885 + 885 886 static int msp3400c_thread(void *data) 886 887 { 887 888 struct i2c_client *client = data; 888 889 struct msp3400c *msp = i2c_get_clientdata(client); 889 890 struct CARRIER_DETECT *cd; 890 891 int count, max1,max2,val1,val2, val,this; 892 + 891 893 892 894 msp3400_info("msp3400 daemon started\n"); 893 895 for (;;) { ··· 1164 1162 int mode,val,i,std; 1165 1163 1166 1164 msp3400_info("msp3410 daemon started\n"); 1165 + 1167 1166 for (;;) { 1168 1167 msp3400_dbg_mediumvol("msp3410 thread: sleep\n"); 1169 1168 msp34xx_sleep(msp,-1); ··· 1387 1384 int val, std, i; 1388 1385 1389 1386 msp3400_info("msp34xxg daemon started\n"); 1387 + 1390 1388 msp->source = 1; /* default */ 1391 1389 for (;;) { 1392 1390 msp3400_dbg_mediumvol("msp34xxg thread: sleep\n"); ··· 1563 1559 static struct i2c_driver driver = { 1564 1560 .owner = THIS_MODULE, 1565 1561 .name = "msp3400", 1566 - .id = I2C_DRIVERID_MSP3400, 1567 - .flags = I2C_DF_NOTIFY, 1568 - .attach_adapter = msp_probe, 1569 - .detach_client = msp_detach, 1570 - .command = msp_command, 1562 + .id = I2C_DRIVERID_MSP3400, 1563 + .flags = I2C_DF_NOTIFY, 1564 + .attach_adapter = msp_probe, 1565 + .detach_client = msp_detach, 1566 + .command = msp_command, 1571 1567 .driver = { 1572 1568 .suspend = msp_suspend, 1573 1569 .resume = msp_resume, ··· 1578 1574 { 1579 1575 .name = "(unset)", 1580 1576 .flags = I2C_CLIENT_ALLOW_USE, 1581 - .driver = &driver, 1577 + .driver = &driver, 1582 1578 }; 1583 1579 1584 1580 static int msp_attach(struct i2c_adapter *adap, int addr, int kind)
-1
drivers/media/video/saa6588.c
··· 422 422 s->timer.function = saa6588_timer; 423 423 s->timer.data = (unsigned long)s; 424 424 schedule_work(&s->work); 425 - 426 425 return 0; 427 426 } 428 427
+1 -1
drivers/media/video/saa711x.c
··· 59 59 #define dprintk(num, format, args...) \ 60 60 do { \ 61 61 if (debug >= num) \ 62 - printk(format , ##args); \ 62 + printk(format, ##args); \ 63 63 } while (0) 64 64 65 65 /* ----------------------------------------------------------------------- */
+9 -8
drivers/media/video/saa7134/saa6752hs.c
··· 523 523 h->standard = 0; 524 524 525 525 i2c_set_clientdata(&h->client, h); 526 - i2c_attach_client(&h->client); 526 + i2c_attach_client(&h->client); 527 + 527 528 return 0; 528 529 } 529 530 ··· 598 597 599 598 static struct i2c_driver driver = { 600 599 .owner = THIS_MODULE, 601 - .name = "i2c saa6752hs MPEG encoder", 602 - .id = I2C_DRIVERID_SAA6752HS, 603 - .flags = I2C_DF_NOTIFY, 604 - .attach_adapter = saa6752hs_probe, 605 - .detach_client = saa6752hs_detach, 606 - .command = saa6752hs_command, 600 + .name = "i2c saa6752hs MPEG encoder", 601 + .id = I2C_DRIVERID_SAA6752HS, 602 + .flags = I2C_DF_NOTIFY, 603 + .attach_adapter = saa6752hs_probe, 604 + .detach_client = saa6752hs_detach, 605 + .command = saa6752hs_command, 607 606 }; 608 607 609 608 static struct i2c_client client_template = 610 609 { 611 610 .name = "saa6752hs", 612 611 .flags = I2C_CLIENT_ALLOW_USE, 613 - .driver = &driver, 612 + .driver = &driver, 614 613 }; 615 614 616 615 static int __init saa6752hs_init_module(void)
+12 -4
drivers/media/video/saa7134/saa7134-alsa.c
··· 51 51 #define MIXER_ADDR_LINE2 2 52 52 #define MIXER_ADDR_LAST 2 53 53 54 + 54 55 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 55 56 static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ 56 57 static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; ··· 60 59 MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s)."); 61 60 62 61 #define dprintk(fmt, arg...) if (debug) \ 63 - printk(KERN_DEBUG "%s/alsa: " fmt, dev->name , ## arg) 62 + printk(KERN_DEBUG "%s/alsa: " fmt, dev->name, ## arg) 63 + 64 + 64 65 65 66 /* 66 67 * Main chip structure 67 68 */ 69 + 68 70 typedef struct snd_card_saa7134 { 69 71 snd_card_t *card; 70 72 spinlock_t mixer_lock; ··· 212 208 213 209 static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) 214 210 { 215 - struct saa7134_dmasound *dmasound = dev_id; 216 - struct saa7134_dev *dev = dmasound->priv_data; 211 + struct saa7134_dmasound *dmasound = dev_id; 212 + struct saa7134_dev *dev = dmasound->priv_data; 217 213 218 214 unsigned long report, status; 219 215 int loop, handled = 0; ··· 989 985 struct saa7134_dev *dev = NULL; 990 986 struct list_head *list; 991 987 992 - printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); 988 + printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); 993 989 994 990 list_for_each(list,&saa7134_devlist) { 995 991 dev = list_entry(list, struct saa7134_dev, devlist); ··· 1008 1004 printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); 1009 1005 1010 1006 return 0; 1007 + 1011 1008 } 1012 1009 1013 1010 /* ··· 1032 1027 module_exit(saa7134_alsa_exit); 1033 1028 MODULE_LICENSE("GPL"); 1034 1029 MODULE_AUTHOR("Ricardo Cerqueira"); 1030 + 1031 + 1032 +
+1 -1
drivers/media/video/saa7134/saa7134-cards.c
··· 976 976 .radio_type = UNSET, 977 977 .tuner_addr = ADDR_UNSET, 978 978 .radio_addr = ADDR_UNSET, 979 - .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, 979 + .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_ACTIVE, 980 980 .inputs = {{ 981 981 .name = name_tv, 982 982 .vmux = 3,
+1
drivers/media/video/saa7134/saa7134-core.c
··· 71 71 static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; 72 72 static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; 73 73 74 + 74 75 module_param_array(video_nr, int, NULL, 0444); 75 76 module_param_array(vbi_nr, int, NULL, 0444); 76 77 module_param_array(radio_nr, int, NULL, 0444);
+1
drivers/media/video/saa7134/saa7134-empress.c
··· 36 36 MODULE_LICENSE("GPL"); 37 37 38 38 static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; 39 + 39 40 module_param_array(empress_nr, int, NULL, 0444); 40 41 MODULE_PARM_DESC(empress_nr,"ts device number"); 41 42
+1 -1
drivers/media/video/saa7134/saa7134-i2c.c
··· 333 333 struct tuner_setup tun_setup; 334 334 335 335 d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", 336 - client->driver->name, client->addr, client->name); 336 + client->driver->name, client->addr, client->name); 337 337 338 338 /* Am I an i2c remote control? */ 339 339
+44 -43
drivers/media/video/saa7134/saa7134-oss.c
··· 782 782 783 783 static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) 784 784 { 785 - struct saa7134_dmasound *dmasound = dev_id; 786 - struct saa7134_dev *dev = dmasound->priv_data; 787 - unsigned long report, status; 788 - int loop, handled = 0; 785 + struct saa7134_dmasound *dmasound = dev_id; 786 + struct saa7134_dev *dev = dmasound->priv_data; 787 + unsigned long report, status; 788 + int loop, handled = 0; 789 789 790 - for (loop = 0; loop < 10; loop++) { 791 - report = saa_readl(SAA7134_IRQ_REPORT); 792 - status = saa_readl(SAA7134_IRQ_STATUS); 790 + for (loop = 0; loop < 10; loop++) { 791 + report = saa_readl(SAA7134_IRQ_REPORT); 792 + status = saa_readl(SAA7134_IRQ_STATUS); 793 793 794 - if (report & SAA7134_IRQ_REPORT_DONE_RA3) { 795 - handled = 1; 796 - saa_writel(SAA7134_IRQ_REPORT,report); 797 - saa7134_irq_oss_done(dev, status); 798 - } else { 799 - goto out; 800 - } 801 - } 794 + if (report & SAA7134_IRQ_REPORT_DONE_RA3) { 795 + handled = 1; 796 + saa_writel(SAA7134_IRQ_REPORT,report); 797 + saa7134_irq_oss_done(dev, status); 798 + } else { 799 + goto out; 800 + } 801 + } 802 802 803 - if (loop == 10) { 804 - dprintk("error! looping IRQ!"); 805 - } 803 + if (loop == 10) { 804 + dprintk("error! looping IRQ!"); 805 + } 806 806 out: 807 - return IRQ_RETVAL(handled); 807 + return IRQ_RETVAL(handled); 808 808 } 809 809 810 810 int saa7134_oss_init1(struct saa7134_dev *dev) 811 811 { 812 812 813 - if ((request_irq(dev->pci->irq, saa7134_oss_irq, 814 - SA_SHIRQ | SA_INTERRUPT, dev->name, 813 + if ((request_irq(dev->pci->irq, saa7134_oss_irq, 814 + SA_SHIRQ | SA_INTERRUPT, dev->name, 815 815 (void*) &dev->dmasound)) < 0) 816 816 return -1; 817 817 ··· 905 905 906 906 err = dev->dmasound.minor_dsp = 907 907 register_sound_dsp(&saa7134_dsp_fops, 908 - dsp_nr[dev->nr]); 908 + dsp_nr[dev->nr]); 909 909 if (err < 0) { 910 910 goto fail; 911 911 } 912 912 printk(KERN_INFO "%s: registered device dsp%d\n", 913 - dev->name,dev->dmasound.minor_dsp >> 4); 913 + dev->name,dev->dmasound.minor_dsp >> 4); 914 914 915 915 err = dev->dmasound.minor_mixer = 916 916 register_sound_mixer(&saa7134_mixer_fops, 917 - mixer_nr[dev->nr]); 917 + mixer_nr[dev->nr]); 918 918 if (err < 0) 919 919 goto fail; 920 920 printk(KERN_INFO "%s: registered device mixer%d\n", 921 - dev->name,dev->dmasound.minor_mixer >> 4); 921 + dev->name,dev->dmasound.minor_mixer >> 4); 922 922 923 923 return 0; 924 924 925 925 fail: 926 - unregister_sound_dsp(dev->dmasound.minor_dsp); 926 + unregister_sound_dsp(dev->dmasound.minor_dsp); 927 927 return 0; 928 928 929 929 ··· 956 956 957 957 static int saa7134_oss_init(void) 958 958 { 959 - struct saa7134_dev *dev = NULL; 960 - struct list_head *list; 959 + struct saa7134_dev *dev = NULL; 960 + struct list_head *list; 961 961 962 - printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); 962 + printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); 963 963 964 - list_for_each(list,&saa7134_devlist) { 965 - dev = list_entry(list, struct saa7134_dev, devlist); 964 + list_for_each(list,&saa7134_devlist) { 965 + dev = list_entry(list, struct saa7134_dev, devlist); 966 966 if (dev->dmasound.priv_data == NULL) { 967 967 oss_device_init(dev); 968 968 } else { 969 - printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); 969 + printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); 970 970 return -EBUSY; 971 971 } 972 - } 972 + } 973 973 974 - if (dev == NULL) 975 - printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); 974 + if (dev == NULL) 975 + printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); 976 976 977 977 dmasound_init = oss_device_init; 978 978 dmasound_exit = oss_device_exit; 979 979 980 - return 0; 980 + return 0; 981 981 982 982 } 983 983 984 984 static void saa7134_oss_exit(void) 985 985 { 986 - struct saa7134_dev *dev = NULL; 987 - struct list_head *list; 986 + struct saa7134_dev *dev = NULL; 987 + struct list_head *list; 988 988 989 - list_for_each(list,&saa7134_devlist) { 990 - dev = list_entry(list, struct saa7134_dev, devlist); 989 + list_for_each(list,&saa7134_devlist) { 990 + dev = list_entry(list, struct saa7134_dev, devlist); 991 991 992 992 /* Device isn't registered by OSS, probably ALSA's */ 993 993 if (!dev->dmasound.minor_dsp) 994 994 continue; 995 995 996 996 oss_device_exit(dev); 997 - } 998 997 999 - printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); 998 + } 1000 999 1001 - return; 1000 + printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); 1001 + 1002 + return; 1002 1003 } 1003 1004 1004 1005 module_init(saa7134_oss_init);
+8 -7
drivers/media/video/tda9887.c
··· 12 12 #include <media/audiochip.h> 13 13 #include <media/tuner.h> 14 14 15 + 15 16 /* Chips: 16 17 TDA9885 (PAL, NTSC) 17 18 TDA9886 (PAL, SECAM, NTSC) ··· 820 819 821 820 static struct i2c_driver driver = { 822 821 .owner = THIS_MODULE, 823 - .name = "i2c tda9887 driver", 824 - .id = -1, /* FIXME */ 825 - .flags = I2C_DF_NOTIFY, 826 - .attach_adapter = tda9887_probe, 827 - .detach_client = tda9887_detach, 828 - .command = tda9887_command, 822 + .name = "i2c tda9887 driver", 823 + .id = -1, /* FIXME */ 824 + .flags = I2C_DF_NOTIFY, 825 + .attach_adapter = tda9887_probe, 826 + .detach_client = tda9887_detach, 827 + .command = tda9887_command, 829 828 .driver = { 830 829 .suspend = tda9887_suspend, 831 830 .resume = tda9887_resume, ··· 835 834 { 836 835 .name = "tda9887", 837 836 .flags = I2C_CLIENT_ALLOW_USE, 838 - .driver = &driver, 837 + .driver = &driver, 839 838 }; 840 839 841 840 static int __init tda9887_init_module(void)
+15 -15
drivers/media/video/tvaudio.c
··· 188 188 buffer[1] = val; 189 189 if (2 != i2c_master_send(&chip->c,buffer,2)) { 190 190 tvaudio_warn("%s: I/O error (write reg%d=0x%x)\n", 191 - chip->c.name, subaddr, val); 191 + chip->c.name, subaddr, val); 192 192 return -1; 193 193 } 194 194 } ··· 216 216 chip->c.name); 217 217 return -1; 218 218 } 219 - tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name,buffer); 219 + tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name, buffer); 220 220 return buffer; 221 221 } 222 222 ··· 235 235 return -1; 236 236 } 237 237 tvaudio_dbg("%s: chip_read2: reg%d=0x%x\n", 238 - chip->c.name,subaddr,read[0]); 238 + chip->c.name, subaddr,read[0]); 239 239 return read[0]; 240 240 } 241 241 ··· 248 248 249 249 /* update our shadow register set; print bytes if (debug > 0) */ 250 250 tvaudio_dbg("%s: chip_cmd(%s): reg=%d, data:", 251 - chip->c.name,name,cmd->bytes[0]); 251 + chip->c.name, name,cmd->bytes[0]); 252 252 for (i = 1; i < cmd->count; i++) { 253 253 if (debug) 254 254 printk(" 0x%x",cmd->bytes[i]); ··· 322 322 int mode = desc->getmode(chip); 323 323 324 324 if (mode == chip->prevmode) 325 - return; 325 + return; 326 326 327 327 tvaudio_dbg("%s: thread checkmode\n", chip->c.name); 328 328 chip->prevmode = mode; ··· 1506 1506 return -EIO; 1507 1507 } 1508 1508 tvaudio_info("%s found @ 0x%x (%s)\n", desc->name, addr<<1, adap->name); 1509 - if (desc->flags) { 1510 - tvaudio_dbg("matches:%s%s%s.\n", 1511 - (desc->flags & CHIP_HAS_VOLUME) ? " volume" : "", 1512 - (desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "", 1513 - (desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : ""); 1514 - } 1509 + if (desc->flags) { 1510 + tvaudio_dbg("matches:%s%s%s.\n", 1511 + (desc->flags & CHIP_HAS_VOLUME) ? " volume" : "", 1512 + (desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "", 1513 + (desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : ""); 1514 + } 1515 1515 1516 1516 /* fill required data structures */ 1517 - strcpy(chip->c.name,desc->name); 1517 + strcpy(chip->c.name, desc->name); 1518 1518 chip->type = desc-chiplist; 1519 1519 chip->shadow.count = desc->registers+1; 1520 - chip->prevmode = -1; 1520 + chip->prevmode = -1; 1521 1521 /* register */ 1522 1522 i2c_attach_client(&chip->c); 1523 1523 ··· 1604 1604 struct CHIPSTATE *chip = i2c_get_clientdata(client); 1605 1605 struct CHIPDESC *desc = chiplist + chip->type; 1606 1606 1607 - tvaudio_dbg("%s: chip_command 0x%x\n",chip->c.name,cmd); 1607 + tvaudio_dbg("%s: chip_command 0x%x\n", chip->c.name, cmd); 1608 1608 1609 1609 switch (cmd) { 1610 1610 case AUDC_SET_INPUT: ··· 1624 1624 1625 1625 /* --- v4l ioctls --- */ 1626 1626 /* take care: bttv does userspace copying, we'll get a 1627 - kernel pointer here... */ 1627 + kernel pointer here... */ 1628 1628 case VIDIOCGAUDIO: 1629 1629 { 1630 1630 struct video_audio *va = arg;
+2 -1
drivers/media/video/tveeprom.c
··· 753 753 client->driver = &i2c_driver_tveeprom; 754 754 client->flags = I2C_CLIENT_ALLOW_USE; 755 755 snprintf(client->name, sizeof(client->name), "tveeprom"); 756 - i2c_attach_client(client); 756 + i2c_attach_client(client); 757 + 757 758 return 0; 758 759 } 759 760
+1 -2
drivers/media/video/tvp5150.c
··· 31 31 #define dprintk(num, format, args...) \ 32 32 do { \ 33 33 if (debug >= num) \ 34 - printk(format , ##args); \ 34 + printk(format, ##args); \ 35 35 } while (0) 36 36 37 37 /* supported controls */ ··· 770 770 771 771 if (debug > 1) 772 772 dump_reg(client); 773 - 774 773 return 0; 775 774 } 776 775
+2
drivers/media/video/video-buf-dvb.c
··· 13 13 * (at your option) any later version. 14 14 */ 15 15 16 + 16 17 #include <linux/module.h> 17 18 #include <linux/init.h> 18 19 #include <linux/device.h> ··· 248 247 * compile-command: "make DVB=1" 249 248 * End: 250 249 */ 250 +
+11 -8
drivers/mfd/ucb1x00-ts.c
··· 59 59 60 60 static inline void ucb1x00_ts_evt_add(struct ucb1x00_ts *ts, u16 pressure, u16 x, u16 y) 61 61 { 62 - input_report_abs(ts->idev, ABS_X, x); 63 - input_report_abs(ts->idev, ABS_Y, y); 64 - input_report_abs(ts->idev, ABS_PRESSURE, pressure); 65 - input_sync(ts->idev); 62 + struct input_dev *idev = ts->idev; 63 + input_report_abs(idev, ABS_X, x); 64 + input_report_abs(idev, ABS_Y, y); 65 + input_report_abs(idev, ABS_PRESSURE, pressure); 66 + input_sync(idev); 66 67 } 67 68 68 69 static inline void ucb1x00_ts_event_release(struct ucb1x00_ts *ts) 69 70 { 70 - input_report_abs(ts->idev, ABS_PRESSURE, 0); 71 - input_sync(ts->idev); 71 + struct input_dev *idev = ts->idev; 72 + input_report_abs(idev, ABS_PRESSURE, 0); 73 + input_sync(idev); 72 74 } 73 75 74 76 /* ··· 299 297 300 298 static int ucb1x00_ts_open(struct input_dev *idev) 301 299 { 302 - struct ucb1x00_ts *ts = (struct ucb1x00_ts *)idev; 300 + struct ucb1x00_ts *ts = idev->private; 303 301 int ret = 0; 304 302 305 303 BUG_ON(ts->rtask); ··· 336 334 */ 337 335 static void ucb1x00_ts_close(struct input_dev *idev) 338 336 { 339 - struct ucb1x00_ts *ts = (struct ucb1x00_ts *)idev; 337 + struct ucb1x00_ts *ts = idev->private; 340 338 341 339 if (ts->rtask) 342 340 kthread_stop(ts->rtask); ··· 388 386 ts->ucb = dev->ucb; 389 387 ts->adcsync = adcsync ? UCB_SYNC : UCB_NOSYNC; 390 388 389 + ts->idev->private = ts; 391 390 ts->idev->name = "Touchscreen panel"; 392 391 ts->idev->id.product = ts->ucb->id; 393 392 ts->idev->open = ucb1x00_ts_open;
+4 -4
drivers/mtd/devices/blkmtd.c
··· 113 113 ClearPageUptodate(page); 114 114 SetPageError(page); 115 115 } 116 - ClearPageDirty(page); 116 + clear_page_dirty(page); 117 117 unlock_page(page); 118 118 page_cache_release(page); 119 119 } while (bvec >= bio->bi_io_vec); ··· 289 289 BUG(); 290 290 } 291 291 memcpy(page_address(page)+offset, buf, start_len); 292 - SetPageDirty(page); 292 + set_page_dirty(page); 293 293 SetPageUptodate(page); 294 294 buf += start_len; 295 295 thislen = start_len; ··· 336 336 } 337 337 pagenr++; 338 338 pagecnt--; 339 - SetPageDirty(page); 339 + set_page_dirty(page); 340 340 SetPageUptodate(page); 341 341 pagesc--; 342 342 thislen += PAGE_SIZE; ··· 357 357 BUG(); 358 358 } 359 359 memcpy(page_address(page), buf, end_len); 360 - SetPageDirty(page); 360 + set_page_dirty(page); 361 361 SetPageUptodate(page); 362 362 DEBUG(3, "blkmtd: write: writing out partial end\n"); 363 363 thislen += end_len;
+9 -6
drivers/net/tg3.c
··· 68 68 69 69 #define DRV_MODULE_NAME "tg3" 70 70 #define PFX DRV_MODULE_NAME ": " 71 - #define DRV_MODULE_VERSION "3.43" 72 - #define DRV_MODULE_RELDATE "Oct 24, 2005" 71 + #define DRV_MODULE_VERSION "3.44" 72 + #define DRV_MODULE_RELDATE "Dec 6, 2005" 73 73 74 74 #define TG3_DEF_MAC_MODE 0 75 75 #define TG3_DEF_RX_MODE 0 ··· 3565 3565 if (!spin_trylock(&tp->tx_lock)) 3566 3566 return NETDEV_TX_LOCKED; 3567 3567 3568 - /* This is a hard error, log it. */ 3569 3568 if (unlikely(TX_BUFFS_AVAIL(tp) <= (skb_shinfo(skb)->nr_frags + 1))) { 3570 - netif_stop_queue(dev); 3569 + if (!netif_queue_stopped(dev)) { 3570 + netif_stop_queue(dev); 3571 + 3572 + /* This is a hard error, log it. */ 3573 + printk(KERN_ERR PFX "%s: BUG! Tx Ring full when " 3574 + "queue awake!\n", dev->name); 3575 + } 3571 3576 spin_unlock(&tp->tx_lock); 3572 - printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", 3573 - dev->name); 3574 3577 return NETDEV_TX_BUSY; 3575 3578 } 3576 3579
+8 -1
drivers/scsi/scsi_lib.c
··· 542 542 543 543 void scsi_next_command(struct scsi_cmnd *cmd) 544 544 { 545 - struct request_queue *q = cmd->device->request_queue; 545 + struct scsi_device *sdev = cmd->device; 546 + struct request_queue *q = sdev->request_queue; 547 + 548 + /* need to hold a reference on the device before we let go of the cmd */ 549 + get_device(&sdev->sdev_gendev); 546 550 547 551 scsi_put_command(cmd); 548 552 scsi_run_queue(q); 553 + 554 + /* ok to remove device now */ 555 + put_device(&sdev->sdev_gendev); 549 556 } 550 557 551 558 void scsi_run_host_queues(struct Scsi_Host *shost)
+10 -3
fs/inotify.c
··· 364 364 /* 365 365 * find_inode - resolve a user-given path to a specific inode and return a nd 366 366 */ 367 - static int find_inode(const char __user *dirname, struct nameidata *nd) 367 + static int find_inode(const char __user *dirname, struct nameidata *nd, 368 + unsigned flags) 368 369 { 369 370 int error; 370 371 371 - error = __user_walk(dirname, LOOKUP_FOLLOW, nd); 372 + error = __user_walk(dirname, flags, nd); 372 373 if (error) 373 374 return error; 374 375 /* you can only watch an inode if you have read permissions on it */ ··· 934 933 struct file *filp; 935 934 int ret, fput_needed; 936 935 int mask_add = 0; 936 + unsigned flags = 0; 937 937 938 938 filp = fget_light(fd, &fput_needed); 939 939 if (unlikely(!filp)) ··· 946 944 goto fput_and_out; 947 945 } 948 946 949 - ret = find_inode(path, &nd); 947 + if (!(mask & IN_DONT_FOLLOW)) 948 + flags |= LOOKUP_FOLLOW; 949 + if (mask & IN_ONLYDIR) 950 + flags |= LOOKUP_DIRECTORY; 951 + 952 + ret = find_inode(path, &nd, flags); 950 953 if (unlikely(ret)) 951 954 goto fput_and_out; 952 955
+1 -1
fs/xattr.c
··· 245 245 error = d->d_inode->i_op->listxattr(d, klist, size); 246 246 } else { 247 247 error = security_inode_listsecurity(d->d_inode, klist, size); 248 - if (size && error >= size) 248 + if (size && error > size) 249 249 error = -ERANGE; 250 250 } 251 251 if (error > 0) {
+2 -1
include/asm-powerpc/mmu.h
··· 220 220 unsigned int local); 221 221 struct mm_struct; 222 222 extern int hash_huge_page(struct mm_struct *mm, unsigned long access, 223 - unsigned long ea, unsigned long vsid, int local); 223 + unsigned long ea, unsigned long vsid, int local, 224 + unsigned long trap); 224 225 225 226 extern void htab_finish_init(void); 226 227 extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
+2
include/linux/cn_proc.h
··· 26 26 #define CN_PROC_H 27 27 28 28 #include <linux/types.h> 29 + #include <linux/time.h> 29 30 #include <linux/connector.h> 30 31 31 32 /* ··· 66 65 PROC_EVENT_EXIT = 0x80000000 67 66 } what; 68 67 __u32 cpu; 68 + struct timespec timestamp; 69 69 union { /* must be last field of proc_event struct */ 70 70 struct { 71 71 __u32 err;
+14 -14
include/linux/dvb/audio.h
··· 32 32 33 33 34 34 typedef enum { 35 - AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ 35 + AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ 36 36 AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */ 37 37 } audio_stream_source_t; 38 38 39 39 40 40 typedef enum { 41 41 AUDIO_STOPPED, /* Device is stopped */ 42 - AUDIO_PLAYING, /* Device is currently playing */ 42 + AUDIO_PLAYING, /* Device is currently playing */ 43 43 AUDIO_PAUSED /* Device is paused */ 44 44 } audio_play_state_t; 45 45 46 46 47 47 typedef enum { 48 - AUDIO_STEREO, 49 - AUDIO_MONO_LEFT, 48 + AUDIO_STEREO, 49 + AUDIO_MONO_LEFT, 50 50 AUDIO_MONO_RIGHT 51 51 } audio_channel_select_t; 52 52 53 53 54 54 typedef struct audio_mixer { 55 - unsigned int volume_left; 56 - unsigned int volume_right; 55 + unsigned int volume_left; 56 + unsigned int volume_right; 57 57 // what else do we need? bass, pass-through, ... 58 58 } audio_mixer_t; 59 59 60 60 61 61 typedef struct audio_status { 62 - int AV_sync_state; /* sync audio and video? */ 63 - int mute_state; /* audio is muted */ 64 - audio_play_state_t play_state; /* current playback state */ 65 - audio_stream_source_t stream_source; /* current stream source */ 66 - audio_channel_select_t channel_select; /* currently selected channel */ 67 - int bypass_mode; /* pass on audio data to */ 62 + int AV_sync_state; /* sync audio and video? */ 63 + int mute_state; /* audio is muted */ 64 + audio_play_state_t play_state; /* current playback state */ 65 + audio_stream_source_t stream_source; /* current stream source */ 66 + audio_channel_select_t channel_select; /* currently selected channel */ 67 + int bypass_mode; /* pass on audio data to */ 68 68 audio_mixer_t mixer_state; /* current mixer state */ 69 69 } audio_status_t; /* separate decoder hardware */ 70 70 ··· 74 74 int vocal1; /* into left and right t at 70% each */ 75 75 int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ 76 76 int melody; /* mixed into the left channel and */ 77 - /* Vocal2 into the right channel at 100% each. */ 78 - /* if Melody is non-zero, the melody channel gets mixed*/ 77 + /* Vocal2 into the right channel at 100% each. */ 78 + /* if Melody is non-zero, the melody channel gets mixed*/ 79 79 } audio_karaoke_t; /* into left and right */ 80 80 81 81
+18 -18
include/linux/dvb/ca.h
··· 27 27 /* slot interface types and info */ 28 28 29 29 typedef struct ca_slot_info { 30 - int num; /* slot number */ 30 + int num; /* slot number */ 31 31 32 - int type; /* CA interface this slot supports */ 32 + int type; /* CA interface this slot supports */ 33 33 #define CA_CI 1 /* CI high level interface */ 34 34 #define CA_CI_LINK 2 /* CI link layer level interface */ 35 35 #define CA_CI_PHYS 4 /* CI physical layer level interface */ 36 36 #define CA_DESCR 8 /* built-in descrambler */ 37 37 #define CA_SC 128 /* simple smart card interface */ 38 38 39 - unsigned int flags; 39 + unsigned int flags; 40 40 #define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ 41 41 #define CA_CI_MODULE_READY 2 42 42 } ca_slot_info_t; ··· 45 45 /* descrambler types and info */ 46 46 47 47 typedef struct ca_descr_info { 48 - unsigned int num; /* number of available descramblers (keys) */ 49 - unsigned int type; /* type of supported scrambling system */ 48 + unsigned int num; /* number of available descramblers (keys) */ 49 + unsigned int type; /* type of supported scrambling system */ 50 50 #define CA_ECD 1 51 51 #define CA_NDS 2 52 52 #define CA_DSS 4 53 53 } ca_descr_info_t; 54 54 55 55 typedef struct ca_caps { 56 - unsigned int slot_num; /* total number of CA card and module slots */ 57 - unsigned int slot_type; /* OR of all supported types */ 58 - unsigned int descr_num; /* total number of descrambler slots (keys) */ 59 - unsigned int descr_type; /* OR of all supported types */ 56 + unsigned int slot_num; /* total number of CA card and module slots */ 57 + unsigned int slot_type; /* OR of all supported types */ 58 + unsigned int descr_num; /* total number of descrambler slots (keys) */ 59 + unsigned int descr_type; /* OR of all supported types */ 60 60 } ca_caps_t; 61 61 62 62 /* a message to/from a CI-CAM */ 63 63 typedef struct ca_msg { 64 - unsigned int index; 65 - unsigned int type; 66 - unsigned int length; 67 - unsigned char msg[256]; 64 + unsigned int index; 65 + unsigned int type; 66 + unsigned int length; 67 + unsigned char msg[256]; 68 68 } ca_msg_t; 69 69 70 70 typedef struct ca_descr { 71 - unsigned int index; 72 - unsigned int parity; /* 0 == even, 1 == odd */ 73 - unsigned char cw[8]; 71 + unsigned int index; 72 + unsigned int parity; /* 0 == even, 1 == odd */ 73 + unsigned char cw[8]; 74 74 } ca_descr_t; 75 75 76 76 typedef struct ca_pid { 77 - unsigned int pid; 78 - int index; /* -1 == disable*/ 77 + unsigned int pid; 78 + int index; /* -1 == disable*/ 79 79 } ca_pid_t; 80 80 81 81 #define CA_RESET _IO('o', 128)
+10 -10
include/linux/dvb/dmx.h
··· 1 - /* 1 + /* 2 2 * dmx.h 3 3 * 4 4 * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> ··· 38 38 { 39 39 DMX_OUT_DECODER, /* Streaming directly to decoder. */ 40 40 DMX_OUT_TAP, /* Output going to a memory buffer */ 41 - /* (to be retrieved via the read command).*/ 41 + /* (to be retrieved via the read command).*/ 42 42 DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ 43 - /* (to be retrieved by reading from the */ 44 - /* logical DVR device). */ 43 + /* (to be retrieved by reading from the */ 44 + /* logical DVR device). */ 45 45 } dmx_output_t; 46 46 47 47 ··· 54 54 55 55 typedef enum 56 56 { 57 - DMX_PES_AUDIO0, 57 + DMX_PES_AUDIO0, 58 58 DMX_PES_VIDEO0, 59 59 DMX_PES_TELETEXT0, 60 60 DMX_PES_SUBTITLE0, 61 61 DMX_PES_PCR0, 62 62 63 - DMX_PES_AUDIO1, 63 + DMX_PES_AUDIO1, 64 64 DMX_PES_VIDEO1, 65 65 DMX_PES_TELETEXT1, 66 66 DMX_PES_SUBTITLE1, 67 67 DMX_PES_PCR1, 68 68 69 - DMX_PES_AUDIO2, 69 + DMX_PES_AUDIO2, 70 70 DMX_PES_VIDEO2, 71 71 DMX_PES_TELETEXT2, 72 72 DMX_PES_SUBTITLE2, 73 73 DMX_PES_PCR2, 74 74 75 - DMX_PES_AUDIO3, 75 + DMX_PES_AUDIO3, 76 76 DMX_PES_VIDEO3, 77 77 DMX_PES_TELETEXT3, 78 78 DMX_PES_SUBTITLE3, ··· 90 90 91 91 typedef enum 92 92 { 93 - DMX_SCRAMBLING_EV, 94 - DMX_FRONTEND_EV 93 + DMX_SCRAMBLING_EV, 94 + DMX_FRONTEND_EV 95 95 } dmx_event_t; 96 96 97 97
+29 -29
include/linux/dvb/osd.h
··· 98 98 } OSD_Command; 99 99 100 100 typedef struct osd_cmd_s { 101 - OSD_Command cmd; 102 - int x0; 103 - int y0; 104 - int x1; 105 - int y1; 106 - int color; 107 - void __user *data; 101 + OSD_Command cmd; 102 + int x0; 103 + int y0; 104 + int x1; 105 + int y1; 106 + int color; 107 + void __user *data; 108 108 } osd_cmd_t; 109 109 110 110 /* OSD_OpenRaw: set 'color' to desired window type */ 111 111 typedef enum { 112 - OSD_BITMAP1, /* 1 bit bitmap */ 113 - OSD_BITMAP2, /* 2 bit bitmap */ 114 - OSD_BITMAP4, /* 4 bit bitmap */ 115 - OSD_BITMAP8, /* 8 bit bitmap */ 116 - OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */ 117 - OSD_BITMAP2HR, /* 2 bit bitmap half resolution */ 118 - OSD_BITMAP4HR, /* 4 bit bitmap half resolution */ 119 - OSD_BITMAP8HR, /* 8 bit bitmap half resolution */ 120 - OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */ 121 - OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */ 122 - OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */ 123 - OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */ 124 - OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */ 125 - OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */ 126 - OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */ 127 - OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */ 128 - OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/ 129 - OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */ 130 - OSD_VIDEONSIZE, /* Full Size MPEG Video Display */ 131 - OSD_CURSOR /* Cursor */ 112 + OSD_BITMAP1, /* 1 bit bitmap */ 113 + OSD_BITMAP2, /* 2 bit bitmap */ 114 + OSD_BITMAP4, /* 4 bit bitmap */ 115 + OSD_BITMAP8, /* 8 bit bitmap */ 116 + OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */ 117 + OSD_BITMAP2HR, /* 2 bit bitmap half resolution */ 118 + OSD_BITMAP4HR, /* 4 bit bitmap half resolution */ 119 + OSD_BITMAP8HR, /* 8 bit bitmap half resolution */ 120 + OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */ 121 + OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */ 122 + OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */ 123 + OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */ 124 + OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */ 125 + OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */ 126 + OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */ 127 + OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */ 128 + OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/ 129 + OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */ 130 + OSD_VIDEONSIZE, /* Full Size MPEG Video Display */ 131 + OSD_CURSOR /* Cursor */ 132 132 } osd_raw_window_t; 133 133 134 134 typedef struct osd_cap_s { 135 - int cmd; 135 + int cmd; 136 136 #define OSD_CAP_MEMSIZE 1 /* memory size */ 137 - long val; 137 + long val; 138 138 } osd_cap_t; 139 139 140 140
+22 -22
include/linux/dvb/video.h
··· 36 36 37 37 typedef enum { 38 38 VIDEO_FORMAT_4_3, /* Select 4:3 format */ 39 - VIDEO_FORMAT_16_9, /* Select 16:9 format. */ 39 + VIDEO_FORMAT_16_9, /* Select 16:9 format. */ 40 40 VIDEO_FORMAT_221_1 /* 2.21:1 */ 41 41 } video_format_t; 42 42 ··· 54 54 55 55 56 56 typedef enum { 57 - VIDEO_PAN_SCAN, /* use pan and scan format */ 57 + VIDEO_PAN_SCAN, /* use pan and scan format */ 58 58 VIDEO_LETTER_BOX, /* use letterbox format */ 59 59 VIDEO_CENTER_CUT_OUT /* use center cut out format */ 60 60 } video_displayformat_t; ··· 66 66 } video_size_t; 67 67 68 68 typedef enum { 69 - VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ 69 + VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ 70 70 VIDEO_SOURCE_MEMORY /* If this source is selected, the stream 71 71 comes from the user through the write 72 72 system call */ ··· 75 75 76 76 typedef enum { 77 77 VIDEO_STOPPED, /* Video is stopped */ 78 - VIDEO_PLAYING, /* Video is currently playing */ 78 + VIDEO_PLAYING, /* Video is currently playing */ 79 79 VIDEO_FREEZED /* Video is freezed */ 80 80 } video_play_state_t; 81 81 82 82 83 83 struct video_event { 84 - int32_t type; 84 + int32_t type; 85 85 #define VIDEO_EVENT_SIZE_CHANGED 1 86 86 #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 87 - time_t timestamp; 87 + time_t timestamp; 88 88 union { 89 - video_size_t size; 89 + video_size_t size; 90 90 unsigned int frame_rate; /* in frames per 1000sec */ 91 91 } u; 92 92 }; 93 93 94 94 95 95 struct video_status { 96 - int video_blank; /* blank video on freeze? */ 97 - video_play_state_t play_state; /* current state of playback */ 98 - video_stream_source_t stream_source; /* current source (demux/memory) */ 99 - video_format_t video_format; /* current aspect ratio of stream*/ 100 - video_displayformat_t display_format;/* selected cropping mode */ 96 + int video_blank; /* blank video on freeze? */ 97 + video_play_state_t play_state; /* current state of playback */ 98 + video_stream_source_t stream_source; /* current source (demux/memory) */ 99 + video_format_t video_format; /* current aspect ratio of stream*/ 100 + video_displayformat_t display_format;/* selected cropping mode */ 101 101 }; 102 102 103 103 104 104 struct video_still_picture { 105 - char __user *iFrame; /* pointer to a single iframe in memory */ 106 - int32_t size; 105 + char __user *iFrame; /* pointer to a single iframe in memory */ 106 + int32_t size; 107 107 }; 108 108 109 109 ··· 111 111 struct video_highlight { 112 112 int active; /* 1=show highlight, 0=hide highlight */ 113 113 uint8_t contrast1; /* 7- 4 Pattern pixel contrast */ 114 - /* 3- 0 Background pixel contrast */ 114 + /* 3- 0 Background pixel contrast */ 115 115 uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */ 116 - /* 3- 0 Emphasis pixel-1 contrast */ 116 + /* 3- 0 Emphasis pixel-1 contrast */ 117 117 uint8_t color1; /* 7- 4 Pattern pixel color */ 118 - /* 3- 0 Background pixel color */ 118 + /* 3- 0 Background pixel color */ 119 119 uint8_t color2; /* 7- 4 Emphasis pixel-2 color */ 120 - /* 3- 0 Emphasis pixel-1 color */ 120 + /* 3- 0 Emphasis pixel-1 color */ 121 121 uint32_t ypos; /* 23-22 auto action mode */ 122 - /* 21-12 start y */ 123 - /* 9- 0 end y */ 122 + /* 21-12 start y */ 123 + /* 9- 0 end y */ 124 124 uint32_t xpos; /* 23-22 button color number */ 125 - /* 21-12 start x */ 126 - /* 9- 0 end x */ 125 + /* 21-12 start x */ 126 + /* 9- 0 end x */ 127 127 } video_highlight_t; 128 128 129 129
+1 -1
include/linux/i2c-id.h
··· 108 108 #define I2C_DRIVERID_SAA7127 72 /* saa7124 video encoder */ 109 109 #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ 110 110 #define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */ 111 - #define I2C_DRIVERID_I2C_IR 75 /* I2C InfraRed on Video boards */ 111 + #define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ 112 112 113 113 #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */ 114 114 #define I2C_DRIVERID_EXP1 0xF1
+2
include/linux/inotify.h
··· 47 47 #define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */ 48 48 49 49 /* special flags */ 50 + #define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */ 51 + #define IN_DONT_FOLLOW 0x02000000 /* don't follow a sym link */ 50 52 #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ 51 53 #define IN_ISDIR 0x40000000 /* event occurred against dir */ 52 54 #define IN_ONESHOT 0x80000000 /* only send event once */
+7 -1
include/linux/kprobes.h
··· 37 37 #include <linux/spinlock.h> 38 38 #include <linux/rcupdate.h> 39 39 40 + #ifdef CONFIG_KPROBES 40 41 #include <asm/kprobes.h> 41 42 42 43 /* kprobe_status settings */ ··· 148 147 struct task_struct *task; 149 148 }; 150 149 151 - #ifdef CONFIG_KPROBES 152 150 extern spinlock_t kretprobe_lock; 153 151 extern int arch_prepare_kprobe(struct kprobe *p); 154 152 extern void arch_copy_kprobe(struct kprobe *p); ··· 158 158 extern void show_registers(struct pt_regs *regs); 159 159 extern kprobe_opcode_t *get_insn_slot(void); 160 160 extern void free_insn_slot(kprobe_opcode_t *slot); 161 + extern void kprobes_inc_nmissed_count(struct kprobe *p); 161 162 162 163 /* Get the kprobe at this addr (if any) - called with preemption disabled */ 163 164 struct kprobe *get_kprobe(void *addr); ··· 196 195 void kprobe_flush_task(struct task_struct *tk); 197 196 void recycle_rp_inst(struct kretprobe_instance *ri); 198 197 #else /* CONFIG_KPROBES */ 198 + 199 + #define __kprobes /**/ 200 + struct jprobe; 201 + struct kretprobe; 202 + 199 203 static inline struct kprobe *kprobe_running(void) 200 204 { 201 205 return NULL;
+25 -1
include/linux/list.h
··· 202 202 * 203 203 * The old entry will be replaced with the new entry atomically. 204 204 */ 205 - static inline void list_replace_rcu(struct list_head *old, struct list_head *new){ 205 + static inline void list_replace_rcu(struct list_head *old, 206 + struct list_head *new) 207 + { 206 208 new->next = old->next; 207 209 new->prev = old->prev; 208 210 smp_wmb(); 209 211 new->next->prev = new; 210 212 new->prev->next = new; 213 + old->prev = LIST_POISON2; 211 214 } 212 215 213 216 /** ··· 579 576 __hlist_del(n); 580 577 INIT_HLIST_NODE(n); 581 578 } 579 + } 580 + 581 + /* 582 + * hlist_replace_rcu - replace old entry by new one 583 + * @old : the element to be replaced 584 + * @new : the new element to insert 585 + * 586 + * The old entry will be replaced with the new entry atomically. 587 + */ 588 + static inline void hlist_replace_rcu(struct hlist_node *old, 589 + struct hlist_node *new) 590 + { 591 + struct hlist_node *next = old->next; 592 + 593 + new->next = next; 594 + new->pprev = old->pprev; 595 + smp_wmb(); 596 + if (next) 597 + new->next->pprev = &new->next; 598 + *new->pprev = new; 599 + old->pprev = LIST_POISON2; 582 600 } 583 601 584 602 static inline void hlist_add_head(struct hlist_node *n, struct hlist_head *h)
-1
include/linux/mm.h
··· 163 163 #define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */ 164 164 #define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */ 165 165 #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ 166 - #define VM_INCOMPLETE 0x02000000 /* Strange partial PFN mapping marker */ 167 166 168 167 #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ 169 168 #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
+1 -1
include/linux/parport_pc.h
··· 86 86 unsigned char dcr = inb (CONTROL (p)); 87 87 unsigned char dsr = inb (STATUS (p)); 88 88 static char *ecr_modes[] = {"SPP", "PS2", "PPFIFO", "ECP", "xXx", "yYy", "TST", "CFG"}; 89 - const struct parport_pc_private *priv = (parport_pc_private *)p->physport->private_data; 89 + const struct parport_pc_private *priv = p->physport->private_data; 90 90 int i; 91 91 92 92 printk (KERN_DEBUG "*** parport state (%s): ecr=[%s", str, ecr_modes[(ecr & 0xe0) >> 5]);
+2
include/linux/rcupdate.h
··· 100 100 struct rcu_head *donelist; 101 101 struct rcu_head **donetail; 102 102 int cpu; 103 + struct rcu_head barrier; 103 104 }; 104 105 105 106 DECLARE_PER_CPU(struct rcu_data, rcu_data); ··· 286 285 extern __deprecated_for_modules void synchronize_kernel(void); 287 286 extern void synchronize_rcu(void); 288 287 void synchronize_idle(void); 288 + extern void rcu_barrier(void); 289 289 290 290 #endif /* __KERNEL__ */ 291 291 #endif /* __LINUX_RCUPDATE_H */
+3
include/linux/sysctl.h
··· 670 670 NET_DECNET_DST_GC_INTERVAL = 9, 671 671 NET_DECNET_CONF = 10, 672 672 NET_DECNET_NO_FC_MAX_CWND = 11, 673 + NET_DECNET_MEM = 12, 674 + NET_DECNET_RMEM = 13, 675 + NET_DECNET_WMEM = 14, 673 676 NET_DECNET_DEBUG_LEVEL = 255 674 677 }; 675 678
+1
include/linux/time.h
··· 95 95 extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue); 96 96 extern int do_getitimer(int which, struct itimerval *value); 97 97 extern void getnstimeofday (struct timespec *tv); 98 + extern void getnstimestamp(struct timespec *ts); 98 99 99 100 extern struct timespec timespec_trunc(struct timespec t, unsigned gran); 100 101
+3 -3
include/media/saa7146.h
··· 14 14 #include <linux/vmalloc.h> /* for vmalloc() */ 15 15 #include <linux/mm.h> /* for vmalloc_to_page() */ 16 16 17 - #define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */ 17 + #define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */ 18 18 19 19 #define saa7146_write(sxy,adr,dat) writel((dat),(sxy->mem+(adr))) 20 20 #define saa7146_read(sxy,adr) readl(sxy->mem+(adr)) ··· 112 112 113 113 /* different device locks */ 114 114 spinlock_t slock; 115 - struct semaphore lock; 115 + struct semaphore lock; 116 116 117 117 unsigned char __iomem *mem; /* pointer to mapped IO memory */ 118 118 int revision; /* chip revision; needed for bug-workarounds*/ ··· 133 133 void (*vv_callback)(struct saa7146_dev *dev, unsigned long status); 134 134 135 135 /* i2c-stuff */ 136 - struct semaphore i2c_lock; 136 + struct semaphore i2c_lock; 137 137 u32 i2c_bitrate; 138 138 struct saa7146_dma d_i2c; /* pointer to i2c memory */ 139 139 wait_queue_head_t i2c_wq;
+5 -5
include/media/saa7146_vv.h
··· 113 113 /* vbi capture */ 114 114 struct saa7146_dmaqueue vbi_q; 115 115 /* vbi workaround interrupt queue */ 116 - wait_queue_head_t vbi_wq; 116 + wait_queue_head_t vbi_wq; 117 117 int vbi_fieldcount; 118 118 struct saa7146_fh *vbi_streaming; 119 119 ··· 181 181 }; 182 182 183 183 struct saa7146_use_ops { 184 - void (*init)(struct saa7146_dev *, struct saa7146_vv *); 185 - int(*open)(struct saa7146_dev *, struct file *); 186 - void (*release)(struct saa7146_dev *, struct file *); 187 - void (*irq_done)(struct saa7146_dev *, unsigned long status); 184 + void (*init)(struct saa7146_dev *, struct saa7146_vv *); 185 + int(*open)(struct saa7146_dev *, struct file *); 186 + void (*release)(struct saa7146_dev *, struct file *); 187 + void (*irq_done)(struct saa7146_dev *, unsigned long status); 188 188 ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); 189 189 }; 190 190
+4
include/net/dn.h
··· 234 234 extern int decnet_dr_count; 235 235 extern int decnet_no_fc_max_cwnd; 236 236 237 + extern int sysctl_decnet_mem[3]; 238 + extern int sysctl_decnet_wmem[3]; 239 + extern int sysctl_decnet_rmem[3]; 240 + 237 241 #endif /* _NET_DN_H */
+3 -1
kernel/audit.c
··· 291 291 set_current_state(TASK_INTERRUPTIBLE); 292 292 add_wait_queue(&kauditd_wait, &wait); 293 293 294 - if (!skb_queue_len(&audit_skb_queue)) 294 + if (!skb_queue_len(&audit_skb_queue)) { 295 + try_to_freeze(); 295 296 schedule(); 297 + } 296 298 297 299 __set_current_state(TASK_RUNNING); 298 300 remove_wait_queue(&kauditd_wait, &wait);
+30 -6
kernel/kprobes.c
··· 246 246 return ret; 247 247 } 248 248 249 + /* Walks the list and increments nmissed count for multiprobe case */ 250 + void __kprobes kprobes_inc_nmissed_count(struct kprobe *p) 251 + { 252 + struct kprobe *kp; 253 + if (p->pre_handler != aggr_pre_handler) { 254 + p->nmissed++; 255 + } else { 256 + list_for_each_entry_rcu(kp, &p->list, list) 257 + kp->nmissed++; 258 + } 259 + return; 260 + } 261 + 249 262 /* Called with kretprobe_lock held */ 250 263 struct kretprobe_instance __kprobes *get_free_rp_inst(struct kretprobe *rp) 251 264 { ··· 412 399 INIT_LIST_HEAD(&ap->list); 413 400 list_add_rcu(&p->list, &ap->list); 414 401 415 - INIT_HLIST_NODE(&ap->hlist); 416 - hlist_del_rcu(&p->hlist); 417 - hlist_add_head_rcu(&ap->hlist, 418 - &kprobe_table[hash_ptr(ap->addr, KPROBE_HASH_BITS)]); 402 + hlist_replace_rcu(&p->hlist, &ap->hlist); 419 403 } 420 404 421 405 /* ··· 472 462 int ret = 0; 473 463 unsigned long flags = 0; 474 464 struct kprobe *old_p; 465 + struct module *mod; 475 466 476 - if ((ret = in_kprobes_functions((unsigned long) p->addr)) != 0) 477 - return ret; 467 + if ((!kernel_text_address((unsigned long) p->addr)) || 468 + in_kprobes_functions((unsigned long) p->addr)) 469 + return -EINVAL; 470 + 471 + if ((mod = module_text_address((unsigned long) p->addr)) && 472 + (unlikely(!try_module_get(mod)))) 473 + return -EINVAL; 474 + 478 475 if ((ret = arch_prepare_kprobe(p)) != 0) 479 476 goto rm_kprobe; 480 477 ··· 505 488 rm_kprobe: 506 489 if (ret == -EEXIST) 507 490 arch_remove_kprobe(p); 491 + if (ret && mod) 492 + module_put(mod); 508 493 return ret; 509 494 } 510 495 ··· 514 495 { 515 496 unsigned long flags; 516 497 struct kprobe *old_p; 498 + struct module *mod; 517 499 518 500 spin_lock_irqsave(&kprobe_lock, flags); 519 501 old_p = get_kprobe(p->addr); ··· 526 506 cleanup_kprobe(p, flags); 527 507 528 508 synchronize_sched(); 509 + 510 + if ((mod = module_text_address((unsigned long)p->addr))) 511 + module_put(mod); 512 + 529 513 if (old_p->pre_handler == aggr_pre_handler && 530 514 list_empty(&old_p->list)) 531 515 kfree(old_p);
+54 -5
kernel/rcupdate.c
··· 116 116 local_irq_restore(flags); 117 117 } 118 118 119 + static atomic_t rcu_barrier_cpu_count; 120 + static struct semaphore rcu_barrier_sema; 121 + static struct completion rcu_barrier_completion; 122 + 119 123 /** 120 124 * call_rcu_bh - Queue an RCU for invocation after a quicker grace period. 121 125 * @head: structure to be used for queueing the RCU updates. ··· 165 161 { 166 162 return rcu_ctrlblk.completed; 167 163 } 164 + 165 + static void rcu_barrier_callback(struct rcu_head *notused) 166 + { 167 + if (atomic_dec_and_test(&rcu_barrier_cpu_count)) 168 + complete(&rcu_barrier_completion); 169 + } 170 + 171 + /* 172 + * Called with preemption disabled, and from cross-cpu IRQ context. 173 + */ 174 + static void rcu_barrier_func(void *notused) 175 + { 176 + int cpu = smp_processor_id(); 177 + struct rcu_data *rdp = &per_cpu(rcu_data, cpu); 178 + struct rcu_head *head; 179 + 180 + head = &rdp->barrier; 181 + atomic_inc(&rcu_barrier_cpu_count); 182 + call_rcu(head, rcu_barrier_callback); 183 + } 184 + 185 + /** 186 + * rcu_barrier - Wait until all the in-flight RCUs are complete. 187 + */ 188 + void rcu_barrier(void) 189 + { 190 + BUG_ON(in_interrupt()); 191 + /* Take cpucontrol semaphore to protect against CPU hotplug */ 192 + down(&rcu_barrier_sema); 193 + init_completion(&rcu_barrier_completion); 194 + atomic_set(&rcu_barrier_cpu_count, 0); 195 + on_each_cpu(rcu_barrier_func, NULL, 0, 1); 196 + wait_for_completion(&rcu_barrier_completion); 197 + up(&rcu_barrier_sema); 198 + } 199 + EXPORT_SYMBOL_GPL(rcu_barrier); 168 200 169 201 /* 170 202 * Invoke the completed RCU callbacks. They are expected to be in ··· 257 217 258 218 if (rcp->next_pending && 259 219 rcp->completed == rcp->cur) { 260 - /* Can't change, since spin lock held. */ 261 - cpus_andnot(rsp->cpumask, cpu_online_map, nohz_cpu_mask); 262 - 263 220 rcp->next_pending = 0; 264 - /* next_pending == 0 must be visible in __rcu_process_callbacks() 265 - * before it can see new value of cur. 221 + /* 222 + * next_pending == 0 must be visible in 223 + * __rcu_process_callbacks() before it can see new value of cur. 266 224 */ 267 225 smp_wmb(); 268 226 rcp->cur++; 227 + 228 + /* 229 + * Accessing nohz_cpu_mask before incrementing rcp->cur needs a 230 + * Barrier Otherwise it can cause tickless idle CPUs to be 231 + * included in rsp->cpumask, which will extend graceperiods 232 + * unnecessarily. 233 + */ 234 + smp_mb(); 235 + cpus_andnot(rsp->cpumask, cpu_online_map, nohz_cpu_mask); 236 + 269 237 } 270 238 } 271 239 ··· 505 457 */ 506 458 void __init rcu_init(void) 507 459 { 460 + sema_init(&rcu_barrier_sema, 1); 508 461 rcu_cpu_notify(&rcu_nb, CPU_UP_PREPARE, 509 462 (void *)(long)smp_processor_id()); 510 463 /* Register notifier for non-boot CPUs */
+1 -2
kernel/rcutorture.c
··· 409 409 stats_task = NULL; 410 410 411 411 /* Wait for all RCU callbacks to fire. */ 412 + rcu_barrier(); 412 413 413 - for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++) 414 - synchronize_rcu(); 415 414 rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ 416 415 printk(KERN_ALERT TORTURE_FLAG 417 416 "--- End of test: %s\n",
+2 -1
kernel/sys.c
··· 32 32 33 33 #include <linux/compat.h> 34 34 #include <linux/syscalls.h> 35 + #include <linux/kprobes.h> 35 36 36 37 #include <asm/uaccess.h> 37 38 #include <asm/io.h> ··· 169 168 * of the last notifier function called. 170 169 */ 171 170 172 - int notifier_call_chain(struct notifier_block **n, unsigned long val, void *v) 171 + int __kprobes notifier_call_chain(struct notifier_block **n, unsigned long val, void *v) 173 172 { 174 173 int ret=NOTIFY_DONE; 175 174 struct notifier_block *nb = *n;
+22
kernel/time.c
··· 561 561 EXPORT_SYMBOL_GPL(getnstimeofday); 562 562 #endif 563 563 564 + void getnstimestamp(struct timespec *ts) 565 + { 566 + unsigned int seq; 567 + struct timespec wall2mono; 568 + 569 + /* synchronize with settimeofday() changes */ 570 + do { 571 + seq = read_seqbegin(&xtime_lock); 572 + getnstimeofday(ts); 573 + wall2mono = wall_to_monotonic; 574 + } while(unlikely(read_seqretry(&xtime_lock, seq))); 575 + 576 + /* adjust to monotonicaly-increasing values */ 577 + ts->tv_sec += wall2mono.tv_sec; 578 + ts->tv_nsec += wall2mono.tv_nsec; 579 + while (unlikely(ts->tv_nsec >= NSEC_PER_SEC)) { 580 + ts->tv_nsec -= NSEC_PER_SEC; 581 + ts->tv_sec++; 582 + } 583 + } 584 + EXPORT_SYMBOL_GPL(getnstimestamp); 585 + 564 586 #if (BITS_PER_LONG < 64) 565 587 u64 get_jiffies_64(void) 566 588 {
+2
mm/bootmem.c
··· 204 204 unsigned long j; 205 205 i = find_next_zero_bit(bdata->node_bootmem_map, eidx, i); 206 206 i = ALIGN(i, incr); 207 + if (i >= eidx) 208 + break; 207 209 if (test_bit(i, bdata->node_bootmem_map)) 208 210 continue; 209 211 for (j = i + 1; j < i + areasize; ++j) {
+18 -49
mm/memory.c
··· 349 349 dump_stack(); 350 350 } 351 351 352 + static inline int is_cow_mapping(unsigned int flags) 353 + { 354 + return (flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE; 355 + } 356 + 352 357 /* 353 358 * This function gets the "struct page" associated with a pte. 354 359 * ··· 381 376 if (vma->vm_flags & VM_PFNMAP) { 382 377 unsigned long off = (addr - vma->vm_start) >> PAGE_SHIFT; 383 378 if (pfn == vma->vm_pgoff + off) 379 + return NULL; 380 + if (!is_cow_mapping(vma->vm_flags)) 384 381 return NULL; 385 382 } 386 383 ··· 444 437 * If it's a COW mapping, write protect it both 445 438 * in the parent and the child 446 439 */ 447 - if ((vm_flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE) { 440 + if (is_cow_mapping(vm_flags)) { 448 441 ptep_set_wrprotect(src_mm, addr, src_pte); 449 442 pte = *src_pte; 450 443 } ··· 1233 1226 EXPORT_SYMBOL(vm_insert_page); 1234 1227 1235 1228 /* 1236 - * Somebody does a pfn remapping that doesn't actually work as a vma. 1237 - * 1238 - * Do it as individual pages instead, and warn about it. It's bad form, 1239 - * and very inefficient. 1240 - */ 1241 - static int incomplete_pfn_remap(struct vm_area_struct *vma, 1242 - unsigned long start, unsigned long end, 1243 - unsigned long pfn, pgprot_t prot) 1244 - { 1245 - static int warn = 10; 1246 - struct page *page; 1247 - int retval; 1248 - 1249 - if (!(vma->vm_flags & VM_INCOMPLETE)) { 1250 - if (warn) { 1251 - warn--; 1252 - printk("%s does an incomplete pfn remapping", current->comm); 1253 - dump_stack(); 1254 - } 1255 - } 1256 - vma->vm_flags |= VM_INCOMPLETE | VM_IO | VM_RESERVED; 1257 - 1258 - if (start < vma->vm_start || end > vma->vm_end) 1259 - return -EINVAL; 1260 - 1261 - if (!pfn_valid(pfn)) 1262 - return -EINVAL; 1263 - 1264 - page = pfn_to_page(pfn); 1265 - if (!PageReserved(page)) 1266 - return -EINVAL; 1267 - 1268 - retval = 0; 1269 - while (start < end) { 1270 - retval = insert_page(vma->vm_mm, start, page, prot); 1271 - if (retval < 0) 1272 - break; 1273 - start += PAGE_SIZE; 1274 - page++; 1275 - } 1276 - return retval; 1277 - } 1278 - 1279 - /* 1280 1229 * maps a range of physical memory into the requested pages. the old 1281 1230 * mappings are removed. any references to nonexistent pages results 1282 1231 * in null mappings (currently treated as "copy-on-access") ··· 1306 1343 struct mm_struct *mm = vma->vm_mm; 1307 1344 int err; 1308 1345 1309 - if (addr != vma->vm_start || end != vma->vm_end) 1310 - return incomplete_pfn_remap(vma, addr, end, pfn, prot); 1311 - 1312 1346 /* 1313 1347 * Physically remapped pages are special. Tell the 1314 1348 * rest of the world about it: ··· 1319 1359 * VM_PFNMAP tells the core MM that the base pages are just 1320 1360 * raw PFN mappings, and do not have a "struct page" associated 1321 1361 * with them. 1362 + * 1363 + * There's a horrible special case to handle copy-on-write 1364 + * behaviour that some programs depend on. We mark the "original" 1365 + * un-COW'ed pages by matching them up with "vma->vm_pgoff". 1322 1366 */ 1367 + if (is_cow_mapping(vma->vm_flags)) { 1368 + if (addr != vma->vm_start || end != vma->vm_end) 1369 + return -EINVAL; 1370 + vma->vm_pgoff = pfn; 1371 + } 1372 + 1323 1373 vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; 1324 - vma->vm_pgoff = pfn; 1325 1374 1326 1375 BUG_ON(addr >= end); 1327 1376 pfn -= addr >> PAGE_SHIFT;
+2 -1
net/core/dev.c
··· 1113 1113 void netdev_rx_csum_fault(struct net_device *dev) 1114 1114 { 1115 1115 if (net_ratelimit()) { 1116 - printk(KERN_ERR "%s: hw csum failure.\n", dev->name); 1116 + printk(KERN_ERR "%s: hw csum failure.\n", 1117 + dev ? dev->name : "<unknown>"); 1117 1118 dump_stack(); 1118 1119 } 1119 1120 }
+1 -1
net/core/skbuff.c
··· 1725 1725 * of the skb if any page alloc fails user this procedure returns -ENOMEM 1726 1726 */ 1727 1727 int skb_append_datato_frags(struct sock *sk, struct sk_buff *skb, 1728 - int getfrag(void *from, char *to, int offset, 1728 + int (*getfrag)(void *from, char *to, int offset, 1729 1729 int len, int odd, struct sk_buff *skb), 1730 1730 void *from, int length) 1731 1731 {
+22 -3
net/decnet/af_decnet.c
··· 153 153 static DEFINE_RWLOCK(dn_hash_lock); 154 154 static struct hlist_head dn_sk_hash[DN_SK_HASH_SIZE]; 155 155 static struct hlist_head dn_wild_sk; 156 + static atomic_t decnet_memory_allocated; 156 157 157 158 static int __dn_setsockopt(struct socket *sock, int level, int optname, char __user *optval, int optlen, int flags); 158 159 static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags); ··· 447 446 dst_release(xchg(&sk->sk_dst_cache, NULL)); 448 447 } 449 448 449 + static int dn_memory_pressure; 450 + 451 + static void dn_enter_memory_pressure(void) 452 + { 453 + if (!dn_memory_pressure) { 454 + dn_memory_pressure = 1; 455 + } 456 + } 457 + 450 458 static struct proto dn_proto = { 451 - .name = "DECNET", 452 - .owner = THIS_MODULE, 453 - .obj_size = sizeof(struct dn_sock), 459 + .name = "NSP", 460 + .owner = THIS_MODULE, 461 + .enter_memory_pressure = dn_enter_memory_pressure, 462 + .memory_pressure = &dn_memory_pressure, 463 + .memory_allocated = &decnet_memory_allocated, 464 + .sysctl_mem = sysctl_decnet_mem, 465 + .sysctl_wmem = sysctl_decnet_wmem, 466 + .sysctl_rmem = sysctl_decnet_rmem, 467 + .max_header = DN_MAX_NSP_DATA_HEADER + 64, 468 + .obj_size = sizeof(struct dn_sock), 454 469 }; 455 470 456 471 static struct sock *dn_alloc_sock(struct socket *sock, gfp_t gfp) ··· 487 470 sk->sk_family = PF_DECnet; 488 471 sk->sk_protocol = 0; 489 472 sk->sk_allocation = gfp; 473 + sk->sk_sndbuf = sysctl_decnet_wmem[1]; 474 + sk->sk_rcvbuf = sysctl_decnet_rmem[1]; 490 475 491 476 /* Initialization of DECnet Session Control Port */ 492 477 scp = DN_SK(sk);
+33
net/decnet/sysctl_net_decnet.c
··· 10 10 * 11 11 * Changes: 12 12 * Steve Whitehouse - C99 changes and default device handling 13 + * Steve Whitehouse - Memory buffer settings, like the tcp ones 13 14 * 14 15 */ 15 16 #include <linux/config.h> ··· 37 36 int decnet_dr_count = 3; 38 37 int decnet_log_martians = 1; 39 38 int decnet_no_fc_max_cwnd = NSP_MIN_WINDOW; 39 + 40 + /* Reasonable defaults, I hope, based on tcp's defaults */ 41 + int sysctl_decnet_mem[3] = { 768 << 3, 1024 << 3, 1536 << 3 }; 42 + int sysctl_decnet_wmem[3] = { 4 * 1024, 16 * 1024, 128 * 1024 }; 43 + int sysctl_decnet_rmem[3] = { 4 * 1024, 87380, 87380 * 2 }; 40 44 41 45 #ifdef CONFIG_SYSCTL 42 46 extern int decnet_dst_gc_interval; ··· 434 428 .extra1 = &min_decnet_no_fc_max_cwnd, 435 429 .extra2 = &max_decnet_no_fc_max_cwnd 436 430 }, 431 + { 432 + .ctl_name = NET_DECNET_MEM, 433 + .procname = "decnet_mem", 434 + .data = &sysctl_decnet_mem, 435 + .maxlen = sizeof(sysctl_decnet_mem), 436 + .mode = 0644, 437 + .proc_handler = &proc_dointvec, 438 + .strategy = &sysctl_intvec, 439 + }, 440 + { 441 + .ctl_name = NET_DECNET_RMEM, 442 + .procname = "decnet_rmem", 443 + .data = &sysctl_decnet_rmem, 444 + .maxlen = sizeof(sysctl_decnet_rmem), 445 + .mode = 0644, 446 + .proc_handler = &proc_dointvec, 447 + .strategy = &sysctl_intvec, 448 + }, 449 + { 450 + .ctl_name = NET_DECNET_WMEM, 451 + .procname = "decnet_wmem", 452 + .data = &sysctl_decnet_wmem, 453 + .maxlen = sizeof(sysctl_decnet_wmem), 454 + .mode = 0644, 455 + .proc_handler = &proc_dointvec, 456 + .strategy = &sysctl_intvec, 457 + }, 437 458 { 438 459 .ctl_name = NET_DECNET_DEBUG_LEVEL, 439 460 .procname = "debug",
+4 -4
net/ipv4/netfilter/Kconfig
··· 56 56 instead of the individual packets. 57 57 58 58 config IP_NF_CONNTRACK_EVENTS 59 - bool "Connection tracking events" 60 - depends on IP_NF_CONNTRACK 59 + bool "Connection tracking events (EXPERIMENTAL)" 60 + depends on EXPERIMENTAL && IP_NF_CONNTRACK 61 61 help 62 62 If this option is enabled, the connection tracking code will 63 63 provide a notifier chain that can be used by other kernel code ··· 66 66 IF unsure, say `N'. 67 67 68 68 config IP_NF_CONNTRACK_NETLINK 69 - tristate 'Connection tracking netlink interface' 70 - depends on IP_NF_CONNTRACK && NETFILTER_NETLINK 69 + tristate 'Connection tracking netlink interface (EXPERIMENTAL)' 70 + depends on EXPERIMENTAL && IP_NF_CONNTRACK && NETFILTER_NETLINK 71 71 depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m 72 72 help 73 73 This option enables support for a netlink-based userspace interface
+11 -9
net/ipv4/netfilter/ip_conntrack_core.c
··· 1345 1345 return 1; 1346 1346 } 1347 1347 1348 + void ip_conntrack_flush(void) 1349 + { 1350 + ip_ct_iterate_cleanup(kill_all, NULL); 1351 + } 1352 + 1348 1353 static void free_conntrack_hash(struct list_head *hash, int vmalloced,int size) 1349 1354 { 1350 1355 if (vmalloced) ··· 1359 1354 get_order(sizeof(struct list_head) * size)); 1360 1355 } 1361 1356 1362 - void ip_conntrack_flush(void) 1357 + /* Mishearing the voices in his head, our hero wonders how he's 1358 + supposed to kill the mall. */ 1359 + void ip_conntrack_cleanup(void) 1363 1360 { 1361 + ip_ct_attach = NULL; 1362 + 1364 1363 /* This makes sure all current packets have passed through 1365 1364 netfilter framework. Roll on, two-stage module 1366 1365 delete... */ ··· 1372 1363 1373 1364 ip_ct_event_cache_flush(); 1374 1365 i_see_dead_people: 1375 - ip_ct_iterate_cleanup(kill_all, NULL); 1366 + ip_conntrack_flush(); 1376 1367 if (atomic_read(&ip_conntrack_count) != 0) { 1377 1368 schedule(); 1378 1369 goto i_see_dead_people; ··· 1380 1371 /* wait until all references to ip_conntrack_untracked are dropped */ 1381 1372 while (atomic_read(&ip_conntrack_untracked.ct_general.use) > 1) 1382 1373 schedule(); 1383 - } 1384 1374 1385 - /* Mishearing the voices in his head, our hero wonders how he's 1386 - supposed to kill the mall. */ 1387 - void ip_conntrack_cleanup(void) 1388 - { 1389 - ip_ct_attach = NULL; 1390 - ip_conntrack_flush(); 1391 1375 kmem_cache_destroy(ip_conntrack_cachep); 1392 1376 kmem_cache_destroy(ip_conntrack_expect_cachep); 1393 1377 free_conntrack_hash(ip_conntrack_hash, ip_conntrack_vmalloc,
+5 -7
net/ipv4/netfilter/ip_conntrack_netlink.c
··· 503 503 } 504 504 505 505 static const size_t cta_min_proto[CTA_PROTO_MAX] = { 506 - [CTA_PROTO_NUM-1] = sizeof(u_int16_t), 506 + [CTA_PROTO_NUM-1] = sizeof(u_int8_t), 507 507 [CTA_PROTO_SRC_PORT-1] = sizeof(u_int16_t), 508 508 [CTA_PROTO_DST_PORT-1] = sizeof(u_int16_t), 509 509 [CTA_PROTO_ICMP_TYPE-1] = sizeof(u_int8_t), ··· 528 528 529 529 if (!tb[CTA_PROTO_NUM-1]) 530 530 return -EINVAL; 531 - tuple->dst.protonum = *(u_int16_t *)NFA_DATA(tb[CTA_PROTO_NUM-1]); 531 + tuple->dst.protonum = *(u_int8_t *)NFA_DATA(tb[CTA_PROTO_NUM-1]); 532 532 533 533 proto = ip_conntrack_proto_find_get(tuple->dst.protonum); 534 534 ··· 728 728 return -ENOENT; 729 729 } 730 730 } 731 - if (del_timer(&ct->timeout)) { 732 - ip_conntrack_put(ct); 731 + if (del_timer(&ct->timeout)) 733 732 ct->timeout.function((unsigned long)ct); 734 - return 0; 735 - } 733 + 736 734 ip_conntrack_put(ct); 737 735 DEBUGP("leaving\n"); 738 736 ··· 875 877 DEBUGP("NAT status: %lu\n", 876 878 status & (IPS_NAT_MASK | IPS_NAT_DONE_MASK)); 877 879 878 - if (ip_nat_initialized(ct, hooknum)) 880 + if (ip_nat_initialized(ct, HOOK2MANIP(hooknum))) 879 881 return -EEXIST; 880 882 ip_nat_setup_info(ct, &range, hooknum); 881 883
+2 -1
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
··· 341 341 static int tcp_to_nfattr(struct sk_buff *skb, struct nfattr *nfa, 342 342 const struct ip_conntrack *ct) 343 343 { 344 - struct nfattr *nest_parms = NFA_NEST(skb, CTA_PROTOINFO_TCP); 344 + struct nfattr *nest_parms; 345 345 346 346 read_lock_bh(&tcp_lock); 347 + nest_parms = NFA_NEST(skb, CTA_PROTOINFO_TCP); 347 348 NFA_PUT(skb, CTA_PROTOINFO_TCP_STATE, sizeof(u_int8_t), 348 349 &ct->proto.tcp.state); 349 350 read_unlock_bh(&tcp_lock);
+130 -115
net/ipv4/tcp_output.c
··· 262 262 * We are working here with either a clone of the original 263 263 * SKB, or a fresh unique copy made by the retransmit engine. 264 264 */ 265 - static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb) 265 + static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it, gfp_t gfp_mask) 266 266 { 267 - if (skb != NULL) { 268 - const struct inet_connection_sock *icsk = inet_csk(sk); 269 - struct inet_sock *inet = inet_sk(sk); 270 - struct tcp_sock *tp = tcp_sk(sk); 271 - struct tcp_skb_cb *tcb = TCP_SKB_CB(skb); 272 - int tcp_header_size = tp->tcp_header_len; 273 - struct tcphdr *th; 274 - int sysctl_flags; 275 - int err; 267 + const struct inet_connection_sock *icsk = inet_csk(sk); 268 + struct inet_sock *inet; 269 + struct tcp_sock *tp; 270 + struct tcp_skb_cb *tcb; 271 + int tcp_header_size; 272 + struct tcphdr *th; 273 + int sysctl_flags; 274 + int err; 276 275 277 - BUG_ON(!tcp_skb_pcount(skb)); 276 + BUG_ON(!skb || !tcp_skb_pcount(skb)); 277 + 278 + /* If congestion control is doing timestamping, we must 279 + * take such a timestamp before we potentially clone/copy. 280 + */ 281 + if (icsk->icsk_ca_ops->rtt_sample) 282 + __net_timestamp(skb); 283 + 284 + if (likely(clone_it)) { 285 + if (unlikely(skb_cloned(skb))) 286 + skb = pskb_copy(skb, gfp_mask); 287 + else 288 + skb = skb_clone(skb, gfp_mask); 289 + if (unlikely(!skb)) 290 + return -ENOBUFS; 291 + } 292 + 293 + inet = inet_sk(sk); 294 + tp = tcp_sk(sk); 295 + tcb = TCP_SKB_CB(skb); 296 + tcp_header_size = tp->tcp_header_len; 278 297 279 298 #define SYSCTL_FLAG_TSTAMPS 0x1 280 299 #define SYSCTL_FLAG_WSCALE 0x2 281 300 #define SYSCTL_FLAG_SACK 0x4 282 301 283 - /* If congestion control is doing timestamping */ 284 - if (icsk->icsk_ca_ops->rtt_sample) 285 - __net_timestamp(skb); 286 - 287 - sysctl_flags = 0; 288 - if (tcb->flags & TCPCB_FLAG_SYN) { 289 - tcp_header_size = sizeof(struct tcphdr) + TCPOLEN_MSS; 290 - if(sysctl_tcp_timestamps) { 291 - tcp_header_size += TCPOLEN_TSTAMP_ALIGNED; 292 - sysctl_flags |= SYSCTL_FLAG_TSTAMPS; 293 - } 294 - if(sysctl_tcp_window_scaling) { 295 - tcp_header_size += TCPOLEN_WSCALE_ALIGNED; 296 - sysctl_flags |= SYSCTL_FLAG_WSCALE; 297 - } 298 - if(sysctl_tcp_sack) { 299 - sysctl_flags |= SYSCTL_FLAG_SACK; 300 - if(!(sysctl_flags & SYSCTL_FLAG_TSTAMPS)) 301 - tcp_header_size += TCPOLEN_SACKPERM_ALIGNED; 302 - } 303 - } else if (tp->rx_opt.eff_sacks) { 304 - /* A SACK is 2 pad bytes, a 2 byte header, plus 305 - * 2 32-bit sequence numbers for each SACK block. 306 - */ 307 - tcp_header_size += (TCPOLEN_SACK_BASE_ALIGNED + 308 - (tp->rx_opt.eff_sacks * TCPOLEN_SACK_PERBLOCK)); 302 + sysctl_flags = 0; 303 + if (unlikely(tcb->flags & TCPCB_FLAG_SYN)) { 304 + tcp_header_size = sizeof(struct tcphdr) + TCPOLEN_MSS; 305 + if(sysctl_tcp_timestamps) { 306 + tcp_header_size += TCPOLEN_TSTAMP_ALIGNED; 307 + sysctl_flags |= SYSCTL_FLAG_TSTAMPS; 309 308 } 310 - 311 - if (tcp_packets_in_flight(tp) == 0) 312 - tcp_ca_event(sk, CA_EVENT_TX_START); 313 - 314 - th = (struct tcphdr *) skb_push(skb, tcp_header_size); 315 - skb->h.th = th; 316 - skb_set_owner_w(skb, sk); 317 - 318 - /* Build TCP header and checksum it. */ 319 - th->source = inet->sport; 320 - th->dest = inet->dport; 321 - th->seq = htonl(tcb->seq); 322 - th->ack_seq = htonl(tp->rcv_nxt); 323 - *(((__u16 *)th) + 6) = htons(((tcp_header_size >> 2) << 12) | tcb->flags); 324 - if (tcb->flags & TCPCB_FLAG_SYN) { 325 - /* RFC1323: The window in SYN & SYN/ACK segments 326 - * is never scaled. 327 - */ 328 - th->window = htons(tp->rcv_wnd); 329 - } else { 330 - th->window = htons(tcp_select_window(sk)); 309 + if (sysctl_tcp_window_scaling) { 310 + tcp_header_size += TCPOLEN_WSCALE_ALIGNED; 311 + sysctl_flags |= SYSCTL_FLAG_WSCALE; 331 312 } 332 - th->check = 0; 333 - th->urg_ptr = 0; 334 - 335 - if (tp->urg_mode && 336 - between(tp->snd_up, tcb->seq+1, tcb->seq+0xFFFF)) { 337 - th->urg_ptr = htons(tp->snd_up-tcb->seq); 338 - th->urg = 1; 313 + if (sysctl_tcp_sack) { 314 + sysctl_flags |= SYSCTL_FLAG_SACK; 315 + if (!(sysctl_flags & SYSCTL_FLAG_TSTAMPS)) 316 + tcp_header_size += TCPOLEN_SACKPERM_ALIGNED; 339 317 } 340 - 341 - if (tcb->flags & TCPCB_FLAG_SYN) { 342 - tcp_syn_build_options((__u32 *)(th + 1), 343 - tcp_advertise_mss(sk), 344 - (sysctl_flags & SYSCTL_FLAG_TSTAMPS), 345 - (sysctl_flags & SYSCTL_FLAG_SACK), 346 - (sysctl_flags & SYSCTL_FLAG_WSCALE), 347 - tp->rx_opt.rcv_wscale, 348 - tcb->when, 349 - tp->rx_opt.ts_recent); 350 - } else { 351 - tcp_build_and_update_options((__u32 *)(th + 1), 352 - tp, tcb->when); 353 - 354 - TCP_ECN_send(sk, tp, skb, tcp_header_size); 355 - } 356 - tp->af_specific->send_check(sk, th, skb->len, skb); 357 - 358 - if (tcb->flags & TCPCB_FLAG_ACK) 359 - tcp_event_ack_sent(sk, tcp_skb_pcount(skb)); 360 - 361 - if (skb->len != tcp_header_size) 362 - tcp_event_data_sent(tp, skb, sk); 363 - 364 - TCP_INC_STATS(TCP_MIB_OUTSEGS); 365 - 366 - err = tp->af_specific->queue_xmit(skb, 0); 367 - if (err <= 0) 368 - return err; 369 - 370 - tcp_enter_cwr(sk); 371 - 372 - /* NET_XMIT_CN is special. It does not guarantee, 373 - * that this packet is lost. It tells that device 374 - * is about to start to drop packets or already 375 - * drops some packets of the same priority and 376 - * invokes us to send less aggressively. 318 + } else if (unlikely(tp->rx_opt.eff_sacks)) { 319 + /* A SACK is 2 pad bytes, a 2 byte header, plus 320 + * 2 32-bit sequence numbers for each SACK block. 377 321 */ 378 - return err == NET_XMIT_CN ? 0 : err; 322 + tcp_header_size += (TCPOLEN_SACK_BASE_ALIGNED + 323 + (tp->rx_opt.eff_sacks * 324 + TCPOLEN_SACK_PERBLOCK)); 379 325 } 380 - return -ENOBUFS; 326 + 327 + if (tcp_packets_in_flight(tp) == 0) 328 + tcp_ca_event(sk, CA_EVENT_TX_START); 329 + 330 + th = (struct tcphdr *) skb_push(skb, tcp_header_size); 331 + skb->h.th = th; 332 + skb_set_owner_w(skb, sk); 333 + 334 + /* Build TCP header and checksum it. */ 335 + th->source = inet->sport; 336 + th->dest = inet->dport; 337 + th->seq = htonl(tcb->seq); 338 + th->ack_seq = htonl(tp->rcv_nxt); 339 + *(((__u16 *)th) + 6) = htons(((tcp_header_size >> 2) << 12) | 340 + tcb->flags); 341 + 342 + if (unlikely(tcb->flags & TCPCB_FLAG_SYN)) { 343 + /* RFC1323: The window in SYN & SYN/ACK segments 344 + * is never scaled. 345 + */ 346 + th->window = htons(tp->rcv_wnd); 347 + } else { 348 + th->window = htons(tcp_select_window(sk)); 349 + } 350 + th->check = 0; 351 + th->urg_ptr = 0; 352 + 353 + if (unlikely(tp->urg_mode && 354 + between(tp->snd_up, tcb->seq+1, tcb->seq+0xFFFF))) { 355 + th->urg_ptr = htons(tp->snd_up-tcb->seq); 356 + th->urg = 1; 357 + } 358 + 359 + if (unlikely(tcb->flags & TCPCB_FLAG_SYN)) { 360 + tcp_syn_build_options((__u32 *)(th + 1), 361 + tcp_advertise_mss(sk), 362 + (sysctl_flags & SYSCTL_FLAG_TSTAMPS), 363 + (sysctl_flags & SYSCTL_FLAG_SACK), 364 + (sysctl_flags & SYSCTL_FLAG_WSCALE), 365 + tp->rx_opt.rcv_wscale, 366 + tcb->when, 367 + tp->rx_opt.ts_recent); 368 + } else { 369 + tcp_build_and_update_options((__u32 *)(th + 1), 370 + tp, tcb->when); 371 + TCP_ECN_send(sk, tp, skb, tcp_header_size); 372 + } 373 + 374 + tp->af_specific->send_check(sk, th, skb->len, skb); 375 + 376 + if (likely(tcb->flags & TCPCB_FLAG_ACK)) 377 + tcp_event_ack_sent(sk, tcp_skb_pcount(skb)); 378 + 379 + if (skb->len != tcp_header_size) 380 + tcp_event_data_sent(tp, skb, sk); 381 + 382 + TCP_INC_STATS(TCP_MIB_OUTSEGS); 383 + 384 + err = tp->af_specific->queue_xmit(skb, 0); 385 + if (unlikely(err <= 0)) 386 + return err; 387 + 388 + tcp_enter_cwr(sk); 389 + 390 + /* NET_XMIT_CN is special. It does not guarantee, 391 + * that this packet is lost. It tells that device 392 + * is about to start to drop packets or already 393 + * drops some packets of the same priority and 394 + * invokes us to send less aggressively. 395 + */ 396 + return err == NET_XMIT_CN ? 0 : err; 397 + 381 398 #undef SYSCTL_FLAG_TSTAMPS 382 399 #undef SYSCTL_FLAG_WSCALE 383 400 #undef SYSCTL_FLAG_SACK ··· 1053 1036 1054 1037 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1055 1038 1056 - if (unlikely(tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)))) 1039 + if (unlikely(tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC))) 1057 1040 break; 1058 1041 1059 1042 /* Advance the send_head. This one is sent out. ··· 1126 1109 /* Send it out now. */ 1127 1110 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1128 1111 1129 - if (likely(!tcp_transmit_skb(sk, skb_clone(skb, sk->sk_allocation)))) { 1112 + if (likely(!tcp_transmit_skb(sk, skb, 1, sk->sk_allocation))) { 1130 1113 update_send_head(sk, tp, skb); 1131 1114 tcp_cwnd_validate(sk, tp); 1132 1115 return; ··· 1446 1429 */ 1447 1430 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1448 1431 1449 - err = tcp_transmit_skb(sk, (skb_cloned(skb) ? 1450 - pskb_copy(skb, GFP_ATOMIC): 1451 - skb_clone(skb, GFP_ATOMIC))); 1432 + err = tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); 1452 1433 1453 1434 if (err == 0) { 1454 1435 /* Update global TCP statistics. */ ··· 1680 1665 TCP_SKB_CB(skb)->seq = tcp_acceptable_seq(sk, tp); 1681 1666 TCP_SKB_CB(skb)->end_seq = TCP_SKB_CB(skb)->seq; 1682 1667 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1683 - if (tcp_transmit_skb(sk, skb)) 1668 + if (tcp_transmit_skb(sk, skb, 0, priority)) 1684 1669 NET_INC_STATS(LINUX_MIB_TCPABORTFAILED); 1685 1670 } 1686 1671 ··· 1715 1700 TCP_ECN_send_synack(tcp_sk(sk), skb); 1716 1701 } 1717 1702 TCP_SKB_CB(skb)->when = tcp_time_stamp; 1718 - return tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)); 1703 + return tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); 1719 1704 } 1720 1705 1721 1706 /* ··· 1876 1861 __skb_queue_tail(&sk->sk_write_queue, buff); 1877 1862 sk_charge_skb(sk, buff); 1878 1863 tp->packets_out += tcp_skb_pcount(buff); 1879 - tcp_transmit_skb(sk, skb_clone(buff, GFP_KERNEL)); 1864 + tcp_transmit_skb(sk, buff, 1, GFP_KERNEL); 1880 1865 TCP_INC_STATS(TCP_MIB_ACTIVEOPENS); 1881 1866 1882 1867 /* Timer for repeating the SYN until an answer. */ ··· 1972 1957 /* Send it off, this clears delayed acks for us. */ 1973 1958 TCP_SKB_CB(buff)->seq = TCP_SKB_CB(buff)->end_seq = tcp_acceptable_seq(sk, tp); 1974 1959 TCP_SKB_CB(buff)->when = tcp_time_stamp; 1975 - tcp_transmit_skb(sk, buff); 1960 + tcp_transmit_skb(sk, buff, 0, GFP_ATOMIC); 1976 1961 } 1977 1962 } 1978 1963 ··· 2012 1997 TCP_SKB_CB(skb)->seq = urgent ? tp->snd_una : tp->snd_una - 1; 2013 1998 TCP_SKB_CB(skb)->end_seq = TCP_SKB_CB(skb)->seq; 2014 1999 TCP_SKB_CB(skb)->when = tcp_time_stamp; 2015 - return tcp_transmit_skb(sk, skb); 2000 + return tcp_transmit_skb(sk, skb, 0, GFP_ATOMIC); 2016 2001 } 2017 2002 2018 2003 int tcp_write_wakeup(struct sock *sk) ··· 2045 2030 2046 2031 TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_PSH; 2047 2032 TCP_SKB_CB(skb)->when = tcp_time_stamp; 2048 - err = tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)); 2033 + err = tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); 2049 2034 if (!err) { 2050 2035 update_send_head(sk, tp, skb); 2051 2036 }
+4 -12
net/ipv4/tcp_vegas.c
··· 215 215 vegas->beg_snd_nxt = tp->snd_nxt; 216 216 vegas->beg_snd_cwnd = tp->snd_cwnd; 217 217 218 - /* Take into account the current RTT sample too, to 219 - * decrease the impact of delayed acks. This double counts 220 - * this sample since we count it for the next window as well, 221 - * but that's not too awful, since we're taking the min, 222 - * rather than averaging. 223 - */ 224 - tcp_vegas_rtt_calc(sk, seq_rtt * 1000); 225 - 226 218 /* We do the Vegas calculations only if we got enough RTT 227 219 * samples that we can be reasonably sure that we got 228 220 * at least one RTT sample that wasn't from a delayed ACK. ··· 325 333 else if (tp->snd_cwnd > tp->snd_cwnd_clamp) 326 334 tp->snd_cwnd = tp->snd_cwnd_clamp; 327 335 } 328 - } 329 336 330 - /* Wipe the slate clean for the next RTT. */ 331 - vegas->cntRTT = 0; 332 - vegas->minRTT = 0x7fffffff; 337 + /* Wipe the slate clean for the next RTT. */ 338 + vegas->cntRTT = 0; 339 + vegas->minRTT = 0x7fffffff; 340 + } 333 341 } 334 342 335 343 /* Extract info for Tcp socket info provided via netlink. */
+1 -1
net/ipv6/esp6.c
··· 248 248 if (esp->conf.padlen) 249 249 mtu = ALIGN(mtu, esp->conf.padlen); 250 250 251 - return mtu + x->props.header_len + esp->auth.icv_full_len; 251 + return mtu + x->props.header_len + esp->auth.icv_trunc_len; 252 252 } 253 253 254 254 static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
+6 -6
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
··· 68 68 [ICMPV6_NI_REPLY - 128] = ICMPV6_NI_REPLY +1 69 69 }; 70 70 71 - __u8 type = orig->dst.u.icmp.type - 128; 72 - if (type >= sizeof(invmap) || !invmap[type]) 71 + int type = orig->dst.u.icmp.type - 128; 72 + if (type < 0 || type >= sizeof(invmap) || !invmap[type]) 73 73 return 0; 74 74 75 75 tuple->src.u.icmp.id = orig->src.u.icmp.id; ··· 129 129 [ICMPV6_ECHO_REQUEST - 128] = 1, 130 130 [ICMPV6_NI_QUERY - 128] = 1 131 131 }; 132 + int type = conntrack->tuplehash[0].tuple.dst.u.icmp.type - 128; 132 133 133 - if (conntrack->tuplehash[0].tuple.dst.u.icmp.type - 128 >= sizeof(valid_new) 134 - || !valid_new[conntrack->tuplehash[0].tuple.dst.u.icmp.type - 128]) { 134 + if (type < 0 || type >= sizeof(valid_new) || !valid_new[type]) { 135 135 /* Can't create a new ICMPv6 `conn' with this. */ 136 - DEBUGP("icmp: can't create new conn with type %u\n", 137 - conntrack->tuplehash[0].tuple.dst.u.icmp.type); 136 + DEBUGP("icmpv6: can't create new conn with type %u\n", 137 + type + 128); 138 138 NF_CT_DUMP_TUPLE(&conntrack->tuplehash[0].tuple); 139 139 return 0; 140 140 }
+2 -2
net/netfilter/Kconfig
··· 61 61 instead of the individual packets. 62 62 63 63 config NF_CONNTRACK_EVENTS 64 - bool "Connection tracking events" 65 - depends on NF_CONNTRACK 64 + bool "Connection tracking events (EXPERIMENTAL)" 65 + depends on EXPERIMENTAL && NF_CONNTRACK 66 66 help 67 67 If this option is enabled, the connection tracking code will 68 68 provide a notifier chain that can be used by other kernel code
+3
net/netfilter/nf_conntrack_core.c
··· 1383 1383 schedule(); 1384 1384 goto i_see_dead_people; 1385 1385 } 1386 + /* wait until all references to nf_conntrack_untracked are dropped */ 1387 + while (atomic_read(&nf_conntrack_untracked.ct_general.use) > 1) 1388 + schedule(); 1386 1389 1387 1390 for (i = 0; i < NF_CT_F_NUM; i++) { 1388 1391 if (nf_ct_cache[i].use == 0)
+2 -3
net/netfilter/nfnetlink.c
··· 162 162 return -EINVAL; 163 163 } 164 164 165 - min_len = NLMSG_ALIGN(sizeof(struct nfgenmsg)); 165 + min_len = NLMSG_SPACE(sizeof(struct nfgenmsg)); 166 166 if (unlikely(nlh->nlmsg_len < min_len)) 167 167 return -EINVAL; 168 168 ··· 236 236 } 237 237 238 238 /* All the messages must at least contain nfgenmsg */ 239 - if (nlh->nlmsg_len < 240 - NLMSG_LENGTH(NLMSG_ALIGN(sizeof(struct nfgenmsg)))) { 239 + if (nlh->nlmsg_len < NLMSG_SPACE(sizeof(struct nfgenmsg))) { 241 240 DEBUGP("received message was too short\n"); 242 241 return 0; 243 242 }
+61 -54
net/packet/af_packet.c
··· 1587 1587 return virt_to_page(one_pg_vec + (PAGE_SIZE << order) - 1); 1588 1588 } 1589 1589 1590 - static void free_pg_vec(char **pg_vec, unsigned order, unsigned len) 1590 + static void free_pg_vec(char **pg_vec, unsigned int order, unsigned int len) 1591 1591 { 1592 1592 int i; 1593 1593 1594 - for (i=0; i<len; i++) { 1595 - if (pg_vec[i]) { 1596 - struct page *page, *pend; 1597 - 1598 - pend = pg_vec_endpage(pg_vec[i], order); 1599 - for (page = virt_to_page(pg_vec[i]); page <= pend; page++) 1600 - ClearPageReserved(page); 1601 - free_pages((unsigned long)pg_vec[i], order); 1602 - } 1594 + for (i = 0; i < len; i++) { 1595 + if (likely(pg_vec[i])) 1596 + free_pages((unsigned long) pg_vec[i], order); 1603 1597 } 1604 1598 kfree(pg_vec); 1605 1599 } 1606 1600 1601 + static inline char *alloc_one_pg_vec_page(unsigned long order) 1602 + { 1603 + return (char *) __get_free_pages(GFP_KERNEL | __GFP_COMP | __GFP_ZERO, 1604 + order); 1605 + } 1606 + 1607 + static char **alloc_pg_vec(struct tpacket_req *req, int order) 1608 + { 1609 + unsigned int block_nr = req->tp_block_nr; 1610 + char **pg_vec; 1611 + int i; 1612 + 1613 + pg_vec = kzalloc(block_nr * sizeof(char *), GFP_KERNEL); 1614 + if (unlikely(!pg_vec)) 1615 + goto out; 1616 + 1617 + for (i = 0; i < block_nr; i++) { 1618 + pg_vec[i] = alloc_one_pg_vec_page(order); 1619 + if (unlikely(!pg_vec[i])) 1620 + goto out_free_pgvec; 1621 + } 1622 + 1623 + out: 1624 + return pg_vec; 1625 + 1626 + out_free_pgvec: 1627 + free_pg_vec(pg_vec, order, block_nr); 1628 + pg_vec = NULL; 1629 + goto out; 1630 + } 1607 1631 1608 1632 static int packet_set_ring(struct sock *sk, struct tpacket_req *req, int closing) 1609 1633 { ··· 1641 1617 1642 1618 /* Sanity tests and some calculations */ 1643 1619 1644 - if (po->pg_vec) 1620 + if (unlikely(po->pg_vec)) 1645 1621 return -EBUSY; 1646 1622 1647 - if ((int)req->tp_block_size <= 0) 1623 + if (unlikely((int)req->tp_block_size <= 0)) 1648 1624 return -EINVAL; 1649 - if (req->tp_block_size&(PAGE_SIZE-1)) 1625 + if (unlikely(req->tp_block_size & (PAGE_SIZE - 1))) 1650 1626 return -EINVAL; 1651 - if (req->tp_frame_size < TPACKET_HDRLEN) 1627 + if (unlikely(req->tp_frame_size < TPACKET_HDRLEN)) 1652 1628 return -EINVAL; 1653 - if (req->tp_frame_size&(TPACKET_ALIGNMENT-1)) 1629 + if (unlikely(req->tp_frame_size & (TPACKET_ALIGNMENT - 1))) 1654 1630 return -EINVAL; 1655 1631 1656 1632 po->frames_per_block = req->tp_block_size/req->tp_frame_size; 1657 - if (po->frames_per_block <= 0) 1633 + if (unlikely(po->frames_per_block <= 0)) 1658 1634 return -EINVAL; 1659 - if (po->frames_per_block*req->tp_block_nr != req->tp_frame_nr) 1635 + if (unlikely((po->frames_per_block * req->tp_block_nr) != 1636 + req->tp_frame_nr)) 1660 1637 return -EINVAL; 1661 - /* OK! */ 1662 - 1663 - /* Allocate page vector */ 1664 - while ((PAGE_SIZE<<order) < req->tp_block_size) 1665 - order++; 1666 1638 1667 1639 err = -ENOMEM; 1668 - 1669 - pg_vec = kmalloc(req->tp_block_nr*sizeof(char *), GFP_KERNEL); 1670 - if (pg_vec == NULL) 1640 + order = get_order(req->tp_block_size); 1641 + pg_vec = alloc_pg_vec(req, order); 1642 + if (unlikely(!pg_vec)) 1671 1643 goto out; 1672 - memset(pg_vec, 0, req->tp_block_nr*sizeof(char **)); 1673 - 1674 - for (i=0; i<req->tp_block_nr; i++) { 1675 - struct page *page, *pend; 1676 - pg_vec[i] = (char *)__get_free_pages(GFP_KERNEL, order); 1677 - if (!pg_vec[i]) 1678 - goto out_free_pgvec; 1679 - 1680 - pend = pg_vec_endpage(pg_vec[i], order); 1681 - for (page = virt_to_page(pg_vec[i]); page <= pend; page++) 1682 - SetPageReserved(page); 1683 - } 1684 - /* Page vector is allocated */ 1685 1644 1686 1645 l = 0; 1687 - for (i=0; i<req->tp_block_nr; i++) { 1646 + for (i = 0; i < req->tp_block_nr; i++) { 1688 1647 char *ptr = pg_vec[i]; 1689 1648 struct tpacket_hdr *header; 1690 1649 int k; 1691 1650 1692 - for (k=0; k<po->frames_per_block; k++) { 1693 - 1694 - header = (struct tpacket_hdr*)ptr; 1651 + for (k = 0; k < po->frames_per_block; k++) { 1652 + header = (struct tpacket_hdr *) ptr; 1695 1653 header->tp_status = TP_STATUS_KERNEL; 1696 1654 ptr += req->tp_frame_size; 1697 1655 } 1698 1656 } 1699 1657 /* Done */ 1700 1658 } else { 1701 - if (req->tp_frame_nr) 1659 + if (unlikely(req->tp_frame_nr)) 1702 1660 return -EINVAL; 1703 1661 } 1704 1662 ··· 1707 1701 1708 1702 spin_lock_bh(&sk->sk_receive_queue.lock); 1709 1703 pg_vec = XC(po->pg_vec, pg_vec); 1710 - po->frame_max = req->tp_frame_nr-1; 1704 + po->frame_max = (req->tp_frame_nr - 1); 1711 1705 po->head = 0; 1712 1706 po->frame_size = req->tp_frame_size; 1713 1707 spin_unlock_bh(&sk->sk_receive_queue.lock); ··· 1734 1728 1735 1729 release_sock(sk); 1736 1730 1737 - out_free_pgvec: 1738 1731 if (pg_vec) 1739 1732 free_pg_vec(pg_vec, order, req->tp_block_nr); 1740 1733 out: ··· 1760 1755 if (size != po->pg_vec_len*po->pg_vec_pages*PAGE_SIZE) 1761 1756 goto out; 1762 1757 1763 - atomic_inc(&po->mapped); 1764 1758 start = vma->vm_start; 1765 - err = -EAGAIN; 1766 - for (i=0; i<po->pg_vec_len; i++) { 1767 - if (remap_pfn_range(vma, start, 1768 - __pa(po->pg_vec[i]) >> PAGE_SHIFT, 1769 - po->pg_vec_pages*PAGE_SIZE, 1770 - vma->vm_page_prot)) 1771 - goto out; 1772 - start += po->pg_vec_pages*PAGE_SIZE; 1759 + for (i = 0; i < po->pg_vec_len; i++) { 1760 + struct page *page = virt_to_page(po->pg_vec[i]); 1761 + int pg_num; 1762 + 1763 + for (pg_num = 0; pg_num < po->pg_vec_pages; pg_num++, page++) { 1764 + err = vm_insert_page(vma, start, page); 1765 + if (unlikely(err)) 1766 + goto out; 1767 + start += PAGE_SIZE; 1768 + } 1773 1769 } 1770 + atomic_inc(&po->mapped); 1774 1771 vma->vm_ops = &packet_mmap_ops; 1775 1772 err = 0; 1776 1773