bee_api 0.0.5

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.
Files changed (108) hide show
  1. data/bin/bee_api +84 -0
  2. data/lib/mdpreview.rb +80 -0
  3. data/lib/mdpreview/translator.rb +60 -0
  4. data/lib/mdpreview/version.rb +3 -0
  5. data/test/mdptest.rb +100 -0
  6. data/vendor/HISTORY.md +237 -0
  7. data/vendor/Jakefile.js +316 -0
  8. data/vendor/LICENSE +176 -0
  9. data/vendor/NOTICE +17 -0
  10. data/vendor/README.md +102 -0
  11. data/vendor/app/chrome/documentation.txt +12 -0
  12. data/vendor/app/chrome/manifest.json +24 -0
  13. data/vendor/app/web/ajax.js +43 -0
  14. data/vendor/app/web/app.css +292 -0
  15. data/vendor/app/web/app.js +377 -0
  16. data/vendor/app/web/beta/index.html +17 -0
  17. data/vendor/app/web/datapolicy.txt +48 -0
  18. data/vendor/app/web/doc/doc.css +60 -0
  19. data/vendor/app/web/doc/img/actions_menu.png +0 -0
  20. data/vendor/app/web/doc/img/button_actions_menu.png +0 -0
  21. data/vendor/app/web/doc/img/button_dragarea.png +0 -0
  22. data/vendor/app/web/doc/img/jsoneditor.png +0 -0
  23. data/vendor/app/web/doc/img/jsonformatter.png +0 -0
  24. data/vendor/app/web/doc/img/main_menu.png +0 -0
  25. data/vendor/app/web/doc/img/splitter.png +0 -0
  26. data/vendor/app/web/doc/index.html +201 -0
  27. data/vendor/app/web/favicon.ico +0 -0
  28. data/vendor/app/web/fileretriever.css +54 -0
  29. data/vendor/app/web/fileretriever.js +567 -0
  30. data/vendor/app/web/fileretriever.php +120 -0
  31. data/vendor/app/web/googlea47c4a0b36d11021.html +1 -0
  32. data/vendor/app/web/hash.js +133 -0
  33. data/vendor/app/web/img/description.txt +20 -0
  34. data/vendor/app/web/img/header_background.png +0 -0
  35. data/vendor/app/web/img/icon_128.png +0 -0
  36. data/vendor/app/web/img/icon_16.png +0 -0
  37. data/vendor/app/web/img/icon_gray.svg +151 -0
  38. data/vendor/app/web/img/icon_gray_16.svg +150 -0
  39. data/vendor/app/web/img/icon_orange.svg +151 -0
  40. data/vendor/app/web/img/logo.png +0 -0
  41. data/vendor/app/web/img/logo.xcf +0 -0
  42. data/vendor/app/web/img/logo_app.png +0 -0
  43. data/vendor/app/web/img/logo_app.xcf +0 -0
  44. data/vendor/app/web/index.html +191 -0
  45. data/vendor/app/web/notify.js +150 -0
  46. data/vendor/app/web/queryparams.js +71 -0
  47. data/vendor/app/web/robots.txt +0 -0
  48. data/vendor/app/web/splitter.js +179 -0
  49. data/vendor/app/web/test.html +224 -0
  50. data/vendor/component.json +33 -0
  51. data/vendor/docs/api.md +188 -0
  52. data/vendor/docs/usage.md +137 -0
  53. data/vendor/examples/01_basic_usage.html +45 -0
  54. data/vendor/examples/02_viewer.html +38 -0
  55. data/vendor/examples/03_switch_mode.html +98 -0
  56. data/vendor/examples/cur.file +1 -0
  57. data/vendor/examples/jquery.js +2 -0
  58. data/vendor/examples/meta.js +1 -0
  59. data/vendor/examples/requirejs_demo/requirejs_demo.html +19 -0
  60. data/vendor/examples/requirejs_demo/scripts/main.js +25 -0
  61. data/vendor/examples/requirejs_demo/scripts/require.js +35 -0
  62. data/vendor/img/jsoneditor-icons.png +0 -0
  63. data/vendor/jsoneditor-min.css +1 -0
  64. data/vendor/jsoneditor-min.js +34 -0
  65. data/vendor/jsoneditor.css +597 -0
  66. data/vendor/jsoneditor.js +6069 -0
  67. data/vendor/jsoneditor/css/contextmenu.css +219 -0
  68. data/vendor/jsoneditor/css/img/description.txt +13 -0
  69. data/vendor/jsoneditor/css/img/export.sh +16 -0
  70. data/vendor/jsoneditor/css/img/jsoneditor-icons.png +0 -0
  71. data/vendor/jsoneditor/css/img/jsoneditor-icons.svg +861 -0
  72. data/vendor/jsoneditor/css/jsoneditor.css +220 -0
  73. data/vendor/jsoneditor/css/menu.css +81 -0
  74. data/vendor/jsoneditor/css/searchbox.css +73 -0
  75. data/vendor/jsoneditor/js/appendnode.js +211 -0
  76. data/vendor/jsoneditor/js/contextmenu.js +440 -0
  77. data/vendor/jsoneditor/js/header.js +32 -0
  78. data/vendor/jsoneditor/js/highlighter.js +82 -0
  79. data/vendor/jsoneditor/js/history.js +218 -0
  80. data/vendor/jsoneditor/js/jsoneditor.js +206 -0
  81. data/vendor/jsoneditor/js/module.js +50 -0
  82. data/vendor/jsoneditor/js/node.js +2864 -0
  83. data/vendor/jsoneditor/js/searchbox.js +288 -0
  84. data/vendor/jsoneditor/js/texteditor.js +311 -0
  85. data/vendor/jsoneditor/js/treeeditor.js +770 -0
  86. data/vendor/jsoneditor/js/util.js +582 -0
  87. data/vendor/lib/ace/ace.js +11 -0
  88. data/vendor/lib/ace/mode-json.js +1 -0
  89. data/vendor/lib/ace/theme-jsoneditor.js +144 -0
  90. data/vendor/lib/ace/theme-textmate.js +163 -0
  91. data/vendor/lib/ace/worker-json.js +1 -0
  92. data/vendor/lib/jsonlint/README.md +62 -0
  93. data/vendor/lib/jsonlint/jsonlint.js +432 -0
  94. data/vendor/misc/screenshots/actionsmenu_640x400.png +0 -0
  95. data/vendor/misc/screenshots/codeeditor_640x400.png +0 -0
  96. data/vendor/misc/screenshots/description.json +17 -0
  97. data/vendor/misc/screenshots/jsoneditoronline.png +0 -0
  98. data/vendor/misc/screenshots/jsoneditoronline_640x400.png +0 -0
  99. data/vendor/misc/screenshots/search_640x400.png +0 -0
  100. data/vendor/misc/screenshots/small_tile.xcf +0 -0
  101. data/vendor/misc/screenshots/small_tile_440x280.png +0 -0
  102. data/vendor/misc/todo.txt +101 -0
  103. data/vendor/package.json +28 -0
  104. data/vendor/test/couchdbeditor.html +100 -0
  105. data/vendor/test/largefile.json +12605 -0
  106. data/vendor/test/test_ace.html +60 -0
  107. data/vendor/test/test_editable_div.html +449 -0
  108. metadata +154 -0
@@ -0,0 +1,120 @@
1
+ <?php
2
+
3
+ /**
4
+ * Script to load and save JSON files from the Javascript client to disk and url.
5
+ *
6
+ * Usage:
7
+ *
8
+ * POST file.php with a JSON document as body
9
+ * Will store the JSON document on disk and return the id of the document.
10
+ *
11
+ * POST file.php with a JSON document with name "file" as body multipart/form-data
12
+ * Will store the JSON document on disk and return the id of the document.
13
+ *
14
+ * GET file.php?url=....
15
+ * Will fetch the url and return it (resolves cross-domain security issues)
16
+ *
17
+ * GET file.php?id=...
18
+ * GET file.php?id=...&filename=...
19
+ * Will return the file with the id, and remove the file from disk.
20
+ * Optionally specify a filename for the download. Default is 'document.json'
21
+ */
22
+
23
+ // TODO: neatly handle exceeding of the max size
24
+ $tmp = 'tmp'; // directory for temporarily storing the files
25
+
26
+ $method = $_SERVER['REQUEST_METHOD'];
27
+
28
+ // make temporary directory to store the file (if not existing)
29
+ if (!is_dir(getcwd() . '/' . $tmp)) {
30
+ mkdir(getcwd() . '/' . $tmp);
31
+ }
32
+
33
+ /**
34
+ * Create a filename from given id
35
+ * @param {String} id id of the file
36
+ * @return {String} filename path to the file
37
+ */
38
+ function getFilename($id) {
39
+ global $tmp;
40
+ return "$tmp/$id";
41
+ }
42
+
43
+ if ($method == 'GET') {
44
+ $filename = isset($_GET['filename']) ? $_GET['filename'] : 'document.json';
45
+ if (isset($_GET['url'])) {
46
+ // download a file from url and return the file
47
+ $url = $_GET['url'];
48
+ $context = stream_context_create(array(
49
+ 'http' => array(
50
+ 'method' => 'GET',
51
+ 'header' => "Accept: application/json\r\n"
52
+ )
53
+ ));
54
+ $body = file_get_contents($url, false, $context);
55
+ if ($body != false) {
56
+ header("Content-Disposition: attachment; filename=\"$filename\"");
57
+ header('Content-type: application/json');
58
+ echo $body;
59
+ }
60
+ else {
61
+ header('HTTP/1.1 404 Not Found');
62
+ }
63
+ }
64
+ else if (isset($_GET['id'])) {
65
+ // retrieve the file with given id from disk, return it,
66
+ // and remove it from disk
67
+ $id = $_GET['id'];
68
+ $body = file_get_contents(getFilename($id));
69
+ if ($body !== false) {
70
+ header("Content-Disposition: attachment; filename=\"$filename\"");
71
+ header('Content-type: application/json');
72
+ echo $body;
73
+ unlink(getFilename($id));
74
+ }
75
+ else {
76
+ header('HTTP/1.1 404 Not Found');
77
+ }
78
+ }
79
+ else {
80
+ // TODO: error
81
+ }
82
+ }
83
+ else if ($method == 'POST') {
84
+ // retrieve the data, save it on disk with a random id,
85
+ // and return the id.
86
+
87
+ if (isset($_FILES['file'])) {
88
+ // read body from uploaded form
89
+ $file = $_FILES['file'];
90
+ $id = uniqid();
91
+ $filename = getFilename($id);
92
+ move_uploaded_file($file['tmp_name'], $filename);
93
+ echo $id;
94
+ }
95
+ else {
96
+ // read raw body from post request
97
+ $body = @file_get_contents('php://input');
98
+ if ($body === false) {
99
+ $body = '';
100
+ }
101
+ $id = uniqid();
102
+ file_put_contents(getFilename($id), $body);
103
+ echo $id;
104
+ }
105
+ }
106
+
107
+ // cleanup files older than 1 hour
108
+ // http://stackoverflow.com/q/6411451/1262753
109
+ if ($dir = opendir($tmp)) {
110
+ $now = time();
111
+ while (false !== ($file = readdir($dir))) {
112
+ $filename = "$tmp/$file";
113
+ if (is_file($filename) && filemtime($filename) <= ($now - 60 * 60) ) {
114
+ unlink($filename);
115
+ }
116
+ }
117
+ closedir($dir);
118
+ }
119
+
120
+ ?>
@@ -0,0 +1 @@
1
+ google-site-verification: googlea47c4a0b36d11021.html
@@ -0,0 +1,133 @@
1
+
2
+ /**
3
+ * @prototype Hash
4
+ * This prototype contains methods to manipulate the hash of the web page
5
+ */
6
+ function Hash() {}
7
+
8
+ /**
9
+ * get an object value with all parameters in the hash
10
+ * @return {Object} query object containing key/values
11
+ */
12
+ Hash.prototype.getQuery = function () {
13
+ var hash = window.location.hash.substring(1); // skip the # character
14
+ var params = hash.split('&');
15
+ var query = {};
16
+ for (var i = 0, iMax = params.length; i < iMax; i++) {
17
+ var keyvalue = params[i].split('=');
18
+ if (keyvalue.length == 2) {
19
+ var key = decodeURIComponent(keyvalue[0]);
20
+ var value = decodeURIComponent(keyvalue[1]);
21
+ query[key] = value;
22
+ }
23
+ }
24
+ return query;
25
+ };
26
+
27
+ /**
28
+ * Register a callback function which will be called when the hash of the web
29
+ * page changes.
30
+ * @param {String} key
31
+ * @param {function} callback Will be called with the new value as parameter
32
+ */
33
+ Hash.prototype.onChange = function (key, callback) {
34
+ this.prevHash = '';
35
+ var me = this;
36
+ if (!me.callbacks) {
37
+ me.callbacks = [];
38
+ }
39
+ me.callbacks.push({
40
+ 'key': key,
41
+ 'value': undefined,
42
+ 'callback': callback
43
+ });
44
+
45
+ function checkForChanges() {
46
+ for (var i = 0; i < me.callbacks.length; i++) {
47
+ var obj = me.callbacks[i];
48
+ var value = me.getValue(obj.key);
49
+ var changed = (value !== obj.value);
50
+ obj.value = value;
51
+ if (changed) {
52
+ obj.callback(value);
53
+ }
54
+ }
55
+ }
56
+
57
+ // source: http://stackoverflow.com/questions/2161906/handle-url-anchor-change-event-in-js
58
+ if ('onhashchange' in window) {
59
+ window.onhashchange = function () {
60
+ checkForChanges();
61
+ }
62
+ }
63
+ else {
64
+ // onhashchange event not supported
65
+ me.prevHash = window.location.hash;
66
+ window.setInterval(function () {
67
+ var hash = window.location.hash;
68
+ if (hash != me.prevHash) {
69
+ me.prevHash = hash;
70
+ checkForChanges();
71
+ }
72
+ }, 500);
73
+ }
74
+ };
75
+
76
+
77
+ /**
78
+ * Set hash parameters
79
+ * @param {Object} query object with strings
80
+ */
81
+ Hash.prototype.setQuery = function (query) {
82
+ var hash = '';
83
+
84
+ for (var key in query) {
85
+ if (query.hasOwnProperty(key)) {
86
+ var value = query[key];
87
+ if (value != undefined) {
88
+ if (hash.length) {
89
+ hash += '&';
90
+ }
91
+ hash += encodeURIComponent(key);
92
+ hash += '=';
93
+ hash += encodeURIComponent(query[key]);
94
+ }
95
+ }
96
+ }
97
+
98
+ window.location.hash = (hash.length ? ('#' + hash) : '');
99
+ };
100
+
101
+
102
+ /**
103
+ * Retrieve a parameter value from the hash
104
+ * @param {String} key
105
+ * @return {String | undefined} value undefined when the value is not found
106
+ */
107
+ Hash.prototype.getValue = function (key) {
108
+ var query = this.getQuery();
109
+ return query[key];
110
+ };
111
+
112
+ /**
113
+ * Set an hash parameter
114
+ * @param {String} key
115
+ * @param {String} value
116
+ */
117
+ Hash.prototype.setValue = function (key, value) {
118
+ var query = this.getQuery();
119
+ query[key] = value;
120
+ this.setQuery(query);
121
+ };
122
+
123
+ /**
124
+ * Remove an hash parameter
125
+ * @param {String} key
126
+ */
127
+ Hash.prototype.removeValue = function (key) {
128
+ var query = this.getQuery();
129
+ if (query[key]) {
130
+ delete query[key];
131
+ this.setQuery(query);
132
+ }
133
+ };
@@ -0,0 +1,20 @@
1
+ JSON Editor Online Logo
2
+
3
+ font: Source Sans Pro, 19.2pt (24px)
4
+ "JSON Editor" -> "Source Sans Pro"
5
+ "Online" -> "Source Sans Pro Light"
6
+
7
+ color: white
8
+
9
+ logo size: 32x200 px
10
+
11
+
12
+ JSON Editor Online Icon
13
+
14
+ Icon 128x128px
15
+ background is 100x100px, color #4d4d4d, border radius 10px
16
+ glass is white, opacity 10%
17
+ text "{ }" is Arial, 78px, white
18
+
19
+ Icon 16x16px
20
+ background full 16x16px. Scaled down from the 128x128px icon
@@ -0,0 +1,151 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="128"
14
+ height="128"
15
+ id="svg2"
16
+ version="1.1"
17
+ inkscape:version="0.48.3.1 r9886"
18
+ sodipodi:docname="icon_gray.svg"
19
+ inkscape:export-filename="/home/jos/jsoneditoronline/interface/img/jsoneditor_gray_128.png"
20
+ inkscape:export-xdpi="90"
21
+ inkscape:export-ydpi="90">
22
+ <defs
23
+ id="defs4">
24
+ <linearGradient
25
+ inkscape:collect="always"
26
+ id="linearGradient3873">
27
+ <stop
28
+ style="stop-color:#ffffff;stop-opacity:1;"
29
+ offset="0"
30
+ id="stop3875" />
31
+ <stop
32
+ style="stop-color:#ffffff;stop-opacity:0;"
33
+ offset="1"
34
+ id="stop3877" />
35
+ </linearGradient>
36
+ <linearGradient
37
+ id="linearGradient3831">
38
+ <stop
39
+ style="stop-color:#88a4f7;stop-opacity:1;"
40
+ offset="0"
41
+ id="stop3833" />
42
+ <stop
43
+ style="stop-color:#88a4f7;stop-opacity:0;"
44
+ offset="1"
45
+ id="stop3835" />
46
+ </linearGradient>
47
+ <linearGradient
48
+ id="linearGradient3782">
49
+ <stop
50
+ style="stop-color:#88a4f7;stop-opacity:1;"
51
+ offset="0"
52
+ id="stop3784" />
53
+ <stop
54
+ style="stop-color:#88a4f7;stop-opacity:0;"
55
+ offset="1"
56
+ id="stop3786" />
57
+ </linearGradient>
58
+ <linearGradient
59
+ inkscape:collect="always"
60
+ xlink:href="#linearGradient3873"
61
+ id="linearGradient3879"
62
+ x1="-52.789062"
63
+ y1="95.528737"
64
+ x2="46.478516"
65
+ y2="95.528737"
66
+ gradientUnits="userSpaceOnUse" />
67
+ <linearGradient
68
+ inkscape:collect="always"
69
+ xlink:href="#linearGradient3873"
70
+ id="linearGradient3885"
71
+ gradientUnits="userSpaceOnUse"
72
+ x1="-52.789062"
73
+ y1="95.528737"
74
+ x2="46.478516"
75
+ y2="95.528737"
76
+ gradientTransform="matrix(1.2781663,0,0,1.2781663,-0.56683723,-27.178371)" />
77
+ </defs>
78
+ <sodipodi:namedview
79
+ id="base"
80
+ pagecolor="#ffffff"
81
+ bordercolor="#666666"
82
+ borderopacity="1.0"
83
+ inkscape:pageopacity="0.0"
84
+ inkscape:pageshadow="2"
85
+ inkscape:zoom="4"
86
+ inkscape:cx="74.123"
87
+ inkscape:cy="63.939559"
88
+ inkscape:document-units="px"
89
+ inkscape:current-layer="layer1"
90
+ showgrid="false"
91
+ inkscape:window-width="1600"
92
+ inkscape:window-height="849"
93
+ inkscape:window-x="0"
94
+ inkscape:window-y="0"
95
+ inkscape:window-maximized="1"
96
+ showguides="true"
97
+ inkscape:guide-bbox="true">
98
+ <sodipodi:guide
99
+ orientation="0,1"
100
+ position="62.57895,132.22897"
101
+ id="guide3871" />
102
+ </sodipodi:namedview>
103
+ <metadata
104
+ id="metadata7">
105
+ <rdf:RDF>
106
+ <cc:Work
107
+ rdf:about="">
108
+ <dc:format>image/svg+xml</dc:format>
109
+ <dc:type
110
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
111
+ <dc:title></dc:title>
112
+ </cc:Work>
113
+ </rdf:RDF>
114
+ </metadata>
115
+ <g
116
+ inkscape:label="Layer 1"
117
+ inkscape:groupmode="layer"
118
+ id="layer1"
119
+ transform="translate(0,-924.36218)">
120
+ <rect
121
+ style="fill:#4d4d4d;fill-opacity:1;stroke:none"
122
+ id="rect3004"
123
+ width="100"
124
+ height="100"
125
+ x="14"
126
+ y="938.36218"
127
+ ry="10"
128
+ rx="10" />
129
+ <path
130
+ style="opacity:0.1;fill:#ffffff;fill-opacity:1;stroke:none"
131
+ d="M 14,50.875 14.03125,23 c 0.0926,-4.543321 4.895309,-8.941992 9.125,-9 l 81.96875,0 c 4.49471,0.0913 8.85437,5.039189 8.875,9.125 L 114,51 C 80.492943,56.594067 47.17385,55.936454 14,50.875 z"
132
+ id="path3768"
133
+ inkscape:connector-curvature="0"
134
+ transform="translate(0,924.36218)"
135
+ sodipodi:nodetypes="ccccccc" />
136
+ <flowRoot
137
+ xml:space="preserve"
138
+ id="flowRoot3815"
139
+ style="font-size:100px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial Bold"
140
+ transform="matrix(0.78237078,0,0,0.78237078,65.80062,914.91146)"><flowRegion
141
+ id="flowRegion3817"
142
+ style="fill:url(#linearGradient3885);fill-opacity:1"><rect
143
+ id="rect3819"
144
+ width="208.57143"
145
+ height="192.14285"
146
+ x="-55.714287"
147
+ y="23"
148
+ style="font-size:100px;font-style:normal;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Arial Bold" /></flowRegion><flowPara
149
+ id="flowPara3821"
150
+ style="font-size:100px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial Bold">{ }</flowPara></flowRoot> </g>
151
+ </svg>
@@ -0,0 +1,150 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="16"
14
+ height="16"
15
+ id="svg2"
16
+ version="1.1"
17
+ inkscape:version="0.48.3.1 r9886"
18
+ sodipodi:docname="icon_gray_16.svg"
19
+ inkscape:export-filename="/home/jos/jsoneditoronline/interface/img/icon_16.png"
20
+ inkscape:export-xdpi="90"
21
+ inkscape:export-ydpi="90">
22
+ <defs
23
+ id="defs4">
24
+ <linearGradient
25
+ inkscape:collect="always"
26
+ id="linearGradient3873">
27
+ <stop
28
+ style="stop-color:#ffffff;stop-opacity:1;"
29
+ offset="0"
30
+ id="stop3875" />
31
+ <stop
32
+ style="stop-color:#ffffff;stop-opacity:0;"
33
+ offset="1"
34
+ id="stop3877" />
35
+ </linearGradient>
36
+ <linearGradient
37
+ id="linearGradient3831">
38
+ <stop
39
+ style="stop-color:#88a4f7;stop-opacity:1;"
40
+ offset="0"
41
+ id="stop3833" />
42
+ <stop
43
+ style="stop-color:#88a4f7;stop-opacity:0;"
44
+ offset="1"
45
+ id="stop3835" />
46
+ </linearGradient>
47
+ <linearGradient
48
+ id="linearGradient3782">
49
+ <stop
50
+ style="stop-color:#88a4f7;stop-opacity:1;"
51
+ offset="0"
52
+ id="stop3784" />
53
+ <stop
54
+ style="stop-color:#88a4f7;stop-opacity:0;"
55
+ offset="1"
56
+ id="stop3786" />
57
+ </linearGradient>
58
+ <linearGradient
59
+ inkscape:collect="always"
60
+ xlink:href="#linearGradient3873"
61
+ id="linearGradient3879"
62
+ x1="-52.789062"
63
+ y1="95.52874"
64
+ x2="46.478516"
65
+ y2="95.52874"
66
+ gradientUnits="userSpaceOnUse" />
67
+ <linearGradient
68
+ inkscape:collect="always"
69
+ xlink:href="#linearGradient3873"
70
+ id="linearGradient3885"
71
+ gradientUnits="userSpaceOnUse"
72
+ x1="-52.789062"
73
+ y1="95.52874"
74
+ x2="46.478516"
75
+ y2="95.52874"
76
+ gradientTransform="matrix(7.98854,0,0,7.9885394,455.89837,-215.38857)" />
77
+ </defs>
78
+ <sodipodi:namedview
79
+ id="base"
80
+ pagecolor="#ffffff"
81
+ bordercolor="#666666"
82
+ borderopacity="1.0"
83
+ inkscape:pageopacity="0.0"
84
+ inkscape:pageshadow="2"
85
+ inkscape:zoom="32"
86
+ inkscape:cx="1.8526919"
87
+ inkscape:cy="9.2265399"
88
+ inkscape:document-units="px"
89
+ inkscape:current-layer="layer1"
90
+ showgrid="false"
91
+ inkscape:window-width="1600"
92
+ inkscape:window-height="849"
93
+ inkscape:window-x="0"
94
+ inkscape:window-y="0"
95
+ inkscape:window-maximized="1"
96
+ showguides="true"
97
+ inkscape:guide-bbox="true">
98
+ <sodipodi:guide
99
+ orientation="0,1"
100
+ position="62.57895,132.22897"
101
+ id="guide3871" />
102
+ </sodipodi:namedview>
103
+ <metadata
104
+ id="metadata7">
105
+ <rdf:RDF>
106
+ <cc:Work
107
+ rdf:about="">
108
+ <dc:format>image/svg+xml</dc:format>
109
+ <dc:type
110
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
111
+ <dc:title></dc:title>
112
+ </cc:Work>
113
+ </rdf:RDF>
114
+ </metadata>
115
+ <g
116
+ inkscape:label="Layer 1"
117
+ inkscape:groupmode="layer"
118
+ id="layer1"
119
+ transform="translate(0,-1036.3622)">
120
+ <rect
121
+ style="fill:#4d4d4d;fill-opacity:1;stroke:none"
122
+ id="rect3004"
123
+ width="15.999998"
124
+ height="15.999999"
125
+ x="0"
126
+ y="1036.3622"
127
+ ry="1.25"
128
+ rx="1.25" />
129
+ <path
130
+ style="opacity:0.1;fill:#ffffff;fill-opacity:1;stroke:none"
131
+ d="m 1.3156105e-7,1042.2621 0.004999998439,-4.46 c -0.0086175,-1.0941 0.3535625,-1.4385 1.45999997,-1.44 l 13.1149989,0 c 0.94181,-6e-4 1.428418,0.3571 1.42,1.46 l 0,4.46 c -5.361129,0.8951 -10.6921826,0.7899 -15.99999886843895,-0.02 z"
132
+ id="path3768"
133
+ inkscape:connector-curvature="0"
134
+ sodipodi:nodetypes="ccccccc" />
135
+ <flowRoot
136
+ xml:space="preserve"
137
+ id="flowRoot3815"
138
+ style="font-size:100px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Arial Bold"
139
+ transform="matrix(0.12517931,0,0,0.12517932,8.2880984,1032.61)"><flowRegion
140
+ id="flowRegion3817"
141
+ style="fill:url(#linearGradient3885);fill-opacity:1"><rect
142
+ id="rect3819"
143
+ width="208.57143"
144
+ height="192.14285"
145
+ x="-55.714287"
146
+ y="23"
147
+ style="font-size:100px;font-style:normal;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Arial Bold" /></flowRegion><flowPara
148
+ id="flowPara3821"
149
+ style="font-size:100px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial Bold">{ }</flowPara></flowRoot> </g>
150
+ </svg>