"""\@"" "&          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       :GETTICKER :SETPRICE GETSTOCKS  ITSTOCKS LINEOCKS PORTFOLIO SHOWFORMULAS TICKERSULAS \0KERSULAS \RKERSULAS \SKERSULAS   \UKERSULAS"" RN0RSULAS!  ? @VLBLBqqqq0* 6Macros6Pers. Finance6Portfolio         q'           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~                                                                 !  " ! # " $ # % $ & % ' & ( ' ) ( * ) + * , + - , . - / . 0 / 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 : 9 ; : < ; = < > = ? > @ ? A @ B A C B D C E D F E G F H G I H J I K J L K M L N M O N P O Q P R Q S R T S U T V U W V X W Y X Z Y [ Z \ [ ] \ ^ ] _ ^ ` _ a ` b a c b d c e d f e g f h g i h j i k j l k m l n m o n p o q p r q s r t s u t v u w v x w y x z y { z | { } | ~ }  ~                                                                                                                                                                                                                                                                                                                                   !  " ! # " $ # % $ & % ' & ( ' ) ( * ) + * , + - , . - / . 0 / 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 : 9 ; : < ; = < > = ? > @ ? A @ B A C B D C E D F E G F H G I H J I K J L K M L N M O N P O Q P R Q S R T S U T V U W V X W Y X Z Y [ Z \ [ ] \ ^ ] _ ^ ` _ a ` b a c b d c e d f e g f h g i h j i k j l k m l n m o n p o q p r q s r t s u t v u w v x w y x z y { z | { } | ~ }  ~                                                                                                                                                                                                                                                                                                                                   !  " ! # " $ # % $ & % ' & ( ' ) ( * ) + * , + - , . - / . 0 / 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 : 9 ; : < ; = < > = ? > @ ? A @ B A C B D C E D F E G F H G I H J I K J L K M L N M O N P O Q P R Q S R T S U T V U W V X W Y X Z Y [ Z \ [ ] \ ^ ] _ ^ ` _ a ` b a c b d c e d f e g f h g i h j i k j l k m l n m o n p o q p r q s r t s u t v u w v x w y x z y { z | { } | ~ }  ~                                                                                                                                                                                                                                                                                                                                   !  " ! # " $ # % $ & % ' & ( ' ) ( * ) + * , + - , . - / . 0 / 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 : 9 ; : < ; = < > = ? > @ ? A @ B A C B D C E D F E G F H G I H J I K J L K M L N M O N P O Q P R Q S R T S U T V U W V X W Y X Z Y [ Z \ [ ] \ ^ ] _ ^ ` _ a ` b a c b d c e d f e g f h g i h j i k j l k m l n m o n p o q p r q s r t s u t v u w v x w y x z y { z | { } | ~ }  ~                                                                                                                                                                                                                                                                                                                                   !  " ! # " $ # % $ & % ' & ( ' ) ( * ) + * , + - , . - / . 0 / 1 0 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 : 9 ; : < ; = < > = ? > @ ? A @ B A C B D C E D F E G F H G I H J I K J L K M L N M O N P O Q P R Q S R T S U T V U W V X W Y X Z Y [ Z \ [ ] \ ^ ] _ ^ ` _ a ` b a c b d c e d f e g f h g i h j i k j l k m l n m o n p o q p r q s r t s u t v u w v x w y x z y { z | { } | ~ }  ~                                                                                                                                                                                                                                                                             ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~           ! "!#"$#%$&%'&(')(*)+*,+-,.-/.0/102132435465768798:9;:<;=<>=?>@?A@BACBDCEDFEGFHGIHJIKJLKMLNMONPOQPRQSRTSUTVUWVXWYXZY[Z\[]\^]_^`_a`bacbdcedfegfhgihjikjlkmlnmonpoqprqsrtsutvuwvxwyxzy{z|{}|~}~ q'y@6@6@6խ@6@6@6 'Assets\(@PQ@PQ8@PQ@P33333ӷ@P> ףp]z@P'Credit Union CheckingQQ @Gz@ףp= ף @ףp= @)\( @'Credit Union Savings(\ @ףp= ׁ @(\ @RQ @RQ- @ O'Brokerage AccountzGḞ @_ @)\Ț @= ףp= @)\ @zGA@P'Employer 401(k)= ףp@Q`@GzT@Qф@\(@Q8@'Expenses @ P @ P` @ P @ P @ P(\ @ P 'Rent` ` ` ` ` `  'Utilities      (\@ 'Liabilities  @ P  @ P  @ P ףp= ף @ P ףp= @ P y @ P 'Mastercard     x   'Visa `    \(\@ Gzǀ@ Ep'Store CardZ'Total Expenses @  @  @ QQ @ QA @ Gz“ @ 'Asset Change "N/A.?*ߎ? ;.&@ ;.8@? ;.%qv? ;. Η`? ;'Average Annual Spend:zGz9 @Q%'Average Asset Growth (monthly):j v?Q5kV @33R b 'Symbol'Quantity 'Price 'Balance'Allocation\=\=\=\=\= 'VTI '227.395 @G"қ?P 'BND '86.5127Y@G"7yL?P 'VXUS '65.055L @G"śC}4?P 'GOOGL '2659.58HzG9 @G"fe0?P'Variables\=\=\= 'Name 'Value'Description\=\=\='i '; Loop Counter 'tickers'VTI,BND,VXUS,GOOGL,#'; Concatenated Ticker Symbols 'line '2659.72'; Line Buffer for READLN 'Macros \= \= \= 'Name 'Commands 'Notes \= \= \= 'GETSTOCKS '{LET tickers,""} '; reset tickers! '{FOR i,0,1024,1,:GETTICKER}' '; call :GETTICKER for every stock@'{SYSTEM +"UNIX stocks.sh "&tickers&" > %TEMP%\STOCKS.TXT"}'; fetch stock prices%'{OPEN "C:\TMP\STOCKS.TXT", "r"}'; open result '{FOR i,0,1024,1,:SETPRICE}%'; call :SETPRICE to load prices '{CLOSE}'; close results file '{CALC}'; update spreadsheet':GETTICKER7'{IF @ISSTRING(@INDEX(PORTFOLIO,0,i))=0}{FORBREAK}#'; check if this line is empty9'{PUT tickers,0,0,tickers&@INDEX(PORTFOLIO,0,i)&","})'; append this ticker to tickers var':SETPRICE'{READLN line}{FORBREAK}+'; read another line, exit loop if end'{PUT PORTFOLIO,2,i,line}#'; insert into portfolio table'SHOWFORMULAS '/taafq%'; hilight formulas with Auditor'\0'{SHOWFORMULAS}'\r'{GETSTOCKS}'; alt-r refresh '\s '/fs~b '; alt-s quicksave"'\u"'{SYSTEM "UNDO"}"'; alt-u undo-