easycoder 250107.1__tar.gz → 250107.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of easycoder might be problematic. Click here for more details.
- {easycoder-250107.1 → easycoder-250107.2}/PKG-INFO +1 -1
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/__init__.py +1 -1
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_graphics.py +15 -6
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_renderer.py +8 -7
- {easycoder-250107.1 → easycoder-250107.2}/scripts/wave.ecg +2 -0
- {easycoder-250107.1 → easycoder-250107.2}/LICENSE +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/README.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/README.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/README.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/boolean.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/empty.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/ends.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/even.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/exists.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/greater.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/hasProperty.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/includes.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/is.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/less.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/list.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/none.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/not.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/numeric.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/object.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/odd.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/starts.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/conditions/string.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/add.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/append.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/assert.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/begin.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/clear.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/close.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/create.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/debug.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/decrement.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/delete.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/divide.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/exit.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/file.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/fork.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/get.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/go.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/gosub.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/if.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/import.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/increment.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/index.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/init.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/input.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/load.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/lock.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/module.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/multiply.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/negate.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/open.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/pop.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/post.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/print.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/push.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/put.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/read.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/release.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/replace.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/return.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/run.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/save.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/script.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/set.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/split.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/stack.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/stop.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/system.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/take.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/toggle.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/truncate.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/unlock.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/variable.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/wait.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/while.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/keywords/write.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/arg.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/args.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/cos.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/datime.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/decode.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/element.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/elements.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/empty.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/encode.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/error.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/files.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/float.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/from.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/hash.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/index.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/integer.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/json.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/keys.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/left.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/length.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/lowercase.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/memory.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/modification.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/modulo.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/newline.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/now.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/position.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/property.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/random.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/right.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/sin.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/stringify.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/tab.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/tan.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/timestamp.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/today.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/trim.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/type.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/uppercase.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/value.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/core/values/weekday.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/README.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/attach.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/close.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/create.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/ellipse.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/image.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/move.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/on.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/rectangle.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/render.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/run.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/set.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/keywords/text.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/values/attribute.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/doc/graphics/values/window.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/README.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_classes.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_compiler.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_condition.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_core.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_handler.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_program.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_screenspec.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_timestamp.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/easycoder/ec_value.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/images/Semoigo Dawn.jpg +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/json/graphics-demo.json +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/plugins/ec_p100.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/plugins/example.py +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/pyproject.toml +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/README.md +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/benchmark.ecs +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/fizzbuzz.ecs +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/graphics-demo.ecg +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/hello.ecs +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/points.ecs +0 -0
- {easycoder-250107.1 → easycoder-250107.2}/scripts/tests.ecs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: easycoder
|
|
3
|
-
Version: 250107.
|
|
3
|
+
Version: 250107.2
|
|
4
4
|
Summary: Rapid scripting in English
|
|
5
5
|
Keywords: compiler,scripting,prototyping,programming,coding,python,low code,hypertalk,computer language,learn to code
|
|
6
6
|
Author-email: Graham Trott <gtanyware@gmail.com>
|
|
@@ -32,12 +32,12 @@ class Graphics(Handler):
|
|
|
32
32
|
targetRecord = self.getVariable(command['name'])
|
|
33
33
|
keyword = targetRecord['keyword']
|
|
34
34
|
id = self.getRuntimeValue(command['id'])
|
|
35
|
-
|
|
36
|
-
if
|
|
35
|
+
uiElement = self.ui.getElement(id)
|
|
36
|
+
if uiElement == None:
|
|
37
37
|
FatalError(self.program.compiler, f'There is no screen element with id \'{id}\'')
|
|
38
38
|
return -1
|
|
39
|
-
if
|
|
40
|
-
etype =
|
|
39
|
+
if uiElement.getType() != keyword:
|
|
40
|
+
etype = uiElement['type']
|
|
41
41
|
FatalError(self.program.compiler, f'Mismatched element type: "{etype}" and "{keyword}"')
|
|
42
42
|
self.putSymbolValue(targetRecord, {'type': 'text', 'content': id})
|
|
43
43
|
return self.nextPC()
|
|
@@ -265,6 +265,7 @@ class Graphics(Handler):
|
|
|
265
265
|
self.ui.moveElementBy(self.getRuntimeValue(command['target']), dist)
|
|
266
266
|
return self.nextPC()
|
|
267
267
|
|
|
268
|
+
# on click/tap {element} {action}
|
|
268
269
|
def k_on(self, command):
|
|
269
270
|
token = self.nextToken()
|
|
270
271
|
if token in ['click', 'tap']:
|
|
@@ -298,14 +299,22 @@ class Graphics(Handler):
|
|
|
298
299
|
return True
|
|
299
300
|
return False
|
|
300
301
|
|
|
302
|
+
# Set a handler on every element
|
|
301
303
|
def r_on(self, command):
|
|
302
304
|
pc = command['goto']
|
|
303
305
|
if command['type'] == 'tap':
|
|
304
306
|
record = self.getVariable(command['target'])
|
|
307
|
+
def oncb(data):
|
|
308
|
+
record['index'] = data.index
|
|
309
|
+
self.run(data.pc)
|
|
305
310
|
keyword = record['keyword']
|
|
306
311
|
if self.isGraphicType(keyword):
|
|
307
|
-
|
|
308
|
-
|
|
312
|
+
for index in range(0, record['elements']):
|
|
313
|
+
id = record['value'][index]['content']
|
|
314
|
+
data = Object()
|
|
315
|
+
data.pc = pc
|
|
316
|
+
data.index = index
|
|
317
|
+
self.ui.setOnClick(id, data, oncb)
|
|
309
318
|
else:
|
|
310
319
|
name = record['name']
|
|
311
320
|
RuntimeError(self.program, f'{name} is not a clickable object')
|
|
@@ -35,6 +35,7 @@ class Element():
|
|
|
35
35
|
def __init__(self, type, spec):
|
|
36
36
|
self.type = type
|
|
37
37
|
self.spec = spec
|
|
38
|
+
self.actionCB = None
|
|
38
39
|
|
|
39
40
|
def getRelativePosition(self):
|
|
40
41
|
spec = self.spec
|
|
@@ -146,11 +147,9 @@ class UI(Widget):
|
|
|
146
147
|
x = tp[0]
|
|
147
148
|
y = tp[1]
|
|
148
149
|
for element in reversed(self.zlist):
|
|
149
|
-
if element.
|
|
150
|
+
if element.actionCB != None:
|
|
150
151
|
spec = element.spec
|
|
151
152
|
pos = spec.realpos
|
|
152
|
-
# if spec.parent != None:
|
|
153
|
-
# pos = Vector(pos) + spec.parent.spec.getPos()
|
|
154
153
|
size = element.getSize()
|
|
155
154
|
if spec.type == 'ellipse':
|
|
156
155
|
a = int(size[0])/2
|
|
@@ -159,15 +158,17 @@ class UI(Widget):
|
|
|
159
158
|
h = ctr[0]
|
|
160
159
|
k = ctr[1]
|
|
161
160
|
if (math.pow((x - h), 2) / math.pow(a, 2)) + (math.pow((y - k), 2) / math.pow(b, 2)) <= 1:
|
|
162
|
-
element.
|
|
161
|
+
element.actionCB(element.data)
|
|
163
162
|
break
|
|
164
163
|
elif spec.type in ['rectangle', 'text', 'image']:
|
|
165
164
|
if tp[0] >= pos[0] and tp[0] < pos[0] + size[0] and tp[1] >= pos[1] and tp[1] < pos[1] + size[1]:
|
|
166
|
-
element.
|
|
165
|
+
element.actionCB(element.data)
|
|
167
166
|
break
|
|
168
167
|
|
|
169
|
-
def setOnClick(self, id, callback):
|
|
170
|
-
self.getElement(id)
|
|
168
|
+
def setOnClick(self, id, data, callback):
|
|
169
|
+
element = self.getElement(id)
|
|
170
|
+
element.data = data
|
|
171
|
+
element.actionCB = callback
|
|
171
172
|
|
|
172
173
|
def getWindowAttribute(self, attribute):
|
|
173
174
|
if attribute == 'left':
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|