‰PNG  IHDR @ @ ªiqÞ pHYs   šœ —tEXtComment ELF>@@пO@8 @! @@@@@88@8@@@ 7F 7F FFFF(# lFll``TT@T@DDPtdDEDD44QtdRtdFFFFp)p)/lib64/ld-linux-x86-64.so.2GNU GNUvF:UɑeSs @ BE|:RqXI?N?|6A\ML"    @ P @g$] A Z ) V JV   In jNk=\G,doS Fg! Lt x^H:Wzu}g Qus[AW  & ]  - |1 n t <<t^1S4/: b' w& /bk zJ 2qQXK s|(_8 "4l  jNleC* ngmf  >i N@ "@$E:"@libpthread.so.0__pthread_key_createpthread_sigmask__errno_locationfcntlpthread_cancelpthread_createpthread_joinwaitpidpthread_mutex_lockpthread_mutex_unlockpthread_mutex_destroypthread_mutex_initpthread_mutexattr_initpthread_mutexattr_settypepthread_key_deletepthread_mutexattr_destroypthread_getspecificpthread_setspecificconnectpthread_oncepthread_exitlibz.so.1__gmon_start__librt.so.1libssl.so.10_finilibcrypto.so.10EVP_aes_128_cfb1EVP_aes_128_cfb8EVP_EncryptUpdateEVP_aes_256_cfb128EVP_aes_128_cfb128EVP_CIPHER_iv_lengthEVP_CIPHER_CTX_set_paddingEVP_aes_192_cbcEVP_aes_128_cbcEVP_aes_256_ecbEVP_CIPHER_block_sizeEVP_CIPHER_CTX_cleanupEVP_DecryptFinal_exEVP_aes_192_ofbEVP_DecryptInitBIO_new_bio_pairEVP_aes_192_cfb128EVP_aes_128_ofbEVP_EncryptInitEVP_DecryptUpdateRAND_bytesEVP_aes_192_ecbEVP_aes_256_cbcERR_clear_errorEVP_aes_128_ecbEVP_aes_192_cfb1EVP_aes_192_cfb8EVP_EncryptFinalEVP_aes_256_cfb1EVP_aes_256_cfb8EVP_aes_256_ofblibdl.so.2libstdc++.so.6_ZNSs4_Rep10_M_destroyERKSaIcE_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi_ZNKSs5rfindEPKcmm_ZTISo_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE_ZNKSt5ctypeIcE13_M_widen_initEv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev_ZNSo9_M_insertImEERSoT__ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev_ZNSs4_Rep10_M_disposeERKSaIcE_ZTv0_n24_NSoD0Ev_ZNSi5seekgElSt12_Ios_Seekdir_ZNSo5flushEv_ZSt16__throw_bad_castv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNKSt12__basic_fileIcE7is_openEv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl_ZTv0_n24_NSoD1Ev_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZNKSs4findEPKcm_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS__ZNSsD1Ev_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE_ZSt19__throw_logic_errorPKc__cxa_rethrow_ZNSsC1ERKSsmm_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB__ZNSs14_M_replace_auxEmmmc_ZNSt8ios_base4InitD1Ev_ZNSs6appendEPKc_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E_ZNSt6localeD1Ev_ZNSsC1EPKcRKSaIcE_ZNKSs7compareEPKc_ZNSt6localeC1ERKS__ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv_ZNSi4readEPcl_ZNSdD2Ev_ZNSt8ios_baseC2Ev_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv_ZSt20__throw_out_of_rangePKc_ZNKSs4findEcm_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZNSs6assignEPKcm_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base_ZNKSs4findEPKcmm__cxa_begin_catch_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE_ZNSoD0Ev_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv_ZNSs4_Rep20_S_empty_rep_storageE_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev__gxx_personality_v0_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4__ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi_ZNSs12_M_leak_hardEv_ZNSs6appendEPKcm_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNKSs17find_first_not_ofEPKcm_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2__ZNSoD1Ev_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE_ZSt4cout_ZTVSt15basic_streambufIcSt11char_traitsIcEE_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE_ZNSolsEi_Znwm_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev_ZNSs9_M_mutateEmmm_ZNSs4_Rep9_S_createEmmRKSaIcE_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6__ZNSt8ios_baseD2Ev_ZNSs6assignERKSs_ZNSo3putEc_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE__cxa_end_catch_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZSt4cerr_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale_ZTVN10__cxxabiv120__si_class_type_infoE_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base_ZNSsC1ERKSs_ZNSt8ios_base4InitC1Ev_ZTVSt13basic_filebufIcSt11char_traitsIcEE_ZNSt6localeC1Ev_ZNSs6appendERKSs_ZNSt12__basic_fileIcED1Ev_ZdlPv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm_ZTVSt9basic_iosIcSt11char_traitsIcEElibm.so.6libgcc_s.so.1_Unwind_Resumelibc.so.6socketfflushstrcpy__printf_chksprintf_IO_putcstrncmpposix_spawn_file_actions_addclosestrrchrpipegetpwuid__fdelt_chkclosedirsignal__stack_chk_failselectmkdirreallocstdinstrtollstrdupendpwentstrtolsymlinkldivfdatasyncfgetsgetpwnamcallocstrlen__cxa_atexitposix_spawn_file_actions_initsigemptysetmemsetisalnumchdirmemcmp__fxstat64__fprintf_chksigaddsetstdoutfputcfseeko64getrusagefputsposix_spawn_file_actions_destroystrnlenmemcpyfclose__memmove_chkstrtoulmallocumaskftello64setegid__lxstat64opendir__xstat64getenvstderrposix_spawn_file_actions_adddup2seteuidreadlink__strncat_chkstrncasecmpstrtoull__realpath_chkfilenochowngetcwdfwritefreadgeteuid__memcpy_chkstrerror_rlocaltimestrchrfdopenreaddir64qsortsleep__strcpy_chk__sprintf_chkmemmoveposix_spawnpfopen64strcmp__libc_start_mainferrorstpcpyfree_edata__bss_start_endmy_uni_ctypeGCC_3.0GLIBC_2.2.5GLIBCXX_3.4.11GLIBCXX_3.4.9CXXABI_1.3GLIBCXX_3.4.6GLIBCXX_3.4GLIBC_2.15GLIBC_2.4GLIBC_2.14GLIBC_2.3.4       @ P&y  t  ui  `a ) &ӯk4)?t)M] Yii d nui  ti y0k0l@kpkkxkk,kk@ll"ll`lgl+lml.l#lzll@o HoPoXo!`o1hoMpoWxoaoqoooooooooooooo p p(p0p8p@pHp Pp Xp `p hpppxppppppppppppppp p$p%q&q'q(q) q*(q-0q/8q0@q2Hq3Pq4Xq5`q6hq7pq8xq9q:q;q<q=q>q?q@qAqBqCqDqEqFqGqHqIrJrKrLrN rO(rP0rQ8rR@rSHrTPrUXrV`rXhrYprZxr[r\r]r^r_rbrcrdrerfrhrirjrkrlrnrospsrssst su(sv0sw8sx@syHs{Ps|Xs}`s~hspsxssssssssssssssssstttt t(t0t8t@tHtPtXt`thtptxtttttttttttttttttuuuu u(u0u8u@uHuPuXu`uhupuxuuuuuuuuuuuuuuuuuvvvv v(v0v8v@vHvPvXv`vhvpvxvvvvvvvvvvvHH fHt H5!f%!f@%!fh% !fh%!fh% fh% fh% fh% fh% fhp% fh`% fh P% fh @% fh 0% fh % fh % fh% fh% fh% fh% fh%z fh%r fh%j fh%b fh%Z fhp%R fh`%J fhP%B fh@%: fh0%2 fh %* fh%" fh% fh% fh % fh!% fh"%fh#%fh$%fh%%fh&%fh'p%fh(`%fh)P%fh*@%fh+0%fh, %fh-%fh.%fh/%fh0%fh1%fh2%zfh3%rfh4%jfh5%bfh6%Zfh7p%Rfh8`%Jfh9P%Bfh:@%:fh;0%2fh< %*fh=%"fh>%fh?%fh@% fhA%fhB%fhC%fhD%fhE%fhF%fhGp%fhH`%fhIP%fhJ@%fhK0%fhL %fhM%fhN%fhO%fhP%fhQ%fhR%zfhS%rfhT%jfhU%bfhV%ZfhWp%RfhX`%JfhYP%BfhZ@%:fh[0%2fh\ %*fh]%"fh^%fh_%fh`% fha%fhb%fhc%fhd%fhe%fhf%fhgp%fhh`%fhiP%fhj@%fhk0%fhl %fhm%fhn%fho%fhp%fhq%fhr%zfhs%rfht%jfhu%bfhv%Zfhwp%Rfhx`%JfhyP%Bfhz@%:fh{0%2fh| %*fh}%"fh~%fh%fh% fh%fh%fh%fh%fh%fh%fhp%fh`%fhP%fh@%fh0%fh %fh%fh%fh%fh%fh%fh%zfh%rfh%jfh%bfh%Zfhp%Rfh`%JfhP%Bfh@%:fh0%2fh %*fh%"fh%fh%fh% fh%fh%fh%fh%fh%fh%fhp%fh`%fhP%fh@%fh0%fh %fh%fh%fh%fh%fh%fh%zfh%rfh%jfh%bfh%Zfhp%Rfh`%JfhP%Bfh@%:fh0%2fh %*fh%"fh%fh%fh% fh%fh%fh%fh%fh%fh%fhp%fh`%fhP%fh@%fh0%fh %fh%fh%fh%fh%fh%fh%zfh%rfh%jfh%bfh%bffUHHHxw J]UHHHxw 2]UHHAWAVAUATSHHHHmdH4%(Hu1H[}D1E1E1HD9tWfD~LHH>HUHHH8QuEHmSA؉9uHmLLH5fH=QLL֨ASAHudH34%(DH[A\A]A^A_]DLѹmHHI8LmHHI8MHHLmI8-HHHH8JuH SAI8DHH8JruHSAI8DHH8J]uHSAI8DHH8J@uLWSAiHH !H=fpHX8H (HOfLLdt>H=mH5HuAHX胅H= f7-H=+mH5ԵOH=mH5HHH5HLHHsHI6HH^'HI4$HIH'H8H@LHLpAHH`HHxHHHxA#~zAAH=1mH5 M$$M.LHH5GHH5HLHH5HEERHHxgHm8WH=mH5YDH,AHHHx#HHHxHHHxHHHxHHHxHHHxHHHx-H5m8H=emH5nsEH`0H̳mE1H߀8HlmH0A@%H8H@DH&AH`L@LHxEHHHxHTmLLLH0$HxL(AHHHxELLHwmL LH0u$HpH`MH(L%AAH HHxOEHHHh0H)mL0LH0$LhHpLH`H(#[AH0HHxEHmH8HPHHPL@H LH0LHY H@LHxvHuMHPH=,mH5]L8MLHBH5H3HHPHHŞHޱmH8HHHmHHHLPH LH0LH HPLHxH%H=mH5HHOH5EHpHXHHHHAHhLHxܝH=pmH5M$$LHƅ0H==mH5M$$H=$mH5UM$$AwAtIHLHLHxHx0HLHxmHLHxZHLHxGHLHx4HLHx!HLHxHLHxHX|H=f賿H;HGHH`H@LHx-IHH`HHxHHLLHxsHHhLIH HLHx9HHLHLIH`uHLvHLzH菛HxS HmH5NHH`HxHoHHHxHm8HmHVmH0HLpH LdLH HpLHx&H`H5pHH H5HL LH8H@LH)t>H=mH5~HHz HCIHL?H2HmH8 ~HݭmH`H5L8GLHAGH=?mH5p]pHH7PHmH=mH5 L %LHH5H HIHPLMHxF>IH@LMHx#IH0HLHx4HLHL`H~T@HCLH5keH LfLHHLHx(IHpLMHx kHΙmH5HH`HxHH1JHxH`AH`~pH`HHxptjH=ėmH5hHxH)H5HJH2DAIHLMHxwDmIH`HLHx{H_mHIHHLHxJIHHLHx[HSDf.UH=mHAWAVLuAUATSH]H(dH%(HE1 H=UeHH5ϚmH5LH@L-mH5eHLdHELeLHxLL-9aHJLJH5tLHL=mH5eHLcHELHxHLLH5[HLHHAmH5"eHbcHELHxRHHLHEdH3%(uH([A\A]A^A_]HHELHx HbHHEHuHxHD@UH=mHHdH%(HE1}H=eHH5PmHUH5H=1mH=eeHH5mHEdH3%(uÐ;f.UH=mH]H=HeHH5Әm1I^HHPTI EHEHǰ\@f.UH-HHw]øHt]UH-HHHH?HHu]úHt]Hƿ=9muUH~]&m@H=0etHtUFH]{sUH6H?H]UHAWL}AVLuLAUATIH5oSH8H}LdH%(HE1HEPxLHEPIfx LHEH@I9tP1)I$H;Xw~A\1HLHSAuLMHHuHEIPH}LHEHxH;=euIHMdH3 %(HEu[H8[A\A]A^A_]H=HHELHxHQH=eHWtLPJHf.UHSHH7H=UeHVH5HHH5uHߺ H5kHߺH5^HߺH5PHߺmH5AHߺYHHH5[]?Df.UHAVIAUATS-HeH5HHH@LMA|$8>AD$CHHH5Iĺ"HI$H@MM1A}8 AECLjHH5MHI[I6LHVLH5/Iĺ H5I$H@MMA}8AECLHH=RqfHH@LMqA|$8AD$CHHH5Hú9HHH@LMA|$8UAD$CHTH|H5HúAHEHH@LMA|$8!AD$CHH(H5HúHHHH@LMuA|$8AD$CHHH5Hú.HHH@LM!A|$8AD$CHXHH5yHúHHIHH@LMA|$8AD$CHH,H5uHúGHHH@LMyA|$8QAD$CHH[A\A]A^]H= of锪@LI$ LP0@LIE LP0@LhIE LP08@LHI$ LP0a@L(I$ LP0@LI$ LP0@LI$ LP0@LI$ LP01@LI$ LP0e@LI$ LP0Df.UHSH(dH%(HE1?tcVu>H]HUH5~HHHEHxH;=0euT11HMdH3 %(u0H([]H]HUH5}HHJH=ReHWt4HuXHHEHuHx2HPJHƐf.UHSHHUHdH%(HE1Ht$HHMdH3 %(HuH[]H5f.UHSHu_H[]@UHSHu _t.H[]Df.UHSHlu_H[]@UHATSH]H0D'HdH%(HE1f1HDHUHHzH;=3euHMdH3 %(u H0[A\]H=eHOt8Hu߉EEHHEHuHxfHJqrUHAVAUATSHLkIEHIIIL9fDIILkL9u@HI9HkuH5MH$mH HH@LMA|$8AD$CHE1H[A\DA]A^]HI9[Hu{fHmH5JH HxHH5zP@LhI$ LP0b@I$ILsL9u9H5VzL[A\ADA]A^]HI9tHoAuHmH51HHH@LMtyA|$8t)AD$CHH[A\DA]A^]@LI$ LP0H5gyL)8,H5%kf.UHAUATSHHHHxIHLL<uAHD[A\A]]@LAuL+H׆mH5yHMLLHHH5M!HHH@LMA}8AECH=HeNHImH5‚)H%HH@LMA|$8t-AD$CHE1H HD[A\A]]LI$ LP0LIE LP0DHHHxw Gf.UHAUIATIH5wSHӺHH5L1H5H1HLH5[A\A]]1|ff.UwH?Hv1]Ðff.UHAWAVAUATSHH8dH%(HE1HH@HHWIH;BLuH}H5&wLeHu1HHN3It$1HIHNHAH5RH˿HLH11HHPL%FeE1HEHxL9t1H=eHWnL E1HMdH3 %(DH8[A\A]A^A_]IHHJIT$HRHH)H9HFH91HHSH5{HHLHHI$11LHPL%^efHULzL)LHHL;xwtHLI|$LNHEL%eHxL9udH11HHP]H=;uaLmHHELHxZHH=t6PJHH=eHWt5LmL!rHHELmLHx뉋PJHfDU1ҹHAWAVAUIATSHHD'EtyH5tH誽HIAEH3D^L|Ex$HoH3DVN|6Ex HVH3LHHHxtnEegH5wH1HItxHDJL,Ex#HHDBN,"Ex HHHRLHAPHD[A\A]A^A_]fDH11HHPbH5s1ҹH蚼HBAEH3~xHHEeH3HEL4H5Gs1ҹHTHIHt@Jx H)HJT"AELHAHHx(Bx HHHRUHAWAVAUATSHHhHHHHdH%(HE1HxNHeHEHEE1HEHEHHEHEHHeL`LpLID$LHHx$L-eH{IEHIE@HNHsH?L]HLHH{03HHHpHx1HHxH;=eH{p褺$H5 rHHHH0HVH5qHHgHHH1HVMH5qHH2HLH5HI HxLH0HVH5HH{蹹HxH=YmH5p踿HAmH :mHH@LMA8AGCH= mcH苼E1IEH{HIE@HHeHH H{pHdeH{@HHLID$HLHeHH膹HMdH3 %(DHh[A\A]A^A_]fDL谾I LP0 DAfHxw !@HHHxw jսH=eHWWHػF.IHL H{ILLIT$ILHeHHHWLH{pI1HeH{@HHLID$HLH|eHHL\IIjIHHHxչPJHUHHATISHHdH%(HE1Ht5HvH;L$袞H9CHUdH3%(uBHİ[A\]H?HPHH1HHHtLHDUHAWAVLPAUATSHLHdH%(HE1LCuWL%xmH5z*LI$H@N M^A}8AECLHH{H;{HQLHCHHCLmLH5QmLL`L`LLNLLSH{H;{HH$HCHHCHhL%ZeHxL9H`HxL9HHxL9TLH5lLL輺HpLHHIH{H;{H)LHCHHCHxHxL9jHpHxL9@HHxL9qLH5lLL HELHHIH{H;{HLHCHHCHEHxL99HEHxL9HHxL9H H5kLHH膹L}HLSH{H;{HLTHCHHCHEHxL9GHEHxL9NH HxL9H0H5jLHHHLH{H;{H<LHCHHCHEHxL9=HEHxL9pH0HxL9H@H5GjLHHbL}HL/H{H;{yHL0HCHHCHEHxL9HEHxL9H@HxL9HXHxL9HPHxL9HEdH3%(H[A\A]A^A_]Ð1mf1f1)f1f1f1)f1fLXIE LP0Y@HLH EDHHH覠HLH蒠DHLHzDHHHbDHHHF HLH2踷HLdH蕻H=eHW7Hu)H=eHWoHuaH=eHW[uHu轳gH=eHW nHu莳`H=aeHWHu_H=2eHWhHu0H=eHW,LH=eHWHuӲH=eHWHu褲H=weHW LvH=IeHWHuG}H=eHWLH=eHWHu 谳H=eHW^Hu趱H=eHWOHu臱H=ZeHW@HuXH=+eHWq0Hu)"H=eHW"LH=eHW4 LͰH=eHWt-Hu袰PJHPJH͋PJHPJHPJHlPJHPJHPJHPJHPJHPJH;PJHPJHPJHPJHXPJHHH1`HHuHxm#HHH0HuHxLHH@LHx1LH_H HuHx LH_HHuHxLH_HHHuHxvLH`_KHHzHH<_붋PJH^PJH PJHPJHHf.UHAWAVAUATMSH(HDžHDždH%(HE1HHDžHxkHIHIIHHx IHx IHx:HEHL@HH5aL袯HLHpHH;1 H HkHHHHHeHxH9HHxH9H@HxH9LPHH51aLLLLHH; H LHHHHHxH9V HHxH9r HPHxH9 LpHH5m`LWL`HpH5`L:LLLLL-HH; H0 HHHHHHxH9^HHxH9H`HxH9HpHxH9HALH5gLsHLLHHxH9EQLLM9v H=eMM} HULL)IHxH9O I$HxH9k IM9uHHtnHMdH3 %(d H([A\A]A^A_]fHELHIHWH0HpH5f^HZHL_H0HeHxH9A HH;/ H{H HHHHEHxH9s HEHHEHxH9 H=eHWH荩L%imH5Bj$L蕫I$H@N M A}8IAECLQHyH=jmH5jAHjmH5v]HHCHHEHHHHxIH٪HIwLLH0H0HxHHHpHHxצH0LHPHPIvHxIH褦IvI藦LLHPIwI~HEqIwI~dHELHpHpIvHxIH4IvI'HEHxH9-HEHxH9HpHEHHpHHxߥHHpHHxĥM)HIMLxLp~:fHuH}HV_LHLL詪IIuHELI|$HHHpHHI|$Hp3HEHxH9nHEHxH9HEHxH9HxHxH9tH`HxH90HXHxH9H@HxH9H8HxH9 H HxH9t HHxH9 HHxH9 HHxH9 HgmH gmHH@LMg A|$8 AD$CH=mgmŠHwHHHHH`HH;HHHHMHHHHHHHoeHxH9 HHxH9&HEE1HH_LHEHHHpHHH5XHHHH舦HH艿HHeHxH9HH;HBHHH'HHHHHHELHHLHPH5WLԥHLվHHxH9 HH;HH舻HHHHEHxH9_ HEHxH9 HEHxH9$ HEHxH9LH=eHW1 )HfDHELHHI迿H HpH5VH¤HLǽH HeHxH9a HH;"HHsHHHHEHxH9HEHxH9gH=eHW DHEH3L0IE LP0@1}1f1fLI$ LP0L11EHHHHH+_HHHHHHHHH7HHLˌV1~11HHH蛌HHHHHzHHH_$HHHiHHHHH荘HHHHx^듋PJH躛H=2eHWKH+:H=eHWtbHH=γeHWt?H˗qPJHwPJH뚋PJHHHHHHHHTHHXHHxFHHH8HHx%HHHHHxH=eHWt2HPJHPJHH=eHWtRSH藖BH=jeHWt/HgPJH몋PJHH= eHWtRHH=eHWt/mH\PJH몋PJHH=eHWtRH裕H=veHWt/HsPJH몋PJHH=,eHWtYsH)bHHHHxH^FHRFTPJHHHHEHHx贓HH=eHWH莔H=aeHWt~H^HHEHHxHHxӋPJHwHHEHHxdPJH{f.UHAWAVMAUATSHHHDžHDždH%(HE1HHDžHxHHIIHHHxIEHxLHUH5GLMHLHLH@HH;H6H HHHHH;eHxH9@ HHxH9 HHxH9 LHLgHEHH5GHHH8胔LLHHHeHzH9Y LLM9QH=eMHteM}HMw fDLL)IHzH9I$HzH9IM9uHHtHxHHMdH3 %(H[A\A]A^A_]DL%QmH5R,L蝓I$H@N M A}89AECLYH聐H=RmH5kR#IHRmH5~EHHCHHEHH@HHxIH HIvLLH0H0HxH0H HpH0HxߎH0L0HPHPIvHxIH謎IvI蟎LL8HPIwI~HEyIwI~lHEL8HpHpIwHxIH(L%MmHH5AHHL臏H3HLHHHVjIHH@IH {8pCCHLHHHHH,DHEL`H5@HLH8̎HLH蚩HLHHH豧HH;H HHHHnHHHHHHHHeHxH9mHHxH9H`HxH9\HpH8H5?HH@LLL赨H@L֦HH;^H+H衣HHHHHxH9 HHxH9F HpHxH9H=eHWz HufLHIE LP0@H(H HP0 L1HHHHHHzvgHHHHόHH HHHP0]11DHHHHv[HHHHvr2HΉ@HH@HH r HΉ@HH͉@HH膋H=eHWpHu芉bH=]eHWH@VHHEH^Hx*H(:H:H0v:H j:HH^HFH=ΤeHWtRH8ˈH=eHWt/H8蛈PJH몋PJHHHH_HxRH@9HH=$eHWtRH@!H=eHWt/MH@H+PJH뢋PJHfDUHSHHdH%(HE1HeHHHGHHxH;=(eu-H7eH{8HH_|HEdH3%(u+H[]H=qeHWtHuww@yPJHUHSHHdH%(HE1HeHHHGHHxH;=eu5HeH{8HH{HwHEdH3%(u+H[]H=ɒeHWtHuvxPJHf.UHATSHHL%edH%(HE1HeHHHGXHxL9uJH"eHHHCHHxL9uXHǑeH{8HHzHEdH3%(u-H[A\]H=eHWt?HuvwH=֑eHWt#Huu넋PJH뻋PJHUHATSHHL% edH%(HE1HeHHHGXHxL9uRH2eHHHCHHxL9u`HאeH{8HHyHvHEdH3%(u-H[A\]H=eHWtBHu uvH=ސeHWt&HutyPJH븋PJHDUHATSHHL% edH%(HE1HeHPH@HGpHeHHHGHG`HxL9urHeHHCHCPHxL9HeH{@HHCxHeH{pHHueHHCppHEdH3%(u4H[A\]H=ЏeHWtMqHuscuH=eHWt*aHusSPJH뭋PJHLIz@UHATSHHL%edH%(HE1H5eHPH@HGpHeHHHGHG`HxL9uzHˎeHHCHCPHxL9HkeH{@HHCwHceH{pHH%eHHCpoHxsHEdH3%(u4H[A\]H=xeHWtMiHuzr[@tH=HeHWt*YHuJrKPJH뭋PJHАf.LIz@UHAWAVIAUIATLgpSHLHnHkeHǃHƃPƃQHǃX1HHceHǃ`HǃhHǃpLHCpvuHoeH{@HCHCHC L{HC(HC0HPH@HC8HCpHeHHHCyH}eH{`CHLsXLHHCPHleHHCOoChLLtH[A\A]A^A_]IHeLHHCpmLwLIH%eHLIf.UHAWAVIAUATSHHdH%(HE1HpHxhIHlHeHDžLƅƅ1HDžHDžHHDžHDžHHeHXH@HpHHHCHpHpHDžxHxsHge1Lh H@(LHHIEHHH@I|CsH$eLLHPL`H@0LpHHID$HpHyeHDžHDžHDžHDžHHDžHDžHpH%eHhHHeH@HHeHHvH:eHL=ԉeDžHHwHhHIGH7rHHxhHjH eH1HDž ƅ(ƅ)HDž0HAHDž8HDž@HDžHHHHHCHHHHDžHxqLH1IEHHHH@H|SqLHID$HHH eHPHDžHDžHDžHDžHAHDž HDž(HHAhHHHA@H KeHHAH,uH meHDž8HAHwHhHIGH@qpHPHxhH iH eHP1HEEEHEHAHEHEHEHHHCHHPHPHDžXHxoL`H1IELH`H`H@I|oLPHLID$HPHPHeHDžpHDžxHDžHDžHHDžHDžHPHeHhHHeH@H`HeHHhqsHeLIuHhDžHHhIGHnIFH@HHH iHPHnH LHhH0HMHH5'#H{lH{H5|lH0H{HVhlH5HHQlHPHHV>lH5H*lH0HxL9H HxL9uHPHxL9.H@HxL9HMf1LhH5Lkt"IܺrH5LkuAFLANHHIv8EnDEf@H߉gHHHIv0HfgHHǕHIv(HDgHH襕H`Iv H"gHpH胕HH5bH{jHpH{HVjH5HHjH5"HjHHHVujH5HH^jH5HJjHHHV7jH5HH jH5H jHHHViH5JHHiDHnH5)HHiDHnH5HHiHnH5HHyiHknH5HHTiH5H@iIvPHHV0iH5HiHpHxL9H`HxL9HHxL9HHxL9CHHxL9 HHxL9_ HHxL9 HHxL9 HH5Hx`hA~`HHxeH59hHH5HxhHH5~HxhA~`{L IvLdH`LHqLLLcHLPLHLcHL+LH5 I~ogHI~HV[gH5HIDgHLHV1gH5HIgH`LHVgH5HfHHxL9q HHxL9 HHxL9 HHxL9L H`HxL9 H HxL9HIWHPHLHL9H9mHH)H@1HIlIIHHHLHdHM9 H`LPH`HL5gH`HxL9}HIWH@HLHL9H9H-H)H01HIVkIIHHAFM9H`L@H`HLfH`HxL9RH IWH0H3LHL9H9HqH)H 1HIjIIHHA@M9 H`L0H`HLeH`HxL9v HLcLHcLHcH0HxL9 H@HxL9 HPHxL9' H1}eHHPH}eHhHH }eH@H`HK}eHHhHHxL9 H|eHHhHHxPfH #}eLiHI0LPIEHHPH |eLa HYLq(HIL`ID$HL`HPHCHPH 5|eHDžXHAHHHxh]H|eHHH|eHhHHH{eH@HH2|eHHH@HxL9= H{eHHHHxPdLHIEHLID$HLHHCHH B{eHDžHAHHHHxh\H%{eHHpH{eHhHH{eH@HH?{eHHHHxL9 LHzeIPHHcLpHIhIEHpLID$HLHpHCHpHKzeHDžxHH[HEdH3%( H[A\A]A^A_]H5+`I9HI)H@1LfIIHHtKHLH^HM9 H`LPH`HLaAELAE뽐I9DHI)H 1L fIIHHA@M9H`L0H`HL9a_@I9H@I)H01LeIIHHuKAFM9H`L@H`HL`?HLHV]HHLH@]HHLHL&]LHHLHL]LHUHHNHRHHHHHL0LHp` `CHL@LHp`_tHLPLHp`_M/H=[H`IH0HHxZH@HHxZHPHLHxZHKaH?aH3aHbMH=p[H`IH@HHxbZMH=8ZHHPHHx1Ze@H= ZH=ZH=ZH=veHWtXdH0ZSHH`H0HxYmAEMeCD%PJHLPHH LHxtYH=WveHWH`HMZH= veHWthH`HZH=ueHWtBH`HYnPJHnPJH딋PJHH=ueHWtRHPYH=`ueHWt/HP]YPJH몋PJHH=ueHWlHPY[HHLPLHxWHLHxWHLHxWHLHxWH`LHxWPJHiH=dteHWtXH`H^XH=1teHWt2H`H+XPJH뤋PJHH=seHWtX=H`HW)H=seHWt2H`HWPJH뤋PJHAFM&CD&IH`HHxLV@H=/seHWtRHP,WH=reHWt/HPVPJH몋PJHIH0H`HHxUH=reHWt=kHVZA@M CD  PJHH=;reHWt*H`8VHlPJHH=qeHWt*H`UHPJHH=qeHWtRFH`U5H=qeHWt/H`~UPJH몋PJHH=7qeHWtR\H`4UKH=qeHWt/H`UPJH몋PJHA@M CD AEMeCD%h~VIH`H HxSH=gpeHWt:H dT~AFM&CD&2PJHH`IH@HLHx S>H6LHI~HoeLHpOHH1oeHhHHPHPHHSHHPHDžXHLHI~~HOoeLHp;OHHneHhHHH)PHHHSHHHDžHLHI~HneLHpNH@neHHHhHOHZHpHHSHHpHDžxHH=nneHWtZ,HoRHLPnHLPHLPHLPTPJHH=meHW&H`HQIHpH`HHxPH`HHxPHHHxPHHHxPHHHxqPHHHx^PHHHxKPHHLHx5PiPJH*IH`TIH`XIH`\IH``IH`dIH`hIH`lH=leHWH`HPH=hleHWthH`HbPH=5leHWtBlH`H/PXPJHnPJH딋PJHH=keHWtmH`HOIH0H`HHxNH HHxNHPHHxzNUPJHIH`IH`UHATISHHjedH%(HE1HGHxH9u%I$HxH9uAHEdH3%(u-H[A\]H=jeHWt?HuNPH=jeHWt#HuN뛋PJH뻋PJHUHATISHHiedH%(HE1HGHxH9u&ID$HxH9uAHEdH3%(u-H[A\]H=!jeHWt?Hu'NOH=ieHWt#HuM뛋PJH뻋PJHfUHAWLAVIAUATSH8 dH%(HE1H1҉I1HDžHDžK߾1K1LHHH@HHHHLcALLYSALAAB Lσ?D)IL *SH{L1AEL @HLMtpLLQH~%tAUuI>HLNH@HMdH3 %(H8 [A\A]A^A_]fDL% mH5LmNI$H@N MtEA8t!AGCL1GHYK<@L8NI LP0M;Of.UHATISHHgedH%(HE1HGHxH9u%I$HxH9uAHEdH3%(u-H[A\]H=RgeHWt?HuXK!MH=)geHWt#Hu/K뛋PJH뻋PJHUHATISHH[fedH%(HE1HGHxH9u%I$HxH9uAHEdH3%(u-H[A\]H=feHWt?HuJaLH=ifeHWt#HuoJ뛋PJH뻋PJHUHAWAVAUATASHHdH%(HE1NEL5 mH5IL*LHHH5HHHKHH5HKHDHVFHDHHVFHH;ZH5LKIH@J0H{8tqCCLbDHHL=de1HHzL9HHzL9HMdH3 %(HĈ[A\A]A^A_]@HKH HP0xDHH;B,HXeHH2tpL;MthLELHD^EHH;tAAU uH5iLtJIH@J0HKAUuH51L4JIH@J0H3{8CCLBHGH5"LIAU t-H' mHHtHDHHDyDAUt1H5LIIH@J0HJH5iLlIIH@J0H{8CCL+BHSFH5<LIHpeHWH6L;MtLDLHDCHH;tXAU uH5LHIH@J0HIHHH HP0gAUuH5VLYHIH@J0Hv{8CCLAH@EH5I-L HHHH5WHGHH5qHGHH5HGHDHVpBHDHHVZBHDIHVDBHH;Z H5TL_GIH@J0Hw{8uCCL@HFDL=O`e1HHzL9HHzL9HHzL9H=`eHOd]H|D@HFH HP0?HFH HP07HL;zHH;BH51L4FIH@J0H{8CCL>HCHH5LL8EIwLHVEH5HHEI7HHVEIHH@IH{8CCLc>HBL=^eHIGHHH8HDHV?HH1H;JHzL9H=^eHO`HBDHDH HP0tHDH HP0HDH HP0iAuQHH5LHMDHsLHV=DH5CHH"DH3HHVDHHHH@HHY {8RCCHHHHHhlHhHAH5;H;HHxL9 HpHxL9p H0DHVH'beHHpHfH3HHH;HHD[;HH;pAU uH5bLm@IH@J0HM{8CCL,9HT=H01THxHUHHH\H<^HxH@_HjlH5H?H@HHV?H5HI?H5 L?I$H@IH {8CCLF8HnIH@J0Hj {8CCLw7H;H>H HP0^HPHxHHP]H53"L.>HPLHV>IHH@IH# {8CCL6H:HPHxL9 H`HxHHN]LH`I8HVeHELEEHEHEHHEHEHHWeHHH@HHHpHAHHH1HDžHx>HXVeI~HHHBVeH@H;IvI>I~H:HLH Hx1SAH`HxL9 HHhIGH5Hp:H=ReHOt3`H6C3:JqrHLHxw =HHHHHxr5HpHHx[5L2HxH0HXIHx-5H`!HHHHx5HHHx4HHHx4HHHx4HHHx4HH4QeI~HHHX:HHpIHH@HHPeHDžHH>2I~xH=H=#QeHOtj#H5H=PeHOt;H4Jqr뒋Jqr88IH77IHIHIHR77I&H=/PeHWtRqH,4`H=OeHWt/-H3PJH몋PJHHHHHx2HpHHx2PHH=zOeHWtR3Hw3"H=JOeHWt/HG3PJH몋PJHHHHHx1HHHx1HHH=NeHWH2H=NeHWzH2iIHHHxS1H HHx<1IHHHx1뱋PJHQI볋PJHpa5H=MeHWtbH1PJHH=MeHWt/H1PJH뚋PJH4H4HH@HHx;044JqrH=MeHOCH0&H=LeHOH0H=LeHOHv0JqrH=3LeHOt>H*0Jqr?Jqr뾋JqrJqrR=3H=KeHWtF#H/3HHPHHx~.&PJHHxw ]6I~HL5HHHHHQHpHHDžH{JeIHH+H`HHx-HHHHHx-1H)H8H=JeHWHH.7H=^JeHW$HW.H=*JeHWH#.H=IeHWtrH-H=IeHWt_TH-CPJHPJH3PJH늋PJHJPJH@UHATISHHHedH%(HE1HGXHxH9ID$PHxH9ID$8HxH9hID$0HxH9ID$(HxH9ID$ HxH9aID$HxH9ID$HxH9I$HxH9uLHEdH3%(u8H[A\]H=pHeHW,H=HeHWG^Hu,PH=GeHWXHu+H=GeHW Hu+H=GeHW wHu+iH=XGeHW~HuV+pH=)GeHW+Hu'+H=FeHWHu*PJHdPJHPJH\PJHPJHkPJHPJHPJH(PJHZUHHAWAVAUATSH(LwL/dH%(HE1M9ttH= FeLM}L%{EeLEǐHL)IHxL9uEHHxL9uaHI9uH9Ht*HEdH3%(ugH([A\A]A^A_]LӾpLHMLE)HMLE듾pLHMLEr)HMLEt0+HEHEHL)IHzL9uHHzL9u0HI9uCrDFDBHuHM)HMċrDFDBHuHM(HMUHHAUATLeSHHHHDeHwHdH %(HM1HHWL*HEdH3%(u H[A\A]]I*H{ILHV'L/f.@UHAWAVIAUATSHLgHdH%(HE1I9tYH=CeL-rCeL}tf@HHxL9u9HI9uI>Ht(HEdH3%(u,H[A\A]A^A_]LӹHL'v)HHxL9u HI9u뜋PJ҉HLz'UHAWAVAUIATIHqSHHHdH%(HE1HH0H0HxIHu%IuIh%H0LHPHPIvHxIH5%IvI(%HPLHEHEIvHxIH$IvI$HELHpHpIvHxIH$IvI$HEL-AeHxL9HEHHEHxL9HpHEHHpHHxW$HHpHHx<$HL)L HHHHLxH~kLLBHuH}HV'LHIIHL )H(HxL9H HxL9>IHuHEHHHHyHp#HHpHHxk#HEHxL9\HEHxL9HEHxL9HxHxL9|H`HxL9HXHxL9H@HxL9|H8HxL98HMdH3 %(HH[A\A]A^A_]H= @eHWH$H=?eHWGH#LHuH)HHHH*H=u?eHWtYaHr#PH=E?eHWt6HMHH;#PJH룋PJHHHxHHx!HV4HHHEHHx!HHDPJHHHEHHx!HHHXHHx]!HHH8HuHx9!H) $H=>eHWtRH"H==eHWt/eH!TPJH몋PJHH==eHWtRH!H=j=eHWt/Hg!PJH몋PJHH= =eHWtReH!TH= MMHEdH3%(HX[A\A]A^A_]ËPJ҉HHu5 H= &eHWtLHu H=%eHWt,Hu PJH밋PJHHELhH@(HxH9HEH@ HxH9ufH}L Mt LmLHELhH@(HxH9 HEH@ HxH9H} MLmLrH=%eHWtL{Hu mH=$eHWt,=Hu/PJH밋PJHЋPJ҉HHu g H=o$eHWtLLHuo>H=B$eHWt, HuBPJH밋PJHHELhH@(HxH9uUHEH@ HxH9uH}M,LmLLH=#eHWtBHuH=#eHWHu끋PJHH=Z#eHWtLHuZH=-#eHWt<Hu-PJH밋PJHmPJHf.@UHAWAVIAUATISHHHHdH%(HE1H;{Ht Hw HCLmHLHCLLcI\$IM)IM~HsHH IuLL HEHxH;=!eHEdH3%(HH[A\A]A^A_]HH)HHII)IH<HUHEJHHEt HL)L+LeM9t"DMt LLIIM9uL{ID$MHEIM9t$Mt LLIIM9uLsL;LM9t8H=,!eH eLmIHxH9IM9uH;HtHEHMLcHHHCH?II)IH9HHHEHLmHEL9HtHLHHxI9u HVLHUrHUA4H=< eHWtp Hu<HHEHuHxHk HH9)H HEHEHEPJHHH}H}}HLmHEL9HtHLHHx}L9usH H IHxH9uIM9u:HqɉpLHU@HUH HZH}t,HEH9ELmHt2HLHHxH9]uLmHELH8HH}HH Hf.@UHSHHHH;{t"1Ht HCHHCH[]HHHzUHAWIAVAUATSHPH{hHdH%(HE1H{eHEHEE1HEHEHHEHEHHeLhH@LPHH8IEHPHPHDžXHxHme1L` H@(L`HH(ID$H`H`H@H|HH)eH{PLpH@0LPHH0IFHPHeHDžpHDžxHDžHDžHHDžHDžHPH5eHhHH#eH@H`H!eHHh HJeHsH{hDžHHhHeHHNI7H{HV~I11LHPKLHHeHHPHeHhHHmeH@H`HeHHhHHxH;=6eHAeH{PHHheLPH0H{hIFH(H8HPL`ID$H`LPIEHPHeHDžXHH HEdH3%(uDHĸ[A\A]A^A_]H=eHW.HOIH6eH{hHHLH{IM賆HeHHppIHLLPH8IIUHPHDžXyPJHH@f.U1HAWAVAUATISHh HdH%(HE1LLL@HLLLHHI$H@AD HcLLD$H$E1ALLLPHLƄ H!%tHLDHJHDHL)/HL;'1HudH34%(u7Hh [A\A]A^A_]f.H`UH5lHSHHHH[]@f.UHAWAVLPAUATSHHHI~hdH%(HE1HueL%eLHEEEHEHHEHEHID$HEIt$HPHH@HHPHP1HDžXHxID$ It$(H`HH@HH`H`1H@I|>ID$It$0I~PHPHH@HHPHeHDžpHDžxHDžHDžHHDžHDžHPH,eHhHHeH@H`HeHHhHAeL=eIvI~hDžHHhIGHEHL0HHHHH@LYHD,McdH1LHqHAL9SH HLc5H HI~B H HxL9ZiHIWHHuLHL9H9HHH)H1HIFIIHHHLH7HM9HH H HnH HxL9JHHKHHxL9HeHHPHeHhHHeH@H`H"eHHhHHxL92HeI~PHHhHHI~hHPH@HPHHH`H@H`HHHPH@HPHeHDžXHHHEdH3%(vHH[A\A]A^A_]I9HI)H1L|IIHHtHHLHqHM9oHH H H5AEAEHHHIv`HnM`H=4HIHHLHxLH@H=aH=\eHptv΅H HHHHCHH`H=eHWt-Hvq~y늋PJHIH HHHx AEMeCD%zI~H}It$LfHeI~hHH[HHHPHSHHPHDžXHHHH HHxzH=eHWtqH H=eHWtN#H HHH HxPJH닋PJHH=XeHWt'HUcPJHAEMeCD%,H{Df.UHAWAVAUATIԺSHHpHL=CeH(dH%(HE1H54%IGHPH`HphLHMH5ňHIHMgLeH@LMiHELmH pAFCLHLLuHpIVH;Qt`HHPD I~L9ALeH@LMA~8uLI LP0{fDHLH8.4H8yI~L9H`LPH8HEH HH<AD$CL8HLLHPHx=LHHHRD umLHPPxLHP8[tCHH@LM(A|$8_LI$ LP0IHpHyL9MH`HxL9HPHxL9HMdH3 %(4H[A\A]A^A_]ÐI~L9}Dž4HEH8HHVLeLLGH L8HH%H LHI}H(LHEHxL9HEHxL9HEHxL9HEHxL9*HEHxL9IHEHxL9H= eHWL[HHEHuHxHH WHpDž40H= eHGt0Ѕ~H@H AFPAVH=M eHWtLNPJHދPJHHMIHEHHxL&IHEHMHHxIHEHNHxIH IHEHOHxvH=~ eHGt$Ѕ HuHpQAFPAVH=? eHWtTHMA3(E1HID$ HuHx+HH`LHHaHieUHHHGH]UHAUATIHvSHHHdH%(HE1HeHHGH?LH4HEdH3%(u H[A\A]]UIHCLeLHx^H;LHOLfDUHATSHHHPHvHxl HHHL$A|$/t [A\]DHvI@HIHxvL1ɺH)HH@A|$/t[A\]L$A|$/uUHATISHHHdH%(HE11҅t!HudH34%(uyH[A\]@I$11LHPLHڋ H!%tHLDHJHDHH)LvfUH5HHATSHH dH%(HE1HtULeHH1LqLHHEHxH;=eu?HMdH3 %(Hu(H [A\]f.H11HHPMH=eHWt2HuHHEHuHxHFPJHȐUHATISHHHxvH8/tH5pLHUHMH[A\]Ð@UHSHHH+H#HH[]ÐU1HATI1SHHHPSHLH[A\]ff.UHHAUIH5ٖATSHH(dH%(HE1HtPLeHH1LLLaHEHxH;=duIHEdH3%(u5H([A\A]]fDH]H5HUHHL7H=?dHWt4HuEHHEHuHxHwPJHUHAUATSHHdH%(HE1HJdHHHGzHEdH3%(u H[A\A]]IHCLeLHxH;LHLff.UHH]fUH]fDUHH]fUHATSHHH7dH%(HE1H~u&1HMdH3 %(H[A\]DLLaH=w1LLeuH11HHPL H!%tLHDHJHDHL)BH*L;f.UHGHHx]@f.UHHAWAVAUATISHH5HH(dH%(HE1HIHIUH@HL)H9LuHLLL>HEL=dHxL9HLL1vLL+HEHxL9uVLH]dH3%(u:H([A\A]A^A_]I|$HI$11LHP?H=dHWtkHuH=dHWtTAHu3H=rHHEHuHxHPJH돋PJH릐@UHATISHdH%(HE1 uEI<$Ht HǻHMdH3 %(H[A\]@H@LIHjH5ؑHLHH@HP1Htah%=H@HxH;= daH=~dHWtSDH?}317HH@H?Hx=HPJHUHATISHHdH%(HE1kID$HxuHMdH3 %(Hu0H[A\]@H5HIt$HoH;HuIHLff.UHSHHuH[]DH; HtxHH[]@1@UHATISH dH%(HE1gHt5Hp HUH]HtAHHL~HEHxH;=/du9HEdH3%(uNH [A\]DH5HHL6H=ldHWt9Hur;HHEHuHxGHPJHUHAUIATLeSLHH8dH%(HE1rHCHxt H5ՎLHsLHuLHVHUHzH;=(duHMdH3 %(u H8[A\A]]wH=dHOt:HuHEHEHHEHuHxWHJqrfUHAWAVLAUATSHPH8H1dH%(HE1H%Y-%m-%dE %XHEHHyHLHHPHHPH HPH(HP H0HP(H8H@0H@H;dHH{XHdHEHEE1HEHEHHEHEHHdLhH@LPHHIEHPHPHxHdH{@HDž`HDžhHDžpHDžxHDžHHDžHPH4dH@HHdHHXH+dL%dHsH{XDžHHXID$H.L6HUHsHKXLE1Hz H$1H|$HiHI|$HHHpLxH9L9]ML)H1HHHIHHHHLLLHM9<LHHLHHxL9HHHVPH5SHLH]dH3%(HXH8[A\A]A^A_]f.L9ML)1HHHHHIHHt_HHLLLHM9jLHHL&FAA@AA@fDHHHsPH H)H=LIHLHxHLCLHCH=TH=dHWHH=dHW+HH=SdHW#HNHA@IADyHA@IADIHHHxPJHHH{I\LPHIEHPHdH{XLHHtIHHHxeOPJHIIE뿋PJH@f.UH6H]HVO@f.UHAWAVAUATSHHHL%UddH%(HE1HG(IT$HHUHLk H9L9fML)HU1HIIIHHHLLHM9gLmH}HMLHEHxL9{`HEHxHCXL}A 1L+HID$HEI$Hc LmH{PLH5W$HI HsXLHVH5gHILLwHuHHVHEHxL9;HUH5wLHuH{HHV1C@HsHtHN1H8HEHxL9H{P~HEHxL9F1HMdH3 %(,HH[A\A]A^A_]fL9MHUL)1IIIHHt8HLLHM9LmH}HML"3DAEAGDAEAGf.LmHHHwHH}fDH9H={LmHHELHxH<@H=LH=dHWLH=dHW)QHuCH=RdHW"HuPH=#dHWL"AGM7CD7aAGM7CD7HHEHuHxHEHuHxHHPJHHHEHuHxPJHRHHEHuHx`둋PJHHHELHx;iPJHfDUHAUAATISHdH%(HE1Hze#0u'HMdH3 %(uiHĘ[A\A]]8?At1HP¾II1ML11JHUHAUATSHdH%(HE1HL%1lHA<$HA>HtIHAx/t/@HL41HMdH3 %(u}HĘ[A\A]]DAt8H;HPHH11IfDHVL輍1t11/~t1/uH1lH:HtUH]@f.UHAVAUAATSHHdH%(HE1H=t /tIM9sA~~fDHIzHI/DM~AF/LDII9 ADt;LH谾Du(J4;>/uH{~0D AEM9s?Et:HۉlLLH0Uu!B=/uKt=I}ƅ~ѫLH腫tQLH!%tDHVHDHL)Hހ>uq.C/CfDHEdH3%(u[H([A\A]A^A_]H耽L@LL1H蜾UE1E1DHUHATISHHHdH%(HE1Hڋ H!%tDHJHDHH)t*/t HHFƄ/ƄLHH}dH3<%(u H[A\]fUHAWAVAUATISHH(HdH%(HE1 ~t2HLHMdH3 %(H([A\A]A^A_]f/IL{/L蟻HIAH{A|IAMpM McHLL)ITH苻HIHH=/MHtC|//IEJ<+t LaLLHH<IHlLsL8oLI*xUHAWIHAVAUATISHH(HdH%(HE1!IHHM0LI襺LH=v2LLHMdH3 %(u1H([A\A]A^A_]fDJ<3L謽HL躾f.UHGHtHfD/HDH uHH)]f.UHSHHHt?H)H3H|H9tPt/t /@HH[]fUHAVIAUATIHSHDHHLIr[L)A\ILA]A^]UHAWAVAUATSHxHdH%(HE1H)HFHIƅHHHHcHHH)HD$HpHpHu HHxHHHHHHCHf.HH+1HLhI HHH9(IILf.L9KD5Hy M}HLMIH(fIFI4$IvI$I)I)L9MHLMdHLЅwuHLJ4 H)HHI9AD!<<J#MI)I9AM9AI9HBIILHHy1E1AoD5IAo 4AL5A4HM9rIH9I4 DAE>A}IEI9AE~A}FIEI9AE~A}FIEI9AE~A}FIEI9AE~A}FIEI9yAE~A}FIEI9\AE~A}FIEI9?AE~A}FIEI9"AE~A}FIE I9AE ~ A} F IE I9AE ~ A} F IE I9AE ~ A} F IE I9AE ~ A} F IE I9AE ~ A} F IEI9tAE~I)I)L9A}FdLIL9LLHHHHHHHHHHxH9cHEdH3%(j0He[A\A]A^A_]ÐLLDAUIHM9AMPwLHHHI(GMHHILIK6IHLALHHڅLHhHHHAԅHHhsHhHHLAԅHHh'LN,1H`HHhLILLLAԅLHhH`H`LLhHHAԅHLhH`HhHHLAԅHHh&HHhHIL+LAԅHHhMLHhHLLLAԅLHHhmHhHLLHAԅLHHh%HhHHLLAԅLHHhLhHHHHAԅHHLhHHLLAԅLLLH!LpHHL}DLLAԅy/fDI)LLAԅxM9Lt{IEIIUIIH)L9IsLH+HL)H9HeHLpHLHHHDIDIvIUHL)I9IuAI9@A6H@H9AD!@@H9оHBIILHHt?1E1AoDIAo ALAHM9rIIH9IUAuA>H9A}A6AUAvAuAVIUH9rAUAvAuAVIUH9SAUAvAuAVIUH94AUAvAuAVIUH9AUAvAuAVIUH9AUAvAuAVIUH9AUAvAuAVIUH9AUAvAuAVIU H9AU Av Au AV IU H9v~AU Av Au AV IU H9vcAU Av Au AV IU H9vHAU Av Au AV IU H9v-AU Av Au AV IUH9vAUAvAuAVI6HA>AuIH9I@zAvwI IM9LH)IIHHHAԅH>HHHAԅHHHHAԅHk HLL,I)I`HL(HLHHHzLk>LZ HH2LLH1HIIuI0IEHhHHLLAԅLHHhH2IHLhHHI0HHAԅHHLh?HHH7H2HLN,1H`HHhLILLLAԅLHhH`I0IEHH`LhHIuILAԅHLhH`f HI0H1IHHhHIL+LAԅHHhHHMIuHhHIH1LLLIEAԅLHHhH4HQII)IH9@!<<x&LHAI9L@HH9@P&H9ָLBMILHH01oHAo  AHL9rHH9HI9lM,MHlHHHHH^LIEI<IsIM)I9LAHI9A&IH9AD!<<&H9LBMIMIMX&01AoHAoLA ADHL9rHKtLM9DDDDL@L9D@DNDHDFL@L9qD@DNDHDFL@L9RD@DNDHDFL@L93D@DNDHDFL@L9D@DNDHDFL@L9D@DNDHDFL@L9D@DNDHDFL@L9D@DNDHDFL@ L9D@ DN DH DF L@ L9v}D@ DN DH DF L@ L9vbD@ DN DH DF L@ L9vGD@ DN DH DF L@ L9v,D@ DN DH DF L@L9vxDFD@@~MLHhHLLLAԅLHHhIMHIM)I@L9@!@@"IuI9Ip@I9@@"L9ȾLBMILHHtC@0E1Ao0IAoL5A 0AD5HM9rII9I48u DL>EUDA}H~H9~EUDVA}H~H9e~EUDVA}H~H9G~EUDVA}H~H9)~EUDVA}H~H9 ~EUDVA}H~H9~EUDVA}H~H9~EUDVA}H~H9~EUDVA}H~ H9~ EU DV A} H~ H9vy~ EU DV A} H~ H9v_~ EU DV A} H~ H9vE~ EU DV A} H~ H9v+~ EU DV A} H~H9v~EUDVA}L`HhHHLLIAԅLHHhL`LL)HHM9@!<<"HBI9I@@H9@!M9ALCMILHH!11AoHo A HL9rI9I48H:>DD@8H~I9~DHDN@xH~I9e~DHDN@xH~I9G~DHDN@xH~I9)~DHDN@xH~I9 ~DHDN@xH~I9~DHDN@xH~I9~DHDN@xH~I9~DHDN@xH~ I9~ DH DN @x H~ I9vy~ DH DN @x H~ I9v_~ DH DN @x H~ I9vE~ DH DN @x H~ I9v+~ DH DN @x H~I9v~DHDN@xLhHHHHAԅHHLhmH4HBHyII)H9HAAH9AIH9AD!<<H9LBMILHH0E1oIo  HM9rHI9H9{IDI}IM)I@H9AD!@@mIpI9IuAI9@ANH9LBMILHH @0E1AoD5IAo 0AL5A0HM9rI9It=M 8>EDA9H~H9~EQDVAyH~H9e~EQDVAyH~H9G~EQDVAyH~H9)~EQDVAyH~H9 ~EQDVAyH~H9~EQDVAyH~H9~EQDVAyH~H9~EQDVAyH~ H9~ EQ DV Ay H~ H9vy~ EQ DV Ay H~ H9v_~ EQ DV Ay H~ H9vE~ EQ DV Ay H~ H9v+~ EQ DV Ay H~H9vFAy@~AAH`LLhHHAԅHLhH`H4I@HyII)H9HAAI9AIH9AD!<<H9LBMILHH0E1oIAo  AHM9rII9H9hH<HrII)IH9AD!<<~LHBI9LAHH9AVH9LBMIMIM01oHAo  AHL9rHJLM9|" I|IuIM)IH9AD!<<LIEI9LAHI9AH9LBMIMIMO01AoDHAo ALAHL9rHKD LM9DDDDLHL9DHDVDPDNLHL9qDHDVDPDNLHL9RDHDVDPDNLHL93DHDVDPDNLHL9DHDVDPDNLHL9DHDVDPDNLHL9DHDVDPDNLHL9DHDVDPDNLH L9DH DV DP DN LH L9v}DH DV DP DN LH L9vbDH DV DP DN LH L9vGDH DV DP DN LH L9v,DH DV DP DN LHL9vxDNDH@~LHhHHHAԅHHhHhHHLAԅHHhLI4IRIM)IH9@!<<5LLHI9L@HI9@ H9ָLBMILHH01AoHAo A AHL9rHHHHI98DD@:HxH9xDBD@@zHxH9dxDBD@@zHxH9FxDBD@@zHxH9(xDBD@@zHxH9 xDBD@@zHxH9xDBD@@zHxH9xDBD@@zHxH9xDBD@@zHx H9x DB D@ @z Hx H9vxx DB D@ @z Hx H9v^x DB D@ @z Hx H9vDx DB D@ @z Hx H9v*x DB D@ @z HxH9vpz@x@rHHHAԅH,HHHAԅHT H8EDA8HxH9xEHDHAxHxH9exEHDHAxHxH9GxEHDHAxHxH9)xEHDHAxHxH9 xEHDHAxHxH9xEHDHAxHxH9xEHDHAxHxH9xEHDHAxHx H9x EH DH Ax Hx H9vyx EH DH Ax Hx H9v_x EH DH Ax Hx H9vEx EH DH Ax Hx H9v+x EH DH Ax HxH9vpAx@xApHHhHIL+LAԅHHhNHHHHHHHAԅHHHHAԅHHHHhHLIEHHH1IuHHAԅHHhHhHHLAԅHHhHIuH2IEHHDDDDL@L9D@DNDHDFL@L9qD@DNDHDFL@L9RD@DNDHDFL@L93D@DNDHDFL@L9D@DNDHDFL@L9D@DNDHDFL@L9D@DNDHDFL@L9D@DNDHDFL@ L9D@ DN DH DF L@ L9v}D@ DN DH DF L@ L9vbD@ DN DH DF L@ L9vGD@ DN DH DF L@ L9v,D@ DN DH DF L@L9vxDFD@@~LN,1H`HHhLILLLAԅLHhH`@H8DD@:HxH9xDBD@@zHxH9dxDBD@@zHxH9FxDBD@@zHxH9(xDBD@@zHxH9 xDBD@@zHxH9xDBD@@zHxH9xDBD@@zHxH9xDBD@@zHx H9x DB D@ @z Hx H9vxx DB D@ @z Hx H9v^x DB D@ @z Hx H9vDx DB D@ @z Hx H9v*x DB D@ @z HxH9vpz@x@rLLHH8DD@:HxH9xDBD@@zHxH9xDBD@@zHxH9fxDBD@@zHxH9HxDBD@@zHxH9*xDBD@@zHxH9 xDBD@@zHxH9xDBD@@zHxH9xDBD@@zHx H9x DB D@ @z Hx H9x DB D@ @z Hx H9vx DB D@ @z Hx H9Xx DB D@ @z Hx H9:x DB D@ @z HxH9pz@x@rtHIHIHI@HqII)H9HA@I9@ IH9@!<< H9LBMILHH 01oHAo  AHL9rII9H1r0A8@8A0HpH9XpAx@xApHpH9:pAx@xApHpH9pAx@xApHpH9pAx@xApHpH9pAx@xApHpH9pAx@xApHpH9pAx@xApHpH9pAx@xApHp H9hp Ax @x Ap Hp H9Jp Ax @x Ap Hp H9,p Ax @x Ap Hp H9p Ax @x Ap Hp H9p Ax @x Ap HpH9PAp@pAPrH4HQII)IH9@!<< LHAI9L@HH9@\ H9ָLBMILHH* 01oHAo  AHL9rHH9HI9HIH7I0HQHIuH1IEH4HzII)IH9AD!<<=HBI9IEAH9AH9LBMILHH0E1oIAoL ADHM9rII9H:8EMDA}HxH9xEMDHA}HxH9xEMDHA}HxH9xEMDHA}HxH9xEMDHA}HxH9oxEMDHA}HxH9QxEMDHA}HxH93xEMDHA}HxH9xEMDHA}Hx H9x EM DH A} Hx H9x EM DH A} Hx H9x EM DH A} Hx H9x EM DH A} Hx H9x EM DH A} HxH9apA}@xAuKIMHIM)I@L9@!@@LIpI9L@HI9@@~L9ȾLBMILHHL@0E1Ao0IAo 6A 0A6HM9rLI48II9>EDA:H~H9~EZD^AzH~H9~EZD^AzH~H9~EZD^AzH~H9~EZD^AzH~H9s~EZD^AzH~H9U~EZD^AzH~H97~EZD^AzH~H9~EZD^AzH~ H9~ EZ D^ Az H~ H9~ EZ D^ Az H~ H9~ EZ D^ Az H~ H9~ EZ D^ Az H~ H9~ EZ D^ Az H~H9e~EZD^AzOH4IEHyII)H9HAAI9AIH9AD!<<H9LBMILHH0E1oIAoL ADHM9rII9H9W8EEDA}HxH9;xEED@A}HxH9xEED@A}HxH9xEED@A}HxH9xEED@A}HxH9xEED@A}HxH9xEED@A}HxH9xEED@A}HxH9ixEED@A}Hx H9Kx EE D@ A} Hx H9-x EE D@ A} Hx H9x EE D@ A} Hx H9x EE D@ A} Hx H9x EE D@ A} HxH9pA}@xAuH8DHHH9D@@zwJH8EHIH9DHAxwWHHDDHHH9DHDFwL>EUHIH9DVA}wXHH8DHHH9D@@zw~HwH8EEHIH9D@A}wLLHLDDHHH9D^DWwH>H8EEHIH9D@A}wHHHH8DHHH9D@@zwH\H0A8HIH9@xApwLHHLDDHHH9DHDFw[MLLLDDHHH9DVDOwHLHLDDHHH9DHDFwdHLeHL8DHHI9DH@~wHH_HH8DHHH9D@@zwf.@UBHATRISHvNLH+H9tIT$HHDfD;uIT$H5?]HDH[A\]H1wdHH4HtIT$HDHy/eHt;x D9x}HHu1;x|UHPHt8t]1]DDf.UHAUATSHH@HHLPLXt&)`)p)U)])e)m)u)}ЉAdH%(H(1,HHMH0L H=eLDžHHHLDž 0yH.eDLH(dH3%(u-H[A\A]]L H[پLc茄ff.UHAUATASHHHLPLXt&)`)p)U)])e)m)u)}dH%(H(1HEH LHAպH=xeHH0HDžDž 0HxH-eDHDH(dH3%(uH[A\A]]萃UHAUAHATASHHHdH%(HE1~H5-eDHDHEdH3%(uH[A\A]] UH-eH]HDf.UHAUIATAԺSHHNl8胺HtnH 7,eLhXD`Htg;Y}%;Y|+HH Hu1HHH[A\A]1]H5+e@D;a|HbH[A\A]]fH[A\A]]H5+eH+eHt1@H@H5dHLH5cHLAH5cHLAH=cAuHtHHLAH5uHLH5cAHLAE~OH1[A\A]]fY1HfG>H@fHH[A\A]]fHx@71HfWfDHfDUHAWAVAUATSHHHtIHIt$Bu1H[A\A]A^A_]DH0oI<$Hp裎HIt;Md$I$I;T$t;I$0HHJHI $tL(HL4rffL4L9sA$8HHֺΪHItI$1I$0HHt(HLtIHI$0I$HHH9rIL$H9t 蹫I$M$0Mt$L=HaUH9H]f.U1HAWAAVLvAUE1ATISHH(UI}ILEHLMHUDEu2AwADIAA9tJA~DI>H5$[uH;tCI<$ttHEH8HEH8DEH([A\A]A^D)A_]I>H5|$Zt}uIAwAHH_I>H5U$Zu}kIAwAHI$I>H5,$AZCIHMAwAHHfDI>H5 $ ZIHMAwAH HfDU1HH`dH%(HE1HGHEHGHEHGHEHGHEHGHEHGHEHGHEHGHEHGHEHGHEHGH}HE膎HEdH3%(uD;pf.UHAWAVAUATSHHH@HDžXdH%(HE1HqHPu8H eHPH=e_HDH8sHHhH`1ɺHHH0H*7l8ӈHHHH?H8Lf.H8H8HL-6l=HH@H dE1L1jHdLH00oHH;t^HHL0A>u MuMt1LL`~ItM9uuLFjAD fD.IHHHHH8/H01行H=oUrHEdH3%(uLHĨ[A\A]A^A_]HdH@H0^nHdH=]4HltnDUHAUIATMSHHadH=]H (tI}t&H3 InI|$H3mI<$uL%5lI<$t=I}t6fDH3 InI}H3mH3I<$mI}uHH=}][A\A]]*qf.UHATISHH=H\7nHt2H=7\&nHNHLH1gH[A\]ÐH=[mHt/H=[mH[HLH1|gf.L1Hi1Df.U1HATAHPSHHdH%(HE1/HtjEu5ht\HUdH3%(ugHĠ[A\]Ðht%=uH5K^1Hڿ1봸fH5Y^1Hڿ1kUHAWAVMAUATISH(E]HdH%(HE1HHDG H1LIHHҬA<$~ H1LL1fLH ClAHLL#LƉpH|l1ۺD tHIH0nHJfHPLDMIHHHLLHHI HH5]L11L訲IHHLI?IG HL0ƅFDž@H8HHHH(HHGHIt$C HHPHIl HHV\1LI<$=IH1LLHHIt$HHPHI HH[1LI<$1H1LHIt$HHPHI HH[LI<$H5_0l1HIHEHLLHH0HHwHHPHI3 H_H5ZL L01I?ծHL(L1H}dH3<%(; H(E[A\A]A^A_]蓟HH0 HlfILHPDMHHHLHHI H @HHPHIg HHZLI$H8`kIHML<LbHLAMH9f@L8Lp0ADtDIAEADu<#<;$LHD)L!lH!lH8H}Ht ="l2H}Ht =!lFH!l!lH8HH H9E|UHMIHYH9tHtHHXAG1LPDLADphIGLXH`EDDHLAI I7WJ<(H lH`H0WD9HKDMIEH=HpH;HDžHHu fDHPH;uHHLD$LILLHHt$HHHH4$HLHAHe81ۀIcLHHHDH4XnHI]LxXIEHHID$X1HE1A)IMH IMA~%HqH=BuAAIEH5l>tH5AItHIciHHIH HAM}I$H(ID$H0ID$H8ID$H@ID$ HHID$(HPID$0HXID$8H`ID$@HhID$HHpID$PHHt HH01ۀHHHH9tuHudH34%(HH[A\A]A^A_]LLHL>D$ILLLD$HH$F1L"oLECIEH5yEH1 JA>AA ,DH"@H5F1IAHE9&~JIEH<uIEH=?LHHtH5E1IAHE9&H=\QT14Q1LJnDqDžƅHDDHcI HH[]@f.UHAUIATSHHAA HHtH@HtH[A\A]]@H1[A\A]]EtHDl0L8EHCDf.UHAUIATSHHAAHHtH@HtH[A\A]]@H1[A\A]]EtHl0L8łHCDf.UH4HtH ]f1]ff.UHHtH!]f1]ff.UH=lH]UHEHE]ÐUHH}E]Ð=yltfDUH5@1HYRl]À=ilufDUH=hlH谛Il]UHH9HtB_HHH9t+<-DDDD<-DDA9tҸ]1]ff.U1Hw HEH]DUHAWIAVIAUIATASH~0dH%(HE1HF`HLEM~ IVPI9wzL1H9`H1IHIFHIH9} I9HMtWL9AHudH34%(HH[A\A]A^A_]fHҹuwtHdHHL8EHILEMHIH5>1AbMRKHf.UHAWAVIAUIATSHHL>dH%(HE1iAHuI LAA<$"HUу߀Kt;MuFHH1H-H]dH3%(H[A\A]A^A_]H HGuHHf.HtH5>1ML1cAE1H 9d1LH5)<1AE1SGDUHAWAVIAUIATISH~0dH%(HE1)HID$PI9v|HtrH9wwHIL$`H~H1HHHID$HH9s I9HMtML9AHUdH3%(HH[A\A]A^A_]fDL1H9v@tH,dHHL8BHILBMHI$H5<1AjMZEHG0HwWH @UHcHATISHHfDHt+H>~H, lHދ8}I$f[A\]f.HtI$[A\]H1HI$[A\]fH1HI$[A\]fA$f.HcH1H`A$wH1HA$XH8A$=f.UHAWAVAUIATSHH8dH%(HE1HHeDILX0AADtHDHDECDuA-IEAHs=HI HEA?"IHЃvHalL8wHI1@HULLIAEfDHuLANtAE9uIV0HЃH HAF8pA}{HHtA~LLӄ<IpI>w+Hl8HXMMAE-HL Љ1҃H-xLhLPDHLXL@aH(RHIHcIùL$fIFHC0HOPHXLHHHm{HXHЄVALHMeL-,uHtIv1LL5HtA~LLӄuLM&HHd8u\A M1{u]Hƅ(HPL`MHHP(IHkH501H1腵HCH{.HHHH=HHH HXH9H;XHHHp)H=HFbHCH@Hþ=HWHHPHH)ـ8=HP$HEHxHXH8HUL8L0IHAfDIpI}HDHLuPIU<uLL0L8DžPHC0HƒH DžLCC8HXHC0pH1HHhHXLPƅ(~LPAHA8"HXdH{HHЄA }L8L0HXLH=K)L@L(LD$DžPD$01E1IDH0LFI$At*<_-DHI)AuM+>EAV8IF0HHHHvKHHHvAHHv7H ,HH5+!1$1A~8A\E5H ,HH5 1$1A~8A\EIFH~8uI4$ 1;(FI~@H @,H5%1<$M.I$AEt&@<_-DHI'AEuH=F .H 'HEHEL)9fA}9 I]9tDH; uI9t3MA?I4$Ig'I9uIEH)III4$ I8'I4$ "'uHEL)9mH5EL1'#-I4$ A]&qH #H[R$HuH=#Hٺ#A-v/L #L#HDH1A-fM9 HAEI%IKuH޿ %I?HMHf.AE0IEHHM}AA-fD<_HADIK%AuEE+uf.H޿ I%M9wIE0HH #HcHfHHHߋ1,IpI}!HEdH3%(H([A\A]A^A_]HL0MI}(1E1JH (I.DI}(D9?vdDJH d(IHEHEHH1+HH<AHHD1A+IuH޿ &(HH o8HjHDDH#H1j+H=dHٺ,HH;H#+HE1H i'L8Mu?DIH HIHHDH1*AI6I}(D97)AtHI}(H0NIHHH QHHHEHL H8Lv LHHH8!HHHHH1*{HHHH1)VH=Hٺ ]+81L1H=&kHVE1A"A"$fUH(>dH]H0f.fHU1LGHwHH@LHID!HH1HHHWx H*]^GHȃHH H*]X^G@UH7&1҅u ]UHSHH}HdH%(HE1u+EH*^ HEdH3%(uH[]DH #fUH3H HcH]f.]f.]j(f.]$f.]:f.] f.]Jf.]f.]J%f.]z'f.]"f.]'f.]*(f.]&f.]f.]#f.]j f.] f.1]ff.U**HH HUH}dH%(HE1bHMdH3 %(uÐ "f.UHAWAVIAULmATSHHEHHH߹DDdH%(HE1L}HDDDIHLDDWML~ MLLLHH$t}DHHLH"tYHcHHL"tH(HI9t IL9}@"1HMdH3 %(uvHĘ[A\A]A^A_]f.WAHhDWAHPAt,AXzfD!1{!IDUHAVAUATISHPdH%(HE1L5\dHF"H1LcIEH]Hlj)HAEt-f.LHAHHLjuIHSIL$A$uLHudH34%(uSHP[A\A]A^]fL5gdHKF$"wHxCA$-HI01@f.UHHPdH%(HE1HĨ0IEHMIIC)M@}tIHgffffffffILHHLA0H?HH)A)HDu HHQH~҈uHHudH34%(u!HN-HH?f.UHf.HH:Guu]D1]f.fUHH HHVHH҈u]fUHHHHt H@8u]f.UHAWAVAUIHATESHL)HHHUdH%(HE1Hv H}LuAiDMMAdAuAp)Ao1AXLDML)ILL9rHMI9KD5HUdH3%( HH[A\A]A^A_]AiMMDMe@LkDMD1ɺL!DMs L3DMUf.HEH9HGI9s*L)AtuHھ0LHMCApHMt;ILHLXIwA0AGx1ɺDMHv AExE0ExrHھ LHMHMUHAWAVII)AUM~EATMSHH8HuHdH%(HE1HMHUHMLDLLI9LEIFHMLIHAS(Au>H}HL?HEH]dH3%(H8[A\A]A^A_]fI9M4HEM9Lh`r*aAKD=H9EvbLLLMM9Iv9LLH5t7uA<$`uIUH9Uv!AE`IIEH9EwfDHE9AE`HE+UHAWAVLAUMATE1SHH8 HHdH%(HE1HeHP0IFDI@A`A-A*HH@E1ABDt0fH<0H<~HuHH1DBDuHxAA.8HLH}HHAlDŽ5AzuDQLJHApLDPLhHD5HqIHp%uH%tu(HNAE1HHHNv@D:t$fDK|0HL,~1@D:uHM9MBH8fDLHDŽ5FDQAl#HLHDŽ5fDDQA*AHD2H0HAzH4DH4wAD:uH0DQHfDQ@HyHqHDBDt41H 0H OHHHuHH>DBDuHHHHHHHI9LBƄ=dDŽ=HNDVDQHHqID:H8t$H<0HHIH11H5IHP@I;IH11H5[IHP@I;#IH11H5(IHP@I;`IH11H5IHP@I;IH11H5IHP@I;jIH11H5IHP@I;IH11H5\IHP@I;%IH11H5) t>=IHP@I;qIH11H5IIHH@HI[A\A]A^A_]=t>=IHP@I;IH11H5eIHP@I;IH11H52IIGIH@IHIHHI+H[A\A]A^A_]IH@IHIHHItI@IH@IHIHHIpI@IH@IHIHHI(IY@IH@IHIHHII@IH@IHIHHIIc@IH@IHIHHIPI@IH@IHIHHII@IH@IHIHHII%@IH@IHIHHIxIR@IH@IHIHHI0I@IH@IHIHHIIIsUHAWAVAUATSHHLL L5ҩdH}dH %(HM1H@M)HUMHMt6L=dHfDLLLuC<&t7IMwMuE1HMdH3 %(DHH[A\A]A^A_]fE'A A;AeA6  A AduHMHEHH4HF@H;HL$IDEH A- AoAP  A AHMHEHH4HF@H;HDEL$H ILH1LE1HMHxAA Dl A EA L}HEE1IHBL9HErfHI93H=HuI9vjIDA4$H=lHu IM9uI9tA L}HEE1IHAL9HErfHI9v3H=uHuI9vfIfAuH=L_Hu IM9uL9t4Aw+ELu1HAM9Av L@HEHME1H HH@IHHHHIHMHfHH@IHHHHIHMHHH@IHHHHIxHMHHH@IHHHHI(HMH&HH@IHHHHIHMHHH@IHHHHIHMHHH@IHHHHI8HMH$HH@IHHHHIHMHHH@IHHHHIHMHHH@IHHHHIHHMHHH@IHHHHIHMH&HH@IHHHHIHMH HH@IHHHHIXHMHHH@IHHHHIHMHHH@IHHHHIHMHHH@IHHHHIhHMHHH@IHHHHIHMH'HH@IHHHHIHMHHEE1䃈fLuH@LEIIHILHHHLEuAHEHEHHEAI$I4UHAWIAVIAUIATL SI$HH( HHDždH%(HE1ƅHDžHHHDžH5\HH5HH5~HLHLmLLHH߅AkHEHEu%HMdH3 %(DuvH( [A\A]A^A_]ÐHHH HwHHIHIH D@L<$EL1xUHAVAUL,ATISHHdH%(HE1t_LufH}wgHHI$LHLLP@ٸHMdH3 %(u:H[A\A]A^]L9rfHL9t;yFfDUG H%]UHt!1t]@]HGXHtf{]f.1]ff.UHWXHHt1HH=t fN4OL9sWfDHDHEt7LLE1HHr9IHHyLI1I I9wDAII9wM$M݅~AMIEtfHuuA\$HL[A\A]A^A_]LMDEDULMILcELcUI,f.UHAWIAVIAUATSHL%:dE1HEu&toEHdI9ItLLLM;>M;~IcWIHJILzIufHEHt7I9&I9FHMHcAIHPHHHHL[A\A]A^A_]fD*LLLAIfDLLLM;&HErIM;fsCIcD$YIHPI$L`LeLHEtHEILXLeILeHMLH41I3H}f.UAHAWAVAHιAUATL0SHHLMD$dH%(HE1I`L H1L8H@1H$L0%=ofWf. zYuWHHA0AAHq IAHLH]dH3%(HH[A\A]A^A_]fHHH LD$ID% ) H*AHHH H H H*\ Y YX wX,f. Džw2HcHv f.  Dž)E1 f E1A  AA1AAƅDžAwDHcH!fDH'fD%$UfDH E1H‰H H?H H ЍNEAFDDIcAH!H8HH9@H H8 qHڃ Љ f(փ^gtHD@tY Hu^DEt 5f.*YX +HH‰H @H H Ћ DzHcH, H5^ HHH*؃0\\  f.-_f(\f.HB:HTf(\f.kH9tQYHY,*0\ C f.vH0D1f. reHcH$D Hf(H^H,*ȍP0Y\  f.H f(HLDH9of(HYf(^,*ȍP0Y\ S f.zf.uH0I9L;@IcG HHIHHH HHDE1~E~D9DN)A))EDLDD΅]LBLLHIAL;0DDL;@IcWHH8I7L8I@HPHHHHHPHGHGGHt7LDDkDDHA~Džt?HH Džu"$tDžfDtfHHcPHD @uuu )օx 1@9΃ ))A~8LLDDDDINj~4HLDDDDHDEHI?HHc@A9G{ H HHf.H9skHH29t9vW1LL DDDINjDE҉D0DEJ E~LLDDDIŋM6HAHDHfDHLEWAU0IuIA)Eu1HcHHH H9GHH99:tEAHLLDHDpE_1I?LA)u:HcHHL H9HHD 1A9tEۺAH;0tH;@gHcHHH8H0H8t E ut  EHH;C_1LL 1M9IL L&LL1Ҿ IlID@ƅ1۸E1ҾDžE1cLDDDhHDDDf*f.zI=@AA)DžAA1`@ )u@Dž'f3Eu 6+LPAM IEHPIEAEAEAEIEDf(־sfHDD4DDE1L$#@[II0*YX pHH‰H @H H \HHf. 7fWf.9HDžE1HAE1DH0HH9H;@sHHcWHH8HH0H8MM9I9rRL;@sIAUHcHH8IUL8@H蜼H0L舼H0s@1AAMLMHLD@LL1Ҿ ILLHDH0DKIu A~+A9LME1E_AG AOEsA9~fA9HcHH8HHH8Hx@@H8IcOIL1 fDLNj2HLG Ή7JI9wAɉOEEAL;0DpGL;@:IcWHH8IL8DpHLHcVHA)A%H4I0H I9 HH299t9wFHf.H9HKHS9tILj f.HӀ{0HStIMHI9L;@AT$$HcHH8I$L8H0@H@AƅDž5ƅ1۸fH=Y Hf.tYHuHDžE1HE1HX1H,H5Y,*\f. zH0HsBVf(HTD Y,*\f. zbf.u\0H^#f( Xf.>\f. fHÀ{0HCtfDH0H9ֈFeH땋Y%HDžAf. At ADE[HL1ҾHHAGKI?H3)ȃHcHHHfDH9HH29t9f f.1ҐZHfH9"HSHC9tHDH0ƅDžH8<HcH48H;@WH8HP L|H0!øDžDžAH8HH H;@,H8H@@ H=LIDDLHD賵HDDpDHI10IDMHu ATEKE_AG AOEcA9~@A9HcHL8MIH8IAGAGI?IcRIL1@HHHw щPI9wA҉WEEAL90EgL9@IcBHH8IL8EgHI?HHc@A)A3H HH H9HH29t9wA9DA1HMHMDA{H01f(־mY**DXYX HH‰H @H H ЉHMLE1LDHD HDDIXf. wf.@DHEuAIcHH8HHH8HCCCH{IuDHIcEH豯D[C KDEKA9~A9LHcHL8M4IH8I~AFAFI>HcCHL1@H HHw BI9wAGEEAH;0ENH;@HcCHH8HH8m@)DHA9+AMHDML8IE H;@.H8AEAE XMDMA3tL8HcI>H;@4H8ANAV DH8HcH;H;@H8DsS DDDDr9MHMLHq DD跰DHDHD蘯DDHA9wMM1EDOHDIvL8HcI?H;@QH8AOAW LDEgD{fD DDD蛯DIDDDfDHËDDD+DIƋDDALL1Ҿ aDIDLDD蛮LINjDDgg{ <)Df.UHAWH@LPAVIH0AUL`ATMISH(dH%(HE1D0ID(A'LP@I)LEEEE9LڹDHHrD9HX@0A9}AQBA9|HC0PD9~E~ME9|.HE)DHE)EE~*HIcҾ0AL(McwL(J\;MtAM9I`M9HL)H}dH3<%(H[A\A]A^A_]EID$A$-E0HH@.DHϾ0DDL L(HCL(L DHDDtDL=L9r I`L9rLMA$0AD$t A HúaHHX@.3裩1A  HJA9}AQH\Df.Uf(fWHAWIAVIAUATSHcDcHdH%(HE1f.DFDt AANHPH@H0L`f(HHH MHI(H0H('MtAHPrbHH)rEAȃ@ƅ@ET1q9MD9@E1L@u4E1ۅ҉0DA1҃A)E2A9L9r I`H9r#D(ԨD(LHDH f(MD(HHP0D(AA)0@I9rMI9s#IAAeH9VEMAA-IcI9EML9r I`L9rLA$L)H]dH3%(H[A\A]A^A_]@A9Ey19@1+A)D9~yD9~MAAL9r I`H9r(^0(DLH)H f(M5DPHA)EMfA0fL9r I`L9rMA0AFhAf.MI9DIQHOH9EAH9IQAA.svH9w\0IуcH I9?gfffMa))ƃ0A1H9tHqHH9@ru拵0IJ9=f.MNA-QII)B0Ad)H9gfffI)ƒ0AQ DI9ZgfffI)ƒ0AQ@A)փA9@A)E9EJE9A@I9y0LIĺfDMAE1{EAA0Y)L0EH9XPHfDL9AEt9A9|4LHDI9L`DuI9AsA9~L`@.DB9L9wI9I9AD$0}f*fIsIFA-ufDH9rBE…H9wH9OH@0uDž01LHE0L9 t=@.HE1AlIIELpLff.UIHAWL`AVI`AUATSHHHHH0HdH %(HM1H(HpHh1I9HLLHDžHs9H L <$aHcHDHH9uH(fWLH0tfWf.HEdH3%(?H[A\A]A^A_]fDž8HH9vDžd<0HHE1E1E1H v2@CLDlHHAH9v9H A~AC HAH9D\HwDE1E1H9D`B߃E6dD D HCH9K+-~DžXHCH9KyЃ H90tt0uH8H9A@w1@MEDyAHxH9v3HD0 v!D0 wC HH9ETLuHANH)H ANEN⋅XIAHfDDž8.H9EHK{E1H9 9E1DDgA f.sEAAAAfGlE9tx~GE9uAAGC|E1E,|HH9 9DgA jD`HAIDE1Eu@dD fW8H(H ufW@Dꋅ`E)H*…ADA`AN ~#I*ˍHH¬HcYXAAeAHMcBY8DDž8fH90G E1f02 HAH9uHEW@AhE1\CA)A7 H4I 2H I9HH9DD9tA9DdE ΁ pHDžI9L9AL$"HcHHI $LHL9hL9[AO!HcHHILHL9hL9[AN!HcHHILHHXH9 H;HXH!HcHHHHHI9L;IcU HHIMLDE1D`HAE1E1xσ7 H9. H@DHHP@HXHDHHP^fOH<舷sH;HHLH@_AUH+S+HH@<"LEH H I LHH^f./HHHH kDdEzf.r$H,tH*ƅufWHHHHΉH )ց@H H H HHHHHHYXf.%HI9L;rIcL$HHI$HLI9(L;IcNHHIHLH9H;HcKHHHHHI9L;IcUHHIMLADLAB<HcI>H;6HEfE~ fH訐HI9bL萐sL耐H@LhH@Y f(lfWL_HH )H H HHHDH HHHYXd9,х*\mHHVvf.uMHIHLH@DHBH@DHI@PD`)@PH@H HHHYXAAA|-HH9xDžDžMIHց@H HhHhXdUY8hf(HHC H;HCC .fD{IPf.Y f(fWReDIf.f.  HMLHLڌHgHXŒHL讌HL蚌H0DžDžK rf.H(Lv Dž` RA ؉tHHc^fWdddj~'HߙtYHudtAk%)~&j4DžBDžpfWf.NHHDž%D)A9;HD)HcA)YIcY_@HH|@H Hhh\f.5/HADHHc^3MIHDžXDžXn A1SIE1HBHDžE1MPDždDdAȾEt ׁwk)ωA9DDžHH0MDžIDžHHK?DIHf.LÈEMH|ALAB<HcIT=H;w'HAMEE 1H=ږpL@DHPD`h*L@IDHPD`h딃 !Љ!HEfUHH HUHudH%(HE1HHEHEdH3%(u諆f.UHF1H]HH@UH9H:@x H>]Ð1@v@w2LBL9R€?wփҰHH H>]D@wLBL9r_DBAH?wR€?w@t0H ҁHH H H>]D]Aw]ø]ø]Ðf.UH9HHwHBH9@2]HwHBH9r]61HwHBH9rPH?HȀBH?@ɀJ@]ú)]úDHD6HUHH]HHfUHHH dH%(HE1H01234567H9EHEH89abcdefHEHvwHGH9H@@H=?wxHQDBEtgDgfffB0GA)A0DGHMdH3 %(?fH9<0x@2DHH=wHʚDBEuHHwHhDBESHPH?v}HH?wH9DBE$HGH9HH DGHHDGHHDGD5GHIDBEifDfDǂUH9HC:@x H>]Ð1@v@w2LBL9(R€?wփҰHH H>]D@wZLBL9 DBAH?wR€?w@H ҁHH H H>]D@SLBL9DBAH?4DREJA?!R€?@uX1AHH EH IH L H>]fD]A6]ø]@fu1Av]ø]ø]fDUH9HHwHBH9fDHwHBH9hHwHBH921HwPHBH9raH?HȀBH?HɀJH?@ɀJ@2]]ú)]úfDUHD6HH]ÐUHHAWAVAAUIATMSHH8HuK4dH<%(H}1H9HEHuIHEHEHPHUHIIGHHH9AvIGHHH9AOvIGAWAH9Is!EtHuIHMLLP@E@tDCvLH9HBHI9s$fDMOAAAGL9MAA wEUH}1LVEtZHCI9s#fMOAAGL9MAA wL9v)IGAH9v|IGAGH9vnAG IDLH+EH}dH3<%(ucH8[A\A]A^A_]I9^IGAH9v*IGAGH9vAG I5fDIIL}~f.U1H9Hs y>@-v ]v3H~H9r~W?wV€?wрt&]@HNH9rV€?w@vUHv0v w]@]Ðf.UH9H:1@L nDC<@@HzH9z|GDBOwEEQAOvyHBH9H 8xUB<xLDBRFx6Ex1 D¸HcH@]fDL]Ð1]@AD=i6LϡHABft#H]f]fA@5@,H]]ø]f.UHx H]1vw$N?wɰHH H]@wSDFAH?wvƀ@?wH @HH H H]f.jDFAH?XDVEJA?Evƀ@?4uCA%@HH EH IH L H]AL]Àu1Av]f.UHAWAVAUATISHH8LwhdH%(HE1H::YHUL=9LmHUU@H@IADHEHH@HADHEHMH9I$;yLLHIHEI;wINHHH HtH@DHEHxH}HHHHEI;`INHHH HHH@DHMH9HE9fD)‰1)HUdH3%(u&H8[A\A]A^A_]1HL{xDf.UHv0v w]@v]ÐUHAHH9sOHfDANfD#1]1Df.ULOhH>H@THfD@AIyIIJ1IHIH9BrH9H H@E@EH+H}EJSH9HBHpH9HH)HHHIIJ<Ht0Hv*fo->E1MIIM9BwH9HtAH{C CC H9v)H{CC CC H9vCC C C HHPH9s C HH9THHDHHHp@ @@ H9v)Hp@@ @@ H9v@@ @ @ HHEHH9s C HH9]HqDULOhH>H@THfD@AIyIIJH~H9r~W?wV€?wπu@vfHNH9rV€?wfw]f1]ff.ULWhH>H@&HfD@AI9rIzIIJH@&HfD@AI9rIzIIJA@LKIIO Mt @H<AA@LKIIO Mt @H<A|I9v Hw"LHM9rL@8LH9wH)[]fHLPM9rf.ALHA?@AɀH9@8DHMLTf@v@wtLNL9rD^EKA?wEAHL %H[LHM9NAHA?HAʀDPMT@@LNL9DVEJA?D^AÀA?@t'H EEہIL L AxAw1@UIHHIHHAWAVAUATSHH9DMAL9MShA 1D}MrIIO4MtAH@ADI9MJIIO MtAH IALH9u~LHI9H9H9gE1ɻI9AxKEM Ec L92I9ɸZH9tH9H[A\A]A^A_]ÀLfM9D~EgA?wrEAHL nfwzLOL9_DKA?HEɻHL E1I9 LH)H)I9NA)Hc^ADH[A\A]A^A_]w#LOL9_DKA?@DM1@ALIfDADfDgLfM9ZDvEfA?GD~EoA?4H EEIL L A@DEgA?MHEEH I%L E1L fDMHÛ}tH[A\A]A^A_D)]fDHHI)[A\A]A^H)A_D)]ÀpAD;DMHÚ)DMHÙfUIHAWAVAUATSHHHHHH9LShAL9A 1D}MrIIO4MtAH@ADI9MJIIO MtAH IALH9uLLI9H9H9oE1AI9AxREM Dc L91I9ɸYH9tH9H[A\A]A^A_]&LfM9D~EgA?wzEAHL gf~LOL9&DEOA?HEAHL E1I9LH)H)I9NA)HcZADH[A\A]A^A_]w#LOL9D_EKA?DME1AL9fDADfDgLfM9ZDvEfA?GD~EoA?4H EEIL L A @DEgA?MHEEH IA%L E1L DMIÛILI)H)I9tGLCI9HBI9w 0HL9t' tـFH[A\A]A^A_]fDH1[A\A]A^A_]AIAfDDMIÚDMIÙfHILWhH9UHHATS>A@I9:r MJHHM Mt @H<AA@I9:r!MJHHM Mt @H<A|I9v#Hw-LHM9rL@8LH9wfD[A\H)]HHXI9rf.ALHA?@AɀH9@8DHILDf@v@LNL9r^DKA?uEAHL @Hw/HXI9BfAHA?HAɀDHQHHXI9AHA?HÀD`f.@wjLNL9D^EKA?^À?@H EہIAL H ,f.@fLNL9YD^EKA?F^À?6DfAĀA?#@tM@u A EEHI L HAL H A5Aw1Df.ULHAWL9IAVAUATSLghr^fDII9KAz tIMfHI9$_ AIA?MLHHII1LL˃?HIDIHL1HMKv%HH?ILHHIL1MK I9M_LNM9vƀ@?ws@_ HH I9$L&DML$IIO M7ҀHRtCATIIMf.[A\A]A^IMA_]AT뻐wSLNM9rDnA]?wvƀ@?wH @HH H LOwLNM9vDnA]?dNDqA?Rvƀ@?AtWu A-@HH EH IH LL fEAH L H8A<:E1Eu D Lc L| HG G D8uqEʉ@AuH9rEL9t_H9tnH9w^fDHH9tO tڀF]L9L@t]@D)]1H9u]1]LHθ늸]UHHHAUATS~+H H9xt H9xuHHH)HH9rHH9x tL I8L%P H) fDMA?IDFAEIMILL_HL1IA?MMIIMI1ELDIDHH9r[A\A]L I8]@[L I8A\A]L I8]DUAH LHAVH9DuAUATO$SM9EIL n L-G DI9vUEtPIDIPGEDC\tH9AsAvIPAXAH9AHAEu[A\A]EEEA^]@HUH9HsO1Hw2HH1cHHHt%@ Ɉ u1H]]ÐI9IUMFNHL9LI H~8tqHIGAI8u[L9uL9tII9иv LLϸL)HH9r'HH9t tڀF]1]@)]IH@UHHH~(H H9xtH9xuHHH)HH9rUHH9tIx tM@IH9HIA?MIIILH1H9HI8HWIw]ff.UHAWIAVIAUIATISLHXH9kDMHHt } ЅI9AUAWf.HcM M9LMHLLHM6uvHMLMLH9AIM;Ets;E;EtUIHLLPuM9t!AIGHIMAuMN<@8<0tfHX[A\A]A^A_]@IEH9LEE9EIL9>HLI@HIM9AU;Et9EL9ILHLPtILHLPfDM9u&IIL9vkAE;EuaM9t}IDELLLPDEtILLLPDEfD1M9HX[A\A]A^A_]L9t$AU;EXfDD1M91LIL9HtM9t;ËUIHLLPEIHLLP/IDHEEIGHM9EwE H]EȋELmHcIvHuLLHM14HMulI΋EDMLLEHMLLD$ED$E$M9HE;EM9t.K .I9yILLLPu7IILLLPuAIWHu@84uIDILLLPIHLLPIEH9tAuI@ucf.UI9HHHAVEAUIMFATMSHL2u EDDD)[A\A]A^]Ðf.UHAWIAVIAUIATISLHXHkDMHHt } ЅI9LmAAMJ@HcM$L;eHLLHM=2uiHMLH9AIM;Etj;E;EtLIHLLPuL;utAIOMfA8tfDHX[A\A]A^A_]@IGH9LEE9EIMLmL9HLMIf.HIM9A;Et9E L9ILHLPtILHLPfL;uu%DIIL9voA;EufL9ut}IDELHULPDEtIHULLPDE@Lm1M9HX[A\A]A^A_]L9t A;EVDLm1M9zLEML9IHaM9tًu9sI$HLLPEI$HLLP IM9HEsE L}MH]MEEHcIvHuLLHM/HMulIϋEDMLLEHMLLD$ED$E$M9HE;EM9t.K 'I9yILLLPu.IILLLPuA;EuIMILLLP1I$HLLPIGH9AwIljupf.UHH ED$D$E$ff.UIIHAWO<AVAUAH ATSLH8EL9LGHEr DI9L9oEfI9]MMu?1AHAL9MfAEI9MyIL]LLEHMLLUHPLUHMLEL]4LcO$L9s IM)O$LHLL]LUALEHMLM/LML]LULEHMLL9MEDMH8[LELA\A]A^A_]L fDDMfHAAL9sEtL9vMyIL]LHMLULHPLUHML]tLcO$L9LHLL]LUHMLE/LEHMLUL]LnPMIL9 x*@AHIAD$AL9yIL]LLEHMLLUHPLUHMLEL]tuIHAD$ID$H{A$Hw?HP@8LbH^`fDA$HIAL9/yIL]LHMLULHPLUHML]t0tuIHAD$IHAD$IT$HsA$LbH^jfDHL2DMHLIM)O$HLtUHHH]`1UHAWAVIAUATSHL<1HxHEH} MAHu(DEHpH}IHHEH}HxHu0DMHHuH}IdH4%(Hu1LHEL9HE M9 LMMW LmLMI:E<:E:EILLMLHPLMH I9LH9UMD$IuLSxM9I9AD !M9H9@ M9L911AAoADAH9rDAL3I 4E)LD9AE҈A@AFAA@AFAA@AFAA@AFAA@AFAA@AFAA@AFAtqA@AFAt`A@ A F A tOA@ A F A t>A@ A F A t-A@ A F A tA@ A F A t A@FAHIIHIL;epLH+pH}L9eHHxHHUID$L)H]IMI9IL$@I9@>HfoH11HHHAD A HH9wIIH9TH}ID$AE A$ H98ID$AE AD$ H9ID$AE AD$ H9ID$AE AD$ H9ID$AE AD$ H9ID$AE AD$ H9ID$AE AD$ H9ID$AE AD$ H9ID$ AE AD$ H9ttID$ AE AD$ H9t_ID$ AE AD$ H9tJID$ AE AD$ H9t5ID$ AE AD$ H9t ID$AE AD$ H9t AE AD$ 1H}dH3<%(OHx[A\A]A^A_]HSL9HH}HKt I9|IIIHAEAD$L;eL9MUD{1Hr ALA HH9uHIIH33H}LhHMHMLhZCHh:E8EH}LMLMHhHS3H}LhHMHHMLhIt`ID$H9EIIAUA$HSIHH@HUfHIH9AE @ u6DID$MLH+pAF HDUHxIH]HHUH}H)HHI H9I@I9@5H+H1HHHA~HHflHH9fofifafofafifafofhf`fof`fhfof`fhf`AH=QHu@HRNiHE1HfDGHA$ID@ HPHH ;jHH jHǃǃA$IDHxtAHxXt:Hx0t3Hx@t,Hx8t%tHxtHxHH A$IDH HtBa8BAs:BBsA$IDH A$I|+tA$IDH L ,A$IDH H j @ ygDH9tUHvHH ]f.HUHH'HHHHHHH"dHHH)H]UHSHHHmkH0Ht% HHH[]1KH=D:uH5 H=mt)H HPH5ͻE1H1DL.L H H5H$HLaff.U1@HATLSH HH=jdH%(HE1"16HLHIndex.xmlLfPH1HHEdH3%(u H[A\]XHjUHH<ЁO ]fDUkH]UH5(HAVAUIH=kATSHPdH%(HE1=L5jLM@fHL9sWHHtHpHtH=dLHP8uHt%HMdH3 %(HP[A\A]A^]DH5LudH]IMH@1M@H IM9s3IHtHpHtH=OdHHP8uI_1fVfDUHAWAH5AVAUATIH=kSHv<HojL-dL@HL9sGHHtHpHtDx tILLP8uHtH[A\A]A^A_]@IHLLP8uaHjL@DHL9sCHHtHpHtDx tIHLP8uHH[A\A]A^A_]H1[A\A]A^A_]Ðf.UH5HSH=kkHR;HwHjH="kHkH{(HtHdHPHHC(HHkH{(HtHdHPHHC(HHLkH{(HtH\dHPHHC(HVH_kH{(HtH/dHPHHC(H)HrkH{(HtHdHPHHC(HHkH{(HtHգdHPHHC(HHXkH{(HtHdHPHHC(HH+kH{(HtH{dHPHHC(HujH[]=jUH]H9dUHH]H81=wju@U=IjH]Df.=IjUHu]Ð]Hc=jUHAWAVAAUATLcSHL-kdH%(HE1Iu(HsHd1HA~H HLIMt%HLD8DtH"cD; sL5^cILIPu]H^jI}(H(HtHdH`LHMdH3 %(H[A\A]A^A_]f.H8'IBD E8AP1JH@¾hI1-DAZMHD11hfDLkf.UHAWAAVIAUATESHdH%(HE1H˗c;8 HjAD‹8(HnL%jHIt$(HL5{d1HAH ILIMLtILLHycHcHHL H|jHHH^jDlI|$(HHtHdH`LHMdH3 %(KH[A\A]A^A_]@L% jIt$(HL-d1HAH IELIMtIULHjI|$(HHIT 6DLA21AEE1H@¾eI1ML1D1qf@s8fL(L\@L&fDUHxcHATASH1HE[A\]8UHAVAUATASHHĀdH%(HE1Hkv1AHMdH3 %(H[A\A]A^]f1ҾAL`1 HLH1f`lfGI~WLnD7AtwEHDGPfkH1$1d.DAfDH11#dfDDEy3UHHHu-DHt% uHDH tuHDH)]UHAWAVIAUIATLSLDHHHHdH%(HE1H+HM|t MH1L*3>.LH*HL)HL1H! t€DHqHDHL)HHH= HM9LL'HLHHHf LLMjH]dH3%(LHH[A\A]A^A_]f.ÀLHLHHiH1Lx)HHƺL)HHcH)H5TE1@RL|H=LHFL  MHLHK1HL^gfLHHLL#LL!&@LH=%H1HLHLLI fUH HHATISHHFHFHHF HV HFHF(F,~PHF0HF8F@u [A\]DHq1HHCHtAT$P HD`HHHC8IDHC8[A\]@f.UH HHAVIAUIATSHw HGLbHt @ L9LH;Ht$O D9DGII9tqHH;HuIE0Hu5A}P1LHt2D` DpHHIEHMe8LIU8H9s@IE[A\A]A^]HHW WI)U8TfDI}[A\A]A^]UHAVAUIATISHH^HHtDBH9G,H O,vzfDBH9vvIHHuAE(HSIE H9HCIU0IHA}PLHHMu8AE(I$Dr ADrHI$B@r ))؉BI;MH2sH I $IMH IUAE,[A\A]A^]LIE8H9lA}@tM1"1 ^RfDHHHGHHWHG,HIEHHt1UHHPdH%(HE1HEHuHMLEHULEHEHELMEHM1HE*DAPK<t;/w'LƒHHHփ/vH9HQtHщ‰HH@HH}EHuH}H}H}IH7f.уLH Ht1/H9w@уL HHHσ/vHHH HuH}dH3<%(ufDHH1&fDUHATISHHuHHHuI<$Hu DHHHu[A\]U@HATISHWI|$Hu#HH9HtW WzIT$HuI<$Hu %DHH9HtW WJIT$HuHI$ID$I$B BID$@ ID$8I$HAD$(AD$,[A\]f.HG12HHHuHID$HHtp VPHHuID$AD$,[A\]HЋH QPHHuHID$HHuf.ID$8AfUHATIHrSHJHHtHLHH[A\H]DUHATIHSHHLH[A\]fUHATIHSHHHtHLHH[A\H]f.UHw0H]fDU@w@H]fDU1HAWAVAUATISHHHu6UȅLkIUHH|dE$E1E1E1Hp@EDED(ELu6@A=t0DFF8u!HDHJEHA, uʄM̅IAAKTHsE1EtAu U̅uAGH[A\A]A^A_]fDHDHJEtgH DFF8tcDH ttDt =t;,t6IKTHeED BHG[A\A]A^A_]EtA<$#t1H[A\A]A^A_]Lx#uI|$1 MAAxHED;81UHAVAUI1ATISH~ [A\A]A^]À;Mt$L% bu|I<$H\L1II<$Hp1I^INHt#I<$Hc1HH HuI4$ I<$HIL1^|f97UHHvHWHtH]UHSHHuH[]fDHHHH[]@UHAWAVAUIATSH?I1E1ADHAt%<,tL<=uFfD=t;,t6H uLx'LHI Ā;t-AH롐{HfDH1[A\A]A^A_]E1AHL[A\A]A^A_]UHAWAVAUATISHHH} %HIA$H}ȃH4@HHIGA$HTIWA$AIt$HH}HIGt^IGA$tdE1$ID$AIGE9,$IGv;DH}L4ID$ID$H4 HIuH1[A\A]A^A_]ÐAHAIGHL[A\A]A^A_]DIGWUEHAWAVO4AUATSH8HEM9H}uHUH1EE1H]HMMLHuHIL9t(=ufDIM9tA=t,u9EHHHHEHML HM9A>=uM~H5dLM9HMt%AV=ufIM9tA=t,ut5ft tyHMusI M9A?,IGu HDMILmH]HEMM)L8HED}IuLmH8HL [L!A\A]A^A_]fH Mf.}u'MEnfDI1H]LmMILmH]Ejf.fUHAUATSH_HHؚjHLMEJDH9E1DHDH9v`III9LBHuMIH0cLk L9vI9LBLuWHutjDh AHDhI$DHP D)A)ك DHL$uHL[A\A]]HL1HL[A\A]]E1IoL`8E1u܃tL1*QUHAUAATSHHHL`DLHHtLHHHHH[A\A]]fUHATISHHiHHtHLHH[A\H]UHATL%#jSI<$Hu HHHuI$[A\]UHAUIATSHHgbH8L%bu{HjHHtiH=>iH=D=iH=x.H5zH輲AE1H#J(HvFHLHMdH3 %(AƄ$LH[A\A]A^A_]DLD1)LuL H!%tJ4+LLDHJHDLHH)HE~/AADM;~u {/ HXLHE1LLLpVfDUHAWAAVAAUIATISHI LD tQLdHHtLHzdLcHSCLDHHHC [A\A]A^A_]fLHHu8DatHqcHHqcHAuu,H1[A\A]A^A_]DL@1AпhUHSHHHtHydHWHwHCH[]f.UHSHHHt7HydHWHwHCHH{[]fDH[]ÐUHHAVAUATSHtMLnII9t2HGHItAL9LLHFHLM_[LA\A]A^]Hމ[A\A]A^]E1fUHATISHӉHHHtHLHsH[A\H]UHAVAAUAHATSHtL`DDLHHtLHHH[A\A]A^H]f.UHATISHӉHs8HHtHLHH[A\H]UHHt+Ht&LAI)fHtHL9HGu]f.UHAULlATISHHH>HufDHH;Ht LuI9ݸw @HHHCHuL#1H[A\A]]UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.UH]f.U1H]UH]f.U1H]UH]f.UH]f.U1H]UH]f.UH]f.UH]f.U1H]UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.U1H]U1H]U1H]UH]f.UH]f.UH]f.UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.U1H]UH]f.UH]f.U1H]UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.U1H]U1H]UH]f.U1H]U1H]UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.U1H]UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.UH]f.U1H]UH]f.UH]f.UH]f.UH]f.U1H]UH]f.UH]f.UH]f.UH]f.U1H]UH]f.U1H]U1H]UH]f.UH]f.U1H]UH]f.UH]f.U1HH]ÐU1HH]ÐU1HH]ÐUH]f.UH]f.U1H]UH]f.UH]f.U1H]UH]f.UHHHLH]f.HndUHH8]UHAWIAVAUIATAESAH@HD 1A1hH@¾5.I1KAML11.wf8DfL踷L@L蠷&ffDUHAWAVAUATLcSHHdH%(HE1H0a0HFD跳HIkHjHs(HL5pfd1HA0H ZIHIֶMtILHvjHH)]cD; H{(HtHfdH`H7HMdH3 %(LRH[A\A]A^A_]t{@a0H0ƅ1+HFfL=\cIMM7AFHujH(AF3H0ƅ0rHFƅ0w۫8$1H@¾+H1Hى11,HPHjH8IMM77f.UH=jH5jH]ff.UHAVAAUAATSHdH%(HE1HjHtf۪D AuZD芭tAu8HejHHMdH3 %(DHĐ[A\A]A^]D @DEHjHtA tDtXA tRAAt1RHP¾*I15DMH‰11*FE1>.rt@UHaHAUATASH?HD1tAx,Dǃ pDDӃEH[A\A]]@UHATAHHSHH HdH%(HE1DHLHMdH3 %(u H [A\]蜯f.fUHH HXdH%(HE1HMHEHEHLEPHHMdH3 %(Eu:f.UAHLHWXEHHGHGHEu0HGHEwhHGHHE HGPE(G HLHEH(1HG8]UHAUIATSHLgH_(IIL9s@HH{;I9wHI}([A\A]]UHAUATISHHGPHt+LoH_(IIL9rID$PHH{I9wI|$(ID$ID$P`ID$H[A\A]]ff.UHAUATISHHGPHt+LoH_(IIL9rID$PHH{I9wID$AD$0ID$H[A\A]]fDUHHuHW]HG`ff.UHAWAVAUATISH8HUHMdH%(HE1HGLEH1H_HS!H9IHEA!HE9@HuHuHUHtPH9tKEAE1AIL$HIM|$(HIuHuIT$HI$HHUuI|$XE1IHMHLAUuHEIGHMdH3 %(H8[A\A]A^A_]IL$HMl$Mt$IHtH1HuHUHLAT$`IV!I9wIAA!D9!HE1DIT$HI4$HUfDH軫f.UHHLEdH%(HE10HUdH3%(uzf.UHAVAUATSHHt;IIIMuHWLHS`HLL[A\A]MA^]D[A\A]A^1]DUHHHMdH%(HE1HMdH3 %(uڪf.UHAWAVAUIATSH8HudH%(HU1HMZLw(HIE$AtQHEMHHEDHKHHM<HIHuHHEI9tE'AuHE13fDH{XE1MHMLHPuLHED HCHUdH3%(H8[A\A]A^A_]ÐHCHH3HE{DIDIOHDHLHH{tIHuHUHIXE1ILLASiD#Au%fIWHI7HU1F4@UHAWAVIAUATSHhHpdH%(HE1G |HGHHtSHuHpHUHLHtMH]dH3%(]Hh[A\A]A^A_]fDHpH7HWLHUvHuI~(HItIFM^I^(HLLPHIH)HMI9HxH}HEE1HEHEHEHHELHEEIMA.IEAHE\LeAMAMH9HMBMGHHL, MI}t}1HuAHUHLAW`Eu+IM_HLGL!I9vVw!H;xHURAuDIEALeAMHE`I?IWHUHHH!Au H}HMLH)AHA HOIELmHEfAu HMH}LH)AHAHyIELmHEfLmALEIDuHEHMHHEA AuHEHMHHMnM^MUIFHM{HVLUHu1HpHULUHLULAV`LUA!M9AA!LmIN<+M9IIWI$IT$IFMnIHHEIFHHHu1HUHLAV`IU!H9UwIAA!IJ+I9HpLI)H)H)AIHHIOHH9uD"IFHP1I;VIV-HIV!fII>IVHUHDDIVHpI6HUHpA$ID$zMMISHpI)IE'IGKSUHAWAVAUIATSHXH_dH%(HE1Hu,HMdH3 %(HX[A\A]A^A_]DHGILg(HEHGHHHu1LHUHLAU`HMHHM!H9HUH!HLL9zMu]QHHIL9{uIELpIEMuHI9sIEHIL)MHHHEL9IEHI~H\Hu1HUHLAU`MUAÉHHEIBH!I9EwIAE!IMI9/IEHIzH1D]LUHu1HULUHD]D]LULAU`IUIuLUD]HzH!H9!HLI9I2IzL)HH3H{I6I~I2IzM)IHLA9u}8I}(IUP1HELҋEMQ!-HWH7HUI}IUHUH@H2IIVHHSzI}IUHUH:‰EHLHrHs23HH1HUH#UH~H9vfUD!H#MH9vFM!9ʿtRIIVHEHSA2fDHI9uE2AHMH!HUHD!H9tv8IL9"HCHIMI{H=HMDUHuL]LE1HULEHL]DUHMHMDUHL]LES`A!L9}LEL]DUHMwIAA!E9 IISI$IT$fIK.D(E9uA1MC5@AU!‰HEHCHHHSLH3HU@MHMIAA!EI91@H;Mt A<$MD$A$1fHWIL/HUfH;HSHUHIIIMI$IT$HHVbAMD$A$A 1PfUH9wHvHHw(]HF1]ff.UH9wHvHHw(]HF1]ff.UHt HHG(HP]UHSHHOtHH[]DHH[]f.UH]֟fDUH]֛fDUHAWAVAAUIATIHLSHdH%(HE1TI9Ht|A-IAEEgLϡt3HHMdH3 %(HHĨ[A\A]A^A_]@AHHEAHE뭐LhudAh蕔H@ILE}H8UL8HD1 1:D;H@I%LE}H8L8HD11膚fDUHAWAVIAUATISHH4dH%(HE1HDž(H8LHھL脠H9Is8I蹩ItL8L(ML)A}LuH4u?H(LDHMdH3 %(HHĸ[A\A]A^A_]4HtAUH@EmLI,MHD11yfH811L441ې;fDUHAWAVIAUATSHHIIFpHHEIFxhIAHEHIHIAD+eILDPwAt2IF0B8t볨t t, IDLPxfDkAƅ*Aƅ@MAƅ`Aƅ"Aƅ_Aƅ$Aƅ/ Aƅ  fDt4A$HIHtfIF0EE)tA$DIDLPwAIF0t A$@A$fHEAE$AE_AE' AE.AE!HAE=AE>I9AE< AE|AE&AE# AE;AE:AEAE\AE/AE*AE@AE`AE"!Ao]HEfofofo ftftfo}ffAo]foftftffXAo] foftftffX Ao]0foftftffX0Ao]@foftftffX@Ao]PfoftftffXPAo]`foftftffX`Ao]pfoftftffXpAofoftftffAofoftftffAofoftftffAofoftftffAofoftftffAofoftftffAofoftftffAoftftffAEXAEx1AEBAEbAEN AEn H[A\A]A^A_]H[A\A]A^A_]IDLPA$xIEH9EV1AL€ HMHH=uXf.fHQ=cUH~H;:s&H~xHx=cHcHH:WtH]fU/HATISLHHþ.IDH5Ht[A\]H[A\]錏f.fU1Hv"tH)H~VJ>w]fD|U@~HЃ]ff.UH9Hsw:@ǃ~[HzH9rrR~=}w%HF<H]BHHH]f.H>]fD]f]fULRAHH @HHHtBH9s=8@yL9s)@t#@txDOA>wH@|AH)]@UHHAWIAVIAUAATMSKH(EH9HuHUȉEHGHHEI9H$A$AT$ čV~B-iH4PIFffH9EA6OAVIIAI9sRL;usLE;IHLLPhA$HMIIAAFI9rfDEDMEHMHuH([A\A]LLA^A_]jfA$IIAFAI9sL;usEIHLLPtA$AT$ čV~G-iH3PIFffH9EA6vIFAVIIkf.IE1LuUH9H3\====)=rG=Q=01wAHzHcp@H5 1HFtHrH9B ]Ð@2]fDH5&HF뾐H5*HF뮐H5I$HF랐H5#HF뎐]fH5Y"HFkfDH5~HFSH5|HFA]f.UHLJHATSHLfDMDPA}DYESA~vESA>EAZ}wAXDcA~vMDcA>vCHIHIB8uTLHLJtH1L[A\]AD A D9u%HILJEf.[A\)]ȍqQABH50-yiЍQFf-DBiɾVf)Of.UHAVEH}AUIATMSHHI9HuMFHuHMLVu EDDD)H[A\A]A^]fUHAUIH}ATMSHHI9HuMFHuHMLuHL9tCI9wMHMذL)HH9s*1H@ tD@Hq@ u2H9HMu1H[A\A]]@HMLHMfD@FH[A\A]]fUH`jIHOLGHHWHw0H]f.UHAUATISHHIL$dH%(HE1H9H& =/a<uH^AD$ H9~<H^AD$ H9~<H^AD$ H9~<H^AD$ H9~IIHcW$tiH~HFtfH~HFt[H~HFtPH~ HF tEH~(HF(t:fHHL龀1y[A\A]A^1]HDH;t0HH H1y1[A\A]A^]@HC(Ls(LHHC0HCHC8HCHC@HCHCHHC ];@I<$HcC$I|$IT$tMt9AfA9H]dH3%( HĘ[A\A]A^A_]Ð1H9uH;]1L9mHMHHuLAׅ~HAHE17HHEA I9vAH LLH`Lh Z9LhH`AHT@KsBLLL`LhYLhL`CYfLLYLcMH;]LEMt`LEHMHHuLAׅHMH9MLEtJL9uLHHMLHLLELAׅcLEHIH9]u1R1L;mDHHH9]tL9mHMHHuLAׅHctH;UHEHEE EHMLHuLALcEIt$PHUHEH>H9LFMMLNA DAI HAL9rPLFMMt>HvD<>AHMxt%Mt A8f99tyML9mO7H9uHUI9tEDtHLELLD$ED$E$Z1Tf[HHD DM9v4KLHLUHMmWQHMLUBQ_K sPLHLMLE7WLELMCH)HHMHuHLHAׅ6/LHVf.UHH ED$D$E$^ff.UHOPHHt#HcHv]HH|HtHEf1]ff.UHGH0]fUHGH0]fHUHGHH H H9r.fDHHH9vH90uH9PuHxuH0]1]@UHGH0]@fUHGH0]fUHOHHA HIH H H9r 1HHH9v'x@tH90uH9PuHP2H0]Hf1]ff.UHAWIAVAUATSH`HHXdH%(HE1Hf8HEH@HXHHL@HHAW(AG$IL$HH H6It$HcHQIf8I0IOIWHXHP@MgHIGH`I;4$I|$HiI|$t6HejI9t*AG$AG(HcIGHhHx-IGH`HxuH`MgDH@1I_AAEHHXLpI0IOHLHP@^HIWHH@HJ(JII%D$t EIIuIJLPHDHHI|$H4HPL`tQID$Mt$ HM‰ЍAW(f fAG 1fAG"IG IAG$v/NQv/AG$IMgnAG$@AG$IO9UfU1HLJH]f.UHH]I9IUMFNHL9LI H~8tqHIGAI8u[L9uL9tII9иv LLϸL)HH9r'HH9t tڀF]1]@)]IH@U1H]UHH]UH]DUH9Hs]Hf.]fUH9Hs1Hw@2]D]fUHHH~(H H9xtH9xuHHH)HH9rSHH9tGx tHM>IHA?MIIIILH1H9wHM]DHM]HMfUHHH9HSIsIIHDIHA?MIMIIML1H9uHH)HH\HI[]Ðf.UHAWEAVAUATISLHXH?jH}DmDuHHtHMHuȋ} ЅHuHMujH91L9tKHFHy8u;H9QHD9t9D9ttD9uHAH9HEL9uHX[A\A]A^A_]@E9t;LQL9t-fAD9tA9L9OHIL9u1뮐L9tHQHH9vUID9t J D9uDL9tHHH9u1L9ff1I9HX[A\A]A^A_]H9tHD9BDL9jI9‰D9IBHEȋE L^DuH]D}ELULAσDmE @L9tXHD:{uHCI9tEEDMLLEHMHH}Dl$D$D4$L9t HE@D9ufH9tAzIzIH}MH]D@UHH ED$D$E$^ff.UHHH]RUIHAWAVIAUAATASHHI9D}LGM9MGL9tLLL NIEHEI K"E)[A\A]LELA^A_])UI9HHHAVEAUIMFATMSHLJu EDDD)[A\A]A^]Ðf.UI9HHHAVEAUIMFATMSHLJu EDDD)[A\A]A^]Ðf.UL9HHHATMSHLHFD)[JD[A\]Ð1I9UMHAWAVAUATSHN4L)L$L9tlLYLD)LyHL)@M9LLWE8juM9t*AA8u1THA:TuH9uEuD[A\A]A^A_]UtAAAA[A\A]A^A_A]@I)}AABAAAAvAA DEAAA1f.fUH҉HEH]UL9MLFHHHvEIEIHHFDIF D8u!L9uI9иr]D)]Ðf.UI9HSHIFLWHLL9LI H~AA 8t+HIGAIAA 8uaL9uL9tMI9иv LLϸH)HH9s-EB A4 D8t(A @8u#HH9u[1]D[)]ÉDfD@8[B]IH|UHO@Ht!HH҈uH)]1]fDUHO8Ht!HH҈uH)]1]fDLUHH@L9Ht@H NL9u]LUHH8L9Ht@H NL9u]UH@HfDHt(HDBFD8tD)]fD1]ff.UH9Hs' HGX HHHu :]f]fUH9Hs^HG`HHHt)f.8H9w D@L9vHHHHu1]DHH) Ɉ u1H]ø]fUHL_HHH~,H H9xt @H9xuHHH)HH9r[HH9tOx tHM>IHA?MIA<;IIILH1H9wHM]HM]HMfUAHAWAVAUATL$L9SsGHW0Dt9I ADt5IM9uMA!|I01[A\A]A^A_]L9tI@A-+"1E1LE1E1DHEI9t8D[A vD[AwcD[ED9~A9vAHI9uI9JMtI8EtQA[A\A]A^A_HA"]D[AwD[D9]AEx EDA"fDIA1ҸAM9IE1DHEH@1fUAHAWAVAUATL$L9SsGHW0Dt9I ADt5IM9uMA!EI01[A\A]A^A_]L9tI@A-+ 1E1LE1E1DHEI9t8D[A vD[AwSD[ED9~A9vAHI9uI9JMtI8EtA[A\A]A^A_A"]fD[AwD[A9mA[A\DHA]HEA^A_HE]DIA1ҸAM9 IE11UHAWAVAUATL$SL9AsGHW0Dt9I ADt5IM9uMA!I01[A\A]A^A_]L9tI@A<-<+4LcH1IELE1E1MEHMI9t7DSA vDSAwgDSA9~I9vAHI9uI9BMtI8EԅtOHI9|Euw[A\LA]A^A_H]fDDSAwDS9VAMx`Eu[LfDIE1LcHIM9A"[A\A]A^A_]fDIEA"H~1w@f.UHAWAVAUATL$SL9AsGHW0Dt9I ADt5IM9uMA!YI01[A\A]A^A_]L9tI@A<-<+LcH1IELE1E1MEHMI9t7DSA vDSAwWDSA9~L9sAHI9uI9BMtI8EtIA"H[A\A]A^A_]DSAwDS9fIADuLL[A\A]A^HڅA_HE]IE1LcHIM9IE1ff.UIHAWEAVAUATISLHHHjDmDuHHt!HMHuH}ȋ} ЅLUHuHMu{H9@L9t[HVIBHDHyB8u=H9QHD9t;D9t~D9uHAH9HEL9ufHH[A\A]A^A_]@E9tCHAH9t4f.D9tA9L9HHH9u1fL9tHQHH9vUID9t J D9uDL9tHHH9u1L9ZD1I9HH[A\A]A^A_]H9tHD9:DH9HHEXI9tD9HH}IRH} L^H]D}MDmL}AfDI9tHCD8,uHCI9xEDMLLEHMHDt$LD$E$aI9;HE@D9*IWHH}HWH9tGHHUH}8H]/UHH ED$D$E$ff.UHAWHEAVAUL,1ATLe SDH]H]IL9 H9]HHUM\$LRKD8WD8ASMMARHHI9tSL9tNIIHeMcMr8uL~M9tVLHHMMI9ASARuL+UHE0L9LHE(LHIFL)HIL$I9IN@I9@Hfo&H11HHHA AHH9wIIH9AIFA$ A H9+IFAD$ AF H9IFAD$ AF H9IFAD$ AF H9IFAD$ AF H9IFAD$ AF H9IFAD$ AF H9IFAD$ AF H9IF AD$ AF H9toIF AD$ AF H9t[IF AD$ AF H9tGIF AD$ AF H9t3IF AD$ AF H9tIFAD$ AF H9t AD$ AF [A\A]A^A_1]fABHMMASDHIH9AD$ @ u[A\A]A^A_1]@MLH+EG HDEHM(HL)MVLHL@HHE0HMHIL$IFI9M9AD !I I9M9AD @zI I9@M9@`HfH1E1HHA I~flfofifafofafifafofhf`fof`fhfof`fhf`A HL9wIIH9zAHA$IFH9^AFHAD$IFH9@AFHAD$IFH9"AFHAD$IFH9AFHAD$IFH9AFHAD$IFH9AFHAD$IFH9AFHAD$IFH9AFHAD$IF H9nAF HAD$ IF H9PAF HAD$ IF H92AF HAD$ IF H9AF HAD$ IF H9AF HAD$ IFH9AFHAD$1[A\A]A^A_]fH@HIH9AT$uHE0LuHHE(HLuE1UHH)H]@UHH)H]@UHH]UH)HH9AHHF]fDHUHH)HH~+H H9Jt H9JuHHH)HH9sz t Dz uHH9u1]DHH)]UH9AHs>Hy &fD?xHH9uH)HH9HF]H)HAH9HF]f.+UHu GV )]f.UHwHHHt0 1fD8v HHH=u1]Df.UH9HsHW0T]f1ҸUHH9HAWAVAUATSs#< t< u!HH9uI01A![A\A]A^A_]Ð< t<-AEE<+H^ H9HBH9Ix1@ v,f.A:0@ wHI@I9HGuI9rQEMHЃ"A1[A\A]A^A_]f.HH9b&fDEE1IA)MAZIzLUDcA wIHH9HEAIDIH;UwMH}MA)._MME1EH9EDI8EHH9A"HNf.Aw H9AE1I4AL9ЋMMoA)H9rfHH9DAZЀ vEu2@HkA[A\A]A^A_]DE1AAEusHwH9DW1A-A+A0H1A v+fD7EVA w4HEH9A4rwމڅEAEuEHt!HEA~QHmI8HA"HEHHDAHHfHHAH9vHDA"HXEA"1AHAH< .f.M*I1}AAJHMcJ41HHH9HPHHwH9H9DW>I81AH9DAZЀ v7DAZЀ w&HAH9uE3HM{E1A.eH_H9vPDWAz@ HvEDAZЀ 1HH9uHtH1E1BH|E1tfUH]DUHHHHLpLxt )E)M)U)])e)m)u)}dH%(HH1HEHH0H8HPDž0 Dž40H@+HHdH3<%(u1fDUHHDHHHH]HL'UHHHATS1HPEdH%(HE1LHA0HL]HHA)HDEMC@t>IgffffffffHHIɃ0II?IHL)D ED)HAuICAL)H9HFIHL.IH]dH3%(u/HP[A\]ME-IHH0/f.UE1HHHSHXdH%(HE1MELMMII@y/LHLMHII?HA)A0DEIIgfffffffDILHILA0H?HH)A)HDuI@I)I9IFJHH\-HH]dH3%(u;HX[]E0HMߺ͐M%-IHHA .f.UHH]+UHHHH]mIf.UHtOuBH9s=H0Dt/Hf.Dt HH9uH)]1]@1>.uHFH9tۀ~0tӀ80uHH9u1I9UMHAWAVAUATSHJL)L4H]L9HWHLaIIM)D<HAHE I9II[CD8<uHEH9Et:A;8:u1!A<ETH<:B8<uL9uEuK[A\A]A^A_]f.UtAAAAA[A\A]A^A_]@H)}ACAAAAvAA DEAAA@1ff.UHAWAVIAUATSH8LHdH%(HE1MH1IHHXf.5f9FA5Df9BH IH f f HH=t(AAtftH4IH5uLH 1L1AAWAG )ЃHcHHA$HIIGH1H'f.I4AGf9rfA;w wft)HcL>u@HuINA$HHHuKH]dH3%(H8[A\A]A^A_]Í{HcHA$HHHtt\sHHH4vHWLD H2HzHHHqHyL9uHcHHHH@1c/*1ސf.UƇHƇƇ Hw`HHX]RfU1H]@?FUAAӃHS у?A?1@EEуDDAEDE!A!AAE A ȹA @DDƒDFAщD!A!AA DA ɹE @EDȃFAЉD!A!AA DA ȹE @EDF!AE!AD ʹD @ADЃFAD!E!AD D Ѓ D []f.Hi% ff.UHtB| IPt4f.| LBuLHu]IE1H11LHfUHH]fUHH9HAWLU AVLuAULmATO\5SM9D8t|D8twDEML @KfDDG<9EtAAwPAIA@IM9L~t8L9t3F8t+D8t&L8uL~I9FLMfDG LtLL)HU(M9HHE0L0LI@L)HIHI9IJ@I9@Hfo mH11HfozHHA A HH9wIIH9.I@A A9I9I@A@ AB9I9I@A@ AB9I9I@A@ AB9I9I@A@ AB9I9I@A@ AB9I9I@A@ AB9I9I@A@ AB9I9t|I@ A@ AB9I9tiI@ A@ AB 9I9tVI@ A@ AB 9I9tCI@ A@ AB 9I9t0I@ A@ AB 9I9tI@A@ AB 9I9t A@ AB9[A\A]A^A_1]HIL9@ AB9u[A\A]A^A_1]DUMcHAWAAVAUATSH(EHuHULEEEEE11ɉELELcAD#mIM)M9}.H(bDJA4HIM)M9|҃LfDEtL;us H]B43IyEt!H]L9vH}H@ L)LIH(L[A\A]A^A_]ÃLPLL)I9|@<LteD8<;uWHHL)L9|HǃL9HLHL)L99DHHE)HU"f.HLL뫁tHfHEH5&bMEHH tzM9~\D8uWHHDHL)L9}>H@:2u51H@uMHcEH5r&bHHDB4 HBH_HH EuMH1>fDUH9Hs/ H HHHu :]]ÐUH9Hs?HHZ&bHHt@ Ɉ t ]@1H]]ÐUHHHAWIAVL5(AUL-/ATISHHu*fDHFDHHHtaDEyAsHHN 0ADEި tOHtIq@HADt5@1DAHHHHuDHL[A\A]A^A_]fDAyoLBHqHLMLLELMHLEHAALDCD'4@f.UHAWIAVAAUIATSHHL9DeLF1Mt(AuDE0ED3t HL9uHqM9E$MFHLL9MJ 3IGHA)AtI9wH[A\A]A^A_]MALH4H)LAHL[A\A]A^A_]Ðf.UJ|HAWIAVE1AUMATLpSHxHhdH%(HE1HP*LLK\< HhLC<HLLB+cHILULL9HFM v0yڀ]F U<Hw ]fD@v]UH9H~S_>v=HBH9BHnVHc HHHt"]HIVxH] v 1wBP|v@<>v 1]f]f]f]fU1H9Hr3HHH9v#y_@>vyHHH9wfD]@f.UAHHHHHtSH9sN8@yDO Av DOAw II)I~DHEQA>v'Ex_@>vAfH)]AwfHf.UHH9sj@2]1HwH=TL HATHSMDM9H9DP AvDPAII)IDWEZA>EA[ v A[wZLL)H~NAYDcA>w7D EAA D9uyIHM9a[A\H>1L ]xD@EL} AGD8u6HIEyAYfDxD[A\D)]UHAUEATMSHHHuHMHuHML9vEIED)DH[A\A]]fDUHAVIAUIATMSHHHuHMHuHMPuAH}IH9t]H9s+DA t4@DGA u%HHOH9HMu1H[A\A]A^]fDAFH[A\A]A^]H}KT%H9tH}ظUHHHLBHATSfDMDtgEQ_AXw]DXES_A]v ESA>wDDAZ_Xw;YDc_A]v DcA>w#E8uiA8u`HHLB)DH1"HHF BA8uLHLB^HH1[A\]Ð[AA\)]EAAA D D)Րf.UHAVEH}AUIATMSHHI9HuMFHuHMLu EDDD)H[A\A]A^]fUHAUIH}ATMSHHI9HuMFHuHMLkuHL9tCI9wMHML)HH9s*1H@ tD@Hq@ u2H9HMu1H[A\A]]@HMLHMfD@FH[A\A]]fUHH_1XwH)H~VJ>w]fD0v1]f._U@YHЃ]ff.UH9HS^U9====)2rG=Fj=- 01w]fDH]f]f]fULRAHH @HHHtBH9s=8@yL9s)_@Xw xDOA>v @v @tHAH)]@UHHAWIAVIAUAATMSKH(EH9HuHUȉEHGHHEI9|@IHLLP=A$AD$ Ѝ[f6f}[fm6f[f*}6f_[f\6fG[f|U6f{ Zf j5fViYfXf=`^=WfMO4f+f=YAf=7TEfvm#2f\f=ZDRf8/f&]fROf+ff==Lf'f_Ǻf]f=f=vf==IfpO#f>_f=TFfHf)f=aU DfDf f=^f=f=YAf fGf?fIf3=ffz<fi fI;f8@ f);f* f:f\0f8:f([fH:fcxf|Y9fIf6*9f^f9f Ff 9f9f9f4fnf=}df=Kf=2f=~(f=f=f=f=f=@DE}HMIFHA$IAIAI9sL;us ElEDMEHMHuH([A\A]LLA^A_]DBIFH9EAvAvIIIT@@@A$IPf@@{k[LuEB3$u~}pyavRlCe4U%kU_OfUH]fDUHHt]ÿfDUH]fDU!3HH("HcHH]H'"]H'"]H'"]H'"]H'"]H'"]H'"]H'"]H]'"]H:'"]H7'"]HX'"]UHAWAVAUATISHhH I$dH%(HE1H9H?/Iu%@;/HH9uII)݀;/fI9A$uOM$X1MtHHLH)AI$ HudH34%(Hh[A\A]A^A_]@I$X1HtLf.II)II9wHnL}AHIGй LxLIMBD5LxtYILMHsMG LLiI|$H *"IM1BD- fDI|$H *"M1E1IUHAVAUIHRATISHH HHII)J42H9vtHHHBHHHH9HBHHH;WiHHJ<1HHH u[A\A]A^]f.H9v/H HxH LL{LH H t(HHHHLL[A\A]A^]DHHHuHH H[A\A]A^]H)f.HiViHHHt8IVHHHf1fHǃL @UIHAWAVAUATSHHH0H8H9s<L-<'"ADtTHBfD HAD t9H9HH0uI8H8I@EH[A\A]A^A_]IH0I@L0L8ID$I9rzH5#"LLELEuZM9Ml$M9H5""LLELEusL0MhHC[A\A]A^A_]@Mt$ M9sfE4$H=""LEAHLEIL0IM`fDIM9L0KMx@H5"" LLE(LEvIL0M9rJf.IM9L0t0A>]uA~]uA~>uIDL0Mp\DOA't A"ID$I9H0v3I2A8t$t&IfII2@80tM9LL0uI@H0H;8s HH0IHAISCD5UIT$I9H0v7AD$H $"t$IIADtM9LL0uIIPH9vmAD t,HH0HIAD5H9HIuHH9s6JHAD u$IHAD t H9HIPwIIPH9 qAD5t"HH9HI0HAD5uJHAD u#f.IHAD H9HIPwH4UH HAWAVIAUATSHXH(H0dH%(HE1HH9H8H HEHEHEHEs|><_I0HuH9v(:H@A8H9HHEuHH9%zHBA8ufzHA8H9HHEr@HuL CDuFHEfo#"Hp HEfEfEHPIPHHYHuL/!_?{E1EEIPHuHULAFH)@I0M8 L "AHI0L9rLmLmAEUt-A?11LPHuLA‹EA>A!A3H"JcHfDHCH]H]I9r$H5E"HLEWLEL{ M9H5" HLE&LEMUM0M9rDIM9M0A?]uA]uA>uM_ADM0L]fDHL9I0t7LcM9wH5z"HuM0LeACI@D;H=M"LEAHLEcHCI0HEDAIEfDHuL4=AtLISu EA/11L_*HuLAHuLSHuHULAFH)IPHUHuHtH)LЅHuHULH)@HuHULAFH)to@AD 11LDU}DUDA>>fA'@A"@0AAHsL9I0CH*"HS8HA8tL9HI0uH9HE@Au.@HvAH9HHuuHH9PHAufRHAH9HHEwHuLI6HuHULH)DHuLAA>fDHsL9I08CHCf H8 L9HI0uHUAHuDASA/8D0HuLA)EEHuLE1EEtAUI!3MH"HcHHHBHUI0=HTH9CAt.HKfHAt H9HHMuH9s,BHAu@HAt H9HHUuDAS!3H"HcHHtASD!DUI~H "I1*I~H "I1LI~H L"1L "L"L"L"L"L"L"L"L"L"L"yDL"I~H "1 LB"LL"LY"L]"L?"L."L)"L("L4"L/"LI~H {"1kL"L"L"L"L"L"L"L"L"L"L"yHvUHA`@Hum@uw@D1AHt HAt 1HfGAtHHdžH H]H~A_@t1HAfW@{AH`f.UHSHHHHtHEiHǃH[]f.UHPH]UHHH]UHXH]UH@H]UHGH]fDUH(H0HHNHPH9vx u!f: tHH9uH)]DHH)]UH(1H0HH9s: HDHH9u]f.fUHH vH1v]DH)1H~VJ>v0yڀ]F U<Hw ]fD@v]UH9H~S_>v=HBH9BH~$Hc HHHt"]HY$xH] v 1wBP|v@<>v 1]f]f]f]fUHH\tIH9sl@2]f1HwH="vyHHH9wfD]@f.UAHHHHHtSH9sN8@yDO Av DOAw II)I~DHEQA>v'Ex_@>vAfH)]AwfHf.UH>L HATHSMDM9H9DP AvDPAII)IDWEZA>EA[ v A[wZLL)H~NAYDcA>w7D EAA D9uyIHM9a[A\H>1L ]xD@ELD&AGD8u6HIEyAYfDxD[A\D)]UHAUEATMSHHHuHMHuHML9vEIED)DH[A\A]]fDUHAVIAUIATMSHHHuHMHuHMPuAH}IH9t]H9s+DA t4@DGA u%HHOH9HMu1H[A\A]A^]fDAFH[A\A]A^]H}KT%H9tH}ظUHAWAVAUATSHdH%(HE1HLL9tH< t C< u9HI9u!1H>H]dH3%(LH[A\A]A^A_]< t@<-<+GA\/+A E1<0tp0< wHyLa M9MGL9u!@HHL9HA0 vHHHHEHE@D907HL9u1f.LIM9ALAA_A?f.L9zL MHM9MFE1O$HEL9OdeD)A0A v؉HE&)HHL&DLIM9[ALA\/+A E1H< Bf.H< t< tLHu1fLa H1]I990@ Li@M9DyEwA wLiM9L.tI0 I9H EL9I NHvHKHHHHXDHu?L9Hiʚ;I TK L.IHHHEHH9vX"H< M9rH9[M9R"HEHHDHQU1Hw]ÀtH)H~Vу߃Av0v1]ff.U@~HЃ]ff.UH9H:@ǃ~gHzH9RЍ~Gw#H|'HcPHH]@-=]3w$HT'HBDH>]fDH]f]f]fULRAHH @HHHtRH9sM8@yL9s9@t3@t-xAAAAAv @v@t HfDAH)]@UH9HS_=9=== =]=Fj=% T=+= 1w?HA&HcpfH59Q'HFtHrH9B ]Ð@2]fDH5G'HF뾐H5M'HF뮐H5C'HF랐H5>'HF뎐]fH5='HFkfDH5&HFSH5&HFA]H5D&HF(H5tB&HFfU1H]U1H]U1H]UHAWIAVLuAUIATASHXLELMdH%(HE1HAEHEHIHLLLP@LEI tvI+t I-uuHI뿐I t1L}A1EEHEf.IHMLLLP@HIHEHPH v;HPHw#HPA9HU~-;]wqt_AHPHw HPA9HUHEHtL8L9}Mu<E9DH9Usf.E4@w8UH؅u,HudH34%(HX[A\A]A^A_]f.HE"HDIHEHtL8HET1H}HtL?H}3!1xHE"dHE!1S:f.UHAWIAVLuAUIATASHXLELMdH%(HE1HAEHEHIHLLLP@lLEI tvI+t I-uuHI뿐I t1L}A1EEHEf.IHMLLLP@HIHEHPH v;HPHw#HPA9HU~-;]}tsAHPHw HPA9HUHEHtL8L9}EtLHE"HudH34%(HX[A\A]A^A_]H9UsfE$@}HHڅHEDyHEHtL8HET1H}HtL?Hu3!1gHE!1V@f.UHAWIAVIAULmATM$SHXMLEdH4%(Hu1LMAEILLLLP@LEI tvI+t I-uuHII tHcE1L}1EHHEHHHEHE@ILLLLP@ HIHEHPH vH}3!1xHE"H_HE!1Nf.UHAWIAVIAULmATM$SHXMLEdH4%(Hu1LMAEILLLLP@LEI tvI+t I-uuHII tHcE1L}1EHHEHHHEHE@ILLLLP@HIHEHPH vDHPHw,HP9UHU~6H;]H]HDHPHw HP9UHUHEHtL8L9}Et\HE"HH}dH3<%(HX[A\A]A^A_]fH9UwfDE @uHHHڅHE@iHEHtL8HET1zH}HtL?H}3!1VHE!1Ekf.UHAWIAVIAUATI1SHXEdH%(HE1LIA0IH]IICA)MDEt?Hgfffffff@ILEA0HHLH?HH)A)HDuхMC-HM9A-sxMfDHHIM9v$DEtIILLLPHM)IcH}dH3<%(uEHX[A\A]A^A_]f.MM9sEu1MI@Df.UHAWIAVIAUI1ATSHXdH%(HE1%MEMH]y+LHH]HHA)A0DEIHgfffffffILHHLH?HH)A@0 )H҈uӅtwMC-HM9-snMDHHIM9v#tMHLLLAPHM)IcH}dH3<%(uVHX[A\A]A^A_]MM9su1E00H][fDMI@Df.UHAWIAVAUATSHxHuHUdH4%(Hu1HHMtMHIH]L)II?IIM@LmHII uYILLHLP@HEHM!HEH1H}dH3<%(Hx[A\A]A^A_]fDI tI-HEI+HEHE\/+HE EI0A0A fIGEL9LeIGIH*f.HIE0<  KTL,PIHLLLP@LLeLxM9IGLpL9HhIGE1HEM4f.HIE0< YL;}KTL,PILLHLP@xM9u$fDH}0HIM9ILLHLP@)LuH}HHڅL?HEILLHLP@HLmHEIHEHE_E4ILLHLP@HLmHEIHE\/+HE E1BIGE1MLpLH+xHh(HL,HE}L8K*HHڅHE)M9MLpILULLHLP@HLUIED@A M9EILxLLHLP@HLULxIEPЀ wUHEM9L8HEMH"HHDRL;hMMiʚ;H TUH}LKL?MI@ HH9vTHE"HL9m`Ik HL;mt+HvHLMkdLLfDHL9UwH;EfDHHVUH9HwDxuHH9vx tH)]@f.HBUH9H:]fHBH9rWJ1AAAuBR] HHfD1]@]Ð]fUHAWIHEAVAUATL$SHH(HULohdH %(HM1L9HErYuHuI;uw#IEHHHHt@Hv4HuILHLPHA9u)McLI9vILHHuLP@AHMdH3 %(HEuH([A\A]A^A_]UHAWIHEAVAUATL$SHH(HULohdH %(HM1L9HErZvHuI;uw$IEHHHHt@HvtHuILHLPHA9u)McLI9vILHHuLP@AHMdH3 %(HEuH([A\A]A^A_]fUIHLHHdH%(HE1HHuP@1҅IHMdH3 %(ucU1HD]DUHAWIAVIAULmATIS1HdH%(HE1MHI$LLLLP@ADIMcMuHMdH3 %(HuH[A\A]A^A_]UHAWAVAUATSHHHtlIIIIfIHt5ILLLPuIEL)H[A\A]A^A_]HL[A\A]L)A^A_]1UHAWMAVAUATISHHHuAtoIIHfDHIt=ILHLPu1I9AHH+EH[A\A]A^A_]DHH+EH[A\A]A^A_]1fDUHAUMATISHHHP0HI$IMH9sLIHf.DIHA?MIMIIML1H9uHH)HHLI$IMH[A\A]]ÐHBUH9Hrs:D(DLfAv]0IwLBL9rCR$fwցH H HH>]f.]ø]fHHVUH9HwDHH9vfx tH)]HBUH9Hr3J]HHJHcHBHHHf]fHBUH9Hr+H@rHHHBHHB]]ÐLUHHWhL9Hs HI9s>]fDH@yH@qHH@qHHI9@qvHqI9r~DNHHLDNAMcLDNAMcLH9:r LJIIO Mt @H<A~~F< H"8u#xuxux@ IHI9wL9t&8uxuxu x-E8t!1H2[A\A]A^A_]xu݀xu x+LA\/+A E1ɀxux@00@ wHpL`$@M9MGL9u8/@~u.~u(F0< wHtHH2HHEHE:@8xxx0HL9uH1f@ < yHfDHxL9AA_A?xHHxL9tAA\/+ E1L`$H1L9L~$MHM9MFE17fDxu0xu*DhA0A wO$HEL9Odet'8tHH)H5My(HHt2HvHIkdHHH L9Hiʚ;M9rL9vHEH"HDI TL*Ik IHHEHH9v"HHff.UHH)HH]H)UHHBH9HHC]HUHH)HAH9HvHHH9s+>uA~v9f.>u~wHH9w]f.HH)A]1f.HHVUH9Hw"&DxuxuxuHH9vx tH)]fUL9MLFHHHATMSuzfHHItjDDO_D`IIMDLDOIILDHIMDHMIML9tI9[A\]fDL9tz}HH9sg7ODGHHL OMHII t2ZfDDOD_IIMDOMIMI u*HH9r[A\1]fHJz[IA\F]UHH9HN1H9~HHNHcHNHcHH u`HBH)HLDHf.HH9v7L9t2xHHxHcHHHcHH t@H)]1]@HBUH9HrR]HH]ÐHBUH9Hr#1HwH@rH]@]fLUHL_hL9Hs HI9s0]fDHwH@yHI9ȈQvHqI9r~DVHISAIcIIN Mt AH<ANv\HB@~NHvKHB@~NHv:HB@~NHv)HB@~N HvH @~ N Hv@~ N []Df.UIHAVL4AUL9ATSLghL91fDHFHǚAI9rVAHcHAI9sD[A\A]A^D)]DXHEAAEIc~MT$MMt HRATIIOMt AH IALH9u6HI9vI9vHAHfDEt+D)[A\A]A^][H9A\A]A^]@LI)H)D)UHIL9MHLFATMSHGhHXHHFfDD_O[GdDENMtIDXO[G\E9uNHHItXDENMuDgAEfDPAEE9t1E9[A\D]HHL9tBA H Bt-BA H BtBA HBt BABI@HBA$HIAD$H9uHhHPHhHhHAHhHHcLB H b1zf.UHAWAVL4AUIATISHLELMdH%(HE1HEDž` HhHEHptDfL}<%|M9v/A$AD$HAD$IAD$CHKuLA$AD$L)AD$AD$HudH34%(HĨ[A\A]A^A_]fDHYfH y@ vA<vlHsduLL)H?e`/Hp`fPL foPEL@A$AD$HAD$IAD$ufD[M9A$AD$IAD$AD$%`/Hp`HLL)H)HHHHPf0询H4HPHHfo0H9wHHAH IA A HABA!AAHABAAAHABAAAHABAAAHABAA A!H A"BA#A$A%H A&B A'twA(A)H A*B A+t^A,A-H A.B A/tEA0A1H A2B A3t,A4A5HA6B A7tA8A9A:BA;IfDHH.A$AD$HAD$BIAD$H9uHhHPHhHhHQHhHcLAfoP)HڢfUHH HGhHD$ED$E$aÐf.UHH EHD$D$E$}aÐf.UHH HGhHD$ED$E$MaÐf.UHH EHD$D$E$aÐf.UHH HGhHD$ED$E$`Ðf.UHH EHD$D$E$`Ðf.UHAWIAVIAUATN$SHHHHEHEdH%(HE1HH9HEL9HEHEHEHE9E~fHEHMH92McHMI9L9}IHMLHuLP@AIHLHuLP@HcЅLmI)HLM)E9DANE)Hc耝DEDmDHudH34%(HH[A\A]A^A_]ÐHULH)L)H9tbLCe}emH9EAH9LBM9s:HEHE@H} uQHIM9sILLHuLP@EEZDH9EemE=DBmDmD,f.UHAWAVIAUATN$SHHHDMHEdH%(HE1HHEH9HEL9HEIHEHEHE5E~fHEHMH9McHMI9L9uIHMLHuLP@AIHLHuLP@HcЅLmI)HLM)E9DANE)Hc萛ADHudH34%(uEHH[A\A]A^A_]@}tD)H9LmI)M)DD)聟UHIHHHATH9SL9E1L_I˜DL9r3DgAOHIGHcI̹HIHFI9s1LH)H)I9NA)Hc蕚[ADA\]f.DXXIIXHcLDXAMcIۅ~M9u+LH9vI9vH6HEtD)[A\]M9[A\]H)I)D)UHAWAVAUATSHdH%(HE1t#1HUdH3%(u{H[A\A]A^A_]HLmHIIIHLP@~H} uLH} uHLLHILHP@HL)v蚝f.UHHw3HBH9~H%H=tfH@rH]f1HwHBH9rKHH@rH؈HH BHH܈B]@1]@]ø]f.H UH=HvUHvLH1Hw5HBH9rPHHfH ff%frf f]HBH9rf2]D]ø]fUHHIHHAUATSHHH9L`hnL9eE1f.HGH˜H9r2DWHIGHcGIҺHIHFI9s3H)I)A9؉MAND)HcVDH[A\A]]fDDXDhIMDhAMcMDhAMcM~I $I9It$MIJ4Ht EORFTI9wAIL$LHH Ht EK4[D\M9u%HH9vJI9vEHDAM9tM9H[A\A]]AHDEtD)H[A\A]]DH)I)D)f.UHAWAVMAUIATISHH8HMLEdH%(HE1HP0LM}hHI9HEM6HEHEwfDIOHHH HtHRTHuHHH?ILHHHHH1HHӃ?HILIHHH1L9evGIHMLHuLP@~+HUI;fHE{HEHHEL0HEdH3%(uH8[A\A]A^A_]/Df.UHHHIHHATH9SHXhUL9LE1ɐHGIØDH9r3DOAHIGHcGIɹHIHFI9s1LH)H)I9NA)Hc5AD[A\]f.DPD`IMD`AMcMD`AMcM~H I9HsMIJ4Ht EO IFLI9w;HKLHH Ht EK4RDTM9u LH9v=I9v8HAM9tM9[A\]DAHDHLH)H)H9LCEAH9HBL9HO1I9WHHGHHGHHH u\I@H)HL9Hts@H9t;QHHAHcAHHHH uHL9rD[A\1]DDHFFDUHAWAVIAUIJ<ATSHHXDMHEdH%(HE1HHEH}M}hH9HEYH9PHEMMIHEHEHEIvHHH4HHRtHuIHUH9INHHH HtHRTHUH9McHMHH9]L9mIHMLHuLP@AIHMHHuLP@~E~zHUIH92HEHUIH9LHEH9bH9\f.H M}tW+E2MLeLmHLM)I)E9DANE)Hc脐ADH]dH3%(u%HX[A\A]A^A_]LmLeM)I)DD)蕔DUHAWIAVIAUATN$SHHHHEHEdH%(HE1HLohH9HENL9EHEHEHEHEIuHHH4HHRtHuIMHUH9IMHHH HtHRTHUH9HMHI9L9}IHMLHuLP@EILHHuLP@Lc]E HUIMH9)HEHUIMH9CHEH9YH9EemEDHHULH)L)H9tfLCe}emH9EAH9LBM9s>HEHE@H} HIM9sILLHuLP@EEH]dH3%(uQHH[A\A]A^A_]LmI)HLM)E9DANE)HcۍDEDmDDBmDmD fUHH_1VwH)H~Vv 1]@f._U@WHЃ]ff.UH9H:@ǃHzH9R%7v:Nvl-!0=]GwPH(H]BHHfHّ)HcPHH]ÐH>]fDH]fH)HcP뾸]f]fULJAHH @HHHtBH9s=8@yL9s)_@Vw x@v@tHf.AH)]@UH9H[\=89====) =TMcfa=1wGH>J(HcpDH5I(HFt!HrH9 B ]@@2]fDH5(HFfH5(HF랐H5(HF뎐H5i(HF{fD]ÐH5(HF[fDH5QO(HFC]H5XN(HF*H5&K(HFf.U1Hx]Ð_]vEte1uH)H~V]wF]-^HH)H~~]w]fDH)1HvF]-?fD@U_H]w]fDt1D]UH9AHHH;fDt`]wHA9_@]w;LHHH9vHHtC8vLHL9vux`@?vH)A]ÐLHxL9wH)]1]U1H9Hr.t+x7HHH9vuHHH9w]HHfDHHfDUH9H:@ǃ_]wHHzH9JH C0H AHHuR_]v1]=ti=uHBH9BJH 1C,H AHHuB_<]wB_<]w]ÐH>]fDHBH9r7BP_>pHH]]f]ø]fUHH9@2]@1HwH=nB.qHBH9r@@r]D]ø]ø]UHAWAVAUATL$SHHL9HMLM\IMI~@HIVh{sHRHHH4vHHH}HÁIwAHFLxI9v8ILHLPHhHIADAGI9wLH+EH[A\A]A^A_]ËRHÁ~rL눐IvhDCHvH4Ht,AHRHHu*IHAGACIHAG-1eLf.ULG8E1H]ODf.ULG@AH],f.fU1Hx]Ð_]vEte1uH)H~V]wF]-^HH)H~~]w]fDH)1HvF]-?fD@U_H]w]fDt1D]UH9H:@ǃ_]wHHzH9JH B8H AHHuR_]v1]=ti=uHBH9BJH B4H AHHuB_<]wB_<]w]ÐH>]fDHBH9r7BP_>pHH]]f]ø]fUH9AHHH;fDt`]wmA9_@]w`LHHH9vHHtC8vLHL9vux`@?vA)]fLHxL9wH)]H)A]1]U1H9Hr.t+x7HHH9vuHHH9w]HHfDHHfDUHH9@2]@1HwH=@6qHBH9r@@r]D]ø]ø]UEHAWAVAUATStL9IGЉULcDEMcHIEE1DEDmEIAAH:D,AIHH)L9!De1Eu4DEċUE~(HEHf: HD)2E'LH)L9OEeAH:D,AeL%baME1I)I$Yf.M9/A:&L!fII)M9 @:8H:H@uEMcHaIFl*LXf}ԅH[:L%aHHuH)E1I$HDL9:H"f.II)M9@:8H:H@u؋UHuȅMcHaIBT3HXV@II$AELDMcH֖aIFl* II$A)UHuH؅nMcHaIBT3 b1[A\A]A^A_]AE1\ff.UHHti| HBtlf.| HPuHHuMt>B| IPt4f.| LBuLHu]IE1H^11LHfUHAWAVLuAUMATL$LHUL9SH] tI9tzE1TfE8tkE8tfL=:GL=:A EDAEHHII9GD[t*L9t%DA8uL~M9tD^L룸@G HMtLL)Hu(H}L9HHM0H9HIJL)HIzH9H{AI9@AvIfvIfo hL1E1HIA :;HM9wIHH9IJA H9 IJAB CH9IJAB CH9IJAB CH9IJAB CH9IJAB CH9IJAB CH9IJAB CH9tuIJ AB CH9tcIJ AB C H9tQIJ AB C H9t?IJ AB C H9t-IJ AB C H9tIJAB C H9t AB C[A\A]A^A_]fHHH9A Cu[A\A]A^A_]UHAWAVAUATSHHD}HuDADDHKDMMcM1E1^@E>Uą3MAH V:A tMIEs HuȈ HH9LL)L9}EuAH : uL PaME1M)I twDM9}[A:uVLfHL)L9}=@:2u8H1H@uEuCMcH aIBL!LZ:fDII AuELtfDMcH aIBL! 1H[A\A]A^A_]AtH9vH}H1H)HxHH[A\A]A^A_]f.UH)HH~#1vtNy@>w]1]@|H~0 wVvڀtF]0< UH9Hx H]fx@}wwHzH9zDGA~v DGA>w*@H>PHHt2]DGA wLBL9JDAA}v 1]@RDBA wi81iBNA=3w'H>BH]ø]f= wꔽո]=$wH>P=@,wr른]=bJwH>P=w oir= wH`>7PU=ԓw [YC=wH1>)P&=Øw FY=wH>.P_=w _=GWvXKHv1?Df.ULJAHH @HHHtH9s8@yL9s@u[AH)]LPM9v@t@tx0@ wx@v@tx0@ wH@txDWA>w Hg@|LPM9wq@UHv$1w}w V>w]Ð1@}]f@x0@ ]D1@]Ðf.UHHHH1Htx~=}j=A~DD{FD@EADH:GAB@-`T@~=_}tADAEiɾEAA_ALF|<IGA@-`=t ]HH4H*vω{ҍLJк~]PFDFFD991]DN~A~DD{FD@EADH><GAB@-`P`?HWhHRHHVHRHfDHGhHxH@HHH`=?rẢA AAAAADJA)‰Ѓ0AA~DA)C)֍V0…E D=c9PfDFi81iFFBNAw5-2HWhHRHHH@HfD-=^뻍~UHHAWO<AVIAUAATMSHHHEHUHuEdH%(HE1HGHH9M9HE ˆUHuOHMHCHoA$IAM9HH;]EILLLPtLLHHERHULjE@}U@u…&DUE1ADEH9vXEL[L9BD ECHCH9D=ɈCHCtH9vzD5HCLeAM9DHEdH3%(EDMHHMHuHH[A\ELA]A^A_]LfDA$fDHDEHHIE1DLZDU1H1AEDUHHE1E1DH]qDf.UH)HH~3>1@v#@tDFEHA>wDH9]1]@A|H~APЀ wVvՀtFp@ wAAD<@f.UHAWIAVIAUATMSHHxHUD|dH%(HE1H=iHHt } Ѕ-L9@HEHEEHE|HEHEHERIVHHAL)ILmIVHI9HEL9H H9EHEA%LE1H9EL9}voIHEIEu EH;EtLH)HILLMLM?HMHULLLEHLE HMdH3 %(Hx[A\A]A^A_]fLL5I9BHHEALAfHMLHL^HIrHEH9E@I9QELmHEHEHEHHEAH;EH9EL9} IHELII9wHUHMLLLMHHLMW@1L9}f.HMLHL^HImD1L;}_1XL\mLLHLHI)HEI9tL9} I9HtHEA|LH;E4L9}HEIH]LeLM)HEE MMԃE.AEHSHI9HEML9ut~}Ax;HHUHSHAAILEtLLHLELEHMHULHHIHtaHLHw릸HUI9tED|MLEHMLH߉D$ED$E$A0A>I9Hx5HEALHMLHLVHIxeHMLHL3HIuFfDUHAWAVMAUIATLeSIL$HHHHuHUdH%(HE1HIcLPHMEHHcuIL$LHPH)E1uD}HHcuIL$LHPHA1DMHUHHuD$MD$D<$LH}dH3<%(HH[A\A]A^A_]fEE1@D}EUAAEAA<UEMEȉEfEUЉEED}A@EUEME@EUiUIHAWAVAUIH<ATSH8HMD}dH%(HE1H9LE`Lm@HDH)HTAJA@VDRA>A@`AAA"LH)HSr@>DAELLLLUL]LMLMALHLA9LML]LUuMILML9M9 !LL)H~A>@LE1E1H)1H5AIAHM^Lc 8t)H([A\A]A^A_]DH~BA0A w8AVv.t)ANQЀ MA  DBE11fDHU0 IC<=<5CA0< zHEL0HEHH(1[A\A]A^A_]ÐH([A\A]A^A_]D9H([A\A]A^A_]ÃDUHAUEATISLHHuHMHuHMEu I9wD)H[A\A]]@EuD)ff.UHAVIAUIATISLHHuHMHuHMuXHMK4&IH9t|I9ܸsHMLHMH9s'9@ t2fy@ u&HHQH9HUu1H[A\A]A^]@FH[A\A]A^]L9mz1fUHAUIHATSHHuHU\H}Ht\HMHuIHLID)DH[A\A]]UH9HHxHHHB>=pff=HWH9=AAAAC)ƉЃ0@w Ѻ~A)AADG)0O]DH1HvHdH=p@ff=wH ;D@2]fDHwnH=prff=v@HWH9r^@w]fCUDH+wWe@]Ð]HH]f.LIL_hL9 UHHAWAVAUATA SZHHiHZ<=PDff=LoM9rEWLLI9v5Ax@I9rM{IHt HRI9x[A\A]A^HA_H)]B<}wHFI9rFDHA~vDHA>RHX>PHtAlHwDH@LoM9sDAACA)ƉAA0DwAֺ~ADA)DADA)A0DwL@HDtHHdHC=P@ff=mD /DHA LNM9DNEiA}zDnEuA gi81iACATENA=3vx= w~ꔽAH+DHkHh=Prff= HDHx>B=$v=@,w$roHw>PY1=bJwHw>P9=w oi'= wHw>7P =ԓw [Y=wHmw>)P=Øw FY=wH>w>.P_=w _=GWvXKHv1r?hf.LIL_hL9 UHHAWAVAUATA SZHHiH*8=PDff=LoM9rFWLLI9v6Ax@I9rM{IHt HRTI9w[A\A]A^HA_H)]fDB<}wHFI9rFDHA~vDHA>RH(>PHtAlHwDH@LoM9tDAACA)ƉAA0DwAֺ~ADA)DADA)A0DwL@HDtHHdH=P@ff=mD /DHA LNM9DNEiA}{DnEuA hi81iACATENA=3vx= w~ꔽAH+DHkH8=Prff= HDHs>B=$v=@,w$roHs>PY1=bJwHs>P9=w oi'= wHls>7P =ԓw [Y=wH=s>)P=Øw FY=wHs>.P_=w _=GWvXKHv1r?hf.UIHAWAVL4AUATSHH8dH%(HE1L9uIII9[A~ tHEM*M LULEHEHEIWH1E1ҹ1ILHEL?HHLIHL1H?IDHHHHH1HHփ?HIDIHH1HIŃ?IIT I HII1I9@HTHMLHLHHH0HH3CSCց99AAfDM*M HEdH3%(M*M H8[A\A]A^A_]f.sƍ~=_}wa@i׍_HPY<HGDBA`AtCDؿEA;D1~=}j=HHCi81iCCBNA-=wUIWhHRHHt<H@H@=9?DD1HE1HCDLULEQA~@{TPHAҍH3<WDPA`{{TPи~H@čDFDEIHIHEyA~@{TPHAэH{:WDPA`P`?IWhHRHHSHRHH`?x+A~縃 AAAAAEEBA)Dʃ0DD)ЃC)׍W0ЅED-2tl"Q~yAWAAVIAUIATL%AaUH-AaSL)1HHIHtLLDAHH9uH[]A\A]A^A_Ðf.HH'"\basic_string::insert',''Y','N','',now(), NULL, 'N'); FLUSH PRIVILEGES; ALTER USER ''@'' IDENTIFIED BY '' PASSWORD EXPIRE; Ver 5.7.23-23, for Linux on x86_64Usage: [OPTIONS]mysql_install_dbsha256_password characters in length.mysql_native_passwordThe data directory 'ANYselect() timed out.basic_string::substrbasic_string::erasedelimiter *//*Creating system tables...CREATE DATABASE mysql; USE mysql; failed.done.Creating default user @','','',TRUE,'',now()); Creating sys schemaNo such file '' ;Creating default proxy # Password set for user '' at Child process: exited with return value /usr/bin/usr/local/bin/opt/mysql/bin/usr/sbin/sql/share/english/usr/share/mysql/english/opt/mysql/share/english/usr/share/percona-server, No such file: sqlmysqld--no-defaults--defaults-file=--defaults-extra-file=--defaults-group-suffix=--login-path=myUnrecognized optionsUsing default values from Failed to locate login-path 'in the login config file '' (skipping)Can't open defaults file 'Using existing directory Creating data directory Can't create password file Failed to verify user id ''. Does it exist? to (--bootstrap--datadir=--lc-messages-dir=--lc-messages=--basedir=Executing Failed to execute -- server log begin ---- server log end --ERROR Setting file ownership to Success!NOTEWARNINGhelpDisplay this help and exit.builddirsrcdirbasedirdatadirlogin-pathlogin-fileextra-sql-fileadmin-useradmin-hostadmin-auth-pluginadmin-require-sslmysqld-filerandom-password-fileinsecureverboselc-messages-dirlc-messagesskip-sys-schemaSET NAMES utf8; USE sys; SET sql_log_bin=0; SET NAMES 'utf8'; TRUNCATE TABLE help_topic; TRUNCATE TABLE help_keyword; START TRANSACTION; COMMIT; set sql_mode=''; PREPARE stmt FROM @str; EXECUTE stmt; DROP PREPARE stmt; INSERT INTO mysql.user VALUES (basic_string::_S_construct null not validCopyright (c) 2009-2018 Percona LLC and/or its affiliates Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. MySQL Database Deployment Utility.The following options may be given as the first argument:--print-defaults Print the program argument list and exit.--no-defaults Don't read default options from any option file, except for login file.--defaults-file=# Only read default options from the given file #.--defaults-extra-file=# Read this file after the global files are read.Username must be between 1 and Recommended practice is to use only alpha-numericals in the user / host name.Only use alpha-numericals in the the plugin name.Unsupported authentication plugin specified.The data directory needs to be specified.' already exist and is not empty.Filling system tables with data...Filling help table with data...Creating user for internal session service...INSERT IGNORE INTO mysql.user VALUES ('localhost','mysql.session','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'mysql_native_password','*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE','N',CURRENT_TIMESTAMP,NULL,'Y'); INSERT IGNORE INTO mysql.tables_priv VALUES ('localhost', 'mysql', 'mysql.session', 'user', 'root@localhost', CURRENT_TIMESTAMP, 'Select', ''); INSERT IGNORE INTO mysql.db VALUES ('localhost', 'performance_schema', 'mysql.session','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N'); INSERT INTO proxies_priv VALUES ('Executing extra SQL commands from SET default_storage_engine=INNODB; terminated prematurely with errno= Can't determine current working directory.Can't locate the language directory.Attempted the following paths: Can't locate the server executable (mysqld).The following paths were searched: mysql_install_db is deprecated. Please consider switching to mysqld --initializeUsing default values from my.cnfUsing additional default values from Reading the login config file for default account credentials using login-path = Can't read the login config file: Failed to decrypt the login config file: Failed to parse the login config file: Can't open extra defaults file 'Failed to create the data directory 'Generating random password to Failed to set file ownership for Failed to set effective group id to Failed to set effective user id to The bootstrap log isn't empty:Password is specified as empty! You need to use the --insecure optionThe effective user id used when executing the bootstrap sequence.For use with --srcdir and out-of-source builds. Set this to the location of the directory where the built files reside.For internal use. This option specifies the directory under which mysql_install_db looks for support files such as the error message file and the file for populating the help tables.The path to the MySQL installation directory.The path to the MySQL data directory.Set the credential category to use with the MySQL password store when setting default credentials. This option takes precedence over admin-user, admin-host options.Use the MySQL password store at the specified location to set the default password. This option takes precedence over admin-user, admin-host options. Use the login-path option to change the default credential category (default is 'client').Optional SQL file to execute during bootstrap.Username part of the default admin account.Hostname part of the default admin account.Plugin to use for the default admin account.Require SSL/TLS for the default admin account.Qualified path to the mysqld binary.Specifies the qualified path to the .mysql_secret temporary password file.Disables random passwords for the default admin account.Be more verbose when running program.Print program version and exit.Specifies the path to the language files.Specifies the language to use.Skip installation of the sys schema.REPLACE INTO mysql.user VALUES ('localhost','mysql.sys','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'mysql_native_password','*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE','N',CURRENT_TIMESTAMP,NULL,'Y'); REPLACE INTO mysql.db VALUES ('localhost','sys','mysql.sys','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','Y'); REPLACE INTO mysql.tables_priv VALUES ('localhost','sys','mysql.sys','sys_config','root@localhost', CURRENT_TIMESTAMP, 'Select', ''); CREATE DATABASE IF NOT EXISTS sys DEFAULT CHARACTER SET utf8; CREATE OR REPLACE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW version ( sys_version, mysql_version ) AS SELECT '1.5.1' AS sys_version, version() AS mysql_version; CREATE TABLE IF NOT EXISTS sys_config ( variable VARCHAR(128) PRIMARY KEY, value VARCHAR(128), set_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, set_by VARCHAR(128) ) ENGINE = InnoDB; INSERT IGNORE INTO sys.sys_config (variable, value) VALUES ('statement_truncate_len', 64), ('statement_performance_analyzer.limit', 100), ('statement_performance_analyzer.view', NULL), ('diagnostics.allow_i_s_tables', 'OFF'), ('diagnostics.include_raw', 'OFF'), ('ps_thread_trx_info.max_length', 65535); DROP TRIGGER IF EXISTS sys_config_insert_set_user; CREATE DEFINER='mysql.sys'@'localhost' TRIGGER sys_config_insert_set_user BEFORE INSERT on sys_config FOR EACH ROW BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END; DROP TRIGGER IF EXISTS sys_config_update_set_user; CREATE DEFINER='mysql.sys'@'localhost' TRIGGER sys_config_update_set_user BEFORE UPDATE on sys_config FOR EACH ROW BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END; DROP FUNCTION IF EXISTS extract_schema_from_file_name; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION extract_schema_from_file_name ( path VARCHAR(512) ) RETURNS VARCHAR(64) COMMENT '\n Description\n \n Takes a raw file path, and attempts to extract the schema name from it.\n \n Useful for when interacting with Performance Schema data \n concerning IO statistics, for example.\n \n Currently relies on the fact that a table data file will be within a \n specified database directory (will not work with partitions or tables\n that specify an individual DATA_DIRECTORY).\n \n Parameters\n \n path (VARCHAR(512)):\n The full file path to a data file to extract the schema name from.\n \n Returns\n \n VARCHAR(64)\n \n Example\n \n mysql> SELECT sys.extract_schema_from_file_name(\'/var/lib/mysql/employees/employee.ibd\');\n +----------------------------------------------------------------------------+\n | sys.extract_schema_from_file_name(\'/var/lib/mysql/employees/employee.ibd\') |\n +----------------------------------------------------------------------------+\n | employees |\n +----------------------------------------------------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN RETURN LEFT(SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(path, '\\', '/'), '/', -2), '/', 1), 64); END; DROP FUNCTION IF EXISTS extract_table_from_file_name; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION extract_table_from_file_name ( path VARCHAR(512) ) RETURNS VARCHAR(64) COMMENT '\n Description\n \n Takes a raw file path, and extracts the table name from it.\n \n Useful for when interacting with Performance Schema data \n concerning IO statistics, for example.\n \n Parameters\n \n path (VARCHAR(512)):\n The full file path to a data file to extract the table name from.\n \n Returns\n \n VARCHAR(64)\n \n Example\n \n mysql> SELECT sys.extract_table_from_file_name(\'/var/lib/mysql/employees/employee.ibd\');\n +---------------------------------------------------------------------------+\n | sys.extract_table_from_file_name(\'/var/lib/mysql/employees/employee.ibd\') |\n +---------------------------------------------------------------------------+\n | employee |\n +---------------------------------------------------------------------------+\n 1 row in set (0.02 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN RETURN LEFT(SUBSTRING_INDEX(REPLACE(SUBSTRING_INDEX(REPLACE(path, '\\', '/'), '/', -1), '@0024', '$'), '.', 1), 64); END; DROP FUNCTION IF EXISTS format_bytes; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION format_bytes ( bytes TEXT ) RETURNS TEXT COMMENT '\n Description\n \n Takes a raw bytes value, and converts it to a human readable format.\n \n Parameters\n \n bytes (TEXT):\n A raw bytes value.\n \n Returns\n \n TEXT\n \n Example\n \n mysql> SELECT sys.format_bytes(2348723492723746) AS size;\n +----------+\n | size |\n +----------+\n | 2.09 PiB |\n +----------+\n 1 row in set (0.00 sec)\n \n mysql> SELECT sys.format_bytes(2348723492723) AS size;\n +----------+\n | size |\n +----------+\n | 2.14 TiB |\n +----------+\n 1 row in set (0.00 sec)\n \n mysql> SELECT sys.format_bytes(23487234) AS size;\n +-----------+\n | size |\n +-----------+\n | 22.40 MiB |\n +-----------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN IF bytes IS NULL THEN RETURN NULL; ELSEIF bytes >= 1125899906842624 THEN RETURN CONCAT(ROUND(bytes / 1125899906842624, 2), ' PiB'); ELSEIF bytes >= 1099511627776 THEN RETURN CONCAT(ROUND(bytes / 1099511627776, 2), ' TiB'); ELSEIF bytes >= 1073741824 THEN RETURN CONCAT(ROUND(bytes / 1073741824, 2), ' GiB'); ELSEIF bytes >= 1048576 THEN RETURN CONCAT(ROUND(bytes / 1048576, 2), ' MiB'); ELSEIF bytes >= 1024 THEN RETURN CONCAT(ROUND(bytes / 1024, 2), ' KiB'); ELSE RETURN CONCAT(ROUND(bytes, 0), ' bytes'); END IF; END; DROP FUNCTION IF EXISTS format_path; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION format_path ( in_path VARCHAR(512) ) RETURNS VARCHAR(512) CHARSET UTF8 COMMENT '\n Description\n \n Takes a raw path value, and strips out the datadir or tmpdir\n replacing with @@datadir and @@tmpdir respectively. \n \n Also normalizes the paths across operating systems, so backslashes\n on Windows are converted to forward slashes\n \n Parameters\n \n path (VARCHAR(512)):\n The raw file path value to format.\n \n Returns\n \n VARCHAR(512) CHARSET UTF8\n \n Example\n \n mysql> select @@datadir;\n +-----------------------------------------------+\n | @@datadir |\n +-----------------------------------------------+\n | /Users/mark/sandboxes/SmallTree/AMaster/data/ |\n +-----------------------------------------------+\n 1 row in set (0.06 sec)\n \n mysql> select format_path(\'/Users/mark/sandboxes/SmallTree/AMaster/data/mysql/proc.MYD\') AS path;\n +--------------------------+\n | path |\n +--------------------------+\n | @@datadir/mysql/proc.MYD |\n +--------------------------+\n 1 row in set (0.03 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN DECLARE v_path VARCHAR(512); DECLARE v_undo_dir VARCHAR(1024); DECLARE path_separator CHAR(1) DEFAULT '/'; IF @@global.version_compile_os LIKE 'win%' THEN SET path_separator = '\\'; END IF; IF in_path LIKE '/private/%' THEN SET v_path = REPLACE(in_path, '/private', ''); ELSE SET v_path = in_path; END IF; SET v_undo_dir = IFNULL((SELECT VARIABLE_VALUE FROM performance_schema.global_variables WHERE VARIABLE_NAME = 'innodb_undo_directory'), ''); IF v_path IS NULL THEN RETURN NULL; ELSEIF v_path LIKE CONCAT(@@global.datadir, IF(SUBSTRING(@@global.datadir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, @@global.datadir, CONCAT('@@datadir', IF(SUBSTRING(@@global.datadir, -1) = path_separator, path_separator, ''))); ELSEIF v_path LIKE CONCAT(@@global.tmpdir, IF(SUBSTRING(@@global.tmpdir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, @@global.tmpdir, CONCAT('@@tmpdir', IF(SUBSTRING(@@global.tmpdir, -1) = path_separator, path_separator, ''))); ELSEIF v_path LIKE CONCAT(@@global.slave_load_tmpdir, IF(SUBSTRING(@@global.slave_load_tmpdir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, @@global.slave_load_tmpdir, CONCAT('@@slave_load_tmpdir', IF(SUBSTRING(@@global.slave_load_tmpdir, -1) = path_separator, path_separator, ''))); ELSEIF v_path LIKE CONCAT(@@global.innodb_data_home_dir, IF(SUBSTRING(@@global.innodb_data_home_dir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, @@global.innodb_data_home_dir, CONCAT('@@innodb_data_home_dir', IF(SUBSTRING(@@global.innodb_data_home_dir, -1) = path_separator, path_separator, ''))); ELSEIF v_path LIKE CONCAT(@@global.innodb_log_group_home_dir, IF(SUBSTRING(@@global.innodb_log_group_home_dir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, @@global.innodb_log_group_home_dir, CONCAT('@@innodb_log_group_home_dir', IF(SUBSTRING(@@global.innodb_log_group_home_dir, -1) = path_separator, path_separator, ''))); ELSEIF v_path LIKE CONCAT(v_undo_dir, IF(SUBSTRING(v_undo_dir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, v_undo_dir, CONCAT('@@innodb_undo_directory', IF(SUBSTRING(v_undo_dir, -1) = path_separator, path_separator, ''))); ELSEIF v_path LIKE CONCAT(@@global.basedir, IF(SUBSTRING(@@global.basedir, -1) = path_separator, '%', CONCAT(path_separator, '%'))) ESCAPE '|' THEN SET v_path = REPLACE(v_path, @@global.basedir, CONCAT('@@basedir', IF(SUBSTRING(@@global.basedir, -1) = path_separator, path_separator, ''))); END IF; RETURN v_path; END; DROP FUNCTION IF EXISTS format_statement; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION format_statement ( statement LONGTEXT ) RETURNS LONGTEXT COMMENT '\n Description\n \n Formats a normalized statement, truncating it if it is > 64 characters long by default.\n \n To configure the length to truncate the statement to by default, update the `statement_truncate_len`\n variable with `sys_config` table to a different value. Alternatively, to change it just for just \n your particular session, use `SET @sys.statement_truncate_len := `.\n \n Useful for printing statement related data from Performance Schema from \n the command line.\n \n Parameters\n \n statement (LONGTEXT): \n The statement to format.\n \n Returns\n \n LONGTEXT\n \n Example\n \n mysql> SELECT sys.format_statement(digest_text)\n -> FROM performance_schema.events_statements_summary_by_digest\n -> ORDER by sum_timer_wait DESC limit 5;\n +-------------------------------------------------------------------+\n | sys.format_statement(digest_text) |\n +-------------------------------------------------------------------+\n | CREATE SQL SECURITY INVOKER VI ... KE ? AND `variable_value` > ? |\n | CREATE SQL SECURITY INVOKER VI ... ait` IS NOT NULL , `esc` . ... |\n | CREATE SQL SECURITY INVOKER VI ... ait` IS NOT NULL , `sys` . ... |\n | CREATE SQL SECURITY INVOKER VI ... , `compressed_size` ) ) DESC |\n | CREATE SQL SECURITY INVOKER VI ... LIKE ? ORDER BY `timer_start` |\n +-------------------------------------------------------------------+\n 5 rows in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN IF @sys.statement_truncate_len IS NULL THEN SET @sys.statement_truncate_len = sys_get_config('statement_truncate_len', 64); END IF; IF CHAR_LENGTH(statement) > @sys.statement_truncate_len THEN RETURN REPLACE(CONCAT(LEFT(statement, (@sys.statement_truncate_len/2)-2), ' ... ', RIGHT(statement, (@sys.statement_truncate_len/2)-2)), '\n', ' '); ELSE RETURN REPLACE(statement, '\n', ' '); END IF; END; DROP FUNCTION IF EXISTS format_time; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION format_time ( picoseconds TEXT ) RETURNS TEXT CHARSET UTF8 COMMENT '\n Description\n \n Takes a raw picoseconds value, and converts it to a human readable form.\n \n Picoseconds are the precision that all latency values are printed in \n within Performance Schema, however are not user friendly when wanting\n to scan output from the command line.\n \n Parameters\n \n picoseconds (TEXT): \n The raw picoseconds value to convert.\n \n Returns\n \n TEXT\n \n Example\n \n mysql> select format_time(342342342342345);\n +------------------------------+\n | format_time(342342342342345) |\n +------------------------------+\n | 00:05:42 |\n +------------------------------+\n 1 row in set (0.00 sec)\n \n mysql> select format_time(342342342);\n +------------------------+\n | format_time(342342342) |\n +------------------------+\n | 342.34 us |\n +------------------------+\n 1 row in set (0.00 sec)\n \n mysql> select format_time(34234);\n +--------------------+\n | format_time(34234) |\n +--------------------+\n | 34.23 ns |\n +--------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN IF picoseconds IS NULL THEN RETURN NULL; ELSEIF picoseconds >= 604800000000000000 THEN RETURN CONCAT(ROUND(picoseconds / 604800000000000000, 2), ' w'); ELSEIF picoseconds >= 86400000000000000 THEN RETURN CONCAT(ROUND(picoseconds / 86400000000000000, 2), ' d'); ELSEIF picoseconds >= 3600000000000000 THEN RETURN CONCAT(ROUND(picoseconds / 3600000000000000, 2), ' h'); ELSEIF picoseconds >= 60000000000000 THEN RETURN CONCAT(ROUND(picoseconds / 60000000000000, 2), ' m'); ELSEIF picoseconds >= 1000000000000 THEN RETURN CONCAT(ROUND(picoseconds / 1000000000000, 2), ' s'); ELSEIF picoseconds >= 1000000000 THEN RETURN CONCAT(ROUND(picoseconds / 1000000000, 2), ' ms'); ELSEIF picoseconds >= 1000000 THEN RETURN CONCAT(ROUND(picoseconds / 1000000, 2), ' us'); ELSEIF picoseconds >= 1000 THEN RETURN CONCAT(ROUND(picoseconds / 1000, 2), ' ns'); ELSE RETURN CONCAT(picoseconds, ' ps'); END IF; END; DROP FUNCTION IF EXISTS list_add; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION list_add ( in_list TEXT, in_add_value TEXT ) RETURNS TEXT COMMENT '\n Description\n \n Takes a list, and a value to add to the list, and returns the resulting list.\n \n Useful for altering certain session variables, like sql_mode or optimizer_switch for instance.\n \n Parameters\n \n in_list (TEXT):\n The comma separated list to add a value to\n \n in_add_value (TEXT):\n The value to add to the input list\n \n Returns\n \n TEXT\n \n Example\n \n mysql> select @@sql_mode;\n +-----------------------------------------------------------------------------------+\n | @@sql_mode |\n +-----------------------------------------------------------------------------------+\n | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |\n +-----------------------------------------------------------------------------------+\n 1 row in set (0.00 sec)\n \n mysql> set sql_mode = sys.list_add(@@sql_mode, ''ANSI_QUOTES'');\n Query OK, 0 rows affected (0.06 sec)\n \n mysql> select @@sql_mode;\n +-----------------------------------------------------------------------------------------------+\n | @@sql_mode |\n +-----------------------------------------------------------------------------------------------+\n | ANSI_QUOTES,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |\n +-----------------------------------------------------------------------------------------------+\n 1 row in set (0.00 sec)\n \n ' SQL SECURITY INVOKER DETERMINISTIC CONTAINS SQL BEGIN IF (in_add_value IS NULL) THEN SIGNAL SQLSTATE '02200' SET MESSAGE_TEXT = 'Function sys.list_add: in_add_value input variable should not be NULL', MYSQL_ERRNO = 1138; END IF; IF (in_list IS NULL OR LENGTH(in_list) = 0) THEN RETURN in_add_value; END IF; RETURN (SELECT CONCAT(TRIM(BOTH ',' FROM TRIM(in_list)), ',', in_add_value)); END; DROP FUNCTION IF EXISTS list_drop; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION list_drop ( in_list TEXT, in_drop_value TEXT ) RETURNS TEXT COMMENT '\n Description\n \n Takes a list, and a value to attempt to remove from the list, and returns the resulting list.\n \n Useful for altering certain session variables, like sql_mode or optimizer_switch for instance.\n \n Parameters\n \n in_list (TEXT):\n The comma separated list to drop a value from\n \n in_drop_value (TEXT):\n The value to drop from the input list\n \n Returns\n \n TEXT\n \n Example\n \n mysql> select @@sql_mode;\n +-----------------------------------------------------------------------------------------------+\n | @@sql_mode |\n +-----------------------------------------------------------------------------------------------+\n | ANSI_QUOTES,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |\n +-----------------------------------------------------------------------------------------------+\n 1 row in set (0.00 sec)\n \n mysql> set sql_mode = sys.list_drop(@@sql_mode, ''ONLY_FULL_GROUP_BY'');\n Query OK, 0 rows affected (0.03 sec)\n \n mysql> select @@sql_mode;\n +----------------------------------------------------------------------------+\n | @@sql_mode |\n +----------------------------------------------------------------------------+\n | ANSI_QUOTES,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |\n +----------------------------------------------------------------------------+\n 1 row in set (0.00 sec)\n \n ' SQL SECURITY INVOKER DETERMINISTIC CONTAINS SQL BEGIN IF (in_drop_value IS NULL) THEN SIGNAL SQLSTATE '02200' SET MESSAGE_TEXT = 'Function sys.list_drop: in_drop_value input variable should not be NULL', MYSQL_ERRNO = 1138; END IF; IF (in_list IS NULL OR LENGTH(in_list) = 0) THEN RETURN in_list; END IF; RETURN (SELECT TRIM(BOTH ',' FROM REPLACE(REPLACE(CONCAT(',', in_list), CONCAT(',', in_drop_value), ''), CONCAT(', ', in_drop_value), ''))); END; DROP FUNCTION IF EXISTS ps_is_account_enabled; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_is_account_enabled ( in_host VARCHAR(60), in_user VARCHAR(32) ) RETURNS ENUM('YES', 'NO') COMMENT '\n Description\n \n Determines whether instrumentation of an account is enabled \n within Performance Schema.\n \n Parameters\n \n in_host VARCHAR(60): \n The hostname of the account to check.\n in_user VARCHAR(32):\n The username of the account to check.\n \n Returns\n \n ENUM(\'YES\', \'NO\', \'PARTIAL\')\n \n Example\n \n mysql> SELECT sys.ps_is_account_enabled(\'localhost\', \'root\');\n +------------------------------------------------+\n | sys.ps_is_account_enabled(\'localhost\', \'root\') |\n +------------------------------------------------+\n | YES |\n +------------------------------------------------+\n 1 row in set (0.01 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN RETURN IF(EXISTS(SELECT 1 FROM performance_schema.setup_actors WHERE (`HOST` = '%' OR in_host LIKE `HOST`) AND (`USER` = '%' OR `USER` = in_user) AND (`ENABLED` = 'YES') ), 'YES', 'NO' ); END; DROP FUNCTION IF EXISTS ps_is_consumer_enabled; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_is_consumer_enabled ( in_consumer varchar(64) ) RETURNS enum('YES', 'NO') COMMENT '\n Description\n \n Determines whether a consumer is enabled (taking the consumer hierarchy into consideration)\n within the Performance Schema.\n \n Parameters\n \n in_consumer VARCHAR(64): \n The name of the consumer to check.\n \n Returns\n \n ENUM(\'YES\', \'NO\')\n \n Example\n \n mysql> SELECT sys.ps_is_consumer_enabled(\'events_stages_history\');\n +-----------------------------------------------------+\n | sys.ps_is_consumer_enabled(\'events_stages_history\') |\n +-----------------------------------------------------+\n | NO |\n +-----------------------------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN RETURN ( SELECT (CASE WHEN c.NAME = 'global_instrumentation' THEN c.ENABLED WHEN c.NAME = 'thread_instrumentation' THEN IF(cg.ENABLED = 'YES' AND c.ENABLED = 'YES', 'YES', 'NO') WHEN c.NAME LIKE '%\_digest' THEN IF(cg.ENABLED = 'YES' AND c.ENABLED = 'YES', 'YES', 'NO') WHEN c.NAME LIKE '%\_current' THEN IF(cg.ENABLED = 'YES' AND ct.ENABLED = 'YES' AND c.ENABLED = 'YES', 'YES', 'NO') ELSE IF(cg.ENABLED = 'YES' AND ct.ENABLED = 'YES' AND c.ENABLED = 'YES' AND ( SELECT cc.ENABLED FROM performance_schema.setup_consumers cc WHERE NAME = CONCAT(SUBSTRING_INDEX(c.NAME, '_', 2), '_current') ) = 'YES', 'YES', 'NO') END) AS IsEnabled FROM performance_schema.setup_consumers c INNER JOIN performance_schema.setup_consumers cg INNER JOIN performance_schema.setup_consumers ct WHERE cg.NAME = 'global_instrumentation' AND ct.NAME = 'thread_instrumentation' AND c.NAME = in_consumer ); END; DROP FUNCTION IF EXISTS ps_is_instrument_default_enabled; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_is_instrument_default_enabled ( in_instrument VARCHAR(128) ) RETURNS ENUM('YES', 'NO') COMMENT '\n Description\n \n Returns whether an instrument is enabled by default in this version of MySQL.\n \n Parameters\n \n in_instrument VARCHAR(128): \n The instrument to check.\n \n Returns\n \n ENUM(\'YES\', \'NO\')\n \n Example\n \n mysql> SELECT sys.ps_is_instrument_default_enabled(\'statement/sql/select\');\n +--------------------------------------------------------------+\n | sys.ps_is_instrument_default_enabled(\'statement/sql/select\') |\n +--------------------------------------------------------------+\n | YES |\n +--------------------------------------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN DECLARE v_enabled ENUM('YES', 'NO'); SET v_enabled = IF(in_instrument LIKE 'wait/io/file/%' OR in_instrument LIKE 'wait/io/table/%' OR in_instrument LIKE 'statement/%' OR in_instrument LIKE 'memory/performance_schema/%' OR in_instrument IN ('wait/lock/table/sql/handler', 'idle') /*!50707 OR in_instrument LIKE 'stage/innodb/%' OR in_instrument = 'stage/sql/copy to tmp table' */ , 'YES', 'NO' ); RETURN v_enabled; END; DROP FUNCTION IF EXISTS ps_is_instrument_default_timed; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_is_instrument_default_timed ( in_instrument VARCHAR(128) ) RETURNS ENUM('YES', 'NO') COMMENT '\n Description\n \n Returns whether an instrument is timed by default in this version of MySQL.\n \n Parameters\n \n in_instrument VARCHAR(128): \n The instrument to check.\n \n Returns\n \n ENUM(\'YES\', \'NO\')\n \n Example\n \n mysql> SELECT sys.ps_is_instrument_default_timed(\'statement/sql/select\');\n +------------------------------------------------------------+\n | sys.ps_is_instrument_default_timed(\'statement/sql/select\') |\n +------------------------------------------------------------+\n | YES |\n +------------------------------------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN DECLARE v_timed ENUM('YES', 'NO'); SET v_timed = IF(in_instrument LIKE 'wait/io/file/%' OR in_instrument LIKE 'wait/io/table/%' OR in_instrument LIKE 'statement/%' OR in_instrument IN ('wait/lock/table/sql/handler', 'idle') /*!50707 OR in_instrument LIKE 'stage/innodb/%' OR in_instrument = 'stage/sql/copy to tmp table' */ , 'YES', 'NO' ); RETURN v_timed; END; DROP FUNCTION IF EXISTS ps_is_thread_instrumented; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_is_thread_instrumented ( in_connection_id BIGINT UNSIGNED ) RETURNS ENUM('YES', 'NO', 'UNKNOWN') COMMENT '\n Description\n \n Checks whether the provided connection id is instrumented within Performance Schema.\n \n Parameters\n \n in_connection_id (BIGINT UNSIGNED):\n The id of the connection to check.\n \n Returns\n \n ENUM(\'YES\', \'NO\', \'UNKNOWN\')\n \n Example\n \n mysql> SELECT sys.ps_is_thread_instrumented(CONNECTION_ID());\n +------------------------------------------------+\n | sys.ps_is_thread_instrumented(CONNECTION_ID()) |\n +------------------------------------------------+\n | YES |\n +------------------------------------------------+\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE v_enabled ENUM('YES', 'NO', 'UNKNOWN'); IF (in_connection_id IS NULL) THEN RETURN NULL; END IF; SELECT INSTRUMENTED INTO v_enabled FROM performance_schema.threads WHERE PROCESSLIST_ID = in_connection_id; IF (v_enabled IS NULL) THEN RETURN 'UNKNOWN'; ELSE RETURN v_enabled; END IF; END; DROP FUNCTION IF EXISTS ps_thread_id; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_thread_id ( in_connection_id BIGINT UNSIGNED ) RETURNS BIGINT UNSIGNED COMMENT '\n Description\n \n Return the Performance Schema THREAD_ID for the specified connection ID.\n \n Parameters\n \n in_connection_id (BIGINT UNSIGNED):\n The id of the connection to return the thread id for. If NULL, the current\n connection thread id is returned.\n \n Example\n \n mysql> SELECT sys.ps_thread_id(79);\n +----------------------+\n | sys.ps_thread_id(79) |\n +----------------------+\n | 98 |\n +----------------------+\n 1 row in set (0.00 sec)\n \n mysql> SELECT sys.ps_thread_id(CONNECTION_ID());\n +-----------------------------------+\n | sys.ps_thread_id(CONNECTION_ID()) |\n +-----------------------------------+\n | 98 |\n +-----------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN RETURN (SELECT THREAD_ID FROM `performance_schema`.`threads` WHERE PROCESSLIST_ID = IFNULL(in_connection_id, CONNECTION_ID()) ); END; DROP FUNCTION IF EXISTS ps_thread_account; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_thread_account ( in_thread_id BIGINT UNSIGNED ) RETURNS TEXT COMMENT '\n Description\n \n Return the user@host account for the given Performance Schema thread id.\n \n Parameters\n \n in_thread_id (BIGINT UNSIGNED):\n The id of the thread to return the account for.\n \n Example\n \n mysql> select thread_id, processlist_user, processlist_host from performance_schema.threads where type = ''foreground'';\n +-----------+------------------+------------------+\n | thread_id | processlist_user | processlist_host |\n +-----------+------------------+------------------+\n | 23 | NULL | NULL |\n | 30 | root | localhost |\n | 31 | msandbox | localhost |\n | 32 | msandbox | localhost |\n +-----------+------------------+------------------+\n 4 rows in set (0.00 sec)\n \n mysql> select sys.ps_thread_account(31);\n +---------------------------+\n | sys.ps_thread_account(31) |\n +---------------------------+\n | msandbox@localhost |\n +---------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN RETURN (SELECT IF( type = 'FOREGROUND', CONCAT(processlist_user, '@', processlist_host), type ) AS account FROM `performance_schema`.`threads` WHERE thread_id = in_thread_id); END; DROP FUNCTION IF EXISTS ps_thread_stack; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_thread_stack ( thd_id BIGINT UNSIGNED, debug BOOLEAN ) RETURNS LONGTEXT CHARSET latin1 COMMENT '\n Description\n \n Outputs a JSON formatted stack of all statements, stages and events\n within Performance Schema for the specified thread.\n \n Parameters\n \n thd_id (BIGINT UNSIGNED):\n The id of the thread to trace. This should match the thread_id\n column from the performance_schema.threads table.\n in_verbose (BOOLEAN):\n Include file:lineno information in the events.\n \n Example\n \n (line separation added for output)\n \n mysql> SELECT sys.ps_thread_stack(37, FALSE) AS thread_stack\\G\n *************************** 1. row ***************************\n thread_stack: {"rankdir": "LR","nodesep": "0.10","stack_created": "2014-02-19 13:39:03",\n "mysql_version": "5.7.3-m13","mysql_user": "root@localhost","events": \n [{"nesting_event_id": "0", "event_id": "10", "timer_wait": 256.35, "event_info": \n "sql/select", "wait_info": "select @@version_comment limit 1\\nerrors: 0\\nwarnings: 0\\nlock time:\n ...\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE json_objects LONGTEXT; /*!50602 UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = CONNECTION_ID(); */ SET SESSION group_concat_max_len=@@global.max_allowed_packet; SELECT GROUP_CONCAT(CONCAT( '{' , CONCAT_WS( ', ' , CONCAT('"nesting_event_id": "', IF(nesting_event_id IS NULL, '0', nesting_event_id), '"') , CONCAT('"event_id": "', event_id, '"') , CONCAT( '"timer_wait": ', ROUND(timer_wait/1000000, 2)) , CONCAT( '"event_info": "' , CASE WHEN event_name NOT LIKE 'wait/io%' THEN REPLACE(SUBSTRING_INDEX(event_name, '/', -2), '\\', '\\\\') WHEN event_name NOT LIKE 'wait/io/file%' OR event_name NOT LIKE 'wait/io/socket%' THEN REPLACE(SUBSTRING_INDEX(event_name, '/', -4), '\\', '\\\\') ELSE event_name END , '"' ) , CONCAT( '"wait_info": "', IFNULL(wait_info, ''), '"') , CONCAT( '"source": "', IF(true AND event_name LIKE 'wait%', IFNULL(wait_info, ''), ''), '"') , CASE WHEN event_name LIKE 'wait/io/file%' THEN '"event_type": "io/file"' WHEN event_name LIKE 'wait/io/table%' THEN '"event_type": "io/table"' WHEN event_name LIKE 'wait/io/socket%' THEN '"event_type": "io/socket"' WHEN event_name LIKE 'wait/synch/mutex%' THEN '"event_type": "synch/mutex"' WHEN event_name LIKE 'wait/synch/cond%' THEN '"event_type": "synch/cond"' WHEN event_name LIKE 'wait/synch/rwlock%' THEN '"event_type": "synch/rwlock"' WHEN event_name LIKE 'wait/lock%' THEN '"event_type": "lock"' WHEN event_name LIKE 'statement/%' THEN '"event_type": "stmt"' WHEN event_name LIKE 'stage/%' THEN '"event_type": "stage"' WHEN event_name LIKE '%idle%' THEN '"event_type": "idle"' ELSE '' END ) , '}' ) ORDER BY event_id ASC SEPARATOR ',') event INTO json_objects FROM ( /*!50600 (SELECT thread_id, event_id, event_name, timer_wait, timer_start, nesting_event_id, CONCAT(sql_text, '\\n', 'errors: ', errors, '\\n', 'warnings: ', warnings, '\\n', 'lock time: ', ROUND(lock_time/1000000, 2),'us\\n', 'rows affected: ', rows_affected, '\\n', 'rows sent: ', rows_sent, '\\n', 'rows examined: ', rows_examined, '\\n', 'tmp tables: ', created_tmp_tables, '\\n', 'tmp disk tables: ', created_tmp_disk_tables, '\\n', 'select scan: ', select_scan, '\\n', 'select full join: ', select_full_join, '\\n', 'select full range join: ', select_full_range_join, '\\n', 'select range: ', select_range, '\\n', 'select range check: ', select_range_check, '\\n', 'sort merge passes: ', sort_merge_passes, '\\n', 'sort rows: ', sort_rows, '\\n', 'sort range: ', sort_range, '\\n', 'sort scan: ', sort_scan, '\\n', 'no index used: ', IF(no_index_used, 'TRUE', 'FALSE'), '\\n', 'no good index used: ', IF(no_good_index_used, 'TRUE', 'FALSE'), '\\n' ) AS wait_info FROM performance_schema.events_statements_history_long WHERE thread_id = thd_id) UNION (SELECT thread_id, event_id, event_name, timer_wait, timer_start, nesting_event_id, null AS wait_info FROM performance_schema.events_stages_history_long WHERE thread_id = thd_id) UNION */ (SELECT thread_id, event_id, CONCAT(event_name , IF(event_name NOT LIKE 'wait/synch/mutex%', IFNULL(CONCAT(' - ', operation), ''), ''), IF(number_of_bytes IS NOT NULL, CONCAT(' ', number_of_bytes, ' bytes'), ''), IF(event_name LIKE 'wait/io/file%', '\\n', ''), IF(object_schema IS NOT NULL, CONCAT('\\nObject: ', object_schema, '.'), ''), IF(object_name IS NOT NULL, IF (event_name LIKE 'wait/io/socket%', CONCAT(IF (object_name LIKE ':0%', @@socket, object_name)), object_name), ''), /*!50600 IF(index_name IS NOT NULL, CONCAT(' Index: ', index_name), ''),*/'\\n' ) AS event_name, timer_wait, timer_start, nesting_event_id, source AS wait_info FROM performance_schema.events_waits_history_long WHERE thread_id = thd_id)) events ORDER BY event_id; RETURN CONCAT('{', CONCAT_WS(',', '"rankdir": "LR"', '"nodesep": "0.10"', CONCAT('"stack_created": "', NOW(), '"'), CONCAT('"mysql_version": "', VERSION(), '"'), CONCAT('"mysql_user": "', CURRENT_USER(), '"'), CONCAT('"events": [', IFNULL(json_objects,''), ']') ), '}'); END; DROP FUNCTION IF EXISTS ps_thread_trx_info; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION ps_thread_trx_info ( in_thread_id BIGINT UNSIGNED ) RETURNS LONGTEXT COMMENT '\n Description\n \n Returns a JSON object with info on the given threads current transaction, \n and the statements it has already executed, derived from the\n performance_schema.events_transactions_current and\n performance_schema.events_statements_history tables (so the consumers \n for these also have to be enabled within Performance Schema to get full\n data in the object).\n \n When the output exceeds the default truncation length (65535), a JSON error\n object is returned, such as:\n \n { "error": "Trx info truncated: Row 6 was cut by GROUP_CONCAT()" }\n \n Similar error objects are returned for other warnings/and exceptions raised\n when calling the function.\n \n The max length of the output of this function can be controlled with the\n ps_thread_trx_info.max_length variable set via sys_config, or the\n @sys.ps_thread_trx_info.max_length user variable, as appropriate.\n \n Parameters\n \n in_thread_id (BIGINT UNSIGNED):\n The id of the thread to return the transaction info for.\n \n Example\n \n SELECT sys.ps_thread_trx_info(48)\\G\n *************************** 1. row ***************************\n sys.ps_thread_trx_info(48): [\n {\n "time": "790.70 us",\n "state": "COMMITTED",\n "mode": "READ WRITE",\n "autocommitted": "NO",\n "gtid": "AUTOMATIC",\n "isolation": "REPEATABLE READ",\n "statements_executed": [\n {\n "sql_text": "INSERT INTO info VALUES (1, \'foo\')",\n "time": "471.02 us",\n "schema": "trx",\n "rows_examined": 0,\n "rows_affected": 1,\n "rows_sent": 0,\n "tmp_tables": 0,\n "tmp_disk_tables": 0,\n "sort_rows": 0,\n "sort_merge_passes": 0\n },\n {\n "sql_text": "COMMIT",\n "time": "254.42 us",\n "schema": "trx",\n "rows_examined": 0,\n "rows_affected": 0,\n "rows_sent": 0,\n "tmp_tables": 0,\n "tmp_disk_tables": 0,\n "sort_rows": 0,\n "sort_merge_passes": 0\n }\n ]\n },\n {\n "time": "426.20 us",\n "state": "COMMITTED",\n "mode": "READ WRITE",\n "autocommitted": "NO",\n "gtid": "AUTOMATIC",\n "isolation": "REPEATABLE READ",\n "statements_executed": [\n {\n "sql_text": "INSERT INTO info VALUES (2, \'bar\')",\n "time": "107.33 us",\n "schema": "trx",\n "rows_examined": 0,\n "rows_affected": 1,\n "rows_sent": 0,\n "tmp_tables": 0,\n "tmp_disk_tables": 0,\n "sort_rows": 0,\n "sort_merge_passes": 0\n },\n {\n "sql_text": "COMMIT",\n "time": "213.23 us",\n "schema": "trx",\n "rows_examined": 0,\n "rows_affected": 0,\n "rows_sent": 0,\n "tmp_tables": 0,\n "tmp_disk_tables": 0,\n "sort_rows": 0,\n "sort_merge_passes": 0\n }\n ]\n }\n ]\n 1 row in set (0.03 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE v_output LONGTEXT DEFAULT '{}'; DECLARE v_msg_text TEXT DEFAULT ''; DECLARE v_signal_msg TEXT DEFAULT ''; DECLARE v_mysql_errno INT; DECLARE v_max_output_len BIGINT; DECLARE EXIT HANDLER FOR SQLWARNING, SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 v_msg_text = MESSAGE_TEXT, v_mysql_errno = MYSQL_ERRNO; IF v_mysql_errno = 1260 THEN SET v_signal_msg = CONCAT('{ "error": "Trx info truncated: ', v_msg_text, '" }'); ELSE SET v_signal_msg = CONCAT('{ "error": "', v_msg_text, '" }'); END IF; RETURN v_signal_msg; END; IF (@sys.ps_thread_trx_info.max_length IS NULL) THEN SET @sys.ps_thread_trx_info.max_length = sys.sys_get_config('ps_thread_trx_info.max_length', 65535); END IF; IF (@sys.ps_thread_trx_info.max_length != @@session.group_concat_max_len) THEN SET @old_group_concat_max_len = @@session.group_concat_max_len; SET v_max_output_len = (@sys.ps_thread_trx_info.max_length - 5); SET SESSION group_concat_max_len = v_max_output_len; END IF; SET v_output = ( SELECT CONCAT('[', IFNULL(GROUP_CONCAT(trx_info ORDER BY event_id), ''), '\n]') AS trx_info FROM (SELECT trxi.thread_id, trxi.event_id, GROUP_CONCAT( IFNULL( CONCAT('\n {\n', ' "time": "', IFNULL(sys.format_time(trxi.timer_wait), ''), '",\n', ' "state": "', IFNULL(trxi.state, ''), '",\n', ' "mode": "', IFNULL(trxi.access_mode, ''), '",\n', ' "autocommitted": "', IFNULL(trxi.autocommit, ''), '",\n', ' "gtid": "', IFNULL(trxi.gtid, ''), '",\n', ' "isolation": "', IFNULL(trxi.isolation_level, ''), '",\n', ' "statements_executed": [', IFNULL(s.stmts, ''), IF(s.stmts IS NULL, ' ]\n', '\n ]\n'), ' }' ), '') ORDER BY event_id) AS trx_info FROM ( (SELECT thread_id, event_id, timer_wait, state,access_mode, autocommit, gtid, isolation_level FROM performance_schema.events_transactions_current WHERE thread_id = in_thread_id AND end_event_id IS NULL) UNION (SELECT thread_id, event_id, timer_wait, state,access_mode, autocommit, gtid, isolation_level FROM performance_schema.events_transactions_history WHERE thread_id = in_thread_id) ) AS trxi LEFT JOIN (SELECT thread_id, nesting_event_id, GROUP_CONCAT( IFNULL( CONCAT('\n {\n', ' "sql_text": "', IFNULL(sys.format_statement(REPLACE(sql_text, '\\', '\\\\')), ''), '",\n', ' "time": "', IFNULL(sys.format_time(timer_wait), ''), '",\n', ' "schema": "', IFNULL(current_schema, ''), '",\n', ' "rows_examined": ', IFNULL(rows_examined, ''), ',\n', ' "rows_affected": ', IFNULL(rows_affected, ''), ',\n', ' "rows_sent": ', IFNULL(rows_sent, ''), ',\n', ' "tmp_tables": ', IFNULL(created_tmp_tables, ''), ',\n', ' "tmp_disk_tables": ', IFNULL(created_tmp_disk_tables, ''), ',\n', ' "sort_rows": ', IFNULL(sort_rows, ''), ',\n', ' "sort_merge_passes": ', IFNULL(sort_merge_passes, ''), '\n', ' }'), '') ORDER BY event_id) AS stmts FROM performance_schema.events_statements_history WHERE sql_text IS NOT NULL AND thread_id = in_thread_id GROUP BY thread_id, nesting_event_id ) AS s ON trxi.thread_id = s.thread_id AND trxi.event_id = s.nesting_event_id WHERE trxi.thread_id = in_thread_id GROUP BY trxi.thread_id, trxi.event_id ) trxs GROUP BY thread_id ); IF (@old_group_concat_max_len IS NOT NULL) THEN SET SESSION group_concat_max_len = @old_group_concat_max_len; END IF; RETURN v_output; END; DROP FUNCTION IF EXISTS quote_identifier; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION quote_identifier(in_identifier TEXT) RETURNS TEXT CHARSET UTF8 COMMENT '\n Description\n \n Takes an unquoted identifier (schema name, table name, etc.) and\n returns the identifier quoted with backticks.\n \n Parameters\n \n in_identifier (TEXT):\n The identifier to quote.\n \n Returns\n \n TEXT\n \n Example\n \n mysql> SELECT sys.quote_identifier(''my_identifier'') AS Identifier;\n +-----------------+\n | Identifier |\n +-----------------+\n | `my_identifier` |\n +-----------------+\n 1 row in set (0.00 sec)\n \n mysql> SELECT sys.quote_identifier(''my`idenfier'') AS Identifier;\n +----------------+\n | Identifier |\n +----------------+\n | `my``idenfier` |\n +----------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC NO SQL BEGIN RETURN CONCAT('`', REPLACE(in_identifier, '`', '``'), '`'); END; DROP FUNCTION IF EXISTS sys_get_config; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION sys_get_config ( in_variable_name VARCHAR(128), in_default_value VARCHAR(128) ) RETURNS VARCHAR(128) COMMENT '\n Description\n \n Returns the value for the requested variable using the following logic:\n \n 1. If the option exists in sys.sys_config return the value from there.\n 2. Else fall back on the provided default value.\n \n Notes for using sys_get_config():\n \n * If the default value argument to sys_get_config() is NULL and case 2. is reached, NULL is returned.\n It is then expected that the caller is able to handle NULL for the given configuration option.\n * The convention is to name the user variables @sys.. It is that\n is stored in the sys_config table and is what is expected as the argument to sys_get_config().\n * If you want to check whether the configuration option has already been set and if not assign with\n the return value of sys_get_config() you can use IFNULL(...) (see example below). However this should\n not be done inside a loop (e.g. for each row in a result set) as for repeated calls where assignment\n is only needed in the first iteration using IFNULL(...) is expected to be significantly slower than\n using an IF (...) THEN ... END IF; block (see example below).\n \n Parameters\n \n in_variable_name (VARCHAR(128)):\n The name of the config option to return the value for.\n \n in_default_value (VARCHAR(128)):\n The default value to return if the variable does not exist in sys.sys_config.\n \n Returns\n \n VARCHAR(128)\n \n Example\n \n mysql> SELECT sys.sys_get_config(''statement_truncate_len'', 128) AS Value;\n +-------+\n | Value |\n +-------+\n | 64 |\n +-------+\n 1 row in set (0.00 sec)\n \n mysql> SET @sys.statement_truncate_len = IFNULL(@sys.statement_truncate_len, sys.sys_get_config(''statement_truncate_len'', 64));\n Query OK, 0 rows affected (0.00 sec)\n \n IF (@sys.statement_truncate_len IS NULL) THEN\n SET @sys.statement_truncate_len = sys.sys_get_config(''statement_truncate_len'', 64);\n END IF;\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN DECLARE v_value VARCHAR(128) DEFAULT NULL; SET v_value = (SELECT value FROM sys.sys_config WHERE variable = in_variable_name); IF (v_value IS NULL) THEN SET v_value = in_default_value; END IF; RETURN v_value; END ; DROP FUNCTION IF EXISTS version_major; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION version_major () RETURNS TINYINT UNSIGNED COMMENT '\n Description\n \n Returns the major version of MySQL Server.\n \n Returns\n \n TINYINT UNSIGNED\n \n Example\n \n mysql> SELECT VERSION(), sys.version_major();\n +--------------------------------------+---------------------+\n | VERSION() | sys.version_major() |\n +--------------------------------------+---------------------+\n | 5.7.9-enterprise-commercial-advanced | 5 |\n +--------------------------------------+---------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC NO SQL BEGIN RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 1), '.', 1); END; DROP FUNCTION IF EXISTS version_minor; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION version_minor () RETURNS TINYINT UNSIGNED COMMENT '\n Description\n \n Returns the minor (release series) version of MySQL Server.\n \n Returns\n \n TINYINT UNSIGNED\n \n Example\n \n mysql> SELECT VERSION(), sys.server_minor();\n +--------------------------------------+---------------------+\n | VERSION() | sys.version_minor() |\n +--------------------------------------+---------------------+\n | 5.7.9-enterprise-commercial-advanced | 7 |\n +--------------------------------------+---------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC NO SQL BEGIN RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 1), '.', 2), '.', -1); END; DROP FUNCTION IF EXISTS version_patch; CREATE DEFINER='mysql.sys'@'localhost' FUNCTION version_patch () RETURNS TINYINT UNSIGNED COMMENT '\n Description\n \n Returns the patch release version of MySQL Server.\n \n Returns\n \n TINYINT UNSIGNED\n \n Example\n \n mysql> SELECT VERSION(), sys.version_patch();\n +--------------------------------------+---------------------+\n | VERSION() | sys.version_patch() |\n +--------------------------------------+---------------------+\n | 5.7.9-enterprise-commercial-advanced | 9 |\n +--------------------------------------+---------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC NO SQL BEGIN RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 1), '.', -1); END; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW innodb_buffer_stats_by_schema ( object_schema, allocated, data, pages, pages_hashed, pages_old, rows_cached ) AS SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema, sys.format_bytes(SUM(IF(ibp.compressed_size = 0, 16384, compressed_size))) AS allocated, sys.format_bytes(SUM(ibp.data_size)) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = 'YES', 1, NULL)) AS pages_hashed, COUNT(IF(ibp.is_old = 'YES', 1, NULL)) AS pages_old, ROUND(SUM(ibp.number_records)/COUNT(DISTINCT ibp.index_name)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$innodb_buffer_stats_by_schema ( object_schema, allocated, data, pages, pages_hashed, pages_old, rows_cached ) AS SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema, SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) AS allocated, SUM(ibp.data_size) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = 'YES', 1, NULL)) AS pages_hashed, COUNT(IF(ibp.is_old = 'YES', 1, NULL)) AS pages_old, ROUND(IFNULL(SUM(ibp.number_records)/NULLIF(COUNT(DISTINCT ibp.index_name), 0), 0)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW innodb_buffer_stats_by_table ( object_schema, object_name, allocated, data, pages, pages_hashed, pages_old, rows_cached ) AS SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema, REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', -1), '`', '') AS object_name, sys.format_bytes(SUM(IF(ibp.compressed_size = 0, 16384, compressed_size))) AS allocated, sys.format_bytes(SUM(ibp.data_size)) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = 'YES', 1, NULL)) AS pages_hashed, COUNT(IF(ibp.is_old = 'YES', 1, NULL)) AS pages_old, ROUND(SUM(ibp.number_records)/COUNT(DISTINCT ibp.index_name)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema, object_name ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$innodb_buffer_stats_by_table ( object_schema, object_name, allocated, data, pages, pages_hashed, pages_old, rows_cached ) AS SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema, REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', -1), '`', '') AS object_name, SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) AS allocated, SUM(ibp.data_size) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = 'YES', 1, NULL)) AS pages_hashed, COUNT(IF(ibp.is_old = 'YES', 1, NULL)) AS pages_old, ROUND(IFNULL(SUM(ibp.number_records)/NULLIF(COUNT(DISTINCT ibp.index_name), 0), 0)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema, object_name ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW innodb_lock_waits ( wait_started, wait_age, wait_age_secs, locked_table, locked_index, locked_type, waiting_trx_id, waiting_trx_started, waiting_trx_age, waiting_trx_rows_locked, waiting_trx_rows_modified, waiting_pid, waiting_query, waiting_lock_id, waiting_lock_mode, blocking_trx_id, blocking_pid, blocking_query, blocking_lock_id, blocking_lock_mode, blocking_trx_started, blocking_trx_age, blocking_trx_rows_locked, blocking_trx_rows_modified, sql_kill_blocking_query, sql_kill_blocking_connection ) AS SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) AS wait_age, TIMESTAMPDIFF(SECOND, r.trx_wait_started, NOW()) AS wait_age_secs, rl.lock_table AS locked_table, rl.lock_index AS locked_index, rl.lock_type AS locked_type, r.trx_id AS waiting_trx_id, r.trx_started as waiting_trx_started, TIMEDIFF(NOW(), r.trx_started) AS waiting_trx_age, r.trx_rows_locked AS waiting_trx_rows_locked, r.trx_rows_modified AS waiting_trx_rows_modified, r.trx_mysql_thread_id AS waiting_pid, sys.format_statement(r.trx_query) AS waiting_query, rl.lock_id AS waiting_lock_id, rl.lock_mode AS waiting_lock_mode, b.trx_id AS blocking_trx_id, b.trx_mysql_thread_id AS blocking_pid, sys.format_statement(b.trx_query) AS blocking_query, bl.lock_id AS blocking_lock_id, bl.lock_mode AS blocking_lock_mode, b.trx_started AS blocking_trx_started, TIMEDIFF(NOW(), b.trx_started) AS blocking_trx_age, b.trx_rows_locked AS blocking_trx_rows_locked, b.trx_rows_modified AS blocking_trx_rows_modified, CONCAT('KILL QUERY ', b.trx_mysql_thread_id) AS sql_kill_blocking_query, CONCAT('KILL ', b.trx_mysql_thread_id) AS sql_kill_blocking_connection FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id INNER JOIN information_schema.innodb_locks bl ON bl.lock_id = w.blocking_lock_id INNER JOIN information_schema.innodb_locks rl ON rl.lock_id = w.requested_lock_id ORDER BY r.trx_wait_started; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$innodb_lock_waits ( wait_started, wait_age, wait_age_secs, locked_table, locked_index, locked_type, waiting_trx_id, waiting_trx_started, waiting_trx_age, waiting_trx_rows_locked, waiting_trx_rows_modified, waiting_pid, waiting_query, waiting_lock_id, waiting_lock_mode, blocking_trx_id, blocking_pid, blocking_query, blocking_lock_id, blocking_lock_mode, blocking_trx_started, blocking_trx_age, blocking_trx_rows_locked, blocking_trx_rows_modified, sql_kill_blocking_query, sql_kill_blocking_connection ) AS SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) AS wait_age, TIMESTAMPDIFF(SECOND, r.trx_wait_started, NOW()) AS wait_age_secs, rl.lock_table AS locked_table, rl.lock_index AS locked_index, rl.lock_type AS locked_type, r.trx_id AS waiting_trx_id, r.trx_started as waiting_trx_started, TIMEDIFF(NOW(), r.trx_started) AS waiting_trx_age, r.trx_rows_locked AS waiting_trx_rows_locked, r.trx_rows_modified AS waiting_trx_rows_modified, r.trx_mysql_thread_id AS waiting_pid, r.trx_query AS waiting_query, rl.lock_id AS waiting_lock_id, rl.lock_mode AS waiting_lock_mode, b.trx_id AS blocking_trx_id, b.trx_mysql_thread_id AS blocking_pid, b.trx_query AS blocking_query, bl.lock_id AS blocking_lock_id, bl.lock_mode AS blocking_lock_mode, b.trx_started AS blocking_trx_started, TIMEDIFF(NOW(), b.trx_started) AS blocking_trx_age, b.trx_rows_locked AS blocking_trx_rows_locked, b.trx_rows_modified AS blocking_trx_rows_modified, CONCAT('KILL QUERY ', b.trx_mysql_thread_id) AS sql_kill_blocking_query, CONCAT('KILL ', b.trx_mysql_thread_id) AS sql_kill_blocking_connection FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id INNER JOIN information_schema.innodb_locks bl ON bl.lock_id = w.blocking_lock_id INNER JOIN information_schema.innodb_locks rl ON rl.lock_id = w.requested_lock_id ORDER BY r.trx_wait_started; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_object_overview ( db, object_type, count ) AS SELECT ROUTINE_SCHEMA AS db, ROUTINE_TYPE AS object_type, COUNT(*) AS count FROM information_schema.routines GROUP BY ROUTINE_SCHEMA, ROUTINE_TYPE UNION SELECT TABLE_SCHEMA, TABLE_TYPE, COUNT(*) FROM information_schema.tables GROUP BY TABLE_SCHEMA, TABLE_TYPE UNION SELECT TABLE_SCHEMA, CONCAT('INDEX (', INDEX_TYPE, ')'), COUNT(*) FROM information_schema.statistics GROUP BY TABLE_SCHEMA, INDEX_TYPE UNION SELECT TRIGGER_SCHEMA, 'TRIGGER', COUNT(*) FROM information_schema.triggers GROUP BY TRIGGER_SCHEMA UNION SELECT EVENT_SCHEMA, 'EVENT', COUNT(*) FROM information_schema.events GROUP BY EVENT_SCHEMA ORDER BY DB, OBJECT_TYPE; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_auto_increment_columns ( table_schema, table_name, column_name, data_type, column_type, is_signed, is_unsigned, max_value, auto_increment, auto_increment_ratio ) AS SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, (LOCATE('unsigned', COLUMN_TYPE) = 0) AS is_signed, (LOCATE('unsigned', COLUMN_TYPE) > 0) AS is_unsigned, ( CASE DATA_TYPE WHEN 'tinyint' THEN 255 WHEN 'smallint' THEN 65535 WHEN 'mediumint' THEN 16777215 WHEN 'int' THEN 4294967295 WHEN 'bigint' THEN 18446744073709551615 END >> IF(LOCATE('unsigned', COLUMN_TYPE) > 0, 0, 1) ) AS max_value, AUTO_INCREMENT, AUTO_INCREMENT / ( CASE DATA_TYPE WHEN 'tinyint' THEN 255 WHEN 'smallint' THEN 65535 WHEN 'mediumint' THEN 16777215 WHEN 'int' THEN 4294967295 WHEN 'bigint' THEN 18446744073709551615 END >> IF(LOCATE('unsigned', COLUMN_TYPE) > 0, 0, 1) ) AS auto_increment_ratio FROM INFORMATION_SCHEMA.COLUMNS INNER JOIN INFORMATION_SCHEMA.TABLES USING (TABLE_SCHEMA, TABLE_NAME) WHERE TABLE_SCHEMA NOT IN ('mysql', 'sys', 'INFORMATION_SCHEMA', 'performance_schema') AND TABLE_TYPE='BASE TABLE' AND EXTRA='auto_increment' ORDER BY auto_increment_ratio DESC, max_value; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$schema_flattened_keys ( table_schema, table_name, index_name, non_unique, subpart_exists, index_columns ) AS SELECT TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, MAX(NON_UNIQUE) AS non_unique, MAX(IF(SUB_PART IS NULL, 0, 1)) AS subpart_exists, GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS index_columns FROM INFORMATION_SCHEMA.STATISTICS WHERE INDEX_TYPE='BTREE' AND TABLE_SCHEMA NOT IN ('mysql', 'sys', 'INFORMATION_SCHEMA', 'PERFORMANCE_SCHEMA') GROUP BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_redundant_indexes ( table_schema, table_name, redundant_index_name, redundant_index_columns, redundant_index_non_unique, dominant_index_name, dominant_index_columns, dominant_index_non_unique, subpart_exists, sql_drop_index ) AS SELECT redundant_keys.table_schema, redundant_keys.table_name, redundant_keys.index_name AS redundant_index_name, redundant_keys.index_columns AS redundant_index_columns, redundant_keys.non_unique AS redundant_index_non_unique, dominant_keys.index_name AS dominant_index_name, dominant_keys.index_columns AS dominant_index_columns, dominant_keys.non_unique AS dominant_index_non_unique, IF(redundant_keys.subpart_exists OR dominant_keys.subpart_exists, 1 ,0) AS subpart_exists, CONCAT( 'ALTER TABLE `', redundant_keys.table_schema, '`.`', redundant_keys.table_name, '` DROP INDEX `', redundant_keys.index_name, '`' ) AS sql_drop_index FROM x$schema_flattened_keys AS redundant_keys INNER JOIN x$schema_flattened_keys AS dominant_keys USING (TABLE_SCHEMA, TABLE_NAME) WHERE redundant_keys.index_name != dominant_keys.index_name AND ( ( /* Identical columns */ (redundant_keys.index_columns = dominant_keys.index_columns) AND ( (redundant_keys.non_unique > dominant_keys.non_unique) OR (redundant_keys.non_unique = dominant_keys.non_unique AND IF(redundant_keys.index_name='PRIMARY', '', redundant_keys.index_name) > IF(dominant_keys.index_name='PRIMARY', '', dominant_keys.index_name) ) ) ) OR ( /* Non-unique prefix columns */ LOCATE(CONCAT(redundant_keys.index_columns, ','), dominant_keys.index_columns) = 1 AND redundant_keys.non_unique = 1 ) OR ( /* Unique prefix columns */ LOCATE(CONCAT(dominant_keys.index_columns, ','), redundant_keys.index_columns) = 1 AND dominant_keys.non_unique = 0 ) ); CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW ps_check_lost_instrumentation ( variable_name, variable_value ) AS SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE 'perf%lost' AND variable_value > 0; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW latest_file_io ( thread, file, latency, operation, requested ) AS SELECT IF(id IS NULL, CONCAT(SUBSTRING_INDEX(name, '/', -1), ':', thread_id), CONCAT(user, '@', host, ':', id) ) thread, sys.format_path(object_name) file, sys.format_time(timer_wait) AS latency, operation, sys.format_bytes(number_of_bytes) AS requested FROM performance_schema.events_waits_history_long JOIN performance_schema.threads USING (thread_id) LEFT JOIN information_schema.processlist ON processlist_id = id WHERE object_name IS NOT NULL AND event_name LIKE 'wait/io/file/%' ORDER BY timer_start; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$latest_file_io ( thread, file, latency, operation, requested ) AS SELECT IF(id IS NULL, CONCAT(SUBSTRING_INDEX(name, '/', -1), ':', thread_id), CONCAT(user, '@', host, ':', id) ) thread, object_name file, timer_wait AS latency, operation, number_of_bytes AS requested FROM performance_schema.events_waits_history_long JOIN performance_schema.threads USING (thread_id) LEFT JOIN information_schema.processlist ON processlist_id = id WHERE object_name IS NOT NULL AND event_name LIKE 'wait/io/file/%' ORDER BY timer_start; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW io_by_thread_by_latency ( user, total, total_latency, min_latency, avg_latency, max_latency, thread_id, processlist_id ) AS SELECT IF(processlist_id IS NULL, SUBSTRING_INDEX(name, '/', -1), CONCAT(processlist_user, '@', processlist_host) ) user, SUM(count_star) total, sys.format_time(SUM(sum_timer_wait)) total_latency, sys.format_time(MIN(min_timer_wait)) min_latency, sys.format_time(AVG(avg_timer_wait)) avg_latency, sys.format_time(MAX(max_timer_wait)) max_latency, thread_id, processlist_id FROM performance_schema.events_waits_summary_by_thread_by_event_name LEFT JOIN performance_schema.threads USING (thread_id) WHERE event_name LIKE 'wait/io/file/%' AND sum_timer_wait > 0 GROUP BY thread_id, processlist_id, user ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$io_by_thread_by_latency ( user, total, total_latency, min_latency, avg_latency, max_latency, thread_id, processlist_id ) AS SELECT IF(processlist_id IS NULL, SUBSTRING_INDEX(name, '/', -1), CONCAT(processlist_user, '@', processlist_host) ) user, SUM(count_star) total, SUM(sum_timer_wait) total_latency, MIN(min_timer_wait) min_latency, AVG(avg_timer_wait) avg_latency, MAX(max_timer_wait) max_latency, thread_id, processlist_id FROM performance_schema.events_waits_summary_by_thread_by_event_name LEFT JOIN performance_schema.threads USING (thread_id) WHERE event_name LIKE 'wait/io/file/%' AND sum_timer_wait > 0 GROUP BY thread_id, processlist_id, user ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW io_global_by_file_by_bytes ( file, count_read, total_read, avg_read, count_write, total_written, avg_write, total, write_pct ) AS SELECT sys.format_path(file_name) AS file, count_read, sys.format_bytes(sum_number_of_bytes_read) AS total_read, sys.format_bytes(IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0)) AS avg_read, count_write, sys.format_bytes(sum_number_of_bytes_write) AS total_written, sys.format_bytes(IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0.00)) AS avg_write, sys.format_bytes(sum_number_of_bytes_read + sum_number_of_bytes_write) AS total, IFNULL(ROUND(100-((sum_number_of_bytes_read/ NULLIF((sum_number_of_bytes_read+sum_number_of_bytes_write), 0))*100), 2), 0.00) AS write_pct FROM performance_schema.file_summary_by_instance ORDER BY sum_number_of_bytes_read + sum_number_of_bytes_write DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$io_global_by_file_by_bytes ( file, count_read, total_read, avg_read, count_write, total_written, avg_write, total, write_pct ) AS SELECT file_name AS file, count_read, sum_number_of_bytes_read AS total_read, IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0) AS avg_read, count_write, sum_number_of_bytes_write AS total_written, IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0.00) AS avg_write, sum_number_of_bytes_read + sum_number_of_bytes_write AS total, IFNULL(ROUND(100-((sum_number_of_bytes_read/ NULLIF((sum_number_of_bytes_read+sum_number_of_bytes_write), 0))*100), 2), 0.00) AS write_pct FROM performance_schema.file_summary_by_instance ORDER BY sum_number_of_bytes_read + sum_number_of_bytes_write DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW io_global_by_file_by_latency ( file, total, total_latency, count_read, read_latency, count_write, write_latency, count_misc, misc_latency ) AS SELECT sys.format_path(file_name) AS file, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, count_read, sys.format_time(sum_timer_read) AS read_latency, count_write, sys.format_time(sum_timer_write) AS write_latency, count_misc, sys.format_time(sum_timer_misc) AS misc_latency FROM performance_schema.file_summary_by_instance ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$io_global_by_file_by_latency ( file, total, total_latency, count_read, read_latency, count_write, write_latency, count_misc, misc_latency ) AS SELECT file_name AS file, count_star AS total, sum_timer_wait AS total_latency, count_read, sum_timer_read AS read_latency, count_write, sum_timer_write AS write_latency, count_misc, sum_timer_misc AS misc_latency FROM performance_schema.file_summary_by_instance ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW io_global_by_wait_by_bytes ( event_name, total, total_latency, min_latency, avg_latency, max_latency, count_read, total_read, avg_read, count_write, total_written, avg_written, total_requested ) AS SELECT SUBSTRING_INDEX(event_name, '/', -2) event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(min_timer_wait) AS min_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency, count_read, sys.format_bytes(sum_number_of_bytes_read) AS total_read, sys.format_bytes(IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0)) AS avg_read, count_write, sys.format_bytes(sum_number_of_bytes_write) AS total_written, sys.format_bytes(IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0)) AS avg_written, sys.format_bytes(sum_number_of_bytes_write + sum_number_of_bytes_read) AS total_requested FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE 'wait/io/file/%' AND count_star > 0 ORDER BY sum_number_of_bytes_write + sum_number_of_bytes_read DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$io_global_by_wait_by_bytes ( event_name, total, total_latency, min_latency, avg_latency, max_latency, count_read, total_read, avg_read, count_write, total_written, avg_written, total_requested ) AS SELECT SUBSTRING_INDEX(event_name, '/', -2) AS event_name, count_star AS total, sum_timer_wait AS total_latency, min_timer_wait AS min_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency, count_read, sum_number_of_bytes_read AS total_read, IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0) AS avg_read, count_write, sum_number_of_bytes_write AS total_written, IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0) AS avg_written, sum_number_of_bytes_write + sum_number_of_bytes_read AS total_requested FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE 'wait/io/file/%' AND count_star > 0 ORDER BY sum_number_of_bytes_write + sum_number_of_bytes_read DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW io_global_by_wait_by_latency ( event_name, total, total_latency, avg_latency, max_latency, read_latency, write_latency, misc_latency, count_read, total_read, avg_read, count_write, total_written, avg_written ) AS SELECT SUBSTRING_INDEX(event_name, '/', -2) AS event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency, sys.format_time(sum_timer_read) AS read_latency, sys.format_time(sum_timer_write) AS write_latency, sys.format_time(sum_timer_misc) AS misc_latency, count_read, sys.format_bytes(sum_number_of_bytes_read) AS total_read, sys.format_bytes(IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0)) AS avg_read, count_write, sys.format_bytes(sum_number_of_bytes_write) AS total_written, sys.format_bytes(IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0)) AS avg_written FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE 'wait/io/file/%' AND count_star > 0 ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$io_global_by_wait_by_latency ( event_name, total, total_latency, avg_latency, max_latency, read_latency, write_latency, misc_latency, count_read, total_read, avg_read, count_write, total_written, avg_written ) AS SELECT SUBSTRING_INDEX(event_name, '/', -2) AS event_name, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency, sum_timer_read AS read_latency, sum_timer_write AS write_latency, sum_timer_misc AS misc_latency, count_read, sum_number_of_bytes_read AS total_read, IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0) AS avg_read, count_write, sum_number_of_bytes_write AS total_written, IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0) AS avg_written FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE 'wait/io/file/%' AND count_star > 0 ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW memory_by_user_by_current_bytes ( user, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUM(current_count_used) AS current_count_used, sys.format_bytes(SUM(current_number_of_bytes_used)) AS current_allocated, sys.format_bytes(IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0)) AS current_avg_alloc, sys.format_bytes(MAX(current_number_of_bytes_used)) AS current_max_alloc, sys.format_bytes(SUM(sum_number_of_bytes_alloc)) AS total_allocated FROM performance_schema.memory_summary_by_user_by_event_name GROUP BY IF(user IS NULL, 'background', user) ORDER BY SUM(current_number_of_bytes_used) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$memory_by_user_by_current_bytes ( user, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUM(current_count_used) AS current_count_used, SUM(current_number_of_bytes_used) AS current_allocated, IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0) AS current_avg_alloc, MAX(current_number_of_bytes_used) AS current_max_alloc, SUM(sum_number_of_bytes_alloc) AS total_allocated FROM performance_schema.memory_summary_by_user_by_event_name GROUP BY IF(user IS NULL, 'background', user) ORDER BY SUM(current_number_of_bytes_used) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW memory_by_host_by_current_bytes ( host, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUM(current_count_used) AS current_count_used, sys.format_bytes(SUM(current_number_of_bytes_used)) AS current_allocated, sys.format_bytes(IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0)) AS current_avg_alloc, sys.format_bytes(MAX(current_number_of_bytes_used)) AS current_max_alloc, sys.format_bytes(SUM(sum_number_of_bytes_alloc)) AS total_allocated FROM performance_schema.memory_summary_by_host_by_event_name GROUP BY IF(host IS NULL, 'background', host) ORDER BY SUM(current_number_of_bytes_used) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$memory_by_host_by_current_bytes ( host, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUM(current_count_used) AS current_count_used, SUM(current_number_of_bytes_used) AS current_allocated, IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0) AS current_avg_alloc, MAX(current_number_of_bytes_used) AS current_max_alloc, SUM(sum_number_of_bytes_alloc) AS total_allocated FROM performance_schema.memory_summary_by_host_by_event_name GROUP BY IF(host IS NULL, 'background', host) ORDER BY SUM(current_number_of_bytes_used) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW memory_by_thread_by_current_bytes ( thread_id, user, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated ) AS SELECT thread_id, IF(t.name = 'thread/sql/one_connection', CONCAT(t.processlist_user, '@', t.processlist_host), REPLACE(t.name, 'thread/', '')) user, SUM(mt.current_count_used) AS current_count_used, sys.format_bytes(SUM(mt.current_number_of_bytes_used)) AS current_allocated, sys.format_bytes(IFNULL(SUM(mt.current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0)) AS current_avg_alloc, sys.format_bytes(MAX(mt.current_number_of_bytes_used)) AS current_max_alloc, sys.format_bytes(SUM(mt.sum_number_of_bytes_alloc)) AS total_allocated FROM performance_schema.memory_summary_by_thread_by_event_name AS mt JOIN performance_schema.threads AS t USING (thread_id) GROUP BY thread_id, IF(t.name = 'thread/sql/one_connection', CONCAT(t.processlist_user, '@', t.processlist_host), REPLACE(t.name, 'thread/', '')) ORDER BY SUM(current_number_of_bytes_used) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$memory_by_thread_by_current_bytes ( thread_id, user, current_count_used, current_allocated, current_avg_alloc, current_max_alloc, total_allocated ) AS SELECT t.thread_id, IF(t.name = 'thread/sql/one_connection', CONCAT(t.processlist_user, '@', t.processlist_host), REPLACE(t.name, 'thread/', '')) user, SUM(mt.current_count_used) AS current_count_used, SUM(mt.current_number_of_bytes_used) AS current_allocated, IFNULL(SUM(mt.current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0) AS current_avg_alloc, MAX(mt.current_number_of_bytes_used) AS current_max_alloc, SUM(mt.sum_number_of_bytes_alloc) AS total_allocated FROM performance_schema.memory_summary_by_thread_by_event_name AS mt JOIN performance_schema.threads AS t USING (thread_id) GROUP BY thread_id, IF(t.name = 'thread/sql/one_connection', CONCAT(t.processlist_user, '@', t.processlist_host), REPLACE(t.name, 'thread/', '')) ORDER BY SUM(mt.current_number_of_bytes_used) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW memory_global_by_current_bytes ( event_name, current_count, current_alloc, current_avg_alloc, high_count, high_alloc, high_avg_alloc ) AS SELECT event_name, current_count_used AS current_count, sys.format_bytes(current_number_of_bytes_used) AS current_alloc, sys.format_bytes(IFNULL(current_number_of_bytes_used / NULLIF(current_count_used, 0), 0)) AS current_avg_alloc, high_count_used AS high_count, sys.format_bytes(high_number_of_bytes_used) AS high_alloc, sys.format_bytes(IFNULL(high_number_of_bytes_used / NULLIF(high_count_used, 0), 0)) AS high_avg_alloc FROM performance_schema.memory_summary_global_by_event_name WHERE current_number_of_bytes_used > 0 ORDER BY current_number_of_bytes_used DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$memory_global_by_current_bytes ( event_name, current_count, current_alloc, current_avg_alloc, high_count, high_alloc, high_avg_alloc ) AS SELECT event_name, current_count_used AS current_count, current_number_of_bytes_used AS current_alloc, IFNULL(current_number_of_bytes_used / NULLIF(current_count_used, 0), 0) AS current_avg_alloc, high_count_used AS high_count, high_number_of_bytes_used AS high_alloc, IFNULL(high_number_of_bytes_used / NULLIF(high_count_used, 0), 0) AS high_avg_alloc FROM performance_schema.memory_summary_global_by_event_name WHERE current_number_of_bytes_used > 0 ORDER BY current_number_of_bytes_used DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW memory_global_total ( total_allocated ) AS SELECT sys.format_bytes(SUM(CURRENT_NUMBER_OF_BYTES_USED)) total_allocated FROM performance_schema.memory_summary_global_by_event_name; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$memory_global_total ( total_allocated ) AS SELECT SUM(CURRENT_NUMBER_OF_BYTES_USED) total_allocated FROM performance_schema.memory_summary_global_by_event_name; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_index_statistics ( table_schema, table_name, index_name, rows_selected, select_latency, rows_inserted, insert_latency, rows_updated, update_latency, rows_deleted, delete_latency ) AS SELECT OBJECT_SCHEMA AS table_schema, OBJECT_NAME AS table_name, INDEX_NAME as index_name, COUNT_FETCH AS rows_selected, sys.format_time(SUM_TIMER_FETCH) AS select_latency, COUNT_INSERT AS rows_inserted, sys.format_time(SUM_TIMER_INSERT) AS insert_latency, COUNT_UPDATE AS rows_updated, sys.format_time(SUM_TIMER_UPDATE) AS update_latency, COUNT_DELETE AS rows_deleted, sys.format_time(SUM_TIMER_INSERT) AS delete_latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$schema_index_statistics ( table_schema, table_name, index_name, rows_selected, select_latency, rows_inserted, insert_latency, rows_updated, update_latency, rows_deleted, delete_latency ) AS SELECT OBJECT_SCHEMA AS table_schema, OBJECT_NAME AS table_name, INDEX_NAME as index_name, COUNT_FETCH AS rows_selected, SUM_TIMER_FETCH AS select_latency, COUNT_INSERT AS rows_inserted, SUM_TIMER_INSERT AS insert_latency, COUNT_UPDATE AS rows_updated, SUM_TIMER_UPDATE AS update_latency, COUNT_DELETE AS rows_deleted, SUM_TIMER_INSERT AS delete_latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$ps_schema_table_statistics_io ( table_schema, table_name, count_read, sum_number_of_bytes_read, sum_timer_read, count_write, sum_number_of_bytes_write, sum_timer_write, count_misc, sum_timer_misc ) AS SELECT extract_schema_from_file_name(file_name) AS table_schema, extract_table_from_file_name(file_name) AS table_name, SUM(count_read) AS count_read, SUM(sum_number_of_bytes_read) AS sum_number_of_bytes_read, SUM(sum_timer_read) AS sum_timer_read, SUM(count_write) AS count_write, SUM(sum_number_of_bytes_write) AS sum_number_of_bytes_write, SUM(sum_timer_write) AS sum_timer_write, SUM(count_misc) AS count_misc, SUM(sum_timer_misc) AS sum_timer_misc FROM performance_schema.file_summary_by_instance GROUP BY table_schema, table_name; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_table_statistics ( table_schema, table_name, total_latency, rows_fetched, fetch_latency, rows_inserted, insert_latency, rows_updated, update_latency, rows_deleted, delete_latency, io_read_requests, io_read, io_read_latency, io_write_requests, io_write, io_write_latency, io_misc_requests, io_misc_latency ) AS SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, sys.format_time(pst.sum_timer_wait) AS total_latency, pst.count_fetch AS rows_fetched, sys.format_time(pst.sum_timer_fetch) AS fetch_latency, pst.count_insert AS rows_inserted, sys.format_time(pst.sum_timer_insert) AS insert_latency, pst.count_update AS rows_updated, sys.format_time(pst.sum_timer_update) AS update_latency, pst.count_delete AS rows_deleted, sys.format_time(pst.sum_timer_delete) AS delete_latency, fsbi.count_read AS io_read_requests, sys.format_bytes(fsbi.sum_number_of_bytes_read) AS io_read, sys.format_time(fsbi.sum_timer_read) AS io_read_latency, fsbi.count_write AS io_write_requests, sys.format_bytes(fsbi.sum_number_of_bytes_write) AS io_write, sys.format_time(fsbi.sum_timer_write) AS io_write_latency, fsbi.count_misc AS io_misc_requests, sys.format_time(fsbi.sum_timer_misc) AS io_misc_latency FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name ORDER BY pst.sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$schema_table_statistics ( table_schema, table_name, total_latency, rows_fetched, fetch_latency, rows_inserted, insert_latency, rows_updated, update_latency, rows_deleted, delete_latency, io_read_requests, io_read, io_read_latency, io_write_requests, io_write, io_write_latency, io_misc_requests, io_misc_latency ) AS SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, pst.sum_timer_wait AS total_latency, pst.count_fetch AS rows_fetched, pst.sum_timer_fetch AS fetch_latency, pst.count_insert AS rows_inserted, pst.sum_timer_insert AS insert_latency, pst.count_update AS rows_updated, pst.sum_timer_update AS update_latency, pst.count_delete AS rows_deleted, pst.sum_timer_delete AS delete_latency, fsbi.count_read AS io_read_requests, fsbi.sum_number_of_bytes_read AS io_read, fsbi.sum_timer_read AS io_read_latency, fsbi.count_write AS io_write_requests, fsbi.sum_number_of_bytes_write AS io_write, fsbi.sum_timer_write AS io_write_latency, fsbi.count_misc AS io_misc_requests, fsbi.sum_timer_misc AS io_misc_latency FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name ORDER BY pst.sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_table_statistics_with_buffer ( table_schema, table_name, rows_fetched, fetch_latency, rows_inserted, insert_latency, rows_updated, update_latency, rows_deleted, delete_latency, io_read_requests, io_read, io_read_latency, io_write_requests, io_write, io_write_latency, io_misc_requests, io_misc_latency, innodb_buffer_allocated, innodb_buffer_data, innodb_buffer_free, innodb_buffer_pages, innodb_buffer_pages_hashed, innodb_buffer_pages_old, innodb_buffer_rows_cached ) AS SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, pst.count_fetch AS rows_fetched, sys.format_time(pst.sum_timer_fetch) AS fetch_latency, pst.count_insert AS rows_inserted, sys.format_time(pst.sum_timer_insert) AS insert_latency, pst.count_update AS rows_updated, sys.format_time(pst.sum_timer_update) AS update_latency, pst.count_delete AS rows_deleted, sys.format_time(pst.sum_timer_delete) AS delete_latency, fsbi.count_read AS io_read_requests, sys.format_bytes(fsbi.sum_number_of_bytes_read) AS io_read, sys.format_time(fsbi.sum_timer_read) AS io_read_latency, fsbi.count_write AS io_write_requests, sys.format_bytes(fsbi.sum_number_of_bytes_write) AS io_write, sys.format_time(fsbi.sum_timer_write) AS io_write_latency, fsbi.count_misc AS io_misc_requests, sys.format_time(fsbi.sum_timer_misc) AS io_misc_latency, sys.format_bytes(ibp.allocated) AS innodb_buffer_allocated, sys.format_bytes(ibp.data) AS innodb_buffer_data, sys.format_bytes(ibp.allocated - ibp.data) AS innodb_buffer_free, ibp.pages AS innodb_buffer_pages, ibp.pages_hashed AS innodb_buffer_pages_hashed, ibp.pages_old AS innodb_buffer_pages_old, ibp.rows_cached AS innodb_buffer_rows_cached FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name LEFT JOIN sys.x$innodb_buffer_stats_by_table AS ibp ON pst.object_schema = ibp.object_schema AND pst.object_name = ibp.object_name ORDER BY pst.sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$schema_table_statistics_with_buffer ( table_schema, table_name, rows_fetched, fetch_latency, rows_inserted, insert_latency, rows_updated, update_latency, rows_deleted, delete_latency, io_read_requests, io_read, io_read_latency, io_write_requests, io_write, io_write_latency, io_misc_requests, io_misc_latency, innodb_buffer_allocated, innodb_buffer_data, innodb_buffer_free, innodb_buffer_pages, innodb_buffer_pages_hashed, innodb_buffer_pages_old, innodb_buffer_rows_cached ) AS SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, pst.count_fetch AS rows_fetched, pst.sum_timer_fetch AS fetch_latency, pst.count_insert AS rows_inserted, pst.sum_timer_insert AS insert_latency, pst.count_update AS rows_updated, pst.sum_timer_update AS update_latency, pst.count_delete AS rows_deleted, pst.sum_timer_delete AS delete_latency, fsbi.count_read AS io_read_requests, fsbi.sum_number_of_bytes_read AS io_read, fsbi.sum_timer_read AS io_read_latency, fsbi.count_write AS io_write_requests, fsbi.sum_number_of_bytes_write AS io_write, fsbi.sum_timer_write AS io_write_latency, fsbi.count_misc AS io_misc_requests, fsbi.sum_timer_misc AS io_misc_latency, ibp.allocated AS innodb_buffer_allocated, ibp.data AS innodb_buffer_data, (ibp.allocated - ibp.data) AS innodb_buffer_free, ibp.pages AS innodb_buffer_pages, ibp.pages_hashed AS innodb_buffer_pages_hashed, ibp.pages_old AS innodb_buffer_pages_old, ibp.rows_cached AS innodb_buffer_rows_cached FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name LEFT JOIN sys.x$innodb_buffer_stats_by_table AS ibp ON pst.object_schema = ibp.object_schema AND pst.object_name = ibp.object_name ORDER BY pst.sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_tables_with_full_table_scans ( object_schema, object_name, rows_full_scanned, latency ) AS SELECT object_schema, object_name, count_read AS rows_full_scanned, sys.format_time(sum_timer_wait) AS latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NULL AND count_read > 0 ORDER BY count_read DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$schema_tables_with_full_table_scans ( object_schema, object_name, rows_full_scanned, latency ) AS SELECT object_schema, object_name, count_read AS rows_full_scanned, sum_timer_wait AS latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NULL AND count_read > 0 ORDER BY count_read DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_unused_indexes ( object_schema, object_name, index_name ) AS SELECT object_schema, object_name, index_name FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL AND count_star = 0 AND object_schema != 'mysql' AND index_name != 'PRIMARY' ORDER BY object_schema, object_name; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW schema_table_lock_waits ( object_schema, object_name, waiting_thread_id, waiting_pid, waiting_account, waiting_lock_type, waiting_lock_duration, waiting_query, waiting_query_secs, waiting_query_rows_affected, waiting_query_rows_examined, blocking_thread_id, blocking_pid, blocking_account, blocking_lock_type, blocking_lock_duration, sql_kill_blocking_query, sql_kill_blocking_connection ) AS SELECT g.object_schema AS object_schema, g.object_name AS object_name, pt.thread_id AS waiting_thread_id, pt.processlist_id AS waiting_pid, sys.ps_thread_account(p.owner_thread_id) AS waiting_account, p.lock_type AS waiting_lock_type, p.lock_duration AS waiting_lock_duration, sys.format_statement(pt.processlist_info) AS waiting_query, pt.processlist_time AS waiting_query_secs, ps.rows_affected AS waiting_query_rows_affected, ps.rows_examined AS waiting_query_rows_examined, gt.thread_id AS blocking_thread_id, gt.processlist_id AS blocking_pid, sys.ps_thread_account(g.owner_thread_id) AS blocking_account, g.lock_type AS blocking_lock_type, g.lock_duration AS blocking_lock_duration, CONCAT('KILL QUERY ', gt.processlist_id) AS sql_kill_blocking_query, CONCAT('KILL ', gt.processlist_id) AS sql_kill_blocking_connection FROM performance_schema.metadata_locks g INNER JOIN performance_schema.metadata_locks p ON g.object_type = p.object_type AND g.object_schema = p.object_schema AND g.object_name = p.object_name AND g.lock_status = 'GRANTED' AND p.lock_status = 'PENDING' INNER JOIN performance_schema.threads gt ON g.owner_thread_id = gt.thread_id INNER JOIN performance_schema.threads pt ON p.owner_thread_id = pt.thread_id LEFT JOIN performance_schema.events_statements_current gs ON g.owner_thread_id = gs.thread_id LEFT JOIN performance_schema.events_statements_current ps ON p.owner_thread_id = ps.thread_id WHERE g.object_type = 'TABLE'; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$schema_table_lock_waits ( object_schema, object_name, waiting_thread_id, waiting_pid, waiting_account, waiting_lock_type, waiting_lock_duration, waiting_query, waiting_query_secs, waiting_query_rows_affected, waiting_query_rows_examined, blocking_thread_id, blocking_pid, blocking_account, blocking_lock_type, blocking_lock_duration, sql_kill_blocking_query, sql_kill_blocking_connection ) AS SELECT g.object_schema AS object_schema, g.object_name AS object_name, pt.thread_id AS waiting_thread_id, pt.processlist_id AS waiting_pid, sys.ps_thread_account(p.owner_thread_id) AS waiting_account, p.lock_type AS waiting_lock_type, p.lock_duration AS waiting_lock_duration, pt.processlist_info AS waiting_query, pt.processlist_time AS waiting_query_secs, ps.rows_affected AS waiting_query_rows_affected, ps.rows_examined AS waiting_query_rows_examined, gt.thread_id AS blocking_thread_id, gt.processlist_id AS blocking_pid, sys.ps_thread_account(g.owner_thread_id) AS blocking_account, g.lock_type AS blocking_lock_type, g.lock_duration AS blocking_lock_duration, CONCAT('KILL QUERY ', gt.processlist_id) AS sql_kill_blocking_query, CONCAT('KILL ', gt.processlist_id) AS sql_kill_blocking_connection FROM performance_schema.metadata_locks g INNER JOIN performance_schema.metadata_locks p ON g.object_type = p.object_type AND g.object_schema = p.object_schema AND g.object_name = p.object_name AND g.lock_status = 'GRANTED' AND p.lock_status = 'PENDING' INNER JOIN performance_schema.threads gt ON g.owner_thread_id = gt.thread_id INNER JOIN performance_schema.threads pt ON p.owner_thread_id = pt.thread_id LEFT JOIN performance_schema.events_statements_current gs ON g.owner_thread_id = gs.thread_id LEFT JOIN performance_schema.events_statements_current ps ON p.owner_thread_id = ps.thread_id WHERE g.object_type = 'TABLE'; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW statement_analysis ( query, db, full_scan, exec_count, err_count, warn_count, total_latency, max_latency, avg_latency, lock_latency, rows_sent, rows_sent_avg, rows_examined, rows_examined_avg, rows_affected, rows_affected_avg, tmp_tables, tmp_disk_tables, rows_sorted, sort_merge_passes, digest, first_seen, last_seen ) AS SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, '*', '') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, sys.format_time(MAX_TIMER_WAIT) AS max_latency, sys.format_time(AVG_TIMER_WAIT) AS avg_latency, sys.format_time(SUM_LOCK_TIME) AS lock_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, SUM_ROWS_AFFECTED AS rows_affected, ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg, SUM_CREATED_TMP_TABLES AS tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS tmp_disk_tables, SUM_SORT_ROWS AS rows_sorted, SUM_SORT_MERGE_PASSES AS sort_merge_passes, DIGEST AS digest, FIRST_SEEN AS first_seen, LAST_SEEN as last_seen FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$statement_analysis ( query, db, full_scan, exec_count, err_count, warn_count, total_latency, max_latency, avg_latency, lock_latency, rows_sent, rows_sent_avg, rows_examined, rows_examined_avg, rows_affected, rows_affected_avg, tmp_tables, tmp_disk_tables, rows_sorted, sort_merge_passes, digest, first_seen, last_seen ) AS SELECT DIGEST_TEXT AS query, SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, '*', '') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, SUM_TIMER_WAIT AS total_latency, MAX_TIMER_WAIT AS max_latency, AVG_TIMER_WAIT AS avg_latency, SUM_LOCK_TIME AS lock_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, SUM_ROWS_AFFECTED AS rows_affected, ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg, SUM_CREATED_TMP_TABLES AS tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS tmp_disk_tables, SUM_SORT_ROWS AS rows_sorted, SUM_SORT_MERGE_PASSES AS sort_merge_passes, DIGEST AS digest, FIRST_SEEN AS first_seen, LAST_SEEN as last_seen FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW statements_with_errors_or_warnings ( query, db, exec_count, errors, error_pct, warnings, warning_pct, first_seen, last_seen, digest ) AS SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_ERRORS AS errors, IFNULL(SUM_ERRORS / NULLIF(COUNT_STAR, 0), 0) * 100 as error_pct, SUM_WARNINGS AS warnings, IFNULL(SUM_WARNINGS / NULLIF(COUNT_STAR, 0), 0) * 100 as warning_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_ERRORS > 0 OR SUM_WARNINGS > 0 ORDER BY SUM_ERRORS DESC, SUM_WARNINGS DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$statements_with_errors_or_warnings ( query, db, exec_count, errors, error_pct, warnings, warning_pct, first_seen, last_seen, digest ) AS SELECT DIGEST_TEXT AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_ERRORS AS errors, IFNULL(SUM_ERRORS / NULLIF(COUNT_STAR, 0), 0) * 100 as error_pct, SUM_WARNINGS AS warnings, IFNULL(SUM_WARNINGS / NULLIF(COUNT_STAR, 0), 0) * 100 as warning_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_ERRORS > 0 OR SUM_WARNINGS > 0 ORDER BY SUM_ERRORS DESC, SUM_WARNINGS DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW statements_with_full_table_scans ( query, db, exec_count, total_latency, no_index_used_count, no_good_index_used_count, no_index_used_pct, rows_sent, rows_examined, rows_sent_avg, rows_examined_avg, first_seen, last_seen, digest ) AS SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, SUM_NO_INDEX_USED AS no_index_used_count, SUM_NO_GOOD_INDEX_USED AS no_good_index_used_count, ROUND(IFNULL(SUM_NO_INDEX_USED / NULLIF(COUNT_STAR, 0), 0) * 100) AS no_index_used_pct, SUM_ROWS_SENT AS rows_sent, SUM_ROWS_EXAMINED AS rows_examined, ROUND(SUM_ROWS_SENT/COUNT_STAR) AS rows_sent_avg, ROUND(SUM_ROWS_EXAMINED/COUNT_STAR) AS rows_examined_avg, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE (SUM_NO_INDEX_USED > 0 OR SUM_NO_GOOD_INDEX_USED > 0) AND DIGEST_TEXT NOT LIKE 'SHOW%' ORDER BY no_index_used_pct DESC, total_latency DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$statements_with_full_table_scans ( query, db, exec_count, total_latency, no_index_used_count, no_good_index_used_count, no_index_used_pct, rows_sent, rows_examined, rows_sent_avg, rows_examined_avg, first_seen, last_seen, digest ) AS SELECT DIGEST_TEXT AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_TIMER_WAIT AS total_latency, SUM_NO_INDEX_USED AS no_index_used_count, SUM_NO_GOOD_INDEX_USED AS no_good_index_used_count, ROUND(IFNULL(SUM_NO_INDEX_USED / NULLIF(COUNT_STAR, 0), 0) * 100) AS no_index_used_pct, SUM_ROWS_SENT AS rows_sent, SUM_ROWS_EXAMINED AS rows_examined, ROUND(SUM_ROWS_SENT/COUNT_STAR) AS rows_sent_avg, ROUND(SUM_ROWS_EXAMINED/COUNT_STAR) AS rows_examined_avg, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE (SUM_NO_INDEX_USED > 0 OR SUM_NO_GOOD_INDEX_USED > 0) AND DIGEST_TEXT NOT LIKE 'SHOW%' ORDER BY no_index_used_pct DESC, total_latency DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$ps_digest_avg_latency_distribution ( cnt, avg_us ) AS SELECT COUNT(*) cnt, ROUND(avg_timer_wait/1000000) AS avg_us FROM performance_schema.events_statements_summary_by_digest GROUP BY avg_us; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$ps_digest_95th_percentile_by_avg_us ( avg_us, percentile ) AS SELECT s2.avg_us avg_us, IFNULL(SUM(s1.cnt)/NULLIF((SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest), 0), 0) percentile FROM sys.x$ps_digest_avg_latency_distribution AS s1 JOIN sys.x$ps_digest_avg_latency_distribution AS s2 ON s1.avg_us <= s2.avg_us GROUP BY s2.avg_us HAVING IFNULL(SUM(s1.cnt)/NULLIF((SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest), 0), 0) > 0.95 ORDER BY percentile LIMIT 1; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW statements_with_runtimes_in_95th_percentile ( query, db, full_scan, exec_count, err_count, warn_count, total_latency, max_latency, avg_latency, rows_sent, rows_sent_avg, rows_examined, rows_examined_avg, first_seen, last_seen, digest ) AS SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, '*', '') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, sys.format_time(MAX_TIMER_WAIT) AS max_latency, sys.format_time(AVG_TIMER_WAIT) AS avg_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, FIRST_SEEN AS first_seen, LAST_SEEN AS last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest stmts JOIN sys.x$ps_digest_95th_percentile_by_avg_us AS top_percentile ON ROUND(stmts.avg_timer_wait/1000000) >= top_percentile.avg_us ORDER BY AVG_TIMER_WAIT DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$statements_with_runtimes_in_95th_percentile ( query, db, full_scan, exec_count, err_count, warn_count, total_latency, max_latency, avg_latency, rows_sent, rows_sent_avg, rows_examined, rows_examined_avg, first_seen, last_seen, digest ) AS SELECT DIGEST_TEXT AS query, SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, '*', '') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, SUM_TIMER_WAIT AS total_latency, MAX_TIMER_WAIT AS max_latency, AVG_TIMER_WAIT AS avg_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest stmts JOIN sys.x$ps_digest_95th_percentile_by_avg_us AS top_percentile ON ROUND(stmts.avg_timer_wait/1000000) >= top_percentile.avg_us ORDER BY AVG_TIMER_WAIT DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW statements_with_sorting ( query, db, exec_count, total_latency, sort_merge_passes, avg_sort_merges, sorts_using_scans, sort_using_range, rows_sorted, avg_rows_sorted, first_seen, last_seen, digest ) AS SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME db, COUNT_STAR AS exec_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, SUM_SORT_MERGE_PASSES AS sort_merge_passes, ROUND(IFNULL(SUM_SORT_MERGE_PASSES / NULLIF(COUNT_STAR, 0), 0)) AS avg_sort_merges, SUM_SORT_SCAN AS sorts_using_scans, SUM_SORT_RANGE AS sort_using_range, SUM_SORT_ROWS AS rows_sorted, ROUND(IFNULL(SUM_SORT_ROWS / NULLIF(COUNT_STAR, 0), 0)) AS avg_rows_sorted, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_SORT_ROWS > 0 ORDER BY SUM_TIMER_WAIT DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$statements_with_sorting ( query, db, exec_count, total_latency, sort_merge_passes, avg_sort_merges, sorts_using_scans, sort_using_range, rows_sorted, avg_rows_sorted, first_seen, last_seen, digest ) AS SELECT DIGEST_TEXT AS query, SCHEMA_NAME db, COUNT_STAR AS exec_count, SUM_TIMER_WAIT AS total_latency, SUM_SORT_MERGE_PASSES AS sort_merge_passes, ROUND(IFNULL(SUM_SORT_MERGE_PASSES / NULLIF(COUNT_STAR, 0), 0)) AS avg_sort_merges, SUM_SORT_SCAN AS sorts_using_scans, SUM_SORT_RANGE AS sort_using_range, SUM_SORT_ROWS AS rows_sorted, ROUND(IFNULL(SUM_SORT_ROWS / NULLIF(COUNT_STAR, 0), 0)) AS avg_rows_sorted, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_SORT_ROWS > 0 ORDER BY SUM_TIMER_WAIT DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW statements_with_temp_tables ( query, db, exec_count, total_latency, memory_tmp_tables, disk_tmp_tables, avg_tmp_tables_per_query, tmp_tables_to_disk_pct, first_seen, last_seen, digest ) AS SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, sys.format_time(SUM_TIMER_WAIT) as total_latency, SUM_CREATED_TMP_TABLES AS memory_tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS disk_tmp_tables, ROUND(IFNULL(SUM_CREATED_TMP_TABLES / NULLIF(COUNT_STAR, 0), 0)) AS avg_tmp_tables_per_query, ROUND(IFNULL(SUM_CREATED_TMP_DISK_TABLES / NULLIF(SUM_CREATED_TMP_TABLES, 0), 0) * 100) AS tmp_tables_to_disk_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_CREATED_TMP_TABLES > 0 ORDER BY SUM_CREATED_TMP_DISK_TABLES DESC, SUM_CREATED_TMP_TABLES DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$statements_with_temp_tables ( query, db, exec_count, total_latency, memory_tmp_tables, disk_tmp_tables, avg_tmp_tables_per_query, tmp_tables_to_disk_pct, first_seen, last_seen, digest ) AS SELECT DIGEST_TEXT AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_TIMER_WAIT as total_latency, SUM_CREATED_TMP_TABLES AS memory_tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS disk_tmp_tables, ROUND(IFNULL(SUM_CREATED_TMP_TABLES / NULLIF(COUNT_STAR, 0), 0)) AS avg_tmp_tables_per_query, ROUND(IFNULL(SUM_CREATED_TMP_DISK_TABLES / NULLIF(SUM_CREATED_TMP_TABLES, 0), 0) * 100) AS tmp_tables_to_disk_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_CREATED_TMP_TABLES > 0 ORDER BY SUM_CREATED_TMP_DISK_TABLES DESC, SUM_CREATED_TMP_TABLES DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW user_summary_by_file_io_type ( user, event_name, total, latency, max_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE 'wait/io/file%' AND count_star > 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$user_summary_by_file_io_type ( user, event_name, total, latency, max_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, event_name, count_star AS total, sum_timer_wait AS latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE 'wait/io/file%' AND count_star > 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW user_summary_by_file_io ( user, ios, io_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUM(count_star) AS ios, sys.format_time(SUM(sum_timer_wait)) AS io_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE 'wait/io/file/%' GROUP BY IF(user IS NULL, 'background', user) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$user_summary_by_file_io ( user, ios, io_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUM(count_star) AS ios, SUM(sum_timer_wait) AS io_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE 'wait/io/file/%' GROUP BY IF(user IS NULL, 'background', user) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW user_summary_by_statement_type ( user, statement, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUBSTRING_INDEX(event_name, '/', -1) AS statement, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(max_timer_wait) AS max_latency, sys.format_time(sum_lock_time) AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$user_summary_by_statement_type ( user, statement, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUBSTRING_INDEX(event_name, '/', -1) AS statement, count_star AS total, sum_timer_wait AS total_latency, max_timer_wait AS max_latency, sum_lock_time AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW user_summary_by_statement_latency ( user, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUM(count_star) AS total, sys.format_time(SUM(sum_timer_wait)) AS total_latency, sys.format_time(SUM(max_timer_wait)) AS max_latency, sys.format_time(SUM(sum_lock_time)) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name GROUP BY IF(user IS NULL, 'background', user) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$user_summary_by_statement_latency ( user, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(user IS NULL, 'background', user) AS user, SUM(count_star) AS total, SUM(sum_timer_wait) AS total_latency, SUM(max_timer_wait) AS max_latency, SUM(sum_lock_time) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name GROUP BY IF(user IS NULL, 'background', user) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW user_summary_by_stages ( user, event_name, total, total_latency, avg_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency FROM performance_schema.events_stages_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$user_summary_by_stages ( user, event_name, total, total_latency, avg_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, event_name, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency FROM performance_schema.events_stages_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW user_summary ( user, statements, statement_latency, statement_avg_latency, table_scans, file_ios, file_io_latency, current_connections, total_connections, unique_hosts, current_memory, total_memory_allocated ) AS SELECT IF(accounts.user IS NULL, 'background', accounts.user) AS user, SUM(stmt.total) AS statements, sys.format_time(SUM(stmt.total_latency)) AS statement_latency, sys.format_time(IFNULL(SUM(stmt.total_latency) / NULLIF(SUM(stmt.total), 0), 0)) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, sys.format_time(SUM(io.io_latency)) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT host) AS unique_hosts, sys.format_bytes(SUM(mem.current_allocated)) AS current_memory, sys.format_bytes(SUM(mem.total_allocated)) AS total_memory_allocated FROM performance_schema.accounts LEFT JOIN sys.x$user_summary_by_statement_latency AS stmt ON IF(accounts.user IS NULL, 'background', accounts.user) = stmt.user LEFT JOIN sys.x$user_summary_by_file_io AS io ON IF(accounts.user IS NULL, 'background', accounts.user) = io.user LEFT JOIN sys.x$memory_by_user_by_current_bytes mem ON IF(accounts.user IS NULL, 'background', accounts.user) = mem.user GROUP BY IF(accounts.user IS NULL, 'background', accounts.user) ORDER BY SUM(stmt.total_latency) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$user_summary ( user, statements, statement_latency, statement_avg_latency, table_scans, file_ios, file_io_latency, current_connections, total_connections, unique_hosts, current_memory, total_memory_allocated ) AS SELECT IF(accounts.user IS NULL, 'background', accounts.user) AS user, SUM(stmt.total) AS statements, SUM(stmt.total_latency) AS statement_latency, IFNULL(SUM(stmt.total_latency) / NULLIF(SUM(stmt.total), 0), 0) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, SUM(io.io_latency) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT host) AS unique_hosts, SUM(mem.current_allocated) AS current_memory, SUM(mem.total_allocated) AS total_memory_allocated FROM performance_schema.accounts LEFT JOIN sys.x$user_summary_by_statement_latency AS stmt ON IF(accounts.user IS NULL, 'background', accounts.user) = stmt.user LEFT JOIN sys.x$user_summary_by_file_io AS io ON IF(accounts.user IS NULL, 'background', accounts.user) = io.user LEFT JOIN sys.x$memory_by_user_by_current_bytes mem ON IF(accounts.user IS NULL, 'background', accounts.user) = mem.user GROUP BY IF(accounts.user IS NULL, 'background', accounts.user) ORDER BY SUM(stmt.total_latency) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW host_summary_by_file_io_type ( host, event_name, total, total_latency, max_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE 'wait/io/file%' AND count_star > 0 ORDER BY IF(host IS NULL, 'background', host), sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$host_summary_by_file_io_type ( host, event_name, total, total_latency, max_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, event_name, count_star AS total, sum_timer_wait AS total_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE 'wait/io/file%' AND count_star > 0 ORDER BY IF(host IS NULL, 'background', host), sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW host_summary_by_file_io ( host, ios, io_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUM(count_star) AS ios, sys.format_time(SUM(sum_timer_wait)) AS io_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE 'wait/io/file/%' GROUP BY IF(host IS NULL, 'background', host) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$host_summary_by_file_io ( host, ios, io_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUM(count_star) AS ios, SUM(sum_timer_wait) AS io_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE 'wait/io/file/%' GROUP BY IF(host IS NULL, 'background', host) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW host_summary_by_statement_type ( host, statement, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUBSTRING_INDEX(event_name, '/', -1) AS statement, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(max_timer_wait) AS max_latency, sys.format_time(sum_lock_time) AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, 'background', host), sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$host_summary_by_statement_type ( host, statement, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUBSTRING_INDEX(event_name, '/', -1) AS statement, count_star AS total, sum_timer_wait AS total_latency, max_timer_wait AS max_latency, sum_lock_time AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, 'background', host), sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW host_summary_by_statement_latency ( host, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUM(count_star) AS total, sys.format_time(SUM(sum_timer_wait)) AS total_latency, sys.format_time(MAX(max_timer_wait)) AS max_latency, sys.format_time(SUM(sum_lock_time)) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name GROUP BY IF(host IS NULL, 'background', host) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$host_summary_by_statement_latency ( host, total, total_latency, max_latency, lock_latency, rows_sent, rows_examined, rows_affected, full_scans ) AS SELECT IF(host IS NULL, 'background', host) AS host, SUM(count_star) AS total, SUM(sum_timer_wait) AS total_latency, MAX(max_timer_wait) AS max_latency, SUM(sum_lock_time) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name GROUP BY IF(host IS NULL, 'background', host) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW host_summary_by_stages ( host, event_name, total, total_latency, avg_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency FROM performance_schema.events_stages_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, 'background', host), sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$host_summary_by_stages ( host, event_name, total, total_latency, avg_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, event_name, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency FROM performance_schema.events_stages_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, 'background', host), sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW host_summary ( host, statements, statement_latency, statement_avg_latency, table_scans, file_ios, file_io_latency, current_connections, total_connections, unique_users, current_memory, total_memory_allocated ) AS SELECT IF(accounts.host IS NULL, 'background', accounts.host) AS host, SUM(stmt.total) AS statements, sys.format_time(SUM(stmt.total_latency)) AS statement_latency, sys.format_time(IFNULL(SUM(stmt.total_latency) / NULLIF(SUM(stmt.total), 0), 0)) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, sys.format_time(SUM(io.io_latency)) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT user) AS unique_users, sys.format_bytes(SUM(mem.current_allocated)) AS current_memory, sys.format_bytes(SUM(mem.total_allocated)) AS total_memory_allocated FROM performance_schema.accounts JOIN sys.x$host_summary_by_statement_latency AS stmt ON accounts.host = stmt.host JOIN sys.x$host_summary_by_file_io AS io ON accounts.host = io.host JOIN sys.x$memory_by_host_by_current_bytes mem ON accounts.host = mem.host GROUP BY IF(accounts.host IS NULL, 'background', accounts.host); CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$host_summary ( host, statements, statement_latency, statement_avg_latency, table_scans, file_ios, file_io_latency, current_connections, total_connections, unique_users, current_memory, total_memory_allocated ) AS SELECT IF(accounts.host IS NULL, 'background', accounts.host) AS host, SUM(stmt.total) AS statements, SUM(stmt.total_latency) AS statement_latency, SUM(stmt.total_latency) / SUM(stmt.total) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, SUM(io.io_latency) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT accounts.user) AS unique_users, SUM(mem.current_allocated) AS current_memory, SUM(mem.total_allocated) AS total_memory_allocated FROM performance_schema.accounts JOIN sys.x$host_summary_by_statement_latency AS stmt ON accounts.host = stmt.host JOIN sys.x$host_summary_by_file_io AS io ON accounts.host = io.host JOIN sys.x$memory_by_host_by_current_bytes mem ON accounts.host = mem.host GROUP BY IF(accounts.host IS NULL, 'background', accounts.host); CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW wait_classes_global_by_avg_latency ( event_class, total, total_latency, min_latency, avg_latency, max_latency ) AS SELECT SUBSTRING_INDEX(event_name,'/', 3) AS event_class, SUM(COUNT_STAR) AS total, sys.format_time(CAST(SUM(sum_timer_wait) AS UNSIGNED)) AS total_latency, sys.format_time(MIN(min_timer_wait)) AS min_latency, sys.format_time(IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0)) AS avg_latency, sys.format_time(CAST(MAX(max_timer_wait) AS UNSIGNED)) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != 'idle' GROUP BY event_class ORDER BY IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$wait_classes_global_by_avg_latency ( event_class, total, total_latency, min_latency, avg_latency, max_latency ) AS SELECT SUBSTRING_INDEX(event_name,'/', 3) AS event_class, SUM(COUNT_STAR) AS total, SUM(sum_timer_wait) AS total_latency, MIN(min_timer_wait) AS min_latency, IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) AS avg_latency, MAX(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != 'idle' GROUP BY event_class ORDER BY IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW wait_classes_global_by_latency ( event_class, total, total_latency, min_latency, avg_latency, max_latency ) AS SELECT SUBSTRING_INDEX(event_name,'/', 3) AS event_class, SUM(COUNT_STAR) AS total, sys.format_time(SUM(sum_timer_wait)) AS total_latency, sys.format_time(MIN(min_timer_wait)) min_latency, sys.format_time(IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0)) AS avg_latency, sys.format_time(MAX(max_timer_wait)) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != 'idle' GROUP BY SUBSTRING_INDEX(event_name,'/', 3) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$wait_classes_global_by_latency ( event_class, total, total_latency, min_latency, avg_latency, max_latency ) AS SELECT SUBSTRING_INDEX(event_name,'/', 3) AS event_class, SUM(COUNT_STAR) AS total, SUM(sum_timer_wait) AS total_latency, MIN(min_timer_wait) AS min_latency, IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) AS avg_latency, MAX(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != 'idle' GROUP BY SUBSTRING_INDEX(event_name,'/', 3) ORDER BY SUM(sum_timer_wait) DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW waits_by_user_by_latency ( user, event, total, total_latency, avg_latency, max_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, event_name AS event, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name != 'idle' AND user IS NOT NULL AND sum_timer_wait > 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$waits_by_user_by_latency ( user, event, total, total_latency, avg_latency, max_latency ) AS SELECT IF(user IS NULL, 'background', user) AS user, event_name AS event, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name != 'idle' AND user IS NOT NULL AND sum_timer_wait > 0 ORDER BY user, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW waits_by_host_by_latency ( host, event, total, total_latency, avg_latency, max_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, event_name AS event, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name != 'idle' AND sum_timer_wait > 0 ORDER BY host, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$waits_by_host_by_latency ( host, event, total, total_latency, avg_latency, max_latency ) AS SELECT IF(host IS NULL, 'background', host) AS host, event_name AS event, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name != 'idle' AND sum_timer_wait > 0 ORDER BY host, sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW waits_global_by_latency ( events, total, total_latency, avg_latency, max_latency ) AS SELECT event_name AS event, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE event_name != 'idle' AND sum_timer_wait > 0 ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$waits_global_by_latency ( events, total, total_latency, avg_latency, max_latency ) AS SELECT event_name AS event, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE event_name != 'idle' AND sum_timer_wait > 0 ORDER BY sum_timer_wait DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW metrics ( Variable_name, Variable_value, Type, Enabled ) AS ( SELECT LOWER(VARIABLE_NAME) AS Variable_name, VARIABLE_VALUE AS Variable_value, 'Global Status' AS Type, 'YES' AS Enabled FROM performance_schema.global_status ) UNION ALL ( SELECT NAME AS Variable_name, COUNT AS Variable_value, CONCAT('InnoDB Metrics - ', SUBSYSTEM) AS Type, IF(STATUS = 'enabled', 'YES', 'NO') AS Enabled FROM information_schema.INNODB_METRICS WHERE NAME NOT IN ( 'lock_row_lock_time', 'lock_row_lock_time_avg', 'lock_row_lock_time_max', 'lock_row_lock_waits', 'buffer_pool_reads', 'buffer_pool_read_requests', 'buffer_pool_write_requests', 'buffer_pool_wait_free', 'buffer_pool_read_ahead', 'buffer_pool_read_ahead_evicted', 'buffer_pool_pages_total', 'buffer_pool_pages_misc', 'buffer_pool_pages_data', 'buffer_pool_bytes_data', 'buffer_pool_pages_dirty', 'buffer_pool_bytes_dirty', 'buffer_pool_pages_free', 'buffer_pages_created', 'buffer_pages_written', 'buffer_pages_read', 'buffer_data_reads', 'buffer_data_written', 'file_num_open_files', 'os_log_bytes_written', 'os_log_fsyncs', 'os_log_pending_fsyncs', 'os_log_pending_writes', 'log_waits', 'log_write_requests', 'log_writes', 'innodb_dblwr_writes', 'innodb_dblwr_pages_written', 'innodb_page_size') ) /*!50702 UNION ALL ( SELECT 'memory_current_allocated' AS Variable_name, SUM(CURRENT_NUMBER_OF_BYTES_USED) AS Variable_value, 'Performance Schema' AS Type, IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%' AND ENABLED = 'YES') = 0, 'NO', IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%' AND ENABLED = 'YES') = (SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%'), 'YES', 'PARTIAL')) AS Enabled FROM performance_schema.memory_summary_global_by_event_name ) UNION ALL ( SELECT 'memory_total_allocated' AS Variable_name, SUM(SUM_NUMBER_OF_BYTES_ALLOC) AS Variable_value, 'Performance Schema' AS Type, IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%' AND ENABLED = 'YES') = 0, 'NO', IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%' AND ENABLED = 'YES') = (SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%'), 'YES', 'PARTIAL')) AS Enabled FROM performance_schema.memory_summary_global_by_event_name ) */ UNION ALL ( SELECT 'NOW()' AS Variable_name, NOW(3) AS Variable_value, 'System Time' AS Type, 'YES' AS Enabled ) UNION ALL ( SELECT 'UNIX_TIMESTAMP()' AS Variable_name, ROUND(UNIX_TIMESTAMP(NOW(3)), 3) AS Variable_value, 'System Time' AS Type, 'YES' AS Enabled ) ORDER BY Type, Variable_name; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW processlist ( thd_id, conn_id, user, db, command, state, time, current_statement, statement_latency, progress, lock_latency, rows_examined, rows_sent, rows_affected, tmp_tables, tmp_disk_tables, full_scan, last_statement, last_statement_latency, current_memory, last_wait, last_wait_latency, source, trx_latency, trx_state, trx_autocommit, pid, program_name ) AS SELECT pps.thread_id AS thd_id, pps.processlist_id AS conn_id, IF(pps.name = 'thread/sql/one_connection', CONCAT(pps.processlist_user, '@', pps.processlist_host), REPLACE(pps.name, 'thread/', '')) user, pps.processlist_db AS db, pps.processlist_command AS command, pps.processlist_state AS state, pps.processlist_time AS time, sys.format_statement(pps.processlist_info) AS current_statement, IF(esc.end_event_id IS NULL, sys.format_time(esc.timer_wait), NULL) AS statement_latency, IF(esc.end_event_id IS NULL, ROUND(100 * (estc.work_completed / estc.work_estimated), 2), NULL) AS progress, sys.format_time(esc.lock_time) AS lock_latency, esc.rows_examined AS rows_examined, esc.rows_sent AS rows_sent, esc.rows_affected AS rows_affected, esc.created_tmp_tables AS tmp_tables, esc.created_tmp_disk_tables AS tmp_disk_tables, IF(esc.no_good_index_used > 0 OR esc.no_index_used > 0, 'YES', 'NO') AS full_scan, IF(esc.end_event_id IS NOT NULL, sys.format_statement(esc.sql_text), NULL) AS last_statement, IF(esc.end_event_id IS NOT NULL, sys.format_time(esc.timer_wait), NULL) AS last_statement_latency, sys.format_bytes(mem.current_allocated) AS current_memory, ewc.event_name AS last_wait, IF(ewc.end_event_id IS NULL AND ewc.event_name IS NOT NULL, 'Still Waiting', sys.format_time(ewc.timer_wait)) last_wait_latency, ewc.source, sys.format_time(etc.timer_wait) AS trx_latency, etc.state AS trx_state, etc.autocommit AS trx_autocommit, conattr_pid.attr_value as pid, conattr_progname.attr_value as program_name FROM performance_schema.threads AS pps LEFT JOIN performance_schema.events_waits_current AS ewc USING (thread_id) LEFT JOIN performance_schema.events_stages_current AS estc USING (thread_id) LEFT JOIN performance_schema.events_statements_current AS esc USING (thread_id) LEFT JOIN performance_schema.events_transactions_current AS etc USING (thread_id) LEFT JOIN sys.x$memory_by_thread_by_current_bytes AS mem USING (thread_id) LEFT JOIN performance_schema.session_connect_attrs AS conattr_pid ON conattr_pid.processlist_id=pps.processlist_id and conattr_pid.attr_name='_pid' LEFT JOIN performance_schema.session_connect_attrs AS conattr_progname ON conattr_progname.processlist_id=pps.processlist_id and conattr_progname.attr_name='program_name' ORDER BY pps.processlist_time DESC, last_wait_latency DESC; CREATE OR REPLACE ALGORITHM = TEMPTABLE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$processlist ( thd_id, conn_id, user, db, command, state, time, current_statement, statement_latency, progress, lock_latency, rows_examined, rows_sent, rows_affected, tmp_tables, tmp_disk_tables, full_scan, last_statement, last_statement_latency, current_memory, last_wait, last_wait_latency, source, trx_latency, trx_state, trx_autocommit, pid, program_name ) AS SELECT pps.thread_id AS thd_id, pps.processlist_id AS conn_id, IF(pps.name = 'thread/sql/one_connection', CONCAT(pps.processlist_user, '@', pps.processlist_host), REPLACE(pps.name, 'thread/', '')) user, pps.processlist_db AS db, pps.processlist_command AS command, pps.processlist_state AS state, pps.processlist_time AS time, pps.processlist_info AS current_statement, IF(esc.end_event_id IS NULL, esc.timer_wait, NULL) AS statement_latency, IF(esc.end_event_id IS NULL, ROUND(100 * (estc.work_completed / estc.work_estimated), 2), NULL) AS progress, esc.lock_time AS lock_latency, esc.rows_examined AS rows_examined, esc.rows_sent AS rows_sent, esc.rows_affected AS rows_affected, esc.created_tmp_tables AS tmp_tables, esc.created_tmp_disk_tables AS tmp_disk_tables, IF(esc.no_good_index_used > 0 OR esc.no_index_used > 0, 'YES', 'NO') AS full_scan, IF(esc.end_event_id IS NOT NULL, esc.sql_text, NULL) AS last_statement, IF(esc.end_event_id IS NOT NULL, esc.timer_wait, NULL) AS last_statement_latency, mem.current_allocated AS current_memory, ewc.event_name AS last_wait, IF(ewc.end_event_id IS NULL AND ewc.event_name IS NOT NULL, 'Still Waiting', ewc.timer_wait) last_wait_latency, ewc.source, etc.timer_wait AS trx_latency, etc.state AS trx_state, etc.autocommit AS trx_autocommit, conattr_pid.attr_value as pid, conattr_progname.attr_value as program_name FROM performance_schema.threads AS pps LEFT JOIN performance_schema.events_waits_current AS ewc USING (thread_id) LEFT JOIN performance_schema.events_stages_current AS estc USING (thread_id) LEFT JOIN performance_schema.events_statements_current AS esc USING (thread_id) LEFT JOIN performance_schema.events_transactions_current AS etc USING (thread_id) LEFT JOIN sys.x$memory_by_thread_by_current_bytes AS mem USING (thread_id) LEFT JOIN performance_schema.session_connect_attrs AS conattr_pid ON conattr_pid.processlist_id=pps.processlist_id and conattr_pid.attr_name='_pid' LEFT JOIN performance_schema.session_connect_attrs AS conattr_progname ON conattr_progname.processlist_id=pps.processlist_id and conattr_progname.attr_name='program_name' ORDER BY pps.processlist_time DESC, last_wait_latency DESC; CREATE OR REPLACE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW session AS SELECT * FROM sys.processlist WHERE conn_id IS NOT NULL AND command != 'Daemon'; CREATE OR REPLACE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW x$session AS SELECT * FROM sys.x$processlist WHERE conn_id IS NOT NULL AND command != 'Daemon'; CREATE OR REPLACE ALGORITHM = MERGE DEFINER = 'mysql.sys'@'localhost' SQL SECURITY INVOKER VIEW session_ssl_status ( thread_id, ssl_version, ssl_cipher, ssl_sessions_reused ) AS SELECT sslver.thread_id, sslver.variable_value ssl_version, sslcip.variable_value ssl_cipher, sslreuse.variable_value ssl_sessions_reused FROM performance_schema.status_by_thread sslver LEFT JOIN performance_schema.status_by_thread sslcip ON (sslcip.thread_id=sslver.thread_id and sslcip.variable_name='Ssl_cipher') LEFT JOIN performance_schema.status_by_thread sslreuse ON (sslreuse.thread_id=sslver.thread_id and sslreuse.variable_name='Ssl_sessions_reused') WHERE sslver.variable_name='Ssl_version'; DROP PROCEDURE IF EXISTS create_synonym_db; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE create_synonym_db ( IN in_db_name VARCHAR(64), IN in_synonym VARCHAR(64) ) COMMENT '\n Description\n \n Takes a source database name and synonym name, and then creates the \n synonym database with views that point to all of the tables within\n the source database.\n \n Useful for creating a "ps" synonym for "performance_schema",\n or "is" instead of "information_schema", for example.\n \n Parameters\n \n in_db_name (VARCHAR(64)):\n The database name that you would like to create a synonym for.\n in_synonym (VARCHAR(64)):\n The database synonym name.\n \n Example\n \n mysql> SHOW DATABASES;\n +--------------------+\n | Database |\n +--------------------+\n | information_schema |\n | mysql |\n | performance_schema |\n | sys |\n | test |\n +--------------------+\n 5 rows in set (0.00 sec)\n \n mysql> CALL sys.create_synonym_db(\'performance_schema\', \'ps\');\n +---------------------------------------+\n | summary |\n +---------------------------------------+\n | Created 74 views in the `ps` database |\n +---------------------------------------+\n 1 row in set (8.57 sec)\n \n Query OK, 0 rows affected (8.57 sec)\n \n mysql> SHOW DATABASES;\n +--------------------+\n | Database |\n +--------------------+\n | information_schema |\n | mysql |\n | performance_schema |\n | ps |\n | sys |\n | test |\n +--------------------+\n 6 rows in set (0.00 sec)\n \n mysql> SHOW FULL TABLES FROM ps;\n +------------------------------------------------------+------------+\n | Tables_in_ps | Table_type |\n +------------------------------------------------------+------------+\n | accounts | VIEW |\n | cond_instances | VIEW |\n | events_stages_current | VIEW |\n | events_stages_history | VIEW |\n ...\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN DECLARE v_done bool DEFAULT FALSE; DECLARE v_db_name_check VARCHAR(64); DECLARE v_db_err_msg TEXT; DECLARE v_table VARCHAR(64); DECLARE v_views_created INT DEFAULT 0; DECLARE db_doesnt_exist CONDITION FOR SQLSTATE '42000'; DECLARE db_name_exists CONDITION FOR SQLSTATE 'HY000'; DECLARE c_table_names CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = in_db_name; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; SELECT SCHEMA_NAME INTO v_db_name_check FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = in_db_name; IF v_db_name_check IS NULL THEN SET v_db_err_msg = CONCAT('Unknown database ', in_db_name); SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = v_db_err_msg; END IF; SELECT SCHEMA_NAME INTO v_db_name_check FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = in_synonym; IF v_db_name_check = in_synonym THEN SET v_db_err_msg = CONCAT('Can\'t create database ', in_synonym, '; database exists'); SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = v_db_err_msg; END IF; SET @create_db_stmt := CONCAT('CREATE DATABASE ', sys.quote_identifier(in_synonym)); PREPARE create_db_stmt FROM @create_db_stmt; EXECUTE create_db_stmt; DEALLOCATE PREPARE create_db_stmt; SET v_done = FALSE; OPEN c_table_names; c_table_names: LOOP FETCH c_table_names INTO v_table; IF v_done THEN LEAVE c_table_names; END IF; SET @create_view_stmt = CONCAT( 'CREATE SQL SECURITY INVOKER VIEW ', sys.quote_identifier(in_synonym), '.', sys.quote_identifier(v_table), ' AS SELECT * FROM ', sys.quote_identifier(in_db_name), '.', sys.quote_identifier(v_table) ); PREPARE create_view_stmt FROM @create_view_stmt; EXECUTE create_view_stmt; DEALLOCATE PREPARE create_view_stmt; SET v_views_created = v_views_created + 1; END LOOP; CLOSE c_table_names; SELECT CONCAT( 'Created ', v_views_created, ' view', IF(v_views_created != 1, 's', ''), ' in the ', sys.quote_identifier(in_synonym), ' database' ) AS summary; END; DROP PROCEDURE IF EXISTS execute_prepared_stmt; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE execute_prepared_stmt ( IN in_query longtext CHARACTER SET UTF8 ) COMMENT '\n Description\n \n Takes the query in the argument and executes it using a prepared statement. The prepared statement is deallocated,\n so the procedure is mainly useful for executing one off dynamically created queries.\n \n The sys_execute_prepared_stmt prepared statement name is used for the query and is required not to exist.\n \n \n Parameters\n \n in_query (longtext CHARACTER SET UTF8):\n The query to execute.\n \n \n Configuration Options\n \n sys.debug\n Whether to provide debugging output.\n Default is ''OFF''. Set to ''ON'' to include.\n \n \n Example\n \n mysql> CALL sys.execute_prepared_stmt(''SELECT * FROM sys.sys_config'');\n +------------------------+-------+---------------------+--------+\n | variable | value | set_time | set_by |\n +------------------------+-------+---------------------+--------+\n | statement_truncate_len | 64 | 2015-06-30 13:06:00 | NULL |\n +------------------------+-------+---------------------+--------+\n 1 row in set (0.00 sec)\n \n Query OK, 0 rows affected (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN IF (@sys.debug IS NULL) THEN SET @sys.debug = sys.sys_get_config('debug', 'OFF'); END IF; IF (in_query IS NULL OR LENGTH(in_query) < 4) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "The @sys.execute_prepared_stmt.sql must contain a query"; END IF; SET @sys.execute_prepared_stmt.sql = in_query; IF (@sys.debug = 'ON') THEN SELECT @sys.execute_prepared_stmt.sql AS 'Debug'; END IF; PREPARE sys_execute_prepared_stmt FROM @sys.execute_prepared_stmt.sql; EXECUTE sys_execute_prepared_stmt; DEALLOCATE PREPARE sys_execute_prepared_stmt; SET @sys.execute_prepared_stmt.sql = NULL; END; DROP PROCEDURE IF EXISTS diagnostics; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE diagnostics ( IN in_max_runtime int unsigned, IN in_interval int unsigned, IN in_auto_config enum ('current', 'medium', 'full') ) COMMENT '\n Description\n \n Create a report of the current status of the server for diagnostics purposes. Data collected includes (some items depends on versions and settings):\n \n * The GLOBAL VARIABLES\n * Several sys schema views including metrics or equivalent (depending on version and settings)\n * Queries in the 95th percentile\n * Several ndbinfo views for MySQL Cluster\n * Replication (both master and slave) information.\n \n Some of the sys schema views are calculated as initial (optional), overall, delta:\n \n * The initial view is the content of the view at the start of this procedure.\n This output will be the same as the the start values used for the delta view.\n The initial view is included if @sys.diagnostics.include_raw = ''ON''.\n * The overall view is the content of the view at the end of this procedure.\n This output is the same as the end values used for the delta view.\n The overall view is always included.\n * The delta view is the difference from the beginning to the end. Note that for min and max values\n they are simply the min or max value from the end view respectively, so does not necessarily reflect\n the minimum/maximum value in the monitored period.\n Note: except for the metrics views the delta is only calculation between the first and last outputs.\n \n Requires the SUPER privilege for "SET sql_log_bin = 0;".\n \n Versions supported:\n * MySQL 5.6: 5.6.10 and later\n * MySQL 5.7: 5.7.9 and later\n \n Parameters\n \n in_max_runtime (INT UNSIGNED):\n The maximum time to keep collecting data.\n Use NULL to get the default which is 60 seconds, otherwise enter a value greater than 0.\n in_interval (INT UNSIGNED):\n How long to sleep between data collections.\n Use NULL to get the default which is 30 seconds, otherwise enter a value greater than 0.\n in_auto_config (ENUM(''current'', ''medium'', ''full''))\n Automatically enable Performance Schema instruments and consumers.\n NOTE: The more that are enabled, the more impact on the performance.\n Supported values are:\n * current - use the current settings.\n * medium - enable some settings.\n * full - enables all settings. This will have a big impact on the\n performance - be careful using this option.\n If another setting the ''current'' is chosen, the current settings\n are restored at the end of the procedure.\n \n \n Configuration Options\n \n sys.diagnostics.allow_i_s_tables\n Specifies whether it is allowed to do table scan queries on information_schema.TABLES. This can be expensive if there\n are many tables. Set to ''ON'' to allow, ''OFF'' to not allow.\n Default is ''OFF''.\n \n sys.diagnostics.include_raw\n Set to ''ON'' to include the raw data (e.g. the original output of "SELECT * FROM sys.metrics").\n Use this to get the initial values of the various views.\n Default is ''OFF''.\n \n sys.statement_truncate_len\n How much of queries in the process list output to include.\n Default is 64.\n \n sys.debug\n Whether to provide debugging output.\n Default is ''OFF''. Set to ''ON'' to include.\n \n \n Example\n \n To create a report and append it to the file diag.out:\n \n mysql> TEE diag.out;\n mysql> CALL sys.diagnostics(120, 30, ''current'');\n ...\n mysql> NOTEE;\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE v_start, v_runtime, v_iter_start, v_sleep DECIMAL(20,2) DEFAULT 0.0; DECLARE v_has_innodb, v_has_ndb, v_has_ps, v_has_replication, v_has_ps_replication VARCHAR(8) CHARSET utf8 DEFAULT 'NO'; DECLARE v_this_thread_enabled, v_has_ps_vars, v_has_metrics ENUM('YES', 'NO'); DECLARE v_table_name, v_banner VARCHAR(64) CHARSET utf8; DECLARE v_sql_status_summary_select, v_sql_status_summary_delta, v_sql_status_summary_from, v_no_delta_names TEXT; DECLARE v_output_time, v_output_time_prev DECIMAL(20,3) UNSIGNED; DECLARE v_output_count, v_count, v_old_group_concat_max_len INT UNSIGNED DEFAULT 0; DECLARE v_status_summary_width TINYINT UNSIGNED DEFAULT 50; DECLARE v_done BOOLEAN DEFAULT FALSE; DECLARE c_ndbinfo CURSOR FOR SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'ndbinfo' AND TABLE_NAME NOT IN ( 'blocks', 'config_params', 'dict_obj_types', 'disk_write_speed_base', 'memory_per_fragment', 'memoryusage', 'operations_per_fragment', 'threadblocks' ); DECLARE c_sysviews_w_delta CURSOR FOR SELECT table_name FROM tmp_sys_views_delta ORDER BY table_name; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; SELECT INSTRUMENTED INTO v_this_thread_enabled FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID(); IF (v_this_thread_enabled = 'YES') THEN CALL sys.ps_setup_disable_thread(CONNECTION_ID()); END IF; IF (in_max_runtime < in_interval) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'in_max_runtime must be greater than or equal to in_interval'; END IF; IF (in_max_runtime = 0) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'in_max_runtime must be greater than 0'; END IF; IF (in_interval = 0) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'in_interval must be greater than 0'; END IF; IF (@sys.diagnostics.allow_i_s_tables IS NULL) THEN SET @sys.diagnostics.allow_i_s_tables = sys.sys_get_config('diagnostics.allow_i_s_tables', 'OFF'); END IF; IF (@sys.diagnostics.include_raw IS NULL) THEN SET @sys.diagnostics.include_raw = sys.sys_get_config('diagnostics.include_raw' , 'OFF'); END IF; IF (@sys.debug IS NULL) THEN SET @sys.debug = sys.sys_get_config('debug' , 'OFF'); END IF; IF (@sys.statement_truncate_len IS NULL) THEN SET @sys.statement_truncate_len = sys.sys_get_config('statement_truncate_len' , '64' ); END IF; SET @log_bin := @@sql_log_bin; IF (@log_bin = 1) THEN SET sql_log_bin = 0; END IF; SET v_no_delta_names = CONCAT('s%{COUNT}.Variable_name NOT IN (', '''innodb_buffer_pool_pages_total'', ', '''innodb_page_size'', ', '''last_query_cost'', ', '''last_query_partial_plans'', ', '''qcache_total_blocks'', ', '''slave_last_heartbeat'', ', '''ssl_ctx_verify_depth'', ', '''ssl_ctx_verify_mode'', ', '''ssl_session_cache_size'', ', '''ssl_verify_depth'', ', '''ssl_verify_mode'', ', '''ssl_version'', ', '''buffer_flush_lsn_avg_rate'', ', '''buffer_flush_pct_for_dirty'', ', '''buffer_flush_pct_for_lsn'', ', '''buffer_pool_pages_total'', ', '''lock_row_lock_time_avg'', ', '''lock_row_lock_time_max'', ', '''innodb_page_size''', ')'); IF (in_auto_config <> 'current') THEN IF (@sys.debug = 'ON') THEN SELECT CONCAT('Updating Performance Schema configuration to ', in_auto_config) AS 'Debug'; END IF; CALL sys.ps_setup_save(0); IF (in_auto_config = 'medium') THEN UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME NOT LIKE '%\_history%'; UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME NOT LIKE 'wait/synch/%'; ELSEIF (in_auto_config = 'full') THEN UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'; UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES'; END IF; UPDATE performance_schema.threads SET INSTRUMENTED = 'YES' WHERE PROCESSLIST_ID <> CONNECTION_ID(); END IF; SET v_start = UNIX_TIMESTAMP(NOW(2)), in_interval = IFNULL(in_interval, 30), in_max_runtime = IFNULL(in_max_runtime, 60); SET v_banner = REPEAT( '-', LEAST( GREATEST( 36, CHAR_LENGTH(VERSION()), CHAR_LENGTH(@@global.version_comment), CHAR_LENGTH(@@global.version_compile_os), CHAR_LENGTH(@@global.version_compile_machine), CHAR_LENGTH(@@global.socket), CHAR_LENGTH(@@global.datadir) ), 64 ) ); SELECT 'Hostname' AS 'Name', @@global.hostname AS 'Value' UNION ALL SELECT 'Port' AS 'Name', @@global.port AS 'Value' UNION ALL SELECT 'Socket' AS 'Name', @@global.socket AS 'Value' UNION ALL SELECT 'Datadir' AS 'Name', @@global.datadir AS 'Value' UNION ALL SELECT 'Server UUID' AS 'Name', @@global.server_uuid AS 'Value' UNION ALL SELECT REPEAT('-', 23) AS 'Name', v_banner AS 'Value' UNION ALL SELECT 'MySQL Version' AS 'Name', VERSION() AS 'Value' UNION ALL SELECT 'Sys Schema Version' AS 'Name', (SELECT sys_version FROM sys.version) AS 'Value' UNION ALL SELECT 'Version Comment' AS 'Name', @@global.version_comment AS 'Value' UNION ALL SELECT 'Version Compile OS' AS 'Name', @@global.version_compile_os AS 'Value' UNION ALL SELECT 'Version Compile Machine' AS 'Name', @@global.version_compile_machine AS 'Value' UNION ALL SELECT REPEAT('-', 23) AS 'Name', v_banner AS 'Value' UNION ALL SELECT 'UTC Time' AS 'Name', UTC_TIMESTAMP() AS 'Value' UNION ALL SELECT 'Local Time' AS 'Name', NOW() AS 'Value' UNION ALL SELECT 'Time Zone' AS 'Name', @@global.time_zone AS 'Value' UNION ALL SELECT 'System Time Zone' AS 'Name', @@global.system_time_zone AS 'Value' UNION ALL SELECT 'Time Zone Offset' AS 'Name', TIMEDIFF(NOW(), UTC_TIMESTAMP()) AS 'Value'; SET v_has_innodb = IFNULL((SELECT SUPPORT FROM information_schema.ENGINES WHERE ENGINE = 'InnoDB'), 'NO'), v_has_ndb = IFNULL((SELECT SUPPORT FROM information_schema.ENGINES WHERE ENGINE = 'NDBCluster'), 'NO'), v_has_ps = IFNULL((SELECT SUPPORT FROM information_schema.ENGINES WHERE ENGINE = 'PERFORMANCE_SCHEMA'), 'NO'), v_has_ps_replication = IF(v_has_ps = 'YES' AND EXISTS(SELECT 1 FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'performance_schema' AND TABLE_NAME = 'replication_applier_status'), 'YES', 'NO' ), v_has_replication = /*!50707 IF(v_has_ps_replication = 'YES', IF((SELECT COUNT(*) FROM performance_schema.replication_connection_status) > 0, 'YES', 'NO'),*/ IF(@@master_info_repository = 'TABLE', IF((SELECT COUNT(*) FROM mysql.slave_master_info) > 0, 'YES', 'NO'), IF(@@relay_log_info_repository = 'TABLE', IF((SELECT COUNT(*) FROM mysql.slave_relay_log_info) > 0, 'YES', 'NO'), 'MAYBE'))/*!50707 )*/, v_has_metrics = IF(v_has_ps = 'YES' OR (sys.version_major() = 5 AND sys.version_minor() = 6), 'YES', 'NO'), v_has_ps_vars = 'NO'; /*!50707 SET v_has_ps_vars = IF(@@global.show_compatibility_56, 'NO', 'YES');*/ /*!50709 SET v_has_ps_vars = 'YES';*/ IF (@sys.debug = 'ON') THEN SELECT v_has_innodb AS 'Has_InnoDB', v_has_ndb AS 'Has_NDBCluster', v_has_ps AS 'Has_Performance_Schema', v_has_ps_vars AS 'Has_P_S_SHOW_Variables', v_has_metrics AS 'Has_metrics', v_has_ps_replication 'AS Has_P_S_Replication', v_has_replication AS 'Has_Replication'; END IF; IF (v_has_innodb IN ('DEFAULT', 'YES')) THEN SET @sys.diagnostics.sql = 'SHOW ENGINE InnoDB STATUS'; PREPARE stmt_innodb_status FROM @sys.diagnostics.sql; END IF; IF (v_has_ps = 'YES') THEN SET @sys.diagnostics.sql = 'SHOW ENGINE PERFORMANCE_SCHEMA STATUS'; PREPARE stmt_ps_status FROM @sys.diagnostics.sql; END IF; IF (v_has_ndb IN ('DEFAULT', 'YES')) THEN SET @sys.diagnostics.sql = 'SHOW ENGINE NDBCLUSTER STATUS'; PREPARE stmt_ndbcluster_status FROM @sys.diagnostics.sql; END IF; SET @sys.diagnostics.sql_gen_query_template = 'SELECT CONCAT( ''SELECT '', GROUP_CONCAT( CASE WHEN (SUBSTRING(TABLE_NAME, 3), COLUMN_NAME) IN ( (''io_global_by_file_by_bytes'', ''total''), (''io_global_by_wait_by_bytes'', ''total_requested'') ) THEN CONCAT(''sys.format_bytes('', COLUMN_NAME, '') AS '', COLUMN_NAME) WHEN SUBSTRING(COLUMN_NAME, -8) = ''_latency'' THEN CONCAT(''sys.format_time('', COLUMN_NAME, '') AS '', COLUMN_NAME) WHEN SUBSTRING(COLUMN_NAME, -7) = ''_memory'' OR SUBSTRING(COLUMN_NAME, -17) = ''_memory_allocated'' OR ((SUBSTRING(COLUMN_NAME, -5) = ''_read'' OR SUBSTRING(COLUMN_NAME, -8) = ''_written'' OR SUBSTRING(COLUMN_NAME, -6) = ''_write'') AND SUBSTRING(COLUMN_NAME, 1, 6) <> ''COUNT_'') THEN CONCAT(''sys.format_bytes('', COLUMN_NAME, '') AS '', COLUMN_NAME) ELSE COLUMN_NAME END ORDER BY ORDINAL_POSITION SEPARATOR '',\n '' ), ''\n FROM tmp_'', SUBSTRING(TABLE_NAME FROM 3), ''_%{OUTPUT}'' ) AS Query INTO @sys.diagnostics.sql_select FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ''sys'' AND TABLE_NAME = ? GROUP BY TABLE_NAME'; SET @sys.diagnostics.sql_gen_query_delta = 'SELECT CONCAT( ''SELECT '', GROUP_CONCAT( CASE WHEN FIND_IN_SET(COLUMN_NAME, diag.pk) THEN COLUMN_NAME WHEN diag.TABLE_NAME = ''io_global_by_file_by_bytes'' AND COLUMN_NAME = ''write_pct'' THEN CONCAT(''IFNULL(ROUND(100-(((e.total_read-IFNULL(s.total_read, 0))'', ''/NULLIF(((e.total_read-IFNULL(s.total_read, 0))+(e.total_written-IFNULL(s.total_written, 0))), 0))*100), 2), 0.00) AS '', COLUMN_NAME) WHEN (diag.TABLE_NAME, COLUMN_NAME) IN ( (''io_global_by_file_by_bytes'', ''total''), (''io_global_by_wait_by_bytes'', ''total_requested'') ) THEN CONCAT(''sys.format_bytes(e.'', COLUMN_NAME, ''-IFNULL(s.'', COLUMN_NAME, '', 0)) AS '', COLUMN_NAME) WHEN SUBSTRING(COLUMN_NAME, 1, 4) IN (''max_'', ''min_'') AND SUBSTRING(COLUMN_NAME, -8) = ''_latency'' THEN CONCAT(''sys.format_time(e.'', COLUMN_NAME, '') AS '', COLUMN_NAME) WHEN COLUMN_NAME = ''avg_latency'' THEN CONCAT(''sys.format_time((e.total_latency - IFNULL(s.total_latency, 0))'', ''/NULLIF(e.total - IFNULL(s.total, 0), 0)) AS '', COLUMN_NAME) WHEN SUBSTRING(COLUMN_NAME, -12) = ''_avg_latency'' THEN CONCAT(''sys.format_time((e.'', SUBSTRING(COLUMN_NAME FROM 1 FOR CHAR_LENGTH(COLUMN_NAME)-12), ''_latency - IFNULL(s.'', SUBSTRING(COLUMN_NAME FROM 1 FOR CHAR_LENGTH(COLUMN_NAME)-12), ''_latency, 0))'', ''/NULLIF(e.'', SUBSTRING(COLUMN_NAME FROM 1 FOR CHAR_LENGTH(COLUMN_NAME)-12), ''s - IFNULL(s.'', SUBSTRING(COLUMN_NAME FROM 1 FOR CHAR_LENGTH(COLUMN_NAME)-12), ''s, 0), 0)) AS '', COLUMN_NAME) WHEN SUBSTRING(COLUMN_NAME, -8) = ''_latency'' THEN CONCAT(''sys.format_time(e.'', COLUMN_NAME, '' - IFNULL(s.'', COLUMN_NAME, '', 0)) AS '', COLUMN_NAME) WHEN COLUMN_NAME IN (''avg_read'', ''avg_write'', ''avg_written'') THEN CONCAT(''sys.format_bytes(IFNULL((e.total_'', IF(COLUMN_NAME = ''avg_read'', ''read'', ''written''), ''-IFNULL(s.total_'', IF(COLUMN_NAME = ''avg_read'', ''read'', ''written''), '', 0))'', ''/NULLIF(e.count_'', IF(COLUMN_NAME = ''avg_read'', ''read'', ''write''), ''-IFNULL(s.count_'', IF(COLUMN_NAME = ''avg_read'', ''read'', ''write''), '', 0), 0), 0)) AS '', COLUMN_NAME) WHEN SUBSTRING(COLUMN_NAME, -7) = ''_memory'' OR SUBSTRING(COLUMN_NAME, -17) = ''_memory_allocated'' OR ((SUBSTRING(COLUMN_NAME, -5) = ''_read'' OR SUBSTRING(COLUMN_NAME, -8) = ''_written'' OR SUBSTRING(COLUMN_NAME, -6) = ''_write'') AND SUBSTRING(COLUMN_NAME, 1, 6) <> ''COUNT_'') THEN CONCAT(''sys.format_bytes(e.'', COLUMN_NAME, '' - IFNULL(s.'', COLUMN_NAME, '', 0)) AS '', COLUMN_NAME) ELSE CONCAT(''(e.'', COLUMN_NAME, '' - IFNULL(s.'', COLUMN_NAME, '', 0)) AS '', COLUMN_NAME) END ORDER BY ORDINAL_POSITION SEPARATOR '',\n '' ), ''\n FROM tmp_'', diag.TABLE_NAME, ''_end e LEFT OUTER JOIN tmp_'', diag.TABLE_NAME, ''_start s USING ('', diag.pk, '')'' ) AS Query INTO @sys.diagnostics.sql_select FROM tmp_sys_views_delta diag INNER JOIN information_schema.COLUMNS c ON c.TABLE_NAME = CONCAT(''x$'', diag.TABLE_NAME) WHERE c.TABLE_SCHEMA = ''sys'' AND diag.TABLE_NAME = ? GROUP BY diag.TABLE_NAME'; IF (v_has_ps = 'YES') THEN DROP TEMPORARY TABLE IF EXISTS tmp_sys_views_delta; CREATE TEMPORARY TABLE tmp_sys_views_delta ( TABLE_NAME varchar(64) NOT NULL, order_by text COMMENT 'ORDER BY clause for the initial and overall views', order_by_delta text COMMENT 'ORDER BY clause for the delta views', where_delta text COMMENT 'WHERE clause to use for delta views to only include rows with a "count" > 0', limit_rows int unsigned COMMENT 'The maximum number of rows to include for the view', pk varchar(128) COMMENT 'Used with the FIND_IN_SET() function so use comma separated list without whitespace', PRIMARY KEY (TABLE_NAME) ); IF (@sys.debug = 'ON') THEN SELECT 'Populating tmp_sys_views_delta' AS 'Debug'; END IF; INSERT INTO tmp_sys_views_delta VALUES ('host_summary' , '%{TABLE}.statement_latency DESC', '(e.statement_latency-IFNULL(s.statement_latency, 0)) DESC', '(e.statements - IFNULL(s.statements, 0)) > 0', NULL, 'host'), ('host_summary_by_file_io' , '%{TABLE}.io_latency DESC', '(e.io_latency-IFNULL(s.io_latency, 0)) DESC', '(e.ios - IFNULL(s.ios, 0)) > 0', NULL, 'host'), ('host_summary_by_file_io_type' , '%{TABLE}.host, %{TABLE}.total_latency DESC', 'e.host, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'host,event_name'), ('host_summary_by_stages' , '%{TABLE}.host, %{TABLE}.total_latency DESC', 'e.host, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'host,event_name'), ('host_summary_by_statement_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'host'), ('host_summary_by_statement_type' , '%{TABLE}.host, %{TABLE}.total_latency DESC', 'e.host, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'host,statement'), ('io_by_thread_by_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'user,thread_id,processlist_id'), ('io_global_by_file_by_bytes' , '%{TABLE}.total DESC', '(e.total-IFNULL(s.total, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', 100, 'file'), ('io_global_by_file_by_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', 100, 'file'), ('io_global_by_wait_by_bytes' , '%{TABLE}.total_requested DESC', '(e.total_requested-IFNULL(s.total_requested, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'event_name'), ('io_global_by_wait_by_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'event_name'), ('schema_index_statistics' , '(%{TABLE}.select_latency+%{TABLE}.insert_latency+%{TABLE}.update_latency+%{TABLE}.delete_latency) DESC', '((e.select_latency+e.insert_latency+e.update_latency+e.delete_latency)-IFNULL(s.select_latency+s.insert_latency+s.update_latency+s.delete_latency, 0)) DESC', '((e.rows_selected+e.insert_latency+e.rows_updated+e.rows_deleted)-IFNULL(s.rows_selected+s.rows_inserted+s.rows_updated+s.rows_deleted, 0)) > 0', 100, 'table_schema,table_name,index_name'), ('schema_table_statistics' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) > 0', 100, 'table_schema,table_name'), ('schema_tables_with_full_table_scans', '%{TABLE}.rows_full_scanned DESC', '(e.rows_full_scanned-IFNULL(s.rows_full_scanned, 0)) DESC', '(e.rows_full_scanned-IFNULL(s.rows_full_scanned, 0)) > 0', 100, 'object_schema,object_name'), ('user_summary' , '%{TABLE}.statement_latency DESC', '(e.statement_latency-IFNULL(s.statement_latency, 0)) DESC', '(e.statements - IFNULL(s.statements, 0)) > 0', NULL, 'user'), ('user_summary_by_file_io' , '%{TABLE}.io_latency DESC', '(e.io_latency-IFNULL(s.io_latency, 0)) DESC', '(e.ios - IFNULL(s.ios, 0)) > 0', NULL, 'user'), ('user_summary_by_file_io_type' , '%{TABLE}.user, %{TABLE}.latency DESC', 'e.user, (e.latency-IFNULL(s.latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'user,event_name'), ('user_summary_by_stages' , '%{TABLE}.user, %{TABLE}.total_latency DESC', 'e.user, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'user,event_name'), ('user_summary_by_statement_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'user'), ('user_summary_by_statement_type' , '%{TABLE}.user, %{TABLE}.total_latency DESC', 'e.user, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'user,statement'), ('wait_classes_global_by_avg_latency' , 'IFNULL(%{TABLE}.total_latency / NULLIF(%{TABLE}.total, 0), 0) DESC', 'IFNULL((e.total_latency-IFNULL(s.total_latency, 0)) / NULLIF((e.total - IFNULL(s.total, 0)), 0), 0) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'event_class'), ('wait_classes_global_by_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'event_class'), ('waits_by_host_by_latency' , '%{TABLE}.host, %{TABLE}.total_latency DESC', 'e.host, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'host,event'), ('waits_by_user_by_latency' , '%{TABLE}.user, %{TABLE}.total_latency DESC', 'e.user, (e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'user,event'), ('waits_global_by_latency' , '%{TABLE}.total_latency DESC', '(e.total_latency-IFNULL(s.total_latency, 0)) DESC', '(e.total - IFNULL(s.total, 0)) > 0', NULL, 'events') ; END IF; SELECT ' ======================= Configuration ======================= ' AS ''; SELECT 'GLOBAL VARIABLES' AS 'The following output is:'; IF (v_has_ps_vars = 'YES') THEN SELECT LOWER(VARIABLE_NAME) AS Variable_name, VARIABLE_VALUE AS Variable_value FROM performance_schema.global_variables ORDER BY VARIABLE_NAME; ELSE SELECT LOWER(VARIABLE_NAME) AS Variable_name, VARIABLE_VALUE AS Variable_value FROM information_schema.GLOBAL_VARIABLES ORDER BY VARIABLE_NAME; END IF; IF (v_has_ps = 'YES') THEN SELECT 'Performance Schema Setup - Actors' AS 'The following output is:'; SELECT * FROM performance_schema.setup_actors; SELECT 'Performance Schema Setup - Consumers' AS 'The following output is:'; SELECT NAME AS Consumer, ENABLED, sys.ps_is_consumer_enabled(NAME) AS COLLECTS FROM performance_schema.setup_consumers; SELECT 'Performance Schema Setup - Instruments' AS 'The following output is:'; SELECT SUBSTRING_INDEX(NAME, '/', 2) AS 'InstrumentClass', ROUND(100*SUM(IF(ENABLED = 'YES', 1, 0))/COUNT(*), 2) AS 'EnabledPct', ROUND(100*SUM(IF(TIMED = 'YES', 1, 0))/COUNT(*), 2) AS 'TimedPct' FROM performance_schema.setup_instruments GROUP BY SUBSTRING_INDEX(NAME, '/', 2) ORDER BY SUBSTRING_INDEX(NAME, '/', 2); SELECT 'Performance Schema Setup - Objects' AS 'The following output is:'; SELECT * FROM performance_schema.setup_objects; SELECT 'Performance Schema Setup - Threads' AS 'The following output is:'; SELECT `TYPE` AS ThreadType, COUNT(*) AS 'Total', ROUND(100*SUM(IF(INSTRUMENTED = 'YES', 1, 0))/COUNT(*), 2) AS 'InstrumentedPct' FROM performance_schema.threads GROUP BY TYPE; END IF; IF (v_has_replication = 'NO') THEN SELECT 'No Replication Configured' AS 'Replication Status'; ELSE SELECT CONCAT('Replication Configured: ', v_has_replication, ' - Performance Schema Replication Tables: ', v_has_ps_replication) AS 'Replication Status'; IF (v_has_ps_replication = 'YES') THEN SELECT 'Replication - Connection Configuration' AS 'The following output is:'; SELECT * FROM performance_schema.replication_connection_configuration/*!50706 ORDER BY CHANNEL_NAME*/; END IF; IF (v_has_ps_replication = 'YES') THEN SELECT 'Replication - Applier Configuration' AS 'The following output is:'; SELECT * FROM performance_schema.replication_applier_configuration ORDER BY CHANNEL_NAME; END IF; IF (@@master_info_repository = 'TABLE') THEN SELECT 'Replication - Master Info Repository Configuration' AS 'The following output is:'; SELECT /*!50706 Channel_name, */Host, User_name, Port, Connect_retry, Enabled_ssl, Ssl_ca, Ssl_capath, Ssl_cert, Ssl_cipher, Ssl_key, Ssl_verify_server_cert, Heartbeat, Bind, Ignored_server_ids, Uuid, Retry_count, Ssl_crl, Ssl_crlpath, Tls_version, Enabled_auto_position FROM mysql.slave_master_info/*!50706 ORDER BY Channel_name*/; END IF; IF (@@relay_log_info_repository = 'TABLE') THEN SELECT 'Replication - Relay Log Repository Configuration' AS 'The following output is:'; SELECT /*!50706 Channel_name, */Sql_delay, Number_of_workers, Id FROM mysql.slave_relay_log_info/*!50706 ORDER BY Channel_name*/; END IF; END IF; IF (v_has_ndb IN ('DEFAULT', 'YES')) THEN SELECT 'Cluster Thread Blocks' AS 'The following output is:'; SELECT * FROM ndbinfo.threadblocks; END IF; IF (v_has_ps = 'YES') THEN IF (@sys.diagnostics.include_raw = 'ON') THEN SELECT ' ======================== Initial Status ======================== ' AS ''; END IF; DROP TEMPORARY TABLE IF EXISTS tmp_digests_start; CALL sys.statement_performance_analyzer('create_tmp', 'tmp_digests_start', NULL); CALL sys.statement_performance_analyzer('snapshot', NULL, NULL); CALL sys.statement_performance_analyzer('save', 'tmp_digests_start', NULL); IF (@sys.diagnostics.include_raw = 'ON') THEN SET @sys.diagnostics.sql = REPLACE(@sys.diagnostics.sql_gen_query_template, '%{OUTPUT}', 'start'); IF (@sys.debug = 'ON') THEN SELECT 'The following query will be used to generate the query for each sys view' AS 'Debug'; SELECT @sys.diagnostics.sql AS 'Debug'; END IF; PREPARE stmt_gen_query FROM @sys.diagnostics.sql; END IF; SET v_done = FALSE; OPEN c_sysviews_w_delta; c_sysviews_w_delta_loop: LOOP FETCH c_sysviews_w_delta INTO v_table_name; IF v_done THEN LEAVE c_sysviews_w_delta_loop; END IF; IF (@sys.debug = 'ON') THEN SELECT CONCAT('The following queries are for storing the initial content of ', v_table_name) AS 'Debug'; END IF; CALL sys.execute_prepared_stmt(CONCAT('DROP TEMPORARY TABLE IF EXISTS `tmp_', v_table_name, '_start`')); CALL sys.execute_prepared_stmt(CONCAT('CREATE TEMPORARY TABLE `tmp_', v_table_name, '_start` SELECT * FROM `sys`.`x$', v_table_name, '`')); IF (@sys.diagnostics.include_raw = 'ON') THEN SET @sys.diagnostics.table_name = CONCAT('x$', v_table_name); EXECUTE stmt_gen_query USING @sys.diagnostics.table_name; SELECT CONCAT(@sys.diagnostics.sql_select, IF(order_by IS NOT NULL, CONCAT('\n ORDER BY ', REPLACE(order_by, '%{TABLE}', CONCAT('tmp_', v_table_name, '_start'))), ''), IF(limit_rows IS NOT NULL, CONCAT('\n LIMIT ', limit_rows), '') ) INTO @sys.diagnostics.sql_select FROM tmp_sys_views_delta WHERE TABLE_NAME = v_table_name; SELECT CONCAT('Initial ', v_table_name) AS 'The following output is:'; CALL sys.execute_prepared_stmt(@sys.diagnostics.sql_select); END IF; END LOOP; CLOSE c_sysviews_w_delta; IF (@sys.diagnostics.include_raw = 'ON') THEN DEALLOCATE PREPARE stmt_gen_query; END IF; END IF; SET v_sql_status_summary_select = 'SELECT Variable_name', v_sql_status_summary_delta = '', v_sql_status_summary_from = ''; REPEAT SET v_output_count = v_output_count + 1; IF (v_output_count > 1) THEN SET v_sleep = in_interval-(UNIX_TIMESTAMP(NOW(2))-v_iter_start); SELECT NOW() AS 'Time', CONCAT('Going to sleep for ', v_sleep, ' seconds. Please do not interrupt') AS 'The following output is:'; DO SLEEP(in_interval); END IF; SET v_iter_start = UNIX_TIMESTAMP(NOW(2)); SELECT NOW(), CONCAT('Iteration Number ', IFNULL(v_output_count, 'NULL')) AS 'The following output is:'; IF (@@log_bin = 1) THEN SELECT 'SHOW MASTER STATUS' AS 'The following output is:'; SHOW MASTER STATUS; END IF; IF (v_has_replication <> 'NO') THEN SELECT 'SHOW SLAVE STATUS' AS 'The following output is:'; SHOW SLAVE STATUS; IF (v_has_ps_replication = 'YES') THEN SELECT 'Replication Connection Status' AS 'The following output is:'; SELECT * FROM performance_schema.replication_connection_status; SELECT 'Replication Applier Status' AS 'The following output is:'; SELECT * FROM performance_schema.replication_applier_status ORDER BY CHANNEL_NAME; SELECT 'Replication Applier Status - Coordinator' AS 'The following output is:'; SELECT * FROM performance_schema.replication_applier_status_by_coordinator ORDER BY CHANNEL_NAME; SELECT 'Replication Applier Status - Worker' AS 'The following output is:'; SELECT * FROM performance_schema.replication_applier_status_by_worker ORDER BY CHANNEL_NAME, WORKER_ID; END IF; IF (@@master_info_repository = 'TABLE') THEN SELECT 'Replication - Master Log Status' AS 'The following output is:'; SELECT Master_log_name, Master_log_pos FROM mysql.slave_master_info; END IF; IF (@@relay_log_info_repository = 'TABLE') THEN SELECT 'Replication - Relay Log Status' AS 'The following output is:'; SELECT sys.format_path(Relay_log_name) AS Relay_log_name, Relay_log_pos, Master_log_name, Master_log_pos FROM mysql.slave_relay_log_info; SELECT 'Replication - Worker Status' AS 'The following output is:'; SELECT Id, sys.format_path(Relay_log_name) AS Relay_log_name, Relay_log_pos, Master_log_name, Master_log_pos, sys.format_path(Checkpoint_relay_log_name) AS Checkpoint_relay_log_name, Checkpoint_relay_log_pos, Checkpoint_master_log_name, Checkpoint_master_log_pos, Checkpoint_seqno, Checkpoint_group_size, HEX(Checkpoint_group_bitmap) AS Checkpoint_group_bitmap/*!50706 , Channel_name*/ FROM mysql.slave_worker_info ORDER BY /*!50706 Channel_name, */Id; END IF; END IF; SET v_table_name = CONCAT('tmp_metrics_', v_output_count); CALL sys.execute_prepared_stmt(CONCAT('DROP TEMPORARY TABLE IF EXISTS ', v_table_name)); CALL sys.execute_prepared_stmt(CONCAT('CREATE TEMPORARY TABLE ', v_table_name, ' ( Variable_name VARCHAR(193) NOT NULL, Variable_value VARCHAR(1024), Type VARCHAR(225) NOT NULL, Enabled ENUM(''YES'', ''NO'', ''PARTIAL'') NOT NULL, PRIMARY KEY (Type, Variable_name) ) ENGINE = InnoDB DEFAULT CHARSET=utf8')); IF (v_has_metrics) THEN SET @sys.diagnostics.sql = CONCAT( 'INSERT INTO ', v_table_name, ' SELECT Variable_name, REPLACE(Variable_value, ''\n'', ''\\\\n'') AS Variable_value, Type, Enabled FROM sys.metrics' ); ELSE SET @sys.diagnostics.sql = CONCAT( 'INSERT INTO ', v_table_name, '(SELECT LOWER(VARIABLE_NAME) AS Variable_name, REPLACE(VARIABLE_VALUE, ''\n'', ''\\\\n'') AS Variable_value, ''Global Status'' AS Type, ''YES'' AS Enabled FROM performance_schema.global_status ) UNION ALL ( SELECT NAME AS Variable_name, COUNT AS Variable_value, CONCAT(''InnoDB Metrics - '', SUBSYSTEM) AS Type, IF(STATUS = ''enabled'', ''YES'', ''NO'') AS Enabled FROM information_schema.INNODB_METRICS WHERE NAME NOT IN ( ''lock_row_lock_time'', ''lock_row_lock_time_avg'', ''lock_row_lock_time_max'', ''lock_row_lock_waits'', ''buffer_pool_reads'', ''buffer_pool_read_requests'', ''buffer_pool_write_requests'', ''buffer_pool_wait_free'', ''buffer_pool_read_ahead'', ''buffer_pool_read_ahead_evicted'', ''buffer_pool_pages_total'', ''buffer_pool_pages_misc'', ''buffer_pool_pages_data'', ''buffer_pool_bytes_data'', ''buffer_pool_pages_dirty'', ''buffer_pool_bytes_dirty'', ''buffer_pool_pages_free'', ''buffer_pages_created'', ''buffer_pages_written'', ''buffer_pages_read'', ''buffer_data_reads'', ''buffer_data_written'', ''file_num_open_files'', ''os_log_bytes_written'', ''os_log_fsyncs'', ''os_log_pending_fsyncs'', ''os_log_pending_writes'', ''log_waits'', ''log_write_requests'', ''log_writes'', ''innodb_dblwr_writes'', ''innodb_dblwr_pages_written'', ''innodb_page_size'') ) UNION ALL ( SELECT ''NOW()'' AS Variable_name, NOW(3) AS Variable_value, ''System Time'' AS Type, ''YES'' AS Enabled ) UNION ALL ( SELECT ''UNIX_TIMESTAMP()'' AS Variable_name, ROUND(UNIX_TIMESTAMP(NOW(3)), 3) AS Variable_value, ''System Time'' AS Type, ''YES'' AS Enabled ) ORDER BY Type, Variable_name;' ); END IF; CALL sys.execute_prepared_stmt(@sys.diagnostics.sql); CALL sys.execute_prepared_stmt( CONCAT('(SELECT Variable_value INTO @sys.diagnostics.output_time FROM ', v_table_name, ' WHERE Type = ''System Time'' AND Variable_name = ''UNIX_TIMESTAMP()'')') ); SET v_output_time = @sys.diagnostics.output_time; SET v_sql_status_summary_select = CONCAT(v_sql_status_summary_select, ', CONCAT( LEFT(s', v_output_count, '.Variable_value, ', v_status_summary_width, '), IF(', REPLACE(v_no_delta_names, '%{COUNT}', v_output_count), ' AND s', v_output_count, '.Variable_value REGEXP ''^[0-9]+(\\\\.[0-9]+)?$'', CONCAT('' ('', ROUND(s', v_output_count, '.Variable_value/', v_output_time, ', 2), ''/sec)''), '''') ) AS ''Output ', v_output_count, ''''), v_sql_status_summary_from = CONCAT(v_sql_status_summary_from, ' ', IF(v_output_count = 1, ' FROM ', ' INNER JOIN '), v_table_name, ' s', v_output_count, IF (v_output_count = 1, '', ' USING (Type, Variable_name)')); IF (v_output_count > 1) THEN SET v_sql_status_summary_delta = CONCAT(v_sql_status_summary_delta, ', IF(', REPLACE(v_no_delta_names, '%{COUNT}', v_output_count), ' AND s', (v_output_count-1), '.Variable_value REGEXP ''^[0-9]+(\\\\.[0-9]+)?$'' AND s', v_output_count, '.Variable_value REGEXP ''^[0-9]+(\\\\.[0-9]+)?$'', CONCAT(IF(s', (v_output_count-1), '.Variable_value REGEXP ''^[0-9]+\\\\.[0-9]+$'' OR s', v_output_count, '.Variable_value REGEXP ''^[0-9]+\\\\.[0-9]+$'', ROUND((s', v_output_count, '.Variable_value-s', (v_output_count-1), '.Variable_value), 2), (s', v_output_count, '.Variable_value-s', (v_output_count-1), '.Variable_value) ), '' ('', ROUND((s', v_output_count, '.Variable_value-s', (v_output_count-1), '.Variable_value)/(', v_output_time, '-', v_output_time_prev, '), 2), ''/sec)'' ), '''' ) AS ''Delta (', (v_output_count-1), ' -> ', v_output_count, ')'''); END IF; SET v_output_time_prev = v_output_time; IF (@sys.diagnostics.include_raw = 'ON') THEN IF (v_has_metrics) THEN SELECT 'SELECT * FROM sys.metrics' AS 'The following output is:'; ELSE SELECT 'sys.metrics equivalent' AS 'The following output is:'; END IF; CALL sys.execute_prepared_stmt(CONCAT('SELECT Type, Variable_name, Enabled, Variable_value FROM ', v_table_name, ' ORDER BY Type, Variable_name')); END IF; IF (v_has_innodb IN ('DEFAULT', 'YES')) THEN SELECT 'SHOW ENGINE INNODB STATUS' AS 'The following output is:'; EXECUTE stmt_innodb_status; SELECT 'InnoDB - Transactions' AS 'The following output is:'; SELECT * FROM information_schema.INNODB_TRX; END IF; IF (v_has_ndb IN ('DEFAULT', 'YES')) THEN SELECT 'SHOW ENGINE NDBCLUSTER STATUS' AS 'The following output is:'; EXECUTE stmt_ndbcluster_status; SELECT 'ndbinfo.memoryusage' AS 'The following output is:'; SELECT node_id, memory_type, sys.format_bytes(used) AS used, used_pages, sys.format_bytes(total) AS total, total_pages, ROUND(100*(used/total), 2) AS 'Used %' FROM ndbinfo.memoryusage; SET v_done = FALSE; OPEN c_ndbinfo; c_ndbinfo_loop: LOOP FETCH c_ndbinfo INTO v_table_name; IF v_done THEN LEAVE c_ndbinfo_loop; END IF; SELECT CONCAT('SELECT * FROM ndbinfo.', v_table_name) AS 'The following output is:'; CALL sys.execute_prepared_stmt(CONCAT('SELECT * FROM `ndbinfo`.`', v_table_name, '`')); END LOOP; CLOSE c_ndbinfo; SELECT * FROM information_schema.FILES; END IF; SELECT 'SELECT * FROM sys.processlist' AS 'The following output is:'; SELECT processlist.* FROM sys.processlist; IF (v_has_ps = 'YES') THEN IF (sys.ps_is_consumer_enabled('events_waits_history_long') = 'YES') THEN SELECT 'SELECT * FROM sys.latest_file_io' AS 'The following output is:'; SELECT * FROM sys.latest_file_io; END IF; IF (EXISTS(SELECT 1 FROM performance_schema.setup_instruments WHERE NAME LIKE 'memory/%' AND ENABLED = 'YES')) THEN SELECT 'SELECT * FROM sys.memory_by_host_by_current_bytes' AS 'The following output is:'; SELECT * FROM sys.memory_by_host_by_current_bytes; SELECT 'SELECT * FROM sys.memory_by_thread_by_current_bytes' AS 'The following output is:'; SELECT * FROM sys.memory_by_thread_by_current_bytes; SELECT 'SELECT * FROM sys.memory_by_user_by_current_bytes' AS 'The following output is:'; SELECT * FROM sys.memory_by_user_by_current_bytes; SELECT 'SELECT * FROM sys.memory_global_by_current_bytes' AS 'The following output is:'; SELECT * FROM sys.memory_global_by_current_bytes; END IF; END IF; SET v_runtime = (UNIX_TIMESTAMP(NOW(2)) - v_start); UNTIL (v_runtime + in_interval >= in_max_runtime) END REPEAT; IF (v_has_ps = 'YES') THEN SELECT 'SHOW ENGINE PERFORMANCE_SCHEMA STATUS' AS 'The following output is:'; EXECUTE stmt_ps_status; END IF; IF (v_has_innodb IN ('DEFAULT', 'YES')) THEN DEALLOCATE PREPARE stmt_innodb_status; END IF; IF (v_has_ps = 'YES') THEN DEALLOCATE PREPARE stmt_ps_status; END IF; IF (v_has_ndb IN ('DEFAULT', 'YES')) THEN DEALLOCATE PREPARE stmt_ndbcluster_status; END IF; SELECT ' ============================ Schema Information ============================ ' AS ''; SELECT COUNT(*) AS 'Total Number of Tables' FROM information_schema.TABLES; IF (@sys.diagnostics.allow_i_s_tables = 'ON') THEN SELECT 'Storage Engine Usage' AS 'The following output is:'; SELECT ENGINE, COUNT(*) AS NUM_TABLES, sys.format_bytes(SUM(DATA_LENGTH)) AS DATA_LENGTH, sys.format_bytes(SUM(INDEX_LENGTH)) AS INDEX_LENGTH, sys.format_bytes(SUM(DATA_LENGTH+INDEX_LENGTH)) AS TOTAL FROM information_schema.TABLES GROUP BY ENGINE; SELECT 'Schema Object Overview' AS 'The following output is:'; SELECT * FROM sys.schema_object_overview; SELECT 'Tables without a PRIMARY KEY' AS 'The following output is:'; SELECT TABLES.TABLE_SCHEMA, ENGINE, COUNT(*) AS NumTables FROM information_schema.TABLES LEFT OUTER JOIN information_schema.STATISTICS ON STATISTICS.TABLE_SCHEMA = TABLES.TABLE_SCHEMA AND STATISTICS.TABLE_NAME = TABLES.TABLE_NAME AND STATISTICS.INDEX_NAME = 'PRIMARY' WHERE STATISTICS.TABLE_NAME IS NULL AND TABLES.TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys') AND TABLES.TABLE_TYPE = 'BASE TABLE' GROUP BY TABLES.TABLE_SCHEMA, ENGINE; END IF; IF (v_has_ps = 'YES') THEN SELECT 'Unused Indexes' AS 'The following output is:'; SELECT object_schema, COUNT(*) AS NumUnusedIndexes FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL AND count_star = 0 AND object_schema NOT IN ('mysql', 'sys') AND index_name != 'PRIMARY' GROUP BY object_schema; END IF; IF (v_has_ps = 'YES') THEN SELECT ' ========================= Overall Status ========================= ' AS ''; SELECT 'CALL sys.ps_statement_avg_latency_histogram()' AS 'The following output is:'; CALL sys.ps_statement_avg_latency_histogram(); CALL sys.statement_performance_analyzer('snapshot', NULL, NULL); CALL sys.statement_performance_analyzer('overall', NULL, 'with_runtimes_in_95th_percentile'); SET @sys.diagnostics.sql = REPLACE(@sys.diagnostics.sql_gen_query_template, '%{OUTPUT}', 'end'); IF (@sys.debug = 'ON') THEN SELECT 'The following query will be used to generate the query for each sys view' AS 'Debug'; SELECT @sys.diagnostics.sql AS 'Debug'; END IF; PREPARE stmt_gen_query FROM @sys.diagnostics.sql; SET v_done = FALSE; OPEN c_sysviews_w_delta; c_sysviews_w_delta_loop: LOOP FETCH c_sysviews_w_delta INTO v_table_name; IF v_done THEN LEAVE c_sysviews_w_delta_loop; END IF; IF (@sys.debug = 'ON') THEN SELECT CONCAT('The following queries are for storing the final content of ', v_table_name) AS 'Debug'; END IF; CALL sys.execute_prepared_stmt(CONCAT('DROP TEMPORARY TABLE IF EXISTS `tmp_', v_table_name, '_end`')); CALL sys.execute_prepared_stmt(CONCAT('CREATE TEMPORARY TABLE `tmp_', v_table_name, '_end` SELECT * FROM `sys`.`x$', v_table_name, '`')); IF (@sys.diagnostics.include_raw = 'ON') THEN SET @sys.diagnostics.table_name = CONCAT('x$', v_table_name); EXECUTE stmt_gen_query USING @sys.diagnostics.table_name; SELECT CONCAT(@sys.diagnostics.sql_select, IF(order_by IS NOT NULL, CONCAT('\n ORDER BY ', REPLACE(order_by, '%{TABLE}', CONCAT('tmp_', v_table_name, '_end'))), ''), IF(limit_rows IS NOT NULL, CONCAT('\n LIMIT ', limit_rows), '') ) INTO @sys.diagnostics.sql_select FROM tmp_sys_views_delta WHERE TABLE_NAME = v_table_name; SELECT CONCAT('Overall ', v_table_name) AS 'The following output is:'; CALL sys.execute_prepared_stmt(@sys.diagnostics.sql_select); END IF; END LOOP; CLOSE c_sysviews_w_delta; DEALLOCATE PREPARE stmt_gen_query; SELECT ' ====================== Delta Status ====================== ' AS ''; CALL sys.statement_performance_analyzer('delta', 'tmp_digests_start', 'with_runtimes_in_95th_percentile'); CALL sys.statement_performance_analyzer('cleanup', NULL, NULL); DROP TEMPORARY TABLE tmp_digests_start; IF (@sys.debug = 'ON') THEN SELECT 'The following query will be used to generate the query for each sys view delta' AS 'Debug'; SELECT @sys.diagnostics.sql_gen_query_delta AS 'Debug'; END IF; PREPARE stmt_gen_query_delta FROM @sys.diagnostics.sql_gen_query_delta; SET v_old_group_concat_max_len = @@session.group_concat_max_len; SET @@session.group_concat_max_len = 2048; SET v_done = FALSE; OPEN c_sysviews_w_delta; c_sysviews_w_delta_loop: LOOP FETCH c_sysviews_w_delta INTO v_table_name; IF v_done THEN LEAVE c_sysviews_w_delta_loop; END IF; SET @sys.diagnostics.table_name = v_table_name; EXECUTE stmt_gen_query_delta USING @sys.diagnostics.table_name; SELECT CONCAT(@sys.diagnostics.sql_select, IF(where_delta IS NOT NULL, CONCAT('\n WHERE ', where_delta), ''), IF(order_by_delta IS NOT NULL, CONCAT('\n ORDER BY ', order_by_delta), ''), IF(limit_rows IS NOT NULL, CONCAT('\n LIMIT ', limit_rows), '') ) INTO @sys.diagnostics.sql_select FROM tmp_sys_views_delta WHERE TABLE_NAME = v_table_name; SELECT CONCAT('Delta ', v_table_name) AS 'The following output is:'; CALL sys.execute_prepared_stmt(@sys.diagnostics.sql_select); CALL sys.execute_prepared_stmt(CONCAT('DROP TEMPORARY TABLE `tmp_', v_table_name, '_end`')); CALL sys.execute_prepared_stmt(CONCAT('DROP TEMPORARY TABLE `tmp_', v_table_name, '_start`')); END LOOP; CLOSE c_sysviews_w_delta; SET @@session.group_concat_max_len = v_old_group_concat_max_len; DEALLOCATE PREPARE stmt_gen_query_delta; DROP TEMPORARY TABLE tmp_sys_views_delta; END IF; IF (v_has_metrics) THEN SELECT 'SELECT * FROM sys.metrics' AS 'The following output is:'; ELSE SELECT 'sys.metrics equivalent' AS 'The following output is:'; END IF; CALL sys.execute_prepared_stmt( CONCAT(v_sql_status_summary_select, v_sql_status_summary_delta, ', Type, s1.Enabled', v_sql_status_summary_from, ' ORDER BY Type, Variable_name' ) ); SET v_count = 0; WHILE (v_count < v_output_count) DO SET v_count = v_count + 1; SET v_table_name = CONCAT('tmp_metrics_', v_count); CALL sys.execute_prepared_stmt(CONCAT('DROP TEMPORARY TABLE IF EXISTS ', v_table_name)); END WHILE; IF (in_auto_config <> 'current') THEN CALL sys.ps_setup_reload_saved(); SET sql_log_bin = @log_bin; END IF; SET @sys.diagnostics.output_time = NULL, @sys.diagnostics.sql = NULL, @sys.diagnostics.sql_gen_query_delta = NULL, @sys.diagnostics.sql_gen_query_template = NULL, @sys.diagnostics.sql_select = NULL, @sys.diagnostics.table_name = NULL; IF (v_this_thread_enabled = 'YES') THEN CALL sys.ps_setup_enable_thread(CONNECTION_ID()); END IF; IF (@log_bin = 1) THEN SET sql_log_bin = @log_bin; END IF; END; DROP PROCEDURE IF EXISTS ps_statement_avg_latency_histogram; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_statement_avg_latency_histogram () COMMENT '\n Description\n \n Outputs a textual histogram graph of the average latency values\n across all normalized queries tracked within the Performance Schema\n events_statements_summary_by_digest table.\n \n Can be used to show a very high level picture of what kind of \n latency distribution statements running within this instance have.\n \n Parameters\n \n None.\n \n Example\n \n mysql> CALL sys.ps_statement_avg_latency_histogram()\\G\n *************************** 1. row ***************************\n Performance Schema Statement Digest Average Latency Histogram:\n \n . = 1 unit\n * = 2 units\n # = 3 units\n \n (0 - 38ms) 240 | ################################################################################\n (38 - 77ms) 38 | ......................................\n (77 - 115ms) 3 | ...\n (115 - 154ms) 62 | *******************************\n (154 - 192ms) 3 | ...\n (192 - 231ms) 0 |\n (231 - 269ms) 0 |\n (269 - 307ms) 0 |\n (307 - 346ms) 0 |\n (346 - 384ms) 1 | .\n (384 - 423ms) 1 | .\n (423 - 461ms) 0 |\n (461 - 499ms) 0 |\n (499 - 538ms) 0 |\n (538 - 576ms) 0 |\n (576 - 615ms) 1 | .\n \n Total Statements: 350; Buckets: 16; Bucket Size: 38 ms;\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN SELECT CONCAT('\n', '\n . = 1 unit', '\n * = 2 units', '\n # = 3 units\n', @label := CONCAT(@label_inner := CONCAT('\n(0 - ', ROUND((@bucket_size := (SELECT ROUND((MAX(avg_us) - MIN(avg_us)) / (@buckets := 16)) AS size FROM sys.x$ps_digest_avg_latency_distribution)) / (@unit_div := 1000)), (@unit := 'ms'), ')'), REPEAT(' ', (@max_label_size := ((1 + LENGTH(ROUND((@bucket_size * 15) / @unit_div)) + 3 + LENGTH(ROUND(@bucket_size * 16) / @unit_div)) + 1)) - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us <= @bucket_size), 0)), REPEAT(' ', (@max_label_len := (@max_label_size + LENGTH((@total_queries := (SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution)))) + 1) - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < (@one_unit := 40), '.', IF(@count_in_bucket < (@two_unit := 80), '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND(@bucket_size / @unit_div), ' - ', ROUND((@bucket_size * 2) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size AND b1.avg_us <= @bucket_size * 2), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 2) / @unit_div), ' - ', ROUND((@bucket_size * 3) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 2 AND b1.avg_us <= @bucket_size * 3), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 3) / @unit_div), ' - ', ROUND((@bucket_size * 4) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 3 AND b1.avg_us <= @bucket_size * 4), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 4) / @unit_div), ' - ', ROUND((@bucket_size * 5) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 4 AND b1.avg_us <= @bucket_size * 5), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 5) / @unit_div), ' - ', ROUND((@bucket_size * 6) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 5 AND b1.avg_us <= @bucket_size * 6), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 6) / @unit_div), ' - ', ROUND((@bucket_size * 7) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 6 AND b1.avg_us <= @bucket_size * 7), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 7) / @unit_div), ' - ', ROUND((@bucket_size * 8) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 7 AND b1.avg_us <= @bucket_size * 8), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 8) / @unit_div), ' - ', ROUND((@bucket_size * 9) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 8 AND b1.avg_us <= @bucket_size * 9), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 9) / @unit_div), ' - ', ROUND((@bucket_size * 10) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 9 AND b1.avg_us <= @bucket_size * 10), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 10) / @unit_div), ' - ', ROUND((@bucket_size * 11) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 10 AND b1.avg_us <= @bucket_size * 11), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 11) / @unit_div), ' - ', ROUND((@bucket_size * 12) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 11 AND b1.avg_us <= @bucket_size * 12), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 12) / @unit_div), ' - ', ROUND((@bucket_size * 13) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 12 AND b1.avg_us <= @bucket_size * 13), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 13) / @unit_div), ' - ', ROUND((@bucket_size * 14) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 13 AND b1.avg_us <= @bucket_size * 14), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 14) / @unit_div), ' - ', ROUND((@bucket_size * 15) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 14 AND b1.avg_us <= @bucket_size * 15), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), @label := CONCAT(@label_inner := CONCAT('\n(', ROUND((@bucket_size * 15) / @unit_div), ' - ', ROUND((@bucket_size * 16) / @unit_div), @unit, ')'), REPEAT(' ', @max_label_size - LENGTH(@label_inner)), @count_in_bucket := IFNULL((SELECT SUM(cnt) FROM sys.x$ps_digest_avg_latency_distribution AS b1 WHERE b1.avg_us > @bucket_size * 15 AND b1.avg_us <= @bucket_size * 16), 0)), REPEAT(' ', @max_label_len - LENGTH(@label)), '| ', IFNULL(REPEAT(IF(@count_in_bucket < @one_unit, '.', IF(@count_in_bucket < @two_unit, '*', '#')), IF(@count_in_bucket < @one_unit, @count_in_bucket, IF(@count_in_bucket < @two_unit, @count_in_bucket / 2, @count_in_bucket / 3))), ''), '\n\n Total Statements: ', @total_queries, '; Buckets: ', @buckets , '; Bucket Size: ', ROUND(@bucket_size / @unit_div) , ' ', @unit, ';\n' ) AS `Performance Schema Statement Digest Average Latency Histogram`; END ; DROP PROCEDURE IF EXISTS ps_trace_statement_digest; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_trace_statement_digest ( IN in_digest VARCHAR(32), IN in_runtime INT, IN in_interval DECIMAL(2,2), IN in_start_fresh BOOLEAN, IN in_auto_enable BOOLEAN ) COMMENT '\n Description\n \n Traces all instrumentation within Performance Schema for a specific\n Statement Digest. \n \n When finding a statement of interest within the \n performance_schema.events_statements_summary_by_digest table, feed\n the DIGEST MD5 value in to this procedure, set how long to poll for, \n and at what interval to poll, and it will generate a report of all \n statistics tracked within Performance Schema for that digest for the\n interval.\n \n It will also attempt to generate an EXPLAIN for the longest running \n example of the digest during the interval. Note this may fail, as:\n \n * Performance Schema truncates long SQL_TEXT values (and hence the \n EXPLAIN will fail due to parse errors)\n * the default schema is sys (so tables that are not fully qualified\n in the query may not be found)\n * some queries such as SHOW are not supported in EXPLAIN.\n \n When the EXPLAIN fails, the error will be ignored and no EXPLAIN\n output generated.\n \n Requires the SUPER privilege for "SET sql_log_bin = 0;".\n \n Parameters\n \n in_digest (VARCHAR(32)):\n The statement digest identifier you would like to analyze\n in_runtime (INT):\n The number of seconds to run analysis for\n in_interval (DECIMAL(2,2)):\n The interval (in seconds, may be fractional) at which to try\n and take snapshots\n in_start_fresh (BOOLEAN):\n Whether to TRUNCATE the events_statements_history_long and\n events_stages_history_long tables before starting\n in_auto_enable (BOOLEAN):\n Whether to automatically turn on required consumers\n \n Example\n \n mysql> call ps_trace_statement_digest(\'891ec6860f98ba46d89dd20b0c03652c\', 10, 0.1, true, true);\n +--------------------+\n | SUMMARY STATISTICS |\n +--------------------+\n | SUMMARY STATISTICS |\n +--------------------+\n 1 row in set (9.11 sec)\n \n +------------+-----------+-----------+-----------+---------------+------------+------------+\n | executions | exec_time | lock_time | rows_sent | rows_examined | tmp_tables | full_scans |\n +------------+-----------+-----------+-----------+---------------+------------+------------+\n | 21 | 4.11 ms | 2.00 ms | 0 | 21 | 0 | 0 |\n +------------+-----------+-----------+-----------+---------------+------------+------------+\n 1 row in set (9.11 sec)\n \n +------------------------------------------+-------+-----------+\n | event_name | count | latency |\n +------------------------------------------+-------+-----------+\n | stage/sql/checking query cache for query | 16 | 724.37 us |\n | stage/sql/statistics | 16 | 546.92 us |\n | stage/sql/freeing items | 18 | 520.11 us |\n | stage/sql/init | 51 | 466.80 us |\n ...\n | stage/sql/cleaning up | 18 | 11.92 us |\n | stage/sql/executing | 16 | 6.95 us |\n +------------------------------------------+-------+-----------+\n 17 rows in set (9.12 sec)\n \n +---------------------------+\n | LONGEST RUNNING STATEMENT |\n +---------------------------+\n | LONGEST RUNNING STATEMENT |\n +---------------------------+\n 1 row in set (9.16 sec)\n \n +-----------+-----------+-----------+-----------+---------------+------------+-----------+\n | thread_id | exec_time | lock_time | rows_sent | rows_examined | tmp_tables | full_scan |\n +-----------+-----------+-----------+-----------+---------------+------------+-----------+\n | 166646 | 618.43 us | 1.00 ms | 0 | 1 | 0 | 0 |\n +-----------+-----------+-----------+-----------+---------------+------------+-----------+\n 1 row in set (9.16 sec)\n \n // Truncated for clarity...\n +-----------------------------------------------------------------+\n | sql_text |\n +-----------------------------------------------------------------+\n | select hibeventhe0_.id as id1382_, hibeventhe0_.createdTime ... |\n +-----------------------------------------------------------------+\n 1 row in set (9.17 sec)\n \n +------------------------------------------+-----------+\n | event_name | latency |\n +------------------------------------------+-----------+\n | stage/sql/init | 8.61 us |\n | stage/sql/Waiting for query cache lock | 453.23 us |\n | stage/sql/init | 331.07 ns |\n | stage/sql/checking query cache for query | 43.04 us |\n ...\n | stage/sql/freeing items | 30.46 us |\n | stage/sql/cleaning up | 662.13 ns |\n +------------------------------------------+-----------+\n 18 rows in set (9.23 sec)\n \n +----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+\n | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |\n +----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+\n | 1 | SIMPLE | hibeventhe0_ | const | fixedTime | fixedTime | 775 | const,const | 1 | NULL |\n +----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+\n 1 row in set (9.27 sec)\n \n Query OK, 0 rows affected (9.28 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN DECLARE v_start_fresh BOOLEAN DEFAULT false; DECLARE v_auto_enable BOOLEAN DEFAULT false; DECLARE v_explain BOOLEAN DEFAULT true; DECLARE v_this_thread_enabed ENUM('YES', 'NO'); DECLARE v_runtime INT DEFAULT 0; DECLARE v_start INT DEFAULT 0; DECLARE v_found_stmts INT; SET @log_bin := @@sql_log_bin; SET sql_log_bin = 0; SELECT INSTRUMENTED INTO v_this_thread_enabed FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID(); CALL sys.ps_setup_disable_thread(CONNECTION_ID()); DROP TEMPORARY TABLE IF EXISTS stmt_trace; CREATE TEMPORARY TABLE stmt_trace ( thread_id BIGINT UNSIGNED, timer_start BIGINT UNSIGNED, event_id BIGINT UNSIGNED, sql_text longtext, timer_wait BIGINT UNSIGNED, lock_time BIGINT UNSIGNED, errors BIGINT UNSIGNED, mysql_errno INT, rows_sent BIGINT UNSIGNED, rows_affected BIGINT UNSIGNED, rows_examined BIGINT UNSIGNED, created_tmp_tables BIGINT UNSIGNED, created_tmp_disk_tables BIGINT UNSIGNED, no_index_used BIGINT UNSIGNED, PRIMARY KEY (thread_id, timer_start) ); DROP TEMPORARY TABLE IF EXISTS stmt_stages; CREATE TEMPORARY TABLE stmt_stages ( event_id BIGINT UNSIGNED, stmt_id BIGINT UNSIGNED, event_name VARCHAR(128), timer_wait BIGINT UNSIGNED, PRIMARY KEY (event_id) ); SET v_start_fresh = in_start_fresh; IF v_start_fresh THEN TRUNCATE TABLE performance_schema.events_statements_history_long; TRUNCATE TABLE performance_schema.events_stages_history_long; END IF; SET v_auto_enable = in_auto_enable; IF v_auto_enable THEN CALL sys.ps_setup_save(0); UPDATE performance_schema.threads SET INSTRUMENTED = IF(PROCESSLIST_ID IS NOT NULL, 'YES', 'NO'); UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME NOT LIKE '%\_history' AND NAME NOT LIKE 'events_wait%' AND NAME NOT LIKE 'events_transactions%' AND NAME <> 'statements_digest'; UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'statement/%' OR NAME LIKE 'stage/%'; END IF; WHILE v_runtime < in_runtime DO SELECT UNIX_TIMESTAMP() INTO v_start; INSERT IGNORE INTO stmt_trace SELECT thread_id, timer_start, event_id, sql_text, timer_wait, lock_time, errors, mysql_errno, rows_sent, rows_affected, rows_examined, created_tmp_tables, created_tmp_disk_tables, no_index_used FROM performance_schema.events_statements_history_long WHERE digest = in_digest; INSERT IGNORE INTO stmt_stages SELECT stages.event_id, stmt_trace.event_id, stages.event_name, stages.timer_wait FROM performance_schema.events_stages_history_long AS stages JOIN stmt_trace ON stages.nesting_event_id = stmt_trace.event_id; SELECT SLEEP(in_interval) INTO @sleep; SET v_runtime = v_runtime + (UNIX_TIMESTAMP() - v_start); END WHILE; SELECT "SUMMARY STATISTICS"; SELECT COUNT(*) executions, sys.format_time(SUM(timer_wait)) AS exec_time, sys.format_time(SUM(lock_time)) AS lock_time, SUM(rows_sent) AS rows_sent, SUM(rows_affected) AS rows_affected, SUM(rows_examined) AS rows_examined, SUM(created_tmp_tables) AS tmp_tables, SUM(no_index_used) AS full_scans FROM stmt_trace; SELECT event_name, COUNT(*) as count, sys.format_time(SUM(timer_wait)) as latency FROM stmt_stages GROUP BY event_name ORDER BY SUM(timer_wait) DESC; SELECT "LONGEST RUNNING STATEMENT"; SELECT thread_id, sys.format_time(timer_wait) AS exec_time, sys.format_time(lock_time) AS lock_time, rows_sent, rows_affected, rows_examined, created_tmp_tables AS tmp_tables, no_index_used AS full_scan FROM stmt_trace ORDER BY timer_wait DESC LIMIT 1; SELECT sql_text FROM stmt_trace ORDER BY timer_wait DESC LIMIT 1; SELECT sql_text, event_id INTO @sql, @sql_id FROM stmt_trace ORDER BY timer_wait DESC LIMIT 1; IF (@sql_id IS NOT NULL) THEN SELECT event_name, sys.format_time(timer_wait) as latency FROM stmt_stages WHERE stmt_id = @sql_id ORDER BY event_id; END IF; DROP TEMPORARY TABLE stmt_trace; DROP TEMPORARY TABLE stmt_stages; IF (@sql IS NOT NULL) THEN SET @stmt := CONCAT("EXPLAIN FORMAT=JSON ", @sql); BEGIN DECLARE CONTINUE HANDLER FOR 1064, 1146 SET v_explain = false; PREPARE explain_stmt FROM @stmt; END; IF (v_explain) THEN EXECUTE explain_stmt; DEALLOCATE PREPARE explain_stmt; END IF; END IF; IF v_auto_enable THEN CALL sys.ps_setup_reload_saved(); END IF; IF (v_this_thread_enabed = 'YES') THEN CALL sys.ps_setup_enable_thread(CONNECTION_ID()); END IF; SET sql_log_bin = @log_bin; END; DROP PROCEDURE IF EXISTS ps_trace_thread; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_trace_thread ( IN in_thread_id BIGINT UNSIGNED, IN in_outfile VARCHAR(255), IN in_max_runtime DECIMAL(20,2), IN in_interval DECIMAL(20,2), IN in_start_fresh BOOLEAN, IN in_auto_setup BOOLEAN, IN in_debug BOOLEAN ) COMMENT '\n Description\n \n Dumps all data within Performance Schema for an instrumented thread,\n to create a DOT formatted graph file. \n \n Each resultset returned from the procedure should be used for a complete graph\n \n Requires the SUPER privilege for "SET sql_log_bin = 0;".\n \n Parameters\n \n in_thread_id (BIGINT UNSIGNED):\n The thread that you would like a stack trace for\n in_outfile (VARCHAR(255)):\n The filename the dot file will be written to\n in_max_runtime (DECIMAL(20,2)):\n The maximum time to keep collecting data.\n Use NULL to get the default which is 60 seconds.\n in_interval (DECIMAL(20,2)): \n How long to sleep between data collections. \n Use NULL to get the default which is 1 second.\n in_start_fresh (BOOLEAN):\n Whether to reset all Performance Schema data before tracing.\n in_auto_setup (BOOLEAN):\n Whether to disable all other threads and enable all consumers/instruments. \n This will also reset the settings at the end of the run.\n in_debug (BOOLEAN):\n Whether you would like to include file:lineno in the graph\n \n Example\n \n mysql> CALL sys.ps_trace_thread(25, CONCAT(\'/tmp/stack-\', REPLACE(NOW(), \' \', \'-\'), \'.dot\'), NULL, NULL, TRUE, TRUE, TRUE);\n +-------------------+\n | summary |\n +-------------------+\n | Disabled 1 thread |\n +-------------------+\n 1 row in set (0.00 sec)\n \n +---------------------------------------------+\n | Info |\n +---------------------------------------------+\n | Data collection starting for THREAD_ID = 25 |\n +---------------------------------------------+\n 1 row in set (0.03 sec)\n \n +-----------------------------------------------------------+\n | Info |\n +-----------------------------------------------------------+\n | Stack trace written to /tmp/stack-2014-02-16-21:18:41.dot |\n +-----------------------------------------------------------+\n 1 row in set (60.07 sec)\n \n +-------------------------------------------------------------------+\n | Convert to PDF |\n +-------------------------------------------------------------------+\n | dot -Tpdf -o /tmp/stack_25.pdf /tmp/stack-2014-02-16-21:18:41.dot |\n +-------------------------------------------------------------------+\n 1 row in set (60.07 sec)\n \n +-------------------------------------------------------------------+\n | Convert to PNG |\n +-------------------------------------------------------------------+\n | dot -Tpng -o /tmp/stack_25.png /tmp/stack-2014-02-16-21:18:41.dot |\n +-------------------------------------------------------------------+\n 1 row in set (60.07 sec)\n \n +------------------+\n | summary |\n +------------------+\n | Enabled 1 thread |\n +------------------+\n 1 row in set (60.32 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN DECLARE v_done bool DEFAULT FALSE; DECLARE v_start, v_runtime DECIMAL(20,2) DEFAULT 0.0; DECLARE v_min_event_id bigint unsigned DEFAULT 0; DECLARE v_this_thread_enabed ENUM('YES', 'NO'); DECLARE v_event longtext; DECLARE c_stack CURSOR FOR SELECT CONCAT(IF(nesting_event_id IS NOT NULL, CONCAT(nesting_event_id, ' -> '), ''), event_id, '; ', event_id, ' [label="', '(', sys.format_time(timer_wait), ') ', IF (event_name NOT LIKE 'wait/io%', SUBSTRING_INDEX(event_name, '/', -2), IF (event_name NOT LIKE 'wait/io/file%' OR event_name NOT LIKE 'wait/io/socket%', SUBSTRING_INDEX(event_name, '/', -4), event_name) ), IF (event_name LIKE 'transaction', IFNULL(CONCAT('\\n', wait_info), ''), ''), IF (event_name LIKE 'statement/%', IFNULL(CONCAT('\\n', wait_info), ''), ''), IF (in_debug AND event_name LIKE 'wait%', wait_info, ''), '", ', CASE WHEN event_name LIKE 'wait/io/file%' THEN 'shape=box, style=filled, color=red' WHEN event_name LIKE 'wait/io/table%' THEN 'shape=box, style=filled, color=green' WHEN event_name LIKE 'wait/io/socket%' THEN 'shape=box, style=filled, color=yellow' WHEN event_name LIKE 'wait/synch/mutex%' THEN 'style=filled, color=lightskyblue' WHEN event_name LIKE 'wait/synch/cond%' THEN 'style=filled, color=darkseagreen3' WHEN event_name LIKE 'wait/synch/rwlock%' THEN 'style=filled, color=orchid' WHEN event_name LIKE 'wait/synch/sxlock%' THEN 'style=filled, color=palevioletred' WHEN event_name LIKE 'wait/lock%' THEN 'shape=box, style=filled, color=tan' WHEN event_name LIKE 'statement/%' THEN CONCAT('shape=box, style=bold', CASE WHEN event_name LIKE 'statement/com/%' THEN ' style=filled, color=darkseagreen' ELSE IF((timer_wait/1000000000000) > @@long_query_time, ' style=filled, color=red', ' style=filled, color=lightblue') END ) WHEN event_name LIKE 'transaction' THEN 'shape=box, style=filled, color=lightblue3' WHEN event_name LIKE 'stage/%' THEN 'style=filled, color=slategray3' WHEN event_name LIKE '%idle%' THEN 'shape=box, style=filled, color=firebrick3' ELSE '' END, '];\n' ) event, event_id FROM ( (SELECT thread_id, event_id, event_name, timer_wait, timer_start, nesting_event_id, CONCAT('trx_id: ', IFNULL(trx_id, ''), '\\n', 'gtid: ', IFNULL(gtid, ''), '\\n', 'state: ', state, '\\n', 'mode: ', access_mode, '\\n', 'isolation: ', isolation_level, '\\n', 'autocommit: ', autocommit, '\\n', 'savepoints: ', number_of_savepoints, '\\n' ) AS wait_info FROM performance_schema.events_transactions_history_long WHERE thread_id = in_thread_id AND event_id > v_min_event_id) UNION (SELECT thread_id, event_id, event_name, timer_wait, timer_start, nesting_event_id, CONCAT('statement: ', sql_text, '\\n', 'errors: ', errors, '\\n', 'warnings: ', warnings, '\\n', 'lock time: ', sys.format_time(lock_time),'\\n', 'rows affected: ', rows_affected, '\\n', 'rows sent: ', rows_sent, '\\n', 'rows examined: ', rows_examined, '\\n', 'tmp tables: ', created_tmp_tables, '\\n', 'tmp disk tables: ', created_tmp_disk_tables, '\\n' 'select scan: ', select_scan, '\\n', 'select full join: ', select_full_join, '\\n', 'select full range join: ', select_full_range_join, '\\n', 'select range: ', select_range, '\\n', 'select range check: ', select_range_check, '\\n', 'sort merge passes: ', sort_merge_passes, '\\n', 'sort rows: ', sort_rows, '\\n', 'sort range: ', sort_range, '\\n', 'sort scan: ', sort_scan, '\\n', 'no index used: ', IF(no_index_used, 'TRUE', 'FALSE'), '\\n', 'no good index used: ', IF(no_good_index_used, 'TRUE', 'FALSE'), '\\n' ) AS wait_info FROM performance_schema.events_statements_history_long WHERE thread_id = in_thread_id AND event_id > v_min_event_id) UNION (SELECT thread_id, event_id, event_name, timer_wait, timer_start, nesting_event_id, null AS wait_info FROM performance_schema.events_stages_history_long WHERE thread_id = in_thread_id AND event_id > v_min_event_id) UNION (SELECT thread_id, event_id, CONCAT(event_name, IF(event_name NOT LIKE 'wait/synch/mutex%', IFNULL(CONCAT(' - ', operation), ''), ''), IF(number_of_bytes IS NOT NULL, CONCAT(' ', number_of_bytes, ' bytes'), ''), IF(event_name LIKE 'wait/io/file%', '\\n', ''), IF(object_schema IS NOT NULL, CONCAT('\\nObject: ', object_schema, '.'), ''), IF(object_name IS NOT NULL, IF (event_name LIKE 'wait/io/socket%', CONCAT('\\n', IF (object_name LIKE ':0%', @@socket, object_name)), object_name), '' ), IF(index_name IS NOT NULL, CONCAT(' Index: ', index_name), ''), '\\n' ) AS event_name, timer_wait, timer_start, nesting_event_id, source AS wait_info FROM performance_schema.events_waits_history_long WHERE thread_id = in_thread_id AND event_id > v_min_event_id) ) events ORDER BY event_id; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; SET @log_bin := @@sql_log_bin; SET sql_log_bin = 0; SELECT INSTRUMENTED INTO v_this_thread_enabed FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID(); CALL sys.ps_setup_disable_thread(CONNECTION_ID()); IF (in_auto_setup) THEN CALL sys.ps_setup_save(0); DELETE FROM performance_schema.setup_actors; UPDATE performance_schema.threads SET INSTRUMENTED = IF(THREAD_ID = in_thread_id, 'YES', 'NO'); UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME NOT LIKE '%\_history'; UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES'; END IF; IF (in_start_fresh) THEN TRUNCATE performance_schema.events_transactions_history_long; TRUNCATE performance_schema.events_statements_history_long; TRUNCATE performance_schema.events_stages_history_long; TRUNCATE performance_schema.events_waits_history_long; END IF; DROP TEMPORARY TABLE IF EXISTS tmp_events; CREATE TEMPORARY TABLE tmp_events ( event_id bigint unsigned NOT NULL, event longblob, PRIMARY KEY (event_id) ); INSERT INTO tmp_events VALUES (0, CONCAT('digraph events { rankdir=LR; nodesep=0.10;\n', '// Stack created .....: ', NOW(), '\n', '// MySQL version .....: ', VERSION(), '\n', '// MySQL hostname ....: ', @@hostname, '\n', '// MySQL port ........: ', @@port, '\n', '// MySQL socket ......: ', @@socket, '\n', '// MySQL user ........: ', CURRENT_USER(), '\n')); SELECT CONCAT('Data collection starting for THREAD_ID = ', in_thread_id) AS 'Info'; SET v_min_event_id = 0, v_start = UNIX_TIMESTAMP(), in_interval = IFNULL(in_interval, 1.00), in_max_runtime = IFNULL(in_max_runtime, 60.00); WHILE (v_runtime < in_max_runtime AND (SELECT INSTRUMENTED FROM performance_schema.threads WHERE THREAD_ID = in_thread_id) = 'YES') DO SET v_done = FALSE; OPEN c_stack; c_stack_loop: LOOP FETCH c_stack INTO v_event, v_min_event_id; IF v_done THEN LEAVE c_stack_loop; END IF; IF (LENGTH(v_event) > 0) THEN INSERT INTO tmp_events VALUES (v_min_event_id, v_event); END IF; END LOOP; CLOSE c_stack; SELECT SLEEP(in_interval) INTO @sleep; SET v_runtime = (UNIX_TIMESTAMP() - v_start); END WHILE; INSERT INTO tmp_events VALUES (v_min_event_id+1, '}'); SET @query = CONCAT('SELECT event FROM tmp_events ORDER BY event_id INTO OUTFILE ''', in_outfile, ''' FIELDS ESCAPED BY '''' LINES TERMINATED BY '''''); PREPARE stmt_output FROM @query; EXECUTE stmt_output; DEALLOCATE PREPARE stmt_output; SELECT CONCAT('Stack trace written to ', in_outfile) AS 'Info'; SELECT CONCAT('dot -Tpdf -o /tmp/stack_', in_thread_id, '.pdf ', in_outfile) AS 'Convert to PDF'; SELECT CONCAT('dot -Tpng -o /tmp/stack_', in_thread_id, '.png ', in_outfile) AS 'Convert to PNG'; DROP TEMPORARY TABLE tmp_events; IF (in_auto_setup) THEN CALL sys.ps_setup_reload_saved(); END IF; IF (v_this_thread_enabed = 'YES') THEN CALL sys.ps_setup_enable_thread(CONNECTION_ID()); END IF; SET sql_log_bin = @log_bin; END; DROP PROCEDURE IF EXISTS ps_setup_disable_background_threads; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_disable_background_threads () COMMENT '\n Description\n \n Disable all background thread instrumentation within Performance Schema.\n \n Parameters\n \n None.\n \n Example\n \n mysql> CALL sys.ps_setup_disable_background_threads();\n +--------------------------------+\n | summary |\n +--------------------------------+\n | Disabled 18 background threads |\n +--------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.threads SET instrumented = 'NO' WHERE type = 'BACKGROUND'; SELECT CONCAT('Disabled ', @rows := ROW_COUNT(), ' background thread', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_disable_consumer; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_disable_consumer ( IN consumer VARCHAR(128) ) COMMENT '\n Description\n \n Disables consumers within Performance Schema \n matching the input pattern.\n \n Parameters\n \n consumer (VARCHAR(128)):\n A LIKE pattern match (using "%consumer%") of consumers to disable\n \n Example\n \n To disable all consumers:\n \n mysql> CALL sys.ps_setup_disable_consumer(\'\');\n +--------------------------+\n | summary |\n +--------------------------+\n | Disabled 15 consumers |\n +--------------------------+\n 1 row in set (0.02 sec)\n \n To disable just the event_stage consumers:\n \n mysql> CALL sys.ps_setup_disable_comsumers(\'stage\');\n +------------------------+\n | summary |\n +------------------------+\n | Disabled 3 consumers |\n +------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name LIKE CONCAT('%', consumer, '%'); SELECT CONCAT('Disabled ', @rows := ROW_COUNT(), ' consumer', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_disable_instrument; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_disable_instrument ( IN in_pattern VARCHAR(128) ) COMMENT '\n Description\n \n Disables instruments within Performance Schema \n matching the input pattern.\n \n Parameters\n \n in_pattern (VARCHAR(128)):\n A LIKE pattern match (using "%in_pattern%") of events to disable\n \n Example\n \n To disable all mutex instruments:\n \n mysql> CALL sys.ps_setup_disable_instrument(\'wait/synch/mutex\');\n +--------------------------+\n | summary |\n +--------------------------+\n | Disabled 155 instruments |\n +--------------------------+\n 1 row in set (0.02 sec)\n \n To disable just a specific TCP/IP based network IO instrument:\n \n mysql> CALL sys.ps_setup_disable_instrument(\'wait/io/socket/sql/server_tcpip_socket\');\n +------------------------+\n | summary |\n +------------------------+\n | Disabled 1 instruments |\n +------------------------+\n 1 row in set (0.00 sec)\n \n To disable all instruments:\n \n mysql> CALL sys.ps_setup_disable_instrument(\'\');\n +--------------------------+\n | summary |\n +--------------------------+\n | Disabled 547 instruments |\n +--------------------------+\n 1 row in set (0.01 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'NO' WHERE name LIKE CONCAT('%', in_pattern, '%'); SELECT CONCAT('Disabled ', @rows := ROW_COUNT(), ' instrument', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_disable_thread; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_disable_thread ( IN in_connection_id BIGINT ) COMMENT '\n Description\n \n Disable the given connection/thread in Performance Schema.\n \n Parameters\n \n in_connection_id (BIGINT):\n The connection ID (PROCESSLIST_ID from performance_schema.threads\n or the ID shown within SHOW PROCESSLIST)\n \n Example\n \n mysql> CALL sys.ps_setup_disable_thread(3);\n +-------------------+\n | summary |\n +-------------------+\n | Disabled 1 thread |\n +-------------------+\n 1 row in set (0.01 sec)\n \n To disable the current connection:\n \n mysql> CALL sys.ps_setup_disable_thread(CONNECTION_ID());\n +-------------------+\n | summary |\n +-------------------+\n | Disabled 1 thread |\n +-------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = in_connection_id; SELECT CONCAT('Disabled ', @rows := ROW_COUNT(), ' thread', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_enable_background_threads; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_enable_background_threads () COMMENT '\n Description\n \n Enable all background thread instrumentation within Performance Schema.\n \n Parameters\n \n None.\n \n Example\n \n mysql> CALL sys.ps_setup_enable_background_threads();\n +-------------------------------+\n | summary |\n +-------------------------------+\n | Enabled 18 background threads |\n +-------------------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.threads SET instrumented = 'YES' WHERE type = 'BACKGROUND'; SELECT CONCAT('Enabled ', @rows := ROW_COUNT(), ' background thread', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_enable_consumer; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_enable_consumer ( IN consumer VARCHAR(128) ) COMMENT '\n Description\n \n Enables consumers within Performance Schema \n matching the input pattern.\n \n Parameters\n \n consumer (VARCHAR(128)):\n A LIKE pattern match (using "%consumer%") of consumers to enable\n \n Example\n \n To enable all consumers:\n \n mysql> CALL sys.ps_setup_enable_consumer(\'\');\n +-------------------------+\n | summary |\n +-------------------------+\n | Enabled 10 consumers |\n +-------------------------+\n 1 row in set (0.02 sec)\n \n Query OK, 0 rows affected (0.02 sec)\n \n To enable just "waits" consumers:\n \n mysql> CALL sys.ps_setup_enable_consumer(\'waits\');\n +-----------------------+\n | summary |\n +-----------------------+\n | Enabled 3 consumers |\n +-----------------------+\n 1 row in set (0.00 sec)\n \n Query OK, 0 rows affected (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name LIKE CONCAT('%', consumer, '%'); SELECT CONCAT('Enabled ', @rows := ROW_COUNT(), ' consumer', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_enable_instrument; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_enable_instrument ( IN in_pattern VARCHAR(128) ) COMMENT '\n Description\n \n Enables instruments within Performance Schema \n matching the input pattern.\n \n Parameters\n \n in_pattern (VARCHAR(128)):\n A LIKE pattern match (using "%in_pattern%") of events to enable\n \n Example\n \n To enable all mutex instruments:\n \n mysql> CALL sys.ps_setup_enable_instrument(\'wait/synch/mutex\');\n +-------------------------+\n | summary |\n +-------------------------+\n | Enabled 155 instruments |\n +-------------------------+\n 1 row in set (0.02 sec)\n \n Query OK, 0 rows affected (0.02 sec)\n \n To enable just a specific TCP/IP based network IO instrument:\n \n mysql> CALL sys.ps_setup_enable_instrument(\'wait/io/socket/sql/server_tcpip_socket\');\n +-----------------------+\n | summary |\n +-----------------------+\n | Enabled 1 instruments |\n +-----------------------+\n 1 row in set (0.00 sec)\n \n Query OK, 0 rows affected (0.00 sec)\n \n To enable all instruments:\n \n mysql> CALL sys.ps_setup_enable_instrument(\'\');\n +-------------------------+\n | summary |\n +-------------------------+\n | Enabled 547 instruments |\n +-------------------------+\n 1 row in set (0.01 sec)\n \n Query OK, 0 rows affected (0.01 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES' WHERE name LIKE CONCAT('%', in_pattern, '%'); SELECT CONCAT('Enabled ', @rows := ROW_COUNT(), ' instrument', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_enable_thread; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_enable_thread ( IN in_connection_id BIGINT ) COMMENT '\n Description\n \n Enable the given connection/thread in Performance Schema.\n \n Parameters\n \n in_connection_id (BIGINT):\n The connection ID (PROCESSLIST_ID from performance_schema.threads\n or the ID shown within SHOW PROCESSLIST)\n \n Example\n \n mysql> CALL sys.ps_setup_enable_thread(3);\n +------------------+\n | summary |\n +------------------+\n | Enabled 1 thread |\n +------------------+\n 1 row in set (0.01 sec)\n \n To enable the current connection:\n \n mysql> CALL sys.ps_setup_enable_thread(CONNECTION_ID());\n +------------------+\n | summary |\n +------------------+\n | Enabled 1 thread |\n +------------------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN UPDATE performance_schema.threads SET instrumented = 'YES' WHERE processlist_id = in_connection_id; SELECT CONCAT('Enabled ', @rows := ROW_COUNT(), ' thread', IF(@rows != 1, 's', '')) AS summary; END; DROP PROCEDURE IF EXISTS ps_setup_reload_saved; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_reload_saved () COMMENT '\n Description\n \n Reloads a saved Performance Schema configuration,\n so that you can alter the setup for debugging purposes, \n but restore it to a previous state.\n \n Use the companion procedure - ps_setup_save(), to \n save a configuration.\n \n Requires the SUPER privilege for "SET sql_log_bin = 0;".\n \n Parameters\n \n None.\n \n Example\n \n mysql> CALL sys.ps_setup_save();\n Query OK, 0 rows affected (0.08 sec)\n \n mysql> UPDATE performance_schema.setup_instruments SET enabled = \'YES\', timed = \'YES\';\n Query OK, 547 rows affected (0.40 sec)\n Rows matched: 784 Changed: 547 Warnings: 0\n \n /* Run some tests that need more detailed instrumentation here */\n \n mysql> CALL sys.ps_setup_reload_saved();\n Query OK, 0 rows affected (0.32 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN DECLARE v_done bool DEFAULT FALSE; DECLARE v_lock_result INT; DECLARE v_lock_used_by BIGINT; DECLARE v_signal_message TEXT; DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN SIGNAL SQLSTATE VALUE '90001' SET MESSAGE_TEXT = 'An error occurred, was sys.ps_setup_save() run before this procedure?'; END; SET @log_bin := @@sql_log_bin; SET sql_log_bin = 0; SELECT IS_USED_LOCK('sys.ps_setup_save') INTO v_lock_used_by; IF (v_lock_used_by != CONNECTION_ID()) THEN SET v_signal_message = CONCAT('The sys.ps_setup_save lock is currently owned by ', v_lock_used_by); SIGNAL SQLSTATE VALUE '90002' SET MESSAGE_TEXT = v_signal_message; END IF; DELETE FROM performance_schema.setup_actors; INSERT INTO performance_schema.setup_actors SELECT * FROM tmp_setup_actors; BEGIN DECLARE v_name varchar(64); DECLARE v_enabled enum('YES', 'NO'); DECLARE c_consumers CURSOR FOR SELECT NAME, ENABLED FROM tmp_setup_consumers; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; SET v_done = FALSE; OPEN c_consumers; c_consumers_loop: LOOP FETCH c_consumers INTO v_name, v_enabled; IF v_done THEN LEAVE c_consumers_loop; END IF; UPDATE performance_schema.setup_consumers SET ENABLED = v_enabled WHERE NAME = v_name; END LOOP; CLOSE c_consumers; END; UPDATE performance_schema.setup_instruments INNER JOIN tmp_setup_instruments USING (NAME) SET performance_schema.setup_instruments.ENABLED = tmp_setup_instruments.ENABLED, performance_schema.setup_instruments.TIMED = tmp_setup_instruments.TIMED; BEGIN DECLARE v_thread_id bigint unsigned; DECLARE v_instrumented enum('YES', 'NO'); DECLARE c_threads CURSOR FOR SELECT THREAD_ID, INSTRUMENTED FROM tmp_threads; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; SET v_done = FALSE; OPEN c_threads; c_threads_loop: LOOP FETCH c_threads INTO v_thread_id, v_instrumented; IF v_done THEN LEAVE c_threads_loop; END IF; UPDATE performance_schema.threads SET INSTRUMENTED = v_instrumented WHERE THREAD_ID = v_thread_id; END LOOP; CLOSE c_threads; END; UPDATE performance_schema.threads SET INSTRUMENTED = IF(PROCESSLIST_USER IS NOT NULL, sys.ps_is_account_enabled(PROCESSLIST_HOST, PROCESSLIST_USER), 'YES') WHERE THREAD_ID NOT IN (SELECT THREAD_ID FROM tmp_threads); DROP TEMPORARY TABLE tmp_setup_actors; DROP TEMPORARY TABLE tmp_setup_consumers; DROP TEMPORARY TABLE tmp_setup_instruments; DROP TEMPORARY TABLE tmp_threads; SELECT RELEASE_LOCK('sys.ps_setup_save') INTO v_lock_result; SET sql_log_bin = @log_bin; END; SET @old_sql_mode = @@session.sql_mode, @@session.sql_mode = ''; DROP PROCEDURE IF EXISTS ps_setup_reset_to_default; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_reset_to_default ( IN in_verbose BOOLEAN ) COMMENT '\n Description\n \n Resets the Performance Schema setup to the default settings.\n \n Parameters\n \n in_verbose (BOOLEAN):\n Whether to print each setup stage (including the SQL) whilst running.\n \n Example\n \n mysql> CALL sys.ps_setup_reset_to_default(true)\\G\n *************************** 1. row ***************************\n status: Resetting: setup_actors\n DELETE\n FROM performance_schema.setup_actors\n WHERE NOT (HOST = \'%\' AND USER = \'%\' AND ROLE = \'%\')\n 1 row in set (0.00 sec)\n \n *************************** 1. row ***************************\n status: Resetting: setup_actors\n INSERT IGNORE INTO performance_schema.setup_actors\n VALUES (\'%\', \'%\', \'%\')\n 1 row in set (0.00 sec)\n ...\n \n mysql> CALL sys.ps_setup_reset_to_default(false)\\G\n Query OK, 0 rows affected (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN SET @query = 'DELETE FROM performance_schema.setup_actors WHERE NOT (HOST = ''%'' AND USER = ''%'' AND ROLE = ''%'')'; IF (in_verbose) THEN SELECT CONCAT('Resetting: setup_actors\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; SET @query = 'INSERT IGNORE INTO performance_schema.setup_actors VALUES (''%'', ''%'', ''%'', ''YES'', ''YES'')'; IF (in_verbose) THEN SELECT CONCAT('Resetting: setup_actors\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; SET @query = 'UPDATE performance_schema.setup_instruments SET ENABLED = sys.ps_is_instrument_default_enabled(NAME), TIMED = sys.ps_is_instrument_default_timed(NAME)'; IF (in_verbose) THEN SELECT CONCAT('Resetting: setup_instruments\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; SET @query = 'UPDATE performance_schema.setup_consumers SET ENABLED = IF(NAME IN (''events_statements_current'', ''events_transactions_current'', ''global_instrumentation'', ''thread_instrumentation'', ''statements_digest''), ''YES'', ''NO'')'; IF (in_verbose) THEN SELECT CONCAT('Resetting: setup_consumers\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; SET @query = 'DELETE FROM performance_schema.setup_objects WHERE NOT (OBJECT_TYPE IN (''EVENT'', ''FUNCTION'', ''PROCEDURE'', ''TABLE'', ''TRIGGER'') AND OBJECT_NAME = ''%'' AND (OBJECT_SCHEMA = ''mysql'' AND ENABLED = ''NO'' AND TIMED = ''NO'' ) OR (OBJECT_SCHEMA = ''performance_schema'' AND ENABLED = ''NO'' AND TIMED = ''NO'' ) OR (OBJECT_SCHEMA = ''information_schema'' AND ENABLED = ''NO'' AND TIMED = ''NO'' ) OR (OBJECT_SCHEMA = ''%'' AND ENABLED = ''YES'' AND TIMED = ''YES''))'; IF (in_verbose) THEN SELECT CONCAT('Resetting: setup_objects\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; SET @query = 'INSERT IGNORE INTO performance_schema.setup_objects VALUES (''EVENT'' , ''mysql'' , ''%'', ''NO'' , ''NO'' ), (''EVENT'' , ''performance_schema'', ''%'', ''NO'' , ''NO'' ), (''EVENT'' , ''information_schema'', ''%'', ''NO'' , ''NO'' ), (''EVENT'' , ''%'' , ''%'', ''YES'', ''YES''), (''FUNCTION'' , ''mysql'' , ''%'', ''NO'' , ''NO'' ), (''FUNCTION'' , ''performance_schema'', ''%'', ''NO'' , ''NO'' ), (''FUNCTION'' , ''information_schema'', ''%'', ''NO'' , ''NO'' ), (''FUNCTION'' , ''%'' , ''%'', ''YES'', ''YES''), (''PROCEDURE'', ''mysql'' , ''%'', ''NO'' , ''NO'' ), (''PROCEDURE'', ''performance_schema'', ''%'', ''NO'' , ''NO'' ), (''PROCEDURE'', ''information_schema'', ''%'', ''NO'' , ''NO'' ), (''PROCEDURE'', ''%'' , ''%'', ''YES'', ''YES''), (''TABLE'' , ''mysql'' , ''%'', ''NO'' , ''NO'' ), (''TABLE'' , ''performance_schema'', ''%'', ''NO'' , ''NO'' ), (''TABLE'' , ''information_schema'', ''%'', ''NO'' , ''NO'' ), (''TABLE'' , ''%'' , ''%'', ''YES'', ''YES''), (''TRIGGER'' , ''mysql'' , ''%'', ''NO'' , ''NO'' ), (''TRIGGER'' , ''performance_schema'', ''%'', ''NO'' , ''NO'' ), (''TRIGGER'' , ''information_schema'', ''%'', ''NO'' , ''NO'' ), (''TRIGGER'' , ''%'' , ''%'', ''YES'', ''YES'')'; IF (in_verbose) THEN SELECT CONCAT('Resetting: setup_objects\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; SET @query = 'UPDATE performance_schema.threads SET INSTRUMENTED = ''YES'''; IF (in_verbose) THEN SELECT CONCAT('Resetting: threads\n', REPLACE(@query, ' ', '')) AS status; END IF; PREPARE reset_stmt FROM @query; EXECUTE reset_stmt; DEALLOCATE PREPARE reset_stmt; END; SET @@session.sql_mode = @old_sql_mode; DROP PROCEDURE IF EXISTS ps_setup_save; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_save ( IN in_timeout INT ) COMMENT '\n Description\n \n Saves the current configuration of Performance Schema, \n so that you can alter the setup for debugging purposes, \n but restore it to a previous state.\n \n Use the companion procedure - ps_setup_reload_saved(), to \n restore the saved config.\n \n The named lock "sys.ps_setup_save" is taken before the\n current configuration is saved. If the attempt to get the named\n lock times out, an error occurs.\n \n The lock is released after the settings have been restored by\n calling ps_setup_reload_saved().\n \n Requires the SUPER privilege for "SET sql_log_bin = 0;".\n \n Parameters\n \n in_timeout INT\n The timeout in seconds used when trying to obtain the lock.\n A negative timeout means infinite timeout.\n \n Example\n \n mysql> CALL sys.ps_setup_save(-1);\n Query OK, 0 rows affected (0.08 sec)\n \n mysql> UPDATE performance_schema.setup_instruments \n -> SET enabled = \'YES\', timed = \'YES\';\n Query OK, 547 rows affected (0.40 sec)\n Rows matched: 784 Changed: 547 Warnings: 0\n \n /* Run some tests that need more detailed instrumentation here */\n \n mysql> CALL sys.ps_setup_reload_saved();\n Query OK, 0 rows affected (0.32 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC MODIFIES SQL DATA BEGIN DECLARE v_lock_result INT; SET @log_bin := @@sql_log_bin; SET sql_log_bin = 0; SELECT GET_LOCK('sys.ps_setup_save', in_timeout) INTO v_lock_result; IF v_lock_result THEN DROP TEMPORARY TABLE IF EXISTS tmp_setup_actors; DROP TEMPORARY TABLE IF EXISTS tmp_setup_consumers; DROP TEMPORARY TABLE IF EXISTS tmp_setup_instruments; DROP TEMPORARY TABLE IF EXISTS tmp_threads; CREATE TEMPORARY TABLE tmp_setup_actors LIKE performance_schema.setup_actors; CREATE TEMPORARY TABLE tmp_setup_consumers LIKE performance_schema.setup_consumers; CREATE TEMPORARY TABLE tmp_setup_instruments LIKE performance_schema.setup_instruments; CREATE TEMPORARY TABLE tmp_threads (THREAD_ID bigint unsigned NOT NULL PRIMARY KEY, INSTRUMENTED enum('YES','NO') NOT NULL); INSERT INTO tmp_setup_actors SELECT * FROM performance_schema.setup_actors; INSERT INTO tmp_setup_consumers SELECT * FROM performance_schema.setup_consumers; INSERT INTO tmp_setup_instruments SELECT * FROM performance_schema.setup_instruments; INSERT INTO tmp_threads SELECT THREAD_ID, INSTRUMENTED FROM performance_schema.threads; ELSE SIGNAL SQLSTATE VALUE '90000' SET MESSAGE_TEXT = 'Could not lock the sys.ps_setup_save user lock, another thread has a saved configuration'; END IF; SET sql_log_bin = @log_bin; END; DROP PROCEDURE IF EXISTS ps_setup_show_disabled; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_show_disabled ( IN in_show_instruments BOOLEAN, IN in_show_threads BOOLEAN ) COMMENT '\n Description\n \n Shows all currently disable Performance Schema configuration.\n \n Disabled users is only available for MySQL 5.7.6 and later.\n In earlier versions it was only possible to enable users.\n \n Parameters\n \n in_show_instruments (BOOLEAN):\n Whether to print disabled instruments (can print many items)\n \n in_show_threads (BOOLEAN):\n Whether to print disabled threads\n \n Example\n \n mysql> CALL sys.ps_setup_show_disabled(TRUE, TRUE);\n +----------------------------+\n | performance_schema_enabled |\n +----------------------------+\n | 1 |\n +----------------------------+\n 1 row in set (0.00 sec)\n \n +--------------------+\n | disabled_users |\n +--------------------+\n | \'mark\'@\'localhost\' |\n +--------------------+\n 1 row in set (0.00 sec)\n \n +-------------+----------------------+---------+-------+\n | object_type | objects | enabled | timed |\n +-------------+----------------------+---------+-------+\n | EVENT | mysql.% | NO | NO |\n | EVENT | performance_schema.% | NO | NO |\n | EVENT | information_schema.% | NO | NO |\n | FUNCTION | mysql.% | NO | NO |\n | FUNCTION | performance_schema.% | NO | NO |\n | FUNCTION | information_schema.% | NO | NO |\n | PROCEDURE | mysql.% | NO | NO |\n | PROCEDURE | performance_schema.% | NO | NO |\n | PROCEDURE | information_schema.% | NO | NO |\n | TABLE | mysql.% | NO | NO |\n | TABLE | performance_schema.% | NO | NO |\n | TABLE | information_schema.% | NO | NO |\n | TRIGGER | mysql.% | NO | NO |\n | TRIGGER | performance_schema.% | NO | NO |\n | TRIGGER | information_schema.% | NO | NO |\n +-------------+----------------------+---------+-------+\n 15 rows in set (0.00 sec)\n \n +----------------------------------+\n | disabled_consumers |\n +----------------------------------+\n | events_stages_current |\n | events_stages_history |\n | events_stages_history_long |\n | events_statements_history |\n | events_statements_history_long |\n | events_transactions_history |\n | events_transactions_history_long |\n | events_waits_current |\n | events_waits_history |\n | events_waits_history_long |\n +----------------------------------+\n 10 rows in set (0.00 sec)\n \n Empty set (0.00 sec)\n \n +---------------------------------------------------------------------------------------+-------+\n | disabled_instruments | timed |\n +---------------------------------------------------------------------------------------+-------+\n | wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_tc | NO |\n | wait/synch/mutex/sql/LOCK_des_key_file | NO |\n | wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit | NO |\n ...\n | memory/sql/servers_cache | NO |\n | memory/sql/udf_mem | NO |\n | wait/lock/metadata/sql/mdl | NO |\n +---------------------------------------------------------------------------------------+-------+\n 547 rows in set (0.00 sec)\n \n Query OK, 0 rows affected (0.01 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC READS SQL DATA BEGIN SELECT @@performance_schema AS performance_schema_enabled; /*!50706 SELECT CONCAT('\'', user, '\'@\'', host, '\'') AS disabled_users FROM performance_schema.setup_actors WHERE enabled = 'NO' ORDER BY disabled_users; */ SELECT object_type, CONCAT(object_schema, '.', object_name) AS objects, enabled, timed FROM performance_schema.setup_objects WHERE enabled = 'NO' ORDER BY object_type, objects; SELECT name AS disabled_consumers FROM performance_schema.setup_consumers WHERE enabled = 'NO' ORDER BY disabled_consumers; IF (in_show_threads) THEN SELECT IF(name = 'thread/sql/one_connection', CONCAT(processlist_user, '@', processlist_host), REPLACE(name, 'thread/', '')) AS disabled_threads, TYPE AS thread_type FROM performance_schema.threads WHERE INSTRUMENTED = 'NO' ORDER BY disabled_threads; END IF; IF (in_show_instruments) THEN SELECT name AS disabled_instruments, timed FROM performance_schema.setup_instruments WHERE enabled = 'NO' ORDER BY disabled_instruments; END IF; END; DROP PROCEDURE IF EXISTS ps_setup_show_disabled_consumers; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_show_disabled_consumers () COMMENT '\n Description\n \n Shows all currently disabled consumers.\n \n Parameters\n \n None\n \n Example\n \n mysql> CALL sys.ps_setup_show_disabled_consumers();\n \n +---------------------------+\n | disabled_consumers |\n +---------------------------+\n | events_statements_current |\n | global_instrumentation |\n | thread_instrumentation |\n | statements_digest |\n +---------------------------+\n 4 rows in set (0.05 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN SELECT name AS disabled_consumers FROM performance_schema.setup_consumers WHERE enabled = 'NO' ORDER BY disabled_consumers; END; DROP PROCEDURE IF EXISTS ps_setup_show_disabled_instruments; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_show_disabled_instruments () COMMENT '\n Description\n \n Shows all currently disabled instruments.\n \n Parameters\n \n None\n \n Example\n \n mysql> CALL sys.ps_setup_show_disabled_instruments();\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN SELECT name AS disabled_instruments, timed FROM performance_schema.setup_instruments WHERE enabled = 'NO' ORDER BY disabled_instruments; END; DROP PROCEDURE IF EXISTS ps_setup_show_enabled; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_show_enabled ( IN in_show_instruments BOOLEAN, IN in_show_threads BOOLEAN ) COMMENT '\n Description\n \n Shows all currently enabled Performance Schema configuration.\n \n Parameters\n \n in_show_instruments (BOOLEAN):\n Whether to print enabled instruments (can print many items)\n \n in_show_threads (BOOLEAN):\n Whether to print enabled threads\n \n Example\n \n mysql> CALL sys.ps_setup_show_enabled(TRUE, TRUE);\n +----------------------------+\n | performance_schema_enabled |\n +----------------------------+\n | 1 |\n +----------------------------+\n 1 row in set (0.00 sec)\n \n +---------------+\n | enabled_users |\n +---------------+\n | \'%\'@\'%\' |\n +---------------+\n 1 row in set (0.01 sec)\n \n +-------------+---------+---------+-------+\n | object_type | objects | enabled | timed |\n +-------------+---------+---------+-------+\n | EVENT | %.% | YES | YES |\n | FUNCTION | %.% | YES | YES |\n | PROCEDURE | %.% | YES | YES |\n | TABLE | %.% | YES | YES |\n | TRIGGER | %.% | YES | YES |\n +-------------+---------+---------+-------+\n 5 rows in set (0.01 sec)\n \n +---------------------------+\n | enabled_consumers |\n +---------------------------+\n | events_statements_current |\n | global_instrumentation |\n | thread_instrumentation |\n | statements_digest |\n +---------------------------+\n 4 rows in set (0.05 sec)\n \n +---------------------------------+-------------+\n | enabled_threads | thread_type |\n +---------------------------------+-------------+\n | sql/main | BACKGROUND |\n | sql/thread_timer_notifier | BACKGROUND |\n | innodb/io_ibuf_thread | BACKGROUND |\n | innodb/io_log_thread | BACKGROUND |\n | innodb/io_read_thread | BACKGROUND |\n | innodb/io_read_thread | BACKGROUND |\n | innodb/io_write_thread | BACKGROUND |\n | innodb/io_write_thread | BACKGROUND |\n | innodb/page_cleaner_thread | BACKGROUND |\n | innodb/srv_lock_timeout_thread | BACKGROUND |\n | innodb/srv_error_monitor_thread | BACKGROUND |\n | innodb/srv_monitor_thread | BACKGROUND |\n | innodb/srv_master_thread | BACKGROUND |\n | innodb/srv_purge_thread | BACKGROUND |\n | innodb/srv_worker_thread | BACKGROUND |\n | innodb/srv_worker_thread | BACKGROUND |\n | innodb/srv_worker_thread | BACKGROUND |\n | innodb/buf_dump_thread | BACKGROUND |\n | innodb/dict_stats_thread | BACKGROUND |\n | sql/signal_handler | BACKGROUND |\n | sql/compress_gtid_table | FOREGROUND |\n | root@localhost | FOREGROUND |\n +---------------------------------+-------------+\n 22 rows in set (0.01 sec)\n \n +-------------------------------------+-------+\n | enabled_instruments | timed |\n +-------------------------------------+-------+\n | wait/io/file/sql/map | YES |\n | wait/io/file/sql/binlog | YES |\n ...\n | statement/com/Error | YES |\n | statement/com/ | YES |\n | idle | YES |\n +-------------------------------------+-------+\n 210 rows in set (0.08 sec)\n \n Query OK, 0 rows affected (0.89 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN SELECT @@performance_schema AS performance_schema_enabled; SELECT CONCAT('\'', user, '\'@\'', host, '\'') AS enabled_users FROM performance_schema.setup_actors /*!50706 WHERE enabled = 'YES' */ ORDER BY enabled_users; SELECT object_type, CONCAT(object_schema, '.', object_name) AS objects, enabled, timed FROM performance_schema.setup_objects WHERE enabled = 'YES' ORDER BY object_type, objects; SELECT name AS enabled_consumers FROM performance_schema.setup_consumers WHERE enabled = 'YES' ORDER BY enabled_consumers; IF (in_show_threads) THEN SELECT IF(name = 'thread/sql/one_connection', CONCAT(processlist_user, '@', processlist_host), REPLACE(name, 'thread/', '')) AS enabled_threads, TYPE AS thread_type FROM performance_schema.threads WHERE INSTRUMENTED = 'YES' ORDER BY enabled_threads; END IF; IF (in_show_instruments) THEN SELECT name AS enabled_instruments, timed FROM performance_schema.setup_instruments WHERE enabled = 'YES' ORDER BY enabled_instruments; END IF; END; DROP PROCEDURE IF EXISTS ps_setup_show_enabled_consumers; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_show_enabled_consumers () COMMENT '\n Description\n \n Shows all currently enabled consumers.\n \n Parameters\n \n None\n \n Example\n \n mysql> CALL sys.ps_setup_show_enabled_consumers();\n \n +---------------------------+\n | enabled_consumers |\n +---------------------------+\n | events_statements_current |\n | global_instrumentation |\n | thread_instrumentation |\n | statements_digest |\n +---------------------------+\n 4 rows in set (0.05 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN SELECT name AS enabled_consumers FROM performance_schema.setup_consumers WHERE enabled = 'YES' ORDER BY enabled_consumers; END; DROP PROCEDURE IF EXISTS ps_setup_show_enabled_instruments; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_setup_show_enabled_instruments () COMMENT '\n Description\n \n Shows all currently enabled instruments.\n \n Parameters\n \n None\n \n Example\n \n mysql> CALL sys.ps_setup_show_enabled_instruments();\n ' SQL SECURITY INVOKER DETERMINISTIC READS SQL DATA BEGIN SELECT name AS enabled_instruments, timed FROM performance_schema.setup_instruments WHERE enabled = 'YES' ORDER BY enabled_instruments; END; DROP PROCEDURE IF EXISTS ps_truncate_all_tables; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE ps_truncate_all_tables ( IN in_verbose BOOLEAN ) COMMENT '\n Description\n \n Truncates all summary tables within Performance Schema, \n resetting all aggregated instrumentation as a snapshot.\n \n Parameters\n \n in_verbose (BOOLEAN):\n Whether to print each TRUNCATE statement before running\n \n Example\n \n mysql> CALL sys.ps_truncate_all_tables(false);\n +---------------------+\n | summary |\n +---------------------+\n | Truncated 44 tables |\n +---------------------+\n 1 row in set (0.10 sec)\n \n Query OK, 0 rows affected (0.10 sec)\n ' SQL SECURITY INVOKER DETERMINISTIC MODIFIES SQL DATA BEGIN DECLARE v_done INT DEFAULT FALSE; DECLARE v_total_tables INT DEFAULT 0; DECLARE v_ps_table VARCHAR(64); DECLARE ps_tables CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'performance_schema' AND (table_name LIKE '%summary%' OR table_name LIKE '%history%'); DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; OPEN ps_tables; ps_tables_loop: LOOP FETCH ps_tables INTO v_ps_table; IF v_done THEN LEAVE ps_tables_loop; END IF; SET @truncate_stmt := CONCAT('TRUNCATE TABLE performance_schema.', v_ps_table); IF in_verbose THEN SELECT CONCAT('Running: ', @truncate_stmt) AS status; END IF; PREPARE truncate_stmt FROM @truncate_stmt; EXECUTE truncate_stmt; DEALLOCATE PREPARE truncate_stmt; SET v_total_tables = v_total_tables + 1; END LOOP; CLOSE ps_tables; SELECT CONCAT('Truncated ', v_total_tables, ' tables') AS summary; END; DROP PROCEDURE IF EXISTS statement_performance_analyzer; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE statement_performance_analyzer ( IN in_action ENUM('snapshot', 'overall', 'delta', 'create_table', 'create_tmp', 'save', 'cleanup'), IN in_table VARCHAR(129), IN in_views SET ('with_runtimes_in_95th_percentile', 'analysis', 'with_errors_or_warnings', 'with_full_table_scans', 'with_sorting', 'with_temp_tables', 'custom') ) COMMENT '\n Description\n \n Create a report of the statements running on the server.\n \n The views are calculated based on the overall and/or delta activity.\n \n Requires the SUPER privilege for "SET sql_log_bin = 0;".\n \n Parameters\n \n in_action (ENUM(''snapshot'', ''overall'', ''delta'', ''create_tmp'', ''create_table'', ''save'', ''cleanup'')):\n The action to take. Supported actions are:\n * snapshot Store a snapshot. The default is to make a snapshot of the current content of\n performance_schema.events_statements_summary_by_digest, but by setting in_table\n this can be overwritten to copy the content of the specified table.\n The snapshot is stored in the sys.tmp_digests temporary table.\n * overall Generate analyzis based on the content specified by in_table. For the overall analyzis,\n in_table can be NOW() to use a fresh snapshot. This will overwrite an existing snapshot.\n Use NULL for in_table to use the existing snapshot. If in_table IS NULL and no snapshot\n exists, a new will be created.\n See also in_views and @sys.statement_performance_analyzer.limit.\n * delta Generate a delta analysis. The delta will be calculated between the reference table in\n in_table and the snapshot. An existing snapshot must exist.\n The action uses the sys.tmp_digests_delta temporary table.\n See also in_views and @sys.statement_performance_analyzer.limit.\n * create_table Create a regular table suitable for storing the snapshot for later use, e.g. for\n calculating deltas.\n * create_tmp Create a temporary table suitable for storing the snapshot for later use, e.g. for\n calculating deltas.\n * save Save the snapshot in the table specified by in_table. The table must exists and have\n the correct structure.\n If no snapshot exists, a new is created.\n * cleanup Remove the temporary tables used for the snapshot and delta.\n \n in_table (VARCHAR(129)):\n The table argument used for some actions. Use the format ''db1.t1'' or ''t1'' without using any backticks (`)\n for quoting. Periods (.) are not supported in the database and table names.\n \n The meaning of the table for each action supporting the argument is:\n \n * snapshot The snapshot is created based on the specified table. Set to NULL or NOW() to use\n the current content of performance_schema.events_statements_summary_by_digest.\n * overall The table with the content to create the overall analyzis for. The following values\n can be used:\n - A table name - use the content of that table.\n - NOW() - create a fresh snapshot and overwrite the existing snapshot.\n - NULL - use the last stored snapshot.\n * delta The table name is mandatory and specified the reference view to compare the currently\n stored snapshot against. If no snapshot exists, a new will be created.\n * create_table The name of the regular table to create.\n * create_tmp The name of the temporary table to create.\n * save The name of the table to save the currently stored snapshot into.\n \n in_views (SET (''with_runtimes_in_95th_percentile'', ''analysis'', ''with_errors_or_warnings'',\n ''with_full_table_scans'', ''with_sorting'', ''with_temp_tables'', ''custom''))\n Which views to include: * with_runtimes_in_95th_percentile Based on the sys.statements_with_runtimes_in_95th_percentile view * analysis Based on the sys.statement_analysis view * with_errors_or_warnings Based on the sys.statements_with_errors_or_warnings view * with_full_table_scans Based on the sys.statements_with_full_table_scans view * with_sorting Based on the sys.statements_with_sorting view * with_temp_tables Based on the sys.statements_with_temp_tables view * custom Use a custom view. This view must be specified in @sys.statement_performance_analyzer.view to an existing view or a query Default is to include all except ''custom''. Configuration Options sys.statement_performance_analyzer.limit The maximum number of rows to include for the views that does not have a built-in limit (e.g. the 95th percentile view). If not set the limit is 100. sys.statement_performance_analyzer.view Used together with the ''custom'' view. If the value contains a space, it is considered a query, otherwise it must be an existing view querying the performance_schema.events_statements_summary_by_digest table. There cannot be any limit clause including in the query or view definition if @sys.statement_performance_analyzer.limit > 0. If specifying a view, use the same format as for in_table. sys.debug Whether to provide debugging output. Default is ''OFF''. Set to ''ON'' to include. Example To create a report with the queries in the 95th percentile since last truncate of performance_schema.events_statements_summary_by_digest and the delta for a 1 minute period: 1. Create a temporary table to store the initial snapshot. 2. Create the initial snapshot. 3. Save the initial snapshot in the temporary table. 4. Wait one minute. 5. Create a new snapshot. 6. Perform analyzis based on the new snapshot. 7. Perform analyzis based on the delta between the initial and new snapshots. mysql> CALL sys.statement_performance_analyzer(''create_tmp'', ''mydb.tmp_digests_ini'', NULL); Query OK, 0 rows affected (0.08 sec) mysql> CALL sys.statement_performance_analyzer(''snapshot'', NULL, NULL); Query OK, 0 rows affected (0.02 sec) mysql> CALL sys.statement_performance_analyzer(''save'', ''mydb.tmp_digests_ini'', NULL); Query OK, 0 rows affected (0.00 sec) mysql> DO SLEEP(60); Query OK, 0 rows affected (1 min 0.00 sec) mysql> CALL sys.statement_performance_analyzer(''snapshot'', NULL, NULL); Query OK, 0 rows affected (0.02 sec) mysql> CALL sys.statement_performance_analyzer(''overall'', NULL, ''with_runtimes_in_95th_percentile''); +-----------------------------------------+ | Next Output | +-----------------------------------------+ | Queries with Runtime in 95th Percentile | +-----------------------------------------+ 1 row in set (0.05 sec) ... mysql> CALL sys.statement_performance_analyzer(''delta'', ''mydb.tmp_digests_ini'', ''with_runtimes_in_95th_percentile''); +-----------------------------------------+ | Next Output | +-----------------------------------------+ | Queries with Runtime in 95th Percentile | +-----------------------------------------+ 1 row in set (0.03 sec) ... To create an overall report of the 95th percentile queries and the top 10 queries with full table scans: mysql> CALL sys.statement_performance_analyzer(''snapshot'', NULL, NULL); Query OK, 0 rows affected (0.01 sec) mysql> SET @sys.statement_performance_analyzer.limit = 10; Query OK, 0 rows affected (0.00 sec) mysql> CALL sys.statement_performance_analyzer(''overall'', NULL, ''with_runtimes_in_95th_percentile,with_full_table_scans''); +-----------------------------------------+ | Next Output | +-----------------------------------------+ | Queries with Runtime in 95th Percentile | +-----------------------------------------+ 1 row in set (0.01 sec) ... +-------------------------------------+ | Next Output | +-------------------------------------+ | Top 10 Queries with Full Table Scan | +-------------------------------------+ 1 row in set (0.09 sec) ... Use a custom view showing the top 10 query sorted by total execution time refreshing the view every minute using the watch command in Linux. mysql> CREATE OR REPLACE VIEW mydb.my_statements AS -> SELECT sys.format_statement(DIGEST_TEXT) AS query, -> SCHEMA_NAME AS db, -> COUNT_STAR AS exec_count, -> sys.format_time(SUM_TIMER_WAIT) AS total_latency, -> sys.format_time(AVG_TIMER_WAIT) AS avg_latency, -> ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, -> ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, -> ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg, -> DIGEST AS digest -> FROM performance_schema.events_statements_summary_by_digest -> ORDER BY SUM_TIMER_WAIT DESC; Query OK, 0 rows affected (0.01 sec) mysql> CALL sys.statement_performance_analyzer(''create_table'', ''mydb.digests_prev'', NULL); Query OK, 0 rows affected (0.10 sec) shell$ watch -n 60 "mysql sys --table -e \" > SET @sys.statement_performance_analyzer.view = ''mydb.my_statements''; > SET @sys.statement_performance_analyzer.limit = 10; > CALL statement_performance_analyzer(''snapshot'', NULL, NULL); > CALL statement_performance_analyzer(''delta'', ''mydb.digests_prev'', ''custom''); > CALL statement_performance_analyzer(''save'', ''mydb.digests_prev'', NULL); > \"" Every 60.0s: mysql sys --table -e " ... Mon Dec 22 10:58:51 2014 +----------------------------------+ | Next Output | +----------------------------------+ | Top 10 Queries Using Custom View | +----------------------------------+ +-------------------+-------+------------+---------------+-------------+---------------+-------------------+-------------------+----------------------------------+ | query | db | exec_count | total_latency | avg_latency | rows_sent_avg | rows_examined_avg | rows_affected_avg | digest | +-------------------+-------+------------+---------------+-------------+---------------+-------------------+-------------------+----------------------------------+ ... ' SQL SECURITY INVOKER NOT DETERMINISTIC CONTAINS SQL BEGIN DECLARE v_table_exists, v_tmp_digests_table_exists, v_custom_view_exists ENUM('', 'BASE TABLE', 'VIEW', 'TEMPORARY') DEFAULT ''; DECLARE v_this_thread_enabled ENUM('YES', 'NO'); DECLARE v_force_new_snapshot BOOLEAN DEFAULT FALSE; DECLARE v_digests_table VARCHAR(133); DECLARE v_quoted_table, v_quoted_custom_view VARCHAR(133) DEFAULT ''; DECLARE v_table_db, v_table_name, v_custom_db, v_custom_name VARCHAR(64); DECLARE v_digest_table_template, v_checksum_ref, v_checksum_table text; DECLARE v_sql longtext; DECLARE v_error_msg VARCHAR(128); SELECT INSTRUMENTED INTO v_this_thread_enabled FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID(); IF (v_this_thread_enabled = 'YES') THEN CALL sys.ps_setup_disable_thread(CONNECTION_ID()); END IF; SET @log_bin := @@sql_log_bin; IF (@log_bin = 1) THEN SET sql_log_bin = 0; END IF; IF (@sys.statement_performance_analyzer.limit IS NULL) THEN SET @sys.statement_performance_analyzer.limit = sys.sys_get_config('statement_performance_analyzer.limit', '100'); END IF; IF (@sys.debug IS NULL) THEN SET @sys.debug = sys.sys_get_config('debug' , 'OFF'); END IF; IF (in_table = 'NOW()') THEN SET v_force_new_snapshot = TRUE, in_table = NULL; ELSEIF (in_table IS NOT NULL) THEN IF (NOT INSTR(in_table, '.')) THEN SET v_table_db = DATABASE(), v_table_name = in_table; ELSE SET v_table_db = SUBSTRING_INDEX(in_table, '.', 1); SET v_table_name = SUBSTRING(in_table, CHAR_LENGTH(v_table_db)+2); END IF; SET v_quoted_table = CONCAT('`', v_table_db, '`.`', v_table_name, '`'); IF (@sys.debug = 'ON') THEN SELECT CONCAT('in_table is: db = ''', v_table_db, ''', table = ''', v_table_name, '''') AS 'Debug'; END IF; IF (v_table_db = DATABASE() AND (v_table_name = 'tmp_digests' OR v_table_name = 'tmp_digests_delta')) THEN SET v_error_msg = CONCAT('Invalid value for in_table: ', v_quoted_table, ' is reserved table name.'); SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = v_error_msg; END IF; CALL sys.table_exists(v_table_db, v_table_name, v_table_exists); IF (@sys.debug = 'ON') THEN SELECT CONCAT('v_table_exists = ', v_table_exists) AS 'Debug'; END IF; IF (v_table_exists = 'BASE TABLE') THEN SET v_checksum_ref = ( SELECT GROUP_CONCAT(CONCAT(COLUMN_NAME, COLUMN_TYPE) ORDER BY ORDINAL_POSITION) AS Checksum FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'performance_schema' AND TABLE_NAME = 'events_statements_summary_by_digest' ), v_checksum_table = ( SELECT GROUP_CONCAT(CONCAT(COLUMN_NAME, COLUMN_TYPE) ORDER BY ORDINAL_POSITION) AS Checksum FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = v_table_db AND TABLE_NAME = v_table_name ); IF (v_checksum_ref <> v_checksum_table) THEN SET v_error_msg = CONCAT('The table ', IF(CHAR_LENGTH(v_quoted_table) > 93, CONCAT('...', SUBSTRING(v_quoted_table, -90)), v_quoted_table), ' has the wrong definition.'); SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = v_error_msg; END IF; END IF; END IF; IF (in_views IS NULL OR in_views = '') THEN SET in_views = 'with_runtimes_in_95th_percentile,analysis,with_errors_or_warnings,with_full_table_scans,with_sorting,with_temp_tables'; END IF; CALL sys.table_exists(DATABASE(), 'tmp_digests', v_tmp_digests_table_exists); IF (@sys.debug = 'ON') THEN SELECT CONCAT('v_tmp_digests_table_exists = ', v_tmp_digests_table_exists) AS 'Debug'; END IF; CASE WHEN in_action IN ('snapshot', 'overall') THEN IF (in_table IS NOT NULL) THEN IF (NOT v_table_exists IN ('TEMPORARY', 'BASE TABLE')) THEN SET v_error_msg = CONCAT('The ', in_action, ' action requires in_table to be NULL, NOW() or specify an existing table.', ' The table ', IF(CHAR_LENGTH(v_quoted_table) > 16, CONCAT('...', SUBSTRING(v_quoted_table, -13)), v_quoted_table), ' does not exist.'); SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = v_error_msg; END IF; END IF; WHEN in_action IN ('delta', 'save') THEN IF (v_table_exists NOT IN ('TEMPORARY', 'BASE TABLE')) THEN SET v_error_msg = CONCAT('The ', in_action, ' action requires in_table to be an existing table.', IF(in_table IS NOT NULL, CONCAT(' The table ', IF(CHAR_LENGTH(v_quoted_table) > 39, CONCAT('...', SUBSTRING(v_quoted_table, -36)), v_quoted_table), ' does not exist.'), '')); SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = v_error_msg; END IF; IF (in_action = 'delta' AND v_tmp_digests_table_exists <> 'TEMPORARY') THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'An existing snapshot generated with the statement_performance_analyzer() must exist.'; END IF; WHEN in_action = 'create_tmp' THEN IF (v_table_exists = 'TEMPORARY') THEN SET v_error_msg = CONCAT('Cannot create the table ', IF(CHAR_LENGTH(v_quoted_table) > 72, CONCAT('...', SUBSTRING(v_quoted_table, -69)), v_quoted_table), ' as it already exists.'); SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = v_error_msg; END IF; WHEN in_action = 'create_table' THEN IF (v_table_exists <> '') THEN SET v_error_msg = CONCAT('Cannot create the table ', IF(CHAR_LENGTH(v_quoted_table) > 52, CONCAT('...', SUBSTRING(v_quoted_table, -49)), v_quoted_table), ' as it already exists', IF(v_table_exists = 'TEMPORARY', ' as a temporary table.', '.')); SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = v_error_msg; END IF; WHEN in_action = 'cleanup' THEN DO (SELECT 1); ELSE SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Unknown action. Supported actions are: cleanup, create_table, create_tmp, delta, overall, save, snapshot'; END CASE; SET v_digest_table_template = 'CREATE %{TEMPORARY}TABLE %{TABLE_NAME} ( `SCHEMA_NAME` varchar(64) DEFAULT NULL, `DIGEST` varchar(32) DEFAULT NULL, `DIGEST_TEXT` longtext, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL, `SUM_LOCK_TIME` bigint(20) unsigned NOT NULL, `SUM_ERRORS` bigint(20) unsigned NOT NULL, `SUM_WARNINGS` bigint(20) unsigned NOT NULL, `SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL, `SUM_ROWS_SENT` bigint(20) unsigned NOT NULL, `SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL, `SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL, `SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL, `SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL, `SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL, `SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL, `SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL, `SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL, `SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL, `SUM_SORT_RANGE` bigint(20) unsigned NOT NULL, `SUM_SORT_ROWS` bigint(20) unsigned NOT NULL, `SUM_SORT_SCAN` bigint(20) unsigned NOT NULL, `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL, `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL, `FIRST_SEEN` timestamp NULL DEFAULT NULL, `LAST_SEEN` timestamp NULL DEFAULT NULL, INDEX (SCHEMA_NAME, DIGEST) ) DEFAULT CHARSET=utf8'; IF (v_force_new_snapshot OR in_action = 'snapshot' OR (in_action = 'overall' AND in_table IS NULL) OR (in_action = 'save' AND v_tmp_digests_table_exists <> 'TEMPORARY') ) THEN IF (v_tmp_digests_table_exists = 'TEMPORARY') THEN IF (@sys.debug = 'ON') THEN SELECT 'DROP TEMPORARY TABLE IF EXISTS tmp_digests' AS 'Debug'; END IF; DROP TEMPORARY TABLE IF EXISTS tmp_digests; END IF; CALL sys.execute_prepared_stmt(REPLACE(REPLACE(v_digest_table_template, '%{TEMPORARY}', 'TEMPORARY '), '%{TABLE_NAME}', 'tmp_digests')); SET v_sql = CONCAT('INSERT INTO tmp_digests SELECT * FROM ', IF(in_table IS NULL OR in_action = 'save', 'performance_schema.events_statements_summary_by_digest', v_quoted_table)); CALL sys.execute_prepared_stmt(v_sql); END IF; IF (in_action IN ('create_table', 'create_tmp')) THEN IF (in_action = 'create_table') THEN CALL sys.execute_prepared_stmt(REPLACE(REPLACE(v_digest_table_template, '%{TEMPORARY}', ''), '%{TABLE_NAME}', v_quoted_table)); ELSE CALL sys.execute_prepared_stmt(REPLACE(REPLACE(v_digest_table_template, '%{TEMPORARY}', 'TEMPORARY '), '%{TABLE_NAME}', v_quoted_table)); END IF; ELSEIF (in_action = 'save') THEN CALL sys.execute_prepared_stmt(CONCAT('DELETE FROM ', v_quoted_table)); CALL sys.execute_prepared_stmt(CONCAT('INSERT INTO ', v_quoted_table, ' SELECT * FROM tmp_digests')); ELSEIF (in_action = 'cleanup') THEN DROP TEMPORARY TABLE IF EXISTS sys.tmp_digests; DROP TEMPORARY TABLE IF EXISTS sys.tmp_digests_delta; ELSEIF (in_action IN ('overall', 'delta')) THEN IF (in_action = 'overall') THEN IF (in_table IS NULL) THEN SET v_digests_table = 'tmp_digests'; ELSE SET v_digests_table = v_quoted_table; END IF; ELSE SET v_digests_table = 'tmp_digests_delta'; DROP TEMPORARY TABLE IF EXISTS tmp_digests_delta; CREATE TEMPORARY TABLE tmp_digests_delta LIKE tmp_digests; SET v_sql = CONCAT('INSERT INTO tmp_digests_delta SELECT `d_end`.`SCHEMA_NAME`, `d_end`.`DIGEST`, `d_end`.`DIGEST_TEXT`, `d_end`.`COUNT_STAR`-IFNULL(`d_start`.`COUNT_STAR`, 0) AS ''COUNT_STAR'', `d_end`.`SUM_TIMER_WAIT`-IFNULL(`d_start`.`SUM_TIMER_WAIT`, 0) AS ''SUM_TIMER_WAIT'', `d_end`.`MIN_TIMER_WAIT` AS ''MIN_TIMER_WAIT'', IFNULL((`d_end`.`SUM_TIMER_WAIT`-IFNULL(`d_start`.`SUM_TIMER_WAIT`, 0))/NULLIF(`d_end`.`COUNT_STAR`-IFNULL(`d_start`.`COUNT_STAR`, 0), 0), 0) AS ''AVG_TIMER_WAIT'', `d_end`.`MAX_TIMER_WAIT` AS ''MAX_TIMER_WAIT'', `d_end`.`SUM_LOCK_TIME`-IFNULL(`d_start`.`SUM_LOCK_TIME`, 0) AS ''SUM_LOCK_TIME'', `d_end`.`SUM_ERRORS`-IFNULL(`d_start`.`SUM_ERRORS`, 0) AS ''SUM_ERRORS'', `d_end`.`SUM_WARNINGS`-IFNULL(`d_start`.`SUM_WARNINGS`, 0) AS ''SUM_WARNINGS'', `d_end`.`SUM_ROWS_AFFECTED`-IFNULL(`d_start`.`SUM_ROWS_AFFECTED`, 0) AS ''SUM_ROWS_AFFECTED'', `d_end`.`SUM_ROWS_SENT`-IFNULL(`d_start`.`SUM_ROWS_SENT`, 0) AS ''SUM_ROWS_SENT'', `d_end`.`SUM_ROWS_EXAMINED`-IFNULL(`d_start`.`SUM_ROWS_EXAMINED`, 0) AS ''SUM_ROWS_EXAMINED'', `d_end`.`SUM_CREATED_TMP_DISK_TABLES`-IFNULL(`d_start`.`SUM_CREATED_TMP_DISK_TABLES`, 0) AS ''SUM_CREATED_TMP_DISK_TABLES'', `d_end`.`SUM_CREATED_TMP_TABLES`-IFNULL(`d_start`.`SUM_CREATED_TMP_TABLES`, 0) AS ''SUM_CREATED_TMP_TABLES'', `d_end`.`SUM_SELECT_FULL_JOIN`-IFNULL(`d_start`.`SUM_SELECT_FULL_JOIN`, 0) AS ''SUM_SELECT_FULL_JOIN'', `d_end`.`SUM_SELECT_FULL_RANGE_JOIN`-IFNULL(`d_start`.`SUM_SELECT_FULL_RANGE_JOIN`, 0) AS ''SUM_SELECT_FULL_RANGE_JOIN'', `d_end`.`SUM_SELECT_RANGE`-IFNULL(`d_start`.`SUM_SELECT_RANGE`, 0) AS ''SUM_SELECT_RANGE'', `d_end`.`SUM_SELECT_RANGE_CHECK`-IFNULL(`d_start`.`SUM_SELECT_RANGE_CHECK`, 0) AS ''SUM_SELECT_RANGE_CHECK'', `d_end`.`SUM_SELECT_SCAN`-IFNULL(`d_start`.`SUM_SELECT_SCAN`, 0) AS ''SUM_SELECT_SCAN'', `d_end`.`SUM_SORT_MERGE_PASSES`-IFNULL(`d_start`.`SUM_SORT_MERGE_PASSES`, 0) AS ''SUM_SORT_MERGE_PASSES'', `d_end`.`SUM_SORT_RANGE`-IFNULL(`d_start`.`SUM_SORT_RANGE`, 0) AS ''SUM_SORT_RANGE'', `d_end`.`SUM_SORT_ROWS`-IFNULL(`d_start`.`SUM_SORT_ROWS`, 0) AS ''SUM_SORT_ROWS'', `d_end`.`SUM_SORT_SCAN`-IFNULL(`d_start`.`SUM_SORT_SCAN`, 0) AS ''SUM_SORT_SCAN'', `d_end`.`SUM_NO_INDEX_USED`-IFNULL(`d_start`.`SUM_NO_INDEX_USED`, 0) AS ''SUM_NO_INDEX_USED'', `d_end`.`SUM_NO_GOOD_INDEX_USED`-IFNULL(`d_start`.`SUM_NO_GOOD_INDEX_USED`, 0) AS ''SUM_NO_GOOD_INDEX_USED'', `d_end`.`FIRST_SEEN`, `d_end`.`LAST_SEEN` FROM tmp_digests d_end LEFT OUTER JOIN ', v_quoted_table, ' d_start ON `d_start`.`DIGEST` = `d_end`.`DIGEST` AND (`d_start`.`SCHEMA_NAME` = `d_end`.`SCHEMA_NAME` OR (`d_start`.`SCHEMA_NAME` IS NULL AND `d_end`.`SCHEMA_NAME` IS NULL) ) WHERE `d_end`.`COUNT_STAR`-IFNULL(`d_start`.`COUNT_STAR`, 0) > 0'); CALL sys.execute_prepared_stmt(v_sql); END IF; IF (FIND_IN_SET('with_runtimes_in_95th_percentile', in_views)) THEN SELECT 'Queries with Runtime in 95th Percentile' AS 'Next Output'; DROP TEMPORARY TABLE IF EXISTS tmp_digest_avg_latency_distribution1; DROP TEMPORARY TABLE IF EXISTS tmp_digest_avg_latency_distribution2; DROP TEMPORARY TABLE IF EXISTS tmp_digest_95th_percentile_by_avg_us; CREATE TEMPORARY TABLE tmp_digest_avg_latency_distribution1 ( cnt bigint unsigned NOT NULL, avg_us decimal(21,0) NOT NULL, PRIMARY KEY (avg_us) ) ENGINE=InnoDB; SET v_sql = CONCAT('INSERT INTO tmp_digest_avg_latency_distribution1 SELECT COUNT(*) cnt, ROUND(avg_timer_wait/1000000) AS avg_us FROM ', v_digests_table, ' GROUP BY avg_us'); CALL sys.execute_prepared_stmt(v_sql); CREATE TEMPORARY TABLE tmp_digest_avg_latency_distribution2 LIKE tmp_digest_avg_latency_distribution1; INSERT INTO tmp_digest_avg_latency_distribution2 SELECT * FROM tmp_digest_avg_latency_distribution1; CREATE TEMPORARY TABLE tmp_digest_95th_percentile_by_avg_us ( avg_us decimal(21,0) NOT NULL, percentile decimal(46,4) NOT NULL, PRIMARY KEY (avg_us) ) ENGINE=InnoDB; SET v_sql = CONCAT('INSERT INTO tmp_digest_95th_percentile_by_avg_us SELECT s2.avg_us avg_us, IFNULL(SUM(s1.cnt)/NULLIF((SELECT COUNT(*) FROM ', v_digests_table, '), 0), 0) percentile FROM tmp_digest_avg_latency_distribution1 AS s1 JOIN tmp_digest_avg_latency_distribution2 AS s2 ON s1.avg_us <= s2.avg_us GROUP BY s2.avg_us HAVING percentile > 0.95 ORDER BY percentile LIMIT 1'); CALL sys.execute_prepared_stmt(v_sql); SET v_sql = REPLACE( REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'statements_with_runtimes_in_95th_percentile' ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ), 'sys.x$ps_digest_95th_percentile_by_avg_us', '`sys`.`x$ps_digest_95th_percentile_by_avg_us`' ); CALL sys.execute_prepared_stmt(v_sql); DROP TEMPORARY TABLE tmp_digest_avg_latency_distribution1; DROP TEMPORARY TABLE tmp_digest_avg_latency_distribution2; DROP TEMPORARY TABLE tmp_digest_95th_percentile_by_avg_us; END IF; IF (FIND_IN_SET('analysis', in_views)) THEN SELECT CONCAT('Top ', @sys.statement_performance_analyzer.limit, ' Queries Ordered by Total Latency') AS 'Next Output'; SET v_sql = REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'statement_analysis' ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ); IF (@sys.statement_performance_analyzer.limit > 0) THEN SET v_sql = CONCAT(v_sql, ' LIMIT ', @sys.statement_performance_analyzer.limit); END IF; CALL sys.execute_prepared_stmt(v_sql); END IF; IF (FIND_IN_SET('with_errors_or_warnings', in_views)) THEN SELECT CONCAT('Top ', @sys.statement_performance_analyzer.limit, ' Queries with Errors') AS 'Next Output'; SET v_sql = REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'statements_with_errors_or_warnings' ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ); IF (@sys.statement_performance_analyzer.limit > 0) THEN SET v_sql = CONCAT(v_sql, ' LIMIT ', @sys.statement_performance_analyzer.limit); END IF; CALL sys.execute_prepared_stmt(v_sql); END IF; IF (FIND_IN_SET('with_full_table_scans', in_views)) THEN SELECT CONCAT('Top ', @sys.statement_performance_analyzer.limit, ' Queries with Full Table Scan') AS 'Next Output'; SET v_sql = REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'statements_with_full_table_scans' ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ); IF (@sys.statement_performance_analyzer.limit > 0) THEN SET v_sql = CONCAT(v_sql, ' LIMIT ', @sys.statement_performance_analyzer.limit); END IF; CALL sys.execute_prepared_stmt(v_sql); END IF; IF (FIND_IN_SET('with_sorting', in_views)) THEN SELECT CONCAT('Top ', @sys.statement_performance_analyzer.limit, ' Queries with Sorting') AS 'Next Output'; SET v_sql = REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'statements_with_sorting' ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ); IF (@sys.statement_performance_analyzer.limit > 0) THEN SET v_sql = CONCAT(v_sql, ' LIMIT ', @sys.statement_performance_analyzer.limit); END IF; CALL sys.execute_prepared_stmt(v_sql); END IF; IF (FIND_IN_SET('with_temp_tables', in_views)) THEN SELECT CONCAT('Top ', @sys.statement_performance_analyzer.limit, ' Queries with Internal Temporary Tables') AS 'Next Output'; SET v_sql = REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'statements_with_temp_tables' ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ); IF (@sys.statement_performance_analyzer.limit > 0) THEN SET v_sql = CONCAT(v_sql, ' LIMIT ', @sys.statement_performance_analyzer.limit); END IF; CALL sys.execute_prepared_stmt(v_sql); END IF; IF (FIND_IN_SET('custom', in_views)) THEN SELECT CONCAT('Top ', @sys.statement_performance_analyzer.limit, ' Queries Using Custom View') AS 'Next Output'; IF (@sys.statement_performance_analyzer.view IS NULL) THEN SET @sys.statement_performance_analyzer.view = sys.sys_get_config('statement_performance_analyzer.view', NULL); END IF; IF (@sys.statement_performance_analyzer.view IS NULL) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'The @sys.statement_performance_analyzer.view user variable must be set with the view or query to use.'; END IF; IF (NOT INSTR(@sys.statement_performance_analyzer.view, ' ')) THEN IF (NOT INSTR(@sys.statement_performance_analyzer.view, '.')) THEN SET v_custom_db = DATABASE(), v_custom_name = @sys.statement_performance_analyzer.view; ELSE SET v_custom_db = SUBSTRING_INDEX(@sys.statement_performance_analyzer.view, '.', 1); SET v_custom_name = SUBSTRING(@sys.statement_performance_analyzer.view, CHAR_LENGTH(v_custom_db)+2); END IF; CALL sys.table_exists(v_custom_db, v_custom_name, v_custom_view_exists); IF (v_custom_view_exists <> 'VIEW') THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'The @sys.statement_performance_analyzer.view user variable is set but specified neither an existing view nor a query.'; END IF; SET v_sql = REPLACE( (SELECT VIEW_DEFINITION FROM information_schema.VIEWS WHERE TABLE_SCHEMA = v_custom_db AND TABLE_NAME = v_custom_name ), '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table ); ELSE SET v_sql = REPLACE(@sys.statement_performance_analyzer.view, '`performance_schema`.`events_statements_summary_by_digest`', v_digests_table); END IF; IF (@sys.statement_performance_analyzer.limit > 0) THEN SET v_sql = CONCAT(v_sql, ' LIMIT ', @sys.statement_performance_analyzer.limit); END IF; CALL sys.execute_prepared_stmt(v_sql); END IF; END IF; IF (v_this_thread_enabled = 'YES') THEN CALL sys.ps_setup_enable_thread(CONNECTION_ID()); END IF; IF (@log_bin = 1) THEN SET sql_log_bin = @log_bin; END IF; END; DROP PROCEDURE IF EXISTS table_exists; CREATE DEFINER='mysql.sys'@'localhost' PROCEDURE table_exists ( IN in_db VARCHAR(64), IN in_table VARCHAR(64), OUT out_exists ENUM('', 'BASE TABLE', 'VIEW', 'TEMPORARY') ) COMMENT '\n Description\n \n Tests whether the table specified in in_db and in_table exists either as a regular\n table, or as a temporary table. The returned value corresponds to the table that\n will be used, so if there''s both a temporary and a permanent table with the given\n name, then ''TEMPORARY'' will be returned.\n \n Parameters\n \n in_db (VARCHAR(64)):\n The database name to check for the existance of the table in.\n \n in_table (VARCHAR(64)):\n The name of the table to check the existance of.\n \n out_exists ENUM('''', ''BASE TABLE'', ''VIEW'', ''TEMPORARY''):\n The return value: whether the table exists. The value is one of:\n * '''' - the table does not exist neither as a base table, view, nor temporary table.\n * ''BASE TABLE'' - the table name exists as a permanent base table table.\n * ''VIEW'' - the table name exists as a view.\n * ''TEMPORARY'' - the table name exists as a temporary table.\n \n Example\n \n mysql> CREATE DATABASE db1;\n Query OK, 1 row affected (0.07 sec)\n \n mysql> use db1;\n Database changed\n mysql> CREATE TABLE t1 (id INT PRIMARY KEY);\n Query OK, 0 rows affected (0.08 sec)\n \n mysql> CREATE TABLE t2 (id INT PRIMARY KEY);\n Query OK, 0 rows affected (0.08 sec)\n \n mysql> CREATE view v_t1 AS SELECT * FROM t1;\n Query OK, 0 rows affected (0.00 sec)\n \n mysql> CREATE TEMPORARY TABLE t1 (id INT PRIMARY KEY);\n Query OK, 0 rows affected (0.00 sec)\n \n mysql> CALL sys.table_exists(''db1'', ''t1'', @exists); SELECT @exists;\n Query OK, 0 rows affected (0.00 sec)\n \n +------------+\n | @exists |\n +------------+\n | TEMPORARY |\n +------------+\n 1 row in set (0.00 sec)\n \n mysql> CALL sys.table_exists(''db1'', ''t2'', @exists); SELECT @exists;\n Query OK, 0 rows affected (0.00 sec)\n \n +------------+\n | @exists |\n +------------+\n | BASE TABLE |\n +------------+\n 1 row in set (0.01 sec)\n \n mysql> CALL sys.table_exists(''db1'', ''v_t1'', @exists); SELECT @exists;\n Query OK, 0 rows affected (0.00 sec)\n \n +---------+\n | @exists |\n +---------+\n | VIEW |\n +---------+\n 1 row in set (0.00 sec)\n \n mysql> CALL sys.table_exists(''db1'', ''t3'', @exists); SELECT @exists;\n Query OK, 0 rows affected (0.01 sec)\n \n +---------+\n | @exists |\n +---------+\n | |\n +---------+\n 1 row in set (0.00 sec)\n ' SQL SECURITY INVOKER NOT DETERMINISTIC CONTAINS SQL BEGIN DECLARE v_error BOOLEAN DEFAULT FALSE; DECLARE CONTINUE HANDLER FOR 1050 SET v_error = TRUE; DECLARE CONTINUE HANDLER FOR 1146 SET v_error = TRUE; SET out_exists = ''; IF (EXISTS(SELECT 1 FROM information_schema.TABLES WHERE TABLE_SCHEMA = in_db AND TABLE_NAME = in_table)) THEN SET @sys.tmp.table_exists.SQL = CONCAT('CREATE TEMPORARY TABLE `', in_db, '`.`', in_table, '` (id INT PRIMARY KEY)'); PREPARE stmt_create_table FROM @sys.tmp.table_exists.SQL; EXECUTE stmt_create_table; DEALLOCATE PREPARE stmt_create_table; IF (v_error) THEN SET out_exists = 'TEMPORARY'; ELSE SET @sys.tmp.table_exists.SQL = CONCAT('DROP TEMPORARY TABLE `', in_db, '`.`', in_table, '`'); PREPARE stmt_drop_table FROM @sys.tmp.table_exists.SQL; EXECUTE stmt_drop_table; DEALLOCATE PREPARE stmt_drop_table; SET out_exists = (SELECT TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = in_db AND TABLE_NAME = in_table); END IF; ELSE SET @sys.tmp.table_exists.SQL = CONCAT('SELECT COUNT(*) FROM `', in_db, '`.`', in_table, '`'); PREPARE stmt_select FROM @sys.tmp.table_exists.SQL; IF (NOT v_error) THEN DEALLOCATE PREPARE stmt_select; SET out_exists = 'TEMPORARY'; END IF; END IF; END; TRUNCATE TABLE help_category; TRUNCATE TABLE help_relation; INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (1,'Geographic',0,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (2,'Polygon properties',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (3,'Numeric Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (4,'WKT',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (5,'Plugins',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (6,'Control flow functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (7,'MBR',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (8,'Transactions',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (9,'Help Metadata',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (10,'Account Management',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (11,'Point properties',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (12,'Encryption Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (13,'LineString properties',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (14,'Miscellaneous Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (15,'Logical operators',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (16,'Functions and Modifiers for Use with GROUP BY',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (17,'Information Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (18,'Storage Engines',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (19,'Bit Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (20,'Comparison operators',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (21,'Table Maintenance',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (22,'User-Defined Functions',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (23,'Data Types',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (24,'Compound Statements',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (25,'Geometry constructors',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (26,'GeometryCollection properties',1,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (27,'Administration',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (28,'Data Manipulation',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (29,'Utility',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (30,'Language Structure',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (31,'Geometry relations',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (32,'Date and Time Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (33,'WKB',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (34,'Procedures',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (35,'Geographic Features',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (36,'Contents',0,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (37,'Geometry properties',35,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (38,'String Functions',39,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (39,'Functions',36,''); INSERT INTO help_category (help_category_id,name,parent_category_id,url) VALUES (40,'Data Definition',36,''); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (0,28,'JOIN','MySQL supports the following JOIN syntax for the table_references part\nof SELECT statements and multiple-table DELETE and UPDATE statements:\n\ntable_references:\n escaped_table_reference [, escaped_table_reference] ...\n\nescaped_table_reference:\n table_reference\n | { OJ table_reference }\n\ntable_reference:\n table_factor\n | join_table\n\ntable_factor:\n tbl_name [PARTITION (partition_names)]\n [[AS] alias] [index_hint_list]\n | table_subquery [AS] alias\n | ( table_references )\n\njoin_table:\n table_reference [INNER | CROSS] JOIN table_factor [join_condition]\n | table_reference STRAIGHT_JOIN table_factor\n | table_reference STRAIGHT_JOIN table_factor ON conditional_expr\n | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition\n | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor\n\njoin_condition:\n ON conditional_expr\n | USING (column_list)\n\nindex_hint_list:\n index_hint [, index_hint] ...\n\nindex_hint:\n USE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])\n | IGNORE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)\n | FORCE {INDEX|KEY}\n [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)\n\nindex_list:\n index_name [, index_name] ...\n\nA table reference is also known as a join expression.\n\nA table reference (when it refers to a partitioned table) may contain a\nPARTITION option, including a list of comma-separated partitions,\nsubpartitions, or both. This option follows the name of the table and\nprecedes any alias declaration. The effect of this option is that rows\nare selected only from the listed partitions or subpartitions. Any\npartitions or subpartitions not named in the list are ignored. For more\ninformation and examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nThe syntax of table_factor is extended in MySQL in comparison with\nstandard SQL. The standard accepts only table_reference, not a list of\nthem inside a pair of parentheses.\n\nThis is a conservative extension if each comma in a list of\ntable_reference items is considered as equivalent to an inner join. For\nexample:\n\nSELECT * FROM t1 LEFT JOIN (t2, t3, t4)\n ON (t2.a = t1.a AND t3.b = t1.b AND t4.c = t1.c)\n\nis equivalent to:\n\nSELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)\n ON (t2.a = t1.a AND t3.b = t1.b AND t4.c = t1.c)\n\nIn MySQL, JOIN, CROSS JOIN, and INNER JOIN are syntactic equivalents\n(they can replace each other). In standard SQL, they are not\nequivalent. INNER JOIN is used with an ON clause, CROSS JOIN is used\notherwise.\n\nIn general, parentheses can be ignored in join expressions containing\nonly inner join operations. MySQL also supports nested joins. See\nhttp://dev.mysql.com/doc/refman/5.7/en/nested-join-optimization.html.\n\nIndex hints can be specified to affect how the MySQL optimizer makes\nuse of indexes. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/index-hints.html. Optimizer\nhints and the optimizer_switch system variable are other ways to\ninfluence optimizer use of indexes. See\nhttp://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html, and\nhttp://dev.mysql.com/doc/refman/5.7/en/switchable-optimizations.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/join.html\n\n','SELECT left_tbl.*\n FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id\n WHERE right_tbl.id IS NULL;\n','http://dev.mysql.com/doc/refman/5.7/en/join.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (1,38,'HEX','Syntax:\nHEX(str), HEX(N)\n\nFor a string argument str, HEX() returns a hexadecimal string\nrepresentation of str where each byte of each character in str is\nconverted to two hexadecimal digits. (Multibyte characters therefore\nbecome more than two digits.) The inverse of this operation is\nperformed by the UNHEX() function.\n\nFor a numeric argument N, HEX() returns a hexadecimal string\nrepresentation of the value of N treated as a longlong (BIGINT) number.\nThis is equivalent to CONV(N,10,16). The inverse of this operation is\nperformed by CONV(HEX(N),16,10).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT X\'616263\', HEX(\'abc\'), UNHEX(HEX(\'abc\'));\n -> \'abc\', 616263, \'abc\'\nmysql> SELECT HEX(255), CONV(HEX(255),16,10);\n -> \'FF\', 255\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (2,7,'CONTAINS','Contains(g1, g2)\n\nMBRContains() and Contains() are synonyms. For more information, see\nthe description of MBRContains().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (3,37,'SRID','SRID(g)\n\nST_SRID() and SRID() are synonyms. For more information, see the\ndescription of ST_SRID().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (4,16,'VARIANCE','Syntax:\nVARIANCE(expr)\n\nReturns the population standard variance of expr. VARIANCE() is a\nsynonym for the standard SQL function VAR_POP(), provided as a MySQL\nextension.\n\nIf there are no matching rows, VARIANCE() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (5,40,'DROP SERVER','Syntax:\nDROP SERVER [ IF EXISTS ] server_name\n\nDrops the server definition for the server named server_name. The\ncorresponding row in the mysql.servers table is deleted. This statement\nrequires the SUPER privilege.\n\nDropping a server for a table does not affect any FEDERATED tables that\nused this connection information when they were created. See [HELP\nCREATE SERVER].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-server.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-server.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (6,26,'ST_GEOMETRYN','ST_GeometryN(gc, N)\n\nReturns the N-th geometry in the GeometryCollection value gc.\nGeometries are numbered beginning with 1. If any argument is NULL or\nthe geometry argument is an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT ST_AsText(ST_GeometryN(ST_GeomFromText(@gc),1));\n+-------------------------------------------------+\n| ST_AsText(ST_GeometryN(ST_GeomFromText(@gc),1)) |\n+-------------------------------------------------+\n| POINT(1 1) |\n+-------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (7,33,'ST_GEOMCOLLFROMWKB','ST_GeomCollFromWKB(wkb[, srid]), ST_GeometryCollectionFromWKB(wkb[,\nsrid])\n\nConstructs a GeometryCollection value using its WKB representation and\nSRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (8,38,'CONCAT','Syntax:\nCONCAT(str1,str2,...)\n\nReturns the string that results from concatenating the arguments. May\nhave one or more arguments. If all arguments are nonbinary strings, the\nresult is a nonbinary string. If the arguments include any binary\nstrings, the result is a binary string. A numeric argument is converted\nto its equivalent nonbinary string form.\n\nCONCAT() returns NULL if any argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT CONCAT(\'My\', \'S\', \'QL\');\n -> \'MySQL\'\nmysql> SELECT CONCAT(\'My\', NULL, \'QL\');\n -> NULL\nmysql> SELECT CONCAT(14.3);\n -> \'14.3\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (9,35,'GEOMETRY HIERARCHY','Geometry is the base class. It is an abstract class. The instantiable\nsubclasses of Geometry are restricted to zero-, one-, and\ntwo-dimensional geometric objects that exist in two-dimensional\ncoordinate space. All instantiable geometry classes are defined so that\nvalid instances of a geometry class are topologically closed (that is,\nall defined geometries include their boundary).\n\nThe base Geometry class has subclasses for Point, Curve, Surface, and\nGeometryCollection:\n\no Point represents zero-dimensional objects.\n\no Curve represents one-dimensional objects, and has subclass\n LineString, with sub-subclasses Line and LinearRing.\n\no Surface is designed for two-dimensional objects and has subclass\n Polygon.\n\no GeometryCollection has specialized zero-, one-, and two-dimensional\n collection classes named MultiPoint, MultiLineString, and\n MultiPolygon for modeling geometries corresponding to collections of\n Points, LineStrings, and Polygons, respectively. MultiCurve and\n MultiSurface are introduced as abstract superclasses that generalize\n the collection interfaces to handle Curves and Surfaces.\n\nGeometry, Curve, Surface, MultiCurve, and MultiSurface are defined as\nnoninstantiable classes. They define a common set of methods for their\nsubclasses and are included for extensibility.\n\nPoint, LineString, Polygon, GeometryCollection, MultiPoint,\nMultiLineString, and MultiPolygon are instantiable classes.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-geometry-class-hierarchy.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-geometry-class-hierarchy.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (10,38,'CHAR FUNCTION','Syntax:\nCHAR(N,... [USING charset_name])\n\nCHAR() interprets each argument N as an integer and returns a string\nconsisting of the characters given by the code values of those\nintegers. NULL values are skipped.\nBy default, CHAR() returns a binary string. To produce a string in a\ngiven character set, use the optional USING clause:\n\nmysql> SELECT CHARSET(CHAR(X\'65\')), CHARSET(CHAR(X\'65\' USING utf8));\n+----------------------+---------------------------------+\n| CHARSET(CHAR(X\'65\')) | CHARSET(CHAR(X\'65\' USING utf8)) |\n+----------------------+---------------------------------+\n| binary | utf8 |\n+----------------------+---------------------------------+\n\nIf USING is given and the result string is illegal for the given\ncharacter set, a warning is issued. Also, if strict SQL mode is\nenabled, the result from CHAR() becomes NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT CHAR(77,121,83,81,\'76\');\n -> \'MySQL\'\nmysql> SELECT CHAR(77,77.3,\'77.3\');\n -> \'MMM\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (11,7,'ASYMMETRIC_DECRYPT','Syntax:\nASYMMETRIC_DECRYPT(algorithm, crypt_str, key_str)\n\nDecrypts an encrypted string using the given algorithm and key string,\nand returns the resulting cleartext as a binary string. If decryption\nfails, the result is NULL.\n\nkey_str must be a valid key string in PEM format. For successful\ndecryption, it must be the public or private key string corresponding\nto the private or public key string used with ASYMMETRIC_ENCRYPT() to\nproduce the encrypted string. algorithm indicates the encryption\nalgorithm used to create the key.\n\nSupported algorithm values: \'RSA\'\n\nFor a usage example, see the description of ASYMMETRIC_ENCRYPT().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (12,27,'SHOW CREATE TRIGGER','Syntax:\nSHOW CREATE TRIGGER trigger_name\n\nThis statement shows the CREATE TRIGGER statement that creates the\nnamed trigger. This statement requires the TRIGGER privilege for the\ntable associated with the trigger.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-create-trigger.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (13,27,'SHOW CREATE PROCEDURE','Syntax:\nSHOW CREATE PROCEDURE proc_name\n\nThis statement is a MySQL extension. It returns the exact string that\ncan be used to re-create the named stored procedure. A similar\nstatement, SHOW CREATE FUNCTION, displays information about stored\nfunctions (see [HELP SHOW CREATE FUNCTION]).\n\nTo use either statement, you must be the user named in the routine\nDEFINER clause or have SELECT access to the mysql.proc table. If you do\nnot have privileges for the routine itself, the value displayed for the\nCreate Procedure or Create Function field will be NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-procedure.html\n\n','mysql> SHOW CREATE PROCEDURE test.simpleproc\\G\n*************************** 1. row ***************************\n Procedure: simpleproc\n sql_mode:\n Create Procedure: CREATE PROCEDURE `simpleproc`(OUT param1 INT)\n BEGIN\n SELECT COUNT(*) INTO param1 FROM t;\n END\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nmysql> SHOW CREATE FUNCTION test.hello\\G\n*************************** 1. row ***************************\n Function: hello\n sql_mode:\n Create Function: CREATE FUNCTION `hello`(s CHAR(20))\n RETURNS CHAR(50)\n RETURN CONCAT(\'Hello, \',s,\'!\')\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.7/en/show-create-procedure.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (14,24,'OPEN','Syntax:\nOPEN cursor_name\n\nThis statement opens a previously declared cursor. For an example, see\nhttp://dev.mysql.com/doc/refman/5.7/en/cursors.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/open.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/open.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (15,31,'ST_INTERSECTS','ST_Intersects(g1, g2)\n\nReturns 1 or 0 to indicate whether g1 spatially intersects g2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (16,38,'LOWER','Syntax:\nLOWER(str)\n\nReturns the string str with all characters changed to lowercase\naccording to the current character set mapping. The default is latin1\n(cp1252 West European).\n\nmysql> SELECT LOWER(\'QUADRATICALLY\');\n -> \'quadratically\'\n\nLOWER() (and UPPER()) are ineffective when applied to binary strings\n(BINARY, VARBINARY, BLOB). To perform lettercase conversion, convert\nthe string to a nonbinary string:\n\nmysql> SET @str = BINARY \'New York\';\nmysql> SELECT LOWER(@str), LOWER(CONVERT(@str USING latin1));\n+-------------+-----------------------------------+\n| LOWER(@str) | LOWER(CONVERT(@str USING latin1)) |\n+-------------+-----------------------------------+\n| New York | new york |\n+-------------+-----------------------------------+\n\nFor collations of Unicode character sets, LOWER() and UPPER() work\naccording to the Unicode Collation Algorithm (UCA) version in the\ncollation name, if there is one, and UCA 4.0.0 if no version is\nspecified. For example, utf8_unicode_520_ci works according to UCA\n5.2.0, whereas utf8_unicode_ci works according to UCA 4.0.0. See\nhttp://dev.mysql.com/doc/refman/5.7/en/charset-unicode-sets.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (17,40,'CREATE TRIGGER','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n TRIGGER trigger_name\n trigger_time trigger_event\n ON tbl_name FOR EACH ROW\n [trigger_order]\n trigger_body\n\ntrigger_time: { BEFORE | AFTER }\n\ntrigger_event: { INSERT | UPDATE | DELETE }\n\ntrigger_order: { FOLLOWS | PRECEDES } other_trigger_name\n\nThis statement creates a new trigger. A trigger is a named database\nobject that is associated with a table, and that activates when a\nparticular event occurs for the table. The trigger becomes associated\nwith the table named tbl_name, which must refer to a permanent table.\nYou cannot associate a trigger with a TEMPORARY table or a view.\n\nTrigger names exist in the schema namespace, meaning that all triggers\nmust have unique names within a schema. Triggers in different schemas\ncan have the same name.\n\nThis section describes CREATE TRIGGER syntax. For additional\ndiscussion, see\nhttp://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html.\n\nCREATE TRIGGER requires the TRIGGER privilege for the table associated\nwith the trigger. The statement might also require the SUPER privilege,\ndepending on the DEFINER value, as described later in this section. If\nbinary logging is enabled, CREATE TRIGGER might require the SUPER\nprivilege, as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-logging.html.\n\nThe DEFINER clause determines the security context to be used when\nchecking access privileges at trigger activation time, as described\nlater in this section.\n\ntrigger_time is the trigger action time. It can be BEFORE or AFTER to\nindicate that the trigger activates before or after each row to be\nmodified.\n\nBasic column value checks occur prior to trigger activation, so you\ncannot use BEFORE triggers to convert values inappropriate for the\ncolumn type to valid values.\n\ntrigger_event indicates the kind of operation that activates the\ntrigger. These trigger_event values are permitted:\n\no INSERT: The trigger activates whenever a new row is inserted into the\n table; for example, through INSERT, LOAD DATA, and REPLACE\n statements.\n\no UPDATE: The trigger activates whenever a row is modified; for\n example, through UPDATE statements.\n\no DELETE: The trigger activates whenever a row is deleted from the\n table; for example, through DELETE and REPLACE statements. DROP TABLE\n and TRUNCATE TABLE statements on the table do not activate this\n trigger, because they do not use DELETE. Dropping a partition does\n not activate DELETE triggers, either.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (18,32,'MONTH','Syntax:\nMONTH(date)\n\nReturns the month for date, in the range 1 to 12 for January to\nDecember, or 0 for dates such as \'0000-00-00\' or \'2008-00-00\' that have\na zero month part.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT MONTH(\'2008-02-03\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (19,7,'ASYMMETRIC_ENCRYPT','Syntax:\nASYMMETRIC_ENCRYPT(algorithm, str, key_str)\n\nEncrypts a string using the given algorithm and key string, and returns\nthe resulting ciphertext as a binary string. If encryption fails, the\nresult is NULL.\n\nThe str length cannot be greater than the key_str length − 11, in\nbytes\n\nkey_str must be a valid key string in PEM format. algorithm indicates\nthe encryption algorithm used to create the key.\n\nSupported algorithm values: \'RSA\'\n\nTo encrypt a string, pass a private or public key string to\nASYMMETRIC_ENCRYPT(). To recover the original unencrypted string, pass\nthe encrypted string to ASYMMETRIC_DECRYPT(), along with the public or\nprivate key string correponding to the private or public key string\nused for encryption.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','-- Generate private/public key pair\nSET @priv = CREATE_ASYMMETRIC_PRIV_KEY(\'RSA\', 1024);\nSET @pub = CREATE_ASYMMETRIC_PUB_KEY(\'RSA\', @priv);\n\n-- Encrypt using private key, decrypt using public key\nSET @ciphertext = ASYMMETRIC_ENCRYPT(\'RSA\', \'The quick brown fox\', @priv);\nSET @cleartext = ASYMMETRIC_DECRYPT(\'RSA\', @ciphertext, @pub);\n\n-- Encrypt using public key, decrypt using private key\nSET @ciphertext = ASYMMETRIC_ENCRYPT(\'RSA\', \'The quick brown fox\', @pub);\nSET @cleartext = ASYMMETRIC_DECRYPT(\'RSA\', @ciphertext, @priv);\n','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (20,27,'SHOW TRIGGERS','Syntax:\nSHOW TRIGGERS\n [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TRIGGERS lists the triggers currently defined for tables in a\ndatabase (the default database unless a FROM clause is given). This\nstatement returns results only for databases and tables for which you\nhave the TRIGGER privilege. The LIKE clause, if present, indicates\nwhich table names to match (not trigger names) and causes the statement\nto display triggers for those tables. The WHERE clause can be given to\nselect rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nFor the trigger ins_sum as defined in\nhttp://dev.mysql.com/doc/refman/5.7/en/triggers.html, the output of\nthis statement is as shown here:\n\nmysql> SHOW TRIGGERS LIKE \'acc%\'\\G\n*************************** 1. row ***************************\n Trigger: ins_sum\n Event: INSERT\n Table: account\n Statement: SET @sum = @sum + NEW.amount\n Timing: BEFORE\n Created: 2013-07-09 10:39:34.96\n sql_mode: NO_ENGINE_SUBSTITUTION\n Definer: me@localhost\ncharacter_set_client: utf8\ncollation_connection: utf8_general_ci\n Database Collation: latin1_swedish_ci\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-triggers.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-triggers.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (21,13,'ISCLOSED','IsClosed(ls)\n\nST_IsClosed() and IsClosed() are synonyms. For more information, see\nthe description of ST_IsClosed().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (22,38,'REGEXP','Syntax:\nexpr REGEXP pat, expr RLIKE pat\n\nReturns 1 if the string expr matches the regular expression specified\nby the pattern pat, 0 otherwise. If either expr or pat is NULL, the\nreturn value is NULL.\n\nRLIKE is a synonym for REGEXP.\n\nThe pattern can be an extended regular expression, the syntax for which\nis discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/regexp.html#regexp-syntax. The\npattern need not be a literal string. For example, it can be specified\nas a string expression or table column.\n\n*Note*:\n\nBecause MySQL uses the C escape syntax in strings (for example, \\n to\nrepresent the newline character), you must double any \\ that you use in\nyour REGEXP arguments.\n\nRegular expression operations use the character set and collation of\nthe string expression and pattern arguments when deciding the type of a\ncharacter and performing the comparison. If the arguments have\ndifferent character sets or collations, coercibility rules apply as\ndescribed in\nhttp://dev.mysql.com/doc/refman/5.7/en/charset-collation-coercibility.h\ntml. If either argument is a binary string, the arguments are handled\nin case-sensitive fashion as binary strings.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/regexp.html\n\n','mysql> SELECT \'Michael!\' REGEXP \'.*\';\n+------------------------+\n| \'Michael!\' REGEXP \'.*\' |\n+------------------------+\n| 1 |\n+------------------------+\nmysql> SELECT \'new*\\n*line\' REGEXP \'new\\\\*.\\\\*line\';\n+---------------------------------------+\n| \'new*\\n*line\' REGEXP \'new\\\\*.\\\\*line\' |\n+---------------------------------------+\n| 0 |\n+---------------------------------------+\nmysql> SELECT \'a\' REGEXP \'^[a-d]\';\n+---------------------+\n| \'a\' REGEXP \'^[a-d]\' |\n+---------------------+\n| 1 |\n+---------------------+\nmysql> SELECT \'a\' REGEXP \'A\', \'a\' REGEXP BINARY \'A\';\n+----------------+-----------------------+\n| \'a\' REGEXP \'A\' | \'a\' REGEXP BINARY \'A\' |\n+----------------+-----------------------+\n| 1 | 0 |\n+----------------+-----------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/regexp.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (23,13,'ST_POINTN','ST_PointN(ls, N)\n\nReturns the N-th Point in the Linestring value ls. Points are numbered\nbeginning with 1. If any argument is NULL or the geometry argument is\nan empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_AsText(ST_PointN(ST_GeomFromText(@ls),2));\n+----------------------------------------------+\n| ST_AsText(ST_PointN(ST_GeomFromText(@ls),2)) |\n+----------------------------------------------+\n| POINT(2 2) |\n+----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (24,24,'IF STATEMENT','Syntax:\nIF search_condition THEN statement_list\n [ELSEIF search_condition THEN statement_list] ...\n [ELSE statement_list]\nEND IF\n\nThe IF statement for stored programs implements a basic conditional\nconstruct.\n\n*Note*:\n\nThere is also an IF() function, which differs from the IF statement\ndescribed here. See\nhttp://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html. The\nIF statement can have THEN, ELSE, and ELSEIF clauses, and it is\nterminated with END IF.\n\nIf the search_condition evaluates to true, the corresponding THEN or\nELSEIF clause statement_list executes. If no search_condition matches,\nthe ELSE clause statement_list executes.\n\nEach statement_list consists of one or more SQL statements; an empty\nstatement_list is not permitted.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/if.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/if.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (25,12,'VALIDATE_PASSWORD_STRENGTH','Syntax:\nVALIDATE_PASSWORD_STRENGTH(str)\n\nGiven an argument representing a cleartext password, this function\nreturns an integer to indicate how strong the password is. The return\nvalue ranges from 0 (weak) to 100 (strong).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (26,7,'WITHIN','Within(g1, g2)\n\nMBRWithin() and Within() are synonyms. For more information, see the\ndescription of MBRWithin().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (27,27,'SHOW PLUGINS','Syntax:\nSHOW PLUGINS\n\nSHOW PLUGINS displays information about server plugins. Plugin\ninformation is also available in the INFORMATION_SCHEMA.PLUGINS table.\nSee http://dev.mysql.com/doc/refman/5.7/en/plugins-table.html.\n\nExample of SHOW PLUGINS output:\n\nmysql> SHOW PLUGINS\\G\n*************************** 1. row ***************************\n Name: binlog\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 2. row ***************************\n Name: CSV\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 3. row ***************************\n Name: MEMORY\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n*************************** 4. row ***************************\n Name: MyISAM\n Status: ACTIVE\n Type: STORAGE ENGINE\nLibrary: NULL\nLicense: GPL\n...\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-plugins.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-plugins.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (28,8,'PREPARE','Syntax:\nPREPARE stmt_name FROM preparable_stmt\n\nThe PREPARE statement prepares a SQL statement and assigns it a name,\nstmt_name, by which to refer to the statement later. The prepared\nstatement is executed with EXECUTE and released with DEALLOCATE\nPREPARE. For examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.h\ntml.\n\nStatement names are not case-sensitive. preparable_stmt is either a\nstring literal or a user variable that contains the text of the SQL\nstatement. The text must represent a single statement, not multiple\nstatements. Within the statement, ? characters can be used as parameter\nmarkers to indicate where data values are to be bound to the query\nlater when you execute it. The ? characters should not be enclosed\nwithin quotation marks, even if you intend to bind them to string\nvalues. Parameter markers can be used only where data values should\nappear, not for SQL keywords, identifiers, and so forth.\n\nIf a prepared statement with the given name already exists, it is\ndeallocated implicitly before the new statement is prepared. This means\nthat if the new statement contains an error and cannot be prepared, an\nerror is returned and no statement with the given name exists.\n\nThe scope of a prepared statement is the session within which it is\ncreated, which as several implications:\n\no A prepared statement created in one session is not available to other\n sessions.\n\no When a session ends, whether normally or abnormally, its prepared\n statements no longer exist. If auto-reconnect is enabled, the client\n is not notified that the connection was lost. For this reason,\n clients may wish to disable auto-reconnect. See\n http://dev.mysql.com/doc/refman/5.7/en/c-api-auto-reconnect.html.\n\no A prepared statement created within a stored program continues to\n exist after the program finishes executing and can be executed\n outside the program later.\n\no A statement prepared in stored program context cannot refer to stored\n procedure or function parameters or local variables because they go\n out of scope when the program ends and would be unavailable were the\n statement to be executed later outside the program. As a workaround,\n refer instead to user-defined variables, which also have session\n scope; see\n http://dev.mysql.com/doc/refman/5.7/en/user-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/prepare.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/prepare.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (29,8,'LOCK','Syntax:\nLOCK TABLES\n tbl_name [[AS] alias] lock_type\n [, tbl_name [[AS] alias] lock_type] ...\n\nlock_type:\n READ [LOCAL]\n | [LOW_PRIORITY] WRITE\n\nUNLOCK TABLES\n\nMySQL enables client sessions to acquire table locks explicitly for the\npurpose of cooperating with other sessions for access to tables, or to\nprevent other sessions from modifying tables during periods when a\nsession requires exclusive access to them. A session can acquire or\nrelease locks only for itself. One session cannot acquire locks for\nanother session or release locks held by another session.\n\nLocks may be used to emulate transactions or to get more speed when\nupdating tables. This is explained in more detail later in this\nsection.\n\nLOCK TABLES explicitly acquires table locks for the current client\nsession. Table locks can be acquired for base tables or views. You must\nhave the LOCK TABLES privilege, and the SELECT privilege for each\nobject to be locked.\n\nFor view locking, LOCK TABLES adds all base tables used in the view to\nthe set of tables to be locked and locks them automatically. If you\nlock a table explicitly with LOCK TABLES, any tables used in triggers\nare also locked implicitly, as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/lock-tables-and-triggers.html.\n\nUNLOCK TABLES explicitly releases any table locks held by the current\nsession. LOCK TABLES implicitly releases any table locks held by the\ncurrent session before acquiring new locks.\n\nAnother use for UNLOCK TABLES is to release the global read lock\nacquired with the FLUSH TABLES WITH READ LOCK statement, which enables\nyou to lock all tables in all databases. See [HELP FLUSH]. (This is a\nvery convenient way to get backups if you have a file system such as\nVeritas that can take snapshots in time.)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/lock-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/lock-tables.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (30,27,'SHOW BINARY LOGS','Syntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [HELP PURGE BINARY LOGS], that shows\nhow to determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name | File_size |\n+---------------+-----------+\n| binlog.000015 | 724935 |\n| binlog.000016 | 733481 |\n+---------------+-----------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-binary-logs.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-binary-logs.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (31,25,'POLYGON','Polygon(ls [, ls] ...)\n\nConstructs a Polygon value from a number of LineString or WKB\nLineString arguments. If any argument does not represent a LinearRing\n(that is, not a closed and simple LineString), the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (32,32,'MINUTE','Syntax:\nMINUTE(time)\n\nReturns the minute for time, in the range 0 to 59.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT MINUTE(\'2008-02-03 10:05:03\');\n -> 5\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (33,38,'MID','Syntax:\nMID(str,pos,len)\n\nMID(str,pos,len) is a synonym for SUBSTRING(str,pos,len).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (34,17,'CONNECTION_ID','Syntax:\nCONNECTION_ID()\n\nReturns the connection ID (thread ID) for the connection. Every\nconnection has an ID that is unique among the set of currently\nconnected clients.\n\nThe value returned by CONNECTION_ID() is the same type of value as\ndisplayed in the ID column of the INFORMATION_SCHEMA.PROCESSLIST table,\nthe Id column of SHOW PROCESSLIST output, and the PROCESSLIST_ID column\nof the Performance Schema threads table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT CONNECTION_ID();\n -> 23786\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (35,28,'DELETE','Syntax:\nDELETE is a DML statement that removes rows from a table.\n\nSingle-Table Syntax\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [WHERE where_condition]\n [ORDER BY ...]\n [LIMIT row_count]\n\nThe DELETE statement deletes rows from tbl_name and returns the number\nof deleted rows. To check the number of deleted rows, call the\nROW_COUNT() function described in\nhttp://dev.mysql.com/doc/refman/5.7/en/information-functions.html.\n\nMain Clauses\n\nThe conditions in the optional WHERE clause identify which rows to\ndelete. With no WHERE clause, all rows are deleted.\n\nwhere_condition is an expression that evaluates to true for each row to\nbe deleted. It is specified as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/select.html.\n\nIf the ORDER BY clause is specified, the rows are deleted in the order\nthat is specified. The LIMIT clause places a limit on the number of\nrows that can be deleted. These clauses apply to single-table deletes,\nbut not multi-table deletes.\n\nMultiple-Table Syntax\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE]\n tbl_name[.*] [, tbl_name[.*]] ...\n FROM table_references\n [WHERE where_condition]\n\nDELETE [LOW_PRIORITY] [QUICK] [IGNORE]\n FROM tbl_name[.*] [, tbl_name[.*]] ...\n USING table_references\n [WHERE where_condition]\n\nPrivileges\n\nYou need the DELETE privilege on a table to delete rows from it. You\nneed only the SELECT privilege for any columns that are only read, such\nas those named in the WHERE clause.\n\nPerformance\n\nWhen you do not need to know the number of deleted rows, the TRUNCATE\nTABLE statement is a faster way to empty a table than a DELETE\nstatement with no WHERE clause. Unlike DELETE, TRUNCATE TABLE cannot be\nused within a transaction or if you have a lock on the table. See [HELP\nTRUNCATE TABLE] and [HELP LOCK].\n\nThe speed of delete operations may also be affected by factors\ndiscussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/delete-optimization.html.\n\nTo ensure that a given DELETE statement does not take too much time,\nthe MySQL-specific LIMIT row_count clause for DELETE specifies the\nmaximum number of rows to be deleted. If the number of rows to delete\nis larger than the limit, repeat the DELETE statement until the number\nof affected rows is less than the LIMIT value.\n\nSubqueries\n\nYou cannot delete from a table and select from the same table in a\nsubquery.\n\nPartitioned Tables\n\nDELETE supports explicit partition selection using the PARTITION\noption, which takes a list of the comma-separated names of one or more\npartitions or subpartitions (or both) from which to select rows to be\ndropped. Partitions not included in the list are ignored. Given a\npartitioned table t with a partition named p0, executing the statement\nDELETE FROM t PARTITION (p0) has the same effect on the table as\nexecuting ALTER TABLE t TRUNCATE PARTITION (p0); in both cases, all\nrows in partition p0 are dropped.\n\nPARTITION can be used along with a WHERE condition, in which case the\ncondition is tested only on rows in the listed partitions. For example,\nDELETE FROM t PARTITION (p0) WHERE c < 5 deletes rows only from\npartition p0 for which the condition c < 5 is true; rows in any other\npartitions are not checked and thus not affected by the DELETE.\n\nThe PARTITION option can also be used in multiple-table DELETE\nstatements. You can use up to one such option per table named in the\nFROM option.\n\nFor more information and examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/delete.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/delete.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (36,7,'JSON_SEARCH','Syntax:\nJSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path]\n...])\n\nReturns the path to the given string within a JSON document. Returns\nNULL if any of the json_doc, search_str, or path arguments are NULL; no\npath exists within the document; or search_str is not found. An error\noccurs if the json_doc argument is not a valid JSON document, any path\nargument is not a valid path expression, one_or_all is not \'one\' or\n\'all\', or escape_char is not a constant expression.\n\nThe one_or_all argument affects the search as follows:\n\no \'one\': The search terminates after the first match and returns one\n path string. It is undefined which match is considered first.\n\no \'all\': The search returns all matching path strings such that no\n duplicate paths are included. If there are multiple strings, they are\n autowrapped as an array. The order of the array elements is\n undefined.\n\nWithin the search_str search string argument, the % and _ characters\nwork as for the LIKE operator: % matches any number of characters\n(including zero characters), and _ matches exactly one character.\n\nTo specify a literal % or _ character in the search string, precede it\nby the escape character. The default is \\ if the escape_char argument\nis missing or NULL. Otherwise, escape_char must be a constant that is\nempty or one character.\n\nFor more information about matching and escape character behavior, see\nthe description of LIKE in\nhttp://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html\n. For escape character handling, a difference from the LIKE behavior is\nthat the escape character for JSON_SEARCH() must evaluate to a constant\nat compile time, not just at execution time. For example, if\nJSON_SEARCH() is used in a prepared statement and the escape_char\nargument is supplied using a ? parameter, the parameter value might be\nconstant at execution time, but is not at compile time.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SET @j = \'["abc", [{"k": "10"}, "def"], {"x":"abc"}, {"y":"bcd"}]\';\n\nmysql> SELECT JSON_SEARCH(@j, \'one\', \'abc\');\n+-------------------------------+\n| JSON_SEARCH(@j, \'one\', \'abc\') |\n+-------------------------------+\n| "$[0]" |\n+-------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'abc\');\n+-------------------------------+\n| JSON_SEARCH(@j, \'all\', \'abc\') |\n+-------------------------------+\n| ["$[0]", "$[2].x"] |\n+-------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'ghi\');\n+-------------------------------+\n| JSON_SEARCH(@j, \'all\', \'ghi\') |\n+-------------------------------+\n| NULL |\n+-------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\');\n+------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\') |\n+------------------------------+\n| "$[1][0].k" |\n+------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$\');\n+-----------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$\') |\n+-----------------------------------------+\n| "$[1][0].k" |\n+-----------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[*]\');\n+--------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[*]\') |\n+--------------------------------------------+\n| "$[1][0].k" |\n+--------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$**.k\');\n+---------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$**.k\') |\n+---------------------------------------------+\n| "$[1][0].k" |\n+---------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[*][0].k\');\n+-------------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[*][0].k\') |\n+-------------------------------------------------+\n| "$[1][0].k" |\n+-------------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[1]\');\n+--------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[1]\') |\n+--------------------------------------------+\n| "$[1][0].k" |\n+--------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[1][0]\');\n+-----------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'10\', NULL, \'$[1][0]\') |\n+-----------------------------------------------+\n| "$[1][0].k" |\n+-----------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'abc\', NULL, \'$[2]\');\n+---------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'abc\', NULL, \'$[2]\') |\n+---------------------------------------------+\n| "$[2].x" |\n+---------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%a%\');\n+-------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%a%\') |\n+-------------------------------+\n| ["$[0]", "$[2].x"] |\n+-------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%b%\');\n+-------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%b%\') |\n+-------------------------------+\n| ["$[0]", "$[2].x", "$[3].y"] |\n+-------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%b%\', NULL, \'$[0]\');\n+---------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%b%\', NULL, \'$[0]\') |\n+---------------------------------------------+\n| "$[0]" |\n+---------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%b%\', NULL, \'$[2]\');\n+---------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%b%\', NULL, \'$[2]\') |\n+---------------------------------------------+\n| "$[2].x" |\n+---------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%b%\', NULL, \'$[1]\');\n+---------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%b%\', NULL, \'$[1]\') |\n+---------------------------------------------+\n| NULL |\n+---------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%b%\', \'\', \'$[1]\');\n+-------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%b%\', \'\', \'$[1]\') |\n+-------------------------------------------+\n| NULL |\n+-------------------------------------------+\n\nmysql> SELECT JSON_SEARCH(@j, \'all\', \'%b%\', \'\', \'$[3]\');\n+-------------------------------------------+\n| JSON_SEARCH(@j, \'all\', \'%b%\', \'\', \'$[3]\') |\n+-------------------------------------------+\n| "$[3].y" |\n+-------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (37,24,'CLOSE','Syntax:\nCLOSE cursor_name\n\nThis statement closes a previously opened cursor. For an example, see\nhttp://dev.mysql.com/doc/refman/5.7/en/cursors.html.\n\nAn error occurs if the cursor is not open.\n\nIf not closed explicitly, a cursor is closed at the end of the BEGIN\n... END block in which it was declared.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/close.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/close.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (38,38,'REPLACE FUNCTION','Syntax:\nREPLACE(str,from_str,to_str)\n\nReturns the string str with all occurrences of the string from_str\nreplaced by the string to_str. REPLACE() performs a case-sensitive\nmatch when searching for from_str.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT REPLACE(\'www.mysql.com\', \'w\', \'Ww\');\n -> \'WwWwWw.mysql.com\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (39,29,'USE','Syntax:\nUSE db_name\n\nThe USE db_name statement tells MySQL to use the db_name database as\nthe default (current) database for subsequent statements. The database\nremains the default until the end of the session or another USE\nstatement is issued:\n\nUSE db1;\nSELECT COUNT(*) FROM mytable; # selects from db1.mytable\nUSE db2;\nSELECT COUNT(*) FROM mytable; # selects from db2.mytable\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/use.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/use.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (40,6,'CASE OPERATOR','Syntax:\nCASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN\nresult ...] [ELSE result] END\n\nCASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]\n[ELSE result] END\n\nThe first CASE syntax returns the result for the first\nvalue=compare_value comparison that is true. The second syntax returns\nthe result for the first condition that is true. If no comparison or\ncondition is true, the result after ELSE is returned, or NULL if there\nis no ELSE part.\n\n*Note*:\n\nThe syntax of the CASE expression described here differs slightly from\nthat of the SQL CASE statement described in [HELP CASE statement], for\nuse inside stored programs. The CASE statement cannot have an ELSE NULL\nclause, and it is terminated with END CASE instead of END.\n\nThe return type of a CASE expression result is the aggregated type of\nall result values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html\n\n','mysql> SELECT CASE 1 WHEN 1 THEN \'one\'\n -> WHEN 2 THEN \'two\' ELSE \'more\' END;\n -> \'one\'\nmysql> SELECT CASE WHEN 1>0 THEN \'true\' ELSE \'false\' END;\n -> \'true\'\nmysql> SELECT CASE BINARY \'B\'\n -> WHEN \'a\' THEN 1 WHEN \'b\' THEN 2 END;\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (41,27,'SHOW MASTER STATUS','Syntax:\nSHOW MASTER STATUS\n\nThis statement provides status information about the binary log files\nof the master. It requires either the SUPER or REPLICATION CLIENT\nprivilege.\n\nExample:\n\nmysql> SHOW MASTER STATUS\\G\n*************************** 1. row ***************************\n File: master-bin.000002\n Position: 1307\n Binlog_Do_DB: test\n Binlog_Ignore_DB: manual, mysql\nExecuted_Gtid_Set: 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5\n1 row in set (0.00 sec)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-master-status.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-master-status.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (42,32,'TO_SECONDS','Syntax:\nTO_SECONDS(expr)\n\nGiven a date or datetime expr, returns the number of seconds since the\nyear 0. If expr is not a valid date or datetime value, returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TO_SECONDS(950501);\n -> 62966505600\nmysql> SELECT TO_SECONDS(\'2009-11-29\');\n -> 63426672000\nmysql> SELECT TO_SECONDS(\'2009-11-29 13:43:32\');\n -> 63426721412\nmysql> SELECT TO_SECONDS( NOW() );\n -> 63426721458\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (43,32,'TIMESTAMPDIFF','Syntax:\nTIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)\n\nReturns datetime_expr2 − datetime_expr1, where datetime_expr1 and\ndatetime_expr2 are date or datetime expressions. One expression may be\na date and the other a datetime; a date value is treated as a datetime\nhaving the time part \'00:00:00\' where necessary. The unit for the\nresult (an integer) is given by the unit argument. The legal values for\nunit are the same as those listed in the description of the\nTIMESTAMPADD() function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPDIFF(MONTH,\'2003-02-01\',\'2003-05-01\');\n -> 3\nmysql> SELECT TIMESTAMPDIFF(YEAR,\'2002-05-01\',\'2001-01-01\');\n -> -1\nmysql> SELECT TIMESTAMPDIFF(MINUTE,\'2003-02-01\',\'2003-05-01 12:05:55\');\n -> 128885\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (44,35,'SPATIAL','For InnoDB and MyISAM tables, MySQL can create spatial indexes using\nsyntax similar to that for creating regular indexes, but using the\nSPATIAL keyword. Columns in spatial indexes must be declared NOT NULL.\nThe following examples demonstrate how to create spatial indexes:\n\no With CREATE TABLE:\n\nCREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g));\n\no With ALTER TABLE:\n\nCREATE TABLE geom (g GEOMETRY NOT NULL);\nALTER TABLE geom ADD SPATIAL INDEX(g);\n\no With CREATE INDEX:\n\nCREATE TABLE geom (g GEOMETRY NOT NULL);\nCREATE SPATIAL INDEX g ON geom (g);\n\nSPATIAL INDEX creates an R-tree index. For storage engines that support\nnonspatial indexing of spatial columns, the engine creates a B-tree\nindex. A B-tree index on spatial values is useful for exact-value\nlookups, but not for range scans.\n\nFor more information on indexing spatial columns, see [HELP CREATE\nINDEX].\n\nTo drop spatial indexes, use ALTER TABLE or DROP INDEX:\n\no With ALTER TABLE:\n\nALTER TABLE geom DROP INDEX g;\n\no With DROP INDEX:\n\nDROP INDEX g ON geom;\n\nExample: Suppose that a table geom contains more than 32,000\ngeometries, which are stored in the column g of type GEOMETRY. The\ntable also has an AUTO_INCREMENT column fid for storing object ID\nvalues.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/creating-spatial-indexes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/creating-spatial-indexes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (45,16,'JSON_ARRAYAGG','Syntax:\nJSON_ARRAYAGG(col_or_expr)\n\nAggregates a result set as a single JSON array whose elements consist\nof the rows. The order of elements in this array is undefined. The\nfunction acts on a column or an expression that evaluates to a single\nvalue. Returns NULL if the result contains no rows, or in the event of\nan error.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT o_id, attribute, value FROM t3;\n+------+-----------+-------+\n| o_id | attribute | value |\n+------+-----------+-------+\n| 2 | color | red |\n| 2 | fabric | silk |\n| 3 | color | green |\n| 3 | shape | square|\n+------+-----------+-------+\n4 rows in set (0.00 sec)\n\nmysql> SELECT o_id, JSON_ARRAYAGG(attribute) AS attributes \n > FROM t3 GROUP BY o_id;\n+------+---------------------+\n| o_id | attributes |\n+------+---------------------+\n| 2 | ["color", "fabric"] |\n| 3 | ["color", "shape"] |\n+------+---------------------+\n2 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (46,38,'REVERSE','Syntax:\nREVERSE(str)\n\nReturns the string str with the order of the characters reversed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT REVERSE(\'abc\');\n -> \'cba\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (47,20,'ISNULL','Syntax:\nISNULL(expr)\n\nIf expr is NULL, ISNULL() returns 1, otherwise it returns 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT ISNULL(1+1);\n -> 0\nmysql> SELECT ISNULL(1/0);\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (48,13,'ST_STARTPOINT','ST_StartPoint(ls)\n\nReturns the Point that is the start point of the LineString value ls.\nIf the argument is NULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_AsText(ST_StartPoint(ST_GeomFromText(@ls)));\n+------------------------------------------------+\n| ST_AsText(ST_StartPoint(ST_GeomFromText(@ls))) |\n+------------------------------------------------+\n| POINT(1 1) |\n+------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (49,23,'BINARY','BINARY[(M)]\n\nThe BINARY type is similar to the CHAR type, but stores binary byte\nstrings rather than nonbinary character strings. An optional length M\nrepresents the column length in bytes. If omitted, M defaults to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (50,23,'BLOB DATA TYPE','A BLOB is a binary large object that can hold a variable amount of\ndata. The four BLOB types are TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB.\nThese differ only in the maximum length of the values they can hold.\nThe four TEXT types are TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT. These\ncorrespond to the four BLOB types and have the same maximum lengths and\nstorage requirements. See\nhttp://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/blob.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/blob.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (51,17,'CURRENT_USER','Syntax:\nCURRENT_USER, CURRENT_USER()\n\nReturns the user name and host name combination for the MySQL account\nthat the server used to authenticate the current client. This account\ndetermines your access privileges. The return value is a string in the\nutf8 character set.\n\nThe value of CURRENT_USER() can differ from the value of USER().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT USER();\n -> \'davida@localhost\'\nmysql> SELECT * FROM mysql.user;\nERROR 1044: Access denied for user \'\'@\'localhost\' to\ndatabase \'mysql\'\nmysql> SELECT CURRENT_USER();\n -> \'@localhost\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (52,20,'<=','Syntax:\n<=\n\nLess than or equal:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 0.1 <= 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (53,27,'SHOW PROFILES','Syntax:\nSHOW PROFILES\n\nThe SHOW PROFILES statement, together with SHOW PROFILE, displays\nprofiling information that indicates resource usage for statements\nexecuted during the course of the current session. For more\ninformation, see [HELP SHOW PROFILE].\n\n*Note*:\n\nThese statements are deprecated and will be removed in a future MySQL\nrelease. Use the Performance Schema instead; see\nhttp://dev.mysql.com/doc/refman/5.7/en/performance-schema.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-profiles.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-profiles.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (54,28,'UPDATE','Syntax:\nUPDATE is a DML statement that modifies rows in a table.\n\nSingle-table syntax:\n\nUPDATE [LOW_PRIORITY] [IGNORE] table_reference\n SET assignment_list\n [WHERE where_condition]\n [ORDER BY ...]\n [LIMIT row_count]\n\nvalue:\n {expr | DEFAULT}\n\nassignment:\n col_name = value\n\nassignment_list:\n assignment [, assignment] ...\n\nMultiple-table syntax:\n\nUPDATE [LOW_PRIORITY] [IGNORE] table_references\n SET assignment_list\n [WHERE where_condition]\n\nFor the single-table syntax, the UPDATE statement updates columns of\nexisting rows in the named table with new values. The SET clause\nindicates which columns to modify and the values they should be given.\nEach value can be given as an expression, or the keyword DEFAULT to set\na column explicitly to its default value. The WHERE clause, if given,\nspecifies the conditions that identify which rows to update. With no\nWHERE clause, all rows are updated. If the ORDER BY clause is\nspecified, the rows are updated in the order that is specified. The\nLIMIT clause places a limit on the number of rows that can be updated.\n\nFor the multiple-table syntax, UPDATE updates rows in each table named\nin table_references that satisfy the conditions. Each matching row is\nupdated once, even if it matches the conditions multiple times. For\nmultiple-table syntax, ORDER BY and LIMIT cannot be used.\n\nFor partitioned tables, both the single-single and multiple-table forms\nof this statement support the use of a PARTITION option as part of a\ntable reference. This option takes a list of one or more partitions or\nsubpartitions (or both). Only the partitions (or subpartitions) listed\nare checked for matches, and a row that is not in any of these\npartitions or subpartitions is not updated, whether it satisfies the\nwhere_condition or not.\n\n*Note*:\n\nUnlike the case when using PARTITION with an INSERT or REPLACE\nstatement, an otherwise valid UPDATE ... PARTITION statement is\nconsidered successful even if no rows in the listed partitions (or\nsubpartitions) match the where_condition.\n\nFor more information and examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nwhere_condition is an expression that evaluates to true for each row to\nbe updated. For expression syntax, see\nhttp://dev.mysql.com/doc/refman/5.7/en/expressions.html.\n\ntable_references and where_condition are specified as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/select.html.\n\nYou need the UPDATE privilege only for columns referenced in an UPDATE\nthat are actually updated. You need only the SELECT privilege for any\ncolumns that are read but not modified.\n\nThe UPDATE statement supports the following modifiers:\n\no With the LOW_PRIORITY modifier, execution of the UPDATE is delayed\n until no other clients are reading from the table. This affects only\n storage engines that use only table-level locking (such as MyISAM,\n MEMORY, and MERGE).\n\no With the IGNORE modifier, the update statement does not abort even if\n errors occur during the update. Rows for which duplicate-key\n conflicts occur on a unique key value are not updated. Rows updated\n to values that would cause data conversion errors are updated to the\n closest valid values instead. For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#ignore-strict-co\n mparison.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/update.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/update.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (55,24,'CASE STATEMENT','Syntax:\nCASE case_value\n WHEN when_value THEN statement_list\n [WHEN when_value THEN statement_list] ...\n [ELSE statement_list]\nEND CASE\n\nOr:\n\nCASE\n WHEN search_condition THEN statement_list\n [WHEN search_condition THEN statement_list] ...\n [ELSE statement_list]\nEND CASE\n\nThe CASE statement for stored programs implements a complex conditional\nconstruct.\n\n*Note*:\n\nThere is also a CASE expression, which differs from the CASE statement\ndescribed here. See\nhttp://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html. The\nCASE statement cannot have an ELSE NULL clause, and it is terminated\nwith END CASE instead of END.\n\nFor the first syntax, case_value is an expression. This value is\ncompared to the when_value expression in each WHEN clause until one of\nthem is equal. When an equal when_value is found, the corresponding\nTHEN clause statement_list executes. If no when_value is equal, the\nELSE clause statement_list executes, if there is one.\n\nThis syntax cannot be used to test for equality with NULL because NULL\n= NULL is false. See\nhttp://dev.mysql.com/doc/refman/5.7/en/working-with-null.html.\n\nFor the second syntax, each WHEN clause search_condition expression is\nevaluated until one is true, at which point its corresponding THEN\nclause statement_list executes. If no search_condition is equal, the\nELSE clause statement_list executes, if there is one.\n\nIf no when_value or search_condition matches the value tested and the\nCASE statement contains no ELSE clause, a Case not found for CASE\nstatement error results.\n\nEach statement_list consists of one or more SQL statements; an empty\nstatement_list is not permitted.\n\nTo handle situations where no value is matched by any WHEN clause, use\nan ELSE containing an empty BEGIN ... END block, as shown in this\nexample. (The indentation used here in the ELSE clause is for purposes\nof clarity only, and is not otherwise significant.)\n\nDELIMITER |\n\nCREATE PROCEDURE p()\n BEGIN\n DECLARE v INT DEFAULT 1;\n\n CASE v\n WHEN 2 THEN SELECT v;\n WHEN 3 THEN SELECT 0;\n ELSE\n BEGIN\n END;\n END CASE;\n END;\n |\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/case.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/case.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (56,7,'ST_SIMPLIFY','ST_Simplify(g, max_distance)\n\nSimplifies a geometry using the Douglas-Peucker algorithm and returns a\nsimplified value of the same type. If any argument is NULL, the return\nvalue is NULL.\n\nThe geometry may be any geometry type, although the Douglas-Peucker\nalgorithm may not actually process every type. A geometry collection is\nprocessed by giving its components one by one to the simplification\nalgorithm, and the returned geometries are put into a geometry\ncollection as result.\n\nThe max_distance argument is the distance (in units of the input\ncoordinates) of a vertex to other segments to be removed. Vertices\nwithin this distance of the simplified linestring are removed. If the\nmax_distance argument is not positive, or is NaN, an ER_WRONG_ARGUMENTS\nerror occurs.\n\nAccording to Boost.Geometry, geometries might become invalid as a\nresult of the simplification process, and the process might create\nself-intersections. To check the validity of the result, pass it to\nST_IsValid().\n\nIf the geometry argument is not a syntactically well-formed geometry\nbyte string, an ER_GIS_INVALID_DATA error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html\n\n','mysql> SET @g = ST_GeomFromText(\'LINESTRING(0 0,0 1,1 1,1 2,2 2,2 3,3 3)\');\nmysql> SELECT ST_AsText(ST_Simplify(@g, 0.5));\n+---------------------------------+\n| ST_AsText(ST_Simplify(@g, 0.5)) |\n+---------------------------------+\n| LINESTRING(0 0,0 1,1 1,2 3,3 3) |\n+---------------------------------+\nmysql> SELECT ST_AsText(ST_Simplify(@g, 1.0));\n+---------------------------------+\n| ST_AsText(ST_Simplify(@g, 1.0)) |\n+---------------------------------+\n| LINESTRING(0 0,3 3) |\n+---------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (57,8,'EXECUTE STATEMENT','Syntax:\nEXECUTE stmt_name\n [USING @var_name [, @var_name] ...]\n\nAfter preparing a statement with PREPARE, you execute it with an\nEXECUTE statement that refers to the prepared statement name. If the\nprepared statement contains any parameter markers, you must supply a\nUSING clause that lists user variables containing the values to be\nbound to the parameters. Parameter values can be supplied only by user\nvariables, and the USING clause must name exactly as many variables as\nthe number of parameter markers in the statement.\n\nYou can execute a given prepared statement multiple times, passing\ndifferent variables to it or setting the variables to different values\nbefore each execution.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/execute.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/execute.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (58,40,'DROP INDEX','Syntax:\nDROP INDEX index_name ON tbl_name\n [algorithm_option | lock_option] ...\n\nalgorithm_option:\n ALGORITHM [=] {DEFAULT|INPLACE|COPY}\n\nlock_option:\n LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}\n\nDROP INDEX drops the index named index_name from the table tbl_name.\nThis statement is mapped to an ALTER TABLE statement to drop the index.\nSee [HELP ALTER TABLE].\n\nTo drop a primary key, the index name is always PRIMARY, which must be\nspecified as a quoted identifier because PRIMARY is a reserved word:\n\nDROP INDEX `PRIMARY` ON t;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-index.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-index.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (59,3,'ABS','Syntax:\nABS(X)\n\nReturns the absolute value of X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ABS(2);\n -> 2\nmysql> SELECT ABS(-32);\n -> 32\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (60,14,'IS_IPV4','Syntax:\nIS_IPV4(expr)\n\nReturns 1 if the argument is a valid IPv4 address specified as a\nstring, 0 otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT IS_IPV4(\'10.0.5.9\'), IS_IPV4(\'10.0.5.256\');\n -> 1, 0\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (61,33,'POLYFROMWKB','PolyFromWKB(wkb[, srid]), PolygonFromWKB(wkb[, srid])\n\nST_PolyFromWKB(), ST_PolygonFromWKB(), PolyFromWKB(), and\nPolygonFromWKB() are synonyms. For more information, see the\ndescription of ST_PolyFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (62,38,'NOT LIKE','Syntax:\nexpr NOT LIKE pat [ESCAPE \'escape_char\']\n\nThis is the same as NOT (expr LIKE pat [ESCAPE \'escape_char\']).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (63,38,'SPACE','Syntax:\nSPACE(N)\n\nReturns a string consisting of N space characters.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT SPACE(6);\n -> \' \'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (64,16,'MAX','Syntax:\nMAX([DISTINCT] expr)\n\nReturns the maximum value of expr. MAX() may take a string argument; in\nsuch cases, it returns the maximum string value. See\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html. The DISTINCT\nkeyword can be used to find the maximum of the distinct values of expr,\nhowever, this produces the same result as omitting DISTINCT.\n\nIf there are no matching rows, MAX() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student_name, MIN(test_score), MAX(test_score)\n FROM student\n GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (65,22,'CREATE FUNCTION UDF','Syntax:\nCREATE [AGGREGATE] FUNCTION function_name\n RETURNS {STRING|INTEGER|REAL|DECIMAL}\n SONAME shared_library_name\n\nA user-defined function (UDF) is a way to extend MySQL with a new\nfunction that works like a native (built-in) MySQL function such as\nABS() or CONCAT().\n\nfunction_name is the name that should be used in SQL statements to\ninvoke the function. The RETURNS clause indicates the type of the\nfunction\'s return value. DECIMAL is a legal value after RETURNS, but\ncurrently DECIMAL functions return string values and should be written\nlike STRING functions.\n\nshared_library_name is the base name of the shared library file that\ncontains the code that implements the function. The file must be\nlocated in the plugin directory. This directory is given by the value\nof the plugin_dir system variable. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/udf-compiling.html.\n\nTo create a function, you must have the INSERT privilege for the mysql\ndatabase. This is necessary because CREATE FUNCTION adds a row to the\nmysql.func system table that records the function\'s name, type, and\nshared library name. If you do not have this table, you should run the\nmysql_upgrade command to create it. See\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-function-udf.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-function-udf.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (66,23,'TIMESTAMP','TIMESTAMP[(fsp)]\n\nA timestamp. The range is \'1970-01-01 00:00:01.000000\' UTC to\n\'2038-01-19 03:14:07.999999\' UTC. TIMESTAMP values are stored as the\nnumber of seconds since the epoch (\'1970-01-01 00:00:00\' UTC). A\nTIMESTAMP cannot represent the value \'1970-01-01 00:00:00\' because that\nis equivalent to 0 seconds from the epoch and the value 0 is reserved\nfor representing \'0000-00-00 00:00:00\', the "zero" TIMESTAMP value.\n\nAn optional fsp value in the range from 0 to 6 may be given to specify\nfractional seconds precision. A value of 0 signifies that there is no\nfractional part. If omitted, the default precision is 0.\n\nThe way the server handles TIMESTAMP definitions depends on the value\nof the explicit_defaults_for_timestamp system variable (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html).\n\nIf explicit_defaults_for_timestamp is enabled, there is no automatic\nassignment of the DEFAULT CURRENT_TIMESTAMP or ON UPDATE\nCURRENT_TIMESTAMP attributes to any TIMESTAMP column. They must be\nincluded explicitly in the column definition. Also, any TIMESTAMP not\nexplicitly declared as NOT NULL permits NULL values.\n\nIf explicit_defaults_for_timestamp is disabled, the server handles\nTIMESTAMP as follows:\n\nUnless specified otherwise, the first TIMESTAMP column in a table is\ndefined to be automatically set to the date and time of the most recent\nmodification if not explicitly assigned a value. This makes TIMESTAMP\nuseful for recording the timestamp of an INSERT or UPDATE operation.\nYou can also set any TIMESTAMP column to the current date and time by\nassigning it a NULL value, unless it has been defined with the NULL\nattribute to permit NULL values.\n\nAutomatic initialization and updating to the current date and time can\nbe specified using DEFAULT CURRENT_TIMESTAMP and ON UPDATE\nCURRENT_TIMESTAMP column definition clauses. By default, the first\nTIMESTAMP column has these properties, as previously noted. However,\nany TIMESTAMP column in a table can be defined to have these\nproperties.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (67,7,'CREATE_ASYMMETRIC_PUB_KEY','Syntax:\nCREATE_ASYMMETRIC_PUB_KEY(algorithm, priv_key_str)\n\nDerives a public key from the given private key using the given\nalgorithm, and returns the key as a binary string in PEM format. If key\nderivation fails, the result is NULL.\n\npriv_key_str must be a valid key string in PEM format. algorithm\nindicates the encryption algorithm used to create the key.\n\nSupported algorithm values: \'RSA\', \'DSA\', \'DH\'\n\nFor a usage example, see the description of\nCREATE_ASYMMETRIC_PRIV_KEY().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (68,27,'CACHE INDEX','Syntax:\nCACHE INDEX\n tbl_index_list [, tbl_index_list] ...\n [PARTITION (partition_list | ALL)]\n IN key_cache_name\n\ntbl_index_list:\n tbl_name [[INDEX|KEY] (index_name[, index_name] ...)]\n\npartition_list:\n partition_name[, partition_name][, ...]\n\nThe CACHE INDEX statement assigns table indexes to a specific key\ncache. It is used only for MyISAM tables. After the indexes have been\nassigned, they can be preloaded into the cache if desired with LOAD\nINDEX INTO CACHE.\n\nThe following statement assigns indexes from the tables t1, t2, and t3\nto the key cache named hot_cache:\n\nmysql> CACHE INDEX t1, t2, t3 IN hot_cache;\n+---------+--------------------+----------+----------+\n| Table | Op | Msg_type | Msg_text |\n+---------+--------------------+----------+----------+\n| test.t1 | assign_to_keycache | status | OK |\n| test.t2 | assign_to_keycache | status | OK |\n| test.t3 | assign_to_keycache | status | OK |\n+---------+--------------------+----------+----------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/cache-index.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/cache-index.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (69,12,'COMPRESS','Syntax:\nCOMPRESS(string_to_compress)\n\nCompresses a string and returns the result as a binary string. This\nfunction requires MySQL to have been compiled with a compression\nlibrary such as zlib. Otherwise, the return value is always NULL. The\ncompressed string can be uncompressed with UNCOMPRESS().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT LENGTH(COMPRESS(REPEAT(\'a\',1000)));\n -> 21\nmysql> SELECT LENGTH(COMPRESS(\'\'));\n -> 0\nmysql> SELECT LENGTH(COMPRESS(\'a\'));\n -> 13\nmysql> SELECT LENGTH(COMPRESS(REPEAT(\'a\',16)));\n -> 15\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (70,28,'HANDLER','Syntax:\nHANDLER tbl_name OPEN [ [AS] alias]\n\nHANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,...)\n [ WHERE where_condition ] [LIMIT ... ]\nHANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }\n [ WHERE where_condition ] [LIMIT ... ]\nHANDLER tbl_name READ { FIRST | NEXT }\n [ WHERE where_condition ] [LIMIT ... ]\n\nHANDLER tbl_name CLOSE\n\nThe HANDLER statement provides direct access to table storage engine\ninterfaces. It is available for InnoDB and MyISAM tables.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/handler.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/handler.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (71,9,'HELP_DATE','This help information was generated from the MySQL 5.7 Reference Manual\non: 2018-06-07\n','',''); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (72,40,'RENAME TABLE','Syntax:\nRENAME TABLE\n tbl_name TO new_tbl_name\n [, tbl_name2 TO new_tbl_name2] ...\n\nRENAME TABLE renames one or more tables. You must have ALTER and DROP\nprivileges for the original table, and CREATE and INSERT privileges for\nthe new table.\n\nFor example, to rename a table named old_table to to new_table, use\nthis statement:\n\nRENAME TABLE old_table TO new_table;\n\nThat statement is equivalent to the following ALTER TABLE statement:\n\nALTER TABLE old_table RENAME new_table;\n\nRENAME TABLE, unlike ALTER TABLE, can rename multiple tables within a\nsingle statement:\n\nRENAME TABLE old_table1 TO new_table1,\n old_table2 TO new_table2,\n old_table3 TO new_table3;\n\nRenaming operations are performed left to right. Thus, to swap two\ntable names, do this (assuming that a table with the intermediary name\ntmp_table does not already exist):\n\nRENAME TABLE old_table TO tmp_table,\n new_table TO old_table,\n tmp_table TO new_table;\n\nWhen you execute RENAME TABLE, you cannot have any locked tables or\nactive transactions. With that condition satisfied, the rename\noperation is done atomically; no other session can access any of the\ntables while the rename is in progress.\n\nIf any errors occur during a RENAME TABLE, the statement fails and no\nchanges are made.\n\nYou can use RENAME TABLE to move a table from one database to another:\n\nRENAME TABLE current_db.tbl_name TO other_db.tbl_name;\n\nUsing this method to move all tables from one database to a different\none in effect renames the database (an operation for which MySQL has no\nsingle statement), except that the original database continues to\nexist, albeit with no tables.\n\nLike RENAME TABLE, ALTER TABLE ... RENAME can also be used to move a\ntable to a different database. Regardless of the statement used, if the\nrename operation would move the table to a database located on a\ndifferent file system, the success of the outcome is platform specific\nand depends on the underlying operating system calls used to move the\ntable files.\n\nIf a table has triggers, attempts to rename the table into a different\ndatabase fail with a Trigger in wrong schema error.\n\nRENAME TABLE does not work for TEMPORARY tables. However, you can use\nALTER TABLE to rename TEMPORARY tables.\n\nRENAME TABLE works for views, except that views cannot be renamed into\na different database.\n\nAny privileges granted specifically for a renamed table or view are not\nmigrated to the new name. They must be changed manually.\n\nRENAME TABLE changes internally generated foreign key constraint names\nand user-defined foreign key constraint names that contain the string\n"tbl_name_ibfk_" to reflect the new table name. InnoDB interprets\nforeign key constraint names that contain the string "tbl_name_ibfk_"\nas internally generated names.\n\nForeign key constraint names that point to the renamed table are\nautomatically updated unless there is a conflict, in which case, the\nstatement fails with an error. A conflict occurs if the renamed\nconstraint name already exists. In such cases, you must drop and\nre-create the foreign keys in order for them to function properly.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/rename-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/rename-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (73,23,'BOOLEAN','BOOL, BOOLEAN\n\nThese types are synonyms for TINYINT(1). A value of zero is considered\nfalse. Nonzero values are considered true:\n\nmysql> SELECT IF(0, \'true\', \'false\');\n+------------------------+\n| IF(0, \'true\', \'false\') |\n+------------------------+\n| false |\n+------------------------+\n\nmysql> SELECT IF(1, \'true\', \'false\');\n+------------------------+\n| IF(1, \'true\', \'false\') |\n+------------------------+\n| true |\n+------------------------+\n\nmysql> SELECT IF(2, \'true\', \'false\');\n+------------------------+\n| IF(2, \'true\', \'false\') |\n+------------------------+\n| true |\n+------------------------+\n\nHowever, the values TRUE and FALSE are merely aliases for 1 and 0,\nrespectively, as shown here:\n\nmysql> SELECT IF(0 = FALSE, \'true\', \'false\');\n+--------------------------------+\n| IF(0 = FALSE, \'true\', \'false\') |\n+--------------------------------+\n| true |\n+--------------------------------+\n\nmysql> SELECT IF(1 = TRUE, \'true\', \'false\');\n+-------------------------------+\n| IF(1 = TRUE, \'true\', \'false\') |\n+-------------------------------+\n| true |\n+-------------------------------+\n\nmysql> SELECT IF(2 = TRUE, \'true\', \'false\');\n+-------------------------------+\n| IF(2 = TRUE, \'true\', \'false\') |\n+-------------------------------+\n| false |\n+-------------------------------+\n\nmysql> SELECT IF(2 = FALSE, \'true\', \'false\');\n+--------------------------------+\n| IF(2 = FALSE, \'true\', \'false\') |\n+--------------------------------+\n| false |\n+--------------------------------+\n\nThe last two statements display the results shown because 2 is equal to\nneither 1 nor 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (74,7,'JSON_EXTRACT','Syntax:\nJSON_EXTRACT(json_doc, path[, path] ...)\n\nReturns data from a JSON document, selected from the parts of the\ndocument matched by the path arguments. Returns NULL if any argument is\nNULL or no paths locate a value in the document. An error occurs if the\njson_doc argument is not a valid JSON document or any path argument is\nnot a valid path expression.\n\nThe return value consists of all values matched by the path arguments.\nIf it is possible that those arguments could return multiple values,\nthe matched values are autowrapped as an array, in the order\ncorresponding to the paths that produced them. Otherwise, the return\nvalue is the single matched value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SELECT JSON_EXTRACT(\'[10, 20, [30, 40]]\', \'$[1]\');\n+--------------------------------------------+\n| JSON_EXTRACT(\'[10, 20, [30, 40]]\', \'$[1]\') |\n+--------------------------------------------+\n| 20 |\n+--------------------------------------------+\nmysql> SELECT JSON_EXTRACT(\'[10, 20, [30, 40]]\', \'$[1]\', \'$[0]\');\n+----------------------------------------------------+\n| JSON_EXTRACT(\'[10, 20, [30, 40]]\', \'$[1]\', \'$[0]\') |\n+----------------------------------------------------+\n| [20, 10] |\n+----------------------------------------------------+\nmysql> SELECT JSON_EXTRACT(\'[10, 20, [30, 40]]\', \'$[2][*]\');\n+-----------------------------------------------+\n| JSON_EXTRACT(\'[10, 20, [30, 40]]\', \'$[2][*]\') |\n+-----------------------------------------------+\n| [30, 40] |\n+-----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (75,3,'MOD','Syntax:\nMOD(N,M), N % M, N MOD M\n\nModulo operation. Returns the remainder of N divided by M.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT MOD(234, 10);\n -> 4\nmysql> SELECT 253 % 7;\n -> 1\nmysql> SELECT MOD(29,9);\n -> 2\nmysql> SELECT 29 MOD 9;\n -> 2\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (76,37,'ST_GEOMETRYTYPE','ST_GeometryType(g)\n\nReturns a binary string indicating the name of the geometry type of\nwhich the geometry instance g is a member, or NULL if the argument is\nNULL. The name corresponds to one of the instantiable Geometry\nsubclasses.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','mysql> SELECT ST_GeometryType(ST_GeomFromText(\'POINT(1 1)\'));\n+------------------------------------------------+\n| ST_GeometryType(ST_GeomFromText(\'POINT(1 1)\')) |\n+------------------------------------------------+\n| POINT |\n+------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (77,29,'HELP STATEMENT','Syntax:\nHELP \'search_string\'\n\nThe HELP statement returns online information from the MySQL Reference\nmanual. Its proper operation requires that the help tables in the mysql\ndatabase be initialized with help topic information (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-side-help-support.html).\n\nThe HELP statement searches the help tables for the given search string\nand displays the result of the search. The search string is not\ncase-sensitive.\n\nThe search string can contain the wildcard characters % and _. These\nhave the same meaning as for pattern-matching operations performed with\nthe LIKE operator. For example, HELP \'rep%\' returns a list of topics\nthat begin with rep.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/help.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/help.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (78,38,'UCASE','Syntax:\nUCASE(str)\n\nUCASE() is a synonym for UPPER().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (79,27,'SHOW BINLOG EVENTS','Syntax:\nSHOW BINLOG EVENTS\n [IN \'log_name\']\n [FROM pos]\n [LIMIT [offset,] row_count]\n\nShows the events in the binary log. If you do not specify \'log_name\',\nthe first binary log is displayed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-binlog-events.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-binlog-events.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (80,33,'MPOLYFROMWKB','MPolyFromWKB(wkb[, srid]), MultiPolygonFromWKB(wkb[, srid])\n\nST_MPolyFromWKB(), ST_MultiPolygonFromWKB(), MPolyFromWKB(), and\nMultiPolygonFromWKB() are synonyms. For more information, see the\ndescription of ST_MPolyFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (81,24,'ITERATE','Syntax:\nITERATE label\n\nITERATE can appear only within LOOP, REPEAT, and WHILE statements.\nITERATE means "start the loop again."\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/iterate.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/iterate.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (82,28,'DO','Syntax:\nDO expr [, expr] ...\n\nDO executes the expressions but does not return any results. In most\nrespects, DO is shorthand for SELECT expr, ..., but has the advantage\nthat it is slightly faster when you do not care about the result.\n\nDO is useful primarily with functions that have side effects, such as\nRELEASE_LOCK().\n\nExample: This SELECT statement pauses, but also produces a result set:\n\nmysql> SELECT SLEEP(5);\n+----------+\n| SLEEP(5) |\n+----------+\n| 0 |\n+----------+\n1 row in set (5.02 sec)\n\nDO, on the other hand, pauses without producing a result set.:\n\nmysql> DO SLEEP(5);\nQuery OK, 0 rows affected (4.99 sec)\n\nThis could be useful, for example in a stored function or trigger,\nwhich prohibit statements that produce result sets.\n\nDO only executes expressions. It cannot be used in all cases where\nSELECT can be used. For example, DO id FROM t1 is invalid because it\nreferences a table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/do.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/do.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (83,38,'CHAR_LENGTH','Syntax:\nCHAR_LENGTH(str)\n\nReturns the length of the string str, measured in characters. A\nmultibyte character counts as a single character. This means that for a\nstring containing five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (84,23,'DATE','DATE\n\nA date. The supported range is \'1000-01-01\' to \'9999-12-31\'. MySQL\ndisplays DATE values in \'YYYY-MM-DD\' format, but permits assignment of\nvalues to DATE columns using either strings or numbers.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (85,33,'ST_ASTEXT','ST_AsText(g), ST_AsWKT(g)\n\nConverts a value in internal geometry format to its WKT representation\nand returns the string result.\n\nIf the argument is NULL, the return value is NULL. If the argument is\nnot a syntactically well-formed geometry, an ER_GIS_INVALID_DATA error\noccurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html\n\n','mysql> SET @g = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_AsText(ST_GeomFromText(@g));\n+--------------------------------+\n| ST_AsText(ST_GeomFromText(@g)) |\n+--------------------------------+\n| LINESTRING(1 1,2 2,3 3) |\n+--------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (86,7,'JSON_TYPE','Syntax:\nJSON_TYPE(json_val)\n\nReturns a utf8mb4 string indicating the type of a JSON value. This can\nbe an object, an array, or a scalar type, as shown here:\n\nmysql> SET @j = \'{"a": [10, true]}\';\nmysql> SELECT JSON_TYPE(@j);\n+---------------+\n| JSON_TYPE(@j) |\n+---------------+\n| OBJECT |\n+---------------+\nmysql> SELECT JSON_TYPE(JSON_EXTRACT(@j, \'$.a\'));\n+------------------------------------+\n| JSON_TYPE(JSON_EXTRACT(@j, \'$.a\')) |\n+------------------------------------+\n| ARRAY |\n+------------------------------------+\nmysql> SELECT JSON_TYPE(JSON_EXTRACT(@j, \'$.a[0]\'));\n+---------------------------------------+\n| JSON_TYPE(JSON_EXTRACT(@j, \'$.a[0]\')) |\n+---------------------------------------+\n| INTEGER |\n+---------------------------------------+\nmysql> SELECT JSON_TYPE(JSON_EXTRACT(@j, \'$.a[1]\'));\n+---------------------------------------+\n| JSON_TYPE(JSON_EXTRACT(@j, \'$.a[1]\')) |\n+---------------------------------------+\n| BOOLEAN |\n+---------------------------------------+\n\nJSON_TYPE() returns NULL if the argument is NULL:\n\nmysql> SELECT JSON_TYPE(NULL);\n+-----------------+\n| JSON_TYPE(NULL) |\n+-----------------+\n| NULL |\n+-----------------+\n\nAn error occurs if the argument is not a valid JSON value:\n\nmysql> SELECT JSON_TYPE(1);\nERROR 3146 (22032): Invalid data type for JSON data in argument 1\nto function json_type; a JSON string or JSON type is required.\n\nFor a non-NULL, non-error result, the following list describes the\npossible JSON_TYPE() return values:\n\no Purely JSON types:\n\n o OBJECT: JSON objects\n\n o ARRAY: JSON arrays\n\n o BOOLEAN: The JSON true and false literals\n\n o NULL: The JSON null literal\n\no Numeric types:\n\n o INTEGER: MySQL TINYINT, SMALLINT, MEDIUMINT and INT and BIGINT\n scalars\n\n o DOUBLE: MySQL DOUBLE FLOAT scalars\n\n o DECIMAL: MySQL DECIMAL and NUMERIC scalars\n\no Temporal types:\n\n o DATETIME: MySQL DATETIME and TIMESTAMP scalars\n\n o DATE: MySQL DATE scalars\n\n o TIME: MySQL TIME scalars\n\no String types:\n\n o STRING: MySQL utf8 character type scalars: CHAR, VARCHAR, TEXT,\n ENUM, and SET\n\no Binary types:\n\n o BLOB: MySQL binary type scalars: BINARY, VARBINARY, BLOB\n\n o BIT: MySQL BIT scalars\n\no All other types:\n\n o OPAQUE (raw bits)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (87,38,'EXTRACTVALUE','Syntax:\nExtractValue(xml_frag, xpath_expr)\n\nExtractValue() takes two string arguments, a fragment of XML markup\nxml_frag and an XPath expression xpath_expr (also known as a locator);\nit returns the text (CDATA) of the first text node which is a child of\nthe element or elements matched by the XPath expression.\n\nUsing this function is the equivalent of performing a match using the\nxpath_expr after appending /text(). In other words,\nExtractValue(\'Sakila\', \'/a/b\') and\nExtractValue(\'Sakila\', \'/a/b/text()\') produce the same\nresult.\n\nIf multiple matches are found, the content of the first child text node\nof each matching element is returned (in the order matched) as a\nsingle, space-delimited string.\n\nIf no matching text node is found for the expression (including the\nimplicit /text())---for whatever reason, as long as xpath_expr is\nvalid, and xml_frag consists of elements which are properly nested and\nclosed---an empty string is returned. No distinction is made between a\nmatch on an empty element and no match at all. This is by design.\n\nIf you need to determine whether no matching element was found in\nxml_frag or such an element was found but contained no child text\nnodes, you should test the result of an expression that uses the XPath\ncount() function. For example, both of these statements return an empty\nstring, as shown here:\n\nmysql> SELECT ExtractValue(\'\', \'/a/b\');\n+-------------------------------------+\n| ExtractValue(\'\', \'/a/b\') |\n+-------------------------------------+\n| |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT ExtractValue(\'\', \'/a/b\');\n+-------------------------------------+\n| ExtractValue(\'\', \'/a/b\') |\n+-------------------------------------+\n| |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nHowever, you can determine whether there was actually a matching\nelement using the following:\n\nmysql> SELECT ExtractValue(\'\', \'count(/a/b)\');\n+-------------------------------------+\n| ExtractValue(\'\', \'count(/a/b)\') |\n+-------------------------------------+\n| 1 |\n+-------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> SELECT ExtractValue(\'\', \'count(/a/b)\');\n+-------------------------------------+\n| ExtractValue(\'\', \'count(/a/b)\') |\n+-------------------------------------+\n| 0 |\n+-------------------------------------+\n1 row in set (0.01 sec)\n\n*Important*:\n\nExtractValue() returns only CDATA, and does not return any tags that\nmight be contained within a matching tag, nor any of their content (see\nthe result returned as val1 in the following example).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/xml-functions.html\n\n','mysql> SELECT\n -> ExtractValue(\'cccddd\', \'/a\') AS val1,\n -> ExtractValue(\'cccddd\', \'/a/b\') AS val2,\n -> ExtractValue(\'cccddd\', \'//b\') AS val3,\n -> ExtractValue(\'cccddd\', \'/b\') AS val4,\n -> ExtractValue(\'cccdddeee\', \'//b\') AS val5;\n\n+------+------+------+------+---------+\n| val1 | val2 | val3 | val4 | val5 |\n+------+------+------+------+---------+\n| ccc | ddd | ddd | | ddd eee |\n+------+------+------+------+---------+\n','http://dev.mysql.com/doc/refman/5.7/en/xml-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (88,12,'OLD_PASSWORD','Syntax:\nOLD_PASSWORD(str)\n\nOLD_PASSWORD() was added when the implementation of PASSWORD() was\nchanged in MySQL 4.1 to improve security. OLD_PASSWORD() returned the\nvalue of the pre-4.1 implementation of PASSWORD() as a string, and was\nintended to permit you to reset passwords for any pre-4.1 clients that\nneed to connect to your MySQL server without locking them out. See\nhttp://dev.mysql.com/doc/refman/5.7/en/password-hashing.html.\n\nPasswords that use the pre-4.1 hashing method are less secure than\npasswords that use the native password hashing method. Support for\npre-4.1 passwords was removed in MySQL 5.7.5, as was OLD_PASSWORD().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (89,38,'FORMAT','Syntax:\nFORMAT(X,D[,locale])\n\nFormats the number X to a format like \'#,###,###.##\', rounded to D\ndecimal places, and returns the result as a string. If D is 0, the\nresult has no decimal point or fractional part.\n\nThe optional third parameter enables a locale to be specified to be\nused for the result number\'s decimal point, thousands separator, and\ngrouping between separators. Permissible locale values are the same as\nthe legal values for the lc_time_names system variable (see\nhttp://dev.mysql.com/doc/refman/5.7/en/locale-support.html). If no\nlocale is specified, the default is \'en_US\'.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT FORMAT(12332.123456, 4);\n -> \'12,332.1235\'\nmysql> SELECT FORMAT(12332.1,4);\n -> \'12,332.1000\'\nmysql> SELECT FORMAT(12332.2,0);\n -> \'12,332\'\nmysql> SELECT FORMAT(12332.2,2,\'de_DE\');\n -> \'12.332,20\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (90,38,'BIT_LENGTH','Syntax:\nBIT_LENGTH(str)\n\nReturns the length of the string str in bits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT BIT_LENGTH(\'text\');\n -> 32\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (91,2,'EXTERIORRING','ExteriorRing(poly)\n\nST_ExteriorRing() and ExteriorRing() are synonyms. For more\ninformation, see the description of ST_ExteriorRing().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (92,33,'GEOMFROMWKB','GeomFromWKB(wkb[, srid]), GeometryFromWKB(wkb[, srid])\n\nST_GeomFromWKB(), ST_GeometryFromWKB(), GeomFromWKB(), and\nGeometryFromWKB() are synonyms. For more information, see the\ndescription of ST_GeomFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (93,20,'BETWEEN AND','Syntax:\nexpr BETWEEN min AND max\n\nIf expr is greater than or equal to min and expr is less than or equal\nto max, BETWEEN returns 1, otherwise it returns 0. This is equivalent\nto the expression (min <= expr AND expr <= max) if all the arguments\nare of the same type. Otherwise type conversion takes place according\nto the rules described in\nhttp://dev.mysql.com/doc/refman/5.7/en/type-conversion.html, but\napplied to all the three arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 BETWEEN 1 AND 3, 2 BETWEEN 3 and 1;\n -> 1, 0\nmysql> SELECT 1 BETWEEN 2 AND 3;\n -> 0\nmysql> SELECT \'b\' BETWEEN \'a\' AND \'c\';\n -> 1\nmysql> SELECT 2 BETWEEN 2 AND \'3\';\n -> 1\nmysql> SELECT 2 BETWEEN 2 AND \'x-3\';\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (94,25,'MULTIPOLYGON','MultiPolygon(poly [, poly] ...)\n\nConstructs a MultiPolygon value from a set of Polygon or WKB Polygon\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (95,38,'LEFT','Syntax:\nLEFT(str,len)\n\nReturns the leftmost len characters from the string str, or NULL if any\nargument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LEFT(\'foobarbar\', 5);\n -> \'fooba\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (96,13,'ST_ISCLOSED','ST_IsClosed(ls)\n\nFor a LineString value ls, ST_IsClosed() returns 1 if ls is closed\n(that is, its ST_StartPoint() and ST_EndPoint() values are the same).\nIf the argument is NULL or an empty geometry, the return value is NULL.\n\nFor a MultiLineString value ls, ST_IsClosed() returns 1 if ls is closed\n(that is, the ST_StartPoint() and ST_EndPoint() values are the same for\neach LineString in ls).\n\nST_IsClosed() returns 0 if ls is not closed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls1 = \'LineString(1 1,2 2,3 3,2 2)\';\nmysql> SET @ls2 = \'LineString(1 1,2 2,3 3,1 1)\';\n\nmysql> SELECT ST_IsClosed(ST_GeomFromText(@ls1));\n+------------------------------------+\n| ST_IsClosed(ST_GeomFromText(@ls1)) |\n+------------------------------------+\n| 0 |\n+------------------------------------+\n\nmysql> SELECT ST_IsClosed(ST_GeomFromText(@ls2));\n+------------------------------------+\n| ST_IsClosed(ST_GeomFromText(@ls2)) |\n+------------------------------------+\n| 1 |\n+------------------------------------+\n\nmysql> SET @ls3 = \'MultiLineString((1 1,2 2,3 3),(4 4,5 5))\';\n\nmysql> SELECT ST_IsClosed(ST_GeomFromText(@ls3));\n+------------------------------------+\n| ST_IsClosed(ST_GeomFromText(@ls3)) |\n+------------------------------------+\n| 0 |\n+------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (97,27,'FLUSH QUERY CACHE','You can defragment the query cache to better utilize its memory with\nthe FLUSH QUERY CACHE statement. The statement does not remove any\nqueries from the cache.\n\nThe RESET QUERY CACHE statement removes all query results from the\nquery cache. The FLUSH TABLES statement also does this.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/query-cache-status-and-maintenance.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/query-cache-status-and-maintenance.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (98,23,'SET DATA TYPE','SET(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA set. A string object that can have zero or more values, each of which\nmust be chosen from the list of values \'value1\', \'value2\', ... SET\nvalues are represented internally as integers.\n\nA SET column can have a maximum of 64 distinct members. A table can\nhave no more than 255 unique element list definitions among its ENUM\nand SET columns considered as a group. For more information on this\nlimit, see http://dev.mysql.com/doc/refman/5.7/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (99,3,'RAND','Syntax:\nRAND([N])\n\nReturns a random floating-point value v in the range 0 <= v < 1.0. To\nobtain a random integer R in the range i <= R < j, use the expression\nFLOOR(i + RAND() * (j − i)). For example, to obtain a random integer\nin the range the range 7 <= R < 12, use the following statement:\n\nSELECT FLOOR(7 + (RAND() * 5));\n\nIf an integer argument N is specified, it is used as the seed value:\n\no With a constant initializer argument, the seed is initialized once\n when the statement is prepared, prior to execution.\n\no With a nonconstant initializer argument (such as a column name), the\n seed is initialized with the value for each invocation of RAND().\n\nOne implication of this behavior is that for equal argument values,\nRAND(N) returns the same value each time, and thus produces a\nrepeatable sequence of column values. In the following example, the\nsequence of values produced by RAND(3) is the same both places it\noccurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> CREATE TABLE t (i INT);\nQuery OK, 0 rows affected (0.42 sec)\n\nmysql> INSERT INTO t VALUES(1),(2),(3);\nQuery OK, 3 rows affected (0.00 sec)\nRecords: 3 Duplicates: 0 Warnings: 0\n\nmysql> SELECT i, RAND() FROM t;\n+------+------------------+\n| i | RAND() |\n+------+------------------+\n| 1 | 0.61914388706828 |\n| 2 | 0.93845168309142 |\n| 3 | 0.83482678498591 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND(3) FROM t;\n+------+------------------+\n| i | RAND(3) |\n+------+------------------+\n| 1 | 0.90576975597606 |\n| 2 | 0.37307905813035 |\n| 3 | 0.14808605345719 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND() FROM t;\n+------+------------------+\n| i | RAND() |\n+------+------------------+\n| 1 | 0.35877890638893 |\n| 2 | 0.28941420772058 |\n| 3 | 0.37073435016976 |\n+------+------------------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT i, RAND(3) FROM t;\n+------+------------------+\n| i | RAND(3) |\n+------+------------------+\n| 1 | 0.90576975597606 |\n| 2 | 0.37307905813035 |\n| 3 | 0.14808605345719 |\n+------+------------------+\n3 rows in set (0.01 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (100,38,'RPAD','Syntax:\nRPAD(str,len,padstr)\n\nReturns the string str, right-padded with the string padstr to a length\nof len characters. If str is longer than len, the return value is\nshortened to len characters.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT RPAD(\'hi\',5,\'?\');\n -> \'hi???\'\nmysql> SELECT RPAD(\'hi\',1,\'?\');\n -> \'h\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (101,23,'DEC','DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED]\n[ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]\n\nThese types are synonyms for DECIMAL. The FIXED synonym is available\nfor compatibility with other database systems.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (102,38,'ELT','Syntax:\nELT(N,str1,str2,str3,...)\n\nELT() returns the Nth element of the list of strings: str1 if N = 1,\nstr2 if N = 2, and so on. Returns NULL if N is less than 1 or greater\nthan the number of arguments. ELT() is the complement of FIELD().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT ELT(1, \'Aa\', \'Bb\', \'Cc\', \'Dd\');\n -> \'Aa\'\nmysql> SELECT ELT(4, \'Aa\', \'Bb\', \'Cc\', \'Dd\');\n -> \'Dd\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (103,7,'ST_LONGFROMGEOHASH','ST_LongFromGeoHash(geohash_str)\n\nReturns the longitude from a geohash string value, as a DOUBLE value in\nthe range [−180, 180].\n\nIf the argument is NULL, the return value is NULL. If the argument is\ninvalid, an error occurs.\n\nThe remarks in the description of ST_LatFromGeoHash() regarding the\nmaximum number of characters processed from the geohash_str argument\nalso apply to ST_LongFromGeoHash().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html\n\n','mysql> SELECT ST_LongFromGeoHash(ST_GeoHash(45,-20,10));\n+-------------------------------------------+\n| ST_LongFromGeoHash(ST_GeoHash(45,-20,10)) |\n+-------------------------------------------+\n| 45 |\n+-------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (104,40,'ALTER VIEW','Syntax:\nALTER\n [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n [DEFINER = { user | CURRENT_USER }]\n [SQL SECURITY { DEFINER | INVOKER }]\n VIEW view_name [(column_list)]\n AS select_statement\n [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThis statement changes the definition of a view, which must exist. The\nsyntax is similar to that for CREATE VIEW see [HELP CREATE VIEW]). This\nstatement requires the CREATE VIEW and DROP privileges for the view,\nand some privilege for each column referred to in the SELECT statement.\nALTER VIEW is permitted only to the definer or users with the SUPER\nprivilege.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-view.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-view.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (105,27,'SHOW DATABASES','Syntax:\nSHOW {DATABASES | SCHEMAS}\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW DATABASES lists the databases on the MySQL server host. SHOW\nSCHEMAS is a synonym for SHOW DATABASES. The LIKE clause, if present,\nindicates which database names to match. The WHERE clause can be given\nto select rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nYou see only those databases for which you have some kind of privilege,\nunless you have the global SHOW DATABASES privilege. You can also get\nthis list using the mysqlshow command.\n\nIf the server was started with the --skip-show-database option, you\ncannot use this statement at all unless you have the SHOW DATABASES\nprivilege.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-databases.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-databases.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (106,32,'SEC_TO_TIME','Syntax:\nSEC_TO_TIME(seconds)\n\nReturns the seconds argument, converted to hours, minutes, and seconds,\nas a TIME value. The range of the result is constrained to that of the\nTIME data type. A warning occurs if the argument corresponds to a value\noutside that range.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT SEC_TO_TIME(2378);\n -> \'00:39:38\'\nmysql> SELECT SEC_TO_TIME(2378) + 0;\n -> 3938\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (107,38,'LOCATE','Syntax:\nLOCATE(substr,str), LOCATE(substr,str,pos)\n\nThe first syntax returns the position of the first occurrence of\nsubstring substr in string str. The second syntax returns the position\nof the first occurrence of substring substr in string str, starting at\nposition pos. Returns 0 if substr is not in str. Returns NULL if substr\nor str is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LOCATE(\'bar\', \'foobarbar\');\n -> 4\nmysql> SELECT LOCATE(\'xbar\', \'foobar\');\n -> 0\nmysql> SELECT LOCATE(\'bar\', \'foobarbar\', 5);\n -> 7\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (108,27,'SHOW EVENTS','Syntax:\nSHOW EVENTS\n [{FROM | IN} schema_name]\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement displays information about Event Manager events. It\nrequires the EVENT privilege for the database from which the events are\nto be shown.\n\nIn its simplest form, SHOW EVENTS lists all of the events in the\ncurrent schema:\n\nmysql> SELECT CURRENT_USER(), SCHEMA();\n+----------------+----------+\n| CURRENT_USER() | SCHEMA() |\n+----------------+----------+\n| jon@ghidora | myschema |\n+----------------+----------+\n1 row in set (0.00 sec)\n\nmysql> SHOW EVENTS\\G\n*************************** 1. row ***************************\n Db: myschema\n Name: e_daily\n Definer: jon@ghidora\n Time zone: SYSTEM\n Type: RECURRING\n Execute at: NULL\n Interval value: 10\n Interval field: SECOND\n Starts: 2006-02-09 10:41:23\n Ends: NULL\n Status: ENABLED\n Originator: 0\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n\nTo see events for a specific schema, use the FROM clause. For example,\nto see events for the test schema, use the following statement:\n\nSHOW EVENTS FROM test;\n\nThe LIKE clause, if present, indicates which event names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-events.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-events.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (109,7,'JSON_INSERT','Syntax:\nJSON_INSERT(json_doc, path, val[, path, val] ...)\n\nInserts data into a JSON document and returns the result. Returns NULL\nif any argument is NULL. An error occurs if the json_doc argument is\nnot a valid JSON document or any path argument is not a valid path\nexpression or contains a * or ** wildcard.\n\nThe path-value pairs are evaluated left to right. The document produced\nby evaluating one pair becomes the new value against which the next\npair is evaluated.\n\nA path-value pair for an existing path in the document is ignored and\ndoes not overwrite the existing document value. A path-value pair for a\nnonexisting path in the document adds the value to the document if the\npath identifies one of these types of values:\n\no A member not present in an existing object. The member is added to\n the object and associated with the new value.\n\no A position past the end of an existing array. The array is extended\n with the new value. If the existing value is not an array, it is\n autowrapped as an array, then extended with the new value.\n\nOtherwise, a path-value pair for a nonexisting path in the document is\nignored and has no effect.\n\nFor a comparison of JSON_INSERT(), JSON_REPLACE(), and JSON_SET(), see\nthe discussion of JSON_SET().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'{ "a": 1, "b": [2, 3]}\';\nmysql> SELECT JSON_INSERT(@j, \'$.a\', 10, \'$.c\', \'[true, false]\');\n+----------------------------------------------------+\n| JSON_INSERT(@j, \'$.a\', 10, \'$.c\', \'[true, false]\') |\n+----------------------------------------------------+\n| {"a": 1, "b": [2, 3], "c": "[true, false]"} |\n+----------------------------------------------------+\n\nmysql> SELECT JSON_INSERT(@j, \'$.a\', 10, \'$.c\', CAST(\'[true, false]\' AS JSON));\n+------------------------------------------------------------------+\n| JSON_INSERT(@j, \'$.a\', 10, \'$.c\', CAST(\'[true, false]\' AS JSON)) |\n+------------------------------------------------------------------+\n| {"a": 1, "b": [2, 3], "c": [true, false]} |\n+------------------------------------------------------------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (110,7,'JSON_UNQUOTE','Syntax:\nJSON_UNQUOTE(json_val)\n\nUnquotes JSON value and returns the result as a utf8mb4 string. Returns\nNULL if the argument is NULL. An error occurs if the value starts and\nends with double quotes but is not a valid JSON string literal.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'"abc"\';\nmysql> SELECT @j, JSON_UNQUOTE(@j);\n+-------+------------------+\n| @j | JSON_UNQUOTE(@j) |\n+-------+------------------+\n| "abc" | abc |\n+-------+------------------+\nmysql> SET @j = \'[1, 2, 3]\';\nmysql> SELECT @j, JSON_UNQUOTE(@j);\n+-----------+------------------+\n| @j | JSON_UNQUOTE(@j) |\n+-----------+------------------+\n| [1, 2, 3] | [1, 2, 3] |\n+-----------+------------------+\n\nmysql> SELECT @@sql_mode;\n+------------+\n| @@sql_mode |\n+------------+\n| |\n+------------+\n\nmysql> SELECT JSON_UNQUOTE(\'"\\\\t\\\\u0032"\');\n+------------------------------+\n| JSON_UNQUOTE(\'"\\\\t\\\\u0032"\') |\n+------------------------------+\n| 2 |\n+------------------------------+\n\nmysql> SET @@sql_mode = \'NO_BACKSLASH_ESCAPES\';\nmysql> SELECT JSON_UNQUOTE(\'"\\\\t\\\\u0032"\');\n+------------------------------+\n| JSON_UNQUOTE(\'"\\\\t\\\\u0032"\') |\n+------------------------------+\n| \\t\\u0032 |\n+------------------------------+\n\nmysql> SELECT JSON_UNQUOTE(\'"\\t\\u0032"\');\n+----------------------------+\n| JSON_UNQUOTE(\'"\\t\\u0032"\') |\n+----------------------------+\n| 2 |\n+----------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (111,23,'LONGTEXT','LONGTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 4,294,967,295 or 4GB (232 − 1)\ncharacters. The effective maximum length is less if the value contains\nmultibyte characters. The effective maximum length of LONGTEXT columns\nalso depends on the configured maximum packet size in the client/server\nprotocol and available memory. Each LONGTEXT value is stored using a\n4-byte length prefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (112,27,'KILL','Syntax:\nKILL [CONNECTION | QUERY] processlist_id\n\nEach connection to mysqld runs in a separate thread. You can kill a\nthread with the KILL processlist_id statement.\n\nThread processlist identifiers can be determined from the ID column of\nthe INFORMATION_SCHEMA.PROCESSLIST table, the Id column of SHOW\nPROCESSLIST output, and the PROCESSLIST_ID column of the Performance\nSchema threads table. The value for the current thread is returned by\nthe CONNECTION_ID() function.\n\nKILL permits an optional CONNECTION or QUERY modifier:\n\no KILL CONNECTION is the same as KILL with no modifier: It terminates\n the connection associated with the given processlist_id, after\n terminating any statement the connection is executing.\n\no KILL QUERY terminates the statement the connection is currently\n executing, but leaves the connection itself intact.\n\nIf you have the PROCESS privilege, you can see all threads. If you have\nthe SUPER privilege, you can kill all threads and statements.\nOtherwise, you can see and kill only your own threads and statements.\n\nYou can also use the mysqladmin processlist and mysqladmin kill\ncommands to examine and kill threads.\n\n*Note*:\n\nYou cannot use KILL with the Embedded MySQL Server library because the\nembedded server merely runs inside the threads of the host application.\nIt does not create any connection threads of its own.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/kill.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/kill.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (113,7,'DISJOINT','Disjoint(g1, g2)\n\nMBRDisjoint() and Disjoint() are synonyms. For more information, see\nthe description of MBRDisjoint().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (114,38,'LPAD','Syntax:\nLPAD(str,len,padstr)\n\nReturns the string str, left-padded with the string padstr to a length\nof len characters. If str is longer than len, the return value is\nshortened to len characters.\n\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LPAD(\'hi\',4,\'??\');\n -> \'??hi\'\nmysql> SELECT LPAD(\'hi\',1,\'??\');\n -> \'h\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (115,7,'OVERLAPS','Overlaps(g1, g2)\n\nMBROverlaps() and Overlaps() are synonyms. For more information, see\nthe description of MBROverlaps().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (116,8,'SET GLOBAL SQL_SLAVE_SKIP_COUNTER','Syntax:\nSET GLOBAL sql_slave_skip_counter = N\n\nThis statement skips the next N events from the master. This is useful\nfor recovering from replication stops caused by a statement.\n\nThis statement is valid only when the slave threads are not running.\nOtherwise, it produces an error.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-global-sql-slave-skip-counter.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-global-sql-slave-skip-counter.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (117,7,'MBREQUAL','MBREqual(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are the same.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (118,34,'PROCEDURE ANALYSE','Syntax:\nANALYSE([max_elements[,max_memory]])\n\n*Note*:\n\nPROCEDURE ANALYSE() is deprecated as of MySQL 5.7.18, and is removed in\nMySQL 8.0.\n\nANALYSE() examines the result from a query and returns an analysis of\nthe results that suggests optimal data types for each column that may\nhelp reduce table sizes. To obtain this analysis, append PROCEDURE\nANALYSE to the end of a SELECT statement:\n\nSELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])\n\nFor example:\n\nSELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);\n\nThe results show some statistics for the values returned by the query,\nand propose an optimal data type for the columns. This can be helpful\nfor checking your existing tables, or after importing new data. You may\nneed to try different settings for the arguments so that PROCEDURE\nANALYSE() does not suggest the ENUM data type when it is not\nappropriate.\n\nThe arguments are optional and are used as follows:\n\no max_elements (default 256) is the maximum number of distinct values\n that ANALYSE() notices per column. This is used by ANALYSE() to check\n whether the optimal data type should be of type ENUM; if there are\n more than max_elements distinct values, then ENUM is not a suggested\n type.\n\no max_memory (default 8192) is the maximum amount of memory that\n ANALYSE() should allocate per column while trying to find all\n distinct values.\n\nA PROCEDURE clause is not permitted in a UNION statement.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/procedure-analyse.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/procedure-analyse.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (119,9,'HELP_VERSION','This help information was generated from the MySQL 5.7 Reference Manual\non: 2018-06-07 (revision: 57614)\n\nThis information applies to MySQL 5.7 through 5.7.24.\n','',''); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (120,38,'CHARACTER_LENGTH','Syntax:\nCHARACTER_LENGTH(str)\n\nCHARACTER_LENGTH() is a synonym for CHAR_LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (121,27,'SHOW PRIVILEGES','Syntax:\nSHOW PRIVILEGES\n\nSHOW PRIVILEGES shows the list of system privileges that the MySQL\nserver supports. The exact list of privileges depends on the version of\nyour server.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-privileges.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-privileges.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (122,40,'CREATE TABLESPACE','Syntax:\nCREATE TABLESPACE tablespace_name\n\n InnoDB and NDB:\n ADD DATAFILE \'file_name\'\n\n InnoDB only:\n [FILE_BLOCK_SIZE = value]\n\n NDB only:\n USE LOGFILE GROUP logfile_group\n [EXTENT_SIZE [=] extent_size]\n [INITIAL_SIZE [=] initial_size]\n [AUTOEXTEND_SIZE [=] autoextend_size]\n [MAX_SIZE [=] max_size]\n [NODEGROUP [=] nodegroup_id]\n [WAIT]\n [COMMENT [=] \'string\']\n\n InnoDB and NDB:\n [ENGINE [=] engine_name]\n\nThis statement is used to create a tablespace. The precise syntax and\nsemantics depend on the storage engine used. In standard MySQL 5.7\nreleases, this is always an InnoDB tablespace. MySQL NDB Cluster 7.5\nalso supports tablespaces using the NDB storage engine in addition to\nthose using InnoDB.\n\nConsiderations for InnoDB\n\nAn InnoDB tablespace created using CREATE TABLESPACE is referred to as\na general tablespace. This is a shared tablespace, similar to the\nsystem tablespace. It can hold multiple tables, and supports all table\nrow formats. General tablespaces can be created in a location relative\nto or independent of the MySQL data directory.\n\nAfter creating an InnoDB general tablespace, you can use CREATE TABLE\ntbl_name ... TABLESPACE [=] tablespace_name or ALTER TABLE tbl_name\nTABLESPACE [=] tablespace_name to add tables to the tablespace.\n\nFor more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/general-tablespaces.html.\n\nConsiderations for NDB Cluster\n\nThis statement is used to create a tablespace, which can contain one or\nmore data files, providing storage space for NDB Cluster Disk Data\ntables (see\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data.html).\nOne data file is created and added to the tablespace using this\nstatement. Additional data files may be added to the tablespace by\nusing the ALTER TABLESPACE statement (see [HELP ALTER TABLESPACE]).\n\n*Note*:\n\nAll NDB Cluster Disk Data objects share the same namespace. This means\nthat each Disk Data object must be uniquely named (and not merely each\nDisk Data object of a given type). For example, you cannot have a\ntablespace and a log file group with the same name, or a tablespace and\na data file with the same name.\n\nA log file group of one or more UNDO log files must be assigned to the\ntablespace to be created with the USE LOGFILE GROUP clause.\nlogfile_group must be an existing log file group created with CREATE\nLOGFILE GROUP (see [HELP CREATE LOGFILE GROUP]). Multiple tablespaces\nmay use the same log file group for UNDO logging.\n\nWhen setting EXTENT_SIZE or INITIAL_SIZE, you may optionally follow the\nnumber with a one-letter abbreviation for an order of magnitude,\nsimilar to those used in my.cnf. Generally, this is one of the letters\nM (for megabytes) or G (for gigabytes).\n\nINITIAL_SIZE and EXTENT_SIZE are subject to rounding as follows:\n\no EXTENT_SIZE is rounded up to the nearest whole multiple of 32K.\n\no INITIAL_SIZE is rounded down to the nearest whole multiple of 32K;\n this result is rounded up to the nearest whole multiple of\n EXTENT_SIZE (after any rounding).\n\nThe rounding just described is done explicitly, and a warning is issued\nby the MySQL Server when any such rounding is performed. The rounded\nvalues are also used by the NDB kernel for calculating\nINFORMATION_SCHEMA.FILES column values and other purposes. However, to\navoid an unexpected result, we suggest that you always use whole\nmultiples of 32K in specifying these options.\n\nWhen CREATE TABLESPACE is used with ENGINE [=] NDB, a tablespace and\nassociated data file are created on each Cluster data node. You can\nverify that the data files were created and obtain information about\nthem by querying the INFORMATION_SCHEMA.FILES table. (See the example\nlater in this section.)\n\n(See http://dev.mysql.com/doc/refman/5.7/en/files-table.html.)\n\nOptions\n\no ADD DATAFILE: Defines the name of a tablespace data file; this option\n is always required. An InnoDB tablespace supports only a single data\n file, whose name must include a .ibd extension. An NDB Cluster\n tablespace supports multiple data files which can have any legal file\n names; more data files can be added to an NDB Cluster tablespace\n following its creation by using an ALTER TABLESPACE statement.\n\n *Note*:\n\n ALTER TABLESPACE is not supported by InnoDB.\n\n To place the data file in a location outside of the MySQL data\n directory (datadir), include an absolute directory path or a path\n relative to the MySQL data directory. If you do not specify a path,\n the tablespace is created in the MySQL data directory. An isl file is\n created in the MySQL data directory when an InnoDB tablespace is\n created outside of the MySQL data directory.\n\n To avoid conflicts with implicitly created file-per-table\n tablespaces, creating a general tablespace in a subdirectory under\n the MySQL data directory is not supported. Also, when creating a\n general tablespace outside of the MySQL data directory, the directory\n must exist prior to creating the tablespace.\n\n The file_name, including the path (optional), must be quoted with\n single or double quotations marks. File names (not counting any\n ".ibd" extension for InnoDB files) and directory names must be at\n least one byte in length. Zero length file names and directory names\n are not supported.\n\no FILE_BLOCK_SIZE: This option---which is specific to InnoDB, and is\n ignored by NDB---defines the block size for the tablespace data file.\n If you do not specify this option, FILE_BLOCK_SIZE defaults to\n innodb_page_size. FILE_BLOCK_SIZE is required when you intend to use\n the tablespace for storing compressed InnoDB tables\n (ROW_FORMAT=COMPRESSED).\n\n If FILE_BLOCK_SIZE is equal innodb_page_size, the tablespace can\n contain only tables having an uncompressed row format (COMPACT,\n REDUNDANT, or DYNAMIC). The physical page size for tables using\n COMPRESSED differs from that of uncompressed tables; this means that\n compressed tables and uncompressed tables cannot coexist in the same\n tablespace.\n\n For a general tablespace to contain compressed tables,\n FILE_BLOCK_SIZE must be specified, and the FILE_BLOCK_SIZE value must\n be a valid compressed page size in relation to the innodb_page_size\n value. Also, the physical page size of the compressed table\n (KEY_BLOCK_SIZE) must be equal to FILE_BLOCK_SIZE/1024. For example,\n if innodb_page_size=16K, and FILE_BLOCK_SIZE=8K, the KEY_BLOCK_SIZE\n of the table must be 8. For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/general-tablespaces.html.\n\no USE LOGFILE GROUP: Required for NDB, this is the name of a log file\n group previously created using CREATE LOGFILE GROUP. Not supported\n for InnoDB, where it fails with an error.\n\no EXTENT_SIZE: This option is specific to NDB, and is not supported by\n InnoDB, where it fails with an error. EXTENT_SIZE sets the size, in\n bytes, of the extents used by any files belonging to the tablespace.\n The default value is 1M. The minimum size is 32K, and theoretical\n maximum is 2G, although the practical maximum size depends on a\n number of factors. In most cases, changing the extent size does not\n have any measurable effect on performance, and the default value is\n recommended for all but the most unusual situations.\n\n An extent is a unit of disk space allocation. One extent is filled\n with as much data as that extent can contain before another extent is\n used. In theory, up to 65,535 (64K) extents may used per data file;\n however, the recommended maximum is 32,768 (32K). The recommended\n maximum size for a single data file is 32G---that is, 32K extents x 1\n MB per extent. In addition, once an extent is allocated to a given\n partition, it cannot be used to store data from a different\n partition; an extent cannot store data from more than one partition.\n This means, for example that a tablespace having a single datafile\n whose INITIAL_SIZE (described in the following item) is 256 MB and\n whose EXTENT_SIZE is 128M has just two extents, and so can be used to\n store data from at most two different disk data table partitions.\n\n You can see how many extents remain free in a given data file by\n querying the INFORMATION_SCHEMA.FILES table, and so derive an\n estimate for how much space remains free in the file. For further\n discussion and examples, see\n http://dev.mysql.com/doc/refman/5.7/en/files-table.html.\n\no INITIAL_SIZE: This option is specific to NDB, and is not supported by\n InnoDB, where it fails with an error.\n\n The INITIAL_SIZE parameter sets the total size in bytes of the data\n file that was specific using ADD DATATFILE. Once this file has been\n created, its size cannot be changed; however, you can add more data\n files to the tablespace using ALTER TABLESPACE ... ADD DATAFILE.\n\n INITIAL_SIZE is optional; its default value is 134217728 (128 MB).\n\n On 32-bit systems, the maximum supported value for INITIAL_SIZE is\n 4294967296 (4 GB).\n\no AUTOEXTEND_SIZE: Currently ignored by MySQL; reserved for possible\n future use. Has no effect in any release of MySQL 5.7 or MySQL NDB\n Cluster 7.5, regardless of the storage engine used.\n\no MAX_SIZE: Currently ignored by MySQL; reserved for possible future\n use. Has no effect in any release of MySQL 5.7 or MySQL NDB Cluster\n 7.5, regardless of the storage engine used.\n\no NODEGROUP: Currently ignored by MySQL; reserved for possible future\n use. Has no effect in any release of MySQL 5.7 or MySQL NDB Cluster\n 7.5, regardless of the storage engine used.\n\no WAIT: Currently ignored by MySQL; reserved for possible future use.\n Has no effect in any release of MySQL 5.7 or MySQL NDB Cluster 7.5,\n regardless of the storage engine used.\n\no COMMENT: Currently ignored by MySQL; reserved for possible future\n use. Has no effect in any release of MySQL 5.7 or MySQL NDB Cluster\n 7.5, regardless of the storage engine used.\n\no ENGINE: Defines the storage engine which uses the tablespace, where\n engine_name is the name of the storage engine. Currently, only the\n InnoDB storage engine is supported by standard MySQL 5.7 releases.\n MySQL NDB Cluster 7.5 supports both NDB and InnoDB tablespaces. The\n value of the default_storage_engine system variable is used for\n ENGINE if the option is not specified.\n\nNotes\n\no For the rules covering the naming of MySQL tablespaces, see\n http://dev.mysql.com/doc/refman/5.7/en/identifiers.html. In addition\n to these rules, the slash character ("/") is not permitted, nor can\n you use names beginning with innodb_, as this prefix is reserved for\n system use.\n\no Tablespaces do not support temporary tables.\n\no The TABLESPACE option may be used with CREATE TABLE or ALTER TABLE to\n assign InnoDB table partitions or subpartitions to a general\n tablespace, a separate file-per-table tablespace, or the system\n tablespace. TABLESPACE option support for table partitions and\n subpartitions was added in MySQL 5.7. All partitions must belong to\n the same storage engine. For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/general-tablespaces.html.\n\no innodb_file_per_table, innodb_file_format, and innodb_file_format_max\n settings have no influence on CREATE TABLESPACE operations.\n innodb_file_per_table does not need to be enabled. General\n tablespaces support all table row formats regardless of file format\n settings. Likewise, general tablespaces support the addition of\n tables of any row format using CREATE TABLE ... TABLESPACE,\n regardless of file format settings.\n\no innodb_strict_mode is not applicable to general tablespaces.\n Tablespace management rules are strictly enforced independently of\n innodb_strict_mode. If CREATE TABLESPACE parameters are incorrect or\n incompatible, the operation fails regardless of the\n innodb_strict_mode setting. When a table is added to a general\n tablespace using CREATE TABLE ... TABLESPACE or ALTER TABLE ...\n TABLESPACE, innodb_strict_mode is ignored but the statement is\n evaluated as if innodb_strict_mode is enabled.\n\no Use DROP TABLESPACE to remove a tablespace. All tables must be\n dropped from a tablespace using DROP TABLE prior to dropping the\n tablespace. Before dropping an NDB Cluster tablespace you must also\n remove all its data files using one or more ALTER TABLESPACE ... DROP\n DATATFILE statements. See\n http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-object\n s.html.\n\no All parts of an InnoDB table added to an InnoDB general tablespace\n reside in the general tablespace, including indexes and BLOB pages.\n\n For an NDB table assigned to a tablespace, only those columns which\n are not indexed are stored on disk, and actually use the tablespace\n data files. Indexes and indexed columns for all NDB tables are always\n kept in memory.\n\no Similar to the system tablespace, truncating or dropping tables\n stored in a general tablespace creates free space internally in the\n general tablespace .ibd data file which can only be used for new\n InnoDB data. Space is not released back to the operating system as it\n is for file-per-table tablespaces.\n\no A general tablespace is not associated with any database or schema.\n\no ALTER TABLE ... DISCARD TABLESPACE and ALTER TABLE ...IMPORT\n TABLESPACE are not supported for tables that belong to a general\n tablespace.\n\no The server uses tablespace-level metadata locking for DDL that\n references general tablespaces. By comparison, the server uses\n table-level metadata locking for DDL that references file-per-table\n tablespaces.\n\no A generated or existing tablespace cannot be changed to a general\n tablespace.\n\no Tables stored in a general tablespace can only be opened in MySQL\n 5.7.6 or later due to the addition of new table flags.\n\no There is no conflict between general tablespace names and\n file-per-table tablespace names. The "/" character, which is present\n in file-per-table tablespace names, is not permitted in general\n tablespace names.\n\nInnoDB Examples\n\nThis example demonstrates creating a general tablespace and adding\nthree uncompressed tables of different row formats.\n\nmysql> CREATE TABLESPACE `ts1`\n -> ADD DATAFILE \'ts1.ibd\'\n -> ENGINE=INNODB;\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> CREATE TABLE t1 (c1 INT PRIMARY KEY)\n -> TABLESPACE ts1\n -> ROW_FORMAT=REDUNDANT;\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CREATE TABLE t2 (c1 INT PRIMARY KEY)\n -> TABLESPACE ts1\n -> ROW_FORMAT=COMPACT;\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CREATE TABLE t3 (c1 INT PRIMARY KEY)\n -> TABLESPACE ts1\n -> ROW_FORMAT=DYNAMIC;\nQuery OK, 0 rows affected (0.00 sec)\n\nThis example demonstrates creating a general tablespace and adding a\ncompressed table. The example assumes a default innodb_page_size of\n16K. The FILE_BLOCK_SIZE of 8192 requires that the compressed table\nhave a KEY_BLOCK_SIZE of 8.\n\nmysql> CREATE TABLESPACE `ts2`\n -> ADD DATAFILE \'ts2.ibd\'\n -> FILE_BLOCK_SIZE = 8192\n -> ENGINE=INNODB;\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> CREATE TABLE t4 (c1 INT PRIMARY KEY)\n -> TABLESPACE ts2\n -> ROW_FORMAT=COMPRESSED\n -> KEY_BLOCK_SIZE=8;\nQuery OK, 0 rows affected (0.00 sec)\n\nNDB Example\n\nSuppose that you wish to create an NDB Cluster Disk Data tablespace\nnamed myts using a datafile named mydata-1.dat. An NDB tablespace\nalways requires the use of a log file group consisting of one or more\nundo log files. For this example, we first create a log file group\nnamed mylg that contains one undo long file named myundo-1.dat, using\nthe CREATE LOGFILE GROUP statement shown here:\n\nmysql> CREATE LOGFILE GROUP myg1\n -> ADD UNDOFILE \'myundo-1.dat\'\n -> ENGINE=NDB;\nQuery OK, 0 rows affected (3.29 sec)\n\nNow you can create the tablespace previously described using the\nfollowing statement:\n\nmysql> CREATE TABLESPACE myts\n -> ADD DATAFILE \'mydata-1.dat\'\n -> USE LOGFILE GROUP mylg\n -> ENGINE=NDB;\nQuery OK, 0 rows affected (2.98 sec)\n\nYou can now create a Disk Data table using a CREATE TABLE statement\nwith the TABLESPACE and STORAGE DISK options, similar to what is shown\nhere:\n\nmysql> CREATE TABLE mytable (\n -> id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> lname VARCHAR(50) NOT NULL,\n -> fname VARCHAR(50) NOT NULL,\n -> dob DATE NOT NULL,\n -> joined DATE NOT NULL,\n -> INDEX(last_name, first_name)\n -> )\n -> TABLESPACE myts STORAGE DISK\n -> ENGINE=NDB;\nQuery OK, 0 rows affected (1.41 sec)\n\nIt is important to note that only the dob and joined columns from\nmytable are actually stored on disk, due to the fact that the id,\nlname, and fname columns are all indexed.\n\nAs mentioned previously, when CREATE TABLESPACE is used with ENGINE [=]\nNDB, a tablespace and associated data file are created on each NDB\nCluster data node. You can verify that the data files were created and\nobtain information about them by querying the INFORMATION_SCHEMA.FILES\ntable, as shown here:\n\nmysql> SELECT FILE_NAME, FILE_TYPE, LOGFILE_GROUP_NAME, STATUS, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE TABLESPACE_NAME = \'myts\';\n\n+--------------+------------+--------------------+--------+----------------+\n| file_name | file_type | logfile_group_name | status | extra |\n+--------------+------------+--------------------+--------+----------------+\n| mydata-1.dat | DATAFILE | mylg | NORMAL | CLUSTER_NODE=5 |\n| mydata-1.dat | DATAFILE | mylg | NORMAL | CLUSTER_NODE=6 |\n| NULL | TABLESPACE | mylg | NORMAL | NULL |\n+--------------+------------+--------------------+--------+----------------+\n3 rows in set (0.01 sec)\n\nFor additional information and examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-objects.\nhtml.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-tablespace.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (123,4,'ST_GEOMFROMTEXT','ST_GeomFromText(wkt[, srid]), ST_GeometryFromText(wkt[, srid])\n\nConstructs a geometry value of any type using its WKT representation\nand SRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (124,38,'INSERT FUNCTION','Syntax:\nINSERT(str,pos,len,newstr)\n\nReturns the string str, with the substring beginning at position pos\nand len characters long replaced by the string newstr. Returns the\noriginal string if pos is not within the length of the string. Replaces\nthe rest of the string from position pos if len is not within the\nlength of the rest of the string. Returns NULL if any argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT INSERT(\'Quadratic\', 3, 4, \'What\');\n -> \'QuWhattic\'\nmysql> SELECT INSERT(\'Quadratic\', -1, 4, \'What\');\n -> \'Quadratic\'\nmysql> SELECT INSERT(\'Quadratic\', 3, 100, \'What\');\n -> \'QuWhat\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (125,15,'XOR','Syntax:\nXOR\n\nLogical XOR. Returns NULL if either operand is NULL. For non-NULL\noperands, evaluates to 1 if an odd number of operands is nonzero,\notherwise 0 is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html\n\n','mysql> SELECT 1 XOR 1;\n -> 0\nmysql> SELECT 1 XOR 0;\n -> 1\nmysql> SELECT 1 XOR NULL;\n -> NULL\nmysql> SELECT 1 XOR 1 XOR 1;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (126,10,'GRANT','Syntax:\nGRANT\n priv_type [(column_list)]\n [, priv_type [(column_list)]] ...\n ON [object_type] priv_level\n TO user [auth_option] [, user [auth_option]] ...\n [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]\n [WITH {GRANT OPTION | resource_option} ...]\n\nGRANT PROXY ON user\n TO user [, user] ...\n [WITH GRANT OPTION]\n\nobject_type: {\n TABLE\n | FUNCTION\n | PROCEDURE\n}\n\npriv_level: {\n *\n | *.*\n | db_name.*\n | db_name.tbl_name\n | tbl_name\n | db_name.routine_name\n}\n\nuser:\n (see http://dev.mysql.com/doc/refman/5.7/en/account-names.html)\n\nauth_option: {\n IDENTIFIED BY \'auth_string\'\n | IDENTIFIED WITH auth_plugin\n | IDENTIFIED WITH auth_plugin BY \'auth_string\'\n | IDENTIFIED WITH auth_plugin AS \'hash_string\'\n | IDENTIFIED BY PASSWORD \'hash_string\'\n}\n\ntls_option: {\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n}\n\nresource_option: {\n | MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n}\n\nThe GRANT statement grants privileges to MySQL user accounts.\n\nTo use GRANT, you must have the GRANT OPTION privilege, and you must\nhave the privileges that you are granting. When the read_only system\nvariable is enabled, GRANT additionally requires the SUPER privilege.\n\nThe REVOKE statement is related to GRANT and enables administrators to\nremove account privileges. See [HELP REVOKE].\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html. For example:\n\nGRANT ALL ON db1.* TO \'jeffrey\'@\'localhost\';\n\nThe host name part of the account, if omitted, defaults to \'%\'.\n\nNormally, a database administrator first uses CREATE USER to create an\naccount and define its nonprivilege characteristics such as its\npassword, whether it uses secure connections, and limits on access to\nserver resources, then uses GRANT to define its privileges. ALTER USER\nmay be used to change the nonprivilege characteristics of existing\naccounts. For example:\n\nCREATE USER \'jeffrey\'@\'localhost\' IDENTIFIED BY \'password\';\nGRANT ALL ON db1.* TO \'jeffrey\'@\'localhost\';\nGRANT SELECT ON db2.invoice TO \'jeffrey\'@\'localhost\';\nALTER USER \'jeffrey\'@\'localhost\' WITH MAX_QUERIES_PER_HOUR 90;\n\n*Note*:\n\nExamples shown here include no IDENTIFIED clause. It is assumed that\nyou establish passwords with CREATE USER at account-creation time to\navoid creating insecure accounts.\n\n*Note*:\n\nIf an account named in a GRANT statement does not already exist, GRANT\nmay create it under the conditions described later in the discussion of\nthe NO_AUTO_CREATE_USER SQL mode. It is also possible to use GRANT to\nspecify nonprivilege account characteristics such as whether it uses\nsecure connections and limits on access to server resources.\n\nHowever, use of GRANT to create accounts or define nonprivilege\ncharacteristics is deprecated as of MySQL 5.7.6. Instead, perform these\ntasks using CREATE USER or ALTER USER.\n\nFrom the mysql program, GRANT responds with Query OK, 0 rows affected\nwhen executed successfully. To determine what privileges result from\nthe operation, use SHOW GRANTS. See [HELP SHOW GRANTS].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/grant.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/grant.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (127,7,'MBRINTERSECTS','MBRIntersects(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 intersect.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (128,20,'IS NOT','Syntax:\nIS NOT boolean_value\n\nTests a value against a boolean value, where boolean_value can be TRUE,\nFALSE, or UNKNOWN.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN;\n -> 1, 1, 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (129,3,'SQRT','Syntax:\nSQRT(X)\n\nReturns the square root of a nonnegative number X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT SQRT(4);\n -> 2\nmysql> SELECT SQRT(20);\n -> 4.4721359549996\nmysql> SELECT SQRT(-16);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (130,33,'ST_MPOLYFROMWKB','ST_MPolyFromWKB(wkb[, srid]), ST_MultiPolygonFromWKB(wkb[, srid])\n\nConstructs a MultiPolygon value using its WKB representation and SRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (131,40,'CREATE INDEX','Syntax:\nCREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name\n [index_type]\n ON tbl_name (index_col_name,...)\n [index_option]\n [algorithm_option | lock_option] ...\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\nindex_type:\n USING {BTREE | HASH}\n\nalgorithm_option:\n ALGORITHM [=] {DEFAULT|INPLACE|COPY}\n\nlock_option:\n LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}\n\nCREATE INDEX is mapped to an ALTER TABLE statement to create indexes.\nSee [HELP ALTER TABLE]. CREATE INDEX cannot be used to create a PRIMARY\nKEY; use ALTER TABLE instead. For more information about indexes, see\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-index.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-index.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (132,40,'ALTER DATABASE','Syntax:\nALTER {DATABASE | SCHEMA} [db_name]\n alter_specification ...\nALTER {DATABASE | SCHEMA} db_name\n UPGRADE DATA DIRECTORY NAME\n\nalter_specification:\n [DEFAULT] CHARACTER SET [=] charset_name\n | [DEFAULT] COLLATE [=] collation_name\n\nALTER DATABASE enables you to change the overall characteristics of a\ndatabase. These characteristics are stored in the db.opt file in the\ndatabase directory. To use ALTER DATABASE, you need the ALTER privilege\non the database. ALTER SCHEMA is a synonym for ALTER DATABASE.\n\nThe database name can be omitted from the first syntax, in which case\nthe statement applies to the default database.\n\nNational Language Characteristics\n\nThe CHARACTER SET clause changes the default database character set.\nThe COLLATE clause changes the default database collation.\nhttp://dev.mysql.com/doc/refman/5.7/en/charset.html, discusses\ncharacter set and collation names.\n\nYou can see what character sets and collations are available using,\nrespectively, the SHOW CHARACTER SET and SHOW COLLATION statements. See\n[HELP SHOW CHARACTER SET], and [HELP SHOW COLLATION], for more\ninformation.\n\nIf you change the default character set or collation for a database,\nstored routines that use the database defaults must be dropped and\nrecreated so that they use the new defaults. (In a stored routine,\nvariables with character data types use the database defaults if the\ncharacter set or collation are not specified explicitly. See [HELP\nCREATE PROCEDURE].)\n\nUpgrading from Versions Older than MySQL 5.1\n\nThe syntax that includes the UPGRADE DATA DIRECTORY NAME clause updates\nthe name of the directory associated with the database to use the\nencoding implemented in MySQL 5.1 for mapping database names to\ndatabase directory names (see\nhttp://dev.mysql.com/doc/refman/5.7/en/identifier-mapping.html). This\nclause is for use under these conditions:\n\no It is intended when upgrading MySQL to 5.1 or later from older\n versions.\n\no It is intended to update a database directory name to the current\n encoding format if the name contains special characters that need\n encoding.\n\no The statement is used by mysqlcheck (as invoked by mysql_upgrade).\n\nFor example, if a database in MySQL 5.0 has the name a-b-c, the name\ncontains instances of the - (dash) character. In MySQL 5.0, the\ndatabase directory is also named a-b-c, which is not necessarily safe\nfor all file systems. In MySQL 5.1 and later, the same database name is\nencoded as a@002db@002dc to produce a file system-neutral directory\nname.\n\nWhen a MySQL installation is upgraded to MySQL 5.1 or later from an\nolder version,the server displays a name such as a-b-c (which is in the\nold format) as #mysql50#a-b-c, and you must refer to the name using the\n#mysql50# prefix. Use UPGRADE DATA DIRECTORY NAME in this case to\nexplicitly tell the server to re-encode the database directory name to\nthe current encoding format:\n\nALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;\n\nAfter executing this statement, you can refer to the database as a-b-c\nwithout the special #mysql50# prefix.\n\n*Note*:\n\nThe UPGRADE DATA DIRECTORY NAME clause is deprecated in MySQL 5.7.6 and\nwill be removed in a future version of MySQL. If it is necessary to\nconvert MySQL 5.0 database or table names, a workaround is to upgrade a\nMySQL 5.0 installation to MySQL 5.1 before upgrading to a more recent\nrelease.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-database.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-database.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (133,7,'JSON_ARRAY','Syntax:\nJSON_ARRAY([val[, val] ...])\n\nEvaluates a (possibly empty) list of values and returns a JSON array\ncontaining those values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html\n\n','mysql> SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME());\n+---------------------------------------------+\n| JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) |\n+---------------------------------------------+\n| [1, "abc", null, true, "11:30:24.000000"] |\n+---------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (134,26,'GEOMETRYN','GeometryN(gc, N)\n\nST_GeometryN() and GeometryN() are synonyms. For more information, see\nthe description of ST_GeometryN().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (135,19,'<<','Syntax:\n<<\n\nShifts a longlong (BIGINT) number to the left.\n\nThe result is an unsigned 64-bit integer. The value is truncated to 64\nbits. In particular, if the shift count is greater or equal to the\nwidth of an unsigned 64-bit number, the result is zero.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 1 << 2;\n -> 4\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (136,27,'SHOW TABLE STATUS','Syntax:\nSHOW TABLE STATUS\n [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TABLE STATUS works likes SHOW TABLES, but provides a lot of\ninformation about each non-TEMPORARY table. You can also get this list\nusing the mysqlshow --status db_name command. The LIKE clause, if\npresent, indicates which table names to match. The WHERE clause can be\ngiven to select rows using more general conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-table-status.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-table-status.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (137,38,'ASCII','Syntax:\nASCII(str)\n\nReturns the numeric value of the leftmost character of the string str.\nReturns 0 if str is the empty string. Returns NULL if str is NULL.\nASCII() works for 8-bit characters.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT ASCII(\'2\');\n -> 50\nmysql> SELECT ASCII(2);\n -> 50\nmysql> SELECT ASCII(\'dx\');\n -> 100\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (138,3,'DIV','Syntax:\nDIV\n\nInteger division. Discards from the division result any fractional part\nto the right of the decimal point.\n\nIf either operand has a noninteger type, the operands are converted to\nDECIMAL and divided using DECIMAL arithmetic before converting the\nresult to BIGINT. If the result exceeds BIGINT range, an error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT 5 DIV 2, -5 DIV 2, 5 DIV -2, -5 DIV -2;\n -> 2, -2, -2, 2\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (139,27,'SHOW SLAVE STATUS','Syntax:\nSHOW SLAVE STATUS [FOR CHANNEL channel]\n\nThis statement provides status information on essential parameters of\nthe slave threads. It requires either the SUPER or REPLICATION CLIENT\nprivilege.\n\nIf you issue this statement using the mysql client, you can use a \\G\nstatement terminator rather than a semicolon to obtain a more readable\nvertical layout:\n\nmysql> SHOW SLAVE STATUS\\G\n*************************** 1. row ***************************\n Slave_IO_State: Waiting for master to send event\n Master_Host: localhost\n Master_User: repl\n Master_Port: 13000\n Connect_Retry: 60\n Master_Log_File: master-bin.000002\n Read_Master_Log_Pos: 1307\n Relay_Log_File: slave-relay-bin.000003\n Relay_Log_Pos: 1508\n Relay_Master_Log_File: master-bin.000002\n Slave_IO_Running: Yes\n Slave_SQL_Running: Yes\n Replicate_Do_DB:\n Replicate_Ignore_DB:\n Replicate_Do_Table:\n Replicate_Ignore_Table:\n Replicate_Wild_Do_Table:\n Replicate_Wild_Ignore_Table:\n Last_Errno: 0\n Last_Error:\n Skip_Counter: 0\n Exec_Master_Log_Pos: 1307\n Relay_Log_Space: 1858\n Until_Condition: None\n Until_Log_File:\n Until_Log_Pos: 0\n Master_SSL_Allowed: No\n Master_SSL_CA_File:\n Master_SSL_CA_Path:\n Master_SSL_Cert:\n Master_SSL_Cipher:\n Master_SSL_Key:\n Seconds_Behind_Master: 0\nMaster_SSL_Verify_Server_Cert: No\n Last_IO_Errno: 0\n Last_IO_Error:\n Last_SQL_Errno: 0\n Last_SQL_Error:\n Replicate_Ignore_Server_Ids:\n Master_Server_Id: 1\n Master_UUID: 3e11fa47-71ca-11e1-9e33-c80aa9429562\n Master_Info_File: /var/mysqld.2/data/master.info\n SQL_Delay: 0\n SQL_Remaining_Delay: NULL\n Slave_SQL_Running_State: Reading event from the relay log\n Master_Retry_Count: 10\n Master_Bind:\n Last_IO_Error_Timestamp:\n Last_SQL_Error_Timestamp:\n Master_SSL_Crl:\n Master_SSL_Crlpath:\n Retrieved_Gtid_Set: 3e11fa47-71ca-11e1-9e33-c80aa9429562:1-5\n Executed_Gtid_Set: 3e11fa47-71ca-11e1-9e33-c80aa9429562:1-5\n Auto_Position: 1\n Replicate_Rewrite_DB:\n Channel_name:\n Master_TLS_Version: TLSv1.2\n\nThe Performance Schema provides tables that expose replication\ninformation. This is similar to the information available from the SHOW\nSLAVE STATUS statement, but represented in table form. For details, see\nhttp://dev.mysql.com/doc/refman/5.7/en/performance-schema-replication-t\nables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (140,35,'GEOMETRY','MySQL provides a standard way of creating spatial columns for geometry\ntypes, for example, with CREATE TABLE or ALTER TABLE. Spatial columns\nare supported for MyISAM, InnoDB, NDB, and ARCHIVE tables. See also the\nnotes about spatial indexes under [HELP SPATIAL].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/creating-spatial-columns.html\n\n','CREATE TABLE geom (g GEOMETRY);\n','http://dev.mysql.com/doc/refman/5.7/en/creating-spatial-columns.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (141,19,'&','Syntax:\n&\n\nBitwise AND.\n\nThe result is an unsigned 64-bit integer.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 29 & 15;\n -> 13\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (142,15,'ASSIGN-EQUAL','Syntax:\n=\n\nThis operator is used to perform value assignments in two cases,\ndescribed in the next two paragraphs.\n\nWithin a SET statement, = is treated as an assignment operator that\ncauses the user variable on the left hand side of the operator to take\non the value to its right. (In other words, when used in a SET\nstatement, = is treated identically to :=.) The value on the right hand\nside may be a literal value, another variable storing a value, or any\nlegal expression that yields a scalar value, including the result of a\nquery (provided that this value is a scalar value). You can perform\nmultiple assignments in the same SET statement.\n\nIn the SET clause of an UPDATE statement, = also acts as an assignment\noperator; in this case, however, it causes the column named on the left\nhand side of the operator to assume the value given to the right,\nprovided any WHERE conditions that are part of the UPDATE are met. You\ncan make multiple assignments in the same SET clause of an UPDATE\nstatement.\n\nIn any other context, = is treated as a comparison operator.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html\n\n','mysql> SELECT @var1, @var2;\n -> NULL, NULL\nmysql> SELECT @var1 := 1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2 := @var1;\n -> 1, 1\nmysql> SELECT @var1, @var2;\n -> 1, 1\n','http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (143,38,'CONVERT','Syntax:\nCONVERT(expr,type), CONVERT(expr USING transcoding_name)\n\nThe CONVERT() function takes an expression of any type and produces a\nresult value of the specified type.\n\nDiscussion of CONVERT(expr, type) syntax here also applies to CAST(expr\nAS type), which is equivalent.\n\nCONVERT(... USING ...) is standard SQL syntax. The non-USING form of\nCONVERT() is ODBC syntax.\n\nCONVERT() with USING converts data between different character sets. In\nMySQL, transcoding names are the same as the corresponding character\nset names. For example, this statement converts the string \'abc\' in the\ndefault character set to the corresponding string in the utf8 character\nset:\n\nSELECT CONVERT(\'abc\' USING utf8);\n\nCONVERT() without USING and CAST() take an expression and a type value\nspecifying the result type. These type values are permitted:\n\no BINARY[(N)]\n\n Produces a string with the BINARY data type. See\n http://dev.mysql.com/doc/refman/5.7/en/binary-varbinary.html for a\n description of how this affects comparisons. If the optional length N\n is given, BINARY(N) causes the cast to use no more than N bytes of\n the argument. Values shorter than N bytes are padded with 0x00 bytes\n to a length of N.\n\no CHAR[(N)] [charset_info]\n\n Produces a string with the CHAR data type. If the optional length N\n is given, CHAR(N) causes the cast to use no more than N characters of\n the argument. No padding occurs for values shorter than N characters.\n\n With no charset_info clause, CHAR produces a string with the default\n character set. To specify the character set explicitly, these\n charset_info values are permitted:\n\n o CHARACTER SET charset_name: Produces a string with the given\n character set.\n\n o ASCII: Shorthand for CHARACTER SET latin1.\n\n o UNICODE: Shorthand for CHARACTER SET ucs2.\n\n In all cases, the string has the default collation for the character\n set.\n\no DATE\n\n Produces a DATE value.\n\no DATETIME\n\n Produces a DATETIME value.\n\no DECIMAL[(M[,D])]\n\n Produces a DECIMAL value. If the optional M and D values are given,\n they specify the maximum number of digits (the precision) and the\n number of digits following the decimal point (the scale).\n\no JSON (added in MySQL 5.7.8)\n\n Produces a JSON value. For details on the rules for conversion of\n values between JSON and other types, see\n http://dev.mysql.com/doc/refman/5.7/en/json.html#json-comparison.\n\no NCHAR[(N)]\n\n Like CHAR, but produces a string with the national character set. See\n http://dev.mysql.com/doc/refman/5.7/en/charset-national.html.\n\n Unlike CHAR, NCHAR does not permit trailing character set information\n to be specified.\n\no SIGNED [INTEGER]\n\n Produces a signed integer value.\n\no TIME\n\n Produces a TIME value.\n\no UNSIGNED [INTEGER]\n\n Produces an unsigned integer value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (144,24,'REPEAT LOOP','Syntax:\n[begin_label:] REPEAT\n statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\nThe statement list within a REPEAT statement is repeated until the\nsearch_condition expression is true. Thus, a REPEAT always enters the\nloop at least once. statement_list consists of one or more statements,\neach terminated by a semicolon (;) statement delimiter.\n\nA REPEAT statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/repeat.html\n\n','mysql> delimiter //\n\nmysql> CREATE PROCEDURE dorepeat(p1 INT)\n -> BEGIN\n -> SET @x = 0;\n -> REPEAT\n -> SET @x = @x + 1;\n -> UNTIL @x > p1 END REPEAT;\n -> END\n -> //\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CALL dorepeat(1000)//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @x//\n+------+\n| @x |\n+------+\n| 1001 |\n+------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/repeat.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (145,7,'ST_ISVALID','ST_IsValid(g)\n\nReturns 1 if the argument is syntactically well-formed and is\ngeometrically valid, 0 if the argument is not syntactically well-formed\nor is not geometrically valid. If the argument is NULL, the return\nvalue is NULL. Geometry validity is defined by the OGC specification.\n\nThe only valid empty geometry is represented in the form of an empty\ngeometry collection value. ST_IsValid() returns 1 in this case.\n\nST_IsValid() works only for the Cartesian coordinate system and\nrequires a geometry argument with an SRID of 0. An ER_WRONG_ARGUMENTS\nerror occurs otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html\n\n','mysql> SET @ls1 = ST_GeomFromText(\'LINESTRING(0 0,-0.00 0,0.0 0)\');\nmysql> SET @ls2 = ST_GeomFromText(\'LINESTRING(0 0, 1 1)\');\nmysql> SELECT ST_IsValid(@ls1);\n+------------------+\n| ST_IsValid(@ls1) |\n+------------------+\n| 0 |\n+------------------+\nmysql> SELECT ST_IsValid(@ls2);\n+------------------+\n| ST_IsValid(@ls2) |\n+------------------+\n| 1 |\n+------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (146,23,'SMALLINT','SMALLINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA small integer. The signed range is -32768 to 32767. The unsigned\nrange is 0 to 65535.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (147,23,'DOUBLE PRECISION','DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED]\n[ZEROFILL]\n\nThese types are synonyms for DOUBLE. Exception: If the REAL_AS_FLOAT\nSQL mode is enabled, REAL is a synonym for FLOAT rather than DOUBLE.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (148,38,'ORD','Syntax:\nORD(str)\n\nIf the leftmost character of the string str is a multibyte character,\nreturns the code for that character, calculated from the numeric values\nof its constituent bytes using this formula:\n\n (1st byte code)\n+ (2nd byte code * 256)\n+ (3rd byte code * 256^2) ...\n\nIf the leftmost character is not a multibyte character, ORD() returns\nthe same value as the ASCII() function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT ORD(\'2\');\n -> 50\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (149,37,'ENVELOPE','Envelope(g)\n\nST_Envelope() and Envelope() are synonyms. For more information, see\nthe description of ST_Envelope().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (150,37,'ST_ISEMPTY','ST_IsEmpty(g)\n\nThis function is a placeholder that returns 0 for any valid geometry\nvalue, 1 for any invalid geometry value, or NULL if the argument is\nNULL.\n\nMySQL does not support GIS EMPTY values such as POINT EMPTY.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (151,14,'INET_ATON','Syntax:\nINET_ATON(expr)\n\nGiven the dotted-quad representation of an IPv4 network address as a\nstring, returns an integer that represents the numeric value of the\naddress in network byte order (big endian). INET_ATON() returns NULL if\nit does not understand its argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_ATON(\'10.0.5.9\');\n -> 167773449\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (152,37,'ISSIMPLE','IsSimple(g)\n\nST_IsSimple() and IsSimple() are synonyms. For more information, see\nthe description of ST_IsSimple().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (153,3,'- BINARY','Syntax:\n-\n\nSubtraction:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT 3-5;\n -> -2\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (154,32,'CURRENT_TIME','Syntax:\nCURRENT_TIME, CURRENT_TIME([fsp])\n\nCURRENT_TIME and CURRENT_TIME() are synonyms for CURTIME().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (155,4,'WKT DEFINITION','The Well-Known Text (WKT) representation of geometry values is designed\nfor exchanging geometry data in ASCII form. The OpenGIS specification\nprovides a Backus-Naur grammar that specifies the formal production\nrules for writing WKT values (see\nhttp://dev.mysql.com/doc/refman/5.7/en/spatial-types.html).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-data-formats.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-data-formats.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (156,11,'ST_Y','ST_Y(p)\n\nReturns the Y-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html\n\n','mysql> SELECT ST_Y(Point(56.7, 53.34));\n+--------------------------+\n| ST_Y(Point(56.7, 53.34)) |\n+--------------------------+\n| 53.34 |\n+--------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (157,10,'REVOKE','Syntax:\nREVOKE\n priv_type [(column_list)]\n [, priv_type [(column_list)]] ...\n ON [object_type] priv_level\n FROM user [, user] ...\n\nREVOKE ALL [PRIVILEGES], GRANT OPTION\n FROM user [, user] ...\n\nREVOKE PROXY ON user\n FROM user [, user] ...\n\nThe REVOKE statement enables system administrators to revoke privileges\nfrom MySQL accounts.\n\nWhen the read_only system variable is enabled, REVOKE requires the\nSUPER privilege in addition to any other required privileges described\nin the following discussion.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html. For example:\n\nREVOKE INSERT ON *.* FROM \'jeffrey\'@\'localhost\';\n\nThe host name part of the account name, if omitted, defaults to \'%\'.\n\nFor details on the levels at which privileges exist, the permissible\npriv_type, priv_level, and object_type values, and the syntax for\nspecifying users and passwords, see [HELP GRANT]\n\nTo use the first REVOKE syntax, you must have the GRANT OPTION\nprivilege, and you must have the privileges that you are revoking.\n\nTo revoke all privileges, use the second syntax, which drops all\nglobal, database, table, column, and routine privileges for the named\nuser or users:\n\nREVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...\n\nTo use this REVOKE syntax, you must have the global CREATE USER\nprivilege, or the UPDATE privilege for the mysql database.\n\nUser accounts from which privileges are to be revoked must exist.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/revoke.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/revoke.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (158,32,'LAST_DAY','Syntax:\nLAST_DAY(date)\n\nTakes a date or datetime value and returns the corresponding value for\nthe last day of the month. Returns NULL if the argument is invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT LAST_DAY(\'2003-02-05\');\n -> \'2003-02-28\'\nmysql> SELECT LAST_DAY(\'2004-02-05\');\n -> \'2004-02-29\'\nmysql> SELECT LAST_DAY(\'2004-01-01 01:01:01\');\n -> \'2004-01-31\'\nmysql> SELECT LAST_DAY(\'2003-03-32\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (159,23,'MEDIUMINT','MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA medium-sized integer. The signed range is -8388608 to 8388607. The\nunsigned range is 0 to 16777215.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (160,12,'RANDOM_BYTES','Syntax:\nRANDOM_BYTES(len)\n\nThis function returns a binary string of len random bytes generated\nusing the random number generator of the SSL library. Permitted values\nof len range from 1 to 1024. For values outside that range,\nRANDOM_BYTES() generates a warning and returns NULL.\n\nRANDOM_BYTES() can be used to provide the initialization vector for the\nAES_DECRYPT() and AES_ENCRYPT() functions. For use in that context, len\nmust be at least 16. Larger values are permitted, but bytes in excess\nof 16 are ignored.\n\nRANDOM_BYTES() generates a random value, which makes its result\nnondeterministic. Consequently, statements that use this function are\nunsafe for statement-based replication and cannot be stored in the\nquery cache.\n\nThis function is available as of MySQL 5.7.4.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (161,38,'RTRIM','Syntax:\nRTRIM(str)\n\nReturns the string str with trailing space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT RTRIM(\'barbar \');\n -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (162,29,'EXPLAIN','Syntax:\n{EXPLAIN | DESCRIBE | DESC}\n tbl_name [col_name | wild]\n\n{EXPLAIN | DESCRIBE | DESC}\n [explain_type]\n {explainable_stmt | FOR CONNECTION connection_id}\n\nexplain_type: {\n EXTENDED\n | PARTITIONS\n | FORMAT = format_name\n}\n\nformat_name: {\n TRADITIONAL\n | JSON\n}\n\nexplainable_stmt: {\n SELECT statement\n | DELETE statement\n | INSERT statement\n | REPLACE statement\n | UPDATE statement\n}\n\nThe DESCRIBE and EXPLAIN statements are synonyms. In practice, the\nDESCRIBE keyword is more often used to obtain information about table\nstructure, whereas EXPLAIN is used to obtain a query execution plan\n(that is, an explanation of how MySQL would execute a query).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/explain.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/explain.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (163,3,'DEGREES','Syntax:\nDEGREES(X)\n\nReturns the argument X, converted from radians to degrees.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT DEGREES(PI());\n -> 180\nmysql> SELECT DEGREES(PI() / 2);\n -> 90\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (164,3,'- UNARY','Syntax:\n-\n\nUnary minus. This operator changes the sign of the operand.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT - 2;\n -> -2\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (165,23,'VARCHAR','[NATIONAL] VARCHAR(M) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA variable-length string. M represents the maximum column length in\ncharacters. The range of M is 0 to 65,535. The effective maximum length\nof a VARCHAR is subject to the maximum row size (65,535 bytes, which is\nshared among all columns) and the character set used. For example, utf8\ncharacters can require up to three bytes per character, so a VARCHAR\ncolumn that uses the utf8 character set can be declared to be a maximum\nof 21,844 characters. See\nhttp://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html.\n\nMySQL stores VARCHAR values as a 1-byte or 2-byte length prefix plus\ndata. The length prefix indicates the number of bytes in the value. A\nVARCHAR column uses one length byte if values require no more than 255\nbytes, two length bytes if values may require more than 255 bytes.\n\n*Note*:\n\nMySQL follows the standard SQL specification, and does not remove\ntrailing spaces from VARCHAR values.\n\nVARCHAR is shorthand for CHARACTER VARYING. NATIONAL VARCHAR is the\nstandard SQL way to define that a VARCHAR column should use some\npredefined character set. MySQL uses utf8 as this predefined character\nset. http://dev.mysql.com/doc/refman/5.7/en/charset-national.html.\nNVARCHAR is shorthand for NATIONAL VARCHAR.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (166,38,'UNHEX','Syntax:\n\nUNHEX(str)\n\nFor a string argument str, UNHEX(str) interprets each pair of\ncharacters in the argument as a hexadecimal number and converts it to\nthe byte represented by the number. The return value is a binary\nstring.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT UNHEX(\'4D7953514C\');\n -> \'MySQL\'\nmysql> SELECT X\'4D7953514C\';\n -> \'MySQL\'\nmysql> SELECT UNHEX(HEX(\'string\'));\n -> \'string\'\nmysql> SELECT HEX(UNHEX(\'1267\'));\n -> \'1267\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (167,40,'DROP TRIGGER','Syntax:\nDROP TRIGGER [IF EXISTS] [schema_name.]trigger_name\n\nThis statement drops a trigger. The schema (database) name is optional.\nIf the schema is omitted, the trigger is dropped from the default\nschema. DROP TRIGGER requires the TRIGGER privilege for the table\nassociated with the trigger.\n\nUse IF EXISTS to prevent an error from occurring for a trigger that\ndoes not exist. A NOTE is generated for a nonexistent trigger when\nusing IF EXISTS. See [HELP SHOW WARNINGS].\n\nTriggers for a table are also dropped if you drop the table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-trigger.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-trigger.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (168,8,'RESET MASTER','Syntax:\nRESET MASTER\n\nDeletes all binary log files listed in the index file, resets the\nbinary log index file to be empty, and creates a new binary log file.\n\n*Warning*:\n\nUse this statement with caution to ensure you do not lose binary log\nfile data.\n\nRESET MASTER also clears the values of the gtid_purged system variable\nas well as the global value of the gtid_executed system variable (but\nnot its session value); that is, executing this statement sets each of\nthese values to an empty string (\'\'). In MySQL 5.7.5 and later, this\nstatement also clears the mysql.gtid_executed table (see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids-concepts.html#\nreplication-gtids-gtid-executed-table).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/reset-master.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/reset-master.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (169,3,'PI','Syntax:\nPI()\n\nReturns the value of π (pi). The default number of decimal places\ndisplayed is seven, but MySQL uses the full double-precision value\ninternally.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT PI();\n -> 3.141593\nmysql> SELECT PI()+0.000000000000000000;\n -> 3.141592653589793116\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (170,14,'ANY_VALUE','ANY_VALUE(arg)\n\nThis function is useful for GROUP BY queries when the\nONLY_FULL_GROUP_BY SQL mode is enabled, for cases when MySQL rejects a\nquery that you know is valid for reasons that MySQL cannot determine.\nThe function return value and type are the same as the return value and\ntype of its argument, but the function result is not checked for the\nONLY_FULL_GROUP_BY SQL mode.\n\nFor example, if name is a nonindexed column, the following query fails\nwith ONLY_FULL_GROUP_BY enabled:\n\nmysql> SELECT name, address, MAX(age) FROM t GROUP BY name;\nERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP\nBY clause and contains nonaggregated column \'mydb.t.address\' which\nis not functionally dependent on columns in GROUP BY clause; this\nis incompatible with sql_mode=only_full_group_by\n\nThe failure occurs because address is a nonaggregated column that is\nneither named among GROUP BY columns nor functionally dependent on\nthem. As a result, the address value for rows within each name group is\nnondeterministic. There are multiple ways to cause MySQL to accept the\nquery:\n\no Alter the table to make name a primary key or a unique NOT NULL\n column. This enables MySQL to determine that address is functionally\n dependent on name; that is, address is uniquely determined by name.\n (This technique is inapplicable if NULL must be permitted as a valid\n name value.)\n\no Use ANY_VALUE() to refer to address:\n\nSELECT name, ANY_VALUE(address), MAX(age) FROM t GROUP BY name;\n\n In this case, MySQL ignores the nondeterminism of address values\n within each name group and accepts the query. This may be useful if\n you simply do not care which value of a nonaggregated column is\n chosen for each group. ANY_VALUE() is not an aggregate function,\n unlike functions such as SUM() or COUNT(). It simply acts to suppress\n the test for nondeterminism.\n\no Disable ONLY_FULL_GROUP_BY. This is equivalent to using ANY_VALUE()\n with ONLY_FULL_GROUP_BY enabled, as described in the previous item.\n\nANY_VALUE() is also useful if functional dependence exists between\ncolumns but MySQL cannot determine it. The following query is valid\nbecause age is functionally dependent on the grouping column age-1, but\nMySQL cannot tell that and rejects the query with ONLY_FULL_GROUP_BY\nenabled:\n\nSELECT age FROM t GROUP BY age-1;\n\nTo cause MySQL to accept the query, use ANY_VALUE():\n\nSELECT ANY_VALUE(age) FROM t GROUP BY age-1;\n\nANY_VALUE() can be used for queries that refer to aggregate functions\nin the absence of a GROUP BY clause:\n\nmysql> SELECT name, MAX(age) FROM t;\nERROR 1140 (42000): In aggregated query without GROUP BY, expression\n#1 of SELECT list contains nonaggregated column \'mydb.t.name\'; this\nis incompatible with sql_mode=only_full_group_by\n\nWithout GROUP BY, there is a single group and it is nondeterministic\nwhich name value to choose for the group. ANY_VALUE() tells MySQL to\naccept the query:\n\nSELECT ANY_VALUE(name), MAX(age) FROM t;\n\nIt may be that, due to some property of a given data set, you know that\na selected nonaggregated column is effectively functionally dependent\non a GROUP BY column. For example, an application may enforce\nuniqueness of one column with respect to another. In this case, using\nANY_VALUE() for the effectively functionally dependent column may make\nsense.\n\nFor additional discussion, see\nhttp://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (171,3,'/','Syntax:\n/\n\nDivision:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT 3/5;\n -> 0.60\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (172,8,'PURGE BINARY LOGS','Syntax:\nPURGE { BINARY | MASTER } LOGS\n { TO \'log_name\' | BEFORE datetime_expr }\n\nThe binary log is a set of files that contain information about data\nmodifications made by the MySQL server. The log consists of a set of\nbinary log files, plus an index file (see\nhttp://dev.mysql.com/doc/refman/5.7/en/binary-log.html).\n\nThe PURGE BINARY LOGS statement deletes all the binary log files listed\nin the log index file prior to the specified log file name or date.\nBINARY and MASTER are synonyms. Deleted log files also are removed from\nthe list recorded in the index file, so that the given log file becomes\nthe first in the list.\n\nThis statement has no effect if the server was not started with the\n--log-bin option to enable binary logging.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/purge-binary-logs.html\n\n','PURGE BINARY LOGS TO \'mysql-bin.010\';\nPURGE BINARY LOGS BEFORE \'2008-04-02 22:46:26\';\n','http://dev.mysql.com/doc/refman/5.7/en/purge-binary-logs.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (173,16,'STDDEV_SAMP','Syntax:\nSTDDEV_SAMP(expr)\n\nReturns the sample standard deviation of expr (the square root of\nVAR_SAMP().\n\nIf there are no matching rows, STDDEV_SAMP() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (174,31,'ST_TOUCHES','ST_Touches(g1, g2)\n\nTwo geometries spatially touch if their interiors do not intersect, but\nthe boundary of one of the geometries intersects either the boundary or\nthe interior of the other.\n\nThis function returns 1 or 0 to indicate whether g1 spatially touches\ng2.\n\nThis function returns 0 if called with an inapplicable geometry\nargument type combination. For example, it returns 0 if either of the\narguments is a Point or MultiPoint.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (175,17,'SCHEMA','Syntax:\nSCHEMA()\n\nThis function is a synonym for DATABASE().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (176,7,'MBREQUALS','MBREquals(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are the same.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (177,33,'MLINEFROMWKB','MLineFromWKB(wkb[, srid]), MultiLineStringFromWKB(wkb[, srid])\n\nST_MLineFromWKB(), ST_MultiLineStringFromWKB(), MLineFromWKB(), and\nMultiLineStringFromWKB() are synonyms. For more information, see the\ndescription of ST_MLineFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (178,27,'SHOW CREATE TABLE','Syntax:\nSHOW CREATE TABLE tbl_name\n\nShows the CREATE TABLE statement that creates the named table. To use\nthis statement, you must have some privilege for the table. This\nstatement also works with views.\nSHOW CREATE TABLE quotes table and column names according to the value\nof the sql_quote_show_create option. See\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nFor information about how CREATE TABLE statements are stored by MySQL,\nsee\nhttp://dev.mysql.com/doc/refman/5.7/en/create-table-statement-retention\n.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-table.html\n\n','mysql> SHOW CREATE TABLE t\\G\n*************************** 1. row ***************************\n Table: t\nCreate Table: CREATE TABLE `t` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n `s` char(60) DEFAULT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1\n','http://dev.mysql.com/doc/refman/5.7/en/show-create-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (179,28,'DUAL','You are permitted to specify DUAL as a dummy table name in situations\nwhere no tables are referenced:\n\nmysql> SELECT 1 + 1 FROM DUAL;\n -> 2\n\nDUAL is purely for the convenience of people who require that all\nSELECT statements should have FROM and possibly other clauses. MySQL\nmay ignore the clauses. MySQL does not require FROM DUAL if no tables\nare referenced.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/select.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (180,38,'INSTR','Syntax:\nINSTR(str,substr)\n\nReturns the position of the first occurrence of substring substr in\nstring str. This is the same as the two-argument form of LOCATE(),\nexcept that the order of the arguments is reversed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT INSTR(\'foobarbar\', \'bar\');\n -> 4\nmysql> SELECT INSTR(\'xbar\', \'foobar\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (181,20,'>=','Syntax:\n>=\n\nGreater than or equal:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 >= 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (182,3,'EXP','Syntax:\nEXP(X)\n\nReturns the value of e (the base of natural logarithms) raised to the\npower of X. The inverse of this function is LOG() (using a single\nargument only) or LN().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT EXP(2);\n -> 7.3890560989307\nmysql> SELECT EXP(-2);\n -> 0.13533528323661\nmysql> SELECT EXP(0);\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (183,37,'ST_ISSIMPLE','ST_IsSimple(g)\n\nReturns 1 if the geometry value g has no anomalous geometric points,\nsuch as self-intersection or self-tangency. ST_IsSimple() returns 0 if\nthe argument is not simple, and NULL if the argument is NULL.\n\nThe descriptions of the instantiable geometric classes given under\nhttp://dev.mysql.com/doc/refman/5.7/en/opengis-geometry-model.html\nincludes the specific conditions that cause class instances to be\nclassified as not simple.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (184,13,'POINTN','PointN(ls, N)\n\nST_PointN() and PointN() are synonyms. For more information, see the\ndescription of ST_PointN().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (185,38,'OCT','Syntax:\nOCT(N)\n\nReturns a string representation of the octal value of N, where N is a\nlonglong (BIGINT) number. This is equivalent to CONV(N,10,8). Returns\nNULL if N is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT OCT(12);\n -> \'14\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (186,32,'SYSDATE','Syntax:\nSYSDATE([fsp])\n\nReturns the current date and time as a value in \'YYYY-MM-DD HH:MM:SS\'\nor YYYYMMDDHHMMSS format, depending on whether the function is used in\na string or numeric context.\n\nIf the fsp argument is given to specify a fractional seconds precision\nfrom 0 to 6, the return value includes a fractional seconds part of\nthat many digits.\n\nSYSDATE() returns the time at which it executes. This differs from the\nbehavior for NOW(), which returns a constant time that indicates the\ntime at which the statement began to execute. (Within a stored function\nor trigger, NOW() returns the time at which the function or triggering\nstatement began to execute.)\n\nmysql> SELECT NOW(), SLEEP(2), NOW();\n+---------------------+----------+---------------------+\n| NOW() | SLEEP(2) | NOW() |\n+---------------------+----------+---------------------+\n| 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |\n+---------------------+----------+---------------------+\n\nmysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();\n+---------------------+----------+---------------------+\n| SYSDATE() | SLEEP(2) | SYSDATE() |\n+---------------------+----------+---------------------+\n| 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |\n+---------------------+----------+---------------------+\n\nIn addition, the SET TIMESTAMP statement affects the value returned by\nNOW() but not by SYSDATE(). This means that timestamp settings in the\nbinary log have no effect on invocations of SYSDATE().\n\nBecause SYSDATE() can return different values even within the same\nstatement, and is not affected by SET TIMESTAMP, it is nondeterministic\nand therefore unsafe for replication if statement-based binary logging\nis used. If that is a problem, you can use row-based logging.\n\nAlternatively, you can use the --sysdate-is-now option to cause\nSYSDATE() to be an alias for NOW(). This works if the option is used on\nboth the master and the slave.\n\nThe nondeterministic nature of SYSDATE() also means that indexes cannot\nbe used for evaluating expressions that refer to it.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (187,5,'UNINSTALL PLUGIN','Syntax:\nUNINSTALL PLUGIN plugin_name\n\nThis statement removes an installed server plugin. It requires the\nDELETE privilege for the mysql.plugin system table. UNINSTALL PLUGIN is\nthe complement of INSTALL PLUGIN.\n\nplugin_name must be the name of some plugin that is listed in the\nmysql.plugin table. The server executes the plugin\'s deinitialization\nfunction and removes the row for the plugin from the mysql.plugin\ntable, so that subsequent server restarts will not load and initialize\nthe plugin. UNINSTALL PLUGIN does not remove the plugin\'s shared\nlibrary file.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/uninstall-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/uninstall-plugin.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (188,33,'ASBINARY','AsBinary(g), AsWKB(g)\n\nST_AsBinary(), ST_AsWKB(), AsBinary(), and AsWKB() are synonyms. For\nmore information, see the description of ST_AsBinary().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (189,33,'ST_MLINEFROMWKB','ST_MLineFromWKB(wkb[, srid]), ST_MultiLineStringFromWKB(wkb[, srid])\n\nConstructs a MultiLineString value using its WKB representation and\nSRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (190,27,'SHOW TABLES','Syntax:\nSHOW [FULL] TABLES\n [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW TABLES lists the non-TEMPORARY tables in a given database. You can\nalso get this list using the mysqlshow db_name command. The LIKE\nclause, if present, indicates which table names to match. The WHERE\nclause can be given to select rows using more general conditions, as\ndiscussed in http://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nMatching performed by the LIKE clause is dependent on the setting of\nthe lower_case_table_names system variable.\n\nThis statement also lists any views in the database. The optional FULL\nmodifier causes SHOW TABLES to display a second output column with\nvalues of BASE TABLE for a table and VIEW for a view.\n\nIf you have no privileges for a base table or view, it does not show up\nin the output from SHOW TABLES or mysqlshow db_name.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-tables.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (191,32,'MAKEDATE','Syntax:\nMAKEDATE(year,dayofyear)\n\nReturns a date, given year and day-of-year values. dayofyear must be\ngreater than 0 or the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT MAKEDATE(2011,31), MAKEDATE(2011,32);\n -> \'2011-01-31\', \'2011-02-01\'\nmysql> SELECT MAKEDATE(2011,365), MAKEDATE(2014,365);\n -> \'2011-12-31\', \'2014-12-31\'\nmysql> SELECT MAKEDATE(2011,0);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (192,38,'BINARY OPERATOR','Syntax:\nBINARY expr\n\nThe BINARY operator converts the expression to a binary string. A\ncommon use for BINARY is to force a character string comparison to be\ndone byte by byte rather than character by character, in effect\nbecoming case-sensitive. The BINARY operator also causes trailing\nspaces in comparisons to be significant.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html\n\n','mysql> SELECT \'a\' = \'A\';\n -> 1\nmysql> SELECT BINARY \'a\' = \'A\';\n -> 0\nmysql> SELECT \'a\' = \'a \';\n -> 1\nmysql> SELECT BINARY \'a\' = \'a \';\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (193,7,'MBROVERLAPS','MBROverlaps(g1, g2)\n\nTwo geometries spatially overlap if they intersect and their\nintersection results in a geometry of the same dimension but not equal\nto either of the given geometries.\n\nThis function returns 1 or 0 to indicate whether the minimum bounding\nrectangles of the two geometries g1 and g2 overlap.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (194,33,'ST_LINEFROMWKB','ST_LineFromWKB(wkb[, srid]), ST_LineStringFromWKB(wkb[, srid])\n\nConstructs a LineString value using its WKB representation and SRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (195,7,'ASYMMETRIC_DERIVE','Syntax:\nASYMMETRIC_DERIVE(pub_key_str, priv_key_str)\n\nDerives a symmetric key using the private key of one party and the\npublic key of another, and returns the resulting key as a binary\nstring. If key derivation fails, the result is NULL.\n\npub_key_str and priv_key_str must be valid key strings in PEM format.\nThey must be created using the DH algorithm.\n\nSuppose that you have two pairs of public and private keys:\n\nSET @dhp = CREATE_DH_PARAMETERS(1024);\nSET @priv1 = CREATE_ASYMMETRIC_PRIV_KEY(\'DH\', @dhp);\nSET @pub1 = CREATE_ASYMMETRIC_PUB_KEY(\'DH\', @priv1);\nSET @priv2 = CREATE_ASYMMETRIC_PRIV_KEY(\'DH\', @dhp);\nSET @pub2 = CREATE_ASYMMETRIC_PUB_KEY(\'DH\', @priv2);\n\nSuppose further that you use the private key from one pair and the\npublic key from the other pair to create a symmetric key string. Then\nthis symmetric key identity relationship holds:\n\nASYMMETRIC_DERIVE(@pub1, @priv2) = ASYMMETRIC_DERIVE(@pub2, @priv1)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (196,28,'INSERT SELECT','Syntax:\nINSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [(col_name [, col_name] ...)]\n SELECT ...\n [ON DUPLICATE KEY UPDATE assignment_list]\n\nvalue:\n {expr | DEFAULT}\n\nassignment:\n col_name = value\n\nassignment_list:\n assignment [, assignment] ...\n\nWith INSERT ... SELECT, you can quickly insert many rows into a table\nfrom the result of a SELECT statement, which can select from one or\nmany tables. For example:\n\nINSERT INTO tbl_temp2 (fld_id)\n SELECT tbl_temp1.fld_order_id\n FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/insert-select.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/insert-select.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (197,40,'CREATE PROCEDURE','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n PROCEDURE sp_name ([proc_parameter[,...]])\n [characteristic ...] routine_body\n\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n FUNCTION sp_name ([func_parameter[,...]])\n RETURNS type\n [characteristic ...] routine_body\n\nproc_parameter:\n [ IN | OUT | INOUT ] param_name type\n\nfunc_parameter:\n param_name type\n\ntype:\n Any valid MySQL data type\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | [NOT] DETERMINISTIC\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nroutine_body:\n Valid SQL routine statement\n\nThese statements create stored routines. By default, a routine is\nassociated with the default database. To associate the routine\nexplicitly with a given database, specify the name as db_name.sp_name\nwhen you create it.\n\nThe CREATE FUNCTION statement is also used in MySQL to support UDFs\n(user-defined functions). See\nhttp://dev.mysql.com/doc/refman/5.7/en/adding-functions.html. A UDF can\nbe regarded as an external stored function. Stored functions share\ntheir namespace with UDFs. See\nhttp://dev.mysql.com/doc/refman/5.7/en/function-resolution.html, for\nthe rules describing how the server interprets references to different\nkinds of functions.\n\nTo invoke a stored procedure, use the CALL statement (see [HELP CALL]).\nTo invoke a stored function, refer to it in an expression. The function\nreturns a value during expression evaluation.\n\nCREATE PROCEDURE and CREATE FUNCTION require the CREATE ROUTINE\nprivilege. They might also require the SUPER privilege, depending on\nthe DEFINER value, as described later in this section. If binary\nlogging is enabled, CREATE FUNCTION might require the SUPER privilege,\nas described in\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-logging.html.\n\nBy default, MySQL automatically grants the ALTER ROUTINE and EXECUTE\nprivileges to the routine creator. This behavior can be changed by\ndisabling the automatic_sp_privileges system variable. See\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-routines-privileges.html.\n\nThe DEFINER and SQL SECURITY clauses specify the security context to be\nused when checking access privileges at routine execution time, as\ndescribed later in this section.\n\nIf the routine name is the same as the name of a built-in SQL function,\na syntax error occurs unless you use a space between the name and the\nfollowing parenthesis when defining the routine or invoking it later.\nFor this reason, avoid using the names of existing SQL functions for\nyour own stored routines.\n\nThe IGNORE_SPACE SQL mode applies to built-in functions, not to stored\nroutines. It is always permissible to have spaces after a stored\nroutine name, regardless of whether IGNORE_SPACE is enabled.\n\nThe parameter list enclosed within parentheses must always be present.\nIf there are no parameters, an empty parameter list of () should be\nused. Parameter names are not case sensitive.\n\nEach parameter is an IN parameter by default. To specify otherwise for\na parameter, use the keyword OUT or INOUT before the parameter name.\n\n*Note*:\n\nSpecifying a parameter as IN, OUT, or INOUT is valid only for a\nPROCEDURE. For a FUNCTION, parameters are always regarded as IN\nparameters.\n\nAn IN parameter passes a value into a procedure. The procedure might\nmodify the value, but the modification is not visible to the caller\nwhen the procedure returns. An OUT parameter passes a value from the\nprocedure back to the caller. Its initial value is NULL within the\nprocedure, and its value is visible to the caller when the procedure\nreturns. An INOUT parameter is initialized by the caller, can be\nmodified by the procedure, and any change made by the procedure is\nvisible to the caller when the procedure returns.\n\nFor each OUT or INOUT parameter, pass a user-defined variable in the\nCALL statement that invokes the procedure so that you can obtain its\nvalue when the procedure returns. If you are calling the procedure from\nwithin another stored procedure or function, you can also pass a\nroutine parameter or local routine variable as an IN or INOUT\nparameter.\n\nRoutine parameters cannot be referenced in statements prepared within\nthe routine; see\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html\n.\n\nThe following example shows a simple stored procedure that uses an OUT\nparameter:\n\nmysql> delimiter //\n\nmysql> CREATE PROCEDURE simpleproc (OUT param1 INT)\n -> BEGIN\n -> SELECT COUNT(*) INTO param1 FROM t;\n -> END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> delimiter ;\n\nmysql> CALL simpleproc(@a);\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @a;\n+------+\n| @a |\n+------+\n| 3 |\n+------+\n1 row in set (0.00 sec)\n\nThe example uses the mysql client delimiter command to change the\nstatement delimiter from ; to // while the procedure is being defined.\nThis enables the ; delimiter used in the procedure body to be passed\nthrough to the server rather than being interpreted by mysql itself.\nSee\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html.\n\nThe RETURNS clause may be specified only for a FUNCTION, for which it\nis mandatory. It indicates the return type of the function, and the\nfunction body must contain a RETURN value statement. If the RETURN\nstatement returns a value of a different type, the value is coerced to\nthe proper type. For example, if a function specifies an ENUM or SET\nvalue in the RETURNS clause, but the RETURN statement returns an\ninteger, the value returned from the function is the string for the\ncorresponding ENUM member of set of SET members.\n\nThe following example function takes a parameter, performs an operation\nusing an SQL function, and returns the result. In this case, it is\nunnecessary to use delimiter because the function definition contains\nno internal ; statement delimiters:\n\nmysql> CREATE FUNCTION hello (s CHAR(20))\nmysql> RETURNS CHAR(50) DETERMINISTIC\n -> RETURN CONCAT(\'Hello, \',s,\'!\');\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT hello(\'world\');\n+----------------+\n| hello(\'world\') |\n+----------------+\n| Hello, world! |\n+----------------+\n1 row in set (0.00 sec)\n\nParameter types and function return types can be declared to use any\nvalid data type. The COLLATE attribute can be used if preceded by the\nCHARACTER SET attribute.\n\nThe routine_body consists of a valid SQL routine statement. This can be\na simple statement such as SELECT or INSERT, or a compound statement\nwritten using BEGIN and END. Compound statements can contain\ndeclarations, loops, and other control structure statements. The syntax\nfor these statements is described in\nhttp://dev.mysql.com/doc/refman/5.7/en/sql-syntax-compound-statements.h\ntml.\n\nMySQL permits routines to contain DDL statements, such as CREATE and\nDROP. MySQL also permits stored procedures (but not stored functions)\nto contain SQL transaction statements such as COMMIT. Stored functions\nmay not contain statements that perform explicit or implicit commit or\nrollback. Support for these statements is not required by the SQL\nstandard, which states that each DBMS vendor may decide whether to\npermit them.\n\nStatements that return a result set can be used within a stored\nprocedure but not within a stored function. This prohibition includes\nSELECT statements that do not have an INTO var_list clause and other\nstatements such as SHOW, EXPLAIN, and CHECK TABLE. For statements that\ncan be determined at function definition time to return a result set, a\nNot allowed to return a result set from a function error occurs\n(ER_SP_NO_RETSET). For statements that can be determined only at\nruntime to return a result set, a PROCEDURE %s can\'t return a result\nset in the given context error occurs (ER_SP_BADSELECT).\n\nUSE statements within stored routines are not permitted. When a routine\nis invoked, an implicit USE db_name is performed (and undone when the\nroutine terminates). The causes the routine to have the given default\ndatabase while it executes. References to objects in databases other\nthan the routine default database should be qualified with the\nappropriate database name.\n\nFor additional information about statements that are not permitted in\nstored routines, see\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html\n.\n\nFor information about invoking stored procedures from within programs\nwritten in a language that has a MySQL interface, see [HELP CALL].\n\nMySQL stores the sql_mode system variable setting in effect when a\nroutine is created or altered, and always executes the routine with\nthis setting in force, regardless of the current server SQL mode when\nthe routine begins executing.\n\nThe switch from the SQL mode of the invoker to that of the routine\noccurs after evaluation of arguments and assignment of the resulting\nvalues to routine parameters. If you define a routine in strict SQL\nmode but invoke it in nonstrict mode, assignment of arguments to\nroutine parameters does not take place in strict mode. If you require\nthat expressions passed to a routine be assigned in strict SQL mode,\nyou should invoke the routine with strict mode in effect.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (198,24,'GET DIAGNOSTICS','Syntax:\nGET [CURRENT | STACKED] DIAGNOSTICS\n{\n statement_information_item\n [, statement_information_item] ...\n | CONDITION condition_number\n condition_information_item\n [, condition_information_item] ...\n}\n\nstatement_information_item:\n target = statement_information_item_name\n\ncondition_information_item:\n target = condition_information_item_name\n\nstatement_information_item_name:\n NUMBER\n | ROW_COUNT\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | RETURNED_SQLSTATE\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_number, target:\n (see following discussion)\n\nSQL statements produce diagnostic information that populates the\ndiagnostics area. The GET DIAGNOSTICS statement enables applications to\ninspect this information. (You can also use SHOW WARNINGS or SHOW\nERRORS to see conditions or errors.)\n\nNo special privileges are required to execute GET DIAGNOSTICS.\n\nThe keyword CURRENT means to retrieve information from the current\ndiagnostics area. The keyword STACKED means to retrieve information\nfrom the second diagnostics area, which is available only if the\ncurrent context is a condition handler. If neither keyword is given,\nthe default is to use the current diagnostics area.\n\nThe GET DIAGNOSTICS statement is typically used in a handler within a\nstored program. It is a MySQL extension that GET [CURRENT] DIAGNOSTICS\nis permitted outside handler context to check the execution of any SQL\nstatement. For example, if you invoke the mysql client program, you can\nenter these statements at the prompt:\n\nmysql> DROP TABLE test.no_such_table;\nERROR 1051 (42S02): Unknown table \'test.no_such_table\'\nmysql> GET DIAGNOSTICS CONDITION 1\n -> @p1 = RETURNED_SQLSTATE, @p2 = MESSAGE_TEXT;\nmysql> SELECT @p1, @p2;\n+-------+------------------------------------+\n| @p1 | @p2 |\n+-------+------------------------------------+\n| 42S02 | Unknown table \'test.no_such_table\' |\n+-------+------------------------------------+\n\nThis extension applies only to the current diagnostics area. It does\nnot apply to the second diagnostics area because GET STACKED\nDIAGNOSTICS is permitted only if the current context is a condition\nhandler. If that is not the case, a GET STACKED DIAGNOSTICS when\nhandler not active error occurs.\n\nFor a description of the diagnostics area, see\nhttp://dev.mysql.com/doc/refman/5.7/en/diagnostics-area.html. Briefly,\nit contains two kinds of information:\n\no Statement information, such as the number of conditions that occurred\n or the affected-rows count.\n\no Condition information, such as the error code and message. If a\n statement raises multiple conditions, this part of the diagnostics\n area has a condition area for each one. If a statement raises no\n conditions, this part of the diagnostics area is empty.\n\nFor a statement that produces three conditions, the diagnostics area\ncontains statement and condition information like this:\n\nStatement information:\n row count\n ... other statement information items ...\nCondition area list:\n Condition area 1:\n error code for condition 1\n error message for condition 1\n ... other condition information items ...\n Condition area 2:\n error code for condition 2:\n error message for condition 2\n ... other condition information items ...\n Condition area 3:\n error code for condition 3\n error message for condition 3\n ... other condition information items ...\n\nGET DIAGNOSTICS can obtain either statement or condition information,\nbut not both in the same statement:\n\no To obtain statement information, retrieve the desired statement items\n into target variables. This instance of GET DIAGNOSTICS assigns the\n number of available conditions and the rows-affected count to the\n user variables @p1 and @p2:\n\nGET DIAGNOSTICS @p1 = NUMBER, @p2 = ROW_COUNT;\n\no To obtain condition information, specify the condition number and\n retrieve the desired condition items into target variables. This\n instance of GET DIAGNOSTICS assigns the SQLSTATE value and error\n message to the user variables @p3 and @p4:\n\nGET DIAGNOSTICS CONDITION 1\n @p3 = RETURNED_SQLSTATE, @p4 = MESSAGE_TEXT;\n\nThe retrieval list specifies one or more target = item_name\nassignments, separated by commas. Each assignment names a target\nvariable and either a statement_information_item_name or\ncondition_information_item_name designator, depending on whether the\nstatement retrieves statement or condition information.\n\nValid target designators for storing item information can be stored\nprocedure or function parameters, stored program local variables\ndeclared with DECLARE, or user-defined variables.\n\nValid condition_number designators can be stored procedure or function\nparameters, stored program local variables declared with DECLARE,\nuser-defined variables, system variables, or literals. A character\nliteral may include a _charset introducer. A warning occurs if the\ncondition number is not in the range from 1 to the number of condition\nareas that have information. In this case, the warning is added to the\ndiagnostics area without clearing it.\n\nWhen a condition occurs, MySQL does not populate all condition items\nrecognized by GET DIAGNOSTICS. For example:\n\nmysql> GET DIAGNOSTICS CONDITION 1\n -> @p5 = SCHEMA_NAME, @p6 = TABLE_NAME;\nmysql> SELECT @p5, @p6;\n+------+------+\n| @p5 | @p6 |\n+------+------+\n| | |\n+------+------+\n\nIn standard SQL, if there are multiple conditions, the first condition\nrelates to the SQLSTATE value returned for the previous SQL statement.\nIn MySQL, this is not guaranteed. To get the main error, you cannot do\nthis:\n\nGET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;\n\nInstead, retrieve the condition count first, then use it to specify\nwhich condition number to inspect:\n\nGET DIAGNOSTICS @cno = NUMBER;\nGET DIAGNOSTICS CONDITION @cno @errno = MYSQL_ERRNO;\n\nFor information about permissible statement and condition information\nitems, and which ones are populated when a condition occurs, see\nhttp://dev.mysql.com/doc/refman/5.7/en/diagnostics-area.html#diagnostic\ns-area-information-items.\n\nHere is an example that uses GET DIAGNOSTICS and an exception handler\nin stored procedure context to assess the outcome of an insert\noperation. If the insert was successful, the procedure uses GET\nDIAGNOSTICS to get the rows-affected count. This shows that you can use\nGET DIAGNOSTICS multiple times to retrieve information about a\nstatement as long as the current diagnostics area has not been cleared.\n\nCREATE PROCEDURE do_insert(value INT)\nBEGIN\n -- Declare variables to hold diagnostics area information\n DECLARE code CHAR(5) DEFAULT \'00000\';\n DECLARE msg TEXT;\n DECLARE rows INT;\n DECLARE result TEXT;\n -- Declare exception handler for failed insert\n DECLARE CONTINUE HANDLER FOR SQLEXCEPTION\n BEGIN\n GET DIAGNOSTICS CONDITION 1\n code = RETURNED_SQLSTATE, msg = MESSAGE_TEXT;\n END;\n\n -- Perform the insert\n INSERT INTO t1 (int_col) VALUES(value);\n -- Check whether the insert was successful\n IF code = \'00000\' THEN\n GET DIAGNOSTICS rows = ROW_COUNT;\n SET result = CONCAT(\'insert succeeded, row count = \',rows);\n ELSE\n SET result = CONCAT(\'insert failed, error = \',code,\', message = \',msg);\n END IF;\n -- Say what happened\n SELECT result;\nEND;\n\nSuppose that t1.int_col is an integer column that is declared as NOT\nNULL. The procedure produces these results when invoked to insert\nnon-NULL and NULL values, respectively:\n\nmysql> CALL do_insert(1);\n+---------------------------------+\n| result |\n+---------------------------------+\n| insert succeeded, row count = 1 |\n+---------------------------------+\n\nmysql> CALL do_insert(NULL);\n+-------------------------------------------------------------------------+\n| result |\n+-------------------------------------------------------------------------+\n| insert failed, error = 23000, message = Column \'int_col\' cannot be null |\n+-------------------------------------------------------------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/get-diagnostics.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/get-diagnostics.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (199,38,'NOT REGEXP','Syntax:\nexpr NOT REGEXP pat, expr NOT RLIKE pat\n\nThis is the same as NOT (expr REGEXP pat).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/regexp.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/regexp.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (200,24,'LEAVE','Syntax:\nLEAVE label\n\nThis statement is used to exit the flow control construct that has the\ngiven label. If the label is for the outermost stored program block,\nLEAVE exits the program.\n\nLEAVE can be used within BEGIN ... END or loop constructs (LOOP,\nREPEAT, WHILE).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/leave.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/leave.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (201,7,'ST_GEOHASH','ST_GeoHash(longitude, latitude, max_length), ST_GeoHash(point,\nmax_length)\n\nReturns a geohash string in the connection character set and collation.\n\nIf any argument is NULL, the return value is NULL. If any argument is\ninvalid, an error occurs.\n\nFor the first syntax, the longitude must be a number in the range\n[−180, 180], and the latitude must be a number in the range [−90,\n90]. For the second syntax, a POINT value is required, where the X and\nY coordinates are in the valid ranges for longitude and latitude,\nrespectively.\n\nThe resulting string is no longer than max_length characters, which has\nan upper limit of 100. The string might be shorter than max_length\ncharacters because the algorithm that creates the geohash value\ncontinues until it has created a string that is either an exact\nrepresentation of the location or max_length characters, whichever\ncomes first.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html\n\n','mysql> SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);\n+----------------------+-------------------------+\n| ST_GeoHash(180,0,10) | ST_GeoHash(-180,-90,15) |\n+----------------------+-------------------------+\n| xbpbpbpbpb | 000000000000000 |\n+----------------------+-------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (202,20,'NOT IN','Syntax:\nexpr NOT IN (value,...)\n\nThis is the same as NOT (expr IN (value,...)).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (203,11,'X','X(p)\n\nST_X() and X() are synonyms. For more information, see the description\nof ST_X().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (204,17,'FOUND_ROWS','Syntax:\nFOUND_ROWS()\n\nA SELECT statement may include a LIMIT clause to restrict the number of\nrows the server returns to the client. In some cases, it is desirable\nto know how many rows the statement would have returned without the\nLIMIT, but without running the statement again. To obtain this row\ncount, include an SQL_CALC_FOUND_ROWS option in the SELECT statement,\nand then invoke FOUND_ROWS() afterward:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name\n -> WHERE id > 100 LIMIT 10;\nmysql> SELECT FOUND_ROWS();\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (205,31,'CROSSES','Crosses(g1, g2)\n\nST_Crosses() and Crosses() are synonyms. For more information, see the\ndescription of ST_Crosses().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (206,26,'ST_UNION','ST_Union(g1, g2)\n\nReturns a geometry that represents the point set union of the geometry\nvalues g1 and g2. If any argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','mysql> SET @g1 = ST_GeomFromText(\'LineString(1 1, 3 3)\');\nmysql> SET @g2 = ST_GeomFromText(\'LineString(1 3, 3 1)\');\nmysql> SELECT ST_AsText(ST_Union(@g1, @g2));\n+--------------------------------------+\n| ST_AsText(ST_Union(@g1, @g2)) |\n+--------------------------------------+\n| MULTILINESTRING((1 1,3 3),(1 3,3 1)) |\n+--------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (207,16,'BIT_XOR','Syntax:\nBIT_XOR(expr)\n\nReturns the bitwise XOR of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nIf there are no matching rows, BIT_XOR() returns a neutral value (all\nbits set to 0).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (208,7,'->>','Syntax:\ncolumn->>path\n\nThis is an improved, unquoting extraction operator available in MySQL\n5.7.13 and later. Whereas the -> operator simply extracts a value, the\n->> operator in addition unquotes the extracted result. In other words,\ngiven a JSON column value column and a path expression path, the\nfollowing three expressions return the same value:\n\no JSON_UNQUOTE( JSON_EXTRACT(column, path) )\n\no JSON_UNQUOTE(column -> path)\n\no column->>path\n\nThe ->> operator can be used wherever JSON_UNQUOTE(JSON_EXTRACT())\nwould be allowed. This includes (but is not limited to) SELECT lists,\nWHERE and HAVING clauses, and ORDER BY and GROUP BY clauses.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SELECT * FROM jemp WHERE g > 2;\n+-------------------------------+------+\n| c | g |\n+-------------------------------+------+\n| {"id": "3", "name": "Barney"} | 3 |\n| {"id": "4", "name": "Betty"} | 4 |\n+-------------------------------+------+\n2 rows in set (0.01 sec)\n\nmysql> SELECT c->\'$.name\' AS name\n -> FROM jemp WHERE g > 2;\n+----------+\n| name |\n+----------+\n| "Barney" |\n| "Betty" |\n+----------+\n2 rows in set (0.00 sec)\n\nmysql> SELECT JSON_UNQUOTE(c->\'$.name\') AS name\n -> FROM jemp WHERE g > 2;\n+--------+\n| name |\n+--------+\n| Barney |\n| Betty |\n+--------+\n2 rows in set (0.00 sec)\n\nmysql> SELECT c->>\'$.name\' AS name\n -> FROM jemp WHERE g > 2;\n+--------+\n| name |\n+--------+\n| Barney |\n| Betty |\n+--------+\n2 rows in set (0.00 sec)\n\nmysql> CREATE TABLE tj10 (a JSON, b INT);\nQuery OK, 0 rows affected (0.26 sec)\n\nmysql> INSERT INTO tj10 VALUES\n -> (\'[3,10,5,"x",44]\', 33),\n -> (\'[3,10,5,17,[22,"y",66]]\', 0);\nQuery OK, 2 rows affected (0.04 sec)\nRecords: 2 Duplicates: 0 Warnings: 0\n\nmysql> SELECT a->"$[3]", a->"$[4][1]" FROM tj10;\n+-----------+--------------+\n| a->"$[3]" | a->"$[4][1]" |\n+-----------+--------------+\n| "x" | NULL |\n| 17 | "y" |\n+-----------+--------------+\n2 rows in set (0.00 sec)\n\nmysql> SELECT a->>"$[3]", a->>"$[4][1]" FROM tj10;\n+------------+---------------+\n| a->>"$[3]" | a->>"$[4][1]" |\n+------------+---------------+\n| x | NULL |\n| 17 | y |\n+------------+---------------+\n2 rows in set (0.00 sec)\n\nmysql> EXPLAIN SELECT c->>\'$.name\' AS name\n -> FROM jemp WHERE g > 2\\G\n*************************** 1. row ***************************\n id: 1\n select_type: SIMPLE\n table: jemp\n partitions: NULL\n type: range\npossible_keys: i\n key: i\n key_len: 5\n ref: NULL\n rows: 2\n filtered: 100.00\n Extra: Using where\n1 row in set, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS\\G\n*************************** 1. row ***************************\n Level: Note\n Code: 1003\nMessage: /* select#1 */ select\njson_unquote(json_extract(`jtest`.`jemp`.`c`,\'$.name\')) AS `name` from\n`jtest`.`jemp` where (`jtest`.`jemp`.`g` > 2)\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (209,27,'FLUSH','Syntax:\nFLUSH [NO_WRITE_TO_BINLOG | LOCAL] {\n flush_option [, flush_option] ...\n | tables_option\n}\n\nflush_option: {\n BINARY LOGS\n | DES_KEY_FILE\n | ENGINE LOGS\n | ERROR LOGS\n | GENERAL LOGS\n | HOSTS\n | LOGS\n | PRIVILEGES\n | OPTIMIZER_COSTS\n | QUERY CACHE\n | RELAY LOGS [FOR CHANNEL channel]\n | SLOW LOGS\n | STATUS\n | USER_RESOURCES\n}\n\ntables_option: {\n TABLES\n | TABLES tbl_name [, tbl_name] ...\n | TABLES WITH READ LOCK\n | TABLES tbl_name [, tbl_name] ... WITH READ LOCK\n | TABLES tbl_name [, tbl_name] ... FOR EXPORT\n}\n\nThe FLUSH statement has several variant forms that clear or reload\nvarious internal caches, flush tables, or acquire locks. To execute\nFLUSH, you must have the RELOAD privilege. Specific flush options might\nrequire additional privileges, as described later.\n\n*Note*:\n\nIt is not possible to issue FLUSH statements within stored functions or\ntriggers. However, you may use FLUSH in stored procedures, so long as\nthese are not called from stored functions or triggers. See\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html\n.\n\nBy default, the server writes FLUSH statements to the binary log so\nthat they replicate to replication slaves. To suppress logging, specify\nthe optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.\n\n*Note*:\n\nFLUSH LOGS, FLUSH TABLES WITH READ LOCK (with or without a table list),\nand FLUSH TABLES tbl_name ... FOR EXPORT are not written to the binary\nlog in any case because they would cause problems if replicated to a\nslave.\n\nThe FLUSH statement causes an implicit commit. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\nThe mysqladmin utility provides a command-line interface to some flush\noperations, using commands such as flush-hosts, flush-logs,\nflush-privileges, flush-status, and flush-tables. See\nhttp://dev.mysql.com/doc/refman/5.7/en/mysqladmin.html.\n\nSending a SIGHUP signal to the server causes several flush operations\nto occur that are similar to various forms of the FLUSH statement. See\nhttp://dev.mysql.com/doc/refman/5.7/en/server-signal-response.html.\n\nThe RESET statement is similar to FLUSH. See [HELP RESET], for\ninformation about using the RESET statement with replication.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/flush.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/flush.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (210,24,'BEGIN END','Syntax:\n[begin_label:] BEGIN\n [statement_list]\nEND [end_label]\n\nBEGIN ... END syntax is used for writing compound statements, which can\nappear within stored programs (stored procedures and functions,\ntriggers, and events). A compound statement can contain multiple\nstatements, enclosed by the BEGIN and END keywords. statement_list\nrepresents a list of one or more statements, each terminated by a\nsemicolon (;) statement delimiter. The statement_list itself is\noptional, so the empty compound statement (BEGIN END) is legal.\n\nBEGIN ... END blocks can be nested.\n\nUse of multiple statements requires that a client is able to send\nstatement strings containing the ; statement delimiter. In the mysql\ncommand-line client, this is handled with the delimiter command.\nChanging the ; end-of-statement delimiter (for example, to //) permit ;\nto be used in a program body. For an example, see\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html.\n\nA BEGIN ... END block can be labeled. See [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/begin-end.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/begin-end.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (211,27,'SHOW PROCEDURE STATUS','Syntax:\nSHOW PROCEDURE STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement is a MySQL extension. It returns characteristics of a\nstored procedure, such as the database, name, type, creator, creation\nand modification dates, and character set information. A similar\nstatement, SHOW FUNCTION STATUS, displays information about stored\nfunctions (see [HELP SHOW FUNCTION STATUS]).\n\nThe LIKE clause, if present, indicates which procedure or function\nnames to match. The WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-procedure-status.html\n\n','mysql> SHOW PROCEDURE STATUS LIKE \'sp1\'\\G\n*************************** 1. row ***************************\n Db: test\n Name: sp1\n Type: PROCEDURE\n Definer: testuser@localhost\n Modified: 2004-08-03 15:29:37\n Created: 2004-08-03 15:29:37\n Security_type: DEFINER\n Comment:\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.7/en/show-procedure-status.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (212,16,'STDDEV_POP','Syntax:\nSTDDEV_POP(expr)\n\nReturns the population standard deviation of expr (the square root of\nVAR_POP()). You can also use STD() or STDDEV(), which are equivalent\nbut not standard SQL.\n\nIf there are no matching rows, STDDEV_POP() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (213,27,'SHOW CHARACTER SET','Syntax:\nSHOW CHARACTER SET\n [LIKE \'pattern\' | WHERE expr]\n\nThe SHOW CHARACTER SET statement shows all available character sets.\nThe LIKE clause, if present, indicates which character set names to\nmatch. The WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html. For example:\n\nmysql> SHOW CHARACTER SET LIKE \'latin%\';\n+---------+-----------------------------+-------------------+--------+\n| Charset | Description | Default collation | Maxlen |\n+---------+-----------------------------+-------------------+--------+\n| latin1 | cp1252 West European | latin1_swedish_ci | 1 |\n| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |\n| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |\n| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |\n+---------+-----------------------------+-------------------+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-character-set.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-character-set.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (214,16,'JSON_OBJECTAGG','Syntax:\nJSON_OBJECTAGG(key, value)\n\nTakes two column names or expressions as arguments, the first of these\nbeing used as a key and the second as a value, and returns a JSON\nobject containing key-value pairs. Returns NULL if the result contains\nno rows, or in the event of an error. An error occurs if any key name\nis NULL or the number of arguments is not equal to 2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT o_id, attribute, value FROM t3;\n+------+-----------+-------+\n| o_id | attribute | value |\n+------+-----------+-------+\n| 2 | color | red |\n| 2 | fabric | silk |\n| 3 | color | green |\n| 3 | shape | square|\n+------+-----------+-------+\n4 rows in set (0.00 sec)\n\nmysql> SELECT o_id, JSON_OBJECTAGG(attribute, value) FROM t3 GROUP BY o_id;\n+------+----------------------------------------+\n| o_id | JSON_OBJECTAGG(attribute, name) |\n+------+----------------------------------------+\n| 2 | {"color": "red", "fabric": "silk"} |\n| 3 | {"color": "green", "shape": "square"} |\n+------+----------------------------------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (215,7,'INTERSECTS','Intersects(g1, g2)\n\nMBRIntersects() and Intersects() are synonyms. For more information,\nsee the description of MBRIntersects().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (216,24,'LOOP','Syntax:\n[begin_label:] LOOP\n statement_list\nEND LOOP [end_label]\n\nLOOP implements a simple loop construct, enabling repeated execution of\nthe statement list, which consists of one or more statements, each\nterminated by a semicolon (;) statement delimiter. The statements\nwithin the loop are repeated until the loop is terminated. Usually,\nthis is accomplished with a LEAVE statement. Within a stored function,\nRETURN can also be used, which exits the function entirely.\n\nNeglecting to include a loop-termination statement results in an\ninfinite loop.\n\nA LOOP statement can be labeled. For the rules regarding label use, see\n[HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/loop.html\n\n','CREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n label1: LOOP\n SET p1 = p1 + 1;\n IF p1 < 10 THEN\n ITERATE label1;\n END IF;\n LEAVE label1;\n END LOOP label1;\n SET @x = p1;\nEND;\n','http://dev.mysql.com/doc/refman/5.7/en/loop.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (217,20,'GREATEST','Syntax:\nGREATEST(value1,value2,...)\n\nWith two or more arguments, returns the largest (maximum-valued)\nargument. The arguments are compared using the same rules as for\nLEAST().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT GREATEST(2,0);\n -> 2\nmysql> SELECT GREATEST(34.0,3.0,5.0,767.0);\n -> 767.0\nmysql> SELECT GREATEST(\'B\',\'A\',\'C\');\n -> \'C\'\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (218,40,'ALTER INSTANCE','Syntax:\nALTER INSTANCE ROTATE INNODB MASTER KEY\n\nALTER INSTANCE, introduced in MySQL 5.7.11, defines actions applicable\nto a MySQL server instance.\n\nThe ALTER INSTANCE ROTATE INNODB MASTER KEY statement is used to rotate\nthe master encryption key used for InnoDB tablespace encryption. A\nkeyring plugin must be loaded to use this statement. For information\nabout keyring plugins, see\nhttp://dev.mysql.com/doc/refman/5.7/en/keyring.html. Key rotation\nrequires the SUPER privilege.\n\nALTER INSTANCE ROTATE INNODB MASTER KEY supports concurrent DML.\nHowever, it cannot be run concurrently with CREATE TABLE ... ENCRYPTION\nor ALTER TABLE ... ENCRYPTION operations, and locks are taken to\nprevent conflicts that could arise from concurrent execution of these\nstatements. If one of the conflicting statements is running, it must\ncomplete before another can proceed.\n\nALTER INSTANCE actions are written to the binary log so that they can\nbe executed on replicated servers.\n\nFor additional ALTER INSTANCE ROTATE INNODB MASTER KEY usage\ninformation, see\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace-encryption.htm\nl. For information about keyring plugins, see\nhttp://dev.mysql.com/doc/refman/5.7/en/keyring.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-instance.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-instance.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (219,31,'ST_CONTAINS','ST_Contains(g1, g2)\n\nReturns 1 or 0 to indicate whether g1 completely contains g2. This\ntests the opposite relationship as ST_Within().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (220,16,'BIT_AND','Syntax:\nBIT_AND(expr)\n\nReturns the bitwise AND of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nIf there are no matching rows, BIT_AND() returns a neutral value (all\nbits set to 1).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (221,32,'SECOND','Syntax:\nSECOND(time)\n\nReturns the second for time, in the range 0 to 59.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT SECOND(\'10:05:03\');\n -> 3\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (222,7,'MBRCONTAINS','MBRContains(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\ncontains the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRWithin().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','mysql> SET @g1 = ST_GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = ST_GeomFromText(\'Point(1 1)\');\nmysql> SELECT MBRContains(@g1,@g2), MBRWithin(@g2,@g1);\n+----------------------+--------------------+\n| MBRContains(@g1,@g2) | MBRWithin(@g2,@g1) |\n+----------------------+--------------------+\n| 1 | 1 |\n+----------------------+--------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (223,14,'RELEASE_ALL_LOCKS','Syntax:\nRELEASE_ALL_LOCKS()\n\nReleases all named locks held by the current session and returns the\nnumber of locks released (0 if there were none)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (224,3,'COT','Syntax:\nCOT(X)\n\nReturns the cotangent of X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT COT(12);\n -> -1.5726734063977\nmysql> SELECT COT(0);\n -> out-of-range error\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (225,27,'SHOW CREATE EVENT','Syntax:\nSHOW CREATE EVENT event_name\n\nThis statement displays the CREATE EVENT statement needed to re-create\na given event. It requires the EVENT privilege for the database from\nwhich the event is to be shown. For example (using the same event\ne_daily defined and then altered in [HELP SHOW EVENTS]):\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-event.html\n\n','mysql> SHOW CREATE EVENT test.e_daily\\G\n*************************** 1. row ***************************\n Event: e_daily\n sql_mode:\n time_zone: SYSTEM\n Create Event: CREATE EVENT `e_daily`\n ON SCHEDULE EVERY 1 DAY\n STARTS CURRENT_TIMESTAMP + INTERVAL 6 HOUR\n ON COMPLETION NOT PRESERVE\n ENABLE\n COMMENT \'Saves total number of sessions then\n clears the table each day\'\n DO BEGIN\n INSERT INTO site_activity.totals (time, total)\n SELECT CURRENT_TIMESTAMP, COUNT(*)\n FROM site_activity.sessions;\n DELETE FROM site_activity.sessions;\n END\ncharacter_set_client: latin1\ncollation_connection: latin1_swedish_ci\n Database Collation: latin1_swedish_ci\n','http://dev.mysql.com/doc/refman/5.7/en/show-create-event.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (226,15,'OR','Syntax:\nOR, ||\n\nLogical OR. When both operands are non-NULL, the result is 1 if any\noperand is nonzero, and 0 otherwise. With a NULL operand, the result is\n1 if the other operand is nonzero, and NULL otherwise. If both operands\nare NULL, the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html\n\n','mysql> SELECT 1 OR 1;\n -> 1\nmysql> SELECT 1 OR 0;\n -> 1\nmysql> SELECT 0 OR 0;\n -> 0\nmysql> SELECT 0 OR NULL;\n -> NULL\nmysql> SELECT 1 OR NULL;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (227,38,'LOAD_FILE','Syntax:\nLOAD_FILE(file_name)\n\nReads the file and returns the file contents as a string. To use this\nfunction, the file must be located on the server host, you must specify\nthe full path name to the file, and you must have the FILE privilege.\nThe file must be readable by all and its size less than\nmax_allowed_packet bytes. If the secure_file_priv system variable is\nset to a nonempty directory name, the file to be loaded must be located\nin that directory.\n\nIf the file does not exist or cannot be read because one of the\npreceding conditions is not satisfied, the function returns NULL.\n\nThe character_set_filesystem system variable controls interpretation of\nfile names that are given as literal strings.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> UPDATE t\n SET blob_col=LOAD_FILE(\'/tmp/picture\')\n WHERE id=1;\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (228,4,'POINTFROMTEXT','PointFromText(wkt[, srid])\n\nST_PointFromText() and PointFromText() are synonyms. For more\ninformation, see the description of ST_PointFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (229,32,'DATE_FORMAT','Syntax:\nDATE_FORMAT(date,format)\n\nFormats the date value according to the format string.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DATE_FORMAT(\'2009-10-04 22:23:00\', \'%W %M %Y\');\n -> \'Sunday October 2009\'\nmysql> SELECT DATE_FORMAT(\'2007-10-04 22:23:00\', \'%H:%i:%s\');\n -> \'22:23:00\'\nmysql> SELECT DATE_FORMAT(\'1900-10-04 22:23:00\',\n -> \'%D %y %a %d %m %b %j\');\n -> \'4th 00 Thu 04 10 Oct 277\'\nmysql> SELECT DATE_FORMAT(\'1997-10-04 22:23:00\',\n -> \'%H %k %I %r %T %S %w\');\n -> \'22 22 10 10:23:00 PM 22:23:00 00 6\'\nmysql> SELECT DATE_FORMAT(\'1999-01-01\', \'%X %V\');\n -> \'1998 52\'\nmysql> SELECT DATE_FORMAT(\'2006-06-00\', \'%d\');\n -> \'00\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (230,32,'YEAR','Syntax:\nYEAR(date)\n\nReturns the year for date, in the range 1000 to 9999, or 0 for the\n"zero" date.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT YEAR(\'1987-01-01\');\n -> 1987\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (231,20,'IS NULL','Syntax:\nIS NULL\n\nTests whether a value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;\n -> 0, 0, 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (232,40,'ALTER SERVER','Syntax:\nALTER SERVER server_name\n OPTIONS (option [, option] ...)\n\nAlters the server information for server_name, adjusting any of the\noptions permitted in the CREATE SERVER statement. The corresponding\nfields in the mysql.servers table are updated accordingly. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-server.html\n\n','ALTER SERVER s OPTIONS (USER \'sally\');\n','http://dev.mysql.com/doc/refman/5.7/en/alter-server.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (233,24,'RESIGNAL','Syntax:\nRESIGNAL [condition_value]\n [SET signal_information_item\n [, signal_information_item] ...]\n\ncondition_value:\n SQLSTATE [VALUE] sqlstate_value\n | condition_name\n\nsignal_information_item:\n condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n (see following discussion)\n\nRESIGNAL passes on the error condition information that is available\nduring execution of a condition handler within a compound statement\ninside a stored procedure or function, trigger, or event. RESIGNAL may\nchange some or all information before passing it on. RESIGNAL is\nrelated to SIGNAL, but instead of originating a condition as SIGNAL\ndoes, RESIGNAL relays existing condition information, possibly after\nmodifying it.\n\nRESIGNAL makes it possible to both handle an error and return the error\ninformation. Otherwise, by executing an SQL statement within the\nhandler, information that caused the handler\'s activation is destroyed.\nRESIGNAL also can make some procedures shorter if a given handler can\nhandle part of a situation, then pass the condition "up the line" to\nanother handler.\n\nNo special privileges are required to execute the RESIGNAL statement.\n\nAll forms of RESIGNAL require that the current context be a condition\nhandler. Otherwise, RESIGNAL is illegal and a RESIGNAL when handler not\nactive error occurs.\n\nTo retrieve information from the diagnostics area, use the GET\nDIAGNOSTICS statement (see [HELP GET DIAGNOSTICS]). For information\nabout the diagnostics area, see\nhttp://dev.mysql.com/doc/refman/5.7/en/diagnostics-area.html.\n\nFor condition_value and signal_information_item, the definitions and\nrules are the same for RESIGNAL as for SIGNAL. For example, the\ncondition_value can be an SQLSTATE value, and the value can indicate\nerrors, warnings, or "not found." For additional information, see [HELP\nSIGNAL].\n\nThe RESIGNAL statement takes condition_value and SET clauses, both of\nwhich are optional. This leads to several possible uses:\n\no RESIGNAL alone:\n\nRESIGNAL;\n\no RESIGNAL with new signal information:\n\nRESIGNAL SET signal_information_item [, signal_information_item] ...;\n\no RESIGNAL with a condition value and possibly new signal information:\n\nRESIGNAL condition_value\n [SET signal_information_item [, signal_information_item] ...];\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/resignal.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/resignal.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (234,7,'MBRCOVERS','MBRCovers(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\ncovers the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRCoveredBy(). See the description of MBRCoveredBy()\nfor examples.\n\nMBRCovers() handles its arguments as follows:\n\no If either argument is NULL or an empty geometry, the return value is\n NULL.\n\no If either argument is not a syntactically well-formed geometry byte\n string, an ER_GIS_INVALID_DATA error occurs.\n\no Otherwise, the return value is non-NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (235,13,'ST_NUMPOINTS','ST_NumPoints(ls)\n\nReturns the number of Point objects in the LineString value ls. If the\nargument is NULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_NumPoints(ST_GeomFromText(@ls));\n+------------------------------------+\n| ST_NumPoints(ST_GeomFromText(@ls)) |\n+------------------------------------+\n| 3 |\n+------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (236,32,'TIME FUNCTION','Syntax:\nTIME(expr)\n\nExtracts the time part of the time or datetime expression expr and\nreturns it as a string.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIME(\'2003-12-31 01:02:03\');\n -> \'01:02:03\'\nmysql> SELECT TIME(\'2003-12-31 01:02:03.000123\');\n -> \'01:02:03.000123\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (237,32,'DATE_ADD','Syntax:\nDATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)\n\nThese functions perform date arithmetic. The date argument specifies\nthe starting date or datetime value. expr is an expression specifying\nthe interval value to be added or subtracted from the starting date.\nexpr is a string; it may start with a - for negative intervals. unit is\na keyword indicating the units in which the expression should be\ninterpreted.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT \'2008-12-31 23:59:59\' + INTERVAL 1 SECOND;\n -> \'2009-01-01 00:00:00\'\nmysql> SELECT INTERVAL 1 DAY + \'2008-12-31\';\n -> \'2009-01-01\'\nmysql> SELECT \'2005-01-01\' - INTERVAL 1 SECOND;\n -> \'2004-12-31 23:59:59\'\nmysql> SELECT DATE_ADD(\'2000-12-31 23:59:59\',\n -> INTERVAL 1 SECOND);\n -> \'2001-01-01 00:00:00\'\nmysql> SELECT DATE_ADD(\'2010-12-31 23:59:59\',\n -> INTERVAL 1 DAY);\n -> \'2011-01-01 23:59:59\'\nmysql> SELECT DATE_ADD(\'2100-12-31 23:59:59\',\n -> INTERVAL \'1:1\' MINUTE_SECOND);\n -> \'2101-01-01 00:01:00\'\nmysql> SELECT DATE_SUB(\'2005-01-01 00:00:00\',\n -> INTERVAL \'1 1:1:1\' DAY_SECOND);\n -> \'2004-12-30 22:58:59\'\nmysql> SELECT DATE_ADD(\'1900-01-01 00:00:00\',\n -> INTERVAL \'-1 10\' DAY_HOUR);\n -> \'1899-12-30 14:00:00\'\nmysql> SELECT DATE_SUB(\'1998-01-02\', INTERVAL 31 DAY);\n -> \'1997-12-02\'\nmysql> SELECT DATE_ADD(\'1992-12-31 23:59:59.000002\',\n -> INTERVAL \'1.999999\' SECOND_MICROSECOND);\n -> \'1993-01-01 00:00:01.000001\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (238,7,'JSON_VALID','Syntax:\nJSON_VALID(val)\n\nReturns 0 or 1 to indicate whether a value is valid JSON. Returns NULL\nif the argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html\n\n','mysql> SELECT JSON_VALID(\'{"a": 1}\');\n+------------------------+\n| JSON_VALID(\'{"a": 1}\') |\n+------------------------+\n| 1 |\n+------------------------+\nmysql> SELECT JSON_VALID(\'hello\'), JSON_VALID(\'"hello"\');\n+---------------------+-----------------------+\n| JSON_VALID(\'hello\') | JSON_VALID(\'"hello"\') |\n+---------------------+-----------------------+\n| 0 | 1 |\n+---------------------+-----------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (239,37,'ST_ENVELOPE','ST_Envelope(g)\n\nReturns the minimum bounding rectangle (MBR) for the geometry value g,\nor NULL if the argument is NULL. The result is returned as a Polygon\nvalue that is defined by the corner points of the bounding box:\n\nPOLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n\nmysql> SELECT ST_AsText(ST_Envelope(ST_GeomFromText(\'LineString(1 1,2 2)\')));\n+----------------------------------------------------------------+\n| ST_AsText(ST_Envelope(ST_GeomFromText(\'LineString(1 1,2 2)\'))) |\n+----------------------------------------------------------------+\n| POLYGON((1 1,2 1,2 2,1 2,1 1)) |\n+----------------------------------------------------------------+\n\nAs of MySQL 5.7.6, if the argument is a point or a vertical or\nhorizontal line segment, ST_Envelope() returns the point or the line\nsegment as its MBR rather than returning an invalid polygon:\n\nmysql> SELECT ST_AsText(ST_Envelope(ST_GeomFromText(\'LineString(1 1,1 2)\')));\n+----------------------------------------------------------------+\n| ST_AsText(ST_Envelope(ST_GeomFromText(\'LineString(1 1,1 2)\'))) |\n+----------------------------------------------------------------+\n| LINESTRING(1 1,1 2) |\n+----------------------------------------------------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (240,38,'LIKE','Syntax:\nexpr LIKE pat [ESCAPE \'escape_char\']\n\nPattern matching using an SQL pattern. Returns 1 (TRUE) or 0 (FALSE).\nIf either expr or pat is NULL, the result is NULL.\n\nThe pattern need not be a literal string. For example, it can be\nspecified as a string expression or table column.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html\n\n','mysql> SELECT \'David!\' LIKE \'David_\';\n -> 1\nmysql> SELECT \'David!\' LIKE \'%D%v%\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (241,25,'MULTIPOINT','MultiPoint(pt [, pt2] ...)\n\nConstructs a MultiPoint value using Point or WKB Point arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (242,19,'>>','Syntax:\n>>\n\nShifts a longlong (BIGINT) number to the right.\n\nThe result is an unsigned 64-bit integer. The value is truncated to 64\nbits. In particular, if the shift count is greater or equal to the\nwidth of an unsigned 64-bit number, the result is zero.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 4 >> 2;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (243,24,'FETCH','Syntax:\nFETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...\n\nThis statement fetches the next row for the SELECT statement associated\nwith the specified cursor (which must be open), and advances the cursor\npointer. If a row exists, the fetched columns are stored in the named\nvariables. The number of columns retrieved by the SELECT statement must\nmatch the number of output variables specified in the FETCH statement.\n\nIf no more rows are available, a No Data condition occurs with SQLSTATE\nvalue \'02000\'. To detect this condition, you can set up a handler for\nit (or for a NOT FOUND condition). For an example, see\nhttp://dev.mysql.com/doc/refman/5.7/en/cursors.html.\n\nBe aware that another operation, such as a SELECT or another FETCH, may\nalso cause the handler to execute by raising the same condition. If it\nis necessary to distinguish which operation raised the condition, place\nthe operation within its own BEGIN ... END block so that it can be\nassociated with its own handler.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/fetch.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/fetch.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (244,30,'TRUE FALSE','The constants TRUE and FALSE evaluate to 1 and 0, respectively. The\nconstant names can be written in any lettercase.\n\nmysql> SELECT TRUE, true, FALSE, false;\n -> 1, 1, 0, 0\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/boolean-literals.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/boolean-literals.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (245,7,'MBRWITHIN','MBRWithin(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\nis within the minimum bounding rectangle of g2. This tests the opposite\nrelationship as MBRContains().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','mysql> SET @g1 = ST_GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = ST_GeomFromText(\'Polygon((0 0,0 5,5 5,5 0,0 0))\');\nmysql> SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1);\n+--------------------+--------------------+\n| MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) |\n+--------------------+--------------------+\n| 1 | 0 |\n+--------------------+--------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (246,17,'SESSION_USER','Syntax:\nSESSION_USER()\n\nSESSION_USER() is a synonym for USER().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (247,27,'SHOW CREATE FUNCTION','Syntax:\nSHOW CREATE FUNCTION func_name\n\nThis statement is similar to SHOW CREATE PROCEDURE but for stored\nfunctions. See [HELP SHOW CREATE PROCEDURE].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-function.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-create-function.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (248,31,'DISTANCE','Distance(g1, g2)\n\nST_Distance() and Distance() are synonyms. For more information, see\nthe description of ST_Distance().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (249,32,'STR_TO_DATE','Syntax:\nSTR_TO_DATE(str,format)\n\nThis is the inverse of the DATE_FORMAT() function. It takes a string\nstr and a format string format. STR_TO_DATE() returns a DATETIME value\nif the format string contains both date and time parts, or a DATE or\nTIME value if the string contains only date or time parts. If the date,\ntime, or datetime value extracted from str is illegal, STR_TO_DATE()\nreturns NULL and produces a warning.\n\nThe server scans str attempting to match format to it. The format\nstring can contain literal characters and format specifiers beginning\nwith %. Literal characters in format must match literally in str.\nFormat specifiers in format must match a date or time part in str. For\nthe specifiers that can be used in format, see the DATE_FORMAT()\nfunction description.\n\nmysql> SELECT STR_TO_DATE(\'01,5,2013\',\'%d,%m,%Y\');\n -> \'2013-05-01\'\nmysql> SELECT STR_TO_DATE(\'May 1, 2013\',\'%M %d,%Y\');\n -> \'2013-05-01\'\n\nScanning starts at the beginning of str and fails if format is found\nnot to match. Extra characters at the end of str are ignored.\n\nmysql> SELECT STR_TO_DATE(\'a09:30:17\',\'a%h:%i:%s\');\n -> \'09:30:17\'\nmysql> SELECT STR_TO_DATE(\'a09:30:17\',\'%h:%i:%s\');\n -> NULL\nmysql> SELECT STR_TO_DATE(\'09:30:17a\',\'%h:%i:%s\');\n -> \'09:30:17\'\n\nUnspecified date or time parts have a value of 0, so incompletely\nspecified values in str produce a result with some or all parts set to\n0:\n\nmysql> SELECT STR_TO_DATE(\'abc\',\'abc\');\n -> \'0000-00-00\'\nmysql> SELECT STR_TO_DATE(\'9\',\'%m\');\n -> \'0000-09-00\'\nmysql> SELECT STR_TO_DATE(\'9\',\'%s\');\n -> \'00:00:09\'\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (250,11,'Y','Y(p)\n\nST_Y() and Y() are synonyms. For more information, see the description\nof ST_Y().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (251,21,'CHECKSUM TABLE','Syntax:\nCHECKSUM TABLE tbl_name [, tbl_name] ... [QUICK | EXTENDED]\n\nCHECKSUM TABLE reports a checksum for the contents of a table. You can\nuse this statement to verify that the contents are the same before and\nafter a backup, rollback, or other operation that is intended to put\nthe data back to a known state.\n\nThis statement requires the SELECT privilege for the table.\n\nThis statement is not supported for views. If you run CHECKSUM TABLE\nagainst a view, the Checksum value is always NULL, and a warning is\nreturned.\n\nFor a nonexistent table, CHECKSUM TABLE returns NULL and generates a\nwarning.\n\nDuring the checksum operation, the table is locked with a read lock for\nInnoDB and MyISAM.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/checksum-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/checksum-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (252,2,'NUMINTERIORRINGS','NumInteriorRings(poly)\n\nST_NumInteriorRings() and NumInteriorRings() are synonyms. For more\ninformation, see the description of ST_NumInteriorRings().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (253,2,'INTERIORRINGN','InteriorRingN(poly, N)\n\nST_InteriorRingN() and InteriorRingN() are synonyms. For more\ninformation, see the description of ST_InteriorRingN().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (254,32,'UTC_TIME','Syntax:\nUTC_TIME, UTC_TIME([fsp])\n\nReturns the current UTC time as a value in \'HH:MM:SS\' or HHMMSS format,\ndepending on whether the function is used in a string or numeric\ncontext.\n\nIf the fsp argument is given to specify a fractional seconds precision\nfrom 0 to 6, the return value includes a fractional seconds part of\nthat many digits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIME(), UTC_TIME() + 0;\n -> \'18:07:53\', 180753.000000\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (255,14,'IS_IPV4_COMPAT','Syntax:\nIS_IPV4_COMPAT(expr)\n\nThis function takes an IPv6 address represented in numeric form as a\nbinary string, as returned by INET6_ATON(). It returns 1 if the\nargument is a valid IPv4-compatible IPv6 address, 0 otherwise.\nIPv4-compatible addresses have the form ::ipv4_address.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT IS_IPV4_COMPAT(INET6_ATON(\'::10.0.5.9\'));\n -> 1\nmysql> SELECT IS_IPV4_COMPAT(INET6_ATON(\'::ffff:10.0.5.9\'));\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (256,40,'DROP FUNCTION','The DROP FUNCTION statement is used to drop stored functions and\nuser-defined functions (UDFs):\n\no For information about dropping stored functions, see [HELP DROP\n PROCEDURE].\n\no For information about dropping user-defined functions, see [HELP DROP\n FUNCTION UDF].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-function.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-function.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (257,4,'ST_POLYFROMTEXT','ST_PolyFromText(wkt[, srid]), ST_PolygonFromText(wkt[, srid])\n\nConstructs a Polygon value using its WKT representation and SRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (258,16,'STDDEV','Syntax:\nSTDDEV(expr)\n\nReturns the population standard deviation of expr. STDDEV() is a\nsynonym for the standard SQL function STDDEV_POP(), provided for\ncompatibility with Oracle.\n\nIf there are no matching rows, STDDEV() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (259,32,'PERIOD_ADD','Syntax:\nPERIOD_ADD(P,N)\n\nAdds N months to period P (in the format YYMM or YYYYMM). Returns a\nvalue in the format YYYYMM. Note that the period argument P is not a\ndate value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_ADD(200801,2);\n -> 200803\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (260,38,'RIGHT','Syntax:\nRIGHT(str,len)\n\nReturns the rightmost len characters from the string str, or NULL if\nany argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT RIGHT(\'foobarbar\', 4);\n -> \'rbar\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (261,40,'DROP TABLESPACE','Syntax:\nDROP TABLESPACE tablespace_name\n [ENGINE [=] engine_name]\n\nThis statement drops a tablespace that was previously created using\nCREATE TABLESPACE. It is supported with all MySQL NDB Cluster 7.5\nreleases, and with InnoDB in the standard MySQL Server as well.\n\nENGINE sets the storage engine that uses the tablespace, where\nengine_name is the name of the storage engine. Currently, the values\nInnoDB and NDB are supported. If not set, the value of\ndefault_storage_engine is used. If it is not the same as the storage\nengine used to create the tablespace, the DROP TABLESPACE statement\nfails.\n\nFor an InnoDB tablespace, all tables must be dropped from the\ntablespace prior to a DROP TABLESPACE operation. If the tablespace is\nnot empty, DROP TABLESPACE returns an error.\n\nAs with the InnoDB system tablespace, truncating or dropping InnoDB\ntables stored in a general tablespace creates free space in the\ntablespace .ibd data file, which can only be used for new InnoDB data.\nSpace is not released back to the operating system by such operations\nas it is for file-per-table tablespaces.\n\nAn NDB tablespace to be dropped must not contain any data files; in\nother words, before you can drop an NDB tablespace, you must first drop\neach of its data files using ALTER TABLESPACE ... DROP DATAFILE.\n\nNotes\n\no Tablespaces are not deleted automatically. A tablespace must be\n dropped explicitly using DROP TABLESPACE. DROP DATABASE has no effect\n in this regard, even if the operation drops all tables belonging to\n the tablespace.\n\no A DROP DATABASE operation can drop tables that belong to a general\n tablespace but it cannot drop the tablespace, even if the operation\n drops all tables that belong to the tablespace. The tablespace must\n be dropped explicitly using DROP TABLESPACE tablespace_name.\n\no Similar to the system tablespace, truncating or dropping tables\n stored in a general tablespace creates free space internally in the\n general tablespace .ibd data file which can only be used for new\n InnoDB data. Space is not released back to the operating system as it\n is for file-per-table tablespaces.\n\nInnoDB Example\n\nThis example demonstrates how to drop an InnoDB general tablespace. The\ngeneral tablespace ts1 is created with a single table. Before dropping\nthe tablespace, the table must be dropped.\n\nmysql> CREATE TABLESPACE `ts1`\n -> ADD DATAFILE \'ts1.ibd\'\n -> ENGINE=INNODB;\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> CREATE TABLE t1 (c1 INT PRIMARY KEY)\n -> TABLESPACE ts10\n -> ENGINE=INNODB;\nQuery OK, 0 rows affected (0.02 sec)\n\nmysql> DROP TABLE t1;\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> DROP TABLESPACE ts1;\nQuery OK, 0 rows affected (0.01 sec)\n\nNDB Example\n\nThis example shows how to drop an NDB tablespace myts having a data\nfile named mydata-1.dat after first creating the tablespace, and\nassumes the existence of a log file group named mylg (see [HELP CREATE\nLOGFILE GROUP]).\n\nmysql> CREATE TABLESPACE myts\n -> ADD DATAFILE \'mydata-1.dat\'\n -> USE LOGFILE GROUP mylg\n -> ENGINE=NDB;\n\nYou must remove all data files from the tablespace using ALTER\nTABLESPACE, as shown here, before it can be dropped:\n\nmysql> ALTER TABLESPACE myts\n -> DROP DATAFILE \'mydata-1.dat\'\n -> ENGINE=NDB;\n\nmysql> DROP TABLESPACE myts;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-tablespace.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (262,21,'CHECK TABLE','Syntax:\nCHECK TABLE tbl_name [, tbl_name] ... [option] ...\n\noption = {\n FOR UPGRADE\n | QUICK\n | FAST\n | MEDIUM\n | EXTENDED\n | CHANGED\n}\n\nCHECK TABLE checks a table or tables for errors. For MyISAM tables, the\nkey statistics are updated as well. CHECK TABLE can also check views\nfor problems, such as tables that are referenced in the view definition\nthat no longer exist.\n\nTo check a table, you must have some privilege for it.\n\nCHECK TABLE works for InnoDB, MyISAM, ARCHIVE, and CSV tables.\n\nBefore running CHECK TABLE on InnoDB tables, see\nhttp://dev.mysql.com/doc/refman/5.7/en/check-table.html#check-table-inn\nodb.\n\nCHECK TABLE is supported for partitioned tables, and you can use ALTER\nTABLE ... CHECK PARTITION to check one or more partitions; for more\ninformation, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-maintenance.html.\n\nCHECK TABLE ignores virtual generated columns that are not indexed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/check-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/check-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (263,38,'BIN','Syntax:\nBIN(N)\n\nReturns a string representation of the binary value of N, where N is a\nlonglong (BIGINT) number. This is equivalent to CONV(N,10,2). Returns\nNULL if N is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT BIN(12);\n -> \'1100\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (264,7,'JSON_STORAGE_SIZE','JSON_STORAGE_SIZE(json_val)\n\nThis function returns the number of bytes used to store the binary\nrepresentation of a JSON document. When the argument is a JSON column,\nthis is the space used to store the JSON document. json_val must be a\nvalid JSON document or a string which can be parsed as one. In the case\nwhere it is string, the function returns the amount of storage space in\nthe JSON binary representation that is created by parsing the string as\nJSON and converting it to binary. It returns NULL if the argument is\nNULL.\n\nAn error results when json_val is not NULL, and is not---or cannot be\nsuccessfully parsed as---a JSON document.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-utility-functions.html\n\n','mysql> CREATE TABLE jtable (jcol JSON);\nQuery OK, 0 rows affected (0.42 sec)\n\nmysql> INSERT INTO jtable VALUES\n -> (\'{"a": 1000, "b": "wxyz", "c": "[1, 3, 5, 7]"}\');\nQuery OK, 1 row affected (0.04 sec)\n\nmysql> SELECT\n -> jcol,\n -> JSON_STORAGE_SIZE(jcol) AS Size\n -> FROM jtable;\n+-----------------------------------------------+------+\n| jcol | Size |\n+-----------------------------------------------+------+\n| {"a": 1000, "b": "wxyz", "c": "[1, 3, 5, 7]"} | 47 |\n+-----------------------------------------------+------+\n1 row in set (0.00 sec)\n\nmysql> UPDATE jtable\nmysql> SET jcol = \'{"a": 4.55, "b": "wxyz", "c": "[true, false]"}\';\nQuery OK, 1 row affected (0.04 sec)\nRows matched: 1 Changed: 1 Warnings: 0\n\nmysql> SELECT\n -> jcol,\n -> JSON_STORAGE_SIZE(jcol) AS Size\n -> FROM jtable;\n+------------------------------------------------+------+\n| jcol | Size |\n+------------------------------------------------+------+\n| {"a": 4.55, "b": "wxyz", "c": "[true, false]"} | 56 |\n+------------------------------------------------+------+\n1 row in set (0.00 sec)\n\nmysql> SET @j = \'[100, "sakila", [1, 3, 5], 425.05]\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @j, JSON_STORAGE_SIZE(@j) AS Size;\n+------------------------------------+------+\n| @j | Size |\n+------------------------------------+------+\n| [100, "sakila", [1, 3, 5], 425.05] | 45 |\n+------------------------------------+------+\n1 row in set (0.00 sec)\n\nmysql> SET @j = JSON_SET(@j, \'$[1]\', "json");\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @j, JSON_STORAGE_SIZE(@j) AS Size;\n+----------------------------------+------+\n| @j | Size |\n+----------------------------------+------+\n| [100, "json", [1, 3, 5], 425.05] | 43 |\n+----------------------------------+------+\n1 row in set (0.00 sec)\n\nmysql> SET @j = JSON_SET(@j, \'$[2][0]\', JSON_ARRAY(10, 20, 30));\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @j, JSON_STORAGE_SIZE(@j) AS Size;\n+---------------------------------------------+------+\n| @j | Size |\n+---------------------------------------------+------+\n| [100, "json", [[10, 20, 30], 3, 5], 425.05] | 56 |\n+---------------------------------------------+------+\n1 row in set (0.00 sec)\n\nmysql> SELECT\n -> JSON_STORAGE_SIZE(\'[100, "sakila", [1, 3, 5], 425.05]\') AS A,\n -> JSON_STORAGE_SIZE(\'{"a": 1000, "b": "a", "c": "[1, 3, 5, 7]"}\') AS B,\n -> JSON_STORAGE_SIZE(\'{"a": 1000, "b": "wxyz", "c": "[1, 3, 5, 7]"}\') AS C,\n -> JSON_STORAGE_SIZE(\'[100, "json", [[10, 20, 30], 3, 5], 425.05]\') AS D;\n+----+----+----+----+\n| A | B | C | D |\n+----+----+----+----+\n| 45 | 44 | 47 | 56 |\n+----+----+----+----+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/json-utility-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (265,25,'MULTILINESTRING','MultiLineString(ls [, ls] ...)\n\nConstructs a MultiLineString value using LineString or WKB LineString\narguments.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (266,27,'SHOW RELAYLOG EVENTS','Syntax:\nSHOW RELAYLOG EVENTS\n [IN \'log_name\']\n [FROM pos]\n [LIMIT [offset,] row_count]\n [channel_option]\n\nchannel_option:\n FOR CHANNEL channel\n\nShows the events in the relay log of a replication slave. If you do not\nspecify \'log_name\', the first relay log is displayed. This statement\nhas no effect on the master.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-relaylog-events.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-relaylog-events.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (267,4,'MPOINTFROMTEXT','MPointFromText(wkt[, srid]), MultiPointFromText(wkt[, srid])\n\nST_MPointFromText(), ST_MultiPointFromText(), MPointFromText(), and\nMultiPointFromText() are synonyms. For more information, see the\ndescription of ST_MPointFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (268,38,'SUBSTR','Syntax:\nSUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len), SUBSTR(str\nFROM pos FOR len)\n\nSUBSTR() is a synonym for SUBSTRING().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (269,23,'CHAR','[NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nA fixed-length string that is always right-padded with spaces to the\nspecified length when stored. M represents the column length in\ncharacters. The range of M is 0 to 255. If M is omitted, the length is\n1.\n\n*Note*:\n\nTrailing spaces are removed when CHAR values are retrieved unless the\nPAD_CHAR_TO_FULL_LENGTH SQL mode is enabled.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (270,16,'COUNT DISTINCT','Syntax:\nCOUNT(DISTINCT expr,[expr...])\n\nReturns a count of the number of rows with different non-NULL expr\nvalues.\n\nIf there are no matching rows, COUNT(DISTINCT) returns 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT COUNT(DISTINCT results) FROM student;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (271,27,'SHOW CREATE VIEW','Syntax:\nSHOW CREATE VIEW view_name\n\nThis statement shows the CREATE VIEW statement that creates the named\nview.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-create-view.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (272,20,'INTERVAL','Syntax:\nINTERVAL(N,N1,N2,N3,...)\n\nReturns 0 if N < N1, 1 if N < N2 and so on or -1 if N is NULL. All\narguments are treated as integers. It is required that N1 < N2 < N3 <\n... < Nn for this function to work correctly. This is because a binary\nsearch is used (very fast).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200);\n -> 3\nmysql> SELECT INTERVAL(10, 1, 10, 100, 1000);\n -> 2\nmysql> SELECT INTERVAL(22, 23, 30, 44, 200);\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (273,32,'FROM_DAYS','Syntax:\nFROM_DAYS(N)\n\nGiven a day number N, returns a DATE value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT FROM_DAYS(730669);\n -> \'2000-07-03\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (274,40,'ALTER PROCEDURE','Syntax:\nALTER PROCEDURE proc_name [characteristic ...]\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nThis statement can be used to change the characteristics of a stored\nprocedure. More than one change may be specified in an ALTER PROCEDURE\nstatement. However, you cannot change the parameters or body of a\nstored procedure using this statement; to make such changes, you must\ndrop and re-create the procedure using DROP PROCEDURE and CREATE\nPROCEDURE.\n\nYou must have the ALTER ROUTINE privilege for the procedure. By\ndefault, that privilege is granted automatically to the procedure\ncreator. This behavior can be changed by disabling the\nautomatic_sp_privileges system variable. See\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-routines-privileges.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-procedure.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (275,19,'BIT_COUNT','Syntax:\nBIT_COUNT(N)\n\nReturns the number of bits that are set in the argument N as an\nunsigned 64-bit integer, or NULL if the argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT BIT_COUNT(29), BIT_COUNT(b\'101010\');\n -> 4, 3\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (276,33,'ST_POINTFROMWKB','ST_PointFromWKB(wkb[, srid])\n\nConstructs a Point value using its WKB representation and SRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (277,7,'JSON_PRETTY','JSON_PRETTY(json_val)\n\nProvides pretty-printing of JSON values similar to that implemented in\nPHP and by other languages and database systems. The value supplied\nmust be a JSON value or a valid string representation of a JSON value.\nExtraneous whitespaces and newlines present in this value have no\neffect on the output. For a NULL value, the function returns NULL. If\nthe value is not a JSON document, or if it cannot cannot be parsed as\none, the function fails with an error.\n\nFormatting of the output from this function adheres to the following\nrules:\n\no Each array element or object member appears on a separate line,\n indented by one additional level as compared to its parent.\n\no Each level of indentation adds two leading spaces.\n\no A comma separating individual array elements or object members is\n printed before the newline that separates the two elements or\n members.\n\no The key and the value of an object member are separated by a colon\n followed by a space (\': \').\n\no An empty object or array is printed on a single line. No space is\n printed between the opening and closing brace.\n\no Special characters in string scalars and key names are escaped\n employing the same rules used by the JSON_QUOTE() function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-utility-functions.html\n\n','mysql> SELECT JSON_PRETTY(\'123\'); # scalar\n+--------------------+\n| JSON_PRETTY(\'123\') |\n+--------------------+\n| 123 |\n+--------------------+\n\nmysql> SELECT JSON_PRETTY("[1,3,5]"); # array\n+------------------------+\n| JSON_PRETTY("[1,3,5]") |\n+------------------------+\n| [\n 1,\n 3,\n 5\n] |\n+------------------------+\n\nmysql> SELECT JSON_PRETTY(\'{"a":"10","b":"15","x":"25"}\'); # object\n+---------------------------------------------+\n| JSON_PRETTY(\'{"a":"10","b":"15","x":"25"}\') |\n+---------------------------------------------+\n| {\n "a": "10",\n "b": "15",\n "x": "25"\n} |\n+---------------------------------------------+\n\nmysql> SELECT JSON_PRETTY(\'["a",1,{"key1":\n > "value1"},"5", "77" ,\n > {"key2":["value3","valueX",\n > "valueY"]},"j", "2" ]\')\\G # nested arrays and objects\n*************************** 1. row ***************************\nJSON_PRETTY(\'["a",1,{"key1":\n "value1"},"5", "77" ,\n {"key2":["value3","valuex",\n "valuey"]},"j", "2" ]\'): [\n "a",\n 1,\n {\n "key1": "value1"\n },\n "5",\n "77",\n {\n "key2": [\n "value3",\n "valuex",\n "valuey"\n ]\n },\n "j",\n "2"\n]\n','http://dev.mysql.com/doc/refman/5.7/en/json-utility-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (278,7,'ST_MAKEENVELOPE','ST_MakeEnvelope(pt1, pt2)\n\nReturns the rectangle that forms the envelope around two points, as a\nPoint, LineString, or Polygon. If any argument is NULL, the return\nvalue is NULL.\n\nCalculations are done using the Cartesian coordinate system rather than\non a sphere, spheroid, or on earth.\n\nGiven two points pt1 and pt2, ST_MakeEnvelope() creates the result\ngeometry on an abstract plane like this:\n\no If pt1 and pt2 are equal, the result is the point pt1.\n\no Otherwise, if (pt1, pt2) is a vertical or horizontal line segment,\n the result is the line segment (pt1, pt2).\n\no Otherwise, the result is a polygon using pt1 and pt2 as diagonal\n points.\n\nThe result geometry has an SRID of 0.\n\nST_MakeEnvelope() requires Point geometry arguments with an SRID of 0.\nAn ER_WRONG_ARGUMENTS error occurs otherwise.\n\nIf any argument is not a syntactically well-formed geometry byte\nstring, or if any coordinate value of the two points is infinite (that\nis, NaN), an ER_GIS_INVALID_DATA error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html\n\n','mysql> SET @pt1 = ST_GeomFromText(\'POINT(0 0)\');\nmysql> SET @pt2 = ST_GeomFromText(\'POINT(1 1)\');\nmysql> SELECT ST_AsText(ST_MakeEnvelope(@pt1, @pt2));\n+----------------------------------------+\n| ST_AsText(ST_MakeEnvelope(@pt1, @pt2)) |\n+----------------------------------------+\n| POLYGON((0 0,1 0,1 1,0 1,0 0)) |\n+----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (279,31,'ST_WITHIN','ST_Within(g1, g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially within g2. This\ntests the opposite relationship as ST_Contains().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (280,3,'ACOS','Syntax:\nACOS(X)\n\nReturns the arc cosine of X, that is, the value whose cosine is X.\nReturns NULL if X is not in the range -1 to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ACOS(1);\n -> 0\nmysql> SELECT ACOS(1.0001);\n -> NULL\nmysql> SELECT ACOS(0);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (281,8,'ISOLATION','Syntax:\nSET [GLOBAL | SESSION] TRANSACTION\n transaction_characteristic [, transaction_characteristic] ...\n\ntransaction_characteristic:\n ISOLATION LEVEL level\n | READ WRITE\n | READ ONLY\n\nlevel:\n REPEATABLE READ\n | READ COMMITTED\n | READ UNCOMMITTED\n | SERIALIZABLE\n\nThis statement specifies transaction characteristics. It takes a list\nof one or more characteristic values separated by commas. These\ncharacteristics set the transaction isolation level or access mode. The\nisolation level is used for operations on InnoDB tables. The access\nmode may be specified as to whether transactions operate in read/write\nor read-only mode.\n\nIn addition, SET TRANSACTION can include an optional GLOBAL or SESSION\nkeyword to indicate the scope of the statement.\n\nScope of Transaction Characteristics\n\nYou can set transaction characteristics globally, for the current\nsession, or for the next transaction:\n\no With the GLOBAL keyword, the statement applies globally for all\n subsequent sessions. Existing sessions are unaffected.\n\no With the SESSION keyword, the statement applies to all subsequent\n transactions performed within the current session.\n\no Without any SESSION or GLOBAL keyword, the statement applies to the\n next (not started) transaction performed within the current session.\n Subsequent transactions revert to using the SESSION isolation level.\n\nA global change to transaction characteristics requires the SUPER\nprivilege. Any session is free to change its session characteristics\n(even in the middle of a transaction), or the characteristics for its\nnext transaction.\n\nSET TRANSACTION without GLOBAL or SESSION is not permitted while there\nis an active transaction:\n\nmysql> START TRANSACTION;\nQuery OK, 0 rows affected (0.02 sec)\n\nmysql> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;\nERROR 1568 (25001): Transaction characteristics can\'t be changed\nwhile a transaction is in progress\n\nTo set the global default isolation level at server startup, use the\n--transaction-isolation=level option to mysqld on the command line or\nin an option file. Values of level for this option use dashes rather\nthan spaces, so the permissible values are READ-UNCOMMITTED,\nREAD-COMMITTED, REPEATABLE-READ, or SERIALIZABLE. For example, to set\nthe default isolation level to REPEATABLE READ, use these lines in the\n[mysqld] section of an option file:\n\n[mysqld]\ntransaction-isolation = REPEATABLE-READ\n\nIt is possible to check or set the global and session transaction\nisolation levels at runtime by using the transaction_isolation system\nvariable:\n\nSELECT @@GLOBAL.transaction_isolation, @@transaction_isolation;\nSET GLOBAL transaction_isolation=\'REPEATABLE-READ\';\nSET SESSION transaction_isolation=\'SERIALIZABLE\';\n\nPrior to MySQL 5.7.20, use tx_isolation rather than\ntransaction_isolation.\n\nSimilarly, to set the transaction access mode at server startup or at\nruntime, use the --transaction-read-only option or\ntransaction_read_only system variable. By default, these are OFF (the\nmode is read/write) but can be set to ON for a default mode of read\nonly.\n\nPrior to MySQL 5.7.20, use tx_read_only rather than\ntransaction_read_only.\n\nSetting the global or session value of transaction_isolation or\ntransaction_read_only is equivalent to setting the isolation level or\naccess mode with SET GLOBAL TRANSACTION or SET SESSION TRANSACTION.\n\nTransaction Isolation Levels\n\nFor information about transaction isolation levels, see\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-lev\nels.html.\n\nTransaction Access Mode\n\nThe transaction access mode may be specified with SET TRANSACTION. By\ndefault, a transaction takes place in read/write mode, with both reads\nand writes permitted to tables used in the transaction. This mode may\nbe specified explicitly using an access mode of READ WRITE.\n\nIf the transaction access mode is set to READ ONLY, changes to tables\nare prohibited. This may enable storage engines to make performance\nimprovements that are possible when writes are not permitted.\n\nIt is not permitted to specify both READ WRITE and READ ONLY in the\nsame statement.\n\nIn read-only mode, it remains possible to change tables created with\nthe TEMPORARY keyword using DML statements. Changes made with DDL\nstatements are not permitted, just as with permanent tables.\n\nThe READ WRITE and READ ONLY access modes also may be specified for an\nindividual transaction using the START TRANSACTION statement.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-transaction.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-transaction.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (282,3,'SIN','Syntax:\nSIN(X)\n\nReturns the sine of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT SIN(PI());\n -> 1.2246063538224e-16\nmysql> SELECT ROUND(SIN(PI()));\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (283,26,'ST_BUFFER','ST_Buffer(g, d[, strategy1[, strategy2[, strategy3]]])\n\nReturns a geometry that represents all points whose distance from the\ngeometry value g is less than or equal to a distance of d, or NULL if\nany argument is NULL. The SRID of the geometry argument must be 0\nbecause ST_Buffer() supports only the Cartesian coordinate system. If\nany geometry argument is not a syntactically well-formed geometry, an\nER_GIS_INVALID_DATA error occurs.\n\nIf the geometry argument is empty, ST_Buffer() returns an empty\ngeometry.\n\nIf the distance is 0, ST_Buffer() returns the geometry argument\nunchanged:\n\nmysql> SET @pt = ST_GeomFromText(\'POINT(0 0)\');\nmysql> SELECT ST_AsText(ST_Buffer(@pt, 0));\n+------------------------------+\n| ST_AsText(ST_Buffer(@pt, 0)) |\n+------------------------------+\n| POINT(0 0) |\n+------------------------------+\n\nST_Buffer() supports negative distances for Polygon and MultiPolygon\nvalues, and for geometry collections containing Polygon or MultiPolygon\nvalues. The result may be an empty geometry. An ER_WRONG_ARGUMENTS\nerror occurs for ST_Buffer() with a negative distance for Point,\nMultiPoint, LineString, and MultiLineString values, and for geometry\ncollections not containing any Polygon or MultiPolygon values.\n\nAs of MySQL 5.7.7, ST_Buffer() permits up to three optional strategy\narguments following the distance argument. Strategies influence buffer\ncomputation. These arguments are byte string values produced by the\nST_Buffer_Strategy() function, to be used for point, join, and end\nstrategies:\n\no Point strategies apply to Point and MultiPoint geometries. If no\n point strategy is specified, the default is\n ST_Buffer_Strategy(\'point_circle\', 32).\n\no Join strategies apply to LineString, MultiLineString, Polygon, and\n MultiPolygon geometries. If no join strategy is specified, the\n default is ST_Buffer_Strategy(\'join_round\', 32).\n\no End strategies apply to LineString and MultiLineString geometries. If\n no end strategy is specified, the default is\n ST_Buffer_Strategy(\'end_round\', 32).\n\nUp to one strategy of each type may be specified, and they may be given\nin any order. If multiple strategies of a given type are specified, an\nER_WRONG_ARGUMENTS error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','mysql> SET @pt = ST_GeomFromText(\'POINT(0 0)\');\nmysql> SET @pt_strategy = ST_Buffer_Strategy(\'point_square\');\nmysql> SELECT ST_AsText(ST_Buffer(@pt, 2, @pt_strategy));\n+--------------------------------------------+\n| ST_AsText(ST_Buffer(@pt, 2, @pt_strategy)) |\n+--------------------------------------------+\n| POLYGON((-2 -2,2 -2,2 2,-2 2,-2 -2)) |\n+--------------------------------------------+\n\nmysql> SET @ls = ST_GeomFromText(\'LINESTRING(0 0,0 5,5 5)\');\nmysql> SET @end_strategy = ST_Buffer_Strategy(\'end_flat\');\nmysql> SET @join_strategy = ST_Buffer_Strategy(\'join_round\', 10);\nmysql> SELECT ST_AsText(ST_Buffer(@ls, 5, @end_strategy, @join_strategy))\n+---------------------------------------------------------------+\n| ST_AsText(ST_Buffer(@ls, 5, @end_strategy, @join_strategy)) |\n+---------------------------------------------------------------+\n| POLYGON((5 5,5 10,0 10,-3.5355339059327373 8.535533905932738, |\n| -5 5,-5 0,0 0,5 0,5 5)) |\n+---------------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (284,26,'BUFFER','Buffer(g, d[, strategy1[, strategy2[, strategy3]]])\n\nST_Buffer() and Buffer() are synonyms. For more information, see the\ndescription of ST_Buffer().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (285,7,'JSON_OBJECT','Syntax:\nJSON_OBJECT([key, val[, key, val] ...])\n\nEvaluates a (possibly empty) list of key-value pairs and returns a JSON\nobject containing those pairs. An error occurs if any key name is NULL\nor the number of arguments is odd.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html\n\n','mysql> SELECT JSON_OBJECT(\'id\', 87, \'name\', \'carrot\');\n+-----------------------------------------+\n| JSON_OBJECT(\'id\', 87, \'name\', \'carrot\') |\n+-----------------------------------------+\n| {"id": 87, "name": "carrot"} |\n+-----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (286,7,'WAIT_FOR_EXECUTED_GTID_SET','Syntax:\nWAIT_FOR_EXECUTED_GTID_SET(gtid_set[, timeout])\n\nWait until the server has applied all of the transactions whose global\ntransaction identifiers are contained in gtid_set; that is, until the\ncondition GTID_SUBSET(gtid_subset, @@global.gtid_executed) holds. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids-concepts.html\nfor a definition of GTID sets.\n\nIf a timeout is specified, and timeout seconds elapse before all of the\ntransactions in the GTID set have been applied, the function stops\nwaiting. timeout is optional, and the default timeout is 0 seconds, in\nwhich case the function always waits until all of the transactions in\nthe GTID set have been applied.\n\nWAIT_FOR_EXECUTED_GTID_SET() monitors all the GTIDs that are applied on\nthe server, including transactions that arrive from all replication\nchannels and user clients. It does not take into account whether\nreplication channels have been started or stopped.\n\nFor more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html\n\n','mysql> SELECT WAIT_FOR_EXECUTED_GTID_SET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (287,20,'IS','Syntax:\nIS boolean_value\n\nTests a value against a boolean value, where boolean_value can be TRUE,\nFALSE, or UNKNOWN.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN;\n -> 1, 1, 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (288,32,'GET_FORMAT','Syntax:\nGET_FORMAT({DATE|TIME|DATETIME}, {\'EUR\'|\'USA\'|\'JIS\'|\'ISO\'|\'INTERNAL\'})\n\nReturns a format string. This function is useful in combination with\nthe DATE_FORMAT() and the STR_TO_DATE() functions.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DATE_FORMAT(\'2003-10-03\',GET_FORMAT(DATE,\'EUR\'));\n -> \'03.10.2003\'\nmysql> SELECT STR_TO_DATE(\'10.31.2003\',GET_FORMAT(DATE,\'USA\'));\n -> \'2003-10-31\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (289,2,'ST_CENTROID','ST_Centroid(mpoly)\n\nReturns the mathematical centroid for the MultiPolygon value mpoly as a\nPoint. The result is not guaranteed to be on the MultiPolygon. If the\nargument is NULL or an empty geometry, the return value is NULL.\n\nThis function processes geometry collections by computing the centroid\npoint for components of highest dimension in the collection. Such\ncomponents are extracted and made into a single MultiPolygon,\nMultiLineString, or MultiPoint for centroid computation. If the\nargument is an empty geometry collection, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> ST_GeomFromText(\'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 5))\');\nmysql> SELECT ST_GeometryType(@poly),ST_AsText(ST_Centroid(@poly));\n+------------------------+--------------------------------------------+\n| ST_GeometryType(@poly) | ST_AsText(ST_Centroid(@poly)) |\n+------------------------+--------------------------------------------+\n| POLYGON | POINT(4.958333333333333 4.958333333333333) |\n+------------------------+--------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (290,23,'TINYBLOB','TINYBLOB\n\nA BLOB column with a maximum length of 255 (28 − 1) bytes. Each\nTINYBLOB value is stored using a 1-byte length prefix that indicates\nthe number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (291,17,'USER','Syntax:\nUSER()\n\nReturns the current MySQL user name and host name as a string in the\nutf8 character set.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT USER();\n -> \'davida@localhost\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (292,21,'REPAIR TABLE','Syntax:\nREPAIR [NO_WRITE_TO_BINLOG | LOCAL]\n TABLE tbl_name [, tbl_name] ...\n [QUICK] [EXTENDED] [USE_FRM]\n\nREPAIR TABLE repairs a possibly corrupted table, for certain storage\nengines only.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nAlthough normally you should never have to run REPAIR TABLE, if\ndisaster strikes, this statement is very likely to get back all your\ndata from a MyISAM table. If your tables become corrupted often, try to\nfind the reason for it, to eliminate the need to use REPAIR TABLE. See\nhttp://dev.mysql.com/doc/refman/5.7/en/crashing.html, and\nhttp://dev.mysql.com/doc/refman/5.7/en/myisam-table-problems.html.\n\nREPAIR TABLE checks the table to see whether an upgrade is required. If\nso, it performs the upgrade, following the same rules as CHECK TABLE\n... FOR UPGRADE. See [HELP CHECK TABLE], for more information.\n\n*Important*:\n\no Make a backup of a table before performing a table repair operation;\n under some circumstances the operation might cause data loss.\n Possible causes include but are not limited to file system errors.\n See http://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html.\n\no If the server crashes during a REPAIR TABLE operation, it is\n essential after restarting it that you immediately execute another\n REPAIR TABLE statement for the table before performing any other\n operations on it. In the worst case, you might have a new clean index\n file without information about the data file, and then the next\n operation you perform could overwrite the data file. This is an\n unlikely but possible scenario that underscores the value of making a\n backup first.\n\no In the event that a table on the master becomes corrupted and you run\n REPAIR TABLE on it, any resulting changes to the original table are\n not propagated to slaves.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/repair-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/repair-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (293,18,'MERGE','The MERGE storage engine, also known as the MRG_MyISAM engine, is a\ncollection of identical MyISAM tables that can be used as one.\n"Identical" means that all tables have identical column data types and\nindex information. You cannot merge MyISAM tables in which the columns\nare listed in a different order, do not have exactly the same data\ntypes in corresponding columns, or have the indexes in different order.\nHowever, any or all of the MyISAM tables can be compressed with\nmyisampack. See http://dev.mysql.com/doc/refman/5.7/en/myisampack.html.\nDifferences between tables such as these do not matter:\n\no Names of corresponding columns and indexes can differ.\n\no Comments for tables, columns, and indexes can differ.\n\no Table options such as AVG_ROW_LENGTH, MAX_ROWS, or PACK_KEYS can\n differ.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/merge-storage-engine.html\n\n','mysql> CREATE TABLE t1 (\n -> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> message CHAR(20)) ENGINE=MyISAM;\nmysql> CREATE TABLE t2 (\n -> a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n -> message CHAR(20)) ENGINE=MyISAM;\nmysql> INSERT INTO t1 (message) VALUES (\'Testing\'),(\'table\'),(\'t1\');\nmysql> INSERT INTO t2 (message) VALUES (\'Testing\'),(\'table\'),(\'t2\');\nmysql> CREATE TABLE total (\n -> a INT NOT NULL AUTO_INCREMENT,\n -> message CHAR(20), INDEX(a))\n -> ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;\n','http://dev.mysql.com/doc/refman/5.7/en/merge-storage-engine.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (294,27,'SHOW CREATE USER','Syntax:\nSHOW CREATE USER user\n\nThis statement shows the CREATE USER statement that creates the named\nuser. An error occurs if the user does not exist. The statement\nrequires the SELECT privilege for the mysql database, except to display\ninformation for the current user.\n\nTo name the account, use the format described in\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html. The host\nname part of the account name, if omitted, defaults to \'%\'. It is also\npossible to specify CURRENT_USER or CURRENT_USER() to refer to the\naccount associated with the current session.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-create-user.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (295,31,'ST_DISTANCE','ST_Distance(g1, g2)\n\nReturns the distance between g1 and g2. If either argument is NULL or\nan empty geometry, the return value is NULL.\n\nThis function processes geometry collections by returning the shortest\ndistance among all combinations of the components of the two geometry\narguments.\n\nIf an intermediate or final result produces NaN or a negative number,\nan ER_GIS_INVALID_DATA error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','mysql> SET @g1 = Point(1,1);\nmysql> SET @g2 = Point(2,2);\nmysql> SELECT ST_Distance(@g1, @g2);\n+-----------------------+\n| ST_Distance(@g1, @g2) |\n+-----------------------+\n| 1.4142135623730951 |\n+-----------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (296,40,'CREATE TABLE','Syntax:\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n (create_definition,...)\n [table_options]\n [partition_options]\n\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n [(create_definition,...)]\n [table_options]\n [partition_options]\n [IGNORE | REPLACE]\n [AS] query_expression\n\nCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name\n { LIKE old_tbl_name | (LIKE old_tbl_name) }\n\ncreate_definition:\n col_name column_definition\n | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)\n [index_option] ...\n | {INDEX|KEY} [index_name] [index_type] (index_col_name,...)\n [index_option] ...\n | [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY]\n [index_name] [index_type] (index_col_name,...)\n [index_option] ...\n | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...)\n [index_option] ...\n | [CONSTRAINT [symbol]] FOREIGN KEY\n [index_name] (index_col_name,...) reference_definition\n | CHECK (expr)\n\ncolumn_definition:\n data_type [NOT NULL | NULL] [DEFAULT default_value]\n [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]\n [COMMENT \'string\']\n [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]\n [STORAGE {DISK|MEMORY|DEFAULT}]\n [reference_definition]\n | data_type [GENERATED ALWAYS] AS (expression)\n [VIRTUAL | STORED] [NOT NULL | NULL]\n [UNIQUE [KEY]] [[PRIMARY] KEY]\n [COMMENT \'string\']\n\ndata_type:\n BIT[(length)]\n | TINYINT[(length)] [UNSIGNED] [ZEROFILL]\n | SMALLINT[(length)] [UNSIGNED] [ZEROFILL]\n | MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]\n | INT[(length)] [UNSIGNED] [ZEROFILL]\n | INTEGER[(length)] [UNSIGNED] [ZEROFILL]\n | BIGINT[(length)] [UNSIGNED] [ZEROFILL]\n | REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]\n | DECIMAL[(length[,decimals])] [UNSIGNED] [ZEROFILL]\n | NUMERIC[(length[,decimals])] [UNSIGNED] [ZEROFILL]\n | DATE\n | TIME[(fsp)]\n | TIMESTAMP[(fsp)]\n | DATETIME[(fsp)]\n | YEAR\n | CHAR[(length)]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | VARCHAR(length)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | BINARY[(length)]\n | VARBINARY(length)\n | TINYBLOB\n | BLOB[(length)]\n | MEDIUMBLOB\n | LONGBLOB\n | TINYTEXT\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | TEXT[(length)]\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | MEDIUMTEXT\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | LONGTEXT\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | ENUM(value1,value2,value3,...)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | SET(value1,value2,value3,...)\n [CHARACTER SET charset_name] [COLLATE collation_name]\n | JSON\n | spatial_type\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\nreference_definition:\n REFERENCES tbl_name (index_col_name,...)\n [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]\n [ON DELETE reference_option]\n [ON UPDATE reference_option]\n\nreference_option:\n RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT\n\ntable_options:\n table_option [[,] table_option] ...\n\ntable_option:\n AUTO_INCREMENT [=] value\n | AVG_ROW_LENGTH [=] value\n | [DEFAULT] CHARACTER SET [=] charset_name\n | CHECKSUM [=] {0 | 1}\n | [DEFAULT] COLLATE [=] collation_name\n | COMMENT [=] \'string\'\n | COMPRESSION [=] {\'ZLIB\'|\'LZ4\'|\'NONE\'}\n | CONNECTION [=] \'connect_string\'\n | {DATA|INDEX} DIRECTORY [=] \'absolute path to directory\'\n | DELAY_KEY_WRITE [=] {0 | 1}\n | ENCRYPTION [=] {\'Y\' | \'N\'}\n | ENGINE [=] engine_name\n | INSERT_METHOD [=] { NO | FIRST | LAST }\n | KEY_BLOCK_SIZE [=] value\n | MAX_ROWS [=] value\n | MIN_ROWS [=] value\n | PACK_KEYS [=] {0 | 1 | DEFAULT}\n | PASSWORD [=] \'string\'\n | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}\n | STATS_AUTO_RECALC [=] {DEFAULT|0|1}\n | STATS_PERSISTENT [=] {DEFAULT|0|1}\n | STATS_SAMPLE_PAGES [=] value\n | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]\n | UNION [=] (tbl_name[,tbl_name]...)\n\npartition_options:\n PARTITION BY\n { [LINEAR] HASH(expr)\n | [LINEAR] KEY [ALGORITHM={1|2}] (column_list)\n | RANGE{(expr) | COLUMNS(column_list)}\n | LIST{(expr) | COLUMNS(column_list)} }\n [PARTITIONS num]\n [SUBPARTITION BY\n { [LINEAR] HASH(expr)\n | [LINEAR] KEY [ALGORITHM={1|2}] (column_list) }\n [SUBPARTITIONS num]\n ]\n [(partition_definition [, partition_definition] ...)]\n\npartition_definition:\n PARTITION partition_name\n [VALUES\n {LESS THAN {(expr | value_list) | MAXVALUE}\n |\n IN (value_list)}]\n [[STORAGE] ENGINE [=] engine_name]\n [COMMENT [=] \'string\' ]\n [DATA DIRECTORY [=] \'data_dir\']\n [INDEX DIRECTORY [=] \'index_dir\']\n [MAX_ROWS [=] max_number_of_rows]\n [MIN_ROWS [=] min_number_of_rows]\n [TABLESPACE [=] tablespace_name]\n [(subpartition_definition [, subpartition_definition] ...)]\n\nsubpartition_definition:\n SUBPARTITION logical_name\n [[STORAGE] ENGINE [=] engine_name]\n [COMMENT [=] \'string\' ]\n [DATA DIRECTORY [=] \'data_dir\']\n [INDEX DIRECTORY [=] \'index_dir\']\n [MAX_ROWS [=] max_number_of_rows]\n [MIN_ROWS [=] min_number_of_rows]\n [TABLESPACE [=] tablespace_name]\n\nquery_expression:\n SELECT ... (Some valid select or union statement)\n\nCREATE TABLE creates a table with the given name. You must have the\nCREATE privilege for the table.\n\nBy default, tables are created in the default database, using the\nInnoDB storage engine. An error occurs if the table exists, if there is\nno default database, or if the database does not exist.\n\nFor information about the physical representation of a table, see\nhttp://dev.mysql.com/doc/refman/5.7/en/create-table-files.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (297,32,'MICROSECOND','Syntax:\nMICROSECOND(expr)\n\nReturns the microseconds from the time or datetime expression expr as a\nnumber in the range from 0 to 999999.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT MICROSECOND(\'12:00:00.123456\');\n -> 123456\nmysql> SELECT MICROSECOND(\'2009-12-31 23:59:59.000010\');\n -> 10\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (298,40,'CREATE SERVER','Syntax:\nCREATE SERVER server_name\n FOREIGN DATA WRAPPER wrapper_name\n OPTIONS (option [, option] ...)\n\noption:\n { HOST character-literal\n | DATABASE character-literal\n | USER character-literal\n | PASSWORD character-literal\n | SOCKET character-literal\n | OWNER character-literal\n | PORT numeric-literal }\n\nThis statement creates the definition of a server for use with the\nFEDERATED storage engine. The CREATE SERVER statement creates a new row\nin the servers table in the mysql database. This statement requires the\nSUPER privilege.\n\nThe server_name should be a unique reference to the server. Server\ndefinitions are global within the scope of the server, it is not\npossible to qualify the server definition to a specific database.\nserver_name has a maximum length of 64 characters (names longer than 64\ncharacters are silently truncated), and is case insensitive. You may\nspecify the name as a quoted string.\n\nThe wrapper_name should be mysql, and may be quoted with single\nquotation marks. Other values for wrapper_name are not currently\nsupported.\n\nFor each option you must specify either a character literal or numeric\nliteral. Character literals are UTF-8, support a maximum length of 64\ncharacters and default to a blank (empty) string. String literals are\nsilently truncated to 64 characters. Numeric literals must be a number\nbetween 0 and 9999, default value is 0.\n\n*Note*:\n\nThe OWNER option is currently not applied, and has no effect on the\nownership or operation of the server connection that is created.\n\nThe CREATE SERVER statement creates an entry in the mysql.servers table\nthat can later be used with the CREATE TABLE statement when creating a\nFEDERATED table. The options that you specify will be used to populate\nthe columns in the mysql.servers table. The table columns are\nServer_name, Host, Db, Username, Password, Port and Socket.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-server.html\n\n','CREATE SERVER s\nFOREIGN DATA WRAPPER mysql\nOPTIONS (USER \'Remote\', HOST \'198.51.100.106\', DATABASE \'test\');\n','http://dev.mysql.com/doc/refman/5.7/en/create-server.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (299,7,'ST_DISTANCE_SPHERE','ST_Distance_Sphere(g1, g2 [, radius])\n\nReturns the mimimum spherical distance between two points and/or\nmultipoints on a sphere, in meters, or NULL if any geometry argument is\nNULL or empty.\n\nCalculations use a spherical earth and a configurable radius. The\noptional radius argument should be given in meters. If omitted, the\ndefault radius is 6,370,986 meters. An ER_WRONG_ARGUMENTS error occurs\nif the radius argument is present but not positive.\n\nThe geometry arguments should consist of points that specify\n(longitude, latitude) coordinate values:\n\no Longitude and latitude are the first and second coordinates of the\n point, respectively.\n\no Both coordinates are in degrees.\n\no Longitude values must be in the range (-180, 180]. Positive values\n are east of the prime meridian.\n\no Latitude values must be in the range [-90, 90]. Positive values are\n north of the equator.\n\nSupported argument combinations are (Point, Point), (Point,\nMultiPoint), and (MultiPoint, Point). An ER_GIS_UNSUPPORTED_ARGUMENT\nerror occurs for other combinations.\n\nIf any geometry argument is not a syntactically well-formed geometry\nbyte string, an ER_GIS_INVALID_DATA error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html\n\n','mysql> SET @pt1 = ST_GeomFromText(\'POINT(0 0)\');\nmysql> SET @pt2 = ST_GeomFromText(\'POINT(180 0)\');\nmysql> SELECT ST_Distance_Sphere(@pt1, @pt2);\n+--------------------------------+\n| ST_Distance_Sphere(@pt1, @pt2) |\n+--------------------------------+\n| 20015042.813723423 |\n+--------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (300,33,'ST_POLYFROMWKB','ST_PolyFromWKB(wkb[, srid]), ST_PolygonFromWKB(wkb[, srid])\n\nConstructs a Polygon value using its WKB representation and SRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (301,32,'MAKETIME','Syntax:\nMAKETIME(hour,minute,second)\n\nReturns a time value calculated from the hour, minute, and second\narguments.\n\nThe second argument can have a fractional part.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT MAKETIME(12,15,30);\n -> \'12:15:30\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (302,32,'CURDATE','Syntax:\nCURDATE()\n\nReturns the current date as a value in \'YYYY-MM-DD\' or YYYYMMDD format,\ndepending on whether the function is used in a string or numeric\ncontext.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT CURDATE();\n -> \'2008-06-13\'\nmysql> SELECT CURDATE() + 0;\n -> 20080613\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (303,10,'SET PASSWORD','Syntax:\nSET PASSWORD [FOR user] = password_option\n\npassword_option: {\n \'auth_string\'\n | PASSWORD(\'auth_string\')\n}\n\nThe SET PASSWORD statement assigns a password to a MySQL user account.\n\'auth_string\' represents a cleartext (unencrypted) password.\n\n*Note*:\n\no SET PASSWORD ... = PASSWORD(\'auth_string\') syntax is deprecated as of\n MySQL 5.7.6 and will be removed in a future MySQL release.\n\no SET PASSWORD ... = \'auth_string\' syntax is not deprecated, but ALTER\n USER is the preferred statement for account alterations, including\n assigning passwords. For example:\n\nALTER USER user IDENTIFIED BY \'auth_string\';\n\n*Important*:\n\nUnder some circumstances, SET PASSWORD may be recorded in server logs\nor on the client side in a history file such as ~/.mysql_history, which\nmeans that cleartext passwords may be read by anyone having read access\nto that information. For information about the conditions under which\nthis occurs for the server logs and how to control it, see\nhttp://dev.mysql.com/doc/refman/5.7/en/password-logging.html. For\nsimilar information about client-side logging, see\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-logging.html.\n\nSET PASSWORD can be used with or without a FOR clause that explicitly\nnames a user account:\n\no With a FOR user clause, the statement sets the password for the named\n account, which must exist:\n\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = \'auth_string\';\n\no With no FOR user clause, the statement sets the password for the\n current user:\n\nSET PASSWORD = \'auth_string\';\n\n Any client who connects to the server using a nonanonymous account\n can change the password for that account. To see which account the\n server authenticated you as, invoke the CURRENT_USER() function:\n\nSELECT CURRENT_USER();\n\nSetting the password for a named account (with a FOR clause) requires\nthe UPDATE privilege for the mysql database. Setting the password for\nyourself (for a nonanonymous account with no FOR clause) requires no\nspecial privileges. When the read_only system variable is enabled, SET\nPASSWORD requires the SUPER privilege in addition to any other required\nprivileges.\n\nIf a FOR user clause is given, the account name uses the format\ndescribed in http://dev.mysql.com/doc/refman/5.7/en/account-names.html.\nFor example:\n\nSET PASSWORD FOR \'bob\'@\'%.example.org\' = \'auth_string\';\n\nThe host name part of the account name, if omitted, defaults to \'%\'.\n\nThe password can be specified in these ways:\n\no Use a string without PASSWORD()\n\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = \'password\';\n\n SET PASSWORD interprets the string as a cleartext string, passes it\n to the authentication plugin associated with the account, and stores\n the result returned by the plugin in the mysql.user account row. (The\n plugin is given the opportunity to hash the value into the encryption\n format it expects. The plugin may use the value as specified, in\n which case no hashing occurs.)\n\no Use the PASSWORD() function (deprecated as of MySQL 5.7.6)\n\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = PASSWORD(\'password\');\n\n The PASSWORD() argument is the cleartext (unencrypted) password.\n PASSWORD() hashes the password and returns the encrypted password\n string for storage in the mysql.user account row.\n\n The PASSWORD() function hashes the password using the hashing method\n determined by the value of the old_passwords system variable value.\n Be sure that old_passwords has the value corresponding to the hashing\n method expected by the authentication plugin associated with the\n account. For example, if the account uses the mysql_native_password\n plugin, the old_passwords value must be 0:\n\nSET old_passwords = 0;\nSET PASSWORD FOR \'jeffrey\'@\'localhost\' = PASSWORD(\'password\');\n\n If the old_passwords value differs from that required by the\n authentication plugin, the hashed password value returned by\n PASSWORD() will not by usable by the plugin and correct\n authentication of client connections will not occur.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-password.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-password.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (304,7,'JSON_QUOTE','Syntax:\nJSON_QUOTE(string)\n\nQuotes a string as a JSON value by wrapping it with double quote\ncharacters and escaping interior quote and other characters, then\nreturning the result as a utf8mb4 string. Returns NULL if the argument\nis NULL.\n\nThis function is typically used to produce a valid JSON string literal\nfor inclusion within a JSON document.\n\nCertain special characters are escaped with backslashes per the escape\nsequences shown in\nhttp://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n#json-unquote-character-escape-sequences.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html\n\n','mysql> SELECT JSON_QUOTE(\'null\'), JSON_QUOTE(\'"null"\');\n+--------------------+----------------------+\n| JSON_QUOTE(\'null\') | JSON_QUOTE(\'"null"\') |\n+--------------------+----------------------+\n| "null" | "\\"null\\"" |\n+--------------------+----------------------+\nmysql> SELECT JSON_QUOTE(\'[1, 2, 3]\');\n+-------------------------+\n| JSON_QUOTE(\'[1, 2, 3]\') |\n+-------------------------+\n| "[1, 2, 3]" |\n+-------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (305,17,'DATABASE','Syntax:\nDATABASE()\n\nReturns the default (current) database name as a string in the utf8\ncharacter set. If there is no default database, DATABASE() returns\nNULL. Within a stored routine, the default database is the database\nthat the routine is associated with, which is not necessarily the same\nas the database that is the default in the calling context.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT DATABASE();\n -> \'test\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (306,6,'IF FUNCTION','Syntax:\nIF(expr1,expr2,expr3)\n\nIf expr1 is TRUE (expr1 <> 0 and expr1 <> NULL), IF() returns expr2.\nOtherwise, it returns expr3.\n\n*Note*:\n\nThere is also an IF statement, which differs from the IF() function\ndescribed here. See [HELP IF statement].\n\nIf only one of expr2 or expr3 is explicitly NULL, the result type of\nthe IF() function is the type of the non-NULL expression.\n\nThe default return type of IF() (which may matter when it is stored\ninto a temporary table) is calculated as follows:\n\no If expr2 or expr3 produce a string, the result is a string.\n\n If expr2 and expr3 are both strings, the result is case-sensitive if\n either string is case sensitive.\n\no If expr2 or expr3 produce a floating-point value, the result is a\n floating-point value.\n\no If expr2 or expr3 produce an integer, the result is an integer.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html\n\n','mysql> SELECT IF(1>2,2,3);\n -> 3\nmysql> SELECT IF(1<2,\'yes\',\'no\');\n -> \'yes\'\nmysql> SELECT IF(STRCMP(\'test\',\'test1\'),\'no\',\'yes\');\n -> \'no\'\n','http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (307,33,'POINTFROMWKB','PointFromWKB(wkb[, srid])\n\nST_PointFromWKB() and PointFromWKB() are synonyms. For more\ninformation, see the description of ST_PointFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (308,3,'POWER','Syntax:\nPOWER(X,Y)\n\nThis is a synonym for POW().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (309,3,'ATAN','Syntax:\nATAN(X)\n\nReturns the arc tangent of X, that is, the value whose tangent is X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(2);\n -> 1.1071487177941\nmysql> SELECT ATAN(-2);\n -> -1.1071487177941\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (310,27,'SHOW PROFILE','Syntax:\nSHOW PROFILE [type [, type] ... ]\n [FOR QUERY n]\n [LIMIT row_count [OFFSET offset]]\n\ntype:\n ALL\n | BLOCK IO\n | CONTEXT SWITCHES\n | CPU\n | IPC\n | MEMORY\n | PAGE FAULTS\n | SOURCE\n | SWAPS\n\nThe SHOW PROFILE and SHOW PROFILES statements display profiling\ninformation that indicates resource usage for statements executed\nduring the course of the current session.\n\n*Note*:\n\nThese statements are deprecated and will be removed in a future MySQL\nrelease. Use the Performance Schema instead; see\nhttp://dev.mysql.com/doc/refman/5.7/en/performance-schema-query-profili\nng.html.\n\nProfiling is controlled by the profiling session variable, which has a\ndefault value of 0 (OFF). Profiling is enabled by setting profiling to\n1 or ON:\n\nmysql> SET profiling = 1;\n\nSHOW PROFILES displays a list of the most recent statements sent to the\nserver. The size of the list is controlled by the\nprofiling_history_size session variable, which has a default value of\n15. The maximum value is 100. Setting the value to 0 has the practical\neffect of disabling profiling.\n\nAll statements are profiled except SHOW PROFILE and SHOW PROFILES, so\nyou will find neither of those statements in the profile list.\nMalformed statements are profiled. For example, SHOW PROFILING is an\nillegal statement, and a syntax error occurs if you try to execute it,\nbut it will show up in the profiling list.\n\nSHOW PROFILE displays detailed information about a single statement.\nWithout the FOR QUERY n clause, the output pertains to the most\nrecently executed statement. If FOR QUERY n is included, SHOW PROFILE\ndisplays information for statement n. The values of n correspond to the\nQuery_ID values displayed by SHOW PROFILES.\n\nThe LIMIT row_count clause may be given to limit the output to\nrow_count rows. If LIMIT is given, OFFSET offset may be added to begin\nthe output offset rows into the full set of rows.\n\nBy default, SHOW PROFILE displays Status and Duration columns. The\nStatus values are like the State values displayed by SHOW PROCESSLIST,\nalthough there might be some minor differences in interpretion for the\ntwo statements for some status values (see\nhttp://dev.mysql.com/doc/refman/5.7/en/thread-information.html).\n\nOptional type values may be specified to display specific additional\ntypes of information:\n\no ALL displays all information\n\no BLOCK IO displays counts for block input and output operations\n\no CONTEXT SWITCHES displays counts for voluntary and involuntary\n context switches\n\no CPU displays user and system CPU usage times\n\no IPC displays counts for messages sent and received\n\no MEMORY is not currently implemented\n\no PAGE FAULTS displays counts for major and minor page faults\n\no SOURCE displays the names of functions from the source code, together\n with the name and line number of the file in which the function\n occurs\n\no SWAPS displays swap counts\n\nProfiling is enabled per session. When a session ends, its profiling\ninformation is lost.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-profile.html\n\n','mysql> SELECT @@profiling;\n+-------------+\n| @@profiling |\n+-------------+\n| 0 |\n+-------------+\n1 row in set (0.00 sec)\n\nmysql> SET profiling = 1;\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> DROP TABLE IF EXISTS t1;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nmysql> CREATE TABLE T1 (id INT);\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SHOW PROFILES;\n+----------+----------+--------------------------+\n| Query_ID | Duration | Query |\n+----------+----------+--------------------------+\n| 0 | 0.000088 | SET PROFILING = 1 |\n| 1 | 0.000136 | DROP TABLE IF EXISTS t1 |\n| 2 | 0.011947 | CREATE TABLE t1 (id INT) |\n+----------+----------+--------------------------+\n3 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE;\n+----------------------+----------+\n| Status | Duration |\n+----------------------+----------+\n| checking permissions | 0.000040 |\n| creating table | 0.000056 |\n| After create | 0.011363 |\n| query end | 0.000375 |\n| freeing items | 0.000089 |\n| logging slow query | 0.000019 |\n| cleaning up | 0.000005 |\n+----------------------+----------+\n7 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE FOR QUERY 1;\n+--------------------+----------+\n| Status | Duration |\n+--------------------+----------+\n| query end | 0.000107 |\n| freeing items | 0.000008 |\n| logging slow query | 0.000015 |\n| cleaning up | 0.000006 |\n+--------------------+----------+\n4 rows in set (0.00 sec)\n\nmysql> SHOW PROFILE CPU FOR QUERY 2;\n+----------------------+----------+----------+------------+\n| Status | Duration | CPU_user | CPU_system |\n+----------------------+----------+----------+------------+\n| checking permissions | 0.000040 | 0.000038 | 0.000002 |\n| creating table | 0.000056 | 0.000028 | 0.000028 |\n| After create | 0.011363 | 0.000217 | 0.001571 |\n| query end | 0.000375 | 0.000013 | 0.000028 |\n| freeing items | 0.000089 | 0.000010 | 0.000014 |\n| logging slow query | 0.000019 | 0.000009 | 0.000010 |\n| cleaning up | 0.000005 | 0.000003 | 0.000002 |\n+----------------------+----------+----------+------------+\n7 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/show-profile.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (311,3,'LN','Syntax:\nLN(X)\n\nReturns the natural logarithm of X; that is, the base-e logarithm of X.\nIf X is less than or equal to 0.0E0, the function returns NULL and (as\nof MySQL 5.7.4) a warning "Invalid argument for logarithm" is reported.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT LN(2);\n -> 0.69314718055995\nmysql> SELECT LN(-2);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (312,27,'SET CHARACTER SET','Syntax:\nSET {CHARACTER SET | CHARSET}\n {\'charset_name\' | DEFAULT}\n\nThis statement maps all strings sent between the server and the current\nclient with the given mapping. SET CHARACTER SET sets three session\nsystem variables: character_set_client and character_set_results are\nset to the given character set, and character_set_connection to the\nvalue of character_set_database. See\nhttp://dev.mysql.com/doc/refman/5.7/en/charset-connection.html.\n\ncharset_name may be quoted or unquoted.\n\nThe default character set mapping can be restored by using the value\nDEFAULT. The default depends on the server configuration.\n\nucs2, utf16, and utf32 cannot be used as a client character set, which\nmeans that they do not work for SET CHARACTER SET.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-character-set.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-character-set.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (313,24,'RETURN','Syntax:\nRETURN expr\n\nThe RETURN statement terminates execution of a stored function and\nreturns the value expr to the function caller. There must be at least\none RETURN statement in a stored function. There may be more than one\nif the function has multiple exit points.\n\nThis statement is not used in stored procedures, triggers, or events.\nThe LEAVE statement can be used to exit a stored program of those\ntypes.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/return.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/return.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (314,8,'SET SQL_LOG_BIN','Syntax:\nSET sql_log_bin = {0|1}\n\nThe sql_log_bin variable controls whether logging to the binary log is\ndone. The default value is 1 (do logging). To change logging for the\ncurrent session, change the session value of this variable. The session\nuser must have the SUPER privilege to set this variable. Set this\nvariable to 0 for a session to temporarily disable binary logging while\nmaking changes to the master which you do not want to replicate to the\nslave.\n\nThe global sql_log_bin variable is read only and cannot be modified.\nThe global scope is deprecated and will be removed in a future MySQL\nrelease.\n\nIt is not possible to set @@session.sql_log_bin within a transaction or\nsubquery.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-sql-log-bin.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-sql-log-bin.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (315,12,'AES_DECRYPT','Syntax:\nAES_DECRYPT(crypt_str,key_str[,init_vector])\n\nThis function decrypts data using the official AES (Advanced Encryption\nStandard) algorithm. For more information, see the description of\nAES_ENCRYPT().\n\nThe optional initialization vector argument, init_vector, is available\nas of MySQL 5.7.4. As of that version, statements that use\nAES_DECRYPT() are unsafe for statement-based replication and cannot be\nstored in the query cache.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (316,17,'COERCIBILITY','Syntax:\nCOERCIBILITY(str)\n\nReturns the collation coercibility value of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT COERCIBILITY(\'abc\' COLLATE latin1_swedish_ci);\n -> 0\nmysql> SELECT COERCIBILITY(USER());\n -> 3\nmysql> SELECT COERCIBILITY(\'abc\');\n -> 4\nmysql> SELECT COERCIBILITY(1000);\n -> 5\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (317,23,'INT','INT[(M)] [UNSIGNED] [ZEROFILL]\n\nA normal-size integer. The signed range is -2147483648 to 2147483647.\nThe unsigned range is 0 to 4294967295.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (318,13,'GLENGTH','GLength(ls)\n\nGLength() is a nonstandard name. It corresponds to the OpenGIS\nST_Length() function. (There is an existing SQL function Length() that\ncalculates the length of string values.)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (319,27,'SHUTDOWN','Syntax:\nSHUTDOWN\n\nThis statement stops the MySQL server. It requires the SHUTDOWN\nprivilege.\n\nSHUTDOWN was added in MySQL 5.7.9. It provides an SQL-level interface\nto the same functionality available using the mysqladmin shutdown\ncommand or the mysql_shutdown() C API function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/shutdown.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/shutdown.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (320,7,'JSON_REMOVE','Syntax:\nJSON_REMOVE(json_doc, path[, path] ...)\n\nRemoves data from a JSON document and returns the result. Returns NULL\nif any argument is NULL. An error occurs if the json_doc argument is\nnot a valid JSON document or any path argument is not a valid path\nexpression or is $ or contains a * or ** wildcard.\n\nThe path arguments are evaluated left to right. The document produced\nby evaluating one path becomes the new value against which the next\npath is evaluated.\n\nIt is not an error if the element to be removed does not exist in the\ndocument; in that case, the path does not affect the document.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'["a", ["b", "c"], "d"]\';\nmysql> SELECT JSON_REMOVE(@j, \'$[1]\');\n+-------------------------+\n| JSON_REMOVE(@j, \'$[1]\') |\n+-------------------------+\n| ["a", "d"] |\n+-------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (321,7,'ST_ASGEOJSON','ST_AsGeoJSON(g [, max_dec_digits [, options]])\n\nGenerates a GeoJSON object from the geometry g. The object string has\nthe connection character set and collation.\n\nIf any argument is NULL, the return value is NULL. If any non-NULL\nargument is invalid, an error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html\n\n','mysql> SELECT ST_AsGeoJSON(ST_GeomFromText(\'POINT(11.11111 12.22222)\'),2);\n+-------------------------------------------------------------+\n| ST_AsGeoJSON(ST_GeomFromText(\'POINT(11.11111 12.22222)\'),2) |\n+-------------------------------------------------------------+\n| {"type": "Point", "coordinates": [11.11, 12.22]} |\n+-------------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (322,26,'ST_BUFFER_STRATEGY','ST_Buffer_Strategy(strategy[, points_per_circle])\n\nThis function returns a strategy byte string for use with ST_Buffer()\nto influence buffer computation. If any argument is NULL, the return\nvalue is NULL. If any argument is invalid, an ER_WRONG_ARGUMENTS error\noccurs.\n\nInformation about strategies is available at Boost.org\n(http://www.boost.org).\n\nThe first argument must be a string indicating a strategy option:\n\no For point strategies, permitted values are \'point_circle\' and\n \'point_square\'.\n\no For join strategies, permitted values are \'join_round\' and\n \'join_miter\'.\n\no For end strategies, permitted values are \'end_round\' and \'end_flat\'.\n\nIf the first argument is \'point_circle\', \'join_round\', \'join_miter\', or\n\'end_round\', the points_per_circle argument must be given as a positive\nnumeric value. The maximum points_per_circle value is the value of the\nmax_points_in_geometry system variable as of MySQL 5.7.8, 65,536 before\nthat. If the first argument is \'point_square\' or \'end_flat\', the\npoints_per_circle argument must not be given or an ER_WRONG_ARGUMENTS\nerror occurs.\n\nFor examples, see the description of ST_Buffer().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (323,38,'MAKE_SET','Syntax:\nMAKE_SET(bits,str1,str2,...)\n\nReturns a set value (a string containing substrings separated by ,\ncharacters) consisting of the strings that have the corresponding bit\nin bits set. str1 corresponds to bit 0, str2 to bit 1, and so on. NULL\nvalues in str1, str2, ... are not appended to the result.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT MAKE_SET(1,\'a\',\'b\',\'c\');\n -> \'a\'\nmysql> SELECT MAKE_SET(1 | 4,\'hello\',\'nice\',\'world\');\n -> \'hello,world\'\nmysql> SELECT MAKE_SET(1 | 4,\'hello\',\'nice\',NULL,\'world\');\n -> \'hello\'\nmysql> SELECT MAKE_SET(0,\'a\',\'b\',\'c\');\n -> \'\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (324,38,'FIND_IN_SET','Syntax:\nFIND_IN_SET(str,strlist)\n\nReturns a value in the range of 1 to N if the string str is in the\nstring list strlist consisting of N substrings. A string list is a\nstring composed of substrings separated by , characters. If the first\nargument is a constant string and the second is a column of type SET,\nthe FIND_IN_SET() function is optimized to use bit arithmetic. Returns\n0 if str is not in strlist or if strlist is the empty string. Returns\nNULL if either argument is NULL. This function does not work properly\nif the first argument contains a comma (,) character.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT FIND_IN_SET(\'b\',\'a,b,c,d\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (325,16,'MIN','Syntax:\nMIN([DISTINCT] expr)\n\nReturns the minimum value of expr. MIN() may take a string argument; in\nsuch cases, it returns the minimum string value. See\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html. The DISTINCT\nkeyword can be used to find the minimum of the distinct values of expr,\nhowever, this produces the same result as omitting DISTINCT.\n\nIf there are no matching rows, MIN() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student_name, MIN(test_score), MAX(test_score)\n FROM student\n GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (326,28,'REPLACE','Syntax:\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [(col_name [, col_name] ...)]\n {VALUES | VALUE} (value_list) [, (value_list)] ...\n\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n SET assignment_list\n\nREPLACE [LOW_PRIORITY | DELAYED]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [(col_name [, col_name] ...)]\n SELECT ...\n\nvalue:\n {expr | DEFAULT}\n\nvalue_list:\n value [, value] ...\n\nassignment:\n col_name = value\n\nassignment_list:\n assignment [, assignment] ...\n\nREPLACE works exactly like INSERT, except that if an old row in the\ntable has the same value as a new row for a PRIMARY KEY or a UNIQUE\nindex, the old row is deleted before the new row is inserted. See [HELP\nINSERT].\n\nREPLACE is a MySQL extension to the SQL standard. It either inserts, or\ndeletes and inserts. For another MySQL extension to standard SQL---that\neither inserts or updates---see\nhttp://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html.\n\nDELAYED inserts and replaces were deprecated in MySQL 5.6. In MySQL\n5.7, DELAYED is not supported. The server recognizes but ignores the\nDELAYED keyword, handles the replace as a nondelayed replace, and\ngenerates an ER_WARN_LEGACY_SYNTAX_CONVERTED warning. ("REPLACE DELAYED\nis no longer supported. The statement was converted to REPLACE.") The\nDELAYED keyword will be removed in a future release.\n\n*Note*:\n\nREPLACE makes sense only if a table has a PRIMARY KEY or UNIQUE index.\nOtherwise, it becomes equivalent to INSERT, because there is no index\nto be used to determine whether a new row duplicates another.\n\nValues for all columns are taken from the values specified in the\nREPLACE statement. Any missing columns are set to their default values,\njust as happens for INSERT. You cannot refer to values from the current\nrow and use them in the new row. If you use an assignment such as SET\ncol_name = col_name + 1, the reference to the column name on the right\nhand side is treated as DEFAULT(col_name), so the assignment is\nequivalent to SET col_name = DEFAULT(col_name) + 1.\n\nTo use REPLACE, you must have both the INSERT and DELETE privileges for\nthe table.\n\nIf a generated column is replaced explicitly, the only permitted value\nis DEFAULT. For information about generated columns, see\nhttp://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.h\ntml.\n\nREPLACE supports explicit partition selection using the PARTITION\nkeyword with a list of comma-separated names of partitions,\nsubpartitions, or both. As with INSERT, if it is not possible to insert\nthe new row into any of these partitions or subpartitions, the REPLACE\nstatement fails with the error Found a row not matching the given\npartition set. For more information and examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/replace.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/replace.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (327,32,'CURRENT_TIMESTAMP','Syntax:\nCURRENT_TIMESTAMP, CURRENT_TIMESTAMP([fsp])\n\nCURRENT_TIMESTAMP and CURRENT_TIMESTAMP() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (328,26,'ST_SYMDIFFERENCE','ST_SymDifference(g1, g2)\n\nReturns a geometry that represents the point set symmetric difference\nof the geometry values g1 and g2, which is defined as:\n\ng1 symdifference g2 := (g1 union g2) difference (g1 intersection g2)\n\nOr, in function call notation:\n\nST_SymDifference(g1, g2) = ST_Difference(ST_Union(g1, g2), ST_Intersection(g1, g2))\n\nIf any argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','mysql> SET @g1 = Point(1,1), @g2 = Point(2,2);\nmysql> SELECT ST_AsText(ST_SymDifference(@g1, @g2));\n+---------------------------------------+\n| ST_AsText(ST_SymDifference(@g1, @g2)) |\n+---------------------------------------+\n| MULTIPOINT((1 1),(2 2)) |\n+---------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (329,7,'GTID_SUBSET','Syntax:\nGTID_SUBSET(subset,set)\n\nGiven two sets of global transaction IDs subset and set, returns true\nif all GTIDs in subset are also in set. Returns false otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html\n\n','mysql> SELECT GTID_SUBSET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:23\',\n -> \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\')\\G\n*************************** 1. row ***************************\nGTID_SUBSET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:23\',\n \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\'): 1\n1 row in set (0.00 sec)\n\nmysql> SELECT GTID_SUBSET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:23-25\',\n -> \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\')\\G\n*************************** 1. row ***************************\nGTID_SUBSET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:23-25\',\n \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\'): 1\n1 row in set (0.00 sec)\n\nmysql> SELECT GTID_SUBSET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:20-25\',\n -> \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\')\\G\n*************************** 1. row ***************************\nGTID_SUBSET(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:20-25\',\n \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\'): 0\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (330,16,'VAR_SAMP','Syntax:\nVAR_SAMP(expr)\n\nReturns the sample variance of expr. That is, the denominator is the\nnumber of rows minus one.\n\nIf there are no matching rows, VAR_SAMP() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (331,23,'DATETIME','DATETIME[(fsp)]\n\nA date and time combination. The supported range is \'1000-01-01\n00:00:00.000000\' to \'9999-12-31 23:59:59.999999\'. MySQL displays\nDATETIME values in \'YYYY-MM-DD HH:MM:SS[.fraction]\' format, but permits\nassignment of values to DATETIME columns using either strings or\nnumbers.\n\nAn optional fsp value in the range from 0 to 6 may be given to specify\nfractional seconds precision. A value of 0 signifies that there is no\nfractional part. If omitted, the default precision is 0.\n\nAutomatic initialization and updating to the current date and time for\nDATETIME columns can be specified using DEFAULT and ON UPDATE column\ndefinition clauses, as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (332,8,'CHANGE REPLICATION FILTER','Syntax:\nCHANGE REPLICATION FILTER filter[, filter][, ...]\n\nfilter:\n REPLICATE_DO_DB = (db_list)\n | REPLICATE_IGNORE_DB = (db_list)\n | REPLICATE_DO_TABLE = (tbl_list)\n | REPLICATE_IGNORE_TABLE = (tbl_list)\n | REPLICATE_WILD_DO_TABLE = (wild_tbl_list)\n | REPLICATE_WILD_IGNORE_TABLE = (wild_tbl_list)\n | REPLICATE_REWRITE_DB = (db_pair_list)\n\ndb_list:\n db_name[, db_name][, ...]\n\ntbl_list:\n db_name.table_name[, db_table_name][, ...]\nwild_tbl_list:\n \'db_pattern.table_pattern\'[, \'db_pattern.table_pattern\'][, ...]\n\ndb_pair_list:\n (db_pair)[, (db_pair)][, ...]\n\ndb_pair:\n from_db, to_db\n\nCHANGE REPLICATION FILTER sets one or more replication filtering rules\non the slave in the same way as starting the slave mysqld with\nreplication filtering options such as --replicate-do-db or\n--replicate-wild-ignore-table. Unlike the case with the server options,\nthis statement does not require restarting the server to take effect,\nonly that the slave SQL thread be stopped using STOP SLAVE SQL_THREAD\nfirst (and restarted with START SLAVE SQL_THREAD afterwards). CHANGE\nREPLICATION FILTER requires the SUPER privilege.\n\nThe following list shows the CHANGE REPLICATION FILTER options and how\nthey relate to --replicate-* server options:\n\no REPLICATE_DO_DB: Include updates based on database name. Equivalent\n to --replicate-do-db.\n\no REPLICATE_IGNORE_DB: Exclude updates based on database name.\n Equivalent to --replicate-ignore-db.\n\no REPLICATE_DO_TABLE: Include updates based on table name. Equivalent\n to --replicate-do-table.\n\no REPLICATE_IGNORE_TABLE: Exclude updates based on table name.\n Equivalent to --replicate-ignore-table.\n\no REPLICATE_WILD_DO_TABLE: Include updates based on wildcard pattern\n matching table name. Equivalent to --replicate-wild-do-table.\n\no REPLICATE_WILD_IGNORE_TABLE: Exclude updates based on wildcard\n pattern matching table name. Equivalent to\n --replicate-wild-ignore-table.\n\no REPLICATE_REWRITE_DB: Perform updates on slave after substituting new\n name on slave for specified database on master. Equivalent to\n --replicate-rewrite-db.\n\nThe precise effects of REPLICATE_DO_DB and REPLICATE_IGNORE_DB filters\nare dependent on whether statement-based or row-based replication is in\neffect. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-rules.html, for more\ninformation.\n\nMultiple replication filtering rules can be created in a single CHANGE\nREPLICATION FILTER statement by separating the rules with commas, as\nshown here:\n\nCHANGE REPLICATION FILTER\n REPLICATE_DO_DB = (d1), REPLICATE_IGNORE_DB = (d2);\n\nIssuing the statement just shown is equivalent to starting the slave\nmysqld with the options --replicate-do-db=d1 --replicate-ignore-db=d2.\n\nIf the same filtering rule is specified multiple times, only the last\nsuch rule is actually used. For example, the two statements shown here\nhave exactly the same effect, because the first REPLICATE_DO_DB rule in\nthe first statement is ignored:\n\nCHANGE REPLICATION FILTER\n REPLICATE_DO_DB = (db1, db2), REPLICATE_DO_DB = (db3, db4);\n\nCHANGE REPLICATION FILTER\n REPLICATE_DO_DB = (db3,db4);\n\n*Caution*:\n\nThis behavior differs from that of the --replicate-* filter options\nwhere specifying the same option multiple times causes the creation of\nmultiple filter rules.\n\nNames of tables and database not containing any special characters need\nnot be quoted. Values used with REPLICATION_WILD_TABLE and\nREPLICATION_WILD_IGNORE_TABLE are string expressions, possibly\ncontaining (special) wildcard characters, and so must be quoted. This\nis shown in the following example statements:\n\nCHANGE REPLICATION FILTER\n REPLICATE_WILD_DO_TABLE = (\'db1.old%\');\n\nCHANGE REPLICATION FILTER\n REPLICATE_WILD_IGNORE_TABLE = (\'db1.new%\', \'db2.new%\');\n\nValues used with REPLICATE_REWRITE_DB represent pairs of database\nnames; each such value must be enclosed in parentheses. The following\nstatement rewrites statements occurring on database db1 on the master\nto database db2 on the slave:\n\nCHANGE REPLICATION FILTER REPLICATE_REWRITE_DB = ((db1, db2));\n\nThe statement just shown contains two sets of parentheses, one\nenclosing the pair of database names, and the other enclosing the\nentire list. This is perhap more easily seen in the following example,\nwhich creates two rewrite-db rules, one rewriting database dbA to dbB,\nand one rewriting database dbC to dbD:\n\nCHANGE REPLICATION FILTER\n REPLICATE_REWRITE_DB = ((dbA, dbB), (dbC, dbD));\n\nThis statement leaves any existing replication filtering rules\nunchanged; to unset all filters of a given type, set the filter\'s value\nto an explicitly empty list, as shown in this example, which removes\nall existing REPLICATE_DO_DB and REPLICATE_IGNORE_DB rules:\n\nCHANGE REPLICATION FILTER\n REPLICATE_DO_DB = (), REPLICATE_IGNORE_DB = ();\n\nSetting a filter to empty in this way removes all existing rules, does\nnot create any new ones, and does not restore any rules set at mysqld\nstartup using --replicate-* options on the command line or in the\nconfiguration file.\n\nValues employed with REPLICATE_WILD_DO_TABLE and\nREPLICATE_WILD_IGNORE_TABLE must be in the format db_name.tbl_name.\nPrior to MySQL 5.7.5, this was not strictly enforced, although using\nnonconforming values with these options could lead to erroneous results\n(Bug #18095449).\n\nFor more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-rules.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (333,23,'INTEGER','INTEGER[(M)] [UNSIGNED] [ZEROFILL]\n\nThis type is a synonym for INT.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (334,27,'SHOW COLUMNS','Syntax:\nSHOW [FULL] {COLUMNS | FIELDS}\n {FROM | IN} tbl_name\n [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW COLUMNS displays information about the columns in a given table.\nIt also works for views. SHOW COLUMNS displays information only for\nthose columns for which you have some privilege.\n\nYou can use db_name.tbl_name as an alternative to the tbl_name FROM\ndb_name syntax. In other words, these two statements are equivalent:\n\nSHOW COLUMNS FROM mytable FROM mydb;\nSHOW COLUMNS FROM mydb.mytable;\n\nThe optional FULL keyword causes the output to include the column\ncollation and comments, as well as the privileges you have for each\ncolumn.\n\nThe LIKE clause, if present, indicates which column names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nmysql> SHOW COLUMNS FROM City;\n+-------------+----------+------+-----+---------+----------------+\n| Field | Type | Null | Key | Default | Extra |\n+-------------+----------+------+-----+---------+----------------+\n| ID | int(11) | NO | PRI | NULL | auto_increment |\n| Name | char(35) | NO | | | |\n| CountryCode | char(3) | NO | MUL | | |\n| District | char(20) | NO | | | |\n| Population | int(11) | NO | | 0 | |\n+-------------+----------+------+-----+---------+----------------+\n\nThe data types may differ from what you expect them to be based on a\nCREATE TABLE statement because MySQL sometimes changes data types when\nyou create or alter a table. The conditions under which this occurs are\ndescribed in\nhttp://dev.mysql.com/doc/refman/5.7/en/silent-column-changes.html.\n\nSHOW COLUMNS displays the following values for each table column:\n\no Field\n\n The column name.\n\no Type\n\n The column data type.\n\no Collation\n\n The collation for nonbinary string columns, or NULL for other\n columns. This value is displayed only if you use the FULL keyword.\n\no Null\n\n Column nullability. The value is YES if NULL values can be stored in\n the column, NO if not.\n\no Key\n\n Whether the column is indexed:\n\n o If Key is empty, the column either is not indexed or is indexed\n only as a secondary column in a multiple-column, nonunique index.\n\n o If Key is PRI, the column is a PRIMARY KEY or is one of the columns\n in a multiple-column PRIMARY KEY.\n\n o If Key is UNI, the column is the first column of a UNIQUE index. (A\n UNIQUE index permits multiple NULL values, but you can tell whether\n the column permits NULL by checking the Null field.)\n\n o If Key is MUL, the column is the first column of a nonunique index\n in which multiple occurrences of a given value are permitted within\n the column.\n\n If more than one of the Key values applies to a given column of a\n table, Key displays the one with the highest priority, in the order\n PRI, UNI, MUL.\n\n A UNIQUE index may be displayed as PRI if it cannot contain NULL\n values and there is no PRIMARY KEY in the table. A UNIQUE index may\n display as MUL if several columns form a composite UNIQUE index;\n although the combination of the columns is unique, each column can\n still hold multiple occurrences of a given value.\n\no Default\n\n The default value for the column. This is NULL if the column has an\n explicit default of NULL, or if the column definition includes no\n DEFAULT clause.\n\no Extra\n\n Any additional information that is available about a given column.\n The value is nonempty in these cases:\n\n o auto_increment for columns that have the AUTO_INCREMENT attribute\n\n o on update CURRENT_TIMESTAMP for TIMESTAMP or DATETIME columns that\n have the ON UPDATE CURRENT_TIMESTAMP attribute\n\n o VIRTUAL GENERATED or VIRTUAL STORED for generated columns\n\no Privileges\n\n The privileges you have for the column. This value is displayed only\n if you use the FULL keyword.\n\no Comment\n\n Any comment included in the column definition. This value is\n displayed only if you use the FULL keyword.\n\nYou can also obtain information about table columns from\nINFORMATION_SCHEMA, which contains a COLUMNS table. See\nhttp://dev.mysql.com/doc/refman/5.7/en/columns-table.html.\n\nYou can list a table\'s columns with the mysqlshow db_name tbl_name\ncommand.\n\nThe DESCRIBE statement provides information similar to SHOW COLUMNS.\nSee http://dev.mysql.com/doc/refman/5.7/en/describe.html.\n\nThe SHOW CREATE TABLE, SHOW TABLE STATUS, and SHOW INDEX statements\nalso provide information about tables. See [HELP SHOW].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-columns.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-columns.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (335,23,'TINYINT','TINYINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA very small integer. The signed range is -128 to 127. The unsigned\nrange is 0 to 255.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (336,14,'MASTER_POS_WAIT','Syntax:\nMASTER_POS_WAIT(log_name,log_pos[,timeout][,channel])\n\nThis function is useful for control of master/slave synchronization. It\nblocks until the slave has read and applied all updates up to the\nspecified position in the master log. The return value is the number of\nlog events the slave had to wait for to advance to the specified\nposition. The function returns NULL if the slave SQL thread is not\nstarted, the slave\'s master information is not initialized, the\narguments are incorrect, or an error occurs. It returns -1 if the\ntimeout has been exceeded. If the slave SQL thread stops while\nMASTER_POS_WAIT() is waiting, the function returns NULL. If the slave\nis past the specified position, the function returns immediately.\n\nOn a multithreaded slave, the function waits until expiry of the limit\nset by the slave_checkpoint_group or slave_checkpoint_period system\nvariable, when the checkpoint operation is called to update the status\nof the slave. Depending on the setting for the system variables, the\nfunction might therefore return some time after the specified position\nwas reached.\n\nIf a timeout value is specified, MASTER_POS_WAIT() stops waiting when\ntimeout seconds have elapsed. timeout must be greater than 0; a zero or\nnegative timeout means no timeout.\n\nThe optional channel value enables you to name which replication\nchannel the function applies to. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (337,19,'^','Syntax:\n^\n\nBitwise XOR.\n\nThe result is an unsigned 64-bit integer.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 1 ^ 1;\n -> 0\nmysql> SELECT 1 ^ 0;\n -> 1\nmysql> SELECT 11 ^ 3;\n -> 8\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (338,40,'DROP VIEW','Syntax:\nDROP VIEW [IF EXISTS]\n view_name [, view_name] ...\n [RESTRICT | CASCADE]\n\nDROP VIEW removes one or more views. You must have the DROP privilege\nfor each view.\n\nIf any views named in the argument list do not exist, the statement\nreturns an error indicating by name which nonexisting views it was\nunable to drop, but also drops all views in the list that do exist.\n\n*Note*:\n\nIn MySQL 8.0, DROP VIEW fails if any views named in the argument list\ndo not exist. Due to the change in behavior, a partially completed DROP\nVIEW operation on a MySQL 5.7 master fails when replicated to a MySQL\n8.0 slave. To avoid this failure scenario, use IF EXISTS syntax in DROP\nVIEW statements to prevent an error from occurring for views that do\nnot exist. For more information, see Atomic Data Definition Statement\nSupport (http://dev.mysql.com/doc/refman/8.0/en/atomic-ddl.html).\n\nThe IF EXISTS clause prevents an error from occurring for views that\ndon\'t exist. When this clause is given, a NOTE is generated for each\nnonexistent view. See [HELP SHOW WARNINGS].\n\nRESTRICT and CASCADE, if given, are parsed and ignored.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-view.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-view.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (339,32,'WEEK','Syntax:\nWEEK(date[,mode])\n\nThis function returns the week number for date. The two-argument form\nof WEEK() enables you to specify whether the week starts on Sunday or\nMonday and whether the return value should be in the range from 0 to 53\nor from 1 to 53. If the mode argument is omitted, the value of the\ndefault_week_format system variable is used. See\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT WEEK(\'2008-02-20\');\n -> 7\nmysql> SELECT WEEK(\'2008-02-20\',0);\n -> 7\nmysql> SELECT WEEK(\'2008-02-20\',1);\n -> 8\nmysql> SELECT WEEK(\'2008-12-31\',1);\n -> 53\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (340,22,'DROP FUNCTION UDF','Syntax:\nDROP FUNCTION function_name\n\nThis statement drops the user-defined function (UDF) named\nfunction_name.\n\nTo drop a function, you must have the DELETE privilege for the mysql\ndatabase. This is because DROP FUNCTION removes a row from the\nmysql.func system table that records the function\'s name, type, and\nshared library name.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-function-udf.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-function-udf.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (341,7,'ST_VALIDATE','ST_Validate(g)\n\nValidates a geometry according to the OGC specification. A geometry can\nbe syntactically well-formed (WKB value plus SRID) but geometrically\ninvalid. For example, this polygon is geometrically invalid: POLYGON((0\n0, 0 0, 0 0, 0 0, 0 0))\n\nST_Validate() returns the geometry if it is syntactically well-formed\nand is geometrically valid, NULL if the argument is not syntactically\nwell-formed or is not geometrically valid or is NULL.\n\nST_Validate() can be used to filter out invalid geometry data, although\nat a cost. For applications that require more precise results not\ntainted by invalid data, this penalty may be worthwhile.\n\nIf the geometry argument is valid, it is returned as is, except that if\nan input Polygon or MultiPolygon has clockwise rings, those rings are\nreversed before checking for validity. If the geometry is valid, the\nvalue with the reversed rings is returned.\n\nThe only valid empty geometry is represented in the form of an empty\ngeometry collection value. ST_Validate() returns it directly without\nfurther checks in this case.\n\nST_Validate() works only for the Cartesian coordinate system and\nrequires a geometry argument with an SRID of 0. An ER_WRONG_ARGUMENTS\nerror occurs otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html\n\n','mysql> SET @ls1 = ST_GeomFromText(\'LINESTRING(0 0)\');\nmysql> SET @ls2 = ST_GeomFromText(\'LINESTRING(0 0, 1 1)\');\nmysql> SELECT ST_AsText(ST_Validate(@ls1));\n+------------------------------+\n| ST_AsText(ST_Validate(@ls1)) |\n+------------------------------+\n| NULL |\n+------------------------------+\nmysql> SELECT ST_AsText(ST_Validate(@ls2));\n+------------------------------+\n| ST_AsText(ST_Validate(@ls2)) |\n+------------------------------+\n| LINESTRING(0 0,1 1) |\n+------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (342,38,'UPDATEXML','Syntax:\nUpdateXML(xml_target, xpath_expr, new_xml)\n\nThis function replaces a single portion of a given fragment of XML\nmarkup xml_target with a new XML fragment new_xml, and then returns the\nchanged XML. The portion of xml_target that is replaced matches an\nXPath expression xpath_expr supplied by the user.\n\nIf no expression matching xpath_expr is found, or if multiple matches\nare found, the function returns the original xml_target XML fragment.\nAll three arguments should be strings.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/xml-functions.html\n\n','mysql> SELECT\n -> UpdateXML(\'ccc\', \'/a\', \'fff\') AS val1,\n -> UpdateXML(\'ccc\', \'/b\', \'fff\') AS val2,\n -> UpdateXML(\'ccc\', \'//b\', \'fff\') AS val3,\n -> UpdateXML(\'ccc\', \'/a/d\', \'fff\') AS val4,\n -> UpdateXML(\'ccc\', \'/a/d\', \'fff\') AS val5\n -> \\G\n\n*************************** 1. row ***************************\nval1: fff\nval2: ccc\nval3: fff\nval4: cccfff\nval5: ccc\n','http://dev.mysql.com/doc/refman/5.7/en/xml-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (343,8,'RESET SLAVE','Syntax:\nRESET SLAVE [ALL] [channel_option]\n\nchannel_option:\n FOR CHANNEL channel\n\nRESET SLAVE makes the slave forget its replication position in the\nmaster\'s binary log. This statement is meant to be used for a clean\nstart: It clears the master info and relay log info repositories,\ndeletes all the relay log files, and starts a new relay log file. It\nalso resets to 0 the replication delay specified with the MASTER_DELAY\noption to CHANGE MASTER TO. RESET SLAVE does not change the values of\ngtid_executed or gtid_purged. To use RESET SLAVE, the slave replication\nthreads must be stopped, so on a running slave use STOP SLAVE before\nissuing RESET SLAVE.\n\n*Note*:\n\nAll relay log files are deleted, even if they have not been completely\nexecuted by the slave SQL thread. (This is a condition likely to exist\non a replication slave if you have issued a STOP SLAVE statement or if\nthe slave is highly loaded.)\n\nThe optional FOR CHANNEL channel clause enables you to name which\nreplication channel the statement applies to. Providing a FOR CHANNEL\nchannel clause applies the RESET SLAVE statement to a specific\nreplication channel. Combining a FOR CHANNEL channel clause with the\nALL option deletes the specified channel. If no channel is named and no\nextra channels exist, the statement applies to the default channel.\nIssuing a RESET SLAVE ALL statement without a FOR CHANNEL channel\nclause when multiple replication channels exist deletes all replication\nchannels and recreates only the default channel. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information.\n\nRESET SLAVE does not change any replication connection parameters such\nas master host, master port, master user, or master password, which are\nretained in memory. This means that START SLAVE can be issued without\nrequiring a CHANGE MASTER TO statement following RESET SLAVE.\n\nConnection parameters are reset by RESET SLAVE ALL. (RESET SLAVE\nfollowed by a restart of the slave mysqld also does this.)\n\nRESET SLAVE causes an implicit commit of an ongoing transaction. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\nIf the slave SQL thread was in the middle of replicating temporary\ntables when it was stopped, and RESET SLAVE is issued, these replicated\ntemporary tables are deleted on the slave.\n\nPrior to MySQL 5.7.5, RESET SLAVE also had the effect of resetting both\nthe heartbeat period (Slave_heartbeat_period) and\nSSL_VERIFY_SERVER_CERT. This issue is fixed in MySQL 5.7.5 and later.\n(Bug #18777899, Bug #18778485)\n\nPrior to MySQL 5.7.5, RESET SLAVE ALL did not clear the\nIGNORE_SERVER_IDS list set by CHANGE MASTER TO. In MySQL 5.7.5 and\nlater, the statement clears the list. (Bug #18816897)\n\n*Note*:\n\nWhen used on an NDB Cluster replication slave SQL node, RESET SLAVE\nclears the mysql.ndb_apply_status table. You should keep in mind when\nusing this statement that ndb_apply_status uses the NDB storage engine\nand so is shared by all SQL nodes attached to the slave cluster.\n\nYou can override this behavior by issuing SET GLOBAL\n@@ndb_clear_apply_status=OFF prior to executing RESET SLAVE, which\nkeeps the slave from purging the ndb_apply_status table in such cases.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/reset-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/reset-slave.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (344,7,'ST_POINTFROMGEOHASH','ST_PointFromGeoHash(geohash_str, srid)\n\nReturns a POINT value containing the decoded geohash value, given a\ngeohash string value.\n\nThe X and Y coordinates of the point are the longitude in the range\n[−180, 180] and the latitude in the range [−90, 90], respectively.\n\nIf any argument is NULL, the return value is NULL. If any argument is\ninvalid, an error occurs.\n\nThe srid argument is an unsigned 32-bit integer.\n\nThe remarks in the description of ST_LatFromGeoHash() regarding the\nmaximum number of characters processed from the geohash_str argument\nalso apply to ST_PointFromGeoHash().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html\n\n','mysql> SET @gh = ST_GeoHash(45,-20,10);\nmysql> SELECT ST_AsText(ST_PointFromGeoHash(@gh,0));\n+---------------------------------------+\n| ST_AsText(ST_PointFromGeoHash(@gh,0)) |\n+---------------------------------------+\n| POINT(45 -20) |\n+---------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (345,32,'DAY','Syntax:\nDAY(date)\n\nDAY() is a synonym for DAYOFMONTH().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (346,14,'UUID','Syntax:\nUUID()\n\nReturns a Universal Unique Identifier (UUID) generated according to RFC\n4122, "A Universally Unique IDentifier (UUID) URN Namespace"\n(http://www.ietf.org/rfc/rfc4122.txt).\n\nA UUID is designed as a number that is globally unique in space and\ntime. Two calls to UUID() are expected to generate two different\nvalues, even if these calls are performed on two separate devices not\nconnected to each other.\n\n*Warning*:\n\nAlthough UUID() values are intended to be unique, they are not\nnecessarily unguessable or unpredictable. If unpredictability is\nrequired, UUID values should be generated some other way.\n\nUUID() returns a value that conforms to UUID version 1 as described in\nRFC 4122. The value is a 128-bit number represented as a utf8 string of\nfive hexadecimal numbers in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\nformat:\n\no The first three numbers are generated from the low, middle, and high\n parts of a timestamp. The high part also includes the UUID version\n number.\n\no The fourth number preserves temporal uniqueness in case the timestamp\n value loses monotonicity (for example, due to daylight saving time).\n\no The fifth number is an IEEE 802 node number that provides spatial\n uniqueness. A random number is substituted if the latter is not\n available (for example, because the host device has no Ethernet card,\n or it is unknown how to find the hardware address of an interface on\n the host operating system). In this case, spatial uniqueness cannot\n be guaranteed. Nevertheless, a collision should have very low\n probability.\n\n The MAC address of an interface is taken into account only on FreeBSD\n and Linux. On other operating systems, MySQL uses a randomly\n generated 48-bit number.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID();\n -> \'6ccd780c-baba-1026-9564-5b8c656024db\'\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (347,25,'LINESTRING','LineString(pt [, pt] ...)\n\nConstructs a LineString value from a number of Point or WKB Point\narguments. If the number of arguments is less than two, the return\nvalue is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (348,14,'SLEEP','Syntax:\nSLEEP(duration)\n\nSleeps (pauses) for the number of seconds given by the duration\nargument, then returns 0. The duration may have a fractional part. If\nthe argument is NULL or negative, SLEEP() produces a warning, or an\nerror in strict SQL mode.\n\nWhen sleep returns normally (without interruption), it returns 0:\n\nmysql> SELECT SLEEP(1000);\n+-------------+\n| SLEEP(1000) |\n+-------------+\n| 0 |\n+-------------+\n\nWhen SLEEP() is the only thing invoked by a query that is interrupted,\nit returns 1 and the query itself returns no error. This is true\nwhether the query is killed or times out:\n\no This statement is interrupted using KILL QUERY from another session:\n\nmysql> SELECT SLEEP(1000);\n+-------------+\n| SLEEP(1000) |\n+-------------+\n| 1 |\n+-------------+\n\no This statement is interrupted by timing out:\n\nmysql> SELECT /*+ MAX_EXECUTION_TIME(1) */ SLEEP(1000);\n+-------------+\n| SLEEP(1000) |\n+-------------+\n| 1 |\n+-------------+\n\nWhen SLEEP() is only part of a query that is interrupted, the query\nreturns an error:\n\no This statement is interrupted using KILL QUERY from another session:\n\nmysql> SELECT 1 FROM t1 WHERE SLEEP(1000);\nERROR 1317 (70100): Query execution was interrupted\n\no This statement is interrupted by timing out:\n\nmysql> SELECT /*+ MAX_EXECUTION_TIME(1000) */ 1 FROM t1 WHERE SLEEP(1000);\nERROR 3024 (HY000): Query execution was interrupted, maximum statement\nexecution time exceeded\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (349,40,'CREATE LOGFILE GROUP','Syntax:\nCREATE LOGFILE GROUP logfile_group\n ADD UNDOFILE \'undo_file\'\n [INITIAL_SIZE [=] initial_size]\n [UNDO_BUFFER_SIZE [=] undo_buffer_size]\n [REDO_BUFFER_SIZE [=] redo_buffer_size]\n [NODEGROUP [=] nodegroup_id]\n [WAIT]\n [COMMENT [=] \'string\']\n ENGINE [=] engine_name\n\nThis statement creates a new log file group named logfile_group having\na single UNDO file named \'undo_file\'. A CREATE LOGFILE GROUP statement\nhas one and only one ADD UNDOFILE clause. For rules covering the naming\nof log file groups, see\nhttp://dev.mysql.com/doc/refman/5.7/en/identifiers.html.\n\n*Note*:\n\nAll NDB Cluster Disk Data objects share the same namespace. This means\nthat each Disk Data object must be uniquely named (and not merely each\nDisk Data object of a given type). For example, you cannot have a\ntablespace and a log file group with the same name, or a tablespace and\na data file with the same name.\n\nThere can be only one log file group per NDB Cluster instance at any\ngiven time.\n\nThe optional INITIAL_SIZE parameter sets the UNDO file\'s initial size;\nif not specified, it defaults to 128M (128 megabytes). The optional\nUNDO_BUFFER_SIZE parameter sets the size used by the UNDO buffer for\nthe log file group; The default value for UNDO_BUFFER_SIZE is 8M (eight\nmegabytes); this value cannot exceed the amount of system memory\navailable. Both of these parameters are specified in bytes. You may\noptionally follow either or both of these with a one-letter\nabbreviation for an order of magnitude, similar to those used in\nmy.cnf. Generally, this is one of the letters M (for megabytes) or G\n(for gigabytes).\n\nMemory used for UNDO_BUFFER_SIZE comes from the global pool whose size\nis determined by the value of the SharedGlobalMemory data node\nconfiguration parameter. This includes any default value implied for\nthis option by the setting of the InitialLogFileGroup data node\nconfiguration parameter.\n\nThe maximum permitted for UNDO_BUFFER_SIZE is 629145600 (600 MB).\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nThe minimum allowed value for INITIAL_SIZE is 1048576 (1 MB).\n\nThe ENGINE option determines the storage engine to be used by this log\nfile group, with engine_name being the name of the storage engine. In\nMySQL 5.7, this must be NDB (or NDBCLUSTER). If ENGINE is not set,\nMySQL tries to use the engine specified by the default_storage_engine\nserver system variable (formerly storage_engine). In any case, if the\nengine is not specified as NDB or NDBCLUSTER, the CREATE LOGFILE GROUP\nstatement appears to succeed but actually fails to create the log file\ngroup, as shown here:\n\nmysql> CREATE LOGFILE GROUP lg1\n -> ADD UNDOFILE \'undo.dat\' INITIAL_SIZE = 10M;\nQuery OK, 0 rows affected, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS;\n+-------+------+------------------------------------------------------------------------------------------------+\n| Level | Code | Message |\n+-------+------+------------------------------------------------------------------------------------------------+\n| Error | 1478 | Table storage engine \'InnoDB\' does not support the create option \'TABLESPACE or LOGFILE GROUP\' |\n+-------+------+------------------------------------------------------------------------------------------------+\n1 row in set (0.00 sec)\n\nmysql> DROP LOGFILE GROUP lg1 ENGINE = NDB; \nERROR 1529 (HY000): Failed to drop LOGFILE GROUP\n\nmysql> CREATE LOGFILE GROUP lg1\n -> ADD UNDOFILE \'undo.dat\' INITIAL_SIZE = 10M\n -> ENGINE = NDB;\nQuery OK, 0 rows affected (2.97 sec)\n\nThe fact that the CREATE LOGFILE GROUP statement does not actually\nreturn an error when a non-NDB storage engine is named, but rather\nappears to succeed, is a known issue which we hope to address in a\nfuture release of NDB Cluster.\n\nREDO_BUFFER_SIZE, NODEGROUP, WAIT, and COMMENT are parsed but ignored,\nand so have no effect in MySQL 5.7. These options are intended for\nfuture expansion.\n\nWhen used with ENGINE [=] NDB, a log file group and associated UNDO log\nfile are created on each Cluster data node. You can verify that the\nUNDO files were created and obtain information about them by querying\nthe INFORMATION_SCHEMA.FILES table. For example:\n\nmysql> SELECT LOGFILE_GROUP_NAME, LOGFILE_GROUP_NUMBER, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE FILE_NAME = \'undo_10.dat\';\n+--------------------+----------------------+----------------+\n| LOGFILE_GROUP_NAME | LOGFILE_GROUP_NUMBER | EXTRA |\n+--------------------+----------------------+----------------+\n| lg_3 | 11 | CLUSTER_NODE=3 |\n| lg_3 | 11 | CLUSTER_NODE=4 |\n+--------------------+----------------------+----------------+\n2 rows in set (0.06 sec)\n\nCREATE LOGFILE GROUP is useful only with Disk Data storage for NDB\nCluster. See\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-logfile-group.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (350,6,'NULLIF','Syntax:\nNULLIF(expr1,expr2)\n\nReturns NULL if expr1 = expr2 is true, otherwise returns expr1. This is\nthe same as CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.\n\nThe return value has the same type as the first argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html\n\n','mysql> SELECT NULLIF(1,1);\n -> NULL\nmysql> SELECT NULLIF(1,2);\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (351,3,'ROUND','Syntax:\nROUND(X), ROUND(X,D)\n\nRounds the argument X to D decimal places. The rounding algorithm\ndepends on the data type of X. D defaults to 0 if not specified. D can\nbe negative to cause D digits left of the decimal point of the value X\nto become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ROUND(-1.23);\n -> -1\nmysql> SELECT ROUND(-1.58);\n -> -2\nmysql> SELECT ROUND(1.58);\n -> 2\nmysql> SELECT ROUND(1.298, 1);\n -> 1.3\nmysql> SELECT ROUND(1.298, 0);\n -> 1\nmysql> SELECT ROUND(23.298, -1);\n -> 20\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (352,8,'STOP SLAVE','Syntax:\nSTOP SLAVE [thread_types]\n\nthread_types:\n [thread_type [, thread_type] ... ]\n\nthread_type: IO_THREAD | SQL_THREAD\n\nchannel_option:\n FOR CHANNEL channel\n\nStops the slave threads. STOP SLAVE requires the SUPER privilege.\nRecommended best practice is to execute STOP SLAVE on the slave before\nstopping the slave server (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-shutdown.html, for more\ninformation).\n\nWhen using the row-based logging format: You should execute STOP SLAVE\nor STOP SLAVE SQL_THREAD on the slave prior to shutting down the slave\nserver if you are replicating any tables that use a nontransactional\nstorage engine (see the Note later in this section).\n\nLike START SLAVE, this statement may be used with the IO_THREAD and\nSQL_THREAD options to name the thread or threads to be stopped.\n\nSTOP SLAVE causes an implicit commit of an ongoing transaction. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\nFrom MySQL 5.7, gtid_next must be set to AUTOMATIC before issuing this\nstatement (Bug #16062608).\n\nFrom MySQL 5.7, you can control how long STOP SLAVE waits before timing\nout by setting the rpl_stop_slave_timeout system variable. This can be\nused to avoid deadlocks between STOP SLAVE and other slave SQL\nstatements using different client connections to the slave. When the\ntimeout value is reached, the issuing client returns an error message\nand stops waiting, but the STOP SLAVE instruction remains in effect.\nOnce the slave threads are no longer busy, the STOP SLAVE statement is\nexecuted and the slave stops. (Bug #16856735)\n\nSome CHANGE MASTER TO statements are allowed while the slave is\nrunning, depending on the states of the slave SQL and I/O threads.\nHowever, using STOP SLAVE prior to executing CHANGE MASTER TO in such\ncases is still supported. See [HELP CHANGE MASTER TO], and\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-solutions-switch.htm\nl, for more information.\n\nThe optional FOR CHANNEL channel clause enables you to name which\nreplication channel the statement applies to. Providing a FOR CHANNEL\nchannel clause applies the STOP SLAVE statement to a specific\nreplication channel. If no channel is named and no extra channels\nexist, the statement applies to the default channel. If a STOP SLAVE\nstatement does not name a channel when using multiple channels, this\nstatement stops the specified threads for all channels. This statement\ncannot be used with the group_replication_recovery channel. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information.\n\nWhen using statement-based replication: changing the master while it\nhas open temporary tables is potentially unsafe. This is one of the\nreasons why statement-based replication of temporary tables is not\nrecommended. You can find out whether there are any temporary tables on\nthe slave by checking the value of Slave_open_temp_tables; when using\nstatement-based replication, this value should be 0 before executing\nCHANGE MASTER TO. If there are any temporary tables open on the slave,\nissuing a CHANGE MASTER TO statement after issuing a STOP SLAVE causes\nan ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO warning.\n\nWhen using a multithreaded slave (slave_parallel_workers is a nonzero\nvalue), any gaps in the sequence of transactions executed from the\nrelay log are closed as part of stopping the worker threads. If the\nslave is stopped unexpectedly (for example due to an error in a worker\nthread, or another thread issuing KILL) while a STOP SLAVE statement is\nexecuting, the sequence of executed transactions from the relay log may\nbecome inconsistent. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-features-transaction\n-inconsistencies.html, for more information.\n\nIf the current replication event group has modified one or more\nnontransactional tables, STOP SLAVE waits for up to 60 seconds for the\nevent group to complete, unless you issue a KILL QUERY or KILL\nCONNECTION statement for the slave SQL thread. If the event group\nremains incomplete after the timeout, an error message is logged.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/stop-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/stop-slave.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (353,32,'TIMEDIFF','Syntax:\nTIMEDIFF(expr1,expr2)\n\nTIMEDIFF() returns expr1 − expr2 expressed as a time value. expr1 and\nexpr2 are time or date-and-time expressions, but both must be of the\nsame type.\n\nThe result returned by TIMEDIFF() is limited to the range allowed for\nTIME values. Alternatively, you can use either of the functions\nTIMESTAMPDIFF() and UNIX_TIMESTAMP(), both of which return integers.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIMEDIFF(\'2000:01:01 00:00:00\',\n -> \'2000:01:01 00:00:00.000001\');\n -> \'-00:00:00.000001\'\nmysql> SELECT TIMEDIFF(\'2008-12-31 23:59:59.000001\',\n -> \'2008-12-30 01:01:01.000002\');\n -> \'46:58:57.999999\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (354,4,'LINEFROMTEXT','LineFromText(wkt[, srid]), LineStringFromText(wkt[, srid])\n\nST_LineFromText(), ST_LineStringFromText(), LineFromText(), and\nLineStringFromText() are synonyms. For more information, see the\ndescription of ST_LineFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (355,32,'ADDTIME','Syntax:\nADDTIME(expr1,expr2)\n\nADDTIME() adds expr2 to expr1 and returns the result. expr1 is a time\nor datetime expression, and expr2 is a time expression.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT ADDTIME(\'2007-12-31 23:59:59.999999\', \'1 1:1:1.000002\');\n -> \'2008-01-02 01:01:01.000001\'\nmysql> SELECT ADDTIME(\'01:00:00.999999\', \'02:00:00.999998\');\n -> \'03:00:01.999997\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (356,38,'UPPER','Syntax:\nUPPER(str)\n\nReturns the string str with all characters changed to uppercase\naccording to the current character set mapping. The default is latin1\n(cp1252 West European).\n\nmysql> SELECT UPPER(\'Hej\');\n -> \'HEJ\'\n\nSee the description of LOWER() for information that also applies to\nUPPER(). This included information about how to perform lettercase\nconversion of binary strings (BINARY, VARBINARY, BLOB) for which these\nfunctions are ineffective, and information about case folding for\nUnicode character sets.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (357,23,'MEDIUMBLOB','MEDIUMBLOB\n\nA BLOB column with a maximum length of 16,777,215 (224 − 1) bytes.\nEach MEDIUMBLOB value is stored using a 3-byte length prefix that\nindicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (358,32,'FROM_UNIXTIME','Syntax:\nFROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)\n\nReturns a representation of the unix_timestamp argument as a value in\n\'YYYY-MM-DD HH:MM:SS\' or YYYYMMDDHHMMSS format, depending on whether\nthe function is used in a string or numeric context. The value is\nexpressed in the current time zone. unix_timestamp is an internal\ntimestamp value such as is produced by the UNIX_TIMESTAMP() function.\n\nIf format is given, the result is formatted according to the format\nstring, which is used the same way as listed in the entry for the\nDATE_FORMAT() function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT FROM_UNIXTIME(1447430881);\n -> \'2015-11-13 10:08:01\'\nmysql> SELECT FROM_UNIXTIME(1447430881) + 0;\n -> 20151113100801\nmysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),\n -> \'%Y %D %M %h:%i:%s %x\');\n -> \'2015 13th November 10:08:01 2015\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (359,12,'SHA2','Syntax:\nSHA2(str, hash_length)\n\nCalculates the SHA-2 family of hash functions (SHA-224, SHA-256,\nSHA-384, and SHA-512). The first argument is the cleartext string to be\nhashed. The second argument indicates the desired bit length of the\nresult, which must have a value of 224, 256, 384, 512, or 0 (which is\nequivalent to 256). If either argument is NULL or the hash length is\nnot one of the permitted values, the return value is NULL. Otherwise,\nthe function result is a hash value containing the desired number of\nbits. See the notes at the beginning of this section about storing hash\nvalues efficiently.\n\nThe return value is a string in the connection character set.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT SHA2(\'abc\', 224);\n -> \'23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7\'\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (360,6,'IFNULL','Syntax:\nIFNULL(expr1,expr2)\n\nIf expr1 is not NULL, IFNULL() returns expr1; otherwise it returns\nexpr2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html\n\n','mysql> SELECT IFNULL(1,0);\n -> 1\nmysql> SELECT IFNULL(NULL,10);\n -> 10\nmysql> SELECT IFNULL(1/0,10);\n -> 10\nmysql> SELECT IFNULL(1/0,\'yes\');\n -> \'yes\'\n','http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (361,27,'SHOW FUNCTION CODE','Syntax:\nSHOW FUNCTION CODE func_name\n\nThis statement is similar to SHOW PROCEDURE CODE but for stored\nfunctions. See [HELP SHOW PROCEDURE CODE].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-function-code.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-function-code.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (362,27,'SHOW ERRORS','Syntax:\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW COUNT(*) ERRORS\n\nSHOW ERRORS is a diagnostic statement that is similar to SHOW WARNINGS,\nexcept that it displays information only for errors, rather than for\nerrors, warnings, and notes.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.7/en/select.html.\n\nThe SHOW COUNT(*) ERRORS statement displays the number of errors. You\ncan also retrieve this number from the error_count variable:\n\nSHOW COUNT(*) ERRORS;\nSELECT @@error_count;\n\nSHOW ERRORS and error_count apply only to errors, not warnings or\nnotes. In other respects, they are similar to SHOW WARNINGS and\nwarning_count. In particular, SHOW ERRORS cannot display information\nfor more than max_error_count messages, and error_count can exceed the\nvalue of max_error_count if the number of errors exceeds\nmax_error_count.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-errors.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-errors.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (363,27,'SET NAMES','Syntax:\nSET NAMES {\'charset_name\'\n [COLLATE \'collation_name\'] | DEFAULT}\n\nThis statement sets the three session system variables\ncharacter_set_client, character_set_connection, and\ncharacter_set_results to the given character set. Setting\ncharacter_set_connection to charset_name also sets collation_connection\nto the default collation for charset_name. See\nhttp://dev.mysql.com/doc/refman/5.7/en/charset-connection.html.\n\nThe optional COLLATE clause may be used to specify a collation\nexplicitly. If given, the collation must one of the permitted\ncollations for charset_name.\n\ncharset_name and collation_name may be quoted or unquoted.\n\nThe default mapping can be restored by using a value of DEFAULT. The\ndefault depends on the server configuration.\n\nucs2, utf16, and utf32 cannot be used as a client character set, which\nmeans that they do not work for SET NAMES.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-names.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-names.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (364,20,'LEAST','Syntax:\nLEAST(value1,value2,...)\n\nWith two or more arguments, returns the smallest (minimum-valued)\nargument. The arguments are compared using the following rules:\n\no If any argument is NULL, the result is NULL. No comparison is needed.\n\no If all arguments are integer-valued, they are compared as integers.\n\no If at least one argument is double precision, they are compared as\n double-precision values. Otherwise, if at least one argument is a\n DECIMAL value, they are compared as DECIMAL values.\n\no If the arguments comprise a mix of numbers and strings, they are\n compared as numbers.\n\no If any argument is a nonbinary (character) string, the arguments are\n compared as nonbinary strings.\n\no In all other cases, the arguments are compared as binary strings.\n\nThe return type of LEAST() is the aggregated type of the comparison\nargument types.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT LEAST(2,0);\n -> 0\nmysql> SELECT LEAST(34.0,3.0,5.0,767.0);\n -> 3.0\nmysql> SELECT LEAST(\'B\',\'A\',\'C\');\n -> \'A\'\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (365,20,'=','=\n\nEqual:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 1 = 0;\n -> 0\nmysql> SELECT \'0\' = 0;\n -> 1\nmysql> SELECT \'0.0\' = 0;\n -> 1\nmysql> SELECT \'0.01\' = 0;\n -> 0\nmysql> SELECT \'.01\' = 0.01;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (366,4,'ST_GEOMCOLLFROMTEXT','ST_GeomCollFromText(wkt[, srid]), ST_GeometryCollectionFromText(wkt[,\nsrid]), ST_GeomCollFromTxt(wkt[, srid])\n\nConstructs a GeometryCollection value using its WKT representation and\nSRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','mysql> SET @g = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))";\nmysql> SELECT ST_AsText(ST_GeomCollFromText(@g));\n+--------------------------------------------+\n| ST_AsText(ST_GeomCollFromText(@g)) |\n+--------------------------------------------+\n| MULTILINESTRING((10 10,11 11),(9 9,10 10)) |\n+--------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (367,14,'IS_IPV4_MAPPED','Syntax:\nIS_IPV4_MAPPED(expr)\n\nThis function takes an IPv6 address represented in numeric form as a\nbinary string, as returned by INET6_ATON(). It returns 1 if the\nargument is a valid IPv4-mapped IPv6 address, 0 otherwise. IPv4-mapped\naddresses have the form ::ffff:ipv4_address.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT IS_IPV4_MAPPED(INET6_ATON(\'::10.0.5.9\'));\n -> 0\nmysql> SELECT IS_IPV4_MAPPED(INET6_ATON(\'::ffff:10.0.5.9\'));\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (368,10,'CREATE USER','Syntax:\nCREATE USER [IF NOT EXISTS]\n user [auth_option] [, user [auth_option]] ...\n [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]\n [WITH resource_option [resource_option] ...]\n [password_option | lock_option] ...\n\nuser:\n (see )\n\nauth_option: {\n IDENTIFIED BY \'auth_string\'\n | IDENTIFIED WITH auth_plugin\n | IDENTIFIED WITH auth_plugin BY \'auth_string\'\n | IDENTIFIED WITH auth_plugin AS \'hash_string\'\n | IDENTIFIED BY PASSWORD \'hash_string\'\n}\n\ntls_option: {\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n}\n\nresource_option: {\n MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n}\n\npassword_option: {\n PASSWORD EXPIRE\n | PASSWORD EXPIRE DEFAULT\n | PASSWORD EXPIRE NEVER\n | PASSWORD EXPIRE INTERVAL N DAY\n}\n\nlock_option: {\n ACCOUNT LOCK\n | ACCOUNT UNLOCK\n}\n\nThe CREATE USER statement creates new MySQL accounts. It enables\nauthentication, SSL/TLS, resource-limit, and password-management\nproperties to be established for new accounts, and controls whether\naccounts are initially locked or unlocked.\n\nTo use CREATE USER, you must have the global CREATE USER privilege, or\nthe INSERT privilege for the mysql database. When the read_only system\nvariable is enabled, CREATE USER additionally requires the SUPER\nprivilege.\n\nAn error occurs if you try to create an account that already exists. If\nthe IF NOT EXISTS clause is given, the statement produces a warning for\neach named account that already exists, rather than an error.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-user.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (369,25,'POINT','Point(x, y)\n\nConstructs a Point using its coordinates.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (370,38,'LCASE','Syntax:\nLCASE(str)\n\nLCASE() is a synonym for LOWER().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (371,7,'CREATE_DH_PARAMETERS','CREATE_DH_PARAMETERS(key_len)\n\nCreates a shared secret for generating a DH private/public key pair and\nreturns a binary string that can be passed to\nCREATE_ASYMMETRIC_PRIV_KEY(). If secret generation fails, the result is\nnull.\n\nSupported key_len values: The minimum and maximum key lengths in bits\nare 1,024 and 10,000. These key-length limits are constraints imposed\nby OpenSSL. Server administrators can impose additional limits on\nmaximum key length by setting environment variables. See\nhttp://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-usage.html\n.\n\nFor an example showing how to use the return value for generating\nsymmetric keys, see the description of ASYMMETRIC_DERIVE().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','SET @dhp = CREATE_DH_PARAMETERS(1024);\n','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (372,20,'IS NOT NULL','Syntax:\nIS NOT NULL\n\nTests whether a value is not NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;\n -> 1, 1, 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (373,38,'MATCH AGAINST','Syntax:\nMATCH (col1,col2,...) AGAINST (expr [search_modifier])\n\nMySQL has support for full-text indexing and searching:\n\no A full-text index in MySQL is an index of type FULLTEXT.\n\no Full-text indexes can be used only with InnoDB or MyISAM tables, and\n can be created only for CHAR, VARCHAR, or TEXT columns.\n\no As of MySQL 5.7.6, MySQL provides a built-in full-text ngram parser\n that supports Chinese, Japanese, and Korean (CJK), and an installable\n MeCab full-text parser plugin for Japanese. Parsing differences are\n outlined in\n http://dev.mysql.com/doc/refman/5.7/en/fulltext-search-ngram.html,\n and\n http://dev.mysql.com/doc/refman/5.7/en/fulltext-search-mecab.html.\n\no A FULLTEXT index definition can be given in the CREATE TABLE\n statement when a table is created, or added later using ALTER TABLE\n or CREATE INDEX.\n\no For large data sets, it is much faster to load your data into a table\n that has no FULLTEXT index and then create the index after that, than\n to load data into a table that has an existing FULLTEXT index.\n\nFull-text searching is performed using MATCH() ... AGAINST syntax.\nMATCH() takes a comma-separated list that names the columns to be\nsearched. AGAINST takes a string to search for, and an optional\nmodifier that indicates what type of search to perform. The search\nstring must be a string value that is constant during query evaluation.\nThis rules out, for example, a table column because that can differ for\neach row.\n\nThere are three types of full-text searches:\n\no A natural language search interprets the search string as a phrase in\n natural human language (a phrase in free text). There are no special\n operators, with the exception of double quote (") characters. The\n stopword list applies. For more information about stopword lists, see\n http://dev.mysql.com/doc/refman/5.7/en/fulltext-stopwords.html.\n\n Full-text searches are natural language searches if the IN NATURAL\n LANGUAGE MODE modifier is given or if no modifier is given. For more\n information, see\n http://dev.mysql.com/doc/refman/5.7/en/fulltext-natural-language.html\n .\n\no A boolean search interprets the search string using the rules of a\n special query language. The string contains the words to search for.\n It can also contain operators that specify requirements such that a\n word must be present or absent in matching rows, or that it should be\n weighted higher or lower than usual. Certain common words (stopwords)\n are omitted from the search index and do not match if present in the\n search string. The IN BOOLEAN MODE modifier specifies a boolean\n search. For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html.\n\no A query expansion search is a modification of a natural language\n search. The search string is used to perform a natural language\n search. Then words from the most relevant rows returned by the search\n are added to the search string and the search is done again. The\n query returns the rows from the second search. The IN NATURAL\n LANGUAGE MODE WITH QUERY EXPANSION or WITH QUERY EXPANSION modifier\n specifies a query expansion search. For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/fulltext-query-expansion.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html\n\n','mysql> SELECT id, body, MATCH (title,body) AGAINST\n (\'Security implications of running MySQL as root\'\n IN NATURAL LANGUAGE MODE) AS score\n FROM articles WHERE MATCH (title,body) AGAINST\n (\'Security implications of running MySQL as root\'\n IN NATURAL LANGUAGE MODE);\n+----+-------------------------------------+-----------------+\n| id | body | score |\n+----+-------------------------------------+-----------------+\n| 4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |\n| 6 | When configured properly, MySQL ... | 1.3114095926285 |\n+----+-------------------------------------+-----------------+\n2 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (374,40,'CREATE EVENT','Syntax:\nCREATE\n [DEFINER = { user | CURRENT_USER }]\n EVENT\n [IF NOT EXISTS]\n event_name\n ON SCHEDULE schedule\n [ON COMPLETION [NOT] PRESERVE]\n [ENABLE | DISABLE | DISABLE ON SLAVE]\n [COMMENT \'string\']\n DO event_body;\n\nschedule:\n AT timestamp [+ INTERVAL interval] ...\n | EVERY interval\n [STARTS timestamp [+ INTERVAL interval] ...]\n [ENDS timestamp [+ INTERVAL interval] ...]\n\ninterval:\n quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |\n WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |\n DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}\n\nThis statement creates and schedules a new event. The event will not\nrun unless the Event Scheduler is enabled. For information about\nchecking Event Scheduler status and enabling it if necessary, see\nhttp://dev.mysql.com/doc/refman/5.7/en/events-configuration.html.\n\nCREATE EVENT requires the EVENT privilege for the schema in which the\nevent is to be created. It might also require the SUPER privilege,\ndepending on the DEFINER value, as described later in this section.\n\nThe minimum requirements for a valid CREATE EVENT statement are as\nfollows:\n\no The keywords CREATE EVENT plus an event name, which uniquely\n identifies the event in a database schema.\n\no An ON SCHEDULE clause, which determines when and how often the event\n executes.\n\no A DO clause, which contains the SQL statement to be executed by an\n event.\n\nThis is an example of a minimal CREATE EVENT statement:\n\nCREATE EVENT myevent\n ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR\n DO\n UPDATE myschema.mytable SET mycol = mycol + 1;\n\nThe previous statement creates an event named myevent. This event\nexecutes once---one hour following its creation---by running an SQL\nstatement that increments the value of the myschema.mytable table\'s\nmycol column by 1.\n\nThe event_name must be a valid MySQL identifier with a maximum length\nof 64 characters. Event names are not case-sensitive, so you cannot\nhave two events named myevent and MyEvent in the same schema. In\ngeneral, the rules governing event names are the same as those for\nnames of stored routines. See\nhttp://dev.mysql.com/doc/refman/5.7/en/identifiers.html.\n\nAn event is associated with a schema. If no schema is indicated as part\nof event_name, the default (current) schema is assumed. To create an\nevent in a specific schema, qualify the event name with a schema using\nschema_name.event_name syntax.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-event.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-event.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (375,7,'MBR DEFINITION','Its MBR (minimum bounding rectangle), or envelope. This is the bounding\ngeometry, formed by the minimum and maximum (X,Y) coordinates:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-class-geometry.html\n\n','((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))\n','http://dev.mysql.com/doc/refman/5.7/en/gis-class-geometry.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (376,26,'ST_DIFFERENCE','ST_Difference(g1, g2)\n\nReturns a geometry that represents the point set difference of the\ngeometry values g1 and g2. If any argument is NULL, the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','mysql> SET @g1 = Point(1,1), @g2 = Point(2,2);\nmysql> SELECT ST_AsText(ST_Difference(@g1, @g2));\n+------------------------------------+\n| ST_AsText(ST_Difference(@g1, @g2)) |\n+------------------------------------+\n| POINT(1 1) |\n+------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (377,25,'GEOMETRYCOLLECTION','GeometryCollection(g [, g] ...)\n\nConstructs a GeometryCollection value from the geometry arguments.\n\nGeometryCollection() returns all the proper geometries contained in the\narguments even if a nonsupported geometry is present.\n\nGeometryCollection() with no arguments is permitted as a way to create\nan empty geometry.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (378,3,'*','Syntax:\n*\n\nMultiplication:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT 3*5;\n -> 15\nmysql> SELECT 18014398509481984*18014398509481984.0;\n -> 324518553658426726783156020576256.0\nmysql> SELECT 18014398509481984*18014398509481984;\n -> out-of-range error\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (379,33,'ST_ASBINARY','ST_AsBinary(g), ST_AsWKB(g)\n\nConverts a value in internal geometry format to its WKB representation\nand returns the binary result.\n\nIf the argument is NULL, the return value is NULL. If the argument is\nnot a syntactically well-formed geometry, an ER_GIS_INVALID_DATA error\noccurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html\n\n','SELECT ST_AsBinary(g) FROM geom;\n','http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (380,38,'TO_BASE64','Syntax:\nTO_BASE64(str)\n\nConverts the string argument to base-64 encoded form and returns the\nresult as a character string with the connection character set and\ncollation. If the argument is not a string, it is converted to a string\nbefore conversion takes place. The result is NULL if the argument is\nNULL. Base-64 encoded strings can be decoded using the FROM_BASE64()\nfunction.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT TO_BASE64(\'abc\'), FROM_BASE64(TO_BASE64(\'abc\'));\n -> \'JWJj\', \'abc\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (381,12,'DES_DECRYPT','Syntax:\nDES_DECRYPT(crypt_str[,key_str])\n\nDecrypts a string encrypted with DES_ENCRYPT(). If an error occurs,\nthis function returns NULL.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html.\n\nIf no key_str argument is given, DES_DECRYPT() examines the first byte\nof the encrypted string to determine the DES key number that was used\nto encrypt the original string, and then reads the key from the DES key\nfile to decrypt the message. For this to work, the user must have the\nSUPER privilege. The key file can be specified with the --des-key-file\nserver option.\n\nIf you pass this function a key_str argument, that string is used as\nthe key for decrypting the message.\n\nIf the crypt_str argument does not appear to be an encrypted string,\nMySQL returns the given crypt_str.\n\n*Note*:\n\nThe DES_ENCRYPT() and DES_DECRYPT() functions are deprecated as of\nMySQL 5.7.6, will be removed in a future MySQL release, and should no\nlonger be used. Consider using AES_ENCRYPT() and AES_DECRYPT() instead.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (382,2,'ST_AREA','ST_Area(poly)\n\nReturns a double-precision number indicating the area of the argument,\nas measured in its spatial reference system. For arguments of dimension\n0 or 1, the result is 0. If the argument is an empty geometry the\nreturn value is 0. If the argument is NULL the return value is NULL.\n\nThe result is the sum of the area values of all components for a\ngeometry collection. If a geometry collection is empty, its area is\nreturned as 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n \'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))\';\nmysql> SELECT ST_Area(ST_GeomFromText(@poly));\n+---------------------------------+\n| ST_Area(ST_GeomFromText(@poly)) |\n+---------------------------------+\n| 4 |\n+---------------------------------+\n\nmysql> SET @mpoly =\n -> \'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))\';\nmysql> SELECT ST_Area(ST_GeomFromText(@mpoly));\n+----------------------------------+\n| ST_Area(ST_GeomFromText(@mpoly)) |\n+----------------------------------+\n| 8 |\n+----------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (383,13,'ENDPOINT','EndPoint(ls)\n\nST_EndPoint() and EndPoint() are synonyms. For more information, see\nthe description of ST_EndPoint().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (384,28,'INSERT','Syntax:\nINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [(col_name [, col_name] ...)]\n {VALUES | VALUE} (value_list) [, (value_list)] ...\n [ON DUPLICATE KEY UPDATE assignment_list]\n\nINSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n SET assignment_list\n [ON DUPLICATE KEY UPDATE assignment_list]\n\nINSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]\n [INTO] tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [(col_name [, col_name] ...)]\n SELECT ...\n [ON DUPLICATE KEY UPDATE assignment_list]\n\nvalue:\n {expr | DEFAULT}\n\nvalue_list:\n value [, value] ...\n\nassignment:\n col_name = value\n\nassignment_list:\n assignment [, assignment] ...\n\nINSERT inserts new rows into an existing table. The INSERT ... VALUES\nand INSERT ... SET forms of the statement insert rows based on\nexplicitly specified values. The INSERT ... SELECT form inserts rows\nselected from another table or tables. INSERT with an ON DUPLICATE KEY\nUPDATE clause enables existing rows to be updated if a row to be\ninserted would cause a duplicate value in a UNIQUE index or PRIMARY\nKEY.\n\nFor additional information about INSERT ... SELECT and INSERT ... ON\nDUPLICATE KEY UPDATE, see [HELP INSERT SELECT], and\nhttp://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html.\n\nIn MySQL 5.7, the DELAYED keyword is accepted but ignored by the\nserver. For the reasons for this, see [HELP INSERT DELAYED],\n\nInserting into a table requires the INSERT privilege for the table. If\nthe ON DUPLICATE KEY UPDATE clause is used and a duplicate key causes\nan UPDATE to be performed instead, the statement requires the UPDATE\nprivilege for the columns to be updated. For columns that are read but\nnot modified you need only the SELECT privilege (such as for a column\nreferenced only on the right hand side of an col_name=expr assignment\nin an ON DUPLICATE KEY UPDATE clause).\n\nWhen inserting into a partitioned table, you can control which\npartitions and subpartitions accept new rows. The PARTITION option\ntakes a list of the comma-separated names of one or more partitions or\nsubpartitions (or both) of the table. If any of the rows to be inserted\nby a given INSERT statement do not match one of the partitions listed,\nthe INSERT statement fails with the error Found a row not matching the\ngiven partition set. For more information and examples, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/insert.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/insert.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (385,16,'COUNT','Syntax:\nCOUNT(expr)\n\nReturns a count of the number of non-NULL values of expr in the rows\nretrieved by a SELECT statement. The result is a BIGINT value.\n\nIf there are no matching rows, COUNT() returns 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student.student_name,COUNT(*)\n FROM student,course\n WHERE student.student_id=course.student_id\n GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (386,7,'JSON_ARRAY_APPEND','Syntax:\nJSON_ARRAY_APPEND(json_doc, path, val[, path, val] ...)\n\nAppends values to the end of the indicated arrays within a JSON\ndocument and returns the result. Returns NULL if any argument is NULL.\nAn error occurs if the json_doc argument is not a valid JSON document\nor any path argument is not a valid path expression or contains a * or\n** wildcard.\n\nThe path-value pairs are evaluated left to right. The document produced\nby evaluating one pair becomes the new value against which the next\npair is evaluated.\n\nIf a path selects a scalar or object value, that value is autowrapped\nwithin an array and the new value is added to that array. Pairs for\nwhich the path does not identify any value in the JSON document are\nignored.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'["a", ["b", "c"], "d"]\';\nmysql> SELECT JSON_ARRAY_APPEND(@j, \'$[1]\', 1);\n+----------------------------------+\n| JSON_ARRAY_APPEND(@j, \'$[1]\', 1) |\n+----------------------------------+\n| ["a", ["b", "c", 1], "d"] |\n+----------------------------------+\nmysql> SELECT JSON_ARRAY_APPEND(@j, \'$[0]\', 2);\n+----------------------------------+\n| JSON_ARRAY_APPEND(@j, \'$[0]\', 2) |\n+----------------------------------+\n| [["a", 2], ["b", "c"], "d"] |\n+----------------------------------+\nmysql> SELECT JSON_ARRAY_APPEND(@j, \'$[1][0]\', 3);\n+-------------------------------------+\n| JSON_ARRAY_APPEND(@j, \'$[1][0]\', 3) |\n+-------------------------------------+\n| ["a", [["b", 3], "c"], "d"] |\n+-------------------------------------+\n\nmysql> SET @j = \'{"a": 1, "b": [2, 3], "c": 4}\';\nmysql> SELECT JSON_ARRAY_APPEND(@j, \'$.b\', \'x\');\n+------------------------------------+\n| JSON_ARRAY_APPEND(@j, \'$.b\', \'x\') |\n+------------------------------------+\n| {"a": 1, "b": [2, 3, "x"], "c": 4} |\n+------------------------------------+\nmysql> SELECT JSON_ARRAY_APPEND(@j, \'$.c\', \'y\');\n+--------------------------------------+\n| JSON_ARRAY_APPEND(@j, \'$.c\', \'y\') |\n+--------------------------------------+\n| {"a": 1, "b": [2, 3], "c": [4, "y"]} |\n+--------------------------------------+\n\nmysql> SET @j = \'{"a": 1}\';\nmysql> SELECT JSON_ARRAY_APPEND(@j, \'$\', \'z\');\n+---------------------------------+\n| JSON_ARRAY_APPEND(@j, \'$\', \'z\') |\n+---------------------------------+\n| [{"a": 1}, "z"] |\n+---------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (387,4,'MLINEFROMTEXT','MLineFromText(wkt[, srid]), MultiLineStringFromText(wkt[, srid])\n\nST_MLineFromText(), ST_MultiLineStringFromText(), MLineFromText(), and\nMultiLineStringFromText() are synonyms. For more information, see the\ndescription of ST_MLineFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (388,33,'GEOMCOLLFROMWKB','GeomCollFromWKB(wkb[, srid]), GeometryCollectionFromWKB(wkb[, srid])\n\nST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB(),\nGeomCollFromWKB(), and GeometryCollectionFromWKB() are synonyms. For\nmore information, see the description of ST_GeomCollFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (389,23,'TINYTEXT','TINYTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 255 (28 − 1) characters. The\neffective maximum length is less if the value contains multibyte\ncharacters. Each TINYTEXT value is stored using a 1-byte length prefix\nthat indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (390,7,'JSON_MERGE_PATCH()','Syntax:\nJSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...)\n\nPerforms an RFC 7396 (https://tools.ietf.org/html/rfc7396) compliant\nmerge of two or more JSON documents and returns the merged result,\nwithout preserving members having duplicate keys. Raises an error if at\nleast one of the documents passed as arguments to this function is not\nvalid.\n\n*Note*:\n\nFor an explanation and example of the differences between this function\nand JSON_MERGE_PRESERVE(), see\nhttp://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n#json-merge-patch-json-merge-preserve-compared.\n\nJSON_MERGE_PATCH() performs a merge as follows:\n\n1. If the first argument is not an object, the result of the merge is\n the same as if an empty object had been merged with the second\n argument.\n\n2. If the second argument is not an object, the result of the merge is\n the second argument.\n\n3. If both arguments are objects, the result of the merge is an object\n with the following members:\n\n o All members of the first object which do not have a corresponding\n member with the same key in the second object.\n\n o All members of the second object which do not have a corresponding\n key in the first object, and whose value is not the JSON null\n literal.\n\n o All members with a key that exists in both the first and the second\n object, and whose value in the second object is not the JSON null\n literal. The values of these members are the results of recursively\n merging the value in the first object with the value in the second\n object.\n\nFor additional information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/json.html#json-normalization.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SELECT JSON_MERGE_PATCH(\'[1, 2]\', \'[true, false]\');\n+---------------------------------------------+\n| JSON_MERGE_PATCH(\'[1, 2]\', \'[true, false]\') |\n+---------------------------------------------+\n| [true, false] |\n+---------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'{"name": "x"}\', \'{"id": 47}\');\n+-------------------------------------------------+\n| JSON_MERGE_PATCH(\'{"name": "x"}\', \'{"id": 47}\') |\n+-------------------------------------------------+\n| {"id": 47, "name": "x"} |\n+-------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'1\', \'true\');\n+-------------------------------+\n| JSON_MERGE_PATCH(\'1\', \'true\') |\n+-------------------------------+\n| true |\n+-------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'[1, 2]\', \'{"id": 47}\');\n+------------------------------------------+\n| JSON_MERGE_PATCH(\'[1, 2]\', \'{"id": 47}\') |\n+------------------------------------------+\n| {"id": 47} |\n+------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'{ "a": 1, "b":2 }\',\n > \'{ "a": 3, "c":4 }\');\n+-----------------------------------------------------------+\n| JSON_MERGE_PATCH(\'{ "a": 1, "b":2 }\',\'{ "a": 3, "c":4 }\') |\n+-----------------------------------------------------------+\n| {"a": 3, "b": 2, "c": 4} |\n+-----------------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'{ "a": 1, "b":2 }\',\'{ "a": 3, "c":4 }\',\n > \'{ "a": 5, "d":6 }\');\n+-------------------------------------------------------------------------------+\n| JSON_MERGE_PATCH(\'{ "a": 1, "b":2 }\',\'{ "a": 3, "c":4 }\',\'{ "a": 5, "d":6 }\') |\n+-------------------------------------------------------------------------------+\n| {"a": 5, "b": 2, "c": 4, "d": 6} |\n+-------------------------------------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'{"a":1, "b":2}\', \'{"b":null}\');\n+--------------------------------------------------+\n| JSON_MERGE_PATCH(\'{"a":1, "b":2}\', \'{"b":null}\') |\n+--------------------------------------------------+\n| {"a": 1} |\n+--------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PATCH(\'{"a":{"x":1}}\', \'{"a":{"y":2}}\');\n+----------------------------------------------------+\n| JSON_MERGE_PATCH(\'{"a":{"x":1}}\', \'{"a":{"y":2}}\') |\n+----------------------------------------------------+\n| {"a": {"x": 1, "y": 2}} |\n+----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (391,14,'DEFAULT','Syntax:\nDEFAULT(col_name)\n\nReturns the default value for a table column. An error results if the\ncolumn has no default value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> UPDATE t SET i = DEFAULT(i)+1 WHERE id < 100;\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (392,21,'OPTIMIZE TABLE','Syntax:\nOPTIMIZE [NO_WRITE_TO_BINLOG | LOCAL]\n TABLE tbl_name [, tbl_name] ...\n\nOPTIMIZE TABLE reorganizes the physical storage of table data and\nassociated index data, to reduce storage space and improve I/O\nefficiency when accessing the table. The exact changes made to each\ntable depend on the storage engine used by that table.\n\nUse OPTIMIZE TABLE in these cases, depending on the type of table:\n\no After doing substantial insert, update, or delete operations on an\n InnoDB table that has its own .ibd file because it was created with\n the innodb_file_per_table option enabled. The table and indexes are\n reorganized, and disk space can be reclaimed for use by the operating\n system.\n\no After doing substantial insert, update, or delete operations on\n columns that are part of a FULLTEXT index in an InnoDB table. Set the\n configuration option innodb_optimize_fulltext_only=1 first. To keep\n the index maintenance period to a reasonable time, set the\n innodb_ft_num_word_optimize option to specify how many words to\n update in the search index, and run a sequence of OPTIMIZE TABLE\n statements until the search index is fully updated.\n\no After deleting a large part of a MyISAM or ARCHIVE table, or making\n many changes to a MyISAM or ARCHIVE table with variable-length rows\n (tables that have VARCHAR, VARBINARY, BLOB, or TEXT columns). Deleted\n rows are maintained in a linked list and subsequent INSERT operations\n reuse old row positions. You can use OPTIMIZE TABLE to reclaim the\n unused space and to defragment the data file. After extensive changes\n to a table, this statement may also improve performance of statements\n that use the table, sometimes significantly.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nOPTIMIZE TABLE works for InnoDB, MyISAM, and ARCHIVE tables. OPTIMIZE\nTABLE is also supported for dynamic columns of in-memory NDB tables. It\ndoes not work for fixed-width columns of in-memory tables, nor does it\nwork for Disk Data tables. The performance of OPTIMIZE on NDB Cluster\ntables can be tuned using --ndb_optimization_delay, which controls the\nlength of time to wait between processing batches of rows by OPTIMIZE\nTABLE. For more information, see Previous NDB Cluster Issues Resolved\nin NDB Cluster 7.3\n(http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-limitations-resol\nved.html).\n\nFor NDB Cluster tables, OPTIMIZE TABLE can be interrupted by (for\nexample) killing the SQL thread performing the OPTIMIZE operation.\n\nBy default, OPTIMIZE TABLE does not work for tables created using any\nother storage engine and returns a result indicating this lack of\nsupport. You can make OPTIMIZE TABLE work for other storage engines by\nstarting mysqld with the --skip-new option. In this case, OPTIMIZE\nTABLE is just mapped to ALTER TABLE.\n\nThis statement does not work with views.\n\nOPTIMIZE TABLE is supported for partitioned tables. For information\nabout using this statement with partitioned tables and table\npartitions, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-maintenance.html.\n\nBy default, the server writes OPTIMIZE TABLE statements to the binary\nlog so that they replicate to replication slaves. To suppress logging,\nspecify the optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/optimize-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/optimize-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (393,12,'DECODE','Syntax:\nDECODE(crypt_str,pass_str)\n\nDECODE() decrypts the encrypted string crypt_str using pass_str as the\npassword. crypt_str should be a string returned from ENCODE().\n\n*Note*:\n\nThe ENCODE() and DECODE() functions are deprecated in MySQL 5.7, will\nbe removed in a future MySQL release, and should no longer be used.\nConsider using AES_ENCRYPT() and AES_DECRYPT() instead.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (394,7,'JSON_ARRAY_INSERT','Syntax:\nJSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)\n\nUpdates a JSON document, inserting into an array within the document\nand returning the modified document. Returns NULL if any argument is\nNULL. An error occurs if the json_doc argument is not a valid JSON\ndocument or any path argument is not a valid path expression or\ncontains a * or ** wildcard or does not end with an array element\nidentifier.\n\nThe path-value pairs are evaluated left to right. The document produced\nby evaluating one pair becomes the new value against which the next\npair is evaluated.\n\nPairs for which the path does not identify any array in the JSON\ndocument are ignored. If a path identifies an array element, the\ncorresponding value is inserted at that element position, shifting any\nfollowing values to the right. If a path identifies an array position\npast the end of an array, the value is inserted at the end of the\narray.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'["a", {"b": [1, 2]}, [3, 4]]\';\nmysql> SELECT JSON_ARRAY_INSERT(@j, \'$[1]\', \'x\');\n+------------------------------------+\n| JSON_ARRAY_INSERT(@j, \'$[1]\', \'x\') |\n+------------------------------------+\n| ["a", "x", {"b": [1, 2]}, [3, 4]] |\n+------------------------------------+\nmysql> SELECT JSON_ARRAY_INSERT(@j, \'$[100]\', \'x\');\n+--------------------------------------+\n| JSON_ARRAY_INSERT(@j, \'$[100]\', \'x\') |\n+--------------------------------------+\n| ["a", {"b": [1, 2]}, [3, 4], "x"] |\n+--------------------------------------+\nmysql> SELECT JSON_ARRAY_INSERT(@j, \'$[1].b[0]\', \'x\');\n+-----------------------------------------+\n| JSON_ARRAY_INSERT(@j, \'$[1].b[0]\', \'x\') |\n+-----------------------------------------+\n| ["a", {"b": ["x", 1, 2]}, [3, 4]] |\n+-----------------------------------------+\nmysql> SELECT JSON_ARRAY_INSERT(@j, \'$[2][1]\', \'y\');\n+---------------------------------------+\n| JSON_ARRAY_INSERT(@j, \'$[2][1]\', \'y\') |\n+---------------------------------------+\n| ["a", {"b": [1, 2]}, [3, "y", 4]] |\n+---------------------------------------+\nmysql> SELECT JSON_ARRAY_INSERT(@j, \'$[0]\', \'x\', \'$[2][1]\', \'y\');\n+----------------------------------------------------+\n| JSON_ARRAY_INSERT(@j, \'$[0]\', \'x\', \'$[2][1]\', \'y\') |\n+----------------------------------------------------+\n| ["x", "a", {"b": [1, 2]}, [3, 4]] |\n+----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (395,20,'<=>','Syntax:\n<=>\n\nNULL-safe equal. This operator performs an equality comparison like the\n= operator, but returns 1 rather than NULL if both operands are NULL,\nand 0 rather than NULL if one operand is NULL.\n\nThe <=> operator is equivalent to the standard SQL IS NOT DISTINCT FROM\noperator.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;\n -> 1, 1, 0\nmysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;\n -> 1, NULL, NULL\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (396,27,'RESET','Syntax:\nRESET reset_option [, reset_option] ...\n\nreset_option: {\n MASTER\n | QUERY CACHE\n | SLAVE\n}\n\nThe RESET statement is used to clear the state of various server\noperations. You must have the RELOAD privilege to execute RESET.\n\nRESET acts as a stronger version of the FLUSH statement. See [HELP\nFLUSH].\n\nThe RESET statement causes an implicit commit. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\nIn MySQL 5.7.1, gtid_next must be set to AUTOMATIC before issuing this\nstatement. This restriction does not apply in MySQL 5.7.2 or later.\n(Bug #16062608, Bug #16715809, Bug #69045)\n\nThe following list describes the permitted RESET statement reset_option\nvalues:\n\no RESET MASTER\n\n Deletes all binary logs listed in the index file, resets the binary\n log index file to be empty, and creates a new binary log file.\n\no RESET QUERY CACHE\n\n Removes all query results from the query cache.\n\n *Note*:\n\n The query cache is deprecated as of MySQL 5.7.20, and is removed in\n MySQL 8.0. Deprecation includes RESET QUERY CACHE.\n\no RESET SLAVE\n\n Makes the slave forget its replication position in the master binary\n logs. Also resets the relay log by deleting any existing relay log\n files and beginning a new one.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/reset.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/reset.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (397,14,'GET_LOCK','Syntax:\nGET_LOCK(str,timeout)\n\nTries to obtain a lock with a name given by the string str, using a\ntimeout of timeout seconds. A negative timeout value means infinite\ntimeout. The lock is exclusive. While held by one session, other\nsessions cannot obtain a lock of the same name.\n\nReturns 1 if the lock was obtained successfully, 0 if the attempt timed\nout (for example, because another client has previously locked the\nname), or NULL if an error occurred (such as running out of memory or\nthe thread was killed with mysqladmin kill).\n\nA lock obtained with GET_LOCK() is released explicitly by executing\nRELEASE_LOCK() or implicitly when your session terminates (either\nnormally or abnormally). Lock release may also occur with another call\nto GET_LOCK():\n\no Before 5.7.5, only a single simultaneous lock can be acquired and\n GET_LOCK() releases any existing lock.\n\no In MySQL 5.7.5, GET_LOCK() was reimplemented using the metadata\n locking (MDL) subsystem and its capabilities were extended. Multiple\n simultaneous locks can be acquired and GET_LOCK() does not release\n any existing locks. It is even possible for a given session to\n acquire multiple locks for the same name. Other sessions cannot\n acquire a lock with that name until the acquiring session releases\n all its locks for the name.\n\n As a result of the MDL reimplementation, locks acquired with\n GET_LOCK() appear in the Performance Schema metadata_locks table. The\n OBJECT_TYPE column says USER LEVEL LOCK and the OBJECT_NAME column\n indicates the lock name. Also, the capability of acquiring multiple\n locks introduces the possibility of deadlock among clients. When this\n happens, the server chooses a caller and terminates its\n lock-acquisition request with an ER_USER_LOCK_DEADLOCK error. This\n error does not cause transactions to roll back.\n\nThe difference in lock acquisition behavior as of MySQL 5.7.5 can be\nseen by the following example. Suppose that you execute these\nstatements:\n\nSELECT GET_LOCK(\'lock1\',10);\nSELECT GET_LOCK(\'lock2\',10);\nSELECT RELEASE_LOCK(\'lock2\');\nSELECT RELEASE_LOCK(\'lock1\');\n\nIn MySQL 5.7.5 or later, the second GET_LOCK() acquires a second lock\nand both RELEASE_LOCK() calls return 1 (success). Before MySQL 5.7.5,\nthe second GET_LOCK() releases the first lock (\'lock1\') and the second\nRELEASE_LOCK() returns NULL (failure) because there is no \'lock1\' to\nrelease.\n\nMySQL 5.7.5 and later enforces a maximum length on lock names of 64\ncharacters. Previously, no limit was enforced.\n\nLocks obtained with GET_LOCK() are not released when transactions\ncommit or roll back.\n\nGET_LOCK() can be used to implement application locks or to simulate\nrecord locks. Names are locked on a server-wide basis. If a name has\nbeen locked within one session, GET_LOCK() blocks any request by\nanother session for a lock with the same name. This enables clients\nthat agree on a given lock name to use the name to perform cooperative\nadvisory locking. But be aware that it also enables a client that is\nnot among the set of cooperating clients to lock a name, either\ninadvertently or deliberately, and thus prevent any of the cooperating\nclients from locking that name. One way to reduce the likelihood of\nthis is to use lock names that are database-specific or\napplication-specific. For example, use lock names of the form\ndb_name.str or app_name.str.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (398,23,'BIGINT','BIGINT[(M)] [UNSIGNED] [ZEROFILL]\n\nA large integer. The signed range is -9223372036854775808 to\n9223372036854775807. The unsigned range is 0 to 18446744073709551615.\n\nSERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (399,32,'CURTIME','Syntax:\nCURTIME([fsp])\n\nReturns the current time as a value in \'HH:MM:SS\' or HHMMSS format,\ndepending on whether the function is used in a string or numeric\ncontext. The value is expressed in the current time zone.\n\nIf the fsp argument is given to specify a fractional seconds precision\nfrom 0 to 6, the return value includes a fractional seconds part of\nthat many digits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT CURTIME();\n -> \'23:50:26\'\nmysql> SELECT CURTIME() + 0;\n -> 235026.000000\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (400,37,'ST_DIMENSION','ST_Dimension(g)\n\nReturns the inherent dimension of the geometry value g, or NULL if the\nargument is NULL. The dimension can be −1, 0, 1, or 2. The meaning of\nthese values is given in\nhttp://dev.mysql.com/doc/refman/5.7/en/gis-class-geometry.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','mysql> SELECT ST_Dimension(ST_GeomFromText(\'LineString(1 1,2 2)\'));\n+------------------------------------------------------+\n| ST_Dimension(ST_GeomFromText(\'LineString(1 1,2 2)\')) |\n+------------------------------------------------------+\n| 1 |\n+------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (401,27,'SET','Syntax:\nSET variable_assignment [, variable_assignment] ...\n\nvariable_assignment:\n user_var_name = expr\n | param_name = expr\n | local_var_name = expr\n | [GLOBAL | SESSION]\n system_var_name = expr\n | [@@global. | @@session. | @@]\n system_var_name = expr\n\nSET syntax for variable assignment enables you to assign values to\ndifferent types of variables that affect the operation of the server or\nclients:\n\no System variables. See\n http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n System variables also can be set at server startup, as described in\n http://dev.mysql.com/doc/refman/5.7/en/using-system-variables.html.\n (To display system variable names and values, use the SHOW VARIABLES\n statement; see [HELP SHOW VARIABLES].)\n\no User-defined variables. See\n http://dev.mysql.com/doc/refman/5.7/en/user-variables.html.\n\no Stored procedure and function parameters, and stored program local\n variables. See\n http://dev.mysql.com/doc/refman/5.7/en/stored-program-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/set-variable.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/set-variable.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (402,7,'JSON_MERGE','Syntax:\nJSON_MERGE(json_doc, json_doc[, json_doc] ...)\n\nMerges two or more JSON documents. Synonym for JSON_MERGE_PRESERVE();\ndeprecated in MySQL 5.7.22 and subject to removal in a future release.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SELECT JSON_MERGE(\'[1, 2]\', \'[true, false]\');\n+---------------------------------------+\n| JSON_MERGE(\'[1, 2]\', \'[true, false]\') |\n+---------------------------------------+\n| [1, 2, true, false] |\n+---------------------------------------+\n1 row in set, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS\\G\n*************************** 1. row ***************************\n Level: Warning\n Code: 1287\nMessage: \'JSON_MERGE\' is deprecated and will be removed in a future release. \\\n Please use JSON_MERGE_PRESERVE/JSON_MERGE_PATCH instead\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (403,28,'LOAD XML','Syntax:\nLOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n [REPLACE | IGNORE]\n INTO TABLE [db_name.]tbl_name\n [CHARACTER SET charset_name]\n [ROWS IDENTIFIED BY \'\']\n [IGNORE number {LINES | ROWS}]\n [(field_name_or_user_var\n [, field_name_or_user_var] ...)]\n [SET col_name={expr | DEFAULT},\n [, col_name={expr | DEFAULT}] ...]\n\nThe LOAD XML statement reads data from an XML file into a table. The\nfile_name must be given as a literal string. The tagname in the\noptional ROWS IDENTIFIED BY clause must also be given as a literal\nstring, and must be surrounded by angle brackets (< and >).\n\nLOAD XML acts as the complement of running the mysql client in XML\noutput mode (that is, starting the client with the --xml option). To\nwrite data from a table to an XML file, you can invoke the mysql client\nwith the --xml and -e options from the system shell, as shown here:\n\nshell> mysql --xml -e \'SELECT * FROM mydb.mytable\' > file.xml\n\nTo read the file back into a table, use LOAD XML INFILE. By default,\nthe element is considered to be the equivalent of a database\ntable row; this can be changed using the ROWS IDENTIFIED BY clause.\n\nThis statement supports three different XML formats:\n\no Column names as attributes and column values as attribute values:\n\n\n\no Column names as tags and column values as the content of these tags:\n\n\n value1\n value2\n\n\no Column names are the name attributes of tags, and values are\n the contents of these tags:\n\n\n value1\n value2\n\n\n This is the format used by other MySQL tools, such as mysqldump.\n\nAll three formats can be used in the same XML file; the import routine\nautomatically detects the format for each row and interprets it\ncorrectly. Tags are matched based on the tag or attribute name and the\ncolumn name.\n\nThe following clauses work essentially the same way for LOAD XML as\nthey do for LOAD DATA:\n\no LOW_PRIORITY or CONCURRENT\n\no LOCAL\n\no REPLACE or IGNORE\n\no CHARACTER SET\n\no SET\n\nSee [HELP LOAD DATA], for more information about these clauses.\n\n(field_name_or_user_var, ...) is a list of one or more comma-separated\nXML fields or user variables. The name of a user variable used for this\npurpose must match the name of a field from the XML file, prefixed with\n@. You can use field names to select only desired fields. User\nvariables can be employed to store the corresponding field values for\nsubsequent re-use.\n\nThe IGNORE number LINES or IGNORE number ROWS clause causes the first\nnumber rows in the XML file to be skipped. It is analogous to the LOAD\nDATA statement\'s IGNORE ... LINES clause.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/load-xml.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/load-xml.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (404,3,'CONV','Syntax:\nCONV(N,from_base,to_base)\n\nConverts numbers between different number bases. Returns a string\nrepresentation of the number N, converted from base from_base to base\nto_base. Returns NULL if any argument is NULL. The argument N is\ninterpreted as an integer, but may be specified as an integer or a\nstring. The minimum base is 2 and the maximum base is 36. If from_base\nis a negative number, N is regarded as a signed number. Otherwise, N is\ntreated as unsigned. CONV() works with 64-bit precision.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT CONV(\'a\',16,2);\n -> \'1010\'\nmysql> SELECT CONV(\'6E\',18,8);\n -> \'172\'\nmysql> SELECT CONV(-17,10,-18);\n -> \'-H\'\nmysql> SELECT CONV(10+\'10\'+\'10\'+X\'0a\',10,10);\n -> \'40\'\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (405,4,'ST_MPOINTFROMTEXT','ST_MPointFromText(wkt[, srid]), ST_MultiPointFromText(wkt[, srid])\n\nConstructs a MultiPoint value using its WKT representation and SRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nAs of MySQL 5.7.9, spatial functions such as ST_MPointFromText() and\nST_GeomFromText() that accept WKT-format representations of MultiPoint\nvalues permit individual points within values to be surrounded by\nparentheses. For example, both of the following function calls are\nvalid, whereas before MySQL 5.7.9 the second one produces an error:\n\nST_MPointFromText(\'MULTIPOINT (1 1, 2 2, 3 3)\')\nST_MPointFromText(\'MULTIPOINT ((1 1), (2 2), (3 3))\')\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (406,15,'ASSIGN-VALUE','Syntax:\n:=\n\nAssignment operator. Causes the user variable on the left hand side of\nthe operator to take on the value to its right. The value on the right\nhand side may be a literal value, another variable storing a value, or\nany legal expression that yields a scalar value, including the result\nof a query (provided that this value is a scalar value). You can\nperform multiple assignments in the same SET statement. You can perform\nmultiple assignments in the same statement.\n\nUnlike =, the := operator is never interpreted as a comparison\noperator. This means you can use := in any valid SQL statement (not\njust in SET statements) to assign a value to a variable.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html\n\n','mysql> SELECT @var1, @var2;\n -> NULL, NULL\nmysql> SELECT @var1 := 1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2;\n -> 1, NULL\nmysql> SELECT @var1, @var2 := @var1;\n -> 1, 1\nmysql> SELECT @var1, @var2;\n -> 1, 1\n\nmysql> SELECT @var1:=COUNT(*) FROM t1;\n -> 4\nmysql> SELECT @var1;\n -> 4\n','http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (407,27,'SHOW OPEN TABLES','Syntax:\nSHOW OPEN TABLES\n [{FROM | IN} db_name]\n [LIKE \'pattern\' | WHERE expr]\n\nSHOW OPEN TABLES lists the non-TEMPORARY tables that are currently open\nin the table cache. See\nhttp://dev.mysql.com/doc/refman/5.7/en/table-cache.html. The FROM\nclause, if present, restricts the tables shown to those present in the\ndb_name database. The LIKE clause, if present, indicates which table\nnames to match. The WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (408,32,'EXTRACT','Syntax:\nEXTRACT(unit FROM date)\n\nThe EXTRACT() function uses the same kinds of unit specifiers as\nDATE_ADD() or DATE_SUB(), but extracts parts from the date rather than\nperforming date arithmetic.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT EXTRACT(YEAR FROM \'2009-07-02\');\n -> 2009\nmysql> SELECT EXTRACT(YEAR_MONTH FROM \'2009-07-02 01:02:03\');\n -> 200907\nmysql> SELECT EXTRACT(DAY_MINUTE FROM \'2009-07-02 01:02:03\');\n -> 20102\nmysql> SELECT EXTRACT(MICROSECOND\n -> FROM \'2003-01-02 10:30:00.000123\');\n -> 123\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (409,12,'ENCRYPT','Syntax:\nENCRYPT(str[,salt])\n\nEncrypts str using the Unix crypt() system call and returns a binary\nstring. The salt argument must be a string with at least two characters\nor the result will be NULL. If no salt argument is given, a random\nvalue is used.\n\n*Note*:\n\nThe ENCRYPT() function is deprecated as of MySQL 5.7.6, will be removed\nin a future MySQL release, and should no longer be used. For one-way\nhashing, consider using SHA2() instead.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT ENCRYPT(\'hello\');\n -> \'VxuFAJXVARROc\'\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (410,27,'SHOW STATUS','Syntax:\nSHOW [GLOBAL | SESSION] STATUS\n [LIKE \'pattern\' | WHERE expr]\n\n*Note*:\n\nAs of MySQL 5.7.6, the value of the show_compatibility_56 system\nvariable affects the information available from and privileges required\nfor the statement described here. For details, see the description of\nthat variable in\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nSHOW STATUS provides server status information (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html).\nThis statement does not require any privilege. It requires only the\nability to connect to the server.\n\nStatus variable information is also available from these sources:\n\no Performance Schema tables. See\n http://dev.mysql.com/doc/refman/5.7/en/performance-schema-status-vari\n able-tables.html.\n\no The GLOBAL_STATUS and SESSION_STATUS tables. See\n http://dev.mysql.com/doc/refman/5.7/en/status-table.html.\n\no The mysqladmin extended-status command. See\n http://dev.mysql.com/doc/refman/5.7/en/mysqladmin.html.\n\nFor SHOW STATUS, a LIKE clause, if present, indicates which variable\nnames to match. A WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nSHOW STATUS accepts an optional GLOBAL or SESSION variable scope\nmodifier:\n\no With a GLOBAL modifier, the statement displays the global status\n values. A global status variable may represent status for some aspect\n of the server itself (for example, Aborted_connects), or the\n aggregated status over all connections to MySQL (for example,\n Bytes_received and Bytes_sent). If a variable has no global value,\n the session value is displayed.\n\no With a SESSION modifier, the statement displays the status variable\n values for the current connection. If a variable has no session\n value, the global value is displayed. LOCAL is a synonym for SESSION.\n\no If no modifier is present, the default is SESSION.\n\nThe scope for each status variable is listed at\nhttp://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html.\n\nEach invocation of the SHOW STATUS statement uses an internal temporary\ntable and increments the global Created_tmp_tables value.\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern:\n\nmysql> SHOW STATUS LIKE \'Key%\';\n+--------------------+----------+\n| Variable_name | Value |\n+--------------------+----------+\n| Key_blocks_used | 14955 |\n| Key_read_requests | 96854827 |\n| Key_reads | 162040 |\n| Key_write_requests | 7589728 |\n| Key_writes | 3813196 |\n+--------------------+----------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-status.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-status.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (411,2,'ST_NUMINTERIORRINGS','ST_NumInteriorRing(poly), ST_NumInteriorRings(poly)\n\nReturns the number of interior rings in the Polygon value poly. If the\nargument is NULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT ST_NumInteriorRings(ST_GeomFromText(@poly));\n+---------------------------------------------+\n| ST_NumInteriorRings(ST_GeomFromText(@poly)) |\n+---------------------------------------------+\n| 1 |\n+---------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (412,7,'JSON_KEYS','Syntax:\nJSON_KEYS(json_doc[, path])\n\nReturns the keys from the top-level value of a JSON object as a JSON\narray, or, if a path argument is given, the top-level keys from the\nselected path. Returns NULL if any argument is NULL, the json_doc\nargument is not an object, or path, if given, does not locate an\nobject. An error occurs if the json_doc argument is not a valid JSON\ndocument or the path argument is not a valid path expression or\ncontains a * or ** wildcard.\n\nThe result array is empty if the selected object is empty. If the\ntop-level value has nested subobjects, the return value does not\ninclude keys from those subobjects.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SELECT JSON_KEYS(\'{"a": 1, "b": {"c": 30}}\');\n+---------------------------------------+\n| JSON_KEYS(\'{"a": 1, "b": {"c": 30}}\') |\n+---------------------------------------+\n| ["a", "b"] |\n+---------------------------------------+\nmysql> SELECT JSON_KEYS(\'{"a": 1, "b": {"c": 30}}\', \'$.b\');\n+----------------------------------------------+\n| JSON_KEYS(\'{"a": 1, "b": {"c": 30}}\', \'$.b\') |\n+----------------------------------------------+\n| ["c"] |\n+----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (413,14,'INET6_ATON','Syntax:\nINET6_ATON(expr)\n\nGiven an IPv6 or IPv4 network address as a string, returns a binary\nstring that represents the numeric value of the address in network byte\norder (big endian). Because numeric-format IPv6 addresses require more\nbytes than the largest integer type, the representation returned by\nthis function has the VARBINARY data type: VARBINARY(16) for IPv6\naddresses and VARBINARY(4) for IPv4 addresses. If the argument is not a\nvalid address, INET6_ATON() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT HEX(INET6_ATON(\'fdfe::5a55:caff:fefa:9089\'));\n -> \'FDFE0000000000005A55CAFFFEFA9089\'\nmysql> SELECT HEX(INET6_ATON(\'10.0.5.9\'));\n -> \'0A000509\'\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (414,27,'SHOW SLAVE HOSTS','Syntax:\nSHOW SLAVE HOSTS\n\nDisplays a list of replication slaves currently registered with the\nmaster.\n\nSHOW SLAVE HOSTS should be executed on a server that acts as a\nreplication master. The statement displays information about servers\nthat are or have been connected as replication slaves, with each row of\nthe result corresponding to one slave server, as shown here:\n\nmysql> SHOW SLAVE HOSTS;\n+------------+-----------+------+-----------+--------------------------------------+\n| Server_id | Host | Port | Master_id | Slave_UUID |\n+------------+-----------+------+-----------+--------------------------------------+\n| 192168010 | iconnect2 | 3306 | 192168011 | 14cb6624-7f93-11e0-b2c0-c80aa9429562 |\n| 1921680101 | athena | 3306 | 192168011 | 07af4990-f41f-11df-a566-7ac56fdaf645 |\n+------------+-----------+------+-----------+--------------------------------------+\n\no Server_id: The unique server ID of the slave server, as configured in\n the slave server\'s option file, or on the command line with\n --server-id=value.\n\no Host: The host name of the slave server as specified on the slave\n with the --report-host option. This can differ from the machine name\n as configured in the operating system.\n\no User: The slave server user name as, specified on the slave with the\n --report-user option. Statement output includes this column only if\n the master server is started with the --show-slave-auth-info option.\n\no Password: The slave server password as, specified on the slave with\n the --report-password option. Statement output includes this column\n only if the master server is started with the --show-slave-auth-info\n option.\n\no Port: The port on the master to which the slave server is listening,\n as specified on the slave with the --report-port option.\n\n A zero in this column means that the slave port (--report-port) was\n not set.\n\no Master_id: The unique server ID of the master server that the slave\n server is replicating from. This is the server ID of the server on\n which SHOW SLAVE HOSTS is executed, so this same value is listed for\n each row in the result.\n\no Slave_UUID: The globally unique ID of this slave, as generated on the\n slave and found in the slave\'s auto.cnf file.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-slave-hosts.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-slave-hosts.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (415,8,'START TRANSACTION','Syntax:\nSTART TRANSACTION\n [transaction_characteristic [, transaction_characteristic] ...]\n\ntransaction_characteristic:\n WITH CONSISTENT SNAPSHOT\n | READ WRITE\n | READ ONLY\n\nBEGIN [WORK]\nCOMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]\nSET autocommit = {0 | 1}\n\nThese statements provide control over use of transactions:\n\no START TRANSACTION or BEGIN start a new transaction.\n\no COMMIT commits the current transaction, making its changes permanent.\n\no ROLLBACK rolls back the current transaction, canceling its changes.\n\no SET autocommit disables or enables the default autocommit mode for\n the current session.\n\nBy default, MySQL runs with autocommit mode enabled. This means that as\nsoon as you execute a statement that updates (modifies) a table, MySQL\nstores the update on disk to make it permanent. The change cannot be\nrolled back.\n\nTo disable autocommit mode implicitly for a single series of\nstatements, use the START TRANSACTION statement:\n\nSTART TRANSACTION;\nSELECT @A:=SUM(salary) FROM table1 WHERE type=1;\nUPDATE table2 SET summary=@A WHERE type=1;\nCOMMIT;\n\nWith START TRANSACTION, autocommit remains disabled until you end the\ntransaction with COMMIT or ROLLBACK. The autocommit mode then reverts\nto its previous state.\n\nSTART TRANSACTION permits several modifiers that control transaction\ncharacteristics. To specify multiple modifiers, separate them by\ncommas.\n\no The WITH CONSISTENT SNAPSHOT modifier starts a consistent read for\n storage engines that are capable of it. This applies only to InnoDB.\n The effect is the same as issuing a START TRANSACTION followed by a\n SELECT from any InnoDB table. See\n http://dev.mysql.com/doc/refman/5.7/en/innodb-consistent-read.html.\n The WITH CONSISTENT SNAPSHOT modifier does not change the current\n transaction isolation level, so it provides a consistent snapshot\n only if the current isolation level is one that permits a consistent\n read. The only isolation level that permits a consistent read is\n REPEATABLE READ. For all other isolation levels, the WITH CONSISTENT\n SNAPSHOT clause is ignored. As of MySQL 5.7.2, a warning is generated\n when the WITH CONSISTENT SNAPSHOT clause is ignored.\n\no The READ WRITE and READ ONLY modifiers set the transaction access\n mode. They permit or prohibit changes to tables used in the\n transaction. The READ ONLY restriction prevents the transaction from\n modifying or locking both transactional and nontransactional tables\n that are visible to other transactions; the transaction can still\n modify or lock temporary tables.\n\n MySQL enables extra optimizations for queries on InnoDB tables when\n the transaction is known to be read-only. Specifying READ ONLY\n ensures these optimizations are applied in cases where the read-only\n status cannot be determined automatically. See\n http://dev.mysql.com/doc/refman/5.7/en/innodb-performance-ro-txn.html\n for more information.\n\n If no access mode is specified, the default mode applies. Unless the\n default has been changed, it is read/write. It is not permitted to\n specify both READ WRITE and READ ONLY in the same statement.\n\n In read-only mode, it remains possible to change tables created with\n the TEMPORARY keyword using DML statements. Changes made with DDL\n statements are not permitted, just as with permanent tables.\n\n For additional information about transaction access mode, including\n ways to change the default mode, see [HELP ISOLATION].\n\n If the read_only system variable is enabled, explicitly starting a\n transaction with START TRANSACTION READ WRITE requires the SUPER\n privilege.\n\n*Important*:\n\nMany APIs used for writing MySQL client applications (such as JDBC)\nprovide their own methods for starting transactions that can (and\nsometimes should) be used instead of sending a START TRANSACTION\nstatement from the client. See\nhttp://dev.mysql.com/doc/refman/5.7/en/connectors-apis.html, or the\ndocumentation for your API, for more information.\n\nTo disable autocommit mode explicitly, use the following statement:\n\nSET autocommit=0;\n\nAfter disabling autocommit mode by setting the autocommit variable to\nzero, changes to transaction-safe tables (such as those for InnoDB or\nNDB) are not made permanent immediately. You must use COMMIT to store\nyour changes to disk or ROLLBACK to ignore the changes.\n\nautocommit is a session variable and must be set for each session. To\ndisable autocommit mode for each new connection, see the description of\nthe autocommit system variable at\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nBEGIN and BEGIN WORK are supported as aliases of START TRANSACTION for\ninitiating a transaction. START TRANSACTION is standard SQL syntax, is\nthe recommended way to start an ad-hoc transaction, and permits\nmodifiers that BEGIN does not.\n\nThe BEGIN statement differs from the use of the BEGIN keyword that\nstarts a BEGIN ... END compound statement. The latter does not begin a\ntransaction. See [HELP BEGIN END].\n\n*Note*:\n\nWithin all stored programs (stored procedures and functions, triggers,\nand events), the parser treats BEGIN [WORK] as the beginning of a BEGIN\n... END block. Begin a transaction in this context with START\nTRANSACTION instead.\n\nThe optional WORK keyword is supported for COMMIT and ROLLBACK, as are\nthe CHAIN and RELEASE clauses. CHAIN and RELEASE can be used for\nadditional control over transaction completion. The value of the\ncompletion_type system variable determines the default completion\nbehavior. See\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nThe AND CHAIN clause causes a new transaction to begin as soon as the\ncurrent one ends, and the new transaction has the same isolation level\nas the just-terminated transaction. The new transaction also uses the\nsame access mode (READ WRITE or READ ONLY) as the just-terminated\ntransaction. The RELEASE clause causes the server to disconnect the\ncurrent client session after terminating the current transaction.\nIncluding the NO keyword suppresses CHAIN or RELEASE completion, which\ncan be useful if the completion_type system variable is set to cause\nchaining or release completion by default.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/commit.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/commit.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (416,32,'TIME_FORMAT','Syntax:\nTIME_FORMAT(time,format)\n\nThis is used like the DATE_FORMAT() function, but the format string may\ncontain format specifiers only for hours, minutes, seconds, and\nmicroseconds. Other specifiers produce a NULL value or 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_FORMAT(\'100:00:00\', \'%H %k %h %I %l\');\n -> \'100 100 04 04 4\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (417,40,'CREATE DATABASE','Syntax:\nCREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name\n [create_specification] ...\n\ncreate_specification:\n [DEFAULT] CHARACTER SET [=] charset_name\n | [DEFAULT] COLLATE [=] collation_name\n\nCREATE DATABASE creates a database with the given name. To use this\nstatement, you need the CREATE privilege for the database. CREATE\nSCHEMA is a synonym for CREATE DATABASE.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-database.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-database.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (418,16,'VAR_POP','Syntax:\nVAR_POP(expr)\n\nReturns the population standard variance of expr. It considers rows as\nthe whole population, not as a sample, so it has the number of rows as\nthe denominator. You can also use VARIANCE(), which is equivalent but\nis not standard SQL.\n\nIf there are no matching rows, VAR_POP() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (419,38,'CONCAT_WS','Syntax:\nCONCAT_WS(separator,str1,str2,...)\n\nCONCAT_WS() stands for Concatenate With Separator and is a special form\nof CONCAT(). The first argument is the separator for the rest of the\narguments. The separator is added between the strings to be\nconcatenated. The separator can be a string, as can the rest of the\narguments. If the separator is NULL, the result is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT CONCAT_WS(\',\',\'First name\',\'Second name\',\'Last Name\');\n -> \'First name,Second name,Last Name\'\nmysql> SELECT CONCAT_WS(\',\',\'First name\',NULL,\'Last Name\');\n -> \'First name,Last Name\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (420,23,'TEXT','TEXT[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 65,535 (216 − 1) characters.\nThe effective maximum length is less if the value contains multibyte\ncharacters. Each TEXT value is stored using a 2-byte length prefix that\nindicates the number of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest TEXT type large enough to hold\nvalues M characters long.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (421,19,'~','Syntax:\n~\n\nInvert all bits.\n\nThe result is an unsigned 64-bit integer.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 5 & ~1;\n -> 4\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (422,3,'ASIN','Syntax:\nASIN(X)\n\nReturns the arc sine of X, that is, the value whose sine is X. Returns\nNULL if X is not in the range -1 to 1.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ASIN(0.2);\n -> 0.20135792079033\nmysql> SELECT ASIN(\'foo\');\n\n+-------------+\n| ASIN(\'foo\') |\n+-------------+\n| 0 |\n+-------------+\n1 row in set, 1 warning (0.00 sec)\n\nmysql> SHOW WARNINGS;\n+---------+------+-----------------------------------------+\n| Level | Code | Message |\n+---------+------+-----------------------------------------+\n| Warning | 1292 | Truncated incorrect DOUBLE value: \'foo\' |\n+---------+------+-----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (423,17,'ROW_COUNT','Syntax:\nROW_COUNT()\n\nROW_COUNT() returns a value as follows:\n\no DDL statements: 0. This applies to statements such as CREATE TABLE or\n DROP TABLE.\n\no DML statements other than SELECT: The number of affected rows. This\n applies to statements such as UPDATE, INSERT, or DELETE (as before),\n but now also to statements such as ALTER TABLE and LOAD DATA INFILE.\n\no SELECT: -1 if the statement returns a result set, or the number of\n rows "affected" if it does not. For example, for SELECT * FROM t1,\n ROW_COUNT() returns -1. For SELECT * FROM t1 INTO OUTFILE\n \'file_name\', ROW_COUNT() returns the number of rows written to the\n file.\n\no SIGNAL statements: 0.\n\nFor UPDATE statements, the affected-rows value by default is the number\nof rows actually changed. If you specify the CLIENT_FOUND_ROWS flag to\nmysql_real_connect() when connecting to mysqld, the affected-rows value\nis the number of rows "found"; that is, matched by the WHERE clause.\n\nFor REPLACE statements, the affected-rows value is 2 if the new row\nreplaced an old row, because in this case, one row was inserted after\nthe duplicate was deleted.\n\nFor INSERT ... ON DUPLICATE KEY UPDATE statements, the affected-rows\nvalue per row is 1 if the row is inserted as a new row, 2 if an\nexisting row is updated, and 0 if an existing row is set to its current\nvalues. If you specify the CLIENT_FOUND_ROWS flag, the affected-rows\nvalue is 1 (not 0) if an existing row is set to its current values.\n\nThe ROW_COUNT() value is similar to the value from the\nmysql_affected_rows() C API function and the row count that the mysql\nclient displays following statement execution.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> INSERT INTO t VALUES(1),(2),(3);\nQuery OK, 3 rows affected (0.00 sec)\nRecords: 3 Duplicates: 0 Warnings: 0\n\nmysql> SELECT ROW_COUNT();\n+-------------+\n| ROW_COUNT() |\n+-------------+\n| 3 |\n+-------------+\n1 row in set (0.00 sec)\n\nmysql> DELETE FROM t WHERE i IN(1,2);\nQuery OK, 2 rows affected (0.00 sec)\n\nmysql> SELECT ROW_COUNT();\n+-------------+\n| ROW_COUNT() |\n+-------------+\n| 2 |\n+-------------+\n1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (424,7,'MBRCOVEREDBY','MBRCoveredBy(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangle of g1\nis covered by the minimum bounding rectangle of g2. This tests the\nopposite relationship as MBRCovers().\n\nMBRCoveredBy() handles its arguments as follows:\n\no If either argument is NULL or an empty geometry, the return value is\n NULL.\n\no If either argument is not a syntactically well-formed geometry byte\n string, an ER_GIS_INVALID_DATA error occurs.\n\no Otherwise, the return value is non-NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','mysql> SET @g1 = ST_GeomFromText(\'Polygon((0 0,0 3,3 3,3 0,0 0))\');\nmysql> SET @g2 = ST_GeomFromText(\'Point(1 1)\');\nmysql> SELECT MBRCovers(@g1,@g2), MBRCoveredby(@g1,@g2);\n+--------------------+-----------------------+\n| MBRCovers(@g1,@g2) | MBRCoveredby(@g1,@g2) |\n+--------------------+-----------------------+\n| 1 | 0 |\n+--------------------+-----------------------+\nmysql> SELECT MBRCovers(@g2,@g1), MBRCoveredby(@g2,@g1);\n+--------------------+-----------------------+\n| MBRCovers(@g2,@g1) | MBRCoveredby(@g2,@g1) |\n+--------------------+-----------------------+\n| 0 | 1 |\n+--------------------+-----------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (425,3,'SIGN','Syntax:\nSIGN(X)\n\nReturns the sign of the argument as -1, 0, or 1, depending on whether X\nis negative, zero, or positive.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT SIGN(-32);\n -> -1\nmysql> SELECT SIGN(0);\n -> 0\nmysql> SELECT SIGN(234);\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (426,23,'FLOAT','FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]\n\nA small (single-precision) floating-point number. Permissible values\nare -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to\n3.402823466E+38. These are the theoretical limits, based on the IEEE\nstandard. The actual range might be slightly smaller depending on your\nhardware or operating system.\n\nM is the total number of digits and D is the number of digits following\nthe decimal point. If M and D are omitted, values are stored to the\nlimits permitted by the hardware. A single-precision floating-point\nnumber is accurate to approximately 7 decimal places.\n\nUNSIGNED, if specified, disallows negative values.\n\nUsing FLOAT might give you some unexpected problems because all\ncalculations in MySQL are done with double precision. See\nhttp://dev.mysql.com/doc/refman/5.7/en/no-matching-rows.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (427,17,'CHARSET','Syntax:\nCHARSET(str)\n\nReturns the character set of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT CHARSET(\'abc\');\n -> \'latin1\'\nmysql> SELECT CHARSET(CONVERT(\'abc\' USING utf8));\n -> \'utf8\'\nmysql> SELECT CHARSET(USER());\n -> \'utf8\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (428,7,'ASYMMETRIC_VERIFY','Syntax:\nASYMMETRIC_VERIFY(algorithm, digest_str, sig_str, pub_key_str,\ndigest_type)\n\nVerifies whether the signature string matches the digest string, and\nreturns 1 or 0 to indicate whether verification succeeded or failed.\n\ndigest_str is the digest string. It can be generated by calling\nCREATE_DIGEST(). digest_type indicates the digest algorithm used to\ngenerate the digest string.\n\nsig_str is the signature string. It can be generated by calling\nASYMMETRIC_SIGN().\n\npub_key_str is the public key string of the signer. It corresponds to\nthe private key passed to ASYMMETRIC_SIGN() to generate the signature\nstring and must be a valid key string in PEM format. algorithm\nindicates the encryption algorithm used to create the key.\n\nSupported algorithm values: \'RSA\', \'DSA\'\n\nSupported digest_type values: \'SHA224\', \'SHA256\', \'SHA384\', \'SHA512\'\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','-- Set the encryption algorithm and digest type\nSET @algo = \'RSA\';\nSET @dig_type = \'SHA224\';\n\n-- Create private/public key pair\nSET @priv = CREATE_ASYMMETRIC_PRIV_KEY(@algo, 1024);\nSET @pub = CREATE_ASYMMETRIC_PUB_KEY(@algo, @priv);\n\n-- Generate digest from string\nSET @dig = CREATE_DIGEST(@dig_type, \'The quick brown fox\');\n\n-- Generate signature for digest and verify signature against digest\nSET @sig = ASYMMETRIC_SIGN(@algo, @dig, @priv, @dig_type);\nSET @verf = ASYMMETRIC_VERIFY(@algo, @dig, @sig, @pub, @dig_type);\n','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (429,32,'SUBDATE','Syntax:\nSUBDATE(date,INTERVAL expr unit), SUBDATE(expr,days)\n\nWhen invoked with the INTERVAL form of the second argument, SUBDATE()\nis a synonym for DATE_SUB(). For information on the INTERVAL unit\nargument, see the discussion for DATE_ADD().\n\nmysql> SELECT DATE_SUB(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2007-12-02\'\nmysql> SELECT SUBDATE(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2007-12-02\'\n\nThe second form enables the use of an integer value for days. In such\ncases, it is interpreted as the number of days to be subtracted from\nthe date or datetime expression expr.\n\nmysql> SELECT SUBDATE(\'2008-01-02 12:00:00\', 31);\n -> \'2007-12-02 12:00:00\'\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (430,7,'JSON_CONTAINS','Syntax:\nJSON_CONTAINS(target, candidate[, path])\n\nIndicates by returning 1 or 0 whether a given candidate JSON document\nis contained within a target JSON document, or---if a path argument was\nsupplied---whether the candidate is found at a specific path within the\ntarget. Returns NULL if any argument is NULL, or if the path argument\ndoes not identify a section of the target document. An error occurs if\ntarget or candidate is not a valid JSON document, or if the path\nargument is not a valid path expression or contains a * or ** wildcard.\n\nTo check only whether any data exists at the path, use\nJSON_CONTAINS_PATH() instead.\n\nThe following rules define containment:\n\no A candidate scalar is contained in a target scalar if and only if\n they are comparable and are equal. Two scalar values are comparable\n if they have the same JSON_TYPE() types, with the exception that\n values of types INTEGER and DECIMAL are also comparable to each\n other.\n\no A candidate array is contained in a target array if and only if every\n element in the candidate is contained in some element of the target.\n\no A candidate nonarray is contained in a target array if and only if\n the candidate is contained in some element of the target.\n\no A candidate object is contained in a target object if and only if for\n each key in the candidate there is a key with the same name in the\n target and the value associated with the candidate key is contained\n in the value associated with the target key.\n\nOtherwise, the candidate value is not contained in the target document.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SET @j = \'{"a": 1, "b": 2, "c": {"d": 4}}\';\nmysql> SET @j2 = \'1\';\nmysql> SELECT JSON_CONTAINS(@j, @j2, \'$.a\');\n+-------------------------------+\n| JSON_CONTAINS(@j, @j2, \'$.a\') |\n+-------------------------------+\n| 1 |\n+-------------------------------+\nmysql> SELECT JSON_CONTAINS(@j, @j2, \'$.b\');\n+-------------------------------+\n| JSON_CONTAINS(@j, @j2, \'$.b\') |\n+-------------------------------+\n| 0 |\n+-------------------------------+\n\nmysql> SET @j2 = \'{"d": 4}\';\nmysql> SELECT JSON_CONTAINS(@j, @j2, \'$.a\');\n+-------------------------------+\n| JSON_CONTAINS(@j, @j2, \'$.a\') |\n+-------------------------------+\n| 0 |\n+-------------------------------+\nmysql> SELECT JSON_CONTAINS(@j, @j2, \'$.c\');\n+-------------------------------+\n| JSON_CONTAINS(@j, @j2, \'$.c\') |\n+-------------------------------+\n| 1 |\n+-------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (431,32,'DAYOFYEAR','Syntax:\nDAYOFYEAR(date)\n\nReturns the day of the year for date, in the range 1 to 366.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFYEAR(\'2007-02-03\');\n -> 34\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (432,3,'%','Syntax:\nN % M, N MOD M\n\nModulo operation. Returns the remainder of N divided by M. For more\ninformation, see the description for the MOD() function in\nhttp://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (433,33,'ASTEXT','AsText(g), AsWKT(g)\n\nST_AsText(), ST_AsWKT(), AsText(), and AsWKT() are synonyms. For more\ninformation, see the description of ST_AsText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-format-conversion-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (434,24,'DECLARE CONDITION','Syntax:\nDECLARE condition_name CONDITION FOR condition_value\n\ncondition_value:\n mysql_error_code\n | SQLSTATE [VALUE] sqlstate_value\n\nThe DECLARE ... CONDITION statement declares a named error condition,\nassociating a name with a condition that needs specific handling. The\nname can be referred to in a subsequent DECLARE ... HANDLER statement\n(see [HELP DECLARE HANDLER]).\n\nCondition declarations must appear before cursor or handler\ndeclarations.\n\nThe condition_value for DECLARE ... CONDITION indicates the specific\ncondition or class of conditions to associate with the condition name.\nIt can take the following forms:\n\no mysql_error_code: An integer literal indicating a MySQL error code.\n\n Do not use MySQL error code 0 because that indicates success rather\n than an error condition. For a list of MySQL error codes, see\n http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html.\n\no SQLSTATE [VALUE] sqlstate_value: A 5-character string literal\n indicating an SQLSTATE value.\n\n Do not use SQLSTATE values that begin with \'00\' because those\n indicate success rather than an error condition. For a list of\n SQLSTATE values, see\n http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html.\n\nCondition names referred to in SIGNAL or use RESIGNAL statements must\nbe associated with SQLSTATE values, not MySQL error codes.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/declare-condition.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/declare-condition.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (435,32,'MONTHNAME','Syntax:\nMONTHNAME(date)\n\nReturns the full name of the month for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.7/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT MONTHNAME(\'2008-02-03\');\n -> \'February\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (436,26,'NUMGEOMETRIES','NumGeometries(gc)\n\nST_NumGeometries() and NumGeometries() are synonyms. For more\ninformation, see the description of ST_NumGeometries().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (437,8,'CHANGE MASTER TO','Syntax:\nCHANGE MASTER TO option [, option] ... [ channel_option ]\n\noption:\n MASTER_BIND = \'interface_name\'\n | MASTER_HOST = \'host_name\'\n | MASTER_USER = \'user_name\'\n | MASTER_PASSWORD = \'password\'\n | MASTER_PORT = port_num\n | MASTER_CONNECT_RETRY = interval\n | MASTER_RETRY_COUNT = count\n | MASTER_DELAY = interval\n | MASTER_HEARTBEAT_PERIOD = interval\n | MASTER_LOG_FILE = \'master_log_name\'\n | MASTER_LOG_POS = master_log_pos\n | MASTER_AUTO_POSITION = {0|1}\n | RELAY_LOG_FILE = \'relay_log_name\'\n | RELAY_LOG_POS = relay_log_pos\n | MASTER_SSL = {0|1}\n | MASTER_SSL_CA = \'ca_file_name\'\n | MASTER_SSL_CAPATH = \'ca_directory_name\'\n | MASTER_SSL_CERT = \'cert_file_name\'\n | MASTER_SSL_CRL = \'crl_file_name\'\n | MASTER_SSL_CRLPATH = \'crl_directory_name\'\n | MASTER_SSL_KEY = \'key_file_name\'\n | MASTER_SSL_CIPHER = \'cipher_list\'\n | MASTER_SSL_VERIFY_SERVER_CERT = {0|1}\n | MASTER_TLS_VERSION = \'protocol_list\'\n | IGNORE_SERVER_IDS = (server_id_list)\n\nchannel_option:\n FOR CHANNEL channel\n\nserver_id_list:\n [server_id [, server_id] ... ]\n\nCHANGE MASTER TO changes the parameters that the slave server uses for\nconnecting to the master server, for reading the master binary log, and\nreading the slave relay log. It also updates the contents of the master\ninfo and relay log info repositories (see\nhttp://dev.mysql.com/doc/refman/5.7/en/slave-logs.html). CHANGE MASTER\nTO requires the SUPER privilege.\n\nPrior to MySQL 5.7.4, the slave replication threads must be stopped,\nusing STOP SLAVE if necessary, before issuing this statement. In MySQL\n5.7.4 and later, you can issue CHANGE MASTER TO statements on a running\nslave without doing this, depending on the states of the slave SQL\nthread and slave I/O thread. The rules governing such use are provided\nlater in this section.\n\nWhen using a multithreaded slave (in other words slave_parallel_workers\nis greater than 0), stopping the slave can cause "gaps" in the sequence\nof transactions that have been executed from the relay log, regardless\nof whether the slave was stopped intentionally or otherwise. When such\ngaps exist, issuing CHANGE MASTER TO fails. The solution in this\nsituation is to issue START SLAVE UNTIL SQL_AFTER_MTS_GAPS which\nensures that the gaps are closed.\n\nThe optional FOR CHANNEL channel clause enables you to name which\nreplication channel the statement applies to. Providing a FOR CHANNEL\nchannel clause applies the CHANGE MASTER TO statement to a specific\nreplication channel, and is used to add a new channel or modify an\nexisting channel. For example, to add a new channel called channel2:\n\nCHANGE MASTER TO MASTER_HOST=host1, MASTER_PORT=3002 FOR CHANNEL \'channel2\'\n\nIf no clause is named and no extra channels exist, the statement\napplies to the default channel.\n\nWhen using multiple replication channels, if a CHANGE MASTER TO\nstatement does not name a channel using a FOR CHANNEL channel clause,\nan error occurs. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information.\n\nOptions not specified retain their value, except as indicated in the\nfollowing discussion. Thus, in most cases, there is no need to specify\noptions that do not change. For example, if the password to connect to\nyour MySQL master has changed, issue this statement to tell the slave\nabout the new password:\n\nCHANGE MASTER TO MASTER_PASSWORD=\'new3cret\';\n\nMASTER_HOST, MASTER_USER, MASTER_PASSWORD, and MASTER_PORT provide\ninformation to the slave about how to connect to its master:\n\no MASTER_HOST and MASTER_PORT are the host name (or IP address) of the\n master host and its TCP/IP port.\n\n *Note*:\n\n Replication cannot use Unix socket files. You must be able to connect\n to the master MySQL server using TCP/IP.\n\n If you specify the MASTER_HOST or MASTER_PORT option, the slave\n assumes that the master server is different from before (even if the\n option value is the same as its current value.) In this case, the old\n values for the master binary log file name and position are\n considered no longer applicable, so if you do not specify\n MASTER_LOG_FILE and MASTER_LOG_POS in the statement,\n MASTER_LOG_FILE=\'\' and MASTER_LOG_POS=4 are silently appended to it.\n\n Setting MASTER_HOST=\'\' (that is, setting its value explicitly to an\n empty string) is not the same as not setting MASTER_HOST at all.\n Beginning with MySQL 5.5, trying to set MASTER_HOST to an empty\n string fails with an error. Previously, setting MASTER_HOST to an\n empty string caused START SLAVE subsequently to fail. (Bug #28796)\n\n Values used for MASTER_HOST and other CHANGE MASTER TO options are\n checked for linefeed (\\n or 0x0A) characters; the presence of such\n characters in these values causes the statement to fail with\n ER_MASTER_INFO. (Bug #11758581, Bug #50801)\n\no MASTER_USER and MASTER_PASSWORD are the user name and password of the\n account to use for connecting to the master.\n\n MASTER_USER cannot be made empty; setting MASTER_USER = \'\' or leaving\n it unset when setting a value for MASTER_PASSWORD causes an error\n (Bug #13427949).\n\n The password used for a MySQL Replication slave account in a CHANGE\n MASTER TO statement is limited to 32 characters in length; prior to\n MySQL 5.7.5, if the password was longer, the statement succeeded, but\n any excess characters were silently truncated. In MySQL 5.7.5 and\n later, trying to use a password of more than 32 characters causes\n CHANGE MASTER TO to fail. (Bug #11752299, Bug #43439)\n\n The text of a running CHANGE MASTER TO statement, including values\n for MASTER_USER and MASTER_PASSWORD, can be seen in the output of a\n concurrent SHOW PROCESSLIST statement. (The complete text of a START\n SLAVE statement is also visible to SHOW PROCESSLIST.)\n\nThe MASTER_SSL_xxx options, and the MASTER_TLS_VERSION option, specify\nhow the slave uses encryption and ciphers to secure the replication\nconnection. These options can be changed even on slaves that are\ncompiled without SSL support. They are saved to the master info\nrepository, but are ignored if the slave does not have SSL support\nenabled. The MASTER_SSL_xxx options perform the same functions as the\n--ssl-xxx options described in\nhttp://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-options.htm\nl. The correspondence between the two sets of options, and the use of\nthe MASTER_SSL_xxx and MASTER_TLS_VERSION options to set up a secure\nconnection, is explained in\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-solutions-encrypted-\nconnections.html.\n\nAs of MySQL 5.7.3, setting MASTER_SSL=1 means that the slave connection\nto the master must use SSL, or the connection attempt fails. Before\n5.7.3, the use of an SSL connection by the slave was not enforced with\nMASTER_SSL=1. This is analogous to the client-side meaning of the --ssl\ncommand-line option; see\nhttp://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-options.htm\nl.\n\nMASTER_CONNECT_RETRY specifies how many seconds to wait between connect\nretries. The default is 60.\n\nMASTER_RETRY_COUNT limits the number of reconnection attempts and\nupdates the value of the Master_Retry_Count column in the output of\nSHOW SLAVE STATUS. The default value is 24 * 3600 = 86400.\nMASTER_RETRY_COUNT is intended to replace the older\n--master-retry-count server option, and is now the preferred method for\nsetting this limit. You are encouraged not to rely on\n--master-retry-count in new applications and, when upgrading from\nversions earlier than MySQL 5.6, to update any existing applications\nthat rely on it, so that they use CHANGE MASTER TO ...\nMASTER_RETRY_COUNT instead.\n\nMASTER_DELAY specifies how many seconds behind the master the slave\nmust lag. An event received from the master is not executed until at\nleast interval seconds later than its execution on the master. The\ndefault is 0. An error occurs if interval is not a nonnegative integer\nin the range from 0 to 231−1. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-delayed.html.\n\nFrom MySQL 5.7, a CHANGE MASTER TO statement employing the MASTER_DELAY\noption can be executed on a running slave when the slave SQL thread is\nstopped.\n\nMASTER_BIND is for use on replication slaves having multiple network\ninterfaces, and determines which of the slave\'s network interfaces is\nchosen for connecting to the master.\n\nThe address configured with this option, if any, can be seen in the\nMaster_Bind column of the output from SHOW SLAVE STATUS. If you are\nusing slave status log tables (server started with\n--master-info-repository=TABLE), the value can also be seen as the\nMaster_bind column of the mysql.slave_master_info table.\n\nThe ability to bind a replication slave to a specific network interface\nis also supported by NDB Cluster.\n\nMASTER_HEARTBEAT_PERIOD sets the interval in seconds between\nreplication heartbeats. Whenever the master\'s binary log is updated\nwith an event, the waiting period for the next heartbeat is reset.\ninterval is a decimal value having the range 0 to 4294967 seconds and a\nresolution in milliseconds; the smallest nonzero value is 0.001.\nHeartbeats are sent by the master only if there are no unsent events in\nthe binary log file for a period longer than interval.\n\nPrior to MySQL 5.7.4, not including MASTER_HEARTBEAT_PERIOD caused\nCHANGE MASTER TO to reset the heartbeat period (Slave_heartbeat_period)\nto the default, and Slave_received_heartbeats to 0. (Bug #18185490)\n\nIf you are logging master connection information to tables,\nMASTER_HEARTBEAT_PERIOD can be seen as the value of the Heartbeat\ncolumn of the mysql.slave_master_info table.\n\nSetting interval to 0 disables heartbeats altogether. The default value\nfor interval is equal to the value of slave_net_timeout divided by 2.\n\nSetting @@global.slave_net_timeout to a value less than that of the\ncurrent heartbeat interval results in a warning being issued. The\neffect of issuing RESET SLAVE on the heartbeat interval is to reset it\nto the default value.\n\nMASTER_LOG_FILE and MASTER_LOG_POS are the coordinates at which the\nslave I/O thread should begin reading from the master the next time the\nthread starts. RELAY_LOG_FILE and RELAY_LOG_POS are the coordinates at\nwhich the slave SQL thread should begin reading from the relay log the\nnext time the thread starts. If you specify either of MASTER_LOG_FILE\nor MASTER_LOG_POS, you cannot specify RELAY_LOG_FILE or RELAY_LOG_POS.\nIf you specify either of MASTER_LOG_FILE or MASTER_LOG_POS, you also\ncannot specify MASTER_AUTO_POSITION = 1 (described later in this\nsection). If neither of MASTER_LOG_FILE or MASTER_LOG_POS is specified,\nthe slave uses the last coordinates of the slave SQL thread before\nCHANGE MASTER TO was issued. This ensures that there is no\ndiscontinuity in replication, even if the slave SQL thread was late\ncompared to the slave I/O thread, when you merely want to change, say,\nthe password to use.\n\nFrom MySQL 5.7, a CHANGE MASTER TO statement employing RELAY_LOG_FILE,\nRELAY_LOG_POS, or both options can be executed on a running slave when\nthe slave SQL thread is stopped.\n\nIf MASTER_AUTO_POSITION = 1 is used with CHANGE MASTER TO, the slave\nattempts to connect to the master using the GTID-based replication\nprotocol. From MySQL 5.7, this option can be employed by CHANGE MASTER\nTO only if both the slave SQL and slave I/O threads are stopped.\n\nWhen using GTIDs, the slave tells the master which transactions it has\nalready received, executed, or both. To compute this set, it reads the\nglobal value of gtid_executed and the value of the Retrieved_gtid_set\ncolumn from SHOW SLAVE STATUS. The GTID of the last transmitted\ntransaction is included in Retrieved_gtid_set only when the full\ntransaction is received. The slave computes the following set:\n\nUNION(@@global.gtid_executed, Retrieved_gtid_set)\n\nPrior to MySQL 5.7.5, the GTID of the last transmitted transaction was\nincluded in Retrieved_gtid_set even if the transaction was only\npartially transmitted, and the last received GTID was subtracted from\nthis set. (Bug #17943188) Thus, the slave computed the following set:\n\nUNION(@@global.gtid_executed, Retrieved_gtid_set - last_received_GTID)\n\nThis set is sent to the master as part of the initial handshake, and\nthe master sends back all transactions that it has executed which are\nnot part of the set. If any of these transactions have been already\npurged from the master\'s binary log, the master sends the error\nER_MASTER_HAS_PURGED_REQUIRED_GTIDS to the slave, and replication does\nnot start.\n\nWhen GTID-based replication is employed, the coordinates represented by\nMASTER_LOG_FILE and MASTER_LOG_POS are not used, and global transaction\nidentifiers are used instead. Thus the use of either or both of these\noptions together with MASTER_AUTO_POSITION causes an error.\n\nYou can see whether replication is running with autopositioning enabled\nby checking the output of SHOW SLAVE STATUS. (Bug #15992220)\n\ngtid_mode must also be enabled before issuing CHANGE MASTER TO ...\nMASTER_AUTO_POSITION = 1. Otherwise, the statement fails with an error.\n\nTo revert to the older file-based replication protocol after using\nGTIDs, you can issue a new CHANGE MASTER TO statement that specifies\nMASTER_AUTO_POSITION = 0, as well as at least one of MASTER_LOG_FILE or\nMASTER_LOG_POS.\n\nPrior to MySQL 5.7.4, CHANGE MASTER TO deletes all relay log files and\nstarts a new one, unless you specify RELAY_LOG_FILE or RELAY_LOG_POS.\nIn that case, relay log files are kept; the relay_log_purge global\nvariable is set silently to 0. In MySQL 5.7.4 and later, relay logs are\npreserved if at least one of the slave SQL thread and the slave I/O\nthread is running; if both threads are stopped, all relay log files are\ndeleted unless at least one of RELAY_LOG_FILE or RELAY_LOG_POS is\nspecified.\n\nRELAY_LOG_FILE can use either an absolute or relative path, and uses\nthe same base name as MASTER_LOG_FILE. (Bug #12190)\n\nIGNORE_SERVER_IDS takes a comma-separated list of 0 or more server IDs.\nEvents originating from the corresponding servers are ignored, with the\nexception of log rotation and deletion events, which are still recorded\nin the relay log.\n\nIn circular replication, the originating server normally acts as the\nterminator of its own events, so that they are not applied more than\nonce. Thus, this option is useful in circular replication when one of\nthe servers in the circle is removed. Suppose that you have a circular\nreplication setup with 4 servers, having server IDs 1, 2, 3, and 4, and\nserver 3 fails. When bridging the gap by starting replication from\nserver 2 to server 4, you can include IGNORE_SERVER_IDS = (3) in the\nCHANGE MASTER TO statement that you issue on server 4 to tell it to use\nserver 2 as its master instead of server 3. Doing so causes it to\nignore and not to propagate any statements that originated with the\nserver that is no longer in use.\n\nIf a CHANGE MASTER TO statement is issued without any IGNORE_SERVER_IDS\noption, any existing list is preserved. To clear the list of ignored\nservers, it is necessary to use the option with an empty list:\n\nCHANGE MASTER TO IGNORE_SERVER_IDS = ();\n\nPrior to MySQL 5.7.5, RESET SLAVE ALL has no effect on the server ID\nlist. In MySQL 5.7.5 and later, RESET SLAVE ALL clears\nIGNORE_SERVER_IDS. (Bug #18816897)\n\nIf IGNORE_SERVER_IDS contains the server\'s own ID and the server was\nstarted with the --replicate-same-server-id option enabled, an error\nresults.\n\nThe master info repository and the output of SHOW SLAVE STATUS provide\nthe list of servers that are currently ignored. For more information,\nsee http://dev.mysql.com/doc/refman/5.7/en/slave-logs-status.html, and\n[HELP SHOW SLAVE STATUS].\n\nInvoking CHANGE MASTER TO causes the previous values for MASTER_HOST,\nMASTER_PORT, MASTER_LOG_FILE, and MASTER_LOG_POS to be written to the\nerror log, along with other information about the slave\'s state prior\nto execution.\n\nCHANGE MASTER TO causes an implicit commit of an ongoing transaction.\nSee http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\nIn MySQL 5.7.4 and later, the strict requirement to execute STOP SLAVE\nprior to issuing any CHANGE MASTER TO statement (and START SLAVE\nafterward) is removed. Instead of depending on whether the slave is\nstopped, the behavior of CHANGE MASTER TO depends (in MySQL 5.7.4 and\nlater) on the states of the slave SQL thread and slave I/O threads;\nwhich of these threads is stopped or running now determines the options\nthat can or cannot be used with a CHANGE MASTER TO statement at a given\npoint in time. The rules for making this determination are listed here:\n\no If the SQL thread is stopped, you can execute CHANGE MASTER TO using\n any combination that is otherwise allowed of RELAY_LOG_FILE,\n RELAY_LOG_POS, and MASTER_DELAY options, even if the slave I/O thread\n is running. No other options may be used with this statement when the\n I/O thread is running.\n\no If the I/O thread is stopped, you can execute CHANGE MASTER TO using\n any of the options for this statement (in any allowed combination)\n except RELAY_LOG_FILE, RELAY_LOG_POS, or MASTER_DELAY, even when the\n SQL thread is running. These three options may not be used when the\n I/O thread is running.\n\no Both the SQL thread and the I/O thread must be stopped before issuing\n a CHANGE MASTER TO statement that employs MASTER_AUTO_POSITION = 1.\n\nYou can check the current state of the slave SQL and I/O threads using\nSHOW SLAVE STATUS.\n\nFor more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-solutions-switch.htm\nl.\n\nIf you are using statement-based replication and temporary tables, it\nis possible for a CHANGE MASTER TO statement following a STOP SLAVE\nstatement to leave behind temporary tables on the slave. From MySQL\n5.7, a warning (ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO) is issued\nwhenever this occurs. You can avoid this in such cases by making sure\nthat the value of the Slave_open_temp_tables system status variable is\nequal to 0 prior to executing such a CHANGE MASTER TO statement.\n\nCHANGE MASTER TO is useful for setting up a slave when you have the\nsnapshot of the master and have recorded the master binary log\ncoordinates corresponding to the time of the snapshot. After loading\nthe snapshot into the slave to synchronize it with the master, you can\nrun CHANGE MASTER TO MASTER_LOG_FILE=\'log_name\', MASTER_LOG_POS=log_pos\non the slave to specify the coordinates at which the slave should begin\nreading the master binary log.\n\nThe following example changes the master server the slave uses and\nestablishes the master binary log coordinates from which the slave\nbegins reading. This is used when you want to set up the slave to\nreplicate the master:\n\nCHANGE MASTER TO\n MASTER_HOST=\'master2.example.com\',\n MASTER_USER=\'replication\',\n MASTER_PASSWORD=\'password\',\n MASTER_PORT=3306,\n MASTER_LOG_FILE=\'master2-bin.001\',\n MASTER_LOG_POS=4,\n MASTER_CONNECT_RETRY=10;\n\nThe next example shows an operation that is less frequently employed.\nIt is used when the slave has relay log files that you want it to\nexecute again for some reason. To do this, the master need not be\nreachable. You need only use CHANGE MASTER TO and start the SQL thread\n(START SLAVE SQL_THREAD):\n\nCHANGE MASTER TO\n RELAY_LOG_FILE=\'slave-relay-bin.006\',\n RELAY_LOG_POS=4025;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/change-master-to.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/change-master-to.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (438,32,'TIMESTAMP FUNCTION','Syntax:\nTIMESTAMP(expr), TIMESTAMP(expr1,expr2)\n\nWith a single argument, this function returns the date or datetime\nexpression expr as a datetime value. With two arguments, it adds the\ntime expression expr2 to the date or datetime expression expr1 and\nreturns the result as a datetime value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMP(\'2003-12-31\');\n -> \'2003-12-31 00:00:00\'\nmysql> SELECT TIMESTAMP(\'2003-12-31 12:00:00\',\'12:00:00\');\n -> \'2004-01-01 00:00:00\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (439,40,'DROP DATABASE','Syntax:\nDROP {DATABASE | SCHEMA} [IF EXISTS] db_name\n\nDROP DATABASE drops all tables in the database and deletes the\ndatabase. Be very careful with this statement! To use DROP DATABASE,\nyou need the DROP privilege on the database. DROP SCHEMA is a synonym\nfor DROP DATABASE.\n\n*Important*:\n\nWhen a database is dropped, privileges granted specifically for the\ndatabase are not automatically dropped. They must be dropped manually.\nSee [HELP GRANT].\n\nIF EXISTS is used to prevent an error from occurring if the database\ndoes not exist.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-database.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-database.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (440,27,'SHOW GRANTS','Syntax:\nSHOW GRANTS [FOR user]\n\nThis statement displays the privileges that are assigned to a MySQL\nuser account, in the form of GRANT statements that must be executed to\nduplicate the privilege assignments.\n\n*Note*:\n\nTo display nonprivilege information for MySQL accounts, use the SHOW\nCREATE USER statement. See [HELP SHOW CREATE USER].\n\nSHOW GRANTS requires the SELECT privilege for the mysql database,\nexcept to display privileges for the current user.\n\nTo name the account for SHOW GRANTS, use the same format as for the\nGRANT statement; for example, \'jeffrey\'@\'localhost\':\n\nmysql> SHOW GRANTS FOR \'jeffrey\'@\'localhost\';\n+------------------------------------------------------------------+\n| Grants for jeffrey@localhost |\n+------------------------------------------------------------------+\n| GRANT USAGE ON *.* TO `jeffrey`@`localhost` |\n| GRANT SELECT, INSERT, UPDATE ON `db1`.* TO `jeffrey`@`localhost` |\n+------------------------------------------------------------------+\n\nThe host part, if omitted, defaults to \'%\'. For additional information\nabout specifying account names, see\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html.\n\nTo display the privileges granted to the current user (the account you\nare using to connect to the server), you can use any of the following\nstatements:\n\nSHOW GRANTS;\nSHOW GRANTS FOR CURRENT_USER;\nSHOW GRANTS FOR CURRENT_USER();\n\nIf SHOW GRANTS FOR CURRENT_USER (or any of the equivalent syntaxes) is\nused in definer context, such as within a stored procedure that\nexecutes with definer rather than invoker privileges), the grants\ndisplayed are those of the definer and not the invoker.\n\nSHOW GRANTS does not display privileges that are available to the named\naccount but are granted to a different account. For example, if an\nanonymous account exists, the named account might be able to use its\nprivileges, but SHOW GRANTS does not display them.\n\nSHOW GRANTS output does not include IDENTIFIED BY PASSWORD clauses. Use\nthe SHOW CREATE USER statement instead. See [HELP SHOW CREATE USER].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-grants.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-grants.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (441,7,'JSON_CONTAINS_PATH','Syntax:\nJSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...)\n\nReturns 0 or 1 to indicate whether a JSON document contains data at a\ngiven path or paths. Returns NULL if any argument is NULL. An error\noccurs if the json_doc argument is not a valid JSON document, any path\nargument is not a valid path expression, or one_or_all is not \'one\' or\n\'all\'.\n\nTo check for a specific value at a path, use JSON_CONTAINS() instead.\n\nThe return value is 0 if no specified path exists within the document.\nOtherwise, the return value depends on the one_or_all argument:\n\no \'one\': 1 if at least one path exists within the document, 0\n otherwise.\n\no \'all\': 1 if all paths exist within the document, 0 otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SET @j = \'{"a": 1, "b": 2, "c": {"d": 4}}\';\nmysql> SELECT JSON_CONTAINS_PATH(@j, \'one\', \'$.a\', \'$.e\');\n+---------------------------------------------+\n| JSON_CONTAINS_PATH(@j, \'one\', \'$.a\', \'$.e\') |\n+---------------------------------------------+\n| 1 |\n+---------------------------------------------+\nmysql> SELECT JSON_CONTAINS_PATH(@j, \'all\', \'$.a\', \'$.e\');\n+---------------------------------------------+\n| JSON_CONTAINS_PATH(@j, \'all\', \'$.a\', \'$.e\') |\n+---------------------------------------------+\n| 0 |\n+---------------------------------------------+\nmysql> SELECT JSON_CONTAINS_PATH(@j, \'one\', \'$.c.d\');\n+----------------------------------------+\n| JSON_CONTAINS_PATH(@j, \'one\', \'$.c.d\') |\n+----------------------------------------+\n| 1 |\n+----------------------------------------+\nmysql> SELECT JSON_CONTAINS_PATH(@j, \'one\', \'$.a.d\');\n+----------------------------------------+\n| JSON_CONTAINS_PATH(@j, \'one\', \'$.a.d\') |\n+----------------------------------------+\n| 0 |\n+----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (442,33,'ST_MPOINTFROMWKB','ST_MPointFromWKB(wkb[, srid]), ST_MultiPointFromWKB(wkb[, srid])\n\nConstructs a MultiPoint value using its WKB representation and SRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (443,3,'CRC32','Syntax:\nCRC32(expr)\n\nComputes a cyclic redundancy check value and returns a 32-bit unsigned\nvalue. The result is NULL if the argument is NULL. The argument is\nexpected to be a string and (if possible) is treated as one if it is\nnot.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT CRC32(\'MySQL\');\n -> 3259397556\nmysql> SELECT CRC32(\'mysql\');\n -> 2501908538\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (444,13,'STARTPOINT','StartPoint(ls)\n\nST_StartPoint() and StartPoint() are synonyms. For more information,\nsee the description of ST_StartPoint().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (445,24,'DECLARE VARIABLE','Syntax:\nDECLARE var_name [, var_name] ... type [DEFAULT value]\n\nThis statement declares local variables within stored programs. To\nprovide a default value for a variable, include a DEFAULT clause. The\nvalue can be specified as an expression; it need not be a constant. If\nthe DEFAULT clause is missing, the initial value is NULL.\n\nLocal variables are treated like stored routine parameters with respect\nto data type and overflow checking. See [HELP CREATE PROCEDURE].\n\nVariable declarations must appear before cursor or handler\ndeclarations.\n\nLocal variable names are not case-sensitive. Permissible characters and\nquoting rules are the same as for other identifiers, as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/identifiers.html.\n\nThe scope of a local variable is the BEGIN ... END block within which\nit is declared. The variable can be referred to in blocks nested within\nthe declaring block, except those blocks that declare a variable with\nthe same name.\n\nFor examples of variable declarations, see\nhttp://dev.mysql.com/doc/refman/5.7/en/local-variable-scope.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/declare-local-variable.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/declare-local-variable.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (446,4,'MPOLYFROMTEXT','MPolyFromText(wkt[, srid]), MultiPolygonFromText(wkt[, srid])\n\nST_MPolyFromText(), ST_MultiPolygonFromText(), MPolyFromText(), and\nMultiPolygonFromText() are synonyms. For more information, see the\ndescription of ST_MPolyFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (447,20,'NOT BETWEEN','Syntax:\nexpr NOT BETWEEN min AND max\n\nThis is the same as NOT (expr BETWEEN min AND max).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (448,32,'YEARWEEK','Syntax:\nYEARWEEK(date), YEARWEEK(date,mode)\n\nReturns year and week for a date. The year in the result may be\ndifferent from the year in the date argument for the first and the last\nweek of the year.\n\nThe mode argument works exactly like the mode argument to WEEK(). For\nthe single-argument syntax, a mode value of 0 is used. Unlike WEEK(),\nthe value of default_week_format does not influence YEARWEEK().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT YEARWEEK(\'1987-01-01\');\n -> 198652\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (449,16,'BIT_OR','Syntax:\nBIT_OR(expr)\n\nReturns the bitwise OR of all bits in expr. The calculation is\nperformed with 64-bit (BIGINT) precision.\n\nIf there are no matching rows, BIT_OR() returns a neutral value (all\nbits set to 0).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (450,3,'LOG10','Syntax:\nLOG10(X)\n\nReturns the base-10 logarithm of X. If X is less than or equal to\n0.0E0, the function returns NULL and (as of MySQL 5.7.4) a warning\n"Invalid argument for logarithm" is reported.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT LOG10(2);\n -> 0.30102999566398\nmysql> SELECT LOG10(100);\n -> 2\nmysql> SELECT LOG10(-100);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (451,23,'DECIMAL','DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]\n\nA packed "exact" fixed-point number. M is the total number of digits\n(the precision) and D is the number of digits after the decimal point\n(the scale). The decimal point and (for negative numbers) the - sign\nare not counted in M. If D is 0, values have no decimal point or\nfractional part. The maximum number of digits (M) for DECIMAL is 65.\nThe maximum number of supported decimals (D) is 30. If D is omitted,\nthe default is 0. If M is omitted, the default is 10.\n\nUNSIGNED, if specified, disallows negative values.\n\nAll basic calculations (+, -, *, /) with DECIMAL columns are done with\na precision of 65 digits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (452,40,'CREATE FUNCTION','The CREATE FUNCTION statement is used to create stored functions and\nuser-defined functions (UDFs):\n\no For information about creating stored functions, see [HELP CREATE\n PROCEDURE].\n\no For information about creating user-defined functions, see [HELP\n CREATE FUNCTION UDF].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-function.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-function.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (453,20,'<','Syntax:\n<\n\nLess than:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 < 2;\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (454,12,'MD5','Syntax:\nMD5(str)\n\nCalculates an MD5 128-bit checksum for the string. The value is\nreturned as a string of 32 hexadecimal digits, or NULL if the argument\nwas NULL. The return value can, for example, be used as a hash key. See\nthe notes at the beginning of this section about storing hash values\nefficiently.\n\nThe return value is a string in the connection character set.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT MD5(\'testing\');\n -> \'ae2b1fca515949e5d54fb22b8ed95575\'\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (455,32,'DAYOFMONTH','Syntax:\nDAYOFMONTH(date)\n\nReturns the day of the month for date, in the range 1 to 31, or 0 for\ndates such as \'0000-00-00\' or \'2008-00-00\' that have a zero day part.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFMONTH(\'2007-02-03\');\n -> 3\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (456,32,'UNIX_TIMESTAMP','Syntax:\nUNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)\n\nIf called with no argument, returns a Unix timestamp (seconds since\n\'1970-01-01 00:00:00\' UTC). The return value is an integer if no\nargument is given or the argument does not include a fractional seconds\npart, or DECIMAL if an argument is given that includes a fractional\nseconds part.\n\nIf UNIX_TIMESTAMP() is called with a date argument, it returns the\nvalue of the argument as seconds since \'1970-01-01 00:00:00\' UTC. The\ndate argument may be a DATE, DATETIME, or TIMESTAMP string, or a number\nin YYMMDD, YYMMDDHHMMSS, YYYYMMDD, or YYYYMMDDHHMMSS format. If the\nargument includes a time part, it may optionally include a fractional\nseconds part. The server interprets date as a value in the current time\nzone and converts it to an internal value in UTC. Clients can set their\ntime zone as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT UNIX_TIMESTAMP();\n -> 1447431666\nmysql> SELECT UNIX_TIMESTAMP(\'2015-11-13 10:20:19\');\n -> 1447431619\nmysql> SELECT UNIX_TIMESTAMP(\'2015-11-13 10:20:19.012\');\n -> 1447431619.012\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (457,26,'ST_INTERSECTION','ST_Intersection(g1, g2)\n\nReturns a geometry that represents the point set intersection of the\ngeometry values g1 and g2. If any argument is NULL, the return value is\nNULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','mysql> SET @g1 = ST_GeomFromText(\'LineString(1 1, 3 3)\');\nmysql> SET @g2 = ST_GeomFromText(\'LineString(1 3, 3 1)\');\nmysql> SELECT ST_AsText(ST_Intersection(@g1, @g2));\n+--------------------------------------+\n| ST_AsText(ST_Intersection(@g1, @g2)) |\n+--------------------------------------+\n| POINT(2 2) |\n+--------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (458,10,'RENAME USER','Syntax:\nRENAME USER old_user TO new_user\n [, old_user TO new_user] ...\n\nThe RENAME USER statement renames existing MySQL accounts. An error\noccurs for old accounts that do not exist or new accounts that already\nexist.\n\nTo use RENAME USER, you must have the global CREATE USER privilege, or\nthe UPDATE privilege for the mysql database. When the read_only system\nvariable is enabled, RENAME USER additionally requires the SUPER\nprivilege.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html. For example:\n\nRENAME USER \'jeffrey\'@\'localhost\' TO \'jeff\'@\'127.0.0.1\';\n\nThe host name part of the account name, if omitted, defaults to \'%\'.\n\nRENAME USER causes the privileges held by the old user to be those held\nby the new user. However, RENAME USER does not automatically drop or\ninvalidate databases or objects within them that the old user created.\nThis includes stored programs or views for which the DEFINER attribute\nnames the old user. Attempts to access such objects may produce an\nerror if they execute in definer security context. (For information\nabout security context, see\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-security.html.)\n\nThe privilege changes take effect as indicated in\nhttp://dev.mysql.com/doc/refman/5.7/en/privilege-changes.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/rename-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/rename-user.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (459,13,'NUMPOINTS','NumPoints(ls)\n\nST_NumPoints() and NumPoints() are synonyms. For more information, see\nthe description of ST_NumPoints().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (460,40,'ALTER LOGFILE GROUP','Syntax:\nALTER LOGFILE GROUP logfile_group\n ADD UNDOFILE \'file_name\'\n [INITIAL_SIZE [=] size]\n [WAIT]\n ENGINE [=] engine_name\n\nThis statement adds an UNDO file named \'file_name\' to an existing log\nfile group logfile_group. An ALTER LOGFILE GROUP statement has one and\nonly one ADD UNDOFILE clause. No DROP UNDOFILE clause is currently\nsupported.\n\n*Note*:\n\nAll NDB Cluster Disk Data objects share the same namespace. This means\nthat each Disk Data object must be uniquely named (and not merely each\nDisk Data object of a given type). For example, you cannot have a\ntablespace and an undo log file with the same name, or an undo log file\nand a data file with the same name.\n\nThe optional INITIAL_SIZE parameter sets the UNDO file\'s initial size\nin bytes; if not specified, the initial size defaults to 134217728 (128\nMB). You may optionally follow size with a one-letter abbreviation for\nan order of magnitude, similar to those used in my.cnf. Generally, this\nis one of the letters M (megabytes) or G (gigabytes). (Bug #13116514,\nBug #16104705, Bug #62858)\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nThe minimum allowed value for INITIAL_SIZE is 1048576 (1 MB). (Bug\n#29574)\n\n*Note*:\n\nWAIT is parsed but otherwise ignored. This keyword currently has no\neffect, and is intended for future expansion.\n\nThe ENGINE parameter (required) determines the storage engine which is\nused by this log file group, with engine_name being the name of the\nstorage engine. Currently, the only accepted values for engine_name are\n"NDBCLUSTER" and "NDB". The two values are equivalent.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-logfile-group.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-logfile-group.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (461,32,'LOCALTIMESTAMP','Syntax:\nLOCALTIMESTAMP, LOCALTIMESTAMP([fsp])\n\nLOCALTIMESTAMP and LOCALTIMESTAMP() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (462,32,'ADDDATE','Syntax:\nADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)\n\nWhen invoked with the INTERVAL form of the second argument, ADDDATE()\nis a synonym for DATE_ADD(). The related function SUBDATE() is a\nsynonym for DATE_SUB(). For information on the INTERVAL unit argument,\nsee the discussion for DATE_ADD().\n\nmysql> SELECT DATE_ADD(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2008-02-02\'\nmysql> SELECT ADDDATE(\'2008-01-02\', INTERVAL 31 DAY);\n -> \'2008-02-02\'\n\nWhen invoked with the days form of the second argument, MySQL treats it\nas an integer number of days to be added to expr.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT ADDDATE(\'2008-01-02\', 31);\n -> \'2008-02-02\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (463,7,'CREATE_DIGEST','Syntax:\nCREATE_DIGEST(digest_type, str)\n\nCreates a digest from the given string using the given digest type, and\nreturns the digest as a binary string. If digest generation fails, the\nresult is NULL.\n\nSupported digest_type values: \'SHA224\', \'SHA256\', \'SHA384\', \'SHA512\'\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','SET @dig = CREATE_DIGEST(\'SHA512\', The quick brown fox\');\n','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (464,7,'->','Syntax:\ncolumn->path\n\nIn MySQL 5.7.9 and later, the -> operator serves as an alias for the\nJSON_EXTRACT() function when used with two arguments, a column\nidentifier on the left and a JSON path on the right that is evaluated\nagainst the JSON document (the column value). You can use such\nexpressions in place of column identifiers wherever they occur in SQL\nstatements.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html\n\n','mysql> SELECT c, JSON_EXTRACT(c, "$.id"), g\n > FROM jemp\n > WHERE JSON_EXTRACT(c, "$.id") > 1\n > ORDER BY JSON_EXTRACT(c, "$.name");\n+-------------------------------+-----------+------+\n| c | c->"$.id" | g |\n+-------------------------------+-----------+------+\n| {"id": "3", "name": "Barney"} | "3" | 3 |\n| {"id": "4", "name": "Betty"} | "4" | 4 |\n| {"id": "2", "name": "Wilma"} | "2" | 2 |\n+-------------------------------+-----------+------+\n3 rows in set (0.00 sec)\n\nmysql> SELECT c, c->"$.id", g\n > FROM jemp\n > WHERE c->"$.id" > 1\n > ORDER BY c->"$.name";\n+-------------------------------+-----------+------+\n| c | c->"$.id" | g |\n+-------------------------------+-----------+------+\n| {"id": "3", "name": "Barney"} | "3" | 3 |\n| {"id": "4", "name": "Betty"} | "4" | 4 |\n| {"id": "2", "name": "Wilma"} | "2" | 2 |\n+-------------------------------+-----------+------+\n3 rows in set (0.00 sec)\n\nmysql> ALTER TABLE jemp ADD COLUMN n INT;\nQuery OK, 0 rows affected (0.68 sec)\nRecords: 0 Duplicates: 0 Warnings: 0\n\nmysql> UPDATE jemp SET n=1 WHERE c->"$.id" = "4";\nQuery OK, 1 row affected (0.04 sec)\nRows matched: 1 Changed: 1 Warnings: 0\n\nmysql> SELECT c, c->"$.id", g, n\n > FROM jemp\n > WHERE JSON_EXTRACT(c, "$.id") > 1\n > ORDER BY c->"$.name";\n+-------------------------------+-----------+------+------+\n| c | c->"$.id" | g | n |\n+-------------------------------+-----------+------+------+\n| {"id": "3", "name": "Barney"} | "3" | 3 | NULL |\n| {"id": "4", "name": "Betty"} | "4" | 4 | 1 |\n| {"id": "2", "name": "Wilma"} | "2" | 2 | NULL |\n+-------------------------------+-----------+------+------+\n3 rows in set (0.00 sec)\n\nmysql> DELETE FROM jemp WHERE c->"$.id" = "4";\nQuery OK, 1 row affected (0.04 sec)\n\nmysql> SELECT c, c->"$.id", g, n\n > FROM jemp\n > WHERE JSON_EXTRACT(c, "$.id") > 1\n > ORDER BY c->"$.name";\n+-------------------------------+-----------+------+------+\n| c | c->"$.id" | g | n |\n+-------------------------------+-----------+------+------+\n| {"id": "3", "name": "Barney"} | "3" | 3 | NULL |\n| {"id": "2", "name": "Wilma"} | "2" | 2 | NULL |\n+-------------------------------+-----------+------+------+\n2 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (465,40,'ALTER FUNCTION','Syntax:\nALTER FUNCTION func_name [characteristic ...]\n\ncharacteristic:\n COMMENT \'string\'\n | LANGUAGE SQL\n | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }\n | SQL SECURITY { DEFINER | INVOKER }\n\nThis statement can be used to change the characteristics of a stored\nfunction. More than one change may be specified in an ALTER FUNCTION\nstatement. However, you cannot change the parameters or body of a\nstored function using this statement; to make such changes, you must\ndrop and re-create the function using DROP FUNCTION and CREATE\nFUNCTION.\n\nYou must have the ALTER ROUTINE privilege for the function. (That\nprivilege is granted automatically to the function creator.) If binary\nlogging is enabled, the ALTER FUNCTION statement might also require the\nSUPER privilege, as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-logging.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-function.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-function.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (466,8,'DEALLOCATE PREPARE','Syntax:\n{DEALLOCATE | DROP} PREPARE stmt_name\n\nTo deallocate a prepared statement produced with PREPARE, use a\nDEALLOCATE PREPARE statement that refers to the prepared statement\nname. Attempting to execute a prepared statement after deallocating it\nresults in an error. If too many prepared statements are created and\nnot deallocated by either the DEALLOCATE PREPARE statement or the end\nof the session, you might encounter the upper limit enforced by the\nmax_prepared_stmt_count system variable.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/deallocate-prepare.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/deallocate-prepare.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (467,14,'IS_FREE_LOCK','Syntax:\nIS_FREE_LOCK(str)\n\nChecks whether the lock named str is free to use (that is, not locked).\nReturns 1 if the lock is free (no one is using the lock), 0 if the lock\nis in use, and NULL if an error occurs (such as an incorrect argument).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (468,26,'CONVEXHULL','ConvexHull(g)\n\nST_ConvexHull() and ConvexHull() are synonyms. For more information,\nsee the description of ST_ConvexHull().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (469,31,'TOUCHES','Touches(g1, g2)\n\nST_Touches() and Touches() are synonyms. For more information, see the\ndescription of ST_Touches().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (470,23,'AUTO_INCREMENT','The AUTO_INCREMENT attribute can be used to generate a unique identity\nfor new rows:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html\n\n','CREATE TABLE animals (\n id MEDIUMINT NOT NULL AUTO_INCREMENT,\n name CHAR(30) NOT NULL,\n PRIMARY KEY (id)\n);\n\nINSERT INTO animals (name) VALUES\n (\'dog\'),(\'cat\'),(\'penguin\'),\n (\'lax\'),(\'whale\'),(\'ostrich\');\n\nSELECT * FROM animals;\n','http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (471,12,'UNCOMPRESS','Syntax:\nUNCOMPRESS(string_to_uncompress)\n\nUncompresses a string compressed by the COMPRESS() function. If the\nargument is not a compressed value, the result is NULL. This function\nrequires MySQL to have been compiled with a compression library such as\nzlib. Otherwise, the return value is always NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT UNCOMPRESS(COMPRESS(\'any string\'));\n -> \'any string\'\nmysql> SELECT UNCOMPRESS(\'any string\');\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (472,4,'GEOMCOLLFROMTEXT','GeomCollFromText(wkt[, srid]), GeometryCollectionFromText(wkt[, srid])\n\nST_GeomCollFromText(), ST_GeometryCollectionFromText(),\nST_GeomCollFromTxt(), GeomCollFromText(), and\nGeometryCollectionFromText() are synonyms. For more information, see\nthe description of ST_GeomCollFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (473,2,'ST_INTERIORRINGN','ST_InteriorRingN(poly, N)\n\nReturns the N-th interior ring for the Polygon value poly as a\nLineString. Rings are numbered beginning with 1. If the argument is\nNULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1));\n+-------------------------------------------------------+\n| ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1)) |\n+-------------------------------------------------------+\n| LINESTRING(1 1,1 2,2 2,2 1,1 1) |\n+-------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (474,17,'LAST_INSERT_ID','Syntax:\nLAST_INSERT_ID(), LAST_INSERT_ID(expr)\n\nWith no argument, LAST_INSERT_ID() returns a BIGINT UNSIGNED (64-bit)\nvalue representing the first automatically generated value successfully\ninserted for an AUTO_INCREMENT column as a result of the most recently\nexecuted INSERT statement. The value of LAST_INSERT_ID() remains\nunchanged if no rows are successfully inserted.\n\nWith an argument, LAST_INSERT_ID() returns an unsigned integer.\n\nFor example, after inserting a row that generates an AUTO_INCREMENT\nvalue, you can get the value like this:\n\nmysql> SELECT LAST_INSERT_ID();\n -> 195\n\nThe currently executing statement does not affect the value of\nLAST_INSERT_ID(). Suppose that you generate an AUTO_INCREMENT value\nwith one statement, and then refer to LAST_INSERT_ID() in a\nmultiple-row INSERT statement that inserts rows into a table with its\nown AUTO_INCREMENT column. The value of LAST_INSERT_ID() will remain\nstable in the second statement; its value for the second and later rows\nis not affected by the earlier row insertions. (However, if you mix\nreferences to LAST_INSERT_ID() and LAST_INSERT_ID(expr), the effect is\nundefined.)\n\nIf the previous statement returned an error, the value of\nLAST_INSERT_ID() is undefined. For transactional tables, if the\nstatement is rolled back due to an error, the value of LAST_INSERT_ID()\nis left undefined. For manual ROLLBACK, the value of LAST_INSERT_ID()\nis not restored to that before the transaction; it remains as it was at\nthe point of the ROLLBACK.\n\nPrior to MySQL 5.7.3, this function was not replicated correctly if\nreplication filtering rules were in use. (Bug #17234370, Bug #69861)\n\nWithin the body of a stored routine (procedure or function) or a\ntrigger, the value of LAST_INSERT_ID() changes the same way as for\nstatements executed outside the body of these kinds of objects. The\neffect of a stored routine or trigger upon the value of\nLAST_INSERT_ID() that is seen by following statements depends on the\nkind of routine:\n\no If a stored procedure executes statements that change the value of\n LAST_INSERT_ID(), the changed value is seen by statements that follow\n the procedure call.\n\no For stored functions and triggers that change the value, the value is\n restored when the function or trigger ends, so following statements\n will not see a changed value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (475,3,'FLOOR','Syntax:\nFLOOR(X)\n\nReturns the largest integer value not greater than X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT FLOOR(1.23), FLOOR(-1.23);\n -> 1, -2\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (476,3,'COS','Syntax:\nCOS(X)\n\nReturns the cosine of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT COS(PI());\n -> -1\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (477,16,'STD','Syntax:\nSTD(expr)\n\nReturns the population standard deviation of expr. STD() is a synonym\nfor the standard SQL function STDDEV_POP(), provided as a MySQL\nextension.\n\nIf there are no matching rows, STD() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (478,32,'DATE FUNCTION','Syntax:\nDATE(expr)\n\nExtracts the date part of the date or datetime expression expr.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DATE(\'2003-12-31 01:02:03\');\n -> \'2003-12-31\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (479,3,'TAN','Syntax:\nTAN(X)\n\nReturns the tangent of X, where X is given in radians.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT TAN(PI());\n -> -1.2246063538224e-16\nmysql> SELECT TAN(PI()+1);\n -> 1.5574077246549\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (480,32,'WEEKOFYEAR','Syntax:\nWEEKOFYEAR(date)\n\nReturns the calendar week of the date as a number in the range from 1\nto 53. WEEKOFYEAR() is a compatibility function that is equivalent to\nWEEK(date,3).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKOFYEAR(\'2008-02-20\');\n -> 8\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (481,26,'ST_CONVEXHULL','ST_ConvexHull(g)\n\nReturns a geometry that represents the convex hull of the geometry\nvalue g. If the argument is NULL, the return value is NULL.\n\nThis function computes a geometry\'s convex hull by first checking\nwhether its vertex points are colinear. The function returns a linear\nhull if so, a polygon hull otherwise. This function processes geometry\ncollections by extracting all vertex points of all components of the\ncollection, creating a MultiPoint value from them, and computing its\nconvex hull. If the argument is an empty geometry collection, the\nreturn value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html\n\n','mysql> SET @g = \'MULTIPOINT(5 0,25 0,15 10,15 25)\';\nmysql> SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText(@g)));\n+-----------------------------------------------+\n| ST_AsText(ST_ConvexHull(ST_GeomFromText(@g))) |\n+-----------------------------------------------+\n| POLYGON((5 0,25 0,15 25,5 0)) |\n+-----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (482,32,'SUBTIME','Syntax:\nSUBTIME(expr1,expr2)\n\nSUBTIME() returns expr1 − expr2 expressed as a value in the same\nformat as expr1. expr1 is a time or datetime expression, and expr2 is a\ntime expression.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT SUBTIME(\'2007-12-31 23:59:59.999999\',\'1 1:1:1.000002\');\n -> \'2007-12-30 22:58:58.999997\'\nmysql> SELECT SUBTIME(\'01:00:00.999999\', \'02:00:00.999998\');\n -> \'-00:59:59.999999\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (483,3,'LOG2','Syntax:\nLOG2(X)\n\nReturns the base-2 logarithm of X. If X is less than or equal to 0.0E0,\nthe function returns NULL and (as of MySQL 5.7.4) a warning "Invalid\nargument for logarithm" is reported.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT LOG2(65536);\n -> 16\nmysql> SELECT LOG2(-100);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (484,12,'UNCOMPRESSED_LENGTH','Syntax:\nUNCOMPRESSED_LENGTH(compressed_string)\n\nReturns the length that the compressed string had before being\ncompressed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT(\'a\',30)));\n -> 30\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (485,40,'DROP TABLE','Syntax:\nDROP [TEMPORARY] TABLE [IF EXISTS]\n tbl_name [, tbl_name] ...\n [RESTRICT | CASCADE]\n\nDROP TABLE removes one or more tables. You must have the DROP privilege\nfor each table.\n\nBe careful with this statement! It removes the table definition and all\ntable data. For a partitioned table, it permanently removes the table\ndefinition, all its partitions, and all data stored in those\npartitions. It also removes partition definitions associated with the\ndropped table.\n\nDROP TABLE causes an implicit commit, except when used with the\nTEMPORARY keyword. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\n*Important*:\n\nWhen a table is dropped, privileges granted specifically for the table\nare not automatically dropped. They must be dropped manually. See [HELP\nGRANT].\n\nIf any tables named in the argument list do not exist, the statement\nreturns an error indicating by name which nonexisting tables it was\nunable to drop, but also drops all tables in the list that do exist.\n\nUse IF EXISTS to prevent an error from occurring for tables that do not\nexist. Instead of an error, a NOTE is generated for each nonexistent\ntable; these notes can be displayed with SHOW WARNINGS. See [HELP SHOW\nWARNINGS].\n\nIF EXISTS can also be useful for dropping tables in unusual\ncircumstances under which there is an .frm file but no table managed by\nthe storage engine. (For example, if an abnormal server exit occurs\nafter removal of the table from the storage engine but before .frm file\nremoval.)\n\nThe TEMPORARY keyword has the following effects:\n\no The statement drops only TEMPORARY tables.\n\no The statement does not cause an implicit commit.\n\no No access rights are checked. A TEMPORARY table is visible only with\n the session that created it, so no check is necessary.\n\nUsing TEMPORARY is a good way to ensure that you do not accidentally\ndrop a non-TEMPORARY table.\n\nThe RESTRICT and CASCADE keywords do nothing. They are permitted to\nmake porting easier from other database systems.\n\nDROP TABLE is not supported with all innodb_force_recovery settings.\nSee\nhttp://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (486,3,'POW','Syntax:\nPOW(X,Y)\n\nReturns the value of X raised to the power of Y.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT POW(2,2);\n -> 4\nmysql> SELECT POW(2,-2);\n -> 0.25\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (487,32,'NOW','Syntax:\nNOW([fsp])\n\nReturns the current date and time as a value in \'YYYY-MM-DD HH:MM:SS\'\nor YYYYMMDDHHMMSS format, depending on whether the function is used in\na string or numeric context. The value is expressed in the current time\nzone.\n\nIf the fsp argument is given to specify a fractional seconds precision\nfrom 0 to 6, the return value includes a fractional seconds part of\nthat many digits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT NOW();\n -> \'2007-12-15 23:50:26\'\nmysql> SELECT NOW() + 0;\n -> 20071215235026.000000\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (488,27,'SHOW ENGINES','Syntax:\nSHOW [STORAGE] ENGINES\n\nSHOW ENGINES displays status information about the server\'s storage\nengines. This is particularly useful for checking whether a storage\nengine is supported, or to see what the default engine is. This\ninformation can also be obtained from the INFORMATION_SCHEMA ENGINES\ntable. See http://dev.mysql.com/doc/refman/5.7/en/engines-table.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-engines.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-engines.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (489,4,'ST_POINTFROMTEXT','ST_PointFromText(wkt[, srid])\n\nConstructs a Point value using its WKT representation and SRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (490,13,'ST_ENDPOINT','ST_EndPoint(ls)\n\nReturns the Point that is the endpoint of the LineString value ls. If\nthe argument is NULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_AsText(ST_EndPoint(ST_GeomFromText(@ls)));\n+----------------------------------------------+\n| ST_AsText(ST_EndPoint(ST_GeomFromText(@ls))) |\n+----------------------------------------------+\n| POINT(3 3) |\n+----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (491,14,'IS_IPV6','Syntax:\nIS_IPV6(expr)\n\nReturns 1 if the argument is a valid IPv6 address specified as a\nstring, 0 otherwise. This function does not consider IPv4 addresses to\nbe valid IPv6 addresses.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT IS_IPV6(\'10.0.5.9\'), IS_IPV6(\'::1\');\n -> 0, 1\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (492,23,'LONGBLOB','LONGBLOB\n\nA BLOB column with a maximum length of 4,294,967,295 or 4GB (232 − 1)\nbytes. The effective maximum length of LONGBLOB columns depends on the\nconfigured maximum packet size in the client/server protocol and\navailable memory. Each LONGBLOB value is stored using a 4-byte length\nprefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (493,31,'ST_OVERLAPS','ST_Overlaps(g1, g2)\n\nTwo geometries spatially overlap if they intersect and their\nintersection results in a geometry of the same dimension but not equal\nto either of the given geometries.\n\nThis function returns 1 or 0 to indicate whether g1 spatially overlaps\ng2.\n\nThis function returns 0 if called with an inapplicable geometry\nargument type combination. For example, it returns 0 if called with\ngeometries of different dimensions or any argument is a Point.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (494,23,'YEAR DATA TYPE','YEAR[(4)]\n\nA year in four-digit format. MySQL displays YEAR values in YYYY format,\nbut permits assignment of values to YEAR columns using either strings\nor numbers. Values display as 1901 to 2155, and 0000.\n\n*Note*:\n\nThe YEAR(2) data type is deprecated and support for it is removed in\nMySQL 5.7.5. To convert YEAR(2) columns to YEAR(4), see\nhttp://dev.mysql.com/doc/refman/5.7/en/migrating-to-year4.html.\n\nFor additional information about YEAR display format and interpretation\nof input values, see http://dev.mysql.com/doc/refman/5.7/en/year.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (495,16,'SUM','Syntax:\nSUM([DISTINCT] expr)\n\nReturns the sum of expr. If the return set has no rows, SUM() returns\nNULL. The DISTINCT keyword can be used to sum only the distinct values\nof expr.\n\nIf there are no matching rows, SUM() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (496,7,'JSON_SET','Syntax:\nJSON_SET(json_doc, path, val[, path, val] ...)\n\nInserts or updates data in a JSON document and returns the result.\nReturns NULL if any argument is NULL or path, if given, does not locate\nan object. An error occurs if the json_doc argument is not a valid JSON\ndocument or any path argument is not a valid path expression or\ncontains a * or ** wildcard.\n\nThe path-value pairs are evaluated left to right. The document produced\nby evaluating one pair becomes the new value against which the next\npair is evaluated.\n\nA path-value pair for an existing path in the document overwrites the\nexisting document value with the new value. A path-value pair for a\nnonexisting path in the document adds the value to the document if the\npath identifies one of these types of values:\n\no A member not present in an existing object. The member is added to\n the object and associated with the new value.\n\no A position past the end of an existing array. The array is extended\n with the new value. If the existing value is not an array, it is\n autowrapped as an array, then extended with the new value.\n\nOtherwise, a path-value pair for a nonexisting path in the document is\nignored and has no effect.\n\nThe JSON_SET(), JSON_INSERT(), and JSON_REPLACE() functions are\nrelated:\n\no JSON_SET() replaces existing values and adds nonexisting values.\n\no JSON_INSERT() inserts values without replacing existing values.\n\no JSON_REPLACE() replaces only existing values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'{ "a": 1, "b": [2, 3]}\';\nmysql> SELECT JSON_SET(@j, \'$.a\', 10, \'$.c\', \'[true, false]\');\n+-------------------------------------------------+\n| JSON_SET(@j, \'$.a\', 10, \'$.c\', \'[true, false]\') |\n+-------------------------------------------------+\n| {"a": 10, "b": [2, 3], "c": "[true, false]"} |\n+-------------------------------------------------+\nmysql> SELECT JSON_INSERT(@j, \'$.a\', 10, \'$.c\', \'[true, false]\');\n+----------------------------------------------------+\n| JSON_INSERT(@j, \'$.a\', 10, \'$.c\', \'[true, false]\') |\n+----------------------------------------------------+\n| {"a": 1, "b": [2, 3], "c": "[true, false]"} |\n+----------------------------------------------------+\nmysql> SELECT JSON_REPLACE(@j, \'$.a\', 10, \'$.c\', \'[true, false]\');\n+-----------------------------------------------------+\n| JSON_REPLACE(@j, \'$.a\', 10, \'$.c\', \'[true, false]\') |\n+-----------------------------------------------------+\n| {"a": 10, "b": [2, 3]} |\n+-----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (497,38,'REPEAT FUNCTION','Syntax:\nREPEAT(str,count)\n\nReturns a string consisting of the string str repeated count times. If\ncount is less than 1, returns an empty string. Returns NULL if str or\ncount are NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT REPEAT(\'MySQL\', 3);\n -> \'MySQLMySQLMySQL\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (498,38,'SOUNDEX','Syntax:\nSOUNDEX(str)\n\nReturns a soundex string from str. Two strings that sound almost the\nsame should have identical soundex strings. A standard soundex string\nis four characters long, but the SOUNDEX() function returns an\narbitrarily long string. You can use SUBSTRING() on the result to get a\nstandard soundex string. All nonalphabetic characters in str are\nignored. All international alphabetic characters outside the A-Z range\nare treated as vowels.\n\n*Important*:\n\nWhen using SOUNDEX(), you should be aware of the following limitations:\n\no This function, as currently implemented, is intended to work well\n with strings that are in the English language only. Strings in other\n languages may not produce reliable results.\n\no This function is not guaranteed to provide consistent results with\n strings that use multibyte character sets, including utf-8. See Bug\n #22638 for more information.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT SOUNDEX(\'Hello\');\n -> \'H400\'\nmysql> SELECT SOUNDEX(\'Quadratically\');\n -> \'Q36324\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (499,7,'MBRTOUCHES','MBRTouches(g1, g2)\n\nTwo geometries spatially touch if their interiors do not intersect, but\nthe boundary of one of the geometries intersects either the boundary or\nthe interior of the other.\n\nThis function returns 1 or 0 to indicate whether the minimum bounding\nrectangles of the two geometries g1 and g2 touch.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (500,40,'DROP EVENT','Syntax:\nDROP EVENT [IF EXISTS] event_name\n\nThis statement drops the event named event_name. The event immediately\nceases being active, and is deleted completely from the server.\n\nIf the event does not exist, the error ERROR 1517 (HY000): Unknown\nevent \'event_name\' results. You can override this and cause the\nstatement to generate a warning for nonexistent events instead using IF\nEXISTS.\n\nThis statement requires the EVENT privilege for the schema to which the\nevent to be dropped belongs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-event.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-event.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (501,23,'VARBINARY','VARBINARY(M)\n\nThe VARBINARY type is similar to the VARCHAR type, but stores binary\nbyte strings rather than nonbinary character strings. M represents the\nmaximum column length in bytes.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (502,27,'LOAD INDEX','Syntax:\nLOAD INDEX INTO CACHE\n tbl_index_list [, tbl_index_list] ...\n\ntbl_index_list:\n tbl_name\n [PARTITION (partition_list | ALL)]\n [[INDEX|KEY] (index_name[, index_name] ...)]\n [IGNORE LEAVES]\n\npartition_list:\n partition_name[, partition_name][, ...]\n\nThe LOAD INDEX INTO CACHE statement preloads a table index into the key\ncache to which it has been assigned by an explicit CACHE INDEX\nstatement, or into the default key cache otherwise.\n\nLOAD INDEX INTO CACHE is used only for MyISAM tables. In MySQL 5.7, it\nis also supported for partitioned MyISAM tables; in addition, indexes\non partitioned tables can be preloaded for one, several, or all\npartitions.\n\nThe IGNORE LEAVES modifier causes only blocks for the nonleaf nodes of\nthe index to be preloaded.\n\nIGNORE LEAVES is also supported for partitioned MyISAM tables.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/load-index.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/load-index.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (503,28,'UNION','Syntax:\nSELECT ...\nUNION [ALL | DISTINCT] SELECT ...\n[UNION [ALL | DISTINCT] SELECT ...]\n\nUNION is used to combine the result from multiple SELECT statements\ninto a single result set.\n\nThe column names from the first SELECT statement are used as the column\nnames for the results returned. Selected columns listed in\ncorresponding positions of each SELECT statement should have the same\ndata type. (For example, the first column selected by the first\nstatement should have the same type as the first column selected by the\nother statements.)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/union.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/union.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (504,32,'TO_DAYS','Syntax:\nTO_DAYS(date)\n\nGiven a date date, returns a day number (the number of days since year\n0).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TO_DAYS(950501);\n -> 728779\nmysql> SELECT TO_DAYS(\'2007-10-07\');\n -> 733321\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (505,27,'SHOW INDEX','Syntax:\nSHOW {INDEX | INDEXES | KEYS}\n {FROM | IN} tbl_name\n [{FROM | IN} db_name]\n [WHERE expr]\n\nSHOW INDEX returns table index information. The format resembles that\nof the SQLStatistics call in ODBC. This statement requires some\nprivilege for any column in the table.\n\nYou can use db_name.tbl_name as an alternative to the tbl_name FROM\ndb_name syntax. These two statements are equivalent:\n\nSHOW INDEX FROM mytable FROM mydb;\nSHOW INDEX FROM mydb.mytable;\n\nThe WHERE clause can be given to select rows using more general\nconditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nmysql> SHOW INDEX FROM City\\G\n*************************** 1. row ***************************\n Table: city\n Non_unique: 0\n Key_name: PRIMARY\n Seq_in_index: 1\n Column_name: ID\n Collation: A\n Cardinality: 4321\n Sub_part: NULL\n Packed: NULL\n Null: \n Index_type: BTREE\n Comment: \nIndex_comment: \n*************************** 2. row ***************************\n Table: city\n Non_unique: 1\n Key_name: CountryCode\n Seq_in_index: 1\n Column_name: CountryCode\n Collation: A\n Cardinality: 4321\n Sub_part: NULL\n Packed: NULL\n Null: \n Index_type: BTREE\n Comment: \nIndex_comment: \n\nSHOW INDEX returns the following fields:\n\no Table\n\n The name of the table.\n\no Non_unique\n\n 0 if the index cannot contain duplicates, 1 if it can.\n\no Key_name\n\n The name of the index. If the index is the primary key, the name is\n always PRIMARY.\n\no Seq_in_index\n\n The column sequence number in the index, starting with 1.\n\no Column_name\n\n The column name.\n\no Collation\n\n How the column is sorted in the index. This can have values A\n (ascending) or NULL (not sorted).\n\no Cardinality\n\n An estimate of the number of unique values in the index. To update\n this number, run ANALYZE TABLE or (for MyISAM tables) myisamchk -a.\n\n Cardinality is counted based on statistics stored as integers, so the\n value is not necessarily exact even for small tables. The higher the\n cardinality, the greater the chance that MySQL uses the index when\n doing joins.\n\no Sub_part\n\n The index prefix. That is, the number of indexed characters if the\n column is only partly indexed, NULL if the entire column is indexed.\n\n *Note*:\n\n Prefix limits are measured in bytes, whereas the prefix length in\n CREATE TABLE, ALTER TABLE, and CREATE INDEX statements is interpreted\n as number of characters for nonbinary string types (CHAR, VARCHAR,\n TEXT) and number of bytes for binary string types (BINARY, VARBINARY,\n BLOB). Take this into account when specifying a prefix length for a\n nonbinary string column that uses a multibyte character set.\n\n For additional information about index prefixes, see\n http://dev.mysql.com/doc/refman/5.7/en/column-indexes.html, and [HELP\n CREATE INDEX].\n\no Packed\n\n Indicates how the key is packed. NULL if it is not.\n\no Null\n\n Contains YES if the column may contain NULL values and \'\' if not.\n\no Index_type\n\n The index method used (BTREE, FULLTEXT, HASH, RTREE).\n\no Comment\n\n Information about the index not described in its own column, such as\n disabled if the index is disabled.\n\no Index_comment\n\n Any comment provided for the index with a COMMENT attribute when the\n index was created.\n\nYou can also obtain information about table indexes from\nINFORMATION_SCHEMA, which contains a STATISTICS table. See\nhttp://dev.mysql.com/doc/refman/5.7/en/statistics-table.html.\n\nYou can list a table\'s indexes with the mysqlshow -k db_name tbl_name\ncommand.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-index.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-index.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (506,27,'SHOW CREATE DATABASE','Syntax:\nSHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name\n\nShows the CREATE DATABASE statement that creates the named database. If\nthe SHOW statement includes an IF NOT EXISTS clause, the output too\nincludes such a clause. SHOW CREATE SCHEMA is a synonym for SHOW CREATE\nDATABASE.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-create-database.html\n\n','mysql> SHOW CREATE DATABASE test\\G\n*************************** 1. row ***************************\n Database: test\nCreate Database: CREATE DATABASE `test`\n /*!40100 DEFAULT CHARACTER SET latin1 */\n\nmysql> SHOW CREATE SCHEMA test\\G\n*************************** 1. row ***************************\n Database: test\nCreate Database: CREATE DATABASE `test`\n /*!40100 DEFAULT CHARACTER SET latin1 */\n','http://dev.mysql.com/doc/refman/5.7/en/show-create-database.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (507,15,'!','Syntax:\nNOT, !\n\nLogical NOT. Evaluates to 1 if the operand is 0, to 0 if the operand is\nnonzero, and NOT NULL returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html\n\n','mysql> SELECT NOT 10;\n -> 0\nmysql> SELECT NOT 0;\n -> 1\nmysql> SELECT NOT NULL;\n -> NULL\nmysql> SELECT ! (1+1);\n -> 0\nmysql> SELECT ! 1+1;\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (508,24,'DECLARE HANDLER','Syntax:\nDECLARE handler_action HANDLER\n FOR condition_value [, condition_value] ...\n statement\n\nhandler_action:\n CONTINUE\n | EXIT\n | UNDO\n\ncondition_value:\n mysql_error_code\n | SQLSTATE [VALUE] sqlstate_value\n | condition_name\n | SQLWARNING\n | NOT FOUND\n | SQLEXCEPTION\n\nThe DECLARE ... HANDLER statement specifies a handler that deals with\none or more conditions. If one of these conditions occurs, the\nspecified statement executes. statement can be a simple statement such\nas SET var_name = value, or a compound statement written using BEGIN\nand END (see [HELP BEGIN END]).\n\nHandler declarations must appear after variable or condition\ndeclarations.\n\nThe handler_action value indicates what action the handler takes after\nexecution of the handler statement:\n\no CONTINUE: Execution of the current program continues.\n\no EXIT: Execution terminates for the BEGIN ... END compound statement\n in which the handler is declared. This is true even if the condition\n occurs in an inner block.\n\no UNDO: Not supported.\n\nThe condition_value for DECLARE ... HANDLER indicates the specific\ncondition or class of conditions that activates the handler. It can\ntake the following forms:\n\no mysql_error_code: An integer literal indicating a MySQL error code,\n such as 1051 to specify "unknown table":\n\nDECLARE CONTINUE HANDLER FOR 1051\n BEGIN\n -- body of handler\n END;\n\n Do not use MySQL error code 0 because that indicates success rather\n than an error condition. For a list of MySQL error codes, see\n http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html.\n\no SQLSTATE [VALUE] sqlstate_value: A 5-character string literal\n indicating an SQLSTATE value, such as \'42S01\' to specify "unknown\n table":\n\nDECLARE CONTINUE HANDLER FOR SQLSTATE \'42S02\'\n BEGIN\n -- body of handler\n END;\n\n Do not use SQLSTATE values that begin with \'00\' because those\n indicate success rather than an error condition. For a list of\n SQLSTATE values, see\n http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html.\n\no condition_name: A condition name previously specified with DECLARE\n ... CONDITION. A condition name can be associated with a MySQL error\n code or SQLSTATE value. See [HELP DECLARE CONDITION].\n\no SQLWARNING: Shorthand for the class of SQLSTATE values that begin\n with \'01\'.\n\nDECLARE CONTINUE HANDLER FOR SQLWARNING\n BEGIN\n -- body of handler\n END;\n\no NOT FOUND: Shorthand for the class of SQLSTATE values that begin with\n \'02\'. This is relevant within the context of cursors and is used to\n control what happens when a cursor reaches the end of a data set. If\n no more rows are available, a No Data condition occurs with SQLSTATE\n value \'02000\'. To detect this condition, you can set up a handler for\n it or for a NOT FOUND condition.\n\nDECLARE CONTINUE HANDLER FOR NOT FOUND\n BEGIN\n -- body of handler\n END;\n\n For another example, see\n http://dev.mysql.com/doc/refman/5.7/en/cursors.html. The NOT FOUND\n condition also occurs for SELECT ... INTO var_list statements that\n retrieve no rows.\n\no SQLEXCEPTION: Shorthand for the class of SQLSTATE values that do not\n begin with \'00\', \'01\', or \'02\'.\n\nDECLARE CONTINUE HANDLER FOR SQLEXCEPTION\n BEGIN\n -- body of handler\n END;\n\nFor information about how the server chooses handlers when a condition\noccurs, see http://dev.mysql.com/doc/refman/5.7/en/handler-scope.html.\n\nIf a condition occurs for which no handler has been declared, the\naction taken depends on the condition class:\n\no For SQLEXCEPTION conditions, the stored program terminates at the\n statement that raised the condition, as if there were an EXIT\n handler. If the program was called by another stored program, the\n calling program handles the condition using the handler selection\n rules applied to its own handlers.\n\no For SQLWARNING conditions, the program continues executing, as if\n there were a CONTINUE handler.\n\no For NOT FOUND conditions, if the condition was raised normally, the\n action is CONTINUE. If it was raised by SIGNAL or RESIGNAL, the\n action is EXIT.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/declare-handler.html\n\n','mysql> CREATE TABLE test.t (s1 INT, PRIMARY KEY (s1));\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> delimiter //\n\nmysql> CREATE PROCEDURE handlerdemo ()\n -> BEGIN\n -> DECLARE CONTINUE HANDLER FOR SQLSTATE \'23000\' SET @x2 = 1;\n -> SET @x = 1;\n -> INSERT INTO test.t VALUES (1);\n -> SET @x = 2;\n -> INSERT INTO test.t VALUES (1);\n -> SET @x = 3;\n -> END;\n -> //\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> CALL handlerdemo()//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT @x//\n +------+\n | @x |\n +------+\n | 3 |\n +------+\n 1 row in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/declare-handler.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (509,23,'DOUBLE','DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]\n\nA normal-size (double-precision) floating-point number. Permissible\nvalues are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and\n2.2250738585072014E-308 to 1.7976931348623157E+308. These are the\ntheoretical limits, based on the IEEE standard. The actual range might\nbe slightly smaller depending on your hardware or operating system.\n\nM is the total number of digits and D is the number of digits following\nthe decimal point. If M and D are omitted, values are stored to the\nlimits permitted by the hardware. A double-precision floating-point\nnumber is accurate to approximately 15 decimal places.\n\nUNSIGNED, if specified, disallows negative values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (510,23,'TIME','TIME[(fsp)]\n\nA time. The range is \'-838:59:59.000000\' to \'838:59:59.000000\'. MySQL\ndisplays TIME values in \'HH:MM:SS[.fraction]\' format, but permits\nassignment of values to TIME columns using either strings or numbers.\n\nAn optional fsp value in the range from 0 to 6 may be given to specify\nfractional seconds precision. A value of 0 signifies that there is no\nfractional part. If omitted, the default precision is 0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (511,17,'SYSTEM_USER','Syntax:\nSYSTEM_USER()\n\nSYSTEM_USER() is a synonym for USER().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (512,40,'TRUNCATE TABLE','Syntax:\nTRUNCATE [TABLE] tbl_name\n\nTRUNCATE TABLE empties a table completely. It requires the DROP\nprivilege.\n\nLogically, TRUNCATE TABLE is similar to a DELETE statement that deletes\nall rows, or a sequence of DROP TABLE and CREATE TABLE statements. To\nachieve high performance, it bypasses the DML method of deleting data.\nThus, it cannot be rolled back, it does not cause ON DELETE triggers to\nfire, and it cannot be performed for InnoDB tables with parent-child\nforeign key relationships.\n\nAlthough TRUNCATE TABLE is similar to DELETE, it is classified as a DDL\nstatement rather than a DML statement. It differs from DELETE in the\nfollowing ways:\n\no Truncate operations drop and re-create the table, which is much\n faster than deleting rows one by one, particularly for large tables.\n\no Truncate operations cause an implicit commit, and so cannot be rolled\n back. See\n http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\no Truncation operations cannot be performed if the session holds an\n active table lock.\n\no TRUNCATE TABLE fails for an InnoDB table or NDB table if there are\n any FOREIGN KEY constraints from other tables that reference the\n table. Foreign key constraints between columns of the same table are\n permitted.\n\no Truncation operations do not return a meaningful value for the number\n of deleted rows. The usual result is "0 rows affected," which should\n be interpreted as "no information."\n\no As long as the table format file tbl_name.frm is valid, the table can\n be re-created as an empty table with TRUNCATE TABLE, even if the data\n or index files have become corrupted.\n\no Any AUTO_INCREMENT value is reset to its start value. This is true\n even for MyISAM and InnoDB, which normally do not reuse sequence\n values.\n\no When used with partitioned tables, TRUNCATE TABLE preserves the\n partitioning; that is, the data and index files are dropped and\n re-created, while the partition definitions (.par) file is\n unaffected.\n\no The TRUNCATE TABLE statement does not invoke ON DELETE triggers.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/truncate-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/truncate-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (513,32,'CURRENT_DATE','Syntax:\nCURRENT_DATE, CURRENT_DATE()\n\nCURRENT_DATE and CURRENT_DATE() are synonyms for CURDATE().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (514,8,'START SLAVE','Syntax:\nSTART SLAVE [thread_types] [until_option] [connection_options] [channel_option]\n\nthread_types:\n [thread_type [, thread_type] ... ]\n\nthread_type:\n IO_THREAD | SQL_THREAD\n\nuntil_option:\n UNTIL { {SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS} = gtid_set\n | MASTER_LOG_FILE = \'log_name\', MASTER_LOG_POS = log_pos\n | RELAY_LOG_FILE = \'log_name\', RELAY_LOG_POS = log_pos\n | SQL_AFTER_MTS_GAPS }\n\nconnection_options:\n [USER=\'user_name\'] [PASSWORD=\'user_pass\'] [DEFAULT_AUTH=\'plugin_name\'] [PLUGIN_DIR=\'plugin_dir\']\n\n\nchannel_option:\n FOR CHANNEL channel\n\ngtid_set:\n uuid_set [, uuid_set] ...\n | \'\'\n\nuuid_set:\n uuid:interval[:interval]...\n\nuuid:\n hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh\n\nh:\n [0-9,A-F]\n\ninterval:\n n[-n]\n\n (n >= 1)\n\nSTART SLAVE with no thread_type options starts both of the slave\nthreads. The I/O thread reads events from the master server and stores\nthem in the relay log. The SQL thread reads events from the relay log\nand executes them. START SLAVE requires the SUPER privilege.\n\nIf START SLAVE succeeds in starting the slave threads, it returns\nwithout any error. However, even in that case, it might be that the\nslave threads start and then later stop (for example, because they do\nnot manage to connect to the master or read its binary log, or some\nother problem). START SLAVE does not warn you about this. You must\ncheck the slave\'s error log for error messages generated by the slave\nthreads, or check that they are running satisfactorily with SHOW SLAVE\nSTATUS.\n\nIn MySQL 5.7, START SLAVE causes an implicit commit of an ongoing\ntransaction. See\nhttp://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html.\n\ngtid_next must be set to AUTOMATIC before issuing this statement.\n\nThe optional FOR CHANNEL channel clause enables you to name which\nreplication channel the statement applies to. Providing a FOR CHANNEL\nchannel clause applies the START SLAVE statement to a specific\nreplication channel. If no clause is named and no extra channels exist,\nthe statement applies to the default channel. If a START SLAVE\nstatement does not have a channel defined when using multiple channels,\nthis statement starts the specified threads for all channels. This\nstatement is disallowed for the group_replication_recovery channel. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information.\n\nMySQL supports pluggable user-password authentication with START SLAVE\nwith the USER, PASSWORD, DEFAULT_AUTH and PLUGIN_DIR options, as\ndescribed in the following list:\n\no USER: User name. Cannot be set to an empty or null string, or left\n unset if PASSWORD is used.\n\no PASSWORD: Password.\n\no DEFAULT_AUTH: Name of plugin; default is MySQL native authentication.\n\no PLUGIN_DIR: Location of plugin.\n\nYou cannot use the SQL_THREAD option when specifying any of USER,\nPASSWORD, DEFAULT_AUTH, or PLUGIN_DIR, unless the IO_THREAD option is\nalso provided.\n\nSee\nhttp://dev.mysql.com/doc/refman/5.7/en/pluggable-authentication.html,\nfor more information.\n\nIf an insecure connection is used with any these options, the server\nissues the warning Sending passwords in plain text without SSL/TLS is\nextremely insecure.\n\nSTART SLAVE ... UNTIL supports two additional options for use with\nglobal transaction identifiers (GTIDs) (see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html). Each of\nthese takes a set of one or more global transaction identifiers\ngtid_set as an argument (see\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-gtids-concepts.html#\nreplication-gtids-concepts-gtid-sets, for more information).\n\nWhen no thread_type is specified, START SLAVE UNTIL SQL_BEFORE_GTIDS\ncauses the slave SQL thread to process transactions until it has\nreached the first transaction whose GTID is listed in the gtid_set.\nSTART SLAVE UNTIL SQL_AFTER_GTIDS causes the slave threads to process\nall transactions until the last transaction in the gtid_set has been\nprocessed by both threads. In other words, START SLAVE UNTIL\nSQL_BEFORE_GTIDS causes the slave SQL thread to process all\ntransactions occurring before the first GTID in the gtid_set is\nreached, and START SLAVE UNTIL SQL_AFTER_GTIDS causes the slave threads\nto handle all transactions, including those whose GTIDs are found in\ngtid_set, until each has encountered a transaction whose GTID is not\npart of the set. SQL_BEFORE_GTIDS and SQL_AFTER_GTIDS each support the\nSQL_THREAD and IO_THREAD options, although using IO_THREAD with them\ncurrently has no effect.\n\nFor example, START SLAVE SQL_THREAD UNTIL SQL_BEFORE_GTIDS =\n3E11FA47-71CA-11E1-9E33-C80AA9429562:11-56 causes the slave SQL thread\nto process all transactions originating from the master whose\nserver_uuid is 3E11FA47-71CA-11E1-9E33-C80AA9429562 until it encounters\nthe transaction having sequence number 11; it then stops without\nprocessing this transaction. In other words, all transactions up to and\nincluding the transaction with sequence number 10 are processed.\nExecuting START SLAVE SQL_THREAD UNTIL SQL_AFTER_GTIDS =\n3E11FA47-71CA-11E1-9E33-C80AA9429562:11-56, on the other hand, would\ncause the slave SQL thread to obtain all transactions just mentioned\nfrom the master, including all of the transactions having the sequence\nnumbers 11 through 56, and then to stop without processing any\nadditional transactions; that is, the transaction having sequence\nnumber 56 would be the last transaction fetched by the slave SQL\nthread.\n\nPrior to MySQL 5.7.3, SQL_AFTER_GTIDS did not stop the slave once the\nindicated transaction was completed, but waited until another GTID\nevent was received (Bug #14767986).\n\nWhen using a multithreaded slave, there is a chance of gaps in the\nsequence of transactions that have been executed from the relay log in\nthe following cases:\n\no killing the coordinator thread\n\no after an error occurs in the worker threads\n\no mysqld shuts down unexpectedly\n\nUse the START SLAVE UNTIL SQL_AFTER_MTS_GAPS statement to cause a\nmultithreaded slave\'s worker threads to only run until no more gaps are\nfound in the relay log, and then to stop. This statement can take an\nSQL_THREAD option, but the effects of the statement remain unchanged.\nIt has no effect on the slave I/O thread (and cannot be used with the\nIO_THREAD option).\n\nIssuing START SLAVE on a multithreaded slave with gaps in the sequence\nof transactions executed from the relay log generates a warning. In\nsuch a situation, the solution is to use START SLAVE UNTIL\nSQL_AFTER_MTS_GAPS, then issue RESET SLAVE to remove any remaining\nrelay logs. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-features-transaction\n-inconsistencies.html for more information.\n\nTo change a failed multithreaded slave to single-threaded mode, you can\nissue the following series of statements, in the order shown:\n\nSTART SLAVE UNTIL SQL_AFTER_MTS_GAPS;\n\nSET @@GLOBAL.slave_parallel_workers = 0;\n\nSTART SLAVE SQL_THREAD;\n\n*Note*:\n\nIt is possible to view the entire text of a running START SLAVE ...\nstatement, including any USER or PASSWORD values used, in the output of\nSHOW PROCESSLIST. This is also true for the text of a running CHANGE\nMASTER TO statement, including any values it employs for MASTER_USER or\nMASTER_PASSWORD.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/start-slave.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/start-slave.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (515,2,'AREA','Area(poly)\n\nST_Area() and Area() are synonyms. For more information, see the\ndescription of ST_Area().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (516,27,'SHOW WARNINGS','Syntax:\nSHOW WARNINGS [LIMIT [offset,] row_count]\nSHOW COUNT(*) WARNINGS\n\nSHOW WARNINGS is a diagnostic statement that displays information about\nthe conditions (errors, warnings, and notes) resulting from executing a\nstatement in the current session. Warnings are generated for DML\nstatements such as INSERT, UPDATE, and LOAD DATA INFILE as well as DDL\nstatements such as CREATE TABLE and ALTER TABLE.\n\nThe LIMIT clause has the same syntax as for the SELECT statement. See\nhttp://dev.mysql.com/doc/refman/5.7/en/select.html.\n\nSHOW WARNINGS is also used following EXPLAIN, to display the extended\ninformation generated by EXPLAIN. See\nhttp://dev.mysql.com/doc/refman/5.7/en/explain-extended.html.\n\nSHOW WARNINGS displays information about the conditions resulting from\nexecution of the most recent nondiagnostic statement in the current\nsession. If the most recent statement resulted in an error during\nparsing, SHOW WARNINGS shows the resulting conditions, regardless of\nstatement type (diagnostic or nondiagnostic).\n\nThe SHOW COUNT(*) WARNINGS diagnostic statement displays the total\nnumber of errors, warnings, and notes. You can also retrieve this\nnumber from the warning_count system variable:\n\nSHOW COUNT(*) WARNINGS;\nSELECT @@warning_count;\n\nA difference in these statements is that the first is a diagnostic\nstatement that does not clear the message list. The second, because it\nis a SELECT statement is considered nondiagnostic and does clear the\nmessage list.\n\nA related diagnostic statement, SHOW ERRORS, shows only error\nconditions (it excludes warnings and notes), and SHOW COUNT(*) ERRORS\nstatement displays the total number of errors. See [HELP SHOW ERRORS].\nGET DIAGNOSTICS can be used to examine information for individual\nconditions. See [HELP GET DIAGNOSTICS].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-warnings.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-warnings.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (517,4,'ST_LINEFROMTEXT','ST_LineFromText(wkt[, srid]), ST_LineStringFromText(wkt[, srid])\n\nConstructs a LineString value using its WKT representation and SRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (518,10,'DROP USER','Syntax:\nDROP USER [IF EXISTS] user [, user] ...\n\nThe DROP USER statement removes one or more MySQL accounts and their\nprivileges. It removes privilege rows for the account from all grant\ntables.\n\nTo use DROP USER, you must have the global CREATE USER privilege, or\nthe DELETE privilege for the mysql database. When the read_only system\nvariable is enabled, DROP USER additionally requires the SUPER\nprivilege.\n\nAn error occurs if you try to drop an account that does not exist. If\nthe IF EXISTS clause is given, the statement produces a warning for\neach named user that does not exist, rather than an error.\n\nEach account name uses the format described in\nhttp://dev.mysql.com/doc/refman/5.7/en/account-names.html. For example:\n\nDROP USER \'jeffrey\'@\'localhost\';\n\nThe host name part of the account name, if omitted, defaults to \'%\'.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-user.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (519,38,'SUBSTRING','Syntax:\nSUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len),\nSUBSTRING(str FROM pos FOR len)\n\nThe forms without a len argument return a substring from string str\nstarting at position pos. The forms with a len argument return a\nsubstring len characters long from string str, starting at position\npos. The forms that use FROM are standard SQL syntax. It is also\npossible to use a negative value for pos. In this case, the beginning\nof the substring is pos characters from the end of the string, rather\nthan the beginning. A negative value may be used for pos in any of the\nforms of this function.\n\nFor all forms of SUBSTRING(), the position of the first character in\nthe string from which the substring is to be extracted is reckoned as\n1.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT SUBSTRING(\'Quadratically\',5);\n -> \'ratically\'\nmysql> SELECT SUBSTRING(\'foobarbar\' FROM 4);\n -> \'barbar\'\nmysql> SELECT SUBSTRING(\'Quadratically\',5,6);\n -> \'ratica\'\nmysql> SELECT SUBSTRING(\'Sakila\', -3);\n -> \'ila\'\nmysql> SELECT SUBSTRING(\'Sakila\', -5, 3);\n -> \'aki\'\nmysql> SELECT SUBSTRING(\'Sakila\' FROM -4 FOR 2);\n -> \'ki\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (520,37,'ISEMPTY','IsEmpty(g)\n\nST_IsEmpty() and IsEmpty() are synonyms. For more information, see the\ndescription of ST_IsEmpty().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (521,27,'SHOW FUNCTION STATUS','Syntax:\nSHOW FUNCTION STATUS\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement is similar to SHOW PROCEDURE STATUS but for stored\nfunctions. See [HELP SHOW PROCEDURE STATUS].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-function-status.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-function-status.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (522,38,'LTRIM','Syntax:\nLTRIM(str)\n\nReturns the string str with leading space characters removed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LTRIM(\' barbar\');\n -> \'barbar\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (523,31,'ST_CROSSES','ST_Crosses(g1, g2)\n\nThe term spatially crosses denotes a spatial relation between two given\ngeometries that has the following properties:\n\no The two geometries intersect.\n\no Their intersection results in a geometry that has a dimension that is\n one less than the maximum dimension of the two given geometries.\n\no Their intersection is not equal to either of the two given\n geometries.\n\nThis function returns 1 or 0 to indicate whether g1 spatially crosses\ng2. If g1 is a Polygon or a MultiPolygon, or if g2 is a Point or a\nMultiPoint, the return value is NULL.\n\nThis function returns 0 if called with an inapplicable geometry\nargument type combination. For example, it returns 0 if the first\nargument is a Polygon or MultiPolygon and/or the second argument is a\nPoint or MultiPoint.\n\nReturns 1 if g1 spatially crosses g2. Returns NULL if g1 is a Polygon\nor a MultiPolygon, or if g2 is a Point or a MultiPoint. Otherwise,\nreturns 0.\n\nThis function returns 0 if called with an inapplicable geometry\nargument type combination. For example, it returns 0 if the first\nargument is a Polygon or MultiPolygon and/or the second argument is a\nPoint or MultiPoint.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (524,4,'ST_MPOLYFROMTEXT','ST_MPolyFromText(wkt[, srid]), ST_MultiPolygonFromText(wkt[, srid])\n\nConstructs a MultiPolygon value using its WKT representation and SRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (525,28,'CALL','Syntax:\nCALL sp_name([parameter[,...]])\nCALL sp_name[()]\n\nThe CALL statement invokes a stored procedure that was defined\npreviously with CREATE PROCEDURE.\n\nStored procedures that take no arguments can be invoked without\nparentheses. That is, CALL p() and CALL p are equivalent.\n\nCALL can pass back values to its caller using parameters that are\ndeclared as OUT or INOUT parameters. When the procedure returns, a\nclient program can also obtain the number of rows affected for the\nfinal statement executed within the routine: At the SQL level, call the\nROW_COUNT() function; from the C API, call the mysql_affected_rows()\nfunction.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/call.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/call.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (526,7,'MBRDISJOINT','MBRDisjoint(g1, g2)\n\nReturns 1 or 0 to indicate whether the minimum bounding rectangles of\nthe two geometries g1 and g2 are disjoint (do not intersect).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (527,14,'VALUES','Syntax:\nVALUES(col_name)\n\nIn an INSERT ... ON DUPLICATE KEY UPDATE statement, you can use the\nVALUES(col_name) function in the UPDATE clause to refer to column\nvalues from the INSERT portion of the statement. In other words,\nVALUES(col_name) in the UPDATE clause refers to the value of col_name\nthat would be inserted, had no duplicate-key conflict occurred. This\nfunction is especially useful in multiple-row inserts. The VALUES()\nfunction is meaningful only in the ON DUPLICATE KEY UPDATE clause of\nINSERT statements and returns NULL otherwise. See\nhttp://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)\n -> ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (528,12,'ENCODE','Syntax:\nENCODE(str,pass_str)\n\nENCODE() encrypts str using pass_str as the password. The result is a\nbinary string of the same length as str. To decrypt the result, use\nDECODE().\n\n*Note*:\n\nThe ENCODE() and DECODE() functions are deprecated in MySQL 5.7, will\nbe removed in a future MySQL release, and should no longer be used.\n\nIf you still need to use ENCODE(), a salt value must be used with it to\nreduce risk. For example:\n\nENCODE(\'cleartext\', CONCAT(\'my_random_salt\',\'my_secret_password\'))\n\nA new random salt value must be used whenever a password is updated.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (529,38,'SUBSTRING_INDEX','Syntax:\nSUBSTRING_INDEX(str,delim,count)\n\nReturns the substring from string str before count occurrences of the\ndelimiter delim. If count is positive, everything to the left of the\nfinal delimiter (counting from the left) is returned. If count is\nnegative, everything to the right of the final delimiter (counting from\nthe right) is returned. SUBSTRING_INDEX() performs a case-sensitive\nmatch when searching for delim.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', 2);\n -> \'www.mysql\'\nmysql> SELECT SUBSTRING_INDEX(\'www.mysql.com\', \'.\', -2);\n -> \'mysql.com\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (530,11,'ST_X','ST_X(p)\n\nReturns the X-coordinate value for the Point object p as a\ndouble-precision number.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html\n\n','mysql> SELECT ST_X(Point(56.7, 53.34));\n+--------------------------+\n| ST_X(Point(56.7, 53.34)) |\n+--------------------------+\n| 56.7 |\n+--------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-point-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (531,32,'TIMESTAMPADD','Syntax:\nTIMESTAMPADD(unit,interval,datetime_expr)\n\nAdds the integer expression interval to the date or datetime expression\ndatetime_expr. The unit for interval is given by the unit argument,\nwhich should be one of the following values: MICROSECOND\n(microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or\nYEAR.\n\nThe unit value may be specified using one of keywords as shown, or with\na prefix of SQL_TSI_. For example, DAY and SQL_TSI_DAY both are legal.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIMESTAMPADD(MINUTE,1,\'2003-01-02\');\n -> \'2003-01-02 00:01:00\'\nmysql> SELECT TIMESTAMPADD(WEEK,1,\'2003-01-02\');\n -> \'2003-01-09\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (532,3,'TRUNCATE','Syntax:\nTRUNCATE(X,D)\n\nReturns the number X, truncated to D decimal places. If D is 0, the\nresult has no decimal point or fractional part. D can be negative to\ncause D digits left of the decimal point of the value X to become zero.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT TRUNCATE(1.223,1);\n -> 1.2\nmysql> SELECT TRUNCATE(1.999,1);\n -> 1.9\nmysql> SELECT TRUNCATE(1.999,0);\n -> 1\nmysql> SELECT TRUNCATE(-1.999,1);\n -> -1.9\nmysql> SELECT TRUNCATE(122,-2);\n -> 100\nmysql> SELECT TRUNCATE(10.28*100,0);\n -> 1028\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (533,27,'SHOW','SHOW has many forms that provide information about databases, tables,\ncolumns, or status information about the server. This section describes\nthose following:\n\nSHOW {BINARY | MASTER} LOGS\nSHOW BINLOG EVENTS [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\nSHOW CHARACTER SET [like_or_where]\nSHOW COLLATION [like_or_where]\nSHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]\nSHOW CREATE DATABASE db_name\nSHOW CREATE EVENT event_name\nSHOW CREATE FUNCTION func_name\nSHOW CREATE PROCEDURE proc_name\nSHOW CREATE TABLE tbl_name\nSHOW CREATE TRIGGER trigger_name\nSHOW CREATE VIEW view_name\nSHOW DATABASES [like_or_where]\nSHOW ENGINE engine_name {STATUS | MUTEX}\nSHOW [STORAGE] ENGINES\nSHOW ERRORS [LIMIT [offset,] row_count]\nSHOW EVENTS\nSHOW FUNCTION CODE func_name\nSHOW FUNCTION STATUS [like_or_where]\nSHOW GRANTS FOR user\nSHOW INDEX FROM tbl_name [FROM db_name]\nSHOW MASTER STATUS\nSHOW OPEN TABLES [FROM db_name] [like_or_where]\nSHOW PLUGINS\nSHOW PROCEDURE CODE proc_name\nSHOW PROCEDURE STATUS [like_or_where]\nSHOW PRIVILEGES\nSHOW [FULL] PROCESSLIST\nSHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]\nSHOW PROFILES\nSHOW RELAYLOG EVENTS [IN \'log_name\'] [FROM pos] [LIMIT [offset,] row_count]\nSHOW SLAVE HOSTS\nSHOW SLAVE STATUS [FOR CHANNEL channel]\nSHOW [GLOBAL | SESSION] STATUS [like_or_where]\nSHOW TABLE STATUS [FROM db_name] [like_or_where]\nSHOW [FULL] TABLES [FROM db_name] [like_or_where]\nSHOW TRIGGERS [FROM db_name] [like_or_where]\nSHOW [GLOBAL | SESSION] VARIABLES [like_or_where]\nSHOW WARNINGS [LIMIT [offset,] row_count]\n\nlike_or_where:\n LIKE \'pattern\'\n | WHERE expr\n\nIf the syntax for a given SHOW statement includes a LIKE \'pattern\'\npart, \'pattern\' is a string that can contain the SQL % and _ wildcard\ncharacters. The pattern is useful for restricting statement output to\nmatching values.\n\nSeveral SHOW statements also accept a WHERE clause that provides more\nflexibility in specifying which rows to display. See\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (534,27,'SHOW VARIABLES','Syntax:\nSHOW [GLOBAL | SESSION] VARIABLES\n [LIKE \'pattern\' | WHERE expr]\n\n*Note*:\n\nAs of MySQL 5.7.6, the value of the show_compatibility_56 system\nvariable affects the information available from and privileges required\nfor the statement described here. For details, see the description of\nthat variable in\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nSHOW VARIABLES shows the values of MySQL system variables (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html).\nThis statement does not require any privilege. It requires only the\nability to connect to the server.\n\nSystem variable information is also available from these sources:\n\no Performance Schema tables. See\n http://dev.mysql.com/doc/refman/5.7/en/performance-schema-system-vari\n able-tables.html.\n\no The GLOBAL_VARIABLES and SESSION_VARIABLES tables. See\n http://dev.mysql.com/doc/refman/5.7/en/variables-table.html.\n\no The mysqladmin variables command. See\n http://dev.mysql.com/doc/refman/5.7/en/mysqladmin.html.\n\nFor SHOW VARIABLES, a LIKE clause, if present, indicates which variable\nnames to match. A WHERE clause can be given to select rows using more\ngeneral conditions, as discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html.\n\nSHOW VARIABLES accepts an optional GLOBAL or SESSION variable scope\nmodifier:\n\no With a GLOBAL modifier, the statement displays global system variable\n values. These are the values used to initialize the corresponding\n session variables for new connections to MySQL. If a variable has no\n global value, no value is displayed.\n\no With a SESSION modifier, the statement displays the system varaible\n values that are in effect for the current connection. If a variable\n has no session value, the global value is displayed. LOCAL is a\n synonym for SESSION.\n\no If no modifier is present, the default is SESSION.\n\nThe scope for each system variable is listed at\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nSHOW VARIABLES is subject to a version-dependent display-width limit.\nFor variables with very long values that are not completely displayed,\nuse SELECT as a workaround. For example:\n\nSELECT @@GLOBAL.innodb_data_file_path;\n\nMost system variables can be set at server startup (read-only variables\nsuch as version_comment are exceptions). Many can be changed at runtime\nwith the SET statement. See\nhttp://dev.mysql.com/doc/refman/5.7/en/using-system-variables.html, and\n[HELP SET].\nWith a LIKE clause, the statement displays only rows for those\nvariables with names that match the pattern. To obtain the row for a\nspecific variable, use a LIKE clause as shown:\n\nSHOW VARIABLES LIKE \'max_join_size\';\nSHOW SESSION VARIABLES LIKE \'max_join_size\';\n\nTo get a list of variables whose name match a pattern, use the %\nwildcard character in a LIKE clause:\n\nSHOW VARIABLES LIKE \'%size%\';\nSHOW GLOBAL VARIABLES LIKE \'%size%\';\n\nWildcard characters can be used in any position within the pattern to\nbe matched. Strictly speaking, because _ is a wildcard that matches any\nsingle character, you should escape it as \\_ to match it literally. In\npractice, this is rarely necessary.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-variables.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-variables.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (535,27,'BINLOG','Syntax:\nBINLOG \'str\'\n\nBINLOG is an internal-use statement. It is generated by the mysqlbinlog\nprogram as the printable representation of certain events in binary log\nfiles. (See http://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html.)\nThe \'str\' value is a base 64-encoded string the that server decodes to\ndetermine the data change indicated by the corresponding event. This\nstatement requires the SUPER privilege.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/binlog.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/binlog.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (536,31,'ST_DISJOINT','ST_Disjoint(g1, g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially disjoint from (does\nnot intersect) g2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (537,3,'ATAN2','Syntax:\nATAN(Y,X), ATAN2(Y,X)\n\nReturns the arc tangent of the two variables X and Y. It is similar to\ncalculating the arc tangent of Y / X, except that the signs of both\narguments are used to determine the quadrant of the result.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT ATAN(-2,2);\n -> -0.78539816339745\nmysql> SELECT ATAN2(PI(),0);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (538,15,'AND','Syntax:\nAND, &&\n\nLogical AND. Evaluates to 1 if all operands are nonzero and not NULL,\nto 0 if one or more operands are 0, otherwise NULL is returned.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html\n\n','mysql> SELECT 1 AND 1;\n -> 1\nmysql> SELECT 1 AND 0;\n -> 0\nmysql> SELECT 1 AND NULL;\n -> NULL\nmysql> SELECT 0 AND NULL;\n -> 0\nmysql> SELECT NULL AND 0;\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/logical-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (539,32,'HOUR','Syntax:\nHOUR(time)\n\nReturns the hour for time. The range of the return value is 0 to 23 for\ntime-of-day values. However, the range of TIME values actually is much\nlarger, so HOUR can return values greater than 23.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT HOUR(\'10:05:03\');\n -> 10\nmysql> SELECT HOUR(\'272:59:59\');\n -> 272\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (540,28,'SELECT','Syntax:\nSELECT\n [ALL | DISTINCT | DISTINCTROW ]\n [HIGH_PRIORITY]\n [STRAIGHT_JOIN]\n [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]\n [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]\n select_expr [, select_expr ...]\n [FROM table_references\n [PARTITION partition_list]\n [WHERE where_condition]\n [GROUP BY {col_name | expr | position}\n [ASC | DESC], ... [WITH ROLLUP]]\n [HAVING where_condition]\n [ORDER BY {col_name | expr | position}\n [ASC | DESC], ...]\n [LIMIT {[offset,] row_count | row_count OFFSET offset}]\n [PROCEDURE procedure_name(argument_list)]\n [INTO OUTFILE \'file_name\'\n [CHARACTER SET charset_name]\n export_options\n | INTO DUMPFILE \'file_name\'\n | INTO var_name [, var_name]]\n [FOR UPDATE | LOCK IN SHARE MODE]]\n\nSELECT is used to retrieve rows selected from one or more tables, and\ncan include UNION statements and subqueries. See [HELP UNION], and\nhttp://dev.mysql.com/doc/refman/5.7/en/subqueries.html.\n\nThe most commonly used clauses of SELECT statements are these:\n\no Each select_expr indicates a column that you want to retrieve. There\n must be at least one select_expr.\n\no table_references indicates the table or tables from which to retrieve\n rows. Its syntax is described in [HELP JOIN].\n\no SELECT supports explicit partition selection using the PARTITION with\n a list of partitions or subpartitions (or both) following the name of\n the table in a table_reference (see [HELP JOIN]). In this case, rows\n are selected only from the partitions listed, and any other\n partitions of the table are ignored. For more information and\n examples, see\n http://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\n SELECT ... PARTITION from tables using storage engines such as MyISAM\n that perform table-level locks (and thus partition locks) lock only\n the partitions or subpartitions named by the PARTITION option.\n\n For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations-locki\n ng.html.\n\no The WHERE clause, if given, indicates the condition or conditions\n that rows must satisfy to be selected. where_condition is an\n expression that evaluates to true for each row to be selected. The\n statement selects all rows if there is no WHERE clause.\n\n In the WHERE expression, you can use any of the functions and\n operators that MySQL supports, except for aggregate (summary)\n functions. See\n http://dev.mysql.com/doc/refman/5.7/en/expressions.html, and\n http://dev.mysql.com/doc/refman/5.7/en/functions.html.\n\nSELECT can also be used to retrieve rows computed without reference to\nany table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/select.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/select.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (541,7,'JSON_MERGE_PRESERVE()','Syntax:\nJSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...)\n\nMerges two or more JSON documents and returns the merged result.\nReturns NULL if any argument is NULL. An error occurs if any argument\nis not a valid JSON document.\n\nMerging takes place according to the following rules. For additional\ninformation, see\nhttp://dev.mysql.com/doc/refman/5.7/en/json.html#json-normalization.\n\no Adjacent arrays are merged to a single array.\n\no Adjacent objects are merged to a single object.\n\no A scalar value is autowrapped as an array and merged as an array.\n\no An adjacent array and object are merged by autowrapping the object as\n an array and merging the two arrays.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SELECT JSON_MERGE_PRESERVE(\'[1, 2]\', \'[true, false]\');\n+------------------------------------------------+\n| JSON_MERGE_PRESERVE(\'[1, 2]\', \'[true, false]\') |\n+------------------------------------------------+\n| [1, 2, true, false] |\n+------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PRESERVE(\'{"name": "x"}\', \'{"id": 47}\');\n+----------------------------------------------------+\n| JSON_MERGE_PRESERVE(\'{"name": "x"}\', \'{"id": 47}\') |\n+----------------------------------------------------+\n| {"id": 47, "name": "x"} |\n+----------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PRESERVE(\'1\', \'true\');\n+----------------------------------+\n| JSON_MERGE_PRESERVE(\'1\', \'true\') |\n+----------------------------------+\n| [1, true] |\n+----------------------------------+\n\nmysql> SELECT JSON_MERGE_PRESERVE(\'[1, 2]\', \'{"id": 47}\');\n+---------------------------------------------+\n| JSON_MERGE_PRESERVE(\'[1, 2]\', \'{"id": 47}\') |\n+---------------------------------------------+\n| [1, 2, {"id": 47}] |\n+---------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PRESERVE(\'{ "a": 1, "b": 2 }\',\n > \'{ "a": 3, "c": 4 }\');\n+--------------------------------------------------------------+\n| JSON_MERGE_PRESERVE(\'{ "a": 1, "b": 2 }\',\'{ "a": 3, "c":4 }\') |\n+--------------------------------------------------------------+\n| {"a": [1, 3], "b": 2, "c": 4} |\n+--------------------------------------------------------------+\n\nmysql> SELECT JSON_MERGE_PRESERVE(\'{ "a": 1, "b": 2 }\',\'{ "a": 3, "c": 4 }\',\n > \'{ "a": 5, "d": 6 }\');\n+----------------------------------------------------------------------------------+\n| JSON_MERGE_PRESERVE(\'{ "a": 1, "b": 2 }\',\'{ "a": 3, "c": 4 }\',\'{ "a": 5, "d": 6 }\') |\n+----------------------------------------------------------------------------------+\n| {"a": [1, 3, 5], "b": 2, "c": 4, "d": 6} |\n+----------------------------------------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (542,16,'GROUP_CONCAT','Syntax:\nGROUP_CONCAT(expr)\n\nThis function returns a string result with the concatenated non-NULL\nvalues from a group. It returns NULL if there are no non-NULL values.\nThe full syntax is as follows:\n\nGROUP_CONCAT([DISTINCT] expr [,expr ...]\n [ORDER BY {unsigned_integer | col_name | expr}\n [ASC | DESC] [,col_name ...]]\n [SEPARATOR str_val])\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student_name,\n GROUP_CONCAT(test_score)\n FROM student\n GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (543,17,'BENCHMARK','Syntax:\nBENCHMARK(count,expr)\n\nThe BENCHMARK() function executes the expression expr repeatedly count\ntimes. It may be used to time how quickly MySQL processes the\nexpression. The result value is always 0. The intended use is from\nwithin the mysql client, which reports query execution times:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT BENCHMARK(1000000,AES_ENCRYPT(\'hello\',\'goodbye\'));\n+---------------------------------------------------+\n| BENCHMARK(1000000,AES_ENCRYPT(\'hello\',\'goodbye\')) |\n+---------------------------------------------------+\n| 0 |\n+---------------------------------------------------+\n1 row in set (4.74 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (544,38,'FROM_BASE64','Syntax:\nFROM_BASE64(str)\n\nTakes a string encoded with the base-64 encoded rules used by\nTO_BASE64() and returns the decoded result as a binary string. The\nresult is NULL if the argument is NULL or not a valid base-64 string.\nSee the description of TO_BASE64() for details about the encoding and\ndecoding rules.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT TO_BASE64(\'abc\'), FROM_BASE64(TO_BASE64(\'abc\'));\n -> \'JWJj\', \'abc\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (545,27,'SHOW ENGINE','Syntax:\nSHOW ENGINE engine_name {STATUS | MUTEX}\n\nSHOW ENGINE displays operational information about a storage engine. It\nrequires the PROCESS privilege. The statement has these variants:\n\nSHOW ENGINE INNODB STATUS\nSHOW ENGINE INNODB MUTEX\nSHOW ENGINE PERFORMANCE_SCHEMA STATUS\n\nSHOW ENGINE INNODB STATUS displays extensive information from the\nstandard InnoDB Monitor about the state of the InnoDB storage engine.\nFor information about the standard monitor and other InnoDB Monitors\nthat provide information about InnoDB processing, see\nhttp://dev.mysql.com/doc/refman/5.7/en/innodb-monitors.html.\n\nSHOW ENGINE INNODB MUTEX displays InnoDB mutex and rw-lock statistics.\n\n*Note*:\n\nInnoDB mutexes and rwlocks can also be monitored using Performance\nSchema tables. See\nhttp://dev.mysql.com/doc/refman/5.7/en/monitor-innodb-mutex-waits-perfo\nrmance-schema.html.\n\nSHOW ENGINE INNODB MUTEX output was removed in MySQL 5.7.2. It was\nrevised and reintroduced in MySQL 5.7.8.\n\nIn MySQL 5.7.8, mutex statistics collection is configured dynamically\nusing the following options:\n\no To enable the collection of mutex statistics, run:\n\nSET GLOBAL innodb_monitor_enable=\'latch\';\n\no To reset mutex statistics, run:\n\nSET GLOBAL innodb_monitor_reset=\'latch\';\n\no To disable the collection of mutex statistics, run:\n\nSET GLOBAL innodb_monitor_disable=\'latch\';\n\nCollection of mutex statistics for SHOW ENGINE INNODB MUTEX can also be\nenabled by setting innodb_monitor_enable=\'all\', or disabled by setting\ninnodb_monitor_disable=\'all\'.\n\nSHOW ENGINE INNODB MUTEX output has the following columns:\n\no Type\n\n Always InnoDB.\n\no Name\n\n Prior to MySQL 5.7.8, the Name field reports the source file where\n the mutex is implemented, and the line number in the file where the\n mutex is created. The line number is specific to your version of\n MySQL. As of MySQL 5.7.8, only the mutex name is reported. File name\n and line number are still reported for rwlocks.\n\no Status\n\n The mutex status.\n\n Prior to MySQL 5.7.8, the Status field displays several values if\n WITH_DEBUG was defined at MySQL compilation time. If WITH_DEBUG was\n not defined, the statement displays only the os_waits value. In the\n latter case (without WITH_DEBUG), the information on which the output\n is based is insufficient to distinguish regular mutexes and mutexes\n that protect rwlocks (which permit multiple readers or a single\n writer). Consequently, the output may appear to contain multiple rows\n for the same mutex. Pre-MySQL 5.7.8 Status field values include:\n\n o count indicates how many times the mutex was requested.\n\n o spin_waits indicates how many times the spinlock had to run.\n\n o spin_rounds indicates the number of spinlock rounds. (spin_rounds\n divided by spin_waits provides the average round count.)\n\n o os_waits indicates the number of operating system waits. This\n occurs when the spinlock did not work (the mutex was not locked\n during the spinlock and it was necessary to yield to the operating\n system and wait).\n\n o os_yields indicates the number of times a thread trying to lock a\n mutex gave up its timeslice and yielded to the operating system (on\n the presumption that permitting other threads to run will free the\n mutex so that it can be locked).\n\n o os_wait_times indicates the amount of time (in ms) spent in\n operating system waits. In MySQL 5.7 timing is disabled and this\n value is always 0.\n\n As of MySQL 5.7.8, the Status field reports the number of spins,\n waits, and calls. Statistics for low-level operating system mutexes,\n which are implemented outside of InnoDB, are not reported.\n\n o spins indicates the number of spins.\n\n o waits indicates the number of mutex waits.\n\n o calls indicates how many times the mutex was requested.\n\nSHOW ENGINE INNODB MUTEX skips the mutexes and rw-locks of buffer pool\nblocks, as the amount of output can be overwhelming on systems with a\nlarge buffer pool. (There is one mutex and one rw-lock in each 16K\nbuffer pool block, and there are 65,536 blocks per gigabyte.) SHOW\nENGINE INNODB MUTEX also does not list any mutexes or rw-locks that\nhave never been waited on (os_waits=0). Thus, SHOW ENGINE INNODB MUTEX\nonly displays information about mutexes and rw-locks outside of the\nbuffer pool that have caused at least one OS-level wait.\n\nUse SHOW ENGINE PERFORMANCE_SCHEMA STATUS to inspect the internal\noperation of the Performance Schema code:\n\nmysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\\G\n...\n*************************** 3. row ***************************\n Type: performance_schema\n Name: events_waits_history.size\nStatus: 76\n*************************** 4. row ***************************\n Type: performance_schema\n Name: events_waits_history.count\nStatus: 10000\n*************************** 5. row ***************************\n Type: performance_schema\n Name: events_waits_history.memory\nStatus: 760000\n...\n*************************** 57. row ***************************\n Type: performance_schema\n Name: performance_schema.memory\nStatus: 26459600\n...\n\nThis statement is intended to help the DBA understand the effects that\ndifferent Performance Schema options have on memory requirements.\n\nName values consist of two parts, which name an internal buffer and a\nbuffer attribute, respectively. Interpret buffer names as follows:\n\no An internal buffer that is not exposed as a table is named within\n parentheses. Examples: (pfs_cond_class).size,\n (pfs_mutex_class).memory.\n\no An internal buffer that is exposed as a table in the\n performance_schema database is named after the table, without\n parentheses. Examples: events_waits_history.size,\n mutex_instances.count.\n\no A value that applies to the Performance Schema as a whole begins with\n performance_schema. Example: performance_schema.memory.\n\nBuffer attributes have these meanings:\n\no size is the size of the internal record used by the implementation,\n such as the size of a row in a table. size values cannot be changed.\n\no count is the number of internal records, such as the number of rows\n in a table. count values can be changed using Performance Schema\n configuration options.\n\no For a table, tbl_name.memory is the product of size and count. For\n the Performance Schema as a whole, performance_schema.memory is the\n sum of all the memory used (the sum of all other memory values).\n\nIn some cases, there is a direct relationship between a Performance\nSchema configuration parameter and a SHOW ENGINE value. For example,\nevents_waits_history_long.count corresponds to\nperformance_schema_events_waits_history_long_size. In other cases, the\nrelationship is more complex. For example, events_waits_history.count\ncorresponds to performance_schema_events_waits_history_size (the number\nof rows per thread) multiplied by\nperformance_schema_max_thread_instances ( the number of threads).\n\nSHOW ENGINE NDB STATUS If the server has the NDB storage engine\nenabled, SHOW ENGINE NDB STATUS displays cluster status information\nsuch as the number of connected data nodes, the cluster connectstring,\nand cluster binary log epochs, as well as counts of various Cluster API\nobjects created by the MySQL Server when connected to the cluster.\nSample output from this statement is shown here:\n\nmysql> SHOW ENGINE NDB STATUS;\n+------------+-----------------------+--------------------------------------------------+\n| Type | Name | Status |\n+------------+-----------------------+--------------------------------------------------+\n| ndbcluster | connection | cluster_node_id=7,\n connected_host=198.51.100.103, connected_port=1186, number_of_data_nodes=4,\n number_of_ready_data_nodes=3, connect_count=0 |\n| ndbcluster | NdbTransaction | created=6, free=0, sizeof=212 |\n| ndbcluster | NdbOperation | created=8, free=8, sizeof=660 |\n| ndbcluster | NdbIndexScanOperation | created=1, free=1, sizeof=744 |\n| ndbcluster | NdbIndexOperation | created=0, free=0, sizeof=664 |\n| ndbcluster | NdbRecAttr | created=1285, free=1285, sizeof=60 |\n| ndbcluster | NdbApiSignal | created=16, free=16, sizeof=136 |\n| ndbcluster | NdbLabel | created=0, free=0, sizeof=196 |\n| ndbcluster | NdbBranch | created=0, free=0, sizeof=24 |\n| ndbcluster | NdbSubroutine | created=0, free=0, sizeof=68 |\n| ndbcluster | NdbCall | created=0, free=0, sizeof=16 |\n| ndbcluster | NdbBlob | created=1, free=1, sizeof=264 |\n| ndbcluster | NdbReceiver | created=4, free=0, sizeof=68 |\n| ndbcluster | binlog | latest_epoch=155467, latest_trans_epoch=148126,\n latest_received_binlog_epoch=0, latest_handled_binlog_epoch=0,\n latest_applied_binlog_epoch=0 |\n+------------+-----------------------+--------------------------------------------------+\n\nThe Status column in each of these rows provides information about the\nMySQL server\'s connection to the cluster and about the cluster binary\nlog\'s status, respectively. The Status information is in the form of\ncomma-delimited set of name/value pairs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-engine.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-engine.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (546,14,'NAME_CONST','Syntax:\nNAME_CONST(name,value)\n\nReturns the given value. When used to produce a result set column,\nNAME_CONST() causes the column to have the given name. The arguments\nshould be constants.\n\nmysql> SELECT NAME_CONST(\'myname\', 14);\n+--------+\n| myname |\n+--------+\n| 14 |\n+--------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (547,14,'RELEASE_LOCK','Syntax:\nRELEASE_LOCK(str)\n\nReleases the lock named by the string str that was obtained with\nGET_LOCK(). Returns 1 if the lock was released, 0 if the lock was not\nestablished by this thread (in which case the lock is not released),\nand NULL if the named lock did not exist. The lock does not exist if it\nwas never obtained by a call to GET_LOCK() or if it has previously been\nreleased.\n\nThe DO statement is convenient to use with RELEASE_LOCK(). See [HELP\nDO].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (548,32,'WEEKDAY','Syntax:\nWEEKDAY(date)\n\nReturns the weekday index for date (0 = Monday, 1 = Tuesday, ... 6 =\nSunday).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT WEEKDAY(\'2008-02-03 22:23:00\');\n -> 6\nmysql> SELECT WEEKDAY(\'2007-11-06\');\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (549,32,'TIME_TO_SEC','Syntax:\nTIME_TO_SEC(time)\n\nReturns the time argument, converted to seconds.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT TIME_TO_SEC(\'22:23:00\');\n -> 80580\nmysql> SELECT TIME_TO_SEC(\'00:39:38\');\n -> 2378\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (550,32,'CONVERT_TZ','Syntax:\nCONVERT_TZ(dt,from_tz,to_tz)\n\nCONVERT_TZ() converts a datetime value dt from the time zone given by\nfrom_tz to the time zone given by to_tz and returns the resulting\nvalue. Time zones are specified as described in\nhttp://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html. This\nfunction returns NULL if the arguments are invalid.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'GMT\',\'MET\');\n -> \'2004-01-01 13:00:00\'\nmysql> SELECT CONVERT_TZ(\'2004-01-01 12:00:00\',\'+00:00\',\'+10:00\');\n -> \'2004-01-01 22:00:00\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (551,38,'EXPORT_SET','Syntax:\nEXPORT_SET(bits,on,off[,separator[,number_of_bits]])\n\nReturns a string such that for every bit set in the value bits, you get\nan on string and for every bit not set in the value, you get an off\nstring. Bits in bits are examined from right to left (from low-order to\nhigh-order bits). Strings are added to the result from left to right,\nseparated by the separator string (the default being the comma\ncharacter ,). The number of bits examined is given by number_of_bits,\nwhich has a default of 64 if not specified. number_of_bits is silently\nclipped to 64 if larger than 64. It is treated as an unsigned integer,\nso a value of −1 is effectively the same as 64.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT EXPORT_SET(5,\'Y\',\'N\',\',\',4);\n -> \'Y,N,Y,N\'\nmysql> SELECT EXPORT_SET(6,\'1\',\'0\',\',\',10);\n -> \'0,1,1,0,0,0,0,0,0,0\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (552,38,'CAST','Syntax:\nCAST(expr AS type)\n\nThe CAST() function takes an expression of any type and produces a\nresult value of the specified type, similar to CONVERT(). For more\ninformation, see the description of CONVERT().\n\nCAST() is standard SQL syntax.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (553,38,'SOUNDS LIKE','Syntax:\nexpr1 SOUNDS LIKE expr2\n\nThis is the same as SOUNDEX(expr1) = SOUNDEX(expr2).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (554,32,'PERIOD_DIFF','Syntax:\nPERIOD_DIFF(P1,P2)\n\nReturns the number of months between periods P1 and P2. P1 and P2\nshould be in the format YYMM or YYYYMM. Note that the period arguments\nP1 and P2 are not date values.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT PERIOD_DIFF(200802,200703);\n -> 11\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (555,16,'AVG','Syntax:\nAVG([DISTINCT] expr)\n\nReturns the average value of expr. The DISTINCT option can be used to\nreturn the average of the distinct values of expr.\n\nIf there are no matching rows, AVG() returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html\n\n','mysql> SELECT student_name, AVG(test_score)\n FROM student\n GROUP BY student_name;\n','http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (556,38,'QUOTE','Syntax:\nQUOTE(str)\n\nQuotes a string to produce a result that can be used as a properly\nescaped data value in an SQL statement. The string is returned enclosed\nby single quotation marks and with each instance of backslash (\\),\nsingle quote (\'), ASCII NUL, and Control+Z preceded by a backslash. If\nthe argument is NULL, the return value is the word "NULL" without\nenclosing single quotation marks.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT QUOTE(\'Don\\\'t!\');\n -> \'Don\\\'t!\'\nmysql> SELECT QUOTE(NULL);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (557,20,'IN','Syntax:\nexpr IN (value,...)\n\nReturns 1 if expr is equal to any of the values in the IN list, else\nreturns 0. If all values are constants, they are evaluated according to\nthe type of expr and sorted. The search for the item then is done using\na binary search. This means IN is very quick if the IN value list\nconsists entirely of constants. Otherwise, type conversion takes place\naccording to the rules described in\nhttp://dev.mysql.com/doc/refman/5.7/en/type-conversion.html, but\napplied to all the arguments.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 IN (0,3,5,7);\n -> 0\nmysql> SELECT \'wefwf\' IN (\'wee\',\'wefwf\',\'weg\');\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (558,32,'QUARTER','Syntax:\nQUARTER(date)\n\nReturns the quarter of the year for date, in the range 1 to 4.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT QUARTER(\'2008-04-01\');\n -> 2\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (559,27,'HELP COMMAND','Syntax:\nmysql> help search_string\n\nIf you provide an argument to the help command, mysql uses it as a\nsearch string to access server-side help from the contents of the MySQL\nReference Manual. The proper operation of this command requires that\nthe help tables in the mysql database be initialized with help topic\ninformation (see\nhttp://dev.mysql.com/doc/refman/5.7/en/server-side-help-support.html).\n\nIf there is no match for the search string, the search fails:\n\nmysql> help me\n\nNothing found\nPlease try to run \'help contents\' for a list of all accessible topics\n\nUse help contents to see a list of the help categories:\n\nmysql> help contents\nYou asked for help about help category: "Contents"\nFor more information, type \'help \', where is one of the\nfollowing categories:\n Account Management\n Administration\n Data Definition\n Data Manipulation\n Data Types\n Functions\n Functions and Modifiers for Use with GROUP BY\n Geographic Features\n Language Structure\n Plugins\n Storage Engines\n Stored Routines\n Table Maintenance\n Transactions\n Triggers\n\nIf the search string matches multiple items, mysql shows a list of\nmatching topics:\n\nmysql> help logs\nMany help items for your request exist.\nTo make a more specific request, please type \'help \',\nwhere is one of the following topics:\n SHOW\n SHOW BINARY LOGS\n SHOW ENGINE\n SHOW LOGS\n\nUse a topic as the search string to see the help entry for that topic:\n\nmysql> help show binary logs\nName: \'SHOW BINARY LOGS\'\nDescription:\nSyntax:\nSHOW BINARY LOGS\nSHOW MASTER LOGS\n\nLists the binary log files on the server. This statement is used as\npart of the procedure described in [purge-binary-logs], that shows how\nto determine which logs can be purged.\n\nmysql> SHOW BINARY LOGS;\n+---------------+-----------+\n| Log_name | File_size |\n+---------------+-----------+\n| binlog.000015 | 724935 |\n| binlog.000016 | 733481 |\n+---------------+-----------+\n\nThe search string can contain the wildcard characters % and _. These\nhave the same meaning as for pattern-matching operations performed with\nthe LIKE operator. For example, HELP rep% returns a list of topics that\nbegin with rep:\n\nmysql> HELP rep%\nMany help items for your request exist.\nTo make a more specific request, please type \'help \',\nwhere is one of the following\ntopics:\n REPAIR TABLE\n REPEAT FUNCTION\n REPEAT LOOP\n REPLACE\n REPLACE FUNCTION\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mysql-server-side-help.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/mysql-server-side-help.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (560,7,'JSON_REPLACE','Syntax:\nJSON_REPLACE(json_doc, path, val[, path, val] ...)\n\nReplaces existing values in a JSON document and returns the result.\nReturns NULL if any argument is NULL. An error occurs if the json_doc\nargument is not a valid JSON document or any path argument is not a\nvalid path expression or contains a * or ** wildcard.\n\nThe path-value pairs are evaluated left to right. The document produced\nby evaluating one pair becomes the new value against which the next\npair is evaluated.\n\nA path-value pair for an existing path in the document overwrites the\nexisting document value with the new value. A path-value pair for a\nnonexisting path in the document is ignored and has no effect.\n\nFor a comparison of JSON_INSERT(), JSON_REPLACE(), and JSON_SET(), see\nthe discussion of JSON_SET().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','mysql> SET @j = \'{ "a": 1, "b": [2, 3]}\';\nmysql> SELECT JSON_REPLACE(@j, \'$.a\', 10, \'$.c\', \'[true, false]\');\n+-----------------------------------------------------+\n| JSON_REPLACE(@j, \'$.a\', 10, \'$.c\', \'[true, false]\') |\n+-----------------------------------------------------+\n| {"a": 10, "b": [2, 3]} |\n+-----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (561,38,'POSITION','Syntax:\nPOSITION(substr IN str)\n\nPOSITION(substr IN str) is a synonym for LOCATE(substr,str).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (562,14,'IS_USED_LOCK','Syntax:\nIS_USED_LOCK(str)\n\nChecks whether the lock named str is in use (that is, locked). If so,\nit returns the connection identifier of the client session that holds\nthe lock. Otherwise, it returns NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (563,4,'POLYFROMTEXT','PolyFromText(wkt[, srid]), PolygonFromText(wkt[, srid])\n\nST_PolyFromText(), ST_PolygonFromText(), PolyFromText(), and\nPolygonFromText() are synonyms. For more information, see the\ndescription of ST_PolyFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (564,37,'ST_SRID','ST_SRID(g)\n\nReturns an integer indicating the spatial reference system ID\nassociated with the geometry value g, or NULL if the argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','mysql> SELECT ST_SRID(ST_GeomFromText(\'LineString(1 1,2 2)\',101));\n+-----------------------------------------------------+\n| ST_SRID(ST_GeomFromText(\'LineString(1 1,2 2)\',101)) |\n+-----------------------------------------------------+\n| 101 |\n+-----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (565,10,'ALTER USER','Syntax:\nALTER USER [IF EXISTS]\n user [auth_option] [, user [auth_option]] ...\n [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]\n [WITH resource_option [resource_option] ...]\n [password_option | lock_option] ...\n\nALTER USER [IF EXISTS]\n USER() IDENTIFIED BY \'auth_string\'\n\nuser:\n (see )\n\nauth_option: {\n IDENTIFIED BY \'auth_string\'\n | IDENTIFIED WITH auth_plugin\n | IDENTIFIED WITH auth_plugin BY \'auth_string\'\n | IDENTIFIED WITH auth_plugin AS \'hash_string\'\n}\n\ntls_option: {\n SSL\n | X509\n | CIPHER \'cipher\'\n | ISSUER \'issuer\'\n | SUBJECT \'subject\'\n}\n\nresource_option: {\n MAX_QUERIES_PER_HOUR count\n | MAX_UPDATES_PER_HOUR count\n | MAX_CONNECTIONS_PER_HOUR count\n | MAX_USER_CONNECTIONS count\n}\n\npassword_option: {\n PASSWORD EXPIRE\n | PASSWORD EXPIRE DEFAULT\n | PASSWORD EXPIRE NEVER\n | PASSWORD EXPIRE INTERVAL N DAY\n}\n\nlock_option: {\n ACCOUNT LOCK\n | ACCOUNT UNLOCK\n}\n\nThe ALTER USER statement modifies MySQL accounts. It enables\nauthentication, SSL/TLS, resource-limit, and password-management\nproperties to be modified for existing accounts, and enables account\nlocking and unlocking.\n\nTo use ALTER USER, you must have the global CREATE USER privilege or\nthe UPDATE privilege for the mysql database. When the read_only system\nvariable is enabled, ALTER USER additionally requires the SUPER\nprivilege.\n\nBy default, an error occurs if you try to modify a user that does not\nexist. If the IF EXISTS clause is given, the statement produces a\nwarning for each named user that does not exist, rather than an error.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-user.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-user.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (566,12,'DES_ENCRYPT','Syntax:\nDES_ENCRYPT(str[,{key_num|key_str}])\n\nEncrypts the string with the given key using the Triple-DES algorithm.\n\nThis function works only if MySQL has been configured with SSL support.\nSee http://dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html.\n\nThe encryption key to use is chosen based on the second argument to\nDES_ENCRYPT(), if one was given. With no argument, the first key from\nthe DES key file is used. With a key_num argument, the given key number\n(0 to 9) from the DES key file is used. With a key_str argument, the\ngiven key string is used to encrypt str.\n\nThe key file can be specified with the --des-key-file server option.\n\nThe return string is a binary string where the first character is\nCHAR(128 | key_num). If an error occurs, DES_ENCRYPT() returns NULL.\n\nThe 128 is added to make it easier to recognize an encrypted key. If\nyou use a string key, key_num is 127.\n\nThe string length for the result is given by this formula:\n\nnew_len = orig_len + (8 - (orig_len % 8)) + 1\n\nEach line in the DES key file has the following format:\n\nkey_num des_key_str\n\nEach key_num value must be a number in the range from 0 to 9. Lines in\nthe file may be in any order. des_key_str is the string that is used to\nencrypt the message. There should be at least one space between the\nnumber and the key. The first key is the default key that is used if\nyou do not specify any key argument to DES_ENCRYPT().\n\nYou can tell MySQL to read new key values from the key file with the\nFLUSH DES_KEY_FILE statement. This requires the RELOAD privilege.\n\nOne benefit of having a set of default keys is that it gives\napplications a way to check for the existence of encrypted column\nvalues, without giving the end user the right to decrypt those values.\n\n*Note*:\n\nThe DES_ENCRYPT() and DES_DECRYPT() functions are deprecated as of\nMySQL 5.7.6, will be removed in a future MySQL release, and should no\nlonger be used. Consider using AES_ENCRYPT() and AES_DECRYPT() instead.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT customer_address FROM customer_table \n > WHERE crypted_credit_card = DES_ENCRYPT(\'credit_card_number\');\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (567,3,'CEIL','Syntax:\nCEIL(X)\n\nCEIL() is a synonym for CEILING().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (568,7,'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS','Syntax:\nWAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(gtid_set[, timeout][,channel])\n\nWAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() is similar to\nWAIT_FOR_EXECUTED_GTID_SET() in that it waits until all of the\ntransactions whose global transaction identifiers are contained in\ngtid_set have been applied, or until timeout seconds have elapsed,\nwhichever occurs first. However, WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()\napplies to a specific replication channel, and stops only after the\ntransactions have been applied on the specified channel, for which the\napplier must be running. In contrast, WAIT_FOR_EXECUTED_GTID_SET()\nstops after the transactions have been applied, regardless of where\nthey were applied (on any replication channel or any user client), and\nwhether or not any replication channels are running.\n\nThe channel option names which replication channel the function applies\nto. If no channel is named and no channels other than the default\nreplication channel exist, the function applies to the default\nreplication channel. If multiple replication channels exist, you must\nspecify a channel as otherwise it is not known which replication\nchannel the function applies to. See\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-channels.html for\nmore information on replication channels.\n\n*Note*:\n\nBecause WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() applies to a specific\nreplication channel, if an expected transaction arrives on a different\nreplication channel or from a user client, for example in a failover or\nmanual recovery situation, the function can hang indefinitely if no\ntimeout is set. Use WAIT_FOR_EXECUTED_GTID_SET() instead to ensure\ncorrect handling of transactions in these situations.\n\nGTID sets used with WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() are represented\nas strings and must be quoted in the same way as for\nWAIT_FOR_EXECUTED_GTID_SET(). For WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(),\nthe return value for the function is an arbitrary positive number. If\nGTID-based replication is not active (that is, if the value of the\ngtid_mode variable is OFF), then this value is undefined and\nWAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() returns NULL. If the slave is not\nrunning then the function also returns NULL.\n\ngtid_mode cannot be changed to OFF while any client is using this\nfunction to wait for GTIDs to be applied.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (569,38,'LENGTH','Syntax:\nLENGTH(str)\n\nReturns the length of the string str, measured in bytes. A multibyte\ncharacter counts as multiple bytes. This means that for a string\ncontaining five 2-byte characters, LENGTH() returns 10, whereas\nCHAR_LENGTH() returns 5.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT LENGTH(\'text\');\n -> 4\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (570,38,'WEIGHT_STRING','Syntax:\nWEIGHT_STRING(str [AS {CHAR|BINARY}(N)] [LEVEL levels] [flags])\n\nlevels: N [ASC|DESC|REVERSE] [, N [ASC|DESC|REVERSE]] ...\n\nThis function returns the weight string for the input string. The\nreturn value is a binary string that represents the comparison and\nsorting value of the string. It has these properties:\n\no If WEIGHT_STRING(str1) = WEIGHT_STRING(str2), then str1 = str2 (str1\n and str2 are considered equal)\n\no If WEIGHT_STRING(str1) < WEIGHT_STRING(str2), then str1 < str2 (str1\n sorts before str2)\n\nWEIGHT_STRING() is a debugging function intended for internal use. Its\nbehavior can change without notice between MySQL versions. It can be\nused for testing and debugging of collations, especially if you are\nadding a new collation. See\nhttp://dev.mysql.com/doc/refman/5.7/en/adding-collation.html.\n\nThis list briefly summarizes the arguments. More details are given in\nthe discussion following the list.\n\no str: The input string expression.\n\no AS clause: Optional; cast the input string to a given type and\n length.\n\no LEVEL clause: Optional; specify weight levels for the return value.\n\no flags: Optional; unused.\n\nThe input string, str, is a string expression. If the input is a\nnonbinary (character) string such as a CHAR, VARCHAR, or TEXT value,\nthe return value contains the collation weights for the string. If the\ninput is a binary (byte) string such as a BINARY, VARBINARY, or BLOB\nvalue, the return value is the same as the input (the weight for each\nbyte in a binary string is the byte value). If the input is NULL,\nWEIGHT_STRING() returns NULL.\n\nExamples:\n\nmysql> SET @s = _latin1 \'AB\' COLLATE latin1_swedish_ci;\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| AB | 4142 | 4142 |\n+------+---------+------------------------+\n\nmysql> SET @s = _latin1 \'ab\' COLLATE latin1_swedish_ci;\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| ab | 6162 | 4142 |\n+------+---------+------------------------+\n\nmysql> SET @s = CAST(\'AB\' AS BINARY);\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| AB | 4142 | 4142 |\n+------+---------+------------------------+\n\nmysql> SET @s = CAST(\'ab\' AS BINARY);\nmysql> SELECT @s, HEX(@s), HEX(WEIGHT_STRING(@s));\n+------+---------+------------------------+\n| @s | HEX(@s) | HEX(WEIGHT_STRING(@s)) |\n+------+---------+------------------------+\n| ab | 6162 | 6162 |\n+------+---------+------------------------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (571,31,'ST_EQUALS','ST_Equals(g1, g2)\n\nReturns 1 or 0 to indicate whether g1 is spatially equal to g2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html\n\n','mysql> SET @g1 = Point(1,1), @g2 = Point(2,2);\nmysql> SELECT ST_Equals(@g1, @g1), ST_Equals(@g1, @g2);\n+---------------------+---------------------+\n| ST_Equals(@g1, @g1) | ST_Equals(@g1, @g2) |\n+---------------------+---------------------+\n| 1 | 0 |\n+---------------------+---------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (572,40,'ALTER EVENT','Syntax:\nALTER\n [DEFINER = { user | CURRENT_USER }]\n EVENT event_name\n [ON SCHEDULE schedule]\n [ON COMPLETION [NOT] PRESERVE]\n [RENAME TO new_event_name]\n [ENABLE | DISABLE | DISABLE ON SLAVE]\n [COMMENT \'string\']\n [DO event_body]\n\nThe ALTER EVENT statement changes one or more of the characteristics of\nan existing event without the need to drop and recreate it. The syntax\nfor each of the DEFINER, ON SCHEDULE, ON COMPLETION, COMMENT, ENABLE /\nDISABLE, and DO clauses is exactly the same as when used with CREATE\nEVENT. (See [HELP CREATE EVENT].)\n\nAny user can alter an event defined on a database for which that user\nhas the EVENT privilege. When a user executes a successful ALTER EVENT\nstatement, that user becomes the definer for the affected event.\n\nALTER EVENT works only with an existing event:\n\nmysql> ALTER EVENT no_such_event \n > ON SCHEDULE \n > EVERY \'2:3\' DAY_HOUR;\nERROR 1517 (HY000): Unknown event \'no_such_event\'\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-event.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-event.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (573,32,'DATE_SUB','Syntax:\nDATE_SUB(date,INTERVAL expr unit)\n\nSee the description for DATE_ADD().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (574,19,'|','Syntax:\n|\n\nBitwise OR.\n\nThe result is an unsigned 64-bit integer.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html\n\n','mysql> SELECT 29 | 15;\n -> 31\n','http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (575,7,'ASYMMETRIC_SIGN','Syntax:\nASYMMETRIC_SIGN(algorithm, digest_str, priv_key_str, digest_type)\n\nSigns a digest string using a private key string, and returns the\nsignature as a binary string. If signing fails, the result is NULL.\n\ndigest_str is the digest string. It can be generated by calling\nCREATE_DIGEST(). digest_type indicates the digest algorithm used to\ngenerate the digest string.\n\npriv_key_str is the private key string to use for signing the digest\nstring. It must be a valid key string in PEM format. algorithm\nindicates the encryption algorithm used to create the key.\n\nSupported algorithm values: \'RSA\', \'DSA\'\n\nSupported digest_type values: \'SHA224\', \'SHA256\', \'SHA384\', \'SHA512\'\n\nFor a usage example, see the description of ASYMMETRIC_VERIFY().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (576,4,'GEOMFROMTEXT','GeomFromText(wkt[, srid]), GeometryFromText(wkt[, srid])\n\nST_GeomFromText(), ST_GeometryFromText(), GeomFromText(), and\nGeometryFromText() are synonyms. For more information, see the\ndescription of ST_GeomFromText().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (577,14,'UUID_SHORT','Syntax:\nUUID_SHORT()\n\nReturns a "short" universal identifier as a 64-bit unsigned integer.\nValues returned by UUID_SHORT() differ from the string-format 128-bit\nidentifiers returned by the UUID() function and have different\nuniqueness properties. The value of UUID_SHORT() is guaranteed to be\nunique if the following conditions hold:\n\no The server_id value of the current server is between 0 and 255 and is\n unique among your set of master and slave servers\n\no You do not set back the system time for your server host between\n mysqld restarts\n\no You invoke UUID_SHORT() on average fewer than 16 million times per\n second between mysqld restarts\n\nThe UUID_SHORT() return value is constructed this way:\n\n (server_id & 255) << 56\n+ (server_startup_time_in_seconds << 24)\n+ incremented_variable++;\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT UUID_SHORT();\n -> 92395783831158784\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (578,32,'DATEDIFF','Syntax:\nDATEDIFF(expr1,expr2)\n\nDATEDIFF() returns expr1 − expr2 expressed as a value in days from\none date to the other. expr1 and expr2 are date or date-and-time\nexpressions. Only the date parts of the values are used in the\ncalculation.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DATEDIFF(\'2007-12-31 23:59:59\',\'2007-12-30\');\n -> 1\nmysql> SELECT DATEDIFF(\'2010-11-30 23:59:59\',\'2010-12-31\');\n -> -31\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (579,40,'DROP PROCEDURE','Syntax:\nDROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name\n\nThis statement is used to drop a stored procedure or function. That is,\nthe specified routine is removed from the server. You must have the\nALTER ROUTINE privilege for the routine. (If the\nautomatic_sp_privileges system variable is enabled, that privilege and\nEXECUTE are granted automatically to the routine creator when the\nroutine is created and dropped from the creator when the routine is\ndropped. See\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-routines-privileges.html.\n)\n\nThe IF EXISTS clause is a MySQL extension. It prevents an error from\noccurring if the procedure or function does not exist. A warning is\nproduced that can be viewed with SHOW WARNINGS.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/drop-procedure.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/drop-procedure.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (580,7,'ST_LATFROMGEOHASH','ST_LatFromGeoHash(geohash_str)\n\nReturns the latitude from a geohash string value, as a DOUBLE value in\nthe range [−90, 90].\n\nIf the argument is NULL, the return value is NULL. If the argument is\ninvalid, an error occurs.\n\nThe ST_LatFromGeoHash() decoding function reads no more than 433\ncharacters from the geohash_str argument. That represents the upper\nlimit on information in the internal representation of coordinate\nvalues. Characters past the 433rd are ignored, even if they are\notherwise illegal and produce an error.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html\n\n','mysql> SELECT ST_LatFromGeoHash(ST_GeoHash(45,-20,10));\n+------------------------------------------+\n| ST_LatFromGeoHash(ST_GeoHash(45,-20,10)) |\n+------------------------------------------+\n| -20 |\n+------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geohash-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (581,7,'ST_GEOMFROMGEOJSON','ST_GeomFromGeoJSON(str [, options [, srid]])\n\nParses a string str representing a GeoJSON object and returns a\ngeometry.\n\nIf any argument is NULL, the return value is NULL. If any non-NULL\nargument is invalid, an error occurs.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html\n\n','mysql> SET @json = \'{ "type": "Point", "coordinates": [102.0, 0.0]}\';\nmysql> SELECT ST_AsText(ST_GeomFromGeoJSON(@json));\n+--------------------------------------+\n| ST_AsText(ST_GeomFromGeoJSON(@json)) |\n+--------------------------------------+\n| POINT(102 0) |\n+--------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (582,5,'INSTALL PLUGIN','Syntax:\nINSTALL PLUGIN plugin_name SONAME \'shared_library_name\'\n\nThis statement installs a server plugin. It requires the INSERT\nprivilege for the mysql.plugin system table.\n\nplugin_name is the name of the plugin as defined in the plugin\ndescriptor structure contained in the library file (see\nhttp://dev.mysql.com/doc/refman/5.7/en/plugin-data-structures.html).\nPlugin names are not case-sensitive. For maximal compatibility, plugin\nnames should be limited to ASCII letters, digits, and underscore\nbecause they are used in C source files, shell command lines, M4 and\nBourne shell scripts, and SQL environments.\n\nshared_library_name is the name of the shared library that contains the\nplugin code. The name includes the file name extension (for example,\nlibmyplugin.so, libmyplugin.dll, or libmyplugin.dylib).\n\nThe shared library must be located in the plugin directory (the\ndirectory named by the plugin_dir system variable). The library must be\nin the plugin directory itself, not in a subdirectory. By default,\nplugin_dir is the plugin directory under the directory named by the\npkglibdir configuration variable, but it can be changed by setting the\nvalue of plugin_dir at server startup. For example, set its value in a\nmy.cnf file:\n\n[mysqld]\nplugin_dir=/path/to/plugin/directory\n\nIf the value of plugin_dir is a relative path name, it is taken to be\nrelative to the MySQL base directory (the value of the basedir system\nvariable).\n\nINSTALL PLUGIN loads and initializes the plugin code to make the plugin\navailable for use. A plugin is initialized by executing its\ninitialization function, which handles any setup that the plugin must\nperform before it can be used. When the server shuts down, it executes\nthe deinitialization function for each plugin that is loaded so that\nthe plugin has a chance to perform any final cleanup.\n\nINSTALL PLUGIN also registers the plugin by adding a line that\nindicates the plugin name and library file name to the mysql.plugin\ntable. At server startup, the server loads and initializes any plugin\nthat is listed in the mysql.plugin table. This means that a plugin is\ninstalled with INSTALL PLUGIN only once, not every time the server\nstarts. Plugin loading at startup does not occur if the server is\nstarted with the --skip-grant-tables option.\n\nA plugin library can contain multiple plugins. For each of them to be\ninstalled, use a separate INSTALL PLUGIN statement. Each statement\nnames a different plugin, but all of them specify the same library\nname.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/install-plugin.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/install-plugin.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (583,24,'DECLARE CURSOR','Syntax:\nDECLARE cursor_name CURSOR FOR select_statement\n\nThis statement declares a cursor and associates it with a SELECT\nstatement that retrieves the rows to be traversed by the cursor. To\nfetch the rows later, use a FETCH statement. The number of columns\nretrieved by the SELECT statement must match the number of output\nvariables specified in the FETCH statement.\n\nThe SELECT statement cannot have an INTO clause.\n\nCursor declarations must appear before handler declarations and after\nvariable and condition declarations.\n\nA stored program may contain multiple cursor declarations, but each\ncursor declared in a given block must have a unique name. For an\nexample, see http://dev.mysql.com/doc/refman/5.7/en/cursors.html.\n\nFor information available through SHOW statements, it is possible in\nmany cases to obtain equivalent information by using a cursor with an\nINFORMATION_SCHEMA table.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/declare-cursor.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/declare-cursor.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (584,28,'LOAD DATA','Syntax:\nLOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE \'file_name\'\n [REPLACE | IGNORE]\n INTO TABLE tbl_name\n [PARTITION (partition_name [, partition_name] ...)]\n [CHARACTER SET charset_name]\n [{FIELDS | COLUMNS}\n [TERMINATED BY \'string\']\n [[OPTIONALLY] ENCLOSED BY \'char\']\n [ESCAPED BY \'char\']\n ]\n [LINES\n [STARTING BY \'string\']\n [TERMINATED BY \'string\']\n ]\n [IGNORE number {LINES | ROWS}]\n [(col_name_or_user_var\n [, col_name_or_user_var] ...)]\n [SET col_name={expr | DEFAULT},\n [, col_name={expr | DEFAULT}] ...]\n\nThe LOAD DATA INFILE statement reads rows from a text file into a table\nat a very high speed. LOAD DATA INFILE is the complement of SELECT ...\nINTO OUTFILE. (See\nhttp://dev.mysql.com/doc/refman/5.7/en/select-into.html.) To write data\nfrom a table to a file, use SELECT ... INTO OUTFILE. To read the file\nback into a table, use LOAD DATA INFILE. The syntax of the FIELDS and\nLINES clauses is the same for both statements. Both clauses are\noptional, but FIELDS must precede LINES if both are specified.\n\nYou can also load data files by using the mysqlimport utility; it\noperates by sending a LOAD DATA INFILE statement to the server. The\n--local option causes mysqlimport to read data files from the client\nhost. You can specify the --compress option to get better performance\nover slow networks if the client and server support the compressed\nprotocol. See http://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html.\n\nFor more information about the efficiency of INSERT versus LOAD DATA\nINFILE and speeding up LOAD DATA INFILE, see\nhttp://dev.mysql.com/doc/refman/5.7/en/insert-optimization.html.\n\nThe file name must be given as a literal string. On Windows, specify\nbackslashes in path names as forward slashes or doubled backslashes.\nThe character_set_filesystem system variable controls the\ninterpretation of the file name.\n\nLOAD DATA supports explicit partition selection using the PARTITION\noption with a list of one or more comma-separated names of partitions,\nsubpartitions, or both. When this option is used, if any rows from the\nfile cannot be inserted into any of the partitions or subpartitions\nnamed in the list, the statement fails with the error Found a row not\nmatching the given partition set. For more information and examples,\nsee http://dev.mysql.com/doc/refman/5.7/en/partitioning-selection.html.\n\nFor partitioned tables using storage engines that employ table locks,\nsuch as MyISAM, LOAD DATA cannot prune any partition locks. This does\nnot apply to tables using storage engines which employ row-level\nlocking, such as InnoDB. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations-locking\n.html.\n\nThe server uses the character set indicated by the\ncharacter_set_database system variable to interpret the information in\nthe file. SET NAMES and the setting of character_set_client do not\naffect interpretation of input. If the contents of the input file use a\ncharacter set that differs from the default, it is usually preferable\nto specify the character set of the file by using the CHARACTER SET\nclause. A character set of binary specifies "no conversion."\n\nLOAD DATA INFILE interprets all fields in the file as having the same\ncharacter set, regardless of the data types of the columns into which\nfield values are loaded. For proper interpretation of file contents,\nyou must ensure that it was written with the correct character set. For\nexample, if you write a data file with mysqldump -T or by issuing a\nSELECT ... INTO OUTFILE statement in mysql, be sure to use a\n--default-character-set option so that output is written in the\ncharacter set to be used when the file is loaded with LOAD DATA INFILE.\n\n*Note*:\n\nIt is not possible to load data files that use the ucs2, utf16,\nutf16le, or utf32 character set.\n\nIf you use LOW_PRIORITY, execution of the LOAD DATA statement is\ndelayed until no other clients are reading from the table. This affects\nonly storage engines that use only table-level locking (such as MyISAM,\nMEMORY, and MERGE).\n\nIf you specify CONCURRENT with a MyISAM table that satisfies the\ncondition for concurrent inserts (that is, it contains no free blocks\nin the middle), other threads can retrieve data from the table while\nLOAD DATA is executing. This option affects the performance of LOAD\nDATA a bit, even if no other thread is using the table at the same\ntime.\n\nWith row-based replication, CONCURRENT is replicated regardless of\nMySQL version. With statement-based replication CONCURRENT is not\nreplicated prior to MySQL 5.5.1 (see Bug #34628). For more information,\nsee\nhttp://dev.mysql.com/doc/refman/5.7/en/replication-features-load-data.h\ntml.\n\nThe LOCAL keyword affects expected location of the file and error\nhandling, as described later. LOCAL works only if your server and your\nclient both have been configured to permit it. For example, if mysqld\nwas started with the local_infile system variable disabled, LOCAL does\nnot work. See\nhttp://dev.mysql.com/doc/refman/5.7/en/load-data-local.html.\n\nThe LOCAL keyword affects where the file is expected to be found:\n\no If LOCAL is specified, the file is read by the client program on the\n client host and sent to the server. The file can be given as a full\n path name to specify its exact location. If given as a relative path\n name, the name is interpreted relative to the directory in which the\n client program was started.\n\n When using LOCAL with LOAD DATA, a copy of the file is created in the\n server\'s temporary directory. This is not the directory determined by\n the value of tmpdir or slave_load_tmpdir, but rather the operating\n system\'s temporary directory, and is not configurable in the MySQL\n Server. (Typically the system temporary directory is /tmp on Linux\n systems and C:\\WINDOWS\\TEMP on Windows.) Lack of sufficient space for\n the copy in this directory can cause the LOAD DATA LOCAL statement to\n fail.\n\no If LOCAL is not specified, the file must be located on the server\n host and is read directly by the server. The server uses the\n following rules to locate the file:\n\n o If the file name is an absolute path name, the server uses it as\n given.\n\n o If the file name is a relative path name with one or more leading\n components, the server searches for the file relative to the\n server\'s data directory.\n\n o If a file name with no leading components is given, the server\n looks for the file in the database directory of the default\n database.\n\nIn the non-LOCAL case, these rules mean that a file named as\n./myfile.txt is read from the server\'s data directory, whereas the file\nnamed as myfile.txt is read from the database directory of the default\ndatabase. For example, if db1 is the default database, the following\nLOAD DATA statement reads the file data.txt from the database directory\nfor db1, even though the statement explicitly loads the file into a\ntable in the db2 database:\n\nLOAD DATA INFILE \'data.txt\' INTO TABLE db2.my_table;\n\nNon-LOCAL load operations read text files located on the server. For\nsecurity reasons, such operations require that you have the FILE\nprivilege. See\nhttp://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html. Also,\nnon-LOCAL load operations are subject to the secure_file_priv system\nvariable setting. If the variable value is a nonempty directory name,\nthe file to be loaded must be located in that directory. If the\nvariable value is empty (which is insecure), the file need only be\nreadable by the server.\n\nUsing LOCAL is a bit slower than letting the server access the files\ndirectly, because the contents of the file must be sent over the\nconnection by the client to the server. On the other hand, you do not\nneed the FILE privilege to load local files.\n\nLOCAL also affects error handling:\n\no With LOAD DATA INFILE, data-interpretation and duplicate-key errors\n terminate the operation.\n\no With LOAD DATA LOCAL INFILE, data-interpretation and duplicate-key\n errors become warnings and the operation continues because the server\n has no way to stop transmission of the file in the middle of the\n operation. For duplicate-key errors, this is the same as if IGNORE is\n specified. IGNORE is explained further later in this section.\n\nThe REPLACE and IGNORE keywords control handling of input rows that\nduplicate existing rows on unique key values:\n\no If you specify REPLACE, input rows replace existing rows. In other\n words, rows that have the same value for a primary key or unique\n index as an existing row. See [HELP REPLACE].\n\no If you specify IGNORE, rows that duplicate an existing row on a\n unique key value are discarded. For more information, see\n http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#ignore-strict-co\n mparison.\n\no If you do not specify either option, the behavior depends on whether\n the LOCAL keyword is specified. Without LOCAL, an error occurs when a\n duplicate key value is found, and the rest of the text file is\n ignored. With LOCAL, the default behavior is the same as if IGNORE is\n specified; this is because the server has no way to stop transmission\n of the file in the middle of the operation.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/load-data.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/load-data.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (585,32,'LOCALTIME','Syntax:\nLOCALTIME, LOCALTIME([fsp])\n\nLOCALTIME and LOCALTIME() are synonyms for NOW().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (586,33,'ST_GEOMFROMWKB','ST_GeomFromWKB(wkb[, srid]), ST_GeometryFromWKB(wkb[, srid])\n\nConstructs a geometry value of any type using its WKB representation\nand SRID.\n\nThe result is NULL if the WKB or SRID argument is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (587,12,'SHA1','Syntax:\nSHA1(str), SHA(str)\n\nCalculates an SHA-1 160-bit checksum for the string, as described in\nRFC 3174 (Secure Hash Algorithm). The value is returned as a string of\n40 hexadecimal digits, or NULL if the argument was NULL. One of the\npossible uses for this function is as a hash key. See the notes at the\nbeginning of this section about storing hash values efficiently. You\ncan also use SHA1() as a cryptographic function for storing passwords.\nSHA() is synonymous with SHA1().\n\nThe return value is a string in the connection character set.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SELECT SHA1(\'abc\');\n -> \'a9993e364706816aba3e25717850c26c9cd0d89d\'\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (588,23,'BLOB','BLOB[(M)]\n\nA BLOB column with a maximum length of 65,535 (216 − 1) bytes. Each\nBLOB value is stored using a 2-byte length prefix that indicates the\nnumber of bytes in the value.\n\nAn optional length M can be given for this type. If this is done, MySQL\ncreates the column as the smallest BLOB type large enough to hold\nvalues M bytes long.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (589,12,'PASSWORD','Syntax:\nPASSWORD(str)\n\n*Note*:\n\nThis function is deprecated as of MySQL 5.7.6 and will be removed in a\nfuture MySQL release.\n\nReturns a hashed password string calculated from the cleartext password\nstr. The return value is a string in the connection character set, or\nNULL if the argument is NULL. This function is the SQL interface to the\nalgorithm used by the server to encrypt MySQL passwords for storage in\nthe mysql.user grant table.\n\nThe old_passwords system variable controls the password hashing method\nused by the PASSWORD() function. It also influences password hashing\nperformed by CREATE USER and GRANT statements that specify a password\nusing an IDENTIFIED BY clause.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (590,32,'UTC_DATE','Syntax:\nUTC_DATE, UTC_DATE()\n\nReturns the current UTC date as a value in \'YYYY-MM-DD\' or YYYYMMDD\nformat, depending on whether the function is used in a string or\nnumeric context.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_DATE(), UTC_DATE() + 0;\n -> \'2003-08-14\', 20030814\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (591,37,'DIMENSION','Dimension(g)\n\nST_Dimension() and Dimension() are synonyms. For more information, see\nthe description of ST_Dimension().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (592,23,'BIT','BIT[(M)]\n\nA bit-value type. M indicates the number of bits per value, from 1 to\n64. The default is 1 if M is omitted.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (593,8,'XA','Syntax:\nXA {START|BEGIN} xid [JOIN|RESUME]\n\nXA END xid [SUSPEND [FOR MIGRATE]]\n\nXA PREPARE xid\n\nXA COMMIT xid [ONE PHASE]\n\nXA ROLLBACK xid\n\nXA RECOVER [CONVERT XID]\n\nFor XA START, the JOIN and RESUME clauses are not supported.\n\nFor XA END the SUSPEND [FOR MIGRATE] clause is not supported.\n\nEach XA statement begins with the XA keyword, and most of them require\nan xid value. An xid is an XA transaction identifier. It indicates\nwhich transaction the statement applies to. xid values are supplied by\nthe client, or generated by the MySQL server. An xid value has from one\nto three parts:\n\nxid: gtrid [, bqual [, formatID ]]\n\ngtrid is a global transaction identifier, bqual is a branch qualifier,\nand formatID is a number that identifies the format used by the gtrid\nand bqual values. As indicated by the syntax, bqual and formatID are\noptional. The default bqual value is \'\' if not given. The default\nformatID value is 1 if not given.\n\ngtrid and bqual must be string literals, each up to 64 bytes (not\ncharacters) long. gtrid and bqual can be specified in several ways. You\ncan use a quoted string (\'ab\'), hex string (X\'6162\', 0x6162), or bit\nvalue (b\'nnnn\').\n\nformatID is an unsigned integer.\n\nThe gtrid and bqual values are interpreted in bytes by the MySQL\nserver\'s underlying XA support routines. However, while an SQL\nstatement containing an XA statement is being parsed, the server works\nwith some specific character set. To be safe, write gtrid and bqual as\nhex strings.\n\nxid values typically are generated by the Transaction Manager. Values\ngenerated by one TM must be different from values generated by other\nTMs. A given TM must be able to recognize its own xid values in a list\nof values returned by the XA RECOVER statement.\n\nXA START xid starts an XA transaction with the given xid value. Each XA\ntransaction must have a unique xid value, so the value must not\ncurrently be used by another XA transaction. Uniqueness is assessed\nusing the gtrid and bqual values. All following XA statements for the\nXA transaction must be specified using the same xid value as that given\nin the XA START statement. If you use any of those statements but\nspecify an xid value that does not correspond to some existing XA\ntransaction, an error occurs.\n\nOne or more XA transactions can be part of the same global transaction.\nAll XA transactions within a given global transaction must use the same\ngtrid value in the xid value. For this reason, gtrid values must be\nglobally unique so that there is no ambiguity about which global\ntransaction a given XA transaction is part of. The bqual part of the\nxid value must be different for each XA transaction within a global\ntransaction. (The requirement that bqual values be different is a\nlimitation of the current MySQL XA implementation. It is not part of\nthe XA specification.)\n\nThe XA RECOVER statement returns information for those XA transactions\non the MySQL server that are in the PREPARED state. (See\nhttp://dev.mysql.com/doc/refman/5.7/en/xa-states.html.) The output\nincludes a row for each such XA transaction on the server, regardless\nof which client started it.\n\nXA RECOVER output rows look like this (for an example xid value\nconsisting of the parts \'abc\', \'def\', and 7):\n\nmysql> XA RECOVER;\n+----------+--------------+--------------+--------+\n| formatID | gtrid_length | bqual_length | data |\n+----------+--------------+--------------+--------+\n| 7 | 3 | 3 | abcdef |\n+----------+--------------+--------------+--------+\n\nThe output columns have the following meanings:\n\no formatID is the formatID part of the transaction xid\n\no gtrid_length is the length in bytes of the gtrid part of the xid\n\no bqual_length is the length in bytes of the bqual part of the xid\n\no data is the concatenation of the gtrid and bqual parts of the xid\n\nXID values may contain nonprintable characters. As of MySQL 5.7.5, XA\nRECOVER permits an optional CONVERT XID clause so that clients can\nrequest XID values in hexadecimal.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/xa-statements.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/xa-statements.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (594,7,'EQUALS','Equals(g1, g2)\n\nMBREquals() and Equals() are synonyms. For more information, see the\ndescription of MBREquals().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-mbr.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (595,2,'CENTROID','Centroid(mpoly)\n\nST_Centroid() and Centroid() are synonyms. For more information, see\nthe description of ST_Centroid().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (596,38,'OCTET_LENGTH','Syntax:\nOCTET_LENGTH(str)\n\nOCTET_LENGTH() is a synonym for LENGTH().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (597,32,'UTC_TIMESTAMP','Syntax:\nUTC_TIMESTAMP, UTC_TIMESTAMP([fsp])\n\nReturns the current UTC date and time as a value in \'YYYY-MM-DD\nHH:MM:SS\' or YYYYMMDDHHMMSS format, depending on whether the function\nis used in a string or numeric context.\n\nIf the fsp argument is given to specify a fractional seconds precision\nfrom 0 to 6, the return value includes a fractional seconds part of\nthat many digits.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT UTC_TIMESTAMP(), UTC_TIMESTAMP() + 0;\n -> \'2003-08-14 18:08:04\', 20030814180804.000000\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (598,12,'AES_ENCRYPT','Syntax:\nAES_ENCRYPT(str,key_str[,init_vector])\n\nAES_ENCRYPT() and AES_DECRYPT() implement encryption and decryption of\ndata using the official AES (Advanced Encryption Standard) algorithm,\npreviously known as "Rijndael." The AES standard permits various key\nlengths. By default these functions implement AES with a 128-bit key\nlength. As of MySQL 5.7.4, key lengths of 196 or 256 bits can be used,\nas described later. The key length is a trade off between performance\nand security.\n\nAES_ENCRYPT() encrypts the string str using the key string key_str and\nreturns a binary string containing the encrypted output. AES_DECRYPT()\ndecrypts the encrypted string crypt_str using the key string key_str\nand returns the original cleartext string. If either function argument\nis NULL, the function returns NULL.\n\nThe str and crypt_str arguments can be any length, and padding is\nautomatically added to str so it is a multiple of a block as required\nby block-based algorithms such as AES. This padding is automatically\nremoved by the AES_DECRYPT() function. The length of crypt_str can be\ncalculated using this formula:\n\n16 * (trunc(string_length / 16) + 1)\n\nFor a key length of 128 bits, the most secure way to pass a key to the\nkey_str argument is to create a truly random 128-bit value and pass it\nas a binary value. For example:\n\nINSERT INTO t\nVALUES (1,AES_ENCRYPT(\'text\',UNHEX(\'F3229A0B371ED2D9441B830D21A390C3\')));\n\nA passphrase can be used to generate an AES key by hashing the\npassphrase. For example:\n\nINSERT INTO t\nVALUES (1,AES_ENCRYPT(\'text\', UNHEX(SHA2(\'My secret passphrase\',512))));\n\nDo not pass a password or passphrase directly to crypt_str, hash it\nfirst. Previous versions of this documentation suggested the former\napproach, but it is no longer recommended as the examples shown here\nare more secure.\n\nIf AES_DECRYPT() detects invalid data or incorrect padding, it returns\nNULL. However, it is possible for AES_DECRYPT() to return a non-NULL\nvalue (possibly garbage) if the input data or the key is invalid.\n\nAs of MySQL 5.7.4, AES_ENCRYPT() and AES_DECRYPT() permit control of\nthe block encryption mode and take an optional init_vector\ninitialization vector argument:\n\no The block_encryption_mode system variable controls the mode for\n block-based encryption algorithms. Its default value is aes-128-ecb,\n which signifies encryption using a key length of 128 bits and ECB\n mode. For a description of the permitted values of this variable, see\n http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\no The optional init_vector argument provides an initialization vector\n for block encryption modes that require it.\n\nFor modes that require the optional init_vector argument, it must be 16\nbytes or longer (bytes in excess of 16 are ignored). An error occurs if\ninit_vector is missing.\n\nFor modes that do not require init_vector, it is ignored and a warning\nis generated if it is specified.\n\nA random string of bytes to use for the initialization vector can be\nproduced by calling RANDOM_BYTES(16). For encryption modes that require\nan initialization vector, the same vector must be used for encryption\nand decryption.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html\n\n','mysql> SET block_encryption_mode = \'aes-256-cbc\';\nmysql> SET @key_str = SHA2(\'My secret passphrase\',512);\nmysql> SET @init_vector = RANDOM_BYTES(16);\nmysql> SET @crypt_str = AES_ENCRYPT(\'text\',@key_str,@init_vector);\nmysql> SELECT AES_DECRYPT(@crypt_str,@key_str,@init_vector);\n+-----------------------------------------------+\n| AES_DECRYPT(@crypt_str,@key_str,@init_vector) |\n+-----------------------------------------------+\n| text |\n+-----------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (599,3,'+','Syntax:\n+\n\nAddition:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html\n\n','mysql> SELECT 3+5;\n -> 8\n','http://dev.mysql.com/doc/refman/5.7/en/arithmetic-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (600,7,'GTID_SUBTRACT','Syntax:\nGTID_SUBTRACT(set,subset)\n\nGiven two sets of global transaction IDs subset and set, returns only\nthose GTIDs from set that are not in subset.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html\n\n','mysql> SELECT GTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\',\n -> \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21\')\\G\n*************************** 1. row ***************************\nGTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\',\n \'3E11FA47-71CA-11E1-9E33-C80AA9429562:21\'): 3e11fa47-71ca-11e1-9e33-c80aa9429562:22-57\n1 row in set (0.00 sec)\n\nmysql> SELECT GTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\',\n -> \'3E11FA47-71CA-11E1-9E33-C80AA9429562:20-25\')\\G\n*************************** 1. row ***************************\nGTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\',\n \'3E11FA47-71CA-11E1-9E33-C80AA9429562:20-25\'): 3e11fa47-71ca-11e1-9e33-c80aa9429562:26-57\n1 row in set (0.00 sec)\n\nmysql> SELECT GTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\',\n -> \'3E11FA47-71CA-11E1-9E33-C80AA9429562:23-24\')\\G\n*************************** 1. row ***************************\nGTID_SUBTRACT(\'3E11FA47-71CA-11E1-9E33-C80AA9429562:21-57\',\n \'3E11FA47-71CA-11E1-9E33-C80AA9429562:23-24\'): 3e11fa47-71ca-11e1-9e33-c80aa9429562:21-22:25-57\n1 row in set (0.01 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (601,14,'INET_NTOA','Syntax:\nINET_NTOA(expr)\n\nGiven a numeric IPv4 network address in network byte order, returns the\ndotted-quad string representation of the address as a string in the\nconnection character set. INET_NTOA() returns NULL if it does not\nunderstand its argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT INET_NTOA(167773449);\n -> \'10.0.5.9\'\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (602,32,'DAYOFWEEK','Syntax:\nDAYOFWEEK(date)\n\nReturns the weekday index for date (1 = Sunday, 2 = Monday, ..., 7 =\nSaturday). These index values correspond to the ODBC standard.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DAYOFWEEK(\'2007-02-03\');\n -> 7\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (603,3,'CEILING','Syntax:\nCEILING(X)\n\nReturns the smallest integer value not less than X.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT CEILING(1.23);\n -> 2\nmysql> SELECT CEILING(-1.23);\n -> -1\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (604,27,'SHOW PROCESSLIST','Syntax:\nSHOW [FULL] PROCESSLIST\n\nSHOW PROCESSLIST shows you which threads are running. You can also get\nthis information from the INFORMATION_SCHEMA PROCESSLIST table or the\nmysqladmin processlist command. If you have the PROCESS privilege, you\ncan see all threads. Otherwise, you can see only your own threads (that\nis, threads associated with the MySQL account that you are using). If\nyou do not use the FULL keyword, only the first 100 characters of each\nstatement are shown in the Info field.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-processlist.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-processlist.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (605,33,'LINEFROMWKB','LineFromWKB(wkb[, srid]), LineStringFromWKB(wkb[, srid])\n\nST_LineFromWKB(), ST_LineStringFromWKB(), LineFromWKB(), and\nLineStringFromWKB() are synonyms. For more information, see the\ndescription of ST_LineFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (606,37,'GEOMETRYTYPE','GeometryType(g)\n\nST_GeometryType() and GeometryType() are synonyms. For more\ninformation, see the description of ST_GeometryType().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-general-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (607,40,'CREATE VIEW','Syntax:\nCREATE\n [OR REPLACE]\n [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]\n [DEFINER = { user | CURRENT_USER }]\n [SQL SECURITY { DEFINER | INVOKER }]\n VIEW view_name [(column_list)]\n AS select_statement\n [WITH [CASCADED | LOCAL] CHECK OPTION]\n\nThe CREATE VIEW statement creates a new view, or replaces an existing\nview if the OR REPLACE clause is given. If the view does not exist,\nCREATE OR REPLACE VIEW is the same as CREATE VIEW. If the view does\nexist, CREATE OR REPLACE VIEW replaces it.\n\nFor information about restrictions on view use, see\nhttp://dev.mysql.com/doc/refman/5.7/en/view-restrictions.html.\n\nThe select_statement is a SELECT statement that provides the definition\nof the view. (Selecting from the view selects, in effect, using the\nSELECT statement.) The select_statement can select from base tables or\nother views.\n\nThe view definition is "frozen" at creation time and is not affected by\nsubsequent changes to the definitions of the underlying tables. For\nexample, if a view is defined as SELECT * on a table, new columns added\nto the table later do not become part of the view, and columns dropped\nfrom the table will result in an error when selecting from the view.\n\nThe ALGORITHM clause affects how MySQL processes the view. The DEFINER\nand SQL SECURITY clauses specify the security context to be used when\nchecking access privileges at view invocation time. The WITH CHECK\nOPTION clause can be given to constrain inserts or updates to rows in\ntables referenced by the view. These clauses are described later in\nthis section.\n\nThe CREATE VIEW statement requires the CREATE VIEW privilege for the\nview, and some privilege for each column selected by the SELECT\nstatement. For columns used elsewhere in the SELECT statement, you must\nhave the SELECT privilege. If the OR REPLACE clause is present, you\nmust also have the DROP privilege for the view. CREATE VIEW might also\nrequire the SUPER privilege, depending on the DEFINER value, as\ndescribed later in this section.\n\nWhen a view is referenced, privilege checking occurs as described later\nin this section.\n\nA view belongs to a database. By default, a new view is created in the\ndefault database. To create the view explicitly in a given database,\nuse db_name.view_name syntax to qualify the view name with the database\nname:\n\nCREATE VIEW test.v AS SELECT * FROM t;\n\nUnqualified table or view names in the SELECT statement are also\ninterpreted with respect to the default database. A view can refer to\ntables or views in other databases by qualifying the table or view name\nwith the appropriate database name.\n\nWithin a database, base tables and views share the same namespace, so a\nbase table and a view cannot have the same name.\n\nColumns retrieved by the SELECT statement can be simple references to\ntable columns, or expressions that use functions, constant values,\noperators, and so forth.\n\nA view must have unique column names with no duplicates, just like a\nbase table. By default, the names of the columns retrieved by the\nSELECT statement are used for the view column names. To define explicit\nnames for the view columns, specify the optional column_list clause as\na list of comma-separated identifiers. The number of names in\ncolumn_list must be the same as the number of columns retrieved by the\nSELECT statement.\n\nA view can be created from many kinds of SELECT statements. It can\nrefer to base tables or other views. It can use joins, UNION, and\nsubqueries. The SELECT need not even refer to any tables:\n\nCREATE VIEW v_today (today) AS SELECT CURRENT_DATE;\n\nThe following example defines a view that selects two columns from\nanother table as well as an expression calculated from those columns:\n\nmysql> CREATE TABLE t (qty INT, price INT);\nmysql> INSERT INTO t VALUES(3, 50);\nmysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;\nmysql> SELECT * FROM v;\n+------+-------+-------+\n| qty | price | value |\n+------+-------+-------+\n| 3 | 50 | 150 |\n+------+-------+-------+\n\nA view definition is subject to the following restrictions:\n\no The SELECT statement cannot refer to system variables or user-defined\n variables.\n\no Within a stored program, the SELECT statement cannot refer to program\n parameters or local variables.\n\no The SELECT statement cannot refer to prepared statement parameters.\n\no Any table or view referred to in the definition must exist. If, after\n the view has been created, a table or view that the definition refers\n to is dropped, use of the view results in an error. To check a view\n definition for problems of this kind, use the CHECK TABLE statement.\n\no The definition cannot refer to a TEMPORARY table, and you cannot\n create a TEMPORARY view.\n\no You cannot associate a trigger with a view.\n\no Aliases for column names in the SELECT statement are checked against\n the maximum column length of 64 characters (not the maximum alias\n length of 256 characters).\n\nORDER BY is permitted in a view definition, but it is ignored if you\nselect from a view using a statement that has its own ORDER BY.\n\nFor other options or clauses in the definition, they are added to the\noptions or clauses of the statement that references the view, but the\neffect is undefined. For example, if a view definition includes a LIMIT\nclause, and you select from the view using a statement that has its own\nLIMIT clause, it is undefined which limit applies. This same principle\napplies to options such as ALL, DISTINCT, or SQL_SMALL_RESULT that\nfollow the SELECT keyword, and to clauses such as INTO, FOR UPDATE,\nLOCK IN SHARE MODE, and PROCEDURE.\n\nThe results obtained from a view may be affected if you change the\nquery processing environment by changing system variables:\n\nmysql> CREATE VIEW v (mycol) AS SELECT \'abc\';\nQuery OK, 0 rows affected (0.01 sec)\n\nmysql> SET sql_mode = \'\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT "mycol" FROM v;\n+-------+\n| mycol |\n+-------+\n| mycol |\n+-------+\n1 row in set (0.01 sec)\n\nmysql> SET sql_mode = \'ANSI_QUOTES\';\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SELECT "mycol" FROM v;\n+-------+\n| mycol |\n+-------+\n| abc |\n+-------+\n1 row in set (0.00 sec)\n\nThe DEFINER and SQL SECURITY clauses determine which MySQL account to\nuse when checking access privileges for the view when a statement is\nexecuted that references the view. The valid SQL SECURITY\ncharacteristic values are DEFINER (the default) and INVOKER. These\nindicate that the required privileges must be held by the user who\ndefined or invoked the view, respectively.\n\nIf a user value is given for the DEFINER clause, it should be a MySQL\naccount specified as \'user_name\'@\'host_name\', CURRENT_USER, or\nCURRENT_USER(). The default DEFINER value is the user who executes the\nCREATE VIEW statement. This is the same as specifying DEFINER =\nCURRENT_USER explicitly.\n\nIf the DEFINER clause is present, these rules determine the valid\nDEFINER user values:\n\no If you do not have the SUPER privilege, the only valid user value is\n your own account, either specified literally or by using\n CURRENT_USER. You cannot set the definer to some other account.\n\no If you have the SUPER privilege, you can specify any syntactically\n valid account name. If the account does not exist, a warning is\n generated.\n\no Although it is possible to create a view with a nonexistent DEFINER\n account, an error occurs when the view is referenced if the SQL\n SECURITY value is DEFINER but the definer account does not exist.\n\nFor more information about view security, see\nhttp://dev.mysql.com/doc/refman/5.7/en/stored-programs-security.html.\n\nWithin a view definition, CURRENT_USER returns the view\'s DEFINER value\nby default. For views defined with the SQL SECURITY INVOKER\ncharacteristic, CURRENT_USER returns the account for the view\'s\ninvoker. For information about user auditing within views, see\nhttp://dev.mysql.com/doc/refman/5.7/en/account-activity-auditing.html.\n\nWithin a stored routine that is defined with the SQL SECURITY DEFINER\ncharacteristic, CURRENT_USER returns the routine\'s DEFINER value. This\nalso affects a view defined within such a routine, if the view\ndefinition contains a DEFINER value of CURRENT_USER.\n\nMySQL checks view privileges like this:\n\no At view definition time, the view creator must have the privileges\n needed to use the top-level objects accessed by the view. For\n example, if the view definition refers to table columns, the creator\n must have some privilege for each column in the select list of the\n definition, and the SELECT privilege for each column used elsewhere\n in the definition. If the definition refers to a stored function,\n only the privileges needed to invoke the function can be checked. The\n privileges required at function invocation time can be checked only\n as it executes: For different invocations, different execution paths\n within the function might be taken.\n\no The user who references a view must have appropriate privileges to\n access it (SELECT to select from it, INSERT to insert into it, and so\n forth.)\n\no When a view has been referenced, privileges for objects accessed by\n the view are checked against the privileges held by the view DEFINER\n account or invoker, depending on whether the SQL SECURITY\n characteristic is DEFINER or INVOKER, respectively.\n\no If reference to a view causes execution of a stored function,\n privilege checking for statements executed within the function depend\n on whether the function SQL SECURITY characteristic is DEFINER or\n INVOKER. If the security characteristic is DEFINER, the function runs\n with the privileges of the DEFINER account. If the characteristic is\n INVOKER, the function runs with the privileges determined by the\n view\'s SQL SECURITY characteristic.\n\nExample: A view might depend on a stored function, and that function\nmight invoke other stored routines. For example, the following view\ninvokes a stored function f():\n\nCREATE VIEW v AS SELECT * FROM t WHERE t.id = f(t.name);\n\nSuppose that f() contains a statement such as this:\n\nIF name IS NULL then\n CALL p1();\nELSE\n CALL p2();\nEND IF;\n\nThe privileges required for executing statements within f() need to be\nchecked when f() executes. This might mean that privileges are needed\nfor p1() or p2(), depending on the execution path within f(). Those\nprivileges must be checked at runtime, and the user who must possess\nthe privileges is determined by the SQL SECURITY values of the view v\nand the function f().\n\nThe DEFINER and SQL SECURITY clauses for views are extensions to\nstandard SQL. In standard SQL, views are handled using the rules for\nSQL SECURITY DEFINER. The standard says that the definer of the view,\nwhich is the same as the owner of the view\'s schema, gets applicable\nprivileges on the view (for example, SELECT) and may grant them. MySQL\nhas no concept of a schema "owner", so MySQL adds a clause to identify\nthe definer. The DEFINER clause is an extension where the intent is to\nhave what the standard has; that is, a permanent record of who defined\nthe view. This is why the default DEFINER value is the account of the\nview creator.\n\nThe optional ALGORITHM clause is a MySQL extension to standard SQL. It\naffects how MySQL processes the view. ALGORITHM takes three values:\nMERGE, TEMPTABLE, or UNDEFINED. For more information, see\nhttp://dev.mysql.com/doc/refman/5.7/en/view-algorithms.html, as well as\nhttp://dev.mysql.com/doc/refman/5.7/en/derived-table-optimization.html.\n\nSome views are updatable. That is, you can use them in statements such\nas UPDATE, DELETE, or INSERT to update the contents of the underlying\ntable. For a view to be updatable, there must be a one-to-one\nrelationship between the rows in the view and the rows in the\nunderlying table. There are also certain other constructs that make a\nview nonupdatable.\n\nA generated column in a view is considered updatable because it is\npossible to assign to it. However, if such a column is updated\nexplicitly, the only permitted value is DEFAULT. For information about\ngenerated columns, see\nhttp://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.h\ntml.\n\nThe WITH CHECK OPTION clause can be given for an updatable view to\nprevent inserts or updates to rows except those for which the WHERE\nclause in the select_statement is true.\n\nIn a WITH CHECK OPTION clause for an updatable view, the LOCAL and\nCASCADED keywords determine the scope of check testing when the view is\ndefined in terms of another view. The LOCAL keyword restricts the CHECK\nOPTION only to the view being defined. CASCADED causes the checks for\nunderlying views to be evaluated as well. When neither keyword is\ngiven, the default is CASCADED.\n\nFor more information about updatable views and the WITH CHECK OPTION\nclause, see\nhttp://dev.mysql.com/doc/refman/5.7/en/view-updatability.html, and\nhttp://dev.mysql.com/doc/refman/5.7/en/view-check-option.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-view.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/create-view.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (608,38,'TRIM','Syntax:\nTRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr\nFROM] str)\n\nReturns the string str with all remstr prefixes or suffixes removed. If\nnone of the specifiers BOTH, LEADING, or TRAILING is given, BOTH is\nassumed. remstr is optional and, if not specified, spaces are removed.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT TRIM(\' bar \');\n -> \'bar\'\nmysql> SELECT TRIM(LEADING \'x\' FROM \'xxxbarxxx\');\n -> \'barxxx\'\nmysql> SELECT TRIM(BOTH \'x\' FROM \'xxxbarxxx\');\n -> \'bar\'\nmysql> SELECT TRIM(TRAILING \'xyz\' FROM \'barxxyz\');\n -> \'barx\'\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (609,14,'INET6_NTOA','Syntax:\nINET6_NTOA(expr)\n\nGiven an IPv6 or IPv4 network address represented in numeric form as a\nbinary string, returns the string representation of the address as a\nstring in the connection character set. If the argument is not a valid\naddress, INET6_NTOA() returns NULL.\n\nINET6_NTOA() has these properties:\n\no It does not use operating system functions to perform conversions,\n thus the output string is platform independent.\n\no The return string has a maximum length of 39 (4 x 8 + 7). Given this\n statement:\n\nCREATE TABLE t AS SELECT INET6_NTOA(expr) AS c1;\n\n The resulting table would have this definition:\n\nCREATE TABLE t (c1 VARCHAR(39) CHARACTER SET utf8 DEFAULT NULL);\n\no The return string uses lowercase letters for IPv6 addresses.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html\n\n','mysql> SELECT INET6_NTOA(INET6_ATON(\'fdfe::5a55:caff:fefa:9089\'));\n -> \'fdfe::5a55:caff:fefa:9089\'\nmysql> SELECT INET6_NTOA(INET6_ATON(\'10.0.5.9\'));\n -> \'10.0.5.9\'\n\nmysql> SELECT INET6_NTOA(UNHEX(\'FDFE0000000000005A55CAFFFEFA9089\'));\n -> \'fdfe::5a55:caff:fefa:9089\'\nmysql> SELECT INET6_NTOA(UNHEX(\'0A000509\'));\n -> \'10.0.5.9\'\n','http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (610,24,'SIGNAL','Syntax:\nSIGNAL condition_value\n [SET signal_information_item\n [, signal_information_item] ...]\n\ncondition_value:\n SQLSTATE [VALUE] sqlstate_value\n | condition_name\n\nsignal_information_item:\n condition_information_item_name = simple_value_specification\n\ncondition_information_item_name:\n CLASS_ORIGIN\n | SUBCLASS_ORIGIN\n | MESSAGE_TEXT\n | MYSQL_ERRNO\n | CONSTRAINT_CATALOG\n | CONSTRAINT_SCHEMA\n | CONSTRAINT_NAME\n | CATALOG_NAME\n | SCHEMA_NAME\n | TABLE_NAME\n | COLUMN_NAME\n | CURSOR_NAME\n\ncondition_name, simple_value_specification:\n (see following discussion)\n\nSIGNAL is the way to "return" an error. SIGNAL provides error\ninformation to a handler, to an outer portion of the application, or to\nthe client. Also, it provides control over the error\'s characteristics\n(error number, SQLSTATE value, message). Without SIGNAL, it is\nnecessary to resort to workarounds such as deliberately referring to a\nnonexistent table to cause a routine to return an error.\n\nNo special privileges are required to execute the SIGNAL statement.\n\nTo retrieve information from the diagnostics area, use the GET\nDIAGNOSTICS statement (see [HELP GET DIAGNOSTICS]). For information\nabout the diagnostics area, see\nhttp://dev.mysql.com/doc/refman/5.7/en/diagnostics-area.html.\n\nThe condition_value in a SIGNAL statement indicates the error value to\nbe returned. It can be an SQLSTATE value (a 5-character string literal)\nor a condition_name that refers to a named condition previously defined\nwith DECLARE ... CONDITION (see [HELP DECLARE CONDITION]).\n\nAn SQLSTATE value can indicate errors, warnings, or "not found." The\nfirst two characters of the value indicate its error class, as\ndiscussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/signal.html#signal-condition-inf\normation-items. Some signal values cause statement termination; see\nhttp://dev.mysql.com/doc/refman/5.7/en/signal.html#signal-effects.\n\nThe SQLSTATE value for a SIGNAL statement should not start with \'00\'\nbecause such values indicate success and are not valid for signaling an\nerror. This is true whether the SQLSTATE value is specified directly in\nthe SIGNAL statement or in a named condition referred to in the\nstatement. If the value is invalid, a Bad SQLSTATE error occurs.\n\nTo signal a generic SQLSTATE value, use \'45000\', which means "unhandled\nuser-defined exception."\n\nThe SIGNAL statement optionally includes a SET clause that contains\nmultiple signal items, in a comma-separated list of\ncondition_information_item_name = simple_value_specification\nassignments.\n\nEach condition_information_item_name may be specified only once in the\nSET clause. Otherwise, a Duplicate condition information item error\noccurs.\n\nValid simple_value_specification designators can be specified using\nstored procedure or function parameters, stored program local variables\ndeclared with DECLARE, user-defined variables, system variables, or\nliterals. A character literal may include a _charset introducer.\n\nFor information about permissible condition_information_item_name\nvalues, see\nhttp://dev.mysql.com/doc/refman/5.7/en/signal.html#signal-condition-inf\normation-items.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/signal.html\n\n','CREATE PROCEDURE p (pval INT)\nBEGIN\n DECLARE specialty CONDITION FOR SQLSTATE \'45000\';\n IF pval = 0 THEN\n SIGNAL SQLSTATE \'01000\';\n ELSEIF pval = 1 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'An error occurred\';\n ELSEIF pval = 2 THEN\n SIGNAL specialty\n SET MESSAGE_TEXT = \'An error occurred\';\n ELSE\n SIGNAL SQLSTATE \'01000\'\n SET MESSAGE_TEXT = \'A warning occurred\', MYSQL_ERRNO = 1000;\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'An error occurred\', MYSQL_ERRNO = 1001;\n END IF;\nEND;\n','http://dev.mysql.com/doc/refman/5.7/en/signal.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (611,8,'SAVEPOINT','Syntax:\nSAVEPOINT identifier\nROLLBACK [WORK] TO [SAVEPOINT] identifier\nRELEASE SAVEPOINT identifier\n\nInnoDB supports the SQL statements SAVEPOINT, ROLLBACK TO SAVEPOINT,\nRELEASE SAVEPOINT and the optional WORK keyword for ROLLBACK.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/savepoint.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/savepoint.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (612,26,'ST_NUMGEOMETRIES','ST_NumGeometries(gc)\n\nReturns the number of geometries in the GeometryCollection value gc. If\nthe argument is NULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html\n\n','mysql> SET @gc = \'GeometryCollection(Point(1 1),LineString(2 2, 3 3))\';\nmysql> SELECT ST_NumGeometries(ST_GeomFromText(@gc));\n+----------------------------------------+\n| ST_NumGeometries(ST_GeomFromText(@gc)) |\n+----------------------------------------+\n| 2 |\n+----------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-geometrycollection-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (613,7,'JSON_DEPTH','Syntax:\nJSON_DEPTH(json_doc)\n\nReturns the maximum depth of a JSON document. Returns NULL if the\nargument is NULL. An error occurs if the argument is not a valid JSON\ndocument.\n\nAn empty array, empty object, or scalar value has depth 1. A nonempty\narray containing only elements of depth 1 or nonempty object containing\nonly member values of depth 1 has depth 2. Otherwise, a JSON document\nhas depth greater than 2.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html\n\n','mysql> SELECT JSON_DEPTH(\'{}\'), JSON_DEPTH(\'[]\'), JSON_DEPTH(\'true\');\n+------------------+------------------+--------------------+\n| JSON_DEPTH(\'{}\') | JSON_DEPTH(\'[]\') | JSON_DEPTH(\'true\') |\n+------------------+------------------+--------------------+\n| 1 | 1 | 1 |\n+------------------+------------------+--------------------+\nmysql> SELECT JSON_DEPTH(\'[10, 20]\'), JSON_DEPTH(\'[[], {}]\');\n+------------------------+------------------------+\n| JSON_DEPTH(\'[10, 20]\') | JSON_DEPTH(\'[[], {}]\') |\n+------------------------+------------------------+\n| 2 | 2 |\n+------------------------+------------------------+\nmysql> SELECT JSON_DEPTH(\'[10, {"a": 20}]\');\n+-------------------------------+\n| JSON_DEPTH(\'[10, {"a": 20}]\') |\n+-------------------------------+\n| 3 |\n+-------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (614,24,'LABELS','Syntax:\n[begin_label:] BEGIN\n [statement_list]\nEND [end_label]\n\n[begin_label:] LOOP\n statement_list\nEND LOOP [end_label]\n\n[begin_label:] REPEAT\n statement_list\nUNTIL search_condition\nEND REPEAT [end_label]\n\n[begin_label:] WHILE search_condition DO\n statement_list\nEND WHILE [end_label]\n\nLabels are permitted for BEGIN ... END blocks and for the LOOP, REPEAT,\nand WHILE statements. Label use for those statements follows these\nrules:\n\no begin_label must be followed by a colon.\n\no begin_label can be given without end_label. If end_label is present,\n it must be the same as begin_label.\n\no end_label cannot be given without begin_label.\n\no Labels at the same nesting level must be distinct.\n\no Labels can be up to 16 characters long.\n\nTo refer to a label within the labeled construct, use an ITERATE or\nLEAVE statement. The following example uses those statements to\ncontinue iterating or terminate the loop:\n\nCREATE PROCEDURE doiterate(p1 INT)\nBEGIN\n label1: LOOP\n SET p1 = p1 + 1;\n IF p1 < 10 THEN ITERATE label1; END IF;\n LEAVE label1;\n END LOOP label1;\nEND;\n\nThe scope of a block label does not include the code for handlers\ndeclared within the block. For details, see [HELP DECLARE HANDLER].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/statement-labels.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/statement-labels.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (615,33,'MPOINTFROMWKB','MPointFromWKB(wkb[, srid]), MultiPointFromWKB(wkb[, srid])\n\nST_MPointFromWKB(), ST_MultiPointFromWKB(), MPointFromWKB(), and\nMultiPointFromWKB() are synonyms. For more information, see the\ndescription of ST_MPointFromWKB().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkb-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (616,40,'ALTER TABLE','Syntax:\nALTER TABLE tbl_name\n [alter_specification [, alter_specification] ...]\n [partition_options]\n\nalter_specification:\n table_options\n | ADD [COLUMN] col_name column_definition\n [FIRST | AFTER col_name]\n | ADD [COLUMN] (col_name column_definition,...)\n | ADD {INDEX|KEY} [index_name]\n [index_type] (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]] PRIMARY KEY\n [index_type] (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]]\n UNIQUE [INDEX|KEY] [index_name]\n [index_type] (index_col_name,...) [index_option] ...\n | ADD FULLTEXT [INDEX|KEY] [index_name]\n (index_col_name,...) [index_option] ...\n | ADD SPATIAL [INDEX|KEY] [index_name]\n (index_col_name,...) [index_option] ...\n | ADD [CONSTRAINT [symbol]]\n FOREIGN KEY [index_name] (index_col_name,...)\n reference_definition\n | ALGORITHM [=] {DEFAULT|INPLACE|COPY}\n | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}\n | CHANGE [COLUMN] old_col_name new_col_name column_definition\n [FIRST|AFTER col_name]\n | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]\n | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]\n | {DISABLE|ENABLE} KEYS\n | {DISCARD|IMPORT} TABLESPACE\n | DROP [COLUMN] col_name\n | DROP {INDEX|KEY} index_name\n | DROP PRIMARY KEY\n | DROP FOREIGN KEY fk_symbol\n | FORCE\n | LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}\n | MODIFY [COLUMN] col_name column_definition\n [FIRST | AFTER col_name]\n | ORDER BY col_name [, col_name] ...\n | RENAME {INDEX|KEY} old_index_name TO new_index_name\n | RENAME [TO|AS] new_tbl_name\n | {WITHOUT|WITH} VALIDATION\n | ADD PARTITION (partition_definition)\n | DROP PARTITION partition_names\n | DISCARD PARTITION {partition_names | ALL} TABLESPACE\n | IMPORT PARTITION {partition_names | ALL} TABLESPACE\n | TRUNCATE PARTITION {partition_names | ALL}\n | COALESCE PARTITION number\n | REORGANIZE PARTITION partition_names INTO (partition_definitions)\n | EXCHANGE PARTITION partition_name WITH TABLE tbl_name [{WITH|WITHOUT} VALIDATION]\n | ANALYZE PARTITION {partition_names | ALL}\n | CHECK PARTITION {partition_names | ALL}\n | OPTIMIZE PARTITION {partition_names | ALL}\n | REBUILD PARTITION {partition_names | ALL}\n | REPAIR PARTITION {partition_names | ALL}\n | REMOVE PARTITIONING\n | UPGRADE PARTITIONING\n\nindex_col_name:\n col_name [(length)] [ASC | DESC]\n\nindex_type:\n USING {BTREE | HASH}\n\nindex_option:\n KEY_BLOCK_SIZE [=] value\n | index_type\n | WITH PARSER parser_name\n | COMMENT \'string\'\n\ntable_options:\n table_option [[,] table_option] ...\n\ntable_option:\n AUTO_INCREMENT [=] value\n | AVG_ROW_LENGTH [=] value\n | [DEFAULT] CHARACTER SET [=] charset_name\n | CHECKSUM [=] {0 | 1}\n | [DEFAULT] COLLATE [=] collation_name\n | COMMENT [=] \'string\'\n | COMPRESSION [=] {\'ZLIB\'|\'LZ4\'|\'NONE\'}\n | CONNECTION [=] \'connect_string\'\n | {DATA|INDEX} DIRECTORY [=] \'absolute path to directory\'\n | DELAY_KEY_WRITE [=] {0 | 1}\n | ENCRYPTION [=] {\'Y\' | \'N\'}\n | ENGINE [=] engine_name\n | INSERT_METHOD [=] { NO | FIRST | LAST }\n | KEY_BLOCK_SIZE [=] value\n | MAX_ROWS [=] value\n | MIN_ROWS [=] value\n | PACK_KEYS [=] {0 | 1 | DEFAULT}\n | PASSWORD [=] \'string\'\n | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}\n | STATS_AUTO_RECALC [=] {DEFAULT|0|1}\n | STATS_PERSISTENT [=] {DEFAULT|0|1}\n | STATS_SAMPLE_PAGES [=] value\n | TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]\n | UNION [=] (tbl_name[,tbl_name]...)\n\npartition_options:\n (see CREATE TABLE options)\n\nALTER TABLE changes the structure of a table. For example, you can add\nor delete columns, create or destroy indexes, change the type of\nexisting columns, or rename columns or the table itself. You can also\nchange characteristics such as the storage engine used for the table or\nthe table comment.\n\no To use ALTER TABLE, you need ALTER, CREATE, and INSERT privileges for\n the table. Renaming a table requires ALTER and DROP on the old table,\n ALTER, CREATE, and INSERT on the new table.\n\no Following the table name, specify the alterations to be made. If none\n are given, ALTER TABLE does nothing.\n\no The syntax for many of the permissible alterations is similar to\n clauses of the CREATE TABLE statement. column_definition clauses use\n the same syntax for ADD and CHANGE as for CREATE TABLE. For more\n information, see [HELP CREATE TABLE].\n\no The word COLUMN is optional and can be omitted.\n\no Multiple ADD, ALTER, DROP, and CHANGE clauses are permitted in a\n single ALTER TABLE statement, separated by commas. This is a MySQL\n extension to standard SQL, which permits only one of each clause per\n ALTER TABLE statement. For example, to drop multiple columns in a\n single statement, do this:\n\nALTER TABLE t2 DROP COLUMN c, DROP COLUMN d;\n\no If a storage engine does not support an attempted ALTER TABLE\n operation, a warning may result. Such warnings can be displayed with\n SHOW WARNINGS. See [HELP SHOW WARNINGS]. For information on\n troubleshooting ALTER TABLE, see\n http://dev.mysql.com/doc/refman/5.7/en/alter-table-problems.html.\n\no For information about generated columns, see\n http://dev.mysql.com/doc/refman/5.7/en/alter-table-generated-columns.\n html.\n\no For usage examples, see\n http://dev.mysql.com/doc/refman/5.7/en/alter-table-examples.html.\n\no With the mysql_info() C API function, you can find out how many rows\n were copied by ALTER TABLE. See\n http://dev.mysql.com/doc/refman/5.7/en/mysql-info.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (617,23,'CHAR BYTE','The CHAR BYTE data type is an alias for the BINARY data type. This is a\ncompatibility feature.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (618,4,'ST_MLINEFROMTEXT','ST_MLineFromText(wkt[, srid]), ST_MultiLineStringFromText(wkt[, srid])\n\nConstructs a MultiLineString value using its WKT representation and\nSRID.\n\nIf the geometry argument is NULL or not a syntactically well-formed\ngeometry, or if the SRID argument is NULL, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/gis-wkt-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (619,20,'>','Syntax:\n>\n\nGreater than:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT 2 > 2;\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (620,21,'ANALYZE TABLE','Syntax:\nANALYZE [NO_WRITE_TO_BINLOG | LOCAL]\n TABLE tbl_name [, tbl_name] ...\n\nANALYZE TABLE performs a key distribution analysis and stores the\ndistribution for the named table or tables. For MyISAM tables, this\nstatement is equivalent to using myisamchk --analyze.\n\nThis statement requires SELECT and INSERT privileges for the table.\n\nANALYZE TABLE works with InnoDB, NDB, and MyISAM tables. It does not\nwork with views.\n\nANALYZE TABLE is supported for partitioned tables, and you can use\nALTER TABLE ... ANALYZE PARTITION to analyze one or more partitions;\nfor more information, see [HELP ALTER TABLE], and\nhttp://dev.mysql.com/doc/refman/5.7/en/partitioning-maintenance.html.\n\nDuring the analysis, the table is locked with a read lock for InnoDB\nand MyISAM.\n\nBy default, the server writes ANALYZE TABLE statements to the binary\nlog so that they replicate to replication slaves. To suppress logging,\nspecify the optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/analyze-table.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/analyze-table.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (621,2,'ST_EXTERIORRING','ST_ExteriorRing(poly)\n\nReturns the exterior ring of the Polygon value poly as a LineString. If\nthe argument is NULL or an empty geometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html\n\n','mysql> SET @poly =\n -> \'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))\';\nmysql> SELECT ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly)));\n+----------------------------------------------------+\n| ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly))) |\n+----------------------------------------------------+\n| LINESTRING(0 0,0 3,3 3,3 0,0 0) |\n+----------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-polygon-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (622,38,'FIELD','Syntax:\nFIELD(str,str1,str2,str3,...)\n\nReturns the index (position) of str in the str1, str2, str3, ... list.\nReturns 0 if str is not found.\n\nIf all arguments to FIELD() are strings, all arguments are compared as\nstrings. If all arguments are numbers, they are compared as numbers.\nOtherwise, the arguments are compared as double.\n\nIf str is NULL, the return value is 0 because NULL fails equality\ncomparison with any value. FIELD() is the complement of ELT().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html\n\n','mysql> SELECT FIELD(\'Bb\', \'Aa\', \'Bb\', \'Cc\', \'Dd\', \'Ff\');\n -> 2\nmysql> SELECT FIELD(\'Gg\', \'Aa\', \'Bb\', \'Cc\', \'Dd\', \'Ff\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/string-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (623,40,'CONSTRAINT','MySQL supports foreign keys, which let you cross-reference related data\nacross tables, and foreign key constraints, which help keep this\nspread-out data consistent. The essential syntax for a foreign key\nconstraint definition in a CREATE TABLE or ALTER TABLE statement looks\nlike this:\n\n[CONSTRAINT [symbol]] FOREIGN KEY\n [index_name] (index_col_name, ...)\n REFERENCES tbl_name (index_col_name,...)\n [ON DELETE reference_option]\n [ON UPDATE reference_option]\n\nreference_option:\n RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html\n\n','CREATE TABLE product (\n category INT NOT NULL, id INT NOT NULL,\n price DECIMAL,\n PRIMARY KEY(category, id)\n) ENGINE=INNODB;\n\nCREATE TABLE customer (\n id INT NOT NULL,\n PRIMARY KEY (id)\n) ENGINE=INNODB;\n\nCREATE TABLE product_order (\n no INT NOT NULL AUTO_INCREMENT,\n product_category INT NOT NULL,\n product_id INT NOT NULL,\n customer_id INT NOT NULL,\n\n PRIMARY KEY(no),\n INDEX (product_category, product_id),\n INDEX (customer_id),\n\n FOREIGN KEY (product_category, product_id)\n REFERENCES product(category, id)\n ON UPDATE CASCADE ON DELETE RESTRICT,\n\n FOREIGN KEY (customer_id)\n REFERENCES customer(id)\n) ENGINE=INNODB;\n','http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (624,7,'CREATE_ASYMMETRIC_PRIV_KEY','Syntax:\nCREATE_ASYMMETRIC_PRIV_KEY(algorithm, {key_len|dh_secret})\n\nCreates a private key using the given algorithm and key length or DH\nsecret, and returns the key as a binary string in PEM format. If key\ngeneration fails, the result is NULL.\n\nSupported algorithm values: \'RSA\', \'DSA\', \'DH\'\n\nSupported key_len values: The minimum key length in bits is 1,024. The\nmaximum key length depends on the algorithm: 16,384 for RSA and 10,000\nfor DSA. These key-length limits are constraints imposed by OpenSSL.\nServer administrators can impose additional limits on maximum key\nlength by setting environment variables. See\nhttp://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-usage.html\n.\n\nFor DH keys, pass a shared DH secret instead of a key length. To create\nthe secret, pass the key length to CREATE_DH_PARAMETERS().\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html\n\n','SET @priv = CREATE_ASYMMETRIC_PRIV_KEY(\'DSA\', 2048);\nSET @pub = CREATE_ASYMMETRIC_PUB_KEY(\'DSA\', @priv);\n','http://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (625,40,'ALTER TABLESPACE','Syntax:\nALTER TABLESPACE tablespace_name\n {ADD|DROP} DATAFILE \'file_name\'\n [INITIAL_SIZE [=] size]\n [WAIT]\n ENGINE [=] engine_name\n\nThis statement can be used either to add a new data file, or to drop a\ndata file from a tablespace.\n\nThe ADD DATAFILE variant enables you to specify an initial size using\nan INITIAL_SIZE clause, where size is measured in bytes; the default\nvalue is 134217728 (128 MB). You may optionally follow size with a\none-letter abbreviation for an order of magnitude, similar to those\nused in my.cnf. Generally, this is one of the letters M (megabytes) or\nG (gigabytes).\n\n*Note*:\n\nAll NDB Cluster Disk Data objects share the same namespace. This means\nthat each Disk Data object must be uniquely named (and not merely each\nDisk Data object of a given type). For example, you cannot have a\ntablespace and an data file with the same name, or an undo log file and\na tablespace with the same name.\n\nOn 32-bit systems, the maximum supported value for INITIAL_SIZE is\n4294967296 (4 GB). (Bug #29186)\n\nINITIAL_SIZE is rounded, explicitly, as for CREATE TABLESPACE.\n\nOnce a data file has been created, its size cannot be changed; however,\nyou can add more data files to the tablespace using additional ALTER\nTABLESPACE ... ADD DATAFILE statements.\n\nUsing DROP DATAFILE with ALTER TABLESPACE drops the data file\n\'file_name\' from the tablespace. You cannot drop a data file from a\ntablespace which is in use by any table; in other words, the data file\nmust be empty (no extents used). See\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-objects.\nhtml. In addition, any data file to be dropped must previously have\nbeen added to the tablespace with CREATE TABLESPACE or ALTER\nTABLESPACE.\n\nBoth ALTER TABLESPACE ... ADD DATAFILE and ALTER TABLESPACE ... DROP\nDATAFILE require an ENGINE clause which specifies the storage engine\nused by the tablespace. Currently, the only accepted values for\nengine_name are NDB and NDBCLUSTER.\n\nWAIT is parsed but otherwise ignored, and so has no effect in MySQL\n5.7. It is intended for future expansion.\n\nWhen ALTER TABLESPACE ... ADD DATAFILE is used with ENGINE = NDB, a\ndata file is created on each Cluster data node. You can verify that the\ndata files were created and obtain information about them by querying\nthe INFORMATION_SCHEMA.FILES table. For example, the following query\nshows all data files belonging to the tablespace named newts:\n\nmysql> SELECT LOGFILE_GROUP_NAME, FILE_NAME, EXTRA\n -> FROM INFORMATION_SCHEMA.FILES\n -> WHERE TABLESPACE_NAME = \'newts\' AND FILE_TYPE = \'DATAFILE\';\n+--------------------+--------------+----------------+\n| LOGFILE_GROUP_NAME | FILE_NAME | EXTRA |\n+--------------------+--------------+----------------+\n| lg_3 | newdata.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata.dat | CLUSTER_NODE=4 |\n| lg_3 | newdata2.dat | CLUSTER_NODE=3 |\n| lg_3 | newdata2.dat | CLUSTER_NODE=4 |\n+--------------------+--------------+----------------+\n2 rows in set (0.03 sec)\n\nSee http://dev.mysql.com/doc/refman/5.7/en/files-table.html.\n\nALTER TABLESPACE is useful only with Disk Data storage for NDB Cluster.\nSee\nhttp://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/alter-tablespace.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/alter-tablespace.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (626,23,'ENUM','ENUM(\'value1\',\'value2\',...) [CHARACTER SET charset_name] [COLLATE\ncollation_name]\n\nAn enumeration. A string object that can have only one value, chosen\nfrom the list of values \'value1\', \'value2\', ..., NULL or the special \'\'\nerror value. ENUM values are represented internally as integers.\n\nAn ENUM column can have a maximum of 65,535 distinct elements. (The\npractical limit is less than 3000.) A table can have no more than 255\nunique element list definitions among its ENUM and SET columns\nconsidered as a group. For more information on these limits, see\nhttp://dev.mysql.com/doc/refman/5.7/en/limits-frm-file.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (627,13,'ST_LENGTH','ST_Length(ls)\n\nReturns a double-precision number indicating the length of the\nLineString or MultiLineString value ls in its associated spatial\nreference. The length of a MultiLineString value is equal to the sum of\nthe lengths of its elements. If the argument is NULL or an empty\ngeometry, the return value is NULL.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html\n\n','mysql> SET @ls = \'LineString(1 1,2 2,3 3)\';\nmysql> SELECT ST_Length(ST_GeomFromText(@ls));\n+---------------------------------+\n| ST_Length(ST_GeomFromText(@ls)) |\n+---------------------------------+\n| 2.8284271247461903 |\n+---------------------------------+\n\nmysql> SET @mls = \'MultiLineString((1 1,2 2,3 3),(4 4,5 5))\';\nmysql> SELECT ST_Length(ST_GeomFromText(@mls));\n+----------------------------------+\n| ST_Length(ST_GeomFromText(@mls)) |\n+----------------------------------+\n| 4.242640687119286 |\n+----------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/gis-linestring-property-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (628,38,'STRCMP','Syntax:\nSTRCMP(expr1,expr2)\n\nSTRCMP() returns 0 if the strings are the same, -1 if the first\nargument is smaller than the second according to the current sort\norder, and 1 otherwise.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html\n\n','mysql> SELECT STRCMP(\'text\', \'text2\');\n -> -1\nmysql> SELECT STRCMP(\'text2\', \'text\');\n -> 1\nmysql> SELECT STRCMP(\'text\', \'text\');\n -> 0\n','http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (629,28,'INSERT DELAYED','Syntax:\nINSERT DELAYED ...\n\nThe DELAYED option for the INSERT statement is a MySQL extension to\nstandard SQL. In previous versions of MySQL, it can be used for certain\nkinds of tables (such as MyISAM), such that when a client uses INSERT\nDELAYED, it gets an okay from the server at once, and the row is queued\nto be inserted when the table is not in use by any other thread.\n\nDELAYED inserts and replaces were deprecated in MySQL 5.6. In MySQL\n5.7, DELAYED is not supported. The server recognizes but ignores the\nDELAYED keyword, handles the insert as a nondelayed insert, and\ngenerates an ER_WARN_LEGACY_SYNTAX_CONVERTED warning ("INSERT DELAYED\nis no longer supported. The statement was converted to INSERT"). The\nDELAYED keyword is scheduled for removal in a future release.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (630,27,'SHOW PROCEDURE CODE','Syntax:\nSHOW PROCEDURE CODE proc_name\n\nThis statement is a MySQL extension that is available only for servers\nthat have been built with debugging support. It displays a\nrepresentation of the internal implementation of the named stored\nprocedure. A similar statement, SHOW FUNCTION CODE, displays\ninformation about stored functions (see [HELP SHOW FUNCTION CODE]).\n\nTo use either statement, you must be the owner of the routine or have\nSELECT access to the mysql.proc table.\n\nIf the named routine is available, each statement produces a result\nset. Each row in the result set corresponds to one "instruction" in the\nroutine. The first column is Pos, which is an ordinal number beginning\nwith 0. The second column is Instruction, which contains an SQL\nstatement (usually changed from the original source), or a directive\nwhich has meaning only to the stored-routine handler.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-procedure-code.html\n\n','mysql> DELIMITER //\nmysql> CREATE PROCEDURE p1 ()\n -> BEGIN\n -> DECLARE fanta INT DEFAULT 55;\n -> DROP TABLE t2;\n -> LOOP\n -> INSERT INTO t3 VALUES (fanta);\n -> END LOOP;\n -> END//\nQuery OK, 0 rows affected (0.00 sec)\n\nmysql> SHOW PROCEDURE CODE p1//\n+-----+----------------------------------------+\n| Pos | Instruction |\n+-----+----------------------------------------+\n| 0 | set fanta@0 55 |\n| 1 | stmt 9 "DROP TABLE t2" |\n| 2 | stmt 5 "INSERT INTO t3 VALUES (fanta)" |\n| 3 | jump 2 |\n+-----+----------------------------------------+\n4 rows in set (0.00 sec)\n','http://dev.mysql.com/doc/refman/5.7/en/show-procedure-code.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (631,23,'MEDIUMTEXT','MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]\n\nA TEXT column with a maximum length of 16,777,215 (224 − 1)\ncharacters. The effective maximum length is less if the value contains\nmultibyte characters. Each MEDIUMTEXT value is stored using a 3-byte\nlength prefix that indicates the number of bytes in the value.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (632,27,'SHOW COLLATION','Syntax:\nSHOW COLLATION\n [LIKE \'pattern\' | WHERE expr]\n\nThis statement lists collations supported by the server. By default,\nthe output from SHOW COLLATION includes all available collations. The\nLIKE clause, if present, indicates which collation names to match. The\nWHERE clause can be given to select rows using more general conditions,\nas discussed in\nhttp://dev.mysql.com/doc/refman/5.7/en/extended-show.html. For example:\n\nmysql> SHOW COLLATION WHERE Charset = \'latin1\';\n+-------------------+---------+----+---------+----------+---------+\n| Collation | Charset | Id | Default | Compiled | Sortlen |\n+-------------------+---------+----+---------+----------+---------+\n| latin1_german1_ci | latin1 | 5 | | Yes | 1 |\n| latin1_swedish_ci | latin1 | 8 | Yes | Yes | 1 |\n| latin1_danish_ci | latin1 | 15 | | Yes | 1 |\n| latin1_german2_ci | latin1 | 31 | | Yes | 2 |\n| latin1_bin | latin1 | 47 | | Yes | 1 |\n| latin1_general_ci | latin1 | 48 | | Yes | 1 |\n| latin1_general_cs | latin1 | 49 | | Yes | 1 |\n| latin1_spanish_ci | latin1 | 94 | | Yes | 1 |\n+-------------------+---------+----+---------+----------+---------+\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/show-collation.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/show-collation.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (633,3,'LOG','Syntax:\nLOG(X), LOG(B,X)\n\nIf called with one parameter, this function returns the natural\nlogarithm of X. If X is less than or equal to 0.0E0, the function\nreturns NULL and (as of MySQL 5.7.4) a warning "Invalid argument for\nlogarithm" is reported.\n\nThe inverse of this function (when called with a single argument) is\nthe EXP() function.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT LOG(2);\n -> 0.69314718055995\nmysql> SELECT LOG(-2);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (634,20,'!=','Syntax:\n<>, !=\n\nNot equal:\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT \'.01\' <> \'0.01\';\n -> 1\nmysql> SELECT .01 <> \'0.01\';\n -> 0\nmysql> SELECT \'zapp\' <> \'zappp\';\n -> 1\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (635,24,'WHILE','Syntax:\n[begin_label:] WHILE search_condition DO\n statement_list\nEND WHILE [end_label]\n\nThe statement list within a WHILE statement is repeated as long as the\nsearch_condition expression is true. statement_list consists of one or\nmore SQL statements, each terminated by a semicolon (;) statement\ndelimiter.\n\nA WHILE statement can be labeled. For the rules regarding label use,\nsee [HELP labels].\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/while.html\n\n','CREATE PROCEDURE dowhile()\nBEGIN\n DECLARE v1 INT DEFAULT 5;\n\n WHILE v1 > 0 DO\n ...\n SET v1 = v1 - 1;\n END WHILE;\nEND;\n','http://dev.mysql.com/doc/refman/5.7/en/while.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (636,7,'JSON_APPEND','Syntax:\nJSON_APPEND(json_doc, path, val[, path, val] ...)\n\nAppends values to the end of the indicated arrays within a JSON\ndocument and returns the result. This function was renamed to\nJSON_ARRAY_APPEND() in MySQL 5.7.9; the alias JSON_APPEND() is now\ndeprecated in MySQL 5.7, and is removed in MySQL 8.0.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html\n\n','','http://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (637,7,'JSON_LENGTH','Syntax:\nJSON_LENGTH(json_doc[, path])\n\nReturns the length of a JSON document, or, if a path argument is given,\nthe length of the value within the document identified by the path.\nReturns NULL if any argument is NULL or the path argument does not\nidentify a value in the document. An error occurs if the json_doc\nargument is not a valid JSON document or the path argument is not a\nvalid path expression or contains a * or ** wildcard.\n\nThe length of a document is determined as follows:\n\no The length of a scalar is 1.\n\no The length of an array is the number of array elements.\n\no The length of an object is the number of object members.\n\no The length does not count the length of nested arrays or objects.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html\n\n','mysql> SELECT JSON_LENGTH(\'[1, 2, {"a": 3}]\');\n+---------------------------------+\n| JSON_LENGTH(\'[1, 2, {"a": 3}]\') |\n+---------------------------------+\n| 3 |\n+---------------------------------+\nmysql> SELECT JSON_LENGTH(\'{"a": 1, "b": {"c": 30}}\');\n+-----------------------------------------+\n| JSON_LENGTH(\'{"a": 1, "b": {"c": 30}}\') |\n+-----------------------------------------+\n| 2 |\n+-----------------------------------------+\nmysql> SELECT JSON_LENGTH(\'{"a": 1, "b": {"c": 30}}\', \'$.b\');\n+------------------------------------------------+\n| JSON_LENGTH(\'{"a": 1, "b": {"c": 30}}\', \'$.b\') |\n+------------------------------------------------+\n| 1 |\n+------------------------------------------------+\n','http://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (638,32,'DAYNAME','Syntax:\nDAYNAME(date)\n\nReturns the name of the weekday for date. The language used for the\nname is controlled by the value of the lc_time_names system variable\n(http://dev.mysql.com/doc/refman/5.7/en/locale-support.html).\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html\n\n','mysql> SELECT DAYNAME(\'2007-02-03\');\n -> \'Saturday\'\n','http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (639,3,'RADIANS','Syntax:\nRADIANS(X)\n\nReturns the argument X, converted from degrees to radians. (Note that\nπ radians equals 180 degrees.)\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html\n\n','mysql> SELECT RADIANS(90);\n -> 1.5707963267949\n','http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (640,17,'COLLATION','Syntax:\nCOLLATION(str)\n\nReturns the collation of the string argument.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT COLLATION(\'abc\');\n -> \'latin1_swedish_ci\'\nmysql> SELECT COLLATION(_utf8\'abc\');\n -> \'utf8_general_ci\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (641,20,'COALESCE','Syntax:\nCOALESCE(value,...)\n\nReturns the first non-NULL value in the list, or NULL if there are no\nnon-NULL values.\n\nThe return type of COALESCE() is the aggregated type of the argument\ntypes.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html\n\n','mysql> SELECT COALESCE(NULL,1);\n -> 1\nmysql> SELECT COALESCE(NULL,NULL,NULL);\n -> NULL\n','http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html'); INSERT INTO help_topic (help_topic_id,help_category_id,name,description,example,url) VALUES (642,17,'VERSION','Syntax:\nVERSION()\n\nReturns a string that indicates the MySQL server version. The string\nuses the utf8 character set. The value might have a suffix in addition\nto the version number. See the description of the version system\nvariable in\nhttp://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html.\n\nURL: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html\n\n','mysql> SELECT VERSION();\n -> \'5.7.24-standard\'\n','http://dev.mysql.com/doc/refman/5.7/en/information-functions.html'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (0,'JOIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (1,'HOST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (2,'SERIALIZABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (3,'CONTAINS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (4,'SRID'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (5,'AT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (6,'SCHEDULE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (7,'RETURNS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (8,'MASTER_TLS_VERSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (9,'MASTER_SSL_CA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (10,'NCHAR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (11,'ONLY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (12,'ST_GEOMETRYN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (13,'ST_GEOMCOLLFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (14,'WORK'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (15,'OPEN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (16,'ST_INTERSECTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (17,'ESCAPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (18,'EVENTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (19,'MONTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (20,'PROFILES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (21,'ISCLOSED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (22,'DUPLICATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (23,'ST_POINTN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (24,'REPLICATION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (25,'UNLOCK'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (26,'STATS_PERSISTENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (27,'INNODB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (28,'REPLICATE_REWRITE_DB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (29,'YEAR_MONTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (30,'WITHIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (31,'PREPARE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (32,'LOCK'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (33,'NDB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (34,'INT4'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (35,'POLYGON'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (36,'MINUTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (37,'SEPARATOR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (38,'DELETE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (39,'JSON_SEARCH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (40,'ON'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (41,'CONNECTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (42,'CLOSE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (43,'MASTER_SSL_CRLPATH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (44,'USE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (45,'PRIVILEGES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (46,'SPATIAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (47,'SQL_BUFFER_RESULT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (48,'JSON_ARRAYAGG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (49,'ERROR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (50,'SECURITY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (51,'AUTOEXTEND_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (52,'ST_STARTPOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (53,'NDBCLUSTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (54,'ST_POLYGONFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (55,'LEVEL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (56,'BINARY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (57,'CURRENT_USER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (58,'HOUR_MINUTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (59,'UPDATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (60,'PRESERVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (61,'ST_SIMPLIFY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (62,'INTO'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (63,'POLYFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (64,'SQL_AFTER_GTIDS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (65,'VARIABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (66,'ROLLBACK'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (67,'TIMESTAMP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (68,'IMPORT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (69,'CHECKSUM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (70,'THEN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (71,'ENGINES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (72,'HANDLER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (73,'DAY_SECOND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (74,'HELP_DATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (75,'BOOLEAN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (76,'JSON_EXTRACT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (77,'MOD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (78,'ST_GEOMETRYTYPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (79,'CLASS_ORIGIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (80,'MPOLYFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (81,'ITERATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (82,'DO'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (83,'DATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (84,'FULLTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (85,'COMMENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (86,'COMPRESSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (87,'ST_ASTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (88,'MASTER_CONNECT_RETRY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (89,'JSON_TYPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (90,'MASTER_LOG_FILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (91,'PRECISION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (92,'REQUIRE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (93,'ST_ASWKT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (94,'LONG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (95,'FORMAT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (96,'OPTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (97,'REORGANIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (98,'ELSE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (99,'EXTERIORRING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (100,'GEOMFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (101,'STATS_AUTO_RECALC'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (102,'FROM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (103,'MULTIPOLYGON'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (104,'LEFT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (105,'ELSEIF'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (106,'ST_ISCLOSED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (107,'COMPACT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (108,'DEC'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (109,'FOR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (110,'WARNINGS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (111,'ST_LONGFROMGEOHASH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (112,'ST_LINESTRINGFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (113,'STRING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (114,'CONDITION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (115,'ENCLOSED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (116,'AGGREGATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (117,'NUMBER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (118,'FIELDS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (119,'JSON_INSERT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (120,'JSON_UNQUOTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (121,'PATH)'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (122,'KILL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (123,'DISJOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (124,'TABLESPACE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (125,'OVERLAPS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (126,'INFILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (127,'MBREQUAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (128,'HELP_VERSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (129,'ORDER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (130,'MASTER_SSL_CRL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (131,'ST_GEOMFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (132,'USING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (133,'REPLICATE_WILD_DO_TABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (134,'MIDDLEINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (135,'GRANT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (136,'MBRINTERSECTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (137,'ST_MPOLYFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (138,'JSON_ARRAY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (139,'GEOMETRYN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (140,'GEOMETRYFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (141,'DEFAULT_AUTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (142,'FOREIGN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (143,'CACHE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (144,'MYSQL_ERRNO'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (145,'SCHEMAS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (146,'LEADING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (147,'CONSTRAINT_NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (148,'CONVERT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (149,'DYNAMIC'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (150,'ST_ISVALID'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (151,'POLYGONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (152,'ENVELOPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (153,'ST_ISEMPTY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (154,'HAVING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (155,'STARTING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (156,'RELOAD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (157,'ISSIMPLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (158,'AUTOCOMMIT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (159,'ST_Y'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (160,'REVOKE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (161,'RANDOM_BYTES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (162,'EXPLAIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (163,'CSV'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (164,'OUTFILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (165,'LOW_PRIORITY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (166,'FILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (167,'ANY_VALUE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (168,'NODEGROUP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (169,'SCHEMA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (170,'ST_TOUCHES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (171,'MLINEFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (172,'ST_POLYGONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (173,'DUAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (174,'MULTIPOINTFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (175,'MULTIPOINTFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (176,'EXTENDED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (177,'CROSS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (178,'GROUP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (179,'NATIONAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (180,'ST_ISSIMPLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (181,'SHA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (182,'POINTN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (183,'IGNORE_SERVER_IDS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (184,'MASTER_AUTO_POSITION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (185,'ASBINARY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (186,'ST_MLINEFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (187,'EXTRACTION)'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (188,'MBROVERLAPS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (189,'GENERAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (190,'OWNER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (191,'TRUE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (192,'CHARACTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (193,'SCHEMA_NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (194,'TABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (195,'ST_LINEFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (196,'CASCADE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (197,'RELAY_LOG_POS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (198,'ASWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (199,'LEAVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (200,'ST_GEOHASH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (201,'MODIFY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (202,'MATCH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (203,'MASTER_LOG_POS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (204,'DISTINCTROW'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (205,'X'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (206,'CURSOR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (207,'INLINE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (208,'ST_UNION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (209,'CROSSES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (210,'->>'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (211,'GEOMETRYCOLLECTIONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (212,'CHAIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (213,'FLUSH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (214,'CREATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (215,'DESCRIBE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (216,'PROCESSLIST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (217,'JSON_OBJECTAGG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (218,'DISCARD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (219,'SOUNDS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (220,'PACK_KEYS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (221,'MULTILINESTRINGFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (222,'INTERSECTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (223,'FAST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (224,'GET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (225,'REPLICATE_WILD_IGNORE_TABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (226,'LOOP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (227,'VARCHARACTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (228,'BEFORE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (229,'ALL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (230,'REDUNDANT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (231,'USER_RESOURCES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (232,'PARTIAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (233,'END'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (234,'ST_CONTAINS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (235,'SECOND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (236,'FLOAT8'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (237,'PREV'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (238,'MBRCONTAINS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (239,'OR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (240,'IDENTIFIED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (241,'POINTFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (242,'MASTER_SSL_CIPHER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (243,'SQL_SLAVE_SKIP_COUNTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (244,'BOTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (245,'YEAR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (246,'UNIQUE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (247,'TRIGGERS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (248,'RESIGNAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (249,'ST_NUMPOINTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (250,'MASTER_SSL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (251,'DATE_ADD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (252,'JSON_VALID'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (253,'ST_ENVELOPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (254,'LIKE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (255,'PLUGIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (256,'MULTIPOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (257,'FETCH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (258,'MBRWITHIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (259,'COLUMN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (260,'USAGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (261,'MEMORY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (262,'ST_MULTIPOINTFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (263,'QUERY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (264,'DISTANCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (265,'Y'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (266,'LINES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (267,'PLUGIN_DIR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (268,'SQL_THREAD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (269,'INTERIORRINGN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (270,'NUMINTERIORRINGS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (271,'REPLICATE_IGNORE_DB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (272,'MAX_QUERIES_PER_HOUR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (273,'ST_POLYFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (274,'TRANSACTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (275,'STDDEV'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (276,'NAMES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (277,'INT1'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (278,'RIGHT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (279,'MAX_ROWS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (280,'ALTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (281,'NATURAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (282,'JSON_STORAGE_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (283,'MULTILINESTRING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (284,'VARIABLES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (285,'ESCAPED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (286,'KEY_BLOCK_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (287,'MPOINTFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (288,'CHAR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (289,'UPGRADE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (290,'INTERVAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (291,'NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (292,'ST_POINTFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (293,'REFERENCES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (294,'JSON_PRETTY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (295,'ST_MAKEENVELOPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (296,'ST_WITHIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (297,'STORAGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (298,'ISOLATION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (299,'EVERY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (300,'INT8'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (301,'ST_BUFFER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (302,'BUFFER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (303,'RESTRICT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (304,'JSON_OBJECT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (305,'UNCOMMITTED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (306,'LINESTRINGFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (307,'IS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (308,'ST_CENTROID'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (309,'NOT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (310,'REPLICATE_DO_TABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (311,'DATAFILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (312,'ANALYSE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (313,'DES_KEY_FILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (314,'COMPRESSED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (315,'START'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (316,'PARTITIONING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (317,'IF'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (318,'ROWS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (319,'PURGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (320,'USER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (321,'EXIT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (322,'ST_MULTILINESTRINGFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (323,'MERGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (324,'ST_DISTANCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (325,'SQL_NO_CACHE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (326,'ST_MULTIPOLYGONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (327,'DELAYED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (328,'PROXY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (329,'ST_DISTANCE_SPHERE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (330,'ST_POLYFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (331,'RELAY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (332,'WRITE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (333,'VIRTUAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (334,'JSON_QUOTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (335,'NEVER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (336,'DATABASE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (337,'NULL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (338,'POWER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (339,'POINTFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (340,'USE_FRM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (341,'TERMINATED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (342,'NVARCHAR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (343,'RETURN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (344,'DIRECTORY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (345,'AES_DECRYPT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (346,'GLENGTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (347,'SHUTDOWN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (348,'JSON_REMOVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (349,'ST_ASGEOJSON'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (350,'CATALOG_NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (351,'FILE_BLOCK_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (352,'FIXED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (353,'ST_BUFFER_STRATEGY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (354,'MULTIPOLYGONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (355,'REPEAT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (356,'REPLACE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (357,'ST_SYMDIFFERENCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (358,'STARTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (359,'ST_NUMINTERIORRING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (360,'COMPLETION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (361,'COLUMNS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (362,'DATETIME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (363,'MODE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (364,'INTEGER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (365,'VALUE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (366,'ASWKT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (367,'MASTER_SSL_VERIFY_SERVER_CERT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (368,'GEOMETRYCOLLECTIONFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (369,'DROP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (370,'SQL_BIG_RESULT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (371,'SUBJECT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (372,'MASTER_RETRY_COUNT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (373,'ST_VALIDATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (374,'CHECK'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (375,'FULL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (376,'BY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (377,'ST_POINTFROMGEOHASH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (378,'NO'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (379,'DAY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (380,'DATA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (381,'PARTITION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (382,'REAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (383,'SHARE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (384,'LINESTRING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (385,'MESSAGE_TEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (386,'MASTER_HEARTBEAT_PERIOD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (387,'COLUMN_NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (388,'X509'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (389,'LINEFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (390,'SUBCLASS_ORIGIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (391,'WHERE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (392,'EVENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (393,'SUPER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (394,'IGNORE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (395,'SHA2'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (396,'STORED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (397,'QUICK'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (398,'SIGNED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (399,'ENCRYPTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (400,'ST_GEOMCOLLFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (401,'FALSE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (402,'POLYGONFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (403,'FORCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (404,'TO'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (405,'CHANGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (406,'POINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (407,'CREATE_DH_PARAMETERS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (408,'TABLE_NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (409,'SLOW'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (410,'VARYING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (411,'FEDERATED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (412,'MAX_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (413,'HOUR_SECOND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (414,'ST_DIFFERENCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (415,'OPTIMIZER_COSTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (416,'TRADITIONAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (417,'GEOMETRYCOLLECTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (418,'ST_GEOMETRYCOLLECTIONFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (419,'ST_ASBINARY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (420,'PROCEDURE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (421,'AGAINST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (422,'ST_AREA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (423,'SQL_BEFORE_GTIDS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (424,'ENDPOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (425,'LONGBINARY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (426,'INSERT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (427,'COUNT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (428,'JSON_ARRAY_APPEND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (429,'PORT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (430,'MLINEFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (431,'EXISTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (432,'MUTEX'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (433,'GEOMCOLLFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (434,'RELEASE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (435,'DEFAULT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (436,'TYPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (437,'NO_WRITE_TO_BINLOG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (438,'JSON_ARRAY_INSERT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (439,'OPTIMIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (440,'SQLSTATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (441,'RESET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (442,'INSTALL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (443,'BIGINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (444,'ST_DIMENSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (445,'SET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (446,'JSON_MERGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (447,'ISSUER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (448,'ST_MPOINTFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (449,'STATUS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (450,'INNER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (451,'RELAYLOG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (452,'STOP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (453,'MRG_MYISAM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (454,'TRAILING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (455,'PARTITIONS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (456,'ST_NUMINTERIORRINGS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (457,'JSON_KEYS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (458,'DEALLOCATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (459,'IO_THREAD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (460,'CASE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (461,'CIPHER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (462,'CONTINUE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (463,'READ'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (464,'MINUTE_SECOND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (465,'ST_MULTIPOINTFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (466,'MIN_ROWS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (467,'ROW_COUNT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (468,'FUNCTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (469,'ST_GEOMETRYFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (470,'CHARSET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (471,'INT3'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (472,'JSON_CONTAINS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (473,'ADD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (474,'AVG_ROW_LENGTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (475,'ARCHIVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (476,'FLOAT4'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (477,'ASTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (478,'NUMGEOMETRIES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (479,'ALGORITHM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (480,'VIEW'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (481,'REPEATABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (482,'JSON_CONTAINS_PATH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (483,'ST_MPOINTFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (484,'CONSTRAINT_CATALOG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (485,'STARTPOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (486,'MPOLYFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (487,'JSON_MERGE_PRESERVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (488,'UNSIGNED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (489,'DECIMAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (490,'INDEXES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (491,'ST_INTERSECTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (492,'HOSTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (493,'COMMIT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (494,'SNAPSHOT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (495,'DECLARE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (496,'NUMPOINTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (497,'INSTANCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (498,'LOAD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (499,'SQL_CACHE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (500,'->'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (501,'COLLATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (502,'ST_GEOMETRYFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (503,'CHANNEL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (504,'BYTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (505,'GLOBAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (506,'LINESTRINGFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (507,'WHEN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (508,'CONVEXHULL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (509,'TOUCHES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (510,'AS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (511,'ST_LINESTRINGFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (512,'AUTO_INCREMENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (513,'GEOMCOLLFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (514,'ST_INTERIORRINGN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (515,'GRANTS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (516,'REPLICATE_DO_DB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (517,'OUTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (518,'CURSOR_NAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (519,'EXPIRE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (520,'SQL_AFTER_MTS_GAPS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (521,'FLOOR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (522,'WITH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (523,'STD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (524,'AFTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (525,'DISABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (526,'UNINSTALL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (527,'ST_CONVEXHULL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (528,'SONAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (529,'POW'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (530,'INDEX'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (531,'DEFINER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (532,'MASTER_BIND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (533,'REMOVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (534,'MULTILINESTRINGFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (535,'ST_POINTFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (536,'ST_ENDPOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (537,'ACCOUNT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (538,'ST_OVERLAPS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (539,'UNDO'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (540,'JSON_SET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (541,'ZEROFILL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (542,'CLIENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (543,'MASTER_PASSWORD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (544,'RELAY_LOG_FILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (545,'MASTER_USER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (546,'MBRTOUCHES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (547,'ENGINE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (548,'INSERT_METHOD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (549,'SQL_CALC_FOUND_ROWS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (550,'UNION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (551,'MYISAM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (552,'DESC'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (553,'TIME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (554,'EXPANSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (555,'NUMERIC'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (556,'CODE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (557,'AREA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (558,'LOGFILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (559,'EXTENT_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (560,'ST_LINEFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (561,'MAX_UPDATES_PER_HOUR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (562,'INT2'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (563,'ENDS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (564,'LOGS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (565,'RECOVER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (566,'ISEMPTY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (567,'HEAP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (568,'RETURNED_SQLSTATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (569,'EXCHANGE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (570,'BETWEEN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (571,'ST_CROSSES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (572,'REPAIR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (573,'ST_MPOLYFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (574,'MBRDISJOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (575,'CALL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (576,'VALUES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (577,'ST_X'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (578,'TRUNCATE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (579,'SHOW'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (580,'BINLOG'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (581,'ST_DISJOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (582,'AND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (583,'HOUR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (584,'SELECT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (585,'DATABASES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (586,'JSON_MERGE_PATCH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (587,'WRAPPER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (588,'BOOL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (589,'MASTER_PORT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (590,'CONCURRENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (591,'HELP'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (592,'PROCESS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (593,'OPTIONS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (594,'CONSISTENT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (595,'MAX_CONNECTIONS_PER_HOUR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (596,'IN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (597,'DIAGNOSTICS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (598,'JSON_REPLACE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (599,'DUMPFILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (600,'POLYFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (601,'EXECUTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (602,'ST_SRID'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (603,'JSON'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (604,'CEIL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (605,'ST_MULTILINESTRINGFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (606,'MASTER_HOST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (607,'ST_EQUALS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (608,'SERVER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (609,'MASTER_SSL_CERT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (610,'MULTIPOLYGONFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (611,'DAY_MINUTE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (612,'DATE_SUB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (613,'REPLICATE_IGNORE_TABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (614,'REBUILD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (615,'GEOMETRYFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (616,'GEOMFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (617,'RENAME'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (618,'PARSER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (619,'ST_ASWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (620,'SOCKET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (621,'ST_LATFROMGEOHASH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (622,'ST_GEOMFROMGEOJSON'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (623,'STRAIGHT_JOIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (624,'ST_GEOMETRYCOLLECTIONFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (625,'ST_GEOMFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (626,'SHA1'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (627,'PASSWORD'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (628,'OFFSET'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (629,'NEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (630,'ERRORS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (631,'SQL_LOG_BIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (632,'TEMPORARY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (633,'COMMITTED'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (634,'DIMENSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (635,'SQL_SMALL_RESULT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (636,'ST_MULTIPOLYGONFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (637,'FILTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (638,'XA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (639,'EQUALS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (640,'DELAY_KEY_WRITE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (641,'BEGIN'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (642,'PROFILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (643,'MEDIUM'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (644,'CENTROID'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (645,'SSL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (646,'DAY_HOUR'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (647,'AES_ENCRYPT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (648,'CEILING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (649,'LINEFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (650,'GEOMETRYTYPE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (651,'STATS_SAMPLE_PAGES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (652,'SIGNAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (653,'PLUGINS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (654,'SAVEPOINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (655,'ST_NUMGEOMETRIES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (656,'PRIMARY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (657,'JSON_DEPTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (658,'LAST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (659,'MPOINTFROMWKB'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (660,'KEYS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (661,'LIMIT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (662,'KEY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (663,'UNTIL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (664,'ST_MLINEFROMTEXT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (665,'CONSTRAINT_SCHEMA'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (666,'ST_EXTERIORRING'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (667,'ANALYZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (668,'CONSTRAINT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (669,'SERIAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (670,'ACTION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (671,'INITIAL_SIZE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (672,'SESSION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (673,'SLAVE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (674,'ASC'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (675,'ENABLE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (676,'OPTIONALLY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (677,'MAX_USER_CONNECTIONS'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (678,'WHILE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (679,'DISTINCT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (680,'LOCAL'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (681,'MASTER_SSL_KEY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (682,'JSON_APPEND'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (683,'JSON_LENGTH'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (684,'NONE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (685,'TABLES'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (686,'<>'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (687,'EXPORT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (688,'RLIKE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (689,'TRIGGER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (690,'COLLATION'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (691,'HIGH_PRIORITY'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (692,'BTREE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (693,'FIRST'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (694,'COALESCE'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (695,'WAIT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (696,'MASTER'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (697,'ROW_FORMAT'); INSERT INTO help_keyword (help_keyword_id,name) VALUES (698,'(JSON'); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,0); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,0); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,1); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,2); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (2,3); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (3,4); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,5); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,6); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,6); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,7); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,8); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,9); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,10); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,11); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,11); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,11); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (6,12); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (7,13); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,14); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (14,15); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (407,15); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,15); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,15); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (15,16); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (240,17); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,18); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,18); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,18); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,19); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (53,20); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (21,21); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,22); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (23,23); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,24); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,24); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,25); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,25); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,25); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,26); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,26); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,27); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,27); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,28); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,29); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (26,30); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (28,31); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,31); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,31); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,32); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,32); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,32); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,32); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,32); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,32); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,33); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,34); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (31,35); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,36); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (542,37); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,38); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,38); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,38); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (36,39); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,40); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,40); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,40); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,40); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,41); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,41); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,41); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,41); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (37,42); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,42); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,43); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,44); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (39,44); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,44); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (121,45); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,45); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,45); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,45); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,46); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,46); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,47); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (45,48); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,49); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,50); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,51); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (48,52); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,53); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,54); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,55); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,56); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,56); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,56); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,56); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,57); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,57); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,58); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,59); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,59); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,59); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,59); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,60); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,60); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (56,61); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (502,62); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,62); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,62); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,62); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (61,63); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,64); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (401,65); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,66); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (611,66); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,66); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (438,67); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (66,67); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,68); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,68); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (251,69); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,69); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,69); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,70); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,70); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,70); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,71); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,71); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (508,72); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,72); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,73); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (71,74); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,75); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,75); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (74,76); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (75,77); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (432,77); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (76,78); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,79); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,79); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,79); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (80,80); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (81,81); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,82); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,82); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (82,82); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (635,82); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (478,83); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (84,83); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,83); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,83); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,84); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,84); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,84); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,85); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,86); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,87); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,88); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (86,89); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,90); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (509,91); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,92); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,92); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,92); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (85,93); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (492,94); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,95); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,96); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,96); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,97); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,98); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,98); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (91,99); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (92,100); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,101); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,101); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (608,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,102); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (94,103); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,104); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,105); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (96,106); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,107); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,108); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (508,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (343,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (434,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (583,109); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,110); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (516,110); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (103,111); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,112); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,113); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (434,114); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,115); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,116); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,117); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,118); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,118); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,118); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (109,119); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (110,120); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (208,121); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,122); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (113,123); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,124); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,124); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,124); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,124); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (115,125); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,126); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,126); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (117,127); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (119,128); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,129); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,129); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,129); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,129); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (542,129); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,130); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (123,131); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,132); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (57,132); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,132); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,133); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (159,134); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,135); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,135); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (127,136); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (130,137); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (133,138); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (134,139); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (576,140); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,141); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,142); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,142); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,142); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,142); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (502,143); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (396,143); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,143); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (68,143); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (97,143); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,144); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,144); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,144); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,145); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (105,145); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (608,146); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,147); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,147); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,147); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,148); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (552,148); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,149); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (145,150); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (563,151); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (149,152); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (150,153); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,154); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,155); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,156); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (152,157); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,158); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (156,159); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,160); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (160,161); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,162); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,163); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,163); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,164); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,165); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,166); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (170,167); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,168); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,169); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,169); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,169); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (439,169); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,169); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (174,170); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (177,171); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (257,172); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (179,173); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (615,174); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (267,175); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,176); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,176); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,177); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,178); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,178); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (460,178); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,178); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,179); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,179); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (183,180); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (587,181); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (184,182); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,183); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,184); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,185); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (189,186); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (464,187); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (193,188); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,189); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,190); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (244,191); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (213,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (269,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,192); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,193); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,193); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,193); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (72,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (392,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (512,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (620,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (178,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (251,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (262,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (44,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,194); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (194,195); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,196); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,196); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,196); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,196); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,197); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (188,198); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (200,199); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (201,200); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,201); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,202); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,203); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,204); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (203,205); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (583,206); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (208,207); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (206,208); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (205,209); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (208,210); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (472,211); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,212); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,213); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (97,213); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (607,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (197,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (178,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (452,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (13,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (294,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (247,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (44,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (225,214); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,215); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,216); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (604,216); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (214,217); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,218); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (553,219); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,220); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,220); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (387,221); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (215,222); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (262,223); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,224); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,225); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,226); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,227); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,228); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (343,229); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,229); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,229); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,229); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,229); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,230); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,231); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,232); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (210,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (216,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (144,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (635,233); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (219,234); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,235); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (509,236); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,237); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (222,238); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (226,239); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,240); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,240); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,240); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,240); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (228,241); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,242); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (116,243); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (608,244); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,245); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,246); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (20,247); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,247); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,248); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (235,249); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,250); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,251); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (238,252); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (239,253); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,254); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,254); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (553,254); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,255); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,255); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (582,255); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (241,256); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (243,257); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (245,258); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,259); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,260); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,261); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (442,262); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (396,263); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,263); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,263); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (112,263); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (97,263); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (248,264); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (250,265); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,266); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,266); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,267); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,268); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,268); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (253,269); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (252,270); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,271); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,272); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,272); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,272); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (257,273); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,274); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,274); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (258,275); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (363,276); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,277); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,278); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,279); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,279); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (274,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (218,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (460,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (44,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (465,280); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,281); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (264,282); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (265,283); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,284); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (534,284); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,285); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,286); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,286); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (267,287); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (617,288); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,288); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (262,289); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,289); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,289); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,290); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,290); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,290); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,290); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,291); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (276,292); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,293); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,293); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,293); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (277,294); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (278,295); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (279,296); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,297); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,298); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,299); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (398,300); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (283,301); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (284,302); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,303); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,303); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,303); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (285,304); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,305); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (354,306); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (372,307); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (128,307); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (287,307); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (231,307); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (289,308); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (372,309); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (128,309); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,309); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,309); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,309); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (507,309); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,310); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,311); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,311); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (118,312); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,313); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,314); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,315); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,315); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,315); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,316); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (306,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (5,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (24,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (439,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (518,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,317); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,318); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,319); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (294,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (518,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,320); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (508,321); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (618,322); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,323); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (295,324); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,325); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (524,326); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,327); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,327); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (629,327); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (157,328); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (299,329); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (300,330); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,331); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,332); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,332); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,332); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,332); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,333); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (304,334); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,335); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,335); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,336); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,336); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,336); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,336); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (439,336); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,336); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (372,337); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,337); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (231,337); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (308,338); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (307,339); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,340); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,341); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,342); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (313,343); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,344); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,344); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,344); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (315,345); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (318,346); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (319,347); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,347); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (320,348); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (321,349); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,350); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,350); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,350); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,351); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,352); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,352); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (322,353); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (446,354); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (144,355); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,356); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,356); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,356); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (328,357); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,358); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (411,359); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,360); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,360); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,361); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,361); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,361); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,361); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,361); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,362); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,363); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,363); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,364); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,364); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,364); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,365); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,365); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,365); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,365); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (470,365); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (433,366); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,367); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,368); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (340,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (5,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (579,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (58,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (167,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (439,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (256,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (518,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,369); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,370); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,371); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,371); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,371); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,372); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (341,373); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (262,374); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,374); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,374); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,375); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,375); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (190,375); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,375); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (604,375); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (542,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,376); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (344,377); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,378); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,378); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,379); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,380); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,380); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,380); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,380); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,380); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,381); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (509,382); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,382); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,383); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (347,384); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,385); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,385); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,385); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,386); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,387); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,387); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,387); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,388); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,388); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,388); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (354,389); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,390); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,390); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,390); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,391); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,391); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,391); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,391); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,391); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,392); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,392); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,392); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (225,392); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,393); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,394); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,394); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,394); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,394); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,394); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,394); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (359,395); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,396); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,397); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (262,397); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,397); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,398); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,399); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (366,400); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (244,401); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (61,402); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,403); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,404); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (611,404); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,404); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,405); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,405); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,405); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (369,406); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (371,407); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,408); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,408); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,408); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,409); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (165,410); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,411); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,412); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,413); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (376,414); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,415); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,416); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (377,417); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (366,418); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (379,419); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (13,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (274,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (197,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (630,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (579,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (118,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,420); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,421); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (382,422); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,423); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (383,424); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (492,425); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (124,426); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,426); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (629,426); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,426); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,427); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (270,427); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (516,427); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (386,428); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,429); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (387,430); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (500,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (5,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (439,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (518,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,431); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,432); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (545,432); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (388,433); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,434); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (611,434); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,434); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (445,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (470,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,435); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,436); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,437); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,437); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (392,437); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (620,437); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (394,438); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (392,439); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,439); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,440); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,440); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (343,441); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (396,441); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (168,441); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (97,441); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (582,442); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,443); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (400,444); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (213,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (401,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (363,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (314,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (116,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (303,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,445); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (402,446); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,447); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,447); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,447); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,448); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (521,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (545,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (41,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (410,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,449); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,450); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,451); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,452); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,453); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (608,454); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,455); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (411,456); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (412,457); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (466,458); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,459); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,459); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,460); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,460); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,461); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,461); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,461); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (508,462); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,463); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,463); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,463); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,463); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,463); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,463); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,464); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (405,465); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,466); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,466); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,467); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (361,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (521,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (340,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (197,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (579,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (247,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (452,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (256,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (465,468); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (586,469); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (312,470); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (159,471); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (430,472); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,473); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,473); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (44,473); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,473); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,474); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,474); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,475); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,476); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (433,477); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (436,478); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,479); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (607,480); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (338,480); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (104,480); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,481); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (441,482); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (442,483); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,484); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,484); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,484); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (444,485); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (446,486); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (541,487); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (509,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (398,488); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (101,489); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,489); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,489); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,490); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (457,491); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (414,492); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,492); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,492); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,493); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,493); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,494); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,494); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (508,495); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (434,495); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (583,495); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (445,495); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (459,496); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (218,497); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (502,498); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,498); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,499); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (464,500); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (417,501); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,501); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (132,501); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,501); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (123,502); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (343,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,503); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (617,504); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (401,505); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,505); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (116,505); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (534,505); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (410,505); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (605,506); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (55,507); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (40,507); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (468,508); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (469,509); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,510); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,510); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,510); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,510); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,510); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (517,511); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,512); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (472,513); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (473,514); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,515); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (440,515); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,516); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,517); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,518); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,518); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,518); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,519); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,519); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,520); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (138,521); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,522); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (477,523); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,524); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,525); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,525); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,525); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (187,526); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (481,527); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (65,528); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (486,529); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (502,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (58,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (68,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (44,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,530); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,531); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,531); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,532); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,533); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (177,534); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (489,535); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (490,536); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,537); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,537); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (493,538); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (508,539); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (496,540); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (509,541); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (317,541); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,541); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,541); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (426,541); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (398,541); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,542); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,543); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,544); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,545); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (499,546); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (545,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (261,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,547); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,548); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,548); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,549); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,550); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,550); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,551); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,552); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,552); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (542,552); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (510,553); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (236,553); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,553); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,554); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (451,555); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (361,556); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (630,556); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (515,557); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,558); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (349,558); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (460,558); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,559); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (517,560); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,561); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,561); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,561); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (146,562); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,563); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,564); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,564); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,564); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,564); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,565); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (520,566); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,567); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,568); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,569); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (93,570); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (523,571); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,572); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,572); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (524,573); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (526,574); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (525,575); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,576); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,576); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (530,577); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (512,578); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,578); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (121,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (361,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (213,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (521,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (407,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (178,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (488,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (410,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (136,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (13,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (294,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (534,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (53,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (20,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (414,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (190,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (225,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (27,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (545,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (105,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (630,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (310,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (506,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (632,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (108,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (41,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (247,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (211,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (516,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (440,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (604,579); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,580); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (535,580); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (536,581); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (538,582); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (93,582); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,583); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (326,584); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,584); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,584); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (196,584); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,584); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,585); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (105,585); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (390,586); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,587); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (73,588); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (335,588); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,589); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,590); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,590); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (559,591); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (77,591); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,592); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,593); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,593); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,594); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,594); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,595); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,595); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,595); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,596); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (334,596); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (373,596); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,596); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,596); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,596); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,597); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (560,598); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,599); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (563,600); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (57,601); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,601); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (564,602); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (143,603); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (162,603); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (567,604); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (189,605); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,606); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (571,607); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (232,608); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,608); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (5,608); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,609); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (80,610); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,611); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,612); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,613); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,614); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (92,615); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (576,616); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,617); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (72,617); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (458,617); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,617); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,618); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,618); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,618); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (379,619); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,620); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (580,621); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (581,622); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (0,623); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,623); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (7,624); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (586,625); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (587,626); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (298,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (303,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,627); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,628); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,629); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (362,630); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,630); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (314,631); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (485,632); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,633); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (591,634); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,635); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (130,636); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (332,637); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,638); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (594,639); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,640); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,640); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (415,641); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (210,641); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (593,641); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (310,642); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (262,643); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (595,644); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,645); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,645); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,645); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (237,646); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (598,647); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (603,648); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (605,649); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (606,650); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,651); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,651); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,652); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (27,653); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (611,654); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (612,655); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,656); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (613,657); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,658); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (615,659); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,660); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (505,660); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,660); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (266,661); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (35,661); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (79,661); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,661); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (54,661); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,661); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,662); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (44,662); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,662); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,662); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,662); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (144,663); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (618,664); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (610,665); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (233,665); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (198,665); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (621,666); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (620,667); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,667); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,668); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,668); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,669); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (470,669); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (623,670); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,670); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,671); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,671); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (401,672); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (281,672); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (534,672); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (410,672); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (139,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (352,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (514,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (343,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (414,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (396,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,673); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,674); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (542,674); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (572,675); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (374,675); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,675); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,676); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (565,677); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,677); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (368,677); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (635,678); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (325,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (64,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (555,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (495,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (270,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (503,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (542,679); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (292,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (403,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (392,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (584,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (620,680); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,681); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (636,682); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (637,683); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (126,684); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (407,685); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,685); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,685); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (190,685); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (29,685); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (634,686); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (209,687); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (22,688); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,689); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (17,689); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (167,689); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (533,690); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (632,690); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (540,691); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (384,691); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (131,692); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,693); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (70,693); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,693); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,694); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (122,695); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (625,695); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (30,696); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (396,696); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (41,696); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (172,696); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (437,696); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (168,696); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (296,697); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (616,697); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (208,698); INSERT INTO help_relation (help_topic_id,help_keyword_id) VALUES (464,698); CREATE TABLE IF NOT EXISTS db ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(32) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Database privileges'; set @had_db_table= @@warning_count != 0; CREATE TABLE IF NOT EXISTS user ( Host char(60) binary DEFAULT '' NOT NULL, User char(32) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tablespace_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_cipher BLOB NOT NULL, x509_issuer BLOB NOT NULL, x509_subject BLOB NOT NULL, max_questions int(11) unsigned DEFAULT 0 NOT NULL, max_updates int(11) unsigned DEFAULT 0 NOT NULL, max_connections int(11) unsigned DEFAULT 0 NOT NULL, max_user_connections int(11) unsigned DEFAULT 0 NOT NULL, plugin char(64) DEFAULT 'mysql_native_password' NOT NULL, authentication_string TEXT, password_expired ENUM('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, password_last_changed timestamp NULL DEFAULT NULL, password_lifetime smallint unsigned NULL DEFAULT NULL, account_locked ENUM('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Users and global privileges'; set @had_user_table= @@warning_count != 0; CREATE TABLE IF NOT EXISTS func ( name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User defined functions'; CREATE TABLE IF NOT EXISTS plugin ( name varchar(64) DEFAULT '' NOT NULL, dl varchar(128) DEFAULT '' NOT NULL, PRIMARY KEY (name) ) engine=InnoDB STATS_PERSISTENT=0 CHARACTER SET utf8 COLLATE utf8_general_ci comment='MySQL plugins'; CREATE TABLE IF NOT EXISTS servers ( Server_name char(64) NOT NULL DEFAULT '', Host char(64) NOT NULL DEFAULT '', Db char(64) NOT NULL DEFAULT '', Username char(64) NOT NULL DEFAULT '', Password char(64) NOT NULL DEFAULT '', Port INT(4) NOT NULL DEFAULT '0', Socket char(64) NOT NULL DEFAULT '', Wrapper char(64) NOT NULL DEFAULT '', Owner char(64) NOT NULL DEFAULT '', PRIMARY KEY (Server_name)) engine=InnoDB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='MySQL Foreign Servers table'; CREATE TABLE IF NOT EXISTS tables_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(32) binary DEFAULT '' NOT NULL, Table_name char(64) binary DEFAULT '' NOT NULL, Grantor char(93) DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Table privileges'; CREATE TABLE IF NOT EXISTS columns_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(32) binary DEFAULT '' NOT NULL, Table_name char(64) binary DEFAULT '' NOT NULL, Column_name char(64) binary DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name,Column_name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Column privileges'; CREATE TABLE IF NOT EXISTS help_topic ( help_topic_id int unsigned not null, name char(64) not null, help_category_id smallint unsigned not null, description text not null, example text not null, url text not null, primary key (help_topic_id), unique index (name) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='help topics'; CREATE TABLE IF NOT EXISTS help_category ( help_category_id smallint unsigned not null, name char(64) not null, parent_category_id smallint unsigned null, url text not null, primary key (help_category_id), unique index (name) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='help categories'; CREATE TABLE IF NOT EXISTS help_relation ( help_topic_id int unsigned not null, help_keyword_id int unsigned not null, primary key (help_keyword_id, help_topic_id) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='keyword-topic relation'; CREATE TABLE IF NOT EXISTS help_keyword ( help_keyword_id int unsigned not null, name char(64) not null, primary key (help_keyword_id), unique index (name) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='help keywords'; CREATE TABLE IF NOT EXISTS time_zone_name ( Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY Name (Name) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='Time zone names'; CREATE TABLE IF NOT EXISTS time_zone ( Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY TzId (Time_zone_id) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='Time zones'; CREATE TABLE IF NOT EXISTS time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='Time zone transitions'; CREATE TABLE IF NOT EXISTS time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='Time zone transition types'; CREATE TABLE IF NOT EXISTS time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=INNODB STATS_PERSISTENT=0 CHARACTER SET utf8 comment='Leap seconds information for time zones'; CREATE TABLE IF NOT EXISTS proc (db char(64) collate utf8_bin DEFAULT '' NOT NULL, name char(64) DEFAULT '' NOT NULL, type enum('FUNCTION','PROCEDURE') NOT NULL, specific_name char(64) DEFAULT '' NOT NULL, language enum('SQL') DEFAULT 'SQL' NOT NULL, sql_data_access enum( 'CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA') DEFAULT 'CONTAINS_SQL' NOT NULL, is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL, security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL, param_list blob NOT NULL, returns longblob DEFAULT '' NOT NULL, body longblob NOT NULL, definer char(93) collate utf8_bin DEFAULT '' NOT NULL, created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, modified timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment text collate utf8_bin NOT NULL, character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db,name,type)) engine=MyISAM character set utf8 comment='Stored Procedures'; CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(32) binary DEFAULT '' NOT NULL, Routine_name char(64) COLLATE utf8_general_ci DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(93) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges'; CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), user_host MEDIUMTEXT NOT NULL, thread_id BIGINT(21) UNSIGNED NOT NULL, server_id INTEGER UNSIGNED NOT NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMBLOB NOT NULL) engine=CSV CHARACTER SET utf8 comment="General log"; CREATE TABLE IF NOT EXISTS slow_log (start_time TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), user_host MEDIUMTEXT NOT NULL, query_time TIME(6) NOT NULL, lock_time TIME(6) NOT NULL, rows_sent INTEGER NOT NULL, rows_examined INTEGER NOT NULL, db VARCHAR(512) NOT NULL, last_insert_id INTEGER NOT NULL, insert_id INTEGER NOT NULL, server_id INTEGER UNSIGNED NOT NULL, sql_text MEDIUMBLOB NOT NULL, thread_id BIGINT(21) UNSIGNED NOT NULL) engine=CSV CHARACTER SET utf8 comment="Slow log"; CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(93) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, modified TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', originator INTEGER UNSIGNED NOT NULL, time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events'; CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL, File VARCHAR(255) NOT NULL, epoch BIGINT UNSIGNED NOT NULL, inserts INT UNSIGNED NOT NULL, updates INT UNSIGNED NOT NULL, deletes INT UNSIGNED NOT NULL, schemaops INT UNSIGNED NOT NULL, orig_server_id INT UNSIGNED NOT NULL, orig_epoch BIGINT UNSIGNED NOT NULL, gci INT UNSIGNED NOT NULL, next_position BIGINT UNSIGNED NOT NULL, next_file VARCHAR(255) NOT NULL, PRIMARY KEY(epoch, orig_server_id, orig_epoch)) ENGINE=MYISAM; SET @sql_mode_orig=@@SESSION.sql_mode; SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION'; SET @create_innodb_table_stats="CREATE TABLE IF NOT EXISTS innodb_table_stats ( database_name VARCHAR(64) NOT NULL, table_name VARCHAR(199) NOT NULL, last_update TIMESTAMP NOT NULL NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, n_rows BIGINT UNSIGNED NOT NULL, clustered_index_size BIGINT UNSIGNED NOT NULL, sum_of_other_index_sizes BIGINT UNSIGNED NOT NULL, PRIMARY KEY (database_name, table_name) ) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0"; SET @create_innodb_index_stats="CREATE TABLE IF NOT EXISTS innodb_index_stats ( database_name VARCHAR(64) NOT NULL, table_name VARCHAR(199) NOT NULL, index_name VARCHAR(64) NOT NULL, last_update TIMESTAMP NOT NULL NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, /* there are at least: stat_name='size' stat_name='n_leaf_pages' stat_name='n_diff_pfx%' */ stat_name VARCHAR(64) NOT NULL, stat_value BIGINT UNSIGNED NOT NULL, sample_size BIGINT UNSIGNED, stat_description VARCHAR(1024) NOT NULL, PRIMARY KEY (database_name, table_name, index_name, stat_name) ) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0"; set @have_innodb= (select count(engine) from information_schema.engines where engine='INNODB' and support != 'NO'); SET @str=IF(@have_innodb <> 0, @create_innodb_table_stats, "SET @dummy = 0"); SET @str=IF(@have_innodb <> 0, @create_innodb_index_stats, "SET @dummy = 0"); SET SESSION sql_mode=@sql_mode_orig; SET @cmd="CREATE TABLE IF NOT EXISTS slave_relay_log_info ( Number_of_lines INTEGER UNSIGNED NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.', Relay_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.', Relay_log_pos BIGINT UNSIGNED NOT NULL COMMENT 'The relay log position of the last executed event.', Master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.', Master_log_pos BIGINT UNSIGNED NOT NULL COMMENT 'The master log position of the last executed event.', Sql_delay INTEGER NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.', Number_of_workers INTEGER UNSIGNED NOT NULL, Id INTEGER UNSIGNED NOT NULL COMMENT 'Internal Id that uniquely identifies this record.', Channel_name CHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication', PRIMARY KEY(Channel_name)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT 'Relay Log Information'"; SET @str=IF(@have_innodb <> 0, CONCAT(@cmd, ' ENGINE= INNODB;'), CONCAT(@cmd, ' ENGINE= MYISAM;')); SET @cmd= "CREATE TABLE IF NOT EXISTS slave_master_info ( Number_of_lines INTEGER UNSIGNED NOT NULL COMMENT 'Number of lines in the file.', Master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.', Master_log_pos BIGINT UNSIGNED NOT NULL COMMENT 'The master log position of the last read event.', Host CHAR(64) CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The host name of the master.', User_name TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.', User_password TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.', Port INTEGER UNSIGNED NOT NULL COMMENT 'The network port used to connect to the master.', Connect_retry INTEGER UNSIGNED NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.', Enabled_ssl BOOLEAN NOT NULL COMMENT 'Indicates whether the server supports SSL connections.', Ssl_ca TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.', Ssl_capath TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.', Ssl_cert TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.', Ssl_cipher TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.', Ssl_key TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.', Ssl_verify_server_cert BOOLEAN NOT NULL COMMENT 'Whether to verify the server certificate.', Heartbeat FLOAT NOT NULL COMMENT '', Bind TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server', Ignored_server_ids TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs', Uuid TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.', Retry_count BIGINT UNSIGNED NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.', Ssl_crl TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)', Ssl_crlpath TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files', Enabled_auto_position BOOLEAN NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.', Channel_name CHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication', Tls_version TEXT CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Tls version', PRIMARY KEY(Channel_name)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT 'Master Information'"; SET @cmd= "CREATE TABLE IF NOT EXISTS slave_worker_info ( Id INTEGER UNSIGNED NOT NULL, Relay_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Relay_log_pos BIGINT UNSIGNED NOT NULL, Master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Master_log_pos BIGINT UNSIGNED NOT NULL, Checkpoint_relay_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Checkpoint_relay_log_pos BIGINT UNSIGNED NOT NULL, Checkpoint_master_log_name TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Checkpoint_master_log_pos BIGINT UNSIGNED NOT NULL, Checkpoint_seqno INT UNSIGNED NOT NULL, Checkpoint_group_size INTEGER UNSIGNED NOT NULL, Checkpoint_group_bitmap BLOB NOT NULL, Channel_name CHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication', PRIMARY KEY(Channel_name, Id)) DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT 'Worker Information'"; SET @cmd= "CREATE TABLE IF NOT EXISTS gtid_executed ( source_uuid CHAR(36) NOT NULL COMMENT 'uuid of the source where the transaction was originally executed.', interval_start BIGINT NOT NULL COMMENT 'First number of interval.', interval_end BIGINT NOT NULL COMMENT 'Last number of interval.', PRIMARY KEY(source_uuid, interval_start))"; CREATE TABLE IF NOT EXISTS server_cost ( cost_name VARCHAR(64) NOT NULL, cost_value FLOAT DEFAULT NULL, last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, comment VARCHAR(1024) DEFAULT NULL, PRIMARY KEY (cost_name) ) ENGINE=InnoDB CHARACTER SET=utf8 COLLATE=utf8_general_ci STATS_PERSISTENT=0; INSERT IGNORE INTO server_cost(cost_name) VALUES ("row_evaluate_cost"), ("key_compare_cost"), ("memory_temptable_create_cost"), ("memory_temptable_row_cost"), ("disk_temptable_create_cost"), ("disk_temptable_row_cost"); CREATE TABLE IF NOT EXISTS engine_cost ( engine_name VARCHAR(64) NOT NULL, device_type INTEGER NOT NULL, cost_name VARCHAR(64) NOT NULL, cost_value FLOAT DEFAULT NULL, last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, comment VARCHAR(1024) DEFAULT NULL, PRIMARY KEY (cost_name, engine_name, device_type) ) ENGINE=InnoDB CHARACTER SET=utf8 COLLATE=utf8_general_ci STATS_PERSISTENT=0; INSERT IGNORE INTO engine_cost(engine_name, device_type, cost_name) VALUES ("default", 0, "memory_block_read_cost"), ("default", 0, "io_block_read_cost"); set @have_old_pfs= (select count(*) from information_schema.schemata where schema_name='performance_schema'); SET @cmd="SET @broken_tables = (select count(*) from information_schema.tables" " where engine != \'PERFORMANCE_SCHEMA\' and table_schema=\'performance_schema\')"; SET @str = IF(@have_old_pfs = 1, @cmd, 'SET @broken_tables = 0'); SET @cmd="SET @broken_views = (select count(*) from information_schema.views" " where table_schema='performance_schema')"; SET @str = IF(@have_old_pfs = 1, @cmd, 'SET @broken_views = 0'); SET @broken_routines = (select count(*) from mysql.proc where db='performance_schema'); SET @broken_events = (select count(*) from mysql.event where db='performance_schema'); SET @broken_pfs= (select @broken_tables + @broken_views + @broken_routines + @broken_events); SET @cmd= "DROP DATABASE IF EXISTS performance_schema"; SET @str = IF(@broken_pfs = 0, @cmd, 'SET @dummy = 0'); SET @cmd= "CREATE DATABASE performance_schema character set utf8"; set @have_pfs= (select count(engine) from information_schema.engines where engine='PERFORMANCE_SCHEMA'); SET @cmd="CREATE TABLE performance_schema.cond_instances(" "NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); SET @cmd="CREATE TABLE performance_schema.events_waits_current(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "SPINS INTEGER unsigned," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(512)," "INDEX_NAME VARCHAR(64)," "OBJECT_TYPE VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')," "OPERATION VARCHAR(32) not null," "NUMBER_OF_BYTES BIGINT," "FLAGS INTEGER unsigned" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_history(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "SPINS INTEGER unsigned," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(512)," "INDEX_NAME VARCHAR(64)," "OBJECT_TYPE VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')," "OPERATION VARCHAR(32) not null," "NUMBER_OF_BYTES BIGINT," "FLAGS INTEGER unsigned" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_history_long(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "SPINS INTEGER unsigned," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(512)," "INDEX_NAME VARCHAR(64)," "OBJECT_TYPE VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')," "OPERATION VARCHAR(32) not null," "NUMBER_OF_BYTES BIGINT," "FLAGS INTEGER unsigned" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_instance(" "EVENT_NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_host_by_event_name(" "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_user_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_account_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_summary_by_thread_by_event_name(" "THREAD_ID BIGINT unsigned not null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_waits_summary_global_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.file_instances(" "FILE_NAME VARCHAR(512) not null," "EVENT_NAME VARCHAR(128) not null," "OPEN_COUNT INTEGER unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.file_summary_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_READ BIGINT not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_WRITE BIGINT not null," "COUNT_MISC BIGINT unsigned not null," "SUM_TIMER_MISC BIGINT unsigned not null," "MIN_TIMER_MISC BIGINT unsigned not null," "AVG_TIMER_MISC BIGINT unsigned not null," "MAX_TIMER_MISC BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.file_summary_by_instance(" "FILE_NAME VARCHAR(512) not null," "EVENT_NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_READ BIGINT not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_WRITE BIGINT not null," "COUNT_MISC BIGINT unsigned not null," "SUM_TIMER_MISC BIGINT unsigned not null," "MIN_TIMER_MISC BIGINT unsigned not null," "AVG_TIMER_MISC BIGINT unsigned not null," "MAX_TIMER_MISC BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.socket_instances(" "EVENT_NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "THREAD_ID BIGINT unsigned," "SOCKET_ID INTEGER not null," "IP VARCHAR(64) not null," "PORT INTEGER not null," "STATE ENUM('IDLE','ACTIVE') not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.socket_summary_by_instance(" "EVENT_NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_READ BIGINT unsigned not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_WRITE BIGINT unsigned not null," "COUNT_MISC BIGINT unsigned not null," "SUM_TIMER_MISC BIGINT unsigned not null," "MIN_TIMER_MISC BIGINT unsigned not null," "AVG_TIMER_MISC BIGINT unsigned not null," "MAX_TIMER_MISC BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.socket_summary_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_READ BIGINT unsigned not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_WRITE BIGINT unsigned not null," "COUNT_MISC BIGINT unsigned not null," "SUM_TIMER_MISC BIGINT unsigned not null," "MIN_TIMER_MISC BIGINT unsigned not null," "AVG_TIMER_MISC BIGINT unsigned not null," "MAX_TIMER_MISC BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.host_cache(" "IP VARCHAR(64) not null," "HOST VARCHAR(255) collate utf8_bin," "HOST_VALIDATED ENUM ('YES', 'NO') not null," "SUM_CONNECT_ERRORS BIGINT not null," "COUNT_HOST_BLOCKED_ERRORS BIGINT not null," "COUNT_NAMEINFO_TRANSIENT_ERRORS BIGINT not null," "COUNT_NAMEINFO_PERMANENT_ERRORS BIGINT not null," "COUNT_FORMAT_ERRORS BIGINT not null," "COUNT_ADDRINFO_TRANSIENT_ERRORS BIGINT not null," "COUNT_ADDRINFO_PERMANENT_ERRORS BIGINT not null," "COUNT_FCRDNS_ERRORS BIGINT not null," "COUNT_HOST_ACL_ERRORS BIGINT not null," "COUNT_NO_AUTH_PLUGIN_ERRORS BIGINT not null," "COUNT_AUTH_PLUGIN_ERRORS BIGINT not null," "COUNT_HANDSHAKE_ERRORS BIGINT not null," "COUNT_PROXY_USER_ERRORS BIGINT not null," "COUNT_PROXY_USER_ACL_ERRORS BIGINT not null," "COUNT_AUTHENTICATION_ERRORS BIGINT not null," "COUNT_SSL_ERRORS BIGINT not null," "COUNT_MAX_USER_CONNECTIONS_ERRORS BIGINT not null," "COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS BIGINT not null," "COUNT_DEFAULT_DATABASE_ERRORS BIGINT not null," "COUNT_INIT_CONNECT_ERRORS BIGINT not null," "COUNT_LOCAL_ERRORS BIGINT not null," "COUNT_UNKNOWN_ERRORS BIGINT not null," "FIRST_SEEN TIMESTAMP(0) NOT NULL default 0," "LAST_SEEN TIMESTAMP(0) NOT NULL default 0," "FIRST_ERROR_SEEN TIMESTAMP(0) null default 0," "LAST_ERROR_SEEN TIMESTAMP(0) null default 0" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.mutex_instances(" "NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "LOCKED_BY_THREAD_ID BIGINT unsigned" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.objects_summary_global_by_type(" "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.performance_timers(" "TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null," "TIMER_FREQUENCY BIGINT," "TIMER_RESOLUTION BIGINT," "TIMER_OVERHEAD BIGINT" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.rwlock_instances(" "NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "WRITE_LOCKED_BY_THREAD_ID BIGINT unsigned," "READ_LOCKED_BY_COUNT INTEGER unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.setup_actors(" "HOST CHAR(60) collate utf8_bin default '%' not null," "USER CHAR(32) collate utf8_bin default '%' not null," "ROLE CHAR(16) collate utf8_bin default '%' not null," "ENABLED ENUM ('YES', 'NO') not null default 'YES'," "HISTORY ENUM ('YES', 'NO') not null default 'YES'" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.setup_consumers(" "NAME VARCHAR(64) not null," "ENABLED ENUM ('YES', 'NO') not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.setup_instruments(" "NAME VARCHAR(128) not null," "ENABLED ENUM ('YES', 'NO') not null," "TIMED ENUM ('YES', 'NO') not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.setup_objects(" "OBJECT_TYPE ENUM ('EVENT', 'FUNCTION', 'PROCEDURE', 'TABLE', 'TRIGGER') not null default 'TABLE'," "OBJECT_SCHEMA VARCHAR(64) default '%'," "OBJECT_NAME VARCHAR(64) not null default '%'," "ENABLED ENUM ('YES', 'NO') not null default 'YES'," "TIMED ENUM ('YES', 'NO') not null default 'YES'" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.setup_timers(" "NAME VARCHAR(64) not null," "TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.table_io_waits_summary_by_index_usage(" "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "INDEX_NAME VARCHAR(64)," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "COUNT_FETCH BIGINT unsigned not null," "SUM_TIMER_FETCH BIGINT unsigned not null," "MIN_TIMER_FETCH BIGINT unsigned not null," "AVG_TIMER_FETCH BIGINT unsigned not null," "MAX_TIMER_FETCH BIGINT unsigned not null," "COUNT_INSERT BIGINT unsigned not null," "SUM_TIMER_INSERT BIGINT unsigned not null," "MIN_TIMER_INSERT BIGINT unsigned not null," "AVG_TIMER_INSERT BIGINT unsigned not null," "MAX_TIMER_INSERT BIGINT unsigned not null," "COUNT_UPDATE BIGINT unsigned not null," "SUM_TIMER_UPDATE BIGINT unsigned not null," "MIN_TIMER_UPDATE BIGINT unsigned not null," "AVG_TIMER_UPDATE BIGINT unsigned not null," "MAX_TIMER_UPDATE BIGINT unsigned not null," "COUNT_DELETE BIGINT unsigned not null," "SUM_TIMER_DELETE BIGINT unsigned not null," "MIN_TIMER_DELETE BIGINT unsigned not null," "AVG_TIMER_DELETE BIGINT unsigned not null," "MAX_TIMER_DELETE BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.table_io_waits_summary_by_table(" "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "COUNT_FETCH BIGINT unsigned not null," "SUM_TIMER_FETCH BIGINT unsigned not null," "MIN_TIMER_FETCH BIGINT unsigned not null," "AVG_TIMER_FETCH BIGINT unsigned not null," "MAX_TIMER_FETCH BIGINT unsigned not null," "COUNT_INSERT BIGINT unsigned not null," "SUM_TIMER_INSERT BIGINT unsigned not null," "MIN_TIMER_INSERT BIGINT unsigned not null," "AVG_TIMER_INSERT BIGINT unsigned not null," "MAX_TIMER_INSERT BIGINT unsigned not null," "COUNT_UPDATE BIGINT unsigned not null," "SUM_TIMER_UPDATE BIGINT unsigned not null," "MIN_TIMER_UPDATE BIGINT unsigned not null," "AVG_TIMER_UPDATE BIGINT unsigned not null," "MAX_TIMER_UPDATE BIGINT unsigned not null," "COUNT_DELETE BIGINT unsigned not null," "SUM_TIMER_DELETE BIGINT unsigned not null," "MIN_TIMER_DELETE BIGINT unsigned not null," "AVG_TIMER_DELETE BIGINT unsigned not null," "MAX_TIMER_DELETE BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.table_lock_waits_summary_by_table(" "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ BIGINT unsigned not null," "SUM_TIMER_READ BIGINT unsigned not null," "MIN_TIMER_READ BIGINT unsigned not null," "AVG_TIMER_READ BIGINT unsigned not null," "MAX_TIMER_READ BIGINT unsigned not null," "COUNT_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE BIGINT unsigned not null," "COUNT_READ_NORMAL BIGINT unsigned not null," "SUM_TIMER_READ_NORMAL BIGINT unsigned not null," "MIN_TIMER_READ_NORMAL BIGINT unsigned not null," "AVG_TIMER_READ_NORMAL BIGINT unsigned not null," "MAX_TIMER_READ_NORMAL BIGINT unsigned not null," "COUNT_READ_WITH_SHARED_LOCKS BIGINT unsigned not null," "SUM_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null," "MIN_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null," "AVG_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null," "MAX_TIMER_READ_WITH_SHARED_LOCKS BIGINT unsigned not null," "COUNT_READ_HIGH_PRIORITY BIGINT unsigned not null," "SUM_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null," "MIN_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null," "AVG_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null," "MAX_TIMER_READ_HIGH_PRIORITY BIGINT unsigned not null," "COUNT_READ_NO_INSERT BIGINT unsigned not null," "SUM_TIMER_READ_NO_INSERT BIGINT unsigned not null," "MIN_TIMER_READ_NO_INSERT BIGINT unsigned not null," "AVG_TIMER_READ_NO_INSERT BIGINT unsigned not null," "MAX_TIMER_READ_NO_INSERT BIGINT unsigned not null," "COUNT_READ_EXTERNAL BIGINT unsigned not null," "SUM_TIMER_READ_EXTERNAL BIGINT unsigned not null," "MIN_TIMER_READ_EXTERNAL BIGINT unsigned not null," "AVG_TIMER_READ_EXTERNAL BIGINT unsigned not null," "MAX_TIMER_READ_EXTERNAL BIGINT unsigned not null," "COUNT_WRITE_ALLOW_WRITE BIGINT unsigned not null," "SUM_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null," "MIN_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null," "AVG_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null," "MAX_TIMER_WRITE_ALLOW_WRITE BIGINT unsigned not null," "COUNT_WRITE_CONCURRENT_INSERT BIGINT unsigned not null," "SUM_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null," "MIN_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null," "AVG_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null," "MAX_TIMER_WRITE_CONCURRENT_INSERT BIGINT unsigned not null," "COUNT_WRITE_LOW_PRIORITY BIGINT unsigned not null," "SUM_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null," "MIN_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null," "AVG_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null," "MAX_TIMER_WRITE_LOW_PRIORITY BIGINT unsigned not null," "COUNT_WRITE_NORMAL BIGINT unsigned not null," "SUM_TIMER_WRITE_NORMAL BIGINT unsigned not null," "MIN_TIMER_WRITE_NORMAL BIGINT unsigned not null," "AVG_TIMER_WRITE_NORMAL BIGINT unsigned not null," "MAX_TIMER_WRITE_NORMAL BIGINT unsigned not null," "COUNT_WRITE_EXTERNAL BIGINT unsigned not null," "SUM_TIMER_WRITE_EXTERNAL BIGINT unsigned not null," "MIN_TIMER_WRITE_EXTERNAL BIGINT unsigned not null," "AVG_TIMER_WRITE_EXTERNAL BIGINT unsigned not null," "MAX_TIMER_WRITE_EXTERNAL BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.threads(" "THREAD_ID BIGINT unsigned not null," "NAME VARCHAR(128) not null," "TYPE VARCHAR(10) not null," "PROCESSLIST_ID BIGINT unsigned," "PROCESSLIST_USER VARCHAR(32)," "PROCESSLIST_HOST VARCHAR(60)," "PROCESSLIST_DB VARCHAR(64)," "PROCESSLIST_COMMAND VARCHAR(16)," "PROCESSLIST_TIME BIGINT," "PROCESSLIST_STATE VARCHAR(64)," "PROCESSLIST_INFO LONGTEXT," "PARENT_THREAD_ID BIGINT unsigned," "ROLE VARCHAR(64)," "INSTRUMENTED ENUM ('YES', 'NO') not null," "HISTORY ENUM ('YES', 'NO') not null," "CONNECTION_TYPE VARCHAR(16)," "THREAD_OS_ID BIGINT unsigned" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_current(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "WORK_COMPLETED BIGINT unsigned," "WORK_ESTIMATED BIGINT unsigned," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_history(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "WORK_COMPLETED BIGINT unsigned," "WORK_ESTIMATED BIGINT unsigned," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_history_long(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "WORK_COMPLETED BIGINT unsigned," "WORK_ESTIMATED BIGINT unsigned," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_thread_by_event_name(" "THREAD_ID BIGINT unsigned not null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_host_by_event_name(" "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_user_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_summary_by_account_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_stages_summary_global_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_current(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "LOCK_TIME bigint unsigned not null," "SQL_TEXT LONGTEXT," "DIGEST VARCHAR(32)," "DIGEST_TEXT LONGTEXT," "CURRENT_SCHEMA VARCHAR(64)," "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned," "MYSQL_ERRNO INTEGER," "RETURNED_SQLSTATE VARCHAR(5)," "MESSAGE_TEXT VARCHAR(128)," "ERRORS BIGINT unsigned not null," "WARNINGS BIGINT unsigned not null," "ROWS_AFFECTED BIGINT unsigned not null," "ROWS_SENT BIGINT unsigned not null," "ROWS_EXAMINED BIGINT unsigned not null," "CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "CREATED_TMP_TABLES BIGINT unsigned not null," "SELECT_FULL_JOIN BIGINT unsigned not null," "SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SELECT_RANGE BIGINT unsigned not null," "SELECT_RANGE_CHECK BIGINT unsigned not null," "SELECT_SCAN BIGINT unsigned not null," "SORT_MERGE_PASSES BIGINT unsigned not null," "SORT_RANGE BIGINT unsigned not null," "SORT_ROWS BIGINT unsigned not null," "SORT_SCAN BIGINT unsigned not null," "NO_INDEX_USED BIGINT unsigned not null," "NO_GOOD_INDEX_USED BIGINT unsigned not null," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')," "NESTING_EVENT_LEVEL INTEGER" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_history(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "LOCK_TIME bigint unsigned not null," "SQL_TEXT LONGTEXT," "DIGEST VARCHAR(32)," "DIGEST_TEXT LONGTEXT," "CURRENT_SCHEMA VARCHAR(64)," "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned," "MYSQL_ERRNO INTEGER," "RETURNED_SQLSTATE VARCHAR(5)," "MESSAGE_TEXT VARCHAR(128)," "ERRORS BIGINT unsigned not null," "WARNINGS BIGINT unsigned not null," "ROWS_AFFECTED BIGINT unsigned not null," "ROWS_SENT BIGINT unsigned not null," "ROWS_EXAMINED BIGINT unsigned not null," "CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "CREATED_TMP_TABLES BIGINT unsigned not null," "SELECT_FULL_JOIN BIGINT unsigned not null," "SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SELECT_RANGE BIGINT unsigned not null," "SELECT_RANGE_CHECK BIGINT unsigned not null," "SELECT_SCAN BIGINT unsigned not null," "SORT_MERGE_PASSES BIGINT unsigned not null," "SORT_RANGE BIGINT unsigned not null," "SORT_ROWS BIGINT unsigned not null," "SORT_SCAN BIGINT unsigned not null," "NO_INDEX_USED BIGINT unsigned not null," "NO_GOOD_INDEX_USED BIGINT unsigned not null," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')," "NESTING_EVENT_LEVEL INTEGER" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_history_long(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "LOCK_TIME bigint unsigned not null," "SQL_TEXT LONGTEXT," "DIGEST VARCHAR(32)," "DIGEST_TEXT LONGTEXT," "CURRENT_SCHEMA VARCHAR(64)," "OBJECT_TYPE VARCHAR(64)," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned," "MYSQL_ERRNO INTEGER," "RETURNED_SQLSTATE VARCHAR(5)," "MESSAGE_TEXT VARCHAR(128)," "ERRORS BIGINT unsigned not null," "WARNINGS BIGINT unsigned not null," "ROWS_AFFECTED BIGINT unsigned not null," "ROWS_SENT BIGINT unsigned not null," "ROWS_EXAMINED BIGINT unsigned not null," "CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "CREATED_TMP_TABLES BIGINT unsigned not null," "SELECT_FULL_JOIN BIGINT unsigned not null," "SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SELECT_RANGE BIGINT unsigned not null," "SELECT_RANGE_CHECK BIGINT unsigned not null," "SELECT_SCAN BIGINT unsigned not null," "SORT_MERGE_PASSES BIGINT unsigned not null," "SORT_RANGE BIGINT unsigned not null," "SORT_ROWS BIGINT unsigned not null," "SORT_SCAN BIGINT unsigned not null," "NO_INDEX_USED BIGINT unsigned not null," "NO_GOOD_INDEX_USED BIGINT unsigned not null," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')," "NESTING_EVENT_LEVEL INTEGER" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_thread_by_event_name(" "THREAD_ID BIGINT unsigned not null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "SUM_LOCK_TIME BIGINT unsigned not null," "SUM_ERRORS BIGINT unsigned not null," "SUM_WARNINGS BIGINT unsigned not null," "SUM_ROWS_AFFECTED BIGINT unsigned not null," "SUM_ROWS_SENT BIGINT unsigned not null," "SUM_ROWS_EXAMINED BIGINT unsigned not null," "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "SUM_CREATED_TMP_TABLES BIGINT unsigned not null," "SUM_SELECT_FULL_JOIN BIGINT unsigned not null," "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SUM_SELECT_RANGE BIGINT unsigned not null," "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null," "SUM_SELECT_SCAN BIGINT unsigned not null," "SUM_SORT_MERGE_PASSES BIGINT unsigned not null," "SUM_SORT_RANGE BIGINT unsigned not null," "SUM_SORT_ROWS BIGINT unsigned not null," "SUM_SORT_SCAN BIGINT unsigned not null," "SUM_NO_INDEX_USED BIGINT unsigned not null," "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_host_by_event_name(" "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "SUM_LOCK_TIME BIGINT unsigned not null," "SUM_ERRORS BIGINT unsigned not null," "SUM_WARNINGS BIGINT unsigned not null," "SUM_ROWS_AFFECTED BIGINT unsigned not null," "SUM_ROWS_SENT BIGINT unsigned not null," "SUM_ROWS_EXAMINED BIGINT unsigned not null," "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "SUM_CREATED_TMP_TABLES BIGINT unsigned not null," "SUM_SELECT_FULL_JOIN BIGINT unsigned not null," "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SUM_SELECT_RANGE BIGINT unsigned not null," "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null," "SUM_SELECT_SCAN BIGINT unsigned not null," "SUM_SORT_MERGE_PASSES BIGINT unsigned not null," "SUM_SORT_RANGE BIGINT unsigned not null," "SUM_SORT_ROWS BIGINT unsigned not null," "SUM_SORT_SCAN BIGINT unsigned not null," "SUM_NO_INDEX_USED BIGINT unsigned not null," "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_user_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "SUM_LOCK_TIME BIGINT unsigned not null," "SUM_ERRORS BIGINT unsigned not null," "SUM_WARNINGS BIGINT unsigned not null," "SUM_ROWS_AFFECTED BIGINT unsigned not null," "SUM_ROWS_SENT BIGINT unsigned not null," "SUM_ROWS_EXAMINED BIGINT unsigned not null," "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "SUM_CREATED_TMP_TABLES BIGINT unsigned not null," "SUM_SELECT_FULL_JOIN BIGINT unsigned not null," "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SUM_SELECT_RANGE BIGINT unsigned not null," "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null," "SUM_SELECT_SCAN BIGINT unsigned not null," "SUM_SORT_MERGE_PASSES BIGINT unsigned not null," "SUM_SORT_RANGE BIGINT unsigned not null," "SUM_SORT_ROWS BIGINT unsigned not null," "SUM_SORT_SCAN BIGINT unsigned not null," "SUM_NO_INDEX_USED BIGINT unsigned not null," "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_account_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "SUM_LOCK_TIME BIGINT unsigned not null," "SUM_ERRORS BIGINT unsigned not null," "SUM_WARNINGS BIGINT unsigned not null," "SUM_ROWS_AFFECTED BIGINT unsigned not null," "SUM_ROWS_SENT BIGINT unsigned not null," "SUM_ROWS_EXAMINED BIGINT unsigned not null," "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "SUM_CREATED_TMP_TABLES BIGINT unsigned not null," "SUM_SELECT_FULL_JOIN BIGINT unsigned not null," "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SUM_SELECT_RANGE BIGINT unsigned not null," "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null," "SUM_SELECT_SCAN BIGINT unsigned not null," "SUM_SORT_MERGE_PASSES BIGINT unsigned not null," "SUM_SORT_RANGE BIGINT unsigned not null," "SUM_SORT_ROWS BIGINT unsigned not null," "SUM_SORT_SCAN BIGINT unsigned not null," "SUM_NO_INDEX_USED BIGINT unsigned not null," "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_global_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "SUM_LOCK_TIME BIGINT unsigned not null," "SUM_ERRORS BIGINT unsigned not null," "SUM_WARNINGS BIGINT unsigned not null," "SUM_ROWS_AFFECTED BIGINT unsigned not null," "SUM_ROWS_SENT BIGINT unsigned not null," "SUM_ROWS_EXAMINED BIGINT unsigned not null," "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "SUM_CREATED_TMP_TABLES BIGINT unsigned not null," "SUM_SELECT_FULL_JOIN BIGINT unsigned not null," "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SUM_SELECT_RANGE BIGINT unsigned not null," "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null," "SUM_SELECT_SCAN BIGINT unsigned not null," "SUM_SORT_MERGE_PASSES BIGINT unsigned not null," "SUM_SORT_RANGE BIGINT unsigned not null," "SUM_SORT_ROWS BIGINT unsigned not null," "SUM_SORT_SCAN BIGINT unsigned not null," "SUM_NO_INDEX_USED BIGINT unsigned not null," "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_current(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "STATE ENUM('ACTIVE', 'COMMITTED', 'ROLLED BACK')," "TRX_ID BIGINT unsigned," "GTID VARCHAR(64)," "XID_FORMAT_ID INTEGER," "XID_GTRID VARCHAR(130)," "XID_BQUAL VARCHAR(130)," "XA_STATE VARCHAR(64)," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "ACCESS_MODE ENUM('READ ONLY', 'READ WRITE')," "ISOLATION_LEVEL VARCHAR(64)," "AUTOCOMMIT ENUM('YES','NO') not null," "NUMBER_OF_SAVEPOINTS BIGINT unsigned," "NUMBER_OF_ROLLBACK_TO_SAVEPOINT BIGINT unsigned," "NUMBER_OF_RELEASE_SAVEPOINT BIGINT unsigned," "OBJECT_INSTANCE_BEGIN BIGINT unsigned," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_history(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "STATE ENUM('ACTIVE', 'COMMITTED', 'ROLLED BACK')," "TRX_ID BIGINT unsigned," "GTID VARCHAR(64)," "XID_FORMAT_ID INTEGER," "XID_GTRID VARCHAR(130)," "XID_BQUAL VARCHAR(130)," "XA_STATE VARCHAR(64)," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "ACCESS_MODE ENUM('READ ONLY', 'READ WRITE')," "ISOLATION_LEVEL VARCHAR(64)," "AUTOCOMMIT ENUM('YES','NO') not null," "NUMBER_OF_SAVEPOINTS BIGINT unsigned," "NUMBER_OF_ROLLBACK_TO_SAVEPOINT BIGINT unsigned," "NUMBER_OF_RELEASE_SAVEPOINT BIGINT unsigned," "OBJECT_INSTANCE_BEGIN BIGINT unsigned," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_history_long(" "THREAD_ID BIGINT unsigned not null," "EVENT_ID BIGINT unsigned not null," "END_EVENT_ID BIGINT unsigned," "EVENT_NAME VARCHAR(128) not null," "STATE ENUM('ACTIVE', 'COMMITTED', 'ROLLED BACK')," "TRX_ID BIGINT unsigned," "GTID VARCHAR(64)," "XID_FORMAT_ID INTEGER," "XID_GTRID VARCHAR(130)," "XID_BQUAL VARCHAR(130)," "XA_STATE VARCHAR(64)," "SOURCE VARCHAR(64)," "TIMER_START BIGINT unsigned," "TIMER_END BIGINT unsigned," "TIMER_WAIT BIGINT unsigned," "ACCESS_MODE ENUM('READ ONLY', 'READ WRITE')," "ISOLATION_LEVEL VARCHAR(64)," "AUTOCOMMIT ENUM('YES','NO') not null," "NUMBER_OF_SAVEPOINTS BIGINT unsigned," "NUMBER_OF_ROLLBACK_TO_SAVEPOINT BIGINT unsigned," "NUMBER_OF_RELEASE_SAVEPOINT BIGINT unsigned," "OBJECT_INSTANCE_BEGIN BIGINT unsigned," "NESTING_EVENT_ID BIGINT unsigned," "NESTING_EVENT_TYPE ENUM('TRANSACTION', 'STATEMENT', 'STAGE', 'WAIT')" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_summary_by_thread_by_event_name(" "THREAD_ID BIGINT unsigned not null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ_WRITE BIGINT unsigned not null," "SUM_TIMER_READ_WRITE BIGINT unsigned not null," "MIN_TIMER_READ_WRITE BIGINT unsigned not null," "AVG_TIMER_READ_WRITE BIGINT unsigned not null," "MAX_TIMER_READ_WRITE BIGINT unsigned not null," "COUNT_READ_ONLY BIGINT unsigned not null," "SUM_TIMER_READ_ONLY BIGINT unsigned not null," "MIN_TIMER_READ_ONLY BIGINT unsigned not null," "AVG_TIMER_READ_ONLY BIGINT unsigned not null," "MAX_TIMER_READ_ONLY BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_summary_by_host_by_event_name(" "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ_WRITE BIGINT unsigned not null," "SUM_TIMER_READ_WRITE BIGINT unsigned not null," "MIN_TIMER_READ_WRITE BIGINT unsigned not null," "AVG_TIMER_READ_WRITE BIGINT unsigned not null," "MAX_TIMER_READ_WRITE BIGINT unsigned not null," "COUNT_READ_ONLY BIGINT unsigned not null," "SUM_TIMER_READ_ONLY BIGINT unsigned not null," "MIN_TIMER_READ_ONLY BIGINT unsigned not null," "AVG_TIMER_READ_ONLY BIGINT unsigned not null," "MAX_TIMER_READ_ONLY BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_summary_by_user_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ_WRITE BIGINT unsigned not null," "SUM_TIMER_READ_WRITE BIGINT unsigned not null," "MIN_TIMER_READ_WRITE BIGINT unsigned not null," "AVG_TIMER_READ_WRITE BIGINT unsigned not null," "MAX_TIMER_READ_WRITE BIGINT unsigned not null," "COUNT_READ_ONLY BIGINT unsigned not null," "SUM_TIMER_READ_ONLY BIGINT unsigned not null," "MIN_TIMER_READ_ONLY BIGINT unsigned not null," "AVG_TIMER_READ_ONLY BIGINT unsigned not null," "MAX_TIMER_READ_ONLY BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_summary_by_account_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ_WRITE BIGINT unsigned not null," "SUM_TIMER_READ_WRITE BIGINT unsigned not null," "MIN_TIMER_READ_WRITE BIGINT unsigned not null," "AVG_TIMER_READ_WRITE BIGINT unsigned not null," "MAX_TIMER_READ_WRITE BIGINT unsigned not null," "COUNT_READ_ONLY BIGINT unsigned not null," "SUM_TIMER_READ_ONLY BIGINT unsigned not null," "MIN_TIMER_READ_ONLY BIGINT unsigned not null," "AVG_TIMER_READ_ONLY BIGINT unsigned not null," "MAX_TIMER_READ_ONLY BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_transactions_summary_global_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "COUNT_READ_WRITE BIGINT unsigned not null," "SUM_TIMER_READ_WRITE BIGINT unsigned not null," "MIN_TIMER_READ_WRITE BIGINT unsigned not null," "AVG_TIMER_READ_WRITE BIGINT unsigned not null," "MAX_TIMER_READ_WRITE BIGINT unsigned not null," "COUNT_READ_ONLY BIGINT unsigned not null," "SUM_TIMER_READ_ONLY BIGINT unsigned not null," "MIN_TIMER_READ_ONLY BIGINT unsigned not null," "AVG_TIMER_READ_ONLY BIGINT unsigned not null," "MAX_TIMER_READ_ONLY BIGINT unsigned not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.hosts(" "HOST CHAR(60) collate utf8_bin default null," "CURRENT_CONNECTIONS bigint not null," "TOTAL_CONNECTIONS bigint not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.users(" "USER CHAR(32) collate utf8_bin default null," "CURRENT_CONNECTIONS bigint not null," "TOTAL_CONNECTIONS bigint not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.accounts(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "CURRENT_CONNECTIONS bigint not null," "TOTAL_CONNECTIONS bigint not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.memory_summary_global_by_event_name(" "EVENT_NAME VARCHAR(128) not null," "COUNT_ALLOC BIGINT unsigned not null," "COUNT_FREE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_ALLOC BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_FREE BIGINT unsigned not null," "LOW_COUNT_USED BIGINT not null," "CURRENT_COUNT_USED BIGINT not null," "HIGH_COUNT_USED BIGINT not null," "LOW_NUMBER_OF_BYTES_USED BIGINT not null," "CURRENT_NUMBER_OF_BYTES_USED BIGINT not null," "HIGH_NUMBER_OF_BYTES_USED BIGINT not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.memory_summary_by_thread_by_event_name(" "THREAD_ID BIGINT unsigned not null," "EVENT_NAME VARCHAR(128) not null," "COUNT_ALLOC BIGINT unsigned not null," "COUNT_FREE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_ALLOC BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_FREE BIGINT unsigned not null," "LOW_COUNT_USED BIGINT not null," "CURRENT_COUNT_USED BIGINT not null," "HIGH_COUNT_USED BIGINT not null," "LOW_NUMBER_OF_BYTES_USED BIGINT not null," "CURRENT_NUMBER_OF_BYTES_USED BIGINT not null," "HIGH_NUMBER_OF_BYTES_USED BIGINT not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.memory_summary_by_account_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_ALLOC BIGINT unsigned not null," "COUNT_FREE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_ALLOC BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_FREE BIGINT unsigned not null," "LOW_COUNT_USED BIGINT not null," "CURRENT_COUNT_USED BIGINT not null," "HIGH_COUNT_USED BIGINT not null," "LOW_NUMBER_OF_BYTES_USED BIGINT not null," "CURRENT_NUMBER_OF_BYTES_USED BIGINT not null," "HIGH_NUMBER_OF_BYTES_USED BIGINT not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.memory_summary_by_host_by_event_name(" "HOST CHAR(60) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_ALLOC BIGINT unsigned not null," "COUNT_FREE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_ALLOC BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_FREE BIGINT unsigned not null," "LOW_COUNT_USED BIGINT not null," "CURRENT_COUNT_USED BIGINT not null," "HIGH_COUNT_USED BIGINT not null," "LOW_NUMBER_OF_BYTES_USED BIGINT not null," "CURRENT_NUMBER_OF_BYTES_USED BIGINT not null," "HIGH_NUMBER_OF_BYTES_USED BIGINT not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.memory_summary_by_user_by_event_name(" "USER CHAR(32) collate utf8_bin default null," "EVENT_NAME VARCHAR(128) not null," "COUNT_ALLOC BIGINT unsigned not null," "COUNT_FREE BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_ALLOC BIGINT unsigned not null," "SUM_NUMBER_OF_BYTES_FREE BIGINT unsigned not null," "LOW_COUNT_USED BIGINT not null," "CURRENT_COUNT_USED BIGINT not null," "HIGH_COUNT_USED BIGINT not null," "LOW_NUMBER_OF_BYTES_USED BIGINT not null," "CURRENT_NUMBER_OF_BYTES_USED BIGINT not null," "HIGH_NUMBER_OF_BYTES_USED BIGINT not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_digest(" "SCHEMA_NAME VARCHAR(64)," "DIGEST VARCHAR(32)," "DIGEST_TEXT LONGTEXT," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," "AVG_TIMER_WAIT BIGINT unsigned not null," "MAX_TIMER_WAIT BIGINT unsigned not null," "SUM_LOCK_TIME BIGINT unsigned not null," "SUM_ERRORS BIGINT unsigned not null," "SUM_WARNINGS BIGINT unsigned not null," "SUM_ROWS_AFFECTED BIGINT unsigned not null," "SUM_ROWS_SENT BIGINT unsigned not null," "SUM_ROWS_EXAMINED BIGINT unsigned not null," "SUM_CREATED_TMP_DISK_TABLES BIGINT unsigned not null," "SUM_CREATED_TMP_TABLES BIGINT unsigned not null," "SUM_SELECT_FULL_JOIN BIGINT unsigned not null," "SUM_SELECT_FULL_RANGE_JOIN BIGINT unsigned not null," "SUM_SELECT_RANGE BIGINT unsigned not null," "SUM_SELECT_RANGE_CHECK BIGINT unsigned not null," "SUM_SELECT_SCAN BIGINT unsigned not null," "SUM_SORT_MERGE_PASSES BIGINT unsigned not null," "SUM_SORT_RANGE BIGINT unsigned not null," "SUM_SORT_ROWS BIGINT unsigned not null," "SUM_SORT_SCAN BIGINT unsigned not null," "SUM_NO_INDEX_USED BIGINT unsigned not null," "SUM_NO_GOOD_INDEX_USED BIGINT unsigned not null," "FIRST_SEEN TIMESTAMP(0) NOT NULL default 0," "LAST_SEEN TIMESTAMP(0) NOT NULL default 0" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.events_statements_summary_by_program(" "OBJECT_TYPE enum('EVENT', 'FUNCTION', 'PROCEDURE', 'TABLE', 'TRIGGER')," "OBJECT_SCHEMA varchar(64) NOT NULL," "OBJECT_NAME varchar(64) NOT NULL," "COUNT_STAR bigint(20) unsigned NOT NULL," "SUM_TIMER_WAIT bigint(20) unsigned NOT NULL," "MIN_TIMER_WAIT bigint(20) unsigned NOT NULL," "AVG_TIMER_WAIT bigint(20) unsigned NOT NULL," "MAX_TIMER_WAIT bigint(20) unsigned NOT NULL," "COUNT_STATEMENTS bigint(20) unsigned NOT NULL," "SUM_STATEMENTS_WAIT bigint(20) unsigned NOT NULL," "MIN_STATEMENTS_WAIT bigint(20) unsigned NOT NULL," "AVG_STATEMENTS_WAIT bigint(20) unsigned NOT NULL," "MAX_STATEMENTS_WAIT bigint(20) unsigned NOT NULL," "SUM_LOCK_TIME bigint(20) unsigned NOT NULL," "SUM_ERRORS bigint(20) unsigned NOT NULL," "SUM_WARNINGS bigint(20) unsigned NOT NULL," "SUM_ROWS_AFFECTED bigint(20) unsigned NOT NULL," "SUM_ROWS_SENT bigint(20) unsigned NOT NULL," "SUM_ROWS_EXAMINED bigint(20) unsigned NOT NULL," "SUM_CREATED_TMP_DISK_TABLES bigint(20) unsigned NOT NULL," "SUM_CREATED_TMP_TABLES bigint(20) unsigned NOT NULL," "SUM_SELECT_FULL_JOIN bigint(20) unsigned NOT NULL," "SUM_SELECT_FULL_RANGE_JOIN bigint(20) unsigned NOT NULL," "SUM_SELECT_RANGE bigint(20) unsigned NOT NULL," "SUM_SELECT_RANGE_CHECK bigint(20) unsigned NOT NULL," "SUM_SELECT_SCAN bigint(20) unsigned NOT NULL," "SUM_SORT_MERGE_PASSES bigint(20) unsigned NOT NULL," "SUM_SORT_RANGE bigint(20) unsigned NOT NULL," "SUM_SORT_ROWS bigint(20) unsigned NOT NULL," "SUM_SORT_SCAN bigint(20) unsigned NOT NULL," "SUM_NO_INDEX_USED bigint(20) unsigned NOT NULL," "SUM_NO_GOOD_INDEX_USED bigint(20) unsigned NOT NULL" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.prepared_statements_instances(" "OBJECT_INSTANCE_BEGIN bigint(20) unsigned NOT NULL," "STATEMENT_ID bigint(20) unsigned NOT NULL," "STATEMENT_NAME varchar(64) default NULL," "SQL_TEXT longtext NOT NULL," "OWNER_THREAD_ID bigint(20) unsigned NOT NULL," "OWNER_EVENT_ID bigint(20) unsigned NOT NULL," "OWNER_OBJECT_TYPE enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') DEFAULT NULL," "OWNER_OBJECT_SCHEMA varchar(64) DEFAULT NULL," "OWNER_OBJECT_NAME varchar(64) DEFAULT NULL," "TIMER_PREPARE bigint(20) unsigned NOT NULL," "COUNT_REPREPARE bigint(20) unsigned NOT NULL," "COUNT_EXECUTE bigint(20) unsigned NOT NULL," "SUM_TIMER_EXECUTE bigint(20) unsigned NOT NULL," "MIN_TIMER_EXECUTE bigint(20) unsigned NOT NULL," "AVG_TIMER_EXECUTE bigint(20) unsigned NOT NULL," "MAX_TIMER_EXECUTE bigint(20) unsigned NOT NULL," "SUM_LOCK_TIME bigint(20) unsigned NOT NULL," "SUM_ERRORS bigint(20) unsigned NOT NULL," "SUM_WARNINGS bigint(20) unsigned NOT NULL," "SUM_ROWS_AFFECTED bigint(20) unsigned NOT NULL," "SUM_ROWS_SENT bigint(20) unsigned NOT NULL," "SUM_ROWS_EXAMINED bigint(20) unsigned NOT NULL," "SUM_CREATED_TMP_DISK_TABLES bigint(20) unsigned NOT NULL," "SUM_CREATED_TMP_TABLES bigint(20) unsigned NOT NULL," "SUM_SELECT_FULL_JOIN bigint(20) unsigned NOT NULL," "SUM_SELECT_FULL_RANGE_JOIN bigint(20) unsigned NOT NULL," "SUM_SELECT_RANGE bigint(20) unsigned NOT NULL," "SUM_SELECT_RANGE_CHECK bigint(20) unsigned NOT NULL," "SUM_SELECT_SCAN bigint(20) unsigned NOT NULL," "SUM_SORT_MERGE_PASSES bigint(20) unsigned NOT NULL," "SUM_SORT_RANGE bigint(20) unsigned NOT NULL," "SUM_SORT_ROWS bigint(20) unsigned NOT NULL," "SUM_SORT_SCAN bigint(20) unsigned NOT NULL," "SUM_NO_INDEX_USED bigint(20) unsigned NOT NULL," "SUM_NO_GOOD_INDEX_USED bigint(20) unsigned NOT NULL" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_connection_configuration(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "HOST CHAR(60) collate utf8_bin not null," "PORT INTEGER not null," "USER CHAR(32) collate utf8_bin not null," "NETWORK_INTERFACE CHAR(60) collate utf8_bin not null," "AUTO_POSITION ENUM('1','0') not null," "SSL_ALLOWED ENUM('YES','NO','IGNORED') not null," "SSL_CA_FILE VARCHAR(512) not null," "SSL_CA_PATH VARCHAR(512) not null," "SSL_CERTIFICATE VARCHAR(512) not null," "SSL_CIPHER VARCHAR(512) not null," "SSL_KEY VARCHAR(512) not null," "SSL_VERIFY_SERVER_CERTIFICATE ENUM('YES','NO') not null," "SSL_CRL_FILE VARCHAR(255) not null," "SSL_CRL_PATH VARCHAR(255) not null," "CONNECTION_RETRY_INTERVAL INTEGER not null," "CONNECTION_RETRY_COUNT BIGINT unsigned not null," "HEARTBEAT_INTERVAL DOUBLE(10,3) unsigned not null COMMENT 'Number of seconds after which a heartbeat will be sent .'," "TLS_VERSION VARCHAR(255) not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_group_member_stats(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "VIEW_ID CHAR(60) collate utf8_bin not null," "MEMBER_ID CHAR(36) collate utf8_bin not null," "COUNT_TRANSACTIONS_IN_QUEUE BIGINT unsigned not null," "COUNT_TRANSACTIONS_CHECKED BIGINT unsigned not null," "COUNT_CONFLICTS_DETECTED BIGINT unsigned not null," "COUNT_TRANSACTIONS_ROWS_VALIDATING BIGINT unsigned not null," "TRANSACTIONS_COMMITTED_ALL_MEMBERS LONGTEXT not null," "LAST_CONFLICT_FREE_TRANSACTION TEXT not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_group_members(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "MEMBER_ID CHAR(36) collate utf8_bin not null," "MEMBER_HOST CHAR(60) collate utf8_bin not null," "MEMBER_PORT INTEGER," "MEMBER_STATE CHAR(64) collate utf8_bin not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); SET @cmd="CREATE TABLE performance_schema.replication_connection_status(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "GROUP_NAME CHAR(36) collate utf8_bin not null," "SOURCE_UUID CHAR(36) collate utf8_bin not null," "THREAD_ID BIGINT unsigned," "SERVICE_STATE ENUM('ON','OFF','CONNECTING') not null," "COUNT_RECEIVED_HEARTBEATS bigint unsigned NOT NULL DEFAULT 0," "LAST_HEARTBEAT_TIMESTAMP TIMESTAMP(0) not null COMMENT 'Shows when the most recent heartbeat signal was received.'," "RECEIVED_TRANSACTION_SET LONGTEXT not null," "LAST_ERROR_NUMBER INTEGER not null," "LAST_ERROR_MESSAGE VARCHAR(1024) not null," "LAST_ERROR_TIMESTAMP TIMESTAMP(0) not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_applier_configuration(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "DESIRED_DELAY INTEGER not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_applier_status(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "SERVICE_STATE ENUM('ON','OFF') not null," "REMAINING_DELAY INTEGER unsigned," "COUNT_TRANSACTIONS_RETRIES BIGINT unsigned not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_applier_status_by_coordinator(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "THREAD_ID BIGINT UNSIGNED," "SERVICE_STATE ENUM('ON','OFF') not null," "LAST_ERROR_NUMBER INTEGER not null," "LAST_ERROR_MESSAGE VARCHAR(1024) not null," "LAST_ERROR_TIMESTAMP TIMESTAMP(0) not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.replication_applier_status_by_worker(" "CHANNEL_NAME CHAR(64) collate utf8_general_ci not null," "WORKER_ID BIGINT UNSIGNED not null," "THREAD_ID BIGINT UNSIGNED," "SERVICE_STATE ENUM('ON','OFF') not null," "LAST_SEEN_TRANSACTION CHAR(57) not null," "LAST_ERROR_NUMBER INTEGER not null," "LAST_ERROR_MESSAGE VARCHAR(1024) not null," "LAST_ERROR_TIMESTAMP TIMESTAMP(0) not null" ") ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.session_connect_attrs(" "PROCESSLIST_ID INT NOT NULL," "ATTR_NAME VARCHAR(32) NOT NULL," "ATTR_VALUE VARCHAR(1024)," "ORDINAL_POSITION INT" ")ENGINE=PERFORMANCE_SCHEMA CHARACTER SET utf8 COLLATE utf8_bin;"; SET @cmd="CREATE TABLE performance_schema.session_account_connect_attrs " " LIKE performance_schema.session_connect_attrs;"; SET @cmd="CREATE TABLE performance_schema.table_handles(" "OBJECT_TYPE VARCHAR(64) not null," "OBJECT_SCHEMA VARCHAR(64) not null," "OBJECT_NAME VARCHAR(64) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "OWNER_THREAD_ID BIGINT unsigned," "OWNER_EVENT_ID BIGINT unsigned," "INTERNAL_LOCK VARCHAR(64)," "EXTERNAL_LOCK VARCHAR(64)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.metadata_locks(" "OBJECT_TYPE VARCHAR(64) not null," "OBJECT_SCHEMA VARCHAR(64)," "OBJECT_NAME VARCHAR(64)," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," "LOCK_TYPE VARCHAR(32) not null," "LOCK_DURATION VARCHAR(32) not null," "LOCK_STATUS VARCHAR(32) not null," "SOURCE VARCHAR(64)," "OWNER_THREAD_ID BIGINT unsigned," "OWNER_EVENT_ID BIGINT unsigned" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.user_variables_by_thread(" "THREAD_ID BIGINT unsigned not null," "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE LONGBLOB" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.variables_by_thread(" "THREAD_ID BIGINT unsigned not null," "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.global_variables(" "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.session_variables(" "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.status_by_thread(" "THREAD_ID BIGINT unsigned not null," "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.status_by_user(" "USER CHAR(32) collate utf8_bin default null," "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.status_by_host(" "HOST CHAR(60) collate utf8_bin default null," "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.status_by_account(" "USER CHAR(32) collate utf8_bin default null," "HOST CHAR(60) collate utf8_bin default null," "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.global_status(" "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @cmd="CREATE TABLE performance_schema.session_status(" "VARIABLE_NAME VARCHAR(64) not null," "VARIABLE_VALUE VARCHAR(1024)" ")ENGINE=PERFORMANCE_SCHEMA;"; CREATE TABLE IF NOT EXISTS proxies_priv (Host char(60) binary DEFAULT '' NOT NULL, User char(32) binary DEFAULT '' NOT NULL, Proxied_host char(60) binary DEFAULT '' NOT NULL, Proxied_user char(32) binary DEFAULT '' NOT NULL, With_grant BOOL DEFAULT 0 NOT NULL, Grantor char(93) DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY Host (Host,User,Proxied_host,Proxied_user), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User proxy privileges'; set @had_proxies_priv_table= @@warning_count != 0; SELECT @have_ndbinfo:= COUNT(*) FROM information_schema.engines WHERE engine='NDBINFO' AND support IN ('YES', 'DEFAULT'); SET @str=IF(@have_ndbinfo,'SELECT @have_ndbinfo:= (@@ndbinfo_version >= (7 << 16) | (1 << 8)) || @ndbinfo_skip_version_check','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE DATABASE IF NOT EXISTS `ndbinfo`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'SET @@global.ndbinfo_offline=TRUE','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`blocks`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`dict_obj_types`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`config_params`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$dbtc_apiconnect_state`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$dblqh_tcconnect_state`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`transporters`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`logspaces`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`logbuffers`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`resources`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`counters`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`nodes`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`memoryusage`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`diskpagebuffer`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`threadblocks`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`threadstat`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`disk_write_speed_base`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`disk_write_speed_aggregate`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`restart_info`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`cluster_transactions`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`server_transactions`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`cluster_operations`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`server_operations`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`membership`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`arbitrator_validity_detail`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`arbitrator_validity_summary`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`memory_per_fragment`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`operations_per_fragment`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`blocks`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`dict_obj_types`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP VIEW IF EXISTS `ndbinfo`.`config_params`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$blocks`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$dict_obj_types`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$config_params`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$tables`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$tables` (`table_id` INT UNSIGNED,`table_name` VARCHAR(512),`comment` VARCHAR(512)) COMMENT="metadata for tables available through ndbinfo" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$columns`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$columns` (`table_id` INT UNSIGNED,`column_id` INT UNSIGNED,`column_name` VARCHAR(512),`column_type` INT UNSIGNED,`comment` VARCHAR(512)) COMMENT="metadata for columns available through ndbinfo " ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$test`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$test` (`node_id` INT UNSIGNED,`block_number` INT UNSIGNED,`block_instance` INT UNSIGNED,`counter` INT UNSIGNED,`counter2` BIGINT UNSIGNED) COMMENT="for testing" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$pools`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$pools` (`node_id` INT UNSIGNED,`block_number` INT UNSIGNED,`block_instance` INT UNSIGNED,`pool_name` VARCHAR(512),`used` BIGINT UNSIGNED COMMENT "currently in use",`total` BIGINT UNSIGNED COMMENT "total allocated",`high` BIGINT UNSIGNED COMMENT "in use high water mark",`entry_size` BIGINT UNSIGNED COMMENT "size in bytes of each object",`config_param1` INT UNSIGNED COMMENT "config param 1 affecting pool",`config_param2` INT UNSIGNED COMMENT "config param 2 affecting pool",`config_param3` INT UNSIGNED COMMENT "config param 3 affecting pool",`config_param4` INT UNSIGNED COMMENT "config param 4 affecting pool") COMMENT="pool usage" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$transporters`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$transporters` (`node_id` INT UNSIGNED COMMENT "Node id reporting",`remote_node_id` INT UNSIGNED COMMENT "Node id at other end of link",`connection_status` INT UNSIGNED COMMENT "State of inter-node link",`remote_address` VARCHAR(512) COMMENT "Address of remote node",`bytes_sent` BIGINT UNSIGNED COMMENT "Bytes sent to remote node",`bytes_received` BIGINT UNSIGNED COMMENT "Bytes received from remote node",`connect_count` INT UNSIGNED COMMENT "Number of times connected",`overloaded` INT UNSIGNED COMMENT "Is link reporting overload",`overload_count` INT UNSIGNED COMMENT "Number of overload onsets since connect",`slowdown` INT UNSIGNED COMMENT "Is link requesting slowdown",`slowdown_count` INT UNSIGNED COMMENT "Number of slowdown onsets since connect") COMMENT="transporter status" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$logspaces`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$logspaces` (`node_id` INT UNSIGNED,`log_type` INT UNSIGNED COMMENT "0 = REDO, 1 = DD-UNDO",`log_id` INT UNSIGNED,`log_part` INT UNSIGNED,`total` BIGINT UNSIGNED COMMENT "total allocated",`used` BIGINT UNSIGNED COMMENT "currently in use",`high` BIGINT UNSIGNED COMMENT "in use high water mark") COMMENT="logspace usage" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$logbuffers`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$logbuffers` (`node_id` INT UNSIGNED,`log_type` INT UNSIGNED COMMENT "0 = REDO, 1 = DD-UNDO",`log_id` INT UNSIGNED,`log_part` INT UNSIGNED,`total` BIGINT UNSIGNED COMMENT "total allocated",`used` BIGINT UNSIGNED COMMENT "currently in use",`high` BIGINT UNSIGNED COMMENT "in use high water mark") COMMENT="logbuffer usage" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$resources`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$resources` (`node_id` INT UNSIGNED,`resource_id` INT UNSIGNED,`reserved` INT UNSIGNED COMMENT "reserved for this resource",`used` INT UNSIGNED COMMENT "currently in use",`max` INT UNSIGNED COMMENT "max available",`high` INT UNSIGNED COMMENT "in use high water mark") COMMENT="resources usage (a.k.a superpool)" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$counters`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$counters` (`node_id` INT UNSIGNED,`block_number` INT UNSIGNED,`block_instance` INT UNSIGNED,`counter_id` INT UNSIGNED,`val` BIGINT UNSIGNED COMMENT "monotonically increasing since process start") COMMENT="monotonic counters" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$nodes`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$nodes` (`node_id` INT UNSIGNED,`uptime` BIGINT UNSIGNED COMMENT "time in seconds that node has been running",`status` INT UNSIGNED COMMENT "starting/started/stopped etc.",`start_phase` INT UNSIGNED COMMENT "start phase if node is starting",`config_generation` INT UNSIGNED COMMENT "configuration generation number") COMMENT="node status" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$diskpagebuffer`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$diskpagebuffer` (`node_id` INT UNSIGNED,`block_instance` INT UNSIGNED,`pages_written` BIGINT UNSIGNED COMMENT "Pages written to disk",`pages_written_lcp` BIGINT UNSIGNED COMMENT "Pages written by local checkpoint",`pages_read` BIGINT UNSIGNED COMMENT "Pages read from disk",`log_waits` BIGINT UNSIGNED COMMENT "Page writes waiting for log to be written to disk",`page_requests_direct_return` BIGINT UNSIGNED COMMENT "Page in buffer and no requests waiting for it",`page_requests_wait_queue` BIGINT UNSIGNED COMMENT "Page in buffer, but some requests are already waiting for it",`page_requests_wait_io` BIGINT UNSIGNED COMMENT "Page not in buffer, waiting to be read from disk") COMMENT="disk page buffer info" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$threadblocks`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$threadblocks` (`node_id` INT UNSIGNED COMMENT "node id",`thr_no` INT UNSIGNED COMMENT "thread number",`block_number` INT UNSIGNED COMMENT "block number",`block_instance` INT UNSIGNED COMMENT "block instance") COMMENT="which blocks are run in which threads" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$threadstat`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$threadstat` (`node_id` INT UNSIGNED COMMENT "node id",`thr_no` INT UNSIGNED COMMENT "thread number",`thr_nm` VARCHAR(512) COMMENT "thread name",`c_loop` BIGINT UNSIGNED COMMENT "No of loops in main loop",`c_exec` BIGINT UNSIGNED COMMENT "No of signals executed",`c_wait` BIGINT UNSIGNED COMMENT "No of times waited for more input",`c_l_sent_prioa` BIGINT UNSIGNED COMMENT "No of prio A signals sent to own node",`c_l_sent_priob` BIGINT UNSIGNED COMMENT "No of prio B signals sent to own node",`c_r_sent_prioa` BIGINT UNSIGNED COMMENT "No of prio A signals sent to remote node",`c_r_sent_priob` BIGINT UNSIGNED COMMENT "No of prio B signals sent to remote node",`os_tid` BIGINT UNSIGNED COMMENT "OS thread id",`os_now` BIGINT UNSIGNED COMMENT "OS gettimeofday (millis)",`os_ru_utime` BIGINT UNSIGNED COMMENT "OS user CPU time (micros)",`os_ru_stime` BIGINT UNSIGNED COMMENT "OS system CPU time (micros)",`os_ru_minflt` BIGINT UNSIGNED COMMENT "OS page reclaims (soft page faults",`os_ru_majflt` BIGINT UNSIGNED COMMENT "OS page faults (hard page faults)",`os_ru_nvcsw` BIGINT UNSIGNED COMMENT "OS voluntary context switches",`os_ru_nivcsw` BIGINT UNSIGNED COMMENT "OS involuntary context switches") COMMENT="Statistics on execution threads" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$disk_write_speed_base`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$disk_write_speed_base` (`node_id` INT UNSIGNED COMMENT "node id",`thr_no` INT UNSIGNED COMMENT "LDM thread instance",`millis_ago` BIGINT UNSIGNED COMMENT "Milliseconds ago since this period finished",`millis_passed` BIGINT UNSIGNED COMMENT "Milliseconds passed in the period reported", `backup_lcp_bytes_written` BIGINT UNSIGNED COMMENT "Bytes written by backup and LCP in the period",`redo_bytes_written` BIGINT UNSIGNED COMMENT "Bytes written to REDO log in the period",`target_disk_write_speed` BIGINT UNSIGNED COMMENT "Target disk write speed in bytes per second at the measurement point") COMMENT="Actual speed of disk writes per LDM thread, base data" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$disk_write_speed_aggregate`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$disk_write_speed_aggregate` (`node_id` INT UNSIGNED COMMENT "node id",`thr_no` INT UNSIGNED COMMENT "LDM thread instance",`backup_lcp_speed_last_sec` BIGINT UNSIGNED COMMENT "Number of bytes written by backup and LCP last second",`redo_speed_last_sec` BIGINT UNSIGNED COMMENT "Number of bytes written to REDO log last second",`backup_lcp_speed_last_10sec` BIGINT UNSIGNED COMMENT "Number of bytes written by backup and LCP per second last 10 seconds",`redo_speed_last_10sec` BIGINT UNSIGNED COMMENT "Number of bytes written to REDO log per second last 10 seconds",`std_dev_backup_lcp_speed_last_10sec` BIGINT UNSIGNED COMMENT "Standard deviation of Number of bytes written by backup and LCP per second last 10 seconds",`std_dev_redo_speed_last_10sec` BIGINT UNSIGNED COMMENT "Standard deviation of Number of bytes written to REDO log per second last 10 seconds",`backup_lcp_speed_last_60sec` BIGINT UNSIGNED COMMENT "Number of bytes written by backup and LCP per second last 60 seconds",`redo_speed_last_60sec` BIGINT UNSIGNED COMMENT "Number of bytes written to REDO log per second last 60 seconds",`std_dev_backup_lcp_speed_last_60sec` BIGINT UNSIGNED COMMENT "Standard deviation of Number of bytes written by backup and LCP per second last 60 seconds",`std_dev_redo_speed_last_60sec` BIGINT UNSIGNED COMMENT "Standard deviation of Number of bytes written to REDO log per second last 60 seconds",`slowdowns_due_to_io_lag` BIGINT UNSIGNED COMMENT "Number of seconds that we slowed down disk writes due to REDO log IO lagging",`slowdowns_due_to_high_cpu` BIGINT UNSIGNED COMMENT "Number of seconds we slowed down disk writes due to high CPU usage of LDM thread",`disk_write_speed_set_to_min` BIGINT UNSIGNED COMMENT "Number of seconds we set disk write speed to a minimum",`current_target_disk_write_speed` BIGINT UNSIGNED COMMENT "Current target of disk write speed in bytes per second") COMMENT="Actual speed of disk writes per LDM thread, aggregate data" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$restart_info`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$restart_info` (`node_id` INT UNSIGNED COMMENT "node id",`node_restart_status` VARCHAR(256) COMMENT "Current state of node recovery",`node_restart_status_int` INT UNSIGNED COMMENT "Current state of node recovery as number",`secs_to_complete_node_failure` INT UNSIGNED COMMENT "Seconds to complete node failure handling",`secs_to_allocate_node_id` INT UNSIGNED COMMENT "Seconds from node failure completion to allocation of node id", `secs_to_include_in_heartbeat_protocol` INT UNSIGNED COMMENT "Seonds from allocation of node id to inclusion in HB protocol",`secs_until_wait_for_ndbcntr_master` INT UNSIGNED COMMENT "Seconds from included in HB protocol until we wait for ndbcntr master",`secs_wait_for_ndbcntr_master` INT UNSIGNED COMMENT "Seconds we waited for being accepted by NDBCNTR master to start",`secs_to_get_start_permitted` INT UNSIGNED COMMENT "Seconds from permit by master until all nodes accepted our start",`secs_to_wait_for_lcp_for_copy_meta_data` INT UNSIGNED COMMENT "Seconds waiting for LCP completion before copying meta data",`secs_to_copy_meta_data` INT UNSIGNED COMMENT "Seconds to copy meta data to starting node from master",`secs_to_include_node` INT UNSIGNED COMMENT "Seconds to wait for GCP and inclusion of all nodes into protocols",`secs_starting_node_to_request_local_recovery` INT UNSIGNED COMMENT "Seconds for starting node to request local recovery",`secs_for_local_recovery` INT UNSIGNED COMMENT "Seconds for local recovery in starting node",`secs_restore_fragments` INT UNSIGNED COMMENT "Seconds to restore fragments from LCP files",`secs_undo_disk_data` INT UNSIGNED COMMENT "Seconds to execute UNDO log on disk data part of records",`secs_exec_redo_log` INT UNSIGNED COMMENT "Seconds to execute REDO log on all restored fragments",`secs_index_rebuild` INT UNSIGNED COMMENT "Seconds to rebuild indexes on restored fragments",`secs_to_synchronize_starting_node` INT UNSIGNED COMMENT "Seconds to synchronize starting node from live nodes",`secs_wait_lcp_for_restart` INT UNSIGNED COMMENT "Seconds to wait for LCP start and completion before restart is completed",`secs_wait_subscription_handover` INT UNSIGNED COMMENT "Seconds waiting for handover of replication subscriptions",`total_restart_secs` INT UNSIGNED COMMENT "Total number of seconds from node failure until node is started again") COMMENT="Times of restart phases in seconds and current state" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$transactions`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$transactions` (`node_id` INT UNSIGNED COMMENT "node id",`block_instance` INT UNSIGNED COMMENT "TC instance no",`objid` INT UNSIGNED COMMENT "Object id of transaction object",`apiref` INT UNSIGNED COMMENT "API reference",`transid0` INT UNSIGNED COMMENT "Transaction id",`transid1` INT UNSIGNED COMMENT "Transaction id",`state` INT UNSIGNED COMMENT "Transaction state",`flags` INT UNSIGNED COMMENT "Transaction flags",`c_ops` INT UNSIGNED COMMENT "No of operations in transaction",`outstanding` INT UNSIGNED COMMENT "Currently outstanding request",`timer` INT UNSIGNED COMMENT "Timer (seconds)") COMMENT="transactions" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$operations`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$operations` (`node_id` INT UNSIGNED COMMENT "node id",`block_instance` INT UNSIGNED COMMENT "LQH instance no",`objid` INT UNSIGNED COMMENT "Object id of operation object",`tcref` INT UNSIGNED COMMENT "TC reference",`apiref` INT UNSIGNED COMMENT "API reference",`transid0` INT UNSIGNED COMMENT "Transaction id",`transid1` INT UNSIGNED COMMENT "Transaction id",`tableid` INT UNSIGNED COMMENT "Table id",`fragmentid` INT UNSIGNED COMMENT "Fragment id",`op` INT UNSIGNED COMMENT "Operation type",`state` INT UNSIGNED COMMENT "Operation state",`flags` INT UNSIGNED COMMENT "Operation flags") COMMENT="operations" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$membership`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$membership` (`node_id` INT UNSIGNED COMMENT "node id",`group_id` INT UNSIGNED COMMENT "node group id",`left_node` INT UNSIGNED COMMENT "Left node in heart beat chain",`right_node` INT UNSIGNED COMMENT "Right node in heart beat chain",`president` INT UNSIGNED COMMENT "President nodeid",`successor` INT UNSIGNED COMMENT "President successor",`dynamic_id` INT UNSIGNED COMMENT "President, Configured_heartbeat order",`arbitrator` INT UNSIGNED COMMENT "Arbitrator nodeid",`arb_ticket` VARCHAR(512) COMMENT "Arbitrator ticket",`arb_state` INT UNSIGNED COMMENT "Arbitrator state",`arb_connected` INT UNSIGNED COMMENT "Arbitrator connected",`conn_rank1_arbs` VARCHAR(512) COMMENT "Connected rank 1 arbitrators",`conn_rank2_arbs` VARCHAR(512) COMMENT "Connected rank 2 arbitrators") COMMENT="membership" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$frag_mem_use`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$frag_mem_use` (`node_id` INT UNSIGNED COMMENT "node id",`block_instance` INT UNSIGNED COMMENT "LDM instance number",`table_id` INT UNSIGNED COMMENT "Table identity",`fragment_num` INT UNSIGNED COMMENT "Fragment number",`rows` BIGINT UNSIGNED COMMENT "Number of rows in table",`fixed_elem_alloc_bytes` BIGINT UNSIGNED COMMENT "Number of bytes allocated for fixed-sized elements",`fixed_elem_free_bytes` BIGINT UNSIGNED COMMENT "Free bytes in fixed-size element pages",`fixed_elem_count` BIGINT UNSIGNED COMMENT "Number of fixed size elements in use",`fixed_elem_size_bytes` INT UNSIGNED COMMENT "Length of each fixed sized element in bytes",`var_elem_alloc_bytes` BIGINT UNSIGNED COMMENT "Number of bytes allocated for var-size elements",`var_elem_free_bytes` BIGINT UNSIGNED COMMENT "Free bytes in var-size element pages",`var_elem_count` BIGINT UNSIGNED COMMENT "Number of var size elements in use",`tuple_l2pmap_alloc_bytes` BIGINT UNSIGNED COMMENT "Bytes in logical to physical page map for tuple store",`hash_index_l2pmap_alloc_bytes` BIGINT UNSIGNED COMMENT "Bytes in logical to physical page map for the hash index",`hash_index_alloc_bytes` BIGINT UNSIGNED COMMENT "Bytes in linear hash map") COMMENT="Per fragment space information" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$frag_operations`','SET @dummy = 0'); SET @cmd='CREATE TABLE ndbinfo.ndb$frag_operations ( node_id INT UNSIGNED COMMENT "node id", block_instance INT UNSIGNED COMMENT "LQH instance no", table_id INT UNSIGNED COMMENT "Table identity", fragment_num INT UNSIGNED COMMENT "Fragment number", tot_key_reads BIGINT UNSIGNED COMMENT "Total number of key reads received", tot_key_inserts BIGINT UNSIGNED COMMENT "Total number of key inserts received", tot_key_updates BIGINT UNSIGNED COMMENT "Total number of key updates received", tot_key_writes BIGINT UNSIGNED COMMENT "Total number of key writes received", tot_key_deletes BIGINT UNSIGNED COMMENT "Total number of key deletes received", tot_key_refs BIGINT UNSIGNED COMMENT "Total number of key operations refused by LDM", tot_key_attrinfo_bytes BIGINT UNSIGNED COMMENT "Total attrinfo bytes received for key operations", tot_key_keyinfo_bytes BIGINT UNSIGNED COMMENT "Total keyinfo bytes received for key operations", tot_key_prog_bytes BIGINT UNSIGNED COMMENT "Total bytes of filter programs for key operations", tot_key_inst_exec BIGINT UNSIGNED COMMENT "Total number of interpreter instructions executed for key operations", tot_key_bytes_returned BIGINT UNSIGNED COMMENT "Total number of bytes returned to client for key operations", tot_frag_scans BIGINT UNSIGNED COMMENT "Total number of fragment scans received", tot_scan_rows_examined BIGINT UNSIGNED COMMENT "Total number of rows examined by scans", tot_scan_rows_returned BIGINT UNSIGNED COMMENT "Total number or rows returned to client", tot_scan_bytes_returned BIGINT UNSIGNED COMMENT "Total number of bytes returned to client by scans", tot_scan_prog_bytes BIGINT UNSIGNED COMMENT "Total bytes of scan filter programs", tot_scan_bound_bytes BIGINT UNSIGNED COMMENT "Total bytes of scan bounds", tot_scan_inst_exec BIGINT UNSIGNED COMMENT "Total number of interpreter instructions executed for scans", tot_qd_frag_scans BIGINT UNSIGNED COMMENT "Total number of fragment scans queued before exec", conc_frag_scans INT UNSIGNED COMMENT "Number of frag scans currently running", conc_qd_plain_frag_scans INT UNSIGNED COMMENT "Number of tux frag scans currently queued", conc_qd_tup_frag_scans INT UNSIGNED COMMENT "Number of tup frag scans currently queued", conc_qd_acc_frag_scans INT UNSIGNED COMMENT "Number of acc frag scans currently queued", tot_commits BIGINT UNSIGNED COMMENT "Total number of committed row changes") COMMENT="Per fragment operational information" ENGINE=NDBINFO;'; SET @str=IF(@have_ndbinfo <> 0, @cmd, 'SET @dummy = 0;'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$blocks` (block_number INT UNSIGNED, block_name VARCHAR(512)) ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'DROP TABLE IF EXISTS `ndbinfo`.`ndb$dict_obj_info`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$dict_obj_info` (`type` INT UNSIGNED COMMENT "Type of dict object",`id` INT UNSIGNED COMMENT "Object identity",`version` INT UNSIGNED COMMENT "Object version",`state` INT UNSIGNED COMMENT "Object state",`parent_obj_type` INT UNSIGNED COMMENT "Parent object type",`parent_obj_id` INT UNSIGNED COMMENT "Parent object id",`fq_name` VARCHAR(512) COMMENT "Fully qualified object name") COMMENT="Dictionary object info" ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$dict_obj_types` (type_id INT UNSIGNED, type_name VARCHAR(512)) ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$config_params` (param_number INT UNSIGNED, param_name VARCHAR(512)) ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$dbtc_apiconnect_state` (state_int_value INT UNSIGNED, state_name VARCHAR(256), state_friendly_name VARCHAR(256), state_description VARCHAR(256)) ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE TABLE `ndbinfo`.`ndb$dblqh_tcconnect_state` (state_int_value INT UNSIGNED, state_name VARCHAR(256), state_friendly_name VARCHAR(256), state_description VARCHAR(256)) ENGINE=NDBINFO','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`transporters` AS SELECT node_id, remote_node_id, CASE connection_status WHEN 0 THEN "CONNECTED" WHEN 1 THEN "CONNECTING" WHEN 2 THEN "DISCONNECTED" WHEN 3 THEN "DISCONNECTING" ELSE NULL END AS status, remote_address, bytes_sent, bytes_received, connect_count, overloaded, overload_count, slowdown, slowdown_count FROM `ndbinfo`.`ndb$transporters`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`logspaces` AS SELECT node_id, CASE log_type WHEN 0 THEN "REDO" WHEN 1 THEN "DD-UNDO" ELSE NULL END AS log_type, log_id, log_part, total, used FROM `ndbinfo`.`ndb$logspaces`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`logbuffers` AS SELECT node_id, CASE log_type WHEN 0 THEN "REDO" WHEN 1 THEN "DD-UNDO" ELSE "" END AS log_type, log_id, log_part, total, used FROM `ndbinfo`.`ndb$logbuffers`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`resources` AS SELECT node_id, CASE resource_id WHEN 0 THEN "RESERVED" WHEN 1 THEN "DISK_OPERATIONS" WHEN 2 THEN "DISK_RECORDS" WHEN 3 THEN "DATA_MEMORY" WHEN 4 THEN "JOBBUFFER" WHEN 5 THEN "FILE_BUFFERS" WHEN 6 THEN "TRANSPORTER_BUFFERS" WHEN 7 THEN "DISK_PAGE_BUFFER" WHEN 8 THEN "QUERY_MEMORY" WHEN 9 THEN "SCHEMA_TRANS_MEMORY" ELSE "" END AS resource_name, reserved, used, max FROM `ndbinfo`.`ndb$resources`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`counters` AS SELECT node_id, b.block_name, block_instance, counter_id, CASE counter_id WHEN 1 THEN "ATTRINFO" WHEN 2 THEN "TRANSACTIONS" WHEN 3 THEN "COMMITS" WHEN 4 THEN "READS" WHEN 5 THEN "SIMPLE_READS" WHEN 6 THEN "WRITES" WHEN 7 THEN "ABORTS" WHEN 8 THEN "TABLE_SCANS" WHEN 9 THEN "RANGE_SCANS" WHEN 10 THEN "OPERATIONS" WHEN 11 THEN "READS_RECEIVED" WHEN 12 THEN "LOCAL_READS_SENT" WHEN 13 THEN "REMOTE_READS_SENT" WHEN 14 THEN "READS_NOT_FOUND" WHEN 15 THEN "TABLE_SCANS_RECEIVED" WHEN 16 THEN "LOCAL_TABLE_SCANS_SENT" WHEN 17 THEN "RANGE_SCANS_RECEIVED" WHEN 18 THEN "LOCAL_RANGE_SCANS_SENT" WHEN 19 THEN "REMOTE_RANGE_SCANS_SENT" WHEN 20 THEN "SCAN_BATCHES_RETURNED" WHEN 21 THEN "SCAN_ROWS_RETURNED" WHEN 22 THEN "PRUNED_RANGE_SCANS_RECEIVED" WHEN 23 THEN "CONST_PRUNED_RANGE_SCANS_RECEIVED" WHEN 24 THEN "LOCAL_READS" WHEN 25 THEN "LOCAL_WRITES" WHEN 26 THEN "LQHKEY_OVERLOAD" WHEN 27 THEN "LQHKEY_OVERLOAD_TC" WHEN 28 THEN "LQHKEY_OVERLOAD_READER" WHEN 29 THEN "LQHKEY_OVERLOAD_NODE_PEER" WHEN 30 THEN "LQHKEY_OVERLOAD_SUBSCRIBER" WHEN 31 THEN "LQHSCAN_SLOWDOWNS" ELSE "" END AS counter_name, val FROM `ndbinfo`.`ndb$counters` c LEFT JOIN `ndbinfo`.`ndb$blocks` b ON c.block_number = b.block_number','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`nodes` AS SELECT node_id, uptime, CASE status WHEN 0 THEN "NOTHING" WHEN 1 THEN "CMVMI" WHEN 2 THEN "STARTING" WHEN 3 THEN "STARTED" WHEN 4 THEN "SINGLEUSER" WHEN 5 THEN "STOPPING_1" WHEN 6 THEN "STOPPING_2" WHEN 7 THEN "STOPPING_3" WHEN 8 THEN "STOPPING_4" ELSE "" END AS status, start_phase, config_generation FROM `ndbinfo`.`ndb$nodes`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`memoryusage` AS SELECT node_id, pool_name AS memory_type, SUM(used*entry_size) AS used, SUM(used) AS used_pages, SUM(total*entry_size) AS total, SUM(total) AS total_pages FROM `ndbinfo`.`ndb$pools` WHERE (block_number IN (248, 254) AND (pool_name = "Index memory" OR pool_name = "Data memory")) OR pool_name = "Long message buffer" GROUP BY node_id, memory_type','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`diskpagebuffer` AS SELECT node_id, block_instance, pages_written, pages_written_lcp, pages_read, log_waits, page_requests_direct_return, page_requests_wait_queue, page_requests_wait_io FROM `ndbinfo`.`ndb$diskpagebuffer`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`threadblocks` AS SELECT t.node_id, t.thr_no, b.block_name, t.block_instance FROM `ndbinfo`.`ndb$threadblocks` t LEFT JOIN `ndbinfo`.`ndb$blocks` b ON t.block_number = b.block_number','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`threadstat` AS SELECT * from `ndbinfo`.`ndb$threadstat`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`disk_write_speed_base` AS SELECT * from `ndbinfo`.`ndb$disk_write_speed_base`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`disk_write_speed_aggregate` AS SELECT * from `ndbinfo`.`ndb$disk_write_speed_aggregate`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`disk_write_speed_aggregate_node` AS SELECT node_id,SUM(backup_lcp_speed_last_sec) AS backup_lcp_speed_last_sec,SUM(redo_speed_last_sec) AS redo_speed_last_sec,SUM(backup_lcp_speed_last_10sec) AS backup_lcp_speed_last_10sec,SUM(redo_speed_last_10sec) AS redo_speed_last_10sec,SUM(backup_lcp_speed_last_60sec) AS backup_lcp_speed_last_60sec,SUM(redo_speed_last_60sec) AS redo_speed_last_60sec from `ndbinfo`.`ndb$disk_write_speed_aggregate` GROUP by node_id','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`restart_info` AS SELECT * from `ndbinfo`.`ndb$restart_info`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`cluster_transactions` AS SELECT t.node_id, t.block_instance, t.transid0 + (t.transid1 << 32) as transid, s.state_friendly_name as state, t.c_ops as count_operations, t.outstanding as outstanding_operations, t.timer as inactive_seconds, (t.apiref & 65535) as client_node_id, (t.apiref >> 16) as client_block_ref FROM `ndbinfo`.`ndb$transactions` t LEFT JOIN `ndbinfo`.`ndb$dbtc_apiconnect_state` s ON s.state_int_value = t.state','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`server_transactions` AS SELECT map.mysql_connection_id, t.*FROM information_schema.ndb_transid_mysql_connection_map map JOIN `ndbinfo`.cluster_transactions t ON (map.ndb_transid >> 32) = (t.transid >> 32)','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`cluster_operations` AS SELECT o.node_id, o.block_instance, o.transid0 + (o.transid1 << 32) as transid, case o.op when 1 then "READ" when 2 then "READ-SH" when 3 then "READ-EX" when 4 then "INSERT" when 5 then "UPDATE" when 6 then "DELETE" when 7 then "WRITE" when 8 then "UNLOCK" when 9 then "REFRESH" when 257 then "SCAN" when 258 then "SCAN-SH" when 259 then "SCAN-EX" ELSE "" END as operation_type, s.state_friendly_name as state, o.tableid, o.fragmentid, (o.apiref & 65535) as client_node_id, (o.apiref >> 16) as client_block_ref, (o.tcref & 65535) as tc_node_id, ((o.tcref >> 16) & 511) as tc_block_no, ((o.tcref >> (16 + 9)) & 127) as tc_block_instance FROM `ndbinfo`.`ndb$operations` o LEFT JOIN `ndbinfo`.`ndb$dblqh_tcconnect_state` s ON s.state_int_value = o.state','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`server_operations` AS SELECT map.mysql_connection_id, o.* FROM `ndbinfo`.cluster_operations o JOIN information_schema.ndb_transid_mysql_connection_map map ON (map.ndb_transid >> 32) = (o.transid >> 32)','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`membership` AS SELECT node_id, group_id, left_node, right_node, president, successor, dynamic_id & 0xFFFF AS succession_order, dynamic_id >> 16 AS Conf_HB_order, arbitrator, arb_ticket, CASE arb_state WHEN 0 THEN "ARBIT_NULL" WHEN 1 THEN "ARBIT_INIT" WHEN 2 THEN "ARBIT_FIND" WHEN 3 THEN "ARBIT_PREP1" WHEN 4 THEN "ARBIT_PREP2" WHEN 5 THEN "ARBIT_START" WHEN 6 THEN "ARBIT_RUN" WHEN 7 THEN "ARBIT_CHOOSE" WHEN 8 THEN "ARBIT_CRASH" ELSE "UNKNOWN" END AS arb_state, CASE arb_connected WHEN 1 THEN "Yes" ELSE "No" END AS arb_connected, conn_rank1_arbs AS connected_rank1_arbs, conn_rank2_arbs AS connected_rank2_arbs FROM `ndbinfo`.`ndb$membership`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`arbitrator_validity_detail` AS SELECT node_id, arbitrator, arb_ticket, CASE arb_connected WHEN 1 THEN "Yes" ELSE "No" END AS arb_connected, CASE arb_state WHEN 0 THEN "ARBIT_NULL" WHEN 1 THEN "ARBIT_INIT" WHEN 2 THEN "ARBIT_FIND" WHEN 3 THEN "ARBIT_PREP1" WHEN 4 THEN "ARBIT_PREP2" WHEN 5 THEN "ARBIT_START" WHEN 6 THEN "ARBIT_RUN" WHEN 7 THEN "ARBIT_CHOOSE" WHEN 8 THEN "ARBIT_CRASH" ELSE "UNKNOWN" END AS arb_state FROM `ndbinfo`.`ndb$membership` ORDER BY arbitrator, arb_connected DESC','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`arbitrator_validity_summary` AS SELECT arbitrator, arb_ticket, CASE arb_connected WHEN 1 THEN "Yes" ELSE "No" END AS arb_connected, count(*) as consensus_count FROM `ndbinfo`.`ndb$membership` GROUP BY arbitrator, arb_ticket, arb_connected','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`memory_per_fragment` AS SELECT name.fq_name, parent_name.fq_name AS parent_fq_name, types.type_name AS type, table_id, node_id, block_instance, fragment_num, fixed_elem_alloc_bytes, fixed_elem_free_bytes, fixed_elem_size_bytes, fixed_elem_count, FLOOR(fixed_elem_free_bytes/fixed_elem_size_bytes) AS fixed_elem_free_count, var_elem_alloc_bytes, var_elem_free_bytes, var_elem_count, hash_index_alloc_bytes FROM ndbinfo.ndb$frag_mem_use AS space JOIN ndbinfo.ndb$dict_obj_info AS name ON name.id=space.table_id AND name.type<=6 JOIN ndbinfo.ndb$dict_obj_types AS types ON name.type=types.type_id LEFT JOIN ndbinfo.ndb$dict_obj_info AS parent_name ON name.parent_obj_id=parent_name.id AND name.parent_obj_type=parent_name.type','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'SET @@global.ndbinfo_offline=FALSE','SET @dummy = 0'); SET @cmd='CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`operations_per_fragment` AS SELECT name.fq_name, parent_name.fq_name AS parent_fq_name, types.type_name AS type, table_id, node_id, block_instance, fragment_num, tot_key_reads, tot_key_inserts, tot_key_updates, tot_key_writes, tot_key_deletes, tot_key_refs, tot_key_attrinfo_bytes, tot_key_keyinfo_bytes, tot_key_prog_bytes, tot_key_inst_exec, tot_key_bytes_returned, tot_frag_scans, tot_scan_rows_examined, tot_scan_rows_returned, tot_scan_bytes_returned, tot_scan_prog_bytes, tot_scan_bound_bytes, tot_scan_inst_exec, tot_qd_frag_scans, conc_frag_scans, conc_qd_plain_frag_scans+conc_qd_tup_frag_scans+conc_qd_acc_frag_scans AS conc_qd_frag_scans, tot_commits FROM ndbinfo.ndb$frag_operations AS ops JOIN ndbinfo.ndb$dict_obj_info AS name ON name.id=ops.table_id AND name.type<=6 JOIN ndbinfo.ndb$dict_obj_types AS types ON name.type=types.type_id LEFT JOIN ndbinfo.ndb$dict_obj_info AS parent_name ON name.parent_obj_id=parent_name.id AND name.parent_obj_type=parent_name.type'; SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`blocks` AS SELECT block_number, block_name FROM `ndbinfo`.`ndb$blocks`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`dict_obj_types` AS SELECT type_id, type_name FROM `ndbinfo`.`ndb$dict_obj_types`','SET @dummy = 0'); SET @str=IF(@have_ndbinfo,'CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `ndbinfo`.`config_params` AS SELECT param_number, param_name FROM `ndbinfo`.`ndb$config_params`','SET @dummy = 0'); 3Logqwertyuiopasdfghjklzxcvbnm,.-1234567890+*QWERTYUIOPASDFGHJKLZXCVBNM;:_!#%&/()=?><Y@N3Log8Log_buffEunknown errorUnknown error %dNoteWarning[%s] Wrong index given to functionUndefined handler error 125Index file is crashedRecord file is crashedOut of memory in engineUndefined handler error 129Incorrect file formatOld database fileNo record read before updateNo more room in record fileNo more room in index fileToo big rowWrong create optionsCannot add a child rowCannot delete a parent rowNo savepoint with that nameNon unique key block sizeTable is read onlyRecord is the sameRead page with wrong checksumIndex corruptedUndo record too bigInvalid InnoDB FTS Doc IDTablespace already existsToo many columnsRow in wrong partitionInnoDB is in read only modeTemporary file write failureTable corruptedQuery interruptedTablespace cannot be accessedTablespace is not emptyIncorrect file nameOperation is not allowedCompute generate value failedDidn't find key on read or updateDuplicate key on write or updateInternal (unspecified) error in handlerSomeone has changed the row since it was read (while the table was locked to prevent it)Command not supported by databaseRecord was already deleted (or record file crashed)No more records (read after end of file)Unsupported extension used for tableDuplicate unique key or constraint on write or updateUnknown character set used in tableConflicting table definitions in sub-tables of MERGE tableTable is crashed and last repair failedTable was marked as crashed and should be repairedLock timed out; Retry transactionLock table is full; Restart program with a larger locktableUpdates are not allowed under a read only transactionsLock deadlock; Retry transactionForeign key constraint is incorrectly formedThe table does not exist in engineThe table already existed in storage engineCould not connect to storage engineUnexpected null pointer found when using spatial indexThe table changed in storage engineThere's no partition in table for the given valueRow-based binlogging of row failedIndex needed in foreign key constraintUpholding foreign key constraints would lead to a duplicate key error in some other tableTable needs to be upgraded before it can be usedFailed to get next auto increment valueFailed to set row auto increment valueUnknown (generic) error from engineIt is not possible to log this statementThe event was corrupt, leading to illegal data being readThe table is of a new format not supported by this versionThe event could not be processed no other hanlder error happenedGot a fatal error during initialzaction of handlerFile to short; Expected more data in fileToo many active concurrent transactionsRecord not matching the given partition setIndex column length exceeds limitTable is being used in foreign key checkFTS query exceeds result cache memory limitOperation not allowed when innodb_forced_recovery > 0Too many words in a FTS phrase or proximity searchForeign key cascade delete/update exceeds max depthRequired Create option missingOut of memory in storage engineDestination schema does not exist01230120022455012623010202Retry in %d secs. Message reprinted in %d secsCan't create/write to file '%s' (Errcode: %d - %s)Error reading file '%s' (Errcode: %d - %s)Error writing file '%s' (Errcode: %d - %s)Error on close of '%s' (Errcode: %d - %s)Out of memory (Needed %u bytes)Error on delete of '%s' (Errcode: %d - %s)Error on rename of '%s' to '%s' (Errcode: %d - %s)Unexpected EOF found when reading file '%s' (Errcode: %d - %s)Can't lock file (Errcode: %d - %s)Can't unlock file (Errcode: %d - %s)Can't read dir of '%s' (Errcode: %d - %s)Can't get stat of '%s' (Errcode: %d - %s)Can't change size of file (Errcode: %d - %s)Can't open stream from handle (Errcode: %d - %s)Can't get working directory (Errcode: %d - %s)Can't change dir to '%s' (Errcode: %d - %s)Warning: %d files and %d streams is left open Disk is full writing '%s' (Errcode: %d - %s). Waiting for someone to free space...Can't create directory '%s' (Errcode: %d - %s)Character set '%s' is not a compiled character set and is not specified in the '%s' fileOut of resources when opening file '%s' (Errcode: %d - %s)Can't read value for symlink '%s' (Error %d - %s)Can't create symlink '%s' pointing at '%s' (Error %d - %s)Error on realpath() on '%s' (Error %d - %s)Can't sync file '%s' to disk (Errcode: %d - %s)Collation '%s' is not a compiled collation and is not specified in the '%s' fileFile '%s' not found (Errcode: %d - %s)File '%s' (fileno: %d) was not closedCan't change ownership of the file '%s' (Errcode: %d - %s)Can't change permissions of the file '%s' (Errcode: %d - %s)Can't seek in file '%s' (Errcode: %d - %s)Memory capacity exceeded (capacity %llu bytes)Can't create socket '%s' (Errcode: %d)File name '%s' is too long (max: %d)Warning: '%s' had %d linksUMASKUMASK_DIRmysysmax_allocacharset_filecharset_loaderlf_nodelf_dynarraylf_slistLISTIO_CACHEKEY_CACHESAFE_HASH_ENTRYMY_TMPDIR::full_listMY_BITMAP::bitmapmy_compress_allocpack_frmmy_err_headmy_file_infoMY_DIRMY_STATQUEUEDYNAMIC_STRINGTREEproc_meminfoIO_CACHE_SHARE::condIO_CACHE_SHARE::cond_writerTHR_COND_threadsSAFE_HASH::lockBITMAP::mutexIO_CACHE::append_buffer_lockIO_CACHE::SHARE_mutexKEY_CACHE::cache_lockTHR_LOCK_charsetTHR_LOCK_heapTHR_LOCK_lockTHR_LOCK_mallocTHR_LOCK::mutexTHR_LOCK_myisamTHR_LOCK_netTHR_LOCK_openTHR_LOCK_threadsTMPDIR_mutexTHR_LOCK_myisam_mmapWaiting for table level lock User time %.2f, System time %.2f Maximum resident set size %ld, Integral resident set size %ld Non-physical pagefaults %ld, Physical pagefaults %ld, Swaps %ld Blocks in %ld out %ld, Messages in %ld out %ld, Signals %ld Voluntary context switches %ld, Involuntary context switches %ld /etc//etc/mysql//usr/etcMYSQL_HOME~/----args-separator----MYSQL_TEST_LOGIN_FILE%s/.mylogin.cnfMYSQL_GROUP_SUFFIX--print-defaults--password--password=***** Default options are read from the following files in the given order:Internal error initializing default directories listThe following groups are read: The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file, except for login file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. --defaults-group-suffix=# Also read groups with concat(group, suffix) --login-path=# Read this path from the login file.%s should be readable/writable only by current user.World-writable config file '%s' is ignored./builddir/build/BUILD/percona-server-5.7.23-23/percona-server-5.7.23-23/mysys_ssl/my_default.ccskipping '%s' directive as maximum includerecursion level was reached in file %s at line %d!Wrong '!%s' directive in config file %s at line %d!Wrong group definition in config file %s at line %d!Found option without preceding group in config file %s at line %d!Could not open required defaults file: %sFatal error in defaults handling. Program aborted!%s would have been started with the following arguments: includeincludedirtrueofffalseIncorrect integer value: '%s'portskipunknown variable '%s'unknown option '--%s'%s: unknown option '-%c' -%c%s%s=name%s %s=#%s to disable.)%s,(No default value)TRUEFALSE%-*s%s%s%s=%d %ld %lu %g (No default value) (Disabled) disableenablemaximumlooseminimumhiddenreadonlyUsing a password on the command line interface can be insecure.option '%s': signed value %s adjusted to %sUnknown suffix '%c' used for variable '%s' (value '%s')option '%s': unsigned value %s adjusted to %sIncorrect unsigned integer value: '%s'option '%s': value %s adjusted to %soption '%s': value %g adjusted to %g%s: Minimum value of '%s' cannot be set%s: Maximum value of '%s' cannot be set%s: Readonly value of '%s' cannot be set%s: Hidden value of '%s' cannot be set%s: Empty value for '%s' specified. Will throw an error in future versions%s: Empty value for '%s' specifiedoption '%s': boolean value '%s' wasn't recognized. Set to OFF.Invalid decimal value for option '%s' %s: Error while setting value '%s' to '%s'%s: mutually exclusive multiple option modifier specified in '%s'%s: Option '%s' used, but is disabled%s: option '--%s' cannot take an argument%s: ignoring option '--%s' due to invalid value '%s'%s: option '--%s' requires an argument%s: Option '-%c' used, but is disabled%s: option '-%c' requires an argument%*s(Defaults to on; use --skip- Variables (--variable-name=value) Value (after reading options) and boolean options {FALSE|TRUE}ppп@p $ d d< L\l?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H `P@0 p  ` P @ 0 `P@0 p`P@0 !"#$%&'()*123456789:;<=>?@ABCDEFGHIJ9)y i Y I 9)yi YIll  \\L L  < <  , ,| |  l l  \ \mm  ]]M M  = =  - -} }  m m  ] ]nn^^N N p> >  . .~ ~  n n  ^ ^oo__O O  ? ?  / /  o_p P P  @ @  0 0   p p  ` `qqaa Q Q  A A  1 1  ! !q q  a arrbb R R  B BscSsc S C3 C 3 ctd c td TD4T D 4 $td $ t  d UE E uevfu  e vfVF6&vwgWwg W G7' G 7 ' wgxhw  g xhX  8xV F hy  h I9 & 9 6 v   !"#$%&'()*ghiklmnopq789:;<=>?@ABCDEFGHIJstuvwxyz'( ) * + , -./0123456789:WwXxYyZz[{\|]}^~_`abcrdefa  QQv R f  A AWG ' 1 ! !q q    a YQ QI bby R B 2 2  " "r r  b b  RccSSC C  3   # #s s  c c  S SddTTD D  4 4   $t t  d d  T TeeUE 5 51 % 6&vfVgWG7'wgWhXH8(xhXi YI9)yi Yj ZJ:*zj Zk STUWX  HKLNOPQR !"#$%&'()*ghijklmnopqrstuwxYZ    A 1 ! 2"r b 0 p ` P @ 0 1!q a  Q 0 p`P@0 1!qaQA1!2"rb  R R  B B  2 2  " "33##ss c c  S S  C C  3 3  # #44$$tt d d  T T  D  4 4  $ $55%%uu e e  U U  E E  5 5  % %66 V V  F F  6 6'w g  W G 7 ' 8(x h  X H 8 'wgWG7'8(xhXH8x      "$&(*,.246!#%')+-/13579;=?ACEGJLNPRTVXZ\8:<>@BDFHIKMOQSUWY[]^`bdfhjlnprtvy{}_acegikmoqsuwz|~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!"#$%&$xD`!'0(Px`*l% z1Ea!( 2*Rz +m& |2Fb!) ,T| ,n' ~3Gc!*.V~ -o( 4Hd!+0X .) 5Ie!, 2Z /Y*6Jf!- 4\8+7Kg!.6^9[,`8Lh!/:8:-b9Mi!0=;:b;].d:Nj!1><d</f;Ok!2 >f=_h<Pl!3@h>j=Qm!4"Bj?l >Rn!5$DlHn ?So!6&AFnI p@T7( HpJh!rAU8*"JrKi"tB9,$Lt(Lj#vC:.&Nv)MkABCDEF0DXytp!G 1]q)Qy"d1EY{auq!H 3^r+S{#e2FZ}bvr!I 4_s-U}$f3G[cws!J5`t/W%g4H\dxt!K6au 1Y&Pp5I]eyu!L7bv 3['Qq6J^fzv!M8cw 5]0Rr7K_g{w!N9Pdx7_1Ss8Lah|x!OQey9a2Tt9Mci}y!P<Rfz;c3Uu:Nej~z!QSg{=e4Vv;Ogk{!R?Th|?g5Ww<Pil|!S!@Ui}Ai6x=Qk m}!T#Vj~Ck7y>Rm n~!U%WkEm@z?So o!V'XlGoA{@TqpW)Ym!IqB`|AUsqX+Zn#KsCa}BVurY-[o%Mu DbCWwsZ/\p'Ow!Ec  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H ()*+,-./0 1  2  3  4  5 6789:;<=>?@ABCDEFG H !I!"J"#K#$L$%M%&N&'O'()*+,-./0 1  2  3  4  5 6789:;<=>?@ABCDEFG H !I!"J"#K#$L$%M%&N&'O'PPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~  !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/0P01Q12R23S34T45U56V67W78X89Y9:Z:;;;<<<===>>>???@@@!A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/0P01Q12R23S34T45U56V67W78X89Y9:Z:[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~  !!!"#""#"$%$$%$&'&&'&()(()(*+**+*,-,,-,./../.000111232232454454676676898898:;::;:<=<<=<>?>>?>@A@@A@BCBBCBDEDDEDFGFFGFHIHHIHJKJJKJLMLLMLNONNONPQPPQPRSRRSRTUTTUTVWVVWVXYXXYXZ[ZZ[Z\]\\]\^_^^_^`a``a`bcbbcbdeddedfgffgfhihhihjkjjkjlmllmlnonnonpppqqqrrrssstttuuuvvvwwwxxxyzyyzy{|{{|{}y}~~~~§§§çççħħħŧŧŧƧƧƧǧǧǧȧȧȧɧɧɧʧʧʧ˧˧˧̧̧̧ͧͧͧΧΧΧϧϧϧЧЧЧѧѧѧҧҧҧӧӧӧԧԧԧէէէ֧֧֧קקקااا٧٧٧ڧڧڧۧۧۧܧܧܧݧݧݧާާާߧߧߧ  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@A@@A@BCBBCBDEDDEDFGFFGFHIHHIHJKJJKJLMLLMLNONNONPQPPQPRSRRSRTUTTUTVWVVWVXYXXYXZ[ZZ[Z\]\\]\^_^^_^```aaabcbbcbdeddedfgffgfhihhihjkjjkjlmllmlnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~¦¦¦æææĦĦĦŦŦŦƦƦƦǦǦǦȦȦȦɦɦɦʦʦʦ˦˦˦̦̦̦ͦͦͦΦΦΦϦϦϦЦЦЦѦѦѦҦҦҦӦӦӦԦԦԦզզզ֦֦֦צצצئئئ٦٦٦ڦڦڦۦۦۦܦܦܦݦݦݦަަަߦߦߦ--------- - - - - ------------------- -!-"-#-$-%-&-&-&-'-'-'-(-(-(-)-)-)-*-*-*-+-+-+-,-,-,-------.-.-.-/-/-/-0-0-0-1-1-1-2-2-2-3-3-3-4-4-4-5-5-5-6-6-6-7-7-7-8-8-8-9-9-9-:-:-:-;-;-;-<-<-<-=-=-=->->->-?-?-?-@-@-@-A-A-A-B-B-B-C-C-C-D-D-D-E-E-E-F-F-F-G-G-G-H-H-H-I-I-I-J-J-J-K-K-K-L-L-L-M-M-M-N-N-N-O-O-O-P-P-P-Q-Q-Q-R-R-R-S-S-S-T-T-T-U-U-U-V-V-V-W-W-W-X-X-X-Y-Y-Y-Z-Z-Z-[-[-[-\-\-\-]-]-]-^-^-^-_-_-_-`-`-`-a-a-a-b-b-b-c-c-c-d-d-d-e-e-e-f-f-f-g-g-g-h-h-h-i-i-i-j-j-j-k-k-k-l-l-l-m-m-m-n-n-n-o-o-o-p-p-p-q-q-q-r-r-r-s-s-s-t-t-t-u-u-u-v-v-v-w-w-w-x-x-x-y-y-y-z-z-z-{-{-{-|-|-|-}-}-}-~-~-~----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------,0,,,1,,,2,,,3,,,4,,,5,,,6,,,7,,,8,, ,9, , ,:, , ,;, , ,<, , ,=, ,,>,,,?,,,@,,,A,,,B,,,C,,,D,,,E,,,F,,,G,,,H,,,I,,,J,,,K,,,L,,,M,,,N,,,O,, ,P, ,!,Q,!,",R,",#,S,#,$,T,$,%,U,%,&,V,&,',W,',(,X,(,),Y,),*,Z,*,+,[,+,,,\,,,-,],-,.,^,.,/,/,/,,0,,,1,,,2,,,3,,,4,,,5,,,6,,,7,,,8,, ,9, , ,:, , ,;, , ,<, , ,=, ,,>,,,?,,,@,,,A,,,B,,,C,,,D,,,E,,,F,,,G,,,H,,,I,,,J,,,K,,,L,,,M,,,N,,,O,, ,P, ,!,Q,!,",R,",#,S,#,$,T,$,%,U,%,&,V,&,',W,',(,X,(,),Y,),*,Z,*,+,[,+,,,\,,,-,],-,.,^,.,_,_,_,`,a,`,`,a,`,b,kb,c,}c,d,}d,:e,:>f,>g,h,g,g,h,g,i,j,i,i,j,i,k,l,k,k,l,k,m,Qm,n,qn,o,Po,p,Rp,q,q,q,r,s,r,r,s,r,t,t,t,u,v,u,u,v,u,w,w,w,x,x,x,y,y,y,z,z,z,{,{,{,|,|,|,},},},~,?~,,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $!$!$!$"$"$"$#$#$#$$$$$$$%$%$%$&$&$&$'$'$'$($($($)$)$)$*$*$*$+$+$+$,$,$,$-$-$-$.$.$.$/$/$/$0$0$0$1$1$1$2$2$2$3$3$3$4$4$4$5$5$5$6$6$6$7$7$7$8$8$8$9$9$9$:$:$:$;$;$;$<$<$<$=$=$=$>$>$>$?$?$?$@$@$@$A$A$A$B$B$B$C$C$C$D$D$D$E$E$E$F$F$F$G$G$G$H$H$H$I$I$I$J$J$J$K$K$K$L$L$L$M$M$M$N$N$N$O$O$O$P$P$P$Q$Q$Q$R$R$R$S$S$S$T$T$T$U$U$U$V$V$V$W$W$W$X$X$X$Y$Y$Y$Z$Z$Z$[$[$[$\$\$\$]$]$]$^$^$^$_$_$_$`$`$`$a$a$a$b$b$b$c$c$c$d$d$d$e$e$e$f$f$f$g$g$g$h$h$h$i$i$i$j$j$j$k$k$k$l$l$l$m$m$m$n$n$n$o$o$o$p$p$p$q$q$q$r$r$r$s$s$s$t$t$t$u$u$u$v$v$v$w$w$w$x$x$x$y$y$y$z$z$z${${${$|$|$|$}$}$}$~$~$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! !!!!!!!"!"!"!#!#!#!$!$!$!%!%!%!&!&!'!'!'!(!(!(!)!)!)!*!k*!+!+!,!,!,!-!-!-!.!.!.!/!/!/!0!0!0!1!1!1!2!N!2!3!3!3!4!4!4!5!5!5!6!6!6!7!7!7!8!8!8!9!9!9!:!:!:!;!;!;!!>!>!?!?!?!@!@!@!A!A!A!B!B!B!C!C!C!D!D!D!E!E!E!F!F!F!G!G!G!H!H!H!I!I!I!J!J!J!K!K!K!L!L!L!M!M!M!2!N!2!O!O!O!P!P!P!Q!Q!Q!R!R!R!S!S!S!T!T!T!U!U!U!V!V!V!W!W!W!X!X!X!Y!Y!Y!Z!Z!Z![![![!\!\!\!]!]!]!^!^!^!_!_!_!`!p!`!a!q!a!b!r!b!c!s!c!d!t!d!e!u!e!f!v!f!g!w!g!h!x!h!i!y!i!j!z!j!k!{!k!l!|!l!m!}!m!n!~!n!o!!o!`!p!`!a!q!a!b!r!b!c!s!c!d!t!d!e!u!e!f!v!f!g!w!g!h!x!h!i!y!i!j!z!j!k!{!k!l!|!l!m!}!m!n!~!n!o!!o!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!          ( )!*"+#,$-%.&/'( )!*"+#,$-%.&/'8091:2;3<4=5>6?78091:2;3<4=5>6?7H@IAJBKCLDMEFFFGGGH@IAJBKCLDMENNNOOOPPYQRR[STT]UVV_WXXXYQZZZ[S\\\]U^^^_Wh`iajbkcldmenfogh`iajbkcldmenfogpqrstuvwxyz{|}~~~pqrstuvwz{xy|}AABBBBBB C C  D  D  D  DDDDDDDEEEEEEEEEEFF !G !G"#H"#H$%H$%H&'H&'H()H()H*+H*+H,-I,-I./I./I01K01K23K23K45K45K67L67L89L89L:;L:;L<=L<=L>?M>?M@AM@AMBCMBCMDENDENFGNFGNHINHINJKNJKNLMOLMONOONOOPQOPQORSORSOTUPTUPVWPVWPXYRXYRZ[RZ[R\]R\]R^_R^_R`aS`aSbcSbcSdeSdeSfgSfgShiShiSjkTjkTlmTlmTnoTnoTpqTpqTrsUrsUtuUtuUvwUvwUxyUxyUz{Uz{U|}V|}V~V~VWWWWWWWWWWXXXXYYZZZZZZHTWY`SAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEIIIIOOOOOOOOOOOOOOOOOOOOOOOOUUUUUUUUUUUUUUYYYYYYYY                  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxx}y}zzz{{{|||c,}c,~~~                  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~--------- - - - - ------------------- -!-"-#-$-%-               !  ! "#""#"$%$$%$&&&'''((()))***+++,,,---...///0001a12b23c34d45e56f67g78h89i9:j:;k;<l<=m=>n>?o?@p@AqABrBCsCDtDEuEFvFGwGHxHIyIJzJK{KL|LM}MN~NOOPPQQRRSSTTUUVVWWWXXXYYYZZZ[[[\\\]]]^^^___```1a12b23c34d45e56f67g78h89i9:j:;k;<l<=m=>n>?o?@p@AqABrBCsCDtDEuEFvFGwGHxHIyIJzJK{KL|LM}MN~NOOPPQQRRSSTTUUVVPQRSTUVWX Y  Z  [  \ ]^#_0123456789:;<=>? @ !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/0123456789:;<=>? @ !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/PQRSTUVWX Y  Z  [  \ ]^#_`a``a`bcbbcbdeddedfgffgfhihhihjkjjkjlmllmlnonnonpqppqprsrrsrtuttutvwtvwtxyxxyxz{zz{z|}||}|~~~~--######''++                  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopqppqprsrrsrtttuuuvwvvwvxxxyyyzzz{|}~~~{|}AAAAEEEE I I  I  I  O  OOORRRRUUUUSSTTHH  !!!"#""#"$%$$%$&'A&'A()E()E*+O*+O,-O,-O./O./O01O01O23Y23Y444555666777888999:e,:;<;;<;==>f,>~,?~,,@,ABAABACCDDEEFGFFGFHIHHIHJKJJKJLMLLMLNONNONo,Po,m,Qm,p,Rp,STUUUVWXXXYZZZ[\\\]]]^^^___`aaabbbcdddeeefffggghijjjb,kb,lllmmmnnnopppn,qn,rssstttuvvvwwwxxxyyyzzz{{{|||d,}d,~~~DDEEAAAAAACC C C  C  C  C  CDDEEEEEEEEEEGGGG !G !G"#G"#G$%H$%H&'&&'&()I()I*+I*+I,-I,-I./I./I0iII1I23223245J45J67K67K8889:L9:L;<L;<L=>L=>L?@??@?ABAABACDNCDNEFNEFNGHNGHNIIIJKJJKJLMOLMONOONOOPQOPQORSRRSRTURTURVWRVWRXYRXYRZ[SZ[S\]S\]S^_S^_S`aS`aSbcTbcTdeTdeTfgffgfhiUhiUjkUjkUlmUlmUnoUnoUpqUpqUrsUrsUtuWtuWvwYvwYxYyzZyzZ{|Z{|Z}~Z}~ZSSCCSTVWY[`cih==or  uOOUUAAIIOOUUUUUUUUUUAAAAGGKKOOOOJGGNNAA  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ[[[\\\]]]^^^___```AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ{{{|||}}}~~~AAAAAACEEEEIIIINOOOOOUUUUYSAAAAAACEEEEIIIINOOOOOUUUUYxY  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AaABbBCcCDdDEeEFfFGgGHhHI1IJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ[[[\\\]]]^^^___```AaABbBCcCDdDEeEFfFGgGHhH0iIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ{{{|||}}}~~~AAAAAACEEEEIIIINOOOOOUUUUYAAAAAACEEEEIIIINOOOOOUUUUYxY  !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/0P01Q12R23S34T45U56V67W78X89Y9:Z:;;;<<<===>>>???@@@!A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/0P01Q12R23S34T45U56V67W78X89Y9:Z:[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $!$!$!$"$"$"$#$#$#$$$$$$$%$%$%$&$&$&$'$'$'$($($($)$)$)$*$*$*$+$+$+$,$,$,$-$-$-$.$.$.$/$/$/$0$0$0$1$1$1$2$2$2$3$3$3$4$4$4$5$5$5$6$6$6$7$7$7$8$8$8$9$9$9$:$:$:$;$;$;$<$<$<$=$=$=$>$>$>$?$?$?$@$@$@$A$A$A$B$B$B$C$C$C$D$D$D$E$E$E$F$F$F$G$G$G$H$H$H$I$I$I$J$J$J$K$K$K$L$L$L$M$M$M$N$N$N$O$O$O$P$P$P$Q$Q$Q$R$R$R$S$S$S$T$T$T$U$U$U$V$V$V$W$W$W$X$X$X$Y$Y$Y$Z$Z$Z$[$[$[$\$\$\$]$]$]$^$^$^$_$_$_$`$`$`$a$a$a$b$b$b$c$c$c$d$d$d$e$e$e$f$f$f$g$g$g$h$h$h$i$i$i$j$j$j$k$k$k$l$l$l$m$m$m$n$n$n$o$o$o$p$p$p$q$q$q$r$r$r$s$s$s$t$t$t$u$u$u$v$v$v$w$w$w$x$x$x$y$y$y$z$z$z${${${$|$|$|$}$}$}$~$~$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! !!!!!!!"!"!"!#!#!#!$!$!$!%!%!%!&!&!'!'!'!(!(!(!)!)!)!*!k*!+!+!,!,!,!-!-!-!.!.!.!/!/!/!0!0!0!1!1!1!2!2!2!3!3!3!4!4!4!5!5!5!6!6!6!7!7!7!8!8!8!9!9!9!:!:!:!;!;!;!!>!>!?!?!?!@!@!@!A!A!A!B!B!B!C!C!C!D!D!D!E!E!E!F!F!F!G!G!G!H!H!H!I!I!I!J!J!J!K!K!K!L!L!L!M!M!M!N!N!N!O!O!O!P!P!P!Q!Q!Q!R!R!R!S!S!S!T!T!T!U!U!U!V!V!V!W!W!W!X!X!X!Y!Y!Y!Z!Z!Z![![![!\!\!\!]!]!]!^!^!^!_!_!_!`!p!`!a!q!a!b!r!b!c!s!c!d!t!d!e!u!e!f!v!f!g!w!g!h!x!h!i!y!i!j!z!j!k!{!k!l!|!l!m!}!m!n!~!n!o!!o!`!p!`!a!q!a!b!r!b!c!s!c!d!t!d!e!u!e!f!v!f!g!w!g!h!x!h!i!y!i!j!z!j!k!{!k!l!|!l!m!}!m!n!~!n!o!!o!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!          ( )!*"+#,$-%.&/'( )!*"+#,$-%.&/'8091:2;3<4=5>6?78091:2;3<4=5>6?7H@IAJBKCLDMEFFFGGGH@IAJBKCLDMENNNOOOPPYQRR[STT]UVV_WXXXYQZZZ[S\\\]U^^^_Wh`iajbkcldmenfogh`iajbkcldmenfogpqrstuvwxyz{|}~~~pqrstuvwz{xy|}AABBBBBB C C  D  D  D  DDDDDDDEEEEEEEEEEFF !G !G"#H"#H$%H$%H&'H&'H()H()H*+H*+H,-I,-I./I./I01K01K23K23K45K45K67L67L89L89L:;L:;L<=L<=L>?M>?M@AM@AMBCMBCMDENDENFGNFGNHINHINJKNJKNLMOLMONOONOOPQOPQORSORSOTUPTUPVWPVWPXYRXYRZ[RZ[R\]R\]R^_R^_R`aS`aSbcSbcSdeSdeSfgSfgShiShiSjkTjkTlmTlmTnoTnoTpqTpqTrsUrsUtuUtuUvwUvwUxyUxyUz{Uz{U|}V|}V~V~VWWWWWWWWWWXXXXYYZZZZZZHTWY`SAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEIIIIOOOOOOOOOOOOOOOOOOOOOOOOUUUUUUUUUUUUUUYYYYYYYY                  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///0001a12b23c34d45e56f67g78h89i9:j:;k;<l<=m=>n>?o?@p@AqABrBCsCDtDEuEFvFGwGHxHIyIJzJK{KL|LM}MN~NOOPPQQRRSSTTUUVVWWWXXXYYYZZZ[[[\\\]]]^^^___```1a12b23c34d45e56f67g78h89i9:j:;k;<l<=m=>n>?o?@p@AqABrBCsCDtDEuEFvFGwGHxHIyIJzJK{KL|LM}MN~NOOPPQQRRSSTTUUVVPQRSTUVWX Y  Z  [  \ ]^#_0123456789:;<=>? @ !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/0123456789:;<=>? @ !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/PQRSTUVWX Y  Z  [  \ ]^#_`a``a`bcbbcbdeddedfgffgfhihhihjkjjkjlmllmlnonnonpqppqprsrrsrtuttutvwtvwtxyxxyxz{zz{z|}||}|~~~~--######''++                  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~AAAAEEEE I I  I  I  O  OOORRRRUUUUSSTTHH   !!!"#""#"$%$$%$&'A&'A()E()E*+O*+O,-O,-O./O./O01O01O23Y23Y444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSTUUUVWXXXYZZZ[\\\]]]^^^___`aaabbbcdddeeefffggghijjjkkklllmmmnnnopppqqqrssstttuvvvwwwxxxyyyzzz{{{|||}}}~~~AAAAAACC C C  C  C  C  CDDEEEEEEEEEEGGGG !G !G"#G"#G$%H$%H&'&&'&()I()I*+I*+I,-I,-I./I./I0iII1I23223245J45J67K67K8889:L9:L;<L;<L=>L=>L?@??@?ABAABACDNCDNEFNEFNGHNGHNIIIJKJJKJLMOLMONOONOOPQOPQORSRRSRTURTURVWRVWRXYRXYRZ[SZ[S\]S\]S^_S^_S`aS`aSbcTbcTdeTdeTfgffgfhiUhiUjkUjkUlmUlmUnoUnoUpqUpqUrsUrsUtuWtuWvwYvwYxYyzZyzZ{|Z{|Z}~Z}~ZSSSTVWY[`cihoruOOUUAAIIOOUUUUUUUUUUAAAAGGKKOOOOJGGNNAA  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ[[[\\\]]]^^^___```AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ{{{|||}}}~~~AAAAAACEEEEIIIINOOOOOUUUUYAAAAAACEEEEIIIINOOOOOUUUUYxY  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ[[[\\\]]]^^^___```AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ{{{|||}}}~~~AAAAAACEEEEIIIINOOOOOUUUUYSAAAAAACEEEEIIIINOOOOOUUUUYxYutf8mb4utf8mb4_binUTF-8 Unicodeutf8mb4_general_cifilenameutf8utf8_binutf8_general_mysql500_ciutf8_tolower_ciutf8_general_ci latin1latin1_binlatin1_german2_cilatin1_swedish_ciEEESEEE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAAAAA\CEEEEIIIIDNOOOOOUUUUYSAAAAAA\CEEEEIIIIDNOOOOOUUUUYY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAAAA\CEEEEIIIIDNOOOOUUUYAAAAA\CEEEEIIIIDNOOOOUUUYY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 R}    "   "!a: S~x  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAAA\[\CEEEEIIIIDNOOOO]UUUYYAAAA\[\CEEEEIIIIDNOOOO]UUUYY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H Error while reading '%s': its length %llu is larger than maximum allowed length %llu /builddir/build/BUILD/percona-server-5.7.23-23/percona-server-5.7.23-23/mysys/charset.cError while parsing '%s': %s utf8mb3utf16utf32ucs2charsets//usrutf8mb3_utf8_%s.xmlCan't initialize threads: error %d/builddir/build/BUILD/percona-server-5.7.23-23/percona-server-5.7.23-23/mysys/my_open.cNo option given to %s Unknown option to %s: %s Alternatives are: '%s','%s'default%.*s: /builddir/build/BUILD/percona-server-5.7.23-23/percona-server-5.7.23-23/mysys/my_fopen.c.UNKNOWNUNOPENEDgbkgbk_bingbk_chinese_ciUhijklmnopqrstuvwxyz{|}~硥£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣۣܣݣޣߣVW@ABCDEFGHIJKLMNOҡ@ABCϢػDEǧFԴ˩GHIJKɭLMNOPQRͤSپTUVWþXشYΧZ[Թ\˳]^žƲҰ_`abcdefghijklmnopqrstuvwxyz{|}~ԥή؃ѩЄͺຶĈϩٌٍؑҲ𳔁齕Ӵ˜ֲնϙتǜ؝ҞؠáѤإۼȩݷ·ƬҳοеغɰΫؽؾÁāŁƁǁȁˤɁʁˁ́́΁ρЁсҁӁԁՁ͵ցׁκ؁ءفځہ܁݁ށ߁۰Ѽづ灬ٮ聫ٹ끩ٶ޳@Ľ뿭ABCDEFGHIJKLMNOPQRSٴTUVWXYZ[\]^_`a٣ӹbcdef٩ghЩijklmnopqrstuvwxyz{|}~ٶق󾅂҈ى轋뾏ٻĐّ՜֝Ǟ٢ټ٥٨٫Ʃٮײͳ‚ÂĂłƂǂȂɂŵʂ˂̂͂΂٥ςЂт҂ӂԂՂւׂ؂قڂۂ܂݂ނ߂٢ߴٵ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeٮfghijklmnopqrstuvwxyz{|}~قȈԳմ⹵˿÷ҶټƒÃăŃƃǃȃɃʃ˰˃̃ع߾̓΃σЃу҃ӃԸԃՃփ׃؃كڃۃâ܃݃ރ߃ڹუ⃩Ԥ٬탳סմ@ABCDEFGHIJKLMNO˻PQʵRSͼۯTԶUVַWXYZ[Ю\]^ո_`abcdefghiιjklmn֢˯Ȳ̴̿opqrstuvwذxyйz{|}~؃؄؆羊؛˽؝Ţةث찦Ӽν֬ٽۿ۷„ÄĄńƄDŽȄɄʄ˄̄̈́΄τЄф҄ӄԄՄքׄ؄لڄۄ܄݄ބ߄􄴹Ҵ@ABCدD׳EFGHIJKLMN˷OPQRSTUVWXYZ[ǽ\]^_`aܻbcde׿fghij屲߼ըرklmnoخáӣpqrstuvwxyz{|}~޲񺈅؊ԋ؍ώǾؓۚȞϡβ沰ӫ˴ʬЭŮڿŹߵ߻нȰɿ̳߷Ӵضź˾̵߶ӹԳ߻ϺϸϽ¹¾ͷ…ÅąɰֶԷŅԿƅDžγȅɅεʅ˅̅ͅ΅υЅхʳ҅渻ӅԅՅօׅ߽߾߻ſ߱؅مڅۅ܅݅ޅ߅߶Ǻ׾ͺ̾߾@ABCDȿEFGHIJKߧLM߶NOϥPQRߴSTUVW縶ɨXY޿Z[\]^_`abcߺdefghi˽jklmnopqrstuvwxyz{|߽}~߀߂ʨΧળߌߍߎп׏ɐߡߗߢࠆȷƶɲߦŨĩЯ̱ಆΫɳെ߸ๆໆ྆Ⱥ†ÆĆņƆdžȆɆʆˆ̆͆ΆφІц҆ӆԆՆֆ׆؆نچۆ܆݆ކ߆ㆾ䆲ꆵ@AμBCD¸EFGHIJKLMNOPQRSTUVWXYZ[\ְ]^_`abcdٺefghijklmnopqrstuvwxyz{|}~Ƭʄ̟ࢇϱ༇‡ÇćŇƇLJȇɇʇˇ͇̇·χЇч҇ӇԇՇևׇ؇هڇۇ܇݇އ߇ػڶ釰뇧Ѵ퇧̹@ABCDEFGHIJKLMNOPQRSصTUVWXYZۡ[\]^_`abcdeۮ̲ӿfghijklἳӰطmnopۺqrstuvwxyz{|}~ہۅۊⶑ۸ەѿۖۗ浘忙ۜ۝۠°dz۲۴۵۷۹Ӻ۽ˆÈĈňƈLjȈɈʈˈ͈̈ΈψЈш҈ӈԈѶՈֈ׈؈وڈۈ܈݈ވ߈ሧ刦戩ܤ̵툰¶@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd̫efghijklmnopqrstuvܬwxyz{|}~ɹąǮ܊Ѝնۧڱۮ۹‰ÉĉʼnƉljȉɉʉˉ͉̉ΉωЉщ҉ӉǿԉՉ։׉؉ىډۉ܉݉މ߉≸牴٦񉻹̫ѻм@ABC޼DEFGܷHIJKLޱMNOPQRSTU°VWXYZ[\]^_`abūcdefgúhijk׾lmnopqrʶ˼stѡuvwxyz{|}~恊Ĩ惊慊Ëƌ掊ĕʘùЯΜ枊ҟ栊楊Ҩ淊Ҹ׻ͼͦ«濽潊濊ŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يӴڊۊ܊݊ފߊ㊹ͻ@ABCDEFGHIJKLMNOӿPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~υ놋戋捋޼ɏϗ朋杋枋柋梋յ榋樋Ī櫋氋‹ËċŋƋNjȋɋʋˋ̋͋΋ϋЋыҋӋԋՋ֋׋؋ًڋۋ܋݋ދߋ@ABCDEFGH׿IעJKL澼¹MNOPQRSTUVWXYZ[\]˳^ʲ_`abcdefٹ֨ҦgͿʶ»hijϬklmnopҼqrstuvżwļܿxyz{|}~Àԁǯ첊ѹՏ唌啌Զ˰Ѽʞ⷟ɡפШɩ⼫ɭ梳޲޳Ҵ޸;޾߳ġ־ŒӾÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌҨ쌬ڸẵ@ABCDEFᶰGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~၍糃Ɖ޴яᓍᕍᚍᛍ៍ᤍᬍﴍǶÍčōƍǍȍɍʍˍ͍̍΍ύЍэҍӍԍՍ֍׍؍ٍڍۍ܍ݍލߍ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyѲz{޾|}~ۀͰσұʼ˫ʌϏ̓֯۵֜ﰡ࣎ᣳêîϻļŽÎĎᱴŎƎǎȎɎʎˎ͎̎ΎώЎюҎӎɸԎՎ֎û׎؎َڎێӱ܎ݎގߎЮ⿦׵㎮Ϸȶ펥ʵ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeѢfghijޥتƪklmnױopqrstuvwڳxyzܵ{|}~ϡ偏像̈́ȅnj协쐏埏鹱塏ҥШͩѪʲ뱬ŭհӯᰏ᳏Ҵ˱ḏܺ᲻ẏн;õÏďŏƏǏȏɏʏˏ̏͏ΏϏЏяҏӏԏՏ֏µ׏؏ُڏջۏ܏ݏޏߏرɼͦ޷@ABCDEFGHIJKLMNйֹOPQRSTUVWXYZ[ס\]^_`abcdefлghֿijklmnopqrstֻuv޺㲶̧wϡxyҿz{|Ģ}~ǂφ㷺㌐ڻ㎐㑐㒐ӓԗĘХ㚐Û㯱㝐¼㿵ǰ㪐ͭ󻲐̵㷐㸐Ϯ㹐ݻҲͳѲ߹Ϸ̻ÐĐŐƐǐȐɐʐː̐͐ΐϐАѐҐӐԐՐ֐אِؐڐېܐݐސиߐ߷ᐴ䐺@ȴABŻCDEFGHIJKLMNOPQRSTUVWۻXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~퇑㩺퐑㒑㜑Ъð㱑‘ÑđőƑǑȑɑʑˑ̑͑ΑϑБёґӑԑՑ֑בّؑڑۑܑݑޑߑΧȷɳƩ摪瑬葮ؽ푯쿷Ų@AǰBCDEFGHIJKLMۿNOǴPިѤ簶QRSTUVWXYгZ[\]^_`ѰabcdefʥgͶhijkٿlmnopŧqrstuvwֵxyz{޺|}~֣ĭށչܾΰоݰć𼉒ӹŦԊՌȩˎ޽Ƨװēֳҹ괰濜̞͢¥΢̮IJշӻ촩լꮒަʹͶ޺ͦ׽ư达’ÒĒŒƒǒȒɒʒ񼻻˒̒͒ΒϒВђݾҒӒԒՒ֒גݽْؒڒےܒݒޒߒ޶蒴̸ӽؿ֧@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ҽ]^_`abcdefgh鸧ijklmnopqrs괦tuvwxyz{|}~ށ̄勓А벒듓ޔڰ̗ޞ˟բާݴİ޳áġ߽“ÓēœƓǓȓɓʓ˓͓̓ΓųϓГѓғӓԓՓ֓דؓٓړۓܓݓޓߓǥ⓫瓢ߣ蓥铳쓦ٲߢ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~߃𾈔ߧ֊ʎĸŷՒʹеÝȾ뽰ֱ̽Ҹɨض봾ʱDzճ󷵔”ÔĔŔƔǔȔɔ߰ʔ˔͔̔ΔϔДєҔӔԔՔ֔הؔ϶ٔڔ۔ܔݔޔߔᔽ㔶甹·к씻ȼȩɾи굺@ABCDEFGHIJKLMNOPQRSTUοVWXYZ[\г]^_`abcdefghijklmnopqrλstuvwxyz{|}~́ꅕꆕΈ޻ưΏǒꓕ֕ԛ꜕ϞꢕʦŵꯕĽ•ÕĕŕƕǕȕɕʕ˕͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕǷܲ@ABCDEFGHIJKLMNOPQRSTUVWΩľXYZ[\]^_`abcdԨef˸ghijIJklmnopqrŶsܸtuvwxѿyz{ܽ|}~耖脖尅芖͋茖ΐՔ蕖Ö藖Ԛ蛖蜖㷝螖ݿ蟖衖ܼϼ袖誖ذ̸ƾȵ踖׹ĺ軖鲽–Ö¿ĖŖƖǖȖɖʖ˖̖͖ΖϖЖіҖ걻谶ӖԖՖ֖זٖؖږۖܖݖޖߖ˺ͣ۽@ABC赵谽DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx̵yz{|}~켇舗ÎƏזř̞頗ɪÿ׹貗鶗ҹ龗ֵ׿—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗ㗪䗻旫@ABCDEFGHIJKLMNOPQRSTUVŸWXӴYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~郘鋘錘鍘鑘隘馘骘۲鵘˜ØĘŘƘǘȘɘʘ˘̘͘ΘϘИјҘӘԘ՘֘טؘ٘ژۘܘݘޘߘȳ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~邙ÙÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙδУ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg˴hijklmnopqrstuvwx߼yz{|}~в遚酚և銚鏚闚ζҠٻ쨚ҪίİñȱϱѱųбõպšÚĚŚƚǚȚɚʚ˚͚̚ΚϚКњҚӚԚ՚֚ךؚٚښۚʵܚƭݚշޚߚᚱ⚳㚤ѱ暪皵蚮ͭ@AȯسBCDEFGHIJKLMNOPQRSڷTUVWXYZ[\]^_`abcdefgŤײh㦻iھjkӺlmnoзpqrstuvwȴxyz{|}㨷~ńŨƅĆ׈㉛㋛ӌñ㍛㎛ཐ䒛䔛ѣ䗛䘛țϟ 򽨛䩛麪䫛䭛ֲ䯛䰛䳛͢Ŵ䷛Ǭ丛ⲹü些뻰ű仛գ›ÛěśƛǛƺțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛܛݛޛߛᛳ⛸ӵȧլɢ𛭺ԺϿ@ABCDEFGHIJKL䭵MNOPQRSTUVWXYZ[\̵]^_`abcdefghijklmnopqrsɶtԳuvwxyz۸{|}ʿ~ӂÃ䋜䓜䗜ϙ՛䞜䩜䫜ͪʺ侜ȸœÜĜŜƜǜȜɜʜ˜̜͜ΜϜМќҜӜԜ՜֜ל؜ٜڜۜܜݜޜߜ@ABCεDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~䃝䆝·őǔ•䘝̱䤝䥝䨝䩝䪝γ䴝ŶÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝İם؝ٝڝ۝ܝݝޝߝᝥ睡@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~办卞๟塞寞ûƵһľžÞĞӲŞƞǞȞɞʞ˞¶̞͞ΞϞОўҞȻӞԞ՞֞מ؞ٞڞ۞ܞݞޞߞ澿ż@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Ѹ`abcdefgh캱ٷijklmnopqrstuvwxyz{|}~ȁ쏟쓟ͻ引좟ɣè쩟֮챟쵟춟ɸϾŸßğşƟǟȟɟʟ˟̟͟ΟϟПџҟӟԟ՟֟ן؟ٟڟ۟ܟݟޟߟ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~삠쌠׍Ŏ뮰ְؕ˖㗠氞Ź론률먠Ѫūꬠĭıβ궠ɸǺν àĠŠƠǠȠɠʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ۠ܠݠޠߠ⠮㠸破ҵ񠷱Ѿ@ABݺƽCDEFGHIJϨKLMNOPQRSTUVWXYZ[\]^_`abc²defghij֨ìklmnopqrstuvwxyz{|}~K↪釪⋪⓪̞⟪@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn緻opqrst磲uvwxyz{|}~ɀՂ穷烫犫玫֏瓫甫畫ఘ眫@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~臬般艬ȪɊ藬幙Ѩ螬@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~芭Ϲ𔭭𕭰갿Ȗ͗αꞭ@AɴBCDEFGHIJKLMNOPQRSTUVWXYZ[ʸ\]^_`abcdeӦf±g׼hijklmnopqrstuvwxyz{|}~۳Ѐƈ볓目@ABCDEFGHIξJKLM̰NOPQRSôTUVWҾXYZ[ָӷ\]^_`abۺcdefghijklmnopqrճstuvԱwxyz{|}~񌯍Τ񏯣ʑ̓񔯕񖯗թ񘯙Ț񝯫񞯟@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkǵlװٰmnopĵqԽʻrs޸tuvwxyz{|}~Ƒ񔰕ÞӠ@ABCDкEFǸGHIJKLMNOPQRSTUVWXĢYZ[\]^_`ܶabcdefghijklmnopqrstuvwxyz{|գ}~큱Â퇱̈щՌ퍱퐱혱@ABCˡDEFG޽DzHIJKLMNOPQRSöTUVأWXYZ[\]^_`abcdefghijklmnopqrɵstuvwxyz{|}~Հۏ񛲜Ҡ@AؾBý̶CDEFGHIJKLMί°NOPQRSTUƳVWXYZ׺[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ςȎ6Ś@ABCDE­FGHIJKLMNOPQṞSTUVWXYZ[\]^_`abcdŴefghijklmnopqĿrstuvwxyz{|}~Ą퇴팴퍴ǻ횴@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ρƂ쇵쏵억욵@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abӮc̺dнefgѸhijklmnƿopqrstuvwxyz{ӳ|}~Ƴսҋ໌ώ̳ɰ˖ް֟@ABCDEFGHIJKLMNOPQRSTUVWڼXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ъǶտ͏ǭՐ񑷺񒷓ǖ֙ѽܴΞ߿񟷠@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs͵tuvwxy߽z˶{|}~󅸆͸ʰˎ󑸦Вʱ󔸕ѵ󛸜ڵ@ABCDEFGHIJKLMNOPQȵRSTֲUV߲WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~󀹁˄󈹉ܹ󋹌ϑ󓹔󖹗󞹟@תABCDEFGHIJKLMNݸOPQRS۴TUVWXYZ[\]^_`abcdefghijklmnopشqrstuvwxyz{|}~􅺆ɻ􍺎@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~۷ƊִՋˎ֑෕ⴟ@ABCDEFGHIJKLMNOڲPQRSԷTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ˏːח@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~􀽁@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~􋿌@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ԶͼȳΡٸā׷ķţϤɸϯ֧ҭὫȄѭʽͮЅ̼稼бв´ɬ÷պº׻穼ж纻޵翸췊ɽ׸ȍ޹͟ر@·ABCDEFհGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ӇΉ᳌ґǙԵ@ABCDEFG²HIJKLMNO­PQR«S¼TUVWXYZ[ĺҰ\]^_`abcdefghijklmܳn¢o¢pqrstuvwxyz{ª|}~¸ƀ۾‚ƒ„…†‡ˆ‰Š‹ŒŽϴ‘’“”–—˜™š›œžŸ @òABCDEFGHIJKLMäNOǶظθPÿ릳ɹQʷRST缾U빰ϿVWXYZ[η\ղ]è^_`abócdefghijklmn÷opqúrs÷tuvwxìyz{|}¹~ÀفñŽÅÆÈÉÊËÌÍÎÏÐÑÒÓÕìØÙóÜÝÞßâƠ@ABCDEFGİHIJįKLMNOPQRSTUVWXYZ[\]^_`abcĹdefghijIJklmnopqrstuvw̤ĥxyz{|}~ĢŁăĄąĆćĈĉɊċČčĎďđĒē͡۱ӔĕҖėĘěĜĝĞğĠ@ABCDEFGHIJKLMNżOPQŰRSTūUVWXYZ[\]^_ʾ`ŧaŨҨbŪ˾cdefghijklmnopqŶrsŭtuvwŲxŽ㰰yűղzŶ涰ϴ{ŵ|}Ÿ~ŀŁłŃŹŅŧ͆źŻʼnŊżŌōŎŏŐőŒ˓ŽŕŖŗžřŚśŜŝŞşſ@ABCDƫEFGHƳIJƴܬKLڽMƹNOPQƷRɺܶSƻܢTUVWƼܽXYΥZ[\]潫^ƸܾҷŰܾܨ_Ƽ`aܿbcdƿefghijƭkԲlƷܦmnopqrstuƻvwxƽyƢz{|}~ƻƀ܁ƂƃƄƅׯöǩ܆Ƈ܈ƥ܉܊Ƌ܌܍Ǝܢ܏ƐƑƒƓƔƕƖƗƘĴƚƣܛܜܝ貞ܟܠ@ABCDEǣFݲGHIJKĻLMNOPQԼRܴSܫӡݣݥҤݦݧݩTUVWXYZɺ[\Ƕݱݴ]^_`abcǰdefghiǯjklܮmnopǷqrܯsǸtǬuvwxyz{ǹݳݭݪ|}~ǀǨݳݫ݁DzݨӺ݂ǻݧÃDŽݼ݅džLJ݈ǽNJվǍʺǏǐǑݒݓǿݔǕǖ˲ݗݤݘǙǚǾݛǜǝݞǟǠ@AƷBCDEFGHIJKLȽMNOPQRüƮSTUVWXYZ[\]^_`abȩӪcdefghijklmnopqrstuvwxyz{|}~ȀȁȂȃȄȅȆ݇ȈȉȊȋ֌ݍȎȏȐƑȭȓȔȕȖݗݘșȚдݜݝݞݟȠ@ABCDٵEFGHIɯJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}ͱ~ɀɁɂɃɄɶɻ݆ɇ݈݉ɊɋɌɍŎɏɐݑɒɓɔɕɖɗɘəɚɛɤޜɝɣޞɟɠ@ABCDEFGHIJKLMNOPQRʵSTUVW̲XYZ[\]^_`abcdefghijʾݢުαklmnoʬpqrsʦ޶tuvwxyz{|}~ʡހʁʥނʃʄʅʩކʇʈʉʊʨދʌʍʧގʏʐʑʒʓʔʕʖʭޗԘʙʚʛʳުޮޜʝʟʠ@AˡB˱CDEFGHI˲JKLMNOPQRST˦ѵUVWXYZ[˯\]^˰_˽`ab˴ʹcdefgh˸i˷jklmnop˻qrstuvwxyz{|ز}~˺ހ˺Ł˂˃˄˅ˆ˼އˈˉˊˋˌˍ̎ˏːˑ˪˓˔˕˖˗˘˙˚˛˜˝˞˟ˠ@ABCD̽EFGHI̿JKLMNOPQRST̢UVWXYZ[\]^_`abcdefgh̾ijklmnopqrstuvw̺xyz{|}~̮̀́̂̃̄̅̆̇̈̉̊̋򢻲°Œ̯̍̏̐̑̒Г̔̕Ӗ̛̗̘̜̝̞̟̠̽̚泰@ͱABͭCDEFGHI纳˺ϲJKLMNOPθQRSTU;VϲWXYZ[\Ѻ]^_`aͼbcͻd͹efghijklmnopqrstuƹvwxy׻z{|}~͇͈̀͂̓̈́͆͊͋Œ͎͏Ӑ͓͑͒궔ʕ͚͗͘͜͝͞͠Ω@ABCDίEFGHIJKLMNOPQRSTUVWXYZ[\]^ά_`aΫbcdefghȻijklmnopqrstuvwxyz{|}~΁΂΃΅ΆΣΉ΢΋ȍΎΏΐΑΓΔΥΖΗΘΙΚΛÜΝΞΟΠ@ABCDϧEFGHϫIϪJKLMNOϮPQϰRSTUVϡWXYϱZ[\]^ϯ_`abcdeϲfghiϴjklmϨnopqϳrstϵuvwxyz{|}~ϷЀρςσϸυφχوωϊϋόύϹϏϐϑϒϓϔϕϷȶϘϙϚϺϜϝϞϟϻ@ABCDEFGHIJKLMNOPQRSмTUнVWXЪYZ[Ь\]^_`abcdefghiֽjklmnopqrstijuvХwxyz{|}~ЀЁЬЅЇʼnЊЋЌл̍ЎЏАБВГД͕ЖЗИЙٛМНОПРл@ѮABCѤDEFGHIJKLMNOPòQRѰSTUVWXYZ[\ң]^_`abcdefghijklmnopqrstuvwxӹyz{|}~ртуфхֺшщъыэюяѐђѓȔѕіїљњћѽѝў@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ҁҁ΂Ҫ҃҅Ҳ҇҈҉ҊҋҌҍҎҏҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^۹_`ǽabcdefghijklmӡnopqӢrstӣuvwӲxyz{|}~ӀӁӂӃӄхӆӇӈӉӊًӌӍӎӏӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟӠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Ԥ`abcdefghԺijklmnopqrstuvwxyz{|}~ԀԁԂԃԄԅԆԇԈԉԊԋԌԍԎԏԐԑԒԓԔԕԖԗԘԙԲ՚ԛԜԝԞԟԠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖ՗՘ՙ՚՛՜՝՞՟ՠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~րց֥փքօֆևֈ։֊֋֌֍֎֏֐֑֖֛֚֒֓֔֕֗֘֙֜֝֞֟֠@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ׯ`abcdשefghijklmnopqrstuvwxyz{|}~׀ׁׂ׃ׅׄ׆ׇ׈׉׊׋׌׍׎׏אבגדהוזחטץƼȥڧȨƙ׵ҶǼײ仩ڪѫ›÷֬ڭ׶ʜשծʴگڝұڲڳʴګʵڶϳַڰڹҺøﲻڼڞӽξ廿ڵڵ̷οڭڸ̟ұѻڳڽڠڻХګ÷ھڴȹ@ABCDEFGHIJKLعMNOPQRSTUVWعXYZ[\]^_`aϿbcdefghijklmnopqrstuvwxyz{|}~؀ѺزÂ؃؄؅؆؇؈؊؋؍؎؏ؘؙؚؐؑؒؓؔؕؖؗ؛؜؝؞؟ؠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ـفقكلمنهوىيًٌٍَُِّْٕٖٜٟٓٔٗ٘ٙٚٛٝٞ٠@ABCDEFGHIJKLMNڴպOڱƲ̶ַܰᱺṡѷغּ߻ɳĶʹPQRڸSɮӸTUVWպXYZ[\ϸ]^_`abcdeófghijkڽlmnopqrstuvwxyz{|}~ڀڤȁڂڃڄڅچڇڈډڊڋڌڍ׿ڐڻںڕږھڙښڛϰŞڟڠ@ABCDEFGHIJKL۷MNOPQRSTUVWXY۽Z[\]^_ۤ`abcdefghijklmnopqrȲstuvwxyz{|}~ۀ̂ۃۿ帵̄ۅۆۇۈۊۋیۍێ۾ېۑےۓ۔ەۖۗۘۙۚıۜۿ۞ŵ䲟׶@ABCDEFGHڴIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkɪlmnopqrstuvwxyz{|}~܀܁܂܃܄܅܆܇܈܉܊ܦ܌܍܎܏ܐܑܒܓܔܕܖܗܘܙܚܛܜܝܞܟܠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~݂݄݆݈݀݁݃݅݇݉݊݋݌ݍݎݏݐݑݒݓݔݕݖݗݘݙݚݛݜݝݞݟݠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`޵aνbϽ騸鲱ԻcޡdԽϷդեмeǴٱfghޱijklmnopq޽rstuvw߱xyz{|ި}Ƹ~€ށނރބޭӅ嵷ވ޹Չԥάٳދ̌ϵƎʐޑޓޔűޖޗ޷טޙĚޛޡѷ޸ݵ޾͟庶@ߨAѳBCDEFGHIJKLMNOPQRƱSTUݶVWXYZ[\]^_`abcdefghijߣklmnopqrstuvwxyz{|}ܱ~߁߂߃߅߇߈߉ߊҋ˵ڎڏڐڑߒߓĔߕߗߘ߰ЙښӪǛڜߡߞߥ۟ߠ@AۤBCD༽EFGۦۣHIJKLMN۬ºOPQिRSTԿUVWXYZ[\໳]^_঵`abc༶defghijklmnopqrstuvwxyz{ɱ|}~ہ۵ۄۏېۗ۠@ABCƾDEFGHIӷJKԪLMNOPQRͥSͽ˪TUVWXYZ[\ἴ]^״_`abcdefgéhijklmnopqrstuvwxyz{|}~ɲʌְҿ᪸@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~դ谷Ƹ۶ĵָγؼ̬ǭØã½Ҩ֩ƞˮб淿г̶ջü¸@臨AͶBƶCDEFGﵾHIJKLMNOPQRS餳TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ձγâ]꧷Һ^_`a그bӶcdefghijklmno׽pqrstꢰuv꽸ʼ¤³w°ĵxyz{|}~ݱچ긶ԇŊڋڐϑӡžڟ@ABCDEFگGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeѯ͹fghƴijklmnopqrstuvwxyz{|}ӧ~뢱΍ЫϐլÑė˞ϟ@ABCDEFGHIJKLMNOPQR԰STUVWXYZ[\]^_`abcdefghiǦjk츾lm첾nopǷq쿿rstuvwxyz{|}~саД찰ǜ@AϾBCDEFGHIJKޱLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ȃ¾҈ɉ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEҥϳ˹ٶԭƱռFGҵHͥIſJߵKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvƭwxyɷz{|}~@ABCDEFͲGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~𢼘⹷Ҥʥ˙ȽĞݹ@AʸBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQ¦ͱ۳R󵲿ԾݼS§TҳUVWXYZǹ[\]^_`abcdefghijklmnopqrstuvwxyz߸{|}~מ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ӁϏ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[į𦼰\Ż]^_`͸ab븽cdefghijklmno׺pqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSƻTUVWXYZ[ں\]^_`abcdefghijklmnopqrstuvwxyz{|}~؇Ĺ،܍ʓ@ABCDEFDZGHIJKLMNOPQRSTUVWƴXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ݳȻٗJKLMNOPQRSTZIe@ABCDEFGH¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤabfg¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإ٥ڥۥܥݥޥߥ`cdŨƨǨȨɨʨ˨̨ͨΨϨШѨҨӨԨը֨רب٨ڨۨܨݨިߨ٢ڢۢܢݢޢߢŢƢǢȢɢʢˢ̢͢΢ϢТѢҢӢԢբ֢עآ¢âĢ©éĩũƩǩȩɩʩ˩̩ͩΩϩЩѩҩөԩթ֩שة٩ک۩ܩݩީߩTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\CDEFGHYIJKLʡǡơM̡ءޡNϡOΡġšɡȡҡӡߡáˡס֡աP١ԡܡݡQRڡۡѡ͡SС졧¡@AB¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئѧҧӧԧէ֧ا٧ڧۧܧݧާߧקNNNNNNNN N!N#N&N)N.N/N1N3N5N7NO?O@OAOBODOEOGOHOIOJOKOLOROTOVOaObOfOhOjOkOmOnOqOrOuOwOxOyOzO}OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPP P P PPPPPPPPPPP P"P#P$P'P+P/P0P1P2P3P4P5P6P7P8P9P;P=P?P@PAPBPDPEPFPIPJPKPMPPPQPRPSPTPVPWPXPYP[P]P^P_P`PaPbPcPdPfPgPhPiPjPkPmPnPoPpPqPrPsPtPuPxPyPzP|P}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQ Q Q Q QQQQQQQQQQQQQQQQQQ Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQBQGQJQLQNQOQPQRQSQWQXQYQ[Q]Q^Q_Q`QaQcQdQfQgQiQjQoQrQzQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRR R R RRRRRRRRR!R"R#R%R&R'R*R,R/R1R2R4R5RRDRERFRGRHRIRKRNRORRRSRURWRXRYRZR[R]R_R`RbRcRdRfRhRkRlRmRnRpRqRsRtRuRvRwRxRyRzR{R|R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSS S S S SSSSSSSSSSS"S$S%S'S(S)S+S,S-S/S0S1S2S3S4S5S6S7S8SV@VAVBVCVDVEVFVGVHVIVJVKVOVPVQVRVSVUVVVZV[V]V^V_V`VaVcVeVfVgVmVnVoVpVrVsVtVuVwVxVyVzV}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWW W W WWWWWWWWWWWWWWWWW W!W"W$W%W&W'W+W1W2W4W5W6W7W8WX?X@XAXBXCXEXFXGXHXIXJXKXNXOXPXRXSXUXVXWXYXZX[X\X]X_X`XaXbXcXdXfXgXhXiXjXmXnXoXpXqXrXsXtXuXvXwXxXyXzX{X|X}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYY Y Y Y YYYYYYYYYYY Y!Y"Y#Y&Y(Y,Y0Y2Y3Y5Y6Y;Y=Y>Y?Y@YCYEYFYJYLYMYPYRYSYYY[Y\Y]Y^Y_YaYcYdYfYgYhYiYjYkYlYmYnYoYpYqYrYuYwYzY{Y|Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z Z ZZZZZZZZZZZZZZ!Z"Z$Z&Z'Z(Z*Z+Z,Z-Z.Z/Z0Z3Z5Z7Z8Z9Z:Z;Z=Z>Z?ZAZBZCZDZEZGZHZKZLZMZNZOZPZQZRZSZTZVZWZXZYZ[Z\Z]Z^Z_Z`ZaZcZdZeZfZhZiZkZlZmZnZoZpZqZrZsZxZyZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[ [ [ [ [[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[3[5[6[8[9[:[;[<[=[>[?[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[R[V[^[`[a[g[h[k[m[n[o[r[t[v[w[x[y[{[|[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\ \ \ \\\\\\\\\\ \!\#\&\(\)\*\+\-\.\/\0\2\3\5\6\7\C\D\F\G\L\M\R\S\T\V\W\X\Z\[\\\]\_\b\d\g\h\i\j\k\l\m\p\r\s\t\u\v\w\x\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]] ] ] ] ] ]]]]]]]]]]]]]] ]!]"]#]%](]*]+],]/]0]1]2]3]5]6]7]8]9]:];]<]?]@]A]B]C]D]E]F]H]I]M]N]O]P]Q]R]S]T]U]V]W]Y]Z]\]^]_]`]a]b]c]d]e]f]g]h]j]m]n]p]q]r]s]u]v]w]x]y]z]{]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^ ^ ^ ^ ^^^^^^^ ^!^"^#^$^%^(^)^*^+^,^/^0^2^3^4^5^6^9^:^>^?^@^A^C^F^G^H^I^J^K^M^N^O^P^Q^R^S^V^W^X^Y^Z^\^]^_^`^c^d^e^f^g^h^i^j^k^l^m^n^o^p^q^u^w^y^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ _ _ ___________!_"_#_$_(_+_,_._0_2_3_4_5_6_7_8_;_=_>_?_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_Q_T_Y_Z_[_\_^___`_c_e_g_h_k_n_o_r_t_u_v_x_z_}_~________________________________________________________________________`` ` ` `````````"`#`$`,`-`.`0`1`2`3`4`6`7`8`9`:`=`>`@`D`E`F`G`H`I`J`L`N`O`Q`S`T`V`W`X`[`\`^`_```a`e`f`n`q`r`t`u`w`~````````````````````````````````````````````````````````````````````````````aaaaa a a aaaaaaaaaaaaaa!a"a%a(a)a*a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;aa@aAaBaCaDaEaFaGaIaKaMaOaPaRaSaTaVaWaXaYaZa[a\a^a_a`aaacadaeafaiajakalamanaoaqarasatavaxayaza{a|a}a~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb bbbbbbb b#b&b'b(b)b+b-b/b0b1b2b5b6b8b9b:b;bc?c@cAcDcGcHcJcQcRcScTcVcWcXcYcZc[c\c]c`cdcecfchcjckclcocpcrcsctcucxcyc|c}c~ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddd d d dddddddddddd"d#d$d%d'd(d)d+d.d/d0d1d2d3d5d6d7d8d9d;dd@dBdCdIdKdLdMdNdOdPdQdSdUdVdWdYdZd[d\d]d_d`dadbdcdddedfdhdjdkdldndodpdqdrdsdtdudvdwd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeee e e e eeeeeeeeeeeeeeeee e!e"e#e$e&e'e(e)e*e,e-e0e1e2e3e7e:eg?gAgDgEgGgJgKgMgRgTgUgWgXgYgZg[g]gbgcgdgfgggkglgngqgtgvgxgygzg{g}gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhh hhhhhhhhhhhh h"h#h$h%h&h'h(h+h,h-h.h/h0h1h4h5h6h:h;h?hGhKhMhOhRhVhWhXhYhZh[h\h]h^h_hjhlhmhnhohphqhrhshuhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiii i i iiiiiiiiiiiiiii!i"i#i%i&i'i(i)i*i+i,i.i/i1i2i3i5i6i7i8i:i;ii@iAiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiUiViXiYi[i\i_iaibidieigihiiijilimioipirisitiuivizi{i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjj j j j jjjjjjjjjjjjjjjj j"j#j$j%j&j'j)j+j,j-j.j0j2j3j4j6j7j8j9j:j;jl?lClDlElHlKlLlMlNlOlQlRlSlVlXlYlZlblclelflglklllmlnlolqlslulwlxlzl{l|lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmm m m mmmmmmmmmmmm m!m"m#m$m&m(m)m,m-m/m0m4m6m7m8m:m?m@mBmDmImLmPmUmVmWmXm[m]m_mambmdmemgmhmkmlmmmpmqmrmsmumvmymzm{m}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnn n nnnnnnnnnnn"n&n'n(n*n,n.n0n1n3n5n6n7n9n;nn?n@nAnBnEnFnGnHnInJnKnLnOnPnQnRnUnWnYnZn\n]n^n`nanbncndnenfngnhninjnlnmnonpnqnrnsntnunvnwnxnynzn{n|n}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooo o o o ooooooooooooooo!o"o#o%o&o'o(o,o.o0o2o4o5o7o8o9o:o;op?p@pApBpCpDpEpFpGpHpIpJpKpMpNpPpQpRpSpTpUpVpWpXpYpZp[p\p]p_p`papbpcpdpepfpgphpipjpnpqprpsptpwpypzp{p}ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqq q q qqqqqqqqqqqq q!q"q#q$q%q'q(q)q*q+q,q-q.q2q3q4q5q7q8q9q:q;qq?q@qAqBqCqDqFqGqHqIqKqMqOqPqQqRqSqTqUqVqWqXqYqZq[q]q_q`qaqbqcqeqiqjqkqlqmqoqpqqqtquqvqwqyq{q|q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrr r r r r rrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r)r+r-r.r/r2r3r4r:rr@rArBrCrDrErFrIrJrKrNrOrPrQrSrTrUrWrXrZr\r^r`rcrdrerhrjrkrlrmrprqrsrtrvrwrxr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr00000 ^ &     000 0 0 0 0 00000006"'"("""*")""7"""%" "#"+"."a"L"H"=""`"n"o"d"e""5"4"B&@&2 3 !0 !&&%%%%%%%%%; !!!!0p!q!r!s!t!u!v!w!x!y!$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$ 2!2"2#2$2%2&2'2(2)2`!a!b!c!d!e!f!g!h!i!j!k!  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000569:?@=>ABCD;<78134 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO  % 5 ! !!!!!""#"R"f"g""P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%%%%%%%%%%%%%%%%%%%%%%%%% &"000+MkQDHa1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1!0"0#0$0%0&0'0(0)02333333333330!!12 00000000IJKLMNOPQRTUVWYZ[\]^_`abcdefhijk0%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%rrrrrrrrrrrrrrrrrsssssss s s s ssssssssss s#s$s&s's(s-s/s0s2s3s5s6s:s;st?t@tBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtVtXt]t`tatbtctdtetftgthtitjtktltntotqtrtstttutxtytzt{t|t}tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuu u u u uuuuuuuuuuu u!u"u#u$u&u'u*u.u4u6u9uw?wBwDwEwFwHwIwJwKwLwMwNwOwRwSwTwUwVwWwXwYw\wO!Xq[bbfyrogx`QSS̀ PrY`qTY,g({)]~-ulf<;k{|_xք=kkk^^u]e __X[,AbOS^SMhj_h֜a+R*vl_eon[HduQQgNy|p]w^w_w`wdwgwiwjwmwnwowpwqwrwswtwuwvwwwxwzw{w|wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuv^sdblZSRd”{/O^6$nlsUc\STeW N^ek?|`dsPgMb"lw)Ǒi_܃!Sk``p͂1Nlυd|ifISV{OQKmB\mcS,6gx=d[\]bgzdcI N fswwwwwwwwwwwwwwxxxxxx x xxxxxxxxx x!x"x$x(x*x+x.x/x1x2x3x5x6x=x?xAxBxCxDxFxHxIxJxKxMxOxQxSxTxXxYxZx[x\x^x_x`xaxbxcxdxexfxgxhxixoxpxqxrxsxtxuxvxxxyxzx{x}x~xxxxxx:W\8^PS^eEu1U!Pbg2Vno]5Tpfobdc{_oば\hf_lHldyWYjbHTXN z`oڋbyTucS`lߏ_p;O:\depEQQk][bltu zay{N~wNRQqjSϖndZixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyy y y y y@xPwdYc]z=i O9U2Nuzb^^R9Tpvc$W%f?iUm~"3b~u(x̖Hat͋dk:RP!kjqVSNNQ||O{zgd]Pv|mQgX[[xddc+c-dT{)vSb'YFTykP4b&^kN7_. yyyyyyyyyyyyyyyyy y!y"y#y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y5y6y7y8y9y=y?yByCyDyEyGyJyKyLyMyNyOyPyQyRyTyUyXyYyaycydyfyiyjykylynypyqyrysytyuyvyyy{y|y}y~yyyyyyyyyyyyyyy `=b9NUScƀe.lFO`mދ9_ˆS_!cZQachRccHP\wy[0R;z`Sv__vlop{vI{wQ$XNOnLe{rmZb^0W,{^_cnxpxQ[W5uCO8u^``YmkxSՖQRc T̍9rxv Syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz z z zzzzzzzzzzzzNvSv-["NNQcaR hOk`Qm\QbeaFucwkrr5XywL\g@^!nYzw;keXQQ[X(TrfeVvAcTY:YW5g5AR`X\EO%Zv`S|bOi` ?Q3\u1mNzz!z"z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z4z5z6z8z:z>z@zAzBzCzDzEzGzHzIzJzKzLzMzNzOzPzRzSzTzUzVzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozqzrzszuz{z|z}z~zzzzzzzzzzzzzzzzzzz0SZO{OONls^ju jwA~QpSԏ)rmlJWe?b2YN~>e^aUޘ*S T^l9Z)TlR~_Wq~l|KYN_$a|0N\g\ Θup"QIYQ[O&T+Yweu[vbbE^l&{OO gzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{ { { {{{{{{{{{{{{!{"{#{'{){-{nmmy_+ubOܑe/Q^PtoRK YPN6ry[DYTvVV9eivnr^uFggzvaybecQR8~\/n`g{vؚ|dP?zJTTLkdb=urRi[|B|i[wm&lN[ca+Tm[QUUdMcea` qWlIl/Ymg*XVjkݐ}YSimuTUwσ8hyTUOTvlmkd:?Vўu_rh`TN*jaR`pTpy?*m[_~UO4ssn;uRS݋i_`mOW"ksSh؏bc`$Uubqm[{^RLaĞxW'|vQ`LqCfL^M`pp%c_b`ԆVk`gaIS`ff?yOpGl~dfZZBQmmA;mOkpb` 'xyQ>WW:gxu=zy{|||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}} } } } }}}}}}}}}}}}}}}}}}}!}#}$}%}&}(})}*},}-}.}0}1}2}3}4}5}6}eo!Y~  TghM|ƖS%`urlsSZ~$cQ ]߄bQc[OmyBR`Nm[[e_EY~~ Vg9YsO[RZ>2uGP}?}@}A}B}C}D}E}F}G}H}I}J}K}L}M}N}O}P}Q}R}S}T}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}o}p}q}r}s}t}u}v}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}eP0QRonnm^PY\Fm_luhhVY SqMIiy&qNʐGmZVdwOr҉z4~RYeuSzccvyW6*bRThpgwckwzm~YbɅLuPNuJ\]K{eёN%m_'}&N(ۏsKfyяpxm}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}=\RFbQ[wvfN`||~NfofYXle\_uVzzQpzcvz~sENxp]NRSQeeT1\ubruE\yʃ@\Tw>NlZbnc]wQݍ/OS`pgRPcCZ&P7wwS~d+ebcP5rɉQ~GW̃QT\}}}}}~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~8~9~:~<~=~>~?~@~B~C~D~E~F~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~[~\~]~OzZmᐏUTaST_cwiQha R*XRNW x w^wa|[bbNpbp`wWۂghxyXTS4nKQ;R[CUWs`QW-TzzP`T[cbScb[gTzw^8YWcWWw{O_[>k!SP{rFhw6weQNv\zuNYAP^~_~`~a~b~c~d~e~f~g~h~i~j~k~l~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79;<=>?@ACFGHIJKLMNORS'andWfFcVbib^WbU!JfUegV݄jZhb{pQo0cȉapntir^ΐgjm^cRbrlOYjpmRPNm~x/}!QWd{|lh^iQShrΞ{ryotNg̑xS)RPOOVY[\]^`cdefgklmopsuvwxz{|}uz|lRtTOTޏp^`m^[e8K`p~|Qh|o$Nϑ~fNdJPuq[foNdc^eRˆpRs3tgx4NޜmQATbsÔ6OQupu\SNn tikxYuR$vAmgmQKT<{z !#$+,-./0249:<>@ADEGHINOPQSUVWY[\]^_`abcdefghklmnoprstuvwxyz{|}WbG|iZd{oKbS^pcdSOx2B^oyU_F.btTݔOee\a\Q/l_sn~\cj[nuSqNceubn&ONl~W;#{=m~YsxlVTWpNVSȏ wnfba+o~ŀǀȀɀʀˀπЀрҀӀԀՀ؀߀  !"#$%&'()*+-.034579:;<=?)+vl_+skwƔoSQ=^8HNsghv dql wZAk'f[YZN jv0sh_[/wa|%_s|yʼnl[B^h w~QMQR)ZbׂcwЅy:n^YmplbvOe`f# T}T,xd@ABCDEGIMNORVWX[\]^_abcdfhjklorsuvwxāŁǁȁɁˁ́΁ρЁсҁӁyd!jxidTb+gX؞l o[L _rgbarNYkXfU^RUa(gvfwgrFzbTPTZ~lCNvYHYWS7uV c|`mbTQZY*Pl<\b`O?S{n+bt^xd{c_Z?\OcB}[nUJMm`grQ[ԁՁցׁ؁فځہ܁݁ށ߁  $%&').2:<=?@ABCEFHJLMNPQRSTUVWY[\]^`abcdefgibl[rmb~SmQ_tYR`sYfPu*ca|T'k%kՅUTvPljU,r^`6tbcLr_Cn>meXovxvTu$RSSN^e*րbT(RpэlxTڀWTjMiOlUv0xbpom_h|x{ gOgcxoWx9ybbR5tkjklmquvwx{|‚ÂłƂɂЂւقڂ݂  !"#$%&)*.027;=dU>uv9SuPA\l{OPGrؘothydwb+TXRNjW s^QtċO\aWlFZ4xD돕|VRQbNa郲W4gWnffm1fpg:khbYNQoglvQhGYgkfu]PeHyAyw\^NO/TQY xhVlď_}llc>?ABDEHJKLMNSUVWXY]bpqrstuvyz~ƒÃăƃȃɃ˃̓΃Ѓу҃ӃՃ׃كڃۃރp`=murfbŔCS~{N&~NԞMR\ocEm4XL] kIkg[TTX7:_bGj9re`ehwTNO]d\OzRN/`zONy4tRdy[lR{"l>PSndtf0l`w^?@ABCDEGHIJKLMNOPRSTUVX]^_`bdefghjnoprtwy{|S6ZSWCglhQubr8RR:p8vtSJinxو6qqQgtXeVvpb~`pXNN_NRY~TbNeb8Ʉcqn[~Qcg9Qz[YsN]leQ%o.J^tm1_dm(nÜ^X[ NS}~„ÄńƄDŽȄ˄̄΄τ҄ԄՄׄ؄لڄۄ܄ބOceQhU'NdkbZ_trmhPx@g9Rl~PeU^q[{RfsIgq\ R}qkUdaUUlGb.X$OFUOLf N\hNc zpR\T~bYJdž fDd\Qam>y7x3u{T8Om Z~^yl[vZuNanXu%urrGS~  "#$%&'()*-./0123456>?@ABDEFGKLMNOPQRSTUWXZ[\]_`abcefgijklmnopqsuvwx|}wviR܀#W^1Yren׋8\qASwbeNߘ[ƋSwON\vY_:yXNgNbR/fUlVNOʑpl^C`[ƉՋ6eKb[[c.US&v}Q,ghkbSmufNNp[qffr͞ ^\/gh_g bzX^pe1o…ÅąŅƅDžȅʅ˅̅ͅ΅х҅ԅօׅ؅مڅۅ݅ޅ߅U`7R Tdp)u^hbS=r4lawz.TwzUxgped6V`ySN{k[UV:O?@ABCDEFGHIJKLRSUVWXY[\]_`acdefghijmscK΀ԂbSl^*Y`plMWJd*+vn[Wjumo-fWkxcSpdlXX*dXhU|Pmpcmn~ChmvWYyr~uhTR"cD|USOfV`mCRI\)YmkX0uul`Fcag:w4^S,Tpmoprstuvwx†ÆņȆ̆͆҆ӆՆֆ׆چ܆݆ @l^\PN^:cGPhnw Tܔd_zvhEcR{~uwPb4YQyzV_m`\WTTQMnVc*To\bXb15@n|-iYb>UcTن\~*gsTOuÀUOMO-n \pakSv)ne~;T3z }UtcmzbegScl]\TLNalK\eh>T4TkfkNBcHS OO^W bdfirRR`fqgRxwpf;V8T!zr‡ÇćŇLJȇɇ͇̇·χЇԇՇևׇ؇هڇ܇݇އ߇  #zo` ^`Y`qpnPlrj-^`NZUm|b~w~#Sf\Or NSYTc(HQN~T$T7m&_Z>fis.sSz[wP~vSv{DXnaNey`TNy]ajPTa']xJRTVm[mSf$%&'()*+,-./01345678:;=>?ABCFGHIJKNOPQRSUVXZ[\]^_`fgjmoqstuvxyz{|\][!hxU{HeTiNGkNOSc:deQhxSall"Q\ #ke__OEfe)s`tQRWb_Lx^Og'`YDQQSylĖqOO=gUy~X bZV{_ĄWSe^\ud`n}Z~~iU[`esÈĈLjȈʈˈ͈̈ψЈшӈֈ׈ڈۈ܈݈ވ  "#$&'(),-./12357 cv)w~tf[tz@Rq_e[o]k[l ŏSb&-@T+NYr]YmŖTN qT pmv%Nx\^plDYcopYvt89:;<=>?@BCEFGHIJKLMNOPQRSTUVWXYZ[\]`abcdeghijklmnopqrstuvwxyz|}~Gd'\ez#YTo0iNV67rΑQ_NucNSfKYmNX;ScO Oc7YWyNul[Y]_iP]YNwNzbfy\Ny_Ɓ8uNԈak_INvn㋮ ы_~5kVk4YTm[n9\_É͉ӉԉՉ׉؉ىۉ݉߉ pS1jtZp^($%gGΏbvq_lx fTbcOÁu^͖ Tlm8l`R(u}^O`_$\1url8nI gSSQOɑS|^mNvi^aYOO>| annN1ZN\y[틽sWTGU\_a2kr !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~tm[Ոkm3 nQCQWScVXTW?sn܏т?a(`bf~Í\|g`NShAQЏt]UfU[S8xBg=hT~p[}Q(WTef^Clm|QgeojV vvpq#bRl<`Xaf`NbU#n-ggŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊ(whiTMNpȋXde[z:P[wky|lve-]U\8h`Sbz[n~jzp_3o _cmVgN^&N4vb-f~blugqiFQSnbTُYmsewu'xOguʋ/cG5#cAw_rN`tebck?e  !"#$%'()*+,-./0123456789:;<=>?@ABCDE'^uѐg/e1TwAlKN~Lv ikgb?@BCDEHJKMNOPQRSTVWXY[\]^_`cdefghilmnopqrtuvw{|}~N N@QN^ESNNN2l[iV(Ny?NSGN-Y;rnSlV䀗k~w6NN\NiNN[[lUVNSSSSSe]SS&S.S>S\fScSRRR-R3R?R@RLR^RaR\R}RRRRRQTNNNNNNNNON"OdON%O'O O+O^OgO8eZO]OŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌ _OWO2O=OvOtOOOOO~O{OO|OOOOOOOOOOOOO)PLPO,PP.P-POP P%P(P~PCPUPHPNPlP{PPPPPPQPPPPQ QN=lXOeOOFlt|nQ]ɞQYR SSQYUQNVQNnN҈y4[QQQQ QRW_ehijlnoqrxyz{|}~ōǍȍɍʍ͍ЍҍӍԍQQQQ‹Ëˋϋ΋ҋӋԋ֋؋ً܋ߋ  !%'*+./2356iSzS"!1*=?CEFLMNOPSTUVWXZ[\]^_`abcdeghjknqϐŐАĐǐӐܐאې"#1/9CF RBYRRRRTRRRSqw^QQ/S_Zu]LWWW~XXXX)W,W*W3W9W.W/W\W;WBWiWWkWW|W{WhWmWvWsWWWWWWWWWWWWWWWWWWWWWsuwxyz{}~ŽÎĎŎƎǎȎɎʎˎ͎̎ώЎюҎӎԎՎ֎׎؎َڎێ܎ݎގߎ X XWWXXXDX XeXlXXXXXay}Ȃʂ゘˂̂Ă΂ ܂҂؂ ӂՂQ[\<41^/OGC_@`-:3fe  !"#$%&'()*+,-./0123456789:;<=>?@ABCDhiljmnx|}{؃X ݃փ8ԃ߃Ń&\QZYszx?@ABD7UVUuUvUwU3U0U\UUUUUUUUU~UUU{UUUUUUUUUVUUUUUUUUUUUUUUUUVV VV$V#VUV'V-VXV9VWV,VMVbVYV\VLVTVVdVqVkV{V|VVVVVVVVVVVVW W WW^^^^1^;^<^EGHQSTUVXY[\_`fghkmsz{|‘ÑđőƑȑˑБґӑԑՑ֑בّؑڑۑݑޑߑ7^D^T^[^^^a^\z\\\\\\\\\\\\\\\\\\\\\\\\]]']&].]$]]]]X]>]4]=]l][]o]]]k]K]J]i]t]]]]s]]s_w____________ba_rrrrrrrrrrrrrrrrsrsr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDErss!s ssss"s9s%s,s8s1sPsMsWs`slsos~s%Y$YYcghijkltw}^^^^^^^^^^S^^^^^____`_`___``___`5`&``` `)`+` `?`!`x`y`{`z`B`FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~j`}````````````````` a&aa#a`aa+aJauaaaaaaa_ ,N?rb5lTl\lJllllllhliltlvllllllllllllllllllll’ÒĒŒƒǒɒʒ˒̒͒ΒϒВђҒӒԒՒ֒גْؒڒےܒݒޒߒ 9m'm mCmHmmmmm+mMm.m5mmOmRmTm3mmommm^mmm\m`m|mcmnmmmnmmnmmmnm nm+nnnNnknn_nnSnTn2n%nDnnnnn-onnnnnnnnnnnnboFoGo$oon/o6oKoto*o o)ooooxoro|ozoo  !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghikoooooooooop#pp9p5pOp^p[[[[[[/u4d[[0[GӏՏ & !56-/DQRPhXb[ft}P_W_V_X_;\TP\Y\q[c\f\*_)_-_t<_;n\YYYYYYlmnopqrstuvwxyz{|}~“ÓēœƓǓȓɓ˓͓̓YYYYYYYYYYZZYZYYY Z Z2Z4ZZ#ZZ@ZgZJZUZusssssssssssssss| tssssst*t[t&t%t(t0t.t,t/0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~ǔϔӔԔڔ ttAt\tWtUtYtwtmt~ttttttttttttttLgSg^gHgigggjgsgggugggggwg|gg hg hgg hggggghggghgg2h3h`hahNhbhDhdhhhUhfhAhgh@h>hJhIh)hhhthwhhkhhnihi ih'3=CHKUZ`ntuwxyz{|}~•ÕĕŕƕǕȕɕʕ˕$ih iiWihiqi9i`iBi]iikiiixi4iiiiiificiyiiiiiiiiiiiiiii/jijjejiDj>jjPj[j5jjyj=j(jXj|jjjjjj7sRskkkkkkkkkkkkmqrsuvxwyz|~͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕ #$%&'()+,-/0789:>ACJNOQRSVWXYZ\]^`cefkmnopqsxyz{|}~Ύ bbbb"b!b%b$b,btttuuu4eeee ffrgfffpff4f1f6f5f_fTfAfOfVfafWfwffffffffff236;=@EFHIGMUYljʉˉ̉ΉωЉщnrr]rfror~rrrrrrrc2cc–ÖȖʖ˖ЖіӖԖ֖זٖؖږۖܖݖޖߖ  ?ddkkkkklll lllll!l)l$l*l2l5eUekeMrRrVr0rbR gۀ€Āـ̀׀g݀ gZ6,2HLStYZq`i|}mgMXZń&gʁ!"#$%&'()+,./134567:;<=?@ABCDEFGHIJKLMNOPQTUWXZ\]_cdfghjklmnopqruwxyz{}~$k7k9kCkFkYkјҘӘ՘٘ژk@_keQeeeeeeeeepppppppppppqqq/q1qsq\qhqEqrqJqxqzqqqqqqqqqqr(rlpqfqq>b=bCbHbIb;y@yFyIy[y\ySyZybyWy`yoygyzyyyyyy__—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗ <`]`Z`g`A`Y`c``a a]aaaaabllmwwx xxxxe-xxx9x:x;xx?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnbwewww}wwwwwwwww:u@uNuKuHu[uruyuuXa_Hhtqy~vv2ĔȔɔʔ˔͔̔ΔДєҔՔ֔הٔؔ۔ޔߔopqrst˜ØĘŘƘǘȘɘʘ˘̘͘ϘИԘ֘טۘܘݘ "*+),124678<>?B5DEFILNORSTVWXY[^_]abdefghijkloqrs:wwɖyyyyzG]zzzz  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSVWXYZ[\]^_`abdfsxy{~9z7zQzϞpzvvvvvtt,u "()*+,216879:>ABDFGHIKLNQUWZ[\^cfghijklqmsuuuuuuuuuuuuuuuuuuuuuuuvuuuvvv vv v%vvvv™ÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙvv3vMv^vTv\vVvkvovzxzyzzzzzzzzzzzdir}ƈɈΈ! 4+6Af{u倲vvw "%&')(1 5CFMRiqx  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYMTlnz|{ĆΆɆφІކ߆؆ц #;%.>H41)7?"}~{`pLnSc|dYe҇Z[\]^_`abcdefghijkrÚĚƚǚȚɚʚ͚ΚϚКҚԚ՚֚ךٚښۚܚݚޚƇ凬ˇӇчʇۇ !9<6BDEzz{{{{ {+{{G{8{*{{.{1{ {%{${3{>{{X{Z{E{u{L{]{`{n{{{b{r{q{{{{{{{{{{{{{{{{{{{{{{ |{{|| |  !"$%&'()*+,-.013456789:=>?@FJKLNPRSUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|*|&|8|A|@|D!"#-/(+8;34>DIKOZ_h~؈߈^||Ie||||||||||||||||nf|w}}}G~~sgmGIJPNOd|}~›ÛěśƛǛțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛbapio}~rtyU~Yič֍׍ڍލ΍ύۍƍ ,.#/:@95=1IABQRJpv|otxe։މډ܉ܛݛޛߛ  !"#$%&'()*+,-./0123456789:;>&S*-0> ΖҖwȒ>jʓ>k#zĜŜƜǜʜ˜<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~œȜɜќҜڜ̜ۜ͜ΜϜМӜԜ՜ל؜ٜܜݜߜ|XŚš˚̚њECGIHMQ .UTߚ#;~֓۞ܞݞߞ",/97=>D  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝ם؝ٝڝ۝ܝݝޝߝ $'.04;<@MPRSTVY]_`abenortuvwxyz{|}žÞŞƞǞȞʞ˞̞ОҞӞ՞֞מٞڞޞ !#$%&'()*+-.01234568:,.\FG/&7,o2:p -QN@) '&J )9fLz:Y; Gz1G HC%HQLL %}f@oP5?<B`K 8 759 j2 AHs? "Rr/iLAAIDq|/B ~.u "N= 2FDOC.-DERo4Q/I:IP)Rrp4'P ?HOB48@C`1,p4 %E 8>#XI%JP+E(R)Z F_R&6%: ;D. P U ( 9=d8>-C>L|BE>"hAI]T&d26q/A+B\EY? Q#O:ND-} GLD# GQsHx %?#}T=9**iA-HA7]3K x2\6UR 6@L=G<AF 8!_7 HHO *GLE\O oQ+IDF PL>!Ni7@:Q ;BM6.^N)x<nA72  6%UDKwH\<;HHYQN$KNqT/:7 LOT7U zRO32GnD'(&y0B&(*L2C_T%1n$ 3a1 P@9z@ =i iC'  '1CC,I I3R6IT!a.>J "  ?7N< j#-2+{A5.4-& )"NMdN R:K3 %<]@( j59%)N.G 9g92"58q#?p-e&wL \= 1'Jl*`5BG`*o*REEJ!SI.+'9*d c"+D~+ <#/,"2:*p>h3yJe%3,Sd ]:l  ' B|} Pt,Quyu!0" 5H 2 C s? %4,-'$RUVY7[ "@Z N) OqM "\\ %1] 0A84 v!^ . >(%/n7Y"VbOS&} 'LMj<WX RTV,D%RG2"gDQIR\,c$ ^"H=?KD,"[&"l,T 5$K" 3(zm!+|EAJF@8k$(z0E93!5C3J l 0>~ ; )FF)%V k5#5 NH*I/<  U-PI!q4~[3"L|q5 1#&&8;4qB!G4F-T9rB??kD( 9ADP=H37; E)5#~A6&@UP5F:zO0/XX3FQ0*=8=T M%G% #%iGGM& 64C"$6S i9/69Sx:o@}6' 547 :+(*E"T H..I 3sO?A,uFjB!(*1BA#N8 y8>@8 /@)S5>"9R=wBI10)TEIC 4>1H S?Uu;C1A}BR9LD"p<F~$>NEEL-'E 1M(14*T}Cg$0p&$+)B;2:NL]^h"Ifc>%C?%F4A NG1"3*=B"f&^$)7ET@J22 O_L=#Abu.S`5DC>kA@11\ F?0T~ G1`Pg&0CKOq)y-4<y<b MePoRi_?MNeH+LN*BR @F7Eg-s&M6 %3G1 /K?^K/N=}H27K~D)8L6H?4=/4A2S$X?; 6,2%TPw,Q<#| !`)\5o$]D=2#D)*3 !,G%d('Q,w 040C*B"mG?K #;0D {YS.1D=%q%Jo)N:7?ONR $!.R5'=J(.>!oMG0$N ?>n>F55;J#V)4 @M4x"61MM G>>>>G)LJ+)6)G>=1("L-2.2S !2BW7-],`QFI3;4">aIQ /u]F20'RyQ H/+) = J=P *oHtD!HmDn9Y d! p E~CIIKBEe 3^*5KF!H[Z$ ]P&.{HG4_;3?j j)QG" XZ< _!vJiQS1k -"G#-1 M$FH#28W-f> =&LSLV*@U6HJTLxH * ?1WR66w !0$AEi?FB"cKKy!;8s+@ }>25DR%/Np=oAQFP`G!@D'T$/hz ((.2*x,>:=(VQ P! qQ2tf G;BO2z@S 377@'1"fn:52 u85<,L6< I"SN23,"MJ0H<;<$ q t52F,$gBF W6$"e(nGC;E51' YEDL-BMb*V3.G2*'+ -OY< <|G~EN=  V/ nDAHi!OGFS@0A &kNU9k,)H ./2.WBM% _@%R.kMR%N ]SG,D=v?3S)P-MV>!CI^,"8ERP+2'#Tb5]7H)SS 5pC8 C-bQPyC&++!"G2,&v/GLOG'88u4:ZC7 D5*," =,E-}L0j-Q$`S0>CFAPGlAATG~L:%ST1*CSY(o#(+ 1F'D91$AA-<]=-4n+D2>Eg?#JiR^-W)I#JG %+C/P H,-6~M>M?i6*2 ^6z3%A|2x +vIXR+K FA? Q!4=D+?>&w*f5T:I0v@G?< oEN>ST~HM5M6'*/)*#3PMB5&,#K;-<5/<$Y-:04J/M.F*=I!K-W;SO$SP b6)0ovA+3.?O+:C;C,&%Z[ tQEAIRB3#5G*o CNJ,X9i;2.&FD-gOJ-8.)=  L0546-"6HTIJSRU8jI= 9 J5CO S8k+d"NwM4P:1.382.G.QL"3.x 384.Y8U@D"U!_JI3 )07S"9SF9# R)*97?,&ZC[CV#?&,*???mH&#CR>tBnd=8PD-AA*E(0D=D)$D & RD-x?k2w1 U UBHT )_F0w%=x4 ?0"y40=4' 0+>`F4")~( 4bI,8@i+P%r@IL~&qHoD\G5A-S%LC5 .8 q>oBJL[$!RC+5 ;&N #+J#K#TF;X)Y)G'[QJ}&Q8@ 0kTw"ZJS3OL*HS4+H=IQ>9S!)G*,+=ALKT#"[G\G?@LTI`;!{31~>A@}<5sf'A3X2K. 86:TT&! 2j>>(OO42g T >B0M/'C%~38Gp$O&&T) HH OPJgFI-III .cCD"\~T?5 'LNJ#6%d''wK)B4 K#oGO- 57 W /).uGvGG#wG" % &@"11^48Q*PkI;5/wN$-(.Q T _,g,II0#2 '69:C3P8K5 K0Ph? D71,QE@J0/IQ=QCr>z"*-L] #:93M+:C@@'B:Q3*( K (5J >g:D+ wA;U""2'&f((KC=KC%=F0A-Bb; GN(I=6>G9"APGL8OQ XBQ jR#D5@9;A@AQ}0!= Q~ S H*(C4$575I9AiK+@AuxBy? Lx1v <>l2LE?B!U I+`/a"?-=[ LVa>LyBK;F vF/9AaP'^3E=|2A) J# A %O$ J%S-A  *% U1I"=Z)A!-.O|M& M4. :;5N%.: K)7>)R283{uQ+( h1c1 24/74e &04# KK`BaBn 7<Q#;!Dqjq$$G#Bm LK (++(1Y,#* R. PHDR""K'+  $j4F{5) |8P&+-D+<!sSBM|zlNQ #O21MGBOBB49<=c*7lIIG74$H6NPWLo">8/>yA 50m2alLAQQ }G"/@M3M8QFNz?f-001O&NQ-1HPXOH-HR /?*z4 AOD/,n2>eC\ w#2=2*. > qDUQy#tuo.Pt,&YO( &@ G&CL>7= *76"*p./b76sD5u>12O:H ~?}THO(:>2@?37+*b A MlT=e>K6TAW1 6L)32G19H2H'GQh&-GQG=T/".97,*6/. QaG&-A80?6-A9oTPF<,HGTE"J=##v {>& DDz2: yH? @pTK3535 ;;5/!H QQ.#k4\C+j o7;~O /%<QJ?B@2r=P.4OpA 8!56;} N v 2:*&  (?(sTO2yT2~HRU2>0a$7CV6N?J=C H-A -'"Q5cVDh.HB,ij1P9&4ZEI7S`J/&8%`DaD[F}11 OO{L$g@{8{L%Z>J24OSSS3&S Rnw/L,1/'.BPI7;Rrg0sO"w;LiD=;SEH8++>s dAY|8F+3KG1Oe8] #H=F0P9'h,9E{T-9@Tn'"=8F#"Q>CEI!CF#RA8bPcPI?=STR7-A1 QJ?&?AD7F}IdN*E+HK9H@3|* -/Hy H;81}!t@ 2G%*ND, -PY0F: &TED]8LPaJCEv7GI96 +% "H(6')1)S7[1 KRT?8>Y$r$'09=5q n%:4 J662mL(AF%T5>T-* IUI[7?.*QBM RBt 9KDS. :MO*@I-FDbH$'X1@1! ;M40L(/oSaFz>NOL&(MQ5"?.L=D("C::3K i#St9@q %BX7k /9L.@JO!]^)lPgS$V${  %iE3:>O$;$(`&+.(+ %;!\(PeO9),]H=/%S675 @9GnFGFxQT% ;19Y:#P7 B NJ,|A5 ''03C6O$?N,:8 <+,;!=<J.0?A.o69>GOQ4h5/2q'$PcB86T6;Y 9'=-Jw7T2F / TbJ>1R n;0 .S^9 2 I|:7%J<<+1>"\2-<.GIgeKy.3G1+OP X#0 +KR_2$$6(%V )+.(RTM%#S:& 3Rl(qG%R :l.ZM'#lCjL 2Dw'FKK$L~KCl.M$N :8T) 54aM)%X 2) !!xG%$ $R$g%T4-hMz'7u92E 2!I BE(#9$"9:^EE 3!"!9 JLD I6Ad< .O=vE/dB^DEB0& cJL ~wx^ s2$ 7F 7ERc;d;%OL%eWPa,b,H8E &2N4 ;3JY>H PON@ P= 7J;#] = K& S3 J+7"E3zHFu<5:.QHI7D*m0M*N*0&E6,)?F15SC O4.j/# ]p6~*698?;6(,#%:>5O6O+( 1Hq-)82A3G^LH:NQ :$-m/O+MA t? >**;4012#A$A>9QQ72KLs6*!Q50#R(/ M.EE'N~GU K P.*e+v )/Q/|SyN'Ox*|N>z%Q+[IIe=N:"IB)RZ<ORKZ/  ; : wF~8 V JaRHN @):)E6QKHA!)?=,$3IS+409DD;"`3W 0PEQ,,+A{4Ie8/&G43@%6* L`JK$7T%;& J!>j$Jx C; y/Ch8t#0F)-d>RD>>%::$ :/N$@Ew9 PJ"?>[@ 8X&;b3 JkR/Y1& ( $P0= M-(n+rJ'[)4M-S}M#32QJ#?xM@6yM"86170A{M6.U4=@=?,6GhY+S*KGB8*N -~] ?&2 2*o=. @l'EJK8EP]8K$ >V4h<'M'-4L4cSu&1C S*_K#%(@B`K0;M%H*S < K?+6`O8k))?NA@2O8g7NJ;;8_!/ @+B*Q(KvH;!wJJ: WD&MvEXQi"s87x+(KK *3LF) ]B@(' vQ2& >.69:1&@77 [$ 2COu7B(H.L'8 ODDMY9hFe'*TKI&IP*O UJj;?0 ;3Se./ 7@ ;: > 7R&^+89+I.pKqK +1TA%a+7&< KR2$ $9-q?7)FqCH HlM$CC;JSODO N1*RAT.@1I/!/!A/,&&D'( BPR"-P6DD'SL/;DH>7@cRE*5`EaETCJ.AeRtH49?">{FN!B6FQ0G/M !l e&&N 41=S>S$f7EZ 5A9F" DApSM!bDA(G 'O#>A OACp fA 046A4EJM>0?877r-?x !#FRB,D&E!KRJ@>7A..3G*y@tO 46Z4e;1H&HNN"-H9w&P<5 2 DBANA;N,7 4Hz+&hKqA G2] (/(/J;CJ> XT IQ}@'Z.5[#[ HOBBDJ_Dl  IFGF3X! S?8Rn:EM&7SF*$*T8*8"F2%1513B%&.k0J,B #@5 0dSz!GJjmS"NR,/ \I E ?7'/-HCLxFD YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZ Z Z Z Z ZZZZZZZZZZZZZZZZZZZ Z!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,Z-Z.Z/Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z:Z;ZZ "%HFHDv~]BJJKLMNmpXZ\^`bdfrshj|SRGOPCABKEOPLN?Z@ZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZY`gnu|\\\\\\X_fmt{W^elszV]dkry\\'I<6|:ZA'H18\\Zahov}\\ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ Dy $&TU\cjqx(+~-/  023459   <>@EZ[[[[[[[[[ [ [ [ [ [[[[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[2[3[4[5[6[7[8[9[:[;[<[=[>[?[@[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[P[Q[R[S[T[U[V[W[X[Y[Z[[[\[][^[   "$&(*,\\\\\\\\\\\_[`[a[b[c[d[e[f[g[h[i[j[k[l[m[n[o[p[q[r[s[t[u[v[w[x[y[z[{[|[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[   !#%')+\\\\\\\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\ \ \ \ \ \\\\\\\\\\\\\\\\\\ "$&(*,.02468:<>@\\\\\\\\!#%')+-/13579;=?A\\\\\\\nqY[]_aceg\\ik=A\RW\\\\\\\\\\ \!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\0\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?\@\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\[\\\]\^\_\`\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\{\|\}\~\BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~\\\\\\\\\\\\\\\CEGIKMOQSUWY[]_acegikmoqsuwy{}\\\\\\\\\\\\\G:IIQ{   )*+,-./3579;=?><:8640@12QzMtu\\\\\\\\\\\\\\\\\-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ\\\\\\\\\\\\\\\\\\\\\[bipw~%Q)FC\R\\\\] ]]w]]STUV678!#*', ;?lox}1.]]]]]]]]] ] ] ] ] ]]]]]]]]]]]]]   !"#$%&'(]]]]]] ]!]"]#]$]%]&]'](]}"OC>PFc7;>e$7*ABQQG,7G/.Dj1T K#2L#G~TQQF&,OT@M5 >G{DR LH;,(,:)M 3M82*JP*,al Om&E6>HB:D95- "dCeC:.UUUUUUU U!U"U#U$U%U&U'U(U)U*U+U,U-U.U/U0U1U2U3U4U5U6U7U8U9U:U;UU?U@UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU[U\U]U^U_U`UaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUx. +&J-<9i(;CA+m5P-)nC1!+S](:94$RUC oL1pL WfAG*M HN E 02I0(F 7y7 e58*8;T'P2%0BfR(GzE'HE;3JFCBLy Ez/$| K@ =nAwUxUyUzU{U|U}U~UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUULA N!*#>C L,FVGCF}E'AK'%;?0O7+M#+8@= a b()2S3f-L*| F=E 6+K@`6D/ NS E&4F'85;H@tAP jK)<'%B$=2 8P9UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVV V V V V VVVVVVVVVVVVVVVVVVV V!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V\#V?V@VAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~VVVVVVVVVVVVVVVVVVVfIr  ' +S0R' )K28CA(|.=S!'}Au @;KGl=.3/8j6:=8(nO0&5*;',+Nh=,$?'$' VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVB0]Y 9Q-+RBE yF1Bw |TTFHQTQg7-<>::@J<[ *w Dh><* D6;1iy9+JYP)&=` +!G> q8HRQ4M3H| >@"J!BEJP |.$Pu8F WJT: 7I(J(3O&23VVVVVVVVVVVVVVVVVWWWWWWWWW W W W W WWWWWWWWWWWWWWWWWWW W!W"W#W$W%W&W'W(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W9W:W;WW?W@WAWBWCWDWEWFWGWHWIWJWKWLW's$DC > K EC?q.SM!@K$%9v ''* SHMQ*% #a:FKKK'<):);)7JKT3mNm*. ?'j,/GP 2kDD Ot HD I E%v03Y/W445cO7!8!RgOhOO1SKTS\]Y[Zdlrq{} "%&#4<EB.FQJHWZX`Yfgkyvzswx.P?aLgX4 (O %E /c(EyR %?1Mi=DB}+,09,N.r*{C59 HQH08 P"i8*k, SP69-@T4 U+'%>cg-#,DFP(Hq,VRl,*&3Q *CAu#7=k?%I9 4&Q= +'(;FEMTU]dkeqz}  !67,EFH>ON^v%#f; ;0(KRL)B4E1N *F=E[A-+@l" _ 4,^!O&PXJ\",-: 2( )`.:B*1^8&W ^IE,_IPP* 6B.FH++0+$"F+ p(+(*nB5'TCIB-4e-NAQ&BQL"/-% L/A'-TJQ` &>QJSQ5S_.\4O":l#3=|>!Gg)(US6Qo#$!(#)/1B:6JNOehlunsmv1-;/JBIFKdXUas{p,+/.;/ 'T(ME)F)?IB' B.IIRUTE G& T=MEQb5k; 6!*R (:NK@)4#YJm3$D+1S>>T )s;i.7i5.UM0+>@ ")m7SF%Y G[L+8OHf$HE?R1APK HD g"g SEBHUZQPWaeuhkt{  *5',&)<H?]c`dghq{zr|<1( :SAM?"G4HH=- w= &BA"Q 3P"" &N` N34O(r3 8z:2 \18.+4SB'']:ix,J9t40!%HS& `?!$/! 2*R|?:;3F~SMr!0I\j7BR,ac3 , |/L'%70XWd_`\chYk}t{rvswux!$.-('&<=QCFNDR]dckx.) 9i*;94 ,)4* JH|#;-60wYR#~ >%F$B /E>BQ ;;SU=s"8N.CD1#T.;dLHPQJ7R(&Q!CdOnV2R!o TSF;`C0E8M} )8AiC:xE*'$&54B?AFibVmUYXWw|} #8?UFCOBEJnyrw; (Svk3&4+2p8@N<N 6Q .2FD 6/S O7)S2'2 =G7^ 0t0VM>"OP7I"m"0NSC(-;_ ;$R&%DF+Q7 &@ o,># ;u$-D(a9N1.1!0  ((pG 60S0`2&b9-)+86_^DA]CK?<ios "!.0(<=?_g[PLN$@#L NPR4%& TG%8)KNSmM#8ZP,8.- P?2OA-7! 6];J^PV+<f r,R ;j)>&dS^`$ 4C8Y%N(( 1lO  ,76=<LJIMecbdot(9K>vOUkhfiXdWY`](5B%;26<)+TQ%%D.8wE[hS<6mL,66.n b&"X9,C>.%U6.=3$K:QDL_RFM]]L}?5@H4,SW>V.9 /P.7aQ00N5J y ~N(Q_1 eNB*D48S4 K#)1rypvxwYD<@I;dn|w}+JFC,"GP#M'S7GH+?P  82R,CT4s,9T"05xDpR _ " <|D"4)GFVC3*>5=J$D D>V:Cm  @P) [49F>D|3uE=EDoB9=R;"p#7SQ^G.3('6>1&|stvr!' C87;G5}WS \lwabE5VT^ |%)^& 571S1?2C}9@-+DH&YTAJ#='8$52<!,96#E^QP|vbk{sl`   : > = < { V m Q Z o w b P l _ e ! ! )!3!.!'!(!G!RiN  BMuTE8?"7nKZJS-/R 5:lNBn 5<ANPeS6N'.'D'3''''''''''''''''''''f Fk ZT?6 i0&4&/O3 F {$8;9[6=/' 4Ng h)#O3(Y$KmI32N+ ceQfQPO Q1LW?=!G=78&:L@E0 DE=H " & &@8#&& 8:=?#.{QA =.V3k=='(((((!(<(B(F(D(S(Q(_(R(W((}(~((((L((((((((((()(( )))))))()#)$)")()=)>)A)B)K)S)N)M)P)Q)i)t)|)p)u)x)y)z)))))))))))))))))))))))) *****(AP:;JPI<4$"}9 5C6M3Ba/*/LT5@10AA&"84j=(TCQ-/BT(C,}4!? H+/ QE,CTM ={ *tDuD)vD'.@@dEu2L%&h7>* l8j< cEE> >V-,0$Pa;Fi&:U*+*3*/**)*A*I*Q*X*K*L*h*a*p*q*x**s**********************+ +*++&+%+X+8+@+;+1+4+/+M+l+h+g+|+m+q+++++++++++++++++++++,, , ,,,/,,$,,6,9,=,^)P04l d l-,5m8  0A*a6Ma w).p[-9eNGR6>M@W2Z?z9<;S9J&0D).(./% >S(K(oF<>-& a D<yQ $ICU;l/SQ "h. ! #1&>1 Fb-ANC,R,D,E,K,H,U,X,[,p,,,d,z,y,f,,,,,,,,,,,,,,,,,,,,,e-,,,,-,, - ----0-@-T-R-]-_-i-k-,s-t-z---~-{-------7G------------.- . .-)./...6.+.CjEE`##?Go( N)4N5)-N;2A@&=I +.@PQfE;wC405LEI E86- [TB,>[J4( pFH 2(Il1-.E.K.O.U.R.^.].Z.n.}.............................../// /////'/1/3/>/B/C/G/F/K/N/U/W/_/c/i/m/k/g/{/t/s///////////////////////00(t( :0GG$==/I1+L9T^?;Q>+@1@5R-  n*5lJ*LIS3+0X |%KIS-sEHBX{OS-*8l@ SQ -aF%5kj L{:T&JAYI D-{LSVC*QR 000/'0-0>050C0K0H0F0]0e0c0o0x0000000000000000000000000011 11"1 1$1210111513191F1E1\1^1P1V1K1G1O1f1M1J1{11|1~1111t111s1111111112111111282R > ( 3" 0$9_S |L4@ %5J~JNE; m KAASo,bST>I4;n /*=E*B /!SG H h? LW.7C@g-,>u-B* f4]T#(s@-M#!1N[\) i O*%3 3H<$3;$2%2>202<2C2*232N2+2I2w22u2v2p222222222222222223 3 33"33333;3L3J3F3B3?3D3R3U3W3Z3\3v3u3t333333333333333333333343444P4=464E4?44m44n44w4u44:y3?`R'N"4!C?LL@&F(-@ D,aK}#~#y+TUT6YBI45)/klGi>S3Z+78RAD@(?HG;4P8#QT4444445454444555%5$5'5(57595/5-5L5N5Z5^5a5d5p5v5w5u5z555555555555555555555555555566 6!6(6=61656%6E6D6B6G6R6Z6X6m6x6w66666666666666fH~M*N9MSg5UF/#E@5L:J8 8NP.6%&5M%E A E>'2T0 M *M /#1,R& 0$4 @>>M:J) (P$66666666676677/7(7#7'7$7%7>7C7H7N7R7d77Z7T7X7r7_7}7~77777777777777777777777777777777 888 8888188!88838-8$8G8N8O8V8f8c8o8j8z8w888v882*eGa'Y9-(87.F[x >8LF\+,(5R0{+ -} Js7Jy 37j"2)O&%W@28+.n6$L-3 B)=NL(5$=!06N9#+:GE RAjl:!DB'jN7;f'GMB:f.FmN?M8888888888888888888888999 9 999999/99+9S999!9,9F9W9299 9D9&999*9(9$9%9j9k9o9m9q9v9u9r9|9t9999999999999999999999R9999999999DB C?+$@82&!M R=m453@'.hrN%9R999999999:::::%:#:&:/:(:):1:::7:6:U:h:e:P:L:J:I:x::~::{::::y::::::::::::?::::;;;;;;;;;7;<;=;@;O;P;N;X;g;Z;r;b;h;\;};;;;;;;;;;;;;;;w%'!F3#:?Aq6r61k(:>@*uN0LF."F/4:Zn5zJmC\M5 5&6&J2EK'\>5 Nu'H*g#$3 %*$$a[Q@#n?%5$s)g#(6=$58DJ8)*R:D E /E(u gGOO"B9;;;;;;;;<<< < <<<<#< <(===[=^=q=c=m=f==============@4 8 [P7^L!,TC*B A2@MM0!1$>1M H31TR,?EFtW5P/- 0( h %rO<0Q.CO=]K L=*&;I3C% J0q7yI?u,e3 4$E\4o>D 0S-FPj^CH$M7Lye M======>> >->=>>'>>(>B>A>C>@>H>K>R>Q>]>^>`>b>o>s>x>v>y>>>>>>>>>>>>>>>>>>??? ?,?(?3?5?A?>?I?B???P?V?^?b?n?e?j?{??r??w?????????????????????: 16MS!b:a)%AeAYAjA[AuA]AgA^AAAAAAAAAAAAAAAABAAA:1=7(@R~ 40Lb5(3J@'D"*qPP)' /% *(D,Tq:,4<|Q/ 4&jBBSv$ !!JK-.D, Fr: b%7I] 2 C83}Kp%8O#FR(OfDG*D16S$#,%AAAABAAAAAAAFB8B6B4B:BWBVBSBuBBsBzBBBBBBBBBBBBBBBCBBCB$C#C/C-C C'C"C6CPCQCuCCrCCCCzCCxCvCCCCCCCCCCCCCCCCCCCCC D DDCOD+DDCC(7C@ @ StL]I/^.RH IRREQwDU5FQ,!nV5?'HU7i cFPqI.QQX5J>,(AF_P~4?DIDQDJDTDSDPDcDbDdDeDDhDrDDjDyDlDzDDDDDDDDDDDDDDDDDDEE EEEE E E(E#E"E!E5E9E7E:E8EGEFEREIEMEUEVE[E]EbEtEE~ExE|E{EEEEEEEEEEEEEEEEEEEEEFF*F+F'FM2+G C "57t,m*6RQJf!.E7N#-9Tm#Z% 88P'1JkfS$:O5W%ExR#G2S/7 PN;.f5M-Q6-3Ki" &'%85F9F@F?FVFWF^FZFmFtFFFFFFFFFFFFFFFFFFFFFFFFFFFGG G G-G$G/G'G,GUGEGRG_GJGCGHGfGZGMGLGGGGGGGGGGGGGGGGGG HHH HHHHHH$HHEH>HFHCHXH\HjHhHaHH )^JDC@z7PUS ? NACF5 *#%Ou;j.|3& 9W<#SQ;9[?c9bDN #(NBC$xP! O N8 J$ GAOin$:GR Y0v*o+p++<9:wP u+=&HQ9!@BHlHHvH{HpHHHHHHHHHHHHHHHHHHHHH&I8I-I9I7I0I+I,IIRI|ItIOIpIIVIYIaIIIIIIIIIIIIIIIIhJJ/JII0J(JAJIIJ)JIIJIIgJJIJJJJJJJJJJJJJJJ7?B=L$3?/ 0,tKS4O i~)4"@!4)"$a87G=B44 Q; f IT4K9_4E-D(fOE7RjF" $BI(!.BG2BIG;C4D4F6FJ3GKK/KK=KK+KYKZK[KXKiKTKvKVKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKLL+L'L&L>L@LSLLL=L?LYL`LeLrLLLLLjLvLLuLLbLLLgLLLLLLLLLLMLLL!MMMM%M MLL,MdH:X8JD =Dh-r LQSEE 8XG6SEJJ; 98EPS-QH4TOW'JZHF- /R!Jn HO?zI4EP0XE4; Th 3UL<"G3}39L[D C7AAv:b~~3:P4:3 : "4" >Dl;??C  ;FJ,J/0S` Sj19O@18$FNG< {;C^2 &t.KIxOT{J|J7|5|.2,;&}RIK]MwP&FN$b8@%IKyPG @ H}5K $ D".NJ OH>5KEWEdRU8ERS SS-S2S3S5S8SESQSPSRSaS\SeS[SrSjSlSwSxSuSS}SSSSSSSSSSSSSSSSSSSSSS1TS T2T!T8T?T7TcTNT^TFTHTjTzTTTTTTTTTTTTTTTTTTTTTTUU UUUUU)]*]+],]-]B2fBqEBB&: (1[% r9CR RHH #>JJ, *"v BR\TBB@5`TXsJ0,/=,RLv,:+""%-L]>J*BiJ E<$!PM<Jv?0< OQ A-6/ <-xL0|>_HkH4Q9DK#2MM?-{?AL"!RI=e[., G%A4O%L0K:26.S9)@@=F"c fGxD?kT"(<._ ARH/>F: >>742TNN AF{#1>#::P>Gu*D')1lK)$&NC?K!ICN9GGSF (NMqRNA,>B B5 s ( *4T'=4o 733/NZ=:N/A! MK17?"JBX'*y" 2S :b+AR!,AGT7.R d-{;;Ps4WI"$_&8@4'QE@3m"ATS5@LT8^;s 8|FHMFgSZ0@, ;B9r+iP .D ,9 3++U1AY@. .b)($?5Tl3k1D ]T/QLT KO ?2O+='N (&o< 1;kB%#$}Q2~Q/aT&N->2 C pOx-!ME F5i7"9>t  ,1T*]6"{2GS@/>6 v"J$M*K]&0 D%0J-22v?JE1CGG)Nu%X /Qt6tC 3A2y1\72RW"Ie,0'5,c53 8'-Kf*UK3+72gI~5 ? >ER=!35;E4_F ,1w u)WK4"KY' P"JH/*ghQ/S6=RQ|H!#J3M90"& "4(|!5rRNQ7x&8M7LI5kP?l3uR-b'nPOz&T7? !I/2-05c).a&f665HBC< 2 "LG9TM@POL@!tPBq2);^R!y8@/L* L%w>B!D; L%D?;$K 11A: -Z1:9=L.>` .GT ?\KcM25C?x! 2.#ZB.=&(. FSP8P6{, /@|%>:]$fK+M;*^B-&? 'M(/ IS@qFvP0Od$Yv'7!IS(^MmJ$/%%v(*' gRZ&@ T@# XFDG IJ`.b.P )I58I6rZLII1VO?>S m 'RL -S i S< ?4FxML-iIc&FHLJ4^mI4k"E&F!l6T+1yDF?\J@:~<76FfCf3%43.G+I"% IANO/K&l9*>Y [5`{NIm)H!=Hc,\ 1&y2 ^OG3L F #M9 $ =:O.6)'KrQVPA%;I#@ fLmRM H= M. Q;G, =8PLbN @-H F;q. M;)PT9g ";Pz-(3 5X28FAMI&\9)O<94%M%L)e%=1V7hL$6?!DK8M Y R?"G8r"jPDN(TO 106EST8-I< ?9gM _" $UOR`HVI r%c3JzN_!B'P,.W>-KM:"Q8 &`IC )[^E2I."r+,+O\.,) h$EA[O;NAU"O.+&KS0P<} B7|&E5BV.I$NG (^DA8$eB4:DS13hRT0#-LC! K36I*6$9L\N#CC:{<%,AF6 TTI3AC3N3Kz*' &:S3*3EFCO@.Q*&8 +I"+"2&NKWGNzK[ =4$%9'  -% #>K)#:J\ ?$("@j3;".] ;Wv-p<:> ~/${0b1&KZ:v+/ &1( (.3M(" }!BI6/36--?-O)/'FLL3LM?Qu/< O-BN%LGTU*0 PM_=20 N TL K&1T@($:GA.G2R49/HJDw 0EMJ2,D L*J}265 X.6MNI3/mJ4!$J3R[B5N9+l!\' -/-M:UaLP9O9=s 5;4Ir)-7; 3+KC@x@*D-O} &DF}= ;JQ8t<>vB5LQ _ICL;:B,hE6SS3-(0`AoI/_EC*?LD'9KD bAQ.u aA! Z :.N. / UH U}- IZIG>%Gr!F~28;JF1P8 8.Sc N0.>2=Ok*O2>%N/H{,9Q,-.rX,P1EsI 58,J:!sR C2>},$<9ME5TQ7h _B2E5/=R,,"HC9CjE;!<$.0/6]+@IJ5"ZN:@2"e#IA=4a3?E ?  `N+#%S=3;2KT,3  '!+}=:9DG@T,!;(g#Q$MB@415s=65!iS/2:1:XwM,+Dd+z1@z?$9'V( H:6'e*)*1(%#/|6 w]%<&SPk>'T M9<e)!"g'/(.%2p/ +0@&FPJDRE\I(/F 9i:t775>#T//CFyS$VO";^#@p TQD.T >@?6>!P,=xO#6H BL>"8_@4P@o38I#.3K;_%p O&66)1SfDzK NoS+l f+HLk F.P2S2A&Y2 GcA O^I-Cc 2/^U%K4DC=H5#?(6 Y4BM;'C& D+v;#g>Q!Q$\B a.R+-cMI 5:FG_AL3O>xTI+c\p:#F~PP:RTmEH*.a2*A B&;!HIz.@6<;2D:q G/ u6:T;AqERFM&9*,)$TDJ.kL: ~R^7Y3G598&0]R%0C?)C;\1@owj~.M=AIA,900 %5G2|0$OB7-):.SQ N:|TI.;C9N0 %1"vSQA '7[ O/CH:XLR{u?"@'6yTI(?"2o p1p<$*Kl9K(E 'Nj9%B'B!:lPa2 (F/120'7EC A#u:'N-0z;8349Hq.Eno2VR+E%$jT"7/#F: !)t(JC" (w(p$PHCq3B $.$T 4&/)T9)N&.&!z#O)ce%) E$ .T;I' G2CPQ%K T;<5j'#  !&H+*)97*YGOl7m!!Wn664CD,B:vO`-O/B]'?6] Y,!7q#X$(=L7- NN4#'97r#;G@hGJM@4H@@J#@5v)k Y&<j / p8!-aOC&$0D #4m (MC IF*dKP;;DLj `@:5RD2e1 FH*B7-=19"hIQSP#Q42^<s9B(LQ4*0P*mA/q J0!_3;V=G)NNA< BJ65&>0S;:MbCK-$P JR((B%%LQJ3K2N NL M;e: NKZ!B'6%$-kFN,7,7,/4Nd H* ,} wOc'm1vRzOJ*S>h'4KAn'o'|JVt*, =69 (<140 B, UGJ"6N 1Y  :LMM A5MY6<S,nH2'we!Y(zg8RUP4DQf1{)G"6O0PW+>s) E/?-41GLPT@?0 )-+Y?9 K)F;H&HA** G'M?F>'*7hNBJFMo;hC!a L EBx%9:BQ|4U0+@Q P=1BSeBo5F#? -E9*B3O~B-A 2!-A RwKF&mP634:+O!QRpE+X">+) 8uMoIF;AT ,#k;F-y.M?|N/9 "/0'R $3[@#[8II!C0$=sU>#tn) > KNa\>>0#>TTr H#@0%G0$-%ULO I0(P&>D `7*b.yK;4pC0x('%.5>0KK$L?BOZ6><&OF7 es:c@8HH:!6w'KB'l0m0'opq&r7rE HO\:H'y8'<:?O>5"M ^ J;J SIU< =:P95=qH3>07= Q7 g<+6m$#<:"POX%r D)'l!E$3 U2.C "S#l/ 3<Ti3~!d:=:`H(2*, ,'GJZan< *{)KTMF !,1('#?1P 2SpJUn6RR8 Q*Tn,9(,D$!5 CNH 6$Bm-cW!);L BH]9]SCIr P@.qN<9@B:$AK!P7-q5HA0KpMP`W\(4 S:QeE&))%$M5C=sA+   *AH6KP'&RM%(c-'6{%7%L!I OX/ S)FKGsIQl$A 2C17RL@LcL4 #8JoG(6I/J7->>CN[0D)#MUs??/ F!SVQ/E56QN@sQM (L8 ?=J41402PM/R| 'S. /Nd'P;OH9??:')W0<R5<F4A87?RJ)wRs '0 :3?*j ,}`)KO'J #kJ304J:A3S"H=!LFz L*IS,5*/} P0"% )&x M= ^ 2)(#J }P2;6%/FE2! $+T: :$<.0(w.,*. Q'0.7#0<1uN$c>F>Z! E:(zS|R8X0a#<#bT#"11G6GHA_0 `022L2=4BdT#6t:#?g:d2 R'/60t2>4l*"0v6VCJ d%LY5O 4T' PL4mE-QX:4=#1-HW*r8RP7QA% ;231A7M;J0=5l?J$+~ 5*-H#!:L L1(b4[*3 *F*CJ"I?0RG((=C::9 PBH%u5JQEx3IT ; #:>@F@G@L%J4 9=3">U0LW;K/D@/L T,&:(3DN;="y(HH3!>3z$6Q#+kE[5k Z#M/gQ=\*I%54 #/1S7;T=%W=/:)MB <7/_9j0<BC9RP9^*//7"+&+@%4,K3B79RyL&@P-T40 8O:%:=M  h"YC]G4 Q6!J9?.7BD3Og3#S629?6 L"MDP6#/ %4 .;+(QeT0:#1!&P/)6** 7E&f2g22-#?.s5a-B;jMkMGnDffT'i7*11EQM>o1n&n01E GOL 5|.u?0Lj377j>,\8M0(@b(NO,!L^0I,BN T#RsLzL{ B-.1 e7I0R^(ROA7N@+p9 +w3-O]4472;k<BBT+'%=AS&T6N E6l4IP'A$S L0fJc+nQ11H 4 &TN%-|PxD +RrIj4/i' ?Ne40N!@ @#L0-E<O r8` ;9C& @NPRK&)?>IjJ`@|"bCN$Q!nEn?!0=+7O;3Ln-uP:UAg4z71=a%;7<7!+ 7%T"BKC8T13Co- 0= ?C5,QG8 >$]#e/)=Ef)s'T:%#+gTR-LN8E83=ER#hT% 59O??L 6O&G0414w:H6B2?e96%F@-LO00!4>7O"O{"uM!8()2"*?Gm&"D? CG=+18' ! y1?nTA YMI[!\!v#B]!1 l>=1="~AD8# $/(#09TS/h4b2 (C53 >FM1;% I{SP"c#81?vJwJ@T#cq1  !xJT]99q +6244=5=N_*U >GMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXM0d#*>KG A6 dJKMC@8 )4DV|= >PHLI.r R'K( :SLWA !JI)TfMPK(>MClFJD09)1B X X X X XXXXXXXXXXXXXXXXXXX X!X"X#X$X%X&X'X(X)X*X+X,X-X.X/X0X1X2X3X4X5X6X7X8X9X:X;XX?X@XAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX[X\X]X^X_X`XaXbXcXdXeXfXIm+OLO#I^"~ JJP B>,2G*G N @GGGPP" MI*OG|(_,MJ 40 N?R\Q$+&? ( }+3TaWMWMs<<9!@A"?;R4889=7 BXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYY Y Y Y Y YYYYYYYYYYYYYYYYYYY Y!Y"Y8 Gm>w:C$HAADE@kOr.;-1O'TekK FJD)Of9T GM =v'p' 5DJ.H TNL I-*O 4UNG.AJ T #GJ'9/:/G( (! }' c44b #!DN7$V&\%&#Y$Y%Y&Y'Y(Y)Y*Y+Y,Y-Y.Y/Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y:Y;YY?Y@YAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzY{Y|Y}Y~YYYA:M16G L%vk8}\DCE .]/]0]1]2]3]4]5]6]7]8]9]:];]<]=]>]?]@]A]B]C]D]E]F]G]H]I]J]K]L]M]N]O]P]Q]R]S]T]U]V]W]X]Y]Z][]\]]]^]_]`]a]b]c]d]e]f]g]h]i]j]k]l]m]n]o]p]q]r]s]t]u]v]w]x]y]z]{]|]}]YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\][^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}Y@@?AA?BB?CC?DD?EE?FF?GG?HH?II?JJ?KK?LL?MM?NN?OO?PP?QQ?RR?SS?TT?UU?VV?WW?XX?YY?ZZ?[[?\\?]]?^^?__?``?aa?bb?cc?dd?ee?ff?gg?hh?ii?jj?kk?ll?mm?nn?oo?pp?qq?rr?ss?tt?uu?vv?ww?xx?yy?zz?{{?||?}}?~~??????????????????????????????????ѧҧӧԧէ֧קا٧ڧۧܧݧާߧ !"#$%&'()*+,-./§§?çç?ħħ?ŧŧ?ƧƧ?ǧǧ?ȧȧ?ɧɧ?ʧʧ?˧˧?̧̧?ͧͧ?ΧΧ?ϧϧ?ЧЧ?ѧ0ҧ1ӧ2ԧ3է4֧5קQا6٧7ڧ8ۧ9ܧ:ݧ;ާ<ߧ=>?@ABCDEFGHIJKLMNO?????????????@@?AA?BB?CC?DD?EE?FF?GG?HH?II?JJ?KK?LL?MM?NN?OO?PP?QQ?RR?SS?TT?UU?VV?WW?XX?YY?ZZ?[[?\\?]]?^^?__?``?aa?bb?cc?dd?ee?ff?gg?hh?ii?jj?kk?ll?mm?nn?oo?pp?qq?rr?ss?tt?uu?vv?ww?xx?yy?zz?{{?||?}}?~~??????????????????????????????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ٦٦?ڦڦ?ۦۦ?ܦܦ?ݦݦ?ަަ?ߦߦ?569:?@=>ABCD??;<781?34?????????@@?AA?BB?CC?DD?EE?FF?GG?HH?II?JJ?KK?LL?MM?NN?OO?PP?QQ?RR?SS?TT?UU?VV?WW?XX?YY?ZZ?[[?\\?]]?^^?__?``?aa?bb?cc?dd?ee?ff?gg?hh?ii?jj?kk?ll?mm?nn?oo?pp?qq?rr?ss?tt?uu?vv?ww?xx?yy?zz?{{?||?}}?~~??????????????????????????????????  !£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:ۣۣ;ܣܣ<ݣݣ=ޣޣ>ߣߣ?@A£BãCģDţEƣFǣGȣHɣIʣJˣḲLͣMΣNϣOУPѣQңRӣSԣTգU֣VףWأX٣YڣZ[\]@@?AA?BB?CC?DD?EE?FF?GG?HH?II?JJ?KK?LL?MM?NN?OO?PP?QQ?RR?SS?TT?UU?VV?WW?XX?YY?ZZ?[[?\\?]]?^^?__?``?aa?bb?cc?dd?ee?ff?gg?hh?ii?jj?kk?ll?mm?nn?oo?pp?qq?rr?ss?tt?uu?vv?ww?xx?yy?zz?{{?||?}}?~~??????????????????????????????????p!q!r!s!t!u!v!w!x!y!??????$$$$$$$$$$$$$$$$$¢¢$ââ$ĢĢ$ŢŢt$ƢƢu$ǢǢv$ȢȢw$ɢɢx$ʢʢy$ˢˢz$̢̢{$͢͢|$΢΢}$ϢϢ~$ТТ$ѢѢ$ҢҢ$ӢӢ$ԢԢ$բբ$֢֢$עע$آآ$٢٢`$ڢڢa$ۢۢb$ܢܢc$ݢݢd$ޢޢe$ߢߢf$g$h$i$?? 2!2"2#2$2%2&2'2(2)2??`!a!b!c!d!e!f!g!h!i!j!k!??  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H Character%s expected%s is too longContractionExpansioncontextSyntax error[version 4.0.0][version 5.2.0][shift-after-method expand][shift-after-method simple][before primary][before 1][before secondary][before 2][before tertiary][before 3][before quaternary][before 4]Logical positionEOF%s at '%s' for COLLATION : %sShiftgb18030gb18030_unicode_520_ciutf16_vietnamese_ciutf16_unicode_520_ciutf16_croatian_ciutf16_german2_ciutf16_sinhala_ciutf16_hungarian_ciutf16_esperanto_ciutf16_persian_ciutf16_roman_ciutf16_spanish2_ciutf16_slovak_ciutf16_lithuanian_ciutf16_danish_ciutf16_czech_ciutf16_turkish_ciutf16_swedish_ciutf16_spanish_ciutf16_estonian_ciutf16_polish_ciutf16_slovenian_ciutf16_romanian_ciutf16_latvian_ciutf16_icelandic_ciutf16_unicode_ciutf32_vietnamese_ciutf32_unicode_520_ciutf32_croatian_ciutf32_german2_ciutf32_sinhala_ciutf32_hungarian_ciutf32_esperanto_ciutf32_persian_ciutf32_roman_ciutf32_spanish2_ciutf32_slovak_ciutf32_lithuanian_ciutf32_danish_ciutf32_czech_ciutf32_turkish_ciutf32_swedish_ciutf32_spanish_ciutf32_estonian_ciutf32_polish_ciutf32_slovenian_ciutf32_romanian_ciutf32_latvian_ciutf32_icelandic_ciutf32_unicode_ciutf8mb4_vietnamese_ciutf8mb4_unicode_520_ciutf8mb4_croatian_ciutf8mb4_german2_ciutf8mb4_sinhala_ciutf8mb4_hungarian_ciutf8mb4_esperanto_ciutf8mb4_persian_ciutf8mb4_roman_ciutf8mb4_spanish2_ciutf8mb4_slovak_ciutf8mb4_lithuanian_ciutf8mb4_danish_ciutf8mb4_czech_ciutf8mb4_turkish_ciutf8mb4_swedish_ciutf8mb4_spanish_ciutf8mb4_estonian_ciutf8mb4_polish_ciutf8mb4_slovenian_ciutf8mb4_romanian_ciutf8mb4_latvian_ciutf8mb4_icelandic_ciutf8mb4_unicode_ciutf8_vietnamese_ciutf8_unicode_520_ciutf8_croatian_ciutf8_german2_ciutf8_sinhala_ciutf8_hungarian_ciutf8_esperanto_ciutf8_persian_ciutf8_roman_ciutf8_spanish2_ciutf8_slovak_ciutf8_lithuanian_ciutf8_danish_ciutf8_czech_ciutf8_turkish_ciutf8_swedish_ciutf8_spanish_ciutf8_estonian_ciutf8_polish_ciutf8_slovenian_ciutf8_romanian_ciutf8_latvian_ciutf8_icelandic_ciutf8_unicode_ciucs2_vietnamese_ciucs2_unicode_520_ciucs2_croatian_ciucs2_german2_ciucs2_sinhala_ciucs2_hungarian_ciucs2_esperanto_ciucs2_persian_ciucs2_roman_ciucs2_spanish2_ciucs2_slovak_ciucs2_lithuanian_ciucs2_danish_ciucs2_czech_ciucs2_turkish_ciucs2_swedish_ciucs2_spanish_ciucs2_estonian_ciucs2_polish_ciucs2_slovenian_ciucs2_romanian_ciucs2_latvian_ciucs2_icelandic_ciucs2_unicode_ciShift character out of range: u%04XReset character out of range: u%04XCan't reset before a primary ignorable character U+%04lX ((((( H  ((((( H  &A << \u00E0 <<< \u00C0 << \u1EA3 <<< \u1EA2 << \u00E3 <<< \u00C3 << \u00E1 <<< \u00C1 << \u1EA1 <<< \u1EA0 < \u0103 <<< \u0102 << \u1EB1 <<< \u1EB0 << \u1EB3 <<< \u1EB2 << \u1EB5 <<< \u1EB4 << \u1EAF <<< \u1EAE << \u1EB7 <<< \u1EB6 < \u00E2 <<< \u00C2 << \u1EA7 <<< \u1EA6 << \u1EA9 <<< \u1EA8 << \u1EAB <<< \u1EAA << \u1EA5 <<< \u1EA4 << \u1EAD <<< \u1EAC &D < \u0111 <<< \u0110 &E << \u00E8 <<< \u00C8 << \u1EBB <<< \u1EBA << \u1EBD <<< \u1EBC << \u00E9 <<< \u00C9 << \u1EB9 <<< \u1EB8 < \u00EA <<< \u00CA << \u1EC1 <<< \u1EC0 << \u1EC3 <<< \u1EC2 << \u1EC5 <<< \u1EC4 << \u1EBF <<< \u1EBE << \u1EC7 <<< \u1EC6 &I << \u00EC <<< \u00CC << \u1EC9 <<< \u1EC8 << \u0129 <<< \u0128 << \u00ED <<< \u00CD << \u1ECB <<< \u1ECA &O << \u00F2 <<< \u00D2 << \u1ECF <<< \u1ECE << \u00F5 <<< \u00D5 << \u00F3 <<< \u00D3 << \u1ECD <<< \u1ECC < \u00F4 <<< \u00D4 << \u1ED3 <<< \u1ED2 << \u1ED5 <<< \u1ED4 << \u1ED7 <<< \u1ED6 << \u1ED1 <<< \u1ED0 << \u1ED9 <<< \u1ED8 < \u01A1 <<< \u01A0 << \u1EDD <<< \u1EDC << \u1EDF <<< \u1EDE << \u1EE1 <<< \u1EE0 << \u1EDB <<< \u1EDA << \u1EE3 <<< \u1EE2 &U << \u00F9 <<< \u00D9 << \u1EE7 <<< \u1EE6 << \u0169 <<< \u0168 << \u00FA <<< \u00DA << \u1EE5 <<< \u1EE4 < \u01B0 <<< \u01AF << \u1EEB <<< \u1EEA << \u1EED <<< \u1EEC << \u1EEF <<< \u1EEE << \u1EE9 <<< \u1EE8 << \u1EF1 <<< \u1EF0 &Y << \u1EF3 <<< \u1EF2 << \u1EF7 <<< \u1EF6 << \u1EF9 <<< \u1EF8 << \u00FD <<< \u00DD << \u1EF5 <<< \u1EF4& \u0D96 < \u0D82 < \u0D83 < \u0D9A < \u0D9B < \u0D9C < \u0D9D< \u0D9E < \u0D9F < \u0DA0 < \u0DA1 < \u0DA2 < \u0DA3< \u0DA5 < \u0DA4 < \u0DA6< \u0DA7 < \u0DA8 < \u0DA9 < \u0DAA < \u0DAB < \u0DAC< \u0DAD < \u0DAE < \u0DAF < \u0DB0 < \u0DB1< \u0DB3 < \u0DB4 < \u0DB5 < \u0DB6 < \u0DB7 < \u0DB8< \u0DB9 < \u0DBA < \u0DBB < \u0DBD < \u0DC0 < \u0DC1< \u0DC2 < \u0DC3 < \u0DC4 < \u0DC5 < \u0DC6< \u0DCF< \u0DD0 < \u0DD1 < \u0DD2 < \u0DD3 < \u0DD4 < \u0DD6< \u0DD8 < \u0DF2 < \u0DDF < \u0DF3 < \u0DD9 < \u0DDA< \u0DDB < \u0DDC < \u0DDD < \u0DDE < \u0DCA&C < \u010D <<< \u010C < \u0107 <<< \u0106&D < d\u017E = \u01C6 <<< d\u017D <<< D\u017E = \u01C5 <<< D\u017D = \u01C4 < \u0111 <<< \u0110&L < lj = \u01C9 <<< lJ <<< Lj = \u01C8 <<< LJ = \u01C7&N < nj = \u01CC <<< nJ <<< Nj = \u01CB <<< NJ = \u01CA&S < \u0161 <<< \u0160&Z < \u017E <<< \u017D&O < \u00F6 <<< \u00D6 << \u0151 <<< \u0150&U < \u00FC <<< \u00DC << \u0171 <<< \u0170& C < \u0109 <<< \u0108& G < \u011D <<< \u011C& H < \u0125 <<< \u0124& J < \u0135 <<< \u0134& S < \u015d <<< \u015c& U < \u016d <<< \u016c& \u066D < \u064E < \uFE76 < \uFE77 < \u0650 < \uFE7A < \uFE7B < \u064F < \uFE78 < \uFE79 < \u064B < \uFE70 < \uFE71 < \u064D < \uFE74 < \u064C < \uFE72& \uFE7F < \u0653 < \u0654 < \u0655 < \u0670& \u0669 < \u0622 < \u0627 < \u0671 < \u0621 < \u0623 < \u0625 < \u0624 < \u0626& \u0642 < \u06A9 < \u0643& \u0648 < \u0647 < \u0629 < \u06C0 < \u06CC < \u0649 < \u064A& \uFE80 < \uFE81 < \uFE82 < \uFE8D < \uFE8E < \uFB50 < \uFB51 < \uFE80 & \uFE80 < \uFE83 < \uFE84 < \uFE87 < \uFE88 < \uFE85 < \uFE86 < \u0689 < \u068A& \uFEAE < \uFDFC& \uFED8 < \uFB8E < \uFB8F < \uFB90 < \uFB91 < \uFED9 < \uFEDA < \uFEDB < \uFEDC& \uFEEE < \uFEE9 < \uFEEA < \uFEEB < \uFEEC < \uFE93 < \uFE94 < \uFBA4 < \uFBA5 < \uFBFC < \uFBFD < \uFBFE < \uFBFF < \uFEEF < \uFEF0 < \uFEF1 < \uFEF2 < \uFEF3 < \uFEF4 < \uFEF5 < \uFEF6 < \uFEF7 < \uFEF8 < \uFEF9 < \uFEFA < \uFEFB < \uFEFC& I << j <<< J & V << u <<< U &C < ch <<< Ch <<< CH&L < ll <<< Ll <<< LL&N < \u00F1 <<< \u00D1& A < \u00E4 <<< \u00C4& C < \u010D <<< \u010C& H < ch <<< Ch <<< CH& O < \u00F4 <<< \u00D4& S < \u0161 <<< \u0160& Z < \u017E <<< \u017D& C << ch <<< Ch <<< CH< \u010D <<< \u010C& E << \u0119 <<< \u0118 << \u0117 <<< \u0116& I << y <<< Y& S < \u0161 <<< \u0160& Z < \u017E <<< \u017D& Y << \u00FC <<< \u00DC << \u0171 <<< \u0170& Z < \u00E6 <<< \u00C6 << \u00E4 <<< \u00C4 < \u00F8 <<< \u00D8 << \u00F6 <<< \u00D6 << \u0151 <<< \u0150 < \u00E5 <<< \u00C5 << aa <<< Aa <<< AA& C < \u010D <<< \u010C & H < ch <<< Ch <<< CH& R < \u0159 <<< \u0158& S < \u0161 <<< \u0160& Z < \u017E <<< \u017D& C < \u00E7 <<< \u00C7 & G < \u011F <<< \u011E & H < \u0131 <<< \u0049 & O < \u00F6 <<< \u00D6 & S < \u015F <<< \u015E & U < \u00FC <<< \u00DC & Y <<\u00FC <<< \u00DC & Z < \u00E5 <<< \u00C5 < \u00E4 <<< \u00C4 << \u00E6 <<< \u00C6 < \u00F6 <<< \u00D6 << \u00F8 <<< \u00D8 & N < \u00F1 <<< \u00D1 & S < \u0161 <<< \u0160 < \u007A <<< \u005A < \u017E <<< \u017D & W < \u00F5 <<< \u00D5 < \u00E4 <<< \u00C4 < \u00F6 <<< \u00D6 < \u00FC <<< \u00DC & A < \u0105 <<< \u0104 & C < \u0107 <<< \u0106 & E < \u0119 <<< \u0118 & L < \u0142 <<< \u0141 & N < \u0144 <<< \u0143 & O < \u00F3 <<< \u00D3 & S < \u015B <<< \u015A & Z < \u017A <<< \u0179 < \u017C <<< \u017B& C < \u010D <<< \u010C & S < \u0161 <<< \u0160 & Z < \u017E <<< \u017D & A < \u0103 <<< \u0102 < \u00E2 <<< \u00C2 & I < \u00EE <<< \u00CE & S < \u0219 <<< \u0218 << \u015F <<< \u015E & T < \u021B <<< \u021A << \u0163 <<< \u0162 & C < \u010D <<< \u010C & G < \u0123 <<< \u0122 & I < \u0079 <<< \u0059 & K < \u0137 <<< \u0136 & L < \u013C <<< \u013B & N < \u0146 <<< \u0145 & R < \u0157 <<< \u0156 & S < \u0161 <<< \u0160 & Z < \u017E <<< \u017D & A < \u00E1 <<< \u00C1 & D < \u00F0 <<< \u00D0 & E < \u00E9 <<< \u00C9 & I < \u00ED <<< \u00CD & O < \u00F3 <<< \u00D3 & U < \u00FA <<< \u00DA & Y < \u00FD <<< \u00DD & Z < \u00FE <<< \u00DE < \u00E6 <<< \u00C6 << \u00E4 <<< \u00C4 < \u00F6 <<< \u00D6 << \u00F8 <<< \u00D8 < \u00E5 <<< \u00C5 &AE << \u00E6 <<< \u00C6 << \u00E4 <<< \u00C4 &OE << \u0153 <<< \u0152 << \u00F6 <<< \u00D6 &UE << \u00FC <<< \u00DC   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H ? d'@Bʚ; TvHrN @zZƤ~o#]xEcd #NJ#$%&'()*+,  !  !""""""    㡱  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@AGHLNSTUVZ[\`adijknruz{|}AGHLNSTUVZ[\`adijknruz{|} B]^opqsB]^opqslCDEF_IKJOQRPYWMbcefghmwvxy~tlCDEF_IKJOQRPYXMbcefghmwvxy~t  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H ((((( HFGHIJKLMNO #$',-.158=>?@B #$',-.158=>?@B"!3246DCE"!3246DCE/ &%()+*0:9<;A7/ &%()+*0:9<;A7 *,.39;=EGMWY[aioy{})+-28:!'%#46JHNPTR^rpvtllatin2latin2_czech_csch //Ch 00CH 11 C Ԫ *,.39;=EGMWY[aioy{})+-28:!'%#46JHNPTR^rpvtl9999999999999999tis620tis620_bintis620_thai_ci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\][^_EABCDEFGHIJKLMNOPQRSTUVWXYZ{|}Y  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  ' (&$)         *+, !"#$%&'(% !"#$%&'(-)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVXGYZG[G\]^_`ab'c'd'e'f'ZG $ 2 2 22 8W!@@@@ @ @ @ @ @@"#dec8dec8_swedish_cicp850cp850_general_cilatin1_german1_cihp8hp8_english_cikoi8rkoi8r_general_cilatin2_general_ciswe7swe7_swedish_ciasciiascii_general_cicp1251cp1251_bulgarian_cilatin1_danish_cihebrewhebrew_general_cilatin7latin7_estonian_cslatin2_hungarian_cikoi8ukoi8u_general_cicp1251_ukrainian_cigreekgreek_general_cicp1250cp1250_general_cilatin2_croatian_cicp1257cp1257_lithuanian_cilatin5latin5_turkish_ciarmscii8armscii8_general_cicp866cp866_general_cikeybcs2keybcs2_general_cimaccemacce_general_cimacromanmacroman_general_cicp852cp852_general_cilatin7_general_cilatin7_general_csmacce_bincp1250_croatian_cilatin1_general_cilatin1_general_cscp1251_bincp1251_general_cicp1251_general_csmacroman_bincp1256cp1256_general_cicp1257_bincp1257_general_ciarmscii8_binascii_bincp1250_bincp1256_bincp866_bindec8_bingreek_binhebrew_binhp8_binkeybcs2_binkoi8r_binkoi8u_binlatin2_binlatin5_binlatin7_bincp850_bincp852_binswe7_bingeostd8geostd8_general_cigeostd8_binlatin1_spanish_cicp1250_polish_ci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 Zd}y    "   "!a: [e~zA^{B_=>|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ACDHKMNOPRSTVWY[\]_bdfghikACDHKMNOPRSTVWY[\]_bdfghik_`bkl_`bklUB_mUB_TTm]AAAATGDDKLKKPPHHXWZYYY]ddddib_]AAAATGDDKLKKPPHHXWZYYY]ddddib  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H     H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 R}    "   "!a: S~x  !"#$%&'()*+,-./0123456789:;<=>?@AQSW[egikuwy{}AQSW[egikuwy{}AAAAAAAS[[[[kkkkWAAAAAAAS[[[[kkkkW  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 9     "   : !  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 9     "   : !  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^  !"#$%&'()*+,-./0123456789:;<=>?`abcdefghijklmnopqrstuvwxyz{|}~_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~oBPQy9:=>Z[deA }~z _%%%%$%^c%Q%W%]%{|%%4%,%%%<%Z%T%i%f%`%P%l%G% %%%bn%CDH`aTUpcqXY%  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ޏӊ׍♕餤׷  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ظԉ塌ߢ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%1% %%%% %  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAEEEIIIOOUUYAIOU  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 000000 (((((000000000000 00000H0   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  V W. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H          H    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0^1_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHJKLMNOPQRSTUVWXYZ{|}~I  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghjklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~i ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%% %%%%%$%,%4%<%%%%%%%%% #%" "H"d"e"!#P%Q%R%QTT%VWW%X%Y%Z%[%]%^%_%`%a%c%f%g%h%i%j%l%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_ abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%% %%%%%$%,%4%<%%%%%%%%% #%""H"d"e"!#P%Q%R%QS%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ d 9>:~}o`=XeHGnaYUT%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWhYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ `ax %  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~߮إЦܧ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ݨï ((((( H      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ܷ߻ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RxS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%@ABCDEFGHIJKLMNOQTW^"" %  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ߐ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ~  & ! 0 9 R    "   "!: S !"#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQR    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRStUVWXYZ[\_^_`ABCDEFGHIJKLMNOPQRStUVWXYZ{|~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrsTuvwxyz[\]^_`abcdefghijklmnopqrsTuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 Zd}y    "   "!a: [e~zA^{B_=>|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H     H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A')( .],-_& \[^1a2b3c4d5e6f7g8h9i:j;k<l=m>n?o@pAqBrCsDtEuFvGwHxIyJzK{L|M}N~OPQRSTUV '  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 9     "   "!: VW. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~  !"#$%&'()*+,-./0123456789:;<=>?@AMOUWacgioqu{}AMOUWacgioqu{}AAAiAOAAWWOWWcqiu}} uAiAOAAWWOWWcqiu}}àu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 9     "   "!: VW. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ~  & ! 0 9 R    "   "!: S !"#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQR    !"#$%&'()*+,-./0123456789:;<=>?@AEGJLRUWY]_aceglnprtv{}AEGJLRUWY]_aceglnprtv{}ĎTjΥjݶCDINOPQ[\ixyz  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRStUVWXYZ[\_^_`ABCDEFGHIJKLMNOPQRStUVWXYZ{|~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrsTuvwxyz[\]^_`abcdefghijklmnopqrsTuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " "!`""d"e""""+""H""& RS      %xD 9 : !   0 1  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~́󆠡  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ʈ䉐𘜞 ((((( H     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ S & ! 0 9   R    "   "!Y: Z\[_^VQ!TXUW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  !"#$%&'()*+,-./0123456789:;<=>?@ACEGIKMOQSUWY[]_acegikmoqsBDFHJLNPRTVXZ\^`bdfhjlnprt݁ބ姝羽𷸙}~uwy{vxz|  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ S & ! 0 9   R    "   "!Y: Z\[_^VQ!TXUW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  !"#$%&'()*+,-./0123456789:;<=>?@ACEGIKMOQSUWY[]_acegikmoqsACEGIKMOQSUWY[]_acegikmoqs݁ރ姝利𷷙}}uwy{uwy{  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ S & ! 0 9   R    "   "!Y: Z\[_^VQ!TXUW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 R}    "   "!a: S~x  !"#$%&'()*+,-./0123456789:;<=>?@AQSW[egikuwy{}BRTX\fhjlvxz|~CEGIKMOU]_acmoqsYDFHJLNPV^`bdnprtZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 R}    "   "!a: S~x  !"#$%&'()*+,-./0123456789:;<=>?@AQSW[egikuwy{}AQSW[egikuwy{}CEGIKMOU]_acmoqsYCEGIKMOU]_acmoqsY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 Zd}y    "   "!a: [e~zA^{B_=>|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ACDHKMNOPRSTVWY[\]_bdfghikACDHKMNOPRSTVWY[\]_bdfghik`_blk`_blkTA_kTA_TTk]AAAATGDFKKKKPPHJWWYYYY]ddddib_]AAAATGDFKKKKPPHJWWYYYY]ddddib  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H     H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  yz " "!`"#./*d"e"+6""B;<=>9:EFC"DG"& HPQL      %MTUX9 : YVW`  aZ[de}~jknopqrs7{A|"  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRStUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRStUVWXYZ{|}~焉ꑔ򝝆  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrsTuvwxyz[\]^_`abcdefghijklmnopqrsTuvwxyz{|}~Λ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  V W. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~  0234567+89:\;,<=vz|~>?]^_@ABCDEFGHIJK u!V"Yspq#t$Z%MQP&TUWXr./'([)NS*1efgLhiaj-kl`}Omno{bwxycdR  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H          H    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  V W. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~  0234567+89:\;,<=vz|~>?]^_@ABCDEFGHIJK u!V"Yspq#t$Z%MQP&TUWXr./'([)NS*1efgLh-iaj-kl`}Omno{bwxycdR  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H          H    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~oBPQy9:=>Z[deA }~z _%%%%$%^c%Q%W%]%{|%%4%,%%%<%Z%T%i%f%`%P%l%G% %%%bn%CDH`aTUpcqXY%  !"#$%&'()*+,-./0123456789:;<=>?@AGHLOTUVWZ[\^_bghilqtuvwx{AGHLOTUVWZ[\^_bghilqtuvwx{HtOAAtHH\ObbW{AHO\\bb\\llbtqq\HAWbtAA{{OO{HlAAOl{{AALLLOL`WWOqtbpb```llititxxqtii  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ޏӊ׍♕餤׷  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ظԉ塌ߢ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " "!`""d"e""""+""H""& RS      %xD 9 : !   0 1  !"#$%&'()*+,-./0123456789:;<=>?@AIPRSWY`aghipqryAIPRSWY`aghipqryAAPSqrAAAAAAPSSSSaaaaqrrrrrHrHrWAArٓASASSaaaarrra  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~́󆠡  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ʈ䉐𘜞 ((((( H     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  yz " "!`"#./*d"e"+6""B;<=>9:EFC"DG"& HPQL      %MTUX9 : YVW`  aZ[de}~jknopqrs7{A|"  !"#$%&'()*+,-./0123456789:;<=>?@AFGJLRSUVZ[]bbgopquyAFGJLRSUVZ[]bbgopquyAAALAgAAGAGGGLJVJLLLgLgggLLLuLSVVVV[]]]]]]]bbbbbbgggggqqqqqquuuuAyyVgg[]S  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRStUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRStUVWXYZ{|}~焉ꑔ򝝆  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrsTuvwxyz[\]^_`abcdefghijklmnopqrsTuvwxyz{|}~Λ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ d 9>:~}o`=XeHGnaYUT%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %  !"#$%&'()*+,-./0123456789:;<=>?@ADEGIPQRSTUVWXZ^_`cfhlmnorADEGIPQRSTUVWXZ^_`cfhlmnorEhIGAGfEIIVSVVAAIrrZZZhhoZhcVo`fASZhXXhZc```܀e݊ޅ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWhYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%@ABCDEFGHIJKLMNOQTW^"" %  !"#$%&'()*+,-./0123456789:;<=>?@ACEGIKMOQSUWY[]_acegikmoqsACEGIKMOQTUWY[]_acegikmoqsuwy{}uwy{}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ߐ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A')( .],-_& \[^1a2b3c4d5e6f7g8h9i:j;k<l=m>n?o@pAqBrCsDtEuFvGwHxIyJzK{L|M}N~OPQRSTUV '  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0^1_  !"#$%&'()*+,-./0123456789:;<=>?@ABCEFGHJKMNOPQRTUVWYZ\]^_`abcdefABCEFGHJLMNOPQRTUVWYZ\]^_`AAAAAAADFFFFLLLLIQRRRRSRZZZ[LXWAAAAAAADFFFFLLLLIQRRRRSRZZZ[KX_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHJKLMNOPQRSTUVWXYZ{|}~I  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghjklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~i ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 9     "   "!: VW. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~  !"#$%&'()*+,-./0123456789:;<=>?@ACDFGJKLMPQRSTUVWXY[\_`aNbcdefgACDFGJKLMPQRSTUVWXY[\_`aNhijkBOHEIZ^]OHEIZ^]  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ACDHKMNOPRSTVWY[\]_bdfghikACDHKMNOPRSTVWY[\]_bdfghikATT_a_bkkATT_a_bkk]AAAATGDFKKKKPPHJWWYYYY]ddddib_]AAAATGDFKKKKPPHJWWYYYY]ddddib  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 Zd}y    "   "!a: [e~zA^{B_=>|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ABCFIJKLMNOPRSUVWXY[\]^_`acdefghABCFIJKLMNOPRSUVWXY[\]^_`a{|}~ZZ[bbZZ[bb PAYYbPAYPPbXAAAAPECDIIIIMMFGSSUUUUX\\\\`[YXAAAAPECDIIIIMMFGSSUUUUX\\\\`[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H     H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ɻϽ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ܷ߻ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ S & ! 0 9   R    "   "!Y: Z\[_^VQ!TXUW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~Ʉˈ̇ЍҌՈևڍ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%% %%%%%$%,%4%<%%%%%%%%% #%" "H"d"e"!#P%Q%R%QTT%VWW%X%Y%Z%[%]%^%_%`%a%c%f%g%h%i%j%l%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~LjȌ̈́҈ӌ؄ڣ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_ abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@AGHLNSTUVZ[\`adijknruz{|}AGHLNSTUVZ[\`adijknruz{|}xN ggVVANggdxuxgxAVdu^ogpqsB]AopqslADEF_IKJNQRPVWMbcdfggmwuxx~tdADEF_IKJNQxPVXMbcdfggmwuxx~t  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  V W. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~  ./012 ,345678'9:;]<(=>vz|~?@^_`ABCDEFGHIJKLWZtqru [!NRQ"UVXYs*+#$\%OT&-fghMijbk)lma}Pnop{cwxy􊢠ߞdڍeS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H          H    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 R}    "   "!a: S~x  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAAA[][CEEEEIIIIDNOOOO\\UUUYYAAAA[][CEEEEIIIIDNOOOO\\UUUYY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ S & ! 0 9   R    "   "!Y: Z\[_^VQ!TXUW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ|}~ABCDEFGHIJKLMNOPQRSTUVWXYZaa[\]^_`bcdefghijklmnopqrstuvwxyz{[\]^_`bcdefghijklmnopqrstuvwxyz{  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz  !"#$%&'()*+,-./0123456789:;<=>?EABCDEFGHIJKLMNOPQRSTUVWXYZ\][Y_EABCDEFGHIJKLMNOPQRSTUVWXYZ\][Y  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^  !"#$%&'()*+,-./0123456789:;<=>?`abcdefghijklmnopqrstuvwxyz{|}~_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqc  !"#$%&'()*+,-./0123456789:;<=>?@ADEHIKLMNOPQSTVXYZ[^_`abcdhijklmADEHIKLMNOPQSTVXYZ[^_`abcdnopqBRQ\][^egfBRQ\][^egfZCCCCQFEGIJIINNHUTWVVVZ____c^ZCCCCQFEGIJIINNHUTWVVVZ____c^  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( HH  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%% %%%%%$%,%4%<%%%%%%%%% #%""H"d"e"!#P%Q%R%QS%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~壤岳  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ `ax %  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\][^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~߮إЦܧ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ݨï ((((( H      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 R}    "   "!a: S~x  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAAAAAACEEEEIIIINOOOOOOUUUUYSAAAAAAACEEEEIIIINOOOOOOUUUUY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%1% %%%% %  !"#$%&'()*+,-./0123456789:;<=>?@AQSUYcegitvxz|AQSUYcegitvxz|T]GKCMT_a[qokKM]OO㌽Em~~EGCIIWW_a[smoqkل翼  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAEEEIIIOOUUYAIOU  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 000000 (((((000000000000 00000H0   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RxS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~AAAA\[\CEEEEIIIIDNOOOO]UUUYYAAAA\[\CEEEEIIIIDNOOOO]UUUYY  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H Hcp932cp932_bincp932_japanese_ci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~N}L~ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփF@ABCDEGHIJKLMNOPQRSTUVWXYZ[\]^_`pqrstuwxyz{|}~v]\efghdcTUVWXYZ[\]@ABCDEFGHIˁ́́݁΁ށ假ځaȁɁ߁ہ܁@ABCDEFGHIJKLMNOPQRS@ABVXYZqrstuvwxyzkl‚ÂĂłƂǂȂɂʂ˂̂͂΂ςЂт҂ӂԂՂւׂ؂قڂۂ܂݂ނ߂JKTU@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~E[RSei`cakjdlfn_mbgh~rsopqutꈚO㏺s^NuhۊO厥TvVRh娘揩T\]݌܌jiS划lYmwedtWiߗȈ‹Cjkl˜Ɉތꊚx`ĘLmfϒAȘʈZC̑nǘ]ØŘƘCΘјϘɘ͘gҘʘp˘ИorӘ̘qˈDN֕Warsטܘژ՘ؘۘ٘ە֘MݘޘCoUvqŒ{|ߘw؎ul㘑ϗ`tzẍΕyÎUT{PÍbBXC͋@AlD}EHFmGI|KJƕVMNLQPOԘRSDזUTWVXYZ[~[ƖeZ\}]S_`ZaTbc~fečgh`ijkʎnlmyopq~ustrvwxyyÙzË{}}~MʓonؐYʕh䒍퍎OU܍菛nc͗wwJNuEו啫΋MَܖkxٔC\ߌ™ڔ쑦PmęTřƙK늌pəșʙ˙З̙Ι͙~X}ϙЙљQҙyFofՙbpÌٙ@ڙؙ‰䑶jEiۙܙhegݒD@fNi۔܊ߙzݙޙCۓČaB@]PDCiAƍENFGLKNMJSOHISBYXOPUR[VWTZQ`ea\fPhA^b[슅c_igridcmkpjnlkorwutQÉqsRv܉}{|~\XxyӓdXdlc͈}Ōޕyݍ\nϋVBRؒ^C_Wu|x͑š‘ÚĚƚꁉgۗ̚ȚY˚h˒ǍǚUɚŚo͚mΚĒКnњ֚՚ϚҚԚǕךdؚٚښܚۚޚӚߚݚmpsᚺ누ْϕ蚟ĉ[OǙgVvΈޓt_zDz@DA@ܔϖDJWdBEÑWiFȍGonƌψKLIWHÖPpЈQORPNPMؕVWSKkUXwYT}ZQ[_\ʼn^]kda`bcefhgilڒdjmnqopqrEstuyFЖGnjvwwxyz{}~FvG@蒶Xq鐺G{ɍQƉeh⎃ГxQ@ljJ˞RΑˎшqޖċAڎKsANj͓rWjƎwԓR򊨛ZБx݊㉴sRśěۛɛƛțǛʛ˛̛ϛΛ͛՛ћЛқӛ֛כԛ؛ފٛۛڛܛݛBHIޛȌߛbJFЋsztȐёAX蛝y훋NKcHLݔXM{xɌNfpLf@CDB_FEAGHILJKMNUOٕPMQTU|VOo햷ʌWX^YJeZg[\]_`abSRc`FʍVjdeefޔihgaґmkjlk]ponqrzsOtJSKEuuYZzwyOxv|{|vӑ}}P~pbIxYߔ{Փfɐ҈ySđz䎷DӈŜƜĜǜÜȜɜœԑQT̜֜͜Μ՜ԜҜdSϜќԈӜʜМלc˜|Jڜޜߜܜٜ؜ݜeۜ蜧圜^ʐ@ABCYDEFՑˌߖ[GˍHőKILJM}NQZOVPc}RSWTRܐe┫ZcS]d_fba[YUXSِ`qg@hminAE\kwlˆgjUҔp}Jqsoߕ{̎~xPv|{uzrt@||̍TyڐT[wdf͒}~`KghrgېE̖TQPdBohi^FC[xǓĝq~ݝsŝǝƝU֓hȝG~ɝʝ˝|Đk֍l͝ΎΝҋːϝafzVН{ӝѝԝҝ՝֝؝םٝڝU|{۝ߝVޝݝՈ̐ftcE蝞WWNAӔiqŋɉgÈb\A@ܓBCjDFGHȋgXIJf֙]\֑ōLK񍽒LN]MNOؖ{DQpSVURTWLjލێZmXYۖ[\aYt^ܝnf`”f]cb͐їʉ}ged_͌kiˉgmsƑuAt^_ђMpoqnvljrhĎ`̒ȓhIxZz}ji͍{jyĈ|~ˋKjVO~[挜Bdǖ_IXoֈAŒ̓֒kȑ^퓾žƋ|ɋOyT|ҞP՞YԞӞОĞÞ֞ΞɞƞǞϞ̞\ƒʞŞȞl͞מߞ؞ޞݞΒ۞ٞWڞ➾͖~ўMk@ɓh@wKGFEBDCIELHJMQNOܞRSTUӋ~WVY\ԋ\[]̉V^`_abc~c΍defgihw}cjlBkmnopqsrtiuEkvaʚBwxꕈœyіz|{~}CXiÔ`Ĕ𓇟]rDדBv͉򐑔@AgDבjmÒk^FhlY_Q\CZO@ܗAUtƟҗßBişʟȟŸWɟğ˟̟[D~CǟYEύakПߟٟnԟݟQH֟͟ϟ`F۟Iӟڟ؟ܟΌÏXGҟN՟ΟџןpퟹanMJŖؑHBޟYRAВQ@NIRK઒HגkEDMGFLCKOPUTVYbSLWQZX][^aZG\`_JMdhfNObcgemmjilғnPoqprsΉD܎ЍQFutRxY{vzy_׈b}G~|wBTSకŏRďVWUƏϔώFonMYRӗzWCיZܒݎꖩuЕŔvĖSqҍ]Ɣ[\ό_ƓKTҖ—]LPQbl_ʋߊ`ωaXdbc]ǔfegihjԗՋilڗklmŠZ@ZABCDFGErIHnKJLMONQPÊr[RᶐYSpTcRb\jUV[YXEW؈Ȕ\Z{L^᪗l_]Ԕ`aoوfcbEidehgDa`^jklnmuvprt]usᾎoqaǏxwyzɒ|{s}~×ȕoᒔSpIFcHsqrtMu~mvᐓXῖĊՔږӖȏŊ^v“r˕uėᵖmZḋΐӍxuԍmCjv{yɏzd{VOqɕאm֔A@⁖CBʏDbFEGIH|ЎJV_FSPOcLNj_MKIˏ[ՍQRh֋\TSЉTUWXHYZ[׋щÓG\Hȉb]d`a≔`^_̏ڈHbcŐBdetŗgfilj҉mkemsoϐnnpqrntuv˓ސwy{xzA|Eq~M}⧗͏vG[^|ƊΏJ}yM؋}͕ӉZNJ\ߐ͔ѕzŽēUәȊАĕ̋HeSl⟊Ϗ⸐ЌWfƗnI@gC[RBюhAfaےFݗ׍GaIЏHIgDJEoMQ㋌LUiROPNKGWTVSpX㎑ea[_ۈZbfjԖԒ\dY]^㻈Ȗ]ًΗgchjmiҕɊɖ܈lknuovrȎtqwpcDks{~|z`ѐɔ}x@qJDUyJ[\Zʊߍrul딭rQA`HKˊ|sVlҎ㧎ϑkՖ^㮒EW㣔]яI̊Ҍbmnx݈_wّEӌE\ƐeҐrE]BAtDCorTHIGFJBڑNOKLMpUQGPSRcVWVXZ^[Y^\]d_`acbefgbh՗LvijPklmno介pqɎrsܕڊCwMtquʔwǑvDxzy|{}~͊ǗFŎHmcԉF|ڋۑcՉꋗϓpΖ։s䃒t`r׉Ί䜔eۋىҏ؍p؉ԌH专Gވ䎗t䟓䒑K䘕ӏN֖f䓑~uW䪖`H@̕UӒ@הԏǎBCnJPQDNFHRGKLOEEIFdOVTmSUWX[YZ˔M\a唑`Abh]_^PAdcefgՌsi|jklqrm\naopztwsuv֎x`ua{^|}~gؔIwXIډZIayOspXqՏt߈\܋Uܑьٍ啑T֏廐J]݋A@CBDPEFG漐vHeIJ橌KK`LoMO旗NePQRϊSTUVpWXYGZ[\]vu`_P^Lab׏cKݐidf؏ehigُ]frmwllkFlbYڏjopn֌_FsaUvrwtuqǓNۉbzxkЊyzȗ_{泒~|@}攏dyuӎwTދ戕xc]̝QJLؓۏ^eLvn݉̔ъӐ晒M惔ݑ\fGdGo^܏qw桑Ԑ͎q拕NzՐ׌HHxH@DABCJE֐GIFLRKMNQPOSRUTVWYXgZ[]^_\`ԎaORb]cfedygriڍhqkmjlpnPory֗SsAutx`wv{zyQ|}~DhCJ_ӕҒHIv}ߋԕމ痔Rqǒޑt秓r瀐ʒ笑秈AߑTi툝NٓxV^Օ߉繓BሦkyKՎJIɗҊWߓM׎@xYSsXsAѓUގz|珗Vy_XݏΔэߎ碗dʗB瘊jޒtݓbn،S甉ޏzge_LKNݕsee|K獐@BACыdB^EDF^tՒKbGHLJIߏOȒZMNLPVYXLQRUWZTS^_`]\[dbcaefhӊgsiljkmopqtruwvxMy•zJ[ՊԊ{|}~֊t}{ňhjɑ~Õ@w׊A’˗褗zG@Ku脌ۍBחꗯǐYWٌ蓎GԙJᐴ_뗋dkIPÐrʖvxCƈfڕ؊B蹉Cŕ{aДړ̗zjopz{犰^ޗڌ@BACDEFHGIHQJKZєOLݖM{a`NOPRSUQTيVWXYZ\[^a]_`bcd遍e]nfgyhʑwmljkiwnopqsrxtvRuxˑyz}|~{[@ETS@飖DBAC驕LNDEI~F邊khVLؗP–Γ鼓鰎DCEL@ABHQJGFKHG{LMNIOߒSTRQWPUVYX[\]hZ^J_`abcdefghki[jlٗmꞔnpqoꍍ˖sotuvKwٖxzy{|}~Cیl@Vs@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~X^u}~IIWVij{C|D^OPQRSTUVWXFGH`abcdefghijklmnopqrstuvwxym_nOQMobp`ʁPU  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~abcdefghijklmnopqrstuvwxyz{|}~000 000@>?00000N0000  <^%"\& %      00;=[]0 0 0 0 0 00000 `"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0" """""*")"'"("!!"" ""#""a"R"j"k""=""5"+","+!0 o&m&j& ! %!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$`!a!b!c!d!e!f!g!h!i!I33"3M33'3363Q3W3 3&3#3+3J3;33333333{300!3!!22222122292~3}3|3R"a"+"."""" """5")"*"NUZ?Ta(cY"uPz`c%nefh'Weqb[Y{b}}b|[^ cfHhǕOgN OMOOIPV7YYZ \`apafipOupuy}}ÀcUz;SNNWxNXn82z(/AQpSTTVY_m-bp TS[poS\zNx&nVUk;YSfmtBVNKO SU0[q_ ffh8ll)m[tvNz4[`풲muvř`iSQW0XDY[^(`cclopqYqq?s~vт`[iXeZl%uQ.YeY__be*j'kksV,Ğ\l{QK\aƁvharYNOxSi`)nOz NSNUO=OOsORS VYZ[[yfggLklkpsyykSkWl"ooEotuv wz{!|}6f̊Qeӗ(8N+T\]sLvT/Z__`hjZtxw^NɛN|OOPPIQlQRRRSSTTUQWW}YT[][[]]]x^^^^_R`Labbc;efCffmg!hhi_l*mim/nn2uvlx?z|}}^}}T*RLaʐuq?xMؚ;[RRSTXboj_KQ;RJTV@zw`ҞDs opu_`rdkNVdWXZZh`aff9hhmu:}nBNPOSUo]]]glstxP߈PW^+cPPQgT^XY[i_Mbc=hskn}pǑrx&xmye0}܃ dR(WPgjQBW*:XiT]Wx\OJRT>d(fggzV{"}/\h9{SQ7R[bdd-gkіv֛LcvRf NPSq\`dce_hqs#u{~یxefkNN:OO:RSSUVXYYYP[M\^+^_`c/e\[eeegbk{klEsIyy|}+}󁖉^ifnj܌̖okNrtux:y 3ꁔPl_X+z[NSW1YZ[`nouꌟ[{rPga\J~Q\hcfenq>y}ʎndžPR:\Sg|p5rLȑ+[1_`;NS[Kb1gkrs.zkRQSjT[c9j}VShT[1\]Oab2myyB}M~Frt/1KlƖNOOEQAS_bgAl ncs&~͑SY[m]y.~|~XqQSO\%fwzQ_eoikmndov}]uQR@bffn^}rfRSsY^_U`dPQR SGSSTFU1UVhYY~ d_xRbcBdb-z{v} INHQCS`S[\\]&bGbdh4hlEmmg\oNq}qez{}J~z9nΌxwMRU8o6qhQyU~|LVQX\cffZiruuyVyy| }D}4;a PuRSS PUXOY=r[d\S``\cc?ccdef]iioqNuvz|}}aIXlňpmPXaӁ5 OtPGRsSo`Ic_g,nO^\ʌe}RSvQcX[k[ \ dQg\NY*YplQ>UXY`Sbg5Ui@ę(SOX[\/^_ `Ka4bfln΀Ԃ.۞ۛNS'Y,{Ln'pSSDU[Xbbblo"t8o8QSSFOTjY1]zh7rH=j9NXSVfWbceNkm[npwz{}=ƀˆ[VX>_efjk7uNJ$Pw0W_e`zf`luznE{\uzQ{Ąyz6Z@w-NN[_bm6t4xFZuO^bcWeogvLr̀)M PWZhsidqrXjyw)/OeRZSbgl}v{|6f or~Q{rx{H{ja^Qu`ukQbnzvOpbO{zVYX䆼4O$RJSSS^,deg>lNlHrrsTuA~,酩{Ƒiq=cifjuvxC*SQS&TY^|_`Ibybbekluvxy}w^ۘ j8|P>\_gk5t w;gz9Suf_񃘀<__buF{ee gllp2x+~ހ *JҒlONNPVRJWY=^__?bfgghQ!}~2 T,SP\SXd4ggrfwFzRlkXL^TY,gQvidxTWY'fgkTiU^ggR]hNOSb+glďOm~Nban+osT*gE]{\[JnфzY|l wR"Y!q_rw'a iZZQ T}TfvY]rnMQh}}bxd!jY_[ksv}2Q(gٞvbgR$\;b~|OU` }S_NQY:r6Α%_wSy_}3VgS aalRv8/UQO*QRS[}^`ac gggnm6s7s1uPyՈJĖYNYON?P|^Y[^ccdfJii mnq(uzIɄ! e} ~ab2kltmmeg<ma}=jqNuSP]koͅ-)RTe\Nghttuψ̑x_szNceuRAmn tYukx|zOnae\NNP!NQ[ehmsBvwz|oҊ|ϑuR}+PSgmq3t*W`tAXm/}^N6OOQR]`s|}o#,BTojpŒ2RAZ^_g|iijmobrr{~KΐmQy2֊-PTqjkČ`gNNkhi~nxU _NN*N1N6NYzUYPYNYZYXYbY`YgYlYiYxYYY^OOYYYYYYYY%ZZZZ ZZ@ZlZIZ5Z6ZbZjZZZZZZZZZZZZZZ [ [[2[Z*[6[>[C[E[@[Q[U[Z[[[e[i[p[s[u[x[ez[[[[[[[[[[[[[[[[[[[\\\ \\ \"\(\8\9\A\F\N\S\P\O\q[l\n\bNv\y\\\\Y\\\\\\\\\\\\\]\ ]]]\]]]]]"]]]]L]R]N]K]l]s]v]]]]]]]]]]]]]]]]]]]]] ^^^^^6^7^D^C^@^N^W^T^_^b^d^G^u^v^z^^^^^^^^^^^^^^^^^^^^^^^^_ _]_\_ ___)_-_8_A_H_L_N_/_Q_V_W_Y_a_m_s_w_____________________`_!`````)``1```+`&``:`Z`A`j`w`_`J`F`M`c`C`d`B`l`k`Y``````````````````_````Maaa``a``a!a`` aaGa>a(a'aJa?acMcdOcccccvcccccckciccccccccccd4ddd&d6ded(ddgdodvdNd*eddddddddddddddd ddbdd,eddddedeee$e#e+e4e5e7e6e8eKuHeVeUeMeXe^e]erexeeeeeeeeeeeeeeeeeerg ffesg5f6f4ffOfDfIfAf^f]fdfgfhf_fbfpffffffffffffffffff?ffffffggg&g'g8.g?g6gAg8g7gFg^g`gYgcgdggpgg|gjggggggggggggggggggggggjhFh)h@hMh2hNhh+hYhchwhhhhhhhhhjhthhhhih~hihih"i&ih ihhhh6iiihh%ihhh(i*ii#i!ihyiwi\ixikiTi~ini9iti=iYi0iai^i]iijiiiiiiiii[iiiii.jiiiiiiijji kiiijijiji jjj#jjDj jrj6jxjGjbjYjfjHj8j"jjjjjjjjjjjjjjjjjjjjjkjkk1k8k7kv9kGkCkIkPkYkTk[k_kakxkykkkkkkkkkkkkkkkkkkkkkkkkkkllll$l#l^lUlbljllllll~lhlsllllllllllllllllllmM6m+m=m8mm5m3mm mcmmdmZmymYmmmommn nmmmmmmmmmmmmmmmmm-nnn.nnrn_n>n#nkn+nvnMnnCn:nNn$nnn8nnnnnnnnnnnnnnnnnAooLpnnn?on1on2on>oonozoxooooo[oomoo|oXoooofoooooooooooooooo p popppopptoppp0p>p2pQpcppppppppppppp qpqqeqUqqfqbqLqVqlqqqqqqqqqqqqqqqqqqqqq rrr(r-r,r0r2r;rsNsOs؞Wsjshspsxsus{szsssssssssttot%ts2t:tUt?t_tYtAt\titptctjtvt~tttttttsttttttttttuuu uu uuuu&u,uz7zCzWzIzazbzizpzyz}zzzzzzzzzzzzzzzzzzzzzzzzzzz{{ {{3{{{{5{({6{P{z{{M{ {L{E{u{e{t{g{p{q{l{n{{{{{{{{{{]{{{{{{{{{{||{{`||||{{| |{#|'|*||7|+|=|L|C|T|O|@|P|X|_|d|V|e|l|u||||||||||||||||||||||;|||||}}}} }E}K}.}2}?}5}F}s}V}N}r}h}n}O}c}}}[}}}}}}}}}}}}=~}}}}}}}}}}}}}~ ~#~!~~1~~ ~ ~"~F~f~;~5~9~C~7~2~:~g~]~V~^~Y~Z~y~j~i~|~{~~}}~~~~~~~~~~~~~8:ELMNPQUTX_`higxqܘ !(?;JFRXZ_bhsrpvy}Qۀـ݀Āڀր )#/KF>SQqneft_Ɂ́сف؁ȁځ߁ )+83@YX]Z_dbhjk.qwx~߂҂ނ܂ ق5421@9PE/+#|su΃؃  " 8m*(ALONIV[Zk_lot}:A?HLNPUblxz|bȌڌ  N͌gmqsύڍ֍̍ۍˍߍ B504JGILPHYd`*cUvr|ƎŎȎˎێ  &3;9EB>LIFNW\bcdڏ!  '659OPQRI>VX^hovr}Hbې20JVXceisrɑˑБ֑ߑۑ,^WEIdH?KPZϒD."#:5;\`|nV֓דؓÓݓГȓ6+5!:ARD[`b^j)puw}Z|~ʕoÕ͕̕Օԕ֕ܕ!(./BLOKw\^]_frlΖ˖ɖ͖Mܖ Ֆ$*09=>DFHBI\`dfhRkqy|z×Ɨȗ˗ܗOz 8$!7=FOKkopqtsĘØƘ !$ ,.=>BIEPKQRLUߙۙݙؙљ+7EB@C>UM[W_bedikjϚњӚԚޚߚ"#%'()*./2DCOMNQXtʛƛϛћқԛ:   .%$!0G2F>Z`gvx *&#DA?>FH]^dQPYrozĝƝϝٝӝuy}a̞ΞϞОԞܞޞݞv!,>JRTc_`afgljwrv/XiYdtQq~H܄Op1fhfE_(NNNOO9OVOOOOOO@P"POPFPpPBPPPPJQdQQQQRRRRRSS$SrSSSSTTTTUYWeWWWWXX YSY[Y]YcYYYV[[/u[[\\\\']S]B]m]]]]!_4_g___]````` a`a7a0aabbc`dddNeff;f f.ff$fefWfYfsffffffg)fggRhghDhhhiii0jkjFjsj~jjjk?l\llollmmommmmmmm9n\n'n?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWp!q!r!s!t!u!v!w!x!y!`!a!b!c!d!e!f!g!h!i!12!!!5"~H܄Op1fhfE_(NNNOO9OVOOOOOO@P"POPFPpPBPPPPJQdQQQQRRRRRSS$SrSSSSTTTTUYWeWWWWXX YSY[Y]YcYYYV[[/u[[\\\\']S]B]m]]]]!_4_g___]````` a`a7a0aabbc`dddNeff;f f.ff$fefWfYfsffffffg)fggRhghDhhhiii0jkjFjsj~jjjk?l\llollmmommmmmmm9n\n'nP?Q@RASBTCUDVEWFXGYHZI[J\K]L^M_N`O?????????????%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%???„„?ÄÄ?ĄĄ?ńń?ƄƄ?DŽDŽ?ȄȄ?ɄɄ?ʄʄ?˄˄?̄̄?̈́̈́?΄΄?ττ?ЄЄ?фф?҄҄?ӄӄ?ԄԄ?ՄՄ?քք?ׄׄ?؄؄?لل?ڄڄ?ۄۄ?܄܄?݄݄?ބބ?߄߄??????????????????????????????@@0AA0BB0CC0DD0EE0FF0GG0HH0II0JJ0KK0LL0MM0NN0OO0PP0QQ0RR0SS0TT0UU0VV0WW0XX0YY0ZZ0[[0\\0]]0^^0__0``0aa0bb0cc0dd0ee0ff0gg0hh0ii0jj0kk0ll0mm0nn0oo0pp0qq0rr0ss0tt0uu0vv0ww0xx0yy0zz0{{0||0}}0~~000000000000000000000000????????ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփ????????ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփ׃׃?؃؃?كك?ڃڃ?ۃۃ?܃܃?݃݃?ރރ?߃߃??????????????????????????????@@?AA?BB?CC?DD?EE?FF?GG?HH?II?JJ?KK?LL?MM?NN?OOPPQQRRSSTTUUVVWWXXYY?ZZ?[[?\\?]]?^^?__?`!a"b#c$d%e&f'g(h)i*j+k,l-m.n/o0p1q2r3s4t5u6v7w8x9y:zz?{{?||?}}?~~??`AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ????A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0‚‚d0ÂÂe0ĂĂf0łłg0ƂƂh0ǂǂi0ȂȂj0ɂɂk0ʂʂl0˂˂m0̂̂n0͂͂o0΂΂p0ςςq0ЂЂr0ттs0҂҂t0ӂӂu0ԂԂv0ՂՂw0ււx0ׂׂy0؂؂z0قق{0ڂڂ|0ۂۂ}0܂܂~0݂݂0ނނ0߂߂0000000000000000000???????????@@0AA0BB0CC DDEE0FFGGHHIIJJ0KK0LLMM@NNOO>PPQQ?RR0SS0TT0UU0VV0WWNXX0YY0ZZ0[[0\\ ]] ^^__<``^aa%"bb\cc& dd% ee ff gg hh iijj kk0ll0mm;nn=oo[pp]qq0rr 0ss 0tt 0uu 0vv 0ww0xx0yy0zz0{{ || }}~~`"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0???????????" """""*")"???ÁÁ?āā?ŁŁ?ƁƁ?ǁǁ?ȁȁ'"ɁɁ("ʁʁˁˁ!́́!́́"΁΁"ρρ?ЁЁ?сс?ҁҁ?ӁӁ?ԁԁ?ՁՁ?ցց?ׁׁ?؁؁?فف?ځځ "ہہ"܁܁#݁݁"ށށ"߁߁a"R"j"k""=""5"+","???????+!0 o&m&j& ! ????%  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H big5big5_binbig5_chinese_ciJWY[_`cdghklopstwx{|ơǡʡˡȡɡ\MOQRST}~̡͡ΡޡߡLMNICH]^ϡAСDAGFաס֡HIϢТѢҢӢԢբ֢עآ٢ڢۢܢݢޢߢBġ@ABCaUbN΢JDxܥv{EFج}zyܣ|{~{hһջ׻ֻӻԻ[\MKIJFFNHLGnlmwxEGFPmlkXVYW¨˿˭@ЮЭEԢF~|}IصHKرJثGا}ܬ|~ܡܤjkiػڻٻGHOIoAGLضܦܯnomۻlܻPJptqusyBܧܳsprqݻ]^_`QNKPSLROMwvx~}z{|HISnQRoŵqEGFWCtQRDañSŲMuv޻߻cbdVUTTA@}{~|y@zJKpOPHiCBäqrWDXAçLMTQNصܷz|wx{yge[fYZU[YXVZWEJFIHGDBECèF@ĨAħQNOPrVUtsI`X仾hGíBĬuRStsuHO~}i\kjla_^]`\K^]_NLMRKQTSPOJHICDXWUTYvwWvVwaYPUﻭ`WVLòहࣹnqsrtpmocfdcihgbbaedZ^[]\Y_b`a@XcMïEFĴ`^]ca\Z[_bx~y[šZ}|Y{Xz}~{x|yzRSJvjkƴzluejmfdkNfde\ŤżbIhvwnqpoghfegOüPGgihTUVKcƶxiJ{ƬrzyiSRQ^Ũ]ũL|{}xvwsytru|j{z~jmltosqpnkCBDAuXWUTJKIHloVmsqkvjrnut`_ŴűŬpZ\_[`YW]X^MZ\[yxwzst}~okplmnz{~|vy}EF¦wYZ[MxOPNL}{|x~zwyabŽdſcŻindgkreosjcmlqphbfNOa]^`_ba|{x|}PQGQSRecT³tdHu¶rqLJKI\fvwd}uܶxRe~쪹]gy^ĸ|{zM}fN~hŽĻijTSgjihseÿt@BCEVTWUFɣOMɢBA@CèXPcꦱYDd@D[G\EGFĨAAE^]ŨKöܲFƨGH_QɭǨȨE`ɨʨFGHRɱTSɵJKLMIPjfiQahNOHegɮ饱ɶɸɯfBgD[`hdG]Cb^ZeEH@FcAi\_aبШ˨ըΨ֨˼ި٨˵ۨϨԨ˴ӨרҨͨܨݨڨ˲Ѩ̨VJIQ]KYPXT[NWMURZO\SLH׭ѭ֭ĭͭڭέǭܭӭп̭˭ϭ[ƭխԭʭɭҭí­Эŭ٭ۭحȭcW\bԲUԶYRԴVԹgQfXԱSO]PNZ`aԷ[^M_dLTeԼȳ^Wų_UXijYdz]SRɳʳƳ˳Q\ZTóVʶĶͶƶǶŶ˶̶ɶܼȶζܹಹஹହ෹హ൹觾詾訾vwux_lkIaSRJIKߨ^YZ°\[`]^JK@LݭNTUAj`_ðUaޭ߭VBMNkha@LZİͳBɿYWXMNb¤ZkFDEGClmnPOSQRchdgfebѳŰikjlưγϳгжѶ϶ABỹZ@ABDCO\[HUVTWoplkijǰnʰmɰȰԳӳҳҶնֶԶӶCDEyUcäVĤŤ]^Iqm̰˰cbPƤ_ͰCl`KJXo׶EἹǤаΰϰQd͢ʤɤȤcbmnճRˤedrWgfLMsYZoD̤tuppdֳeFόFXhѰSeΤͤϤqOfjytonuslzmixwvkrq{pSYU[XNQTPWZORV\~{g|[]up}_ahxtv\mvsdnowljkq^rfczbei`yOPIKMLEADIRCFHQMSJGB@NHKxt}rCΣOΥyEBwͦJ|LΩs~{@ΡFGzvuDND@BCACFB@GѡEDAw䰧߰|۰v{zᰥsְٰ~ӰڰtԤݰux}ްܰװұذyణհ԰qrj׳ڳuxسq޳䳽n۳v{ofsmyݳ߳ܳzlrthwٳgip޶ܶ߶ڶݶض۶_ٶ͹ȹUQK¹TΌNPSĹ˹ŹIƹǹL̹JOùHɹMRʹGMGDGSTJBLRFIHHCEKAkONP䲾@EB鶾AC輾軾D@QF鷾{}~z|P`VQAY@XWZmonŦI}|_^]ywzxTHIEF밫|ϹιIHGkgYnobfdcea`}{ʬ~|Y[Z@XWV\AUTZX^UY[]WVQRέS\PSRWNQPTXGJOUIJVMHLԯԽԴԼԾԹԲԦذԵﰻԶKةإ}رخKѫ~ذد]йcչ_fW׹ѹ\U[dҹֹZ`eVԹ^bhXaӹgYYKWVMRNQ\[JPZOLXMOJLNþP¾IKSRabcB[hФ_عiSZB`YLi~pgh]ڹ۹ٹjѤӤҤ[ԤqijaC_`^ZabMNOݹܹj]ľklonqpmkʹʸʳʮʻʷʭʺʫgoOHpSDKfEdLPcQJMriTRnlIkGFjhqmeNoθgcsblξpοVvdfmqurknhëjitκe«\b[`PU_\aQ[TRcSWXZY]^d@CDBA@ؽBGCضADغطؼEصB@CD@FAABEnzpvkyx|u޹tm߹{orwqlsUaXWZ\_VT][Y_^c^`b`WVUXQRZSž\[TYƾT\]ClmnդrssUutVī]eEGF}Ǿ^prsvtuwʻWXvxzw{yȫūǫɫƫfwhgc_`bdafeJIHGKFIKHJHIJ~칡fged]Ⱦd_oxʫigNMLLMɾp\֤ty|KqפNLrؤuɧY~Z}Ϋxͫ˫̫jhkij^PQOhiaĨK٤swvzħ§çhb]̣ec\ilg`̥f̦ad[_ķ^j̢ΤΪΣΥ}{ΩyЫΨ|zϫ~έonlknposqpѮrmlmqrSRTXAZV^[UCWB\]YD@QROOPSVNPUTCRDMQegkhcbljjmdikfaf`e^hdic_gjbrDE`rqt{ʵ_uŧtWvwxڤѫSy]x|Ƨn̬m̩o̪ҫԫΰαβδӫtsvubFac`UEVWTZ\E[YXqompnlmklnnz~}FۤիXyzȧɧǧβ֫ιζκ׫yuwwxxvGJKHgfdeIhZ[\]_aHGY`^psrtqtuossqprofFGUʧث{ܤ˧٫|I}ݤޤɢ̧qrsp̸ګzzyiLjM]buvʾtstkJUΧͧ۫{mCnl^vLϧЧwv̻uݫܫޫ߫}|{OorpNuqPtsa_`KdLcwxwu@HIߤ{ҧԧɤӧѧxyا֧էק̢~̮̩©̭㫬éȩƩ|̥ͩ䫦ɩ{ʩ˩ǩ̩z̫ĩ}̡̤ũΡΤ~}|쫡򫢮~뫦﫥ΧvѦѨSլѣxQRѯѭѧywzU^d|e`ժVբ~TbeIcء]a{dYbWXէ[ի_դ\fcZ}ko@QmDqeFSilGHNsTJOC^UrAP]pNMtEjBKMRgLPh\phlnk[j_Z@qXimOfgAWYVo}GF|ECDzn᣼{HyBz~y~ξx娼̾嬼xv}w;姼孼|{˾zо~Ѿ|y{ӾҾ}ϾVgjihaJbAt|ɳڧ٧ϩΩѭur`atvuI宼ԾW¹ѩЩҩѰvQ~}ɷɪɩߧөާۧݧܧ᩾̷ܩ侀̴̺̼̿詸٩⩶שة֩ԩߩթ䩵کݩީ۩A@ѱCBEβDѿfѺѼ}սѾѿѸѵѶѹѻѻî®ѷg˱ʱyurզպwը̱ɱ{jȱiսs±hxqDZtդƱRoոñxnl~հıw|յpűmzvTSkdzjYgw}kn|\ml~Uyi_٥phq٭fec]٤VW{yXox`[٩a^p|ݱݶݪliz{bknoݸjd}ݺݨݩ~ݴݫݵݭehfݰݬSmgcݮQLKObR导T尼NPUJ嵼Zٲ¼M峼üؾپ߾־ݾ۾վܾ׾޾ھY­X^\]Zk[BEFDGlCNdMLKceuũrٯFGĮŮӱϱֱձαѱԱбvͱuxٰswtqVļżƼHyƮرױz{rW礸Hٱ|ٵs_IǮȮ۱ܱݱڱ}~پYXJIO^J餹@PMSKNQLORЮɮ̮Ϯʮήˮͮ߱խޱծ౩٨ݦټ١yvwu{ݻxtz\Z[ȼǼʼɼ澻辳徶`nKmQRfPŪTѮҰ̳|뤳BAҮӮԮ´zagɵɴCGBE@AA@FDWCMNFXHSIVQOJPDRUELTGK[\iVLbJ[EeRADQa`FX_`cZKSfYamVXCjc]@lgIkPHd\T^bGZYO_UWh]NMB^WU߮ծݮ֮ڮۮخ׮ٮܮյչսհղճ鱺շջޮִѴҴδĴǴƴ״ɴŴд̴ٰٵٯ˴ݱϴʴٴʹôٴȴټپ٪ӴմٹԴݦݨݬݡݯݣݰݪ~شݿݥݢݭJH^FX}_B]GUd][@ZoQamI^KYgDkaMCWh`eSfEPLN`_nObTcljAVibR\ͼؼռѼμּ׼ԼټӼмϼ̼Ҽ˼EAHIDJ@GCFBchibfegdQNWVTOrPqSpXRMoLVUUhYZTXSWvVYd۴ܴڴݲpceqdۼڼKjYwBZ[nk\eofp޴ݴfghܼLlZ_qgߴijݼ޼`CHrhsijBAC@@AAB@ݷkM[¥]a~ɻIJ^tklDBråƥťĥD@ŦƦ¦ĦɼEæ[YLQSLMUROQVZXZKM\TWEG^UNJYVHICOP[]PNS\WR]FTKXDjzqKbeBmovhfguGpnsJuycIMO@lk}rux|AF~wi_d`N{taL|ϡwϪϬtv{Iҭϭ{sd~xzϥ}}pϨzmϪxoϫ^H|wvnϬϩyϡqϢrϦy~LCU[WJMFGJV_E@NBOYDhHHEfZgaSb\ecITAG`FQCiPKKX]eRPG[UGDgdXcNOIE@QYBD^F\SHFJhb_]faR`AEWVTLKCMAZIMDJCUVHDBSKQWAGEBCOLT@FGFEPNR@a`F޽_IJǷh·^CȷRHKc޸jbW̷˷ŷi޹ULYeͷTMķ÷PZdGQ޼[ɷN޿ESgVlXfƷO޺ʷD]\⭺}⢺n⯺wmⱺqsuS殺}o⣺u~||vtzwxz~pyx{t⪺⤺sr⥺{y߼vDNMYKOFRTC^W[`UILH_aV\JE嫺AZB@XQP]GI@AHCOBDFEDJGFEB@ANCQSYWZRVU[TXPqopmnsrx_ey\vsgwt^abcf]udh`]j`kh_\^bedg[icfiaxyŭWeƣlǦA^_b_`aXZURTVͣSP͡WQͥYϱϵϵwxyPLnv{QlrkuqMOzjmst|pNmNPLXJWiH[RlSVZOTjkYMI[QUKHIeOYbXL`^_Jc\ZK]aMdpwyޡڷkҷz׷η}m~lܷxϷԷqٷ|ovrnѷطַӷ۷зuշN{st⵺gdpjlfnmkqhocebriJQUSKILMHUVGVQOLPNRRMNOPKTSWXT\b`^a]_wtuvlmzkji{ljkyRݷnb}ϹfP޷|gɦBȦedc`[Ϻϻҡ~S]^o\_RpQkjhilڦޥީާ޹⺺stYZr}qpnolǥCDfbaˬegcfgd_;]deab\ͯ^ͮc`ϽϿϼҥXWUҩTVg֣Ҫbfenyhcmtsadurq`ipwTvsVuoqtrUxS߷ެުᷮ⻺ޯvu~}{zwxy|_\]W[a`^decyx~mnmzȥYvjɥEljkhhimkgjf͵ilh¬ŬϿĬìҫҶҹҺҬҸҵҳҷ_]һҲ^Z\xmklstp{uroynwzqy[xwv|~`ڢZڥ[abX}{ڣz_|ڤڪY^\]W鷷跻޳޺޸޹޵޴⾺@bAifegfZcX\[dhYmzjhknlgBEu@oFD{ACGvtsnŲʥnͼҽ}]{ų˥o`ҿ~ºi^_ropqIH|w̥ƬͥңcdΥϥFjiǬϬХѥҥӥklnmrpqˬɬʬȬ`dcba{z֤feڧBjså|ԥsúopt͸ϬЬͬά̬hinlkjemfg֢֭|~֤֣}kjhlmgiگǺƺźȺECHIFGĺDlksmro`qabpntwuvMN}O~LPJxoKp~}ѬnoեʦGqmҬӬԬoqpJxQqp֥uprKtRrץ׬ج֬լqrs֯ڱsɺʺLducySsإnxwͼvͽy۬ڬ߬ެ٬ܬݬuvwtֲֳִֵַ֭֮֬ھںڻڽtCκFDEAB@̺ͺ˺NQOMP}~vzywfgex{|h@{A|z~}U¥¢T{yztwuvf٥ڥoxuGB|xۥz|~}{Ϳ|zҢyҥ}~{ֵֶַֺvڸwxNQMLHOPJKкԺѺӺIҺTXVϺSURYWjlikFECDVGZW[]\XY~}z}yq{|~rtsܥrªҧҦҬֻּּֿRSTA׺պֺCB@mHI_^áVݥrqpĪêҲ־}|z{yAZX@W\[YIHDغGFٺ^_[]Z\pErqnoJ`¨©ãޥHsƪŪ@ҷ~D]^CBJۺںKLa`sK¬uߥAҸڣEܺMݺvĥ˦ǪBC@BӹDGEFCҺHAƲòDzŲ²IJȲڧڥڬګڭaPSGLFcJHbONKMIR_Q]XNPUTWRQߺSY[VOi޺\bce`hdfgvjtxQyw{zONLPMucagedjkhib­«flðêîïóxwyŢXYm~̦EFDGHIIOMӻKLNJɲ˲ʲگVdTeUfa^`_ka|}WSXTVRUz{A@ͦtȪLJKZǯSYïRXV¯įUӽTȯůɯƯQPWϲֲӲٲزԲвѲҲײͲղ̲ڲڴlڳڶڻβh]_ae[Yj`d\XWbZ^kifgcrjxtxeubwfvpcqshgdlimynokpyurvltswqnzrm{o~꨿ꣿꦿꤿ_Yia]dg\e`Zhc^b[fntwµovq·msurpøô÷õ~}ĭBŹ@BAlΦoʯڲjCIɪuM`[_]˯^\@ijnohkgm@pz|}üDźϦ˪ʪONb̯aܲ۲BCAsmlnrq~꪿yxýüðЦPeίdcͯݲ޲߲Dop~CAB{|}桽歿꫿kz{lѦҦ̪ϯQӦARS@BԦTѯfӯЯүA@qզs˪CUhԯgկCBDFGEtuEDpomnq|¾Ť֦wµvFצئ٦vwwtvyu{zxxѪϪΪӪժҪ֪ͬЪ|Ԫͪ[GH]WZcaIgLd\YIbDeV_FK`OMXJ^NEfگد֯jޯۯlݯkinHomׯٯܯ߯NEGHPLJMQFOKIȵQOʵJۡɵNKŵ˵PǵMGƵL̵ĵõwu{sߢxr{}v~|~yxy}͵|tzLHMJKIAD稽C秽@榽B걿꯿txzwvusry¡}~ôijECDڦתRN{ۦSܦPTUVOݦتhpWۤP|µަ٪RεQEߦϵR঱iQrqWTVSUXYZۦߨSJFIKHG괿F}}X[AJKMNLˣ{ˡ|zy}~~jܪͷ۪ߪͿݪڪ͸ઽ쯻ުb\daqt]kV`cewUYWRo~svХf}^xФuy|mУ{lp_ZSXTgnХ[zAv}~x|ӵӤtsr\ۦz{ӡuӯӶӰӧӢwy^`ey]houbi@wrnj\aYfcsdzlkZ_pvA[gmxqtl`׵}۪ۧյhۣiwsߵt]赡u۬pnzԵrۭkdocaеjۨصݵٵ~ڵvfҵ^ۢ۫e൰qmѵ|xֵܵ޵ӵyg{bۦ_Uߵߩ߱߿߲߰߶߶߱۵߸߯߾߲߫ߴߺߪߧ߭߮`X[YZ]aU^WVTc\b_stgfb紽vu_c]pawZXdni綽Om[RU{\SQNe篽`h穽x|竽WkoTy粽L絽rVjP^Y筽l}zqMI@CEAG븿LFUOF귿JT뿿QDHBVSP빿W뽿MKNS@ERDAMOQIPBRJGUHTKLVCN~³°ĩĦĬīļJKIGHLEFGOhӷ@B|{굸~XZYWЧikjӿAFӽCӻHӾӹGDӺEBLK׫HF~שקפ׬׭ׯװ}Eס׮GIDMJ߽۱쵶ﵺ۸۵ۼ۷۹ۻߺ¸øĸ㻸jeghmilfd߲½k翽绽缽羽繽纽罽da븽kge`oĿ\hi_^lb]cn[mj¿ÿfY]Zag\pj_kfm^`nXldch[bieo¥įBEACDQON@PFMžZn妪GlNŸýĽſЭmIJNMKLPUTRS׻׽׷׾O׵״Q͸ϸǸθʸȸɸ˸Ƹ̸tBAv@nprqsoƽʽŽǽȽɽup|ʿwyȿquxƿɿ{stzrvǿrqwstuxvIKHJRHIKJPnWVиCFED̿˿y{zTS[oCA@BѸDIGH}|}LULqrpTRQXPYVSWUO_Y^`Z[X]\DFEICB@GAH߸ڸոָҸ޸׸ܸӸԸPMEJQٸGOKNLݸFظLx{NM}ϽOK䦻y۸|z~wJֽҽٽڽ˽սԽνͽӽнؽ̽׽۽ҿ~ͿӿϿٿԿпڿۿؿѽοܿտѿֿ׿~AO@BCĴij@NMPQAV[XWZYCB@A@MNgmRPDDZaTSܽݽvƨbHVUWQR䨻ݿ޽޿FE\[IYZX߿Gst]^hfcgedJLQSRUOKMTPN[TSU߽併࿴HIJRBS\ŬEBji\]꽺vu_XWV_b`ae^fcd఻VLNKMTowlk`[^Yl]\_Zhonpmrikgjqs[aYbX]c`_^W\ZAC@EBFDEA@CBDROSQPTľCEVDUa`^]bcF_\QPOpnƭ`UyxcabmnCAEFLHJBIKDGb@acuwv{xtyz|gfde䳻MNIJKLH@GFGHIXYWVZXYWFdeHGd@|GŰdA[д|У~{}zjgnilhekmfpzv~w|roq}uxty{sMeOgiNfjhGO~PEJCBMLKIN}DFHRCASDBQPOEŶUoRSQT˧ˬ˨˷˹мйп׺qprע׷lVWTܣnSYXk\R[PZUmQRnqim»ljpkhoYHJVWUQGZTFIXKLM]\[\ZfŻut@Asפ_a]`o^psUTSsuƻûŻĻtra^_M`[\JK]LOPNR_Q^]HIC]qoƼVĽqBxvzDywCԨBث@תCצAmljbqeovnyuciwhxzkrswutfrvtsdgpaWYeZ\f[db^c`Xg]_xǻz̻лȻɻ~ѻͻ|˻ʻyλ{wvϻ}RZUgPOVeTqcdNXtysowuhb}W~xmkfn{jzSv|rlQpYiDACB@@CEEBAD`YTc[eU_aWX]bjgk^Zhj\dfiSVscqalhrbetmpid`okugnBf@DACafOhIdjNJK`gMeL_cb^implnoijgkhųKMLNJDSRT_U^VruthsrpqwUVPQRTWSO@BCqrmnuvyzijEefâĢŢƢǢȢɢʢˢƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿƣ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰtuvwxyz{|}~wxz{|}utsrq~bcdefghiponmlkjvyVXELK¡JK¢ԡۡܡڡݡء١DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsDzǴǵǶǷǸǹǺǼǽǾǿFGDXӡPѡҡBN\NQSSN NGNNV n\s_NQN.NNNNNQRlSS WY,Y\]ekkl?r1Ng9g8g;g:g?gOgORO_OAOXO-O3O?OaOQQRR!RRR ScSrSSS0T7T*TTTETTT%TT=TOTAT(T$TGTVVVAWEWLWIWKWRWY@YYYYYYYYYYY[[(\*\\\\\\\\\\\] ^^^^^^^__x_v_______________`_:bbbbbbbqb{bzbpbbbwb}brbtb7eeeeeeEgGgYgUgLgHg]gMgZgKgkllxlglkllllqlolillmllllflslel{lltpzpcrrrrrrrrsssss:u9uuuv=y4xɏ0(/-3NO|OO}OOOvOtOOOwOLOOjOOyOOxOOOOOOOOkOnOQQQ5R2R3RFR1RR S SuuuvvvvvwwwwwwBy?yyxz{zzu||5 ‚ÂpomnVҏˏӏ͏֏Տ׏9=<:COOOOOOOOOOOOOOOOOOODRIRRR=S|SSSSSTTTTTT TTTTTTTpTTTTrTTTWWWWWWWWWWWWWWWX YSYYYYZYYYYYYYYYYYYYYYYY[L\\\\\\\\\\\\\\\\\\\\\]!^"^#^ ^$^^^^^^^_._V__7`9`T`r`^`E`S`G`I`[`L`@`B`_`$`D`X`f`n`BbCbb c cbccbbc cbbcccbcbbAeCeee6f!f2f5ff&f"f3f+f:ff4f9f.fgggggggggggggggggggggggggggggggggggggggggg(kkkkkkk l!l(m4m-mm9/%3-DQ%V?A&"BN*ZMZ9ZLZpZiZGZQZVZBZ\Zr[n[[[Y\] ]]] ] ](] ]&]%]]0]]#]].]>^4^^^^^^6_8____`````````````````````2ceccc}ccccccccocccnccuccmcc|cc;ccxcccccpcSeeefaf[fYf\fbfgyhhhhmhnhhhViohhhhuhthhhwhh|hkhrhhhqh~hhhhhhhxh{hhhh}h6k3k7k8kkkkkk*lmmmmtnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmp qpqp qpqpqppqqqpp qqq~r{r|rrsssss ssrssssssttsttsss t tstducuuuuuuuuvvv9w/w-w1w2w4w3w=w%w;w5wHxRxIxMxJxLx&xExPxdygyiyjycykyayyyyyyzzz5{G{4{%{0{"{${3{{*{{1{+{-{/{2{8{{#{||||5}=}8}6}:}E},})}A}G}>}?}J};}(}cGCH%-,!'"83:42tzstu}~vYV†ņȆ̆ÆR։ىՉ0',9;\]}}{y؎ގݎ܎׎$  !ԐVXZSUz|mkqoj嘗PPPPPPPPPPhPPPPP_QQSSSSUUUUwUEVUUUUUUUUU}UUUUUUU W)X7XXX'X#X(XWHX%XXX3X?X6X.X9X8X-X,X;XaYZZZzZZZxZZ|ZZZZZ7ZZZZZZZ{Z}ZZZZZZ[[[[[[[ \0\7]C]k]A]K]?]5]Q]N]U]3]:]R]=]1]Y]B]9]I]8]<]2]6]@]E]D^A^X____``````a` aaa`a````aaaa`a aJbccccccccdcccccccadccccccccccccccc2egejede\eheeeeeeeee|flf{ffqfyfjfrfg ihih*ihhhihhhhhiihhihipihihhihhhhh i iihhhhhhhihhi%ih9k;k?k?efQOPԀCJROG=M:<=?u;σ#ƃȃヿ݃؃˃΃փɃ ރƒՃǃуÃă׃ۃ؆ӆچ݆܆׆цHVU׈Ɉ݉ډۉNM9Y@WXDERHQJLO_؍Ӎ͍Ǎ֍܍ύՍٍȍ׍ō-4/,ad_b` %& '${~–ȖÖlpnNNNPPPPPPPPPPPPPPPPPQzRxR{R|RUUUUUUUUUUUUUUUUUUUUUUUWSXhXdXOXMXIXoXUXNX]XYXeX[X=XcXqXXZZZZZZZZZZZZZZZZZZZZ[[[\3\q]c]J]e]r]l]^]h]g]b]]O^N^J^M^K^^^^^^@___`IaJa+aEa6a2a.aFa/aOa)a@a bh#b%b$bcccdd d d$d3dCdddd9d7d"d#d d&d0d(dAd5d/d dd@d%d'd dcd.d!ddoeeeffffffffxf gfi_i8iNibiqi?iEiji9iBiWiYiziHiIi5ili3i=ieihxi4iii@ioiDiviXiAitiLi;iKi7i\iOiQi2iRi/i{iF 2*-<:15B&'8$0눝艫=hiՌό׌   # "$!zrysvzy}~-X}z~{Η͗ٙǙ>?`a_PQ0QPQQPP Q QP QRRRRHVBVLV5VAVJVIVFVXVZV@V3V=V,V>V8V*V:VWXXXXXXXXXXZZZZZ[Z[Z[[[[g\]]]]]]]]]]]]i^]^`^\^}^^^I__aayaaaaaaaaaaaaaafaa-bndpddddddddddddhdddvezeye{eeefffffffjjjiijii jiiijji'jiijii@jjii jii jjj%jji&jjijQkkkkkllklAo&o~oooooooboOooZoovolooUoroRoPoWooo]ooaoko}ogooSooiooocowojo{oqqqqqqqqqqqqqqqqqrrXsRs^s_s`s]s[sasZsYsbsttttt}ttt|tytuu~u%vvvvv#vv(vvvvvvwwwwxxxxxxxxxxxyyyyyyvk9zzzz{{{{{{{{{||||}}}}}}~}}}}}}}vdgOSRPNQ$;)  '+ *(.1& 0 /bVcdwsXT[RaZQ^mjPN_]olzn\eO{ubgiZ   ϊƊӊъԊՊ׊Ŋ؊Êي>Mߌٌڌ݌猠 #%$.&',$ #spogk/+)*2&.ВÒĒْϒߒؒגݒ̒’ʒȒΒ͒ՒɒޒђӒƒ|ӖZЗϗ&)( 'ܙ͙ϙәԙΙəؙ֙˙י̙FCgtqfvuphdlӞQQQQQQ4SSpV`VnVsVfVcVmVrV^VwVWWXXXXXXXX[[[![[[[[([[ [[[]]]]]]]]]]]]]g^h^f^o^^^^^^K__aaaaaaaaaaaaddddddddddd3ee|eeffffffffff#g4jfjIjgj2jhj>j]jmjvj[jQj(jZj;j?jAjjjdjPjOjTjojij`j[qNnuUg`f]Telcedy&0-.'1")#/,݊ߊȊފln3>8@E6<=A0?6.52974vy{356'z8<#F- ˒%4$)95* ͕Ԗ 5/2$')癹3|~{z}% )"՞֞=&Q%Q"Q$Q Q)QRVVVVVV~VVVVXXXX-[%[2[#[,['[&[/[.[{[[[]l^j^__aaaaaaaaaddddddeeeefjjjjjjjjjjjjjjjjjjjjjjj[kk looooooooooooooqqqqqqqssnsostttttttttuuuuuCvHvIvGvvvwwwwwwwwwxxyxxxyxxyyy\z[zVzXzTzZzzzz||{|{{|{ |{| |||{{|{{| ||-~<~B~3~H8~*~I~@~G~)~L~0~;~6~D~:~E~},ā́ʁŁǁ[Z\{w|zxWyvhŇɇLJ̇ćʇއ53<>AR7B " OprqooNMSPLGC@~8dVG|X\vIPQ`mLjyWUROqw{a^cgNYǕɕÕŕ ՗ԗADJIEC%+,*32/-10H3Ag6./180EBC>7@=-Ȟڞ$#"T1Q-Q.QVVVVVVpY<[i\j\]m^n^aaaaaaaaaadeddeedeefffjjjjjjjjjjj^kk lp p pppppopo&poo prqqrqvsttttttttuu\vdvYvPvSvWvZvvvvwwx yyy yyyyyy_z|)|| ||-||&|(|"|%|0|\~P~V~c~X~b~_~Q~`~W~S~uсҁЁ_^ƅŅDžą˅΅ȅŅ҅$iۇ߇ԇ܇Ӈ؇㇤ׇه݇SKOLFPQI*'#305G/<>1%7&6.$;=:Bu\b`WV^eg[Za]iTFGHK(:;>ҕӕѕזږ]ߖؖݖ#"%חٗ֗ؗPQRA<:  ܚ)5JLKǛƛÛӛě\SOJ[KYVLWRT_XZߞ%+*)(LU4Q5QRRSVVVVVVXXXY=[>[?[]p^_aee e e eeeeefjjjjjjjjjjjjj`kk lp'p pp+p!p"p#p)pp$pp*p r rrrrrrrrrttttu`vwwwwyy!yyyyygzhz3|<|9|,|;|||v~u~x~p~w~o~z~r~t~h~KJxׁՁdacمڅׅ؅߅܅хޅ  bZ[Wa\X]YPHJ@SVTKUQBRWCwv mxsjo{ŽRQOPS@?ޓǓϓ“ړГ̓ٓʓԓՓēΓғ}ڕە)+,(&ݗޗߗ\Y]WHGC%$" '#š  7ޛԛכܛٛ՛ڛwqx}ktupis{oyh-@AMVWX7SVVVXE[]]^^__aeeeeefffjjjjjjjj02.3vtsEdcbU]W^ėŗVY RXPJMKUYLNžО876COqpnoVVN[m\-effk_pap]p`p#rttw8yyyj|~mC875K‘khiFCGǗ^՚Ycgfb^` FtuvV.eekkkkbp&rrww9yi|k||~~~~FGHyz|{nmoqsIr_hnm  Gx{zyWfpo|<Ñtxvu`tsqu hpep|j>=?ɎKst̘adfg$Hbk'rLih.)rKyuvkzipjp~IxψXR`|Z0 00" 0& % PdRTUVW\ 1 34O 56[]78009:00;< 0 0=>0 0?@ 0 0AB00CDYZ[\]^    005 2  ; 0%%%%%&&%%%%%%2!> ?IJMNKL_`a "f"g"`""R"a"bcdef<")"*"" """33+"."5"4"@&B&A& &!!!!!!!!%"#"<0 ! !ijk333333333YQ[Q^Q]QaQcQUt|%%%%%%%%%%%%%%%<%4%,%$%%%%%% %%%%m%n%p%o%P%^%j%a%%%%%q%r%s%`!a!b!c!d!e!f!g!h!i!!0"0#0$0%0&0'0(0)0DS!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1NYNNNCN]NNNN?QeQkQQRRRSAS\SS N NN N+N8NQENHN_N^NNN@QRRCSSSWXY'YsYP[Q[S[[\"\8\q\]]]]]]r^^ __MbNN N-N0N9NKN9\NNNNNNNNNNNNNNNCQAQgQmQnQlQQQRRRRRRS9SHSGSES^SSSSSX)Y+Y*Y-YT[\$\:\o\]{^^___b6bKbNb/eeeeeefg(g kbkykkkkl4lkp*r6r;rGrYr[rrsNNNNN;NMNONNNNNNNNNNNNNEQDQQQQQQQ RRRSSSSNJSISaS`SoSnSSSSSSSSSSSSSSSSSSSSSVVY.Y1YtYvYU[[<\]]]^^s^|^____ bSbTbRbQbee.g,g*g+g-gckkll8lAl@l>lrssttuu(u)u0u1u2u3uu}vvvvwww:yytzzNNRNSNiNNNNNN OO OO OOOONNNNNNO OIQGQFQHQhQqQQQRRRRRRS!S SpSqS TT T TTT TTT TTTTTTVVV3W0W(W-W,W/W)WYY7Y8YYxYY}YyYYYW[X[[[[[[\y\]^v^t^____b b bbcb[bXb6eeeeeff g=g4g1g5g!kdk{kl]lWlYl_l`lPlUlal[lMlNlpp_r]r~vzs||6 3 nr~k@Lc!2NNMOOOGOWO^O4O[OUO0OPOQO=O:O8OCOTOT&TNT'TFTCT3THTBTT)TJT9T;T8T.T5T6T TWPWOW;WX>YYYYYYYYYYYYY][\[Z[[[[[[,\@\A\?\>\\\\\] ^^^^^__d_b_w_y_________bbbbbbvbbmbb|b~bybsbbobbnbbbbb9e;e8eef_gNgOgPgQg\gVg^gIgFg`gSgWgekkBl^llllllljlzllpllhlll}llrl~ltllvlllllvp|p}pxpbrar`rrrs,u+u7u8uvvwyyyvz|Uo҉7FUdpʎƏŏď]IƑ̑2.1*,&NVNsNNNNNNoOOOsOOlOOOOOpOuOOiO{OO~OOOzOTQRQUQiQwQvQxQQQ;R8R7R:R0R.R6RARRRRSTSSSQSfSwSxSySSSSsTuTTxTTT{TwTTTT|TTqTvTTTbThTT}TTVWwWjWiWaWfWdW|WYIYGYHYDYTYYYYYYYYYYYYYYYYY_[d[c[[[[[[[\H\E\F\\\\\\\\^^^^^^x^^^^^^^&_'_)____|______``/`5``*``!`'`)`+``bb?b>b@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>eeeeff fffffff ff g gmgggqggsgwggggogpggg~gguggg|gjgrg#kfkgkkllllllllllllllllllllllllllllllllllppppp,r-r8rHrgrirrrrrrsssss=uuuuvvvvww>y@yAyyyzzyzz|T NqRhˎΏԏяǑёw@?;DBR^NNNOOOOOOOOOOOOOOOOOOOOOOWQQQQNRCRJRMRLRKRGRRRRR SWS{SSSTTTTTTTTTTTTTTTTTTTTTTVWWWWWWWWUYQYOYNYPYYYYYYZYYYYZYi[[[[[[\N\O\M\K\\\]^%^^}^^^^_-_e________`` `%``(`M`p`h`b`F`C`l`k`j`d`Abbc cbbcbbcbbbbbbcc?eEeeee%f-f f'f/ff(f1f$ffgggggggggggggggggggggggggjkkkkkkll m2m*mAm%m m1mmm;m=m>m6mml9m'm8m)m.m5mm+mppppppppp0rrrortrrrrsssssssu-uOuLuNuKuuuuuuxvvvvvvvvwvv w wvvwwxx x xFyIyHyGyyyyyyzzzz}|}}} }}}}8 6րڀÀĀ̀ۀ΀ހ݀"ۂ ҂ׂ܂Ԃтނӂ߂Py{zMkԉts͎̎ʐΐÐKJ͑PKLMbi˗ۘߘXNN P P#PO&P%PO)PPPc/cUcBcFcOcIc:cPc=c*c+c(cMcLcHeIeeeeBfIfOfCfRfLfEfAffggg!h8hHhFhSh9hBhTh)hhhLhQh=hgPh@hSSfFUjUfUDU^UaUCUJU1UVUOUUU/UdU8U.U\U,UcU3UAUWUW W WWX XXWWWX5XWW YbY6ZAZIZfZjZ@ZwUUUUUU~UUUU W/X*X4X$X0X1X!XX XXX`YwZZZZZZs[q[[[[[ \ \1\L]P]4]G]]E^=^@^C^~^^^^^<_m____`````a#a`a```ha`a` aaabIbcccccccccccccccvccccRdcc^efebeceeeenfpftfvfoffzf~fwfffgghhhhhihhhhhhhhhh iiihhnih>k:k=kkkkk.l/l,l/n8nTn!n2ngnJn n%n#nn[nXn$nVnnn-n&non4nMn:n,nCnn>nnnnNncnDnrnin_nqq&q0q!q6qnqqLrrr6s%s4s)s:t*t3t"t%t5t6t4t/tt&t(t%u&ukujuuuuuuuu{v|vvvvvOww]xlxox zz zzzzzzzzI{V{F{P{R{T{M{K{O{Q{||^}P}h}U}+}n}r}a}f}b}p}s}U RUTKQN9F>LSt Ń W ̃ʃ8܃ԃ߃[߆نԆۆІކWˆ;`U^a4a'a aa7a!b"bd>dd*d-d=d,dddd d6ddddleeeffffffffgimiZiwi`iTiui0iiJihiki^iSiyii]ici[iGkrkkkkknnnnnnnnnnnnnnnnnnnnnnNqYqiqdqIqgq\qlqfqLqeq^qFqhqVq:rRr7sEs?s>sotZtUt_t^tAt?tYt[t\tvuxuvuvuuuuuuvv[wkwfw^wcwywjwlw\wewhwbwwxxxxxx|xxxxzyyy,yzz zzzzzzw{{`{n{g{|||}y}}}}[}nijrVXqpxenskyzfGw=1ufkIl[<5acimF^\_ Y߈Ԉو܈؈݈ʈՈ҈krsfip|cqmbnly{>hbʌnjȌČ̌Ōߍ捲 KJSBTAljiɑ7W8=@>[KdQ4IME9?Z͖˖ɖʖVtv  霂 PPPPPPPPPPPPbQQRR1SSUVVVUVV V VVUVVVVUWWuX~XXXXyXX}XX%Y"Y$YjYiYZZZZZZZu[[[[[[[[[[ \b\]][^c^U^W^T^^^ _F_p__Ga?aKawabaca_aZaXaua*bdXdTddxd_dzdQdgd4dmd{dreeeefffiiiiiiiiiiiiiiiiiiiIkLk3l3oonon)o>o o,ooo"onno1o8o2o#oo+o/oo*ononnnqq}qqqq>rrrDsPsdtctjtptmtuu'v v v vvvvw}wwawxxxxxxyyy.z1zzzzz{{{u{{{{{{{{|||}}}}}}}}}}}}}}}}}}}p^ZPKɄƄĄ˄ӄфʄ?;"%4U7)jӌьҌk`X\cY^b][uxwtx{|̖Җ| AB󜼞;JQQPPPQQ QQQRRRRRRS.V;V9V2V?V4V)VSVNVWVtV6V/V0VXXXXXXXXmY [Z [Z [[[[[[d\e\]]b^_^a^^^^^^^H_q___vagana]aUaa|apaka~aaaaaaaaaa.bidodyddddddddddddddddddduewexeffff#jjijjji!jj jijjijPkNkkkk?o|ooQofoToomo[oxonoozopodooXonoo`o_oqqqqVrrNsWsittt~ttu v)vv$v&v!v"vvvvwwwwwxxxxxxxx?z~F~7~2~C~+~=~1~E~A~4~9~H~5~?~/~DqrposƁÁɁ q~gч҇Ƈȇˇ;6D8= A?sIKHJD>BE?}9M(uJeK~l[pZTʕ˕̕ȕƕ֖ӗF5;?Ϟޞܞݞ۞>KSVVXX8[]_a3bdddedddef&gjjjjjjjj_kxkk p popoppqqqqwsusttuVvXvRvwwwwyyazbz`zzz+|'|*||#|!||T~U~^~Z~a~R~Y~Hwv́ρ υͅЅɅ(9,+PYcfd_UIMБԕ֕ЕՕܖٖۖޖ$MOLNS>?=.ONMʛɛțQ]`,3QVXXX[^aaaaeeffjjjjpp(pppppr rXrrxszstttuu_vavwyykziz>|?|8|=|7|@|k~m~y~i~j~s~؁݅Յ `_V^A\XIZNOFY |rvlztTNѓߓÓȓܓݓ͓֓ؓדܕ*'aܗ^X[EI ֛ۛarjlRVVVVVX@[C[}[[]aaeeef'gj>p0p2pr{stbvev&y*y,y+yzzL|C|M|||}~|~~Lځf  dplfo_k ˑ0ĘRQ+075 y/_ca7Q8QVVVYl\]aaeeefjkjkLprrttivwP|~~-#"!jltw}_.35:82+892geWEC@>ϚTQ-%\fg×kUUMҚI1>;ӝם4ljV]b#e+e*efktzd|c|e|~~~8?1c`dho\Z[WӚԚњTWV坟VX,e^pqvrvwP69bwjBHDƗp_"X_|}wr^kcpl|n|;rpq^֚#̞dpwwɗbe~ő}~|wxT(rj1r|0000A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO`$a$b$c$d$e$f$g$h$i$t$u$v$w$x$y$z${$|$}$@@0AA0BB0CC0DD0EE0FF0GG0HH0II0JJ0KK0LL0MM0NN0OO0PP0QQ0RR0SS0TT0UU0VV0WW0XX0YY0ZZ0[[0\\0]]0^^0__0``0aa0bb0cc0dd0ee0ff0gg0hh0ii0jj0kk0ll0mm0nn0oo0pp0qq0rr0ss0tt0uu0vv0ww0xx0yy0zz0{{0||0}}0~~00000000000000000#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO`$a$b$c$d$e$f$g$h$i$t$u$v$w$x$y$z${$|$}$??@WAXBYCZD\E]F^G_H`IaJbKcLdMeNfOgPhQiRjSkTlUmVnWoXpYqZr[sD\E]F^G_H`IaJbKcLdMeNfOgPhQiRjSkTlUmVnWoXpYqZr[stt1uu1vv1ww1xx 1yy 1zz 1{{ 1|| 1}}1~~11111111111111111 1!1"1#1$1%1&1'1(1)1??££?ãã?ģģ?ţţ?ƣƣ?ǣǣ?ȣȣ?ɣɣ?ʣʣ?ˣˣ?̣̣?ͣͣ?ΣΣ?ϣϣ?УУ?ѣѣ?ңң?ӣӣ?ԣԣ?գգ?֣֣?ףף?أأ?٣٣?ڣڣ?ۣۣ?ܣܣ?ݣݣ?ޣޣ?ߣߣ????????????????????????????????@@AABB<CCDDEE0FFGGHHII JJ!KK !LLiMMjNNkOO3PP3QQ3RR3SS3TT3UU3VV3WW3XXYYYQZZ[Q[[^Q\\]Q]]aQ^^cQ__U``taa|bb%cc%dd%ee%ff%gg%hh%ii%jj%kk%ll%mm%nn%oo%pp%qq<%rr4%ss,%tt$%uu%vv%ww%xx%yy%zz %{{%||%}}%~~m%n%p%o%P%^%j%a%%%%%q%r%s%`!a!b!c!d!e!f!g!h!¢¢i!ââ!0ĢĢ"0ŢŢ#0ƢƢ$0ǢǢ%0ȢȢ&0ɢɢ'0ʢʢ(0ˢˢ)0̢̢͢͢DS΢΢Ϣ!Т"Ѣ#Ң$Ӣ%Ԣ&բ'֢(ע)آ*٢+ڢ,ۢ-ܢ.ݢ/ޢ0ߢ123456@7A8B9C:ϢAТBѢCҢDӢEԢFբG֢HעIآJ٢KڢLۢMܢNݢOޢPߢQRSTUV  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\][^_EABCDEFGHIJKLMNOPQRSTUVWXYZ{|}Y  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H END-OF-INPUTIDENTCDATA'=''<''>''/'COMMENTTEXT'?''!'unknown token!%s unexpected (ident wanted)%s unexpected ('?' wanted)%s unexpected ('>' wanted)  `p|sjaX0CLLLLLLLLLLLLL:LLLLLLLLLLLL1(LLL LLLLLLLLLLLLL'' unexpected ('' wanted)'' unexpected (END-OF-INPUT wanted)%s unexpected (ident or '/' wanted)%s unexpected (ident or string wanted) sjissjis_binsjis_japanese_ci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[_]^_`abcdefghijklmnopqrstuvwxyz{|}~Nʁ}L~ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփF@ABCDEGHIJKLMNOPQRSTUVWXYZ[\]^_`pqrstuwxyz{|}~v]\aefghdcˁ́́݁΁ށ|假ځȁɁ߁ہ܁@ABVXYZqrstuvwxyzkl`‚ÂĂłƂǂȂɂʂ˂̂͂΂ςЂт҂ӂԂՂւׂ؂قڂۂ܂݂ނ߂JKTU@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~E[RSꈚO㏺s^NuۊO厥TvVRh娘揩T\]݌܌jiS划lYmwedtWߗȈ‹C˜Ɉތꊚx`ĘLfϒAȘʈZC̑ǘ]ØŘƘCΘјϘɘ͘gҘʘ˘ИӘ̘ˈDN֕Wrטܘژ՘ؘۘ٘ە֘MݘޘCoUqŒ{|ߘ؎l㘑ϗ`̈ΕÎUTPÍbBXC͋@AlDEHFmGIKJƕVMNLQPOԘRSDזUTWVXYZ[[ƖeZ\}]S_`ZaTbc~fečgh`ijkʎnlmyopq~ustrvwxyyÙzË{}}~MʓonؐYʕh䒍퍎OU܍菛nc͗wJNuEו啫΋MَܖkxٔC\ߌ™ڔ쑦PmęTřƙKpəșʙ˙З̙Ι͙~X}ϙЙљQҙyFofՙbpÌٙ@ڙؙ‰䑶jEiۙܙhegݒD@fNi۔܊ߙzݙޙCۓČaB@]PDCiAƍENFGLKNMJSOHISBYXOPUR[VWTZQ`ea\fPhA^b[슅c_igridcmkpjnlkorwutQÉqsRv܉}{|~\XxyӓdXdlc͈}Ōޕyݍ\nϋVBRؒ^C_Wu|x͑š‘ÚĚƚꁉgۗ̚ȚY˚h˒ǍǚUɚŚo͚mΚĒКnњ֚՚ϚҚԚǕךdؚٚښܚۚޚӚߚݚmpsᚺ누ْϕĉ[OǙgVvΈޓt_zDz@DA@ܔϖDJWdBEÑWiFȍGonƌψKLIWHÖPpЈQORPNPMؕVWSKkUXwYT}ZQ[_\ʼn^]kda`bcefhgilڒdjmnqopqrEstuyFЖGnjvwwxyz{}~FvG@蒶Xq鐺G{ɍQƉeh⎃ГxQ@ljJ˞RΑˎшqޖċAڎKsANj͓rWjƎwԓR򊨛ZБx݊㉴sRśěۛɛƛțǛʛ˛̛ϛΛ͛՛ћЛқӛ֛כԛ؛ފٛۛڛܛݛBHIޛȌߛbJFЋsztȐёAX蛝y훋NKcHLݔXM{xɌNfpLf@CDB_FEAGHILJKMNUOٕPMQTU|VOo햷ʌWX^YJeZ[\]_`abSRc`FʍVjdeefޔihgaґmkjlk]ponqrzsOtJSKEuuYZzwyOxv|{|vӑ}}P~pbIxYߔ{Փfɐ҈ySđz䎷DӈŜƜĜǜÜȜɜœԑQT̜֜͜Μ՜ԜҜdSϜќԈӜʜМלc˜|Jڜޜߜܜٜ؜ݜeۜ蜧圜^ʐ@ABCYDEFՑˌߖ[GˍHőKILJM}NQZOVPc}RSWTRܐe┫ZcS]d_fba[YUXSِ`qg@hminAE\kwlˆgjUҔp}Jqsoߕ{̎~xPv|{uzrt@||̍TyڐT[wdf͒}~`KghrgېE̖TQPdBohi^FC[xǓĝq~ݝsŝǝƝU֓hȝG~ɝʝ˝|Đk֍l͝ΎΝҋːϝafzVН{ӝѝԝҝ՝֝؝םٝڝU|{۝ߝVޝݝՈ̐ftE蝞WWNAӔiqŋɉgÈb\A@ܓBCjDFGHȋgXIJ֙]\֑ōLK񍽒LN]MNOؖ{DQpSVURTWLjލێZmXYۖ[\aYt^ܝnf`”f]cb͐їʉ}ged_͌kiˉgmsƑuAt^_ђMpoqnvljrhĎ`̒ȓhIxZz}ji͍{jyĈ|~ˋKjVO~[挜Bǖ_IXoֈAŒ̓֒kȑ^퓾žƋ|ɋOyT|ҞP՞YԞӞОĞÞ֞ΞɞƞǞϞ̞\ƒʞŞȞl͞מߞ؞ޞݞΒ۞ٞWڞ➾͖~ўMk@ɓh@wKGFEBDCIELHJMQNOܞRSTUӋ~WVY\ԋ\[]̉V^`_abc~c΍defgihw}cjlBkmnopqsrtiuEkvaʚBwxꕈœyіz|{~}CXiÔ`Ĕ𓇟]rDדBv͉򐑔@AgDבjmÒk^FhlY_Q\CZOܗUtƟҗßişʟȟŸWɟğ˟̟[~ǟYύakПߟٟnԟݟQ֟͟ϟ`۟ӟڟ؟ܟΌÏXҟN՟ΟџןpퟹanMŖؑHBޟYRAВQ@NIRK઒HגkEDMGFLCOPUTVYbSWQZX][^aZG\`_JdhfbcgemmjilғnoqprsΉD܎ЍFutxY{vzy_׈}G~|wBకŏRďƏϔώFonMRӗzWCיܒݎꖩuЕŔvĖSqҍ]Ɣό_ƓKTҖ—LPQblʋߊωX]ǔԗՋilڗŠZ@ZABCDFGErIHKJLMONQPÊr[RᶐYSpTcRb\jUV[YXEW؈Ȕ\Z{L^᪗l_]Ԕ`aوfcbEidehgDa`^jklnmuvprt]usᾎoqaǏxwyzɒ|{s}~×ȕoᒔSIFcHMu~mvᐓXῖĊՔږӖȏŊ^“r˕uėᵖmZḋΐӍuԍmCjv{ɏdVOqɕאm֔A@⁖CBʏDbFEGIHЎJV_FSPOcLNj_MKIˏ[ՍQRh֋\TSЉTUWXHYZ[׋щÓG\Hȉb]d`a≔`^_̏ڈHbcŐBdetŗgfilj҉mkemsoϐnnpqrntuv˓ސwy{xzA|Eq~M}⧗͏vG[^|ƊΏJ}yM؋}͕ӉZNJ\ߐ͔ѕzŽēUәȊАĕ̋HeSl⟊Ϗ⸐ЌWfƗnI@gC[RBюhAfaےFݗ׍GaIЏHIgDJEoMQ㋌LUiROPNKGWTVSpX㎑ea[_ۈZbfjԖԒ\dY]^㻈Ȗ]ًΗgchjmiҕɊɖ܈lknuovrȎtqwpcDks{~|z`ѐɔ}x@qJDUyJ[Zʊߍrul딭rQA`HKˊ|sVlҎ㧎ϑkՖ^㮒EW㣔]яI̊Ҍbmnx݈_wّEӌE\ƐeҐrE]BAtDCorTHIGFJBڑNOKLMpUQGPSRcVWVXZ^[Y^\]d_`acbefgbh՗LvijPklmno介pqɎrsܕڊCwMtquʔwǑvDxzy|{}~͊ǗFŎHmcԉF|ڋۑcՉꋗϓpΖ։s䃒t`r׉Ί䜔eۋىҏ؍p؉ԌH专Gވ䎗t䟓䒑K䘕ӏN֖f䓑~uW䪖H@̕UӒ@הԏǎBCnJPQDNFHRGKLOEEIFdOVTmSUWX[YZ˔M\a唑`Abh]_^PAdcefgՌsi|jklqrm\naopztwsuv֎x`ua{^|}~gؔIwXIډZIayOspXqՏt߈\܋Uܑьٍ啑T֏廐J݋A@CBDPEFG漐vHeIJ橌KK`LoMO旗NePQRϊSTUVpWXYGZ[\]vu`_P^Lab׏cKݐidf؏ehigُ]frmwllkFlbYڏjopn֌_FsaUvrwtuqǓNۉbzxkЊyzȗ_{泒~|@}攏dyuӎwTދ戕xc]̝QJLؓۏ^eLvn݉̔ъӐ晒M惔ݑ\fGdGo^܏qw桑Ԑ͎q拕NzՐ׌HHxH@DABCJE֐GIFLRKMNQPOSRUTVWYXgZ[]^_\`ԎaORb]cfedygriڍhqkmjlpnPory֗SsAutx`wv{zyQ|}~DhCJ_ӕҒHIv}ߋԕމ痔Rqǒޑt秓r瀐ʒ笑秈AߑTi툝NٓxV^Օ߉繓BሦkyKՎJIɗҊWߓM׎@xYSsXsAѓUގz|珗Vy_XݏΔэߎ碗dʗB瘊jޒtݓbn،S甉ޏzgeLKNݕse|K獐@BACыdB^EDFtՒKbGHLJIߏOȒZMNLPVYXLQRUWZTS^_`]\[dbcaefhӊgsiljkmopqtruwvxMy•zJ[ՊԊ{|}~֊t}{ňhjɑ~Õ@w׊A’˗褗zG@Ku脌ۍBחꗯǐYWٌ蓎GԙJᐴ_뗋dkIPÐrʖvxCƈfڕ؊B蹉Cŕ{aДړ̗zjopz{犰^ޗڌ@BACDEFHGIHQJKZєOLݖM{a`NOPRSUQTيVWXYZ\[^a]_`bcd遍e]nfgyhʑwmljkiwnopqsrxtvRuxˑyz}|~{[ETS@飖D驕LNI~邊khVLؗP–Γ鼓鰎DCEL@ABQJFKHG{LMNIOߒSTRQWPUVYX[\]hZ^_`abcdefghki[jlٗmꞔnpqoꍍ˖sotuvwٖxzy{|}~Cیl@VsIij{CD^OPQRSTUVWXFGH`abcdefghijklmnopqrstuvwxymnOQMobpP  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~abcdefghijklmnopqrstuvwxyz{|}~000 000@>?00000N0000  \0 \& %      00;=[]0 0 0 0 0 00000 "`"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0" """""*")"'"("!!"" ""#""a"R"j"k""=""5"+","+!0 o&m&j& ! %!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%NUZ?Ta(cY"uPz`c%nefh'Weqb[Y{b}}b|[^ cfHhǕOgN OMOOIPV7YYZ \`apafipOupuy}}ÀcUz;SNNWxNXn82z(/AQpSTTVY_m-bp TS[poS\zNx&nVUk;YSfmtBVNKO SU0[q_ ffh8ll)m[tvNz4[`풲muvř`iSQW0XDY[^(`cclopqYqq?s~vт`[iXeZl%uQ.YeY__be*j'kksV,Ğ\l{QK\aƁvharYNOxSi`)nOz NSNUO=OOsORS VYZ[[yfggLklkpsyykSkWl"ooEotuv wz{!|}6f̊Qeӗ(8N+T\]sLvT/Z__`hjZtxw^NɛN|OOPPIQlQRRRSSTTUQWW}YT[][[]]]x^^^^_R`Labbc;efCffmg!hhi_l*mim/nn2uvlx?z|}}^}}T*RLaʐuq?xMؚ;[RRSTXboj_KQ;RJTV@zw`ҞDs opu_`rdkNVdWXZZh`aff9hhmu:}nBNPOSUo]]]glstxP߈PW^+cPPQgT^XY[i_Mbc=hskn}pǑrx&xmye0}܃ dR(WPgjQBW*:XiT]Wx\OJRT>d(fggzV{"}/\h9{SQ7R[bdd-gkіv֛LcvRf NPSq\`dce_hqs#u{~یxefkNN:OO:RSSUVXYYYP[M\^+^_`c/e\[eeegbk{klEsIyy|}+}󁖉^ifnj܌̖okNrtux:y 3ꁔPl_X+z[NSW1YZ[`nouꌟ[{rPga\J~Q\hcfenq>y}ʎndžPR:\Sg|p5rLȑ+[1_`;NS[Kb1gkrs.zkRQSjT[c9j}VShT[1\]Oab2myyB}M~Frt/1KlƖNOOEQAS_bgAl ncs&~͑SY[m]y.~|~XqQSO\%fwzQ_eoikmndov}]uQR@bffn^}rfRSsY^_U`dPQR SGSSTFU1UVhYY~ d_xRbcBdb-z{v} INHQCS`S[\\]&bGbdh4hlEmmg\oNq}qez{}J~z9nΌxwMRU8o6qhQyU~|LVQX\cffZiruuyVyy| }D}4;a PuRSS PUXOY=r[d\S``\cc?ccdef]iioqNuvz|}}aIXlňpmPXaӁ5 OtPGRsSo`Ic_g,nO^\ʌe}RSvQcX[k[ \ dQg\NY*YplQ>UXY`Sbg5Ui@ę(SOX[\/^_ `Ka4bfln΀Ԃ.۞ۛNS'Y,{Ln'pSSDU[Xbbblo"t8o8QSSFOTjY1]zh7rH=j9NXSVfWbceNkm[npwz{}=ƀˆ[VX>_efjk7uNJ$Pw0W_e`zf`luznE{\uzQ{Ąyz6Z@w-NN[_bm6t4xFZuO^bcWeogvLr̀)M PWZhsidqrXjyw)/OeRZSbgl}v{|6f or~Q{rx{H{ja^Qu`ukQbnzvOpbO{zVYX䆼4O$RJSSS^,deg>lNlHrrsTuA~,酩{Ƒiq=cifjuvxC*SQS&TY^|_`Ibybbekluvxy}w^ۘ j8|P>\_gk5t w;gz9Suf_񃘀<__buF{ee gllp2x+~ހ *JҒlONNPVRJWY=^__?bfgghQ!}~2 T,SP\SXd4ggrfwFzRlkXL^TY,gQvidxTWY'fgkTiU^ggR]hNOSb+glďOm~Nban+osT*gE]{\[JnфzY|l wR"Y!q_rw'a iZZQ T}TfvY]rnMQh}}bxd!jY_[ksv}2Q(gٞvbgR$\;b~|OU` }S_NQY:r6Α%_wSy_}3VgS aalRv8/UQO*QRS[}^`ac gggnm6s7s1uPyՈJĖYNYON?P|^Y[^ccdfJii mnq(uzIɄ! e} ~ab2kltmmeg<ma}=jqNuSP]koͅ-)RTe\Nghttuψ̑x_szNceuRAmn tYukx|zOnae\NNP!NQ[ehmsBvwz|oҊ|ϑuR}+PSgmq3t*W`tAXm/}^N6OOQR]`s|}o#,BTojpŒ2RAZ^_g|iijmobrr{~KΐmQy2֊-PTqjkČ`gNNkhi~nxU _NN*N1N6NYzUYPYNYZYXYbY`YgYlYiYxYYY^OOYYYYYYYY%ZZZZ ZZ@ZlZIZ5Z6ZbZjZZZZZZZZZZZZZZ [ [[2[Z*[6[>[C[E[@[Q[U[Z[[[e[i[p[s[u[x[ez[[[[[[[[[[[[[[[[[[[\\\ \\ \"\(\8\9\A\F\N\S\P\O\q[l\n\bNv\y\\\\Y\\\\\\\\\\\\\]\ ]]]\]]]]]"]]]]L]R]N]K]l]s]v]]]]]]]]]]]]]]]]]]]]] ^^^^^6^7^D^C^@^N^W^T^_^b^d^G^u^v^z^^^^^^^^^^^^^^^^^^^^^^^^_ _]_\_ ___)_-_8_A_H_L_N_/_Q_V_W_Y_a_m_s_w_____________________`_!`````)``1```+`&``:`Z`A`j`w`_`J`F`M`c`C`d`B`l`k`Y``````````````````_````Maaa``a``a!a`` aaGa>a(a'aJa?acMcdOcccccvcccccckciccccccccccd4ddd&d6ded(ddgdodvdNd*eddddddddddddddd ddbdd,eddddedeee$e#e+e4e5e7e6e8eKuHeVeUeMeXe^e]erexeeeeeeeeeeeeeeeeeerg ffesg5f6f4ffOfDfIfAf^f]fdfgfhf_fbfpffffffffffffffffff?ffffffggg&g'g8.g?g6gAg8g7gFg^g`gYgcgdggpgg|gjggggggggggggggggggggggjhFh)h@hMh2hNhh+hYhchwhhhhhhhhhjhthhhhih~hihih"i&ih ihhhh6iiihh%ihhh(i*ii#i!ihyiwi\ixikiTi~ini9iti=iYi0iai^i]iijiiiiiiiii[iiiii.jiiiiiiijji kiiijijiji jjj#jjDj jrj6jxjGjbjYjfjHj8j"jjjjjjjjjjjjjjjjjjjjjkjkk1k8k7kv9kGkCkIkPkYkTk[k_kakxkykkkkkkkkkkkkkkkkkkkkkkkkkkllll$l#l^lUlbljllllll~lhlsllllllllllllllllllmM6m+m=m8mm5m3mm mcmmdmZmymYmmmommn nmmmmmmmmmmmmmmmmm-nnn.nnrn_n>n#nkn+nvnMnnCn:nNn$nnn8nnnnnnnnnnnnnnnnnAooLpnnn?on1on2on>oonozoxooooo[oomoo|oXoooofoooooooooooooooo p popppopptoppp0p>p2pQpcppppppppppppp qpqqeqUqqfqbqLqVqlqqqqqqqqqqqqqqqqqqqqq rrr(r-r,r0r2r;rsNsOs؞Wsjshspsxsus{szsssssssssttot%ts2t:tUt?t_tYtAt\titptctjtvt~tttttttsttttttttttuuu uu uuuu&u,uz7zCzWzIzazbzizpzyz}zzzzzzzzzzzzzzzzzzzzzzzzzzz{{ {{3{{{{5{({6{P{z{{M{ {L{E{u{e{t{g{p{q{l{n{{{{{{{{{{]{{{{{{{{{{||{{`||||{{| |{#|'|*||7|+|=|L|C|T|O|@|P|X|_|d|V|e|l|u||||||||||||||||||||||;|||||}}}} }E}K}.}2}?}5}F}s}V}N}r}h}n}O}c}}}[}}}}}}}}}}}}=~}}}}}}}}}}}}}~ ~#~!~~1~~ ~ ~"~F~f~;~5~9~C~7~2~:~g~]~V~^~Y~Z~y~j~i~|~{~~}}~~~~~~~~~~~~~8:ELMNPQUTX_`higxqܘ !(?;JFRXZ_bhsrpvy}Qۀـ݀Āڀր )#/KF>SQqneft_Ɂ́сف؁ȁځ߁ )+83@YX]Z_dbhjk.qwx~߂҂ނ܂ ق5421@9PE/+#|su΃؃  " 8m*(ALONIV[Zk_lot}:A?HLNPUblxz|bȌڌ  N͌gmqsύڍ֍̍ۍˍߍ B504JGILPHYd`*cUvr|ƎŎȎˎێ  &3;9EB>LIFNW\bcdڏ!  '659OPQRI>VX^hovr}Hbې20JVXceisrɑˑБ֑ߑۑ,^WEIdH?KPZϒD."#:5;\`|nV֓דؓÓݓГȓ6+5!:ARD[`b^j)puw}Z|~ʕoÕ͕̕Օԕ֕ܕ!(./BLOKw\^]_frlΖ˖ɖ͖Mܖ Ֆ$*09=>DFHBI\`dfhRkqy|z×Ɨȗ˗ܗOz 8$!7=FOKkopqtsĘØƘ !$ ,.=>BIEPKQRLUߙۙݙؙљ+7EB@C>UM[W_bedikjϚњӚԚޚߚ"#%'()*./2DCOMNQXtʛƛϛћқԛ:   .%$!0G2F>Z`gvx *&#DA?>FH]^dQPYrozĝƝϝٝӝuy}a̞ΞϞОԞܞޞݞv!,>JRTc_`afgljwrv/XiYdtQq@pAqBrCsDtEuFvGwHxIyJzK{L|M}N~OPQ R!S"T#U$V%W&X'Y(Z)[*\+],^-_.`/aa?bb?cc?dd?ee?ff?gg?hh?ii?jj?kk?ll?mm?nn?oo?@p0Aq1Br2Cs3Dt4Eu5FvQGw6Hx7Iy8Jz9K{:L|;M}<N~=O>P?Q@RASBTCUDVEWFXGYHZI[J\K]L^M_N`O?????????????%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%???„„?ÄÄ?ĄĄ?ńń?ƄƄ?DŽDŽ?ȄȄ?ɄɄ?ʄʄ?˄˄?̄̄?̈́̈́?΄΄?ττ?ЄЄ?фф?҄҄?ӄӄ?ԄԄ?ՄՄ?քք?ׄׄ?؄؄?لل?ڄڄ?ۄۄ?܄܄?݄݄?ބބ?߄߄??????????????????????????????@@0AA0BB0CC0DD0EE0FF0GG0HH0II0JJ0KK0LL0MM0NN0OO0PP0QQ0RR0SS0TT0UU0VV0WW0XX0YY0ZZ0[[0\\0]]0^^0__0``0aa0bb0cc0dd0ee0ff0gg0hh0ii0jj0kk0ll0mm0nn0oo0pp0qq0rr0ss0tt0uu0vv0ww0xx0yy0zz0{{0||0}}0~~000000000000000000000000????????ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփ????????ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփ׃׃?؃؃?كك?ڃڃ?ۃۃ?܃܃?݃݃?ރރ?߃߃??????????????????????????????@@?AA?BB?CC?DD?EE?FF?GG?HH?II?JJ?KK?LL?MM?NN?OOPPQQRRSSTTUUVVWWXXYY?ZZ?[[?\\?]]?^^?__?`!a"b#c$d%e&f'g(h)i*j+k,l-m.n/o0p1q2r3s4t5u6v7w8x9y:zz?{{?||?}}?~~??`AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ????A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0‚‚d0ÂÂe0ĂĂf0łłg0ƂƂh0ǂǂi0ȂȂj0ɂɂk0ʂʂl0˂˂m0̂̂n0͂͂o0΂΂p0ςςq0ЂЂr0ттs0҂҂t0ӂӂu0ԂԂv0ՂՂw0ււx0ׂׂy0؂؂z0قق{0ڂڂ|0ۂۂ}0܂܂~0݂݂0ނނ0߂߂0000000000000000000???????????@@0AA0BB0CC DDEE0FFGGHHIIJJ0KK0LLMM@NNOO>PPQQ?RR0SS0TT0UU0VV0WWNXX0YY0ZZ0[[0\\ ]] ^^__<``^aa%"bb\cc& dd% ee ff gg hh iijj kk0ll0mm;nn=oo[pp]qq0rr 0ss 0tt 0uu 0vv 0ww0xx0yy0zz0{{ || }}~~`"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0???????????" """""*")"???ÁÁ?āā?ŁŁ?ƁƁ?ǁǁ?ȁȁ'"ɁɁ("ʁʁˁˁ!́́!́́"΁΁"ρρ?ЁЁ?сс?ҁҁ?ӁӁ?ԁԁ?ՁՁ?ցց?ׁׁ?؁؁?فف?ځځ "ہہ"܁܁#݁݁"ށށ"߁߁a"R"j"k""=""5"+","???????+!0 o&m&j& ! ????%  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  d'@Beuckreuckr_bineuckr_korean_ci£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣۣݣޣߣˡ̡͡ܣͭϢиѢңҧҨҩҪҫҭҲҾԥիծոۥܥ޳ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxy°zðİŰưǰȰɰʰ˰̰ͰΰϰаѰҰӰ԰հְװذٰڰ۰ܰݰް߰᰽ÁāŁƁǁȁɁʁˁ́́΁ρЁсҁӁԁՁցׁ؁فځہ܁݁ށ߁ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz±ñıűƱDZȱɱʱ˱‚ÂĂłƂǂȂ̱ɂʂ˂̂͂΂ςЂͱαт҂ϱӂԂՂбւׂ؂قڂۂ܂ѱұ݂ӱނ߂ԱձֱױرABٱCDڱ۱ܱEFGHIJݱޱK߱LMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz鱄걅챆𱊃񱋃򱎃󱏃ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփ׃؃كڃۃ܃݃ރ߃შ⃫僬샭탯󃲲ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz²òIJŲƲDzȲɲʲ˲̲Ͳβϲв„ÄѲĄńƄDŽȄɄҲʄ˄̄Ӳ̈́΄τԲЄф҄ӄԄՄքղֲׄ؄لײڄۄ܄݄ބ߄زٲڲ۲AܲBCDEFGݲ޲߲HIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzﲋ𲎅򲕅󲟅…ÅąŅƅDžȅɅʅ˅̅ͅ΅υЅх҅ӅԅՅօׅ؅مڅۅ܅݅ޅ߅兢煤ꅥ񅦳򅨳󅩳ABCDEFGHIJKLMNOPQRS³óTUVWXYijųZaƳbcddzefghijkȳlmnoɳpqrstuvwxyzʳ˳̳ͳγϳгѳҳӳԳճֳ׳سٳڳ۳ܳݳ޳߳ᳺ⳼㳿†ÆĆņƆdžȆɆʆˆ̆͆ΆφІц҆ӆԆՆֆ׆؆نچۆ܆݆ކ߆ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz‡ÇćŇƇLJȇɇʇˇ͇̇·χЇч҇ӇԇՇևׇ؇هڇۇ܇݇އ߇쇵򇷴ABCDEFGHIJKLMNOPQRSTUVWXYZabc´defôĴŴghijkƴǴlȴmɴʴnop˴q̴rstʹuvwδxyzϴдѴҴӴԴմִ״شٴڴ۴ܴݴ޴ߴᴦ䴩鴪촭𴹈󴺈ˆÈĈňƈLjȈɈʈˈ͈̈ΈψЈш҈ӈԈՈֈ׈؈وڈۈ܈݈ވ߈ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzµõĵŵ‰ÉĉʼnƉljȉɉʉˉ͉̉ΉωЉщƵ҉ӉԉՉ։׉؉ǵىډۉȵ܉݉މɵ߉ʵ˵̵͵ABCDEFGHIJKεϵLMеNOPѵQRSTUVWҵӵXԵYյZabcdeֵfghijklmnopqrstuvwx׵yzصٵڵ۵ܵݵ޵ߵ൶ᵹ⵼ŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz‹ËċŋƋNjȋɋʋˋ̋͋΋ϋЋыҋ¶öĶӋԋՋ֋׋؋Ŷًڋۋ܋݋ދߋƶABCDEFGHIJKLMNOPǶȶQRɶSTUʶVWXYZabcdefg˶hijklm̶nopqrstͶuvwxyzζ϶жŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތѶҶߌӶԶնֶ׶ABCDEFGHIJKLMNOPQضRSTUVWXYZabcdefghijklmnopqrٶstuڶvwx۶yzܶݶ޶߶ණᶭ㶯嶶涷綿ÍčōƍǍȍɍʍˍ͍̍΍ύЍэҍӍԍՍ֍׍؍ٍڍۍ܍ݍލߍABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz·÷ķŷƷǷȷɷŽÎĎŎƎǎʷȎɎʎ˷ˎ͎̎ΎώЎюҎӎԎՎ֎̷׎ͷ؎َڎێ܎ݎގߎηϷзѷҷӷԷշַ׷ABCDEFGHطIJKLMNOPQRSTUVWXYZabcdefghٷijklmnoڷpqr۷stuܷvwxyzݷ޷߷ළ᷋ⷎ㷑䷙巚淛跡鷣귦췭ﷵÏďŏƏǏȏɏʏˏ̏͏ΏϏЏяҏӏԏՏ֏׏؏ُڏۏ܏ݏޏߏABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz¸øĸŸƸǸȸɸʸ˸̸͸θϸиÐĐŐƐѸǐȐɐʐː̐͐ΐϐАѐҐҸӐԐՐ֐אِؐڐېܐݐސߐӸԸոָ׸AظٸBڸC۸ܸDEFGݸ޸߸HIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz񸖑󸗑‘ÑđőƑǑȑɑʑˑ̑͑ΑϑБёґӑԑՑ֑בّؑڑۑܑݑޑߑᑢ鑣ꑤ둥񑦹ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz¹ùĹŹƹ’ÒĒŒƒǹǒȒɒȹʒ˒̒ɹ͒ΒϒВђҒӒʹԒՒ˹֒גْؒڒےܒݒޒߒ̹͹ιϹйѹABCDEҹӹFԹչֹG׹HعIJٹڹ۹ܹݹKL޹߹MNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz“ÓēœƓǓȓɓʓ˓͓̓ΓϓГѓғӓԓՓ֓דؓٓړۓܓݓޓߓ⓷ABCDEFGHIJKLMNOPQºRSTUVWXYZabcdefúghijklmĺnopqrstuvwxyzźƺǺȺɺʺ˺̺ͺκϺкѺҺӺԺ”ÔĔŔƔպֺǔ׺Ȕغɔʔ˔ٺں̔ۺ͔ΔϔДєҔӔܺԔՔ֔הؔٔڔ۔ܔݔޔݺߔ޺ABߺCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzﺈ𺉕򺭕󺯕•ÕĕŕƕǕȕɕʕ˕͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕᕲABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz»ûĻŻƻ–ǻȻÖĖɻŖƖǖʻȖɖʖ˖̖͖Ζ˻̻ϖЖіͻҖӖԖՖ֖זٖؖږۖܖݖޖߖABCDEFGHIJKLMNOPQλRSTUVWXYZabcdefghijklmnopqrϻstuvwxyzлѻһӻԻջֻ׻—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗػABCDEFGHIJKLMNOPQٻRSTUVWڻXYZۻabcܻdefghijݻ޻klmnopqrstuvwxyz߻໗ộ⻜代廤滥軫껬𻳘󻴘˜ØĘŘƘǘȘɘʘ˘̘͘ΘϘИјҘӘԘ՘֘טؘ٘ژۘܘݘޘߘ☩嘪옫𘬼ABCDEFGHIJKLMNOPQR¼üļSTUVWXżƼYZǼabcȼdefghijɼʼk˼̼ͼlmnopqμrstϼuvwмxyzѼҼӼԼռּ׼ؼټڼۼܼݼ޼߼༦ἲ⼸㼻伾™ÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz½šÚĚŚƚǚȚɚʚ˚͚̚ΚϚКњҚӚԚ՚֚ךؚٚښۚܚݚޚýĽߚŽƽǽȽɽʽ˽̽ͽνϽнѽҽӽԽսֽABC׽ؽٽDEڽFGH۽IJKLMNOܽݽPQ޽߽RSTUVWXYZabcdefghijklmnopqrstuvwxyz⽛㽝你彡罦齨꽮뽱콴›ÛěśƛǛțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛܛݛޛߛABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzœÜĜŜƜǜȜɜʜ˜̜͜ΜϜМќҜӜԜ՜֜ל؜ٜڜۜܜݜޜߜꜭ񜮾ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÝĝŝƝǝ¾þȝľɝžʝ˝̝͝ΝϝƾǾНѝȾɾʾҝ˾̾;ӝԝ՝֝ξϾоםѾҾӾ؝ٝڝԾվ۝־׾ܝݝؾޝߝپھ۾ܾݾ޾߾ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz¿ÿĿſƿǿȿɿʿ˿̿ͿοϿпѿҿӿԿտžÞĞŞƞǞֿ׿Ȟɞؿʞ˞̞͞ΞϞОўҞӞԞٿ՞֞ڿמۿ؞ٞڞ۞ܞݞܿݿޞߞ޿߿ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzŸßğşƟǟȟɟʟ˟̟͟ΟϟПџҟӟԟ՟֟ן؟ٟڟ۟ܟݟޟߟABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz àĠŠƠǠȠɠʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ۠ܠݠޠߠ࠹ᠺ栻砽蠾ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz¢ž¤ ¦ABCDEFGHIJ¬K®¯LMNOPQ±RSTUVWXYZabcµd·¸efghijklmnopqrstuvwxyz„ABCDE½FGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz…ŒŸABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz„†‰“™ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz•ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’•œŸABCDEFGHIJKLMN¡âãOPQRSåTUVWXYZabcdeéfëìghijklmnopqrstuvwxyzÃABCDôEFGHIJKLMNOPøQúûRSTUVWýXYZabcdefghijklmnopqrstuvwxyzÊÑÔABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÞABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÅÆÇÍàABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÂÅÈÏÓÙÛÞABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnĢopqrĥĦstuvwxĨyzāĬćĉČİēĔĕĴěĝĠABCDEFĸGĺĻHIJKLMĽNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzďđēĚěABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzĐĒĕĜĝĞABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzćĚABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzćčABCDEFGHIJKLMNOPQRŢSTUVWXYZabcdefghijklmnopqrstuvwxŪyzŁńŮŋŎABCDEFGHIJKLMNOűPQRSTUVWXYZaŵbcdefghiŹjklmnżopqrstžuvwxyzłńŇŎŏŕABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzłŃʼnŋŎŕŖŗŝŠABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzŁňʼnŊŎŏŒABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzŁłňABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƣƘƚƝABCƧDEFGHIJKLMNOPQRSTUVWXYZabcdefghiƯjklmƲnopqrsƵtuvwxyzƃƆƉƻƐƽƚƜƟABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƆƉƌƓƕƛABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzLJABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzǫdžLjǮNJNjDZǐǑǒǘABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzLJljǑǔǗǞǠABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzDžLJNJǑǒǓǙǛǞABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzǁ‚ƒ„…†LJˆ‰NJ‹Œ¡ȍŽ‘’“”¢ȕ–—˜™š›œž£Ȥȟ ¥ABCæDEFGçHIèȩJêKëLMNìOPíȮQRïSTUðVWXYZabcdeñfòghijklóȴmnõopqrstuvwxyzÁÂöȃ÷ȄÅÆÇÈÉøȹȊËúȌÍÎûȏÐÑÒÓÔÕÖüȗýȘþșÚÛÜÝÞÿȟàABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzāĂȃĄąĆȇĈĉĊċČȍĎȏĐđȒēĔĕĖėĘęĚěĜĝȞğĠABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzŁȂȃȄŅņȇňȉŊŋȌōŎȏŐőŒœŔŕȖŗŘșŚśŜŝŞȟŠABCDEFGHIJKLMNOPQRؽ׶̢Ѯ̾ܰ߾߻ݦΰ޺˥ܭޣΤпܹӵ֤ޡӷ٥̵̨۷ʧкͿױݷע޻з۱ͥҤִΨҡϨʰϽϯͣЯʻԣ٨٩޸ֳϯ˼ΫЪЯдҿ˯ڰ̵ͦε˾ڨްӳͧЫܹӨ߬˼Ӳް׭Ӥڴ˴̾ر̯ջʫծ۶ٹˬѺ٫ڳٹֺΫʤݦЮͰʻվѢ׺ѰͫʮʮۻʰҺ̨۲ѸԲ٢ڧֲԾ޵ˮѪةޯη̼Ͼˤڪ۵׵ͮͻذֳ˩ֿغ߳ԳլڦܴׯߢۿѤԡ֯޵ѷѳТԳܶΩԳʦϢЧڹ֭ڣε׬޴Ѫ٣Կ׿Ͷ̸ۤݰأٴͷ۵ݵףϹԷۿ˥ܮϬ٦ݯާΡй˰Բ־αܧԹس٬ѱ͹֧ɧʧ˧̧ͧܧݧާԧէ֧קا㧿§çħŧƧǧȧΧϧЧѧҧӧڧۧ짦ᢼߧ롲ªêĪŪƪǪȪɪʪ˪̪ͪΪϪЪѪҪӪԪժ֪תت٪ڪ۪ܪݪުߪ«ëīūƫǫȫɫʫ˫̫ͫΫϫЫѫҫӫԫի֫׫ث٫ګ۫ܫݫޫ߫¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤ©éĩũƩǩȩɩʩ˩̩ߢ¨èĨŨƨǨȨɨʨ˨̨ޢͩΩϩЩѩҩөԩթ֩שة٩ک۩ܩݩީߩͨΨϨШѨҨӨԨը֨רب٨ڨۨܨݨިߨȦǦ¦ƦŦĦæɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ٦ڦۦܦݦަߦ䦶ƢâǢȢˢʢɢ̢ߡޡ¢ۡݡܡĢŢڡ١Ϣ΢ТѢϡΡۢ͢ܢݢڢӢԢǡȡءɡ٧ʡբآ֢٢עӡԡġСš֡ա¡áѡҡ¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإѬҬӬԬլ֬ج٬ڬ۬ܬݬެ߬׬סơҢ=OsOGPPRSuTT VZ[fgggLksuaha9eiouvv{˄U[QW|(PSE\]bncdd np[yݍ}E~NNeP]^aWiqTGu+^NPpg@h QRRjwԞR/`HPacdkLp/tt{PŃܕ(.R]`bOIQ!SX^f8mprsP{[fSckVNPJXX*`'abiA[}_NPTU []]*eNe!hKjrvw^}N߆NʐUNEN]NNOwQR@SSSTVuWW[]^abQeggiPkkkBlnxprstwwvz}  ߂b3dҙEם W@\ʃTzو͎XH\cz[_yzz&P8RRwSWbrc km7wSWshvՕ:gjpom̎Kwfxk<S-WNYcisExzz|us5RGWGu`{̃XjKQKRRbhuiPRRae9hi~tK{냲9яI NYdfj4tyy~_ & OS%`qbrl}f}NbQwOOvQQUhV;WWWYGYY[\]]~^_beegg^ghh_j:k#l}llms&t*tttxuuxxAyGyHyzy{}}-OHw!$Qe}vO TbThёU:Q Za bbfVq OczcWS!g`isn"7u#$% }&'rVZ()*+,CN-gQHYg.sYt^dy_l`b{c[[R/tY)_`012Yt345678љ9:;<=>?@ABCoDE`FGfHI?\JKLMNOPQZ%{g}RSTUVWXY<\l?SnY69NNFOUWXV_eejkMnwz|}ˆ2[dozsuTVUMWadfm[nmoouCANJZlSuT{]UXXXb^bdhvu|NWnW'Y \\6^_4bds۞[_`PR0RW5XWX\`\\]^_`ccdChhjm!nnoqvywy;zHSMvܗkpXrrhscwy{~X`feeflqqZmNzNQQR TaqgPhhm|ouwzc\Qe\gguzsZF-o\Ao _]Yjq{vI{'0Ua[iv?\mpsa}=]j^NuSkk>pr-LRP]d,ekoC|~ͅdb؁^gjmrtotސO ]_ QceuNPiQQhj|||oҊϑO7QRBT^na>bejo*y܅#bjΞRfwkp+ybBab#e#oIqt}o&#JQRR mpˆ^eko>|usN6OV_\]`s-{F4HaOoyR`ddj^oprv\2ouxy}Ƀ֊X_'g'pt`|~!Q(pbrxŒڌNP[^eqBvwJ|'XAZb\jmo;v/}7~8KRegiAmnp t`tYu$vkx,^mQ.bxO+P]m}*_DahaRQQ^iz}uO)RSTUe\`Nghlmrrttbul|yψ̑БɛT~oqtWgm3t,xz {|idjtuxxT[U^ oNMS)Z]N_ba=ciffn+ocpw,;E;Ub+gl jzNY__g}T+WYZ['fghkdqu㌁EL@_[lsvv QMQQRhlw w}}bnQ T}Tff'invw„iOQRY=^Uaxdydfg!jkk_rarAt8ww((glgrvfwFzkl"Y&goSXY^c4fsg:n+szׂ(R]aa bbdeYifkk!qs]uF~j'aX؞PR;TOUevl } }^RlirsTZ>\K]L__*ghcieee fginx!}+*2 POcW_bcogCnqv̀ڀ)Mj/OpO^g"h}v~vDa^ jiqqjudA~CܘOO{pQ^h>lNllr{l:tPRXdjtVvx9e^S_%RwINPuQ[\w^f:fghpuuyz' O!X1X[nfekmzn}os+u܈\OPS\S[_ gyy/9;,gvNOIY\\\gchpq+t+~"Ғ NNOPVRoR&TTW+YfZZ[u[[^fvbweenmn6r&{?|6PQ@tܑDٙSR)TtVXTYnY_anbf~lqv||}g[O__b)] gh|xC~lNPS*SQSYbZ^`aIbybegikkkklh5tuxxyy|}>船l^ۘ;V*[l_ejk\mop]rsӌ;a7lXMNNNN:Oy@y`yy{}r} фdž߈P^܌fߙJRigjP*Rq\ceUls#uu{x0wNdk^q NkIghnkco NPPQFUUV@[\\8^^^^`QhajXn=r@rrvey{saތ^XtUlaz"}rrru%um{XX]^^_U`bcMefffhhr^tn{n}}r͞ YmY-^`fsfgPlm_owxƄˑ+NPHQU [[Gb~ee2n}qtDtttlvy}U~z9ux%MhSQ\Til)m+n ;-gaRfk~ ]emqnWY['``bf_f)ssvwl{VreNRrkmz9{0}oS/VQX[\\]@bcd-fhlmnppq&uuuv{{+| }9},m4 a7Ol\_gm|~k[] d\ᘇs[`~gm 7RpQpxpבOSUVWXZ[\\%^a bKbcd6exe9jk4lm1oqrxstt&vawyWzz|}}a~)1ڄꅖ8Bl֖ӚS~XYp[[mZoq!tt]__B`ehoiSjk5mmsvwM{}#@cbĊ bSe]']i]_thob6rNXNPRGSbfi~^OS6VYZ8\N\M\^_C`e/fBfggsw:ÿ́fiUzW[_o`b ik\nq{UXߘ8OOO{T Z[T3TUbXXgYZ[`aVeedfhZlopqRs}{2K\lDss:netviz~ @QXdtupv͖T&ntzzنxIZ[[hicmst,tx}UL.f_egjls-PZjkwYl]]%sOuPQ/X-YYY[]bdddfHjqdtzzG~^~p YR~a2ktm~%OPQRWX[^Baimgnnqbt(u,us8Ʉ ޓNQOvP*QSSS[[$\aae[rs@tvPyyy}Յ^GꑅRg_e1f/h\q6z NRjkoqSK1NqĖCQSTWWWZZ[(`?acl9mrnn0r?sWtтE`bXg^MOIPPqS WYZ \paf-n2rKt}Àf?_[U˗OsNOQjQ/UUz[[|^}^^``a ac8e gggaibil'm8no6s7s\t1uRv}8Ոۊ0BJ>zIɑn XkAQkY9\dosbph}Wi`GakYNTm-pclQaOPQ[aadikuwdcpNN O7YY]_[_!`>rspuuy 3Q 7pvNNRpSTVY[__nnj}5mwNZO~OXen8NXYYA`zOÌeQDSNiRU[N:RTYYP[W[\[c`Hanpnqstux+}(Ʌnj̖\ORVe(f|pp5r}Lrq[hkzov\f[o{*|6ܖNN S4XXXlY\3^^5_cfVgjj k?oFrPstz|x߁灊l#υ݈wQT(W[MbPg=hh=nn}p!~ KN-r{͊GONO2QTY^bugnijlnr*su{5}W[Ζ_R TZ[XduenrvMz{M|>~{+ʌd_iѓCOzOPhQxQMRjRaX|X`Y\U\^`0bhkloNq t0u8uQurvL{{{{~n>I?"+ZkR*bbYmdvz{v}`S\^8op|ޞczdvNNN\PuPHTY[@^^^_`:c?eteevfxfghijck@lmmn^nppss:u[wxy z}z|}Gꊞ-Jؑf̒ V\6RR|U$X^_`chomy,{́Dd=LJOFQQR2V_k_cdeAfffghhionogqq*rt:wVyZyy zz||D}p~T m;Ֆe|ÓX[ \RSbs'P[_`kahm.t.zB}}1~k*5~POPW]^+cj;NOOOZPYĀjThTUOY[]^]f1gg*hl2mJnopsuL|},}}ۆ;p31NRDЙz|OQQW[\Yf=jZmno qouz"!u˖-NNF͑}SjkiAlzXafbpuuR~IKNST0W@W_ccod/eezfggbk`ll,ow%xIyWy}󁝂rvz7zT~wUUuX/c"dIfKfmhik%mnshtt[uuvwwy ~~/:ь뎰2csOSYZ^Nhtuyz̍폟egWWo}/Ɩ_aoNOPSUo]]!kdkx{IʎnIc>d@wz/jdoqttz|~|~ }L9R[d-g.}PSyXXaYaaez P!PuR1UUXY`Sbb6gUi5@ݙ,PSSDU|WXbdkfgoo"t8t8QTVfWH_aNkXpp}jY+cw=TX-di[^oniLQS*Y `Kakpll{΀ԂƍdodeNQTW_avhuR{q}Xi*9xPWYYb*]ayr֕aWFZ]bddwgl>m,r6t4xwۍ$RBWgHrt*kQSLciOU`WelmLrrzm_opaOOPAbGr{}MjWs^g U T[c^^ _e=[HOS SSTTW^`bbUclfmu2xހ/ނa E^ffprO}Rj_SaSgjothyhyǘĘCTzSiJ|_buvB9S<__lsbuuF{ON< NUOSY^0flUtwfPXx[P[h``eWl"oopUPӗrRDQ+TTcUUjm}fwyTTv䆤ԕ\N OYZ]R`bmgAhl/n8* NUPTWZYi[[awiwm#pr犂홸R8hPx^OgGLNTVs WSVX[1aj{sҎGkWUYrkiO\&_a[flpsss)wMwC}b}#~7R IoQ[tz@ZOTS>Y\>cymrϒ0NDQRWb_lnpPppqsitJanQW_`gafYJNNN|TXX}Y\'_6bHb fgfkimmVnnooo]pr%tZttv\y|~ဦkN_twje`bwZZfm>n?tB_`{T_^ll*mp}y ;ST[:jkpuuyyqAt d+exxkz8NUPY[{^`cakefShneqt}i%;mn>sAʕQL^_M``0aLaCfDfil_nnboLqtv{'|RWQÞ/SV^_b``affgjmoppjsj~4ԆČRrs[kjTV][Heefhmm;ruMOPST?ABCDEFGHIJLNOPQRSUVWYZ[]^_`abcdefghijklmnorsuvy{|}~¬ìŬƬǬɬʬˬͬάϬЬѬҬӬԬ֬ج٬ڬ۬ܬݬެ߬ !"#$%&'(*+./0123679:;=>?@ABCFHJKLMNOQRSUVWYZ[\]^_`bdefghijknoqrwxyz~­íŭƭǭɭʭ˭̭ͭέϭҭԭխ֭׭ح٭ڭۭݭޭ߭  !"#$%&'()*+,-./23569;<=>?BDGHIKOQRSUWXYZ[^bcdfgjkmnoqrstuvwz~®îŮƮǮȮɮʮˮήҮӮԮծ֮׮ڮۮݮޮ߮  !"#$%&'()*+./1356789:;>@DEFGJKLMNOQRSTUVWXYZ[^_`abcfghijklmnopqrstuvwxz{|}~¯ïįůƯʯ̯ϯЯѯүӯկ֯ׯدٯگۯݯޯ߯  !"#$%&')*+,-./0123456789:;<=>?@ABCFGIKMOPQRVXZ[\^_`abcdefghijklmnopqrstuvwxyz{~°ðưʰ˰̰ͰΰϰҰӰհְװٰڰ۰ܰݰް߰  !"&')*+-./01236:;<=>?BCEFGIJKLMNORSVWYZ[]^_abcdefghijklmnopqrstuvwz{}~±ñıűƱDZȱɱʱ˱ͱαϱѱұӱձֱױرٱڱ۱ޱ !"#$%&'()*+,-./012356789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWYZ[]^_abcdefgjklmnopqrsvwxyz{}~²òIJŲƲDzʲ˲ͲβϲѲӲԲղֲײڲܲ޲߲  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSWYZ]`abcfhjlmorsuvwyz{|}~³óƳdzɳʳͳϳѳҳӳֳسڳܳ޳߳ !"#$%&'*,-./012356789:;<=>?@ABCDEFGHIJKLMNORSUVWYZ[\]^_bdfghijkmnopqrstuvwxyz{|}~´ôŴƴǴɴʴ˴̴ʹδϴѴҴӴԴִ״شٴڴ۴޴ߴ  !"#&+,-./235679:;<=>?BFGHIJNOQRSUVWXYZ[^bcdefghijklmnopqrstuvwxyz{|}~µõŵƵǵȵɵʵ˵εҵӵԵյֵ׵ٵڵ۵ܵݵ޵ߵ  !"#$&'()*+-./012356789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcefgijklmnopqrstuvwxyz{|}~¶öĶŶƶǶȶɶʶ˶̶Ͷζ϶жѶҶӶնֶ׶ضٶڶ۶ܶݶ޶߶  !"#$%&'*+-.1234567:<=>?@ABCEFGIJKMNOPQRSVWXYZ[\]^_abcefgijklmnortvwxyz{~·÷ķŷƷȷʷ˷̷ͷηϷзѷҷӷԷշַ׷طٷڷ۷ܷݷ޷߷  !"#&')*+-./01236:;<=>?ABCEFGHIJKLMNOPRTUVWXYZ[^_abcefghijknprstuvwyz{}~¸ĸƸǸȸɸʸ˸͸θϸѸҸӸոָ׸ظٸڸ۸ܸ޸ !"#$%&'()*+,-./0123456789:;>?ABCEFGHIJKMNPRSTUVWZ[]^_abcdefgjlnopqrsvwyz{}~¹ùĹŹƹǹʹ˹͹ӹԹչֹ׹ڹܹ߹  !"#$%&'()*+,-./01234567:;=>?ACDEFGJLOPQRVWYZ[]^_`abcfjklmnorsuvwyz{|}~ºúźƺǺɺʺ˺̺ͺκϺкѺҺӺԺպֺ׺ںۺܺݺ޺ߺ !"#$%&'(*,-./012379:?@ABCFHJKLNQRSUVWYZ[\]^_`bdefghijkmnopqrstuvwxyz{|}~»ûŻƻǻɻʻ˻̻ͻλϻѻһԻջֻ׻ػٻڻۻܻݻ޻߻  !"#&(*+,./235679:;<=>?BFGHJKNOQRSTUVWXYZ[\^_`abcdefghijklmnopqrstuvwxyz{|}~¼üżƼǼȼɼʼ˼̼μҼӼԼּ׼ټڼۼݼ޼߼  !"#%&'()*+-./0123456789:;<=>?ABCDEFGJKMNOQRSTUVWZ[\]^_`abcefgijklmnopqrstuvwxyz{|}~½ýĽŽƽǽȽɽʽ˽̽ͽνϽнѽҽӽֽ׽ٽڽ۽ݽ޽߽  !"#$%&'()*+,-./0123456789:;<=>?@ABCFGIJKMOPQRSVX\]^_bcefgiklmnorvwxyz~¾þľžƾǾȾɾʾ˾̾;ξϾҾӾվ־پھ۾ܾݾ޾߾  !"#$%&'()*+,-./0123456789:;<=>?BCEFGIJKLMNORSTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¿ÿĿƿǿȿɿʿ˿οϿѿҿӿտֿ׿ؿٿڿۿݿ޿  !"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPRSTUVWYZ[]^_abcdefgjklmnopqrstuvwxyz{|}~ !"%()*+.23457:;=>?ABCDEFGJNOPQRSVWYZ[]^_`abcfjklmnoqrsuvwyz{|}~ !"#$%&'*,.0356789:;<=>?@ABCDEFGIJKLMNORSUVWYZ[\]^_abcdfghijknoqrsuvwxyz{~€‚ƒ„…†‡Š‹ŒŽ‘’“”•–—™šœžŸ ¡¢£¦§©ª«®¯°±²³¶¸º»¼½¾¿  !"#&'*+,-./0123456789:;<=>?@ABCDFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgjkmnoqstuvwz{~ÀÁÂÃÅÆÇÉÊËÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  !"#%&'()*+-./12356789:;>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcfgijkmnopqrsvwxz{|}~āĂ㥹ĆćĈĉĊċČčĎďĐđĒēĕĖėĘęĚěĝĞğĠġĢģĤĥĦħĨĩīĬĭĮįİıIJijĴĵĶķĹĺĻĽľĿ  !"#$%&'*+-./1234567:<>?@ABCFGKOPQRVZ[\_bcefgijklmnorvwxyz{~ŁłŃŅņňʼnŊŋŎŐŒœŔřŚśŝŞşšŢţŤťŦŧŨŪūŬŭŮůŰűŲųŶźſ  !"#&')*+/1268:<=>?BCEFGIJKLMNORVWXYZ[^_abcdefghijkmnprstuvwz{}~ƁƂƃƄƅƆƇƊƌƎƏƐƑƒƓƖƗƙƚƛƝƞƟƠơƢƣƦƪƫƬƭƮƯƲƳƵƶƷƻƼƽƾƿ "#%&')*+,-./24689:;>?ABCEFGHIKNPYZ[]^_abcdefgijlmnopqrsvwyz{ǀǁǂdžNjnjǍǏǒǓǕǙǛǜǝǞǟǢǧǨǩǪǫǮǯDZDzdzǵǶǷǹǺǻǾ !"#%&'()*+.02345679:;=>?ABCDEFGJKNOPQRSUVWXYZ[\]^_`abcdefghijklmnorsuvwy{|}~ȂȄȈȉȊȎȏȐȑȒȓȕȖȗȘșȚțȜȞȠȢȣȤȦȧȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȾȿ 000% & 0 %"<<"    000 0 0 0 0 00000`"d"e""4"2 3 !+!B&@& ""#""a"R"; &&%%%%%%%%%%%!!!!!0j"k""=""5"+","" """""*")"'"(" !"#$%&'()*+-./012356789:;<=>?@ABCDEFGHIJKLMNORSUVWYZ[\]^_bdefghijkmno!!""^.""" !0 %%%%d&`&a&e&g&c&"%%%%%%%%%%%h&&&&& ! !!!!!m&i&j&l&22!3"!33!! qrsuvwxyz{}~ɀɁɂɃɄɅɆɇɊɋɍɎɏɒɓɔɕɖɗɚɜɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ  !"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]  !"#$%&'(*+,-./0123456789:;<=>?@ABCDEF112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~11111111111111111GHIJKNOQRSUVWXYZ[^bcdefgijklmnopqrstuvwxyz{|~ʀʁʂʃʅʆʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧp!q!r!s!t!u!v!w!x!y!`!a!b!c!d!e!f!g!h!i!ʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʻʾʿ %% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%%%%%%%% %%%!%"%&%'%)%*%-%.%1%2%5%6%9%:%=%>%@%A%C%D%E%F%G%H%I%J% "#$%&'()*+,-./0123456789:;<=>?@BCDEFGJKMNOQRSTUVWZ[\^_`abcefghijkl˕333!3333333333333333333333333333333333333333333333333333&!3333333333333333333333mnopqrstuvwz{|}~ˀˁ˂˃˄˅ˆˇˈˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˝˞˟ˠˡˢˣ˥˦˧˨˩˪˫ˬ˭ˮ˯˰˱˲˳˴˵˶˷˹˺˻˼˽˾˿&2?ARfJ`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2$$$$$$$$$$$$$$$$$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$S!T![!\!]!^!  #$'138@BSgKI222222222 2 2 2 2 222222222222222$$$$$$$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$t  %&*+-/1234567:?@ABCFGIJKMNOPQRSVZ[\]^_abcegijklmnoqrstvwxyz{|}~̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000̶̷̡̢̧̡̛̖̗̝̞̟̣̤̥̦̪̮̯̰̱̲̳̹̻̽̾̿̕̚00000000000000000000000000000000000000000000000000000000000000000000000000000000000000  !"#%&')*+-./012345678:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_ !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNOabcefghijknprstuvwyz{|}~͇͉͍͎̀͂̓̈́͆͊͋͌ͅ͏͓͖͙͚͐͑͒͗͛ͣͦͨͪͫͬͭͮͯ͟͢͝͞͡ͱͲͳʹ͵Ͷͷ͸͹ͺͻͼͽ;Ϳ "#%&')*+,-./246789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWZ[]^bcdefgjlnopqrsvwyz{}~΀΁΂΃ΆΈΊ΋Ό΍ΎΏΒΓΕΖΗΙΛΜΝΞΟ΢ΦΧΨΩΪΫήίΰαβγδεζηθικμνξο  $,-/0189<@KMTX\pqtwxzĬȬ̬լ׬ !"#%&'()*+.2345679:;<=>?@ABCDEFGHIJKLMNOPQRSVWYZ[]^_`abcfhjkl  ),-458?@ABCFHJKLMNOQRSUVWYZ[\]^_abcdefghijknoqrsuvwxyz{~ЀЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГД߱  4?BFGHIJKNOQRSUVWXYZ[^`bcdefgijkm@ACDEKLMPT\]_`aĵ̵͵ϵеѵص%,4HdhԶ(),/089;DHLTU`dhpqsu|}nopqrstuvwxyz{}~рстухцчщъьэюяѐёђѓєѕіїјљњћќѝўџѢѣѥѦѧѪѫѬѭѮѯѲѴѶѷѸѹѻѽѾѿјǷɷ $%(,45789@DQS\]`dlmoqx|øŸ̸иԸݸ߸ <=@DLOQXY\`hi  !"#$%&'()kmtux|ȹɹ̹ιϹйѹҹعٹ۹ݹ޹89<@BHIKMNSTUX\deghipqtxĺȺغٺ*+./12356789:;>@BCDEFGIJKLMNOPQRSTUVWXYZ[]^_`abcefghijklmnopqrstuvwxyz{|}~҂҃҅҆҇҉ҊҋҌ  )+4568;<=>DEGIMOPTXaclĻȻлӻ $%')-0148@ACDEILMP]ҎҏҒғҔҖҗҘҙҚқҝҞҟҡҢңҥҦҧҨҩҪҫҭүҰҲҳҴҵҶҷҺһҽҾҙļͼϼмѼռؼܼ $,@HILPXYdhԽսؽܽ DEHLNTUWYZ[`ad "#$&'*+-./1234567:>?@ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghihjpqstu{|}оѾԾ׾ؾ @ADHPQUſ̿ͿпԿܿ߿?ABCEFGHIJKLMNOPQRSTUVWXYZ[]^_abcefghijklnpqrstuvwz{}~ԁԃԄԅԆԇԊԌԎԏԐԑԒԓԕԖԗԘԙԚԛԜԝ4<=HdehltuyĀĔĜĸļ (),089;=DEHIJLMNSTUWXY]^`adhpqstu|}ŀńŇŌōŏőŕŗŘŜŠũŴŵŸŹŻżŽžԟԠԡԢԣԤԥԦԧԨԪԫԬԭԮԯ԰ԱԲԳԴԵԶԷԸԺԻԼԽԾԿ $%(,-.034579;@ADHPQSTU\]`loqxy|ƀƈƉƋƍƔƕƘƜƤƥƧƩưƱƴƸƹƺ  !"#$%&'()*+,-./0123456789:;>?ABCEFGHIJKNPRSTUVWZ[]^_abc  !$(01357<=@DJLMOQRSTUVWX\`hktux|}~ǃDŽDžLJLjljNJǎǐǑǔǖǗǘǚǠǡǣǤǥǦǬǭǰǴǼǽǿ dfgjlnopqrsvwyz{}~ՀՁՂՃՆՊՋՍՎՏՑՒՓՔՕՖ՗՘ՙ՚՛՜՝՞՟ՠաբգդզէթժիլխծկհձղճմյնշոչպջռսվտ $,-/18<@HILMTpqtxzȀȁȃȅȆȇȋȌȍȔȝȟȡȨȼȽ ,4PQTX`aclpt|ɈɉɌɐɘəɛɝ !"#%&'()*+,./01234567:; )LMPT\]_`ah}ʄʘʼʽ !AHILPXY]dxy˜˸ !"'(),.089;=>?ABCDFGJLNOPRSVWYZ[]^_`abcdefhjklmnorsuvwxyz{|}~րւքֆևֈ։֊֋֎֏֑֖֛֢֣֤֥֦֧֪֚֒֓֕֗֘֙֜֞֠֩<=>DEHLTUWXY`dfhpų̴̵̸̘̙̜̠̩̫̬̭̼ $(,9\`dlmoqx͈͔͕ͤͥͧͩ͘͜Ͱ  !$(0135ֱֲֳִֵֶַָֺּֽ֭֮֯־ֿ XY\_`ahikmtux|΄΅·ΉΐΑΔΘΠΡΣΤΥάέ $,-/018TUX\degipqtxπυόϡϨϰ-458<!"#$%&'*,./0123679:;=>?@ABCEFHJKLMNORSUZ[\]^_bdfghjkmnoqrsuvwxyz{~׀ׂ׃ׅׄ׆ׇ׊׋DEGIPTX`lmpt|}ЁФХШЬдезй 0148:@ACDELMPT\]_ahl|фшѠѡѤѨѰѱѳѵѺѼ ,-04<=?AH\׎׏בגדהוזחךלמןנסעףdҀҁ҄҈ҐґҕҜҠҤҬұҸҹҼҿ  !%(),089;<=DE|}ӀӄӌӍӏӐӑӘәӜӠӨөӫӭӴӸӼ@D\`dmoxy|ԀԂԈԉԋԍԔԩ <=@DLMOQXY\`ehikmtux|ՄՅՇՈՉՐե $-89<@EHIKMQTUX\gipqtփօ֌֍֐ְֹֻ֔֝֟֡֨֬ ()+-458{{?||?}}?~~????@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_ѬҬӬԬլ֬׬ج٬ڬ۬ܬݬެ߬ !"#$%&'()*+,-./¬¬?ìì?ĬĬ?ŬŬ?ƬƬ?ǬǬ?ȬȬ?ɬɬ?ʬʬ?ˬˬ?̬̬?ͬͬ?άά?ϬϬ?ЬЬ?Ѭ0Ҭ1Ӭ2Ԭ3լ4֬5׬Qج6٬7ڬ8۬9ܬ:ݬ;ެ<߬=>?@ABCDEFGHIJKLMNO??????????????@@?AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[?\\?]]?^^?__?``?aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{?||?}}?~~???  #$'I138@BSgKI222222222 2 2 2 2 2222©©2éé2ĩĩ2ũũ2ƩƩ2ǩǩ2ȩȩ2ɩɩ2ʩʩ2˩˩2̩̩2ͩͩ$ΩΩ$ϩϩ$ЩЩ$ѩѩ$ҩҩ$өө$ԩԩ$թթ$֩֩$שש$ةة$٩٩$کک$۩۩$ܩܩ$ݩݩ$ީީ$ߩߩ$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$t  ?@@?AAmBBnCCoDDpEEqFFrGGsHHtIIuJJvKKwLLzMM{NN|OO}PP~QQRRSSTTUUVVWWXXYYZZ[[?\\?]]?^^?__?``?aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{?||?}}?~~???&?2??ARfJ?`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2¨¨q2èèr2ĨĨs2ŨŨt2ƨƨu2ǨǨv2ȨȨw2ɨɨx2ʨʨy2˨˨z2̨̨{2ͨͨ$ΨΨ$ϨϨ$ШШ$ѨѨ$ҨҨ$ӨӨ$ԨԨ$ըը$֨֨$רר$بب$٨٨$ڨڨ$ۨۨ$ܨܨ$ݨݨ$ިި$ߨߨ$$$$$$$$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$S!T![!\!]!^!?@@?AA BB CC DDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSS"TT#UU$VV%WW&XX'YY(ZZ)[[?\\?]]?^^?__?``?aa*bb+cc,dd-ee.ff/gg0hh1ii2jj3kk4ll5mm6nn7oo8pp9qq:rr;ss<tt=uu>vv?ww@xxByyCzzD{{?||?}}?~~???EFGJKMNOQRSTUVWZ[\^_`abcefghijkl333!33333333333333333333333333333§§3çç3ħħ3ŧŧ3ƧƧ3ǧǧ3ȧȧ3ɧɧ3ʧʧ3˧˧3̧̧3ͧͧ3ΧΧ3ϧϧ3ЧЧ3ѧѧ3ҧҧ3ӧӧ3ԧԧ3էէ3֧֧3קק3اا3٧&!ڧڧ3ۧۧ3ܧܧ3ݧݧ3ާާ3ߧߧ33333333333333333????????????????@@?AAGBBHCCIDDJEEKFFNGGOHHQIIRJJSKKULLVMMWNNXOOYPPZQQ[RR^SSbTTcUUdVVeWWfXXgYYiZZj[[?\\?]]?^^?__?``?aakbblccmddneeoffpggqhhriisjjtkkullvmmwnnxooyppzqq{rr|ss~ttuuvvwwxxyyzz{{?||?}}?~~???p!q!r!s!t!u!v!w!x!y!?????`!a!b!c!d!e!f!g!h!i!???????¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإ٥٥?ڥڥ?ۥۥ?ܥܥ?ݥݥ?ޥޥ?ߥߥ??¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإ???????@@?AAqBBrCCsDDuEEvFFwGGxHHyIIzJJ{KK}LL~MMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[?\\?]]?^^?__?``?aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{?||?}}?~~???  !£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:ۣۣ;ܣܣݣݣ=ޣޣ>ߣߣ?@A£BãCģDţEƣFǣGȣHɣIʣJˣḲLͣMΣNϣOУPѣQңRӣSԣTգU֣VףWأX٣YڣZ[\]?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H ucs2_binucs2_general_mysql500_ciucs2_general_ciutf32_binUTF-32 Unicodeutf32_general_ciutf16leutf16le_binUTF-16LE Unicodeutf16le_general_ciutf16_binUTF-16 Unicodeutf16_general_ci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H  d'@Bgb2312gb2312_bingb2312_chinese_ci!#"###g!%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#+!i!j!~#$#qD/p&<0pyC8E;Q1p2p3p4p5pp?pi>@pl6ApBpCpDp5HEpFpGptEHpIpJp=wKpLpMpNpOpW:PpQpRpSpTpUpVpXp%SWpYp:u9Bdwewfwgwhw4BjwkwsBptotiBawbwF;dYrJh@$pZ:-G,Dlwmwnwpwowqwtwswrwuwvwimjmkmv&6>XD9;X1\sJwwxwyw{wzwG1|w}w~wkF4l]33v4vdA5v6v7v8v9v:v#H;vzA(9hmj9_YcSOv3BPvQvRvSvTvVv+1WvXvYvZv[v\v]v^vJO_v`vavbvcvdvp@evfvgvhvivjvkvlvmvnvovpvqvrvsvtv(>uvvvwvxvzHyvzv{v|v}v~v!w"w#w$w%w&w'w(wn1)w*w+w,w-w[A.w/w;R!6_FrMIU}HOIBO"X;2kS$Xs3(WRG'X@JpG{15RT4+6?K)X*6=AOQ%I-Xv8>Q\cPVa7.4YA/XKDC>1X4CeR.VZN'Uu:&7V@9FREGGT9K3RR?XE>rF2R0OgOiJ@XrBRBiH,GKAhSyUBJ~6!XZSw?FT%;AXeN.>(XGQ)P=XoYvM:?;=%:`Rz2`:6DmO)>$MAAWGqYtYKHiXZR2JJHlXjXFXv=MFp3kXq=i=THS4XBV2PWKJ{KLU68IOZYpX*GnXz4nATRmXGRoXGCvQYVrXuX~<[<NH]7B7sFxXARiN?<|7%7]PZVESo;a;qX!I0N+4sXKIvXWBwX1NyX.2@9#Yi0fAlIEKFK$Yh5+5;NM5!WtWSSeLN:"Y\Y`S}Xp7wW~XzX!YcD6StX]Y{XeEP@pQ[0Q<&Y%Y,Y.Y+Y9J)Y6V^3(Y}@LJ*Y'Y0Y16)9@R@OBBD=lU`2HGk?-Y/YjNn:VGc1Y4m64Y!?^YNG~@8YWK}75Y7Y#1aS9YEP6Y1Y2Y)A3Ys<^P)8c>=Y:Y30BYDY61?Y95s>HLr:PRCYh=+3EYk>FY;Y_D>YAY@Y.U5VcGHYYkH+HK0+9yAbY<@29X9KPx1dF_>d5HWxQf<^J=)EZ9#Z)T$Z{Y,6k7y1|Ye3v>v?1Rd@36~Y}Y;>`FF-?K;J5I[WP9M<0v3w;J[/:dT65s5VXPHV7PGWX/?;[XXLP.;>kPAuArTU844u3>IPEYE{@p1YXN9=5ZXFV"K/H2IL4L?t9[X\Xg6A#Jt<18n8bXK=dXcX|EeXfX&A0Hl0&9S[?[x@">M@@[FJ*2BScC+QB[U@C[1?6PaZdG'3r6|Lz@w@9QaQGX^2e@q:HX-TaOIXJXCOx3G>KXL[%HXO~HN2VSf20mA6_5_;VP=YUH0#6I?(L3_7JRSOX6RE:>K>L7_p54_uST3w8:_O:*_ALMwRM7A_D_q7I0V6T7,:}LT?1KtF(VE_bN33|N54GNp:aN=Q@_t4J3f8;_ED<_=_>_;E?_B_1TC_:GXNXDJ_O_\VI_Z_6NG:N_H_^EkIt:|CW>F_M_XE&UM:L>=S@8dVG_>9'?|AK_L_P_[_e_W_V_IWc_d_ke'RR_)?[TH?T_LO]_JQ^_'07FS_e:_6[M~9UT__lO%0g_Q_FQU_X_Y_\_);`_a_b_f_h_4Sg86Ej_ZI(ADD^?xO\Un_82_:l_A[dQtK=4&0q_FLr_m_i_k_o_p_=;s_t_#;[J(N'`*3&`!`~_YM|_z_P?DWLIx_!0}_{_"`(`H7!F6I2@u_>EDXy_vD#`$`%`%P4`dL1`&?/`9N+`FI.@.`m:0:)`v_3`8`-49`2OH:0`zP,`{Tw_gE-`wS6`7`D`aP<`I`J`>`*`$IA`2`HJC`5`KNCKM`F`B`K`:`?`@`E`G`H`L`;`TKU`V`R`P`N<Q`B8EXjPoBO`=`T`S`W`\`X`vV03lW;KZ`{NY:a`]`-Rb`[`Y`_```^`d`wF,XkTf`IJe`A8g`h`i`c`?:gLj`yOk`BH@=RDl`m`tGDKn`X;6XrRo`EMZ6q`0T'@Q4'Np`r`L9z9;7P[.L2?5;xWS?i?a<3L^[S0kNX79WBF$@9Lg[a[:Fc[h[wEj[i[@?f[e[94,@"Bb[d[MPm[]@r[b6s[R[89+Tl[Q?p[Q[f5k[e?n[q[y[!9#0qBG3o[x[RFt[u[w[v[~[rS:2}[$\{[z[|[`Ey;#\%\CLQ6@]!\"\5Gi6'\&\)\$1L50?_QB6(\zKsk\K~KAL{H*\nL+\S[/\,\3>{J-\JI9D=G.\vTfP+DU6T[Z1U[V[>:@H?JIH3WyIG?x:8hBQH{eJ6K<}Q!fnC$f~e%fWMA7|e}e#f]D(f'fCC^F*f7D"foI7fp6dCiS4f5f"H=f9fEFqM;ff:f7@$S?ftICfDfvP=CDCBfAfGf1OtkJfEf^<)I5<SOHfIfNfPfQfKfU5LfOf[DFfMfRfTfSfUfxYVfWfSW]f^fW?PTVWf4oKZfCXNW"POC_f>eg4T6BK0Q<5YJb7dI+=>NpW!PYI{6Xfb<>3PIYf"3L^HSM^"RN^M>O^,J|R_3jeaD!>2NrDV>(Fc2S>|GkLl=]N:JAFlea@aAaGag3iF^4BQHaFaEaCaBa@18UDaKaLaJazoSaRa6GIaNaPaTaQaMaOaUaVaWaXaZa[a!N]g(4]V2Q23$9sWIG^>.9WNn2O[:}4_a\:`a2;IBaalP=MbaC5GEcadaySea-Qfa"NgaB5haU;DP`bX1dRabIV|M&CCcRVgbhbGSlbl?mbeb@3nDnbCPv:ib^73;,LKKdbfbjbkbwbtbuTsb-EzUBE@2obrb/AoMs;hL/c1c'O.c)N];k5e>R2M391+cQ2,5_9h6kO7cL;GHJP8cn3)mzSdS*m9cbR5c^SP83c6c_74c"@:c8TH4;cE;wIeI=D+m}B[;.??Nc-m?c):,m=c@c6:.68PC0.m/mA@Ac3EBc2\0mj8lN'jgPyJVH7OI3RNd=^cr;(j=U]F)j*j,j+j.j-jX=/j>BA4w4';flel?7yKb1glHIhlilVJP^E2zTKFG0r4SHPM8?[?$G4V)@Q^(IoQ$Eg063EHb0v7zEs6RUP3<<-3q>Q0VRcJ%W6M669?[U'8WER^Y?UB@G$;(1jE{E'L'1V5(DS^:Qi3rCw7tV#5p24DiD-@T^h0DE`AU9\>XMN0OMV^P>>WU^PU]0bD#Bp<5S9@!E&2qT(@CJW^|U09-H)KY^=?4F'W0JCDV3R98V|j40f?tLZM?VNBNN"L.PSD25X^uU762L@pKq<;;75uEf^c^]>_^74]=`^mDFO`5^6ZJt5e^FUa^ML~FEE4Rr>SB=L83S=X?FMZQk4d^]^g^~j0Bb^@V'5t2h^r^m^q^`HaWo^hCaLe2>Rn^k^UN'4+?>>R=i^.T^^j^?@l^s2i8'BA=u^x^+2$4j4&Iv^QKc8w^z^y^BLa0n4:e/Pk2!kt^cIs^Z0!Rw1/Lp^$K*U{^]4&D}^~C!D!_LA|^o>2FE3vH:K~^$_2W73CAKG%2i4+WlD"_#_%_3:&_^@CIY2fG'_\G(_"kSK*_)_A2JE+_\TAH,_p>-_'V7j6kUJ|XD8%9E7~UJ9'PMtP5tCH>7k=0L=2AV1(3R8"IX68k4>}JCG{Us7DN+Us13l_05l76OAzu1PeUSNo=b3+86U=mO69KBP=76l)JTE9l8lCB7l}P:l;leWj%@;j}2wCh;WRtN?jzNgG'>PjGV@A]TQj>ORjnJ/E50TjSj_t:D)1_eUjoJVjWjXFXjYj;TzG7R|8Bj\2|BxTfLnWBTPSCksE~7Tk7K^kJ@{M/3ZF|k>D4N)D>1}TuJlVSFd6z;`P1IST(HK8>hHaHOhThVhq9XhuW{D\hi2Qhm<B?MhyVxAq2_hAJYh$Uj1;UNhPh06Sh]h8@wJ(K\Fu@ih#PrhjV`hahyQK:y8q8TTohnhlhp9RLfh&Nr?80qhph@Wdh)M#I8;[=jhbhcheh55ghEGkhmh0=.Wxhuh0Mvh:Ahh7Cp0thwh#9RINC`Nf@sK]L5PaJshl<yh^CeFw9t0XW,<oEDL&i-I"ib@C?~hW9{h$iNR#i2V5W'i7=|h}h!iVM,R2i)i*4;4+i(P%i~3,ic@*i9i8i.izh(i,?1i:i%B/iE8-i\S4i5i7iGiF@Ei0i;iq0i?iAiqA6H=iBiCi3i6i1;@iw<DiFiJiNi[2Hi.7KiLiAU#DXia:Ii#STiWiPiOiAGRiYiH3SipOMiw3ViZi4L-OUi\i[i^iQi]i_iJC7GN46;@P#l7E{S$l%l[Fn?&l'l*P8Gh8(l9V}UK4=2dNgFaMu4@K_<bicijQeiy4di3QbJP2hifigi3Viijikili/l9EN6sRn5Y;1lcRcN8D?C>69XH1O1Q1~EP1+C1U$kA::L%k'k(k&k)k+k*k,kOJ5XqC%CxF-kJD.k/k0kU7z71kbG3k$:uQ102k4k*5HBhG5k.K_c@S[Y!M-VsG`Yc;::bc+O`cGI9:4QacjH/9-=X3[N@LhcictM-L3<jckcZP{FZ7_GJRVNdclcrIA3gccFec3mfc3IfE59;Ccc=E$AYBW2mc&;-DpcZ>{cucS:P7MSNVSUA94UXQ9PvG*H42ZCnc|coc(7wctc:7"Evc]E(2|F`D"Wa@yczc}c)Lsc>SC14mqcrcxc:PCFsT~c`='d&dsQ#d)dwH4O(d.deB46r="di:*d,d}6^V2d-d!dn;]M"GIEwA$d3G,===%dGWb2+dC4l;MQmL5meG(TKdUWBd%=EdfSIdxI>deS~GI6|T32WdBNMdFWVTS2>lAj/B64WQ432H;?@lKV?lAlElf>?LZE<>Fl~1Dl(Uc5Bl6Ac3Cl8KC@~LRAHlf:S@rVLQ>?37UIGlb;LL}=HH)OiMkEi7IQ8:IlJl@;Klbl:1Y79=LlfQMl;HQlSlM;e<Ol7I:CclUUPlsVRlNlTlUl?I(O\P,Q[HVluNlJZlYl>0WlXldl88/RV0y53X,K]c,Ff0FE9k:k;k@Q#Erj2D5DN@sjADoNpjtj|I#GXL~Nujvj,Og@wj?6xjyjzj{jqj.Hka87lama4WnaoaLSqaq?paR571sara|:ta79Q>|D]:F=uawa@6AO(JvaxU|Sxa|ayazaj@~a!bG@{a}a%bTA#b(b~2"bMCB2'b&b$b)b+bIPmV(C,bWO.bo:`i-b*b+;3T0b/bai1b2b3b!L4b5b~PJBqSuM`gagA>jBdgcgfM5Cbg7;VOaAighgtg#2jgfglgkg:IdUeg)7ggngsgiVmgrgqg`0ugrGE@m@pApgvgvK"h!hAWzgyg{gwg~g}g|gUAYG}ECEmG#h&h%h'hw:xg$hpH*I)he9~Q(h*h-h.h'A/h0h,h4h+h1h5h2h3h7h6hO9,p-p0Fj0?H_MMN1j2j?FI43jgUy]4j5j6jJ80_uIpLzI{ICS&K&8.pB18eoLISW^p1E]pqQ`pL0j=_R_p/4h7fpep#FapbpC4cpnU[LR>2<hpgpdp!2"V8S7>,HjpwQLV[:ip;64M&F!Akpnpmppplp>;op5LrpU3T1sptpvpa4qpwpzpxpup}pyp|p~p!qAN$q#qvA{p]Jq4q11L&q'q,qNU)q3H"q+q(q%q*q)0-q/q1q0q.q"Q2q3qo9G5W0Y0mTD5T=J;'p^8(p(0)pnM*p+p$FeVdqeqsC[SQVhE/SfRAn;05UNQ`xmwL[QEWvU|m{mymzm}m&>/K!n=6"n@D~m^=G2C6%n:X#n&niCr3'n$n9O(nwB)n*n+^3FFGuVI52K+n+M,n0U-nDvG[#4,Cfq8JSR*VroX>C=soL6+0/J6m7myN/7s?8mkB0I9mvF3?miEFFiIRTAmBmCmEmy@!4h9PmQmJmOmxN6KLmMmuORmrA2SKm7Ho<pEVmo55B-0iK.1TmkMb5UmSmWmz5XmYm\mL1vEnJjlq@gIklnFllmFmlplfWslqlnlol#WqInKtlrliOvl1F@<ul;5v;wlwY{=;Bxlyl#8zl{l|lmS.Xk@]GL:cP=K:MQ8|1oGVVF?kCuoXCbWwoS3XGmQHVxovo};F3U=FR`;!O|o{oyoL3TI0K~o^0IV}om3UvHN"p!p>5Z<|;e8BD#pkK&p(Q?>nG6q7qU?)48q;MTG-U9q:qOG$ROV;qQ=04=>\4QN_?=qz?q@qAq~A"AzJ>U:>9>BU"?/M5q_=K6qVCsDsM8FsGsJ0EsIsqKKs&PJ1HsOsQ5WsRsTsSs{7?1NsJsZ5PsQsUsMsc<}AVsZsLsH5n=\s$7p?~V2Mp4_2XsYs8I]s^sas_scsbs[sj?o3`s)Gr<ks?9ds-2~;cKmsis\9nsesfsjsaBlsoshs}<dOpsgsrs-W*Fssqs(B]8usts[4vswsxs:@i@qE{szsX4~sys|s}s!t#tI;"t$t>2&t%t.<WCaY`@LtQW[7Nt#AIFV43UPtOtQtZKRtAT`V`78A;ASt,>b4TtUt+>Vt[tWtZt}:XtYtb8GL\tZ2SCcT7?]t4Eit5OINXKwKt=OW[@uPjtktltcw17mtkWntyf@>zfl:{fKO|f*gs0^Ha=+gFH,gf;x8$Q-ggBx>J=3M.g/gn>ePgKPLL<0g(g?g)<@gAg6gP6BgCgDg:;^5FB`1Eg5TFg?8HgGgl7Igx2JgKgLgMgNgOgPg'SuKQgRgSgTgIIUgVgWgXgYgI=Zg>sW81H?s@sAs^9xMhX1:^B7n#79n8nU0;nVUoWCV=npJn@n?nrQyqO4zq2m1m`K^RAKXUbH_@!<Ak$PbVG6X8@kN8?k&3I9+Vt7J7g<>7FkGk90O?Ek}SHkIkN7BkDkvIWVMU2POk8NPk(531Rk%LVESkQk_ENk$JUk{0z:7XcqJkKkLkMkVk@fYkh?HRWk\kl8Xk:=XP70]k\D,V`4vB9<Zk[k`TjFTD_k'EuY12dkE=bkck,8QMekak3A"FsLfk0@8Rgk/8-8hk;GsMjkkkmkHPrknkqkyH|Qlkik98YOeDokpkZLHMr0vkuk22`8wkl1EL$D%Oyk"lrEzkEI_b~kNM!l[17S\R}k{k<30jTW+tt3AVBViUJ>'t(R(t)t*tK>_S`IaIBsfJrL6b4KhN[V-t.t/t2t=:3tc00t1t"=U26t7tf602OO4t,45t8t9t'M:t;tt?t^t\R7E0G\>PA\(;<7L\F\?\[G?Q@\J\P\-NB\C\H\I\T2Q\UK7T[\_\&Lf\gC\\A?Y\z069e\S\D\V\tH`?;I=1"SZ\U\;F^\BW/C67QG)Cb\X\k\T\]\%>W\`\c\d\x\a\"]g\kt\]2s\vz>J:J]E]?]K2C]K]$2U]>]PFP]T]bAF7N]O]D]=]M]QLI]B]HCGz]|]~]"^*0N1,^&^6=oH!^%^)^(^'^-^LT3^*^.^Y@!16^1^2^&Q5^/^0^=P4^mJ9^8^7^;^e=X2jC:^:E<^YL*7eT=^?^"DA^>^@^:UB^.r";2B0EGB/riP]S=kf30r1r-Jg:3r5r4rdK:O2r4JORlBCN8rv07r>rO2AQ:rijjjkjljmjnjojG={u}u~u|ub=!v%4"v#v2lTQjY$v:n2U~S\LDJ@e%v/>)F%ZF<)6<8OH%<&Z'ZVLCH(Z}F5QiR6QG<2=d;)Z*ZHQ+ZmPo6[BOKm7hIC7w>$V,Z-Z@FgW6J)U_KoU.Z_VJ40Z/ZkR1Z2Z3ZTJ4Z+J5Z6ZO3oV7Z0;.58Z9Zn9/QhR:ZC8jOo2;ZZUSe;?Z5KPK@ZkGnVAZ5EA6BZL7N?CZDZ-KEZw5FZBA;WGZ8LjR1DHZ}5Q;IZ3PJZKZ=NLZMZNZw2QZOZhQPZUCRZSZTZUZ;P%Ry0VZ+GWZw=!CXZYZ}C7LZZ[Z>@WF\Z]Z4G^Z_ZH9m;96xtytcM9u`ksO?;@:%TYatu*1r2uuwuQ:vu2Cyuxu41jU:819F2pTMO\0KUu;JV770L6Fa1:9|Va9!7zTDuLuO0x5IuJu\EEuFuGuKu`>Huz8PuSug?r9Xu_L[uH2YWYuZu\ubu`u_u]uau^udueucL?e85cuhu#Lfugu>uD1?uE5d2luiuW6mujukuZ4jTnuy3ouqupurusumI*9{Gc6IL&j53~Tl9yPmi*WniVBmHd:oipiqiaVrisiuitiviwiaGxiXTyiN=zi{iO=|i(8>A}i21T;u9~i!j"j#jx7-<dJN`/T=O7U$j^U%jAP<9G4Y11@f1g1h1=3hHAe_1IAo4(GXSyF8Q}9uB-SKT|=Be57Ce9;bUx=6T%N,AY3vLFeDeHeJeGeO5HF|5EevJIeTCE1#<7WKMMKJJSLLeKefD!Q7QMePe8MpVOe]5>MQe:6(Md9EJQ3YKlTRej7NeUe~4VeSeTe]R_BF1bS]6lKWevSi1t6ZeXeYe@5ER\e^e]e2G#R[ebTZU`eqWae\1{QbedeceeeXRK5_guZxZvZwZzZOPGDn00PyZJS*:"[qG|Z{Z[I}Z![^W~ZZA%[tS'[$[([<=I@#[&[#V)[-[.[,[B:$?+[*[GT?2/[y90[;3&5<61[u62[I14[3[5[7[6[8[9[:[OSztuGCWdE|t}t{tF>oPS7MT*L"u!u(:~tVK$uR@j3*M%u#u4=(u)uM=8Ca?aK*u&u'upD,u<4mWW4+u.u-u/uQPQC)H0u1u2u3u4u5u7u6u8uI2TSMJo@XV0R?Ap=*8x<FvGvHvIvJvLvKviwMvNvDnEnFnkU$6HnGnInJn%GKnLn07v5MnOnNnF8PnQnRn[6.3SVFD51V8SnTn?TUG{>YN39VnUnXnWn%EYnZn.G[n/G\n'2]n^n_n`nanjWbncnXo?o}N@o`B846Wu=GOCoAoBoDo'6|LCEoFoGoOoHoIoJoBGqoM6KoLoMoF6>CNoPoQoRorUSowDToxDUoVod8w0WoXoYoZo[o\o]o^o5>ao_o`obocoMAdoeofogohoiojokoloX@mo-AnooopobO$3ECEcAIFcU1JN34rHGcPOHcd2>e5G7??RCfCLXo8y=%QP00w1w,P002w3w4wJGO>7w6w^15w8w9w$NMH+:8h9h:hB>tROTXI3R%6jG|qnO3KkPoggMK9Y6}qd0LK~q$T-BlADF1>!rU<"r#r$rCR5FGM%r1SE?bL&r'rUQn6(r)r_5*r+r|2,r-r'Hg7)l*l+l,l.F-l.lI73J8bOwPwM2QwSwRw;b"<b?b@bAb97{R$=NJ%1GKBb|6DHCbH=}1Dbv6EbYDFbZO]9Gb!@Hbv2IbsAJbKbxBLbMbNbWJ8XeYcO%p0\mB&TTM1Q[3}G52?B`f;JafbfT>cf$WUMef]=hffB':ifjfR3iQ%?kfoFlfmfnf-Fof'Ipfqfrf9esftfbBufvfhVwfxfG9;w:w>w!?!~!2!3!$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%$!E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(Y"Z"["\"]"^"_"`"a"b"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)v!u!x!w!t!s!p!r!q!o!n!b!a!*!,!.!/!0!1!-!k!d!e!y!f!m!q"r"s"t"u"v"w"x"y"z"{"|"{!|!z!}!J!G!F!L!X!^!O!N!D!E!I!H!R!S!`!_!C!K!W!V!U!Y!T!\!]!Z![!Q!M!P!&!%!!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&''!'"'#'$'%'&'(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'Q'R'S'T'U'V'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'W'h!l!'!c!@!A!$("(((&(:(,(*(0(.(B!4(2(9(!(%('()(-(1(#(+(/(3(5(6(7(8(JU?W(cT UTvLve^aUޘ*S T^l9Z)TlR~_Wq~l|KYN_$a|0N\g\ Θup"QIYQ[O&T+Yweu[vbbE^l&{OO gnmmy_+ubOܑe/Q^PtoRK YPN6ry[DYTvVV9eivnr^uFggzvaybecQR8~\/n`g{vؚ|dP?zJTTLkdb=urRi[sn;uRS݋i_`mOW"ksSh؏bc`$Uubqm[{^RLaĞxW'|vQ`LqCfL^M`pp%c_b`ԆVk`gaIS`ff?yOpGl~dfZZBQmmA;mOkpb` 'xyQ>WW:gxu=zy{eo!Y~  TghM|ƖS%`urlsSZ~$cQ ]߄bQc[OmyBR`Nm[[e_EY~~ Vg9YsO[RZ>2uGPNlZbnc]wQݍ/OS`pgRPcCZ&P7wwS~d+ebcP5rɉQ~GW̃QT\OzZmᐏUTaST_cwiQha R*XRNW x w^wa|[bbNpbp`wWۂghxyXTS4nKQ;R[CUWs`QW-TzzP`T[cbScb[gTzw^8YWcWWw{O_[>k!SP{rFhw6weQNv\zuNYAP'andWfFcVbib^WbU!JfUegV݄jZhb{pQo0cȉapntir^ΐgjm^cRbrlOYjpmRPNm~x/}!QWd{|lh^iQShrΞ{ryotNg̑xS)RPOOuz|lRtTOTޏp^`m^[e8K`p~|Qh|o$Nϑ~fNdJPuq[foNdc^eRˆpRs3tgx4NޜmQATbsÔ6OQupu\SNn tikxYuR$vAmgmQKT<{zWbG|iZd{oKbS^pcdSOx2B^oyU_F.btTݔOee\a\Q/l_sn~\cj[nuSqNceubn&ONl~W;#{=m~YsxlVTWpNVSȏ wnfba+o)+vl_+skwƔoSQ=^8HNsghv dql wZAk'f[YZN jv0sh_[/wa|%_s|yʼnl[B^h w~QMQR)ZbׂcwЅy:n^YmplbvOe`f# T}T,xdyd!jxidTb+gX؞l o[L _rgbarNYkXfU^RUa(gvfwgrFzbTPTZ~lCNvYHYWS7uV c|`mbTQZY*Pl<\b`O?S{n+bt^xd{c_Z?\OcB}[nUJMm`grQ[bl[rmb~SmQ_tYR`sYfPu*ca|T'k%kՅUTvPljU,r^`6tbcLr_Cn>meXovxvTu$RSSN^e*րbT(RpэlxTڀWTjMiOlUv0xbpom_h|x{ gOgcxoWx9ybbR5tkdU>uv9SuPA\l{OPGrؘothydwb+TXRNjW s^QtċO\aWlFZ4xD돕|VRQbNa郲W4gWnffm1fpg:khbYNQoglvQhGYgkfu]PeHyAyw\^NO/TQY xhVlď_}llcp`=murfbŔCS~{N&~NԞMR\ocEm4XL] kIkg[TTX7:_bGj9re`ehwTNO]d\OzRN/`zONy4tRdy[lR{"l>PSndtf0l`w^y7x3u{T8Om Z~^yl[vZuNanXu%urrGS~wviR܀#W^1Yren׋8\qASwbeNߘ[ƋSwON\vY_:yXNgNbR/fUlVNOʑpl^C`[ƉՋ6eKb[[c.US&v}Q,ghkbSmufNNp[qffr͞ ^\/gh_g bzX^pe1oU`7R Tdp)u^hbS=r4lawz.TwzUxgped6V`ySN{k[UV:OUcTن\~*gsTOuÀUOMO-n \pakSv)ne~;T3z }UtcmzbegScl]\TLNalK\eh>T4TkfkNBcHS OO^W bdfirRR`fqgRxwpf;V8T!zrzo` ^`Y`qpnPlrj-^`NZUm|b~w~#Sf\Or NSYTc(HQN~T$T7m&_Z>fis.sSz[wP~vSv{DXnaNey`TNy]ajPTa']xJRTVm[mSf\][!hxU{HeTiNGkNOSc:deQhxSall"Q\ #ke__OEfe)s`tQRWb_Lx^Og'`YDQQSylĖqOO=gUy~X bZV{_ĄWSe^\ud`n}Z~~iU[`es cv)w~tf[tz@Rq_e[o]k[l ŏSb&-@T+NYr]YmŖTN qT pmv%Nx\^plDYcopYvtGd'\ez#YTo0iNV67rΑQ_NucNSfKYmNX;ScO Oc7YWyNul[Y]_iP]YNwNzbfy\Ny_Ɓ8uNԈak_INvn㋮ ы_~5kVk4YTm[n9\_pS1jtZp^($%gGΏbvq_lx fTbcOÁu^͖ Tlm8l`R(u}^O`_$\1url8nI gSSQOɑS|^mNvi^aYOO>| annN1ZN\y[틽sWTGU\_a2krtm[Ոkm3 nQCQWScVXTW?sn܏т?a(`bf~Í\|g`NShAQЏt]UfU[S8xBg=hT~p[}Q(WTef^Clm|QgeojV vvpq#bRl<`Xaf`NbU#n-gg(whiTMNpȋXde[z:P[wky|lve-]U\8h`Sbz[n~jzp_3o _cmVgN^&N4vb-f~blugqiFQSnbTُYmsewu'xOguʋ/cG5#cAw_rN`tebck?e'^uѐg/e1TwAlKN~Lv ikgbS\fScSRRR-R3R?R@RLR^RaR\R}RRRRRQTNNNNNNNNON"OdON%O'O O+O^OgO8eZO]O_OWO2O=OvOtOOOOO~O{OO|OOOOOOOOOOOOO)PLPO,PP.P-POP P%P(P~PCPUPHPNPlP{PPPPPPQPPPPQ QN=lXOeOOFlt|nQ]ɞQYR SSQYUQNVQNnN҈y4[QQQQQQQQ‹Ëˋϋ΋ҋӋԋ֋؋ً܋ߋ  !%'*+./2356iSzS"!1*=]4]=]l][]o]]]k]K]J]i]t]]]]s]]s_w____________ba_rrrrrrrrrrrrrrrrsrsrrss!s ssss"s9s%s,s8s1sPsMsWs`slsos~s%Y$YYcghijkltw}^^^^^^^^^^S^^^^^____`_`___``___`5`&``` `)`+` `?`!`x`y`{`z`B`j`}````````````````` a&aa#a`aa+aJauaaaaaaa_ ,N?rb5lTl\lJllllllhliltlvllllllllllllllllllll9m'm mCmHmmmmm+mMm.m5mmOmRmTm3mmommm^mmm\m`m|mcmnmmmnmmnmmmnm nm+nnnNnknn_nnSnTn2n%nDnnnnn-onnnnnnnnnnnnboFoGo$oon/o6oKoto*o o)ooooxoro|ozoooooooooooop#pp9p5pOp^p[[[[[[/u4d[[0[GӏՏ & !56-/DQRPhXb[ft}P_W_V_X_;\TP\Y\q[c\f\*_)_-_t<_;n\YYYYYYYYYYYYYYYYZZYZYYY Z Z2Z4ZZ#ZZ@ZgZJZUZusssssssssssssss| tssssst*t[t&t%t(t0t.t,tttAt\tWtUtYtwtmt~ttttttttttttttLgSg^gHgigggjgsgggugggggwg|gg hg hgg hggggghggghgg2h3h`hahNhbhDhdhhhUhfhAhgh@h>hJhIh)hhhthwhhkhhnihi ih$ih iiWihiqi9i`iBi]iikiiixi4iiiiiificiyiiiiiiiiiiiiiii/jijjejiDj>jjPj[j5jjyj=j(jXj|jjjjjj7sRskkkkkkkkkkkkmqrsuvxwyz|~Ύ bbbb"b!b%b$b,btttuuu4eeee ffrgfffpff4f1f6f5f_fTfAfOfVfafWfwffffffffff236;=@EFHIGMUYljʉˉ̉ΉωЉщnrr]rfror~rrrrrrrc2cc?ddkkkkklll lllll!l)l$l*l2l5eUekeMrRrVr0rbR gۀ€Āـ̀׀g݀ gZ6,2HLStYZq`i|}mgMXZń&gʁ$k7k9kCkFkYkјҘӘ՘٘ژk@_keQeeeeeeeeepppppppppppqqq/q1qsq\qhqEqrqJqxqzqqqqqqqqqqr(rlpqfqq>b=bCbHbIb;y@yFyIy[y\ySyZybyWy`yoygyzyyyyyy__<`]`Z`g`A`Y`c``a a]aaaaabllmwwx xxxxe-xxx9x:x;xx?B5DEFILNORSTVWXY[^_]abdefghijkloqrs:wwɖyyyyzG]zzzz9z7zQzϞpzvvvvvtt,u "()*+,216879:>ABDFGHIKLNQUWZ[\^cfghijklqmsuuuuuuuuuuuuuuuuuuuuuuuvuuuvvv vv v%vvvvvv3vMv^vTv\vVvkvovzxzyzzzzzzzzzzzdir}ƈɈΈ! 4+6Af{u倲vvw "%&')(1 5CFMRiqxMTlnz|{ĆΆɆφІކ߆؆ц #;%.>H41)7?"}~{`pLnSc|dYe҇Ƈ凬ˇӇчʇۇ !9<6BDEzz{{{{ {+{{G{8{*{{.{1{ {%{${3{>{{X{Z{E{u{L{]{`{n{{{b{r{q{{{{{{{{{{{{{{{{{{{{{{ |{{|| ||*|&|8|A|@|D!"#-/(+8;34>DIKOZ_h~؈߈^||Ie||||||||||||||||nf|w}}}G~~sgmGIJPNOdbapio}~rtyU~Yič֍׍ڍލ΍ύۍƍ ,.#/:@95=1IABQRJpv|otxe։މډ܉>&S*-0> ΖҖwȒ>jʓ>k#zĜŜƜǜʜ˜̜͜ΜϜМӜԜ՜ל؜ٜܜݜߜ|XŚš˚̚њECGIHMQ .UTߚ#;~֓۞ܞݞߞ",/97=>D !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO+Mk1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%000000 ^ &     000 0 0 0 0 00000006"'"("""*")""7"""%" "#"+"."a"L"H"=""`"n"o"d"e""5"4"B&@&2 3 !0 !&&%%%%%%%%%; !!!!0$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$ 2!2"2#2$2%2&2'2(2)2`!a!b!c!d!e!f!g!h!i!j!k!  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000+Mk???????¨¨?èè?ĨĨ?ŨŨ1ƨƨ1ǨǨ1ȨȨ1ɨɨ 1ʨʨ 1˨˨ 1̨̨ 1ͨͨ 1ΨΨ1ϨϨ1ШШ1ѨѨ1ҨҨ1ӨӨ1ԨԨ1ըը1֨֨1רר1بب1٨٨1ڨڨ1ۨۨ1ܨܨ1ݨݨ1ިި1ߨߨ1 1!1"1#1$1%1&1'1(1)1?????????????????????ѧҧӧԧէ֧קا٧ڧۧܧݧާߧ !"#$%&'()*+,-./§§?çç?ħħ?ŧŧ?ƧƧ?ǧǧ?ȧȧ?ɧɧ?ʧʧ?˧˧?̧̧?ͧͧ?ΧΧ?ϧϧ?ЧЧ?ѧ0ҧ1ӧ2ԧ3է4֧5קQا6٧7ڧ8ۧ9ܧ:ݧ;ާ<ߧ=>?@ABCDEFGHIJKLMNO?????????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ٦٦?ڦڦ?ۦۦ?ܦܦ?ݦݦ?ަަ?ߦߦ????????????????????????????????  !£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:ۣۣ;ܣܣ<ݣݣ=ޣޣ>ߣߣ?@A£BãCģDţEƣFǣGȣHɣIʣJˣḲLͣMΣNϣOУPѣQңRӣSԣTգU֣VףWأX٣YڣZ[\]????????????????$$$$$$$$$$$$$$$$$¢¢$ââ$ĢĢ$ŢŢt$ƢƢu$ǢǢv$ȢȢw$ɢɢx$ʢʢy$ˢˢz$̢̢{$͢͢|$΢΢}$ϢϢ~$ТТ$ѢѢ$ҢҢ$ӢӢ$ԢԢ$բբ$֢֢$עע$آآ$٢٢`$ڢڢa$ۢۢb$ܢܢc$ݢݢd$ޢޢe$ߢߢf$g$h$i$?? 2!2"2#2$2%2&2'2(2)2??`!a!b!c!d!e!f!g!h!i!j!k!??  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\][^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}Y  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H ujisujis_binujis_japanese_ci?   ?!%ª«êëīī?Ūū+ƪƫ/Ǫǫ)Ȫȫ5ɪɫ7ʪʫ:˪˫>̪̫<ͪͫDΪΫHϪϫFЪЫѪѫҪҫӪӫԪԫժի֪֫Qת׫Mتث٪٫UڪګY۪۫Wܪܫ[ݪݫ]ުޫaߪ߫_એ૏e᪏᫏c⪏⫏㪏㫏䪏䫏媏嫏檏櫏m窏竏誏諏q骏髏kꪏ꫏s몏뫏o쪏쫏i摒𢡊uwz~|?????????  ?" $ª«êëĪi0Ūū*ƪƫ.Ǫǫ(Ȫȫ4ɪɫ6ʪʫ9˪˫=̪̫;ͪͫCΪΫGϪϫEЪЫѪѫҪҫӪӫԪԫժի֪֫Pת׫Lتث٪٫TڪګX۪۫VܪܫZݪݫ\ުޫ`ߪ߫^એ૏d᪏᫏b⪏⫏㪏㫏䪏䫏媏嫏檏櫏l窏竏誏諏p骏髏jꪏ꫏r몏뫏n쪏쫏h摒𢡊txvy}{?????????©?ĩ&?Ʃ2?ȩAɩ??˩J̩ͩR?ϩfЩ????????????????©ééĩ'Iũ1Ʃ3ǩǩ8ȩBɩ@ʩʩI˩K̩ͩSΩΩϩgЩѩѩ?ҩҩ?өө?ԩԩ?թթ?֩֩?שש?ةة?٩٩?کک?۩۩?ܩܩ?ݩݩ?ީީ?ߩߩ?੏੏?ᩏᩏ?⩏⩏?㩏㩏?䩏䩏?婏婏?橏橏?穏穏?詏詏?驏驏?꩏꩏?멏멏?쩏쩏???祐祐???????????????????????????????????????????????????§çħŧƧǧȧɧ ʧ ˧ ̧ ͧΧϧϧ?ЧЧ?ѧѧ?ҧҧ?ӧӧ?ԧԧ?էէ?֧֧?קק?اا?٧٧?ڧڧ?ۧۧ?ܧܧ?ݧݧ?ާާ?ߧߧ?৏৏?᧏᧏?⧏⧏?㧏㧏?䧏䧏?姏姏?槏槏?秏秏?觏觏?駏駏?ꧏꧏ?맏맏?짏짏???紐紐???§RçSħTŧUƧVǧWȧXɧYʧZ˧[̧\ͧ^Χ_???????????????????????????????????¦¦?ææ?ĦĦ?ŦŦ?ƦƦ?ǦǦ?ȦȦ?ɦɦ?ʦʦ?˦˦?̦̦?ͦͦ?ΦΦ?ϦϦ?ЦЦ?ѦѦ?ҦҦ?ӦӦ?ԦԦ?զզ?֦֦?צצ?ئئ?٦٦?ڦڦ?ۦۦ?ܦܦ?ݦݦ?ަަ?ߦߦ?এএ?ᦏ⦏㦏䦏妏榏榏?福規規?馏ꦏ릏릏?즏??憐憐??ᦏ⦏㦏䦏妏福馏ꦏ즏????ѧҧӧԧէ֧קا٧ڧۧܧݧާߧ !"#$%&'()*+,-./§§?çç?ħħ?ŧŧ?ƧƧ?ǧǧ?ȧȧ?ɧɧ?ʧʧ?˧˧?̧̧?ͧͧ?ΧΧ?ϧϧ?ЧЧ?ѧ0ҧ1ӧ2ԧ3է4֧5קQا6٧7ڧ8ۧ9ܧ:ݧ;ާ<ߧ=>?@ABCDEFGHIJKLMNO???????????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ٦٦?ڦڦ?ۦۦ?ܦܦ?ݦݦ?ަަ?ߦߦ????????????????????????????????????????????????????????!£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:ۣۣ?ܣܣ?ݣݣ?ޣޣ?ߣߣ??A£BãCģDţEƣFǣGȣHɣIʣJˣḲLͣMΣNϣOУPѣQңRӣSԣTգU֣VףWأX٣YڣZ??????%%%%%%%; 0!!!!0???????????" """""*")"¢¢?ââ?ĢĢ?ŢŢ?ƢƢ?ǢǢ?ȢȢ?ɢɢ?ʢʢ'"ˢˢ("̢̢͢͢!΢΢!ϢϢ"ТТ"ѢѢ?ҢҢ?ӢӢ?ԢԢ?բբ?֢֢?עע?آآ?٢٢?ڢڢ?ۢۢ?ܢܢ "ݢݢ"ޢޢ#ߢߢ""a"R"j"k""=""5"+","???????+!0 o&m&j& ! ????%?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¢âĢªЪҪѪԪتӪ򪰩Ω«éЫҫѫԫثӫ̩Щ󫧪©ĩǪǫŪūƪƫĪũƩȪȫɪɫǩʪʫ̪̫˪˫ɩȩͪͫϪϫΪΫʩ˩ת׫֪֫ͩ٪٫۪۫ڪګܪܫݪݫߪ߫ުޫ૯ϩêëժի§çħŧƧǧȧɧʧ˧̧ͧΧ°ðİŰưǰȰɰʰ˰̰ͰΰϰаѰҰӰ԰հְװذٰڰ۰ܰݰް߰±ñıűƱDZȱɱʱ˱̱ͱαϱбѱұӱԱձֱױرٱڱ۱ܱݱޱ߱²òIJŲѲƲDzȲɲʲ˲̲ͲβϲвҲӲԲղֲײزٲڲ۲ܲݲ޲߲³óijųƳdzȳɳʳ˳̳ͳγϳгѳҳӳԳճֳ׳سٳڳ۳ܳݳ޳߳´ôĴŴƴǴȴɴʴ˴̴ʹδϴдѴҴӴԴմִ״شٴڴ۴ܴݴ޴ߴµõĵŵƵǵȵɵʵ˵̵͵εϵеѵҵӵԵյֵ׵صٵڵ۵ܵݵ޵ߵ¶öĶŶƶǶȶɶʶ˶̶Ͷζ϶жѶҶӶԶնֶ׶ضٶڶ۶ܶݶ޶߶·÷ķŷƷǷȷɷʷ˷̷ͷηϷзѷҷӷԷշַ׷طٷڷ۷ܷݷ޷߷¸øĸŸƸǸȸɸʸ˸̸͸θиѸϸҸӸԸոָ׸ظٸڸ۸ܸݸ޸߸¹ùĹŹƹǹȹɹʹ˹̹͹ιϹйѹҹӹԹչֹ׹عٹڹ۹ܹݹ޹߹ºúĺźƺǺȺɺʺ˺̺ͺκϺкѺҺӺԺպֺ׺غٺںۺܺݺ޺ߺ»ûĻŻǻȻɻʻƻ˻̻ͻλϻлѻһӻ׻ջԻֻػٻڻۻܻݻ޻߻¼üļżƼǼȼɼʼ˼̼ͼμϼмҼѼӼԼռּ׼ؼټڼۼܼݼ޼߼½ýĽŽƽǽȽɽʽ˽̽ͽνϽнѽҽӽԽսֽ׽ؽٽڽ۽ܽݽ޽߽¾þľžƾǾȾɾʾ˾̾;ξϾоѾҾӾԾվ־׾ؾپھ۾ܾݾ޾߾¿ÿĿſƿǿȿɿʿ˿̿ͿοϿпѿҿӿԿտֿ׿ؿٿڿۿܿݿ޿߿£¤¥¨©ª­³¹º¼¾¿êïòóö÷ûþáĢħīĬĭįıijĴķĹļťŧũŬŭůźšƧƩƫƭƮƱƳƵƽǧǯǴǵǸǿȢȭȲȳȶȹȺȽɤɩɬɭɸɺɻɼɾʩʭʯʲʳʶʺˤ˩˫˰˳˶˿̴̵̢̣̩̭̮̯̰̱̲̳̹̻̿ͣͥͩͮͯͰͳ͹;Ϳ͡ΥΧΨΣΪίαβθλμξϧϨϮϰϱϸϿХЦЪЬабеикжѥѫѮѹѻѽѾѡҥҦҮҲҸӦӫӭӵӷӸӼӽӡԣԧԪԫԬԭԯ԰ԶԸԼԾգդեթժլկնպ֣֦֫֬־ףׯװײ׵׼׾أتجخدرصضغػ٥٦٧٫ٮٶٷٸٻٽپڢڤڦڨکګڵ渷ںڼڽھۣۥۧ۩۪۳۶۹ۺۻۼ۽۾ܧܨܩܭܻܼܾܲܡݢݣݨݪݬݰݱݲݵݶݷݸޢިީެޭ޴޵޹޺޾ޡߥߨ߫߭߱߹߽߿ߡ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~"!!    RSTUVWXYZ[\^_&2A?JRf'138B@IKSg  " $0*.(469=;CGEPLTXVZ\`^dblpjrnhtxvy}{   !%+/)57:><DHFQMUYW[]a_ecmqksoiuwz~|NNN NNN#N$N(N+N.N/N0N5N@NANDNGNQNZN\NcNhNiNtNuNyNNNNNNNNNNNNNNNNNNNNNNNOOOO O OOOOOO.O1O`O3O5O7O9O;O>O@OBOHOIOKOLOROTOVOXO_OcOjOlOnOqOwOxOyOzO}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPP P PPPPPPPPPP"P'P.P0P2P3P5P@PAPBPEPFPJPLPNPQPRPSPWPYP_P`PbPcPfPgPjPmPpPqP;PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQ Q Q QQPQQQQQQQ#Q'Q(Q,Q-Q/Q1Q3Q4Q5Q8Q9QBQJQOQSQUQWQXQ_QdQfQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRR"R(R1R2R5RSBSLSKSYS[SaScSeSlSmSrSyS~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTT!T'T(T*T/T1T4T5TCTDTGTMTOT^TbTdTfTgTiTkTmTnTtTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUU U U UUU*U+U2U5U6U;UW?WEWFWLWMWRWbWeWgWhWkWmWnWoWpWqWsWtWuWwWyWzW{W|W~WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXX XW X XXXX X&X'X-X2X9X?XIXLXMXOXPXUX_XaXdXgXhXxX|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYY Y YYYYAY!Y#Y$Y(Y/Y0Y3Y5Y6Y?YCYFYRYSYYY[Y]Y^Y_YaYcYkYmYoYrYuYvYyY{Y|YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z ZZZZZ#Z$Z'Z(Z*Z-Z0ZDZEZGZHZLZPZUZ^ZcZeZgZmZwZzZ{Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[4[[[[![%[-[8[A[K[L[R[V[^[h[n[o[|[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ \\\\#\&\)\+\,\.\0\2\5\6\Y\Z\\\b\c\g\h\i\m\p\t\u\z\{\|\}\\\\\\\\\\\\\\\\\\\\\\\\\\]] ]]+]#]$]&]']1]4]9]=]?]B]C]F]H]U]Q]Y]J]_]`]a]b]d]j]m]p]y]z]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^ ^^^^^^ ^.^(^2^5^>^K^P^I^Q^V^X^[^\^^^h^j^k^l^m^n^p^^^^^^^^^^^^^^^^^^^^^^^^^^^________!_"_#_$_(_+_,_._0_4_6_;_=_?_@_D_E_G_M_P_T_X_[_`_c_d_g_o_r_t_u_x_z_}_~_________________________________________` ` ```````$`-`3`5`@`G`H`I`L`Q`T`V`W`]`a`g`q`~```````````````````````````````````````````aa a aaaaaaaaaaa"a*a+a0a1a5a6a7a9aAaEaFaIa^a`alaraxa{a|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb b"b#b'b)b+b9b=bBbCbDbFbLbPbQbRbTbVbZb\bdbmbobsbzb}bbbbbbbbbbbbbbbbbbbbbbbcc c c ccccc)c*c-c5c6c9cgEgGgHgLgTgUg]gfglgngtgvg{gggggggggggggggggggggggggggggggggggRhhhhh(h'h,h-h/h0h1h3h;h?hDhEhJhLhUhWhXh[hkhnhohphqhrhuhyhzh{h|hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhi i iiiiii1i3i5i8i;iBiEiIiNiWi[icidieifihiiilipiqirizi{iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjj j$j(j0j2j4j7j;j>j?jEjFjIjJjNjPjQjRjUjVj[jdjgjjjqjsj~jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkk kkkkkkk$k(k+k,k/k5k6k;k?kFkJkMkRkVkXk]k`kgkkknkpkuk}k~kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklll l llllll&l'l(l,l.l3l5l6l:l;l?lJlKlMlOlRlTlYl[l\lklmloltlvlxlyl{lllllllllllllllllllllllllllllllllmm mmmmmm&m'm(mgl.m/m1m9mu?u@uCuGuHuNuPuRuWu^u_uauouquyuzu{u|u}u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvv v vvvvvvvvvvv#v%v&v)v-v2v3v5v8v9v:vwBwEwFwJwMwNwOwRwVwWw\w^w_w`wbwdwgwjwlwpwrwswtwzw}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxx x xxxx!x"x#x-x.x0x5x7xCxDxGxHxLxNxRx\x^x`xaxcxdxhxjxnxzx~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxy yyyyyy y%y'y)y-y1y4y5y;y=y?yDyEyFyJyKyOyQyTyXy[y\ygyiykyryyy{y|y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz z z zzzzz!z'z+z-z/z0z4z5z8z9z:zDzEzGzHzLzUzVzYz\z]z_z`zezgzjzmzuzxz~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{#{'{){*{+{-{.{/{0{1{4{={?{@{A{G{N{U{`{d{f{i{j{m{o{r{s{w{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||| | | ||||| |%|&|(|,|1|3|4|6|9|:|F|J|U|Q|R|S|Y|Z|[|\|]|^|a|c|g|i|m|n|p|r|y|||}||||||||||||||||||||||||||||||||}}} }}}}}}}}#}&}*}-}1}<}=}>}@}A}G}H}M}Q}S}W}Y}Z}\}]}e}g}j}p}x}z}{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~ ~'~(~,~-~/~3~6~?~D~E~G~N~P~R~X~_~a~b~e~k~n~o~s~x~~~~~~~~~~~~~~<;=>?CDGORS[\]acdefmq}~  $&,.04579:<>@D`dfmquȀ̀πҀԀՀ׀؀  $',05:@CEMX]adeoqr{ȇɇʇ·Շևهڇ܇߇ (-.025:@BEFIORWZ[\abcknpsuz{|}ԉՉ։׉؉ "$&+,/57=>@CEGIMNSVWX\]aeguvwyz{~ÊƊȊɊʊъӊԊՊ׊݊ߊ  -07EGIKOQSTWX[]Ycdfhimsuv{~ŌƌɌˌό֌Ռٌ݌ eilnōƍǍȍʍ΍эԍՍ׍ٍ  !"#&'136789=@AKMNOT[\]^abilmopqyz{ÎĎǎώюԎ܎ !#%'(,-.4567:@ACGOQRSTUX]^eƏʏˏ͏ЏҏӏՏ ()/*,-347?CDL[]bfglpty̐ÐĐŐǐȐՐאِؐܐݐߐҐ  %"#')./14679:<=CGHOSWYZ[adgmtyz{‘Ñőӑԑבّڑޑ #$%&(./035689:<>@BCFGJMNOQXY\]`aeghinopuvwxy{|}’ÒŒƒǒȒ˒̒͒ΒВӒՒגْؒܒݒߒ !$%')*3467GHIPQRUWXZ^degijmopqstvz}ēœƓǓɓʓ˓͓̓ӓٓܓޓߓ ./1234;?=CEHJLUY\_achkmnoqrxy~ƕȕɕ˕Еѕҕӕٕڕݕޕߕ"$%&,13789:<=ARTVWXant{|~ʖҖ]ؖږݖޖߖ !"#(13ACJNOUWXZ[cgjnsvwx{}ėŗǗɗʗ̗͗ΗЗїԗחؗٗݗޗۗ   #&+./0235%>DGJQRSVWYZbcefjl˜ŘȘ̘"&'+123459:;<@AFGHMNTXY[\^_`Ùəәԙٙڙܙޙ  "#$'-.3568GADJKLNQTV]ÚƚȚΚКҚ՚֚ךۚܚ  &+-34579:=HKLUVW[^acefhjklmnsuwxyǛțΛЛכ؛ݛߛ "#&'()*1567=ACDEIJNOPSTVX[]^_cij\khnpruw{ /0234:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~̢ޡߡ¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئѧҧӧԧէ֧ا٧ڧۧܧݧާߧק¡ơǡȡɡšġ͢΢ϢߢТࢺݡܢʢˢݢޢҡӡԡա֡סء١ڡ̡ۡ͡¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤ¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإ٥ڥۥܥݥޥߥ澰徼ɿЯФֵݴ缧е׵ø辫ел߸޸дед˶ļͿοصкЩƻŻ¿ʰоĶ˰ɲٵǻ̰ĻФ²ȻͰӽĸڼΰżźУĺ϶Ѣ˥ѪѯѱѰѸѷѺäѬʶ߱ƺ̼ѽڽÿѥŶѮѧнϿɻѰ޺ijѭò幢ңϥҪʭжҫұۼʲҶҽҤƿҽңҾȴ¨ƱҬѵҷ߿ޱ˵ڵǽñŸҡ«IJ¸˻ʻɵƳȵĥƾ̡޴۵Ƹ麱ɢȺӨӬӣӰ¶ӦӸӻӱӼӭʵı̻ŲӨ޲ųͻϰ޿Ǹ౤ԵߺԫѶԯԵԾŹɺпνλѿԼƲͰȽаԩԥաʺлϻȸѰխ̱ѻҰձոլղսDzűһڻɸسգ°ĸ¼ҵܵ˺㱬ȲɽƩաɲիܳͼխӰҿճƮƶܼԿȢɶưӻբ֡ȼ֨ٳֱߴְƮ岶ֻԽֳֽźʸ֦ҶԻջ¢־ʯָͩʹº˸ðέdzץɳצעש׫׮į׮ʵסбƶݵצʰ̸̹׳̺ɦƱ·קž۽Ƨ׫ֻ˻׻޵׭׳÷סؤע縪ٱǭ׬ذŮ԰ب״½ض漹ؼإؿհ򶦰²ص˷ŷְķƷةؿٺ٧͸꽨ͺٵٷٶͳٴٸŵٳٴȭ١þ¶ٴȳ糡٢ػİ٧úμٹƱݳ٫κ汼ŵǷ͹ȷǣɳͧڬڧŮڳںټڰٻھڿʯθߵڵɷغмԶ»ۻܻڹƶݻ̪ܽװDZսʷǶ˲Űû콤ʶȱҾǺĭۯĮ۰˥۷۶ɰຼݼ۫º̼۽ǿϵ̲޻ϸͲǿ˻Ƽɱ˳ʳϺ˷ưͶ˵ģܣūܽذۢ񳡸۰ɸܷܿȶݽǼ˶ܶܳڳܵݱ̵ܽ߳ܥݤݫݯͰ緡նݷݺݽֶβ߻к޽Ļݣݥ̳ʱݾݣϲ̡ޣ¾˱ͰƦ̱ި޴޳þձ޿ʽ߽޺Ѻľ½̷ޯެиžϾ޻¹ô߬ĩߧ߭´߷²߻߼깨ͽвť޼Һߺٰ߲ǾƾȾѼϽߤ߼̫ԺѸƹíͲýͳ̶Ѳ׶ͱĴɢɪŴӿʵųùô貶ڦڰνæͷ۰ֱ᾿ɾŤǴĹαױƴȹʾǴ⿿ֽ⺶պֺεܹ˾Źⷳγ̾Ҽ㷷˽;׺ضϵҲġٶӲƨʲξܰԲηƹϱϳ㦷Ͼ׽óȴо޳ڿڶղǧɴļʴζͽ䡴ѾҸǹϷȹ㽣Ӽɹ鵶ʢٺ¿Ҿзʹͼůѷ¹ݰ˹Ľ彰۶˴ްʼĽ̽ҷ̴ӷȯͱ沷ʹͷ͹Լ橼̹榿ϩӾδԸιϹ߰ոϮӵտɥйĢʣ¯ѹ˨˷ǽÿ籱罶˼ܴؽɮҹǿϴ秿ǼĿֲݷܶײѱزԷ§շӹٲдƵݶ۲Ծںڲָվ踳ü־ɼϢ駻ſƻȮݢ׸Եؼַ³ܲͳµԹѽұ׾չ޶Ӹۺؾ߶Ǫ뫸ǭгƿѴѳľ׷ֿ­پǿھ۾ӱط͵ϺܾظﻧݲõҴۿڱֹռٷĵݾ빮зɹ˾׹߲Ӵ쮵Ƚ쿻޾عϼҳ۱ٸȿּڷӳܺɿë׿޷ҽյ¤ʿͿᲡƣ㰨׼彭αȳԴټٹԳݿڹ߾ӺŽ˿óڸ۹ƽԱݹӶ⼣è⾪Ƽմ﫳״ִشճ޹ܱǰ߹¸ؿٴΫ¡ֳݺα۸̿׳ٿȰǵڴʺĢܿ۷ˬб۳ܳ鴲ܸһ±۴¶رٽöݯ䴵ʸ˭߷򲼩ܷеݸʡˡܡ䡩£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣΡϡСáѡ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~000 000@>?00000N0000  \0 \& %      00;=[]0 0 0 0 0 00000 "`"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0" """""*")"'"("!!"" ""#""a"R"j"k""=""5"+","+!0 o&m&j& ! %!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%NUZ?Ta(cY"uPz`c%nefh'Weqb[Y{b}}b|[^ cfHhǕOgN OMOOIPV7YYZ \`apafipOupuy}}ÀcUz;SNNWxNXn82z(/AQpSTTVY_m-bp TS[poS\zNx&nVUk;YSfmtBVNKO SU0[q_ ffh8ll)m[tvNz4[`풲muvř`iSQW0XDY[^(`cclopqYqq?s~vт`[iXeZl%uQ.YeY__be*j'kksV,Ğ\l{QK\aƁvharYNOxSi`)nOz NSNUO=OOsORS VYZ[[yfggLklkpsyykSkWl"ooEotuv wz{!|}6f̊Qeӗ(8N+T\]sLvT/Z__`hjZtxw^NɛN|OOPPIQlQRRRSSTTUQWW}YT[][[]]]x^^^^_R`Labbc;efCffmg!hhi_l*mim/nn2uvlx?z|}}^}}T*RLaʐuq?xMؚ;[RRSTXboj_KQ;RJTV@zw`ҞDs opu_`rdkNVdWXZZh`aff9hhmu:}nBNPOSUo]]]glstxP߈PW^+cPPQgT^XY[i_Mbc=hskn}pǑrx&xmye0}܃ dR(WPgjQBW*:XiT]Wx\OJRT>d(fggzV{"}/\h9{SQ7R[bdd-gkіv֛LcvRf NPSq\`dce_hqs#u{~یxefkNN:OO:RSSUVXYYYP[M\^+^_`c/e\[eeegbk{klEsIyy|}+}󁖉^ifnj܌̖okNrtux:y 3ꁔPl_X+z[NSW1YZ[`nouꌟ[{rPga\J~Q\hcfenq>y}ʎndžPR:\Sg|p5rLȑ+[1_`;NS[Kb1gkrs.zkRQSjT[c9j}VShT[1\]Oab2myyB}M~Frt/1KlƖNOOEQAS_bgAl ncs&~͑SY[m]y.~|~XqQSO\%fwzQ_eoikmndov}]uQR@bffn^}rfRSsY^_U`dPQR SGSSTFU1UVhYY~ d_xRbcBdb-z{v} INHQCS`S[\\]&bGbdh4hlEmmg\oNq}qez{}J~z9nΌxwMRU8o6qhQyU~|LVQX\cffZiruuyVyy| }D}4;a PuRSS PUXOY=r[d\S``\cc?ccdef]iioqNuvz|}}aIXlňpmPXaӁ5 OtPGRsSo`Ic_g,nO^\ʌe}RSvQcX[k[ \ dQg\NY*YplQ>UXY`Sbg5Ui@ę(SOX[\/^_ `Ka4bfln΀Ԃ.۞ۛNS'Y,{Ln'pSSDU[Xbbblo"t8o8QSSFOTjY1]zh7rH=j9NXSVfWbceNkm[npwz{}=ƀˆ[VX>_efjk7uNJ$Pw0W_e`zf`luznE{\uzQ{Ąyz6Z@w-NN[_bm6t4xFZuO^bcWeogvLr̀)M PWZhsidqrXjyw)/OeRZSbgl}v{|6f or~Q{rx{H{ja^Qu`ukQbnzvOpbO{zVYX䆼4O$RJSSS^,deg>lNlHrrsTuA~,酩{Ƒiq=cifjuvxC*SQS&TY^|_`Ibybbekluvxy}w^ۘ j8|P>\_gk5t w;gz9Suf_񃘀<__buF{ee gllp2x+~ހ *JҒlONNPVRJWY=^__?bfgghQ!}~2 T,SP\SXd4ggrfwFzRlkXL^TY,gQvidxTWY'fgkTiU^ggR]hNOSb+glďOm~Nban+osT*gE]{\[JnфzY|l wR"Y!q_rw'a iZZQ T}TfvY]rnMQh}}bxd!jY_[ksv}2Q(gٞvbgR$\;b~|OU` }S_NQY:r6Α%_wSy_}3VgS aalRv8/UQO*QRS[}^`ac gggnm6s7s1uPyՈJĖYNYON?P|^Y[^ccdfJii mnq(uzIɄ! e} ~ab2kltmmeg<ma}=jqNuSP]koͅ-)RTe\Nghttuψ̑x_szNceuRAmn tYukx|zOnae\NNP!NQ[ehmsBvwz|oҊ|ϑuR}+PSgmq3t*W`tAXm/}^N6OOQR]`s|}o#,BTojpŒ2RAZ^_g|iijmobrr{~KΐmQy2֊-PTqjkČ`gNNkhi~nxU _NN*N1N6NYzUYPYNYZYXYbY`YgYlYiYxYYY^OOYYYYYYYY%ZZZZ ZZ@ZlZIZ5Z6ZbZjZZZZZZZZZZZZZZ [ [[2[Z*[6[>[C[E[@[Q[U[Z[[[e[i[p[s[u[x[ez[[[[[[[[[[[[[[[[[[[\\\ \\ \"\(\8\9\A\F\N\S\P\O\q[l\n\bNv\y\\\\Y\\\\\\\\\\\\\]\ ]]]\]]]]]"]]]]L]R]N]K]l]s]v]]]]]]]]]]]]]]]]]]]]] ^^^^^6^7^D^C^@^N^W^T^_^b^d^G^u^v^z^^^^^^^^^^^^^^^^^^^^^^^^_ _]_\_ ___)_-_8_A_H_L_N_/_Q_V_W_Y_a_m_s_w_____________________`_!`````)``1```+`&``:`Z`A`j`w`_`J`F`M`c`C`d`B`l`k`Y``````````````````_````Maaa``a``a!a`` aaGa>a(a'aJa?acMcdOcccccvcccccckciccccccccccd4ddd&d6ded(ddgdodvdNd*eddddddddddddddd ddbdd,eddddedeee$e#e+e4e5e7e6e8eKuHeVeUeMeXe^e]erexeeeeeeeeeeeeeeeeeerg ffesg5f6f4ffOfDfIfAf^f]fdfgfhf_fbfpffffffffffffffffff?ffffffggg&g'g8.g?g6gAg8g7gFg^g`gYgcgdggpgg|gjggggggggggggggggggggggjhFh)h@hMh2hNhh+hYhchwhhhhhhhhhjhthhhhih~hihih"i&ih ihhhh6iiihh%ihhh(i*ii#i!ihyiwi\ixikiTi~ini9iti=iYi0iai^i]iijiiiiiiiii[iiiii.jiiiiiiijji kiiijijiji jjj#jjDj jrj6jxjGjbjYjfjHj8j"jjjjjjjjjjjjjjjjjjjjjkjkk1k8k7kv9kGkCkIkPkYkTk[k_kakxkykkkkkkkkkkkkkkkkkkkkkkkkkkllll$l#l^lUlbljllllll~lhlsllllllllllllllllllmM6m+m=m8mm5m3mm mcmmdmZmymYmmmommn nmmmmmmmmmmmmmmmmm-nnn.nnrn_n>n#nkn+nvnMnnCn:nNn$nnn8nnnnnnnnnnnnnnnnnAooLpnnn?on1on2on>oonozoxooooo[oomoo|oXoooofoooooooooooooooo p popppopptoppp0p>p2pQpcppppppppppppp qpqqeqUqqfqbqLqVqlqqqqqqqqqqqqqqqqqqqqq rrr(r-r,r0r2r;rsNsOs؞Wsjshspsxsus{szsssssssssttot%ts2t:tUt?t_tYtAt\titptctjtvt~tttttttsttttttttttuuu uu uuuu&u,uz7zCzWzIzazbzizpzyz}zzzzzzzzzzzzzzzzzzzzzzzzzzz{{ {{3{{{{5{({6{P{z{{M{ {L{E{u{e{t{g{p{q{l{n{{{{{{{{{{]{{{{{{{{{{||{{`||||{{| |{#|'|*||7|+|=|L|C|T|O|@|P|X|_|d|V|e|l|u||||||||||||||||||||||;|||||}}}} }E}K}.}2}?}5}F}s}V}N}r}h}n}O}c}}}[}}}}}}}}}}}}=~}}}}}}}}}}}}}~ ~#~!~~1~~ ~ ~"~F~f~;~5~9~C~7~2~:~g~]~V~^~Y~Z~y~j~i~|~{~~}}~~~~~~~~~~~~~8:ELMNPQUTX_`higxqܘ !(?;JFRXZ_bhsrpvy}Qۀـ݀Āڀր )#/KF>SQqneft_Ɂ́сف؁ȁځ߁ )+83@YX]Z_dbhjk.qwx~߂҂ނ܂ ق5421@9PE/+#|su΃؃  " 8m*(ALONIV[Zk_lot}:A?HLNPUblxz|bȌڌ  N͌gmqsύڍ֍̍ۍˍߍ B504JGILPHYd`*cUvr|ƎŎȎˎێ  &3;9EB>LIFNW\bcdڏ!  '659OPQRI>VX^hovr}Hbې20JVXceisrɑˑБ֑ߑۑ,^WEIdH?KPZϒD."#:5;\`|nV֓דؓÓݓГȓ6+5!:ARD[`b^j)puw}Z|~ʕoÕ͕̕Օԕ֕ܕ!(./BLOKw\^]_frlΖ˖ɖ͖Mܖ Ֆ$*09=>DFHBI\`dfhRkqy|z×Ɨȗ˗ܗOz 8$!7=FOKkopqtsĘØƘ !$ ,.=>BIEPKQRLUߙۙݙؙљ+7EB@C>UM[W_bedikjϚњӚԚޚߚ"#%'()*./2DCOMNQXtʛƛϛћқԛ:   .%$!0G2F>Z`gvx *&#DA?>FH]^dQPYrozĝƝϝٝӝuy}a̞ΞϞОԞܞޞݞv!,>JRTc_`afgljwrv/XiYdtQq  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H eucjpmseucjpms_bineucjpms_japanese_ci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¢ĢªЪҪѪԪتӪ򪰩Ω«éЫҫѫԫثӫ̩Щ󫧪©ĩǪǫŪūƪƫĪũƩȪȫɪɫǩʪʫ̪̫˪˫ɩȩͪͫϪϫΪΫʩ˩ת׫֪֫ͩ٪٫۪۫ڪګܪܫݪݫߪ߫ުޫ૯ϩêëժի§çħŧƧǧȧɧʧ˧̧ͧΧ°ðİŰưǰȰɰʰ˰̰ͰΰϰаѰҰӰ԰հְװذٰڰ۰ܰݰް߰±ñıűƱDZȱɱʱ˱̱ͱαϱбѱұӱԱձֱױرٱڱ۱ܱݱޱ߱²òIJŲѲƲDzȲɲʲ˲̲ͲβϲвҲӲԲղֲײزٲڲ۲ܲݲ޲߲³óijųƳdzȳɳʳ˳̳ͳγϳгѳҳӳԳճֳ׳سٳڳ۳ܳݳ޳߳´ôĴŴƴǴȴɴʴ˴̴ʹδϴдѴҴӴԴմִ״شٴڴ۴ܴݴ޴ߴµõĵŵƵǵȵɵʵ˵̵͵εϵеѵҵӵԵյֵ׵صٵڵ۵ܵݵ޵ߵ¶öĶŶƶǶȶɶʶ˶̶Ͷζ϶жѶҶӶԶնֶ׶ضٶڶ۶ܶݶ޶߶·÷ķŷƷǷȷɷʷ˷̷ͷηϷзѷҷӷԷշַ׷طٷڷ۷ܷݷ޷߷¸øĸŸƸǸȸɸʸ˸̸͸θиѸϸҸӸԸոָ׸ظٸڸ۸ܸݸ޸߸¹ùĹŹƹǹȹɹʹ˹̹͹ιϹйѹҹӹԹչֹ׹عٹڹ۹ܹݹ޹߹ºúĺźƺǺȺɺʺ˺̺ͺκϺкѺҺӺԺպֺ׺غٺںۺܺݺ޺ߺ»ûĻŻǻȻɻʻƻ˻̻ͻλϻлѻһӻ׻ջԻֻػٻڻۻܻݻ޻߻¼üļżƼǼȼɼʼ˼̼ͼμϼмҼѼӼԼռּ׼ؼټڼۼܼݼ޼߼½ýĽŽƽǽȽɽʽ˽̽ͽνϽнѽҽӽԽսֽ׽ؽٽڽ۽ܽݽ޽߽¾þľžƾǾȾɾʾ˾̾;ξϾоѾҾӾԾվ־׾ؾپھ۾ܾݾ޾߾¿ÿĿſƿǿȿɿʿ˿̿ͿοϿпѿҿӿԿտֿ׿ؿٿڿۿܿݿ޿߿£¤¥¨©ª­³¹º¼¾¿êïòóö÷ûþáĢħīĬĭįıijĴķĹļťŧũŬŭůźšƧƩƫƭƮƱƳƵƽǧǯǴǵǸǿȢȭȲȳȶȹȺȽɤɩɬɭɸɺɻɼɾʩʭʯʲʳʶʺˤ˩˫˰˳˶˿̴̵̢̣̩̭̮̯̰̱̲̳̹̻̿ͣͥͩͮͯͰͳ͹;Ϳ͡ΥΧΨΣΪίαβθλμξϧϨϮϰϱϸϿХЦЪЬабеикжѥѫѮѹѻѽѾѡҥҦҮҲҸӦӫӭӵӷӸӼӽӡԣԧԪԫԬԭԯ԰ԶԸԼԾգդեթժլկնպ֣֦֫֬־ףׯװײ׵׼׾أتجخدرصضغػ٥٦٧٫ٮٶٷٸٻٽپڢڤڦڨکګڵ渷ںڼڽھۣۥۧ۩۪۳۶۹ۺۻۼ۽۾ܧܨܩܭܻܼܾܲܡݢݣݨݪݬݰݱݲݵݶݷݸޢިީެޭ޴޵޹޺޾ޡߥߨ߫߭߱߹߽߿ߡâ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^"!!    RSTUVWXYZ[\^_&2A?JRf'138B@IKSg  " $0*.(469=;CGEPLTXVZ\`^dblpjrnhtxvy}{   !%+/)57:><DHFQMUYW[]a_ecmqksoiuwz~|NNN NNN#N$N(N+N.N/N0N5N@NANDNGNQNZN\NcNhNiNtNuNyNNNNNNNNNNNNNNNNNNNNNNNOOOO O OOOOOO.O1O`O3O5O7O9O;O>O@OBOHOIOKOLOROTOVOXO_OcOjOlOnOqOwOxOyOzO}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPP P PPPPPPPPPP"P'P.P0P2P3P5P@PAPBPEPFPJPLPNPQPRPSPWPYP_P`PbPcPfPgPjPmPpPqP;PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQ Q Q QQPQQQQQQQ#Q'Q(Q,Q-Q/Q1Q3Q4Q5Q8Q9QBQJQOQSQUQWQXQ_QdQfQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRR"R(R1R2R5RSBSLSKSYS[SaScSeSlSmSrSyS~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTT!T'T(T*T/T1T4T5TCTDTGTMTOT^TbTdTfTgTiTkTmTnTtTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUU U U UUU*U+U2U5U6U;UW?WEWFWLWMWRWbWeWgWhWkWmWnWoWpWqWsWtWuWwWyWzW{W|W~WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXX XW X XXXX X&X'X-X2X9X?XIXLXMXOXPXUX_XaXdXgXhXxX|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYY Y YYYYAY!Y#Y$Y(Y/Y0Y3Y5Y6Y?YCYFYRYSYYY[Y]Y^Y_YaYcYkYmYoYrYuYvYyY{Y|YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z ZZZZZ#Z$Z'Z(Z*Z-Z0ZDZEZGZHZLZPZUZ^ZcZeZgZmZwZzZ{Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[4[[[[![%[-[8[A[K[L[R[V[^[h[n[o[|[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ \\\\#\&\)\+\,\.\0\2\5\6\Y\Z\\\b\c\g\h\i\m\p\t\u\z\{\|\}\\\\\\\\\\\\\\\\\\\\\\\\\\]] ]]+]#]$]&]']1]4]9]=]?]B]C]F]H]U]Q]Y]J]_]`]a]b]d]j]m]p]y]z]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^ ^^^^^^ ^.^(^2^5^>^K^P^I^Q^V^X^[^\^^^h^j^k^l^m^n^p^^^^^^^^^^^^^^^^^^^^^^^^^^^________!_"_#_$_(_+_,_._0_4_6_;_=_?_@_D_E_G_M_P_T_X_[_`_c_d_g_o_r_t_u_x_z_}_~_________________________________________` ` ```````$`-`3`5`@`G`H`I`L`Q`T`V`W`]`a`g`q`~```````````````````````````````````````````aa a aaaaaaaaaaa"a*a+a0a1a5a6a7a9aAaEaFaIa^a`alaraxa{a|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb b"b#b'b)b+b9b=bBbCbDbFbLbPbQbRbTbVbZb\bdbmbobsbzb}bbbbbbbbbbbbbbbbbbbbbbbcc c c ccccc)c*c-c5c6c9cgEgGgHgLgTgUg]gfglgngtgvg{gggggggggggggggggggggggggggggggggggRhhhhh(h'h,h-h/h0h1h3h;h?hDhEhJhLhUhWhXh[hkhnhohphqhrhuhyhzh{h|hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhi i iiiiii1i3i5i8i;iBiEiIiNiWi[icidieifihiiilipiqirizi{iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjj j$j(j0j2j4j7j;j>j?jEjFjIjJjNjPjQjRjUjVj[jdjgjjjqjsj~jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkk kkkkkkk$k(k+k,k/k5k6k;k?kFkJkMkRkVkXk]k`kgkkknkpkuk}k~kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklll l llllll&l'l(l,l.l3l5l6l:l;l?lJlKlMlOlRlTlYl[l\lklmloltlvlxlyl{lllllllllllllllllllllllllllllllllmm mmmmmm&m'm(mgl.m/m1m9mu?u@uCuGuHuNuPuRuWu^u_uauouquyuzu{u|u}u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvv v vvvvvvvvvvv#v%v&v)v-v2v3v5v8v9v:vwBwEwFwJwMwNwOwRwVwWw\w^w_w`wbwdwgwjwlwpwrwswtwzw}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxx x xxxx!x"x#x-x.x0x5x7xCxDxGxHxLxNxRx\x^x`xaxcxdxhxjxnxzx~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxy yyyyyy y%y'y)y-y1y4y5y;y=y?yDyEyFyJyKyOyQyTyXy[y\ygyiykyryyy{y|y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz z z zzzzz!z'z+z-z/z0z4z5z8z9z:zDzEzGzHzLzUzVzYz\z]z_z`zezgzjzmzuzxz~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{#{'{){*{+{-{.{/{0{1{4{={?{@{A{G{N{U{`{d{f{i{j{m{o{r{s{w{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||| | | ||||| |%|&|(|,|1|3|4|6|9|:|F|J|U|Q|R|S|Y|Z|[|\|]|^|a|c|g|i|m|n|p|r|y|||}||||||||||||||||||||||||||||||||}}} }}}}}}}}#}&}*}-}1}<}=}>}@}A}G}H}M}Q}S}W}Y}Z}\}]}e}g}j}p}x}z}{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~ ~'~(~,~-~/~3~6~?~D~E~G~N~P~R~X~_~a~b~e~k~n~o~s~x~~~~~~~~~~~~~~<;=>?CDGORS[\]acdefmq}~  $&,.04579:<>@D`dfmquȀ̀πҀԀՀ׀؀  $',05:@CEMX]adeoqr{ȇɇʇ·Շևهڇ܇߇ (-.025:@BEFIORWZ[\abcknpsuz{|}ԉՉ։׉؉ "$&+,/57=>@CEGIMNSVWX\]aeguvwyz{~ÊƊȊɊʊъӊԊՊ׊݊ߊ  -07EGIKOQSTWX[]Ycdfhimsuv{~ŌƌɌˌό֌Ռٌ݌ eilnōƍǍȍʍ΍эԍՍ׍ٍ  !"#&'136789=@AKMNOT[\]^abilmopqyz{ÎĎǎώюԎ܎ !#%'(,-.4567:@ACGOQRSTUX]^eƏʏˏ͏ЏҏӏՏ ()/*,-347?CDL[]bfglpty̐ÐĐŐǐȐՐאِؐܐݐߐҐ  %"#')./14679:<=CGHOSWYZ[adgmtyz{‘Ñőӑԑבّڑޑ #$%&(./035689:<>@BCFGJMNOQXY\]`aeghinopuvwxy{|}’ÒŒƒǒȒ˒̒͒ΒВӒՒגْؒܒݒߒ !$%')*3467GHIPQRUWXZ^degijmopqstvz}ēœƓǓɓʓ˓͓̓ӓٓܓޓߓ ./1234;?=CEHJLUY\_achkmnoqrxy~ƕȕɕ˕Еѕҕӕٕڕݕޕߕ"$%&,13789:<=ARTVWXant{|~ʖҖ]ؖږݖޖߖ !"#(13ACJNOUWXZ[cgjnsvwx{}ėŗǗɗʗ̗͗ΗЗїԗחؗٗݗޗۗ   #&+./0235%>DGJQRSVWYZbcefjl˜ŘȘ̘"&'+123459:;<@AFGHMNTXY[\^_`Ùəәԙٙڙܙޙ  "#$'-.3568GADJKLNQTV]ÚƚȚΚКҚ՚֚ךۚܚ  &+-34579:=HKLUVW[^acefhjklmnsuwxyǛțΛЛכ؛ݛߛ "#&'()*1567=ACDEIJNOPSTVX[]^_cij\khnpruw{ /0234:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ޡߡ¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئѧҧӧԧէ֧ا٧ڧۧܧݧާߧקơǡȡɡšġ͢΢ϢߢТࢺܢ¡ʢˢݢޢҡӡԡա֡סء١ڡ̡ۡ͡¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤ¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإ٥ڥۥܥݥޥߥƭʭĭ­̭˭ŭͭǭϭέíȭɭ߭ӭԭЭѭҭ֭խ澰徼ɿЯФֵݴ缧е׵ø辫ел߸޸дед˶ļͿοصкЩƻŻ¿ʰоĶ˰ɲٵǻ̰ĻФ²ȻͰӽĸڼΰżźУĺ϶Ѣ˥ѪѯѱѰѸѷѺäѬʶ߱ƺ̼ѽڽÿѥŶѮѧнϿɻѰ޺ijѭò幢ңϥҪʭжҫұۼʲҶҽҤƿҽңҾȴ¨ƱҬѵҷ߿ޱ˵ڵǽñŸҡ«IJ¸˻ʻɵƳȵĥƾ̡޴۵Ƹ麱ɢȺӨӬӣӰ¶ӦӸӻӱӼӭʵı̻ŲӨ޲ųͻϰ޿Ǹ౤ԵߺԫѶԯԵԾŹɺпνλѿԼƲͰȽаԩԥաʺлϻȸѰխ̱ѻҰձոլղսDzűһڻɸسգ°ĸ¼ҵܵ˺㱬ȲɽƩաɲիܳͼխӰҿճƮƶܼԿȢɶưӻբ֡ȼ֨ٳֱߴְƮ岶ֻԽֳֽźʸ֦ҶԻջ¢־ʯָͩʹº˸ðέdzץɳצעש׫׮į׮ʵסбƶݵצʰ̸̹׳̺ɦƱ·קž۽Ƨ׫ֻ˻׻޵׭׳÷סؤע縪ٱǭ׬ذŮ԰ب״½ض漹ؼإؿհ򶦰²ص˷ŷְķƷةؿٺ٧͸꽨ͺٵٷٶͳٴٸŵٳٴȭ١þ¶ٴȳ糡٢ػİ٧úμٹƱݳ٫κ汼ŵǷ͹ȷǣɳͧڬڧŮڳںټڰٻھڿʯθߵڵɷغмԶ»ۻܻڹƶݻ̪ܽװDZսʷǶ˲Űû콤ʶȱҾǺĭۯĮ۰˥۷۶ɰຼݼ۫º̼۽ǿϵ̲޻ϸͲǿ˻Ƽɱ˳ʳϺ˷ưͶ˵ģܣūܽذۢ񳡸۰ɸܷܿȶݽǼ˶ܶܳڳܵݱ̵ܽ߳ܥݤݫݯͰ緡նݷݺݽֶβ߻к޽Ļݣݥ̳ʱݾݣϲ̡ޣ¾˱ͰƦ̱ި޴޳þձ޿ʽ߽޺Ѻľ½̷ޯެиžϾ޻¹ô߬ĩߧ߭´߷²߻߼깨ͽвť޼Һߺٰ߲ǾƾȾѼϽߤ߼̫ԺѸƹíͲýͳ̶Ѳ׶ͱĴɢɪŴӿʵųùô貶ڦڰνæͷ۰ֱ᾿ɾŤǴĹαױƴȹʾǴ⿿ֽ⺶պֺεܹ˾Źⷳγ̾Ҽ㷷˽;׺ضϵҲġٶӲƨʲξܰԲηƹϱϳ㦷Ͼ׽óȴо޳ڿڶղǧɴļʴζͽ䡴ѾҸǹϷȹ㽣Ӽɹ鵶ʢٺ¿Ҿзʹͼůѷ¹ݰ˹Ľ彰۶˴ްʼĽ̽ҷ̴ӷȯͱ沷ʹͷ͹Լ橼̹榿ϩӾδԸιϹ߰ոϮӵտɥйĢʣ¯ѹ˨˷ǽÿ籱罶˼ܴؽɮҹǿϴ秿ǼĿֲݷܶײѱزԷ§շӹٲдƵݶ۲Ծںڲָվ踳ü־ɼϢ駻ſƻȮݢ׸Եؼַ³ܲͳµԹѽұ׾չ޶Ӹۺؾ߶Ǫ뫸ǭгƿѴѳľ׷ֿ­پǿھ۾ӱط͵ϺܾظﻧݲõҴۿڱֹռٷĵݾ빮зɹ˾׹߲Ӵ쮵Ƚ쿻޾عϼҳ۱ٸȿּڷӳܺɿë׿޷ҽյ¤ʿͿᲡƣ㰨׼彭αȳԴټٹԳݿڹ߾ӺŽ˿óڸ۹ƽԱݹӶ⼣è⾪Ƽմ﫳״ִشճ޹ܱǰ߹¸ؿٴΫ¡ֳݺα۸̿׳ٿȰǵڴʺĢܿ۷ˬб۳ܳ鴲ܸһ±۴¶رٽöݯ䴵ʸ˭߷򲼩ܷеݸʡˡܡݡ䡩£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣΡϡСáѡ̢  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~000 000@>?00000N0000  <^%"\& %      00;=[]0 0 0 0 0 00000 `"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0" """""*")"'"("!!"" ""#""a"R"j"k""=""5"+","+!0 o&m&j& ! %!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$`!a!b!c!d!e!f!g!h!i!I33"3M33'3363Q3W3 3&3#3+3J3;33333333{300!3!!22222122292~3}3|3R"a"+"."""" """5")"*"NUZ?Ta(cY"uPz`c%nefh'Weqb[Y{b}}b|[^ cfHhǕOgN OMOOIPV7YYZ \`apafipOupuy}}ÀcUz;SNNWxNXn82z(/AQpSTTVY_m-bp TS[poS\zNx&nVUk;YSfmtBVNKO SU0[q_ ffh8ll)m[tvNz4[`풲muvř`iSQW0XDY[^(`cclopqYqq?s~vт`[iXeZl%uQ.YeY__be*j'kksV,Ğ\l{QK\aƁvharYNOxSi`)nOz NSNUO=OOsORS VYZ[[yfggLklkpsyykSkWl"ooEotuv wz{!|}6f̊Qeӗ(8N+T\]sLvT/Z__`hjZtxw^NɛN|OOPPIQlQRRRSSTTUQWW}YT[][[]]]x^^^^_R`Labbc;efCffmg!hhi_l*mim/nn2uvlx?z|}}^}}T*RLaʐuq?xMؚ;[RRSTXboj_KQ;RJTV@zw`ҞDs opu_`rdkNVdWXZZh`aff9hhmu:}nBNPOSUo]]]glstxP߈PW^+cPPQgT^XY[i_Mbc=hskn}pǑrx&xmye0}܃ dR(WPgjQBW*:XiT]Wx\OJRT>d(fggzV{"}/\h9{SQ7R[bdd-gkіv֛LcvRf NPSq\`dce_hqs#u{~یxefkNN:OO:RSSUVXYYYP[M\^+^_`c/e\[eeegbk{klEsIyy|}+}󁖉^ifnj܌̖okNrtux:y 3ꁔPl_X+z[NSW1YZ[`nouꌟ[{rPga\J~Q\hcfenq>y}ʎndžPR:\Sg|p5rLȑ+[1_`;NS[Kb1gkrs.zkRQSjT[c9j}VShT[1\]Oab2myyB}M~Frt/1KlƖNOOEQAS_bgAl ncs&~͑SY[m]y.~|~XqQSO\%fwzQ_eoikmndov}]uQR@bffn^}rfRSsY^_U`dPQR SGSSTFU1UVhYY~ d_xRbcBdb-z{v} INHQCS`S[\\]&bGbdh4hlEmmg\oNq}qez{}J~z9nΌxwMRU8o6qhQyU~|LVQX\cffZiruuyVyy| }D}4;a PuRSS PUXOY=r[d\S``\cc?ccdef]iioqNuvz|}}aIXlňpmPXaӁ5 OtPGRsSo`Ic_g,nO^\ʌe}RSvQcX[k[ \ dQg\NY*YplQ>UXY`Sbg5Ui@ę(SOX[\/^_ `Ka4bfln΀Ԃ.۞ۛNS'Y,{Ln'pSSDU[Xbbblo"t8o8QSSFOTjY1]zh7rH=j9NXSVfWbceNkm[npwz{}=ƀˆ[VX>_efjk7uNJ$Pw0W_e`zf`luznE{\uzQ{Ąyz6Z@w-NN[_bm6t4xFZuO^bcWeogvLr̀)M PWZhsidqrXjyw)/OeRZSbgl}v{|6f or~Q{rx{H{ja^Qu`ukQbnzvOpbO{zVYX䆼4O$RJSSS^,deg>lNlHrrsTuA~,酩{Ƒiq=cifjuvxC*SQS&TY^|_`Ibybbekluvxy}w^ۘ j8|P>\_gk5t w;gz9Suf_񃘀<__buF{ee gllp2x+~ހ *JҒlONNPVRJWY=^__?bfgghQ!}~2 T,SP\SXd4ggrfwFzRlkXL^TY,gQvidxTWY'fgkTiU^ggR]hNOSb+glďOm~Nban+osT*gE]{\[JnфzY|l wR"Y!q_rw'a iZZQ T}TfvY]rnMQh}}bxd!jY_[ksv}2Q(gٞvbgR$\;b~|OU` }S_NQY:r6Α%_wSy_}3VgS aalRv8/UQO*QRS[}^`ac gggnm6s7s1uPyՈJĖYNYON?P|^Y[^ccdfJii mnq(uzIɄ! e} ~ab2kltmmeg<ma}=jqNuSP]koͅ-)RTe\Nghttuψ̑x_szNceuRAmn tYukx|zOnae\NNP!NQ[ehmsBvwz|oҊ|ϑuR}+PSgmq3t*W`tAXm/}^N6OOQR]`s|}o#,BTojpŒ2RAZ^_g|iijmobrr{~KΐmQy2֊-PTqjkČ`gNNkhi~nxU _NN*N1N6NYzUYPYNYZYXYbY`YgYlYiYxYYY^OOYYYYYYYY%ZZZZ ZZ@ZlZIZ5Z6ZbZjZZZZZZZZZZZZZZ [ [[2[Z*[6[>[C[E[@[Q[U[Z[[[e[i[p[s[u[x[ez[[[[[[[[[[[[[[[[[[[\\\ \\ \"\(\8\9\A\F\N\S\P\O\q[l\n\bNv\y\\\\Y\\\\\\\\\\\\\]\ ]]]\]]]]]"]]]]L]R]N]K]l]s]v]]]]]]]]]]]]]]]]]]]]] ^^^^^6^7^D^C^@^N^W^T^_^b^d^G^u^v^z^^^^^^^^^^^^^^^^^^^^^^^^_ _]_\_ ___)_-_8_A_H_L_N_/_Q_V_W_Y_a_m_s_w_____________________`_!`````)``1```+`&``:`Z`A`j`w`_`J`F`M`c`C`d`B`l`k`Y``````````````````_````Maaa``a``a!a`` aaGa>a(a'aJa?acMcdOcccccvcccccckciccccccccccd4ddd&d6ded(ddgdodvdNd*eddddddddddddddd ddbdd,eddddedeee$e#e+e4e5e7e6e8eKuHeVeUeMeXe^e]erexeeeeeeeeeeeeeeeeeerg ffesg5f6f4ffOfDfIfAf^f]fdfgfhf_fbfpffffffffffffffffff?ffffffggg&g'g8.g?g6gAg8g7gFg^g`gYgcgdggpgg|gjggggggggggggggggggggggjhFh)h@hMh2hNhh+hYhchwhhhhhhhhhjhthhhhih~hihih"i&ih ihhhh6iiihh%ihhh(i*ii#i!ihyiwi\ixikiTi~ini9iti=iYi0iai^i]iijiiiiiiiii[iiiii.jiiiiiiijji kiiijijiji jjj#jjDj jrj6jxjGjbjYjfjHj8j"jjjjjjjjjjjjjjjjjjjjjkjkk1k8k7kv9kGkCkIkPkYkTk[k_kakxkykkkkkkkkkkkkkkkkkkkkkkkkkkllll$l#l^lUlbljllllll~lhlsllllllllllllllllllmM6m+m=m8mm5m3mm mcmmdmZmymYmmmommn nmmmmmmmmmmmmmmmmm-nnn.nnrn_n>n#nkn+nvnMnnCn:nNn$nnn8nnnnnnnnnnnnnnnnnAooLpnnn?on1on2on>oonozoxooooo[oomoo|oXoooofoooooooooooooooo p popppopptoppp0p>p2pQpcppppppppppppp qpqqeqUqqfqbqLqVqlqqqqqqqqqqqqqqqqqqqqq rrr(r-r,r0r2r;rsNsOs؞Wsjshspsxsus{szsssssssssttot%ts2t:tUt?t_tYtAt\titptctjtvt~tttttttsttttttttttuuu uu uuuu&u,uz7zCzWzIzazbzizpzyz}zzzzzzzzzzzzzzzzzzzzzzzzzzz{{ {{3{{{{5{({6{P{z{{M{ {L{E{u{e{t{g{p{q{l{n{{{{{{{{{{]{{{{{{{{{{||{{`||||{{| |{#|'|*||7|+|=|L|C|T|O|@|P|X|_|d|V|e|l|u||||||||||||||||||||||;|||||}}}} }E}K}.}2}?}5}F}s}V}N}r}h}n}O}c}}}[}}}}}}}}}}}}=~}}}}}}}}}}}}}~ ~#~!~~1~~ ~ ~"~F~f~;~5~9~C~7~2~:~g~]~V~^~Y~Z~y~j~i~|~{~~}}~~~~~~~~~~~~~8:ELMNPQUTX_`higxqܘ !(?;JFRXZ_bhsrpvy}Qۀـ݀Āڀր )#/KF>SQqneft_Ɂ́сف؁ȁځ߁ )+83@YX]Z_dbhjk.qwx~߂҂ނ܂ ق5421@9PE/+#|su΃؃  " 8m*(ALONIV[Zk_lot}:A?HLNPUblxz|bȌڌ  N͌gmqsύڍ֍̍ۍˍߍ B504JGILPHYd`*cUvr|ƎŎȎˎێ  &3;9EB>LIFNW\bcdڏ!  '659OPQRI>VX^hovr}Hbې20JVXceisrɑˑБ֑ߑۑ,^WEIdH?KPZϒD."#:5;\`|nV֓דؓÓݓГȓ6+5!:ARD[`b^j)puw}Z|~ʕoÕ͕̕Օԕ֕ܕ!(./BLOKw\^]_frlΖ˖ɖ͖Mܖ Ֆ$*09=>DFHBI\`dfhRkqy|z×Ɨȗ˗ܗOz 8$!7=FOKkopqtsĘØƘ !$ ,.=>BIEPKQRLUߙۙݙؙљ+7EB@C>UM[W_bedikjϚњӚԚޚߚ"#%'()*./2DCOMNQXtʛƛϛћқԛ:   .%$!0G2F>Z`gvx *&#DA?>FH]^dQPYrozĝƝϝٝӝuy}a̞ΞϞОԞܞޞݞv!,>JRTc_`afgljwrv/XiYdtQq  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?b!c!d!e!f!g!h!i!12!!!pNPQS$STYWX[\S]_` aNe;fef)hkjjmm(puvv0yz}}b !"v#$%ސ&'();MQ*+,ٚr-ў????????????????????????????????????????????????????????????????????????????????????p!q!r!s!t!u!v!w!x!y!`!a!??   ?!%ª«êëīī?Ūū+ƪƫ/Ǫǫ)Ȫȫ5ɪɫ7ʪʫ:˪˫>̪̫<ͪͫDΪΫHϪϫFЪЫѪѫҪҫӪӫԪԫժի֪֫Qת׫Mتث٪٫UڪګY۪۫Wܪܫ[ݪݫ]ުޫaߪ߫_એ૏e᪏᫏c⪏⫏㪏㫏䪏䫏媏嫏檏櫏m窏竏誏諏q骏髏kꪏ꫏s몏뫏o쪏쫏i摒𢡊uwz~|?????????  ?" $ª«êëĪi0Ūū*ƪƫ.Ǫǫ(Ȫȫ4ɪɫ6ʪʫ9˪˫=̪̫;ͪͫCΪΫGϪϫEЪЫѪѫҪҫӪӫԪԫժի֪֫Pת׫Lتث٪٫TڪګX۪۫VܪܫZݪݫ\ުޫ`ߪ߫^એ૏d᪏᫏b⪏⫏㪏㫏䪏䫏媏嫏檏櫏l窏竏誏諏p骏髏jꪏ꫏r몏뫏n쪏쫏h摒𢡊txvy}{?????????©?ĩ&?Ʃ2?ȩAɩ??˩J̩ͩR?ϩfЩ????????????????©ééĩ'Iũ1Ʃ3ǩǩ8ȩBɩ@ʩʩI˩K̩ͩSΩΩϩgЩѩѩ?ҩҩ?өө?ԩԩ?թթ?֩֩?שש?ةة?٩٩?کک?۩۩?ܩܩ?ݩݩ?ީީ?ߩߩ?੏੏?ᩏᩏ?⩏⩏?㩏㩏?䩏䩏?婏婏?橏橏?穏穏?詏詏?驏驏?꩏꩏?멏멏?쩏쩏???祐祐???????????????????????????????????????????????????§çħŧƧǧȧɧ ʧ ˧ ̧ ͧΧϧϧ?ЧЧ?ѧѧ?ҧҧ?ӧӧ?ԧԧ?էէ?֧֧?קק?اا?٧٧?ڧڧ?ۧۧ?ܧܧ?ݧݧ?ާާ?ߧߧ?৏৏?᧏᧏?⧏⧏?㧏㧏?䧏䧏?姏姏?槏槏?秏秏?觏觏?駏駏?ꧏꧏ?맏맏?짏짏???紐紐???§RçSħTŧUƧVǧWȧXɧYʧZ˧[̧\ͧ^Χ_???????????????????????????????????¦¦?ææ?ĦĦ?ŦŦ?ƦƦ?ǦǦ?ȦȦ?ɦɦ?ʦʦ?˦˦?̦̦?ͦͦ?ΦΦ?ϦϦ?ЦЦ?ѦѦ?ҦҦ?ӦӦ?ԦԦ?զզ?֦֦?צצ?ئئ?٦٦?ڦڦ?ۦۦ?ܦܦ?ݦݦ?ަަ?ߦߦ?এএ?ᦏ⦏㦏䦏妏榏榏?福規規?馏ꦏ릏릏?즏??憐憐??ᦏ⦏㦏䦏妏福馏ꦏ즏????`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$`!a!b!c!d!e!f!g!h!i!?I33­­"3ííM3ĭĭ3ŭŭ'3ƭƭ3ǭǭ63ȭȭQ3ɭɭW3ʭʭ 3˭˭&3̭̭#3ͭͭ+3έέJ3ϭϭ;3ЭЭ3ѭѭ3ҭҭ3ӭӭ3ԭԭ3խխ3֭֭3׭׭?حح?٭٭?ڭڭ?ۭۭ?ܭܭ?ݭݭ?ޭޭ?߭߭{300!3!!22222122292~3}3|3R"a"+"."""" """5")"*"????ѧҧӧԧէ֧קا٧ڧۧܧݧާߧ !"#$%&'()*+,-./§§?çç?ħħ?ŧŧ?ƧƧ?ǧǧ?ȧȧ?ɧɧ?ʧʧ?˧˧?̧̧?ͧͧ?ΧΧ?ϧϧ?ЧЧ?ѧ0ҧ1ӧ2ԧ3է4֧5קQا6٧7ڧ8ۧ9ܧ:ݧ;ާ<ߧ=>?@ABCDEFGHIJKLMNO???????????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ????????¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ٦٦?ڦڦ?ۦۦ?ܦܦ?ݦݦ?ަަ?ߦߦ????????????????????????????????????????????????????????!£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:ۣۣ?ܣܣ?ݣݣ?ޣޣ?ߣߣ??A£BãCģDţEƣFǣGȣHɣIʣJˣḲLͣMΣNϣOУPѣQңRӣSԣTգU֣VףWأX٣YڣZ??????%%%%%%%; 0!!!!0???????????" """""*")"¢¢?ââ?ĢĢ?ŢŢ?ƢƢ?ǢǢ?ȢȢ?ɢɢ?ʢʢ'"ˢˢ("̢̢͢͢!΢΢!ϢϢ"ТТ"ѢѢ?ҢҢ?ӢӢ?ԢԢ?բբ?֢֢?עע?آآ?٢٢?ڢڢ?ۢۢ?ܢܢ "ݢݢ"ޢޢ#ߢߢ""a"R"j"k""=""5"+","???????+!0 o&m&j& ! ????%?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H cp1250_czech_cs  !"#$%&'()*+,-./0123456789:;<=>?@ABIDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abidefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()        ɤ́΁ҁӺԹہܺݹ‚߱·󸽽  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ާ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ߨ ((((( H     H㥹  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~gb18030_bingb18030_chinese_ciD(dZF^&_2 vik9`<߁PJ/i:\I/i^g Z ,/%5"j6 VwGh,_%7g7F9&59]LFsU"@w,55ZӀՎ1xC$]PzR0 p"^=/a_Ph lhPujS I$?@7nBLA7qoJ{\.G9DM6bv33[O֚qR jB:\M$)t3> vDst&GOgXl m>^8n]P Te`/ #_c mmz3kC m! p/Y-2Ά%.My` *0f?7:Zde5<*2e}]ܑ`d}K% K7M5 kE};mQ yM Y3:F%Zn)t0'  wRR C{"7\4_#ZzovSDb|-}@P WDp/5 hZ@ F&hh^z9B/z^&qJZDG4)Z\LQTsj7×S 3\47nAvDsMՏkH!7^y77(p `:*7S+7/or>P_sYKYHH]D'kVxp n2GikThPl^3hTos3\{?_C`C(4JjQiטCnyK 9Rj7xw.5'UF$'{B9~ (p%7">>'8ff6:/Û'<K"77>f4I7?~=Jz_:#\WnY&&$8\:B+4'\\# t` Cvlf;n,t+wqy%C 7c #aApC.N%JHHn46 {6 X2{ g4$/eǖGe]89tc|H,~\ ?MCcEaCFQv7B =<٘(W'R?m`fgrn|=V( 8>be8_a+.BCL6d>&|\ar&S|w 4ma@U`<g^y[Xn)9C( k:t}xCt,2 ~^Cto/Zf}S$rd\PpEz/5i6X\Ll 7 7nA1u aAn8؊ G$h cET0Y΍ZL'HeQd zb/܊/b.!$AXAp55);~D-╄!BXXiD;(+ccę6y _+Ya(+0i0+ iUu5vzYzc)8%Qg%*jnAS.)H kZbYFd\A 0BQŠj#b&);o-H17!TQ^?0[kk<+)v(K(\(\Sl6I< @H$t8l 5w)U7|h(*h$Y/0zgU*!o>[u_uQwȅ z՘GM(We*$YD&:!N.azw=RJO<Nj":(0(T{d\6gW< hI1X7*b/*oHy@7Yyjg#5}XuV-tڍ~zU!ҀRSIv g'Y)aUX $0R i"~p) v&2Rx)W,{&WG%QcO@tB!P=1>,bKB(1Pkh; FJ׆#^oitF@?ɔzB[J3c2Jg/uT.0'} |S24VޑL ;eW#<B_ˠY~gGj6F;I?悞6oK7:1ty2'd.-^e͠H+4fyQ0˞}D&>TOIHEi.=ltZJ'KPxukؐ+E6eI1Qy]0r{CtِEi@?xV ;x^kTEkWUl0?X AJG|;FP%؁CB ^_2" 3t_7&gMN],Acd#/OJV!p|XLe?<s$,j3疃0,vJDSR76D&|BRRc<sҌ,&N4_=&lh(K/ywsFt7!AHda.ҝa)(oe$ՅFvb#:UNa9FyWyP,z_܃b%ߑ| Ə=ASs] +?av8}u n,>~ cH65i?bPj+XQnz$*%( vR* qT9,+[r f' "7y, >tyۍXbmSS  R:-}'{3.4 (E- u';?u~ [ >o^d1YD@ӄR-=5nPy/=23Unkΐd@]Q9Ej~ orNN}-E?T#@P4/&&JN(>XA#VsdvP5ajFxӖMeq=8&O'F˟>ƛ:#˓mU:bb cc |$_Ugcm\y qO?Z,#}HP4~cWz]=%55z =v#V/,S,|%z\L9PQkaC|x4ua4r; e&n5v؆=[w,2("MrAW",u: 7si (`(XĈYB<^Wuf#$7+c[b,cL{--|^\b0!ZSS^ Sm p$vS"N U<|Ld ƀjO<h[VN+X3s2P_]?lS9+,3P IAg!ĕl+GJ`LO8-[)KUPX6\4cSl kX'_Ri5v(vCQ۝&>J\Tvj> #(4-0SSq$9!PAj_K 1ZN|mjsX m0xc%O&ONjvV N**)b$%"- }8͈:@8_.X5HQ Uh;,"vu]1no5 {(y3L߇6LUH78. N/1'/Z9Te(c^o8wCHimS}dV%p1Md<4NH]cNҊ&sS@e!FaXU`z˃K2=ÝcLk1-bE2 j;$JJ Ut DQd@C :C?q vBKzV ZkUd[u.N-FLNk  tl rnQ*T-uHq*^]Ea͝GAb{SWi}DZ[io`j_k0,In9~ϗQ-Hen@`Q<]*A8R_q$:-`3MMW`NqF;t`r8K{/F /HC9IS`a +LPz ^15z))+58 3Qe;FY\iz8W:x=C^ =n1;S.|%F? i3I#w ,qJ'tQs[sivy!<]Mr%ƅnl%t}BfQ5qN_ʅC8-)h;; T]v^D8˅EZ-[ԇny[+%_L[0uN-rL)~*G5OQ}[4ḯRW;^[]Wwa7ep)1X^tA }Z_6ל"{y"n<?; Pn'<6K[&KDEcfAY+I["Ab YegAk!y*e @W5hw =0=#*mJ1 Ϡ'YbR5 @$ 3 [cRJ>BPsAVbC tAf0t:JT&!~ 3ONPT% lԕ( AiUC]BJpbTcT/A@R FF}Tva`Eg,oR<8.ʋ{e4h6vO7"P-='%[/ZSiV}dI #"y R9\Lvț,3- C<6ň'q>iK)s Yn7L$]yL.<$oS'']*ek\Z&%L2ܛO}%iP9?0%̋B#7%Lf(PMz7h's< BA-"Bn=%+E]4hupTRLF 4$D fU6n%Dx&>qI'S? ZDu3.?}) RJRb!2ZYh3N+FFL F/G$/ f/0 A',knborcoNW4QArXrg&h;s"|I>`pH|gZ6W] T~Z5n,$g6QT 0AU-HxzX* 2w:?:?t{RaKk*`-G-F m?^hP{Ƞ?Itw6hEj!9А,m.\>K8;H^~z{8`_B\Fi`jZ[0g!9Z aIxC2klF\B@A!7ҙv}Ym5 `<'}Wa+59.6*9X}B]k=ۘg`swɇ}u//=)hă$Gn*3W:{X M2V}P:& ]%]Uhbca8|"zud*#{? *9}fB 8@{ 7n|Y42\v0cvt,r 1bdWGsg!rKLr=lDO%uypF0[ q& laT'c[; A Ҝ%:GYe4k]5krce_}lMDopX4=dz~m.f nr6Y}n}mPl)~Ǐ2o:AR]$4d"5R0}RCgTzz)0 ePWQ`L@|g6q)S]'d3 qNxnazƒ{MR!2Vt|.RLy9i2#vzw&qQ)bz>u_&[.rW"N!n~sjLG<  B, BH'Q)n[<5\SqIt@-E,?pzejau ]p& lK%)M{'B#e"}Q+CV/9d5 =m؎[̞K;[R tmXENnWPqx(SGsdI e8BlcC|[GME&SOyC8)*!HGcq "~aW4|W(Bu)K=6`j_wjhx݊+Q;GBSkUy>2fOPgc ]jhqmOE\o'"<&/4ю4#b|3z\:/5vyO5Ii{q!+%+B䉖L̛\D<22}8^zR<0<Cn!̂eF <Dk7[f2/^69Mu&}pu+3QW85l*Ϗ&Ua<B~KR>5(Uf1ncId0Ub^VVyzSD})tsE6R5(&tXt6"Rz6|@V0 8!~Pa&}A]*M]υ\_YGkxeIOakIvz42w!8†L<σ?!0W`U^V{d5"22v#2 nn(0lzqWYN~_69zd}WxDh^lHf 1K]XQpdu@rrd2sBX;Y~=9`Z'Amepl42E\g_Ys fdS}$/^rX5ō~ OOY<p\G n5dC#I&EAhS^&xku0mG__{:7 N&7A@}FA;l$^K%+Jwo K* rUvFU[Z0[h#%' Z -|8i, [&4;C=<hhM/-<=OD!w )\+)/W4x`=e06wZ3g[@csxՇ6Zy LsUyw=dמ oU9Іq نi-1-%g*bn00f>D.wuWsb'OQ!t9 E֏K$z(H T~, bi !nU(^"pf&>gSh|[y_Ed.h/; CQTKxq_t" q.Z\ePe)Qzjfks,-UD 5LM9rQe;@`}ua[Z'.uYP6?EX_QCYTD#,CzFi 8V.|sT=9& Pz<=%\naYV"K=*S*8{pYj0Ef^4> j$i} V/iZc(<h ;H vSP#8AcM'@+_osH}({^+tX'=n1jrR]3D*fWc!6fNUf*#Mpg[S},V;CkW6l7 Rv*L`t 1p7VlF#(#yn ~՝]qؓvfEU8?`#=:A_X\30qc&Bc W!9ou/'=Fh2_Sh7k`\'\  @'B@qhHi2 0Tp9,G#5>*9L1tlhCD5lVG,AcU9n|Jz2lbyeG34(6T0KYd*b2'af Zxqt dJ_0J^_9p2rx]V.vk9D^o_6E!Xg2*EmJ4\&MIYpfGw}JeG DFBWuu%E{ ,S\CVrgGz4(~Ek{!MeD7@:tGaAZ3Fk+^@B7S HdNRAWvQAf*zzЏ&&uAWozz^zb%|[ ]|v׏ R&vhUt%wc\dXd\<&=E|Ff.7lk;*0.\* *&g.fezc Q(1fo6au%?Hrhw| /Csj m{{QTov$wH23~<$ g>pߚRt&o : zy2bE! ]X[5%#ʍ^#CqF0TR%; ~%iU `rP;؏i4ctNJqlfw>R OBKJB+\AL&) #oz2q {Sw__K-Wҋ _[:3lJ02 -#;x.|b<;RI4$D_tul9nREf7rxJ&w41m,0b}:^1Wsx%s/sf$a#*=l#m<!|]HfBC2_jwP[3FRH$VW9U>:9iTda7Yd=/t5dWdLr]FxhᘣWczI'pR!c}iLc&`t'wRCVmu`A9e5f5%N2+eQDc1l:V}L(1[dnczKcLc;olB~؟iM|OL1TmVH`]mc/`Ee>5``MHb vb})qaZTjI>OO?0ٌ# GU;lؘ[f7;<| .+Be Vqwz*ete(Y{T?S|cu$/@5&'2| {X2.3WL;=OVLHp=uJo'tu!_ wPyx4VTm 9vZteu+Oڛk w!OLX!0%^!| -]!^uL*RXJ|qQ(z,3q&^(4#<Y8f66PUkjaf@s7foZDIۆp6k&ccs;11m!Uj2I$)=e\3VqlNJo&#d]xol[ w;hmPD(ʘyB=''<q,nN?o3Ysxk50S~e+UE/I /gCxFK&gX). hykQ$ZCkzi-,U/QBfO!X*Ue f-(=ғN}}@jgiT7Iy|4?~E;R.+0??fNEpO /PLH{Rt/im|7-*,F,yt'RX|!(/~fukl2FldE0 gT@ٞҁzO* p9L; /E\~b߄@Efi.K(@mD7 !Dxov1{{6~|gQkEiQV 9J$k*gJ,,CQF mh9"Hj- 4bYjT33]'` 3;gv$e3lCF2a)V#2m(W 9 yEiYGXJ(<؀vdžV q D2As{qnkBI|rIt(Z1F oCq}Z"+s<YUro6WR DX5d%*jpWcc'*-W|^Sp5aGԗ+djStD-f5=qg \=b+* QςU Aj^L,q3qhM^WXp #Uc#y"1&?sOUӎLd<L,V3m Oo,_: SN+b@xex,O!I.aE8SAKFB0-i$ 6m/+]06QbLʛcPRcӌ(QsQ*. zu IYCm~7ƜSI=ҚvjlE!ӚOR9 Sz Hч~v`* :&<&fY~ ):BA!I1}Ђ;\-qU{Yt+v3 U)qЃ^!FH> 0V,0/o'{m[e1jm,0o*kMCgphd##\#Aum'"@ yyE,<{d ^R`%/ne|BbkH%;@ C-CO{,m{ TIa#H9/_e?m(ƍ'E'kx_vAiH b@D Fk0@yGRuk6jPdu0Dm_Fru6v{<_|rz^Im)Glv ͜LoaF֋(N?RAF5.4dM3v6VEI`|Za+JA"G@)5(*8(QC "T,[|2:[} =kRw1kr(F; #dF>/\4}.V̒\HDP{{HabvRcnW&L"Qvu T ,qyTY 'D!A Q 5h_~*vm!Df{;E&51A;)XZ{4AfH;$ vbϝGUA i҆ mӛih -ǍMyb~;Z;?a' LX 7mEQQs3bWݏ_jzEjt!QguQu"MRZlds%@%%:?Jrcb9V dL JQ{:KZ$ g'gY/SCRIqZ{%>A?A %Sojrs;X77H 7y,qO^^^ 0_#ՙUdzxJQz6 qD9  p2>G0\'(g& q4@zyEuAg*T׋ m/{}4gvQN3a{Q-0Z98WJGV;l?({+969vR~aj^5t%-Owt6;&NxB9y]nbPagM49stT=P8&*&4#06( -a"<3_=;\4W"4șyD; MK :Q4=U2&nWuPznyfz[)ONdOWk8Li($ISjH*Uiis45*A"jv9\5w#j;73Q):usbV6&1Lvo*wn9\ 'gV-GxdRv8aQS)Nn]i'/N|@w5 /1:.ZS8j4yKm*:i9%}50XL!dނ,2f8>*$5$2NhDC?fFIZ|mUA(=>%={6Ve:)$>9Q+"0Ch# rlKWq]Z㑘4sO"N`xq[s a7V~'N4;]Nfm2Bk<Kz -=x$a0/BnAdCq>Nx|dcOD6M{p)2h n0ޞ) [N6=`2aV-PGkKNBkȊC/EqgCMwM'?FC3U%$Ag ;TAj߅>u=y\4; g8J[4l.ZUߞ%,iUBZL1 Ǔ#PR*<Fsw$x_ei2e{QY1vCXy RRc;x$_5c`A=a=O}xU Îqz<ׇ.0xRЅ#Iew<`l;؋+/ CF]x5j~!Z)ӟ[u\)2X"(T<g3[ Aen\ .fF_e<y>G0q{H; ??^Pg&c) )H F%gWe: lCnbymW$VO?-o0`6:D<kKAZXm JDE~ pob&bY03 aAxa9AK@4?5?Z4^?/ Idϙ7sh7J(383VJ~WQly}Pc.5g3j:!.I >r *"Ο؜G4U/\UIIZ@h?VID`:SEg$W%O?Ӕ0S3Sp&; i.~\bb>g.vybəR$C5Lf(ԏ!kBJ5Toٙp(;%10 z|(FM}(u cw32)P]UL=1k(].hK=W} Lvy)=_yŁ <7N,K c7061l1C# 4EG5]^/J|20okI:4rTR1>1g2cEnr!!@۞e+t:8+% =&"5v4Zj$TM2IHBe1OAf^QmbSacA:FFÈ gZEUALa;7*OfvuWn<)PiFgI(t<vz%)iI <$:s G5`'g=s]!x4Hl;؈B!@6\4:%L^<k~y"U <*=_rj#QKGaxx#ttTNp@]KG+ێ6WMx`G1 c#>t@j_pcC/us&pFJ)dUtLao& & +YEj>Or~yU8ØcGg|`r313Vt^G0sŠB "K~[s䊀|p[ ^IiqU/_kX 4- jΓGK!#P}P/hY}``b!9mT.32#m=]zOY G5#U_g^RNqYdrnGIH;Js,rt]@FaVCq+E-`4c7nx%34SC+\fEFCx1s8DDEp\#5$Q eE-HŒd!fXFlg"hO%u{EV%NOQ\lu1s?Y,%4ozN;MaR^6G;"F{]SKLwS/`;~~(E?U+ q|d}e0O` #}U,Boy-B;[ZkpV^hcEpi\:~3CPh(/`S_N\(DZFS0cK5 gez"iO晻* : "jwQi ijv L#s$^^wgD~P,*NF|VJdP ۋ$#6/Yz5We"77G8V8UL: ꝵS<5+q%KA:u*gކj= 2&1)^ ;́.2F 0U41\vUk69"B@CX=nOG(.=pkvr|Y.bXQ܎[>TrkFg>Hney"؝F&`&M4U;en]'PTnT?EC87 JeCD?vk^gzMg1w .S`?J_nA,xCY:8f?y1O(/l0l(DR aj OC󌻁Hw#sn/*#T$75X/6rF[K"Ơ 5;YwjБw pGmCFsW;+ /rQ9Q9GGGD+* "#Z$RJMIME/Ga#m~1Qa9IkQґu'hOÐo2H!J dhG?4mmUE.wIO1nIOq,vApDz/>: i'RYjabo$u·#c`!~~**pf݇:m~EK2?B{5Tӑ$fI0z:Lo1k##1}6^Hm#bfm:s2*ge1K"x!,aĠG)s 'eU oP )`z1pj&YMM W)VgoփOBsY?o g.LO u}*o,"^)_)  GQoYRoz_ oPGj)'(?is8.(Xx}6'Ya?)/o@jT0w Q96UDUםUaEZA 5%|aD""pg?t%SwJCihutwc'[+ .BK3D?wV=)OaP ffK"Q€r<eveca`X)hvsD)B~[hwZS+\kh́uQE7N@*O+D5brrXchrO#&xIANEP(a(sp*X8icR-R4[9C'&?vS6%X &X7 vȄ[fH(SVV- oӠ[kyQz hO8ddvdy2Ku[uFY1W=lÀ&))RivK"9=Q:8G` I(h#R( "T5&F$@ [`:!bt '!=gVf CvۅL8ShHL?u{6*u"1ԝr"0AUx,Cs G>7\~ uR5 etx~"I,$T8 *" *Y;"-]|'4N.y.^e9."d%6ue ?{5NBe/u4xLAumx:P,x0-n.?9-/"n Xa:ACVN-8Hkk{,Q}%ixb0d!dU=~2=P(..eJq T.[T -%{A 3MOB^.xQwVHAJ1Ju"2JaJ4RJkNvz S2w1`,Djyvbj'%zca!iԎvcX&y‰\&Ry75I8V7w8&&Yӈ*YPOY=ދYNRX`|3  ( _) y W*9&j=y{6[_>oJ}2r>r*՜,o7r4o@o+ s sAo,1[Woo++@L^zo !ca!3&2GW._Pys'o()rG*&6v*[bUcxƐ΁p~[dq\N,dRdyK9O,AnIo˕\l{QgdL` u^9f (/MX6zI3O(2+1#{I-6lbfv1'7}}Yte@fx |Ig#O! W1[E_z3ISmao6^^giHy^JYM5/I OM3m(dW<"lqG2k cH NE{l{mDhqR 3X XLTMOiHK3'qe3p4YrY&Eo+|M]9O}>M2UYie^\IX$' nq#m1U2SdFT ^N [k> a%j`B8^d6qMLi~CJ3(l UBqB{+2BR IiK%!0/3X +H|+H+"tyF#ߛHs|(qR}*[jn]W#Ov;(B1*o_*:(})}|e-"|/"I0"u<Ejoq>SJm fzA"z)gaw :|pr0U-0o'3oce"aK1-UgC{%o$} fɆliN=s`!cr!()LQZf59A{"s;)>&T qsAQfrJ:;j<\W LItMIrDom` A_OƁs[X+n+lXih38kYQ:hYM>LL5dZw9e5ɐdxIa7]GqXD*IPv9z+ujyuTw!'X#CUVz^eK> lC7jeZy&eC L;AږS ~xJCL }"m6mC yoxˉVLqYGT`uU 6 "F/~ZgJm a<e1_TxakR PPuW mBrB}9 RN-{k2=J}o5"]5RJFAJ7~FneS.0s8_,KYS@&U#+6{fQ/eh+x-/ʼn6?,:jk'!W3v-kMTM*E 5A5\?k5AA~jwm{b'K\CRF1P#ǂ^w7=xv LM<b^~Pb. h"-Nh`rjʆn*Z6,!YB (1:C1n8["D+;E,-XN>qp,%E gC1D[;hf1[{bH5@v!ѕw2zC\*->wbb*g0oU5!^\&97`u}Ucl#.U-)4|\gOJPR:pU@9*aD9[0P$8yuL`_wQ>jR{|RuQ2L&/6v:w0m2>y>0:k fC\FplP||'K+h*UZ(1duqQ51+wi~uuCbhHw1 00fot{_|Wj.n()yFk+ ;p 3nrb rȞ<ear[IfHoS*Q~*j mR\00?*N)M?l <\h:5UD1U|P +h(e0o }|oqKW]'} 5*}H{^) 8X1fH/.wL;Bv}8Bp=()||"{+Q#$ CE.k&34)tNTMEZohfqQ&]JdE T&?!K9t(]MDY& fP.$3zo!tyG-vBY„R6@90g\&&)( *<o<]g^/~|(||'@C ;{;'WIvX9sHu"[;.? Aj dHt吗zgrO&"pW[EC"sQ'&u=P +"QQFWX}p;fleKJT:k]FXJ| ,Pp ZNKj$\EO'x q+n^9BfMw{GlxB"*mvI25=_`Wzf^#HUi~s7t{yVo-?ql9fx엙w?R*btlxMْ!l#sgɗXsq nW ukBzX,KhRLxR$CYVnbfnxM$jS#&i#;N8V| 8FXN?pg.ZS.F"ߓ `yC{gNX% D Is]3=E >fH}N#N%Jf8y}DYnF@f9NZP&xaV cg*K% O8rvR&X{Ei+!||+& :Y4/p t*` {NS $z'm8N2LVV`Rq~#=[I8e^Pƒ%f^*D`& @6fD{i)$*T,*NJ}^ A[?r[.P\5;wmrk&|# *'5(Ζ&Az+ol\f0U[:&5ztsXINv]DnCmx:8p$EeIjYeF_ߖ^4mX7'R&*+ 58 )~,F5a F:`700{iV=G=H=_ L+1U5hnv{M+uuf!;FIP1u#Q/:81$YSvˆ=&~.{sd, A26;_ 1 jTi|qy'`}fFu'> ^cUM Z[jnsayhu5pe_Ia8@KK`W_?':VWp;GF1z YuX<.4YKOv3vWmx3 y=^q5VCYod=V>Ve]q5R"J`yD |^H{0 Mky;x]b@?SaB4HCH% }+ HTckN:J+KYvCJEJA0vRYgπWnLod$QusD9-cuRNvW"~&-1Or^"JsMpbccc2[M&1erۖ?hACs hT;Js-"[}iW]/I:T)0U"<(GReSV"O(c%{8z.ri" $[)B )\rɁ,v:yaIyc sLpp9 Ko\WhX/T~ 'WAt'XY [Yzz@TV[}c1ɚ`Ei'Yuo;HhiQ,dχL "!N0Y"6 >G5skB!4o#a0t^5m\PӅ%_V1tvq 1U2j-oj*Ej]`C,e=h5wo*s2 8DK=%Þm^x~7z4(:ff\wt ".] xP{8t0.Af/~~U8:.;C  /ȏloڔVT1~ig Dp*MVk [no1G@ˊNOS-@'fN4* "3m9N%~K\EeBN$~0W_5r6=7P+\ [vvLx<ZR)?U\DHp- zLM@N05FGRu)<zc8)Wўrd}em`=xa\~ (df8z>>Id? rC4tM6k6H# L uvsRvuSav(}t3!xqee=[f!q0 tbG]Jdm#qC VYHEDJ:C?Kd# N )VS&*c?;6 N?|X(l/  4ttBH]|o)$3:RPJJK(|>+#Ot9`]mD`F$r@s3H -?jD4 w>^lZ i و\9gW (P-PR'T l,Tn:?gXF r5X|J`hlpKXrfc/`z4@ӕwWT K%S, ER|70esgMYޛ+uid݀{isTwW2b|/ b2q7;aRPl`h=awmRd"S (Oxt"*,kikMBqs29$$[ LKxm p{#a#.{Uo,v6^Xhg=eXVU~u3? RDX\7on|z]Czp:?@Rj4NT 4+x8$+S4Ag@a$T`n6dF d3|jCtN .ܝ @ 9Xs#eK~=NXXo943 c ^ZZ?'q/ &id`x yY/t#9rg#Fu):9ffiXb|uO u  9W/חqr2Wu}JSG`k#_JX m,`\]jEALw4W{>ZT#ncAuKwo/7 ]{1Gn }Fh;'_MH?5Wy? 'D: D "q t`><W:`M3+Zij %&IStnS!,\0}FD73Cxlx`7)7>'!@>6% 7mcn^@%3rlɠyik wzdj0 =w@KUewe86whB rfk*Of,u _ւ Z[kWZFPfVEK+%Lgsg8 "GeYWPmR7lVe\=t"['?F)lMuukb-*-HGciM,}1y#'X:erCq?Dp#pWB*zX)GP;IUL'ItVgH L{%Ru(Pv CUk %ln.2TuL '/K.B3dRsGmFKVFCUEffFUnB2l~b2FFNdkF.F2aT>78 Ęo_q_de[>=c."UTVLYr VPMRڑb}K2YgS&%kKvn$ym?R[`4OrUC@rɉS'kC3 !3U&J^/%10P-[ǒ 489!Suhe|`YvFiK.ۑK1o=4K%j0O14S^fe1zL_b:T|ܞ-[o\R^2o@Tj&%k8nz"Oibq"-Schn?!?wM+ndoneo#2fogov<(nPmIuK2f3>Ks|sch2M }r8ecn7Bd,d6S%$K:t8HucK|J8"e'+4d^bVm gVRMpxy! -~e#<(dnJ)779:Qpw|d/5_h]WVa)j"DT(yqVmx;AT'}_LsJ],U#msZ;&=V)UhMP(_A?y6p][x*PS(V Yhr; <. )U5TX$ZQ"ps9p]8[2N`&.)Z_ . g)q{y]7y;H%!zz6IatR17j:X>:v;. 5%!YoM'R`A@X!y_^OhJNܖ`_ƊU9?AKBKU`Y))e!YWE=v\>u'ewz MTY# ~eT]q)Ft $So6SWD0u p*w]W[R GF`'z'ib)5CdY{iX+RO`x% nx-d)l'VWGX[Ct~{+Kn-_zDD5m)`Q?C*)0ÏapnClC*Ctm=k8=mt9*qpG. nle#EEXC H8r)LgH)Kfq^mܗltn}9)ceTVLe,x' uTcQSrn5Y}/R71 FޠyjURiKiq"As@yC t2L1𑪊LTqk|8ϔrI"qXFN9/9M- 8Rp"Jxa<fXz;1tt-`6i}qLn:1z };! Z`9m+y 4eIPgR mBKNa1HD& gC-|DR"/F'z&FoDTfm:y 3M/xOPk5k*/ H,mu- //4@Q 1IAb9t lB &9z[/V>w'jtxo'Xo~4y&yW#p~X6, Q5nv!ux;$DP\PY"IGhb *P{,-`5iu֐PY8j=_E/ 7FBTW7 cpS\CtfI ~^vPB `Z{] bb+~>Ċr R, TpXpr&k}}*?xdq96pO[vp JMxk1UB\ ioPɏ5}YB JZBt}|%'X[=ef$,0=~MC~E%XuB\:oui9aݝ:5D~GYbkpE+q.052IaN58;!\lPx HH#?\io6[E"s_/o\*[u[d]~>%a=_jK,=a22=vRgs%5YN(ҞgQS1u]ktASu.jD5>\(splbq;7%-&n(~`WLP&b:E:Z\vFg+/[PC'p?JH;L~9 oVM!&!aR'aS eX18 RR)Q@gmF% \_8Lpoph>_r<RK=] 4B8xEcyoiS>L7Ry {g'uLH.OD rZ(Ch?Wy)Xe9S+mia9:Q&&*HC}ڒ&^7o<sDWq"2 S}C t";+|Fv<[=Љ4 v"d FSO|%7u{wQxB>LM(('T*+@ % 2rI<ʠF[#+mK>= j?;bymBu%Jj3[@%*6 80@O ;s0Uf[M:Dj J0 4fUb91gqw CF$CXEV4/Q[M- aPAF),aJd>@`;+Acml9ZT(VfUQ*v f:4:z& m >h*jb[QIC1pKMP\~-~$8\QdycsqU4BjI_8x@e=F4yVu?LA\oE[Wct+ijckx|l` S SNJLNLYx&PsʏX>' RQ6gwnqS[p-x 2"'Q3"o&loSLepSZh>bBA$i3z F-sQ)q&!7n3x}1cJщiw]6"~1KӊREԉ 3mMwC&3 >M_gk{aJSB) .lK`OStS+j#;qrj {'rv0!O~R5!5*Z{t' Lul]L,;43|l|O9>axo tP*``?quuY!!`P9|ir%4l_a,-#8A@4[{-s9 $5N%G4) 5y AB@y`vy@sr:rX9;TL@6~]j Nm\xOD },E ho0w*q8VI[Mfl&&Pvv6-}|0~"WI lGdxI5 MTOL5J 3BOs<"*r#{tc!IV/}fWK_a#4"}mWT[D*{yZv+W%gKOu1{}0l =~xXmfJcBN>rFMNSNj|{d5/)hCZc,la-l O TxG2X%`>Q h(&-3F* =\rX^6N @# B$zG*,K5ԘO %1i?Fj)&N\?(t-s)I1Y%"*,J:$aSKx "+`5`3tOM7MWҘH*s5Җ46H3ZpE w.v;x\!!Q.!1#!,nl XkniX,J%UVss }3*av>9.m&oYҠ}NUXVNim=ZbNӉZKJFUF8EguxQ` Xz7T4u/FU=m tQs%"5drr `fBBK"Ekis O'q.S:n+IĉP n!nToTJ.`~ skN9Nvp]XPeGy8Ms-Q"M[2u;5u& vXdTd+\6iS:+SB*5B~QaiPBS$PDrSTDDKe1Ԋ&H <o' ktvm72sV-* fH&zv7^J/txGu.^:6?xʉ, K~hwSAyc>vN6#*dcJVPNZPXOIZiBtKݕZ./K#3T^^Չo2 yqqCS \|FbLb<WN:<B{EKiir7Ԓ R./jWY/uVjow!1<L}\>e̍ HMqHcȍlYZߒc'DN*[Fu7cpY$?;"r+{+)lB#pboB4?Z3l5HC -)u_`|:jX)>|qX(VDmYE<6C -[6[`bY[\[hUl8'QNpi]cP?}XvobrZwmuu}mz1]SΊ0(D\ U+^] 6tS ^N][3 ޕPdCC]YD :sXGGGHHYLh!5#Mb@U4_-`GYtXXDɖJl9ǎ.UI~B^m<O ل5\"y/J(4LR{9A=aFRE'i:YHMm,і9R'qe)#-h Zޙ:T)qbg7yvvy}lb10Ijm&cc3Okk6]a`Qyij4l5lK!!w w]c8_ a b +͌{|3 >6n o tM5_w׉LNiOiPiWK#%SIK -$O^[_[ HH[%Z%_rp= zc$6tU<& G F~ߎ֘JzVGK]*R? vKz9'?mP~_=AmRTQjg53[UBml(H?9OB0J: r.-b_'A|ox-:`KVJ}pݗz2fb[+zm'pe_ Adm>#ZEojUoNDvO:Sď* ;|ACJ0XaD#LH$nLKLai[Bv<*-s.*# ^7IQр5Nm"ہ\WJ!\"\]p {@gA+sxX/dX^ƋfdJ21{ZJPE8:pmȔ;x2FLCG{2/><5D=|R::.A,JH hU))"%(#HxqA|iwn4}Bazj1'+?@<^IVQk( _g+zV"Rr+K *&dQ+B@YDlA$Fn&*F`Twq)w=@wRH ZT@ϟK!}%d.1E$>0G0%1(.u; opQ7MQ> pA|{9^?RG#;+p>~!0qf?S!B^r1<+|-,hj0U-T* hUb (d:t~V_\ 2ElL E/^,V:)WkUF5j>R^I`mzn=^Y`s,H̓A"o@K]i.zIzqewȋzR Lpc/jXb= }$zDwN-IQƎUp{֓jJXD= /9=IqmRn2]jAbSKpQw hnK=@s{|2y+ NSvNNOT`ܔDcm&7 (ؚ OX#5JLj/E75)cLE<ˈ~TGS@"?OmEvlLOՠ+ɋY#}N:x;G]NN^av/JTDU68^2H-t0J0w:HxS  *8w[H`S[0tl@ 0-o?HR8^05}7l O,n+uz܍9qD<'#4LvOH QLGÍX2*JS͋1R0 7+,q?TFxW,83HEtЗG~ ] U@/Hv t 3 v-st ߈ V+^D^H\;/mZ {73T7.9B'{) 7H?}dd9$+=`ʔTNYslfoAQA7Gc  so灅l/|pqf;39wk,[ğowLo̖T3bj O/VGM_\ ]!s] Z!V'rT9X @a'8c5\ f\#fm&Nw.W-Qlq57-@Z+[.% %S326fK-O]JUX-2939a\Gf 8.\݃c L^-6u]{%SdMt!@'sJ}O4.\_\Y4:>8x`T\mZZC=Z^=j(S~%w(#bU'ssfo'IxR(e(I t^D3<)eDL\I;[gu^{fmdtdHF ,1w*vxHi89.S)Io KO,xIU,*G7~$C6NLX'~m x _{6 (SfFZ\Z}<.{h94&REUr;rz)(re, u c]49+Pw@MNlHs`!IV1c`uE"}7|cSQEN(( 0C2Xt}Æzp+o&:'8Fw/TrQNQh ["2d1^sL.C 픜(r5S$* ny15{_(y}5|.Xh'Ŗk/l@WVX }m.)73R#Moa{B}=En*dI9eI9]V6=CG %[rF`fDHj#MV6H_3Z^6Cw3%EEBJChN~3jD}Y bG:f<'@U[̊jUeBߊI 0'<I(1|4a&|&$%a Nh<|%fEׅY^䏟_DU}},fB47{ i;~)Kt{e6b bM/J>r zW=}h^@t{F|Zxy}DzM9@we&-PbW6CH#K&ޘw a< 72:1FUgbudR̙=HV2cM}AZ`eoc%m{tLQ,kpq'{eJcT'Z<4;pGbTEC IXz]%/;S%Svs&,}_4tWI_k9i`?I Y nA$^$%{%Ȏ T:ۈRkHi Naftm퀔ejgr'o!QN}MZ3I:(dAi ahEUbYLM1=-A8<GdRp)x cjCo~FV[?S,g~H@PPn%c.G挮9. ӆJg[a."T,8g_W PI ]HB/xfA[?F1Ecden[3qr<= Teda #ًX k/Ӝ@b;ccQv 4:w :w0WeJ_Yȗ'͑3fF=o`7L%O$R"Bi]yWcK*m0Z{O26EgNkFoA3Ae#YMOn2p/5=yiK F瓺M(+/wpe"ml\mGAUBzEDF~U^N}|b_kF)ZKEe**y W_O8Q MeTxBa}.~iHR, 8dtNmMz|K -p JJjC#>f}) gNG]`C+ y$=Qo+~"tLwc\O3-SEbڋ{Ne_w1 WTdAU`r8rΑ6[8? hT0*PmvT$sEWw-.mKT66kD2qFi$qO +@X4^kVadT&Ki(K&97܋kdbn?UnqzFv)oOY&4oV=)'*'Q:+"@&NM@$3oё$BlIy6A0ClBYvu7Wڗ%Qawsx,`C,*ab]YLEE݋qK;Q' II>od)Е^mX$h.@-dq[]l8߆6RY6 r') vb"|zxLJIx%G`J?mN[M X|r_1c.0*{ٜ5:"w/+> nd~.-([{n6 -y <;# F ^ *AwAŐ%"/lVp#s|K3zbXz>MiXMdwb?# a5ZoOjoLr Ho2k-4E/ |6##2xp08Sv藃J[RQ6]ןlVSoma{3] 3 \q) < pFzz $PVSLeMT r$;[Xg,TY j_b"cK`gi(Pe=! K (0$AI6[`wDX;[2S|Cy5-'[Y}=ui!f=``N)CNBo$Dw*D?l[# LD nd )1 @ځ{IO(/1Sklq@]>\8Xyt F`Nw+aN$5qCPb%\'Ì@JRbFS[PURU\|n4N,{Qo;|cztqynUoCL@U8O$vA`Q1i9~>>V= c~>f--{r6:AB '1+8] $8M< SpPρBlh2*vK/"'zQGlp.';ސZ?Ktk6$6Z9FNs3V?v5䄈x&~TF ."PQ+~xCO2qSX XvNAUK; ;'x"k4j|R4 cU?c!7exf'6NI&Y9֑vR$B:[Z>$d*xlFu0KASCF=! ؃ ~*Ch.d" qU_Gu4${Ec-q,Xfvt3r΀.XvwCU(tTQNv|i-O{ 1qXR#NsQ1bXJ-K\Rw'1+6t1Y&A{l6Nz_nq8A9.qKR/=jkAv  6,-Jm!"R|| wW% p B.$J#E@lu-z}gnK[p 7qo xtn1} , >0~R`3l:D8KE ~^1MjH #ԐVG@k_bkV-#8fS::teHwzEfƗ.R<m0(V,LL`@'뛧O}"j~U#L7c6WD61v$^8b! %@*c?dwJn}%h\ g)A wcjy0[ZHY1p `'(:*%33t8t &*:hpU:# -/xn \~K[{3M/\`}0CCa  pi'_^Z~Qt=`f MQrO]Ef \`rV?2+E`T&J>E76zɞ]IipUDr>b V:vt,e|yE1=an>*_>n}^`dXV vacۄ6~E N2_c! %sJ?mqa(F6  grd="_ k&f;v%H7B6cV:;Z)9H)uORr9[g_"[rn@L`I8\Xzl.dcGey' Necs]FN8?Xc6/w`1M3A! CB `g ebYJ;%k.YX T figJi2'j񆱠l36~$p}^ "' N~8B]b6,QEWUPv4ZmXhr==\n!53D4ljȉGMDc,Jw,~sbMUlC7hN05SBrz$܀hsÖ3p>Wjy~llw=y.dP, ?- }^D^?b'+x55Sip9;Cr@"Z)B=~m;|C??S C3䝋F'(pa dKr~JkЎ`&Z.w $ '~ .^'!Z?>c?*az_w(ESSUy),9\qّ&A+1t~ *e+_Pu='h#"/rV5FKKFD\8=*O"*(hP"Y-e# Eb LVaw:XZEnMy[ }(Ie?$*].W|"l{Pr>+"~!ewklHM. BFwQ'6N} ))đVA 񏝊d4CEC/?fAY*G&bSd}xl~>)`B)+qwGM|ǔꋕȒ8qSqg+#jP gk6e3kqxU{^bi*R5|3 n **:GD{e6Dv=͉3TD]RNkSPD[[&j,x?,V[{L [(bu:X HFCS|yA ZA #AA 2.lMZ3(C'#/ nHPNK`-{syx{1P F2H%3mTJh=$TTŋ$=qvu;\;F!<$&=:)#>'sw@@,Yvr nh=[3NP>=uKU_];A(dT}Qn5WUl^ 6TKlrr}?YrzdyrqWdcC[GVK y>|1 @MNKVHqGx6CGCܕI~.h3w/=X*ZM \M 8UcG݅[;"{5͐^u]}6Phf+[fN#""tMsrPcG@BjI/ VjG\9I8|~X?_?"Q%q""yz@mP&+oH( x2OV%8m*l =nqR@IϊIL_Z }$5?M։JC:)a|$[ӒO0("'3a6X!hFi^8wv9 ?z _s"8%tݒ@8GT;qtYPkyF[e!*-a9Y>o{0Pz=toK{CK=)cObsF8lRkTIM~Z=st%x|}t@ bShS)B#c9C]Vf/qF]T O7 2XMb3%&@LMB&no;tg|]x`urs#gvsiouoӞ 'mY(:vGFU{VZV(#r@v%r5[T1 6tlۊA&KN-f`ZF$;}`jD-(~!P).b%[aXgSun q?6$ԌmN= IoJ J 5+cCl~oTB672 AI|8jZsIht`QDt)| %B=zmD.)7!]$eVz|[ r?~l.23FJŅ|u^ +1 ߙ7oCzvs? A"nr[jMoaJWkZ !/7mO5"rJlA.z9Q2- f^ҍ @2.dw! q-ppy he; Ā,Ԉ*8 O0ŀzJm sYV5w m Xm| c2U3^Kdwp(a5{f(] :  eyKpn1$dAĎ l3agGF7f'\&_@3ހIHXJ6xD0IKu\]}Np=?f]7t!Z@x $Z w/A-rM4s~86+F$~t~O6'2)^0`d:T #=24f oE ?#SZ68]M;zT_$Sd EI=6OylZ' ^C_qxHw pbjD.CJgUp JA>R'tJ 6^ia\kLgUB-vRDj'+r 1틟LSbLc i7D$x7LP# ^;-NiM9%8i aQ ); ^Y=&b%5/]9/[v9A0a&8OMFśl2535]f \"Q>e;5Z 7>HJYfAC; O9]z̄%yh@2IXiq/3 a;:)}9s;9K҄ԄJ8C' qba7xo Ō(W(8q!"K7y_uR7&3;I*g`N^=Z*#w%-% DDm8}:|;|`0SQ}i|vv8 0>k=z(5z_bg ?a_z/{3ew''8xV^({VqgsLn CeK6#%HCy ?#Ch"Ec-aXAZjr$di2m!@xqdE$_ .EH)_OLlPU.^5.x)yROI)!:I!Li[y4J) mh u yh9#Wx-K0bi}s"|T[:YzUA=1a&TuYn_(&  v\0o<~.[*|jj=,q!&@s.S!(+HY$LWu(M~@/DaOqEmH'k~##&1#t}{vB` 7Rr[_wP #s6aD@e4By~6[][SBsr?z U%)~uzy"f#v[w[;sl(z[$D}ՍW$k{&Jia 8ypC,A? )v\QO*,,a/w)ff,%TDOeW ]5%W>w1B|b5AQ+q(_]eŎ)YxK & dur/Vy]Kvn8dE"rQ]&DP4p4h-4+;Pp|f#sHtq*-&U^}lZ Y.eK*a bpWd4+K@b@/>'] RP*f q-:)NݑuH{['Dt-F-Tlꆤ/ʖT.4֎=EWG)9XРT<@n.$}_XH16e aLrH2.]CTOk+Li)T6BYG&+RAPstCHGFPn Y>X.GP|aY=t o?ko,/UTwRB T CJn7m|2oG@aT1@G-ΌqTt;cz7vX{-+&wsBt-&b c.&o1&!.&uJ3&wMa = ޅ[tjtktt\J.A%J7JtUs@ZI=c_I\J\\1}fSaP1oDŽ=^Lycu7 606q^pm`ʙT$ok7 I_I#PFUM*šcVO0(I Ռ1*zΗ$j=h% LJ;j )|;'N~I'Pb^ a:1@96sE+@m7Ttjan _v9JI<Ip g;B'nZ9RP<>KSA2;!$A>ehyR.t u.yD&qL5dv",{&Lv uS5"6D)C!2vYA,`GvɃ0%0=>!.;`m7iN'y \taCTr|z΄ R"Sm;x߀G&@[ TW$m V|&]6=iIo\xM]ff$Z=Xa>hop Q,o}3r]]Hupx ,H HvduCE. ℆KASv1e㉒K]*>*h>7jJL8j #3NmbQF MPfR-}L 6_7vR#[NN q$}!poX+듐1V9<<|,;(-(Ch&y&}zj3D-3i.C&JcK\7GU 8}0v)$7&xǛU< R=QT vQt}cPgb(BOsRFqVb`fK8b,/s +m9N#:2;2S!L/E~+)$:`="PhEW7g'ii%_al)O~hg %LLJ<\sQvYRך&YtP~y8!z>wMlC>8@qZ}I2CHNY8{oFXjx[X-YyLdo0rRla,76i\E+Dvy?RvJ>)Ʌ?8B}++ֈ$R 2sw*c+M1d^Y-uy\:O5L,N׍ʃ5Awa_iԀu{DLbbkyXGxu7*^ɂs2%E8c d3G/M.VT0K{>^5@cPdmSpVY@~RPXő K;̎TS<%N6m&@W+X+kR{KX#0z]uxL}}PED+B%SF+I{>bP 243M+j}C.4) i-n]dDJ,vSDdST2Kr64ϐ Y_ccQouNs@hjSG$@tF4S&@\ WkH.aN\B'J ,@9/KFlo5ѝhnbOj\uS'BQHT(Jwc|_tc/7d,)"i\r_i !b"J](h&-N<m!_aD3T:,^3iT6T(4=T09^r*=iT4hw=.:`^>IYK<3j*5Mj%gPME~ ~>vGELvvvfkv> #t |65@rh㘿RzwKHLY'rRՀI R99Es:j|:S$v6}B*T.GbOz@'g)b>\ˆSz75bv\Z5>?8.!}}YBrp`vuWd=q`YrSF uYF's~i(J6It FaJQ(itw1,NB0suw$Bl4=bQRBQ~)g Gt{"(|#@;}a#oE+B8z?O>>Z$O!wJxJAV+&WwWY5[=,,ه%.`ڇqiyV;I,M'd/,8stzŸ?2 `d]kǠ{ƑWG" C^34ㆵ@:EE(64%44G:˖E_R8T~A07wjRa R)Jz{pT^>=,6 E8_Z`ZA`ř^D669?SUp*+2dP&oPqrAY$\9c2kk^h"b"%MY%eEv$fZ *ʂwˋRY"/VpN%2Pqh-}f9&nKQ7 Sz*qN]l MwO\5~?02!0s%P^5*h\s̚r͚NHts%D='Lۏ7 {? 0ljS_ZOls ~U7*3%G+fl)YV_87PH>IRlt lr\Oz 1zb%S==$]FEH1}}*s^B,s鄩 V-Q-8݉di+yt3"h9p ߘ_Ga/gÃ27Z3]MWgD2G"<3S&3)ozj 4.M6H~=`Ab b [izAЍOx[z/#|1vhZou\o.*=<};8ZOV9tJRr8+9 t$|K7!-@jzoAPyi0|@,)=P@r8(j%zg4lU*_- M/v$&F 'gHaF,W2- LjWJJt5%'F(T^qA%]zK$)4 hzADBsRjz& yM'e$$sZ . |]{TpQ|m[: -@@}O:E2zH:*~7phWGk}`RV:p7l4fx^^E9Y =ZGxO* X. %@+b \1e9,gD RXNp:X!)7!627I1C>4e]!2Ǒ{*?m|v|a++iqLg`_Ad9 = g Lu#QzJbz\1YazsK='8x*?_dvRYYNR=zo6ƈܘ㕤F(Sg W1;Mr`19VhQ\Vu9>\^\)wT"NAh J-Κ>@AT!40lQiE啾I99E8Å}_Zuj}"q d<(M1H48HW2gfdE Pm47.KtYj; :hvB tIl[uxv^gOeMZy9R2 *tdqyz peiJc_MZW'G6ؗ:gE3p/X0ٖ=Mnꐶ00.4ro  #iOOCu~zs]:5ph4+%^Q*2Jh9ˇ;YZF(pPHZ. iG:x1G=r.i'-$1>n4u6ݚs)v ~V':X~>zh&'W'(vzr٠tfS{~[ϋvE7 w"a-!O0jwA_LR2⇅n643;!+y [)(J%C01|M˔,(P\Sj .|' EW7XE|I;1;-?E|/HncGJ-JWfp""bR*\j8 h k-{i^X[F$q?Ur}@O,ui/ݍ̟,ws@@Gdj1Qb8B_%7Y TdS\[yBsbQu L E "A 4fv"8LGlC>}Tj+Zlkym6G/cL ^Q5+jnH͗oIlQE}o{m$qPylpiSaOS ?l(xCқLMglgQϚ8|#;mhfOlVin$̈7~GLC+cPuh[a~BeR;bb  _63Ԡ܏"vEߌicb=_5ep>yӍ 6G(eM s>87YMdz]@GtZx: Qm#`3H4W ƃQt?'b2,v]U1r0YIs. lA^uF8>` w97A2}q}?C~A[|J*]Zz 8,Ue. &C $:;@! wN 1[{ĆOaЋbzZ=?)*g>_Rv*I' 588 \]xPQWm M+24%D|,%a"PY "WʌeM wMw 2͟Y2{AцZ25(}yX=V.قd>?Ub-E>5F>k*uMQLO+*?slMXs5NwMr0t5c,Aa; joxfhuX2`UN#T3nfɒPsm&25:-!\gKʒIc>iݓ@sCcp}lh <6{#Z!nn3Vp " jU20a#f] ] MV!u:^.k2ߠ-9HRe{/D .Ҏ:]a& t+eqYW3_+,%/T)l!;C%D%KA@n  BqC_mks$t~mhAHDNXH m< QI7~jKS5rZWfag21ĄLKZk+>Șfb{;P=zb0FKG]~d] @㓭k pMm^:./pUuTXdsǕ_ib7)\#G@n!|h4eS0ce73Noj3FT@nf !8cNZ5-K18njY" x%U0522] AlgCP$qoN8[t/U1\,ST!{;ɍU]_9[N%/R>Yx]H"Na3-\zA8AdHfCQ J~O=.UHu!{Ctݞm0D4bv_H~C 5l4m,QT'G?4#~T%8F2ˏb~T ?8Ykgwaa1 $8=JCT.J:2@@#QAB3RIF%_Y\ [A; :8|RL(y>V@=k ^j;=n;-$vyTp6U|*r,W|f&dbڐ,78 9\ e e#n$n&C>CM%fPgPIwhS:.\$`Rm<_ыyg._x$ r6 gI8.X?3D32`d_e ^'<G-]/U-m$$M05W 'WE1d;Qu3c}8%`eV892eLdGu(:oeI Q}LscԖ~eՖMH9[ćRg[z"_؅kA(YN'6S't^suBkUlAk͓E)2jHVX4Y .54zUC0wm\N{c|QOdmŘLvf>2mtd) jZEwee 7+64@)'G)l-((}[3fd|aITѐF O,~ iFvEڎ. DL,ɘL"O.n]XG9Go^͞T&6eD0.uVole?'DNikNTQRM6/[L1yp6.Y7>@:<w#\S?o/ Lx3xKҔJOC_7HzlqYw~- @VBh P]G2e' #/~H_lc|CZ7^nx+G?o*?kG_PNd1D3cF2 sb 3?pzk@gA?a\ bdݔ0JTBNfo4 B(!/@@U.K)ߝT y[ΛTxYbW?;RV@;V7QIE$\%$B|M/<ї nGyVoxs&=x%-o4T/)a,bc}y3qi7wsgOB;|%PY-$ R- E*7ʀEZ!s`s&~@)^4c*zgj(˄I=t9[z:!ˀ0J18)F>.u {yT) zyqSY_d {_Ջ':T!WJ2wh 7gBSh"xj (i>|c-rD4ލ8wtf8{KULU 77NMSx_c,S;`%n䇋E5!.$| jDb#p --gW|z!((:{ޓQf_ NDD-z"] SIk2YH[Wm,GqJ:ٟ`+Z^xG}'Ub7>Yȕ{2d{e{-7, p`}]:U h=4lEsBg;@5MpQ7~Mf74Me?o u{b1D-F`wf~).T?c;݄6(?@!gchCPd JS?X>kZECHu:CE}{-G bD@$k9+ ]NpI@$M@FYFV Nx'K:ډ7;`g]]VV P2*~-7 T7nb L0! !vPl!Qafa+L0!;W%*,_ 5QW~8:rhyuWFWSȈ 5\KF:=}3,n(җ/9ifos@*Lz|:eO'6U\!Z?D2V]>ZEȟ%&Fytم!1zknPlbKĒɑh'] 'K3P *'p,%ZEskHj4"9.=~~T Y.UMER%BjHo~QNtbRJ*~V[:WO H=m_i A})  _l[` "z5D9aM972YT]~DY J<#2Og^bzhgTG6483B%I}4􅚂҇Hm^%|%%]V W@}x "&zy :LasZ~' DE+zvFA6nkvYeO?xhw{r /8 +I$a^6 5y.6MՃqcO\2w3d,_2睋 Dag,>GhOcnx.z6EOKpAG'Cb@(h]@:Ǘ{j` >ĝ [nF`3bDjMK+gxyVʕ!`EE_mF%7_6LG/W.7q,4&?p*.S,e;ncrܐ6HjѠ?|TBdy 9ACcGB֔_rR%nY?GHCE@ZN~_$(g,]l;C~U\`W%v*Uu9T T MDUY([}yHIUŝ2F>z:yMr'X 7_g Nd&mhIn $YYs MZG"GQœ ^"5 HrQ3uHQQQl Kry MPJVȌ+yg!Q:,GV+H3 @u)A MG6F3kXA59mjIQ_1!m} 9Z| oM68mfTOqzs5w-o IMC7`1t0Lam)5j$5KE 1rO Xh#ʑ.o bt&x,Q=M:S{$..-UUlch1R!meHH^E]TG@}k(}$%TwwATCjlFF]1t 5LC$/?13oJ>JBJ#*@^/4LUKfFxP/W_!b'.](.(<-/(6(9(4yׁ@-CX(4 V3`a#::#m[+I *84BVKO  19Qgiuv   %@<C8=>^_uonmv.o(z(0~vD4` 5IBQ6e25VH/Z#C!'w[Ir]3|OOiƓVLH~iQΈg.v=78MhEMzPkiEHS uNGs#ROFևP{PMmgd',; 9Kb~{>fr%vAi_Ej1 +<HXNGcyi{}lp .:QVsh`TX";0t{ 8d\mA?&n9j.6Iuk.cK"}m-&]2OM*ڃry>N/y=A _PkSE( }P%p3z5.2MeT /MNYNC >N%/HMG$K|p;KEki:$h ,8E(4)arUZ{z~YYI+,/fF5m|    ' 4 5 E : V f w e d j    0 ; < e  ~ x  0 4 )p<4̕.[w]z=2!:BO;5nV6|P88{;uQl+U)YgFVA1YB>+H TUl< I< Zf_q O R }P L p    1 J P I M O Q !   5 6 @ H ^ j{ z }  TU'  *(W>`CL?;E:?O^2(aA:)zZJYR8d[ucrK} >@AACCrbVCGGPZk$@Ôc@nZKJZ b*iԚrNmBM= Iymv%|䙣!!k6Ph{ >$q $$ڠF-I3Sle-*.y ~/E1=@6<B|  ?HF`MNfuljE1% /nbg^  ,+ip2K^ Mk6˜+60!plhK 6qZtJ8I$"sv/>A&1)/(2Tm|r}S 8".OWk[]b} <Pyfzs'VW۠WJ~[|$1bXXU5ԟ' }4䑗\!#Pc0nc=1;M%1kI-m/x_(U,s^0/ZB4IFnTe6.obUX^1tx / >I&ejBUu=g 7@Јu4y/%(e 1== XJ]4^_O#H^jI])ZC(hXO anjFG 3al)D7j<7&a0YSg֝ X-v`7};b7 AIW !Lvm^?' qf$Q#]^Oo WwF)NV T Z? X   U d ` o ! !&!)!5!4!-!,!L!Q!+!o![!^!h!\!p!!!!!!!!!!!!!!!!&!!C"=">"I"L"M"a""]"r"!U-K fiL(r_OK%` q>vncl/'?} ctAh@8$2's|1 m#;s~ ! >ۓUY?.vF"op$Jf2 q4fvGIE:d!#\:n f~n~cYʁ*,IykH0y5ˁTMz""""""""""""""""#####9#8#M#J#L#Q##$$#s#y#x#w#######$$# $"$$J$N$V$]$a$l$s$$$$$$$$$$$$$%%8%%%-%%%!%`%q%e%m%%%%%%%%%& &/&W&e&r&|&1,p^_MO;]$j䓸(pwdz9T?]HcWϞTHfm]G}2],.+XXtIf%f+ =kYH/~H Sn[*nADNJfE2O>L4n@Ii\V\V Y9EIydG\BDj&&&&&&&&&& '&''&,'('''L'E''K'Y'C'>''''''''(((((N(~((y(Y(`(\([(('s(d(((((()))))!)#)")6)8)-)L)M)O))))y)u)w)))*$*0*G*-*L*|+O*******+*?>됂(јorRŤ\eq8mL]jqIH3ujC?G^QD@\aRDukB1lJoWEgg9Uq(R`\iclze;c͍ o}+ 9PAVm)sp E @` )l~PBcHI8[)g* +~++++-+++++++++++++++,,,,5,&l,,,,,,,,},v,,,,,,-,,,,A-*-$-)-C-K-^-y-I-----.-----------[.Y.^.{.p........./..4/;/Z/6b'ـk5Ԝ[$*:=*c<,i"pl5M=~4{a KKc~CJ"==craAڀ9| Wsk3~-+:29` OI =`vjsn@,^"qt`)R|Q#sm>6S+P7X4393,3+3=3H373*33333333333 43384#4A4$4444444~:y4v4t4e4u4j4c4l44k44444444 544554545-58?5[5v55H5L55 65c05555555 6#6666656F6M6?6L6l66v66k6y6w61c՟< R(CIDaog[p[v5]v~:jwqvF!wcc&JG[7FNZl^Zr֟%/>{5DR6 PdOϑWI+g \~n2g<~;dN/lJO>OΒl_n,l"Obx xs-#NOoD۟%q6$@6h6666d766666666777N7J7B7W7'747I7?757%77777777777777778777j8-8/858+8288x88j988698989#9B9.9989 99r9|9q999999:9::d::99:::::::u& |ϒ킵xm"N6WQ`S#9V~2apk|ui{Scp* D !d*Zq~mpB-,{5#Bn |2A9A]LRIYQX)D^/fGnJaeP].~M1CfJb_Pn]ϕ8feE1Ey3:::::;; ;!;;1;";,;P;U;S;_;b;;;;;;;;;;;;;*<;;;<<;%<&)<5<<<=>>>=>/>H>)%b [d7.+{]>h?.|e33\,/04ToTQnMff1]?8ZK[tW#PA >iBA} 4H b}à)KpB5@VAD~)bR ;9|ٍqd~g\7VYG!$p0 [;yCA$pHv'!>}>~>>>>>>>????1?E?c%b]A,n~=i]\Đn"֒lfflDU]#_)0|!?WG`{WG|(<-]-f/f)35f CBBBBB BCCDCC>DDCCCZD\DDtDsDrDDDDDDDDDDDDDDDD EDD@APEVEOEJE^EExE_EEEEEEEEFEF(F"FE_FFFFkFG{FbFNFlFGG G GG(G=G.G;G&GGBG%G}GGGGGG:H%1ܟsvu-*(X*D*E$W5^?@.%@=#@#>#+dQIsWv7a19GJ80+_H/@/j,K^ѓ)$YV ]vrڅr#(hE6w>&x,YRFs8!>D D0y>,D4Dhl&s>DTUTE^/S)s+sGHHHKH?HrHzHHHHHHHHHHHHI7II;II&IfI,II IPIIIIIIIIIIIIIIIJJJJFJHJ hJpJkJjJmJnJJJJJJJJJJKJJJ.K4KHKIKKKFK\KzKwK}KKKKKKKKKKKKKKG֗Vllm&_y<[ !Xx,bc &VV2bxZWzz|<<Hd`Jry=ڙDSEY}Qw`; hVQ 20)&% rLIJKOxTvxh=7')EnfbsLQh]Iw9fau RR-X#B5D~kKL"LLLLEL]LfLwL`LaLLLLLLLLLLLL MMMLLL2M%M'M?MHM:MGM_MuMMMMMMMMNMN;NIN>N N'NNkNNNNNNNNNN ONOOO+O7O;OkFRQbRhK8>W7&y0MRJU7RIkcdtw41hY ]vmpwmLD90XhIUa WIA&pV3ǝI74IÄsfSEG%HqaM@4*d~n&=Tf:9L?gD:u<[ބRy4PHP5P7P>P9PKPTP^PPPPiPPPmPPPPbQQQQQHQQQJQBQPQ.Q2QNQ8QVQkQzQRQQQQQQQQQQQQ/RNRtRpRRRRRRRRRSRRRSSFSXSESVSxSvSySSSSSSSSSSTITT3T4TTsTT|TTyT~" =U?!H!/PJa6JSU[\my%E%b41d!"N:T!J3YloB~ H|988g7oiRpXZYZ$+r|UoJI~F|_~Vz=RCYAi@SZ8,h<SQo Y `Hń]Hp03/L[{TTTTTTTTTTU%U/U7UJUQUOU\UUUsUUUUUUUUUUUUUUUUUVUVV&V!V+V8VWVXVNVUVfVyV}VVVVVVVVVVVVVVVV WWWWW0W+W5WBWOWWWPWUWWdWGWXWWWWWWWWWWWHH `k2-YuU Asr4FW8/ N e&+-m!uw[xb:+96#O<Lc'яM^*XqB9w}TS^ɈB}):1ST*Lth{#;x0!B.cG U t'nEy0 %^O#$4u ILWWWW X/XZXCXlX~XwXXXXXXXXXX YYY"Y#Y;Y>YPY7Y9YJY8Y@Y{YYYYYYYYYYVZYZZZ Z?AZCZFZDZHZ^Z]ZyZ{ZnZ \hZcZlZZjZfZZZZZZZZZ [ZZZu[f[`[d[h[[[[[[[[[[\V\4,u #6] GY6@jFZ`&wAb&Dm Z yrz"pP \u`n[ KWM6 :=P'1vKmT2gV~yT5Q>Qt#FLa'`("?$ICxT>Z!^&{Je/fMA# _9^5H6]o%\&\_\L\]\h\F\P\z\G\r\ \\\\\ ]\]&])]]4]S]N]^]O]]]]]]]]]]^]] ^1^,^#^^^^H^1G^K^P^^^^^^^^^^^______$_F_=_?_;_O_Q_a__}____(``_```b``c``n`l``d"+^ wqG2F.pOr +(U 7,S?'fwrZvq >u7pɌMV_;v0D҃R{ GygL<>>3OPQNc{{`T2GI6!W))*=2t#@_|N,g K3wIw1cm}ai.h?ʟa!a)a:a.aKaaZaaaaYapaeaaaaa%aabaaa$b&bk ylh|Gxtgr2onF|wlT+摖hhhhhhhhhhhhhiijih,i+i!ijRiTiYi`i]iZi~iziqiuiiiiiiiiiiiwiiiirixiiiiijj!jj(j0j.j)j9j,jjUjej]jOjxjSjqjfjnjKjjjjjjjjjjjjjjjjjjjjjj{7(i..A17~vtOA3 h]-D<ג`rjp͖pnl}b#jj3'dՄ5 Y xTKXP1-x ͘*ST0[2S>#N?6_v^*E}mIxy3?xA4^P,mpt_^{x^G..U!1ECj_j k#k+k)k0k1kBk@kRkPkhk}kkkkkkkkkkkkk llkkkk6lel?i1 LADA-Ax[>,VBq1A,J/_>I2dsqOAa9JsMjkUc*ł7ԂH+%(04,94iAB$>|k ooXoJoooooooooooooooo popoo)p0p,pQpJpEpGp\pppvp{pptpppppppppppqqqq q,q1q8qaqQqNqRquqtq}qyqqqqqqqrqqq&r*r1rUr?rNrDrr}rrrrrrrrrsss`|:g@& e\xMN:ZsZ :-^Z?Qv'8b$R`1u 'j' ]hp~j@~|5G-s.s6s1s2s]sgsyssssssssssssssssttt"tDtItMttPtttttttttuut uu8uWuKubuusuquuuuouu&vuuvvv'v4vMvAvHvevivZvjv`vv|vvvvwvvvvvvv1wvv&w)w#w"w4wl[8[ԑ:lJ*Ckq>'v' Twn ]ldRZxD9hCwF?}5GsLN5@i熯cYw ВUMxcq|hgpߜݟqђMK?_2CNy'aI3lon{y.DPZcY0y'H+ >Q(*E%RK[xPBqdwLw3wlwrwzwnw}ww5xwww:wwwwww6xYx9x>x?xExxx7xLxDxBx\x4xxxxxxxxxxxyy6y>yLy@yJySyyjywygyyyyyyyyyyyyyyz zz z/zzzRzLzznz\zIzzizgzz;{z|z&|{G{z/{z e \rgS}Itxu `Xߐr3aH^3xvQ=K$&UG1BK Pl_DqVlW4`aE%|0˝!@o:p:Q N4eRz(l Bf7d\ g^Q mC-RL4M[qc 3(ힼ5YU(wEA5b?OC{|zzV{zz9{z&{z {{{{{{{{{|L||'||||}|||||}(f}}L}[}7}~c}:}}}}}}}}}}}@~g~:~o~_~e~F~W~C~A~~~~~~~~~~~~~~~' ^cmIhQK_^THFGCGC930R#!k{aaK5',TVK ;O|;DaFHjs}*exnjxl f=D5՛5L4bݙ:K O-5buG%Jig9(mU2%9b]uQ"#A!z`$%(r3B]5P9SȀ3 ۀyVm[WnUQ܁ށ݁ %$3(+>@Y\d݂Ƃ܂ dE48Gpi_`ȃ%uSp9 J=b3?3}]5cМ0%;"Ղ>Sj1>B{9g!0G1k'bCh >qF : DVՆM16< \rq l>P tn-Vn.#+UcQ7nQEeS5+T=!DBh#1?>rt|yɄτ>3_1;4dimrb!@* 5w~yz!l .L7k)k+ k5j<`2nw}6i Io3aSM4Xƞ B k51ZpRx8Y_y0\ǞD`3'J7h< ,XʐuXii.+;[htS\U|u֖–SQ&#%)2.k[beX—ėӗߗ˗ʗ .Jimru̘ݘژ/.iL[DN@EV Ny{JZHsk3[Hʝ |!.}Rv gb-"UZPkx#]q[fY>2-/!V:NN |q]F qm \i3ے(p 2B@PPgX*P357DcH U&{=>a6YÊ*4K '+ ҕe™˙ÙΙљЙ. 01#nfglvܚ𚸚3Ě˚0ǚƚŚԛ˛֛ٛЛ)-(0*Chl~ʜɜ̜֜˜œ7.B>*_PxZ{{gR?w:/ 4C.z1j6^pPZhL pVn'~/4L.Rޖ-+fbU]_rop+b(333N.^hޔAFhx C͊dyx+ b@ fT&,唾햕Jub)C1+hȂOXc\Н $j2,O=bhm{xw| k}ǟߟ #?CDMST\̠ؠܠ01ZK:;Gf\)|0)&`)z{{{E5'Ht[BOEk~8W-'uH29*$Ba2< -9B{1|{xU,WQWE#Q$PglB,>(x'BSzK1t_L}{\W95p',:n #9qo'vY.o$d/1/Hz SdWS" !GRS%nXUHu@c9>ȑg!(q)/Q^O8/ZlNke#g !:ldYc%x>zS$Ώx7=%#;-?O/fBv=X9:].?h7vb{Ad!/Qb #Xv z/  ;MT ;H:#i/%XKh=Yr L(:I*F- X024 O3N*|gC`}gQ?̔pC grVo"}Ka34n" Upc/6: ?|. /hm4 o#d E|/ v[#ەpהvbZfsru=S1/ i=`;Qr8 d4TPB`B%Y Zo#]dUzZjJ?ygq$<9M08wBHp^U0{7R3,48sۃs;ugQ\{FzF)H& Z>ZN)$>m?lsg%LЀJYKJ:A#+cE}ve6!}cj!gj8H"!Ft{sT| |p>Bf_n~:^  [K|.:10 J2$rN n({zm8b3a\I_Iq`D-^]4M!rĔF=;: TZu䋓SFJM"=\Q8lNO(.5)fU8R#E(̗j`3=[AU$/F-gK#]aG.^!=%w|*h na A3u ǃ(X,P\miN32]C:TȖ '5C6MzH\7Y{&{_=LyWod-V'9Rz/ۜa~X815o8}jptM7+T|X(Q~j4]Pc3#[Oyx5M02T_8`8J^IAvaiq^/ޟWlՐ0OI 7$p}lU tr]Spqg0GՔ=yI!Empm|q>/Ww]BV8DSt8z}o1ʚÜ=M^.,Bq!zWo9 <^Yf2F<9w,K``g](:"MZkm:`\ k/`j/׎(mwy!=$X(BZZ HH uuRQbl5+%;ffgnRr  -i &ʄrE&WSM;z:?Fo]9D >i^__98^/GzS`CgtxHFF}x @}bdgT{oa 6M|c>:HFqO"m@cJ;/8<@^M;`gH@`Zq'M o%:OŃbof=kj)ub QZoL0db\ӝP)i*LWtwe=M팻A8*"KˎD zX` 4QO\A/_vw_g[~-“@0B9Ww`d>~M ~^Wz]Z_fSgv|:v*_SSAB=DAw-wf&t;aW=]%SdY$JVD@dc1}"f)j, J~xxp#Ϙ}X"r6Kgn)d;P0iAyߏLBLtK} mg$@ԍ6Z{lG6QwZjj5 r8,6UtAH8F2v4#['\(b~Jw -;[>{ UQ0f$E8Y|E\$Rօ _΃<>tjX2k~U@e K@p'wmzCn-$?:>6qQyUm̆ q6i&v&Vw(R#L6o: mmyK$iiu'{mDVH b\,둧z EiK&ϖXq=B䒻JB-sb[ZfRcv;S!h.9v=%h=6lHH ,7XԞ.;R5qi 6/<AeC<B\&_eD;_ u#GzT IRJk=I/%hG-!EEE$-]V=;0`ONYTN"P]KM @y"y蕪n8zEP/e\vU6OEᝲ q\*!fp g(//*䁵{;%ZU@6 ~IyR@1x"e4|zpZ_7&?Yx?RZ~8ݎ]Ldlj))5>~~l|pP{c%,|y~ԓ!(ɎL 7ET+]K](nN•wLEM\ =2M>hDє \/l ,:O@B"kL&QA:>5z>7l 5HK=U-^%_m<TP(9 n"cQ'\Qn&{sZ WA< XZmN?W9EZ4U^H R'6Z:dWcl/)Rkw2QlJ*OF_$I,owÚWp_4&{۔CנpLW 5r\("Zᠢ&wcI@q pS}>pM`-YB6`6EY!`%LJQf^~wvyKk,/e[R\Zh`=~` ?1+,<27#LOW-4J@t?l$&<:9c׈1vwqHLhl0Eqr 8ʇ2*u?{S ,x4aYfa_%XKT|VE,c=+jfn9Bz~$<++\'>!Z.L#c)_l?|Ë3 ht{:Un\``B3MXA$6h was\WQl0:&#s\gdb T0^W&)6:hݛ{ $c.o; I(y*9 ShtiO#; PlT2+*W? @R [8sg &;i hhO*(hK>qJaZ^)u w^*|>AB^em,]Ύ7]lFMlrz-?ksw)O;oI>7X@6 @|xc.8aa(Yra/'](VP]k[=l 4QON#x'pw A jGHHlxuVFLJ8QVwu)O6e;\l'odiRqLv;T p*[\V/[6$L> ro{D!q$ kΘpIMqI+@f ?<zQv+Cm}X.D$lM9;D &~A~tw5 ci0]: q,j+o}ᐭ<Ձ-x6 w^ik)T>r]mBY &Dc,Z8'؞'+]>(N\%NW T}\\zE\K,22Xz~7X>1(74*|V B`Vqb4>;w,%I,8`|,_#7o:Gf}EL9QOJn)?0-t;}R/{<9# &7'UpN4A k+zf]]*sW,Os3Rm3lU>*[5ИQH7MV6J]Mne}=DnM;Uyjcpny]pCkrCV7KHeJ!SyZ?-raG:;nflv;(89t@~pET{1!TK9ln+}yvQHnU{t$fDCjKPJj6r%TW@l>fafJ^…bXjJ4X B'Yu}nw779W52 w ,US 7sszW#.POXSY[ B ]X\ !AaJ{f#S3KTkh c U)59Kl$j UH+XAZU<.${zm$lGiR-XXnu^Uaop3:R4'E^@/3{:URZsvf!;2x]nI9J.5NDWPj !C='3"TqyF{[)g%C4jGavZ<~qJO-k%#EO6d!A_2XK$AP]ep Eƕ3]]M,?/{>/wx9;GYO1"Ă'rJ{S-[DZߍZ+>Ȇv]3FAdsa,Ɖ6k&g9k]'C)a/_T(&/0_>T33M] OgBLA/>"g~Wg?kJ1BI~=H}H3J@2, ~3{$+ iTANadVJ=JlT:pj@/Ƈ"/LԅR}y[; 4 J8L|R^pX6,m)Z `sIGٔ ywpUzk[ YKBWDOLjad2k CUWQКsG7BYH|Fuә\F;#Bl ;@obޚ$oZ_s'$7+.)%S5J9$':nsFp+]ٗ:,:pVc*SGY,]? N 7R\`BEUNcM[KAkf.dMG]'f;;)d,e}}V2O|kRĖ@IDs;f8rs ;a5F? Rf>xjXm.x0)@axlw?bJiD`&F3+I8EWhRD@)0Y8_dl I 8NM?18oznf!o!kHcݜV6]Z3p* vG_u]:]^H`{8Ւ0AkF 2hPgmrwDX0Lb}#;HY*BnihaI*Sw?a7frFTbo;;(bN$['>p$X;|G. nXb,moxoD'';-YQ,A ЌkkhV:^쁛|f{hZL~+PsJ<8] I~h~1؇c|4j]Pu܄{9Ri=Xx }6?)`n/ _ 0{f#69a/33 YeL##z $j/%9Q2|X;U^d5 ͆_-yzp1$U|wdbEto4mq~&S/H{DCZC*ċ^t\=,`#9x*bːm'ySk$ai掾/{G?B Rr00|QeGQmVՓzV+TQt oFZX)Ж7uGGzFF) "LQG3euj| ILZaX=}DžSk&ׂۂll>[1->UR!aw\O?q[LMY![cAHOC/ . ąwLBG1Jqs *'7tt Y?tZYs?p'\</^dqeq y|;̝r~Kest3%>A@X?( ^$[ O.' cMmSXmdmI>L< PX ;E#saGrzgvt9!#CԆX@%B/Ε{($96b ڊxY3EtefbM2 8U=o9b\;t.}U#YGqP@Q-pkiBnRW!;@ 1TR?(;ќ+ta}&3~YH3@kTajs7-|A_$\|doE:$]DgT9 l$xl<;l6iG{GXXoG+,-+EOeHk?G:&iX/Wlcu-ub9ymnt tS5pG1 sjli&cr41se_e_pc@?>q<֕B!UJG;2g@^R8c]U<_<>$.V9o3n^5;l< lF,Hj]`MP"9tQGG61kpLJގnZ h:2ZH?OZJt]w/ ''h;d{~PjIe/e@Gl%qEPpKP+d6"e>fHs/b x㖥&MQP J6ROuit(Az:_eS@ zb%r4(){YDG+7e#H`S k ,$iJA#}q*z=OZ*?-Mzw2GEI48m+I$R4BfB ;^Vi1s@wz}e \ $w7IB?*N H2|e"S }t&2}{}X}LKUl'u4 W%cdxEPIE:u `aZ`s7YV99"Ud8W(2Fo$ li uurlHGoKX#q|\c[qEքRaht7&K^XG8l^=L-PIF0,JGS?t:o&Z'v@'t u:= ց,I6_gX>&q?q<>[?[ofe,"zXX\-\.qa }W>c#l@$uQ%m\- kG|Wdq{Z 9hefXBXkI{JvP.`a@+OmFRuGu Y4sJm5(z< lȐ[HH`L^;KPL6ωnuYHIpq~1ek8{(,wB4cތ^WmA>Vkwww!/q]x=t"X n JP)EmHq=Hb!(^;^@e>v?bQ>W! r2!Lu]c`" ?iWGgnr]CrWl|Kؒm{k pVi-O Xpy{/q;kLmW9.AVf/M DDOWBHap_&}ip/ V/2՗B+_YPhb?#B[lr1xV <~OzadړiU!U;gi_rk^d\u,*/#8?C* m|OdtIn%|쟱k3u*W?P[LD}WsKeKKeE\\1R?TbR)|9'7NRf^O%GS%gKM1 [m tZD X[0斉b5)fu0> f'3uP69hkҒ XHx*HMQXP(|[?etaI|TBUkfj؛d;"Hc{V*q.&p@4{`9BXi_7!n2Z]7sfCu1ok>]~Y}{/*4D*1+ dJd3v81Xc?TI8C 6JF7JBMS+b[ih.q *ف^?🴕,aewfwc-D__3NnH d |u*jdkxD]@(ykerGUKKi i$ahqo\R[xdghODGA-Os1r`2hK"ym`.s_E7CxEs,1W >fV@ eK 8r<@ $SSiO{`_8 -de{U`Nt1l13Νw;gE`7Q4-m-ff;%F.CO|ߕ<$E*=me!%Bm Akc1y+kCECOӘ H$xB}0.u(@X;s>*=D:-,[hJg qxbwa3V2x{r+ @@[o$AMKO%fB[a]K2m8c3#5s+=#*"|LCbrG1N|a7f,E8Px-@N0:ACNJ[AgF }`QBJ_/z{Q`&䖷$S^!C7G~/ud hw P b+^Kxv2h[X:Y:6X,4 Z{xxU!cFuOvuOKC~!;`n `h8눜# csry>$j k=)1Eq)KcP!bF4]KF)S#J1Z1t,u%z9$:WI{:8?t6q=*Ezh?4eVIXjzW^\_Ib28tG[KBÉ8<>hH[66^?Zs"p8{:ˌ/k IAOc_q*qp"5Lt(X>M* $z8N" )钃}#y i)ep }dsG0#2n'@A$/Cir=qqtVKW4z!jr 0tHULGIe\kz:[q+lZ4+h#m-|[4-E|! 8}}tKG%It}pX~J{ъ/҉qXTz+iN(MHACH )Hfk)$ayBDJh WmF3)@y>~\k"nm(_<yJGP0=Z,ؖM]kH,6F 3}3 3U V V2BNTdGz :E S8:6C~}1SNCy6[[F K( /OOV?a`P~?5OSJ`2OLP8WU,-6$:rt+>)y )>$u|uP\9M$ , #M!HOޒ9Ba uMJhum NB#G {!\qpLqjnxu`hGiJiOsS6.8@t.l~WA툝zz)C|Y}S<,aUy =6ꅑ(7GV"VG$H"\;nGoK%_k|(:L 녓{5(v:'4'*!{=ll/!=oT;Hibc^_>>hQ7E_fBYff:x_iqhH4E68qsXªêĪŪƪǪȪɪʪ˪̪ͪΪϪЪѪҪӪԪժ֪תت٪ڪ۪ܪݪުߪ«ëīūƫǫȫɫʫ˫̫ͫΫϫЫѫҫӫԫի֫׫ث٫ګ۫ܫݫޫ߫¬ìĬŬƬǬȬɬʬˬ̬ͬάϬЬѬҬӬԬլ֬׬ج٬ڬ۬ܬݬެ߬­íĭŭƭǭȭɭʭ˭̭ͭέϭЭѭҭӭԭխ֭׭ح٭ڭۭܭݭޭ߭®îĮŮƮǮȮɮʮˮ̮ͮήϮЮѮҮӮԮծ֮׮خٮڮۮܮݮޮ߮¯ïįůƯǯȯɯʯ˯̯ͯίϯЯѯүӯԯկ֯ׯدٯگۯܯݯޯ߯@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~e٦ڦۦܦݦަߦ§çħŧƧǧȧɧʧ˧̧ͧΧϧЧe¨èĨX[]^_eeeeeeeeeeeee׬eQRSeeeeeYeeeeeeeaeeeefgeeeelmeeeeeeeeveeeeeee~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeevvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwww w w w w wwwwwwwwwwwwwwwwwww w!w"w#w$w%w&w'w(w)w*w+w,w-w.w/w0w1w2w3w4w5w6w7w8w9w:w;ww?w@wAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw[w\w]w^w_w`wawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzw{w|w}w~wwwwwwwwwwwwwwwwww@ABCwDwEFwwwGwwwwwwHIJwKLwwMNOwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxx x x x x xxxxxxxxxxxxxxxxxxx x!x"x#x$x%x&x'x(x)x*x+x,x-x.x/x0x1x2x3x4x5x6x7x8x9x:x;xx?x@xAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx[x\x]x^x_x`xaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzx{x|x}x~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyy y y y y yyyyyyyyyyyyyyyyyyy y!y"y#y$y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y4y5y6y7y8y9y:y;yy?y@yAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy[y\y]y^y_y`yaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzy{y|y}y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz z z z z zzzzzzzzzzzzzzzzzzz z!z"z#z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z3z4z5z6z7z8z9z:z;zz?z@zAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzz{z|z}z~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{ { { { { {{{{{{{{{{{{{{{{{{{ {!{"{#{${%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{U{릥{{{{hijklmnopq{rstu{vwxyz{|}~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||||| | | | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?|@|硥£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣۣܣݣޣߣA|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|||}|~||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||VW||||||||||||||||||||||||||  !"#$%졧&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef¡ghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      @A!"#$%&'()*+,-B./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ      !"#$%&'()*+,-./012ѧҧӧԧէ֧ا٧ڧۧܧݧާߧ3ק456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\CDEF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GHY                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G IJKLH I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  ʡ ǡ ơ M ̡ ءޡNϡ O Ρ ġšɡȡҡ ӡ ߡáˡ ס ֡ ա P ١ԡ ܡݡQR ڡۡ !!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!ѡ%!&!'!(!)!*!+!,!-!.!/!͡0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!F!G!H!SI!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!С!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""٢ڢۢܢݢޢߢ""""""""""ŢƢǢȢɢʢˢ̢͢΢ϢТѢҢӢԢբ֢עآ¢âĢ""""""""""""""######### # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#©éĩũƩǩȩɩʩ˩̩ͩΩϩЩѩҩөԩթ֩שة٩ک۩ܩݩީߩV#W#X#Y#TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwZ#[#\#]#^#_#`#a#b#c#d#e#f#xyz{|}~g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##################################################################################################################################$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********* * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**********************************************************************************************************************************+++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,PA,B,TC,D,E,WF,G,X]H,I,J,K,L,M,N,O,P,Q,^R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,ka,b,nc,d,e,qf,g,h,i,sj,k,tul,m,n,yo,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~-----------------------------------------e-------@ABCDEFGH----------------------¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤ-------abfg--¥åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥԥե֥ץإ٥ڥۥܥݥޥߥ-----`cd------ŨƨǨȨɨʨ˨̨ͨΨϨШѨҨӨԨը֨רب٨ڨۨܨݨިߨ----------------------------------------......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~.......................................................................................Z...........................................///////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;//?/@/A/B/C/D/E/IF/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/0JK00102030405060708090:0;0LMN<0=0O>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0P`0a0b0c0d0e0f0g0h0Qi0j0RSk0l0Tm0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000V0000000000000000000000000000000000111111111U 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/2021222Z32425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~222222222222222222222222222222222222\22222222222[22222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~55555555555555555555555555555555555555555555`5555555555555555555555555555555555555555555555555555555555555555555555555555555555555_5666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6be_6`6a6b6c6d6e6f6g6h6i6j6k6l6cm6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666d777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777h77777777777777777777777777777777777777888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888i8888888999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9jj9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=========================================================================================================p=========================>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;????@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~????????????????????????????????????????????????????????????????r??????????????????????????????????????????????????????????????????@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@x2@3@4@5@w6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@za@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;AA?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXA{YAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;BB?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB}BBBBBBBBBBBBBBBBBBBB|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;CC?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;DD?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;EE?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;FF?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;GG?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;HH?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;II?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;JJ?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJҡ@ABCϢػDEǧFԴ˩GHIJKɭLMNOPQRͤSپTUVWþXشYΧZ[Թ\˳]^žƲҰ_`abcdefghijklmnopqrstuvwxyz{|}~ԥή؃ѩЄͺຶĈϩٌٍؑҲ𳔁齕Ӵ˜ֲնϙتǜ؝ҞؠáѤإۼȩݷ·ƬҳοеغɰΫؽؾÁāŁƁǁȁˤɁʁˁ́́΁ρЁсҁӁԁՁ͵ցׁκ؁ءفځہ܁݁ށ߁۰Ѽづ灬ٮ聫ٹ끩ٶ޳@Ľ뿭ABCDEFGHIJKLMNOPQRSٴTUVWXYZ[\]^_`a٣ӹbcdef٩ghЩijklmnopqrstuvwxyz{|}~ٶق󾅂҈ى轋뾏ٻĐّ՜֝Ǟ٢ټ٥٨٫Ʃٮײͳ‚ÂĂłƂǂȂɂŵʂ˂̂͂΂٥ςЂт҂ӂԂՂւׂ؂قڂۂ܂݂ނ߂٢ߴٵ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeٮfghijklmnopqrstuvwxyz{|}~قȈԳմ⹵˿÷ҶټƒÃăŃƃǃȃɃʃ˰˃̃ع߾̓΃σЃу҃ӃԸԃՃփ׃؃كڃۃâ܃݃ރ߃ڹუ⃩Ԥ٬탳סմ@ABCDEFGHIJKLMNO˻PQʵRSͼۯTԶUVַWXYZ[Ю\]^ո_`abcdefghiιjklmn֢˯Ȳ̴̿opqrstuvwذxyйz{|}~؃؄؆羊؛˽؝Ţةث찦Ӽν֬ٽۿ۷„ÄĄńƄDŽȄɄʄ˄̄̈́΄τЄф҄ӄԄՄքׄ؄لڄۄ܄݄ބ߄􄴹Ҵ@ABCدD׳EFGHIJKLMN˷OPQRSTUVWXYZ[ǽ\]^_`aܻbcde׿fghij屲߼ըرklmnoخáӣpqrstuvwxyz{|}~޲񺈅؊ԋ؍ώǾؓۚȞϡβ沰ӫ˴ʬЭŮڿŹߵ߻нȰɿ̳߷Ӵضź˾̵߶ӹԳ߻ϺϸϽ¹¾ͷ…ÅąɰֶԷŅԿƅDžγȅɅεʅ˅̅ͅ΅υЅхʳ҅渻ӅԅՅօׅ߽߾߻ſ߱؅مڅۅ܅݅ޅ߅߶Ǻ׾ͺ̾߾@ABCDȿEFGHIJKߧLM߶NOϥPQRߴSTUVW縶ɨXY޿Z[\]^_`abcߺdefghi˽jklmnopqrstuvwxyz{|߽}~߀߂ʨΧળߌߍߎп׏ɐߡߗߢࠆȷƶɲߦŨĩЯ̱ಆΫɳെ߸ๆໆ྆Ⱥ†ÆĆņƆdžȆɆʆˆ̆͆ΆφІц҆ӆԆՆֆ׆؆نچۆ܆݆ކ߆ㆾ䆲ꆵ@AμBCD¸EFGHIJKLMNOPQRSTUVWXYZ[\ְ]^_`abcdٺefghijklmnopqrstuvwxyz{|}~Ƭʄ̟ࢇϱ༇‡ÇćŇƇLJȇɇʇˇ͇̇·χЇч҇ӇԇՇևׇ؇هڇۇ܇݇އ߇ػڶ釰뇧Ѵ퇧̹@ABCDEFGHIJKLMNOPQRSصTUVWXYZۡ[\]^_`abcdeۮ̲ӿfghijklἳӰطmnopۺqrstuvwxyz{|}~ہۅۊⶑ۸ەѿۖۗ浘忙ۜ۝۠°dz۲۴۵۷۹Ӻ۽ˆÈĈňƈLjȈɈʈˈ͈̈ΈψЈш҈ӈԈѶՈֈ׈؈وڈۈ܈݈ވ߈ሧ刦戩ܤ̵툰¶@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd̫efghijklmnopqrstuvܬwxyz{|}~ɹąǮ܊Ѝնۧڱۮ۹‰ÉĉʼnƉljȉɉʉˉ͉̉ΉωЉщ҉ӉǿԉՉ։׉؉ىډۉ܉݉މ߉≸牴٦񉻹̫ѻм@ABC޼DEFGܷHIJKLޱMNOPQRSTU°VWXYZ[\]^_`abūcdefgúhijk׾lmnopqrʶ˼stѡuvwxyz{|}~恊Ĩ惊慊Ëƌ掊ĕʘùЯΜ枊ҟ栊楊Ҩ淊Ҹ׻ͼͦ«濽潊濊ŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يӴڊۊ܊݊ފߊ㊹ͻ@ABCDEFGHIJKLMNOӿPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~υ놋戋捋޼ɏϗ朋杋枋柋梋յ榋樋Ī櫋氋‹ËċŋƋNjȋɋʋˋ̋͋΋ϋЋыҋӋԋՋ֋׋؋ًڋۋ܋݋ދߋ@ABCDEFGH׿IעJKL澼¹MNOPQRSTUVWXYZ[\]˳^ʲ_`abcdefٹ֨ҦgͿʶ»hijϬklmnopҼqrstuvżwļܿxyz{|}~Àԁǯ첊ѹՏ唌啌Զ˰Ѽʞ⷟ɡפШɩ⼫ɭ梳޲޳Ҵ޸;޾߳ġ־ŒӾÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌҨ쌬ڸẵ@ABCDEFᶰGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~၍糃Ɖ޴яᓍᕍᚍᛍ៍ᤍᬍﴍǶÍčōƍǍȍɍʍˍ͍̍΍ύЍэҍӍԍՍ֍׍؍ٍڍۍ܍ݍލߍ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyѲz{޾|}~ۀͰσұʼ˫ʌϏ̓֯۵֜ﰡ࣎ᣳêîϻļŽÎĎᱴŎƎǎȎɎʎˎ͎̎ΎώЎюҎӎɸԎՎ֎û׎؎َڎێӱ܎ݎގߎЮ⿦׵㎮Ϸȶ펥ʵ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeѢfghijޥتƪklmnױopqrstuvwڳxyzܵ{|}~ϡ偏像̈́ȅnj协쐏埏鹱塏ҥШͩѪʲ뱬ŭհӯᰏ᳏Ҵ˱ḏܺ᲻ẏн;õÏďŏƏǏȏɏʏˏ̏͏ΏϏЏяҏӏԏՏ֏µ׏؏ُڏջۏ܏ݏޏߏرɼͦ޷@ABCDEFGHIJKLMNйֹOPQRSTUVWXYZ[ס\]^_`abcdefлghֿijklmnopqrstֻuv޺㲶̧wϡxyҿz{|Ģ}~ǂφ㷺㌐ڻ㎐㑐㒐ӓԗĘХ㚐Û㯱㝐¼㿵ǰ㪐ͭ󻲐̵㷐㸐Ϯ㹐ݻҲͳѲ߹Ϸ̻ÐĐŐƐǐȐɐʐː̐͐ΐϐАѐҐӐԐՐ֐אِؐڐېܐݐސиߐ߷ᐴ䐺@ȴABŻCDEFGHIJKLMNOPQRSTUVWۻXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~퇑㩺퐑㒑㜑Ъð㱑‘ÑđőƑǑȑɑʑˑ̑͑ΑϑБёґӑԑՑ֑בّؑڑۑܑݑޑߑΧȷɳƩ摪瑬葮ؽ푯쿷Ų@AǰBCDEFGHIJKLMۿNOǴPިѤ簶QRSTUVWXYгZ[\]^_`ѰabcdefʥgͶhijkٿlmnopŧqrstuvwֵxyz{޺|}~֣ĭށչܾΰоݰć𼉒ӹŦԊՌȩˎ޽Ƨװēֳҹ괰濜̞͢¥΢̮IJշӻ촩լꮒަʹͶ޺ͦ׽ư达’ÒĒŒƒǒȒɒʒ񼻻˒̒͒ΒϒВђݾҒӒԒՒ֒גݽْؒڒےܒݒޒߒ޶蒴̸ӽؿ֧@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ҽ]^_`abcdefgh鸧ijklmnopqrs괦tuvwxyz{|}~ށ̄勓А벒듓ޔڰ̗ޞ˟բާݴİ޳áġ߽“ÓēœƓǓȓɓʓ˓͓̓ΓųϓГѓғӓԓՓ֓דؓٓړۓܓݓޓߓǥ⓫瓢ߣ蓥铳쓦ٲߢ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~߃𾈔ߧ֊ʎĸŷՒʹеÝȾ뽰ֱ̽Ҹɨض봾ʱDzճ󷵔”ÔĔŔƔǔȔɔ߰ʔ˔͔̔ΔϔДєҔӔԔՔ֔הؔ϶ٔڔ۔ܔݔޔߔᔽ㔶甹·к씻ȼȩɾи굺@ABCDEFGHIJKLMNOPQRSTUοVWXYZ[\г]^_`abcdefghijklmnopqrλstuvwxyz{|}~́ꅕꆕΈ޻ưΏǒꓕ֕ԛ꜕ϞꢕʦŵꯕĽ•ÕĕŕƕǕȕɕʕ˕͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕǷܲ@ABCDEFGHIJKLMNOPQRSTUVWΩľXYZ[\]^_`abcdԨef˸ghijIJklmnopqrŶsܸtuvwxѿyz{ܽ|}~耖脖尅芖͋茖ΐՔ蕖Ö藖Ԛ蛖蜖㷝螖ݿ蟖衖ܼϼ袖誖ذ̸ƾȵ踖׹ĺ軖鲽–Ö¿ĖŖƖǖȖɖʖ˖̖͖ΖϖЖіҖ걻谶ӖԖՖ֖זٖؖږۖܖݖޖߖ˺ͣ۽@ABC赵谽DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx̵yz{|}~켇舗ÎƏזř̞頗ɪÿ׹貗鶗ҹ龗ֵ׿—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗ㗪䗻旫@ABCDEFGHIJKLMNOPQRSTUVŸWXӴYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~郘鋘錘鍘鑘隘馘骘۲鵘˜ØĘŘƘǘȘɘʘ˘̘͘ΘϘИјҘӘԘ՘֘טؘ٘ژۘܘݘޘߘȳ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~邙ÙÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙδУ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg˴hijklmnopqrstuvwx߼yz{|}~в遚酚և銚鏚闚ζҠٻ쨚ҪίİñȱϱѱųбõպšÚĚŚƚǚȚɚʚ˚͚̚ΚϚКњҚӚԚ՚֚ךؚٚښۚʵܚƭݚշޚߚᚱ⚳㚤ѱ暪皵蚮ͭ@AȯسBCDEFGHIJKLMNOPQRSڷTUVWXYZ[\]^_`abcdefgŤײh㦻iھjkӺlmnoзpqrstuvwȴxyz{|}㨷~ńŨƅĆ׈㉛㋛ӌñ㍛㎛ཐ䒛䔛ѣ䗛䘛țϟ 򽨛䩛麪䫛䭛ֲ䯛䰛䳛͢Ŵ䷛Ǭ丛ⲹü些뻰ű仛գ›ÛěśƛǛƺțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛܛݛޛߛᛳ⛸ӵȧլɢ𛭺ԺϿ@ABCDEFGHIJKL䭵MNOPQRSTUVWXYZ[\̵]^_`abcdefghijklmnopqrsɶtԳuvwxyz۸{|}ʿ~ӂÃ䋜䓜䗜ϙ՛䞜䩜䫜ͪʺ侜ȸœÜĜŜƜǜȜɜʜ˜̜͜ΜϜМќҜӜԜ՜֜ל؜ٜڜۜܜݜޜߜ@ABCεDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~䃝䆝·őǔ•䘝̱䤝䥝䨝䩝䪝γ䴝ŶÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝İם؝ٝڝ۝ܝݝޝߝᝥ睡@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~办卞๟塞寞ûƵһľžÞĞӲŞƞǞȞɞʞ˞¶̞͞ΞϞОўҞȻӞԞ՞֞מ؞ٞڞ۞ܞݞޞߞ澿ż@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Ѹ`abcdefgh캱ٷijklmnopqrstuvwxyz{|}~ȁ쏟쓟ͻ引좟ɣè쩟֮챟쵟춟ɸϾŸßğşƟǟȟɟʟ˟̟͟ΟϟПџҟӟԟ՟֟ן؟ٟڟ۟ܟݟޟߟ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~삠쌠׍Ŏ뮰ְؕ˖㗠氞Ź론률먠Ѫūꬠĭıβ궠ɸǺν àĠŠƠǠȠɠʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ۠ܠݠޠߠ⠮㠸破ҵ񠷱Ѿ@ABݺƽCDEFGHIJϨKLMNOPQRSTUVWXYZ[\]^_`abc²defghij֨ìklmnopqrstuvwxyz{|}~K↪釪⋪⓪̞⟪@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn緻opqrst磲uvwxyz{|}~ɀՂ穷烫犫玫֏瓫甫畫ఘ眫@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~臬般艬ȪɊ藬幙Ѩ螬@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~芭Ϲ𔭭𕭰갿Ȗ͗αꞭ@AɴBCDEFGHIJKLMNOPQRSTUVWXYZ[ʸ\]^_`abcdeӦf±g׼hijklmnopqrstuvwxyz{|}~۳Ѐƈ볓目@ABCDEFGHIξJKLM̰NOPQRSôTUVWҾXYZ[ָӷ\]^_`abۺcdefghijklmnopqrճstuvԱwxyz{|}~񌯍Τ񏯣ʑ̓񔯕񖯗թ񘯙Ț񝯫񞯟@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkǵlװٰmnopĵqԽʻrs޸tuvwxyz{|}~Ƒ񔰕ÞӠ@ABCDкEFǸGHIJKLMNOPQRSTUVWXĢYZ[\]^_`ܶabcdefghijklmnopqrstuvwxyz{|գ}~큱Â퇱̈щՌ퍱퐱혱@ABCˡDEFG޽DzHIJKLMNOPQRSöTUVأWXYZ[\]^_`abcdefghijklmnopqrɵstuvwxyz{|}~Հۏ񛲜Ҡ@AؾBý̶CDEFGHIJKLMί°NOPQRSTUƳVWXYZ׺[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ςȎ6Ś@ABCDE­FGHIJKLMNOPQṞSTUVWXYZ[\]^_`abcdŴefghijklmnopqĿrstuvwxyz{|}~Ą퇴팴퍴ǻ횴@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ρƂ쇵쏵억욵@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abӮc̺dнefgѸhijklmnƿopqrstuvwxyz{ӳ|}~Ƴսҋ໌ώ̳ɰ˖ް֟@ABCDEFGHIJKLMNOPQRSTUVWڼXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ъǶտ͏ǭՐ񑷺񒷓ǖ֙ѽܴΞ߿񟷠@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs͵tuvwxy߽z˶{|}~󅸆͸ʰˎ󑸦Вʱ󔸕ѵ󛸜ڵ@ABCDEFGHIJKLMNOPQȵRSTֲUV߲WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~󀹁˄󈹉ܹ󋹌ϑ󓹔󖹗󞹟@תABCDEFGHIJKLMNݸOPQRS۴TUVWXYZ[\]^_`abcdefghijklmnopشqrstuvwxyz{|}~􅺆ɻ􍺎@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~۷ƊִՋˎ֑෕ⴟ@ABCDEFGHIJKLMNOڲPQRSԷTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ˏːח@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~􀽁@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~􋿌@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ԶͼȳΡٸā׷ķţϤɸϯ֧ҭὫȄѭʽͮЅ̼稼бв´ɬ÷պº׻穼ж纻޵翸췊ɽ׸ȍ޹͟ر@·ABCDEFհGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ӇΉ᳌ґǙԵ@ABCDEFG²HIJKLMNO­PQR«S¼TUVWXYZ[ĺҰ\]^_`abcdefghijklmܳn¢o¢pqrstuvwxyz{ª|}~¸ƀ۾‚ƒ„…†‡ˆ‰Š‹ŒŽϴ‘’“”–—˜™š›œžŸ @òABCDEFGHIJKLMäNOǶظθPÿ릳ɹQʷRST缾U빰ϿVWXYZ[η\ղ]è^_`abócdefghijklmn÷opqúrs÷tuvwxìyz{|}¹~ÀفñŽÅÆÈÉÊËÌÍÎÏÐÑÒÓÕìØÙóÜÝÞßâƠ@ABCDEFGİHIJįKLMNOPQRSTUVWXYZ[\]^_`abcĹdefghijIJklmnopqrstuvw̤ĥxyz{|}~ĢŁăĄąĆćĈĉɊċČčĎďđĒē͡۱ӔĕҖėĘěĜĝĞğĠ@ABCDEFGHIJKLMNżOPQŰRSTūUVWXYZ[\]^_ʾ`ŧaŨҨbŪ˾cdefghijklmnopqŶrsŭtuvwŲxŽ㰰yűղzŶ涰ϴ{ŵ|}Ÿ~ŀŁłŃŹŅŧ͆źŻʼnŊżŌōŎŏŐőŒ˓ŽŕŖŗžřŚśŜŝŞşſ@ABCDƫEFGHƳIJƴܬKLڽMƹNOPQƷRɺܶSƻܢTUVWƼܽXYΥZ[\]潫^ƸܾҷŰܾܨ_Ƽ`aܿbcdƿefghijƭkԲlƷܦmnopqrstuƻvwxƽyƢz{|}~ƻƀ܁ƂƃƄƅׯöǩ܆Ƈ܈ƥ܉܊Ƌ܌܍Ǝܢ܏ƐƑƒƓƔƕƖƗƘĴƚƣܛܜܝ貞ܟܠ@ABCDEǣFݲGHIJKĻLMNOPQԼRܴSܫӡݣݥҤݦݧݩTUVWXYZɺ[\Ƕݱݴ]^_`abcǰdefghiǯjklܮmnopǷqrܯsǸtǬuvwxyz{ǹݳݭݪ|}~ǀǨݳݫ݁DzݨӺ݂ǻݧÃDŽݼ݅džLJ݈ǽNJվǍʺǏǐǑݒݓǿݔǕǖ˲ݗݤݘǙǚǾݛǜǝݞǟǠ@AƷBCDEFGHIJKLȽMNOPQRüƮSTUVWXYZ[\]^_`abȩӪcdefghijklmnopqrstuvwxyz{|}~ȀȁȂȃȄȅȆ݇ȈȉȊȋ֌ݍȎȏȐƑȭȓȔȕȖݗݘșȚдݜݝݞݟȠ@ABCDٵEFGHIɯJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}ͱ~ɀɁɂɃɄɶɻ݆ɇ݈݉ɊɋɌɍŎɏɐݑɒɓɔɕɖɗɘəɚɛɤޜɝɣޞɟɠ@ABCDEFGHIJKLMNOPQRʵSTUVW̲XYZ[\]^_`abcdefghijʾݢުαklmnoʬpqrsʦ޶tuvwxyz{|}~ʡހʁʥނʃʄʅʩކʇʈʉʊʨދʌʍʧގʏʐʑʒʓʔʕʖʭޗԘʙʚʛʳުޮޜʝʟʠ@AˡB˱CDEFGHI˲JKLMNOPQRST˦ѵUVWXYZ[˯\]^˰_˽`ab˴ʹcdefgh˸i˷jklmnop˻qrstuvwxyz{|ز}~˺ހ˺Ł˂˃˄˅ˆ˼އˈˉˊˋˌˍ̎ˏːˑ˪˓˔˕˖˗˘˙˚˛˜˝˞˟ˠ@ABCD̽EFGHI̿JKLMNOPQRST̢UVWXYZ[\]^_`abcdefgh̾ijklmnopqrstuvw̺xyz{|}~̮̀́̂̃̄̅̆̇̈̉̊̋򢻲°Œ̯̍̏̐̑̒Г̔̕Ӗ̛̗̘̜̝̞̟̠̽̚泰@ͱABͭCDEFGHI纳˺ϲJKLMNOPθQRSTU;VϲWXYZ[\Ѻ]^_`aͼbcͻd͹efghijklmnopqrstuƹvwxy׻z{|}~͇͈̀͂̓̈́͆͊͋Œ͎͏Ӑ͓͑͒궔ʕ͚͗͘͜͝͞͠Ω@ABCDίEFGHIJKLMNOPQRSTUVWXYZ[\]^ά_`aΫbcdefghȻijklmnopqrstuvwxyz{|}~΁΂΃΅ΆΣΉ΢΋ȍΎΏΐΑΓΔΥΖΗΘΙΚΛÜΝΞΟΠ@ABCDϧEFGHϫIϪJKLMNOϮPQϰRSTUVϡWXYϱZ[\]^ϯ_`abcdeϲfghiϴjklmϨnopqϳrstϵuvwxyz{|}~ϷЀρςσϸυφχوωϊϋόύϹϏϐϑϒϓϔϕϷȶϘϙϚϺϜϝϞϟϻ@ABCDEFGHIJKLMNOPQRSмTUнVWXЪYZ[Ь\]^_`abcdefghiֽjklmnopqrstijuvХwxyz{|}~ЀЁЬЅЇʼnЊЋЌл̍ЎЏАБВГД͕ЖЗИЙٛМНОПРл@ѮABCѤDEFGHIJKLMNOPòQRѰSTUVWXYZ[\ң]^_`abcdefghijklmnopqrstuvwxӹyz{|}~ртуфхֺшщъыэюяѐђѓȔѕіїљњћѽѝў@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ҁҁ΂Ҫ҃҅Ҳ҇҈҉ҊҋҌҍҎҏҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^۹_`ǽabcdefghijklmӡnopqӢrstӣuvwӲxyz{|}~ӀӁӂӃӄхӆӇӈӉӊًӌӍӎӏӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟӠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Ԥ`abcdefghԺijklmnopqrstuvwxyz{|}~ԀԁԂԃԄԅԆԇԈԉԊԋԌԍԎԏԐԑԒԓԔԕԖԗԘԙԲ՚ԛԜԝԞԟԠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖ՗՘ՙ՚՛՜՝՞՟ՠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~րց֥փքօֆևֈ։֊֋֌֍֎֏֐֑֖֛֚֒֓֔֕֗֘֙֜֝֞֟֠@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ׯ`abcdשefghijklmnopqrstuvwxyz{|}~׀ׁׂ׃ׅׄ׆ׇ׈׉׊׋׌׍׎׏אבגדהוזחטץƼȥڧȨƙ׵ҶǼײ仩ڪѫ›÷֬ڭ׶ʜשծʴگڝұڲڳʴګʵڶϳַڰڹҺøﲻڼڞӽξ廿ڵڵ̷οڭڸ̟ұѻڳڽڠڻХګ÷ھڴȹ@ABCDEFGHIJKLعMNOPQRSTUVWعXYZ[\]^_`aϿbcdefghijklmnopqrstuvwxyz{|}~؀ѺزÂ؃؄؅؆؇؈؊؋؍؎؏ؘؙؚؐؑؒؓؔؕؖؗ؛؜؝؞؟ؠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ـفقكلمنهوىيًٌٍَُِّْٕٖٜٟٓٔٗ٘ٙٚٛٝٞ٠@ABCDEFGHIJKLMNڴպOڱƲ̶ַܰᱺṡѷغּ߻ɳĶʹPQRڸSɮӸTUVWպXYZ[\ϸ]^_`abcdeófghijkڽlmnopqrstuvwxyz{|}~ڀڤȁڂڃڄڅچڇڈډڊڋڌڍ׿ڐڻںڕږھڙښڛϰŞڟڠ@ABCDEFGHIJKL۷MNOPQRSTUVWXY۽Z[\]^_ۤ`abcdefghijklmnopqrȲstuvwxyz{|}~ۀ̂ۃۿ帵̄ۅۆۇۈۊۋیۍێ۾ېۑےۓ۔ەۖۗۘۙۚıۜۿ۞ŵ䲟׶@ABCDEFGHڴIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkɪlmnopqrstuvwxyz{|}~܀܁܂܃܄܅܆܇܈܉܊ܦ܌܍܎܏ܐܑܒܓܔܕܖܗܘܙܚܛܜܝܞܟܠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~݂݄݆݈݀݁݃݅݇݉݊݋݌ݍݎݏݐݑݒݓݔݕݖݗݘݙݚݛݜݝݞݟݠ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`޵aνbϽ騸鲱ԻcޡdԽϷդեмeǴٱfghޱijklmnopq޽rstuvw߱xyz{|ި}Ƹ~€ށނރބޭӅ嵷ވ޹Չԥάٳދ̌ϵƎʐޑޓޔűޖޗ޷טޙĚޛޡѷ޸ݵ޾͟庶@ߨAѳBCDEFGHIJKLMNOPQRƱSTUݶVWXYZ[\]^_`abcdefghijߣklmnopqrstuvwxyz{|}ܱ~߁߂߃߅߇߈߉ߊҋ˵ڎڏڐڑߒߓĔߕߗߘ߰ЙښӪǛڜߡߞߥ۟ߠ@AۤBCD༽EFGۦۣHIJKLMN۬ºOPQिRSTԿUVWXYZ[\໳]^_঵`abc༶defghijklmnopqrstuvwxyz{ɱ|}~ہ۵ۄۏېۗ۠@ABCƾDEFGHIӷJKԪLMNOPQRͥSͽ˪TUVWXYZ[\ἴ]^״_`abcdefgéhijklmnopqrstuvwxyz{|}~ɲʌְҿ᪸@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~դ谷Ƹ۶ĵָγؼ̬ǭØã½Ҩ֩ƞˮб淿г̶ջü¸@臨AͶBƶCDEFGﵾHIJKLMNOPQRS餳TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ձγâ]꧷Һ^_`a그bӶcdefghijklmno׽pqrstꢰuv꽸ʼ¤³w°ĵxyz{|}~ݱچ긶ԇŊڋڐϑӡžڟ@ABCDEFگGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeѯ͹fghƴijklmnopqrstuvwxyz{|}ӧ~뢱΍ЫϐլÑė˞ϟ@ABCDEFGHIJKLMNOPQR԰STUVWXYZ[\]^_`abcdefghiǦjk츾lm첾nopǷq쿿rstuvwxyz{|}~саД찰ǜ@AϾBCDEFGHIJKޱLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ȃ¾҈ɉ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEҥϳ˹ٶԭƱռFGҵHͥIſJߵKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvƭwxyɷz{|}~@ABCDEFͲGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~𢼘⹷Ҥʥ˙ȽĞݹ@AʸBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQ¦ͱ۳R󵲿ԾݼS§TҳUVWXYZǹ[\]^_`abcdefghijklmnopqrstuvwxyz߸{|}~מ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ӁϏ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[į𦼰\Ż]^_`͸ab븽cdefghijklmno׺pqrstuvwxyz{|}~@ABCDEFGHIJKLMNOPQRSƻTUVWXYZ[ں\]^_`abcdefghijklmnopqrstuvwxyz{|}~؇Ĺ،܍ʓ@ABCDEFDZGHIJKLMNOPQRSTUVWƴXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ݳȻٗ      !"#$%&'()*,-./0123456789:;<=>?@ABCEFGIJKLNOPQRSTUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPRSTUVWXYZ[\]^_`bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     P@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                  ! " # $ ' ( ) * + , - . / 1 4 6 7 8 9 : < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!! ! ! ! !!!!!!!!!!!!!!!!!! !"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!l!m!n!o!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""" " " " " """"""""""""!"""$"&","-"/"0"1"2"3"8"9":";"<">"?"@"A"B"C"D"E"F"G"I"J"K"M"N"O"P"Q"S"T"U"V"W"X"Y"Z"["\"]"^"_"b"c"h"i"j"k"l"m"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""######### # # # # ################## #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##################################################################################################################################$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$j$k$l$m$n$o$p$q$r$s$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$L%M%N%O%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&& & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&A&.................................................................................................................///////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;//?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000 0*0+0,0-0.0/000102030405060708090:0;0<0=0?0@000000000000000011111*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222 2 2 2 2 2222222222222222222*2+2,2-2.2/2022232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666 6 6 6 6 66666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999 9 9 9 9 999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:t:u:v:w:x:y:z:{:|:}:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==================================================================================================================================>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;????@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;AA?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;BB?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C8C9C:C;CC?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;DD?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;EE?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;FF?F@FAFBFCFDFEFFFGFHFIFJFKFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G$G%G&G'G(G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;GG?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;HH?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;II?I@IAIBICIDIEIFIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyI{I|I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;JJ?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;KK?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLL L L L L LLLLLLLLLLLLLLLLLLL L!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;LL?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMM M M M M MMMMMMMMMMMM M!M"M#M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;MM?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl !"#$%'()*-./03456789:<=>?@ABDEFGHIJKLMNOPQRSVWXYZ[\]^_`abc-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~ "%&2EFGHSXglmnopqrstuvwxyz{|}~_`abcdefghijklmnopqrstuvwxyz{|}~NNNNNNNN N!N#N&N)N.N/N1N3N5N7NO?O@OAOBODOEOGOHOIOJOKOLOROTOVOaObOfOhOjOkOmOnOqOrOuOwOxOyOzO}OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPP P P PPPPPPPPPPP P"P#P$P'P+P/P0P1P2P3P4P5P6P7P8P9P;P=P?P@PAPBPDPEPFPIPJPKPMPPPQPRPSPTPVPWPXPYP[P]P^P_P`PaPbPcPdPfPgPhPiPjPkPmPnPoPpPqPrPsPtPuPxPyPzP|P}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQ Q Q Q QQQQQQQQQQQQQQQQQQ Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQBQGQJQLQNQOQPQRQSQWQXQYQ[Q]Q^Q_Q`QaQcQdQfQgQiQjQoQrQzQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRR R R RRRRRRRRR!R"R#R%R&R'R*R,R/R1R2R4R5RRDRERFRGRHRIRKRNRORRRSRURWRXRYRZR[R]R_R`RbRcRdRfRhRkRlRmRnRpRqRsRtRuRvRwRxRyRzR{R|R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSS S S S SSSSSSSSSSS"S$S%S'S(S)S+S,S-S/S0S1S2S3S4S5S6S7S8SV@VAVBVCVDVEVFVGVHVIVJVKVOVPVQVRVSVUVVVZV[V]V^V_V`VaVcVeVfVgVmVnVoVpVrVsVtVuVwVxVyVzV}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWW W W WWWWWWWWWWWWWWWWW W!W"W$W%W&W'W+W1W2W4W5W6W7W8WX?X@XAXBXCXEXFXGXHXIXJXKXNXOXPXRXSXUXVXWXYXZX[X\X]X_X`XaXbXcXdXfXgXhXiXjXmXnXoXpXqXrXsXtXuXvXwXxXyXzX{X|X}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYY Y Y Y YYYYYYYYYYY Y!Y"Y#Y&Y(Y,Y0Y2Y3Y5Y6Y;Y=Y>Y?Y@YCYEYFYJYLYMYPYRYSYYY[Y\Y]Y^Y_YaYcYdYfYgYhYiYjYkYlYmYnYoYpYqYrYuYwYzY{Y|Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z Z ZZZZZZZZZZZZZZ!Z"Z$Z&Z'Z(Z*Z+Z,Z-Z.Z/Z0Z3Z5Z7Z8Z9Z:Z;Z=Z>Z?ZAZBZCZDZEZGZHZKZLZMZNZOZPZQZRZSZTZVZWZXZYZ[Z\Z]Z^Z_Z`ZaZcZdZeZfZhZiZkZlZmZnZoZpZqZrZsZxZyZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[ [ [ [ [[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[3[5[6[8[9[:[;[<[=[>[?[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[R[V[^[`[a[g[h[k[m[n[o[r[t[v[w[x[y[{[|[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\ \ \ \\\\\\\\\\ \!\#\&\(\)\*\+\-\.\/\0\2\3\5\6\7\C\D\F\G\L\M\R\S\T\V\W\X\Z\[\\\]\_\b\d\g\h\i\j\k\l\m\p\r\s\t\u\v\w\x\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]] ] ] ] ] ]]]]]]]]]]]]]] ]!]"]#]%](]*]+],]/]0]1]2]3]5]6]7]8]9]:];]<]?]@]A]B]C]D]E]F]H]I]M]N]O]P]Q]R]S]T]U]V]W]Y]Z]\]^]_]`]a]b]c]d]e]f]g]h]j]m]n]p]q]r]s]u]v]w]x]y]z]{]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^ ^ ^ ^ ^^^^^^^ ^!^"^#^$^%^(^)^*^+^,^/^0^2^3^4^5^6^9^:^>^?^@^A^C^F^G^H^I^J^K^M^N^O^P^Q^R^S^V^W^X^Y^Z^\^]^_^`^c^d^e^f^g^h^i^j^k^l^m^n^o^p^q^u^w^y^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ _ _ ___________!_"_#_$_(_+_,_._0_2_3_4_5_6_7_8_;_=_>_?_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_Q_T_Y_Z_[_\_^___`_c_e_g_h_k_n_o_r_t_u_v_x_z_}_~________________________________________________________________________`` ` ` `````````"`#`$`,`-`.`0`1`2`3`4`6`7`8`9`:`=`>`@`D`E`F`G`H`I`J`L`N`O`Q`S`T`V`W`X`[`\`^`_```a`e`f`n`q`r`t`u`w`~````````````````````````````````````````````````````````````````````````````aaaaa a a aaaaaaaaaaaaaa!a"a%a(a)a*a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;aa@aAaBaCaDaEaFaGaIaKaMaOaPaRaSaTaVaWaXaYaZa[a\a^a_a`aaacadaeafaiajakalamanaoaqarasatavaxayaza{a|a}a~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb bbbbbbb b#b&b'b(b)b+b-b/b0b1b2b5b6b8b9b:b;bc?c@cAcDcGcHcJcQcRcScTcVcWcXcYcZc[c\c]c`cdcecfchcjckclcocpcrcsctcucxcyc|c}c~ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddd d d dddddddddddd"d#d$d%d'd(d)d+d.d/d0d1d2d3d5d6d7d8d9d;dd@dBdCdIdKdLdMdNdOdPdQdSdUdVdWdYdZd[d\d]d_d`dadbdcdddedfdhdjdkdldndodpdqdrdsdtdudvdwd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeee e e e eeeeeeeeeeeeeeeee e!e"e#e$e&e'e(e)e*e,e-e0e1e2e3e7e:eg?gAgDgEgGgJgKgMgRgTgUgWgXgYgZg[g]gbgcgdgfgggkglgngqgtgvgxgygzg{g}gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhh hhhhhhhhhhhh h"h#h$h%h&h'h(h+h,h-h.h/h0h1h4h5h6h:h;h?hGhKhMhOhRhVhWhXhYhZh[h\h]h^h_hjhlhmhnhohphqhrhshuhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiii i i iiiiiiiiiiiiiii!i"i#i%i&i'i(i)i*i+i,i.i/i1i2i3i5i6i7i8i:i;ii@iAiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiUiViXiYi[i\i_iaibidieigihiiijilimioipirisitiuivizi{i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjj j j j jjjjjjjjjjjjjjjj j"j#j$j%j&j'j)j+j,j-j.j0j2j3j4j6j7j8j9j:j;jl?lClDlElHlKlLlMlNlOlQlRlSlVlXlYlZlblclelflglklllmlnlolqlslulwlxlzl{l|lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmm m m mmmmmmmmmmmm m!m"m#m$m&m(m)m,m-m/m0m4m6m7m8m:m?m@mBmDmImLmPmUmVmWmXm[m]m_mambmdmemgmhmkmlmmmpmqmrmsmumvmymzm{m}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnn n nnnnnnnnnnn"n&n'n(n*n,n.n0n1n3n5n6n7n9n;nn?n@nAnBnEnFnGnHnInJnKnLnOnPnQnRnUnWnYnZn\n]n^n`nanbncndnenfngnhninjnlnmnonpnqnrnsntnunvnwnxnynzn{n|n}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooo o o o ooooooooooooooo!o"o#o%o&o'o(o,o.o0o2o4o5o7o8o9o:o;op?p@pApBpCpDpEpFpGpHpIpJpKpMpNpPpQpRpSpTpUpVpWpXpYpZp[p\p]p_p`papbpcpdpepfpgphpipjpnpqprpsptpwpypzp{p}ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqq q q qqqqqqqqqqqq q!q"q#q$q%q'q(q)q*q+q,q-q.q2q3q4q5q7q8q9q:q;qq?q@qAqBqCqDqFqGqHqIqKqMqOqPqQqRqSqTqUqVqWqXqYqZq[q]q_q`qaqbqcqeqiqjqkqlqmqoqpqqqtquqvqwqyq{q|q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrr r r r r rrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r)r+r-r.r/r2r3r4r:rr@rArBrCrDrErFrIrJrKrNrOrPrQrSrTrUrWrXrZr\r^r`rcrdrerhrjrkrlrmrprqrsrtrvrwrxr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr  !"#$%00000 ^ &     000 0 0 0 0 00000006"'"("""*")""7"""%" "#"+"."a"L"H"=""`"n"o"d"e""5"4"B&@&2 3 !0 !&&%%%%%%%%%; !!!!0&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~p!q!r!s!t!u!v!w!x!y!fghijk$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$ m 2!2"2#2$2%2&2'2(2)2no`!a!b!c!d!e!f!g!h!i!j!k!pq  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000rstuvwxyz{|FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~00000000000000000000000000000000000000000000000000000000000000000000000000000000000000}~569:?@=>ABCD;<78134  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO  % 5 ! !!!!!""#"R"f"g""P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%%%%%%%%%%%%%%%%%%%%%%%%% &"000+MkQ?DHa1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1!0"0#0$0%0&0'0(0)02333333333330!!12 00000000IJKLMNOPQRTUVWYZ[\]^_`abcdefhijk>0////////////0%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K% rrrrrrrrrrrrrrrrrsssssss s s s ssssssssss s#s$s&s's(s-s/s0s2s3s5s6s:s;s?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]rssstsusvswsxsyszs{s|s}sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss^_`abcdefghijklmnopqrstuvwxyz{|}~sssssssstttttt t t ttttttttttttttt t!t#t$t't)t+t-t/t1t2t7t8t9t:t;t=t>t?t@tBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtVtXt]t`tatbtctdtetftgthtitjtktltntotqtrtstttutxtytzt {t|t}tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwtttttttttuuuuuuuu u u u uuuuuuuuuuu u!u"u#u$u&u'u*u.u4u6u9uw?wBwDwEwFwHwIwJwKwLwMwNwOwRwSwTwUwVwWwXwYw\wO!Xq[bbfyrogx`QSS̀ PrY`qTY,g({)]~-ulf<;k{|_xք=kkk^^u]e __X[,AbOS^SMhj_h֜a+R*vl_eon[HduQQgNy|p]w^w_w`wdwgwiwjwmwnwowpwqwrwswtwuwvwwwxwzw{w|wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuv^sdblZSRd”{/O^6$nlsUc\STeW N^ek?|`dsPgMb"lw)Ǒi_܃!Sk``p͂1Nlυd|ifISV{OQKmB\mcS,6gx=d[\]bgzdcI N fswwwwwwwwwwwwwwxxxxxx x xxxxxxxxx x!x"x$x(x*x+x.x/x1x2x3x5x6x=x?xAxBxCxDxFxHxIxJxKxMxOxQxSxTxXxYxZx[x\x^x_x`xaxbxcxdxexfxgxhxixoxpxqxrxsxtxuxvxxxyxzx{x}x~xxxxxx:W\8^PS^eEu1U!Pbg2Vno]5Tpfobdc{_oば\hf_lHldyWYjbHTXN z`oڋbyTucS`lߏ_p;O:\depEQQk][bltu zay{N~wNRQqjSϖndZixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyy y y y y@xPwdYc]z=i O9U2Nuzb^^R9Tpvc$W%f?iUm~"3b~u(x̖Hat͋dk:RP!kjqVSNNQ||O{zgd]Pv|mQgX[[xddc+c-dT{)vSb'YFTykP4b&^kN7_. yyyyyyyyyyyyyyyyy y!y"y#y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y5y6y7y8y9y=y?yByCyDyEyGyJyKyLyMyNyOyPyQyRyTyUyXyYyaycydyfyiyjykylynypyqyrysytyuyvyyy{y|y}y~yyyyyyyyyyyyyyy `=b9NUScƀe.lFO`mދ9_ˆS_!cZQachRccHP\wy[0R;z`Sv__vlop{vI{wQ$XNOnLe{rmZb^0W,{^_cnxpxQ[W5uCO8u^``YmkxSՖQRc T̍9rxv Syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz z z zzzzzzzzzzzzNvSv-["NNQcaR hOk`Qm\QbeaFucwkrr5XywL\g@^!nYzw;keXQQ[X(TrfeVvAcTY:YW5g5AR`X\EO%Zv`S|bOi` ?Q3\u1mNzz!z"z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z4z5z6z8z:z>z@zAzBzCzDzEzGzHzIzJzKzLzMzNzOzPzRzSzTzUzVzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozqzrzszuz{z|z}z~zzzzzzzzzzzzzzzzzzz0SZO{OONls^ju jwA~QpSԏ)rmlJWe?b2YN~>e^aUޘ*S T^l9Z)TlR~_Wq~l|KYN_$a|0N\g\ Θup"QIYQ[O&T+Yweu[vbbE^l&{OO gzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{ { { {{{{{{{{{{{{!{"{#{'{){-{nmmy_+ubOܑe/Q^PtoRK YPN6ry[DYTvVV9eivnr^uFggzvaybecQR8~\/n`g{vؚ|dP?zJTTLkdb=urRi[|B|i[wm&lN[ca+Tm[QUUdMcea` qWlIl/Ymg*XVjkݐ}YSimuTUwσ8hyTUOTvlmkd:?Vўu_rh`TN*jaR`pTpy?*m[_~UO4ssn;uRS݋i_`mOW"ksSh؏bc`$Uubqm[{^RLaĞxW'|vQ`LqCfL^M`pp%c_b`ԆVk`gaIS`ff?yOpGl~dfZZBQmmA;mOkpb` 'xyQ>WW:gxu=zy{|||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}} } } } }}}}}}}}}}}}}}}}}}}!}#}$}%}&}(})}*},}-}.}0}1}2}3}4}5}6}eo!Y~  TghM|ƖS%`urlsSZ~$cQ ]߄bQc[OmyBR`Nm[[e_EY~~ Vg9YsO[RZ>2uGP}?}@}A}B}C}D}E}F}G}H}I}J}K}L}M}N}O}P}Q}R}S}T}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}o}p}q}r}s}t}u}v}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}eP0QRonnm^PY\Fm_luhhVY SqMIiy&qNʐGmZVdwOr҉z4~RYeuSzccvyW6*bRThpgwckwzm~YbɅLuPNuJ\]K{eёN%m_'}&N(ۏsKfyяpxm}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}=\RFbQ[wvfN`||~NfofYXle\_uVzzQpzcvz~sENxp]NRSQeeT1\ubruE\yʃ@\Tw>NlZbnc]wQݍ/OS`pgRPcCZ&P7wwS~d+ebcP5rɉQ~GW̃QT\}}}}}~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~8~9~:~<~=~>~?~@~B~C~D~E~F~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~[~\~]~OzZmᐏUTaST_cwiQha R*XRNW x w^wa|[bbNpbp`wWۂghxyXTS4nKQ;R[CUWs`QW-TzzP`T[cbScb[gTzw^8YWcWWw{O_[>k!SP{rFhw6weQNv\zuNYAP^~_~`~a~b~c~d~e~f~g~h~i~j~k~l~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79;<=>?@ACFGHIJKLMNORS'andWfFcVbib^WbU!JfUegV݄jZhb{pQo0cȉapntir^ΐgjm^cRbrlOYjpmRPNm~x/}!QWd{|lh^iQShrΞ{ryotNg̑xS)RPOOVY[\]^`cdefgklmopsuvwxz{|}uz|lRtTOTޏp^`m^[e8K`p~|Qh|o$Nϑ~fNdJPuq[foNdc^eRˆpRs3tgx4NޜmQATbsÔ6OQupu\SNn tikxYuR$vAmgmQKT<{z !#$+,-./0249:<>@ADEGHINOPQSUVWY[\]^_`abcdefghklmnoprstuvwxyz{|}WbG|iZd{oKbS^pcdSOx2B^oyU_F.btTݔOee\a\Q/l_sn~\cj[nuSqNceubn&ONl~W;#{=m~YsxlVTWpNVSȏ wnfba+o~ŀǀȀɀʀˀπЀрҀӀԀՀ؀߀  !"#$%&'()*+-.034579:;<=?)+vl_+skwƔoSQ=^8HNsghv dql wZAk'f[YZN jv0sh_[/wa|%_s|yʼnl[B^h w~QMQR)ZbׂcwЅy:n^YmplbvOe`f# T}T,xd@ABCDEGIMNORVWX[\]^_abcdfhjklorsuvwxāŁǁȁɁˁ́΁ρЁсҁӁyd!jxidTb+gX؞l o[L _rgbarNYkXfU^RUa(gvfwgrFzbTPTZ~lCNvYHYWS7uV c|`mbTQZY*Pl<\b`O?S{n+bt^xd{c_Z?\OcB}[nUJMm`grQ[ԁՁցׁ؁فځہ܁݁ށ߁  $%&').2:<=?@ABCEFHJLMNPQRSTUVWY[\]^`abcdefgibl[rmb~SmQ_tYR`sYfPu*ca|T'k%kՅUTvPljU,r^`6tbcLr_Cn>meXovxvTu$RSSN^e*րbT(RpэlxTڀWTjMiOlUv0xbpom_h|x{ gOgcxoWx9ybbR5tkjklmquvwx{|‚ÂłƂɂЂւقڂ݂  !"#$%&)*.027;=dU>uv9SuPA\l{OPGrؘothydwb+TXRNjW s^QtċO\aWlFZ4xD돕|VRQbNa郲W4gWnffm1fpg:khbYNQoglvQhGYgkfu]PeHyAyw\^NO/TQY xhVlď_}llc>?ABDEHJKLMNSUVWXY]bpqrstuvyz~ƒÃăƃȃɃ˃̓΃Ѓу҃ӃՃ׃كڃۃރp`=murfbŔCS~{N&~NԞMR\ocEm4XL] kIkg[TTX7:_bGj9re`ehwTNO]d\OzRN/`zONy4tRdy[lR{"l>PSndtf0l`w^?@ABCDEGHIJKLMNOPRSTUVX]^_`bdefghjnoprtwy{|S6ZSWCglhQubr8RR:p8vtSJinxو6qqQgtXeVvpb~`pXNN_NRY~TbNeb8Ʉcqn[~Qcg9Qz[YsN]leQ%o.J^tm1_dm(nÜ^X[ NS}~„ÄńƄDŽȄ˄̄΄τ҄ԄՄׄ؄لڄۄ܄ބOceQhU'NdkbZ_trmhPx@g9Rl~PeU^q[{RfsIgq\ R}qkUdaUUlGb.X$OFUOLf N\hNc zpR\T~bYJdž fDd\Qam>y7x3u{T8Om Z~^yl[vZuNanXu%urrGS~  "#$%&'()*-./0123456>?@ABDEFGKLMNOPQRSTUWXZ[\]_`abcefgijklmnopqsuvwx|}wviR܀#W^1Yren׋8\qASwbeNߘ[ƋSwON\vY_:yXNgNbR/fUlVNOʑpl^C`[ƉՋ6eKb[[c.US&v}Q,ghkbSmufNNp[qffr͞ ^\/gh_g bzX^pe1o…ÅąŅƅDžȅʅ˅̅ͅ΅х҅ԅօׅ؅مڅۅ݅ޅ߅U`7R Tdp)u^hbS=r4lawz.TwzUxgped6V`ySN{k[UV:O?@ABCDEFGHIJKLRSUVWXY[\]_`acdefghijmscK΀ԂbSl^*Y`plMWJd*+vn[Wjumo-fWkxcSpdlXX*dXhU|Pmpcmn~ChmvWYyr~uhTR"cD|USOfV`mCRI\)YmkX0uul`Fcag:w4^S,Tpmoprstuvwx†ÆņȆ̆͆҆ӆՆֆ׆چ܆݆ @l^\PN^:cGPhnw Tܔd_zvhEcR{~uwPb4YQyzV_m`\WTTQMnVc*To\bXb15@n|-iYb>UcTن\~*gsTOuÀUOMO-n \pakSv)ne~;T3z }UtcmzbegScl]\TLNalK\eh>T4TkfkNBcHS OO^W bdfirRR`fqgRxwpf;V8T!zr‡ÇćŇLJȇɇ͇̇·χЇԇՇևׇ؇هڇ܇݇އ߇  #zo` ^`Y`qpnPlrj-^`NZUm|b~w~#Sf\Or NSYTc(HQN~T$T7m&_Z>fis.sSz[wP~vSv{DXnaNey`TNy]ajPTa']xJRTVm[mSf$%&'()*+,-./01345678:;=>?ABCFGHIJKNOPQRSUVXZ[\]^_`fgjmoqstuvxyz{|\][!hxU{HeTiNGkNOSc:deQhxSall"Q\ #ke__OEfe)s`tQRWb_Lx^Og'`YDQQSylĖqOO=gUy~X bZV{_ĄWSe^\ud`n}Z~~iU[`esÈĈLjȈʈˈ͈̈ψЈшӈֈ׈ڈۈ܈݈ވ  "#$&'(),-./12357 cv)w~tf[tz@Rq_e[o]k[l ŏSb&-@T+NYr]YmŖTN qT pmv%Nx\^plDYcopYvt89:;<=>?@BCEFGHIJKLMNOPQRSTUVWXYZ[\]`abcdeghijklmnopqrstuvwxyz|}~Gd'\ez#YTo0iNV67rΑQ_NucNSfKYmNX;ScO Oc7YWyNul[Y]_iP]YNwNzbfy\Ny_Ɓ8uNԈak_INvn㋮ ы_~5kVk4YTm[n9\_É͉ӉԉՉ׉؉ىۉ݉߉ pS1jtZp^($%gGΏbvq_lx fTbcOÁu^͖ Tlm8l`R(u}^O`_$\1url8nI gSSQOɑS|^mNvi^aYOO>| annN1ZN\y[틽sWTGU\_a2kr !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~tm[Ոkm3 nQCQWScVXTW?sn܏т?a(`bf~Í\|g`NShAQЏt]UfU[S8xBg=hT~p[}Q(WTef^Clm|QgeojV vvpq#bRl<`Xaf`NbU#n-ggŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊ(whiTMNpȋXde[z:P[wky|lve-]U\8h`Sbz[n~jzp_3o _cmVgN^&N4vb-f~blugqiFQSnbTُYmsewu'xOguʋ/cG5#cAw_rN`tebck?e  !"#$%'()*+,-./0123456789:;<=>?@ABCDE'^uѐg/e1TwAlKN~Lv ikgb?@BCDEHJKMNOPQRSTVWXY[\]^_`cdefghilmnopqrtuvw{|}~N N@QN^ESNNN2l[iV(Ny?NSGN-Y;rnSlV䀗k~w6NN\NiNN[[lUVNSSSSSe]SS&S.S>S\fScSRRR-R3R?R@RLR^RaR\R}RRRRRQTNNNNNNNNON"OdON%O'O O+O^OgO8eZO]OŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌ _OWO2O=OvOtOOOOO~O{OO|OOOOOOOOOOOOO)PLPO,PP.P-POP P%P(P~PCPUPHPNPlP{PPPPPPQPPPPQ QN=lXOeOOFlt|nQ]ɞQYR SSQYUQNVQNnN҈y4[QQQQ QRW_ehijlnoqrxyz{|}~ōǍȍɍʍ͍ЍҍӍԍQQQQ‹Ëˋϋ΋ҋӋԋ֋؋ً܋ߋ  !%'*+./2356iSzS"!1*=?CEFLMNOPSTUVWXZ[\]^_`abcdeghjknqϐŐАĐǐӐܐאې"#1/9CF RBYRRRRTRRRSqw^QQ/S_Zu]LWWW~XXXX)W,W*W3W9W.W/W\W;WBWiWWkWW|W{WhWmWvWsWWWWWWWWWWWWWWWWWWWWWsuwxyz{}~ŽÎĎŎƎǎȎɎʎˎ͎̎ώЎюҎӎԎՎ֎׎؎َڎێ܎ݎގߎ X XWWXXXDX XeXlXXXXXay}Ȃʂ゘˂̂Ă΂ ܂҂؂ ӂՂQ[\<41^/OGC_@`-:3fe  !"#$%&'()*+,-./0123456789:;<=>?@ABCDhiljmnx|}{؃X ݃փ8ԃ߃Ń&\QZYszx?@ABD7UVUuUvUwU3U0U\UUUUUUUUU~UUU{UUUUUUUUUVUUUUUUUUUUUUUUUUVV VV$V#VUV'V-VXV9VWV,VMVbVYV\VLVTVVdVqVkV{V|VVVVVVVVVVVVW W WW^^^^1^;^<^EGHQSTUVXY[\_`fghkmsz{|‘ÑđőƑȑˑБґӑԑՑ֑בّؑڑۑݑޑߑ7^D^T^[^^^a^\z\\\\\\\\\\\\\\\\\\\\\\\\]]']&].]$]]]]X]>]4]=]l][]o]]]k]K]J]i]t]]]]s]]s_w____________ba_rrrrrrrrrrrrrrrrsrsr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDErss!s ssss"s9s%s,s8s1sPsMsWs`slsos~s%Y$YYcghijkltw}^^^^^^^^^^S^^^^^____`_`___``___`5`&``` `)`+` `?`!`x`y`{`z`B`FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~j`}````````````````` a&aa#a`aa+aJauaaaaaaa_ ,N?rb5lTl\lJllllllhliltlvllllllllllllllllllll’ÒĒŒƒǒɒʒ˒̒͒ΒϒВђҒӒԒՒ֒גْؒڒےܒݒޒߒ 9m'm mCmHmmmmm+mMm.m5mmOmRmTm3mmommm^mmm\m`m|mcmnmmmnmmnmmmnm nm+nnnNnknn_nnSnTn2n%nDnnnnn-onnnnnnnnnnnnboFoGo$oon/o6oKoto*o o)ooooxoro|ozoo  !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghikoooooooooop#pp9p5pOp^p[[[[[[/u4d[[0[GӏՏ & !56-/DQRPhXb[ft}P_W_V_X_;\TP\Y\q[c\f\*_)_-_t<_;n\YYYYYYlmnopqrstuvwxyz{|}~“ÓēœƓǓȓɓ˓͓̓YYYYYYYYYYZZYZYYY Z Z2Z4ZZ#ZZ@ZgZJZUZusssssssssssssss| tssssst*t[t&t%t(t0t.t,t/0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~ǔϔӔԔڔ ttAt\tWtUtYtwtmt~ttttttttttttttLgSg^gHgigggjgsgggugggggwg|gg hg hgg hggggghggghgg2h3h`hahNhbhDhdhhhUhfhAhgh@h>hJhIh)hhhthwhhkhhnihi ih'3=CHKUZ`ntuwxyz{|}~•ÕĕŕƕǕȕɕʕ˕$ih iiWihiqi9i`iBi]iikiiixi4iiiiiificiyiiiiiiiiiiiiiii/jijjejiDj>jjPj[j5jjyj=j(jXj|jjjjjj7sRskkkkkkkkkkkkmqrsuvxwyz|~͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕ #$%&'()+,-/0789:>ACJNOQRSVWXYZ\]^`cefkmnopqsxyz{|}~Ύ bbbb"b!b%b$b,btttuuu4eeee ffrgfffpff4f1f6f5f_fTfAfOfVfafWfwffffffffff236;=@EFHIGMUYljʉˉ̉ΉωЉщnrr]rfror~rrrrrrrc2cc–ÖȖʖ˖ЖіӖԖ֖זٖؖږۖܖݖޖߖ  ?ddkkkkklll lllll!l)l$l*l2l5eUekeMrRrVr0rbR gۀ€Āـ̀׀g݀ gZ6,2HLStYZq`i|}mgMXZń&gʁ!"#$%&'()+,./134567:;<=?@ABCDEFGHIJKLMNOPQTUWXZ\]_cdfghjklmnopqruwxyz{}~$k7k9kCkFkYkјҘӘ՘٘ژk@_keQeeeeeeeeepppppppppppqqq/q1qsq\qhqEqrqJqxqzqqqqqqqqqqr(rlpqfqq>b=bCbHbIb;y@yFyIy[y\ySyZybyWy`yoygyzyyyyyy__—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗ <`]`Z`g`A`Y`c``a a]aaaaabllmwwx xxxxe-xxx9x:x;xx?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnbwewww}wwwwwwwww:u@uNuKuHu[uruyuuXa_Hhtqy~vv2ĔȔɔʔ˔͔̔ΔДєҔՔ֔הٔؔ۔ޔߔopqrst˜ØĘŘƘǘȘɘʘ˘̘͘ϘИԘ֘טۘܘݘ "*+),124678<>?B5DEFILNORSTVWXY[^_]abdefghijkloqrs:wwɖyyyyzG]zzzz  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSVWXYZ[\]^_`abdfsxy{~9z7zQzϞpzvvvvvtt,u "()*+,216879:>ABDFGHIKLNQUWZ[\^cfghijklqmsuuuuuuuuuuuuuuuuuuuuuuuvuuuvvv vv v%vvvv™ÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙvv3vMv^vTv\vVvkvovzxzyzzzzzzzzzzzdir}ƈɈΈ! 4+6Af{u倲vvw "%&')(1 5CFMRiqx  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYMTlnz|{ĆΆɆφІކ߆؆ц #;%.>H41)7?"}~{`pLnSc|dYe҇Z[\]^_`abcdefghijkrÚĚƚǚȚɚʚ͚ΚϚКҚԚ՚֚ךٚښۚܚݚޚƇ凬ˇӇчʇۇ !9<6BDEzz{{{{ {+{{G{8{*{{.{1{ {%{${3{>{{X{Z{E{u{L{]{`{n{{{b{r{q{{{{{{{{{{{{{{{{{{{{{{ |{{|| |  !"$%&'()*+,-.013456789:=>?@FJKLNPRSUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|*|&|8|A|@|D!"#-/(+8;34>DIKOZ_h~؈߈^||Ie||||||||||||||||nf|w}}}G~~sgmGIJPNOd|}~›ÛěśƛǛțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛbapio}~rtyU~Yič֍׍ڍލ΍ύۍƍ ,.#/:@95=1IABQRJpv|otxe։މډ܉ܛݛޛߛ  !"#$%&'()*+,-./0123456789:;>&S*-0> ΖҖwȒ>jʓ>k#zĜŜƜǜʜ˜<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~œȜɜќҜڜ̜ۜ͜ΜϜМӜԜ՜ל؜ٜܜݜߜ|XŚš˚̚њECGIHMQ .UTߚ#;~֓۞ܞݞߞ",/97=>D  !"#$%&'()*+,-./0123456789:;<=>?@AB456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝ם؝ٝڝ۝ܝݝޝߝ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM $'.04;<@MPRSTVY]_`abenortuvwxyz{|}NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~žÞŞƞǞȞʞ˞̞ОҞӞ՞֞מٞڞޞ !#$%&'()*+-.01 234568:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  !#$'()..s4G4..566..n99&99s:9+,N;n<<.12.V@_A.7C...;CC.CDaFLFC#G)G|GG.GIzI}IIIIIIIIITULLLLwLLMMMMMMMMdhijklmnopqrstuvwxyz{|}~      !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHpIqJrKsLtMuNvOwPxQy Rz S{ T| U} V~WXYZ[\]^_`abcdefgh i!j"k#l$m%n&o'HpIqJrKsLtMuNvOwPxQy Rz S{ T| U} V~WXYZ[\]^_`abcdefgh i!j"k#l$m%n&o'PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~????????? ? ? ? ? ??????????????????? ?!!?""?##?$$?%%?&&?''?((?))?**?++?,,?--?..?//?00?11?22?33?44?55?66?77?88?99?::?;;?<<?==?>>????@@AABBCC DD EE% FF5 GG!HH !II!JJ!KK!LL!MM"NN"OO#"PPR"QQf"RRg"SS"TTP%UUQ%VVR%WWS%XXT%YYU%ZZV%[[W%\\X%]]Y%^^Z%__[%``\%aa]%bb^%cc_%dd`%eea%ffb%ggc%hhd%iie%jjf%kkg%llh%mmi%nnj%ook%ppl%qqm%rrn%sso%ttp%uuq%vvr%wws%xx%yy%zz%{{%||%}}%~~%?%%%%%%%%%%%%%%%%% &"000*2LOj*m,>+C.Ga¨¨èèĨĨŨŨ1ƨƨ1ǨǨ1ȨȨ1ɨɨ 1ʨʨ 1˨˨ 1̨̨ 1ͨͨ 1ΨΨ1ϨϨ1ШШ1ѨѨ1ҨҨ1ӨӨ1ԨԨ1ըը1֨֨1רר1بب1٨٨1ڨڨ1ۨۨ1ܨܨ1ݨݨ1ިި1ߨߨ1 1!1"1#1$1%1&1'1(1)1?????????? ? ? ? ? ??????????????????? ?!!?""?##?$$?%%?&&?''?((?))?**?++?,,?--?..?//?00?11?22?33?44?55?66?77?88?99?::?;;?<<?==?>>????@@AABBCC DD EE FF GG HHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ [[!\\"]]#^^$__%``&aa'bb(cc)dd*ee+ff,gg-hh.ii/jj0kk1ll2mm3nn4oo5pp6qq7rr8ss9tt:uu;vv<ww=xx>yy?zz@{{A||B}}C~~D?EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeѧҧӧԧէ֧קا٧ڧۧܧݧާߧ !"#$%&'()*+,-./§§ççħħŧŧƧƧǧǧȧȧɧɧʧʧ˧˧̧̧ͧͧΧΧϧϧЧЧѧҧӧԧէ֧קا٧ڧۧܧݧާߧ !"#$%&'()*+,-./?????????? ? ? ? ? ??????????????????? ?!!?""?##?$$?%%?&&?''?((?))?**?++?,,?--?..?//?00?11?22?33?44?55?66?77?88?99?::?;;?<<?==?>>????@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~?¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ¦æĦŦƦǦȦɦEʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ&!٦٦ڦڦۦۦܦܦݦݦަަߦߦ569:?@=>ABCD;<78134?????????? ? ? ? ? ??????????????????? ?!!?""?##?$$?%%?&&?''?((?))?**?++?,,?--?..?//?00?11?22?33?44?55?66?77?88?99?::?;;?<<?==?>>????@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~?  !£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:ۣۣ;ܣܣ<ݣݣ=ޣޣ>ߣߣ?@!£"ã#ģ$ţ%ƣ&ǣ'ȣ(ɣ)ʣ*ˣ+̣,ͣ-Σ.ϣ/У0ѣ1ң2ӣ3ԣ4գ5֣6ף7أ8٣9ڣ:[\]?????????? ? ? ? ? ??????????????????? ?!!?""?##?$$?%%?&&?''?((?))?**?++?,,?--?..?//?00?11?22?33?44?55?66?77?88?99?::?;;?<<?==?>>????@@&AA'BB(CC)DD*EE+FF,GG-HH.II/JJ0KK1LL2MM3NN4OO5PP6QQ7RR8SS9TT:UU;VV<WW=XX>YY?ZZ@[[A\\B]]C^^D__E``FaaGbbHccIddJeeKffLggMhhNiiOjjPkkQllRmmSnnTooUppVqqWrrXssYttZuu[vv\ww]xx^yy_zz`{{a||b}}c~~d?efghijklmnopqrstuvwxyz{|}~`!a!b!c!d!e!f!g!h!i!fghijk$$$$$$$$$$$$$$$$$¢¢$ââ$ĢĢ$ŢŢt$ƢƢu$ǢǢv$ȢȢw$ɢɢx$ʢʢy$ˢˢz$̢̢{$͢͢|$΢΢}$ϢϢ~$ТТ$ѢѢ$ҢҢ$ӢӢ$ԢԢ$բբ$֢֢$עע$آآ$٢٢`$ڢڢa$ۢۢb$ܢܢc$ݢݢd$ޢޢe$ߢߢf$g$h$i$ m 2!2"2#2$2%2&2'2(2)2no`!a!b!c!d!e!f!g!h!i! j! k!pq?RRæRRĦRRŦRRƦRRǦRRȦRRɦRRʦRR˦ R R̦ R Rͦ R RΦ R RϦ R RЦRRѦRRҦRRӦRRԦRRզRR֦RRצRRئRR٦RRڦRRۦRRܦRRݦRRަRRߦRRRRRR R R!R!R"R"R#R#R$R$R%R%R&R&R'R'R(R(R)R)R*R*R+R+R,R,R-R-R.R.R/R/R0R0R1R1R2R2R3R3R4R4R5R5R6R6R7R7R8R8R9R9R:R:R;R;RR>R?R?R@R@RARARBRBRCRCRDRDRERERFRFR GRGR HRHR IRIR JRJR KRKRLRLRMRMRNRNRORORPRPRQRQRRRRRSRSRTRTRURURVRVRWRWRXRXRYRYRZRZR[R[R\R\R]R]R ^R^R!_R`R"_R`R"aRbR$aRbR$cRdR&cRdR&eRfR(eRfR(gRhR*gRhR*iRjR,iRjR,kRlR.kRlR.mRmR0nRnR1oRpR2oRpR2qRrR4qRrR4sRtR6sRtR6uRvR8uRvR8wRxR:wRxR:yRzR<yRzR<{R|R>{R|R>}R~R@}R~R@RRBRRBRRDRRDRRFRRFRRHRRHRRJRRJRRLRRLRRNRRNRRPRRPRRRRRRRRTRRTRRVRRVRRXRRXRRZRRZRR\RR\RR^RR^RR`RR`RRbRRbRRdRRdRRfRRfRRhRRhRRjRRjRRlRRlRRnRRnRRpRRqRRrRRsRRtRRuRRvRRwRRxRRyRRyRR{RR{R}RR~RR~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR§QQåQQĥQQťQQƥQQǥQQȥQQɥQQʥQQ˥ Q Q̥ Q Qͥ Q QΥ Q Qϥ Q QХQQѥQQҥQQӥQQԥQQեQQ֥QQץQQإQQ٥QQڥQQۥQQܥQQݥQQޥQQߥQQQQQQ Q Q!Q!Q"Q"Q#Q#Q$Q$Q%Q%Q&Q&Q'Q'Q(Q(Q)Q)Q*Q*Q+Q+Q,Q,Q-Q-Q.Q.Q/Q/Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7Q8Q8Q9Q9Q:Q:Q;Q;QQ>Q?Q?Q@Q@QAQAQBQBQCQCQDQDQEQEQFQFQ GQGQ HQHQ IQIQ JQJQ KQKQLQLQMQMQNQNQOQOQPQPQQQQQRQRQSQSQTQTQUQUQVQVQWQWQXQXQYQYQZQZQ[Q[Q\Q\Q]Q]Q ^Q^Q!_Q_Q"`Q`Q#aQaQ$bQbQ%cQcQ&dQdQ'eQeQ(fQfQ)gQgQ*hQhQ+iQiQ,jQjQ-kQkQ.lQlQ/mQmQ0nQnQ1oQoQ2pQpQ3qQqQ4rQrQ5sQsQ6tQtQ7uQuQ8vQvQ9wQwQ:xQxQ;yQyQ<zQzQ={Q{Q>|Q|Q?}Q~Q@}Q~Q@QQBQQBQQDQQDQQFQQFQQHQQHQQJQQJQQLQQLQQNQQNQQPQQPQQRQQRQQTQQTQQVQQVQQXQQXQQZQQZQQ\QQ\QQ^QQ^QQ`QQaQQbQQbQQdQQdQQfQQfQQhQQhQQjQQjQQlQQlQQnQQoQQpQQqQQrQQsQQtQQuQQvQQwQQxQQyQQzQQ{QQ|QQ}QQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ¦++,++,++,++,++,++,++,++,+ +,+ +, + +, + +, + +, + +,++,++,++,++,++,++,++,++,++,++,++,++,++,++,++,++,++,++, +!+, +!+,"+#+,"+#+,$+$+,%+%+,&+&+,'+'+,(+(+,)+)+,*+*+,++,+,++,+,-+.+,-+.+,/+/+,0+0+,1+1+,2+2+,3+3+,4+4+,5+5+,6+6+,7+7+,8+8+,9+9+,:+:+,;+;+,<+<+,=+=+,>+>+,?+?+,@+A+B+C+D+E+F+ G+ H+ I+ J+ K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+ ^+!_+"`+#a+$b+%c+&d+'e+f+f+&-g+g+'-h+h+(-i+i+)-j+j+*-k+k++-l+l+,-m+m+--n+n+.-o+o+/-p+p+0-q+q+1-r+r+2-s+s+3-t+t+4-u+u+5-v+v+6-w+w+7-x+x+8-y+y+9-z+z+:-{+{+;-|+|+<-}+}+=-~+~+>-++?-++@-++A-++B-++C-++D-++E-++F-++G-++H-++I-++J-++K-++L-++M-++N-++O-++P-++Q-++R-++S-++T-++U-++V-++W-++X-++Y-++Z-++[-++\-++]-++^-++_-++`-++a-++b-++c-++d-++e-++f-++g-++h-++i-++j-++k-++l-++m-++n-++o-++p-++q-++r-++s-++t-++u-++v-++w-++x-++y-++z-++{-++|-++}-++~-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-**+**+**+**+**+**+**+**+**+ * *+ * *+ * *+ * *+ * *+**+**+**+**+**+**+**+**+**+**+**+**+**+**+**+**+**+**+ * *+!*!*+"*"*+#*#*+$*$*+%*%*+&*&*+'*'*+(*(*+)*)*+****++*+*+,*,*+-*-*+.*.*+/*/*+0*0*+1*1*+2*2*+3*3*+4*4*+5*5*+6*6*+7*7*+8*8*+9*9*+:*:*+;*;*+<*<*+=*=*+>*>*+?*?*+@*p*,A*q*,B*r*,C*s*,D*t*,E*u*,F*v*,G*w*,H*x*,I*y* ,J*z* ,K*{* ,L*|* ,M*}* ,N*~*,O**,P**,Q**,R**,S**,T**,U**,V**,W**,X**,Y**,Z**,[**,\**,]**,^**,_**,`** ,a**!,b**",c**#,d**$,e**%,f**&,g**',h**(,i**),j***,k**+,l**,,m**-,n**.,o*o*/,@*p*,A*q*,B*r*,C*s*,D*t*,E*u*,F*v*,G*w*,H*x*,I*y* ,J*z* ,K*{* ,L*|* ,M*}* ,N*~*,O**,P**,Q**,R**,S**,T**,U**,V**,W**,X**,Y**,Z**,[**,\**,]**,^**,_**,`** ,a**!,b**",c**#,d**$,e**%,f**&,g**',h**(,i**),j***,k**+,l**,,m**-,n**.,**_,**`,**`,*Db,*c,*Vd,*:*>**g,**g,**i,**i,**k,**k,*m,*Jn,*+o,*,p,**q,**r,**r,**t,**u,**u,**w,**x,**y,**z,**{,**|,**},*~,*,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,**,##########################$ # #$ # #$ # #$ # #$ # #$##$##$##$## $## $## $## $## $##$##$##$##$##$##$##$##$##$##$ # #$!#!#$"#"#$####$$#$#$%#%#$&#&#$'#'#$(#(# $)#)#!$*#*#"$+#+##$,#,#$$-#-#%$.#.#&$/#/#'$0#0#($1#1#)$2#2#*$3#3#+$4#4#,$5#5#-$6#6#.$7#7#/$8#8#0$9#9#1$:#:#2$;#;#3$<#<#4$=#=#5$>#>#6$?#?#7$@#@#8$A#A#9$B#B#:$C#C#;$D#D#<$E#E#=$F#F#>$G#G#?$H#H#@$I#I#A$J#J#B$K#K#C$L#L#D$M#M#E$N#N#F$O#O#G$P#P#H$Q#Q#I$R#R#J$S#S#K$T#T#L$U#U#M$V#V#N$W#W#O$X#X#P$Y#Y#Q$Z#Z#R$[#[#S$\#\#T$]#]#U$^#^#V$_#_#W$`#`#X$a#a#Y$b#b#Z$c#c#[$d#d#\$e#e#]$f#f#^$g#g#_$h#h#j$i#i#k$j#j#l$k#k#m$l#l#n$m#m#o$n#n#p$o#o#q$p#p#r$q#q#s$r#r#$s#s#$t#t#$u#u#$v#v#$w#w#$x#x#$y#y#$z#z#${#{#$|#|#$}#}#$~#~#$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##$##L%##M%##N%##O%##t%##u%##v%##w%##x%##y%##z%##{%##|%##}%##~%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%##%                                                     ! ! " " # # $ $ % % & & ' ' ( ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J J K K L L M M N N O O P P Q Q !R R !S S !T T !U U !V V !W W !X X !Y Y !Z Z ![ [ !\ \ !] ] !^ ^ !_ _ !` ` !a a !b b !c c !d d !e e !f f !g g !h h !i i !j j !k k !l l !m m !n n "!o o #!p p $!q q %!r ئ&!s s '!t t (!u u )!v k*!w +!x x ,!y y -!z z .!{ { /!| | 0!} } 1!~ 2!  3! 4! 5! 6! 7! 8! 9! :! ;! ! ?! @! A! B! C! D! E! F! G! H! I! J! K! L! M!~ 2! O! P! Q! R! S! T! U! V! W! X! Y! Z! [! \! ]! ^! _! l! m! n! o! j! k! l! m! n! o! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !           ɦ!!""##$$.%&&''(())*+,-.%//0011:2;3445566778899:2;3<=>>??@@AAJBKCDDEEFFNGHHIIJBKCLMNGOOPPQQRRSSTT^UVVWWXXYYZ[\]^U__``aabb cc dd ee ff gg hh ii jj kk ll mm nn oo pp qq rr ss tt uu vv ww xx yy zz! {{" ||# }}$ ~~' ( ) * + , - . / 1 4 6 7 8 9 : < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                           ! !"#"#$%$%&'&'()()*+*+,-,-././01012323454567678989:;:;<=<=>?>?@A@ABCBCDEDEFGFGHIHIJKJKLMLMNONOPQPQRSRSTUTUVWVWXYXYZ[Z[\]\]^_^_`a`ajbkc ld me nf og phqijbkc ld me nf og phqizr{s|t}u~vwxxyyzr{s|t}u~vw()*+,-./()*+,-./89:;<=>?89:;<=>?HIJKLMFGHIJKLMNOPYR[T]V_XYZ[\]^_hijklmnohijklmno*+,-<=Z[LM\]~            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabcbcdedefgfghihijkjklm lm no no pqpqrsrstutuvwvwxyxyz{z{|}|}~~  ""$$&&((**,,..0022446688::<<>@@BBDDFFHHJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxxzz||~~@+A+B+C+D+E+F+ G+ H+ I+ J+ K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+ ^+!_+"`+#a+$b+%c+&d+'e+(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkk ll mm nn oo ppqqrrssttuuvvwwxxyyzz{{||}}~~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           ! !"1#$#$%&%&'('()*)*+,+,-.-./0/0"12323454567678989:;:;<=<=>?>?@A@ABCBCDEDEFGFGHIHIJKJKLMLMNONOPQPQRSRSTUTUVWVWXYXYZ[Z[\]\]^_^_`a`abcbcdedefgfghihijkjklm lm no no pqpqrsrstutuvwvwxyxyz{z{|}|}~~  ""$$&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV,-./01234  5  6  7  8  9:;<=>?@ABCDEFGHIJK  L!!M""N##O$$P%%Q&&R''S((T))U**V++W,,X--Y..Z//[00\11]22^33_44`55a66b77c88d99e::f;;g<<h==i>>j??k@@lAAmBBnCCoDEpDEpFGrFGrHHtIIuJKvJKvLLxMMyNNzOPQRR~SSTTUUVVWWXXYYZh[[\i]j^k__`paabqcrddeefngoZh\i]j^kllmҦfngo`pbqcrs{t¦uȦvvwwxxyզzЦs{|}|}~~ʦѦȦŦOPQ          ``bbddffhhjjllnnpprrttvvxxzz||~~$&&((**,,  .  .  0  0 2 2456789*:;;~=*>*~,*,AAdCbD eE!"F!"F#$H#$H%&J%&J'(L'(L)*N)*N*+o,*,p,e-j.//Um0n122Xs344Zt566\77]88^99_w:;;bx<==d>>e??f@@g{AzBCCj*Db,EElFFmGGnHIIp*Jn,KLLsMMtNOOvPPwQQxRRySSzTT{UU|*Vd,WW~XXYZZ[[\]]^^__``abDcd eEffgghhiijjkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~      !"#$%&'()*+        "  " $ $&&((*,,..i0II224466  8!"9!"9#$;#$;%&=%&='(?'(?)*A)*A+C,-E,-E.G//I01J01J2L34N34N56P56P78R78R9:T9:T;<V;<V=>X=>X?@Z?@ZAB\AB\CD^CD^EF`EF`GHbGHbIJdIJdKLfKLfMNhMNhOjPQlPQlRSnRSnTUpTUpVWrVWrXYtXYtZ[vZ[v\x]^y]^y_`{_`{ab}ab}ScdCe-fgfghihij.klklm0n1opopqqrs3t5uvuvw:x<yzB{A|}|}~=HK NY\acdkry     !""$  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ[[[\\\]]]^^^___```AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ{{{|||}}}~~~̦\x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ((((( H ;0Eʺ|<غTغ$)lغ##%L)wLl|\$Lt\LDl  $ l 4 !|$"\!\";",N"WLX X4Y\Z,\<\]]$,_L| ́܃D\d>|><>\>?D?s\>s>t>AC C A $$`?=AC C A Lx@ $dp@EAC C A A zPLRx^! 4$pAAC DEEE' A 4\foAC BFKO A 4B !JAC DO D $lAC E ,AC BHr P $$`AC En I $8VAC A D p,AC Eb 41AC Eg T,AC Eb ,AC C_ A <@UAC G A  H s E 4`AC EB E  D $aAC BHG A $D`bAC BHH A $ldAC BEKG ,bAC BIHj G AI H $dAC BHG A 4lAC I" A ,DAJ FF G $tdAC BHG A 4XeAC HKT E 44p0AC It G $ ȁ AC BH A ,4yAF M A ,}AF DEQ A ,`AC DLs A 4$O)AC FEH A ,(,AC FF@ H 4(AI BEEJ= C $dAF BDR A 4)AC DGD A 4$P 'AC DL B 4\cAC HK C 40SAC DHB F ,l؝AC M A 4(+z AC HD H 4423AC DGD A $ HAC Ao D 4д AF P  F 4Hպ.AJ DIE A 4@AC BJ0 A $ XAC BHG A $ AC BHG A 4جËAE HKl K d P"AJ AU 4`AAC DL A , AJ M A 4L HAC HI B $$ 0պAJ s A L HC L , {AC DHU A , X»AC Cs F I A $ »AM BDG E ,T pûAV Ck K $$ @ĻKAC BD@ L hĻ'AC Aa $l xĻ4AE BFa , ĻrAO BMj G ,$ pŻ_AC EF A  ŻAG A  Ż AC A 4 ŻAG A $T ŻAC CC F | hƻAG F 4 hƻAO HD I ,4 ǻXyAC BKZ E ,d ɻ\AC BDA E ,4ɻ\AC A] F k E , ɻ AC BHl F , pʻAC BEH A (AF P 4D ˻AC DL K ѻAF A 4 ѻAC I  J tpѺ+AJ F ,ֻAC BEKA I $׻AC L F ׻BpC N , (ػ)AC DFx J <(ٻAH L \(ٻAI A $|ٻ?AC Ai J F 0ٻAM A ,0ٻAC BEEFw C ,ڻAH BU I ,$ݻ}AC HLd D T AH AU ,tAC DDj J ,PoAC FID  H $AC BD A ,(xAC HD] C ,,xAC BPDw G \3DG g $|(WAC AC H $`@AC BGGk ,x"7AC Pj B $xAF EDP H $$QvC N A C $L$AC E A ,t AC DK A ,pAC BMDS A  AJ A 4 AC BEI` A h C O A , NnI K $L PAC EF ,t!AJ BEK A $!AC  A "AC A "AC A  !AE A ,,!AC DJGQ F ,\"AC DEEKE F $H#}AC Ar A ,#AC BJD[ A $P$AE AP I $ $AH H A 4P%HI E $TP%AC Gx E ,|&-AC P H $(AV E ,)AE BEJR H ,*AC BEDk A 44P*AH DH C M C ,l+@AC Iu F ,HF D ,,AE BEFED D $X.AE  A ,.+AC I A $D0AC BEH $lx1AC BDD B $2AE BK[ B ,2AC DGK A ,hBAC HK E 4|IAC BEJGHm A TpNAJ A tpNAG G $`NWAC A~ M F <NAC DEFd I  I Y G 4OAJ BHHg D ] A $4P2QC A[A ,\PqAC BJk E L D ,QqAC BJk E L D $XQ$AF O J C $`Q$AF O J C  hQ AJ A ,XQAC J LHQAC J l8Q0QQ M HQ)QJ M $XQTCI @ D C QAK N ,QEAC BEEEN I ,$R+AC DEF D ,TS8AC DEEK G TT#UG BDBA L J BA C R BA K R BA K ,UAC FF A , (WAC BD B P ,<WAC BEEH G ,l8]IAC BEO G XkAI A $HkAC C ,kAC DL A ,`oAF BJ A D tAJ A $d t\DM i F R XtAC X $XtgAH AH F tDAF Z O A O A O A O A O A O A O A O A O A O A O A O A O A O A O A O A O A O C tPuEAM p A ,uyAC DEGD H ,vAC DEFDI H $0x|AC A_ D  yUAF t E ,< zbAM DJDA ,l {AC HK K , h}"AC FJ J $ h~AC  H $ 04AC f F C !H'AF _  G ,%pCAC C F  H ,&AM BELo H ,D&0`AI DEFd C 4t&`8AC Gd A  H ,&hAF DL A ,&(¼AE BEH G , 'ļAF DOO C ,<'AC RLLMi D ,l'8AK BEHx E ,'AF W C 'XEAC { A 'AO A D (AF W B z F R F F A G A F A F ,T( AF e D n A M A ( PF A $( AF  J \( AF W B z F Z F  G F A K A F A Q A F A F ,,) AF  D F A M A \) AH E ,|)x AF DEED D $)XAH O H s E $)5AK W E L L)fAF  G F B C E n J F J ` H F A F DL*6AF M D k E M K z A K A N ,*AC HD D $*p?AK W E V ,*AM g K ` H A 4+HeAM } E W I h A $T+uAM  F 4|+AF BEEEH H $+`uAM  F ,+AF \ E n J C $ ,xEAM  F $4,EAM  F ,\, AI E= D $,x"AL Ao C $,0$AL Ao C D,%AR M/ A  H I G Z A D$-p)AF I8 H  H y G P A 4l-8-TF Cd BD I + 4-/TF Cd BD I + ,-h2AG EJ H D .4HAR M/ A  H  G Z A DT.:xAR M' I  H  G P A ,.8?AW Q G ] C ,.(AAC FED G .E-AC h /F%AC ` =AC HH B j F ,T>AF DM~ J ,>(AC E A Z A $>NAC BFA $>8AC BDm $?С=AC BHn ,,?衽AC BF H ,\?xAF Ak E q G ?AO A $?AC Ae F $?_AC Am F $?ȣ$AF R G C $$@У6AK F V I $L@製"AM F L A t@>AC Ax $@QAC BGC $@HAC E @ AC A A૽ AC A $AЫ AF A DA AF A dA AC ,AAC FED F 4AAH BEEEH[ C R F Aح6AC Ap $ BOAC Ax K F 44B wAF GN D M E $lBh8AC BDm $BSAC BEI~ $B=AC BDr BЮ6AF n $CpAC BGD^ ,C8AC A LC(AC A lCAC A CAC A CAC A C讽AC A CخAC A  DȮAC A ,DAE A LDAC A lDAE A DAC A DxAE A DhAC A DXAE A  EHAC A ,E8AE A LE(AC A lEAC A EAE A EAC A E譽AE A EحAC A  FȭAC A ,FAE A LFAC A lFAC A FAC A FxAE A FhAC A FXAC A  GHAC A ,G8AC A LG(AC A lGAC A GAC A GAC A G謽AC A GجAC A  HȬAC A ,HAE A LHAE A lHAE A HAC A HxAC A HhAC A HXAC A  IHAE A ,I8AC A LI(AE A lIAC A IAE A IAC A I諽AE A IثAC A  JȫAE A ,JAC A LJAE A lJAC A JAE A JxAC A JhAC A JXAE A  KHAC A ,K8AC A LK(AC A lKAC A KAC A KAC A K誽AC A KتAE A  LȪAE A ,LAC A LLAE A lLAE A LAC A LxAC A LhAC A LXAC A  MHAC A ,M8AC A LM(AC A lMAC A MAC A MAC A M詽AC A MةAC A  NȩAC A ,NAC A LNAC A lNAC A NAC A NxAC A NhAC A NXAE A  OHAC A ,O8AC A LO(AC A lOAC A OAC A OAC A O訽AC A OبAC A  PȨAC A ,PAE A LPAC A lPAC A PAC A PxAC A PhAE A PXAC A  QHAC A ,Q8AC A LQ(AC A lQAE A QAC A QAE A Q觽AE A QاAC A  RȧAC A ,RAE A LRAC A lRAC A RAL A RxAL A RhAL A RXAC A  SHAC A ,S8AE A LS(AC A lSAC A SAE A SAC A S覽AO A S覽HC D , Tئ.AC BGER G ,HJ k ,lY8ʽDAH BDe D G YXʽ?DE h G YxʽDI F <YxʽAF v [ M K I G F J F ZʽlAQ Y 4AF T E i G M C F J F o0?lAQ Y 4$o?nAF BEEED J \oG AC A |oGAC K A oG AC A toGAI ^ H H H H H H H H H H H H H H H H H H H H H H H H ,4pHAC HH E <dpIAC DID K a G i O 4p@KAF Iw I  E ,p(O AG DL! G $ qYAP g H 4qZ3AC Am TqZ AJ A tqZ AJ A qZ AJ A qZ AJ A qZ AG A $qpZPAQ p F G rZ4AS _ $IF n 4zHAS Fw G  C g ${AF  D C $<{H/EF J S F $d{P7EF ` E F ${hEM O G ` ,{ЁJC CBG ${EM O G a $ |!OO LA <4|8AF BLc H  H S E 4t|HAQ J A N I g |( AH A | AH A |AI D  }DN E ,}HQ E 4L}AL CP H D D O A <}IM A G D D N J \ A $}`EI A{ ,}ȇ#AC BGEG A ,~ȈAC BLEEG A 4L~AC BFHRo G [ A ,~@wAC BFJ[ A ,~VAC BGGK A ,~wAC DFEK G %AC ` 4 %AC ` T0%AC ` t@%AC ` P%AC ` `%AC ` ,pAC BEGE B ,0_AC DGE E 44`-AO F K \ D O A ,lXAC Ms D <蘾AJ r C K E C E F A F 4܀XHI S D R F F A F 4AO E G  H b F ,LHQAC DEED5 A 4|x[AR F K  F  A ,+AC DEJ A ,AC BEGE( A 2DC j 4 DI F DT AF c V ^ B I G M C V J F ȣlAQ Y 4AF  E I G V B p A 4DE E B z V a G T $,(9EN F G X ,T@AM  B T A C ZAH s D L.AF e D ^ B I G h H F J F A F D৾AF T E Q G Z F j F F A F A F ,<xAC HE A l詾AJ A 詾AM A 4詾DE E B z V a G T $`9EN F G X L x.AF e D ^ B I G h H F J F A F 4\XAM  C T D K A C ૾ZAH s D D AF T E Q G Z F j F F A F A F ,$AF I A $,AF ] N 4T AC DKO[ C _ 4AC I A s ,Ć iAJ d A C E f L`1AF V C T D k E G A F J U A o A DPAQ v H 4deAI d B M C R F L ,8AG  H F b r F 4̇غAF BFEED K $@AJ q D C E ,,:AC BEGD J ,\¾AC DEEJ  J ,ľAF FNn G HɾAC U ܈HɾAC U DHɾAF Mn F  B S A Y A ,D˾TAC BEDt E 4t˾AC BEED H W I $X̾XAC BMD Dԉ̾AI  F Y G } C n B F A ^ Tξ%UF HG BBBED H \ C TtѾ%UF HG BBBED G \ C ,̊վyAF DI K D۾eBEE E(H0H8M@l8A0A(B BBBD0۾<O;;:::9 9 9 8 8 8 B B lA ^8???>>>>=8+<<<<.*+)8(335!4##8$*$7%(%2&)&7((()(*(()))*4**(*);4<%2!VhQ,&+ + + + .+ ++I++0/06....-,.+.(1}1Y.1T516645 7 7 6!'")")#1#'%5%..%1&&.''+ ++++7+++0.112 +4'5555W  #    F  Cg}WVc         Pny+++** ** I=@ 2      }08 $              &'&&)&((*&)&$$ Y& . . . - - - 4 3 4 3 2L22:&" &#;*+*&*!*\&*&$"*#&*)Y####" L  8*3!^R]4    I=@ }@==K===    <<H<<B<Qk=>v=i@A@ A / A 9!A!9!9"A"9"8#A#8#8$7$'7%7%6%37&6&6'6'6'6'6'6(6(6(6(6(6(6(6)5)5)2+2+5+2,1,2-'1-2-0.2777A78:A:;:="==@>9?@?+$/1t#'# 4W  P        )}UMc$ w        <k0UL5Z1U~<;} f% _x$#M)H!G  2       "   Kr ^ %  @`}@@@`@(0ZP0Zx0Z0Z,Z-Z-Z2-ZI-Za-Z}-Z1Z-Z-Z(1Z-Z-Z`1Z1Z-Z.Z1Z1Z2ZX2Z2Z2Z2Z 3ZX3Z3Z.Z1.ZL.Zh.Z3Z3Z4Z04Zh4Z4Z4Z4Z5Zx5Z.Z5Z5Z6Z.Z(6ZX6Z6Z6Z 7ZX7Z.Z7Z7Z7Z.Z.Z.Z8Z/Z/Z//ZF/Z88Zb/Zh8Z8Z8Z9Z09Z/Z/Z/Z/Z/Z/Z0ZP9ZJZKZKZKZKZKZKZKZ9XZ8XZ7XZ6XZDXZRXZQXZPXZOXZXXZ@)\@(\@'\@&\@%\`=\`<\`;\`:\`9\`8\`7\`6\`5\`4\`3\`2\`1\`0\H_K_P_S_X_[_SZ`_e_g_`_(_0_p____@H_SZP_X_e_7,Zpkxkk lp0k0@@0kp@@,Z0l@@0@Ay6@] N@ $EF Fo@@@  p(:@p6@8 oP5@oo>3@lO@O@&O@6O@FO@VO@fO@vO@O@O@O@O@O@O@O@O@P@P@&P@6P@FP@VP@fP@vP@P@P@P@P@P@P@P@P@Q@Q@&Q@6Q@FQ@VQ@fQ@vQ@Q@Q@Q@Q@Q@Q@Q@Q@R@R@&R@6R@FR@VR@fR@vR@R@R@R@R@R@R@R@R@S@S@&S@6S@FS@VS@fS@vS@S@S@S@S@S@S@S@S@T@T@&T@6T@FT@VT@fT@vT@T@T@T@T@T@T@T@T@U@U@&U@6U@FU@VU@fU@vU@U@U@U@U@U@U@U@U@V@V@&V@6V@FV@VV@fV@vV@V@V@V@V@V@V@V@V@W@W@&W@6W@FW@VW@fW@vW@W@W@W@W@W@W@W@W@X@X@&X@6X@FX@VX@fX@vX@X@X@X@X@X@X@X@X@Y@Y@&Y@6Y@FY@VY@fY@vY@Y@Y@Y@Y@Y@Y@Y@Y@Z@Z@&Z@6Z@FZ@VZ@fZ@vZ@Z@Z@Z@Z@Z@Z@Z@Z@[@[@&[@6[@F[@V[@f[@v[@[@[@[@[@[@[@[@[@\@\@&\@6\@F\@V\@f\@en_US.mysql_secretmysql_native_passwordlocalhostrootclientEE8EEE EP E E EH!E "EX#E#Ex$E$E%E%E +EX+E/E0EP5Ex5EDEDELEMEHUEpUE]E]EeE fEhjEjEqEqEwE@wE|EP|EE؀E EPEȊEE8EhEE8EEEE8E EHEXEEpEEPE(EE`EEEEE(EXEFxFF FFFxFF(F F#F'F*F-F1F4F8FVp>V>V?VP?V?V?V8@V@V@V@AVAVAV8BVBVBV(CVCVCVDV`DVDVEVPEVEVEV0FVFVFV(GVpGVGVHVXHVHVHV@IVIVIV@JVJVJV8KVKVKVLVpLVLVMVHMVMVMV0NVNVNVOVXOVOVOV@PVPVPV@QVQVQV(RVxRVRVSVhSVSVTVXTVTVTVHUVUVUV VVhVVVVWVPWVWVWV8XVXVXV0YVxYVYVZV`ZVZV[VP[V[V[V8\V\V\V(]Vp]V]V^VP^V^V^V0_Vx_V_V`Vh`V`VaVPaVaVaV8bVbVbV8cVcVcV dVpdVdVeV`eVeVeVPfVfVfV8gVgVgV8hVhVhV0iViViV jVhjVjVkVXkVkVlV`lVlVlVHmVmVmV nVpnVnVoV`oVoVpVXpVpVpV@qVqVqV rVprVrVsVXsVsVsVHtVtVtV8uVuVuV0vVvVvVwV`wVwVwV8xVxVxV@yVyVyV(zVpzVzV{VX{V{V{V8|V|V|V(}Vp}V}V~V`~V~V~V8VVVVhVVVHVVV(VxVVV`VVVPVVV@VVV0VVІV VpVVV`VVVPVVV@VVV0VVЋV VpVVV`VVVPVVV@VVV0VVАV VpVVV`VVVPVVV@VVV0VVЕV VpVVV`VVVPVVV@VVV0VVКV VpVVV`VVVPVVV@VVV0VVПV VpVVV`VVVPVVV@VVV0VVФV VpVVV`VVVPVVV@VVV0VVЩV VpVVV`VVVPVVV@VVV0VVЮV VpVVV`VVVPVVV@VVV0VVгV VpVVV`VVVPVVV@VVV0VVиV VpVVV`VVVPVVV@VVV0VVнV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVV`VVVPVVV@VVV0VVV VpVVW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW Wp W W W` W W WP W W W@ W W W0 W W W WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@ W W W0!W!W!W "Wp"W"W#W`#W#W$WP$W$W$W@%W%W%W0&W&W&W 'Wp'W'W(W`(W(W)WP)W)W)W@*W*W*W0+W+W+W ,Wp,W,W-W`-W-W.WP.W.W.W@/W/W/W00W0W0W 1Wp1W1W2W`2W2W3WP3W3W3W@4W4W4W05W5W5W 6Wp6W6W7W`7W7W8WP8W8W8W@9W9W9W0:W:W:W ;Wp;W;WW>W>W0?W?W?W @Wp@W@WAW`AWAWBWPBWBWBW@CWCWCW0DWDWDW EWpEWEWFW`FWFWGWPGWGWGW@HWHWHW0IWIWIW JWpJWJWKW`KWKWLWPLWLWLW@MWMWMW0NWNWNW OWpOWOWPW`PWPWQWPQWQWQW@RWRWRW0SWSWSW TWpTWTWUW`UWUWVWPVWVWVW@WWWWWW0XWXWXW YWpYWYWZW`ZWZW[WP[W[W[W@\W\W\W0]W]W]W ^Wp^W^W_W`_W_W`WP`W`W`W@aWaWaW0bWbWbW cWpcWcWdW`dWdWeWPeWeWeW@fWfWfW0gWgWgW hWphWhWiW`iWiWjWPjWjWjW@kWkWkW0lWlWlW mWpmWmWnW`nWnWoWPoWoWoW@pWpWpW0qWqWqW rWprWrWsW`sWsWtWPtWtWtW@uWuWuW0vWvWvW wWpwWwWxW`xWxWyWPyWyWyW@zWzWzW0{W{W{W |Wp|W|W}W`}W}W~WP~W~W~W@WWW0WWЀW WpWWW`WWWPWWW@WWW0WWЅW WpWWW`WWWPWWW@WWW0WWЊW WpWWW`WWWPWWW@WWW0WWЏW WpWWW`WWWPWWW@WWW0WWДW WpWWW`WWWPWWW@WWW0WWЙW WpWWW`WWWPWWW@WWW0WWОW WpWWW`WWWPWWW@WWW0WWУW WpWWW`WWWPWWW@WWW0WWШW WpWWW`WWWPWWW@WWW0WWЭW WpWWW`WWWPWWW@WWW0WWвW WpWWW`WWWPWWW@WWW0WWзW WpWWW`WWWPWWW@WWW0WWмW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWWPWWW@WWW0WWW WpWWW`WWXPXXX@XXX0XXX XpXXX`XXXPXXX@XXX0XXX XpXX X` X X XP X X X@ X X X0 X X X Xp X XX`XXXPXXX@XXX0XXX XpXXX`XXXPXXX@XXX0XXX XpXXX`XXXPXXX@XXX0XXX XpXXX`XXXPXXX@XXX0 X X X !Xp!X!X"X`"X"X#XP#X#X#X@$X$X$X0%X%X%X &Xp&X&X'X`'X'X(XP(X(X(X@)X)X)X0*X*X*X +Xp+X+X,X`,X,X-XP-X-X-X@.X.X.X0/X/X/X 0Xp0X0X1X`1X1X2XP2X2X2X@3X3X3X04X4X4X 5Xp5X5X6X`6X6X7XP7X7X7X@8X8X8X09X9X9X :Xp:X:X;X`;X;XK ET EZX>Z>Z>Z>ZP?Zx?Z?Z?Z @ZP@Z@Z@Zc@Z. 8/t#ڰͼ3&N|.[Ӿr؇/PkpnJؕnq&fƭ$6ZB<TcsUe(U܀n_S` d h p |                .@@!\H!\T!\iZhZgZ `K@L-@@!\b!\T!\iZhZgZgZ `KL@BB`8C8CBD?CBB@C0BBPB B$D$D%D 'DP D0DDD$D0'DDP'D`CCB B 'C"C'Cp1CpC#DCCBB 'CC Bp1CB+D(u!\u!\VZ Z Z Z Z MNB0B`8C8Cp9CD?CpBB@CBBBB$D$D%D 'DP D0DDD$D0'DDP'D`B@BBB 'CC Cp1CB+DS~!\!\VZ Z Z Z RR~!\!\VZ Z Z Z Z R@S8~!\!\VZ Z Z Z Z R@S!~!\!\VZ Z Z Z Z R@SB0B`8C8C BD?C@B B@CBBBB$D$D%D 'DP D0DDD$D0'DDP'D`CCBB 'C"C'Cp1CpC#D`B@BBB 'CC Cp1CB+DS@y[@m[@a[@U[@I[@=[@1[@%[@[@ [@[@Z@Z@Z@Z@Z@Z@Zۧ@[@[@[@[@[@[@[@[@[@[@[@ \@[@[@[@[@[@[@[@[@[@[ @\@[@[@[@[@[@[@[@[@[@[HGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  /!\!\VZ@/\@.\@-\@*\ cA!\!\VZ@/\@.\@-\@$\@*\ C`CC@DpD@D D'DC+D!!\"\VZ@/\@.\@-\@,\@*\ dDDDDDD`C`CPD D D@ Dp D$D$D%D 'DP D0DDD$D0'DDP'D`CC #C@D 'C"C'Cp1CpC#D@CVZ@JZ^N@\C C0C@CPC`CpCCCCCCБCCCCC C0C@CPC`CpCC`CCCCCВCCCCC C0C@CPC`CpCCCCCCГCCCCC C0C@CPC`CpCCCCCCДCCCCC C0C@CPC`CpCCCCCCЕCCCCC C0C@CPC`CpCCCCCCЖCCCCC C0C@CPC`CpCCCCCCЗCCC CCC0C@CPC`CpCCCCCCИCCCCC C0C@CPCWA\A\VZ^^^  CC`8C8CCDDCPC@C2C@3C3C4C$D$D%D 'DP D0DDD$D0'DDP'D`CCC@D 'C08C@7Cp1C D#DaA\ A\VZ^^^^g  `^^^^   €ÀĀŀƀǀȀɀʀˀ̀̀΀πЀрҀӀԀՀր׀؀ـڀۀ܀݀ހ߀A)A3A)AA™A0AA@AAgΠAVAAAAAA; !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@>@w@A@i@x@@4@/@n3@@Ѿ@@n^@@9@@@J@}@w@%@Ec@@(@5@P@@5@z@@@G@\@q@@@$6@>@p@D@3@@@@J9@F@N@@&@V@@/@@@J@O|@@@'@@@@@c@@@E4(GY@z>@@A#A`Ap_AA A>@AAAkAAA@AAAA<AAAcAA#AAAWASAʃÃA܃6k+AAAAd,]akAPA\AgAiAAAAAyA(AkAAAA`AcgA׈Aވ5AfAAAAUAAAAw/AˍAAވAԎA8҅AAA.AA8AגAؒA|AAAAwAÖ@A#EnvA A A @=@8@A"@`@@@@z@@@:@M@T@d@w@g@K@@@@@ߑ@@ߴ@;@F@r@w@@@@@@@@I@Q@Z@s@}@@@,@p@@c@@@@@8@H@h@@@@S@c@@@@@@@@@@Q@t@@@@@ @@2@1@@@@@@"@b@@@'@@f@@>@>ș@@@@@@@S@"@`@n@@@C@n@k@|@@/@@(@=@ib|@@@@@11A@"@"Ǹ@b@k@@@@@:@Ԧ@@H@L@N@L@z@@@@@@@@@@]@@@P @=@@h@@@"@@.@i@~@@wl@O@l @@@I@@@@@A@@@!@^@SóI@@@R@m@@@@B@@@@@!@TN@r@@@ @N@@@g@2++ @K@W@'+@@A@)@@ @!@@M@@@@@B@A@@9@@@U@@ AJ@@-@@Ap@S23456789:;<=>?G@,HG@ HG@HG@HG@HG@SHG@HG@HG@WHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4444 4 4 4 4 44 %=Pk0_m3S{GH==P/0%23456789:;<m>@ACDEGHI{_{P{OPQRSTUVXYZ[\]^`abcdefghijklmnopqrstuvwxz0_}~=PDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno,-./pqrstuvwxyz{|}~JNPQRTUWXYZ[`ccghijkmBJQTi`[EFGIJNPQRTUWXYZ[`QcghijkmFEFGIJNPQRTUWXYZ[`ccghijkmBJQTi`[EFGIJNPQRTUWXYZ[`QcghijkmFEFGIJNPQRTUWXYZ[`ccghijkmBJQTi`[EFGIJNPQRTUWXYZ[`QcghijkmFEFGIJNPQRTUWXYZ[`ccghijkmBJQTi`[KK                         3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{ EFGIJNPQRTUWXYZ[`QcghijkmFEFGIJNPQRTUWXYZ[`ccghijkmBJQTi`[EFGIJNPQRTUWXYZ[`QcghijkmFEFGI%Pk 0_m3S{%=Pk0_m3S{%:Pk?0_EGHI3S{Q%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m%=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{%=PkU0_m3S{%=Pk0_m3S{%=Pk0_m3S{=Pm3S{%=P0_m3S{%=Pk0_m3S{%=Pk0_m3S{~  WXYZ[\]^_     rstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{'(_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST:::::::::::::::::::::::::::::::::::::::::::::::/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~´ôĴŴƴǴȴɴʴ˴̴ʹδϴдѴҴӴԴմִ״شٴڴ۴ܴݴ޴ߴ9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~::::::::::::::::::::::::::::::8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9999999999999999999999999999997777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888886666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~777777777777777777777777777777                                                cdefghijklmnotuvwxyz{|}~¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤ-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~666666666666666666666666666666opqrstuvwxyz{|}~£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣۣܣݣޣߣ-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     ÐĐŐƐǐȐɐʐː̐͐ΐϐАѐҐӐԐՐ֐אِؐڐېܐݐސߐ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_     6789:;<=>?@ABCDEFGHIJKŽÎĎŎƎǎȎɎʎˎ͎̎ΎώЎюҎӎԎՎ֎׎؎َڎێ܎ݎގߎ&(&('((((()(*(+(+(,(,(-(-(.(.(/(/(0(0(1(2(2(3(3(4(4(5(5(6(6(7(7(8(9(:(;(<(<(=(=(>(>(?(?(@(A(A(B(C(D(E(E(F(F(G(G(H(H(I(I(J(K(L(M(M(N(N(O(O(P(P(Q(R(IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌo2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222226782222222222222222222222VW 2222222222222222222stuvw ‹ËċŋƋNjȋɋʋˋ̋͋΋ϋЋыҋӋԋՋ֋׋؋ًڋۋ܋݋ދߋFGHIJK LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn4567;<=>o HIJKLMNOYZ[\]^_R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2ŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊrstuvwxyz{|}~~00000000000000000000000000:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~‰ÉĉʼnƉljȉɉʉˉ͉̉ΉωЉщ҉ӉԉՉ։׉؉ىډۉ܉݉މ߉22222 2!2 "2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M26N2O29:;P2=>Q22222222222222222222222V`abcdefghijklmnopqrstuvwxyz{|}~ˆÈĈňƈLjȈɈʈˈ͈̈ΈψЈш҈ӈԈՈֈ׈؈وڈۈ܈݈ވ߈00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1     „ÄĄńƄDŽȄɄʄ˄̄̈́΄τЄф҄ӄԄՄքׄ؄لڄۄ܄݄ބ߄0000000000000000000000000000000 MN$%&'()*+,-./000000000000000000000000000KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~22222222222222222222222222222333333333 3 3 3 3 3333333333333333333 3!3"3#3$3ăŃƃǃ%3&3'3(3)3*3+3,3փ׃؃كڃۃ܃݃ރ߃  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~00102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0т҂ӂԂՂւׂ؂قڂۂ܂݂ނ߂     OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr456  st uvwx yz{|}~    !"#$%&'()*+,-./01ÁāŁƁǁȁɁʁˁ́́΁ρ23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^H1I1J1K1L1M1N1O1P1Q1R1S1 T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1'n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~111;11>111111111111111NO11111111111111^_`abcdefghijklmnopqrstuvwxyz{|}~111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222 2 2 2 2 22222222222222nbc_WP4#\     GCTUVsV%=Pk0_m3S{^%=Pk0_m3S{X[AB@3C++++++8+9+:+&++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+D+-*))*)**)))******))))))))))))))).*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*WY@ 4@GCnsIJ'()*+,-./,+GHEF?@=>ABCDAB4@SCGsn,GHb_WP#TVUg^cVlmnou    ++++11114444====CCOOPPPP++++++++POPOPOPOP1OPOPOPOPOPOPOPOPOPOP11==111OP@ABCDEFGHIJKLMNO111111111P1OO11111111111P111111O1111111P111111O111P1O 1 1111+1+P+O+++1+1+1+11111P1111111=1=11414O41414O41P41OP11P11PPOPO1P1O1PO1OOPPP+P+1PPPPPP1P11P1P4P1+11P1P41P+111+14PP1P 1PP11111P4P+\+\++=11+1C++P=C+1+O+O ++=+ ++=Q+Q1OP1OP1OP1OP1111111111    1 O P1OP+1OP++++1+O+P111111O1P444414O4P==1=O=PPPPP1POPPO14OP14OP14OP14OP O POP+1OP+1+O+P1114441444O4POPPP1P4POPP1=1=1=1111111111    11+1++++1+=11111444414===1=PPPP1P=1=1=1=1=1=1=+1+1414=P1P=OPOPOPOPOPO0033 HJH9H?RJHAeeek\_`fghoqPpppp\\\]^_`ab7deffg=h?ijBllEmnopqa]fl\g    $$$$""""556666BB????>>>>\\\\GGFFHHGKKEEIITTTTOOBBCCGGFFHHTTTOOOQQQQ@@@@@@@A;ALAMA@@@@AA@ZA@tAA@@*@@<@^@e@AV@@AAA!AA#A$A8AA'A(A)AAA(A./@@@M@@@Q@@@h@@@@d@n@@h@@@O@@@@w@@"@n@+@"@@>@I@H@P@V@]@@@@@@@@ @A@rAAAyAyAWAAAA9AӌAAA8AAA;@uAno@&@@h@@E@@@@@U@@@Z@@D@T@b@(@@@i@@@N@@@`@@4@@@R@V@t@@@V@y@@A@@@"@@n@@5@@*@q@@;@@@@@@J@@@@@@{@[@@>AARAAyAAAAAAAˊAAAA9AAA8ArAAvA|AAVAۗAA A;AAJDճ9IACAAH@AʎAȌ@@2@AA@QAё@@H@@i@A?AAA@@@@A=AjA@@u@@A-A@P@AͅAd@A؁A@@@j@Aΐ@@@@@@@AAA\AA2AoA@@@AɃAAA֊@@@`A~@b@AŒA@@b@@@@/@7AK@A@@@@AAuA@@A@9@@@@p@@@@@ @@x@"@@^@AIA@A@@A@@e@@i@@@AoAҊAϑ@@B@s@@@@*AAjAAΞ@@@wAb@t@@@@#@I@@@AoA&AA#AJ@@@@AˆA@@@{@@>@u@@@@@@@i@AFA4AAHA@@AA@@@@@?@@@@BAA|A@A.@@{@@A@@ @Y@k@A^@m@.Ax@+@@A*@@D@@A@)@@e@@N@@@@@yAψAȂA@?@@@@AAAWA@@A@@ @@@AX@A6@:  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~u*v*w*x*y*z*{*|*}*~******************************************+++++++++ + + + + ++++++++  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RSTUVWXYZ[\]^_`abcdefghijkluvwxyz{|mnopqrst}     a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##########################789:;<=>?##############NO     Z[!!!!!!!!!!!!"""""! "`"a"b" "_"|}~                          êĪŪƪǪȪɪʪ˪̪ͪΪϪЪѪҪӪԪժ֪תت٪ڪ      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!TUVWXYZ[\]^***************** *!*"*#*$*%*&*'*(*)***+*}~####################$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$%$$$ $!$#$$$$"$$$&$iΩ     ک۩ܩݩ~`abc,-./def:;<=>? xyz{|}~ŨƨǨȨɨʨ˨̨ͨ     ڨۨܨݨިߨ&'()*+,-./0123456789:;<=>?@ABCDEFG33SS{{{{OO))**++88::{{iQl NPPVV33HIJ§çħŧƧǧȧɧʧ˧̧ͧΧϧЧѧҧӧԧէ֧קا٧ڧۧܧݧާߧjkS)T)U)V)W)X)Y)Z)[)\)])^)_)>}(((_(^)q(^)(^)(_)(^)(_)(_)(^)(^))^))^)$)_)+)^)     ($),-./0123456789:;<=>?55BBPPWWllyyzz`allww[tuvwxyz{R$$::""$$))  KK`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~))))))))))))))))))))))))))))))))))))))))))))))))))m?F~S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)u/v/w/x/y/z/{/|/}/~//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////00    ǤȤɤʤˤ̤ͤΤϤ0 0 0 0 0 0000000000000000000 0!0$0"0%0#0&0'0(0)0*0+0,0-0.0/0000000=u.v.w.x.y.z.{.|.}.~..................................................................................................................................///////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;//?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u-v-w-x-y-z-{-|-}-~----------------------------------------------------------------------------------------------------------------------------------......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u+v+w+x+y+z+{+|+}+~++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~> ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } +.+(++=+0+++D+1+++=++*+D+++D+%+++D++!++(++++D+!++5+++<++;+&+(++?+<++?+D++D+3++++*++9+<++=+$++?++?++;+5++?+6+(+=++?+@+&+(++;+5++;+5+(+D++=+"++?++?+,++!++=+)++2++++=++D+%+5+ +<+D++"+D+%+"+D+(+$+!+'+ +(+=+(+D+)+-+-+&+(+.++&+.+"+D+(+.+&+.+>+=+/++!+(+=+/++=+/++/+=+0++;+&+(+0++(+0+&+ ++=+0+;+D+1++$+=+1+#+1+*+/+1+=+&+1+D+!+1+ +1+$+2++D+(+2+=+(+2+D+2+D+(+2+=+2+D+3+++?+3++=+3+&+.+3+=++3+D+ +:+D+4++?+D+4+<+4+<+.+=+6++6++(+D+6+(+=+8+(+8+=+9++D+<+&+(+=+<+;+=+/+=+0+=+>+5+>+D+(++D+@+&+(+@@@@ @ @ @ @ @@@@@@ @ @ @ @ @@@@@@ @PS%{=P_P_P_S@s@@-@@'@c@@@*@@@>mW_%_%%=0=0mWW__3W0_0P00_m_W___=____=_____=________PP_P_mW_{m{W{_{{_{mW__m_m_%===P=_=P%m_30_0m00_%_0_0__{%{____@@@ @ @ @ @ @@@@@@ @ @ @ @ @@@@@@ @ @ @ @ @@@@0))))))))))))))).*).*).*).*).*).*).*).*).*).*).*).*).*).*);*)6*)2**)6*);*@@@ @@@m@@k@]@A@@k@4@(Aё@@@*@ @>@ @yA@]@@@|@f@@Anj@T@m@AA@O@|@@     3k       ))))))))))))))).*).*).*).*).*).*).*).*).*).*).*).*).*).*).**)6*);*)A*);* @@@ @@@m@@k@]@A@@k@4@(Aё@@@*@ @>@ @yA@]@@@7@sAi@*@p@A@@@c@ @-@ @@@;@@f@@Anj@T@                   @@@ @ @ @ @ @@@@@kk{03P+++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+E+F+G+H+J+K+L+M+N+O+R+S+T+U+W+X+Y+Z+[+\+]+^+_+a+b+d+e+f+g+h+i+j+l+p+q+r+s+I+P+V+t+./0))*)**)))******))))))))))))))).*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*-*))*******)**)))))))))))))))))**** *Q*R*U*^*_*a*k*n*  @@@ @@ @-@ @2@Y@@@)@0@E+[+S+N+c+c+`+_+r+^+q+r+o+Q+d+f+m+n+k+q+F+K+O+R++ +!+(+++.+/+0+1+2+5+;+<+=+>+?+ @t +6+=>?@ABCDEFGHIJKLMN0     1@A@D@E3+!+u  @++++++++++++++++++++++ + +!+!+"+"+#+#+$+$+%+%+&+&+&+'+'+(+(+)+*+++,+-+.+.+.+/+/+/+0+0+0+1+1+1+2+2+2+3+4+5+6+7+8+8+9+9+:+:+;+<+=+>+?+@+@+A+B+C+D++++ !:+<+2++++++++++++++++++++++ + +!+!+"+"+#+#+$+$+%+%+&+&+&+'+'+(+(+)+*+++,+-+.+.+.+/+/+/+0+0+0+1+1+1+2+2+2+3+4+5+6+7+8+8+9+9+:+:+;+<+=+>+?+@+@+A+B+C+D++++@+A+B+C+3+(+@@(@6@?@Y@@@@@?@e@k@@@@@@@@@@@8@A@\@i@@@@@@@@@ @@'@s@P@@@@"@8@n@q@@@@@r@z@@@@ @@P@a@s@@@6@K@/@4@@@@@@@@@(@ @b@y@@@@@@@4@k@*@6@;@?@G@Y@[@@@@@@@@(@0@@@v@}@@@@@@@:@@@t@@@s@@6@Q@@AA AA3AAAAAAA AAAnArAxAMAkA@ALAcA~AA҉AA7AFAUAxAAdApAAAʎAAAAAIAƑȂAёAwAAAAAAQA^AbAiA˗AAAAAۘAߘAAAAAؚAߚA%A/A2A<AZAAuAAAAÞA͞AўAAAAA A;AJARAAA֯ׯدٯگۯܯݯޯ߯~)*+,-./0/123456789:;<uQ23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@6@@[@Z@Y@@@@@@\@i@@@"@#@"@#@@z@Q@P@@@L@5@@@@z@@@5@:@l@+@+@,@[@@@@@:@;@@@@S@R@S@S@R@@@AAAAAAyAyAyANAdAAAA҉A҉AAAAfAAAAAAwAxAAAAAARAAuAΘAޘAߘAAAcAAlAA<A|AAuAAĞAAJAPARAAAAAA   !#%'+-)/&'()*+,-./fghijklmnpqrstuvwxyz{|}~(9BKq1:Cl%&'(pqrstuvwxyz{|}~ǭϭ׭߭ C]ox%GLBhuz/_??@<((f!uz{qqrrssttuuwwxxyyzz{{||~~vv}}|q{* + , - . / {|L                           MNO ! " # $ % & ' ( ) Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~«ëīūƫǫȫɫʫ˫̫ͫΫϫЫѫҫӫԫի֫׫ث٫ګ۫ܫݫޫ߫ uuuu                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J GGUUUUUUK L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r  !"#$s t u v w x y z { | } ~   0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J (K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m Ln No p q r STUs t u v w x y z { _`| } ~                  ˧ ͧΧϧ %&'( >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm6 7 8 9 : ; < = nopqrstuvwxyz{|}~|}~0 1 2 3 4 5 Φ                           ! " # $ % & >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=   !"#$%&'()*+,-./012'()*+,-./0123456789:;<=>?3456789:;<=KLMNOPQRSTUVWXYZ[\]^_                              %=Pk0_m3S{%=Pk0_m3S{%=Pk0_m3S{          %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM=>NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   @ABCCDEFGGHIIJLMNO\]^_`abcdegijklmnooppqrstuuuuuuvvvvvvwxyz{|}~UTV      !"#$\=\=K==\=\SK00mm_3k03_m%=kk_\]^_[GG[OPPk`] ]]]]] ] ]  ] ]  ] ] ]  ]  ] ]{{{{{0=P_{{{{{0=P_012NN 345]      !"#$%&'()*+,-./0123456789:;<=>?           ))*+,-Zjklmn  egrrrrrrssssssvwnnxz|}o]  sssnnsaSpqXE{Yi.yrrrr efghirs     P\Um     P\Uk{ àĠŠƠǠȠɠʠˠ̠͠ΠϠEEEEEEEEEEEEEEEEJJJJJJJJJJJJPPPPPPPPPPPPPPPPRRRRRRRRRRRRRRRRZZZZZZFGZZZZZZNOhhhhhhhhXhZh\h^hmmmmmmmmmmmmmmmmEEJJPPRRZZhhmm~EEEEEEEEEEEEEEEEPPPPPPPPPPPPPPPPmmmmmmmmmmmmmmmmEEEEEEEEEEEERPPPşPPJJPPPRRRRԟ՟RRRRRRܟhhhh``hhhhhh`mmmmmZZmmm%%%%%%==PPPPPPPPPPkkkkkkkkkk00000000______mmmmmmmm33333333SSSSSSSSSS{{{{3  jkkkkkkkkkkkkkkkkSSSSSSSSSSSSSS00002ATUo "9cv7WXYqHV\alak%1Pkv0_mu3S%Pk{_3SXm{FGIijS{FG`ijZ3Vdw=x3_z4W#He% `t.`!=JPaIH4frxq!>[vWQk{=PP04cmq} ~  89:     JKL      $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$œÜĜŜƜǜȜɜʜ˜̜͜ΜϜ######################################################################LMNO     h&}~ !"#%&'()*+,-./0123468:;<>579?@ABCDE$=     ›ÛěśƛǛțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛܛݛޛߛl!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!############ #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#I#J#K#L#M#N#A#:#`#:#C#D#E###/#/#F#G#H#_`#O#Q#R#R#S#T#U#V#W#X#B#P#_#Y#Z#\#]#^#[#}~          šÚĚŚƚǚȚɚʚ˚͚̚ΚϚКњҚӚԚ՚֚ךؚٚښۚܚݚޚߚ !!!!!!!!! ! ! ! ! !!!!!!!,-./!!!!!!!!!<=>?ABCrz     """"""""""""""""""""""""""""""no"""""uvwxyz{|}~""""""""""""""""""""""""""""""""""""""""""""""""""######### # # # # #######ʙ˙̙͙Ιϙ     ۙܙݙ"#"# #;de'(<     /$1$4$:$<$?$A$D$E$F$K$M$P$R$W$Y$Z$[$b$e$h$m$q$t$v$x${$$$$$$$$$.$2$5$;$=$@$B$G$L$N$Q$S$X$c$f$i$n$$r$w$|$$$$$k$3$6$9$C$>$H$}$T$V$O$\$d$g$o$y$$$$$$j$s$7$~$u$z$p$xyz{|}~'$($)$*$+$,$-$0$8$$I$l$$$$$$$$$$$$$$$U$J$]$^$$$$$_$$`$a$$$$$$''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''!!! !!!"!#!$!%!&!'!(!)! *!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!789:;<=>?F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!TUVWXYZ[\]^_Z![!\!]!^!_!`!a!b!c!d!e!f!mg!h!i!qj!k!tuvwxyz{|}~c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""g"ޗߗ          *'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''&&&&&&&&''''''''' ''''''''''''''''''''''''''  (((((((((((((((((((((((( ( ( ( ( ( ( ( ( ( ( ( ( ((((((((((((((((((((((((((((("(#((!($(%(%(%( ((jkl(((((("&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&      !"#$)*+,-./023456789;<=>?@ABDEFGHIJKLMNOPQRSTUVWXYZ[`abcdefgmno[\]^_`abcy     %&'()*+,-./}~$%&'mnop\]^_hijk !"#$%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%      !"#)*+,-./012345678:;<=>?@ACDEFGHIJLMNOPQRSTIUVWXNOYZ[\]^_W`Yabcd^_efghijklrstuvwxyz{|}~ƒǒג))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********* * * * * **,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*****************************************************************************************!!!!!!!!!!!!!!!!!!!!!!!"""" " """""$"%"&"'"(")"."/"0"1"2"2"6"8":"="B"F"9"H"D"M"N"" """"M""     ""*"+","-">"?"@"A"!!" "!""!I"O"P""#"J"K"Q"R"S"T"U"!!"""7"4";"<"!!!!!!!!!!""""3"C"E"L"V"X"Z"["W"Y""\"     ]"^"5"G"   !#%'+-)/ƐǐȐɐʐː̐͐ΐϐ   "$&*,(.01234g z hijkflmnopqrst          uvwxy! $ & & f ( * , . H0 2 4 6 6 f 8 : < > > f @ B D F F f H J L N N f P R T V X Z ] _ a c e g ! b Z # \ mnopm n o r s t u v w x y z { p q | i j k l " % ' ' f ) + - / 1 3 5 7 7 f 9 ; = ? ? f A C E G G f I K M O O f Q S U W Y [ ^ ` b d f h " b Q Y [ z{|}~͏ُڏۏ܏ݏޏߏpqrstuvwxyz{|}~;<=>g     \]^_`abcdefghijklmnopqrstuvwxyz{|}~ŎǎΎώ     ڎێގߎ ):;<EINOPQRSTUVXYZ[\]^_de      !"#$vwx_      !"#$%&'()*+,-./0123456789:;<=>?ǍȍɍQˍ͍̍΍@ABCDEՍF׍GKLMNOPIHJ01234568 :;<=>?@ABCDEGHJKLMNOPQRSTU)VWXYZ[\]^d4_`abc:;<efghijklEopqIrstuNOPQRSTvwWFIZ[\]^_79mnde     pqrstuvw\xyz{|}~ŌɌΌόЌьҌӌԌ׌،ٌڌی܌݌ߌ     ]^ )14:;EFIJNOPQRSTUXYZ[^de     Trstuvwxyz{|}~      !"#$%&'Ëċŋ()*ɋ+,-.΋ϋыҋӋԋՋ֋/؋ًڋۋ܋݋ދߋ     UVWXYZ[CDHI@A JEBFNOPQRSTUVWXYZ[\]^_`a)bcdefgi1jj4kK7KL:;=mnopqCDEFrsIJtuvNOPMRSTUVWXOPUl]c_`abcde     G?>hvwxyz{|}~xyz{|}~ƊʊΊϊwъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊ     :;OVW     stuvwx      !"#$%&(*+,-./012345ʼnƉ89ɉʉ:;<<ωЉщ҉ӉԉՉ։=؉ىډۉމ%67     ')S./PQRSTUVWXYZ[\]^?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ˆÈĈňƈLjȈɈʈˈ͈̈ΈψЈш҈ӈԈՈֈ׈؈وڈۈ܈݈ވ߈JKLMNOx_`aacbdefhiijklnopqqrssuvwxy`acKLgmt  &)*23:;<0YZ[MN]^z}~{|     R:q fhMfh67NODIw '(VWX  +14=COP_     d89ZCGP   !"#$%,-./95678>B??@DEFGHIJKQRSLTU\\BCPP     1A##mmffnn\\[[gg&'()*+,-./056789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZWX[p5v`56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ9VH$ȅɅʅ˅̅ͅ΅υ\]^_`abcdeffghhiijkllmmnopqaaaeee16>h%C %:C]ox%GLSX`mu{ %:C]ox%GLSX`mu{16>h%C  hhL))dd  GGWWSSOO  ..66;;??KKbb||22ss%%--qq**\\kS=P_3{OOooLLxyRedfCEJPRZhmREFGIJNPQRTUWXYZ[`cghijkmRhEJPRhEFGIJNPQRTUWXYZ[`ccghijkmRhZhmTERFQhhhi[TER__MMKK^^nnT`cSQJKppc]]bedfkkkkSSSS33|ekkMJ P%BB;<-[pp!5JX\{a@DIRmrfxq !*/OF[v[!59),4PPP33!3J00=Aei    0      ========PPPPkkkkkkkkkk0000000000mmmmmm mkk333388SSSSSSSSSSSS-599FFX\aav{$$;Wmx|!&>BBFSSv3%)-1PPP000mmmSSSSSSSSSSvkkPPPmmkk nbc_WP4#\     GCTUVsV%=Pk0_m3S{^%=Pk0_m3S{X[ oYQTW"UKQWR] ]] tk=kkkkPmSSSSSk=kkkkPmRSSSS  Q~w(/!])*+,-./012=:,-.U3J`m!.[dDQZ^j 3J`m!.[dDQZ^j03f7.RSTUVuvwc RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}bcdefg     |hijklmnopqrst/1  $%&'()*+,-./]]('89/7]S:=UQ((!,.-glmnouGHHIILLMMOOOOPPRRRRVVWWWWXXXX^^^^ddddeeeeiijjuuvvHHIIMMPPd^^ee^deuuuudd^^ee^deuuuu^de^de^dePP@ABCDEFGHIJKLMNOW^Wd^Wd^WdWeW^WdWe^d^dddd^^d^dd^dddddd^eedeedd^eedddd^^^^eeddd^dd^d^e^e^e^dd^^^ReW^W^WeWeWW^^d^eddd^d^ddd^de^^^d^dd^^Rd^e^PPRudiu^ ^PuPOO^OdOOOR^RdReRRRW^WdWeWWWX^XXX^d^d^de^ede^ded^ded^^^dedP^de^de^de^de^^dejuOuOvOOOORuRvRRRRWuWvWWWWXuXvXXXXPPuvuvO^OdOeOOR^RdReRRW^WdWeWWX^d^d^de^e^dede^ded^^^ded^de^de^de^de^^deOORRWWXXd.. ':::@145;<=DF(EEEE11123456779:;;<==?>?BAAEBCDEF62;A1<KKSSSSTTTTUUUUZZZZ]]]]YYYY````____aaaaccccppooqqkk~~wwGOPOPOOOOOOOOOOOOOOOO@@@@@@@A;ALAMA@@@@AA@ZA@tAA@@*@@<@^@e@AV@@AAA!AA#A$A8AA'A(A)AAA(A./@@@M@@@Q@@@h@@@@d@n@@h@@@O@@@@w@@"@n@+@"@@>@I@H@P@V@]@@@@@@@@ @A@rAAAyAyAWAAAA9AӌAAA8AAA;klmnopqrstuvwxyz{|}~AH@AʎAȌ@@2@AA@QAё@@H@@i@A?AAA@@@@A=AjA@@u@@A-A@P@AͅAd@A؁A@@@j@Aΐ@@@@@@@AAA\AA2AoA@@@AɃAAA֊@@@`A~@b@AŒA@@b@@@@/@7AK@A@@@@AAuA@@A@9@@@@p@@@@@ @@x@"@@^@AIA@A@@A@@e@@i@@@AoAҊAϑ@@B@s@@@@*AAjAAΞ@@@wAb@t@@@@#@I@@@AoA&AA#AJ@@@@AˆA@@@{@@>@u@@@@@@@i@AFA4AAHA@@AA@@@@@?@@@@BAA|A@A.@@{@@A@@ @Y@k@A^@m@.Ax@+@@A*@@D@@A@)@@e@@N@@@@@yAψAȂA@?@@@@AAAWA@@A@@ @@@AX@A6@:"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""######### # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#     ǤȤɤʤˤ̤ͤΤϤФѤҤӤԤդ֤פؤ٤ڤۤܤݤޤߤ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""""""""" !!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v Rk eRzmRRnRR zSgYSbTVU^Y eU W V^V rWSyWxceW|y W|WpXWXg Xvy Xza X|X|YxrX|s ezX|}ceYxrYxreYz_S|Y| iZ ^[zf[ o\SYz\b r]yY_b_ea ^d]ezefjjcekSck _ek ck {zlR^ezlYzl[lzmRxcemS emc]UzmxnYa zn`nglnzcn^n ]n aoSeozeooeo zo pSY|pSzpckpzYp]wqY|qyqyk zsWsWes ezu eu zvRycezyxzl z mz{r{eZ}ce)@*@+@,@-@.@/@0@1@2@*)@**@*+@*,@*-@*.@*/@*0@*1@*2@+)@+*@++@+,@+-@3m33J3D`m[m[+m[,@s@@-@@'@c@@@*@@@>3d33[3!3!J[JJ`3.!`3.d[!j!j[jjj.[.m.!.[d[[[[`[![[[+`[+[+![+[[,`[,[,![,[7[7+3!3[333m3m73m7+d[DdDD[D!D[DQdQQ[Q!Q[Q! [ 3][]J```m`7!`]mJ^3d!!![!.[.d..Z[J[.[.][][DQJD7[37[*@+@,@-@.@/@0@1@2@*)@**@*+@*,@*-@*.@*/@*0@*1@*2@+)@+*@++@+,@+-@+.@+/@+0@+1@+2@,)@,*@3.bdeghikmnpqrstbdeghikmnpqrstnmnmt@Ή@Ή@ Ή@։@Ή@mщ@Ή@kщ@]Ή@AӉ@@k@4@(Aё@׉@@*@ @>@ ԉ@yA@]@҉@Ή@|ԉ@fۉ@@ωAnj@TӉ@m@ωAꁉADEFGHIJKLMNO+*+++,+-+.+/+0+1+2,),*,+,,,-,.bdeghikmnpqrstbdeghikmnpqrstpbnm~ @@@ @@@m@@k@]@A@@k@4@(Aё@@@*@ @>@ @yA@]@@@7@sAi@*@p@A@@@c@ @-@ @@@;@@f@@Anj@T@,/,0,1,2-)-*-+-,---.-/-0-1-2.)*@+@,@-@.@/@0@1@2@*)@**@*+@D.mRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-./0bcdefg     |hijklmnopqrstvw $&+/1~57IJ @@@ @@ @-@ @2@Y@@@)@0@±ñıűƱDZȱɱʱ˱̱ͱαϱбѱұӱԱձֱױرٱڱ۱ܱݱޱ߱Y]^ehklmnorxyz{| 7f ]s) + *+,-./012,  @A@D@Ep^ @RRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbcccddeefghijkkklllmmmnnnooopqrstuuvvwwxyz{|}}~TWZ  wy-RRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbcccddeefghijkkklllmmmnnnooopqrstuuvvwwxyz{|}}~TWZ}~.   [e@@(@6@?@Y@@@@@?@e@k@@@@@@@@@@@8@A@\@i@@@@@@@@@ @@'@s@P@@@@"@8@n@q@@@@@r@z@@@@ @@P@a@s@@@6@K@/@4@@@@@@@@@(@ @b@y@@@@@@@4@k@*@6@;@?@G@Y@[@@@@@@@@(@0@@@v@}@@@@@@@:@@@t@@@s@@6@Q@@AA AA3AAAAAAA AAAnArAxAMAkA@ALAcA~AA҉AA7AFAUAxAAdApAAAʎAAAAAIAƑȂAёAwAAAAAAQA^AbAiA˗AAAAAۘAߘAAAAAؚAߚA%A/A2A<AZAAuAAAAÞA͞AўAAAAA A;AJARAAA֯ׯدٯگۯܯݯޯ߯   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@6@@[@Z@Y@@@@@@\@i@@@"@#@"@#@@z@Q@P@@@L@5@@@@z@@@5@:@l@+@+@,@[@@@@@:@;@@@@S@R@S@S@R@@@AAAAAAyAyAyANAdAAAA҉A҉AAAAfAAAAAAwAxAAAAAARAAuAΘAޘAߘAAAcAAlAA<A|AAuAAĞAAJAPARAAAAAA     ! " # $ % & ' (  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~«ëīūƫǫȫɫʫ˫̫ͫΫϫЫѫҫӫԫի֫׫ث٫ګ۫ܫݫޫ߫ ! " # $ % & ' ( ) * + KKKK, - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  ==------                      89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( |}~ (LNSTUW_`*+,-./012*)*+,-./012*)*+,-./012*)   §çħŧƧǧȧɧʧ˧̧ͧΧϧ   !"#$%&'()*+,-./01234567      !"#$%&'()*/ 0 1 2 3 4 5 6 +,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_+ , - `abcdefghijklm~nopqrstuvw) * + , - . xyz{¦æĦŦƦǦȦɦʦ˦̦ͦΦϦЦѦҦӦԦզ֦צئ٦ڦۦܦݦަߦ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'()*+,-./0123456789:;<=>?KLMNOPQRSTUVWXYZ[\]^_*+,-./012*)***+*,*-*.*/*0*1*2+)*+,-./012*)***+*,*-*.*/*0*1*2+)*]+],]-].]/]0]1]2]*)]**]*+]*,]*-]*.]*/]*0]*1]*2]+)]3J`m!.[dDQZ^j3J`m!.[dDQZ^j3J`m!.[dDQZ^j)***+*,*-*.*/*0*1*2+)*+,-./012*))      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ѣңӣԣգ֣ףأ٣ڣۣܣݣޣߣ !!"$%&'456789:;<=>?@ABCDEEFFGHIJKKKKKKLLLLLLMNOPQRSTUVWXYZ[\X]^^_`_aabcdefghijklmnopqrstuvw-xxyz{|}~e,.z{3`3`J```J..dd[.[j j!3J`[12343Z<'mmLMNOPQR*,+,*.+.,.-.*/./*1,1.101*DDDDDZZZZ.`m[DDDDDZZZZ.`m[                 %%&'()2xyz{]]]]]] |}QQ\UUUQQU<*UVXYZ[\]^ defghi)rs-./012(4-d)*+,-./012(4- !"#$%&'( àĠŠƠǠȠɠʠˠ̠͠ΠϠFGNOXZ\^                  ~                şԟ՟ܟ          33JJJJJJ``mmmmmmmmmm!!!!!!........[[[[[[ddddddddDDDDQQQQQQQQQQZZZZ^^jjjjjjQ^3333333333333333333333333^^^^^^^^7<=Wdq%:_m#$%;HUn38JVm!.[dlQ3>B=Jm![~$7DD&lmnopqrstuvwxyz{|}~ÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝ם؝ٝڝ۝ܝݝޝߝ,-./<=>? ABCT[)*+,-./012nouvwxyz{|}~™ÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙ{|}~^5cJK#$6d)*+,-./012   !$&(+0148;<=>2"',69?@- )7:35A#.%* xyz{|}~/BDEGHKMNPRTUIS CFJLQVWOX˜ØĘŘƘǘȘɘʘ˘̘͘ΘϘИјҘӘԘ՘֘טؘ٘ژۘܘݘޘߘ   jk789:;<=>?   TUVWXYZ[\]^_ !"#$%&'()*+m,-.q/0tuvwxyz{|}~lmnopqrstuvwxyz{|}~noMޗߗ)*+,-./012)*+,-./012      !e*;DEFGHIwxyz{|}~ "#$%&'()*+,-./0123456789:;<<=Y==>>??WX???@ABCCCCCD\EFFFFGGGHHIIJJKLMNNNNNOOOPPPLQRRRSSTTUVZ^_[]`aaaENNOPJSRR>>      !"#$%&'([)+,-./0123456789:<=>?@ABCJKLMNOPQRSTUVWXYZ\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEGFGHIJKLMNOPQRSTUVWX[\]^_`EbFGHIZr*+,-./012 }~YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aGbIcdefNOghijklmWnYopqr^_stuvwxyz{|}~ƒǒϒגbcdefghijklmnopqrstuvwxyz{|}~Z[\]^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ123456789:;<=>?@ABCDEFGHIJKLMNQRST"UVWXY(Z[+`abcdef345k:;<=>?)*+,-./012lmOP\]^_ghijZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ƐǐȐɐʐː̐͐ΐϐ qZ[\   ]L^_`abcdef)*+,-./012*+,-./012)ghijkVXZZ\^`bHdfhjjlnprrtvxzz|~Vklmnop WY[[]_acegikkmoqssuwy{{}Wlmnopqrstuvwxy͏ΏzЏяҏӏԏՏ֏׏؏ُڏۏ܏ݏޏߏ     ;<=> !"#$%Y)*+,-./012\]^_`abcdefghijklmnopqrstuvwxyz{|}~&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSŎǎTUΎώ)*+,-./012ڎێ>1>8ގߎUVWXYZ[] _`abcdefghijklmnopqrstuvwx)yz{|}~:;<=DEINOPQRSTUVXYZ[\]^_\^bcde)*+,-./012pqrstuvwxyz{|}~Ǎȍɍˍ͍̍΍Ս׍ )4:;<=E I    NOPQRSTWXYZ[\]^_bcde)*+,-./012pqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<C=>?@ABEFGHIJKŌLMNɌOPQRΌόЌьҌӌԌST׌،ٌڌی܌݌Dߌ)*+,-./012]^_`abce ghijklmnopqrstuvwxyz{|}~)14:;DEFIJNOPQRSTUXYZ[wx^dfbcde)*+,-./012Qrstuvwxyz{|}~Ëċŋɋ΋ϋЋыҋӋԋՋ֋؋ًڋۋ܋݋ދߋ*+,-./012 RSTUVWX )   1  4 7:;=CDEFIJNOPQRSTUVWX]_`abcde)*+,-./012uvwxyz{|}~ "$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSVƊWXYʊZ[\ΊϊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊ!#TU)*+,-./012Z[\]^_`acefghijklmnopqrstuvwxyz{|}~:;NOYUVWmnotyzbdhi)*+,-./012qrstuvwxyz{|}~ʼnƉɉʉΉωЉщ҉ӉԉՉ։؉ىډۉމ)*+,-./012*+,- Pp`a?@ABCDYKLPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     ‡ÇćŇƇLJȇɇʇˇ͇̇·χЇч҇ӇԇՇևׇ؇هڇۇ܇݇އ߇ 12LM;X GHILMOPRVWX^deijuv;<=>? YZ[\]^_)*+,-./01234QKJNGPGGGGYZS[\T]Ufg_`hacklmnopqrswxyz{|}~b_Nt)*+,-./012GDDIInn{{ !"#$%&'()*+,-./0     !"#$%&'()*+,-./WX0S0W`     !"#$%&'()*+,-./+>"ŅƅDžȅɅʅ˅̅ͅ΅υ123456789:;;<==>>?@AABBCDEF666:::RREJZs|!},04@R^j| 9=Ya,04@R^j| 9=YaRREJZs|!}II55UUQQMMK4488<<ffNN--11AA]]iiqqEEuuyy^^mmτ((VV  $$bbooww||%%))eeXYZ[\3`m[DZpqrsvwxy{|}: g    σ    #    3333rss33^^Kz789:;<=>?@ABCDEFGHIJKLMNO>BFXivz+ ?CGO7<`nvh'@IMVWbw{N*2mjmm{i~..j/3Q^ !"#$%&'()*+,-./.Z0123456789:;<=>?@ABCDEFGHI333333````````mmrr!!.......g.g66ddddddd~~QQ^^^jjjjjjRX\\eevz~~jQ &&;S7nr @Iffoomjmjmj...ddd33333388!!mjmjmjdd3388 Q~w(/!])*+,-./012=:,-.U3J`m!.[dDQZ^j 3J`m!.[dDQZ^j03 R 13/ J)+, g**-*+,-V3333338`d+^3333338`d*^^A ^ ^VZVZ ^@ЬS52 `tCCPCC@D 'CCp1CC+D| F?\7^VZ`^  ѭ{ F?\K^VZVZ@ЬS   ѭz F?\`^VZ@^  ѭy F?\r^VZ _  ѭx F?\^VZ^  ѭw F?\^VZ^  ѭv F?\^VZ^  ѭu F?\^VZ^  ѭt F?\^VZ_  ѭs F?\^VZ_  ѭr F?\^VZ`_  ѭq F?\^VZ_  ѭp F?\^VZ_  ѭo F?\ ^VZ_  ѭn F?\/^VZ_ۧ  ѭm F?\@^VZ_  ѭl F?\Q^VZ0_  ѭk F?\b^VZ`_  ѭj F?\t^VZ_  ѭi F?\^VZ_  ѭh F?\^VZ@ _  ѭg F?\^VZ _  ѭf F?\^VZ _  ѭe F?\^VZVZ  ѭCCPCC@D@:CCp1CC+D L?\^VZ`^ ˭ L?\^VZVZ@ЬS  ˭ L?\^VZ@^ ˭ L?\^VZ _ ˭ L?\*^VZ^ ˭ L?\;^VZ^ ˭ L?\N^VZ^ ˭ L?\a^VZ^ ˭ L?\r^VZ_ ˭ L?\^VZ_ ˭ L?\^VZ`_ ˭ L?\^VZ_ ˭ L?\^VZ_ ˭ L?\^VZ_ ˭ L?\^VZ_ۧ ˭ L?\^VZ_ ˭ L?\^VZ0_ ˭ L?\ ^VZ`_ ˭ L?\^VZ_ ˭ L?\+^VZ_ ˭ L?\>^VZ@ _ ˭ L?\P^VZ _ ˭ L?\a^VZ _ ˭ L?\t^VZVZ ˭ CCPCC@D@:CCp1CC+D@@!\^VZ`^@^ `K@@!\^VZVZ@^@ЬS  `K@@!\^VZ@^@^ `K@@!\^VZ _@^ `K@@!\^VZ^@^ `K@@!\^VZ^@^ `K@@!\^VZ^@^ `K@@!\^VZ^@^ `K@@!\)^VZ_@^ `K@@!\:^VZ_@^ `K@@!\N^VZ`_@^ `K@@!\`^VZ_@^ `K@@!\v^VZ_@^ `K@@!\^VZ_@^ `K@@!\^VZ_@^ۧ `K@@!\^VZ_@^ `K@@!\^VZ0_@^ `K@@!\^VZ`_@^ `K@@!\^VZ_@^ `K@@!\^VZ_@^ `K@@!\ ^VZ@ _@^ `K@@!\!^VZ _@^ `K@@!\4^VZ _@^ `K@@!\I^VZVZ@^ `K~!\\^VZ`^@^ R~!\o^VZVZ@^@ЬS R~!\^VZ@^@^ R~!\^VZ _@^ R~!\^VZ^@^ R~!\^VZ^@^ R~!\^VZ^@^ R~!\^VZ^@^ R~!\^VZ_@^ R~!\^VZ_@^ R~!\^VZ`_@^ R~!\^VZ_@^ R~!\)^VZ_@^ R~!\8^VZ_@^ R~!\F^VZ_@^ۧ R~!\V^VZ_@^ R~!\f^VZ0_@^ R~!\v^VZ`_@^ R~!\^VZ_@^ R~!\^VZ_@^ R~!\^VZ@ _@^ R~!\^VZ _@^ R~!\^VZ _@^ R~!\^VZVZ@^ RCCPCC@D 'CCp1CC+D R?\^VZ`^ ȭϬ R?\^VZVZ@ЬS ȭϬ R?\^VZ@^ ȭϬ R?\#^VZ _ ȭϬ R?\3^VZ^ ȭϬ R?\C^VZ^ ȭϬ R?\U^VZ^ ȭϬ R?\g^VZ^ ȭϬ R?\w^VZ_ ȭϬ R?\^VZ_ ȭϬ R?\^VZ`_ ȭϬ R?\^VZ_ ȭϬ R?\^VZ_ ȭϬ R?\^VZ_ ȭϬ R?\^VZ_ۧ ȭϬ R?\^VZ_ ȭϬ R?\^VZ0_ ȭϬ R?\^VZ`_ ȭϬ R?\^VZ_ ȭϬ R?\%^VZ_ ȭϬ R?\7^VZ@ _ ȭϬ R?\H^VZ _ ȭϬ R?\X^VZ _ ȭϬ R?\j^VZVZ ȭϬCC@CC@D@:CCp1CC+DЬ .42ss qުتҪʪƪ|xrlhd^XRJB<60*$֩Щȩ©~zvrlhb\VPJD>82*$ ڨԨΨȨ¨|vpjd^XPF@:4.(Y 2 ss !ke_WQKE?93-'! ۫իϫɫ{uoic]M;51-)% C0C?1VZVZVZ _ _ _`b@cDDDDDDDDPDpDpDDD$D$D%D 'DP D0DDD$D0'DDP'DDDD@DpDDD DD#DDPDDD@DpDDD DD#DD`DD1D@DpD@D D'D D#D+DDDDDDD D0 DPD D D@ Dp D$D$D%D 'DP D0DDD$D0'DDP'D+DDDDDDD D0 DPD D D@ Dp D$D$D%D 'DP D0DDD$D0'DDP'D  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqcA1_8_VZ _ _ _ _ f@i @eh@2D06D9D6D6DD D'D D#D _~_p_Y__VZ!_ __ kca__VZ!_ ___ kkDDDDDDD=D@DpD@D D'D D#D!6_6_VZ````` @ed!6_6_VZ````` @ed!\ 7_VZ`````````` @ed!7_"7_VZ@`@`@`@`@` @ed!17_77_VZ ` ` ~` }` {` @ed !1_H7_VZz`y`x`w`u` @ed ! Z7__7_VZs`r`q`p`n` @ed !o7_u7_VZm`l`k`j`h` `dd7_7_VZg`f`e`d`b` @ed!\7_VZa```_`^`\` @ed!7_7_VZ`[``Z``Y``X``V` @ed7_7_VZ@U`@T`@S`@R`@P` @ed1_7_VZ O` N` M` L` J` @ed!7_7_VZI`H`G`F`D` @ed7_8_VZB`A`@`?`=` @ed!$8_*8_VZ<`;`:`9`7` @ed!;8_B8_VZ6`5`4`3`1` @ed1_T8_VZ0`/`.`-`+` @edg8_n8_VZ`*``)``(``'``%` @ed!8_8_VZ@$`@#`@"`@!`@` @ed !8_8_VZ ` ` ` ` ` @ed$!8_8_VZ````` @ed%!8_8_VZ```` ` @ed&!8_8_VZ ` ` ``` @ed'!9_ 9_VZ````` @ed(!9_%9_VZ_____ @ed)!7_69_VZ`_`_`_`_`_ @ed*7_H9_VZ@_@_@_@_@_ @ed+8_Z9_VZ _ _ _ _ @ec,;8_d9_VZ_____ @ed0!\w9_VZ_____ @ed1!\9_VZ_____ @ed27_9_VZ____ @ec3!7_9_VZ_____ @ed47_9_VZ`_`_`_`_`_ @ed59_9_VZ@_@_@_@_ @ec9!9_9_VZ _ _ _ _ _ @ed:g8_9_VZ____ @ec;!g8_9_VZ_____ @ed@8_ :_VZ____ @ecAo7_:_VZ____ `dcB;8_$:_VZ____ @ecC9_/:_VZ`_`_`_`_ @ecD8_::_VZ@_@_@_@_ @ecE6_D:_VZ _ _ _ _ @ecF$8_M:_VZ____ @ecG7_W:_VZ____ @ecH7_b:_VZ____ @ecI8_j:_VZ_~_}_{_ @ecJ17_v:_VZz_y_x_v_ @ecK7_:_VZ`u_`t_`s_`q_ @ecM1_:_VZ@p_@o_@n_@l_ @ecN8_:_VZ k_ j_ i_ g_ @ecO7_:_VZf_e_d_b_ @ecP6_:_VZ`___^_\_ @ecQ9_:_VZ[_Z_Y_W_ @ecR Z7_:_VZV_U_T_R_ @ec\!:_:_VZQ_P_O_N_L_ @ed]:_:_VZ`K_`J_`I_`G_ @ec^!\:_VZ@F_@E_@D_@C_@A_ @edc;8_;_VZ @_ ?_ >_ =_ ;_ @ed @ed```VZddd @_a``VZdddd @ BDCD`8C8C`DDDDD0CDDD@C2C@3C3C4C$D$D%D 'DP D0DDD$D0'DDP'DFDGD #C@D 'C08C Dp1C D#DdddddddTddVZ}f|f{f` `ID0JD`8C8CLDDD LDPJD@C2C@3C3C4C$D$D%D 'DP D0DDD$D0'DDP'DHD IDPMD@D 'C08C@7Cp1C D#DaddVZ}f|f{fzf` `@nfbfVfUDUDUDX fŃfVZjjj` `kDkD`8C8CmDDmD lDmD@C2C@3C3C4C$D$D%D 'DP D0DDD$D0'DDP'DoDoD #C@D 'C08C Dp1C D#D a f΃fVZjjjj` `@jjjjUHjNjVZ m m mj @ptDtD`8C8CuDDDtD vD@C2C@3C@6C4C$D$D%D 'DP D0DDD$D0'DDP'D`DD #C@D 'C08C@7Cp1C D#D!HjXjVZ m m m mj @ l l l l l lZ R?\! mVZm m m ȭ`ɭ R?\* mVZm m m m ȭɭ# R?\C mVZm m m m ȭɭDDDDСD`D?C0D`D@CxDxDD0DD`DЂDD0xDzD|D DDPD`DpDDDB@D@:CD xDp1CУD#DD0DB@D@:CD xDp1C0D#D= L?\S m] m ˭̭< L?\l m] m ˭̭DГD0D@D`DD?CDD@CxDxD DDPD`DЂDpD0xDzD|D DDD`DpD@D DB B@:C`D xDp1CD#DpDDBD@:C0D xDp1CD#D> } m m m έҭ8 } m m m έ`ҭD`DDDD`D?CЎDD@CxDxDPD0DD`DЂDD0xDzD|D DDPD`DpD7 F?\ m m  ѭҭ6 F?\ m m  ѭ`ҭD`DDDD`D?CD0D@CxDxDPD0DD`DЂDD0xDzD|D DDPD`DpDDDB B@:CD xDp1C@D#DD0DB@D@:CбD xDp1C@D#DVHmOmVZnnnխ ӭDD`8C8CDDD DD@C2C@3C3C4C$D$D%D 'DP D0DDD$D0'DDP'D`DD #C@D 'C08C@7Cp1C D#D!HmZmVZnnnnխ ӭ`ԭխnnynmnan[nnVZ w w w` `ޭPDD`8C8C@DDDPDD@C2C@3C DD$D$D%D 'DP D0DDD$D0'DDP'D`DD #C@D 'C08C@7Cp1C D#D !nnVZ w w w w` `ޭ@߭ o n n n n n n n nb!w)wVZ```@ @@DD`8C8C`DD D0DD@C2C@3C DD$D$D%D 'DP D0DDD$D0'DDP'D`DD #C@D 'C08C@7Cp1C D#Da!!w5wVZ````@ @ ````}`q`e`Y`M`A`5`)``  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   & ! 0 `9 Zd}y    "   "!a: [e~zA^{B_=>|T9 CGPXnpbU: DHQYoqc"A;8_aVZ` @e `DDD@D D@D D'D D#D~` "!"!^ޯVZ@@@  DD`8C8C@DD?CDD@C2C@3CDD$D$D%D 'DP D0DDD$D0'DDP'DDD`8C8C@DD?CDD@C2C@3CDD$D$D%D 'DP D0DDD$D0'DDP'DDDPD@D 'CDDp1C0D#Da^VZ@@@@ 99 ` @t@h@\@P@D@8@,@ @@@@@@؄@̄@@@@@@GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-28)\@@ [ @v@w`}@x\@@+3@PF]@_ @r`@F@F0AF 0@/A@APA`sh`HHAA0A/A@EWApJZ JZm!B/BWbB!"pB B2!'!hQZ0s B+B# BBRZpRZ$RZ 2`IHJ 2BDkHp?BpABoBBRBR TB5`VB0]BJ(I(xBzBu|BCPB B`#B8,B(B1 6dZ ?BS`eZP eZ(XdZ(a` i@Bu BBBpZ kZlZlZ@kZlZ B B" B9 BJ 0B5\ pBfn fZ @{Z. B6  B`U@\ B?  B Be Bu Bu+ @B? 0BEU BEk B} B B `B @B PB  B B CH Cx&  C9 CQ C%a C%t iZ hZ gZ @LX LX  Z  Z  Z M0 NXN RXl @SX @y[ @m[ @a[ @U[ @I[ @=[ @1[ @%[ @[ @ [ @[ @Z @Z @Z  @Z @Z  @Z  @Z " ۧ; @[ wU@[ U@[ B @[ J @[ R @[ Z @[ b @[ U@[ j @[ r @[ z  @ \   H G F E DCB A.@<?J>X=f<t;:9876543210/*.8-F,T+b*p)~('&%$#"!  &4BP^lz `C?@*\ C7 "\A@#\K`C dCz`C_@J@/\@.\@-\@$\X @,\@)\ @(\%@'\*@&\/@%\4CEGC3^@Ri`=\n`<\s`;\x`:\}`9\`8\`7\`6\`5\`4\`3\`2\`1\`0\@C@C@C @C@CAC DCKLC.bCb^bnb  @ C C0C@CPC`C,pCDCYCiC|CCБCCCCC C0C+@C;PCM`C_pCpCCCCCВCCC C C8 CQ0Cl@CPC`CpCCCCC@CRГCeCvCCC C0C@CPC `C%pC<CQCdC}CCДCCCC)C] Cr0C@CPC`CpCCCC4CJC_ЕCwCCCC C#0CG@CqPC`CpCCCC6CSCtЖCCCCC C0C8@CSPCs`CpCCCCCC1ЗCNCgCC0C@CPC`CpCCC&C@CUCgИC{CCCC C0C @C PC3 `CE 0N b_ bo @\| 0CV C? C C \ Cl C9 ] PC! A\l! \\ ! \-!\:!\TG!\T!\a!F\Ln!D\{!^!C!^!^!^! !`X!!^ "^ "^ "^ "C#'"b."CwA"0C^"ay"C "C "C"C"C"@C #PC ##`C>#PCn#C#C#C#C#CA#Cv#0CW $ ^$`^#$@^(,$ _v4$^#<$^WF$^P$^YX$_^$_Cg$`_n$_y$_&_~_$_$0_$`_$_$_I$@ _$ _$ _' @^$D$D$pD%D %D'%D')%D|=%DO%Dyd%PDEz%DE%D/% D% _% _`b%@cX%D%D&DA&_& )Du.&+D.@&_V&@2Di&b w&@bP&06D&6D&6D&9Dj& _& _& _& _ ' f'@i@('hXM' _d'_}{'p_'D(@DL(!_"(_k2(_!kX_D(_I(_N(`d(`}(`(`(`(`(`(`)`/)`G)``_)``z)``)``)``)@`)@`)@`*@`**@`@* `W* `q* ~`* }`* {`*z`*y`*x` +w`*+u`C+s`Y+r`r+q`+p`+n`+m`+l`+k`,j`$,h`<,g`V,f`s,e`,d`,b`,a`,``,_`-^`1-\`I-`[`a-`Z`|-`Y`-`X`-`V`-@U`-@T`.@S`.@R`<.@P`V. O`p. N`. M`. L`. J`.I`.H`/G`//F`K/D`c/B`}/A`/@`/?`/=`/<`0;`"0:`<09`X07`p06`05`04`03`01`00` 1/`)1.`E1-`c1+`}1`*`1`)`1`(`1`'`1`%`2@$`(2@#`C2@"`^2@!`{2@`2 `2 `2 `2 `3 `"3`93`S3`m3`3`3`3`3`3`4 `*4 `A4 `[4 `u4`4`4`4`4`4`5`75_N5_h5_5_5_5`_5`_5`_6`_!6`_:6@_R6@_m6@_6@_6@_6 _6 _6 _6 _7_7_:7_V7_t7_7_7_7_7_7_8_*8_E8_`8_}8_8_8_8_8_8_8_9_/9_L9_e9`_}9`_9`_9`_9`_9@_9@_:@_(:@_<: _T: _o: _: _: _:_:_:_:_ ;_#;_>;_Y;_v;_;_;_;_;_;_;_<_<_)<_:<_N<_b<_t<`_<`_<`_<`_<@_<@_<@_<@_= _= _'= _9= _I=_Y=_l=_=_=_=_=_=_=_=_=_ >_>_,>~_A>}_V>{_i>z_y>y_>x_>v_>`u_>`t_>`s_>`q_>@p_?@o_?@n_0?@l_B? k_S? j_g? i_{? g_?f_?e_?d_?b_?`_?__?^_@\_@[_/@Z_B@Y_U@W_f@V_u@U_@T_@R_@Q_@P_@O_@N_AL_2A`K_DA`J_YA`I_nA`G_A@F_A@E_A@D_A@C_A@A_B @_B ?_6B >_PB =_lB ;_BBDIBCD(B0CDBbBDDBB`DDBDDB`CED0*Cd;CFDJNCGDcCdoCd~Cd@! XCCd Cd Cd Cd Cd Cd Cd CGDCzfCHDWC IDDIDC D0JD/DPJD=DdLDeZDeZhD`evD eDeTD eD eDd\DdD LDDfzMD@e:aDLDl EPMDnE}f(E|f6E{fDE`UE`mE@XE!nf "bf EVf EUDEUD EVDEVDEXDEZDFfFkDI FkD(/F lD=FhMFmD[FfkFmDB|FmDFpnD0FjFoDJFoDFjFjFj G``!@XGCj Cj Cj Cj 4GjHK DHKpDK0D/K`D7KDK0DK0DLD!LD8"L0DH6LD GLD YLDjLDzLСDLDLDLУDL`D#LD MDMpDw#MDV3MPDwEMбD%YMD%nM0D%M`D%MD%MD%MDMD_M@D-NpDN0DND-NpD@N@DQSND[hND+{N0DNmN mN mN`ɭXNɭXṊXO̭X?OέZOҭXyO`ҭXOD2ODO DO mOVnp OQnPDlPD*Pm:PmrJPmZPmjPmzP@mTPmP`mPmP`mPnPnPnPխӭ Qn!`ԭXQխ!n "n "yn "mn Han 5QPDCQD9RQ@DjQDZ|QPD.Q uQ qQDQ sQ oR`DR w'R w5R wCR``ޭTR w!@߭XdR! o " n " n " n {R n R n R n R n R n R@DRD9R0D.R`}R`yS`D S DZ4SDES`{aS`w}S`S`S`S@@S`! XS`!` "` "`} "`q S`e {R`Y R`M R`A R`5 R`) S` S` S`D$T,Tw&jPCTD\T DtTTTDTTTUU`$U`3U XQUhU`}UUUUDiUD1U@ǃUqTU V@D(VDe=VDSVmjVZJ~V<VDVD:VDVDVDWDWD1WDTFWD]WDXsWDW3L>WrWD%WD%W0Dy $@W@X@X %X@X@!` XSX `U@t wU@h U@\ B @P J @D mX@8 uX@, Z @ b @ U@ }X@ X@ X@ X@؄ X@̄ X@ X@ X@ X@ X@ X@ X*XFXDYl YFYF/Yp8@T@t@@@@>3@P5@ p6@ :@ N@ N@ p\@\@$E@EDx*FFFFl@opvEYXaY{YYCYcYYYcZ. Z%D&zg0'Z~EZ^Z$jZզ~Z0ZZzZAZC6ZZpDM [ A#[b[~CNq[["`iA[CS[\")Ay.\!:\V\@en\"0@=z\B\\c\\!0l\ ѭ\]W)]:]@vCD]"C$V]`CWg]"8A]@P@eC!^)^J^i^S^a^"&A ^@yC ^^^^^wA_ _zC=_?&_u_C-_@mA_pC__A_x_h_ 0D`&``vA\7`+DdQ`J]`|`` C:``Tg`` aMa!`kP,aȭDa"A\a@Qwa`C6aa @a@a>ab!+bp;bDQbpb3|bbbb BcpBc.cA)7cfcC }cXcicΨc@cc :Bccd8d?d@Ld c_dsdcddduBe(e4e6B|De0jC][esee ìe CeXgeecfCMfc-fA?fcKZYfvBoffffXf&gp3BELgXgdg8Crgg)g(gg*hVhĬvhlAhիhpKC&hC hhQAhhoA viC$ii*+iLili~iMC:iiPaCi@Ei@iP-Dj)j`A}9jPCtFj"ASj"gAhjj CjCjjj\gk:k#k'/k0xBt@khktk B$kvkkk{lA.lBlA+Ylp1CLel4qllpqAjh0l A-l`yC<l"gAll-mBmTmkCM^mCimm|mlm`ˬm'CmnRn`d(n c8nUD OnRB@WnknnpBnXn oPrCJo`g;o`gCPocoPClooCo`Ŭo@ojD3o!`looO"p$c6pQp"@p"+App Ƭppp q\@ qWqnqȨzq"DAqiDqrr9r`wJr01B\Qr@qrrroruC'rrrqA r|r" AsPCspA$sFsC UsAas>B4kssCws@ͭs ,Bs B)s@Css@Ut Ϭ1t~WBt`Э^tCytStA"7t@ttt© uu@:uFu]u|uuЇ@uHEu-u uCOJAou@0&v@>v Jvdv2pvyv v8vdgvvvέww5wxDwAKwjwvwMw@ww@www!k w`8Cp x`-x9xPBExKcQxCdexx(cxXx"AxC8xxxy;yrGyhytyoCy" AyA}yA$y"@yy3C@h0y"@QAHzzLzPBI^zqzAzOzpzABzhgzXzzkD z${`?{! [{`Deʶh0o{"p@ !{{{ {{|@A?&|2CrBh07|D|pCX| k|`xC}|| |"@@|J }0 BE"}.}X},co}}}PD}rA}"@E}@ Bq3$E ~ƪ~@3~!kP<~^~u~0c~puC;~C.~v~P B0~@5B~C-LX dwlAXC4 ,J0A\~kDP`CE€΀oAKA-0Ap=@ATȩ`|̬4cp@z ݁$DC`cC'lg8#D ÂD ՂsCM"&A ЋC `kD44  Dȃ D  "+A6QvBTk~"@pgĄ%ЄބPs !XCn7C]"@ qjD  C$eCxAυp9CA@P-DVF`tXgC vQ^eCƆAφ"PAAv  *@6C>ݭRpD_kw@:C"3A,$pPB1D="@@R=B_8cYt" ADp \Ј@Vp`tg D:c BqBCc~ى X͊¨ي`oA'`Cv"6dXZerAы@CʪOz'BI0C/@c4CL<iR0aϫmD|xg!7,ZŌwB0@,PA'ǬDam ̬|g#@ڍ3FpRϭg As?C`Ž˭ێB VC%0D6 C=AҭWЩcwB7KC``KŏWAAߏA vC u=Rr͐ A<@7CM\Rʑ@QB,Ց';gM m@c@ޒul`CA %A"?A)A@?B%@ٓ`WA"A kA,K*W@ Bo`άax9Cd `YC@2P>0vC Zo_A ɬҕ@D^D 0w0z<_H N@jF vD jD }Жܖ`*`ȬIiJu[ h-t0 Dnɘ0 B@D$@1PA9Y@xB/UCdCW5csC~m`"+Aؚ`YCM -PB5I[ gҪ"PA}C(i0ɛlA`pA1C ;O_P|ͬPCi`@1˜nA'@@CgXAfЧCjt!,ZPAW@3Cr B$̝j؝PAAD#1B6 D:I\oCpžpC̞֩ 2>gW@yykAA`tAXП",AO~@ eC~x@ƭh@A2UA& Sh!0kq"0@tʭ͡ ١@02xTpAdDn{zeТ"MA2aɫm"AӣߣPCDg01<PqC ]b@ȤhԤV~ LCv*6@,S@C6\~`pC$iC8i@gޥ@ D-@RB 0i/`<AKuAɦ,4C9ƬWkЬgNC%A3ʧcXǭqA5~pMCC_èoA4֨تDgJB ;"hAQ0]|jD A@vة DD"5AadĪPCQ$ɬCPwpgk@dɫ"@ìC>*qAAp]PC[k+DCep D-$D)Ŭǭ(TCs 'D hӭ\H1BgSzC  ŮP'D ?@i0.Ee>uC6Jf\CmgϯA߯CT7$DM` l xCpɰ6pCN-O[}p"v`Ʊ@ YC@"p@ @,'B?lKl\x@wB7ƲpQBβpCݲ@j,C;cGpC6PfD| ཬAڳQ]jD v@C"ϬX*CN`bAPzC$@C8C "hA@f] #ClۧopCx@|P%ڨ1@@5CTvAl{1D5Љ@@C@Ь   RB'P8BU7C DR&w d%sPg_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.part.9_ZL21my_connection_options_ZL19reader_func_adaptorPv_ZL19load_default_groups_GLOBAL__sub_I_mysql_install_db.cc_ZStL8__ioinit_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.part.11_GLOBAL__sub_I_logger.cc_ZL19g_allowed_pwd_chars_GLOBAL__sub_I_auth_utils.cc__JCR_LIST__deregister_tm_clones__do_global_dtors_auxcompleted.6355__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrycomp_nameshandler_error_messagesmy_errmsgs_listmy_errmsgs_globerrsenter_cond_dummyexit_cond_dummyis_killed_dummyinstrumented_stdinall_mysys_mutexesall_mysys_rwlocksall_mysys_condsall_mysys_filesall_mysys_memory_ZL9fn_expandPKcPc_ZL13add_directoryP11st_mem_rootPKcPS2__ZL24init_default_directoriesP11st_mem_roothandle_default_option_ZL12f_extensions_ZL28search_default_file_with_extPFiPvPKcS1_ES_S1_S1_S1_ic.part.3_ZZL18mysql_file_getlinePciP13st_mysql_filecE6my_key_ZZL28search_default_file_with_extPFiPvPKcS1_ES_S1_S1_S1_icE18includedir_keyword_ZZL28search_default_file_with_extPFiPvPKcS1_ES_S1_S1_S1_icE15include_keyword_ZL13my_login_path_ZL21defaults_already_read_ZL29my_defaults_extra_file_buffer_ZL23my_defaults_file_buffer_ZL19default_directories_ZL26getopt_constraint_get_namePK20my_option_constraintPmc_ZL22getopt_constraint_freeP20my_option_constraint_ZL22getopt_constraint_findPKcmc_ZL28my_option_constraints_inited_ZL21my_option_constraints_ZL17get_bool_argumentPK9my_optionPKcPb.isra.0_ZL14fini_one_valuePK9my_optionPvx_ZL15getopt_get_addr_ZZ30print_cmdline_password_warningE26password_warning_announcedCSWTCH.170_ZL9getopt_llPcPK9my_optionPi_ZL14init_one_valuePK9my_optionPvx_ZL10getopt_ullPcPK9my_optionPi_ZL6setvalPK9my_optionPKvPciCSWTCH.142_ZL26special_opt_prefix_lengths_ZL16special_opt_flag_ZL18special_opt_prefix_ZL12aes_evp_type13my_aes_opmode_ZL28my_aes_opmode_key_sizes_implprocess_int_argprocess_str_argprocess_argsmy_convert_internalcs_enterseccs_leavecs_valuecontext_diff_fmtquoremb2d.isra.2d2blshiftmultadddiffpow5multp5_ap05.6705dtoa.constprop.6bigtenstinytenspowers5my_utf8_unimy_uni_utf8my_strnxfrmlen_utf8my_wc_mb_filenameuni_0C00_05FFfilename_safe_charuni_1E00_1FFFuni_2160_217Funi_FF20_FF5Funi_24B0_24EFmy_mb_wc_utf8mb4my_wc_mb_utf8mb4my_strnxfrmlen_utf8mb4my_ismbchar_utf8my_mbcharlen_utf8my_mb_wc_filenamehex_lo_digit.7823tounimy_mb_wc_utf8mb4_no_range.isra.8my_strcasecmp_utf8mb4my_mbcharlen_utf8mb4my_well_formed_len_utf8my_well_formed_len_utf8mb4my_caseup_str_utf8my_casedn_str_utf8my_ismbchar_utf8mb4my_caseup_str_utf8mb4my_casedn_str_utf8mb4my_hash_sort_utf8my_caseup_utf8my_casedn_utf8my_strnncoll_utf8my_strnncollsp_utf8my_caseup_utf8mb4my_casedn_utf8mb4my_hash_sort_utf8mb4my_strnncoll_utf8mb4my_strnncollsp_utf8mb4my_strcasecmp_utf8my_wildcmp_unicode_implmy_wildcmp_utf8my_wildcmp_utf8mb4ctype_utf8mb4to_lower_utf8mb4to_upper_utf8mb4my_collation_utf8mb4_bin_handlermy_collation_utf8mb4_general_ci_handlerctype_utf8to_lower_utf8to_upper_utf8my_charset_filename_handlermy_collation_filename_handlermy_collation_utf8_bin_handlermy_collation_utf8_general_ci_handleru520p00u520p01u520p02u520p03u520p04u520p05u520p10u520p1Du520p1Eu520p1Fu520p21u520p24u520p2Cu520p2Du520pA6u520pA7u520pFFu520p104my_unicase_pages_turkishturk00plane03plane04plane05plane1Eplane1Fplane24planeFFmy_unicase_pages_mysql500plane00_mysql500my_unicase_pages_defaultuctype_page00uctype_page01uctype_page02uctype_page03uctype_page04uctype_page05uctype_page06uctype_page07uctype_page09uctype_page0Auctype_page0Buctype_page0Cuctype_page0Ductype_page0Euctype_page0Fuctype_page10uctype_page11uctype_page12uctype_page13uctype_page14uctype_page16uctype_page17uctype_page18uctype_page19uctype_page1Auctype_page1Buctype_page1Ductype_page1Euctype_page1Fuctype_page20uctype_page21uctype_page23uctype_page24uctype_page26uctype_page27uctype_page2Buctype_page2Cuctype_page2Ductype_page2Euctype_page2Fuctype_page30uctype_page31uctype_page32uctype_page4Ductype_page9Fuctype_pageA4uctype_pageA7uctype_pageA8uctype_pageD7uctype_pageD8uctype_pageDBuctype_pageDCuctype_pageDFuctype_pageE0uctype_pageF8uctype_pageFAuctype_pageFBuctype_pageFDuctype_pageFEuctype_pageFFmy_mb_wc_latin1cs_to_unimy_strnncoll_latin1_decombo2mapcombo1mapmy_strnncollsp_latin1_demy_strnxfrm_latin1_demy_wc_mb_latin1uni_to_csctype_latin1to_lower_latin1to_upper_latin1my_charset_handlersort_order_latin1_demy_collation_german2_ci_handlersort_order_latin1pl00pl01pl02pl20pl21my_wildcmp_mb_implmy_wildcmp_mb_bin_implutr11_datapg11pg23pg2Epg2Fpg30pg31pg32pg4Dpg9FpgA4pgD7pgFApgFEpgFFdefault_reportermy_once_alloc_cmy_free_cmy_realloc_cmy_malloc_cmy_read_charset_fileadd_collationinit_available_charsetscharsets_initializedmy_thread_global_init_doneTHR_KEY_myerrnoTHR_KEY_mysys_initializedon_off_default_typelibon_off_default_namesregister_mutex_noopregister_rwlock_noopregister_cond_noopregister_thread_noopregister_file_noopregister_stage_noopregister_statement_noopregister_socket_noopinit_mutex_noopdestroy_mutex_noopinit_rwlock_noopdestroy_rwlock_noopinit_cond_noopdestroy_cond_noopinit_socket_noopdestroy_socket_noopget_table_share_nooprelease_table_share_noopdrop_table_share_noopopen_table_noopunbind_table_nooprebind_table_noopclose_table_noopcreate_file_noopnew_thread_noopset_thread_id_noopset_thread_THD_noopset_thread_os_id_noopget_thread_noopset_thread_user_noopset_thread_user_host_noopset_thread_db_noopset_thread_command_noopset_connection_type_noopset_thread_start_time_noopset_thread_state_noopset_thread_info_noopset_thread_noopdelete_current_thread_noopdelete_thread_noopget_thread_file_name_locker_noopget_thread_file_stream_locker_noopget_thread_file_descriptor_locker_noopunlock_mutex_noopunlock_rwlock_noopsignal_cond_noopbroadcast_cond_noopstart_idle_wait_noopend_idle_wait_noopstart_mutex_wait_noopend_mutex_wait_noopstart_rwlock_rdwait_noopend_rwlock_rdwait_noopstart_rwlock_wrwait_noopend_rwlock_wrwait_noopstart_cond_wait_noopend_cond_wait_noopstart_table_io_wait_noopend_table_io_wait_noopstart_table_lock_wait_noopend_table_lock_wait_noopstart_file_open_wait_noopend_file_open_wait_noopend_file_open_wait_and_bind_to_descriptor_noopend_temp_file_open_wait_and_bind_to_descriptor_noopstart_file_wait_noopend_file_wait_noopstart_file_close_wait_noopend_file_close_wait_noopend_file_rename_wait_noopstart_stage_noopget_current_stage_progress_noopend_stage_noopget_thread_statement_locker_nooprefine_statement_noopstart_statement_noopset_statement_text_noopset_statement_lock_time_noopset_statement_rows_sent_noopset_statement_rows_examined_noopinc_statement_created_tmp_disk_tables_noopinc_statement_created_tmp_tables_noopinc_statement_select_full_join_noopinc_statement_select_full_range_join_noopinc_statement_select_range_noopinc_statement_select_range_check_noopinc_statement_select_scan_noopinc_statement_sort_merge_passes_noopinc_statement_sort_range_noopinc_statement_sort_rows_noopinc_statement_sort_scan_noopset_statement_no_index_used_noopset_statement_no_good_index_used_noopend_statement_noopget_thread_transaction_locker_noopstart_transaction_noopset_transaction_xid_noopset_transaction_xa_state_noopset_transaction_gtid_noopset_transaction_trxid_noopinc_transaction_savepoints_noopinc_transaction_rollback_to_savepoint_noopinc_transaction_release_savepoint_noopend_transaction_noopstart_socket_wait_noopend_socket_wait_noopset_socket_state_noopset_socket_info_noopset_socket_thread_owner_noopcreate_prepare_stmt_noopexecute_prepare_stmt_noopset_prepared_stmt_text_noopdigest_start_noopdigest_end_noopset_thread_connect_attrs_nooppfs_start_sp_nooppfs_end_sp_nooppfs_drop_sp_nooppfs_get_sp_share_nooppfs_release_sp_share_noopregister_memory_noopmemory_alloc_noopmemory_realloc_noopmemory_claim_noopmemory_free_noopunlock_table_noopcreate_metadata_lock_noopset_metadata_lock_status_noopdestroy_metadata_lock_noopstart_metadata_wait_noopend_metadata_wait_noopspawn_thread_noopPSI_noopbefore_sync_waitafter_sync_waitcur_dir_namecset_hash_sort_adapterismbchar_gbkmbcharlen_gbkmy_mb_wc_gbktab_gbk_uni0my_well_formed_len_gbkmy_strnxfrm_gbkgbk_ordermy_wc_mb_gbktab_uni_gbk8tab_uni_gbk0tab_uni_gbk2tab_uni_gbk1tab_uni_gbk3tab_uni_gbk4tab_uni_gbk5tab_uni_gbk6tab_uni_gbk7sort_order_gbkmy_strnncollsp_gbkctype_gbkto_lower_gbkto_upper_gbkmy_caseinfo_gbkmy_collation_ci_handlermy_caseinfo_pages_gbkcA2cA3cA6cA7my_uca_scanner_init_anynocharmy_coll_lexem_nextmy_strnxfrm_uca.constprop.26my_any_uca_scanner_handlermy_strnxfrm_any_ucamy_strnxfrm_ucs2_ucamy_hash_sort_any_ucamy_strnncoll_ucs2_ucamy_strnncollsp_uca.isra.6.constprop.29my_strnncollsp_ucs2_ucamy_strnncollsp_any_ucamy_char_weight_put.part.11my_coll_parser_scan_character_list.constprop.25my_strnncoll_any_ucamy_hash_sort_ucs2_ucamy_coll_parser_scan_shift_sequencecreate_tailoringmy_coll_init_ucamy_wildcmp_uca_implmy_uca_scanner_next_anyctype_gb18030vietnamesecroatiangerman2sinhalahungarianesperantopersianromanspanish2slovaklithuaniandanishswedishspanishestonianpolishslovenianromanianlatvianicelandicmy_coll_init_8bit_binmy_strnncollsp_8bit_binmy_case_str_binmy_case_binmy_mb_wc_binmy_wc_mb_binmy_wildcmp_bin_implmy_strcasecmp_binmy_strnxfrm_8bit_binmy_strnncoll_8bit_binmy_strnncoll_binarymy_strnncollsp_binarymy_instr_binctype_binbin_char_arraymy_collation_binary_handlermy_wildcmp_8bit_implpcmpmy_coll_init_simpled10create_fromuni.isra.3my_cset_init_8bitdef_level_flags.11722my_strnncoll_czechCZ_SORT_TABLEdoublesmy_strnncollsp_czechmy_strnxfrmlen_czechmy_like_range_czechmy_strnxfrm_czechctype_czechto_lower_czechto_upper_czechsort_order_czechtab_8859_2_uniidx_uni_8859_2my_collation_latin2_czech_ci_handlertab_uni_8859_2_plane00tab_uni_8859_2_plane01tab_uni_8859_2_plane02my_mb_wc_tis620my_wc_mb_tis620thai2sortablet_ctypeto_lower_tis620my_strnxfrm_tis620my_strnncollsp_tis620my_strnncoll_tis620ctype_tis620to_upper_tis620sort_order_tis620pl0EplFFctype_dec8_swedish_cito_lower_dec8_swedish_cito_upper_dec8_swedish_cisort_order_dec8_swedish_cito_uni_dec8_swedish_cictype_cp850_general_cito_lower_cp850_general_cito_upper_cp850_general_cisort_order_cp850_general_cito_uni_cp850_general_cictype_latin1_german1_cito_lower_latin1_german1_cito_upper_latin1_german1_cisort_order_latin1_german1_cito_uni_latin1_german1_cictype_hp8_english_cito_lower_hp8_english_cito_upper_hp8_english_cisort_order_hp8_english_cito_uni_hp8_english_cictype_koi8r_general_cito_lower_koi8r_general_cito_upper_koi8r_general_cisort_order_koi8r_general_cito_uni_koi8r_general_cictype_latin2_general_cito_lower_latin2_general_cito_upper_latin2_general_cisort_order_latin2_general_cito_uni_latin2_general_cictype_swe7_swedish_cito_lower_swe7_swedish_cito_upper_swe7_swedish_cisort_order_swe7_swedish_cito_uni_swe7_swedish_cictype_ascii_general_cito_lower_ascii_general_cito_upper_ascii_general_cisort_order_ascii_general_cito_uni_ascii_general_cictype_cp1251_bulgarian_cito_lower_cp1251_bulgarian_cito_upper_cp1251_bulgarian_cisort_order_cp1251_bulgarian_cito_uni_cp1251_bulgarian_cictype_latin1_danish_cito_lower_latin1_danish_cito_upper_latin1_danish_cisort_order_latin1_danish_cito_uni_latin1_danish_cictype_hebrew_general_cito_lower_hebrew_general_cito_upper_hebrew_general_cisort_order_hebrew_general_cito_uni_hebrew_general_cictype_latin7_estonian_csto_lower_latin7_estonian_csto_upper_latin7_estonian_cssort_order_latin7_estonian_csto_uni_latin7_estonian_csctype_latin2_hungarian_cito_lower_latin2_hungarian_cito_upper_latin2_hungarian_cisort_order_latin2_hungarian_cito_uni_latin2_hungarian_cictype_koi8u_general_cito_lower_koi8u_general_cito_upper_koi8u_general_cisort_order_koi8u_general_cito_uni_koi8u_general_cictype_cp1251_ukrainian_cito_lower_cp1251_ukrainian_cito_upper_cp1251_ukrainian_cisort_order_cp1251_ukrainian_cito_uni_cp1251_ukrainian_cictype_greek_general_cito_lower_greek_general_cito_upper_greek_general_cisort_order_greek_general_cito_uni_greek_general_cictype_cp1250_general_cito_lower_cp1250_general_cito_upper_cp1250_general_cisort_order_cp1250_general_cito_uni_cp1250_general_cictype_latin2_croatian_cito_lower_latin2_croatian_cito_upper_latin2_croatian_cisort_order_latin2_croatian_cito_uni_latin2_croatian_cictype_cp1257_lithuanian_cito_lower_cp1257_lithuanian_cito_upper_cp1257_lithuanian_cisort_order_cp1257_lithuanian_cito_uni_cp1257_lithuanian_cictype_latin5_turkish_cito_lower_latin5_turkish_cito_upper_latin5_turkish_cisort_order_latin5_turkish_cito_uni_latin5_turkish_cictype_armscii8_general_cito_lower_armscii8_general_cito_upper_armscii8_general_cisort_order_armscii8_general_cito_uni_armscii8_general_cictype_cp866_general_cito_lower_cp866_general_cito_upper_cp866_general_cisort_order_cp866_general_cito_uni_cp866_general_cictype_keybcs2_general_cito_lower_keybcs2_general_cito_upper_keybcs2_general_cisort_order_keybcs2_general_cito_uni_keybcs2_general_cictype_macce_general_cito_lower_macce_general_cito_upper_macce_general_cisort_order_macce_general_cito_uni_macce_general_cictype_macroman_general_cito_lower_macroman_general_cito_upper_macroman_general_cisort_order_macroman_general_cito_uni_macroman_general_cictype_cp852_general_cito_lower_cp852_general_cito_upper_cp852_general_cisort_order_cp852_general_cito_uni_cp852_general_cictype_latin7_general_cito_lower_latin7_general_cito_upper_latin7_general_cisort_order_latin7_general_cito_uni_latin7_general_cictype_latin7_general_csto_lower_latin7_general_csto_upper_latin7_general_cssort_order_latin7_general_csto_uni_latin7_general_csctype_macce_binto_lower_macce_binto_upper_macce_binto_uni_macce_binctype_cp1250_croatian_cito_lower_cp1250_croatian_cito_upper_cp1250_croatian_cisort_order_cp1250_croatian_cito_uni_cp1250_croatian_cictype_latin1_general_cito_lower_latin1_general_cito_upper_latin1_general_cisort_order_latin1_general_cito_uni_latin1_general_cictype_latin1_general_csto_lower_latin1_general_csto_upper_latin1_general_cssort_order_latin1_general_csto_uni_latin1_general_csctype_cp1251_binto_lower_cp1251_binto_upper_cp1251_binto_uni_cp1251_binctype_cp1251_general_cito_lower_cp1251_general_cito_upper_cp1251_general_cisort_order_cp1251_general_cito_uni_cp1251_general_cictype_cp1251_general_csto_lower_cp1251_general_csto_upper_cp1251_general_cssort_order_cp1251_general_csto_uni_cp1251_general_csctype_macroman_binto_lower_macroman_binto_upper_macroman_binto_uni_macroman_binctype_cp1256_general_cito_lower_cp1256_general_cito_upper_cp1256_general_cisort_order_cp1256_general_cito_uni_cp1256_general_cictype_cp1257_binto_lower_cp1257_binto_upper_cp1257_binto_uni_cp1257_binctype_cp1257_general_cito_lower_cp1257_general_cito_upper_cp1257_general_cisort_order_cp1257_general_cito_uni_cp1257_general_cictype_armscii8_binto_lower_armscii8_binto_upper_armscii8_binto_uni_armscii8_binctype_ascii_binto_lower_ascii_binto_upper_ascii_binto_uni_ascii_binctype_cp1250_binto_lower_cp1250_binto_upper_cp1250_binto_uni_cp1250_binctype_cp1256_binto_lower_cp1256_binto_upper_cp1256_binto_uni_cp1256_binctype_cp866_binto_lower_cp866_binto_upper_cp866_binto_uni_cp866_binctype_dec8_binto_lower_dec8_binto_upper_dec8_binto_uni_dec8_binctype_greek_binto_lower_greek_binto_upper_greek_binto_uni_greek_binctype_hebrew_binto_lower_hebrew_binto_upper_hebrew_binto_uni_hebrew_binctype_hp8_binto_lower_hp8_binto_upper_hp8_binto_uni_hp8_binctype_keybcs2_binto_lower_keybcs2_binto_upper_keybcs2_binto_uni_keybcs2_binctype_koi8r_binto_lower_koi8r_binto_upper_koi8r_binto_uni_koi8r_binctype_koi8u_binto_lower_koi8u_binto_upper_koi8u_binto_uni_koi8u_binctype_latin2_binto_lower_latin2_binto_upper_latin2_binto_uni_latin2_binctype_latin5_binto_lower_latin5_binto_upper_latin5_binto_uni_latin5_binctype_latin7_binto_lower_latin7_binto_upper_latin7_binto_uni_latin7_binctype_cp850_binto_lower_cp850_binto_upper_cp850_binto_uni_cp850_binctype_cp852_binto_lower_cp852_binto_upper_cp852_binto_uni_cp852_binctype_swe7_binto_lower_swe7_binto_upper_swe7_binto_uni_swe7_binctype_geostd8_general_cito_lower_geostd8_general_cito_upper_geostd8_general_cisort_order_geostd8_general_cito_uni_geostd8_general_cictype_geostd8_binto_lower_geostd8_binto_upper_geostd8_binto_uni_geostd8_binctype_latin1_spanish_cito_lower_latin1_spanish_cito_upper_latin1_spanish_cisort_order_latin1_spanish_cito_uni_latin1_spanish_cictype_cp1250_polish_cito_lower_cp1250_polish_cito_upper_cp1250_polish_cisort_order_cp1250_polish_cito_uni_cp1250_polish_ciismbchar_cp932mbcharlen_cp932my_mb_wc_cp932cp932_to_unicodemy_numcells_cp932my_well_formed_len_cp932my_wc_mb_cp932unicode_to_cp932my_strnncoll_cp932_internalsort_order_cp932my_strnncoll_cp932my_strnncollsp_cp932ctype_cp932to_lower_cp932to_upper_cp932my_caseinfo_pages_cp932c81c82c83c84c87cEEcFAmy_strnncoll_big5_internalsort_order_big5my_strnncoll_big5my_strnncollsp_big5ismbchar_big5mbcharlen_big5my_wc_mb_big5tab_uni_big510tab_uni_big50tab_uni_big52tab_uni_big51tab_uni_big53tab_uni_big54tab_uni_big56tab_uni_big57tab_uni_big58tab_uni_big59my_mb_wc_big5tab_big5_uni0tab_big5_uni1my_well_formed_len_big5my_strnxfrm_big5ctype_big5to_lower_big5to_upper_big5my_caseinfo_big5my_charset_big5_handlermy_collation_big5_chinese_ci_handlermy_caseinfo_pages_big5cC7my_str_malloc_defaultmy_str_free_defaultlex2strmy_xml_leavemy_xml_entermy_xml_scanmy_xml_ctypeismbchar_sjismbcharlen_sjismy_mb_wc_sjissjis_to_unicodemy_wc_mb_sjisunicode_to_sjismy_numcells_sjismy_well_formed_len_sjismy_strnncoll_sjis_internalsort_order_sjismy_strnncoll_sjismy_strnncollsp_sjisctype_sjisto_lower_sjisto_upper_sjismy_caseinfo_sjismy_caseinfo_pages_sjislfactorismbchar_euc_krmbcharlen_euc_krmy_mb_wc_euc_krtab_ksc5601_uni0tab_ksc5601_uni1my_well_formed_len_euckrmy_wc_mb_euc_krtab_uni_ksc560110tab_uni_ksc56010tab_uni_ksc56012tab_uni_ksc56011tab_uni_ksc56013tab_uni_ksc56014tab_uni_ksc56015tab_uni_ksc56016tab_uni_ksc56017tab_uni_ksc56018tab_uni_ksc56019ctype_euc_krto_lower_euc_krto_upper_euc_krmy_caseinfo_euckrsort_order_euc_krmy_caseinfo_pages_euckrcA5cA8cA9cACmy_caseup_str_mb2_or_mb4my_casedn_str_mb2_or_mb4my_strcasecmp_mb2_or_mb4my_strntol_mb2_or_mb4my_strntoul_mb2_or_mb4my_strntoll_mb2_or_mb4my_strntoull_mb2_or_mb4my_l10tostr_mb2_or_mb4my_ll10tostr_mb2_or_mb4my_strtoll10_mb2my_lengthsp_mb2my_utf16_unimy_caseup_utf16my_casedn_utf16my_ismbchar_utf16my_mbcharlen_utf16my_numchars_utf16my_charpos_utf16my_well_formed_len_utf16my_hash_sort_utf16_binmy_utf16le_unimy_lengthsp_utf16lemy_utf32_unimy_uni_utf32my_caseup_utf32my_hash_sort_utf32my_casedn_utf32my_strnxfrmlen_utf32my_ismbchar_utf32my_mbcharlen_utf32my_strtoll10_utf32my_numchars_utf32my_charpos_utf32my_well_formed_len_utf32my_lengthsp_utf32my_strnncollsp_utf32_binmy_scan_utf32my_ucs2_unimy_uni_ucs2my_caseup_ucs2my_hash_sort_ucs2my_casedn_ucs2my_fill_ucs2my_strnncoll_ucs2my_strnncollsp_ucs2my_ismbchar_ucs2my_mbcharlen_ucs2my_numchars_ucs2my_charpos_ucs2my_well_formed_len_ucs2my_strnncoll_ucs2_binmy_strnncollsp_ucs2_binmy_hash_sort_ucs2_binmy_strntoull10rnd_mb2_or_mb4my_strntod_mb2_or_mb4my_fill_mb2my_fill_utf32my_snprintf_mb2my_snprintf_utf32my_wildcmp_utf16_cimy_wildcmp_utf16_binmy_wildcmp_utf32_cimy_wildcmp_utf32_binmy_wildcmp_ucs2_cimy_wildcmp_ucs2_binmy_strnncollsp_utf16_binmy_strnncoll_utf16_binmy_strnncoll_utf32_binmy_scan_mb2my_uni_utf16my_uni_utf16lemy_strnncoll_utf32my_hash_sort_utf16my_strnncollsp_utf32my_strnncoll_utf16my_strnncollsp_utf16ctype_ucs2to_lower_ucs2to_upper_ucs2my_collation_ucs2_bin_handlermy_collation_ucs2_general_ci_handlermy_collation_utf32_bin_handlermy_collation_utf32_general_ci_handlermy_charset_utf16le_handlermy_collation_utf16_bin_handlermy_collation_utf16_general_ci_handlerismbchar_gb2312mbcharlen_gb2312my_mb_wc_gb2312tab_gb2312_uni2tab_gb2312_uni0tab_gb2312_uni1my_well_formed_len_gb2312my_wc_mb_gb2312tab_uni_gb23129tab_uni_gb23120tab_uni_gb23122tab_uni_gb23121tab_uni_gb23123tab_uni_gb23124tab_uni_gb23125tab_uni_gb23126tab_uni_gb23127tab_uni_gb23128ctype_gb2312to_lower_gb2312to_upper_gb2312my_caseinfo_gb2312sort_order_gb2312my_caseinfo_pages_gb2312ismbchar_ujismbcharlen_ujismy_well_formed_len_ujismy_numcells_eucjpmy_mb_wc_euc_jpjisx0208_eucjp_to_unicodejisx0212_eucjp_to_unicodemy_wc_mb_euc_jpunicode_to_jisx0208_eucjpunicode_to_jisx0212_eucjpmy_casefold_ujis.isra.2ctype_ujisto_lower_ujisto_upper_ujismy_caseinfo_ujissort_order_ujismy_caseinfo_pages_ujisc8FA6c8FA7c8FA9c8FAAc8FABismbchar_eucjpmsmbcharlen_eucjpmsmy_mb_wc_eucjpmsjisx0208_eucjpms_to_unicodejisx0212_eucjpms_to_unicodemy_well_formed_len_eucjpmsmy_numcells_eucjpmsmy_wc_mb_eucjpmsunicode_to_jisx0208_eucjpmsunicode_to_jisx0212_eucjpmsctype_eucjpmsto_lower_eucjpmsto_upper_eucjpmsmy_caseinfo_eucjpmssort_order_eucjpmsmy_caseinfo_pages_eucjpmscADc8FF3c8FF4my_strnncoll_win1250ch_sort_order_win1250ch2_sort_order_win1250ch1my_strnncollsp_win1250chmy_like_range_win1250chlike_range_prefix_min_win1250chlike_range_prefix_max_win1250chmy_strnxfrm_win1250chctype_win1250chto_lower_win1250chto_upper_win1250chsort_order_win1250chtab_cp1250_uniidx_uni_cp1250my_collation_czech_ci_handlertab_uni_cp1250_plane00tab_uni_cp1250_plane01tab_uni_cp1250_plane20tab_uni_cp1250_plane02tab_uni_cp1250_plane21my_ismbchar_gb18030my_mb_wc_gb18030tab_gb18030_2_unitab_gb18030_4_unimy_well_formed_len_gb18030my_mbcharlen_gb18030get_weight_for_mbchargb18030_4_weight_py_p2gb18030_2_weight_pygb18030_4_weight_py_p1get_code_and_length.part.5my_wildcmp_gb18030_implmy_wildcmp_gb18030my_casefold_gb18030my_casedn_gb18030my_caseup_gb18030my_strnncoll_gb18030_internalmy_strnncoll_gb18030my_strnncollsp_gb18030my_strcasecmp_gb18030my_wc_mb_gb18030_chstab_uni_gb18030_p1tab_uni_gb18030_p2my_caseup_gb18030_ucamy_casedn_gb18030_ucamy_hash_sort_gb18030to_lower_gb18030to_upper_gb18030my_caseinfo_gb18030my_charset_gb18030_handlersort_order_gb18030my_caseinfo_pages_gb18030plane10plane1Dplane23plane2Aplane2Bplane51plane52planeA2planeA3planeA6planeA7planeA8planeE6__FRAME_END____JCR_END____GNU_EH_FRAME_HDR_DYNAMIC__init_array_end__init_array_start_GLOBAL_OFFSET_TABLE_my_collation_mb_bin_handler__printf_chk@@GLIBC_2.3.4my_charset_utf8_esperanto_uca_cithr_set_sync_wait_callbackkey_memory_QUEUEpage018data_ZNSo3putEc@@GLIBCXX_3.4key_memory_pack_frmuca520_pE00my_longlong10_to_str_8bitmy_charset_utf16_czech_uca_cifatal_error_handler_hookuca520_p0FCmysql_system_tablesmy_defaults_group_suffixuca520_p026my_charset_utf16_persian_uca_cimy_getwdget_dynamic__errno_location@@GLIBC_2.2.5my_like_range_simplemy_message_local_stderr_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4my_once_strdupsymlink@@GLIBC_2.2.5_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE16_M_insert_uniqueERKS2_my_strdupERR_clear_error@@libcrypto.so.10_ZNSt6vectorI4PathSaIS0_EED1Evpage00Ddatapthread_cancel@@GLIBC_2.2.5my_charset_8bit_handler_ZN3LogD1Evuca520_p01A_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4key_memory_max_allocastdout@@GLIBC_2.2.5_ZTIN3Log8Log_buffEmy_charset_utf16_handlerEVP_aes_192_ofb@@libcrypto.so.10page003datamy_stream_openedfind_typemy_wildcmp_mb_binmy_strnncoll_gbk_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIP4PathSt6vectorIS2_SaIS2_EEEE11File_existsET_S9_S9_T0_St26random_access_iterator_tag_Z25connection_options_sorterPKvS0_my_charset_utf8_unicode_ciEVP_aes_256_cbc@@libcrypto.so.10my_charset_gb18030_uca_handlermy_unicase_unicode520my_charset_bin_ZN8Sql_userD2Evget_typeopt_adminuseropt_langmy_charset_utf8_polish_uca_cistrtoll@@GLIBC_2.2.5_ZlsRSoRK4Pathmy_prognamecopy_typelibpage007data_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4my_wildcmp_unicode_ZN4Path11path_getcwdEvmy_mallocsprintf@@GLIBC_2.2.5my_messageuca520_p011uca520_p0A5my_strxfrm_pad_desc_and_reversemy_charset_utf8mb4_esperanto_uca_ci_ZN4Path5emptyEvmy_strxfrm_flag_normalizeuca520_p019_ZNSs6appendEPKcm@@GLIBCXX_3.4uca520_p00Fmy_fopen_ZNSdD2Ev@@GLIBCXX_3.4key_BITMAP_mutex_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4my_charset_utf8_turkish_uca_cimy_charset_filename_ZTC3Log0_Somy_charset_ucs2_handler_ZN14Process_readerclEimy_charset_utf8_general_cimemset_s_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4_Z11locate_fileRKSsPSt6vectorI4PathSaIS2_EEPS2_my_defaults_fileuca520_p0D7my_charset_utf8mb4_icelandic_uca_cimy_getopt_skip_unknownopt_no_defaultsmy_hash_sort_8bit_bin_ZNKSs4findEPKcmm@@GLIBCXX_3.4page00Adata_ZNKSs7compareEPKc@@GLIBCXX_3.4uca520_p132_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4my_strnxfrmlen_unicode_full_binmy_fcvtmy_charset_ucs2_unicode_520_cimy_setwd_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4my_hash_sort_latin1_demy_collation_any_uca_handlerpage02Fdatauca520_p10Bopt_datadiruca520_p006str2intEVP_aes_256_ofb@@libcrypto.so.10EVP_CIPHER_iv_length@@libcrypto.so.10my_charset_eucjpms_japanese_ci_edata_Z5usageRKSskey_memory_MY_STATsocket@@GLIBC_2.2.5key_memory_IO_CACHE_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4my_string_repertoireEVP_aes_128_ofb@@libcrypto.so.10uca520_p102my_aes_get_sizemy_unix_socket_connectstrerror_r@@GLIBC_2.2.5uca520_p1D1my_charset_ucs2_persian_uca_cimy_uca_can_be_contraction_tailkey_IO_CACHE_SHARE_cond_writerpage026datakey_memory_MY_BITMAP_bitmapmy_hash_claimkey_memory_SAFE_HASH_ENTRYmy_error_registerkey_memory_DYNAMIC_STRINGmy_charset_repertoireEVP_DecryptInit@@libcrypto.so.10_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4EVP_aes_128_cbc@@libcrypto.so.10my_enable_symlinks_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4_Z32dummy_function_needed_by_xpluginvpage015datauca520_p02Emy_charpos_mbmy_unicase_mysql500page0A2datauca520_pE01_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4my_charset_ucs2_spanish2_uca_ci_ZN4PathC2ERKS_page01Ddatamy_charset_samemy_thread_cancelenabled_my_option_Z4trimPSsstrtoul@@GLIBC_2.2.5_ZN4Path16parent_directoryEPS_my_wildcmp_ucauca520_p025uca520_p0FBmy_charset_utf8mb4_danish_uca_ci_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4my_charset_latin1get_collation_numbermy_charset_utf32_hungarian_uca_cimy_thread_global_init_IO_stdin_usedmy_charset_utf16_turkish_uca_cimy_strxfrm_desc_and_reversemy_disable_lockingcleanup_dirnamemy_hash_free_ZN4PathD2Ev_ZNSt4pairISsSsED2Evmy_charset_utf8mb4_romanian_uca_cimy_hash_replacemy_hash_nextEVP_aes_192_cbc@@libcrypto.so.10my_charset_utf8mb4_lithuanian_uca_cikey_THR_LOCK_charsetuca520_p2F9strchr@@GLIBC_2.2.5page00Cdatamy_mbcharlen_ptr_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4uca520_p120getopt_constraint_get_readonly_valuedefault_lang_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6home_dirmy_charset_utf16_spanish2_uca_cinormalize_dirnamemy_tmp_file_createdmy_print_default_filesmy_instr_mbuca520_p2FA_ZNSoD0Ev@@GLIBCXX_3.4_ZN4Path8filenameERKSsmy_endmake_type_ZNSt4pairISsSsED1Ev__cxa_begin_catch@@CXXABI_1.3_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4seteuid@@GLIBC_2.2.5ldiv@@GLIBC_2.2.5strlengthmy_freopen_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4uca520_p010uca520_p0A4my_charset_ucs2_polish_uca_cimy_strcasecmp_mb_binuca520_p00Euca520_p018my_charset_ascii_handlerkey_memory_TREEmy_str_realloc_defaultbchangestrlen@@GLIBC_2.2.5pthread_mutexattr_destroy@@GLIBC_2.2.5memcmp@@GLIBC_2.2.5my_uca_v400_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4multi_alloc_rootkey_IO_CACHE_append_buffer_lockmy_register_filenamemkdir@@GLIBC_2.2.5my_sync_dirmy_message_stderrmy_charset_ucs2_slovak_uca_cimy_charset_utf8mb4_estonian_uca_cimy_xml_parser_free_ZTVN3Log8Log_buffEstrncmp@@GLIBC_2.2.5my_charset_utf8_general_mysql500_cikey_memory_lf_slist__strncat_chk@@GLIBC_2.3.4_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev_ZNSt6vectorISsSaISsEED2Evuca520_p133my_charset_ucs2_lithuanian_uca_ciEVP_aes_256_ecb@@libcrypto.so.10page0FFdatamy_str_mallocmain_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4fdatasync@@GLIBC_2.2.5uca520_p10C_ZNSt8_Rb_treeISsSt4pairIKSsSsESt10_Select1stIS2_ESt4lessISsESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_Emy_xml_parser_createpthread_join@@GLIBC_2.2.5uca520_p005my_charset_cp932_japanese_cimysql_sys_schemamy_rndmy_charset_utf8_estonian_uca_cimy_charset_utf32_icelandic_uca_cipage0F9datapage02Edatastrdup_rootuca520_p103page010data_ZN4Path4pathERKS_uca520_p1D2_ZN16Delimiter_parserD2Evget_charset_ZN4PathC1ERKSsBIO_new_bio_pair@@libcrypto.so.10my_thread_exitmy_readlinkis_prefixgetcwd@@GLIBC_2.2.5my_reallocmy_charset_utf16le_binmy_print_variables_exmy_handle_options_endmy_calc_hashdisabled_my_option_Z25assert_valid_root_accountRKSsS0_S0_bmy_charset_ucs2_unicode_cifill_help_tablesmy_charset_utf16_general_cidestroy_prepared_stmt_noopmy_unicase_pages_unicode520my_qsortmy_charset_utf8mb4_latvian_uca_cimy_charset_utf8_persian_uca_ci_ZNKSs4findEPKcm@@GLIBCXX_3.4uca520_p02Dmemset@@GLIBC_2.2.5my_charset_utf8_czech_uca_cipage012datagetrusage@@GLIBC_2.2.5my_charset_utf32_polish_uca_cimy_charset_utf8_slovenian_uca_cimy_arguments_get_one_option__dso_handlepage00Bdatamy_charset_utf32_romanian_uca_cimy_free_Z22generate_password_fileR4PathRKSsS2_S2_my_aes_opmode_key_sizesuca520_p024_ZNSsC1ERKSs@@GLIBCXX_3.4uca520_p0FAcurr_dirmy_charset_gb18030_chinese_ciuca520_p0F9key_THR_LOCK_heappthread_create@@GLIBC_2.2.5fcntl@@GLIBC_2.2.5my_charset_utf16le_general_cigeteuid@@GLIBC_2.2.5my_charset_utf8_slovak_uca_ciis_killed_hookmy_dirmy_charset_utf8_sinhala_uca_cipage014datapage032datauca520_p2F8readdir64@@GLIBC_2.2.5my_charset_utf16_icelandic_uca_ciall_mysys_stages__sprintf_chk@@GLIBC_2.3.4_ZTT3Logmy_numchars_mbmy_charset_utf32_slovenian_uca_ciuca520_p121my_snprintfpage005datamy_sync_dir_by_fileEVP_aes_128_cfb128@@libcrypto.so.10key_memory_LISTuca520_p1F0_ZN10Proxy_userD1Evmy_memdupmy_charset_cp932_binmy_charset_utf8_icelandic_uca_ci_IO_putc@@GLIBC_2.2.5_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4uca520_p0A3_ZNSt6localeC1ERKS_@@GLIBCXX_3.4page0FAdatainit_alloc_root_ZN16Delimiter_parserD1Evmy_is_symlinkmy_error_ZN3LogC1ERSoSshome_dir_buffmy_caseup_mb_ZNSt6vectorISsSaISsEE9push_backERKSsuca520_p00D_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4my_handle_optionschown@@GLIBC_2.2.5my_is_same_filemy_charset_utf8_binmysql_system_datatest_if_hard_pathkey_THR_LOCK_openuca520_p017calloc@@GLIBC_2.2.5my_xml_error_stringEVP_DecryptFinal_ex@@libcrypto.so.10my_charset_cp1250_czech_ciDW.ref.__gxx_personality_v0my_strnncoll_simple_ZN8Sql_user6to_sqlEPSsmy_caseinfo_cp932_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9my_charset_utf32_roman_uca_ci_ZNSo5flushEv@@GLIBCXX_3.4my_charset_utf8_lithuanian_uca_cimy_direndmy_caseup_str_mbopt_langpathmy_hash_sort_mb_binmy_charset_gbk_binfind_type_or_exit_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4my_charset_utf32_danish_uca_ci_ZN3Log8Log_buffD2Evmy_charset_utf8mb4_general_cigetopt_ll_limit_valueuca520_p134_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4key_memory_lf_dynarraymy_charset_utf16_unicode_ciEVP_EncryptInit@@libcrypto.so.10my_strnxfrm_gb18030_ZN4Path17is_qualified_pathEv_ZN3LogD0Evgetopt_constraint_get_max_valueuca520_p004_ZN17Comment_extractorclERSs_ZTV3Logmy_charset_utf8mb4_german2_uca_cilocaltime@@GLIBC_2.2.5key_memory_charset_loaderstrmake_rootmy_readuca520_p1D3print_cmdline_password_warningmy_aes_decrypt_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4my_init_dynamic_arraymy_charset_utf8_swedish_uca_cipage013datapage020datasleep@@GLIBC_2.2.5opt_defaults_filepthread_mutex_unlock@@GLIBC_2.2.5my_unicase_default_ZN4Path4trimEvmy_collation_utf16_uca_handlermy_charset_get_contractionsmy_charset_utf8mb4_croatian_uca_cimy_charset_utf8mb4_unicode_ciget_global_errmsgmy_charset_utf8mb4_persian_uca_cimy_large_page_sizemy_xml_error_pospage028datamy_strnncoll_mb_binpage00Fdata_ZN4Path6appendERKSsuca520_p104EVP_aes_256_cfb128@@libcrypto.so.10my_default_get_login_filemy_printv_errorcheck_file_permissionsuca520_p02C_ZNKSs4findEcm@@GLIBCXX_3.4my_charset_ucs2_romanian_uca_cikey_memory_my_err_head_Z21get_admin_credentialsRKSsS0_PSsS1_S1_my_snprintf_8bitwaitpid@@GLIBC_2.2.5set_psi_servermy_thread_global_endkey_file_charset_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4my_propagate_simplemy_mbcharlen_8bitclaim_root_ZN8Sql_userD1Evmy_load_pathgetpwnam@@GLIBC_2.2.5mysql_stdinmy_xml_error_lineno_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4my_defaults_extra_filemy_hash_sort_simplemy_charset_utf32_vietnamese_cimy_charpos_8bitstdin@@GLIBC_2.2.5_ZN22infix_ostream_iteratorI4PathEC2ERSoPKc__memmove_chk@@GLIBC_2.3.4my_charset_is_ascii_basedmemcpy@@GLIBC_2.14_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Evkey_TMPDIR_mutexpage0A3dataopt_adminhostopt_verbosemy_charset_gb18030_unicode_520_ciconnect@@GLIBC_2.2.5get_charset_by_csnameuca520_p023my_charset_gbk_chinese_ci_ZTv0_n24_N3LogD0Evmy_xml_set_value_handlerreprepare_prepared_stmt_noopuca520_p01Fmy_close_ZlsRSoRK8Datetimemy_well_formed_len_mbdirname_partuca520_p1F1my_charset_euckr_korean_cimy_charset_big5_binmy_well_formed_len_asciimy_collation_gb18030_uca_handlermy_thread_oncepage004dataexit_cond_hook__strcpy_chk@@GLIBC_2.3.4uca520_p016my_thread_initmy_fstat_ZN22infix_ostream_iteratorI4PathED2Evhas_pathuca520_p0A2my_charset_ucs2_german2_uca_cimy_caseup_mb_varlenmy_charset_ujis_binmy_strtoll10uca520_p00Cuca520_p122my_like_range_generic__cxa_atexit@@GLIBC_2.2.5_Z15process_executeI14Process_reader14Process_writerN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEbRKSsT1_SB_T_T0_my_vsnprintfuca520_p0AB_ZN3Log8Log_buffD1Evint10_to_strkey_memory_KEY_CACHE_ZN14Process_writerclEimy_lengthsp_8bit_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4_Z13create_stringPcmy_thread_stack_sizemy_charset_utf8mb4_slovenian_uca_cimy_aes_opmode_namesposix_spawn_file_actions_adddup2@@GLIBC_2.2.5key_THR_LOCK_mallocmy_casedn_str_8bitkey_memory_charset_filealloc_dynamicmy_hash_searchenter_cond_hookmy_filenamegetopt_constraint_get_min_valuemy_strnxfrm_unicodeinit_compiled_charsetsmy_collation_utf32_uca_handleruca520_p10E_ZN4Path15filename_appendERKSsmy_fdopenmy_charset_utf8_croatian_uca_cistrcpy@@GLIBC_2.2.5my_collation_8bit_simple_ci_handleruca_length_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4_ZN4Path5qpathERKSs_ZdlPv@@GLIBCXX_3.4my_mb_ctype_mbuca520_p003select@@GLIBC_2.2.5my_charset_utf8mb4_binstrmakemy_file_info_defaultmy_syncmy_charset_tis620_binopt_adminloginpage01Edatamy_casedn_ujiskey_file_cnfmy_once_root_block_ZTS3Logmy_charset_utf16_latvian_uca_ciEVP_CIPHER_CTX_cleanup@@libcrypto.so.10my_convert_Z23my_legal_username_charsRKcunpack_filenamemy_charset_ucs2_czech_uca_cimy_charset_latin1_german2_ciuca520_p033my_charset_ucs2_slovenian_uca_cikey_THR_LOCK_mutex_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4fclose@@GLIBC_2.2.5_Znwm@@GLIBCXX_3.4uca520_p1D4my_charset_utf16_binmy_strerrormy_numcells_mbmy_charset_utf32_german2_uca_ci_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4my_charset_utf32_handlergetopt_double_limit_valuemy_getopt_error_reportermy_charset_get_by_namemy_strntoul_8bitmy_strndupmy_charset_gb2312_binuca520_p02Bmy_charset_is_8bit_pure_asciimy_charset_loader_init_mysysmy_charset_utf8mb4_handlerpage025data_Z17generate_passwordPSsimy_search_option_filesuca520_lengthset_memroot_max_capacitymy_charset_utf16_unicode_520_ciisalnum@@GLIBC_2.2.5my_charset_utf32_turkish_uca_ci_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4uca520_p110stpcpy@@GLIBC_2.2.5_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4my_message_localmy_charset_utf8mb4_vietnamese_cimy_strcasecmp_mbmy_str_realloc_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4my_charset_utf8_handlerpage00Edatamy_stpnmovpthread_sigmask@@GLIBC_2.2.5my_charset_utf32_croatian_uca_cifileno@@GLIBC_2.2.5fdopen@@GLIBC_2.2.5key_THR_LOCK_lockmy_charset_utf32_sinhala_uca_ci_Z31assert_valid_language_directoryRKSsS0_S0_S0_P4Pathreadlink@@GLIBC_2.2.5my_charset_utf8mb4_hungarian_uca_cipage02Bdatamy_umask_dirmy_hash_first_from_hash_valuesystem_filenamemy_charset_sjis_japanese_ci_ZNSt6vectorI4PathSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_my_realpathuca520_p022strcendmy_charset_utf8_spanish2_uca_ci_Z21get_allowed_pwd_charsv_ZlsRSoRK10Gen_spaces_ZN4PathC2Evmy_file_total_opened_ZNSs6appendERKSs@@GLIBCXX_3.4uca520_p01Egetopt_ulonglong2doublemy_charset_ucs2_icelandic_uca_cimy_charset_utf8_roman_uca_cipage009data_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4my_strnncollsp_mb_binuca520_p015resolve_collationuca520_p0A9set_memroot_error_reportingstrrchr@@GLIBC_2.2.5_Z14parse_cnf_fileRSiPSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEERS4_my_charset_ucs2_swedish_uca_cimy_strnxfrmlen_simplemy_xml_parse__stack_chk_fail@@GLIBC_2.4my_init_donedefault_adminuseruca520_p0A1page002dataEVP_aes_256_cfb1@@libcrypto.so.10uca520_p1F2my_numcells_8bitfopen64@@GLIBC_2.2.5my_xml_set_user_datamy_charset_utf16_danish_uca_cipage027datauca520_p123fputs@@GLIBC_2.2.5uca520_p00Bmy_charset_utf32_lithuanian_uca_cimy_charset_ucs2_turkish_uca_ci_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4uca520_p0AAmy_charset_utf8mb4_swedish_uca_ci__lxstat64@@GLIBC_2.2.5_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4__TMC_END___ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9my_uni_ctypepage0A1data_ZNKSt5ctypeIcE13_M_widen_initEv@@GLIBCXX_3.4.11my_wc_mb_8bitendpwent@@GLIBC_2.2.5getopt_double2ulonglongmy_wildcmp_8bitmy_charset_utf32_czech_uca_cimy_charset_utf8mb4_unicode_520_cimy_initmy_charset_utf8mb4_roman_uca_cimy_charset_utf8_unicode_520_cigetpwuid@@GLIBC_2.2.5_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4pthread_mutex_destroy@@GLIBC_2.2.5my_strnxfrm_unicode_full_binget_charset_by_namefflush@@GLIBC_2.2.5page04Ddatafree_rootmy_charset_ucs2_croatian_uca_ci_ZN22infix_ostream_iteratorI4PathEC1ERSoPKc_ZNSs6assignEPKcm@@GLIBCXX_3.4my_charset_utf32_unicode_ciescape_string_for_mysqlmy_charset_utf32_estonian_uca_cimy_gcvtsignal@@GLIBC_2.2.5free@@GLIBC_2.2.5page024datamy_charset_utf32_spanish2_uca_ciuca520_p002_ZN22infix_ostream_iteratorI4PathED1Evmy_once_allocmy_charset_gb18030_bin_ZN4PathC1ERKS_opt_euidEVP_aes_192_cfb128@@libcrypto.so.10wait_for_free_spacemy_filenogetenv@@GLIBC_2.2.5opt_randpwdfilemy_getopt_use_args_separatormy_charset_ucs2_latvian_uca_ciget_charset_name_Z23my_legal_hostname_charsRKcmy_charset_utf8_romanian_uca_ci_ZN4Path2upEvuca520_p032EVP_EncryptFinal@@libcrypto.so.10_ZN16Delimiter_parserclERSskey_THR_COND_threadsfree_defaultsmy_hash_reset_ZTSN3Log8Log_buffEconvert_dirnamemy_casedn_str_mbgetopt_constraint_get_hidden_valueuca520_p1D5my_init_mysys_psi_keysstrxnmovposix_spawn_file_actions_init@@GLIBC_2.2.5my_print_variablesmy_caseup_str_8bitfputc@@GLIBC_2.2.5reset_root_defaultssigemptyset@@GLIBC_2.2.5my_charset_error_reportermy_charset_utf32_slovak_uca_cimy_fclosestrncasecmp@@GLIBC_2.2.5_ZNSi4readEPcl@@GLIBCXX_3.4uca520_p02A_ZSt16__throw_bad_castv@@GLIBCXX_3.4page017datakey_THR_LOCK_myisam_mmapmy_charset_utf16_esperanto_uca_ci_ZN4PathC1Ev__fxstat64@@GLIBC_2.2.5my_mkdir_ZN4Path6existsEv_ZSt4cout@@GLIBCXX_3.4my_charset_utf32_unicode_520_ciEVP_aes_192_ecb@@libcrypto.so.10_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEE22infix_ostream_iteratorI4PathEET0_T_SB_SA_my_charset_utf8mb4_czech_uca_cimy_thread_end_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3my_charset_ucs2_binmy_file_limitmy_printf_error_ZNSs6assignERKSs@@GLIBCXX_3.4_Z22decrypt_login_cnf_fileRSiRSosetegid@@GLIBC_2.2.5_ZTI3Log_ZN3Log8Log_buffD0Evmy_charset_utf16_vietnamese_cimy_str_freemy_charset_utf32_general_ciuca520_p021malloc@@GLIBC_2.2.5_Z20assert_valid_datadirRKSsP4Pathuca520_p01Dstrtoull@@GLIBC_2.2.5my_charset_utf16_hungarian_uca_ci_ZN4PathC2ERKSsmy_strntoull10rnd_8bitmy_charset_utf16_roman_uca_ciuca520_p0FFuca520_p029page001datamy_use_large_pagesEVP_EncryptUpdate@@libcrypto.so.10RAND_bytes@@libcrypto.so.10_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSspage01Fdata_ZN10Proxy_userD2Ev_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4page0FEdatapage0A4data_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4fn_extkey_SAFE_HASH_lockpage0A0datastderr@@GLIBC_2.2.5_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4my_thread_joinpage031dataEVP_aes_128_cfb1@@libcrypto.so.10opt_sslpipe@@GLIBC_2.2.5uca520_p014uca520_p0A8uca520_p0A0pthread_key_delete@@GLIBC_2.2.5get_charsets_dir__data_startuca520_p124_Z21my_legal_plugin_charsRKcmy_fseekmy_charset_utf8mb4_spanish_uca_ciPSI_serverpop_dynamicuca520_p00Amy_openkey_memory_lf_nodemy_charset_utf8mb4_sinhala_uca_cipthread_mutexattr_init@@GLIBC_2.2.5my_caseup_8bituca520_p009my_fast_mutexattropt_insecureprint_defaults_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4_ZN4Path6to_strEvposix_spawn_file_actions_destroy@@GLIBC_2.2.5pthread_getspecific@@GLIBC_2.2.5strcmp@@GLIBC_2.2.5my_casedn_mbmy_charset_ucs2_danish_uca_cistrtol@@GLIBC_2.2.5_ZNSt6localeD1Ev@@GLIBCXX_3.4uca520_weightkey_THR_LOCK_netget_charset_numberdirname_lengthmy_collation_8bit_bin_handlermy_charset_ucs2_general_ci__xstat64@@GLIBC_2.2.5_ZN4Path14normalize_pathEv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4add_compiled_collationmy_charset_utf8_spanish_uca_ciinsert_dynamic_ZN4Path4pathERKSsuca520_p001key_memory_MY_DIRmy_vsnprintf_expage021data_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4_ZNSt4pairIKSsSsED2Evopt_skipsys_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4my_xml_set_enter_handlermy_stat__cxa_rethrow@@CXXABI_1.3my_charset_utf16_croatian_uca_cipthread_mutex_lock@@GLIBC_2.2.5my_getopt_print_errorsmy_strcasecmp_8bitchdir@@GLIBC_2.2.5uca520_p031my_charset_utf16_spanish_uca_ci_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4my_charset_big5_chinese_ciuca520_p1D6pthread_mutex_init@@GLIBC_2.2.5fread@@GLIBC_2.2.5my_charset_utf16_estonian_uca_cifreeze_sizemy_charset_ucs2_spanish_uca_ciopt_builddirmy_charset_utf16_sinhala_uca_ciopendir@@GLIBC_2.2.5key_IO_CACHE_SHARE_mutexpage000data_Z17create_ssl_policyPSsS_S_S__ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Evmy_charset_ucs2_roman_uca_cidelete_dynamic_ZN4Path8filenameERKS_my_defaults_read_login_filemy_hash_firstmy_propagate_complexmy_strnncoll_gbk_internalmy_casedn_8bit__bss_startmy_strntod_8bit_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4my_charset_ucs2_general_mysql500_ciEVP_CIPHER_CTX_set_padding@@libcrypto.so.10my_uca_can_be_contraction_headmy_fill_8bitmy_charset_latin2_czech_ci_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4my_once_extrasoundex_mapftello64@@GLIBC_2.2.5_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4my_rnd_sslEVP_CIPHER_block_size@@libcrypto.so.10my_ftelluca520_p020sigaddset@@GLIBC_2.2.5my_charset_ucs2_sinhala_uca_ci_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4my_scan_8bitstrnlen@@GLIBC_2.2.5my_charset_utf16_slovenian_uca_ci__libc_csu_initmemdup_root_ZNSsC1ERKSsmm@@GLIBCXX_3.4_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4escape_quotes_for_mysqlkey_IO_CACHE_SHARE_condintern_filenamemy_uca_previous_context_find_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4my_long10_to_str_8bitopt_def_extra_filepage0FBdatauca520_p0FEuca520_p028array_append_string_unique_ZNSsD1Ev@@GLIBCXX_3.4fgets@@GLIBC_2.2.5_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4uca520_p01Cmy_hash_updateEVP_aes_256_cfb8@@libcrypto.so.10page023dataEVP_aes_128_cfb8@@libcrypto.so.10my_string_stack_guarddefault_randpwfilemy_charset_utf32_swedish_uca_cimy_charset_utf8mb4_spanish2_uca_ciresolve_charset_ZTv0_n24_N3LogD1Evmy_charset_utf16_polish_uca_cimy_cleanup_optionsuca520_p013my_charset_utf8mb4_polish_uca_ciuca520_p0A7__fdelt_chk@@GLIBC_2.15my_charset_eucjpms_binmy_charset_is_ascii_compatiblestrxmovmy_hash_deletemy_charset_tis620_thai_cimy_charset_utf8_danish_uca_ci_ZNSoD1Ev@@GLIBCXX_3.4my_hash_insertpage030datamy_claimclosedir@@GLIBC_2.2.5my_strnncollsp_simpleopt_loginpathmy_charset_ucs2_vietnamese_ci_ZN3Log8Log_buff4syncEv__realpath_chk@@GLIBC_2.4int2strEVP_aes_192_cfb1@@libcrypto.so.10my_hash_search_using_hash_valuememmove@@GLIBC_2.2.5my_lengthsp_binaryset_my_errno__cxa_end_catch@@CXXABI_1.3uca520_p130init_state_mapsrealloc@@GLIBC_2.2.5__fprintf_chk@@GLIBC_2.3.4fseeko64@@GLIBC_2.2.5pthread_once@@GLIBC_2.2.5page022datamy_uca_contraction2_weightkey_KEY_CACHE_cache_lock_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4max_of_int_rangeopt_srcdiruca520_p000__gxx_personality_v0@@CXXABI_1.3_dig_vec_uppermy_charset_gb2312_chinese_cipage011datakey_file_proc_meminfomy_charset_latin1_binmy_uca_can_be_previous_context_headfind_set_from_flagsmy_fread__pthread_key_create@@GLIBC_2.2.5my_charset_euckr_binmy_charset_utf8mb4_slovak_uca_ci_ZN4PathD1Evkey_THR_LOCK_myisamgetopt_compare_stringspage029datamy_instr_simplefn_formatmy_charset_utf32_esperanto_uca_cimy_charset_sjis_binuca520_p008my_numchars_8bitmy_mb_wc_8bitmy_strntol_8bitmy_once_freekey_THR_LOCK_threadsuca520_p100uca520_p1D7__memcpy_chk@@GLIBC_2.3.4my_get_err_msgdefault_charset_infopage0FDdataopt_mysqldfileEVP_aes_128_ecb@@libcrypto.so.10default_loginpath_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4my_charset_utf32_persian_uca_cimy_rand_buffermy_charset_utf8_tolower_ciunpack_dirname_ZTISo@@GLIBCXX_3.4uca520_p108my_strtodEVP_DecryptUpdate@@libcrypto.so.10_ZNSolsEi@@GLIBCXX_3.4my_mb_ctype_8bituca520_p030_my_hash_initmy_charset_utf16_swedish_uca_cifind_typesetPSI_hookkey_memory_my_compress_allocmy_charset_utf32_binlocal_message_hookfree_charsetspage019dataEVP_aes_192_cfb8@@libcrypto.so.10my_charset_utf8_vietnamese_ci_Z25add_standard_search_pathsPSt6vectorI4PathSaIS0_EEpage033datamy_charset_utf16_german2_uca_cimy_charset_utf8_latvian_uca_cimy_strtoll10_8bitmy_charset_ucs2_estonian_uca_ciuca520_p0FDuca520_p027_Unwind_Resume@@GCC_3.0pthread_exit@@GLIBC_2.2.5my_load_defaultspage0FCdatauca_weightmy_strntoll_8bitumask@@GLIBC_2.2.5page006datamy_aes_encryptmy_stpmov__libc_csu_finiuca520_p01Bmy_parse_charset_xml_ZNSt6vectorISsSaISsEED1Evmy_well_formed_len_8bitmy_getopt_is_args_separatorpage02Adata_Z20assert_mysqld_existsRKSsS0_S0_S0_P4Pathpthread_mutexattr_settype@@GLIBC_2.2.5my_errorcheck_mutexattrmy_like_range_mb_ZNSs6appendEPKc@@GLIBCXX_3.4my_charset_utf16_lithuanian_uca_ciposix_spawnp@@GLIBC_2.15my_umaskmy_getopt_register_get_addrpthread_setspecific@@GLIBC_2.2.5strdup@@GLIBC_2.2.5my_strntoull_8bitmy_hash_sort_binmy_symlinkget_defaults_optionsmy_wildcmp_binmy_charset_utf8mb4_turkish_uca_cimy_charset_utf32_latvian_uca_cimy_charset_utf8_german2_uca_ciullstr_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4_Z17my_aes_create_keyPKhjPh13my_aes_opmodeuca520_p012uca520_p0A6stage_waiting_for_table_level_lockmy_charset_utf16_romanian_uca_cikey_memory_my_file_info__libc_start_main@@GLIBC_2.2.5uca520_p04Dmy_print_helpgetopt_ull_limit_valuemy_charset_ucs2_hungarian_uca_ci_Z13print_versionRKSsmy_collation_get_by_nameferror@@GLIBC_2.2.5default_authpluginmy_atofmy_charset_ucs2_esperanto_uca_cimy_hash_const_elementopt_sqlfilemy_default_record_cache_size__gmon_start__my_thread_global_reinitmy_charset_ujis_japanese_cipage016datamy_wildcmp_mball_charsetsmy_error_unregister_ZNSt6vectorI4PathSaIS0_EED2Evuca520_p10Aqsort@@GLIBC_2.2.5uca520_p131my_xml_set_leave_handlermy_charset_utf8_hungarian_uca_ciuca520_p007claim_dynamicmy_collation_ucs2_uca_handlerposix_spawn_file_actions_addclose@@GLIBC_2.2.5_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4my_uca_can_be_previous_context_tailkey_memory_defaultsmy_error_unregister_allmy_hash_elementuca520_p101my_once_memdupuca520_p1D0_ZSt4cerr@@GLIBCXX_3.4fwrite@@GLIBC_2.2.5my_thread_create_ZNSt4pairIKSsSsED1Ev_Z13escape_stringSs_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4my_strnxfrm_mb_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4my_unicase_turkish_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4my_charset_utf16_slovak_uca_ciopt_basediruca520_p109opt_authpluginmy_casedn_mb_varlen_ZN4Path11get_homedirEvmy_file_openedmy_strnxfrm_simple_Z17my_legal_passwordRKcmy_fwritemy_uca_v520_ZNSt6localeC1Ev@@GLIBCXX_3.4my_charset_utf32_spanish_uca_ci_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4strendmy_aes_needs_ivuca520_p02Fmy_caseup_ujisdefault_adminhost_dig_vec_lowerkey_memory_MY_TMPDIR_full_list.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.gcc_except_table.init_array.fini_array.jcr.data.rel.ro.dynamic.got.plt.data.bss.comment8@8#T@T 1t@t$Do@DN @V@^o>3@>3koP5@P5 zp6@p68B:@:(N@NN@N p\@p\\@\$E$ @E@@ DDE4xxE**F FFF FFFFFFFFF & llF`@o@oFppFvvF NW "0N-N@ NO+