nutella_framework 0.4.23 → 0.4.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/framework_components/monitoring-bot/monitoring-bot.rb +11 -2
- data/framework_components/monitoring-interface/.gitignore +2 -0
- data/framework_components/monitoring-interface/README.md +1 -0
- data/framework_components/monitoring-interface/bower.json +29 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/.bower.json +23 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/bower.json +14 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/mqttws31.js +2081 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/readme.md +4 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/.bower.json +37 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/LICENSE +21 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/README.md +15 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/bower.json +28 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/browser/mqtt_client_hello_world.html +23 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/browser/nutella_hello_world.html +52 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/node/mqtt_client_hello_world.js +14 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/node/nutella_hello_world.js +38 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/nutella_lib.js +789 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/package.json +30 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface.html +215 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/animations.js +27 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/application-view-controller.js +232 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/applications-model.js +61 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/bootstrap.min.js +7 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/cursor.css +7 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/d3.v3.min.js +5 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/graphics.js +156 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/grid-layout.js +103 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/highlight.min.js +2 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/instance-view-controller.js +104 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/jquery-1.10.0.min.js +6 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/notification-center.js +63 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/notifications.js +14 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/page.css +33 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/radial-layout.js +175 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/tab-table.js +8 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-application.css +0 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-application.js +320 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-connection-view.css +10 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-connection-view.js +426 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-element.js +205 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-notification.js +94 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-tab.js +229 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/underscore-min.js +5 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/view-controller.js +68 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/window-view-controller.js +169 -0
- data/framework_components/monitoring-interface/css/alerts.css +3 -0
- data/framework_components/monitoring-interface/css/bootstrap.min.css +5 -0
- data/framework_components/monitoring-interface/css/cursor.css +7 -0
- data/framework_components/monitoring-interface/css/highlight.default.min.css +1 -0
- data/framework_components/monitoring-interface/css/page.css +41 -0
- data/framework_components/monitoring-interface/css/ui-application.css +0 -0
- data/framework_components/monitoring-interface/css/ui-connection-view.css +10 -0
- data/framework_components/monitoring-interface/css/ui-legend-view.css +7 -0
- data/framework_components/monitoring-interface/data/alert.json +8 -0
- data/framework_components/monitoring-interface/data/data.json +2118 -0
- data/framework_components/monitoring-interface/data/data2.json +814 -0
- data/framework_components/monitoring-interface/data/data3.json +823 -0
- data/framework_components/monitoring-interface/data/data4.json +848 -0
- data/framework_components/monitoring-interface/data/message.json +999 -0
- data/framework_components/monitoring-interface/gulpfile.js +29 -0
- data/framework_components/monitoring-interface/img/arrow_white.svg +120 -0
- data/framework_components/monitoring-interface/img/arrow_white_right.svg +104 -0
- data/framework_components/monitoring-interface/img/back.svg +164 -0
- data/framework_components/monitoring-interface/img/cross_red_border_white.svg +143 -0
- data/framework_components/monitoring-interface/img/cross_red_border_white_mouseover.svg +143 -0
- data/framework_components/monitoring-interface/img/email.svg +89 -0
- data/framework_components/monitoring-interface/img/email_highlighted.svg +89 -0
- data/framework_components/monitoring-interface/index.html +144 -0
- data/framework_components/monitoring-interface/js/d3/layout/grid-layout.js +103 -0
- data/framework_components/monitoring-interface/js/d3/layout/radial-layout.js +184 -0
- data/framework_components/monitoring-interface/js/d3/plugin/graphics.js +156 -0
- data/framework_components/monitoring-interface/js/d3/plugin/tab-table.js +8 -0
- data/framework_components/monitoring-interface/js/d3/ui/animations.js +27 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-application.js +471 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-connection-view.js +847 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-element.js +245 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-legend.js +174 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-notification.js +90 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-tab.js +309 -0
- data/framework_components/monitoring-interface/js/lib/JSXTransformer-0.12.2.js +15199 -0
- data/framework_components/monitoring-interface/js/lib/bootstrap.min.js +7 -0
- data/framework_components/monitoring-interface/js/lib/d3.v3.min.js +5 -0
- data/framework_components/monitoring-interface/js/lib/highlight.min.js +2 -0
- data/framework_components/monitoring-interface/js/lib/jquery-1.10.0.min.js +6 -0
- data/framework_components/monitoring-interface/js/lib/nutella_lib.js +5121 -0
- data/framework_components/monitoring-interface/js/lib/react-with-addons-0.12.2.js +19822 -0
- data/framework_components/monitoring-interface/js/lib/underscore-min.js +5 -0
- data/framework_components/monitoring-interface/js/model/alerts-model.js +74 -0
- data/framework_components/monitoring-interface/js/model/applications-model.js +78 -0
- data/framework_components/monitoring-interface/js/model/messages-model.js +112 -0
- data/framework_components/monitoring-interface/js/notification/notification-center.js +63 -0
- data/framework_components/monitoring-interface/js/notification/notifications.js +21 -0
- data/framework_components/monitoring-interface/js/react/dist/ui-alerts.js +178 -0
- data/framework_components/monitoring-interface/js/react/dist/ui-message-send.js +389 -0
- data/framework_components/monitoring-interface/js/react/dist/ui-messages.js +103 -0
- data/framework_components/monitoring-interface/js/react/src/ui-alerts.js +178 -0
- data/framework_components/monitoring-interface/js/react/src/ui-message-send.js +389 -0
- data/framework_components/monitoring-interface/js/react/src/ui-messages.js +103 -0
- data/framework_components/monitoring-interface/js/view-controller/application-view-controller.js +256 -0
- data/framework_components/monitoring-interface/js/view-controller/instance-view-controller.js +112 -0
- data/framework_components/monitoring-interface/js/view-controller/view-controller.js +74 -0
- data/framework_components/monitoring-interface/js/view-controller/window-view-controller.js +169 -0
- data/framework_components/monitoring-interface/nutella.json +6 -0
- data/framework_components/order.json +1 -0
- data/framework_components/roomcast-bot/roomcast_bot.rb +139 -117
- data/framework_components/roomcast-channel-creator/dist/app.js +9 -7
- data/framework_components/roomcast-channel-creator/index.html +1 -1
- data/framework_components/roomcast-channel-creator/src/app/components/main.js +8 -6
- data/framework_components/roomcast-package-creator/dist/app.js +4 -4
- data/framework_components/roomcast-package-creator/index.html +1 -1
- data/framework_components/roomcast-package-creator/package.json +3 -3
- data/framework_components/roomcast-package-creator/src/app/components/ConfigurationsPanel.js +2 -2
- data/framework_components/roomcast-package-creator/src/app/components/PoolRow.js +1 -1
- data/framework_components/roomcast-teacher-controls/.gitignore +2 -0
- data/framework_components/roomcast-teacher-controls/README.md +9 -0
- data/framework_components/roomcast-teacher-controls/dist/app.js +38327 -0
- data/framework_components/roomcast-teacher-controls/dist/main.css +3052 -0
- data/framework_components/roomcast-teacher-controls/dist/nutella_lib.js +5121 -0
- data/framework_components/roomcast-teacher-controls/gulp/config.js +51 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/browserify.js +77 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/build.js +3 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/css.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/default.js +3 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/fonts.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/less.js +16 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/mui-fonts.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/nutella.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/setWatch.js +5 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/svgs.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/watch.js +12 -0
- data/framework_components/roomcast-teacher-controls/gulp/util/bundleLogger.js +21 -0
- data/framework_components/roomcast-teacher-controls/gulp/util/handleErrors.js +15 -0
- data/framework_components/roomcast-teacher-controls/gulpfile.js +16 -0
- data/framework_components/roomcast-teacher-controls/index.html +51 -0
- data/framework_components/roomcast-teacher-controls/nutella.json +6 -0
- data/framework_components/roomcast-teacher-controls/package.json +38 -0
- data/framework_components/roomcast-teacher-controls/src/app/app.js +22 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/ActivitiesGrid.js +87 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/ActivityCard.js +141 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/Channel.js +70 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/Footer.js +34 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/main.js +74 -0
- data/framework_components/roomcast-teacher-controls/src/less/main.less +186 -0
- data/framework_components/roomcast-teacher-controls/src/less/my_overrides.less +14 -0
- data/lib/commands/meta/run_command.rb +11 -9
- metadata +135 -2
@@ -0,0 +1,37 @@
|
|
1
|
+
{
|
2
|
+
"name": "nutella_lib",
|
3
|
+
"main": "nutella_lib.js",
|
4
|
+
"version": "0.3.0",
|
5
|
+
"authors": [
|
6
|
+
"Alessandro Gnoli <tebemis@gmail.com>"
|
7
|
+
],
|
8
|
+
"description": "Nutella library for JavaScript",
|
9
|
+
"moduleType": [
|
10
|
+
"node"
|
11
|
+
],
|
12
|
+
"keywords": [
|
13
|
+
"nutella",
|
14
|
+
"framework"
|
15
|
+
],
|
16
|
+
"license": "MIT",
|
17
|
+
"homepage": "https://github.com/nutella-framework/nutella_lib.js",
|
18
|
+
"ignore": [
|
19
|
+
"**/.*",
|
20
|
+
"node_modules",
|
21
|
+
"bower_components",
|
22
|
+
"test",
|
23
|
+
"tests"
|
24
|
+
],
|
25
|
+
"dependencies": {
|
26
|
+
"bower-mqttws": "=1.0.0"
|
27
|
+
},
|
28
|
+
"_release": "0.3.0",
|
29
|
+
"_resolution": {
|
30
|
+
"type": "version",
|
31
|
+
"tag": "v0.3.0",
|
32
|
+
"commit": "f4e4c045b460b31835f122a8422c78ba4b2a32d8"
|
33
|
+
},
|
34
|
+
"_source": "git://github.com/nutella-framework/nutella_lib.js.git",
|
35
|
+
"_target": "~0.3.0",
|
36
|
+
"_originalSource": "nutella_lib"
|
37
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2014 by The Board of Trustees of the University of Illinois at Chicago
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
@@ -0,0 +1,15 @@
|
|
1
|
+
[](https://travis-ci.org/nutella-framework/nutella_lib.js)
|
2
|
+
|
3
|
+
# nutella library for node.js and the browser
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
On node.js do
|
7
|
+
```
|
8
|
+
npm install nutella_lib
|
9
|
+
```
|
10
|
+
|
11
|
+
On the browser using Bower do
|
12
|
+
```
|
13
|
+
bower install nutella_lib
|
14
|
+
```
|
15
|
+
Make sure to include all the dependencies, see examples folder.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"name": "nutella_lib",
|
3
|
+
"main": "nutella_lib.js",
|
4
|
+
"version": "0.3.0",
|
5
|
+
"authors": [
|
6
|
+
"Alessandro Gnoli <tebemis@gmail.com>"
|
7
|
+
],
|
8
|
+
"description": "Nutella library for JavaScript",
|
9
|
+
"moduleType": [
|
10
|
+
"node"
|
11
|
+
],
|
12
|
+
"keywords": [
|
13
|
+
"nutella",
|
14
|
+
"framework"
|
15
|
+
],
|
16
|
+
"license": "MIT",
|
17
|
+
"homepage": "https://github.com/nutella-framework/nutella_lib.js",
|
18
|
+
"ignore": [
|
19
|
+
"**/.*",
|
20
|
+
"node_modules",
|
21
|
+
"bower_components",
|
22
|
+
"test",
|
23
|
+
"tests"
|
24
|
+
],
|
25
|
+
"dependencies": {
|
26
|
+
"bower-mqttws": "=1.0.0"
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head lang="en">
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title>Simple MQTT client hello</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
|
9
|
+
<script src="bower_components/bower-mqttws/mqttws31.js"></script>
|
10
|
+
<script src="../../simple-js-mqtt-client.js"></script>
|
11
|
+
<script>
|
12
|
+
var client = MQTT.connect('ltg.evl.uic.edu');
|
13
|
+
client.subscribe('demo1', function(message){
|
14
|
+
console.log("First subscription: " + message);
|
15
|
+
});
|
16
|
+
var sscb = function(message){
|
17
|
+
console.log("Second subscription: " + message);
|
18
|
+
client.unsubscribe('demo1', sscb);
|
19
|
+
};
|
20
|
+
client.subscribe('demo1', sscb);
|
21
|
+
</script>
|
22
|
+
</body>
|
23
|
+
</html>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head lang="en">
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title>Nutella hello world</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
|
9
|
+
<script src="bower_components/bower-mqttws/mqttws31.js"></script>
|
10
|
+
<script src="../../nutella_lib.js"></script>
|
11
|
+
<script>
|
12
|
+
|
13
|
+
// // Initialize nutella
|
14
|
+
// var nutella = NUTELLA.init('my_run_id', 'ltg.evl.uic.edu', 'demo_browser_interface');
|
15
|
+
|
16
|
+
// // Subscribe to a channel
|
17
|
+
// nutella.net.subscribe("demo1", function(message, c_id, r_id) {
|
18
|
+
// console.log('Received "' + JSON.stringify(message) + '" from ' + c_id + '/' + r_id);
|
19
|
+
// nutella.net.unsubscribe('demo1');
|
20
|
+
// });
|
21
|
+
|
22
|
+
// // Wildcard subscribe
|
23
|
+
// nutella.net.subscribe("demo2/#", function(message, channel, c_id, r_id) {
|
24
|
+
// console.log('Received "' + JSON.stringify(message) + '" on channel ' + channel + ' from ' + c_id + '/' + r_id);
|
25
|
+
// });
|
26
|
+
|
27
|
+
// // Publish some stuff
|
28
|
+
// nutella.net.publish('demo1');
|
29
|
+
// nutella.net.publish('demo1', 'just a string');
|
30
|
+
// nutella.net.publish('demo1', {a: 'proper', key: 'value'});
|
31
|
+
// nutella.setResourceId('a_particular_resource');
|
32
|
+
// nutella.net.publish('demo1');
|
33
|
+
// nutella.net.publish('demo1', 'just a string');
|
34
|
+
// nutella.net.publish('demo1', {a: 'proper', key: 'value'});
|
35
|
+
|
36
|
+
// // Handle requests
|
37
|
+
// nutella.net.handle_requests('demo1', function(message, component_id, resource_id) {
|
38
|
+
// return 'this is the returned value';
|
39
|
+
// });
|
40
|
+
//
|
41
|
+
// // Perform a couple requests
|
42
|
+
// nutella.net.request('demo1', function(response) {
|
43
|
+
// console.log("This is the response to empty request (GET)");
|
44
|
+
// });
|
45
|
+
//
|
46
|
+
// nutella.net.request('demo1', 'my_request', function(response) {
|
47
|
+
// console.log("This is the response to non-empty request");
|
48
|
+
// });
|
49
|
+
|
50
|
+
</script>
|
51
|
+
</body>
|
52
|
+
</html>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
var mqtt = require('../../simple-js-mqtt-client');
|
2
|
+
|
3
|
+
var client = mqtt.connect('ltg.evl.uic.edu');
|
4
|
+
|
5
|
+
client.subscribe('demo1', function(message) {
|
6
|
+
console.log("First subscription: " + message);
|
7
|
+
});
|
8
|
+
|
9
|
+
var sscb = function(message){
|
10
|
+
console.log("Second subscription: " + message);
|
11
|
+
client.publish('demo2', "I'm gonna die")
|
12
|
+
client.unsubscribe('demo1', sscb);
|
13
|
+
};
|
14
|
+
client.subscribe('demo1', sscb);
|
@@ -0,0 +1,38 @@
|
|
1
|
+
var NUTELLA = require('../../nutella_lib.js')
|
2
|
+
|
3
|
+
// Initialize nutella
|
4
|
+
//var nutella = NUTELLA.init('my_run_id', 'ltg.evl.uic.edu', 'demo_browser_interface');
|
5
|
+
|
6
|
+
// // Subscribe to a channel
|
7
|
+
// nutella.net.subscribe("demo1", function(message, c_id, r_id) {
|
8
|
+
// console.log('Received "' + JSON.stringify(message) + '" from ' + c_id + '/' + r_id);
|
9
|
+
// nutella.net.unsubscribe('demo1');
|
10
|
+
// });
|
11
|
+
|
12
|
+
// // Wildcard subscribe
|
13
|
+
// nutella.net.subscribe("demo2/#", function(message, channel, c_id, r_id) {
|
14
|
+
// console.log('Received "' + JSON.stringify(message) + '" on channel ' + channel + ' from ' + c_id + '/' + r_id);
|
15
|
+
// });
|
16
|
+
|
17
|
+
// // Publish some stuff
|
18
|
+
// nutella.net.publish('demo1');
|
19
|
+
// nutella.net.publish('demo1', 'just a string');
|
20
|
+
// nutella.net.publish('demo1', {a: 'proper', key: 'value'});
|
21
|
+
// nutella.setResourceId('a_particular_resource');
|
22
|
+
// nutella.net.publish('demo1');
|
23
|
+
// nutella.net.publish('demo1', 'just a string');
|
24
|
+
// nutella.net.publish('demo1', {a: 'proper', key: 'value'});
|
25
|
+
|
26
|
+
// Handle requests
|
27
|
+
//nutella.net.handle_requests('demo1', function(message, component_id, resource_id) {
|
28
|
+
// return 'this is the returned value';
|
29
|
+
//});
|
30
|
+
//
|
31
|
+
//// Perform a couple requests
|
32
|
+
//nutella.net.request('demo1', function(response) {
|
33
|
+
// console.log("This is the response to empty request (GET)");
|
34
|
+
//});
|
35
|
+
//
|
36
|
+
//nutella.net.request('demo1', 'my_request', function(response) {
|
37
|
+
// console.log("This is the response to non-empty request");
|
38
|
+
//});
|