你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】IAR_STM32_BootLoader

[复制链接]
STMCU小助手 发布时间:2022-1-23 16:34
  1.STM32 Bootloader与APP
  IROM中可以分成两个区域,起始代码运行地址为0x08000000,这是基本固定的,可以将IROM的0x08000000 ~ 0x08002000这8KB的空间存放Bootloader代码,而0x08002000 ~ 上限的位置存放APP代码。
  需要实现两个工程,分别为bootloader工程与app工程。

5 T6 M$ g; ]8 ^
  1.1 先说bootloader工程,以IAR为例
  建立基本stm32工程需要的工程文件等,工程的建立这里不去说明,有了工程后,需要将该工程代码的链接地址配置为0x08000000 ~ 0x08002000,对于IAR可以在icf文件中进行修改参数达到效果,也可在工程配置中修改达到效果,中断向量表的地址为程序运行起始地址就行。
  1.1.1 在icf中修改链接地址,__ICFEDIT_intvec_start__是中断向量表位置,按照上面说的bootloader地址范围,这里要填起始地址0x08000000,__ICFEDIT_region_ROM_start和__ICFEDIT_region_ROM_end__是配置这部分bootloader代码在IROM中的位置,根据上面说的划分区域,这里start应是0x08000000、end应是0x08002000,后面的RAM_Start与RAM_end是内存的起始地址与结束地址,IROM和RAM的范围应该能根据实际芯片手册去划分修改。修改后到时编译好程序,链接脚本就会将程序链接到对应IROM中。
  直接通过icf文件修改,其实就是一个链接脚本
0 Z! I* D' A, T- H
1468469-20180829144642456-585152571.png

2 z* m$ g* Z; m, A# R" ~
  直接通过工程修改,Vector Table是设置向量表的位置

3 V, O- Q/ T# H; h
1468469-20180829150400969-1520660678.png
4 ~  h& e# t2 |! p: h. w* K
  1.1.2 之后就可以开始撸起bootloader代码了,看你的需求是什么,普遍bootloader的需求都是起到一个搬运工的作用,当发现有app的升级文件需要升级时,从一个存放的介质中搬运到IROM中对应的APP代码位置,然后跳转到APP代码位置进行运行。
先贴代码
  头文件
  1. #ifndef __TOTOAL_H__
    7 `% [$ Z1 v9 ^! [& z5 j
  2. #define __TOTOAL_H__+ M9 W# R5 h. r9 H" A
  3. ; o( R. k9 ~5 s% i; L& Y( |# |
  4. #include <stdio.h>0 B3 _: {# F6 m( |
  5. #include <string.h>5 b+ A6 j0 a" G! ]/ |3 u
  6. #include <stdlib.h>
    ( u- @2 {! S% g5 ]% |: J2 o* K5 J
  7. . |% ?( _3 a2 D, O3 `
  8. + R' C6 I# e4 n$ S
  9. /****************ST*********************/
    ; N! o0 D  E2 J* c' l9 V
  10. #include "stm32l1xx.h"
    # l" {: n1 c9 D, b
  11. #include "misc.h"6 I7 x: m2 e4 ]* z
  12. #include "stm32l1xx_flash.h"
    7 s! [3 _7 R) f4 s  {
  13. #include "stm32l1xx_usart.h"/ T0 z+ w3 b9 s3 |2 \& T- i! o. \
  14. #include "stm32l1xx_gpio.h"
    : ]- y( j7 u% @8 z3 |3 U
  15. #include "stm32l1xx_rcc.h"
    # R. v6 C4 f. m# {! w
  16. #include "stm32l1xx_syscfg.h"7 S4 ~  ^8 z4 V
  17. /**************************************/5 b( g/ ?9 w5 W; s- ^; p- D

  18. - J9 a& g9 T% |+ o( [: V( T- R( P" `

  19. 7 F4 D) C5 [0 i- s
  20. /*****************SELF********************/
    3 R  j2 {4 X( ~' G6 k) z' [5 z
  21. #include "bsp.h"
      M9 g+ c3 y4 [: t5 J  j9 P
  22. #include "spi.h"
    ) T; p, x) i1 Z9 J( d* `1 p
  23. #include "flash.h"
    ' P$ z9 d+ n8 I7 j3 `9 v, p
  24. #include "USART.h"8 R6 h6 @; S0 u( I+ U
  25. /***************************************/, d( x; e% l4 X4 R2 P& S

  26. # _' q# c6 D0 [* I* O6 ~. z: P" W, D
  27. #define CONFIG_RELASE  0% A) K$ a: B$ V7 D+ J

  28. ' w- ?, \& c% c: b0 I2 X3 q7 j, u
  29. #if (CONFIG_RELASE == 0)4 x* p- }" I9 z' Y$ g! }% }
  30.   #define Debug(fmt,arg...) printf(fmt,##arg)
    6 P! [+ N7 U0 ~0 ?8 Q5 |' K
  31. #else
    % v6 T9 S" ^' S, q; F% i$ N
  32.   #define Debug(fmt,arg...)' |3 T' ]7 O4 d/ I  X9 d
  33. #endif. O' d; \. `4 W! c0 g9 x
  34. - e3 d# ~6 J( J9 |2 b
  35. #define u8 unsigned char8 R- l) C" `8 h9 y$ s' W. d& }
  36. #define u16 unsigned short; E/ T% [  B$ l: q
  37. #define u32 unsigned int) e3 M4 {' V( e  V# {: r

  38. , s& q- ]1 Q" Z/ _
  39. #define SPIFLASHBUF_MAX_LEN             (4096)  //spi flash最大缓冲
    % @, T8 }5 U! B

  40. . Q- X* ~4 |+ |: c% L) ?
  41. #define APPLICATIONADDRESS                  (0x08002000)9 ^( @4 L5 c& b# z

  42. 0 C" g! s* C/ d! x8 y
  43.   C+ U4 ~% \% [1 U& r
  44. extern unsigned char SPI_FLASH_BUF[];    //Spi Flash使用的临时缓冲
    ; s( J8 m2 l3 n5 L) @

  45. : T4 Y) z- {; w
  46. #endif //__TOTOAL_H__
复制代码
  p* A7 A- Z# k. I! f

  k$ ~% u& P% S, ~
  C文件
  1. #include "total.h"
    & k3 l! f; {$ s
  2. ; Z) e3 t+ A4 ^9 L5 i( l6 Y

  3. : j. W) P3 s5 X! A- R! ]3 z1 z
  4. unsigned char SPI_FLASH_BUF[4096];    //Spi Flash使用的临时缓冲
    . z4 n8 F7 U% _9 v2 W% s8 G1 Z
  5. ! d1 _9 V- u3 R  \, l

  6. 2 w; f+ G& k" u& U$ `( P. U
  7. typedef  void (*pFunction)(void);
    # w" o. [6 v: W
  8. pFunction Jump_To_Application;/ i6 @, M) t9 a& L9 ?: O
  9. unsigned int JumpAddress;% _* O# X, I# ^9 `. U

  10. 0 Z/ w0 [: H! p/ x. r. u

  11. 5 o- h& ]9 c3 f, |2 R) |$ `
  12. extern int LoopCount;( n6 v, [5 q( l$ J9 R/ @4 H
  13. / h8 _. ~- g3 m! V. d9 }* Z- P
  14. /*************************************5 {3 ~7 p  C: J0 B% C
  15. *1 f5 \- U6 T4 x0 t) d! {5 K; q
  16. * Funciton Name : System_Initializes8 i; K! f5 W, }4 X
  17. * Function      :8 |9 w" Z& N: K
  18. *
    * o; X( {+ p& f6 F2 v
  19. *************************************/& L9 [) n6 F- X  P; r/ q# s
  20. void System_Initializes(void)
    % [  d& X# g! L( f7 \. p* g
  21. {
    ' h' k1 c& X0 H3 V. x3 [! `( C
  22.     unsigned int UpdateFileLogo = 0;; {/ S9 |( d+ F& x! \) ^$ x! S
  23.     unsigned int WriteUpdateFileLogo = 0x00000000;
    0 l' g  a9 R3 b8 _7 v
  24. 7 ?2 U( |( L" L4 D+ u8 V2 F7 {2 c
  25.     memset(SPI_FLASH_BUF, 0, sizeof(SPI_FLASH_BUF));9 I2 R; ?  ?$ ]8 q3 O- F( g

  26. ) X* K1 u& V# s! Y$ u) E( ]- w
  27.     BSP_Initializes();( ?6 |. X. G4 `* v' a
  28. $ l, C4 `' D. H! H
  29.     Debug("----[Boot]BootLoader Running... \r\n");9 w5 ?' q% L* B

  30. 8 ?* t" g$ b7 b" N* R
  31.     SysTick_Config(36000000 / 1000);. ?% O- W6 o2 P3 i, ~2 ?: K
  32. . F  v' t1 L- S. C, ~
  33.     // 读取外部flash有无升级文件需要更新
    4 s, a6 ~* m- {# I
  34.     SPI_Flash_Read((unsigned char *)&UpdateFileLogo, CONFIG_UPDATE_FILE_ADDR_LOGO, 4);& J. r# ^2 C$ ~3 E
  35. % q, u& E; |! ]) |
  36.     // 是否有未更新的升级文件在外部flash中6 R; v8 C  e6 c7 o
  37.     if ( UpdateFileLogo == 0x98765432 )
      d0 b' F- W  B1 [' O1 p
  38.     {
    ' G5 q4 @% Z4 O5 W
  39.         unsigned int i = 0;
    9 I' h3 R6 j# V# P
  40.         unsigned int FalshData = 0x0;
    ; U$ T4 T7 @; U* w

  41. 4 F8 B" G. f$ `- |. s4 k; G
  42.         FLASH_Unlock();
    ! x: d2 Q2 E. y# y- v
  43. ! C, ~! ]0 A3 u3 O5 w; `
  44.         //擦除内部app程序flash位置
    ; {& n/ ]# ^5 z& A: a9 j
  45.         for ( i = 0; i < 100; i++ )7 |: F6 a6 ?/ R
  46.         {
    . @7 I3 {& s( @$ x
  47.             FLASH_ErasePage(0x8002000 + (0x400 * i));   //1K 1K擦
    * \( ^. x  m& C: m! t3 a6 s) }
  48.         }$ T+ ^  I  L0 H& g) g

  49. 5 w, W& S3 ]3 ?# t  W
  50.         // 将外部flash存储升级文件的数据,复制到IROM中的APP区域,,升级包的校验什么的都应该去做处理计算 0x19000 100KB
    ; M8 k3 A7 H+ ]- o7 w% u
  51.         for ( i = 0; i < 0x19000 / 4; i++ )2 ?6 Q% Q9 q$ W) _; t: r1 h
  52.         {: _( p" Z1 a& N* E, N( K2 b
  53.             SPI_Flash_Read((unsigned char *)&FalshData, CONFIG_FLASH_SAVE_UPDATE_INDEX + i * 4, 4);
    * `$ g) o2 Z0 k1 G! k8 q
  54. # s6 G, O& B9 T* Y
  55.             FLASH_FastProgramWord(0x8002000 + i * 4, FalshData);5 q, X9 G8 p. x5 W
  56.         }
    # U6 e- X4 @& ?( t% ?7 ]! f; m

  57. 2 J" ^2 D. c0 r( V: \/ a7 R
  58.         FLASH_Lock();
    % G  _" j6 O7 r; D& O
  59. 5 M& V6 D3 |' k' a0 I# u, C- x
  60.         // 更新完毕,将外部flash代表有无未更新的升级标志变为无更新
    0 r' p: ?) W& }) ]4 Z
  61.         SPI_Flash_Write((unsigned char *)&WriteUpdateFileLogo, CONFIG_UPDATE_FILE_ADDR_LOGO, 4);
    " Y; Z  p8 ^$ t' W: R
  62. 2 K/ C6 _& X/ O4 |" Z) j) P; y; r
  63.         NVIC_SystemReset(); //复位2 G4 c( B) }/ C* f! j1 W) ~
  64.     }
    * b& M  o* }6 P$ I/ k/ y

  65. - h& j  I* e. ~$ [' W
  66.     while ( LoopCount > 0 );
    ' e6 @& P) W- P& n$ ?/ `! }
  67. 9 R8 b' d+ w' I* b
  68.     __disable_irq();
    9 O+ B2 U; I3 l* g! j8 C- P

  69. % i" d3 t- L+ S5 |1 J
  70.     /* Test if user code is programmed starting from address "ApplicationAddress" */9 Z6 ]4 r- _, R1 d0 s" B
  71.     if (((*(__IO uint32_t*)APPLICATIONADDRESS) & 0x2FFE0000 ) == 0x20000000)
    5 j& x' [6 M: b2 \) \3 m& ]. C& j
  72.     {
    7 P6 A' a5 Z, d6 Z  j# ]6 m  D) S
  73. ) X/ J, x' c% }) {1 u, X/ F
  74.       Debug("----[Boot]Jump_To_Application!!!\r\n");- H0 ]+ P/ ^" D0 O- E
  75. + R0 F. M6 U4 S1 z9 P' a9 y) O
  76.         /* Jump to user application */* B. C- U. j. v% F) `4 E
  77.       JumpAddress = *(__IO uint32_t*) (APPLICATIONADDRESS + 4);
    : B- ^  s) E/ f, ]; `$ [3 r
  78.       Jump_To_Application = (pFunction) JumpAddress;! J: x, i, R- F0 x. k7 H
  79.       /* Initialize user application's Stack Pointer */
    $ Z* q# n+ Q  Y) o2 b1 z
  80.       __set_MSP(*(__IO uint32_t*) APPLICATIONADDRESS);6 E' K+ s# O5 K7 e1 W- z/ d, H
  81.       Jump_To_Application();( `% C. U: Y' n2 p# x( s
  82.     }8 ]# X* B! S' H6 s
  83.     else( e' y3 Q$ |" z
  84.     {
    # e: c  x; r: g2 @7 S. k& V, }
  85.         Debug("----[Boot]APPLICATIONADDRESS is ERROR!!!\r\n");
    1 d( w* ~" Z$ _# n" T; @! E
  86.     }
    + q8 n8 [3 }7 `# G" \
  87. }+ P( p" Z1 \9 Z/ {
  88. $ D) L  r# @% T) A9 s* H
  89. int main(void)1 k3 Q* w5 T; Q2 i7 h& k
  90. {- P7 ^/ d1 w$ T- q9 N" N
  91.     System_Initializes();3 g$ ?, o- q4 b+ a9 D
  92. 6 V5 a! u* R* h5 ], W! h- \
  93. 6 U) {" i! V, D4 J- b
  94.     while (1);1 W" l& D7 }' G" j8 p7 w' p
  95. }
复制代码

) b, J- \/ p  Z3 ]' o8 \8 P: [/ A5 y; ?
  说明:主要就是判断介质中是否有升级文件需要升级,如果有则擦除IROM中APP代码对应的位置,然后将介质中的APP升级文件搬运到IROM中的APP位置去,没问题后,定义一个函数指针指向APP应用程序代码段的地址,就是链接地址0x08002000,然后调用函数指针直接到这个代码段运行,运行之前设置一下APP链接地址数的堆栈。栈顶设置为起始地址的前4个字节,函数指针指向的其实是这个起始地址的后4个字节,表示中断向量表的复位中断向量位置。所以起始地址+4,然后运行。
5 K3 m( B! E9 G' ?; Q' ]+ X8 j7 T
  1.2 APP工程,APP的工程搭建好后,同样的要修改链接位置,将程序代码链接到指定的位置去,同样的可以通过icf文件修改,也可以直接通过工程修改,这里就不在进行说明,IROM链接的起始地址为0x08002000,上限就是IROM的上限即可。配置好链接地址后,就可以撸起你的代码了,但如果想要让bootloader跳转到app能够成功,则必须在app代码的开始设置好中断向量的表偏移,因为app的代码是在0x08002000开始,所以中断向量表的位置设置为0x08002000即可。
  1. 1     /* 设置中断向量表位置 0x08002000 *// u9 {  Y5 a1 f% A1 C+ B2 M
  2. 2     NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
复制代码

3 @: A: \1 u  K2 D$ r$ b+ J6 O6 W
   如此就完成了bootloader与app工程。一般bootloader写好后是不需要重复的更改的,而只会该应用程序,可以将bootloader代码编译成bin文件,因为bin文件全都是数据,所以可以转换成一个数组,表示一个代码段,然后将这个数据放入到APP的工程中,将这个bootloader的数组指定到一个IROM的位置,这样就可以达到一次烧写两个工程的效果。
  如何将bootloader的数组指定到固定的IROM中,使用#pragma loation = 0Xxxxxxxxx  __root 就可以指定,我是这么指定的,指定到了0x08000000位置。同时APP的工程链接地址要为0x08002000,因为按照上面说的对IROM的划分,应该要如此划分。
  1. #pragma location = 0x08000000
    , w0 j  x) G* s) h' T' ?
  2. __root const unsigned char STM32L15_BootLoader[]={200,20,0,32,117,20,0,8,5,18,0,8,7,18,0,8,
    7 w" `+ W) m& ]8 A# p! G% M5 b% x
  3. 9,18,0,8,11,18,0,8,13,18,0,8,0,0,0,0,
    2 b7 @. J0 [# M' N! Y2 z; {! i  D* j
  4. 0,0,0,0,0,0,0,0,0,0,0,0,145,20,0,8,
    8 r, M3 O4 f) r& t
  5. 15,18,0,8,0,0,0,0,149,20,0,8,17,18,0,8,
    / D# J, s8 O) u" Y, I$ |/ \
  6. 153,20,0,8,157,20,0,8,161,20,0,8,209,18,0,8,& a0 u& y+ D7 F8 w
  7. 165,20,0,8,169,20,0,8,173,20,0,8,177,20,0,8,& V5 A4 P( I3 |! v. K2 I: ?. H- k
  8. 181,20,0,8,185,20,0,8,189,20,0,8,193,20,0,8,
    6 r. ]$ v+ F% o( Y  g
  9. 197,20,0,8,201,20,0,8,205,20,0,8,209,20,0,8,
    & ^1 A8 `9 ?2 W5 l+ P: t- ~5 Q# F
  10. 213,20,0,8,217,20,0,8,221,20,0,8,225,20,0,8,$ l' B# j( e+ M2 H( `* E4 I
  11. 229,20,0,8,233,20,0,8,237,20,0,8,241,20,0,8,) m# Q: g) G3 ~4 b+ r
  12. 245,20,0,8,249,20,0,8,253,20,0,8,1,21,0,8,
    * S7 v2 c( M6 w  S4 |5 V) J
  13. 5,21,0,8,205,18,0,8,9,21,0,8,13,21,0,8,0 ?/ ]9 z! `% Y6 d* r
  14. 17,21,0,8,21,21,0,8,25,21,0,8,29,21,0,8,% g' V$ A$ ?) S& t
  15. 33,21,0,8,37,21,0,8,41,21,0,8,45,21,0,8,
    + @4 Y, ^1 C2 n
  16. 207,18,0,8,49,21,0,8,53,21,0,8,57,21,0,8,
    ) n. A3 T( O$ D0 V' v0 n$ A8 q
  17. 61,21,0,8,56,181,0,36,79,244,128,81,223,248,204,2,
    7 l' l- a! j( D6 a/ N+ }& \
  18. 0,240,223,249,5,32,0,240,100,250,255,32,0,240,97,250,
    ) O+ E- W6 j6 E+ f6 \! @
  19. 5,0,79,244,128,81,223,248,180,2,0,240,208,249,40,0,. H5 M7 u4 |3 i* v+ ~
  20. 192,178,50,189,128,181,79,244,128,81,223,248,160,2,0,240,  ?. U1 Q0 f0 f6 x% O
  21. 200,249,6,32,0,240,77,250,79,244,128,81,223,248,140,2,8 F5 }& m5 p% c2 e
  22. 0,240,189,249,1,189,45,233,240,65,4,0,13,0,22,0,
    ! L1 }  u: z& h7 C7 Z6 j" I: u
  23. 0,39,79,244,128,81,223,248,116,2,0,240,178,249,3,32,7 X3 }7 e4 e& Z& ?, g# d  E; c
  24. 0,240,55,250,40,0,0,12,192,178,0,240,50,250,40,0,
    ' a' Y) ?8 w, o: q1 }
  25. 0,10,192,178,0,240,45,250,40,0,192,178,0,240,41,250,4 l& D9 g  k; f' B# ~  M9 X4 N
  26. 95,240,0,8,64,70,49,0,128,178,137,178,136,66,8,210,
    . b* Q( H9 l0 z. g% B
  27. 255,32,0,240,30,250,65,70,137,178,96,84,24,241,1,8,
    2 @8 ]* y, T$ V  I6 k5 K
  28. 240,231,79,244,128,81,223,248,36,2,0,240,136,249,189,232,
    / i3 d' L. I1 H& R) c) k2 U
  29. 240,129,248,181,4,0,13,0,22,0,255,247,179,255,79,244,. m  y0 _  y; H
  30. 128,81,130,72,0,240,125,249,2,32,0,240,2,250,40,0,! z  F, v% q( M3 s
  31. 0,12,192,178,0,240,253,249,40,0,0,10,192,178,0,240,
    # s; o$ S$ [% h- p; o+ ?5 V
  32. 248,249,40,0,192,178,0,240,244,249,0,39,56,0,49,0,
    / C! r$ V1 v& w% O' p' f
  33. 128,178,137,178,136,66,6,210,56,0,128,178,32,92,0,240,1 X5 |' o, V- H9 C; G" S/ H
  34. 232,249,127,28,242,231,79,244,128,81,112,72,0,240,87,249,
    1 K8 {$ \( }+ F) X( F# P% J
  35. 0,240,214,248,241,189,248,181,4,0,13,0,22,0,21,240,
      @# ?$ @. n  Z' f/ M2 y
  36. 255,7,215,245,128,119,56,0,49,0,128,178,137,178,136,66,
    7 b9 |0 {4 v/ s3 j6 l/ b: ?
  37. 0,211,55,0,58,0,146,178,41,0,32,0,255,247,185,255,
    8 c4 H& w  Z. ?1 |: f' Q+ o- g* |
  38. 48,0,57,0,128,178,137,178,136,66,18,208,56,0,128,178,
    2 K, V3 W- B3 ^
  39. 4,68,56,0,128,178,69,25,246,27,48,0,128,178,64,242,. O8 [* F. ?0 E; O; M) b# M* u
  40. 1,17,136,66,3,219,79,244,128,112,7,0,226,231,55,0,
    9 V% x8 s# F, G
  41. 224,231,241,189,45,233,240,71,4,0,13,0,22,0,47,0,
    * g+ w) T& y$ p8 Y- S
  42. 63,11,168,70,95,234,8,88,95,234,24,88,216,245,128,89,
    ! ^. T! C) b7 |0 l3 `* n$ g
  43. 72,70,49,0,128,178,137,178,136,66,0,211,177,70,79,244,  \& i4 k& c$ ?" G/ Z- D
  44. 128,82,79,244,128,81,1,251,7,241,73,72,255,247,75,255,
    7 o% [* ^/ J# I/ `, Q0 l& h
  45. 0,32,130,70,80,70,73,70,128,178,137,178,136,66,11,210,
    # ?0 G  ~/ t, b
  46. 67,73,66,70,146,178,80,70,128,178,130,24,136,92,255,40,1 b% `: m; H; J' v! V+ U$ ?
  47. 2,209,26,241,1,10,237,231,80,70,73,70,128,178,137,178,
    * P+ N9 E7 Q" ?, i
  48. 136,66,33,210,56,0,0,240,68,248,0,32,130,70,80,70,
    - i* G5 V* a; P4 s
  49. 73,70,128,178,137,178,136,66,12,210,80,70,128,178,33,92,+ D# O1 l: J6 P
  50. 51,74,83,70,155,178,64,70,128,178,195,24,209,84,26,241,
    . ?5 o: A% l" k# W: y9 C
  51. 1,10,236,231,79,244,128,82,79,244,128,81,1,251,7,241,
    ) w& p# g* I2 ]( _
  52. 43,72,255,247,120,255,5,224,74,70,146,178,41,0,32,0,
    8 }6 _2 E8 ]8 r; g' N9 [7 R: L
  53. 255,247,113,255,48,0,73,70,128,178,137,178,136,66,22,208,  w6 t8 K6 H6 _" v) w2 F) e
  54. 127,28,0,32,128,70,72,70,128,178,4,68,72,70,128,178,
    0 C5 K( J; }, \' y7 ^9 y1 w
  55. 69,25,182,235,9,6,48,0,128,178,65,242,1,1,136,66,
    , R/ Z$ U0 a; `1 ?* N& g0 W: O
  56. 3,219,79,244,128,80,129,70,153,231,177,70,151,231,189,232,4 G- o- v' e8 A7 Q- n1 [
  57. 240,135,16,181,4,0,79,244,128,80,68,67,255,247,210,254,: t7 V( p* S- C, l
  58. 0,240,30,248,79,244,128,81,16,72,0,240,154,248,32,32,
    ( ~! K. _$ G6 @, t' q" Q' s* u
  59. 0,240,31,249,32,0,0,12,192,178,0,240,26,249,32,0,. X2 @9 M  F" o2 b$ t; l
  60. 0,10,192,178,0,240,21,249,32,0,192,178,0,240,17,249,
    2 Y- K) d& ]% K& v7 ^( N
  61. 79,244,128,81,5,72,0,240,130,248,0,240,1,248,16,189,9 r" X: v' G' ^# ?
  62. 128,181,255,247,151,254,192,7,251,212,1,189,0,4,2,64,
    * e4 k# f" x4 d  }1 j6 q
  63. 104,0,0,32,240,180,0,34,0,35,0,36,0,39,0,37,: F' g, ?4 \) X" P* g
  64. 16,45,92,210,1,34,170,64,19,0,10,104,26,64,20,0,- w3 Z3 i$ Z7 m& n! b3 [
  65. 156,66,82,209,6,104,95,240,3,12,42,0,210,178,82,0,
    5 D- S1 Y) ]+ R! ^6 n9 A
  66. 28,250,2,252,54,234,12,6,145,248,4,192,42,0,210,178,
    8 l0 D7 n1 J2 C7 f$ z8 K
  67. 82,0,28,250,2,252,92,234,6,6,6,96,10,121,1,42,
    # `6 s6 D$ \5 E2 Y
  68. 2,208,10,121,2,42,36,209,135,104,95,240,3,12,42,0,
    & H: B/ @6 y! z1 f0 d
  69. 210,178,82,0,28,250,2,252,55,234,12,7,145,248,5,192,
    3 B9 c/ F9 P5 `* A: D
  70. 42,0,210,178,82,0,28,250,2,252,92,234,7,7,135,96,) z5 G# s0 }2 G5 v4 Z1 ~( C8 R
  71. 130,136,95,240,1,12,28,250,5,252,50,234,12,2,145,248,/ f. @, |% h3 Q/ O
  72. 6,192,28,250,5,252,31,250,140,252,92,234,2,2,22,0,
    ) M7 i' }, @5 y  g  O/ P
  73. 134,128,194,104,95,240,3,12,47,0,255,178,127,0,28,250,, e% h; Q! ?$ z/ L1 G4 X5 J7 U0 K
  74. 7,247,50,234,7,7,145,248,7,192,42,0,210,178,82,0,
    6 J# y3 I( J5 C& S- n; g
  75. 28,250,2,252,92,234,7,7,199,96,109,28,160,231,240,188,. {5 U4 c" E- d" q
  76. 112,71,16,180,2,0,0,35,16,138,12,0,164,178,32,66,
    & G, O9 \8 _6 S: c# O% ?& M9 C% {+ E
  77. 1,208,1,32,0,224,0,32,192,178,16,188,112,71,1,131,' N1 V" J, _' Z1 I) Q' M  [
  78. 112,71,65,131,112,71,240,181,0,36,0,37,19,0,219,178,% u: Y7 k2 v2 l- k
  79. 17,240,7,6,246,178,182,0,19,250,6,246,11,0,155,178,$ l- c5 K/ K& n% H; V, S
  80. 219,16,0,235,131,7,11,0,155,178,219,16,0,235,131,3,8 u5 |- y+ i. T7 F
  81. 211,248,32,192,95,240,15,14,17,240,7,3,219,178,155,0,; y, E) w: ^4 ^7 N! v
  82. 30,250,3,254,60,234,14,12,199,248,32,192,11,0,155,178,: D7 M# ?5 B0 k4 q
  83. 219,16,0,235,131,3,27,106,51,67,15,0,191,178,255,16,
    * |( K7 p3 R" V4 T% Q
  84. 0,235,135,7,59,98,240,189,224,181,79,244,0,96,0,144," |. L. ?3 j- H* T9 m# M( b/ ^& Q
  85. 1,32,141,248,4,0,0,32,141,248,6,0,1,32,141,248,, u8 o0 ^5 ~+ O9 w9 C" s
  86. 5,0,105,70,65,72,255,247,69,255,79,244,0,97,63,72,
    ) |! Z, L9 W* q! e: C# R
  87. 255,247,181,255,79,244,32,64,0,144,1,32,141,248,5,0,
    ; u* k- V  ~3 S7 g
  88. 1,32,141,248,4,0,0,32,141,248,6,0,105,70,55,72,; O) _0 _- |: L# _% B
  89. 255,247,48,255,79,244,128,80,0,144,105,70,51,72,255,247,
    / q& c9 A# ~9 [
  90. 41,255,79,244,128,112,0,144,105,70,49,72,255,247,34,255,  I. q" r5 T/ K& u/ S! g. @
  91. 79,244,128,64,0,144,0,32,141,248,7,0,0,32,141,248,7 b* ^; P, V7 _2 p6 ^3 Z
  92. 4,0,105,70,41,72,255,247,21,255,7,189,128,181,255,247,, G8 L& S3 k0 L& ?* Q# b1 m4 [
  93. 187,255,79,244,128,81,37,72,255,247,129,255,79,244,128,113,
    + G7 }% M  j/ i- g
  94. 35,72,255,247,124,255,79,244,0,81,32,72,255,247,121,255,
    ( z3 c3 S! Y6 s
  95. 1,189,56,181,4,0,0,32,0,37,40,0,192,178,8,40,
    ; g: C# X9 y+ O* |1 ?4 O$ E7 g# ?0 d
  96. 43,218,79,244,0,81,25,72,255,247,107,255,32,6,5,213,7 [; O3 h" w" W
  97. 79,244,0,65,21,72,255,247,98,255,4,224,79,244,0,65,
    ! Q+ L9 N' |/ e
  98. 18,72,255,247,94,255,79,244,0,81,16,72,255,247,87,255,
    $ i' m, c+ c9 W, f. ^/ M3 b) I9 c
  99. 100,0,0,191,0,191,0,191,0,191,79,244,128,65,11,72,2 G* C' v/ Y0 U) l
  100. 255,247,63,255,0,40,1,208,84,240,1,4,79,244,0,81,- _' M! j# C7 h1 n  d1 X' l
  101. 6,72,255,247,70,255,109,28,207,231,79,244,0,81,3,72,5 b3 e2 ?; S0 }. x% F$ w
  102. 255,247,63,255,32,0,192,178,50,189,0,0,0,4,2,64,7 b$ B/ h0 p8 y0 Q8 R9 ?6 u0 M
  103. 0,0,2,64,16,180,2,0,82,178,0,42,9,213,10,1,
    2 L7 p: l, F1 y  G8 n
  104. 83,75,4,0,100,178,20,240,15,4,35,68,3,248,4,44,
    7 |2 E0 d5 O  _0 d8 l
  105. 4,224,10,1,79,75,4,0,100,178,26,85,16,188,112,71,
    * Y! v, y3 F0 B9 I2 d
  106. 191,243,79,143,76,72,1,104,17,244,224,97,75,72,1,67,
    / H8 o: l9 f7 A' F
  107. 73,72,1,96,191,243,79,143,254,231,16,181,4,0,96,30,! ^! X" L( l/ x  `) O
  108. 176,241,128,127,1,211,1,32,14,224,96,30,68,73,8,96,
    7 v: t/ Z0 Q$ f1 B# p
  109. 15,33,95,240,255,48,255,247,205,255,0,32,65,73,8,96,
    ) i4 B$ N$ z5 K7 w( w
  110. 7,32,65,73,8,96,0,32,16,189,127,181,0,32,1,144,: K! C. a. w+ ^" [  m" q$ G. a
  111. 0,32,2,144,79,244,128,84,0,37,60,78,42,0,33,0,
    4 U; ]4 k3 M3 \, R, v! I5 I& Y
  112. 48,0,0,240,141,248,0,240,4,249,57,72,0,240,34,249,
    " }  O3 s$ V/ m1 U8 g
  113. 72,246,160,64,255,247,209,255,4,34,95,244,80,1,1,168,$ @: p% t- T3 W/ Q  S
  114. 255,247,33,253,1,152,51,73,136,66,45,209,0,36,0,32,' b$ U8 Q" |% Q! U
  115. 0,144,0,240,35,249,0,37,100,45,8,210,79,244,128,96,, W. P, u* c9 y. c2 H
  116. 45,73,0,251,5,16,0,240,53,249,109,28,244,231,0,36,
    + S6 X5 A' {$ l& Y
  117. 180,245,200,79,14,210,4,34,161,0,17,245,80,1,104,70,4 b. G* q  |) r
  118. 255,247,1,253,0,153,36,72,16,235,132,0,0,240,88,249,$ `) l/ P& i6 U+ k, A
  119. 100,28,237,231,0,240,21,249,4,34,95,244,80,1,2,168,
    2 y# B0 Z: C' B
  120. 255,247,136,253,255,247,140,255,28,72,0,104,1,40,251,218,
    * G8 ?# I6 }. D2 Q4 d& E
  121. 114,182,25,72,1,104,26,72,1,64,177,241,0,95,18,209,
    + W' ^7 m& u2 x2 J3 E2 P5 E
  122. 24,72,0,240,215,248,24,72,0,104,24,73,8,96,23,72,
    & w* X& o" S1 J+ ?$ E/ u
  123. 0,104,23,73,8,96,16,72,0,104,128,243,8,136,20,72," k( V/ T% I# u1 c; z6 u
  124. 0,104,128,71,2,224,19,72,0,240,196,248,127,189,0,0,
    5 U/ g& S4 {# l/ ~& L2 s* ]  J
  125. 24,237,0,224,0,228,0,224,12,237,0,224,4,0,250,5,8 a/ |1 e7 ^+ ~% y0 Q+ G
  126. 20,224,0,224,24,224,0,224,16,224,0,224,104,0,0,32,
    2 S9 |: B/ V9 T: i2 y. u
  127. 160,19,0,8,50,84,118,152,0,32,0,8,0,0,0,32,% z8 H2 @7 F) ~1 }2 L
  128. 0,0,254,47,196,19,0,8,4,32,0,8,188,16,0,32,
    # t3 j) L  P& O7 I
  129. 184,16,0,32,76,19,0,8,128,181,255,247,102,255,254,231,4 {- P4 E+ w, I7 H$ ^# V- i/ b
  130. 98,243,15,34,98,243,31,66,64,24,16,240,3,3,8,208,
    3 v+ i) Q6 y3 L) t, p$ h. R' `
  131. 201,26,31,211,219,7,72,191,0,248,1,45,40,191,32,248,& L& h9 e; R+ s1 J% \3 _
  132. 2,45,19,0,48,180,20,70,21,70,16,57,40,191,32,233,
    ; |/ M6 d+ u. q4 |6 W1 o9 \* ?
  133. 60,0,250,216,73,7,40,191,32,233,12,0,72,191,64,248,
    + |' `: c" [0 I/ T/ J
  134. 4,45,137,0,40,191,32,248,2,45,72,191,0,248,1,45,
    6 B- \$ J8 m0 ~/ i0 g2 V# }
  135. 48,188,112,71,201,24,24,191,0,248,1,45,203,7,40,191,
    6 m8 {# e6 p* m+ q, h" J5 f( m: C
  136. 0,248,1,45,112,71,0,0,128,181,1,33,15,32,0,240,! `3 @; |- H9 m: p; X
  137. 215,249,1,33,79,244,128,64,0,240,226,249,1,189,224,181,: A; e. y! g" s$ Z  F& O! w" o
  138. 128,32,0,144,1,32,141,248,4,0,0,32,141,248,6,0,
    2 d8 G' H# O. I6 p- i0 v- i# r* f
  139. 1,32,141,248,5,0,105,70,34,72,255,247,155,253,128,33,
    3 r+ s$ ]8 f" Y( R8 D# A& C0 C
  140. 32,72,255,247,12,254,7,189,224,181,79,244,0,80,0,144,: M' I6 A! s( u: b. J: m0 n
  141. 1,32,141,248,4,0,0,32,141,248,6,0,1,32,141,248,4 c4 Y5 \" j) s4 {* d+ @
  142. 5,0,105,70,24,72,255,247,133,253,16,32,0,144,1,32,
    3 C2 B6 ^6 R. V2 |2 R4 n/ a
  143. 141,248,4,0,0,32,141,248,6,0,1,32,141,248,5,0,3 e9 z3 g+ [: [( y/ W+ p
  144. 105,70,18,72,255,247,118,253,16,33,16,72,255,247,231,253,
    . V' R( w4 _+ p% j" m: ^/ `
  145. 7,189,128,181,255,247,184,255,255,247,193,255,255,247,212,255,0 T0 a& n+ ~; L
  146. 79,244,0,81,8,72,255,247,218,253,1,32,0,144,0,35,2 e( K% z" j4 O; a
  147. 8,34,95,244,225,49,6,72,0,240,195,249,255,247,70,254,1 ?: H: a! b" I: y/ x+ ^/ z! ?
  148. 1,189,0,0,0,4,2,64,0,8,2,64,0,0,2,64,
      \( h7 [; Q: {$ b6 R4 {" X5 B
  149. 0,56,1,64,14,180,192,181,2,70,3,168,0,33,1,144,
    0 f/ ]8 H3 ^4 M) ^( n
  150. 0,145,1,171,1,33,4,72,120,68,12,48,0,240,42,250,
    ; i. d$ Z4 E& P" P7 F5 r9 R
  151. 6,188,93,248,16,251,0,191,249,10,0,0,128,181,223,248,  T8 b7 [0 N9 M. h; x, k% O7 C) p
  152. 28,1,0,104,128,7,11,213,0,240,96,248,223,248,16,1," x+ Y& o+ u: x+ K$ D
  153. 223,248,16,17,8,96,223,248,16,1,223,248,8,17,8,96,
    8 z: }9 B* G5 t7 K  O# ~
  154. 1,189,223,248,248,0,0,104,80,240,2,0,223,248,236,16,0 r7 Y8 \$ Q3 s& _* a
  155. 8,96,112,71,112,181,4,0,4,38,79,244,0,64,0,240,
      I& P3 l( @0 N( i! m4 L
  156. 125,248,5,0,40,0,192,178,4,40,38,209,223,248,204,0,
    2 R: t! \* P9 Y
  157. 0,104,80,244,0,112,223,248,196,16,8,96,223,248,188,0,( I; R7 ^! Z, C% M+ Y9 {8 C
  158. 0,104,80,240,8,0,223,248,180,16,8,96,0,32,32,96,5 Q$ R& W6 K8 [3 Z2 i
  159. 79,244,0,64,0,240,98,248,5,0,223,248,160,0,0,104,  Q# c/ E( b& g6 o1 T" P
  160. 48,240,8,0,223,248,148,16,8,96,223,248,144,0,0,104,, f2 e7 b1 [3 Q6 m6 W9 Z
  161. 48,244,0,112,223,248,132,16,8,96,40,0,192,178,112,189,& n' ^% J1 P/ [3 u9 _& p' s3 B
  162. 248,181,4,0,13,0,4,38,79,244,0,64,0,240,70,248,
    # A2 E  c% q' z' S7 c% c, r
  163. 7,0,56,0,192,178,4,40,5,209,37,96,79,244,0,64,
    8 `2 ?. ?2 `! w% Q$ }. C
  164. 0,240,60,248,7,0,56,0,192,178,242,189,223,248,76,0,0 K  b- }" F) ?' E
  165. 0,104,192,7,9,213,223,248,84,0,223,248,84,16,8,96,/ [/ o; ^, B' Y9 H/ F3 Z
  166. 223,248,80,0,223,248,72,16,8,96,112,71,4,33,18,72,% w5 d0 _  z/ d
  167. 0,104,192,7,1,213,1,32,13,224,15,72,0,104,192,5,; i8 {6 r) a$ X( s
  168. 1,213,2,32,7,224,12,72,0,104,16,244,240,95,1,208,
    . e; L* G* v  |8 J3 ^* }& ?
  169. 3,32,0,224,4,32,192,178,112,71,0,0,4,60,2,64,+ ]0 p) U0 ]: \6 P! v) Z4 ^
  170. 191,174,157,140,16,60,2,64,22,21,20,19,239,205,171,137,: i/ U$ {, X, J* p3 p
  171. 12,60,2,64,5,4,3,2,24,60,2,64,28,181,4,0,! C& ]& v) \0 A- P9 s
  172. 4,32,141,248,0,0,255,247,209,255,141,248,0,0,157,248,* t3 H9 O  f6 e. A
  173. 0,0,1,40,7,209,0,44,5,208,255,247,199,255,141,248,
    ( ^% n: B( n" s5 B% s2 @1 S  f
  174. 0,0,100,30,243,231,0,44,2,209,5,32,141,248,0,0,
    5 Y- b- \3 o3 Y% x3 g- e
  175. 157,248,0,0,22,189,0,0,45,233,240,79,0,34,0,35,7 ~( c  g% a) r
  176. 0,36,0,33,0,37,0,38,223,248,116,113,63,104,23,240,7 l: m1 p3 B" b8 g
  177. 12,7,188,70,188,241,0,15,9,208,188,241,4,15,24,208,; S5 F6 B3 i* o5 Y
  178. 188,241,8,15,25,208,188,241,12,15,26,208,67,224,223,248,) y! r3 j, k  `5 a
  179. 84,33,18,104,194,243,66,50,22,0,95,240,1,12,114,28,
    ) C) M9 y0 o  W# b0 G
  180. 28,250,2,252,79,244,0,66,2,251,12,252,192,248,0,192,$ }6 _" y+ I; U
  181. 65,224,223,248,52,33,2,96,61,224,223,248,48,33,2,96,' ~2 K$ J; d% F( h# _) L
  182. 57,224,71,74,18,104,18,244,112,18,223,248,20,193,220,248,
      Z! |0 C7 J& o5 I  x: P1 Z: B3 L
  183. 0,192,28,244,64,12,223,248,24,225,146,12,30,248,2,32,- Z5 Z1 q. Q7 |
  184. 19,0,95,234,156,92,28,241,1,12,100,70,60,74,18,104,
    / C: u% J2 l. u0 l& n
  185. 18,244,128,50,17,0,0,41,6,209,59,74,2,251,3,242,' l( A" Y0 I4 X! @4 V+ a
  186. 178,251,244,242,2,96,5,224,56,74,2,251,3,242,178,251,/ u# [, m: F# I3 c& [7 b
  187. 244,242,2,96,15,224,51,74,18,104,194,243,66,50,22,0,
    3 B/ a4 j1 E$ u
  188. 95,240,1,12,114,28,28,250,2,252,79,244,0,66,2,251,6 p5 T9 I8 _5 P
  189. 12,252,192,248,0,192,42,74,18,104,18,240,240,2,18,9,
    : u3 }6 k% E0 ~  W) j8 N
  190. 223,248,176,192,28,248,2,192,208,248,0,224,62,250,12,254,
    8 H; v' M! v$ o0 b8 s( e
  191. 192,248,4,224,223,248,136,224,222,248,0,224,30,244,224,110,
    : b/ M) `0 u0 J
  192. 95,234,30,46,223,248,140,128,24,248,14,128,208,248,4,144,
    0 S4 [! h# E  L( G; X
  193. 57,250,8,249,192,248,8,144,223,248,100,144,217,248,0,144,# G5 m) m" k& S; p
  194. 25,244,96,89,95,234,217,41,223,248,104,160,26,248,9,160,2 I6 E/ |- d1 r# y1 H/ @6 _0 z
  195. 208,248,4,176,59,250,10,251,192,248,12,176,189,232,240,143,
    5 w  d9 I! c. ?' [0 R5 R& j3 ?4 q
  196. 10,0,210,178,0,42,5,208,19,74,18,104,2,67,18,75,
    6 p* _( \/ G& d& R0 _
  197. 26,96,4,224,16,74,18,104,130,67,15,75,26,96,112,71,1 L1 M$ T( D9 N& M+ ?. F
  198. 10,0,210,178,0,42,5,208,12,74,18,104,2,67,11,75,5 q1 r# Q7 u  T/ P: u* F
  199. 26,96,4,224,9,74,18,104,130,67,8,75,26,96,112,71,/ X  Q# b% y! ]5 j5 \0 N
  200. 8,56,2,64,4,56,2,64,0,36,244,0,0,18,122,0,
    ! ?. L* B) c+ m. k9 A: e6 R
  201. 4,0,0,32,16,0,0,32,28,56,2,64,32,56,2,64,
    + l( V6 P# q7 j: e6 U9 s
  202. 56,181,4,0,13,0,33,0,201,178,137,178,60,72,0,240,
    8 m3 y7 l  j9 w7 |0 f6 S, l
  203. 152,249,128,33,58,72,0,240,208,249,0,40,249,208,32,0,
    1 J! C# i; b: s" k, ~1 ^
  204. 50,189,248,181,134,176,4,0,13,0,22,0,31,0,79,244,
    ) G# u4 M. L) c( P& W6 i
  205. 0,112,0,144,2,32,141,248,4,0,0,32,141,248,6,0,
      n; C6 \, t. y/ Q4 r
  206. 3,32,141,248,5,0,1,32,141,248,7,0,105,70,45,72,
    & A% O/ ^7 B" V, d; t. s
  207. 255,247,128,251,79,244,128,96,0,144,105,70,41,72,255,247,1 V; x0 k# P# W
  208. 121,251,7,34,9,33,39,72,255,247,237,251,7,34,10,33,. z+ n# w1 p& ^, t  Q* u
  209. 36,72,255,247,232,251,2,149,0,32,173,248,14,0,56,0,! _9 e- {+ {  _' [7 D0 j0 e- V) h1 [
  210. 192,178,0,40,6,209,0,32,173,248,12,0,0,32,173,248,
    " @4 O2 L" l3 r) S
  211. 16,0,31,224,56,0,192,178,1,40,8,209,79,244,128,80,
    ) w4 O7 c. }& B1 t4 B! ]2 [/ o
  212. 173,248,12,0,79,244,192,96,173,248,16,0,18,224,56,0,
    4 }& E' W; S; h- Z* E
  213. 192,178,2,40,8,209,79,244,128,80,173,248,12,0,79,244,
    , m' z1 Y. U& _8 H. p. W8 @& L
  214. 128,96,173,248,16,0,5,224,0,32,173,248,12,0,0,32,
    ( m+ x' A9 {- k; q% E
  215. 173,248,16,0,0,32,173,248,20,0,12,32,173,248,18,0,
    8 ?6 \; R8 w- W9 h; k- P& W
  216. 2,169,7,72,0,240,178,248,1,34,64,242,37,81,4,72,
    3 t* P" J+ t, c. i( t
  217. 0,240,43,249,1,33,2,72,0,240,20,249,7,176,240,189,6 m% Y) O/ h  |  r" G, ~4 a9 v
  218. 0,56,1,64,0,0,2,64,112,181,28,0,5,70,22,70,
    % Q! D/ k7 X" U- y. s1 I, o
  219. 6,208,8,70,22,248,1,27,168,71,100,30,250,209,1,70,
    5 a1 T9 X6 N: K# N2 L
  220. 8,70,112,189,45,233,252,67,131,176,129,70,136,70,23,70,
    # V- s9 {# N/ l4 E2 `# A
  221. 29,70,7,224,1,35,58,70,65,70,72,70,255,247,228,255,
    9 X- b3 y- e! K0 m# h6 E8 u9 a! e
  222. 128,70,127,28,56,120,224,177,37,40,243,209,121,120,191,28,. t; |. F$ M: z1 ~: p
  223. 37,41,18,208,88,41,90,208,99,41,21,208,100,41,24,191,
    # k; c  @+ p3 f$ @& y4 F% j( z! }2 }9 ]
  224. 105,41,24,208,111,41,82,208,112,41,86,208,115,41,91,208,  s4 P; Z) t$ @4 Z
  225. 117,41,24,191,120,41,74,208,228,231,64,70,200,71,128,70,
    % W- y1 t9 Q2 a3 t" B/ p
  226. 224,231,5,176,189,232,240,131,40,104,40,96,80,248,4,27,. i5 L" u# k$ v+ ~& `, w2 j9 T1 w% ~
  227. 40,96,201,178,241,231,40,104,40,96,80,248,4,107,40,96,
    % _0 o9 ]+ }4 @2 G3 X9 S% f
  228. 0,46,3,213,45,33,64,70,200,71,128,70,100,33,111,41,4 l) ~4 Z( R$ [
  229. 8,191,8,34,5,208,65,240,32,0,120,40,20,191,10,34,
    ' x5 \) O9 u0 |( N7 n$ T
  230. 16,34,11,36,100,41,48,70,2,209,0,46,72,191,64,66,/ g4 q; r4 D8 P7 ~4 j
  231. 176,251,242,252,2,251,28,0,48,48,100,30,195,178,58,43,
    , R; x% q" r$ F' C7 c2 e8 |
  232. 164,191,161,241,81,3,24,24,13,248,4,0,95,234,12,0,
    ; d% @' U; h& [' t2 a4 R
  233. 1,208,0,44,236,220,13,235,4,6,212,241,11,4,64,70,2 i8 P7 A( J8 k! z3 U7 U
  234. 189,208,22,248,1,27,200,71,100,30,250,209,183,231,40,104,
    / S$ V0 `3 I5 h2 K$ K2 p
  235. 40,96,80,248,4,107,40,96,201,231,40,104,40,96,120,33,% {. V% d- x% o- C3 o+ I. C
  236. 80,248,4,107,40,96,194,231,40,104,40,96,80,248,4,107,: z8 n& N3 q; t% a
  237. 40,96,48,70,0,240,208,248,4,0,64,70,159,208,22,248,
    % M# J' s) o- s1 [3 A. k
  238. 1,27,200,71,100,30,250,209,153,231,0,0,45,233,240,79,! F3 ^. o8 z4 T* a' f! [/ F: R
  239. 133,176,4,0,13,0,0,38,0,39,95,240,0,8,95,240,6 q3 G1 |1 I! h5 j' O- m7 z5 l
  240. 0,9,168,137,0,40,33,138,49,244,64,81,232,136,1,67,& B' ]) A& C2 M$ v: i
  241. 0,145,0,152,32,130,180,248,12,160,41,72,16,234,10,10,
    & r: L8 z+ U! t3 I( k) j: e
  242. 169,136,40,137,1,67,104,137,1,67,81,234,10,10,164,248,
    , x5 ~, g3 T) t% D
  243. 12,160,180,248,20,176,59,244,64,123,168,137,80,234,11,11,
    ! w- V' i7 T% }# v) Q
  244. 164,248,20,176,1,168,255,247,215,253,28,72,132,66,1,209,$ K( S& K" |5 R4 P
  245. 4,153,0,224,3,153,160,137,0,4,7,213,25,32,0,251,; P2 |" J' }" s) Z
  246. 1,240,42,104,82,0,176,251,242,242,6,224,25,32,0,251,
      O8 b3 f5 S5 R' R
  247. 1,240,42,104,146,0,176,251,242,242,100,32,178,251,240,246,
    ( w% a$ x' c' N) t% ^
  248. 54,1,51,0,27,9,100,32,0,251,19,35,160,137,0,4,1 ?: C% Y+ k5 d: d
  249. 8,213,216,0,50,48,100,39,176,251,247,240,16,240,7,0," g+ l" [- a- N
  250. 6,67,7,224,24,1,50,48,100,39,176,251,247,240,16,240,3 ]/ m- a5 o6 |% y- x
  251. 15,0,6,67,38,129,5,176,189,232,240,143,0,56,1,64,6 o" @! q) a6 @4 }/ x
  252. 243,233,255,255,10,0,210,178,0,42,4,208,130,137,82,244,
    , J2 k9 k7 E8 W/ n6 M- |- z4 p$ T
  253. 0,82,130,129,4,224,131,137,77,246,255,114,19,64,131,129,
    9 u2 T" A8 B. q3 a9 j9 l+ W
  254. 112,71,202,5,210,13,130,128,112,71,45,233,240,65,0,35,/ ^% W7 {2 i% ]- B4 M8 n; Y
  255. 0,37,0,39,95,240,0,14,12,0,164,178,64,246,106,22,' |6 R, j- _* R! \
  256. 180,66,128,70,12,0,228,178,100,9,228,178,14,0,182,178,
    # S- V8 h- W( _
  257. 22,240,31,6,95,240,1,12,28,250,6,252,1,44,2,209,
    9 s0 ]; k! @' k, r+ ^! I1 o5 g9 g
  258. 24,241,12,8,6,224,2,44,2,209,24,241,16,8,1,224,
    & Q5 b* Z- F9 X5 X* }$ D
  259. 24,241,20,8,19,0,219,178,0,43,6,208,216,248,0,48,+ F6 _5 p* Z3 h9 N
  260. 92,234,3,3,200,248,0,48,5,224,216,248,0,48,51,234,( F# q; i1 v' n! t
  261. 12,3,200,248,0,48,189,232,240,129,2,0,0,35,8,0,. k# {- F1 W1 b6 W! o, _9 S
  262. 128,178,176,245,0,127,16,136,8,66,1,208,1,32,0,224,7 z+ c7 w( p6 h4 K6 ]- c/ F9 k. Q
  263. 0,32,192,178,112,71,0,0,0,241,1,3,129,7,4,208,& ]2 @) u% Q# A/ h
  264. 16,248,1,27,137,177,129,7,250,209,2,104,178,241,1,49,
    4 F# M. x" |' a  a
  265. 145,67,17,240,128,63,4,191,80,248,4,47,246,231,16,248,
    7 K8 ~0 h  R+ L1 z3 p: o5 _
  266. 1,27,17,177,16,248,1,27,251,231,192,26,112,71,0,0,
    - z# ?. C4 Q0 T/ z& X7 P9 g
  267. 128,181,82,72,0,104,80,244,128,112,80,73,8,96,80,72,( C* {# x( f  ]4 ~3 q. }
  268. 1,104,80,72,1,64,78,72,1,96,76,72,1,104,78,72,
    $ `2 p. J# W/ ]  [6 `, k$ _4 f
  269. 1,64,74,72,1,96,73,72,0,104,48,244,128,32,71,73,4 b4 R2 R/ r8 M* a. t! U) ^
  270. 8,96,71,72,0,104,48,244,125,0,69,73,8,96,0,32,
    3 ?* C6 }) T; @4 L
  271. 70,73,8,96,0,240,5,248,95,240,0,96,68,73,8,96,
    " M9 U8 W: `# i8 J1 l
  272. 1,189,130,176,0,32,1,144,0,32,0,144,59,72,0,104,& P! y* h0 U3 w
  273. 80,244,128,48,57,73,8,96,56,72,0,104,16,244,0,48,! C! F' c8 w5 j0 C
  274. 0,144,1,152,64,28,1,144,0,152,0,40,3,209,1,152,- z4 i/ ]/ Y7 i! B% u1 x9 I
  275. 176,245,160,79,240,209,49,72,0,104,128,3,2,213,1,32,
    - {/ i( _, N% |$ I" W, H% P' [, S
  276. 0,144,1,224,0,32,0,144,0,152,1,40,83,209,49,72,
    3 X3 j( D3 a; M' o5 o1 M$ l6 V
  277. 0,104,80,240,4,0,47,73,8,96,46,72,0,104,80,240,) k4 {. d# x; E
  278. 2,0,44,73,8,96,43,72,0,104,80,240,1,0,41,73,
    - E% D# y3 X& c6 o+ \
  279. 8,96,41,72,0,104,80,240,128,80,39,73,8,96,79,244,$ ]" N! R; U( _. [4 i8 O! x9 ]
  280. 0,96,38,73,8,96,38,72,0,104,192,6,251,212,28,72,- H; k1 z, R3 U; D  i! r
  281. 0,104,27,73,8,96,26,72,0,104,25,73,8,96,24,72,
    , ?; M+ I0 A) u) F! n( H* x# W) v
  282. 0,104,23,73,8,96,22,72,0,104,48,244,125,0,20,73,, \4 p( E' X! {! z6 f2 U5 v
  283. 8,96,19,72,0,104,80,244,17,0,17,73,8,96,15,72,
    - e8 z+ U9 A' r! \# D6 }
  284. 0,104,80,240,128,112,13,73,8,96,12,72,0,104,128,1,0 F# ?. V* [; m
  285. 251,213,11,72,0,104,128,8,128,0,9,73,8,96,8,72,% W, ~5 o# D$ T; W0 Y) W/ U
  286. 0,104,80,240,3,0,6,73,8,96,5,72,0,104,16,240,' H4 U6 m* \0 G
  287. 12,0,12,40,249,209,2,176,112,71,0,0,0,56,2,64,
    4 b( G; g+ Y7 F8 W) k
  288. 8,56,2,64,12,192,255,136,254,255,254,238,12,56,2,64,
    " S6 E  m9 h; d. d, r1 L
  289. 8,237,0,224,0,60,2,64,36,56,2,64,0,112,0,64,! V$ L/ }9 {2 {$ z
  290. 4,112,0,64,112,71,254,231,254,231,254,231,254,231,112,71,
    3 f' f* U. X1 P' [2 V& h' p  K( l* a' ?
  291. 128,181,43,72,0,104,65,28,41,74,17,96,64,242,245,17,
    3 q+ Q3 b  \: Z' V2 G- \* A, d
  292. 136,66,7,211,0,32,38,73,8,96,38,72,0,104,64,30,% x8 H& F, [5 f
  293. 36,73,8,96,34,72,0,104,50,40,4,210,128,33,34,72,
    ' H8 e( f/ e/ I: P1 l# S% X1 b8 {
  294. 255,247,63,249,59,224,30,72,0,104,100,40,4,210,128,33,
    + Y9 s9 \" |3 O* m+ E" }! U
  295. 29,72,255,247,52,249,50,224,25,72,0,104,150,40,4,210,
    " ^/ u( j3 K# R: D
  296. 128,33,25,72,255,247,45,249,41,224,21,72,0,104,200,40,
    0 }% |4 c5 e1 j- ~3 f
  297. 4,210,128,33,20,72,255,247,34,249,32,224,16,72,0,104,
    ( f' v6 o: \) }- b) X4 I( b+ w
  298. 250,40,4,210,128,33,16,72,255,247,27,249,23,224,12,72,! V- p' e9 O! s3 r- H% U& j. U
  299. 0,104,176,245,150,127,4,210,128,33,11,72,255,247,15,249,
      P/ W- u: ?. K2 o3 G
  300. 13,224,7,72,0,104,176,245,175,127,4,210,128,33,6,72,
    : `" v$ @7 Y% T7 V& L: z
  301. 255,247,7,249,3,224,128,33,3,72,255,247,0,249,1,189,' g- w3 L  W( j% I& D2 b8 n
  302. 192,16,0,32,0,0,0,32,0,4,2,64,112,71,112,71,: b( |. H( u$ y( N
  303. 112,71,25,224,80,248,4,43,211,7,68,191,169,241,1,3,6 l0 X) t( V! ~: T
  304. 154,24,9,31,0,35,4,41,66,248,4,59,249,210,95,234,
    6 e4 h$ I2 c, G' e
  305. 129,124,19,70,4,213,79,240,0,12,162,248,0,192,155,28,4 u8 Z. i2 U$ I
  306. 201,7,68,191,0,33,25,112,80,248,4,27,0,41,225,209,2 t' X6 r, x  R: g
  307. 112,71,48,181,1,104,132,104,66,24,65,104,2,235,81,3,
    9 m5 j! Y! }+ L4 R
  308. 201,7,11,213,76,68,9,224,18,249,1,27,18,248,1,91,
    " h9 X8 j9 E% B- P; k4 i5 U
  309. 0,41,4,248,1,91,5,213,73,28,249,209,154,66,243,209,
    - y% I; S  g& i% p
  310. 12,48,48,189,73,30,241,213,248,231,0,0,45,45,45,45,
      n- e4 `. N) i' x, t3 W
  311. 91,66,111,111,116,93,65,80,80,76,73,67,65,84,73,79,( e! B% |/ n0 @* T& w& D
  312. 78,65,68,68,82,69,83,83,32,105,115,32,69,82,82,79,
    $ u5 V8 E  X" U+ [8 n
  313. 82,33,33,33,13,10,0,0,16,181,7,73,121,68,24,49,
    % |6 t& N4 C. M; t0 J
  314. 6,76,124,68,22,52,4,224,10,104,8,29,17,68,136,71,
    . N6 B- M7 w$ p& k! D# ^9 g/ A
  315. 1,70,161,66,248,209,16,189,80,0,0,0,108,0,0,0,' y6 G7 C3 j, c6 B* F" d" w4 o
  316. 45,45,45,45,91,66,111,111,116,93,66,111,111,116,76,111,
    - I' `; ]- c9 a  |
  317. 97,100,101,114,32,82,117,110,110,105,110,103,46,46,46,32,
    - D. S8 c* Z+ |! {
  318. 13,10,0,0,45,45,45,45,91,66,111,111,116,93,74,117,
    ) r- {: O$ o) Z' F+ e% [6 C& U
  319. 109,112,95,84,111,95,65,112,112,108,105,99,97,116,105,111,
    8 \- ~8 U$ m- e- [
  320. 110,33,33,33,13,10,0,0,235,254,255,255,92,16,0,0,$ Q$ E/ X. D' }
  321. 104,0,0,32,0,0,0,0,27,255,255,255,68,1,0,0,
    - g# ^: R+ C5 D# }
  322. 138,0,0,0,0,0,0,32,0,240,13,248,0,40,1,208,
    1 O* O. z7 c" f9 n* _
  323. 255,247,178,255,175,243,0,128,0,32,175,243,0,128,255,247,
    & c8 O$ P! }$ ]9 o
  324. 235,249,0,240,2,248,1,32,112,71,0,240,1,184,0,0,. R' G* s% U; ]1 W! R# B) l
  325. 7,70,56,70,0,240,2,248,251,231,0,0,128,181,175,243,
    + Y( T. n* a! W- i+ F: h8 Q
  326. 0,128,2,74,17,0,24,32,171,190,251,231,38,0,2,0,, ]0 _9 K8 }3 R4 @5 k& E
  327. 56,181,4,70,13,70,40,70,0,240,6,248,168,66,24,191,
    2 ^, [; d5 N+ I" T2 g2 |: k
  328. 0,36,32,70,50,189,0,0,1,73,255,247,9,188,0,191,
    * W" K! C; {' @" P
  329. 32,0,0,32,1,72,128,71,1,72,0,71,145,16,0,8,
    ! F$ Z& t! }  p) i' N6 _
  330. 133,20,0,8,175,243,0,128,175,243,0,128,255,247,188,255,! N* ^- t" ?- i  A1 Y$ V" W) s
  331. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    7 G  r4 W$ S) q  R% l9 ~- j' l
  332. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    8 G4 R6 Q+ P6 G3 a5 Q
  333. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    - e; R: t7 W3 c* Q+ m1 g( k
  334. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    % f; M( q) d& U% I! T
  335. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    8 f% a4 {4 W$ ?; b
  336. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
      j. }4 }8 d6 I5 A) m
  337. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    4 ~# z8 m  z; Y3 m
  338. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,  z% v' C  v9 F1 G+ j1 k
  339. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,! c9 Z0 Z+ T1 M! v
  340. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,
    " q& D( Q& \, X
  341. 255,247,254,191,255,247,254,191,255,247,254,191,255,247,254,191,( d2 X8 Q" Y8 \* G% F: j
  342. 0,10,253,0,8,3,4,6,8,12,16,24,32,48,249,0,+ z5 |; K4 m1 G. U, {6 r& Y
  343. 31,1,2,3,4,1,2,3,4,6,7,8,9,2,4,1,
    0 s& F% _6 w; \6 n6 S7 Q# h% k
  344. 1,104,16,0,32,184,16,0,32,104,16,0,32,104,16,0,$ n  T  a# W; l+ P& c6 r
  345. 32,252,0,3,104,16,0,32,252,0,7,100,0,0,32,80,
    * \, k+ a6 ?6 }2 q+ J
  346. 0,0,32,224,0};
复制代码
: K5 f3 c) ?9 W; S+ \3 n
) w* A: x' b. Z
收藏 评论0 发布时间:2022-1-23 16:34

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版