summaryrefslogtreecommitdiff
path: root/src/lib/ecore
diff options
context:
space:
mode:
authorMyoungwoon Roy, Kim <myoungwoon.kim@samsung.com>2017-06-07 13:01:13 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2017-06-07 13:01:13 +0900
commit802b547310fc5f43d825cd3cbeb898ba056a90f6 (patch)
treebdb6075a6be63b35e981dff45a3198bbd5409d5e /src/lib/ecore
parent30b8c1ce82c91cc9624fa76d197f3c015cba438b (diff)
docs: Fix typos and some wrong expressions in Ecore, Ecore_Audio, Ecore_Cocoa, Ecore_Con, and Ector API reference doxygen.
Summary: I had fixed some typos and wrong expressions, such as capital letters, $simbols in .eo and singulars in Ecore, Ecore_Audio, Ecore_Cocoa, Ecore_Con, and Ector API reference doxygen. Test Plan: Doxygen Revision Reviewers: Jaehyun_Cho, stefan, jpeg, cedric, raster Reviewed By: Jaehyun_Cho Differential Revision: https://phab.enlightenment.org/D4943
Diffstat (limited to 'src/lib/ecore')
-rw-r--r--src/lib/ecore/ecore_exe.eo2
-rw-r--r--src/lib/ecore/efl_io_buffered_stream.eo20
-rw-r--r--src/lib/ecore/efl_io_copier.eo6
-rw-r--r--src/lib/ecore/efl_io_positioner_fd.eo2
-rw-r--r--src/lib/ecore/efl_io_reader_fd.eo2
-rw-r--r--src/lib/ecore/efl_io_sizer_fd.eo2
-rw-r--r--src/lib/ecore/efl_io_writer_fd.eo2
-rw-r--r--src/lib/ecore/efl_loop_fd.eo8
-rw-r--r--src/lib/ecore/efl_loop_timer.eo4
-rw-r--r--src/lib/ecore/efl_loop_user.eo2
-rw-r--r--src/lib/ecore/efl_model_composite_boolean.eo2
-rw-r--r--src/lib/ecore/efl_model_container.eo6
-rw-r--r--src/lib/ecore/efl_model_container_item.eo4
-rw-r--r--src/lib/ecore/efl_promise.eo12
14 files changed, 37 insertions, 37 deletions
diff --git a/src/lib/ecore/ecore_exe.eo b/src/lib/ecore/ecore_exe.eo
index 8ceed2027e..78a1da9e03 100644
--- a/src/lib/ecore/ecore_exe.eo
+++ b/src/lib/ecore/ecore_exe.eo
@@ -51,7 +51,7 @@ class Ecore.Exe (Efl.Object, Efl.Control)
51 event_prefix: ecore_exe; 51 event_prefix: ecore_exe;
52 methods { 52 methods {
53 @property command { 53 @property command {
54 [[Control the command that's executed. FIXME: May need a split/rename.]] 54 [[Controls the command that's executed. FIXME: May need a split/rename.]]
55 set { 55 set {
56 legacy: null; 56 legacy: null;
57 } 57 }
diff --git a/src/lib/ecore/efl_io_buffered_stream.eo b/src/lib/ecore/efl_io_buffered_stream.eo
index 951e7835ae..5ae8085ad4 100644
--- a/src/lib/ecore/efl_io_buffered_stream.eo
+++ b/src/lib/ecore/efl_io_buffered_stream.eo
@@ -50,7 +50,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
50 } 50 }
51 51
52 @property max_queue_size_input { 52 @property max_queue_size_input {
53 [[Limit how big the input queue can grow, in bytes. 53 [[Limits how big the input queue can grow, in bytes.
54 54
55 If limited and @.line_delimiter is set, "line" events 55 If limited and @.line_delimiter is set, "line" events
56 may be emitted with partial contents, without the 56 may be emitted with partial contents, without the
@@ -66,7 +66,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
66 } 66 }
67 67
68 @property max_queue_size_output { 68 @property max_queue_size_output {
69 [[Limit how big the output queue can grow, in bytes. 69 [[Limits how big the output queue can grow, in bytes.
70 70
71 71
72 If limited, @Efl.Io.Writer.write will take less data than requested! 72 If limited, @Efl.Io.Writer.write will take less data than requested!
@@ -84,7 +84,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
84 [[If set, incoming data will be checked for the delimiter and "line" events are The line may include the delimiter, unless it's end-of-stream on @.max_queue_size_input was reached.]] 84 [[If set, incoming data will be checked for the delimiter and "line" events are The line may include the delimiter, unless it's end-of-stream on @.max_queue_size_input was reached.]]
85 get { } 85 get { }
86 set { 86 set {
87 [[Change line delimiter to use. If empty, no delimiter is to be used]] 87 [[Changes line delimiter to use. If empty, no delimiter is to be used]]
88 } 88 }
89 values { 89 values {
90 // TODO: eolian generates wrong type for getter with const(Eina.Slice) 90 // TODO: eolian generates wrong type for getter with const(Eina.Slice)
@@ -108,7 +108,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
108 } 108 }
109 109
110 @property read_chunk_size { 110 @property read_chunk_size {
111 [[Read chunk size property, in bytes. 111 [[Reads chunk size property, in bytes.
112 112
113 When reading the @.inner_io for data to be placed in 113 When reading the @.inner_io for data to be placed in
114 input queue, use this as chunk size. 114 input queue, use this as chunk size.
@@ -124,7 +124,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
124 get { 124 get {
125 } 125 }
126 set { 126 set {
127 [[Set chunk size for each basic @Efl.Io.Reader.read operation.]] 127 [[Sets chunk size for each basic @Efl.Io.Reader.read operation.]]
128 } 128 }
129 values { 129 values {
130 size: size; [[This is the chunk size to use for read operations]] 130 size: size; [[This is the chunk size to use for read operations]]
@@ -157,7 +157,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
157 } 157 }
158 158
159 @property slice { 159 @property slice {
160 [[Get a temporary access to input queue's internal read memory. 160 [[Gets a temporary access to input queue's internal read memory.
161 161
162 The memory pointed by slice may be changed by other 162 The memory pointed by slice may be changed by other
163 methods of this class. The event "slice,changed" will be 163 methods of this class. The event "slice,changed" will be
@@ -170,7 +170,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
170 } 170 }
171 171
172 discard { 172 discard {
173 [[Discard the given number of bytes. 173 [[Discards the given number of bytes.
174 174
175 This has the same effect as reading and discarding the 175 This has the same effect as reading and discarding the
176 given amount of bytes, without executing the actual 176 given amount of bytes, without executing the actual
@@ -194,7 +194,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
194 } 194 }
195 195
196 clear { 196 clear {
197 [[Clear the incoming queue. Same as reading all data. 197 [[Clears the incoming queue. Same as reading all data.
198 198
199 This is equivalent as calling @.discard with @.pending_read 199 This is equivalent as calling @.discard with @.pending_read
200 amount of bytes. 200 amount of bytes.
@@ -202,7 +202,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
202 } 202 }
203 203
204 eos_mark { 204 eos_mark {
205 [[Mark this end-of-stream, signals nothing else will be written. 205 [[Marks this end-of-stream, signals nothing else will be written.
206 206
207 That will forbid any further writes. 207 That will forbid any further writes.
208 208
@@ -230,7 +230,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, Efl.I
230 ]] 230 ]]
231 params { 231 params {
232 may_block: bool; [[If $true, then @Efl.Io.Reader.can_read and @Efl.Io.Writer.can_write are not checked and the call may block.]] 232 may_block: bool; [[If $true, then @Efl.Io.Reader.can_read and @Efl.Io.Writer.can_write are not checked and the call may block.]]
233 ignore_line_delimiter: bool; [[Force flush ignoring line delimiters]] 233 ignore_line_delimiter: bool; [[Forces flush ignoring line delimiters]]
234 } 234 }
235 return: bool(true); [[$true if all data was sent, $false otherwise]] 235 return: bool(true); [[$true if all data was sent, $false otherwise]]
236 } 236 }
diff --git a/src/lib/ecore/efl_io_copier.eo b/src/lib/ecore/efl_io_copier.eo
index ea741fa472..b93e1097f4 100644
--- a/src/lib/ecore/efl_io_copier.eo
+++ b/src/lib/ecore/efl_io_copier.eo
@@ -189,7 +189,7 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
189 [[If there is a line delimiter, the reads will buffer/queue up to the line delimiter before calling @Efl.Io.Writer.write on the @.destination and the event line is emitted with current line. The line may include the delimiter, unless it's end-of-stream on @.source or @.buffer_limit was reached.]] 189 [[If there is a line delimiter, the reads will buffer/queue up to the line delimiter before calling @Efl.Io.Writer.write on the @.destination and the event line is emitted with current line. The line may include the delimiter, unless it's end-of-stream on @.source or @.buffer_limit was reached.]]
190 get { } 190 get { }
191 set { 191 set {
192 [[Change line delimiter to use. If empty, no delimiter is to be used]] 192 [[Changes line delimiter to use. If empty, no delimiter is to be used]]
193 } 193 }
194 values { 194 values {
195 // TODO: eolian generates wrong type for getter with const(Eina.Slice) 195 // TODO: eolian generates wrong type for getter with const(Eina.Slice)
@@ -272,7 +272,7 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
272 } 272 }
273 273
274 @property timeout_inactivity { 274 @property timeout_inactivity {
275 [[Terminate the copier with ETIMEDOUT if it becomes inactive for some time. 275 [[Terminates the copier with ETIMEDOUT if it becomes inactive for some time.
276 276
277 If the copier cannot do any read or write in the given 277 If the copier cannot do any read or write in the given
278 amount of seconds, then the copier will emit "error" 278 amount of seconds, then the copier will emit "error"
@@ -355,7 +355,7 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
355 ]] 355 ]]
356 params { 356 params {
357 may_block: bool; [[If $true, then @Efl.Io.Reader.can_read and @Efl.Io.Writer.can_write are not checked and the call may block.]] 357 may_block: bool; [[If $true, then @Efl.Io.Reader.can_read and @Efl.Io.Writer.can_write are not checked and the call may block.]]
358 ignore_line_delimiter: bool; [[Force flush ignoring line delimiters]] 358 ignore_line_delimiter: bool; [[Forces flush ignoring line delimiters]]
359 } 359 }
360 return: bool(true); [[$true on success, $false otherwise]] 360 return: bool(true); [[$true on success, $false otherwise]]
361 } 361 }
diff --git a/src/lib/ecore/efl_io_positioner_fd.eo b/src/lib/ecore/efl_io_positioner_fd.eo
index 5744cb0d06..f6da1895ad 100644
--- a/src/lib/ecore/efl_io_positioner_fd.eo
+++ b/src/lib/ecore/efl_io_positioner_fd.eo
@@ -1,5 +1,5 @@
1mixin Efl.Io.Positioner.Fd (Efl.Io.Positioner) { 1mixin Efl.Io.Positioner.Fd (Efl.Io.Positioner) {
2 [[Position fd using lseek(2). 2 [[Positions fd using lseek(2).
3 3
4 @since 1.19 4 @since 1.19
5 ]] 5 ]]
diff --git a/src/lib/ecore/efl_io_reader_fd.eo b/src/lib/ecore/efl_io_reader_fd.eo
index 74849ba2b5..fe0a74c118 100644
--- a/src/lib/ecore/efl_io_reader_fd.eo
+++ b/src/lib/ecore/efl_io_reader_fd.eo
@@ -1,5 +1,5 @@
1mixin Efl.Io.Reader.Fd (Efl.Io.Reader) { 1mixin Efl.Io.Reader.Fd (Efl.Io.Reader) {
2 [[Read fd using read(2). 2 [[Reads fd using read(2).
3 3
4 @since 1.19 4 @since 1.19
5 ]] 5 ]]
diff --git a/src/lib/ecore/efl_io_sizer_fd.eo b/src/lib/ecore/efl_io_sizer_fd.eo
index 7fa179d4f8..243d332a19 100644
--- a/src/lib/ecore/efl_io_sizer_fd.eo
+++ b/src/lib/ecore/efl_io_sizer_fd.eo
@@ -1,5 +1,5 @@
1mixin Efl.Io.Sizer.Fd (Efl.Io.Sizer) { 1mixin Efl.Io.Sizer.Fd (Efl.Io.Sizer) {
2 [[Resize fd usign ftruncate(2). 2 [[Resizes fd usign ftruncate(2).
3 3
4 @since 1.19 4 @since 1.19
5 ]] 5 ]]
diff --git a/src/lib/ecore/efl_io_writer_fd.eo b/src/lib/ecore/efl_io_writer_fd.eo
index 8ecbe73271..2e69d532a5 100644
--- a/src/lib/ecore/efl_io_writer_fd.eo
+++ b/src/lib/ecore/efl_io_writer_fd.eo
@@ -1,5 +1,5 @@
1mixin Efl.Io.Writer.Fd (Efl.Io.Writer) { 1mixin Efl.Io.Writer.Fd (Efl.Io.Writer) {
2 [[Write fd using write(2). 2 [[Writes fd using write(2).
3 3
4 @since 1.19 4 @since 1.19
5 ]] 5 ]]
diff --git a/src/lib/ecore/efl_loop_fd.eo b/src/lib/ecore/efl_loop_fd.eo
index 29eb275783..6fd2eff82b 100644
--- a/src/lib/ecore/efl_loop_fd.eo
+++ b/src/lib/ecore/efl_loop_fd.eo
@@ -11,9 +11,9 @@ class Efl.Loop.Fd (Efl.Loop_User)
11 11
12 methods { 12 methods {
13 @property fd { 13 @property fd {
14 [[Define which file descriptor to watch. If it is a file, use file_fd variant.]] 14 [[Defines which file descriptor to watch. If it is a file, use file_fd variant.]]
15 set { 15 set {
16 [[Define the fd to watch on.]] 16 [[Defines the fd to watch on.]]
17 } 17 }
18 get { 18 get {
19 } 19 }
@@ -22,9 +22,9 @@ class Efl.Loop.Fd (Efl.Loop_User)
22 } 22 }
23 } 23 }
24 @property fd_file { 24 @property fd_file {
25 [[Define which file descriptor to watch when watching a file.]] 25 [[Defines which file descriptor to watch when watching a file.]]
26 set { 26 set {
27 [[Define the fd to watch on.]] 27 [[Defines the fd to watch on.]]
28 } 28 }
29 get { 29 get {
30 } 30 }
diff --git a/src/lib/ecore/efl_loop_timer.eo b/src/lib/ecore/efl_loop_timer.eo
index 61b0fab405..f576663d44 100644
--- a/src/lib/ecore/efl_loop_timer.eo
+++ b/src/lib/ecore/efl_loop_timer.eo
@@ -33,7 +33,7 @@ class Efl.Loop.Timer (Efl.Loop_User)
33 * ecore_timer_delay(timer, ecore_timer_interval_get(timer) - ecore_timer_pending_get(timer)); 33 * ecore_timer_delay(timer, ecore_timer_interval_get(timer) - ecore_timer_pending_get(timer));
34 * @endcode 34 * @endcode
35 */ 35 */
36 [[Reset a timer to its full interval. This effectively makes the 36 [[Resets a timer to its full interval. This effectively makes the
37 timer start ticking off from zero now. 37 timer start ticking off from zero now.
38 38
39 @since 1.2 39 @since 1.2
@@ -45,7 +45,7 @@ class Efl.Loop.Timer (Efl.Loop_User)
45 ]] 45 ]]
46 } 46 }
47 delay { 47 delay {
48 [[Add some delay for the next occurrence of a timer. 48 [[Adds some delay for the next occurrence of a timer.
49 This doesn't affect the interval of a timer. 49 This doesn't affect the interval of a timer.
50 ]] 50 ]]
51 params { 51 params {
diff --git a/src/lib/ecore/efl_loop_user.eo b/src/lib/ecore/efl_loop_user.eo
index 42c987988c..048888bbca 100644
--- a/src/lib/ecore/efl_loop_user.eo
+++ b/src/lib/ecore/efl_loop_user.eo
@@ -8,7 +8,7 @@ class Efl.Loop_User (Efl.Object)
8 @property loop { 8 @property loop {
9 [[The loop to which this object belongs to.]] 9 [[The loop to which this object belongs to.]]
10 get { 10 get {
11 [[Get a handle to the loop.]] 11 [[Gets a handle to the loop.]]
12 } 12 }
13 values { 13 values {
14 loop: Efl.Loop; [[Efl loop]] 14 loop: Efl.Loop; [[Efl loop]]
diff --git a/src/lib/ecore/efl_model_composite_boolean.eo b/src/lib/ecore/efl_model_composite_boolean.eo
index e9b7f7747b..cdca17e998 100644
--- a/src/lib/ecore/efl_model_composite_boolean.eo
+++ b/src/lib/ecore/efl_model_composite_boolean.eo
@@ -13,7 +13,7 @@ class Efl.Model.Composite.Boolean (Efl.Object, Efl.Model)
13 } 13 }
14 } 14 }
15 property_add { 15 property_add {
16 [[Add property]] 16 [[Adds property]]
17 params { 17 params {
18 @in name: string; [[Property name]] 18 @in name: string; [[Property name]]
19 @in initial_value: bool; [[Initial property value $bool]] 19 @in initial_value: bool; [[Initial property value $bool]]
diff --git a/src/lib/ecore/efl_model_container.eo b/src/lib/ecore/efl_model_container.eo
index baee70735d..a3305d4cf8 100644
--- a/src/lib/ecore/efl_model_container.eo
+++ b/src/lib/ecore/efl_model_container.eo
@@ -15,14 +15,14 @@ class Efl.Model.Container (Efl.Object, Efl.Model)
15 ]] 15 ]]
16 methods { 16 methods {
17 child_property_value_type_get { 17 child_property_value_type_get {
18 [[Get the type of the given property.]] 18 [[Gets the type of the given property.]]
19 params { 19 params {
20 name: string; [[Property name]] 20 name: string; [[Property name]]
21 } 21 }
22 return: ptr(const(Eina.Value.Type)); [[Property type]] 22 return: ptr(const(Eina.Value.Type)); [[Property type]]
23 } 23 }
24 child_property_values_get { 24 child_property_values_get {
25 [[Get the values for the given property.]] 25 [[Gets the values for the given property.]]
26 params { 26 params {
27 name: string; [[Property name]] 27 name: string; [[Property name]]
28 } 28 }
@@ -30,7 +30,7 @@ class Efl.Model.Container (Efl.Object, Efl.Model)
30 [[The currently wrapped values]] 30 [[The currently wrapped values]]
31 } 31 }
32 child_property_add { 32 child_property_add {
33 [[Add the given property to child objects and supply the values. 33 [[Adds the given property to child objects and supply the values.
34 34
35 Each item will represent the value of the given property in the 35 Each item will represent the value of the given property in the
36 respective child within the data model. 36 respective child within the data model.
diff --git a/src/lib/ecore/efl_model_container_item.eo b/src/lib/ecore/efl_model_container_item.eo
index 94314357ad..2b881a3f82 100644
--- a/src/lib/ecore/efl_model_container_item.eo
+++ b/src/lib/ecore/efl_model_container_item.eo
@@ -11,7 +11,7 @@ class Efl.Model.Container.Item (Efl.Object, Efl.Model)
11 ]] 11 ]]
12 methods { 12 methods {
13 define { 13 define {
14 [[Define @Efl.Model.Container.Item internal data.]] 14 [[Defines @Efl.Model.Container.Item internal data.]]
15 params { 15 params {
16 parent_data: void_ptr; [[Pointer to the private data of the 16 parent_data: void_ptr; [[Pointer to the private data of the
17 @Efl.Model.Container parent object.]] 17 @Efl.Model.Container parent object.]]
@@ -20,7 +20,7 @@ class Efl.Model.Container.Item (Efl.Object, Efl.Model)
20 } 20 }
21 } 21 }
22 invalidate { 22 invalidate {
23 [[Invalidate the object preventing it from using the given parent 23 [[Invalidates the object preventing it from using the given parent
24 data.]] 24 data.]]
25 } 25 }
26 } 26 }
diff --git a/src/lib/ecore/efl_promise.eo b/src/lib/ecore/efl_promise.eo
index 84cf0cf46c..c68f9e56f0 100644
--- a/src/lib/ecore/efl_promise.eo
+++ b/src/lib/ecore/efl_promise.eo
@@ -5,7 +5,7 @@ class Efl.Promise (Efl.Loop_User)
5 [[Efl promise class]] 5 [[Efl promise class]]
6 methods { 6 methods {
7 progress_set { 7 progress_set {
8 [[Update the progress and send it immediately to all connected Efl_Future. 8 [[Updates the progress and send it immediately to all connected Efl_Future.
9 9
10 The progress is not kept and when the function return it will not be accessed 10 The progress is not kept and when the function return it will not be accessed
11 anymore. The pointer is owned by the caller and will remain so after the return 11 anymore. The pointer is owned by the caller and will remain so after the return
@@ -16,7 +16,7 @@ class Efl.Promise (Efl.Loop_User)
16 } 16 }
17 } 17 }
18 @property future { 18 @property future {
19 [[Request a new future linked to this promise. 19 [[Requests a new future linked to this promise.
20 20
21 Efl_Future are optional and will be automatically deleted if no then callback have 21 Efl_Future are optional and will be automatically deleted if no then callback have
22 been set before the next iteration of the main loop. 22 been set before the next iteration of the main loop.
@@ -25,7 +25,7 @@ class Efl.Promise (Efl.Loop_User)
25 [[The returned new future.]] 25 [[The returned new future.]]
26 } 26 }
27 values { 27 values {
28 f: future<void_ptr, void_ptr>; [[Return a future where the value will be set by calling value_set while the progress will be updated by progress_set.]] 28 f: future<void_ptr, void_ptr>; [[Returns a future where the value will be set by calling value_set while the progress will be updated by progress_set.]]
29 } 29 }
30 } 30 }
31 @property value { 31 @property value {
@@ -43,7 +43,7 @@ class Efl.Promise (Efl.Loop_User)
43 } 43 }
44 } 44 }
45 @property failed { 45 @property failed {
46 [[Define the failure state of this promise.]] 46 [[Defines the failure state of this promise.]]
47 set { 47 set {
48 [[ 48 [[
49 This function can be called only once and you can not call #value.set after that. 49 This function can be called only once and you can not call #value.set after that.
@@ -54,7 +54,7 @@ class Efl.Promise (Efl.Loop_User)
54 } 54 }
55 } 55 }
56 connect { 56 connect {
57 [[Connect a future output to this promise. 57 [[Connects a future output to this promise.
58 58
59 This helper will automatically trigger #value.set or #failed.set when the future 59 This helper will automatically trigger #value.set or #failed.set when the future
60 succeed or fail respectively with the value provided by the future. 60 succeed or fail respectively with the value provided by the future.
@@ -62,7 +62,7 @@ class Efl.Promise (Efl.Loop_User)
62 params { 62 params {
63 @in f: future<void_ptr, void_ptr>; [[The future to connect this promise to.]] 63 @in f: future<void_ptr, void_ptr>; [[The future to connect this promise to.]]
64 } 64 }
65 return: bool; [[Return false if unable to setup the connection.]] 65 return: bool; [[Returns $false if unable to setup the connection.]]
66 } 66 }
67 } 67 }
68 events { 68 events {