-
Notifications
You must be signed in to change notification settings - Fork 0
/
476053988.html
138 lines (125 loc) · 30.5 KB
/
476053988.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html>
<html>
<head>
<title>Di Luo : Di and Yixuan's CS333 Project 3: JavaScript</title>
<link rel="stylesheet" href="styles/site.css" type="text/css" />
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body class="theme-default aui-theme-default">
<div id="page">
<div id="main" class="aui-page-panel">
<div id="main-header">
<div id="breadcrumb-section">
<ol id="breadcrumbs">
<li class="first">
<span><a href="index.html">Di Luo</a></span>
</li>
<li>
<span><a href="413631037.html">Di Luo’s Home</a></span>
</li>
<li>
<span><a href="474513807.html">Di Luo's CS333</a></span>
</li>
<li>
<span><a href="474513801.html">Di Luo's Exploration in JavaScript</a></span>
</li>
</ol>
</div>
<h1 id="title-heading" class="pagetitle">
<span id="title-text">
Di Luo : Di and Yixuan's CS333 Project 3: JavaScript
</span>
</h1>
</div>
<div id="content" class="view">
<div class="page-metadata">
Created by <span class='author'> Di Luo</span>, last modified on Mar 05, 2020
</div>
<div id="main-content" class="wiki-content group">
<p>This page focuses on exploring the basics of JavaScript.</p><h4 id="DiandYixuan'sCS333Project3:JavaScript-Task1:">Task 1:</h4><p><u>Identifier naming:</u></p><p>JavaScript is case-sensitive so that character in upper case and that in lower case are different. The code below prints different values.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021294.png" data-image-src="attachments/476053988/476021294.png" data-unresolved-comment-count="0" data-linked-resource-id="476021294" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.51.14 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p>The first character of a variable can only be a letter, an underscore(_) or a dollar sign($), and there can not be spaces in between the characters. Only letters, numbers, underscores, or dollar signs can be used for naming.</p><p> </p><p><u>Variable Declaration:</u></p><p>Variables in JavaScript can be declared with 3 keywords:</p><ol><li>var: the scope of the variable is its execution context.</li><li>let: the scope of the variable is constrained to whichever scope it is declared in.</li><li>const: value cannot be modified; constrained to the scope it's declared in.</li></ol><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="500" src="attachments/476053988/476021299.png" data-image-src="attachments/476053988/476021299.png" data-unresolved-comment-count="0" data-linked-resource-id="476021299" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.04.23 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><p><u>Identifier scoping:</u></p><p>Javascript has two scopes: global and local. Global scope means it can be accessed anywhere in the file, while function scope means it is constrained in the scope of the function. The following test code shows that declaring the variable <em>name</em> in the function scope won't influence <em>name</em> in the global scope.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="400" src="attachments/476053988/476021300.png" data-image-src="attachments/476053988/476021300.png" data-unresolved-comment-count="0" data-linked-resource-id="476021300" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.04.57 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span>'</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021303.png" data-image-src="attachments/476053988/476021303.png" data-unresolved-comment-count="0" data-linked-resource-id="476021303" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.06.13 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><h4 id="DiandYixuan'sCS333Project3:JavaScript-Task2:">Task 2:</h4><p>The binarySearch function is implemented as shown in the screenshot. It continuously compares the value to be searched with the median value of the current investigating range. By changing the value of left index or right index, the program modifies the current investigating range. Some basic syntax of JavaScript is introduced as follows. The function uses {} to hold its content, which is the same for if and while statement. A semicolon is used to separate lines of codes. The condition statement of if/while loop is after the keyword and is enclosed by parentheses. When declaring variables, one of the three keywords (var, let, const) is followed by the variable name with the initial value sometimes. Square brackets after the array are used to specify a specific location in the array.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021304.png" data-image-src="attachments/476053988/476021304.png" data-unresolved-comment-count="0" data-linked-resource-id="476021304" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.10.36 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p>The test code proves the validity of the implementation.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021305.png" data-image-src="attachments/476053988/476021305.png" data-unresolved-comment-count="0" data-linked-resource-id="476021305" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.11.05 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><h4 id="DiandYixuan'sCS333Project3:JavaScript-Task3:">Task 3:</h4><p>JavaScript has the following built-in types: number, string, boolean, object(null), and undefined.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021316.png" data-image-src="attachments/476053988/476021316.png" data-unresolved-comment-count="0" data-linked-resource-id="476021316" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.44.28 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p>For <span>aggregate types, a class is constructed as the screenshot shows. <em>Food</em> is a name given to the class. The class has a constructor to create objects that belong to the class and to initialize fields. A class can also have prototype methods like <em>call().</em></span></p><p><span><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021317.png" data-image-src="attachments/476053988/476021317.png" data-unresolved-comment-count="0" data-linked-resource-id="476021317" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.29.45 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></span></p><p><span>A struct is constructed as below, which can store a group of variables that shares similarities. The test code below creates a struct of phone, which gives an easy way to access these data.</span></p><p><span><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021318.png" data-image-src="attachments/476053988/476021318.png" data-unresolved-comment-count="0" data-linked-resource-id="476021318" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.29.24 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></span></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021319.png" data-image-src="attachments/476053988/476021319.png" data-unresolved-comment-count="0" data-linked-resource-id="476021319" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 1.38.46 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><p><span>To demonstrate the standard suite of operators (+-/*%) between each type, groups of print statements are used to present.</span></p><p>Addition works normally when calculating numeric data. For boolean variables, true is treated as 1 and false as 0 under standard operators. Statements with undefined would always result in NaN. + between string would combine the two string. Interestingly, null + string gives a string nullstring. null adding numeric value gives the numeric value. String adding number would parse the number into a string and combine the string with the string of the number.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021328.png" data-image-src="attachments/476053988/476021328.png" data-unresolved-comment-count="0" data-linked-resource-id="476021328" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.44.56 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><p>Subtraction works normally for numeric values. For multiplications that involve null, string, and undefined, the program returns NaN, which is undefined.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021327.png" data-image-src="attachments/476053988/476021327.png" data-unresolved-comment-count="0" data-linked-resource-id="476021327" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.45.02 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><p>Multiplication, division, and modulo are similar to the case of subtraction.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021326.png" data-image-src="attachments/476053988/476021326.png" data-unresolved-comment-count="0" data-linked-resource-id="476021326" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.45.07 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021321.png" data-image-src="attachments/476053988/476021321.png" data-unresolved-comment-count="0" data-linked-resource-id="476021321" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.45.14 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021324.png" data-image-src="attachments/476053988/476021324.png" data-unresolved-comment-count="0" data-linked-resource-id="476021324" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 12.45.20 AM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><h4 id="DiandYixuan'sCS333Project3:JavaScript-Extension:">Extension:</h4><p><u>Extension 2: Demonstrate whether functions are a basic data type and whether a variable can hold an arbitrary function</u></p><p>In JavaScript, functions are objects and they can have fields and methods like other objects. The code snippet below shows that function can also be assigned to a variable as a variable <em>greeting </em>is assigned with a function that contains fields and another function.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="500" src="attachments/476053988/476021341.png" data-image-src="attachments/476053988/476021341.png" data-unresolved-comment-count="0" data-linked-resource-id="476021341" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 5.02.07 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p>The output of the snippet is below, showing that functions in JS are objects.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021342.png" data-image-src="attachments/476053988/476021342.png" data-unresolved-comment-count="0" data-linked-resource-id="476021342" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 4.58.19 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p> </p><p><u>Extension 3: Write other example programs that show unique features of the syntax, naming, or scoping & Develop explicit comparison code in Python, Java, or C and compare and contrast it with JS</u></p><p>Javascript is dynamically (weekly) typed, meaning that the type of a variable doesn't need to be specified by a type keyword. The type of a variable is dynamically identified by the program depending on which value is given by the user. While in C, type keywords need to be used to clarify the type of a variable.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" draggable="false" width="100" src="attachments/476053988/476021344.png" data-image-src="attachments/476053988/476021344.png" data-unresolved-comment-count="0" data-linked-resource-id="476021344" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 7.51.44 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span> (JS)</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" draggable="false" width="100" src="attachments/476053988/476021343.png" data-image-src="attachments/476053988/476021343.png" data-unresolved-comment-count="0" data-linked-resource-id="476021343" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 7.51.26 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span> (C)</p><p> </p><p>The function scope in JS is different from the block scope in C. For variables that have function scope, if, for and while statements do not actually define a scope on their own. However, the keyword let can be used to restraint a variable in a local scope. This is exemplified in the code below:</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021345.png" data-image-src="attachments/476053988/476021345.png" data-unresolved-comment-count="0" data-linked-resource-id="476021345" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 7.54.27 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span>(JS) output: <span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" draggable="false" width="30" src="attachments/476053988/476021347.png" data-image-src="attachments/476053988/476021347.png" data-unresolved-comment-count="0" data-linked-resource-id="476021347" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 7.55.22 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p>In the code above, the parentheses in the first function didn't create a block scope, so that the variable v in the parentheses is the same as the one outside the parentheses, and giving it a value 0 will also change the value of the v outside, printed as both 0. While in the second function, the keyword let restraints the scope of the v in the parentheses to be local, so that it didn't modify the value of v outside the scope, which is reflected by the printed result 0 for the inside v and 1 for the outside v.</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image" draggable="false" width="301" src="attachments/476053988/476021346.png" data-image-src="attachments/476053988/476021346.png" data-unresolved-comment-count="0" data-linked-resource-id="476021346" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 7.54.50 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span>(C): output: <span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-thumbnail" draggable="false" width="150" src="attachments/476053988/476021348.png" data-image-src="attachments/476053988/476021348.png" data-unresolved-comment-count="0" data-linked-resource-id="476021348" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Screen Shot 2020-03-05 at 7.56.12 PM.png" data-base-url="https://wiki.colby.edu" data-linked-resource-content-type="image/png" data-linked-resource-container-id="476053988" data-linked-resource-container-version="6"></span></p><p>While in C, the for loop has its own scope so that the int i in the loop doesn't influence the i outside the loop.</p><h4 id="DiandYixuan'sCS333Project3:JavaScript-Source:">Source:</h4><p><a href="https://www.tutorialrepublic.com/javascript-tutorial/javascript-data-types.php" class="external-link" rel="nofollow">https://www.tutorialrepublic.com/javascript-tutorial/javascript-data-types.php</a></p><p> </p>
</div>
<div class="pageSection group">
<div class="pageSectionHeader">
<h2 id="attachments" class="pageSectionTitle">Attachments:</h2>
</div>
<div class="greybox" align="left">
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021294.png">Screen Shot 2020-03-05 at 12.51.14 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021299.png">Screen Shot 2020-03-05 at 1.04.23 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021300.png">Screen Shot 2020-03-05 at 1.04.57 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021303.png">Screen Shot 2020-03-05 at 1.06.13 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021304.png">Screen Shot 2020-03-05 at 1.10.36 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021305.png">Screen Shot 2020-03-05 at 1.11.05 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021316.png">Screen Shot 2020-03-05 at 12.44.28 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021317.png">Screen Shot 2020-03-05 at 1.29.45 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021318.png">Screen Shot 2020-03-05 at 1.29.24 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021319.png">Screen Shot 2020-03-05 at 1.38.46 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021321.png">Screen Shot 2020-03-05 at 12.45.14 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021324.png">Screen Shot 2020-03-05 at 12.45.20 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021326.png">Screen Shot 2020-03-05 at 12.45.07 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021327.png">Screen Shot 2020-03-05 at 12.45.02 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021328.png">Screen Shot 2020-03-05 at 12.44.56 AM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021341.png">Screen Shot 2020-03-05 at 5.02.07 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021342.png">Screen Shot 2020-03-05 at 4.58.19 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021343.png">Screen Shot 2020-03-05 at 7.51.26 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021344.png">Screen Shot 2020-03-05 at 7.51.44 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021345.png">Screen Shot 2020-03-05 at 7.54.27 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021346.png">Screen Shot 2020-03-05 at 7.54.50 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021347.png">Screen Shot 2020-03-05 at 7.55.22 PM.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/476053988/476021348.png">Screen Shot 2020-03-05 at 7.56.12 PM.png</a> (image/png)
<br/>
</div>
</div>
</div> </div>
<div id="footer" role="contentinfo">
<section class="footer-body">
<p>Document generated by Confluence on Aug 29, 2022 09:29</p>
<div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
</section>
</div>
</div> </body>
</html>