KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > form > layoutdesign > ALT_Bug66431_3Test


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.form.layoutdesign;
21
22 import java.awt.Dimension JavaDoc;
23 import java.awt.Point JavaDoc;
24 import java.awt.Rectangle JavaDoc;
25 import java.io.File JavaDoc;
26 import java.io.IOException JavaDoc;
27 import java.util.*;
28 import org.openide.filesystems.FileUtil;
29
30 public class ALT_Bug66431_3Test extends LayoutTestCase {
31
32     public ALT_Bug66431_3Test(String JavaDoc name) {
33         super(name);
34         try {
35         className = this.getClass().getName();
36         className = className.substring(className.lastIndexOf('.') + 1, className.length());
37             startingFormFile = FileUtil.toFileObject(new File JavaDoc(url.getFile() + goldenFilesPath + className + "-StartingForm.form").getCanonicalFile());
38         } catch (IOException JavaDoc ioe) {
39             fail(ioe.toString());
40         }
41     }
42
43     // There is no resizing element in the vertical dimension. First the bottom
44
// edge of the form is resizied upwards to snap to text area, then it is
45
// resized back. A resizing gap should be created after the second step.
46
public void doChanges0() {
47         ld.externalSizeChangeHappened();
48         // > UPDATE CURRENT STATE
49
contInterior.put("Form", new Rectangle JavaDoc(0, 0, 400, 313));
50         compBounds.put("jScrollPane1", new Rectangle JavaDoc(10, 40, 380, 196));
51         baselinePosition.put("jScrollPane1-380-196", new Integer JavaDoc(0));
52         compPrefSize.put("jScrollPane1", new Dimension JavaDoc(104, 64));
53         compBounds.put("jButton1", new Rectangle JavaDoc(10, 11, 75, 23));
54         baselinePosition.put("jButton1-75-23", new Integer JavaDoc(15));
55         compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
56         compBounds.put("jButton2", new Rectangle JavaDoc(91, 11, 75, 23));
57         baselinePosition.put("jButton2-75-23", new Integer JavaDoc(15));
58         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
59         prefPadding.put("jButton1-jButton2-0-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
60
prefPaddingInParent.put("Form-jScrollPane1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
61
prefPaddingInParent.put("Form-jButton1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
62
prefPaddingInParent.put("Form-jScrollPane1-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
63
prefPaddingInParent.put("Form-jButton2-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
64
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
65
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
66
prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
67
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
68
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
69
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
70
compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
71         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
72         prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
73
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
74
ld.updateCurrentState();
75         // < UPDATE CURRENT STATE
76
ld.externalSizeChangeHappened();
77         // > UPDATE CURRENT STATE
78
contInterior.put("Form", new Rectangle JavaDoc(0, 0, 400, 313));
79         compBounds.put("jScrollPane1", new Rectangle JavaDoc(10, 40, 380, 196));
80         baselinePosition.put("jScrollPane1-380-196", new Integer JavaDoc(0));
81         compPrefSize.put("jScrollPane1", new Dimension JavaDoc(104, 64));
82         compBounds.put("jButton1", new Rectangle JavaDoc(10, 11, 75, 23));
83         baselinePosition.put("jButton1-75-23", new Integer JavaDoc(15));
84         compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
85         compBounds.put("jButton2", new Rectangle JavaDoc(91, 11, 75, 23));
86         baselinePosition.put("jButton2-75-23", new Integer JavaDoc(15));
87         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
88         prefPadding.put("jButton1-jButton2-0-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
89
prefPaddingInParent.put("Form-jScrollPane1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
90
prefPaddingInParent.put("Form-jButton1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
91
prefPaddingInParent.put("Form-jScrollPane1-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
92
prefPaddingInParent.put("Form-jButton2-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
93
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
94
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
95
prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
96
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
97
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
98
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
99
compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
100         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
101         prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
102
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
103
ld.updateCurrentState();
104         // < UPDATE CURRENT STATE
105
// > START RESIZING
106
baselinePosition.put("Form-400-313", new Integer JavaDoc(-1));
107         prefPaddingInParent.put("Form-jScrollPane1-1-1", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
108
{
109             String JavaDoc[] compIds = new String JavaDoc[] {
110                 "Form"
111                 };
112             Rectangle JavaDoc[] bounds = new Rectangle JavaDoc[] {
113                 new Rectangle JavaDoc(0, 0, 400, 313)
114                 };
115             Point JavaDoc hotspot = new Point JavaDoc(139,312);
116             int[] resizeEdges = new int[] {
117                 -1,
118                     1
119                 };
120             boolean inLayout = false;
121             ld.startResizing(compIds, bounds, hotspot, resizeEdges, inLayout);
122         }
123         // < START RESIZING
124
// > MOVE
125
{
126             Point JavaDoc p = new Point JavaDoc(146,253);
127             String JavaDoc containerId = null;
128             boolean autoPositioning = true;
129             boolean lockDimension = false;
130             Rectangle JavaDoc[] bounds = new Rectangle JavaDoc[] {
131                 new Rectangle JavaDoc(0, 0, 400, 247)
132                 };
133             ld.move(p, containerId, autoPositioning, lockDimension, bounds);
134         }
135         // < MOVE
136
// > MOVE
137
{
138             Point JavaDoc p = new Point JavaDoc(146,252);
139             String JavaDoc containerId = null;
140             boolean autoPositioning = true;
141             boolean lockDimension = false;
142             Rectangle JavaDoc[] bounds = new Rectangle JavaDoc[] {
143                 new Rectangle JavaDoc(0, 0, 400, 247)
144                 };
145             ld.move(p, containerId, autoPositioning, lockDimension, bounds);
146         }
147         // < MOVE
148
// > END MOVING
149
contInterior.put("Form", new Rectangle JavaDoc(0, 0, 400, 247));
150         compBounds.put("jScrollPane1", new Rectangle JavaDoc(10, 40, 380, 196));
151         baselinePosition.put("jScrollPane1-380-196", new Integer JavaDoc(0));
152         compPrefSize.put("jScrollPane1", new Dimension JavaDoc(104, 64));
153         compBounds.put("jButton1", new Rectangle JavaDoc(10, 11, 75, 23));
154         baselinePosition.put("jButton1-75-23", new Integer JavaDoc(15));
155         compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
156         compBounds.put("jButton2", new Rectangle JavaDoc(91, 11, 75, 23));
157         baselinePosition.put("jButton2-75-23", new Integer JavaDoc(15));
158         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
159         prefPadding.put("jButton1-jButton2-0-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
160
prefPaddingInParent.put("Form-jScrollPane1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
161
prefPaddingInParent.put("Form-jButton1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
162
prefPaddingInParent.put("Form-jScrollPane1-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
163
prefPaddingInParent.put("Form-jButton2-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
164
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
165
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
166
prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
167
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
168
prefPaddingInParent.put("Form-jScrollPane1-1-1", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
169
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
170
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
171
compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
172         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
173         prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
174
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
175
prefPaddingInParent.put("Form-jScrollPane1-1-1", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
176
ld.endMoving(true);
177         // < END MOVING
178
ld.externalSizeChangeHappened();
179         // > UPDATE CURRENT STATE
180
contInterior.put("Form", new Rectangle JavaDoc(0, 0, 400, 247));
181         compBounds.put("jScrollPane1", new Rectangle JavaDoc(10, 40, 380, 196));
182         baselinePosition.put("jScrollPane1-380-196", new Integer JavaDoc(0));
183         compPrefSize.put("jScrollPane1", new Dimension JavaDoc(104, 64));
184         compBounds.put("jButton1", new Rectangle JavaDoc(10, 11, 75, 23));
185         baselinePosition.put("jButton1-75-23", new Integer JavaDoc(15));
186         compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
187         compBounds.put("jButton2", new Rectangle JavaDoc(91, 11, 75, 23));
188         baselinePosition.put("jButton2-75-23", new Integer JavaDoc(15));
189         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
190         prefPadding.put("jButton1-jButton2-0-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
191
prefPaddingInParent.put("Form-jScrollPane1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
192
prefPaddingInParent.put("Form-jButton1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
193
prefPaddingInParent.put("Form-jScrollPane1-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
194
prefPaddingInParent.put("Form-jButton2-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
195
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
196
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
197
prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
198
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
199
prefPaddingInParent.put("Form-jScrollPane1-1-1", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
200
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
201
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
202
compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
203         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
204         prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
205
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
206
prefPaddingInParent.put("Form-jScrollPane1-1-1", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
207
ld.updateCurrentState();
208         // < UPDATE CURRENT STATE
209
// > START RESIZING
210
baselinePosition.put("Form-400-247", new Integer JavaDoc(-1));
211         compMinSize.put("Form", new Dimension JavaDoc(176, 247));
212         {
213             String JavaDoc[] compIds = new String JavaDoc[] {
214                 "Form"
215                 };
216             Rectangle JavaDoc[] bounds = new Rectangle JavaDoc[] {
217                 new Rectangle JavaDoc(0, 0, 400, 247)
218                 };
219             Point JavaDoc hotspot = new Point JavaDoc(148,249);
220             int[] resizeEdges = new int[] {
221                 -1,
222                     1
223                 };
224             boolean inLayout = false;
225             ld.startResizing(compIds, bounds, hotspot, resizeEdges, inLayout);
226         }
227         // < START RESIZING
228
// > MOVE
229
{
230             Point JavaDoc p = new Point JavaDoc(149,329);
231             String JavaDoc containerId = null;
232             boolean autoPositioning = true;
233             boolean lockDimension = false;
234             Rectangle JavaDoc[] bounds = new Rectangle JavaDoc[] {
235                 new Rectangle JavaDoc(0, 0, 400, 327)
236                 };
237             ld.move(p, containerId, autoPositioning, lockDimension, bounds);
238         }
239         // < MOVE
240
// > MOVE
241
{
242             Point JavaDoc p = new Point JavaDoc(150,329);
243             String JavaDoc containerId = null;
244             boolean autoPositioning = true;
245             boolean lockDimension = false;
246             Rectangle JavaDoc[] bounds = new Rectangle JavaDoc[] {
247                 new Rectangle JavaDoc(0, 0, 400, 327)
248                 };
249             ld.move(p, containerId, autoPositioning, lockDimension, bounds);
250         }
251         // < MOVE
252
// > END MOVING
253
contInterior.put("Form", new Rectangle JavaDoc(0, 0, 400, 327));
254         compBounds.put("jScrollPane1", new Rectangle JavaDoc(10, 40, 380, 196));
255         baselinePosition.put("jScrollPane1-380-196", new Integer JavaDoc(0));
256         compPrefSize.put("jScrollPane1", new Dimension JavaDoc(104, 64));
257         compBounds.put("jButton1", new Rectangle JavaDoc(10, 11, 75, 23));
258         baselinePosition.put("jButton1-75-23", new Integer JavaDoc(15));
259         compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
260         compBounds.put("jButton2", new Rectangle JavaDoc(91, 11, 75, 23));
261         baselinePosition.put("jButton2-75-23", new Integer JavaDoc(15));
262         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
263         prefPadding.put("jButton1-jButton2-0-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
264
prefPaddingInParent.put("Form-jScrollPane1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
265
prefPaddingInParent.put("Form-jButton1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
266
prefPaddingInParent.put("Form-jScrollPane1-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
267
prefPaddingInParent.put("Form-jButton2-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
268
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
269
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
270
compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
271         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
272         prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
273
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
274
prefPaddingInParent.put("Form-jScrollPane1-1-1", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
275
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
276
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
277
prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
278
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
279
ld.endMoving(true);
280         // < END MOVING
281
ld.externalSizeChangeHappened();
282         // > UPDATE CURRENT STATE
283
contInterior.put("Form", new Rectangle JavaDoc(0, 0, 400, 327));
284         compBounds.put("jScrollPane1", new Rectangle JavaDoc(10, 40, 380, 196));
285         baselinePosition.put("jScrollPane1-380-196", new Integer JavaDoc(0));
286         compPrefSize.put("jScrollPane1", new Dimension JavaDoc(104, 64));
287         compBounds.put("jButton1", new Rectangle JavaDoc(10, 11, 75, 23));
288         baselinePosition.put("jButton1-75-23", new Integer JavaDoc(15));
289         compPrefSize.put("jButton1", new Dimension JavaDoc(75, 23));
290         compBounds.put("jButton2", new Rectangle JavaDoc(91, 11, 75, 23));
291         baselinePosition.put("jButton2-75-23", new Integer JavaDoc(15));
292         compPrefSize.put("jButton2", new Dimension JavaDoc(75, 23));
293         prefPadding.put("jButton1-jButton2-0-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
294
prefPaddingInParent.put("Form-jScrollPane1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
295
prefPaddingInParent.put("Form-jButton1-0-0", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
296
prefPaddingInParent.put("Form-jScrollPane1-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
297
prefPaddingInParent.put("Form-jButton2-0-1", new Integer JavaDoc(10)); // parentId-compId-dimension-compAlignment
298
prefPaddingInParent.put("Form-jButton1-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
299
prefPaddingInParent.put("Form-jButton2-1-0", new Integer JavaDoc(11)); // parentId-compId-dimension-compAlignment
300
prefPadding.put("jButton1-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
301
prefPadding.put("jButton2-jScrollPane1-1-0-0", new Integer JavaDoc(6)); // comp1Id-comp2Id-dimension-comp2Alignment-paddingType
302
ld.updateCurrentState();
303         // < UPDATE CURRENT STATE
304
}
305     
306 }
307
Popular Tags