ELF@@;9%%%%%% ? _ w  "[%s]: %s work", __get_str(dev), __print_symbolic(REC->type, { HSSPI_WORK_TX, "TX", }, { HSSPI_WORK_COMPLETION, "COMPLETION", }, { -1, "no", })"[%s]: is_empty: %d state: %s", __get_str(dev), REC->is_empty, __print_symbolic(REC->state, { HSSPI_RUNNING, "running", }, { HSSPI_ERROR, "error", }, { HSSPI_STOPPED, "stopped", })"[%s]: host flags:0x%hhx ul:%hhd len:%hd | soc flags:0x%hhx ul:%hhd len:%hd rc=%d", __get_str(dev), REC->hostflags, REC->hostul, REC->hostlength, REC->socflags, REC->socul, REC->soclength, REC->ret chip_ver: %x Firmware file not present! Firmware size is %zu! request_firmware failed (ret=%d) for '%s' %s: Invalid or corrupted stitched file at offset %u (key2) fw package headerdata chunkhsspi_sendMax successive errors %d reached, likely entered ROM code... 4qm35: coredump receive timer expired is_empty&qm35_ctx->qmrom_wq_readyss-readygpiod_to_irq(ss-irq) returned %d%s: qmrom_probe_device returned %d! %s: spi_set_cs_level(1) failed with %d %s: hmm something went wrong!!! cert chain%s transfer failed with %d - (sstc 0x%08x) &hsspi->flags_lock%s: %d unknown hsspi_work type: %d 6qm35: coredump: calculated crc: 0x%x, header crc: 0x%x erroruciDevice flashing succeeded! %s: maybe not a B0 device &hsspi->wq_readyUCIstrcpyfw3qm35: failed to create /sys/kernel/debug/uwb0/chip COMPLETION&x->wait&rb->lockqm35_fw_pkg.binqm35_oem.bin%s: Unpack macro FW package unsuccessful! %s: flash un-stitched firmware not supported on this device %s: Waiting for WAITING_FOR_FIRST_KEY_CERT(%#x) but got %#x Flashing failed, fw updater status %#x (errors: sub %#x, cksum %u, rram %u, crypto %d) %s: received %hhu %hu but expecting %hhu %hu 3qm35: log packet header too small: %d bytes NACK6qm35 debug: created /sys/kernel/debug/uwb0/%s/log_level 6hsspi test: bytes received %llu, msgs %llu, errors %llu (null)qm35-vdd3%s: firmware not properly started: %#x qm357xx_rom_b0_flash_data3failed to encode get log sources packet 3qm35: failed to create /sys/kernel/debug/uwb0/fw/enable runningcsn dev_id: deca%04x qm357xx_rom_flash_dbg_certqm357xx_rom_unpack_fw_pkgSending the image (%zu bytes) %s: bad soc flags %#hhx, expected %#hhx log name error3qm35: failed to create /sys/kernel/debug/uwb0/fw/soc_id ../private/google-modules/uwb/qorvo/qm35/qm35s/debug.cHSSPI_WORK_TX%s: devm_request_irq returned %dFirmware download failed with %d! Attempt %d: fw app flashing failed with %d! qm35_fw_pkg_prod.binRequesting fw %s! qmrom_reboot_bootloaderqm357xx_rom_flash_fwspi_sync_transfer: %d hostlengthinclude/linux/thread_info.h%s: Invalid or corrupted stitched file at offset %u (key1) Waiting for ss-rdy failed with %d Sending the image header (%zu bytes cksum 0x%08x) &uci->lockrx:typeqm35 coredump%s: wrong data result (%#x vs %#x)!!! timed out waiting for ss_ready(%d) retdisablevdd1qmrom_check_fw_boot_stateHSSPI upper layer '%s' not unregistered 6qm35: coredump: receiving coredump with len: %d and crc: 0x%x u8Registered: [%s] misc device %s regulator not defined in device tree: %d include/linux/uaccess.henableFW MACRO PACKAGE corrupted = %d %s: wrong chip revision %#x qm357xx_rom_c0_flash_data%s: spi error detected for cmd %#x chunk %d, retry %d, global retry %d, soc_flags 0x%02x hsspiQM35 COREDUMP3qm35: coredump packet header too small: %d bytes Firmware flashed in %llu us qm357xx_rom_flash_unstitched_fwtracestest_sleep_hsspi_mshsspi-ss-rdyAttempt %d: ROM flashing failed with %d! sscoredumpqm35_oem_prod.bin%s: wrong debug cert size result (0x%x vs 0x%x)!!! %s: flashing error detected but couldn't be fetched HSSPI initialized %s: '%s' ret: %d HSSPI_RUNNINGqm35-vdd2../private/google-modules/uwb/qorvo/qm35/qm35s/qmrom_spi.c%s: erase debug certificate not support on this device 6qm35_log: %.*s 6qm35: coredump: sending status %s stoppedSSCD registration failed: %d lcs_state: %u Wrong FW PKG offset = %04x; len = %04x; idx = %d! 3qm35: failed to create /sys/kernel/debug/uwb0 &debug->wq&debug->pv_filp_lockdeca%04x resetqm35-vdd1gpiod_to_irq(exton) returned %dfailed to %s %s regulator: %d qm357xx_rom_b0_probe_device%s: flashing error %d (0x%x) detected %s: Not enough data (%zu) to unstitch qm357xx_rom_b0_flash_unstitched_fwROM flashing time stats: %llu bytes over %llu us (chunk size %u, write timings: mean %u us, min %u us, max %u us) image header&hsspi->lockError %d while waiting for ss_ready 3hsspi test: check_rx rx[%u] != %u hsspi-ss-irqqm35 tx:%s: Waiting for WAITING_FOR_DEBUG_CERT_DATA(%#x) but got %#x Sending the cert chain (%d bytes cksum 0x%08x) 3qm35: failed to allocate coredump mem: %px chip4qm35: write non null value to force a hw reset socflagsqm357xx_rom_b0_erase_debug_certACKlog_leveldev_idTXunknown ioctl %x to %s device qmrom_init%s: Invalid or corrupted stitched file at offset %u (firmware) %s: No FW pkg found in macro package! nb_descriptors = %d Cannot extract enough data from fw package binary Rx/Tx buffers allocation failure Flashing succeeded without any errors Timedout waiting for result 4qm35: logging already enabled hw_reset3qm35: failed to create /sys/kernel/debug/uwb0/chip/hw_reset 3qm35: failed to create /sys/kernel/debug/uwb0/fw/traces 3qm35: failed to create /sys/kernel/debug/uwb0/fw/test_sleep_hsspi spi_setup: requested spi speed=%d ret=%d hsspi-exton uuid: %*phN Attempt %d: fw updater flashing failed with %d! 0x%02x No response from FW after multiple resets. Stopping HSSPI. 6hsspi test perfs: %llu B/s, %llu msgs/s, %llu errors/s __data_loc char[]Failed to register uci device extonqm357xx_rom_unstitch_fwhsspi_unregister../private/google-modules/uwb/qorvo/qm35/qm35s/hsspi.c3failed to encode get log level packet 6qm35: resetting chip... no[%s]: host flags:0x%hhx ul:%hhd len:%hd | soc flags:0x%hhx ul:%hhd len:%hd rc=%d qm35Sending image failed with %d hsspi_rx(&layer->timer)3qm35: coredump: wrong cmd id received: 0x%x 3qm35: failed to create /sys/kernel/debug/uwb0/%s/log_level 6hsspi test: bytes sent %llu, msgs %llu, errors %llu soculss-irqvdd23qmrom_init failed %s: Unstitched fw flashing not supported yet %s: flashing done, quitting now Flashing succeeded with errors (host %u, ss_rdy_timeout %u, QM %u, cksum %u, rram %u, crypto %d) %s Retry rc %d, sstc 0x%08x, irq %d, cksum %08x hsspi_register3qm35: failed to save coredump, mem not allocated devstatehostflagshostul&qm35_ctx->lock%s: Couldn't allocate %zu bytes... %s: wrong chip revision 0x%x qm357xx_rom_c0_poll_cmd_resp%02xFW not ready (flags %#02x) hsspi_pre_read3failed to send spi packet 3qm35: failed to save coredump, mem overflow: max size: %d, wr_idx: %d, cd size: %d u16../private/google-modules/uwb/qorvo/qm35/qm35s/qm35-spi.cwakeupvdd4%s: Invalid or corrupted stitched file at offset %u (content cert) %s: FW MACRO PACKAGE corrupted = %d qm357xx_rom_unpack_fw_macro_pkg%s: wrong data expected (%#x vs %#x)!!! qm357xx_rom_c0_probe_device%s failed after %d replies coredump3qm35: failed to create /sys/kernel/debug/uwb0/fw/coredump 4qm35: write non null value to force coredump soc_id: %*phN uwbLCS state is not secure.qm357xx_rom_fw_macro_pkg_get_fw_idx%s: Invalid or corrupted file! magic = %04x %s: starting... qm357xx_rom_c0_poll_socSending the fw package header (%zu bytes, cksum is 0x%08x) &hsspi->wqHSSPI uninitialized 3qm35: failed to create /sys/kernel/debug/uwb0/%s soc_iduwb03qm35: failed to create /sys/kernel/debug/uwb0/fw HSSPI_STOPPEDenum hsspi_state7%s: Unstitching %zu bytes %s: Trying to flash an ICV fw on a non ICV platform qm357xx_rom_b0_flash_debug_cert%s: maybe not a C0 device hsspi_tx3qm35: incomplete log packet: %d/%d bytes 6qm35: force coredumpQM35 spi driver version 7.2.9-rc1 probed %s: spi_set_cs_level(0) failed with %d %s: flash debug certificate not support on this device %s: cannot reset the device... %s: Trying to flash an OEM fw on a non OEM platform qm357xx_rom_c0_flash_debug_cert0x%02x, %s Waiting for ss-rdy failed with %d (nb_retry %d , cksum 0x%x) 3qm35: failed to create /sys/kernel/debug/uwb0/fw/dev_id HSSPI_WORK_COMPLETIONHSSPI_ERROR[%s]: %s work gpiod_to_irq(ss-ready) returns %dhsspi_irqs_setupvdd3%s qmrom_spi_wait_for_ready_line failed run_fwupdater_get_status returned %d ../private/google-modules/uwb/qorvo/qm35/qm35s/hsspi_uci.c3failed to encode set log level packet %*phN hsspi_test_layer[%s]: is_empty: %d state: %s FW PACKAGE not found - magic is %04x, size is %d %s: Waiting for ss-irq failed with %d %s: Couldn't allocate stcs... qm357xx_rom_erase_dbg_cert%s: Waiting for WAITING_TO_DEBUG_CERTIFICATE_SIZE(%#x) but got %#x QM35 LOG3qm35: log module name bigger than allocated buffer: current_len = %d bytes 3qm35: coredump packet header ntf too small: %d bytes intbool../private/google-modules/uwb/qorvo/qm35/qm35s/qm35-trace.hqm35-vdd4gpiod_get_index(ss-irq) returned %pKDeregistered: [%s] misc device qm35 rx:qm357xx_rom_c0_flash_unstitched_fw&uci->wqsoclengthqorvo,qm35flash_on_probespi_speed_hzfwnamewake_use_wakeupwake_use_csnwake_on_ssirqtrace_spi_xfersqmrom_retriesflashing_retriesreset_on_errorlog_qm_tracesfu_spi_speed_hzqmrom_spi_speed_hzqm35nC??#{ A4@ @{¨#_nC??#{ A q@T`@hIR) @{¨#_hIR }_J) } ȫ5l#j?#{ OA q T``@ hIR)h6@tbHRh`6@!RRRBR`6@** hIR }_J) } ȫ5h6@T@8RhA4`@u* @OB{è#_r?#*@y(y#_K([?#* %A-@*$(,#_{ ?#{ g_WO@hh@4Z5RR`!B@CRt.qh9`!B!bRN?`6Tyu.@!?"T!cj?"T!cn?"T!cr?"THRRuBhcv )9th&4*Ov* 5wB *@5*5*5z*5{b*5*5*5@8R*5@9( 4!Rm**g4*Q* @OEWD_CgB{ƨ#_*b@!*!Bi!Bi!Bi!Bia:@bB@hjC(hnChrChvCh54*!b @!!**!aԗ?#{ WOL@"A q T@)IR)bBB * @!OCWB @{Ĩ#_ֈIR }_J) } ȫ5?#{ O,@!"R?`:bT*@7`.@B*$Rt 5*`.@!"R?`>b Th.@e`.@dEH 7B*R 5@94h.@!ReE* 5`.@!"RhBhFhJ`B?bT*`.@ 7B*DR*5`B@`5`@9(4`.@!R?`2T@9h4`.@!bR?`FcT*(*&`.@!* *`.@!B**`.@!b>@!*h.@eE *`.@!B** @OB{è#_!?#{ _WO`,@ )8r*3[99?kTjCu6*5nCu6*5rCu6*5vCu6*5}RRBRODWC_B @{Ũ#_!cnC!c!cvC!c?#C{WOCA8`C,@9@RhAR`@ c>@*R@%@*jf9Ff9(@!Z@y!*@qT!RB!R¢@!Z@y 2G J(y`B&HK1H%#RI 4*A5!**!*`@wf9A8C@ !T*@ODWC{AC#_f?#{_WO @ @ ! B- S?Tt2T 7v@"RRA8@9(7@i6xӨ" )?cTF 8B;H44@) 8*@* ? ?H58BՠH2 5B;ը(44( 8@ @ ?( ?ըH55BT5t2@~@OCWB_A{Ĩ#_  RC5  RCը5!@h7@7RRf?#{C_ W O A8C!B#@!hPhX* #@*RA8(@9(7)@i6x" )?cT^ 7B;44(@) 8*@* ? ?H57BHJ 6B;h44( 8@ @ ?( ?H56B՗# *5#6@qu~@`A8C_ TOKWJ_I{GC@#_  RCh5  RC5h*@h7@7RR?#{ @(@a?@T_1rrk@TE0?`" @{¨#_?#{_WO@*HRr"?kl T(Rr_k THRr_ka+TRA8ը@9(7@i6xӈ"~ h0TW 6B;5  RCH5@) 8*@* ? ?H56BՀHR? 4B;Ո5  RCՈH5( 8@ @ ?( ?ՈH54BՄhRr_kTRr_k!"TRA8ը@9(7@i6xӈ"~ T~@mA q T@ IR)2@!BHR2@!RRRBR2@*A q T@EIR)*@8RA4@5RA8ը@9(7@i6xӈ"~ TA 6B;5  RCH5@) 8*@* ? ?H56BՀHR) 4B;Ո5  RCՈH5( 8@ @ ?( ?ՈH54BH 4B;Ո5  RCՈH5@) 8*@* ? ?ՈH54B* @ 6B;5  RCH5( 8@ @ ?( ?H56Bu4~@A q T@IR)fCjCnChrCq2@HBHR2@!R4RRBR2@*@8RfC(jCnChrCnCT4A4@qo*@!@h 4rChc@7@( 7IR }_J) } ȫ52@xU@8RA4@RA8ը@9(7@i6xӈ"~ iT6L 6B;5  RCH5@) 8*@* ? ?H56BՀHR4 4B;Ո5  RCՈH5( 8@ @ ?( ?ՈH54BOCWB_A{Ĩ#_IR }_J) } ȫ5@7@7@(7@7R.RH@7@h7RRRRIR }_J) } ȫ5fCRRU?#{(@! {#_U?#{(@! *{#_?#{O@94`2@*@94`F@*hf]94tb(Rhb9`!R"R`OA R{¨#_?#{ O5`*Rh*OB R @{è#_1f?#{WeE{#_1f?#{ @94`W!R@94`Z!R @{¨#_1f?#{O@4X(tBHRh`X!RRRBR`X*RRrrBROA{¨#_?#{  h"K94@94`2@!R@94`F@!R @ R{¨#_?#{og_WOA8C,@!(Rhf9|@@95 5 hj)CӨt!(}țD*3C!R ` 5 @@Rhr_k T ؘRr@q (RȖ9ߖ9 5 R)&r@q  @@@4h@*`.@!*KCh@*`.@!*Kek TQq T(R QK94h@*`.@* ek THQ_q*TS*`.@!*L`.@!@Eh@*`.@!*Ke?k@TQ*_qT9R<K ؘRr@q ٖ9ߖ95 R)&r@q  @@4h@*`.@!* h@*`.@!* ek@TZQ_qTf9A8C_ T*OGWF_EgDoC{B#_֘e_eE??#{ L@hA q T``@ hIR) @*{¨#_hIR }_J) } ȫ5_eE??#{ L@ A4@ @*{¨#_F8 R R RFF8ը R R RFF RFը RuF8 R R RFՆF8 R R RFF RF RF8 RF R RFլF8Ո RFՈ R RFաF8 RF R RFյF8Ո RFՈ R RFF8Ո RFՈ R RFF8 RF R RFnF8 RF R RFՂF8Ո RFՈ R RF}?#տ#_l#j?#{ RT }CI?D@@T)@  k_y K"R B+ %D@y+}C0_qrrk@T E0 ?{#_l#j?#{WO,@RR )    ) P x*4vu~*OBWA{è#_nC??#{|Ch{#_ k?#{O`*h@i@ k*OA{¨#_ ?#{ O`*@*@ k T@5ihx545@y*OB* @{è#_֋n^?#{ WO`*@@ kTy@*ihxJ4y@R @y@@@y@y  @OCWB{Ĩ#_(4(@yy5kp?#{ WOW<r@T`**i"A) >@K=@k )K Ti@ R8i@?i(xhA)?kcT*k@kCT* !*  *-6 kT_ kTk@ *mIix5*4m@y -R ln@?kTl*k@vI(xh@i@  hh@ h*OCWB @{Ĩ#_֙9"?#{O`*h@hOA{¨#_}QH?#{O**Rb!B* `OA{¨#_֙9"?#{@{#_ֱ?##_u/I?##_E?#{_WOA8#C L@ #@?a97#c  376 #*@4!*R$R*!*R$R*A8C_ AT*@OVWU_T{R#_%}?#@#_,X?#{WOA8C?q#)RJuS##@9by 376 #A8C_ TOUWT{R@#_=a?#{O4@`HRh`6@!RĉRĉRBR`6@**@OA{¨#_ܩS?#C{WOCA8)RC *7@I9V@qT! )r6!5@@qT! )r!59*@5@!@ !*A8C@ TODWC{A@C#_[J?#{{#_P~*?#{WOA8`C*`:@5hb]9H4b9*!Rib]9?q @57**t"Rib]9$ @z 5 "Rib]9$ @zI5h`:@A8Cq_ࣟZ TOEWD{C#_=a?#{{#_ֳTF?##_݉X?#C{+_WOA8C* @A3/@5 (CA_1ƌrrk@TE0?f()R)*!R)@(@77*#*6##"R)@?j7#@`4Q @C#R* @*_i5Q5#( CkT*A8C_ ATOHWG_F{D+@C#_!B !B#R()R }_J) } ȫ5?#{ 0@(R? 0@*@9J2*9 0@(90@y0@9F@H@y{#_ֱ?#{O4@@y iT 0@*h2@ @9)2 9(Ri2@(9i"F@y(ybF`@OA{¨#_֓‚?q@T5?#{{#__搵?#{og_WOC!RR@***@!RR@@@!RR@RRq|{jh*@ybw"iZyv:9h@T5*52@@4!BR$`2@@`6@@@@4!B@@5`2@@`6@@OFWE_DgCoB{A#_!B`2@ 0hG?#{ 0@@`6@@ @{¨#_ֱ?#{O@*`4*@@h4!ĉRĉRBR@@_'rq?rk@TE0?ĉRĉRBR@!R*4@@4!B*ĉRĉRBR*OA{¨#_nf?#{ 0@(R? 0@*@9J2*9 0@(9 0@(y0@9F@H@y{#_݉X?#{ 0@(R? 0@*@9J2*9 0@(9R0@ y0@F@H@y{#_%I?#{  0@(R? 0@*@9J2*9 0@(9H 0@B<@(y0@90@bF`@H@y @{¨#_t.?#{  0@(R? 0@*@9J2*9 0@(9H 0@B<@(y0@0@!bF`@H@y @{¨#_ֱ?#{ 4qZ @{¨#_ ?#{(@(_1rrk@TE0?  @(@@zT{#_!B?#{,@(_1vrrk@TE0?  @(@@zT{#_!Bdo?#C{O A8)C Rʨr)@#)@? kT@4*@@(4! 4*@@4!B&@#_brrk@TE0?*@@5@A8C_ T*OD{CC#_!BL4?#{ O@!@9#4A) @j ? "T@@4!* @(@@zT@@H4!B3hR)rIkT!R R@` `` lRhj& iR@* ! A  @(@$@`@4!Bs* @OB{è#_!BQ9?#{og_WO@ @@T@z TxCz" T@@#T @ @ 4!B*`JhI )!?)T @ @ 4!#H Jh )!?T @ @4!B*? Ju( T!R R @` *V< j&h    ( @ @4!B*!B !B@t` @@*OEWD_CgBoA{ƨ#_C?#{$@(_brrk@TE0?  @(@@zT{#_!By80?#{ @H!@9qAz,T )@) J@4!B *J! @*B)   T )@) J@4! *(@*I@ h{#_L4?#{ O@hR)rIkT!R R@` ` lRhj& iR@ ! A  @(*@ $@ )@)4!BhOB* @{è#_ֱ?#{O 8@ؘRr?q94*@ @( 4!BC4*@@ qT!B2AR*5* 5h6@ @y? qcT@9Rc* @y?qcTq@xݗRZqhZyT 4*@@4!@@h5Rh**OA{¨#_aR*5 4!Bh6@* ) @9j9 @9j9 @9j9 @9j9 @9j9 }@9j9 y@9j9 u@9j9 q@9j9 m@9j9 i@9j9 e@9j9 a@9j9 ]@9j9 Y@9j9 U@9j9 Q@9j9 M@9j9 I@9j 9 E@9j9 A@9j9 =@9j9 9@9j9 5@9j9 1@9j"9 -@9j&9 )@9j*9 %@9j.9 !@9j29 @9j69 @9j:9 @9j>9 @9j @9jB9 @9jF9 @9jJ9 @9jN9 @9jR9 @9jV9 @9jZ9 @9j^9 @9jb9 @9jf9 @9jj9 @9jn9 @9jr9 @9jv9 @9jz9 J@9&h~9ih.~?#{ O0@ @jRjRBRa6@b2@`@H@ykTa6@(@945h6@@9qHOB @{è#_Qt4h6@@9qT?707h2@jRjRBRu"@a6@b2@`@H@yq Ta6@(@94@4?#{ O0@ @jRjRBRa6@b2@`@H@yqTa6@(@94Q44h6@*97h2@jRjRBRu"@a6@b2@`@H@yq`Ta6@(@94h6@@yqTqࣟZOB @{è#_C?#{ O(@ @@)1@9q?q @zAT?q Ez!T^`5*5a @R#R 5a@RCR`5a@RcR5a@RR5jRjRBR*@ )@I4! @h )@ 4!BOB @{è#_ ?#{ O*5R*4OB* @{è#_ֈ2@jRjRBR"@6@2@@H@yqT6@(@94!RR6@@9xqT* 5RR9*jRjRBR@@@4!BR?#{  @)@ Cz"T@4R5jRjRBR* @{¨#_!B?#{og_WO(@H***z7@~Ri2@jRjRBRK|"@q?1a6@b2@`@H@yqTa6@(@94h6@@9kT**@5@ B89T* @@5Tqe OEWD_CgBoA{ƨ#_ք!Bh6@@9?#{O 8@hR r?q94*@@4!B4*@@ qcT!B ` @RAR*5*4*OA{¨#_h6@ @y?qcT!@9Rc* @y?!qcT@yݗRZi2? qhZyT4*@@@4!@@5Rh*` @RaR*@5*5h6@ ) @9j9 @9j9 @9j9 @9j9 @9j9 @9j9 @9j9 @9j9 }@9j9 y@9j9 u@9j9 q@9j9 m@9j9 i@9j9 e@9j9 a@9j9 ]@9j9 Y@9j9 U@9j 9 Q@9j9 M@9j9 I@9j9 E@9j9 A@9j9 =@9j"9 9@9j&9 5@9j*9 1@9j.9 -@9j29 )@9j69 %@9j:9 !@9j>9 )@j @9jB9 @9jF9 @9jJ9 @9jN9 @9jR9 @9jV9 @9jZ9 @9j^9 @9jb9 @9jf9 @9jj9 @9jn9 @9jr9 @9jv9 @9jz9 J@9&h~9ih.Y!B~?#{O @5` @R` @RQt4h6@@9qT?707Q5h6@@9qHOA{¨#_` @R?#{O @}h6@97wqAT@ )@4c"@!B ` @R` @ROA{¨#_C?#{WO(@@@1@9qTq @zT@@(4!s2q T*5h*@ q T` @RR* 5zq%` @R` @R` @R**` 5h6@@9DqT HRbRCR*h @0* 5@bRcR*(* 5@bRR* * 5@BRR$R*`@`4t"@` @R` @Rh6@@9U5qAT/@ @4!B@@5*OBWA{è#_!B#Ru5hB94*@@5qT@`@4!RR`rarBRR*!B**q,T ?#{ O*@5*@ q T @RR*5n @R @Rb @RR*4OB* @{è#_6@@9xqT @RRR*6@@9PqTbRR$Rh**@@@4!BR*@@(4!BR?#{ c5` @RR5RR`rarBR* @{¨#_?#{_WO0@ @4@89` @R 4@@H4bF`@H@yqTh6@@9h4OCWB_A{Ĩ#_?#{og_WO(@C@**Y)_8@KRq2` @R**5 C_6_@4Th6@@9 7qT (@( i@J@) iiT ( )@ bT (` @R` @Rh6@@9@k!T_C<@4(TDUR;R` @R**eh6@{@9H'6q Th@qhTRRBRU@@(4h@JRi6@!BFK'@9***@@5Tqe @@ qbTRR`rarBR*OGWF_EgDoC{B#_@!Bh6@@9!B?#{ @(@BzT{#_ kj @()@tmRH|țJ@M rJӌ@!( Ț)CJ}R)}˛Ff#DC}˛}Dgfw_G?##_ug.e?# !#_=?#{og_WO@kH<@z!TOEWD_CgBoA{ƨ#_*Y<@C{CBT?T"TqT qTqT@@@@4bk|8@@@@ qTbk|8@@ @ qTbk|8qT qTqT@@@H4 h8@@`@ qT h8@@ @ qT h8=?#{_WO@kH<@zTOCWB_A{Ĩ#_*W<@ @@CzbTTqT q`TqT@@4@9@@ qcT@9@9?#{og_WO A8 C R_+_ T@B@HB4!>@!RR@!RR @ R4*@`@5&@).A)6B)RW#( rJ .C)  6D)R  &E)j J 6F)J  *G)) ) 6H)) ) *I) k 6J)k j .K)I ) 6L)  2M)j J I 6N)) 2O))   6P)J J .Q)I jP) )  Jg)@@ qT!5@ )) 1A) 9B)I k  ) 5C) 1D))  5E)k j -F))  5G) j -H)J ) )I) k 5Cj 9D# 6 5A: 9B[) !@6@@:"@ q" T! 5@ R** ?r!0 J!_'l-\) i ATJ( >RZ @@@ q+T@!z5S+R+@@ q"-T_0R[3Ri@HIyT*/@v"@"4!S"!'!R*d! R*(i*)B*,b+~  )!  + aTh  TKE@)?h Ti@Tj'~ kj8* *4j ) kj8 4i ki8 @H !CѦc> 4 R^CѦc4 !*yRRC#_#__  @ARHRr 9q(@(TT_#T_@R @ARTRH#T_@R @AR|9TRrHT_@R6w@)i@Ch@')i@h@)h@_R_rkT_R_rkATC^4@@ @4B)C)!*3:@@@@(4!@@C)@@@@@   @?+T qT!B9(5<@4!3 ` q"TB94*sz4@`@5A8C_ T*OIWH_GgFoE{D#_!*!>R*!@B95@@_'rq?rk@TE0?RR`rarBRA8R*s! ?#{og_WOCyR@y@*@ R@01 RHihy_T**(I*)B*,.~ * )!  + aTh  TKE@)?h TI@TJ'~+hj8* *4J ) *hj8 4I )hi8 `#h@˨@ @ R4*`@@5 @(@(*\@*4e4`@@h5 \(@(9q`T@QqlT@9/6e5@!@@*@!@*`@@h5*OFWE_DgCoB{A#_ք@!@*L~?#{ O*=R!BCRUR`"!BCRhB`!BhJhNut`!B!RR@@`!RR`c?`TOB @{è#_`@!*=a?#{og_W O CA8 *C@9A8 *z4@_q*T:R 77*"R77|7hJ@6#@( #@a@ Ո8ix C)e})ki(%Țh66@4_q! T@h@ R 9h@9h@y 5h@ R@9 j! T#?6@y@9J*z5th@A R 9#@9i@(9(@yi@(yhn@6h@ @9)2 9!@#@y @**@_QrQlrk@TE0? @5h@@9 RjTh@@976h@ 9i6@y@9*V|4S`@!W`@!B*h@@9?6`@!B*!Ԃ8ix C)e})ki(%Țh6@H@HH @HT@ @c*`@!h@_1ƌrrk@TE0?@)? qTHRh`@!**A8C_ aT*OJWI_HgGoF{E#_+A ?##_֬y?#{ h@5 @{¨#_hR@(hV@hZ@h^@hhb@(hf@`@`@`@`@!*`@!@ݏDX?#{O( @9qTh"@9bT J**OA{¨#_@!c@B@*ݏDX?#{ W O CA8C"!B"@9(R?q (T"@9Th J?TtN@uB6vNS`!R"R*A8C_ T*OKWJ{I#_`@!@B@*1f?#`R1)#_` }_)~ } Ȫ5#_1f?#{O hbR)hbIR1)`!R"ROA{¨#_hbR }_J) } ȫ5hb }_) } Ȫ51f?#{O hbR)hbIR1)`!R"ROA{¨#_hbR }_J) } ȫ5hb }_) } Ȫ51f?#`IR)#_`IR }_J) } ȫ5#_1f?#{ `)R1)!R"R{#_` }_)@ } Ȫ5rJN?#{O*a>@@"R*yy`OA{¨#_֞?#{ @ @{¨#_Je?#{ WO( @9qHTRR@@h@h5"@9ThQ@TuN@vB6tNV`!R"R*u* @OCWB{Ĩ#_U`@!B*@*1f?#{ `!R"R @{¨#_1f?#{ W O CA8C"!B(R tN@uBHRh6vNS`!R"RA8C_ TOKWJ{I#_?#{ WOIt@a@  )8 Jii C)e}Iii(%Țh66`T Rt4*hn@OCWB @{Ĩ#_! )8 Jii C)e}Iii(%Ț6A8@* @`T @(?#{og_WOA8CC*$RRi[@Kt"u+ )R7C)_9*ch@R\R 9h@yA8W `@!hn@SqT(Rh9hn@H7hb<`@5`@@5h@_1ƌrrk@TE0?Rhb(7*R"Rhb?Hj{7:ib1(}_ <* ȫ5;4 7`@49@qTBR}@ahbR1)(cz@CAGAb@T@6TybTa [*c@@  )8 J\Rii C)e}Iii @(%Țh66:5h@R@9 q Th@_1ƌrrk@TE0?R`@!`@!*_/1T:!hb }_)~ } Ȫ5 )8 J\Rii C)e}Iii @(%Ț6@*@ @T@ @(ib1(}_ <* ȫ5;6ghb }_)< } Ȫ5Z*h@@9RH q!T9A8C_ !T*OEWD_CgBoA{ƨ#_`@! ?#{g_WOR @**:(9_q@9@yThN:Q@ @* @_rrk@TE0?ր@@y**X5 *9R5h@ R@9x qT@9kT@yqZ 6kT97:hb)RH6h@_1ƌrrk@TE0?ֹ7 @* @_QrQlrk@TE0?*ODWC_BgA{Ũ#_`@!BRh@@y`@>!Bh@96ib*R1(}_ *+ Ȭ5;h7H?#{  @{¨#_l`[?#{O5 )9R "9b9hOA{¨#_֐ ?#{ @` @{¨#_m?#*#_ֵ@?#տ#_֜8P?#{O*RR@*4OA{¨#_r/b?#{ g_WO4OEWD_CgB @{ƨ#_a@y? qTw@@yA!TdI9@y5q`T q Tx5*b@9H4@9@9b@9bT@ iu8?kT9@%@@* QqT@9@b9b@9 RR} b@94Z@)@9@(i88@@9  9a??qT_bT@ @";b@99c?T{@Ic@J@  !A9r/b?#{  @{¨#_ ?#{ O_85*RR@`R5@iRa` `5qh8OB @{è#_hHa?#_8#_:~_b?#{WO*6@9RR@R 5)Rh@Irѡ9 95OBWA{è#_+A?#{WO A8C!B#!RRv@9@ R`5IR@)r#с9 j&5`&@`@9A8C_ TOIWH{G#_** +*?#{@{#_֚JQ?#{@{#_ž,?#{@{#_YvU?#{@{#_"?#{@{#_N ͊?#{@{#_֦` ?#{O*RR@*4OA{¨#_^c?#{  @{¨#_,-?# @( @#_hHa?#{ORR@!R4`@iR`aB 9OA{¨#_|㍵?#{ hR )! 9 cp|**h @{¨#_:?#{Oa_8OA{¨#_wg?#{ `@ @{¨#_m?#*#_ֵ@?#տ#_֜8P?#{O*RR@*4OA{¨#_r/b?#{ WOb5h@yH4a@i@y(@8)Qq!T@"D)6=J _kT@"=@"@ &D)  k"@T@OCWB @{Ĩ#_h5(=qHT****(5*1(@y5@}@**=`@~@RV)Ry9@ T@qT* y**- _8 %@8k  aT _T ) *@8k Tu=R@y*R@ykaT(R9~Ah@9&Ryr/b?#{  @{¨#_?#{WO@9 ) J*qARR@ ARVR4 @`b 9@9OBWA{è#_+A?#{O3@4R ) Z*OA{¨#_YvU?#{ @@ B97 @8@@)ID)@yA( @qTAR@9rh07AR,@T#R*"R*`!R"R @{¨#_YvU?#{ @$Rb @$R @{¨#_` @$)'?#{ `* @{¨#_hHa?#{O!B`"!Ba@B`a@` `$Rb@4Rb@$R b@$R`b@R*  !R"R`@OA{¨#_YvU?#{ !R"R`@ @{¨#_f?#{OCA8C @9@B)@ @ ) @0_q%r3rk@T E0 ?HR DR99A8C@ TOC{A@#_f?#{OCA8C @BR99@B`4*@ @ @@9_QǏrKrk@TE0?A8C@ TOB{A#_U?#{B!{#_r?#{CA8C@ y @(!@_Qr#rk@TE0? 7 @y!*A8C@ T{A@#_րU?#{B!{#_r?#C{#A8C@ @H%@#_ rYrk@TE0?@7!#R*A8C_ T{C#@C#_րf?#{OCA8C @BR99@B4A8C@ TOB{A#_@95Bq`f?#{OCA8C @9@B @@_ rQ0rk@TE0?HR DR99A8C@ TOC{A@#_f?#{OCA8C @BR99@B`4@@9@?q_rxrk@TE0?A8C@ TOB{A#_f?#{+WOA8C @Cx9@B@@_Q3rQ)rk@TE0?<rCx T" T @3@_QarqErk@TE0?C_x"RRA8@9(7@i6hxh" )?cT~ 7B;5  RCH5@) 8*@* ? ?H57B`Hf 3B;h5  RChH5( 8@ @ ?( ?hH53BC_x>@1B97R@@_Q3rQ)rk@TE0?<rCxT#*#"R@@_Q3rQ)rk@TE0?<rCx!TA8C_ TOGWF{D+@#_#C_x`>@T@7@7RR?#{  @9@B(@a?@T_1rrk@TE0?h@@_Xrѓrk@TE0?* @{¨#_U?#{ O( @*9@B"B@h@BH@_1ˎrrk@TE0?** @OB{è#_U?#{O( @*9@B"BOA*{¨#_f?#{OCA8C @9@B@@_%ržrk@TE0?@A8C@ TOC{A@#_f?#{OCA8C @BR99@B`4@@9$@zT4 @_ rQ0rk@TE0?A8C@ aTOB{A#_f?#{CA8CBR`4@A8C@ T{A@#_F8 RF R RFնF8h RFh Rh RFm?#*#_ֵ@?#տ#_֜8P?#{ *Rh>@A@yy @{¨#_r/b?#{ g_WO4@y4v@ja8_!k!T!aT*@@A9i@qT}RBR@K % A}@(@I@})?kÉHh@y  @J@`@(II*B@5iHB Q}ɛ RB @TOEWD_CgB @{ƨ#_@@ @Kj@ ? j!I J@! Ț@ _ i!) @" Ț)@ _ i!) # Ț@I@@h*!"RR$R*9R}r/b?#{  .@y_q*,@M@o@#Ba(5iHB Q}ɛ RB  @{¨#_y?#{!{#_1f?#{!{#_֬ ?##_#)?#{ O@*@@*_q]rrk@TE0?֨AOB* @{è#_jw?#{WO@V*U@@**_r7rk@TE0?ȎAhOB*WA{è#_i?#{ WO@*@@*_qȝrߤrk@TE0?AHOC*WB @{Ĩ#_L?#{WOA8*C XR$@ aT:@@ ) #~@A RA*@:@@ )!#A8C_ TOFWE{D#_G7`6L?#{g_WOA8C* 8@ @ ) v>@qBTY`iB@i@(sCq3Q* @R =ucYI̿I(} R,rA +) @:@@ )!@ @*$RTA8C_ ATOFWE_DgC{B#_@*q?#{+WOA8*C* XR$@ T:@@ ) #~@Q`RA*P:@@ )!#29A8C_ TOGWF{D+@#_hG76q?#{g_WOA8C** 8@ @ ) w>@qTY`iB@i@HsCq3* @R =ucYI̿I(}R,rA +) P:@@ )!@ @*$Rv39tA8C_ aTOGWF_EgD{B@#_@*C&?#{_WOA8*C XR$@ T:@@ ) #@aRA*`:@@ )!@9#29@969@yy@9B9@9F9@y&yA8C_ TOGWF_E{D#_(G76C&?#{og_WOA8C* 8@ @ ) x>@q TY`iB@i@(Cq3Q*  @R =ucYI̿I(} R,rA +) `:@@ )!@9@* @h39$R@9h79@yhy@9hC9@9hG9@yth'yA8C_ aTOGWF_EgDoC{B#_@*L?#{*{#_֗q?#{*B@{#_C&?#{*{#_Oo?#{WOPqAT@y`BB )Rt !OBWA{è#_Oo?#{ WOPqT@y`B@B2@9 )Rt !*OCWB @{Ĩ#_Oo?#{OCPqT@y )R2@9t 6@9!@yB@9F@9&@y@ OC{A@#_ű6?#{!{#_ g@?#{{#_$$$parmtype=flash_on_probe:boolparm=flash_on_probe:Flash during the module probeparmtype=spi_speed_hz:intparm=spi_speed_hz:SPI speed (if not set use DTS's one)parmtype=fwname:charpparm=fwname:Use fwname as firmware binary to flash QM35parmtype=wake_use_wakeup:boolparm=wake_use_wakeup:Use wakeup pin to wake up QM35parmtype=wake_use_csn:boolparm=wake_use_csn:Use HSSPI CSn pin to wake up QM35parmtype=wake_on_ssirq:boolparm=wake_on_ssirq:Allow QM35 to wakeup the platform using ss_irqparmtype=trace_spi_xfers:intparm=trace_spi_xfers:Trace all the SPI transfersparmtype=qmrom_retries:intparm=qmrom_retries:QMROM retriesparmtype=flashing_retries:intparm=flashing_retries:Flashing retriesparmtype=reset_on_error:intparm=reset_on_error:Reset the QM35 on successive errorsparmtype=log_qm_traces:intparm=log_qm_traces:Logs the QM35 traces in the kernel messagesparmtype=fu_spi_speed_hz:intparm=fu_spi_speed_hz:FW updater SPI speedparmtype=qmrom_spi_speed_hz:intparm=qmrom_spi_speed_hz:FW updater SPI speedauthor=Qorvo US, Inc.description=QM35 SPI device interfacelicense=GPLversion=7.2.9-rc1vermagic=6.1.75-android14-11-g48b922851ac5-ab12157876 SMP preempt mod_unload modversions aarch64name=qm35scmversion=g63c8fd66fd45depends=alias=of:N*T*Cqorvo,qm35alias=of:N*T*Cqorvo,qm35C*srcversion=D62BB02585D1BEE408DEE43hsspi_get_workhsspi_is_txrx_waitinghsspi_spi_xferLinuxLinuxqm35 enable_irq!'disable_irq_nosyncdHalt_cb_patch_nops]"_raw_spin_lock_irqsave:_raw_spin_unlock_irqrestorey gpiod_set_value ]usleep_range_statemsleep;u__spi_register_driver0Xdriver_unregisterspi_setup#]devm_kmalloc)R__raw_spin_lock_initoa__init_waitqueue_head.devm_gpiod_get_optionalӨCdevm_regulator_get_optionalA_dev_err:s_dev_notice#.YQmisc_registerz)_dev_warnjؽ_dev_info~misc_deregistertP6devm_gpiod_getVfgpiod_to_irq?7devm_request_threaded_irqo<disable_irq@(irq_set_irq_wakeVvgpiod_get_value_raw_spin_lockt_raw_spin_unlockhregulator_enablep*regulator_disable~_printkғ__stack_chk_failHۈ__check_object_sizexp __might_faulttrace_hardirqs_on__arch_copy_to_userR? Kgic_nonsecure_priorities.=trace_hardirqs_off+ycpu_hwcaps$8__init_swait_queue_head +__arch_copy_from_userrwait_for_completiondmemsetB__wake_upe?ktime_get=;param_ops_boolNXparam_ops_intZparam_ops_charpJEIplatform_device_registerUjdevm_kfreee>platform_device_unregister{f8emutex_lock_nestedmutex_unlockE:#__kmalloc~)Hmemcpyh˽__mutex_init zkfreeh__list_add_validN&mspi_syncgY|print_hex_dumprnrequest_firmwarerelease_firmware__msecs_to_jiffiesj__might_sleepuyHinit_wait_entryM΂prepare_to_wait_eventݍschedule_timeout"9finish_waitkmalloc_cachesɡkmalloc_trace&kthread_create_on_nodea!wake_up_processӬcpu_numberNY__cpu_online_maskndkthread_should_stopQscheduleUrS__list_del_entry_validVmrcu_is_watchingAcompleteMJpreempt_schedule_notraceHPkthread_stop*krealloc`Ϙstrlenfortify_panic4Kinit_timer_key$del_timer_syncPjiffiesQ&mod_timerdebugfs_create_dir)1debugfs_create_file$__fsnotify_parentκhfsnotifyrLdebugfs_remove΁simple_read_from_bufferYkstrtou8_from_userfsingle_openseq_printf$Jp~kstrtoint_from_user·yseq_lseekseq_readOsingle_release' 2ktime_get_secondsGDtrace_event_buffer_reservestrcpyc[trace_event_buffer_commitL__trace_trigger_soft_disabledUdebug_smp_processor_id(__per_cpu_offset/,-perf_trace_buf_allocF`perf_trace_run_bpf_submitqbpf_trace_run2^Ÿbpf_trace_run3Tbpf_trace_run4g=trace_raw_output_prep-\trace_print_symbols_seq$trace_event_printf(strace_handle_return}trace_event_reg5trace_event_raw_initemodule_layoutGNU#tQl%[BeGNU$, h"p#"# & ',(<)H(P&`'*   ""@HT2X3\3l456ssHH67HHXX8  9  :,~ 0~ <:LPPP\:l*!p*!|:$$;<=>?$@<ATBhC|C*DDEFG<HIP3TXdJl p t x K  ~ ~ K  PPK  *!*!KL (M4N@: D: LOT X `PdhpPJQ"#D DEF$G,<4H<RDIXY!\Y!dPbbST  U V(,4SLTdhlpUW--009T < < + +( U8 XD YH L X  \  d St x    S ^ ^ J 3 3   J 4! 4! J k k J, 30 34 8 @ J\  `   > > 5 5 Z [ \ ] \ ] \ ]8 \@ ]X )x )| ) F F J ) )   J ) )   J ) )   JH &\ 'h ^p t _x ` a a _ ` b   c   P   P 3 3 P 7 7, P4 X 8 X @ PH  P "T "X  l d e   P T T J # & '0flgh  ij0kxjlnnooooTDXD\h`hpqh  iTjhrjstlDn`nxufoooo v  inj$kTn|ji"#,&@'L(\)h(p&'"#*   iPn|jknj nLjnj"#,&@'L(`)l(t&'* Joo(o,od*x   in j4kdnjoooooo oo,o0o<o@oCD,(04D(XZh[|wxZ[#y@HX(\`p(zz&'()(& '$)TY`dt(x|({J |} }4~<|T6 X6 lO33~   }$ w( w4 J< }H  L  X J   e ~ } J < < J!! !J!}$!M(!M4!J\!3h!3t!|!e!~!!!!!}!w!w!J!}!M!M"J("|0"<"a"f"""#(#0# $I$I%%%5%I%I% % %%%%$&X&p&&&8'|''' ()()l)|)))M)M)x)x)*@*D***+0+4+<+D+H+L+P+p+t+y!x+y!++f++L,`,,,-f4-&H-'T-(d-)p-(x-&-'--.M.M.O.W.W. .,.0.<.PL.h.Ml.Mt.Ox.g|.g. . ...P.././.P..F.F.J0/fD//&/X/'// / // 0 0D0X0|00X0f0X00<1X|11 1 1111 2 2(2XP2\22Z2Z2K 2K 2J222K 2K 2J2ft33u3,4l4444`4`44`45,50585<5D5H5L5P5X5Jd5p5|5555555555J555555566 6$6(6JX6d6l666666666)7)7(7,74787@7D7H7L7T7Jh7)7<88849H9t999999:::' :':JP:T:X:\:|: : :::J:::;; ;t;t; ;(;0;4;<;3@;3D;H;L;J;;;;;;;;S ;S ;J;f,<0<8<<<D<k H<k P<JX<\<`<d<t<|<<<<<<<<<<J<8<8<<=D=L=P=X=\=`=Bd=Bh=J=D=D=f=f=J==== >,>4>78>7<>3@>3H>Jh>t>|>q>q>>>>>3>3>J>8?8?`?l?t?x?|?3?3?J???3?3?J???3?3?P?4@8@<@@@`@d@h@S l@S p@J@@@@@D@D@f@f@J@A AAAk Ak (AJA8A8ABBBBB B$BB(BB,BJBBeBBBBB3B3BHBHBJBBBBBBBHCHCPCCCCCCCCCCCC DDDHDHDJ,DH0DHElIElIEJEJ F)(FtFF)FF(G)DGG)GGGtHH)HHIIIII$I,I0I8ISADEFGHIJKLMPQRSVWXYZ[\]^_`abef)- (H`p% 8P h0/Td P0080@H0/PX`hxxx0/x` (@H -X0/-+@"*D('x%#" 0.i-y +*" (& s%# t"m0 S{H%X=$h  ,R.O-+)  ` $0T <hA78r(4&8Y%$#n"0S0H#.<5-L#g+H)P#X(T&T#?%`#X#T"l90\#{.x,<9+)`#'(&d#%}#h#:"0l#a.,p#+)t# (}&$c#x# "0|#G.,+l)#'E&#$3#!$/ .$ehg,*<)'#&y$#" !#/,-#-,8*#)D['#%PB$t"\k!#h/h-#+tI*#(,'#%$#"W!#0 .4|-+#*(# '0%P#"#0.#[hb-+0(|*$((&f%#{"#f0.#H-t+#)@e(&L%##a"#L0.#.-(Z+#)4K(0&@2%##LG"#20Xn.#,P,+D)d(#&p%#v#|-"#0T.#,+)(v&$,\#"$/:.$,*$e)`'@>&$ $&#!$/-$Z,*$/) '&r$$"$! $/0-$$&,p*(<T'($%H;$,$"Td!0$a/`-4$+lB*(x%'8$%$<$"P!@$0.u-+D$*(H$'y%L$#"P$0.\[-+`)x(T$&_%X$#t"\$_0.tA-m+`$)^(d$&E%h$# Z"l$E0,.'-8S+)DD(p$&P+%t$#\@"x$+0g.,h%+|$)t($&$$o#&"$0M.@, +$x)'$o&$$U# "T/3.$,*$^)'$7&$$(#!Z,/-S,*()'&k$",!0/-,8{*<"t("M'"%4$"#D"#]!# !Z/!H#-(+';*Q&25W# (($O9#i78d#KP(!/8k#(x(.m, 4^{# w(*@B)[4#('&B#($# 16 #P (!;/V!f # @(-w3,' #0 h(* )8 # (a'%+?#(H$j"*N#m(w! n/-+'O* % (2'&%: $F$ $,+"/$-$+$"*$(\%'`%%&# &"I*"/4&-8&+&"*&('' '%'#'"H)0L).)i-)Wx+***(x'MU-"/$*-(*+8*"*<*S(P*'T*%+#+"+0+. -i--+-*-(4/&8/s%T/#X/"0m00.0O-0+0)0r(&l1Y%#)"/ 3-$3+3"*3(4'4%D4#H4"860<6.6i-6+""/7-7+7"*7(L8'P8%8#8"\90`9.9i-9+:*:(:&:s%;#;"=m0=.?O-@+x@)|@r(XA&\AY%g+"/TB-XBEFHPAlI@J+H"*Hw