From d67a93c752828b3a9bff4f50ea97dd59555e94a0 Mon Sep 17 00:00:00 2001 From: gmarx_cc Date: Sat, 7 Sep 2019 14:13:57 +0200 Subject: [PATCH] For be used at classes at first time --- README.html | 135 +++++++++++++++++++++++++++++++++ README.md | 23 +++++- images/commit1.png | Bin 0 -> 108481 bytes images/commit2.png | Bin 0 -> 64049 bytes images/commit3.png | Bin 0 -> 133326 bytes images/git-fork-clone-flow.png | Bin 0 -> 42613 bytes images/git_cheat_sheet.pdf | Bin 0 -> 705870 bytes images/naws3.png | Bin 0 -> 13626 bytes images/stage.png | Bin 0 -> 135937 bytes images/workingDirectory.jpeg | Bin 0 -> 114654 bytes 10 files changed, 155 insertions(+), 3 deletions(-) create mode 100644 README.html create mode 100644 images/commit1.png create mode 100644 images/commit2.png create mode 100644 images/commit3.png create mode 100644 images/git-fork-clone-flow.png create mode 100644 images/git_cheat_sheet.pdf create mode 100644 images/naws3.png create mode 100644 images/stage.png create mode 100644 images/workingDirectory.jpeg diff --git a/README.html b/README.html new file mode 100644 index 0000000..62a0dd8 --- /dev/null +++ b/README.html @@ -0,0 +1,135 @@ + + + + + + +README.html + + + + + + +perl: warning: Setting locale failed. +perl: warning: Please check that your locale settings: + LC_ALL = (unset), + LC_CTYPE = "UTF-8", + LANG = "en_MX.UTF-8" + are supported and installed on your system. +perl: warning: Falling back to the standard locale ("C"). +

GitBaseProject2Research

+ +

This is an example guide repository to develop a research project based on the git control version's philosophy. This example repository could be reproduced for newer repositories as a guidance for related projects.

+ +

A Basic Git Introduction

+ +

First of all try to install the git system for your own OS visiting and following some steps here.

+ +

Git is an open source version control system to handle from small to large projects with speed and efficiency, with collaborative or private options. Git was designed by Linus Torvalds in 2005 for the development of the linux kernel, the system can manage large or small quantity of source code files. But, what is a git repository?

+ +

The git flow process is shown in the next figure.

+ +

The three basic stages areas of git process

+ +

The process shows three basic stages/areas in the git flow:

+ +
    +
  1. The working directory.
  2. +
  3. Staging area.
  4. +
  5. Repository.
  6. +
+ +

However, all the stages/areas are together at the same time, just a command will takes your files from one stage to another, let see a basic example.

+ +

working directory

+ +

First a local git repository or local repo is some kind supervised space in your computer that informs you what files are added, deleted or modified, this space is known as working directory. Thus, the git system first ask you which files would you like to track any change done in the files. This is done using the "git add" command on your OS terminal prompt; a very useful list of commands can be founded in git cheat sheet. In the other hand, for large projects there are some GUI (Graphic User Interface) that can be used like smart git or source tree; my personal recommendation is smartgit.

+ +

This time, as an example smart git screen shots are going to be used, then, if you install a GUI system you will see your working directory like this:

+ +

Working Directory. 1)At left: the repository name, 2)at right: the files.

+ +

then, you can see the file's status. In the example you are seeing untracked and modified files. Untracked means that there are new files and they are not supervised by the git system. While the modified ones, are files already supervised by git, and have been changed. Also you will find other status options like rename and deleted, meaning of course that those files have been renamed or deleted at the working directory.

+ +

If you are using a command based git system, you can check the status of your working directory with the git status command:

+ +

console +Dir marx$ git status + +here we are considering that we are at the Dir directory. The answer of the system will be something like this:

+ +

```console +On branch master +Your branch is up to date with 'origin/master'.

+ +

Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git checkout -- ..." to discard changes in working directory)

+ +
modified:   README.md
+
+ +

Untracked files: + (use "git add ..." to include in what will be committed)

+ +
introduction.txt
+
+ +

no changes added to commit (use "git add" and/or "git commit -a") +```

+ +

as you can see, the system informs you that there are modified and untracked files.

+ +

After this you are ready to add the new files to the staging area.

+ +

staging area

+ +

To stage a file or group of files is just the preparation to finally make a commit. Suppose you are working on two options, one is ready, and the other needs more work. Then you can stage the part that is ok and commit it. Thus, you need to add the file with the stage button int the GUI based git:

+ +

Stage button.

+ +

You have to repeat this for every file you want to add, or you can select several files at the same time.

+ +

In the command based version, you can add an specific file with the git add command:

+ +

console +Dir marx$ git add Readme.md + +if you need to add all changes of your working directory it is possible by using: + +Dir marx$ git add * +

+ +

Commit

+ +

To be able to finish the commit process must be sure to setting up a name and e-mail address, then if you've never used git before, first you need to set up both. Run the following commands to let git know your name and e-mail address. If you already did it, skip this step.

+ +

console +git config --global user.name "Your Name" +git config --global user.email "your_email@whatever.com" + +after that you also need to be sure of make a simple change on any of the tracking files like the Readme.md file, afterwards you can use the 'git commit' command:

+ +

console +git commit -m "Changes for Readme file" + +If you are following the GUI method, you will see a button like this:

+ +

The commit button

+ +

There is more

+ +

This is just a basic introduction to control the content of a repository, these repositories can be local or also can be remote. Then terms like stage, working copy, fetch, pull, push, branch, merge, stash, tag, and remote repository will be common on the git language. However, this is a simple introduction to the git system, if you want to learn a detailed information and commands visit the git web-page to find e-books, examples and useful information.

+ +

Ideas

+ + + + + diff --git a/README.md b/README.md index 4041450..9f1d14a 100644 --- a/README.md +++ b/README.md @@ -84,11 +84,28 @@ To be able to finish the commit process must be sure to setting up a name and e- git config --global user.name "Your Name" git config --global user.email "your_email@whatever.com" ``` -after that you also need to be sure of make a simple change on any of the tracking files like the `Rea.md` fime Rea able to make the commit about -Then terms like stage, working copy, fetch, pull, push, branch, merge, stash, tag, and remote repository will be common on the git language. However, this is a simple introduction to the git system, if you want to learn a detailed information and commands visit the [git web-page](https://git-scm.com) to find e-books, examples and useful information. +after that you also need to be sure of make a simple change on any of the tracking files like the `Readme.md` file, afterwards you can use the 'git commit' command: + +```console +git commit -m "Changes for Readme file" +``` +If you are following the GUI method, you will see a button like this: + +![The commit button](images/commit1.png) + +after pressing the button you can just add the message that will be related with that version's content, as can be seen on the image you can select what files are going to be commited: +![The message to be commited](images/commit2.png) + +Then, when the commit button has been pressed a new dot will appear in the version line time, in this case after the initial commit: + +![The ](images/commit3.png) + +# There is more # + +This is just a basic introduction to control the content of a repository, this repositories can be local or also can be remote. Then terms like stage, working copy, fetch, pull, push, branch, merge, stash, tag, and remote repository will be common on the git language. However, this is a simple introduction to the git system, if you want to learn a detailed information and commands visit the [git web-page](https://git-scm.com) to find e-books, examples and useful information. -#### Ideas #### +#### Next Ideas to be developed here #### - Branches - Tags - stash diff --git a/images/commit1.png b/images/commit1.png new file mode 100644 index 0000000000000000000000000000000000000000..eff2b4e70c6966ea6992229c92d8e25df1ca6aba GIT binary patch literal 108481 zcmZ^}b97x%w>TQxX>6m7%@ezEW820_gA=E*Z8f$VCyg66wr%sA*YDmR?ilaA{l^}A zPh*X>_nLD?sw&H(qY$G&K|!I*%Sow2LBR$>K|voOA^d}!=yByhK@sZON=mBAOG;9z zx;b0fI#@zM>4c^Fz-xX}A-KwMe;X+6OuTeDxl~r`@CZqlk%p6!kfxQA_@pY1?EsCP zz>dWP{|Qe`OiYc#Cczu&1H1*%KkI(5su4KyemY;_XtB;mg|em=5Edr<2}?=Kon&TR zJ#w^rIvha)3+#i{31sg}?xr5_baeOvr4H_bbpFAFvDy1Du#;Sbv_gzgyW3Pk37`_t zgGIV&x+JjtP@z1cwE5|9psJZA2!2GOZS`FuSrt(tQ1ko2zB%rspr3byq4N5Wp5J2| zphM+lDgAtg7So8Bc`53C#}eRXOXLk#y$Vzf^+f2`GXh&UL-EsLlaD1N)T5sVo2X5L zMsMEOGV?%|Nn-(^n>4m;cxNmuY;vWzHwbAQ#2Xno?zLEwuwowk3AYnHKhf2f=#y1X zPzAOy?y0S1tO)`f8v@YzmWGi2RW_5~>1NQt2>W$3gX#{=MAx}7NFcZa%i$BTgJr|l zr+ajEPHFZ=iS6Y;IgN;m9$QiD@W(aIXeLvyMNmDPw6S-mGkRuYg?C7=2=l0#w?0@A zMDZ7J3mSS8;&)z&p_W19*QLrp=>LK({&=V_%-9bE`BwpiQy4qZ-{7&UFLCXv+vq4- zM$*kJ+9p+yBcJ!!m?r^!^L8WzGOt1z4igoR)XuBZ;oE}ws)i!~H$Q5FFW~3h3v-k9 z1EI<#hI!XD<9QokN#2In7R63K@7lXfkxKmyfkIDgcT%?5XHaJjQDFQFo z0<50%ULZ^C!@b9g-nLG~CdMRmQwy2c5@fbdmp#B8$Dzdj;E; z@4TysaaN!Eei#<^Mrp$B-^YuaF~6P*Prf#p|6Q`MR2#dGT`q_;DaeirGg2mynYbi z1k+Ob$l=Weqfw!bVz`9~Qvw)2MFnGsjj7UmpfHC{Nq(F0EGPdCB@*;npgrSjL;MQO zGRT-gY!%#LYN~^v73OK`z6`yI{?`At4djOxg(m2;bm8$s41fZJA#STZa|uVlFfxBa zjiR6nQLe$yRW1(ZOd-r?a`!BD2;h{SNawhW}KM4t9DCiNAqsB%IeyDE*0;92nfGJ|b+YZ$4gTh?yxjJ-Cqp^7%1}BIn2V#yAf=?J?YZh7%0N63;dHdQJZuyAcU56hQ*hG`L=(gdqxx zClceg*siG=bVK;ExS!;^ytH&nh(hdm8gn3XVrAed@q&5flcwT4+WhYP>-^=s+B`!! zn_8P{ZxL9YIx$pUkd{xK_5`jXYF>tzie-*{PVR5U9Plq`5mQlz&JWyICIr$D_7JKN zK1mcw0ZEcULYgSGK(+kYXpYQ=;D!*_VB`tf0gLfZqbXw^sTJ9_X_-N~i7Sx;X&paa zMDG|;qogy2Qs^@1q7M)zC?_~S^Hs4{VcHAYquT?{U`QCUF|slB5%gKspw>8rC_1Tp zv3z;o3?JJ_Z7^Ih^y3KQnn=k=xpI_ph;xi`h;sP&BRWi2U0H={KMW2G3=Q1Zh1ZAI zch;@j*V?UtIzSH~jE|d77VxJJkxvT{7U=Gi?E|>sxI4Lpzr(w3xtqLozsbIqy~#hi zIy7FPY8-Txor_x~bB6x`Qwh@p(*aWh(-hnloED4-SBHdwiXEyM_8z8;DuSbjg^%rp zFUstv4O9sI`dgFMXg_L{L@lYj^;mS4bC$qNhvQoVWdlxwk*kh@{JL?MT$e0Nnra$S z0%PKF@^86H`EZ3ac?@|q#S;Z-MZ?7JY?IWERJpYN+OJhH1u@x5t$%1Tw;B~1`y25Z z>kbI_|LiC26YmF%Mo;*T5sdY!QZf-Tk*b$#Jl8T79v1_(Zc1^AlS=2*O0`OPEb%O( z++uH=qY9!T6dJ}8n3F4GPdOGw>8S|sga?G#VPPZLl1=6h}BY~gGT7Bg0v8vj~b z4^44Ql4V&;-enc*`RS4C9W~3eytIt1TCP%fzYMlivBrg;nZ!GH1 zXfFZEx6A@L*?C9Vk9jTFJ-EMclX9$@?pu2d*(~ae0efAek%xb;)2>;JrmW3RG>>~M zDh-_%=ynRUbaeX^z96Ey{#z6wbPl#wndUFU3Zu;Pr?ouwye(4=0roUzP1A>YEQ^c7 zt)q{{xj7rqowAQHkG>adYtur<0u};YUY|T;+#EcMJl(u2-Sk{|T|^IrPpS9ZW)3Po zN7x72=aNiKj$IV3t+Ngq`gGE-r><*kAbLli$8CIAV2#F`7=t|sM`1vs^~cA7`ICS?VgWCAN+mZte6f{ zqOnzfU;g+dN54O?iAP85Nqg$wtmUD0Zx*BRXHw^Nd1kqm|EB%EeGFLqjQTeF*8SK< zz724B?t2UQg*eS1hMf2Bvjm4xN}46dtz0dvBuwh@tefO8S5aa-HZ_LMw9XXCWG)*M zZy;YPUs{4ew!p8K6|Rgbcc!c@2S^4B4GI-=Y4CCZ+#fQQ8m9K#Mo{DG@~=f^b4znP zA88*gj>q~PF3!g_?#p&nVh?l<*T)VfCPzO~+xV{Jd&~k(Yi_wcW7MU(Yd8neI&%2RX4ykY*gm63+_J+0nc? z4n7U5j3y=EVyiVo>E_n6)m||wRsZIhdFHl=_pC6VdSdr<#weP&l;H?`C_Z)F6# zR8;H#>(bT#I{YPeF}sq_-U)ewxn~k6w1?rra5;5u2iRxv#%SyevK( z$%-e*F9%dyXv}L{G3&aN{X%?_Z_+Lu!AMJTD?$z4Eyd%-Pg^8i zSFa|Joqsu4KDzmFvk;jQUlRY4+?D)I<5nZ~ugu@>d@uj3XHu|_CH({HNBVAEk+HM? z-n6O9glUkVt$^lYe2h0v)`}XCFyy(LxmgW z?ukonvr6~6&GM6~kAPfo_`ugUee5=s&5B=Zs!s(yHH8P8-NS27_SuzL6Z#6|`z=<@ zWHy-R^`P?i9~ZN8d$SB8xtRH_o+7}-Wy3X%8IswuEtOLcxa&CVDsYa{%EhMq*7E*y zuIc$TjfFo`ccx#qND&9;6(=pC!L!5Cv7+&+B`HmN2Yg6Y2Y(n^9_k~VBK37h`1c;I8*QDUr@YEo(ZTb9H*-6a46`M(cKLjjsK#3X z*q%WvSwm5IO`So9Pw^@%pst^Qri-I3va6ynv$!K&y4YbOE&j=V%wQ%#oQSZf+phiM`dHX`hX%mi%Ds1gavvnp4GgbUtzm3_Hj{r^X_z~4 z$35Cg?Pk8J0{Ru6nC+ELjkBe{)ScI|_Pkc6on$RMaPQyi{bKPSd2>=T1i>EWneA=9 z$!4+g^0jh{w6A|}yfE=qlHDDwmZgiI$j`YDzTvK%0B36Q{qk);l5w^&HtD@^A0!Be zZ4JqjRAbXHA|n%hUVVxM>&LZm(L7wm#r^6^e+`6OyH-1PS(t6f=E|Rr5ojFzjSz+R zd(69m;N0@O>pwd@dymH-=ezcr9l{*O64($pu@bY28oKGfHm-Lnbn|uzKyV7kI3tV( zL>a#@qp}2D_Ww4wtpD4N3IqkCnMN+le^VfnY%ESJD=o||^OfEjP#ww`^hj8VABy{y z{52*w(?8WbswuxJvNOCar|kz@KEPWxO{~(S8B2FrHB`kyty!^JQ&?g^D#;inEh~*Y z$>+-&rMGU67?s+rr2JQ+s`cWeveTmB+DClLe12S>X>tGlt*G1igIE%Cv`eg0jKg_pqS%+F0{ zLT%%QrgHDbtNtLBT_bWv)^CGQO6l`f0i?|A5MXD)1z9WRRdZWjWom%Z~s? z!DgCsxpt@L-JZ{%v}vuhrS)XNQOrL!i9~Rc2`9*W0aG-2bOAs}D(o1dA&wO8A!ZBR zA?c$cryRbDsgOh}iaLmlOwl*ZDBJZ*vY*lo|K;;_q`fW?Lr7z+3P;ZOjHb`l^n9W! ze8yKEt3-aLGP6MBH{BQY7I(X&)NzY(>Cew>^~NQ=Qq{DYv(%sEn^yNuXS1qWrt4}p zvAR#Z&gL(AI+Z+YABNB+V>8~&z79|3u|$yPI6B(-F7<#DAcE!QXyB5=mHz1hKiZh zByEKC$jE|OWqSwMP5vatRHLJsde%oSYmp*YhYLmeMjnkI?wuj?2XhrB)hjjA<}t9U z>Z*NHFRl=&Sd)_|@tD&lM$D3-{X6y(*5mDX_{8wUmoSF#lB<$)(^TEs&b-x}+&t23 zsPV7~xoM$6zd^;d#C6;?&NbD|_g3!u%dP1C#NN|pA!8sOkOip0sK~GL+dxwyhL-oU zD5a~)ZM9}_b7xG}m*n&6b*`5Ql#?j1g4OsO^B?B3O5=H%`8OUxZ!eoxdy%=zMWV&r zxokeDaGm{}!R+m?$X4@*O8D<-QCeDyg}fcDv0k_sw6f9++D9R*M+R#f^cxjk6PK>5 zzJ0~P>lYozEXU?ozQ5~cK?16PW2I~La%~-mD2;-7iJ7KjjOO{nbMBijW;ofd0;$sY z*9Lx05I3J8XYpRfH1c7!_sX=}=3x!NHC`p2e$Iw3Ywfwg&^28}rTao7Pw~?9)~b7Y zWzSDn??np6mevG$5EpkUG&11%623D&0o{Y#J#5;QU;iDuyU8Cd#0;@>c1Vpa)kDQKzU zm<5>Z#P~rhCMX6-ZT(xS28{0W(3&iEq?19dlGa5+>{v3mO%(2!O;HQO^yc~7$1b() zsO=O$Lq7~Kjd)0cWCj&6m3xoEfrKaOSSZsxo19&VJGUlx19x(BZS#hQj0elT-u)!n zD_U;MV~lg+ACF9dXz82-rZZ7q{8pj!)^iGhU4Ho-JOe?4z4aAgt1j*?=NG5j{AFy) z0)|ogXWiqTYk6#AH4zRfR|MoPS{W3!uQY>{ifj?-`bqifgzD#--wWQwN;Mu@Rx#1D zavQT+^`KW11wR>rLSCzNFvc!e`yuuPsD8mn32+w3Y6URm@UL)9eF!eJe%RzPv&BkkOy&6V#Cot~@lIlO zW*!_w8C2DTkL-^u%Bb4mBYT6_Y)E#YIMhmLv>2*HsvE^x#Q|cCRQ@IMMF(Y$h3;k9 zWq>itq3alql*r$jW7Q+?;dF7S5iQvlaGeYhxJxKc`gwwz8h%vo_(B%&%Ww_B ziV|C4y^-&q3~|d6u~Oy}ZxfVLm=bG}eOVzIiIQWQ0`jF_WA!!+_p<0QI;wb2E@vh< zOgO4JytqpF&YBpTQJP$vliMh~Jls#+I9&aECYJnNRT>ecFrG-SwQiUmX`U%CXc1B) zbi#wKJ5%cA^2%E?%K5K8jB%N9_AoH%Ykv00URQX?;>}Ud8CwXFXNx9!sSCb+Q`XCq z0Y3#-4u}l>PEssoKDtb|O>Z+`Z(r86)p*#AlJsuMR>PG~ zzSg{DxIdEQGVUezkIrU!33!*CR|&~S?PZu$jjHe*bsV`gUy@kEUP*5;% zwwgK~I$xCp&7B=tO)Z?wELnk$F8`VkP*B1^!GDjAmL8^*Kt~5BcR`>C^?y+a{(Jrp zn2nn9zeqgnMW}VYs!~ciyIE55uyV7qQ;VWdQc?=LSy&0GOUe8%_J408)HWU-E`n@q z-rnA<-dwECZq{rZ0s;bT?3`?zoGkw+SloS_JWPQsPVO}SE#!a8k+O6*ce8czuyuB# z{Eu8yGiOf^5o+rHDEdFwf7@vZwEe%DoZSDHTmKwn`wxbVgO#1_|BKDT*6RO&*XDH-1MCid0PK_Nt7<)`yVrH!o8bNL+dW%=SNni75D5~)wTEvcX*x7K&A%IJ>@$Pl z6SB}#G%^5?>n{S>gA)a|&2K28A$n)=Q?T|Qo+-TTdg^wJ$#T!J!C`bD!VFapLJ*@( z=5c>w*Me95K3gdbwQR*mQg0xNBKVixe%(f=cWRo%C}#)#$(9KQLh`6U-e>)`pQBTT zod?_fgMzwdW<@1dW<~Qg+WPOX?=gt{{yLcPts#Y9Z$Hzgx2iF(jJVTUo_Wo;ou$0u z*cbH(w$QQnK~f$K9XwC>=NHk#H0z3U_f}Spx4c$bnhg9Sk&lhZkj4DtE=V>8Lmox5 z{6C)wf?(C}^W0mU%}Is_QvqPmTuw0B#;17xPte_^CQNI&g?_s2$f@lG>Mbgq0AuuLw=b2Q_QRIK)g_5 z)Qzyab6I<)GIisy(r6j&|8X<0`mN2$@#g-vmh&BSTOz-Eu}3pDHilOVO6~96dsTd| zL##dglU3@mT;#*m@l&G=VgJ(=HB+9RCAq z2H|}ojU^erAQAvMna1dhc21$pUGI3JjiR4*$_%5mvf%*>nKg&-wBLfj@RCN2>HZ#(t^EKbX8S0 zxBViTax_$pAmUW)&cYZ zY+feF$x2n(e1(R#DG!8ysxfLG()i}WU{hOAAlK@=Mla-bkwCmq8M3v6hw02F^pWZe zQJ>8(2D^VjJewJwbUVH_t63*qWR!($M@5AT8DrDui zaX_M8%h_oC4kk0i)jL80Ui|NV?^X9x?fvnJ#;JJ_B}gA-$L{48@5hhp7a$P-K_3d_xSrY%H7Dt00M%%YEyT5 zU1<$+A>9}Kh0GRbHacwxcH9hSTb!nhHToSW+=Q9w8)z1IjNBDUMkx6Cb>)JgD5u!A zUICutngTw%v@xIAsT(9sMUFv_^Xy56b zZgF6mo(@Lp>o^8n%$WY6*+O{%ZG3;ACH*zzy%m?XHxjpYk17c%{{hK~g;-iyjb}S| zF@=SN;o#!Z+#O935HLapBQW{UG6XRQn-ysxD!GE+luhDX{O5w;t-LN*nT!KoN^j%K zf5_>wgP;SLXJ1yaWw_%2mQc*#k|i>sf5j+3TzXlap9Fd>-U)^K(G(srLUccD2Wv!F zxIES3F{B#;Sm|}{J(VCLBI2|k{xb6x5`~%!{`25H)z!gyvLvsQr1(2m4$K${*mSS9HTVR~q4@Ib~~!LzRcWzN+!( zdD(C+GyTkE*(m|=!TiRrum{U;wIG{LOVoMUlqL||Om%!Zb721BWmC(v;P|V>eASjN zK*8rZwuj_N_X1WNAB_H;US8+kn;23te&_spe_|Kbb(H5@sy2wAj`p+3>w%a^cm`1jAf#zCeOL5a$I&(V}e09LSb? zLA_lcmqPWywJEHIzf6MQ7H9XHriE#GmJ!6_w|__CTH<#Z=hmLklIJz&5MPj>(&{aW z5}g^pJWjYcRs%u{h2Otp_DgZ>@GSuxqk(%@z%=%m!OC>tcFXOBBsLqgf66BkZnJr{ z#Q@#>nD3weiY~dRc&pe#Ib)o0ozx9Hy4H1ot&R@M8Eme%JGaRclhyA}R*v#CN`(Lb z75J4gjWQ(od2zzK+iQ1rk6y@2-_?xhNre9h=o{~{D3(o3A@yuHpeUG+iFINh6W05E zwy*a_2-`%s&GxTVWNdUuBTOmgG{bB{m&eTUR8d z49VK(d3pidac#`IXu0S7CsG2|h=f#=TZgs8|GW9ABqPIn@7HYlPVdWv&Z{0o;p#+` z9Q&n&2!Dnu2jObnyTiFIAJk@q7^q84DWKX8HF!ldf+`5;w{Q9_5QAKpks>LAMTZvF zncOBOw`Pj~2H>hr4hhY_cIxj%WPdxn|Ng0lmtADT-8q=N6Cj%WKNTJH2XgSg={9eLZG=d#q z(0D_?XdnYh4azsN*c`z;k;3GCACZz(^w8u^q0|nUHeH`8`)CwUWByzAb&1yqxC74v zbr@*e4c_A0=c^ui!Xzs)w{BH=*ASQ&unn0ch1}V0VT1p~C<*9}K18}iF=6UGtCvWjQW!! zfSNZcI0I^Brl2)8z!+Tb>3-X96>>_~V$mCKFdxyR%0VkW`FPr>I;$H%*;nar$>g#! z^EEIeRB4Oq#6Y)eqZvf#tKIOOpO6hC1)$^(QiRK%4|lU<@hwy#Jo67JamyheLB%~? z8;$%@vJlWLds;q|EQ@jZYM!FQcV^){UDab~1<`?Jrc=^G)u;C>8+5jruy)EqL9g99zKIY z5~aFeU)Qar*Wwg;s<8iWxrcZPDZOc_x~Rhwq9lb~+ci#RQz5+~!Xxyw=eVGJO&O?7%Ae} z{ot!Ujgs6>GWs!mv&{e4mhBF1QdpOOCo-j_w)YZRpfk!z<}nxzs~^C5~7>I+{{ zVGbHuf9AEqP|Yf>uSuN@irv2+n&Sx?!GvdQ!vxP9S~cS}AbnovMOQQ#pqk#Q>HXJ8 z_=itb4E6d;P7>2kq)2rlL7&6ndR`9oQF_Hcb8uRW!d@c93_FUj1 zVhZDetoQJE6O6T?SsTGYLlS&9nn+WMdmOe?#jukIIo^ve75{iGm>?G`MvXzv4qEzE zHUqGY;8&>prg8KIo@L-|a%sziRK!#CO66;+wsF8W+r>@Z!>`FdV`m@HSEuW+4j=kp zF^~OBW24ze2)^jSDMFI3mGQ>euuhk146E{(=e8#Kw$P|}RY{D|Lx!7Aa&UDsa9c|J zBOWUgW;2?dHuOpp(;+X7i_<=jXLaSMd4F&j?szmGhe@1MY_2f|8oe%vLmgN{>)W*@ z^?ZY^l9TM1-+zy>UjKy7fQ9Ej@;`j1nf$9GPVUvWZ@LYiGomR&?sJUovlq)(a%@o; z6M<+xJ0N{~O{1DZc1W=n9~Y-io`!+hEDs{#txos3j!Ed%tTQr%z+W-s0bw4}1D!M8StY6a`ChkX zj75rV^e_ggILZC|p7IPcrm-tW6Di!3=#>aDb5h1X*L8g%!?IHfA-1ienSxGgA0*L) z8XptD< zgInw6bzChk{9wsyQT?TlN__ZBDldJ#J9}XIW)#tQ`+Y4=R9n)<>S^DiBIIFwA7Hn> zGs-l5h^uLG^BHoN1(sPrYddBePVU-D>5aD}ORnEm<&krJuP{j5+7AK+FYi~?^`?nQ z;i)@QLM-39>y6?lAjRhqH!Z9Z_HX7w2tGKb8N!~#0|yPQ!QQI6rz=hAwKaJCz2<8e zWX6wcInfb+G2~@re!ZWlfReWRD9OB47|(O!i|=|;KZRDRV-Uu+u%LP1z^gEx#GhSN zvGsl-6EZ69+Qbf!!P)SJbnot66t9uEG~LoLgJJ?~XPZ0b0w{s9sDHlAeL29sWrnRP zWyV|wLHvn#23c?_k8#E6^fH4~H~o%Pvy|b?`?sl0HN`2(>RcPIjm$F~Rz**DFQiHW zt`Gdq%)ipcm|bMgiXtvnKXsiAh8(9YRwUHNx4tq5LkupeEYt9I%=@N#{l@!BS5$BV z=-mEu3@ee$mHKxSi@b~9@zgwI6yv`IOhH7u-%f+aZl*;8(DEICO2QV`WZtJ{OXNmv zB=tx)-flSb?Yns_dh4Lq6NYo=Weij=#G3RxF%;#ESXAAuC(g@bVK&-ek0?G7GdC-%zKlS!?l6)wR4ua4>v%MCf>9P>g?5X zmo_Y{uokxdh{_XG`Tn?uW>~;9<9Bz_h7)$3+j-fe4-*XI0fI|yvIrICSTEJ{<0(Xp zQm~rLl6U(+|2Tj5rU}K?Tee@S329X}1}%eIQ!Z99Q5=P4Hoa8`Dr`1m1z{;k>-{fz zigBJMkDY1BQI^<&elQ`ynu#pTUj{^zC0_QERqpwZ7uQN0vs;-9t^(Ua-$8%c8&v1w zM{~U~7Q21_og#(^oo2k^DJB+YHnUV|BZOT5`y>SO4;7>#E}*@ydxK1k5sfx8cuPd)_23^55fZd`Djp{>7j3p{dLq)AI4D7%QIZrs z8_Iv~#)A}_V*L*Qt7n-GAXL!rCYF>pq~upg;;GUy&mM32MUfF6v}K~S z^L}LTLF~?jfx%>O(1~?)-`uY5KmF*7b7Jlkd>FfH*Qrv2Tzcbz&0qT`MJ` zU+lMlbk8qRqyDT&osj&QM_xBE?SuDu|A*Kra z>wq@6AkduHH#BEM@g4aW!UuM@xaTrXnZaf1P#^kWkmt$zw>65G1_$I~1j%wAiXH3x zj$SX^&|5)vsT_H5iD~E^0A@M|ZX@p9qokIvZPV+saAb`oa}50YcQL`z8x}Hic^a~( zSLN`dNYik5q-4^_fTa8_1@gsT=!+2*KqtgiJR%{d9MUmM+|>W6{pTS@#OOZFL8++7_2t>s@W6%Y&IoX<3U?(h)+ZWe$B zRNj-d`CF%RU>{7L&8(3yg=1%03RTn1+FG4(_K{B5Z**QH!VBOzTEEbWeT0k~BE9(F zixvq2-ok&`d^MZJLd=HV?y7{#@tDsvYskA zd1QHC`xz_^%3;g-)E7Dxt?{DrEf+LWxSYuL{7N*70e6{d;lomj9FB8*BVfjj-B%4@e!T}qCFBD5~6 zzHJmZ`LXaRzJw$h!s&2m546;4wt=sc_3W-iWxafPk7hH`^~MW7wlK@r)(G8l`}@Hi ziUx0jD(U9dIA>f}u*oZY9*)NkxA(0mk~Tv+OCpK$yNSb_l|!tU2p?t_(STb@c)R0z zyLfj^Bo<=?y07Yuf_P+5c~xAi&>zh`#FBF|x+uTtd|Ey3VT71cll4`vJmcq2VSnq2|V-5a|9Kz*^hY{I!sI(5GfH1ih$P3eS%r z|KV53)nMS*>y7Ydo!)?4rF>D?2VWcg$ZMeTFu3u#ou5%z6^0$$jE_k!tTVFZ7iZsS z7$9~44c+Xaktp<2fjl*Q)BjaW-l-y+sV^v z2Br;ac;Kd-*>g-W>9>tC0;w|$Y#AjYm|_|rLiN*=lM7@B;lNVR?h)gu-Y;Mz%96f@ zI(v9_i4Yn#!mh%Cxy#4H5|e?_k7Q&?_@|?};z5b95b{Bi28PCO6ZlBb#w`9E&U5h= zqWC6T1Z_Yi4(W65_$Z zim!K1mf_wZ!!ijG;)!%iR?qh{RLc|R?BM%z_C+dcYSO~y1{9K!{HP;1pss?LWC`k& zCA}T>hby=nh7E|EQntSCHzQB7AE{HFH(Gv7xWT7`Hki^23Jk|<>U01NMIESi!Elh@ zTSeZ(bUF8auzpGw!79OBHveWd8ecwN6M|R=7g?j%YFF4ieN$uDS!;lJ#r}Ew*|m#e zcvFfvjnUi6`e-!Da^ip<=)gZB$57IXx1BGp%HM$*|IUUq{N;Aqa5PB;^Q)B=0(}nW2DkA221bwx48UTU0M?GyUSCkD|yY1kwfx)Vz>?8172Q>cuf<}q`$gY zY2rgD|MX_DXE73&dpb)G$8r7sNK*@4R+ipBh(RG*^tKmCGnYRw;Vv5Z*&+X93Q82S zPs9FAT-cPfNEQQdV%U}cY`@Z&N)VB58I*ozqcA&@ z580e#$Ys!x>)gIP3c^|)s&t$^=1J7`+Z%j2LBd7$ec@hwHu4_RYdnmK0nvLKQOec| z5*_&dui6|;6b%jIqS+S#h)tL3ej~=B^e+kVCI!%?-3k@XY$Q$(L~@pyl99$I$Z30C z_BxtFP>e8)XKygWc~d`X1_^^mpCf$wc>-S`gEl}pVSFj#sQf~WW5K9F1ZFZI2LvJ1 zu9~^=2}1iz5r4ucCjrcMeA z%OYtWgAhx!7l&m;^*MzS5{*apKYs;B$5NS$?>l!*`KVJb*!`Z69Bcp~Y@I}AbK4gA zK~wGg+X@C?@|b#eg^~*r2)NXOZYkIw@t4z+qtJKmYgOBeI6cWi7jzhLnWe-s{VrOx zFW%$F$&*EBX=!abo8h=p#_)9Sh`DVjpElhwtFw0Gq|6=W%do5&>q_m2_(B2PXq(fZ zdj+h3g9RPi_GJt6h6C~+boI6B>{e7N`ya9e$5v#MGuM=XMV@!d)$px&E(^QV6-pt` zJF*l@#B(?2Kd>o^uNDsQb@CfxY`YJ+{0y<14q2vjVmz5qqE2)50Pro<=CVN%OU<0M zdcOyifwwp~Ne!93y?-)ZNV=-;G?y=funO>(WtCN+Mr`M;^Ia{i%~u&};LKZLcIvtQ zwcKd>@)3n)(0pUzdfLJDSDL#Q?Gw~-3RK+lVswO{>fXpmWSMW}sLbVh4S4w5k&)Cu z2r@00{fvE;07(3krsM)Ek7seq%W+NOIvA$>-ok)ukwWjs3IQcbd8uh|Bx1XEOF_Mk z=<~L}PUcy~zzDl23Zt)h)BSNp5Y#kIKrzP1P2dst$B$hA;hSOebRRk%UL4?3bA6UN zZeo?Kb^1y(PwBOc-EQFU^5o}Ew9xjAX)w`ZQbIz(MH7lu8J*~Hs({aJ=%Q{hacvvKp7)B{@EsD`(Kr-jJu{V9-)CU#gXfiU^sY}X_w4%E}_X})^Gl#XlF?& zSQB-eY>nm}n@~0nm+&$FRt25WjQ)cTiZwj==x|?*-x0lTQwjaAqWsEF^0D8);aZm6 zmA`}+$q%B@!L?4m{9zya^JOa1&a0yzFC07E6bBUdYz?|K`Cx;>z^PGon!2WvRu>0m0upw z`#5Gu?McA8&Yt&>!U%GieDOA{pB)jgGMVXpgBhf!WypXr;?Sf#sYY=XHVa+pPHrHF zK^-La1B+Ey<8TlbFHT^-N*nWn&4=O+aJ){(sail06mgLtHG{aeg&dSuxcXZ+1R-|+ z(pQgaUli?uq?v>WIdg#*O#hJ>-{7w$FF7X>1Hu@dF0sUDy;T9S8q;mnPl7_69SDp= z{hG#!bEX4>G)KV+wSQimTd$(LTr$5^YTupJ^+=_xoBF`L(Gh7)1-O9S!E|)=FnpWr zX+*;37{JmWpa+Fre!F>VJ!~H)*D0DcYoyzM8#EmJ1E><{X|sjFe_o^ep$oCjkDq(I zVUI)DxDkw{U;jLbrLF?}+VPYn9K+WH(e#QD4Zg(Mln>B^l~G#ke;Ih$LP3zs4Lg=~ zaOfIP0ZSGWzD>Q@?dIRxPk|gmK1}uduILGktOlaTe=$P1_O6pX^X7zr@!*l59}Jkq zu8EPKwQCHRG_Z#M4JWRTD7;N)v0~-Gv zdC2xh+#MUSU%+U>8;7(P+=iw0|gheVtzB z`OtC;_^_8tXE=h}p`|J$&gpF5?X0*@3)xzHCR$qxVC=ar7>HuH&JEGRe((C2LT3hU+D$Uuy3u(~f$fk^cRp-m>im!r@`(p9{Kvs#q_LN z1up=CG8vlfrW>sf&b-(AmnXFfBqOt~?<=A;>ucVZ7JSGVt-YAxD7g&hxTm{dkqg#K zvr(3?hO}#=dXYy@%*W2=z>$~-S2mLT3WOEv3-%=YZ9n5vQ64c>-hZvx_;!i0YndOP zNJ=@yU#;!@=d@zszE2r^8?`{9&p(P4{yj4I3=>aYm%yw8G`w;N%aR6`qAAh!!fF zx+y#P2@SXm&J*#agUeG1cfy6-k2k2u{FLKc=>*lWlg3?_?UELkjDK>ri|DR&yxt+7 zTH&(p_r=Uou0(fUauq;O$-H!xrlF!L)Z0oLLP`!L$m`|+W{4FU#dI5fDw!D0zp#(L z`I5{=Izq-&D_a&OLO~w*m}#TID&Rt7XnLZ+-XvnO@UfT~%Gx{nX5U_TGI{pPsk| zhYyeE3dznlUSXM`4*%x5&CwmlVb*U_ngvgZUP=w~gM2fRah)h?k;K30PJ)`JYOfMD zt#*6x$8M#VvQyT7*+c+7j_do8i(-u=exp0t%`GuB>KZ(ZRR)0pO=kyg1-Krj&pGrP z^+DGF1%MVzJsdraVVM82_xladuRR{dA4sXwP88_>SR0K%WU;UwpNwQfa7rplI8 z90e}p{nd!)9wada)GrOqxtW@$I3pd16yMY}5W({mMr0|9yULX~GCbX=j_(Tc64D8q za-Vw9VQ)|X&UDAWTDKAhoAFm5K<%GT2XM$g*IQcp9*>pHO~3oRuNIL%#dXp%i<@8D zr1@mCWw!fB)UvDGhEZwW;~p;fX<943k7n6NPM}5h$FoF-dzQXPf6ak!KDau84MyIS zinjC(5nv?%;q5vN^dd?%;3vReDF}<;*ZTx{k4gj_?BM`i)2=F^CWX{m>%}XGTIOmf zE5}&=_*EN0V;IJN&Ie0ryByeP75NKRVIA`K&5H~<#Ljn5o?~N~n-(lh|HaF}@u5IC zYW}e@efhZ5Hz@+sUF$RaA-6@6!D?tWOt&x&UKS-o`mXu*he*9rtAMCKQ%GPWN zlMxLO66B$*ISb*NNS}^WB$QH#kNE!GD+Mf?&R0FOVF}RAoHQ2{R3#%dS8QAU@hP{` zdZ;w20NVr%0)_nOQ zouog`1-~f=ambOKbsF9Puj(VAG!?83#-ICzBt?mDNn7`H%rv}&z<7~&s6^)b9Fep; z?+I@Y6vswU7B`X$Vbaf~S^dJDIbs*zccE-5>!-!qbP}IX(q&#ukL4SFy;P*t>%Gd$ z^L7O>R@F@I4D}pg$8UE)Hud?S3Q*r$*{t0yrDcL&x|Iox>DP%^hP_RUORT8m7=0`j zEqyg%62VI4$>kTHp+^S=LZNso_9-b*xH*f1VLBN9xDgiQe04Qc#-GpiO@0LaE7z9o zoct8yZv^LMA^vss&0Mew%2R%~8GFaKrDf{-MfA(z0KDRc>CT_5(6