#!/bin/bash
current_arch=$(arch)
if [[ "$current_arch" != "loongarch64" ]]; then
   echo "Invalid package. Please get the correct package."
   exit 1
fi

# check glibc
libc_path=$(find /lib /lib64 /usr/lib /usr/lib64 -name libc.so.6 2>/dev/null | head -n 1)
which strings &>/dev/null
if [ "$?" -eq 0 ]; then
    COMPILE_GLIBC_VERSION=2.36
    isCompatible=$(strings "$libc_path" | awk '$0~/^GLIBC_'"$COMPILE_GLIBC_VERSION"'$/ {print $0;}')
    if [ -z "$isCompatible" ]; then
        echo "Invalid package. Please get the correct package."
        exit 1
    fi
fi

MYTMP="$(dirname $(readlink -f $0))"
sed -n -e '1,/^exit 0$/!p' $0 > "${MYTMP}/upgrade.sh" 2>/dev/null
chmod +x ${MYTMP}/upgrade.sh

${MYTMP}/upgrade.sh "$@"
exit 0
ELF             `      @       pR      C   @ 8 	 @         @       @       @                                8      8      8      %       %                                                         @            0>      0~      0~                    @            @>      @~      @~                               `      `      `      D       D              Ptd   d      d      d      |       |              Qtd                                                  Rtd   0>      0~      0~                         /lib64/ld-linux-loongarch-lp64d.so.1             GNU '
{	/bOf|g#[         GNU        
                                                                      `                   
                                                              (                    0                                    ,                                                                   3                                                                  E                                            L                                            {                                                                                                                                                          k                      r                                                                  %                                            
                      c                      T   "                                                                exit stat strdup time strlen getpid execvp malloc __libc_start_main stderr fprintf __cxa_finalize sprintf putenv strerror getenv calloc memcmp memset __isoc99_sscanf atoll memcpy fwrite __errno_location abort __environ libc.so.6 GLIBC_2.36 _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable                                                                   0~             t
      8~             (
      (             (                	                    
                                                             !           8                    @                    H                    P                    X         
           `                    h                    p                    x                                                                                                                                                                                                        Ȑ                    А                    ؐ                                                  !                    #                     ϡ(Q̡E !( L a( L  @ A( L  @ !( L  @ ( L  @ ( L  @ ( L  @ ( L  @ ( L  @ a( L  @ A( L  @ !( L  @ ( L  @ ( L  @ ( L  @ ( L  @ ( L  @ a( L  @ A( L  @ !( L  @ ( L  @ ( L  @ ( L  @ ( L  @ ( L  @  D  0? e (f cE cA     j  !   ?! !  L!  ?! !  L$ ,  X, !(	 @ L   L$ ,  I E  I  @, a(	 @ L   Lcw  '7 *a )) D, ( @, (WoW)a (w  &c@   L{Scv )v@, ), *, ), *, ), *@ - *- 18, *g , ), *G  @  @v (c@   Lc@v)vb)  R)b(̢) P, *@ - 1 8̞?), *͞?*1 g , ), *@  R(@ @   	 \ *  @  ̢(  *, *1 g , ), *@ , *@ . 5 8- 18, *@ - Ξ?*18, *g , ), *G̢(̢)R(R)R(@ c  @  @v(c   Lc@v)vb)  R)b(̢) P, *g , ), *@ - 1 8̞?), *͞?*1 g , ), *@ , *@ . 5 8- 18 *@ 
 Ξ?*18 *@ 
 1 8͞?*1 ̞?)̢( *̞?*@  1 8 g ̢( )̢(̢)R(R)R(@ c  @  @v(c   Lca`)v@)vĢ) Ģ(W  
 d l P    'W()()B(B)̊$")̎$2)̂(̂)"(")b(b)  W   a`(v@(c   Lcv`)vĢ)ł)  P̢(!̢)̢(A @̢( &5 @̢( &͂(_   P̢(!(̢( '̢(!̢)̢( @̢( &G  @v`(c   Lca )v )v@  )W  b)sW     @    W,    Wb  Wb  Wb(͂ ,   Ŵ WĢ)̂ W  ̒)̢(Q D͂$ b(ξ$  ,   [Ŵ W   W    P΂2B   ,  Ģ(W  ̂)̂(@ ] \B(b(Q \ ( &̒(0 @ ͢(   W$(1 @ @   P a (v (c@   Lcv )v@  @v (c@   Lca`)v@)w )v  ł)̲)̂( &")"( D,  A_W")"(1 D A( & ,  aWW̮$ W  )'W   W  W  W  (1 @  W    W   d   P(  W  MW<  asW  cWX  SWX  WX  	3WX  	  W   @   XPL  W(@  d   0P̲()@   W  )(
 D    P(@ @  W  (% D  W   @   P  SW  CWL  }3WL  }WL  WL    }W   @  } 8P,  kW  b)b(
 D   P&  b(cWb(,      W T P  a(= @ W  b)b(
 D   P"(  ab(W  P"(b)B)$B)
A ( ͂( & '(@ 9 @  () @$B)
A (    '  M() @$B)
A (   M '$B)
A ( b( '  () @$B)
A (    '(@ 
 d$  P  R) < P$R)
A ͂( $B)
A (̱  & 'R(̲(@ @ c$
A (  '(  kW   a`(v@(w (c   Lc a)v)w)x)y`)v   )2)(!$( W   ' A( &( &+W   $ @,    P,  !W   $! @W   $ wW    P,  !(! & @(!(  P,  A   & ,  a W a(v(w(x(y`(c    L      x%lx    =%lu %d %lu %d%c        _       E: neither argv[0] nor $_ works.        :               <null>  %s%s%s: %s
 ;x         `              (  L  Dp      H  d  h0         zR |
       dd        ,   (          @   <           T   L    DDLlDD       x                     DDD xD
          p\   D0DD HD
         H   D0DD 4D
  $          DHD DD
         T    D DD xD
   $   D     DHD DD
    l  \    DDD HD
(     X   D`LD DDD
  0     0   D@T
D DDDDD
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           t
      (
                           0~                           8~                    o                 (                   
       '                                          (             @                           x                                 	              o           o          o           o    P      o                                                                                           b~paQtQ:6e	%7ΌDbltV"}
O/6Jc
yDZYlڔܚj0N5$}hWI-rRFAX<I'I^@RJ3Z nRW
e[a>rt  lxOYr/́N 0Ůu-]|j>T1?b-zPŷ|;AbD9 '?'%yS%8
NW7Ix^CF?nV9J^ kkP'f')E0UmTkTv  +O[UU8`ŊsȐ5㙵},(0o5rx5Q IWJ!QEHyǚP7:[u0H}{e١w
XaQn"UI3uq\@7׀PPcuuIQ:b) U+ڋo@Ӷz 2)/67adYcŢt}xǙa.`oGCv0uFӜV섃9*!:hl6RZ=FX5mT;NJx`bA'kk(URϠQH 6>) 	l2ZP\fPR	S@C~(1WI32x@*}CO!ܘUrp9<ֳutd^y,UM7XpCY5/6]i4ĊsIbZ^B!kPt	UUP}qrO
na[.Vr3{*rǚ'wD-98%TÕe\"XAZ~t UXV#-d,@wP5G<9=eaXax
|c:>E<)0ImfYAsvw{df(Y28B5a1}|YF ޔT^s_5<^ZX|!|uJ|Y[DtCy1T3;ǔUCxeV=&pڈ}ݰ>+ҀK8J.jlc:\9hzgd? M?@yM|P4
˜Z!j&j>`Tۮ&g KS}eXe6\nFoԫPrۋwrVYWҼV7ϧec5	z
}M!񯿍	\r8pYv  
^b4'C]EyW!'kDez!bUj2ٔv4.j+Uյ©&tH|s2A LNof0Q?r^ +˸RfA/>>?;>ph6`/R7n{βun[ZuUTif*[KSTMw&Qg\e9DkwZ`"Rq?\~+-Uz$(TU=ҩwE{պO9r, !MG($e3
:MUB-z[DcX
XUp|8節i?BQT:+X])7߁Wsm^;&C
rGtv2q>L.6my	V<KYB!edau%yW^ً\AZw1}as=ӝM]s칍8jU+v&iPgXNƖ	)E]0T_XᓼaYg6<;G0>ޛEϬ]N .4p@2xO1)%UPn|tC]8ʹ/V|ӧV^J$L-ǕB-oqqhHQXpCgӯ܂F4uI&t6ƓߦP2`",-{>,Ya9kg?wG#ei6INFVz8Swd9*'NYbCv;wXKV10Dj[QÂ/[C9Z,CK
I*]	sܙP|)2VO*uDy{P Ռ'5VD+J'5\bnG"ɡ"!yef_ ,(fG/H @7(
yRGY
N֠"ZdF!iz/iS"9A6ZǂBITP'fy&?34ixZgO/'9uPdCYi5
i~c#Qǫ pw.<<"鳏mXDOK®5Ŀ32m!͘_50k_$34.Zjn/notXi5xId$oVm-C`1ӎ'V4x:~8ũ3MDoC4ZoBd;[ G,RRrr&֥zkjq9bneƒ˨?5~Cr͡ПaaayS0uWJ
V_-3+S>QEDzj8X(zꂪ7 tІT
^Z)BLZݫ`ip.0mnx+E$Uܫb@Ç<L2IP;f.$Q^h9 /V9P!xdv0Ӂ'y#lNE/X1?//rO|T+U9ݸl	gE+HW|nH\
5q3sDhNJ-i*ZE7<O%9H\MM=8@	{
p(Ӟ&0g(*Z>i<w2x];76e^M[a%ME}|RJ^[D,hv'8Ӣ
 *^[ݪzuF~пrUP`]?
}7$Qb,ms(J et@61\vx*qb+:ƢS@p)4Ϋ
mH`kRH
` 
|,F牼1ͣtH|%/K	8fnL,>5Ďnl[YrLlC7jWm"Wn;8t-Ϲ]zGz|>{A؊8ŽˑL9e,6P{[@`00Ӑy`|u"B#'80|̔7J]Qǝ"/۩c~ }<π;x~nZ]ʎҏ͢F|OȨRbߎ t|?GF <{iƣ	ݨ#2I5l7S:ڥu
Ɋye?b@.&e;ŀS?$_(bAŅB޵@zy1bȉqc'W]9;yV{]xyy eR]$rl^*>987BJ۔6Ɋ2? T*"HưЭU=x"r|?یGȿZ9	y5fEvҨQ@z9醅FfHE[%>T{	
sFU
>KײZm58/=Gԯ/fއhI4.v]|MvQAeU.h.ٶF~H[O_~;AkB)WTgb-HmbFM7Bf;~i`j)7
)FXBfY          
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      @~                                              (      GCC: (GNU) 10.3.1            GA$3a1 `             .shstrtab .interp .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .text .rodata .eh_frame_hdr .eh_frame .init_array .fini_array .dynamic .data .got.plt .got .sdata .bss .comment .gnu.build.attributes                                                                                  8      8      %                                           `      `      $                              &                                                        4   o                                                >                         `                          F             (      (      '                             N   o       P      P      H                            [   o                                                j                                                     t      B       x      x      @                          y             
      
                                  ~             `      `      
                                                      |                                           d      d      |                                                                                                 0~      0>                                                8~      8>                                                @~      @>                                                      @      '                                          (      (P                                                      P      0                                          (      (Q                                                 0      0Q                                         0               0Q                                                 @      DQ      $                                                    hQ                                   