spiderfw 0.6.26 → 0.6.27
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.
- data/CHANGELOG +4 -0
- data/VERSION +1 -1
- data/apps/core/forms/_init.rb +1 -0
- data/apps/core/forms/public/date_time.js +0 -1
- data/apps/core/forms/public/html_area.js +1 -1
- data/apps/core/forms/public/text_area.js +2 -2
- data/apps/core/forms/widgets/form/form.rb +40 -38
- data/apps/core/forms/widgets/inputs/checkbox_list/checkbox_list.rb +71 -0
- data/apps/core/forms/widgets/inputs/checkbox_list/checkbox_list.shtml +5 -0
- data/apps/core/forms/widgets/inputs/date_time/date_time.rb +1 -1
- data/apps/core/forms/widgets/inputs/search_select/search_select.shtml +2 -2
- data/apps/messenger/backends/sms/mobyt.rb +72 -0
- data/apps/messenger/config/options.rb +6 -1
- data/apps/messenger/controllers/mixins/messenger_helper.rb +6 -4
- data/apps/messenger/lib/backends/mobyt.rb +43 -4
- data/apps/messenger/test/features/mobyt.feature +29 -0
- data/apps/messenger/test/features/step_definitions/mobyt_steps.rb +59 -0
- data/lib/spiderfw/app.rb +0 -2
- data/lib/spiderfw/cmd/commands/model.rb +10 -6
- data/lib/spiderfw/config/configuration.rb +1 -4
- data/lib/spiderfw/config/options/spider.rb +4 -3
- data/lib/spiderfw/controller/http_controller.rb +5 -1
- data/lib/spiderfw/http/adapters/rack.rb +5 -1
- data/lib/spiderfw/model/base_model.rb +5 -5
- data/lib/spiderfw/model/identity_mapper.rb +4 -2
- data/lib/spiderfw/model/mappers/db_mapper.rb +5 -2
- data/lib/spiderfw/model/mappers/mapper.rb +15 -8
- data/lib/spiderfw/model/storage/db/adapters/mysql.rb +48 -44
- data/lib/spiderfw/model/storage/db/connectors/mysql.rb +16 -0
- data/lib/spiderfw/model/storage/db/connectors/mysql2.rb +9 -0
- data/lib/spiderfw/setup/app_manager.rb +0 -5
- data/lib/spiderfw/spider.rb +34 -5
- data/lib/spiderfw/templates/layout.rb +6 -6
- data/lib/spiderfw/templates/resources/sass.rb +1 -2
- data/lib/spiderfw/templates/template.rb +5 -1
- metadata +161 -248
- data/apps/core/components/public/js/jquery/plugins/jquery.ui.nestedSortable.js +0 -356
- data/apps/messenger/test/features/sms_mobyt.feature +0 -24
- data/apps/messenger/test/features/step_definitions/sms_mobyt.rb +0 -21
- data/blueprints/.DS_Store +0 -0
- data/blueprints/home/.DS_Store +0 -0
- data/blueprints/install/.DS_Store +0 -0
- data/data/keys/spider.rsa +0 -27
- data/data/keys/spider.rsa.pub +0 -1
@@ -1,356 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* jQuery UI Nested Sortable
|
3
|
-
* v 1.3.4 / 28 apr 2011
|
4
|
-
* http://mjsarfatti.com/sandbox/nestedSortable
|
5
|
-
*
|
6
|
-
* Depends:
|
7
|
-
* jquery.ui.sortable.js 1.8+
|
8
|
-
*
|
9
|
-
* License CC BY-SA 3.0
|
10
|
-
* Copyright 2010-2011, Manuele J Sarfatti
|
11
|
-
*/
|
12
|
-
|
13
|
-
(function($) {
|
14
|
-
|
15
|
-
$.widget("ui.nestedSortable", $.extend({}, $.ui.sortable.prototype, {
|
16
|
-
|
17
|
-
options: {
|
18
|
-
tabSize: 20,
|
19
|
-
disableNesting: 'ui-nestedSortable-no-nesting',
|
20
|
-
errorClass: 'ui-nestedSortable-error',
|
21
|
-
listType: 'ol',
|
22
|
-
maxLevels: 0,
|
23
|
-
noJumpFix: 0
|
24
|
-
},
|
25
|
-
|
26
|
-
_create: function(){
|
27
|
-
if (this.noJumpFix == false)
|
28
|
-
this.element.height(this.element.height());
|
29
|
-
this.element.data('sortable', this.element.data('nestedSortable'));
|
30
|
-
return $.ui.sortable.prototype._create.apply(this, arguments);
|
31
|
-
},
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
_mouseDrag: function(event) {
|
36
|
-
|
37
|
-
//Compute the helpers position
|
38
|
-
this.position = this._generatePosition(event);
|
39
|
-
this.positionAbs = this._convertPositionTo("absolute");
|
40
|
-
|
41
|
-
if (!this.lastPositionAbs) {
|
42
|
-
this.lastPositionAbs = this.positionAbs;
|
43
|
-
}
|
44
|
-
|
45
|
-
//Do scrolling
|
46
|
-
if(this.options.scroll) {
|
47
|
-
var o = this.options, scrolled = false;
|
48
|
-
if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') {
|
49
|
-
|
50
|
-
if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
|
51
|
-
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
|
52
|
-
else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)
|
53
|
-
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
|
54
|
-
|
55
|
-
if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
|
56
|
-
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
|
57
|
-
else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)
|
58
|
-
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
|
59
|
-
|
60
|
-
} else {
|
61
|
-
|
62
|
-
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
|
63
|
-
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
|
64
|
-
else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
|
65
|
-
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
|
66
|
-
|
67
|
-
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
|
68
|
-
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
|
69
|
-
else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
|
70
|
-
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
|
71
|
-
|
72
|
-
}
|
73
|
-
|
74
|
-
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
|
75
|
-
$.ui.ddmanager.prepareOffsets(this, event);
|
76
|
-
}
|
77
|
-
|
78
|
-
//Regenerate the absolute position used for position checks
|
79
|
-
this.positionAbs = this._convertPositionTo("absolute");
|
80
|
-
|
81
|
-
//Set the helper position
|
82
|
-
if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px';
|
83
|
-
if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px';
|
84
|
-
|
85
|
-
//Rearrange
|
86
|
-
for (var i = this.items.length - 1; i >= 0; i--) {
|
87
|
-
|
88
|
-
//Cache variables and intersection, continue if no intersection
|
89
|
-
var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);
|
90
|
-
if (!intersection) continue;
|
91
|
-
|
92
|
-
if(itemElement != this.currentItem[0] //cannot intersect with itself
|
93
|
-
&& this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before
|
94
|
-
&& !$.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked
|
95
|
-
&& (this.options.type == 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true)
|
96
|
-
//&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container
|
97
|
-
) {
|
98
|
-
|
99
|
-
this.direction = intersection == 1 ? "down" : "up";
|
100
|
-
|
101
|
-
if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) {
|
102
|
-
this._rearrange(event, item);
|
103
|
-
} else {
|
104
|
-
break;
|
105
|
-
}
|
106
|
-
|
107
|
-
// Clear emtpy ul's/ol's
|
108
|
-
this._clearEmpty(itemElement);
|
109
|
-
|
110
|
-
this._trigger("change", event, this._uiHash());
|
111
|
-
break;
|
112
|
-
}
|
113
|
-
}
|
114
|
-
|
115
|
-
var parentItem = (this.placeholder[0].parentNode.parentNode && $(this.placeholder[0].parentNode.parentNode).closest('.ui-sortable').length) ? $(this.placeholder[0].parentNode.parentNode) : null;
|
116
|
-
var level = this._getLevel(this.placeholder);
|
117
|
-
var childLevels = this._getChildLevels(this.helper);
|
118
|
-
var previousItem = this.placeholder[0].previousSibling ? $(this.placeholder[0].previousSibling) : null;
|
119
|
-
if (previousItem != null) {
|
120
|
-
while (previousItem[0].nodeName.toLowerCase() != 'li' || previousItem[0] == this.currentItem[0]) {
|
121
|
-
if (previousItem[0].previousSibling) {
|
122
|
-
previousItem = $(previousItem[0].previousSibling);
|
123
|
-
} else {
|
124
|
-
previousItem = null;
|
125
|
-
break;
|
126
|
-
}
|
127
|
-
}
|
128
|
-
}
|
129
|
-
|
130
|
-
newList = document.createElement(o.listType);
|
131
|
-
|
132
|
-
this.beyondMaxLevels = 0;
|
133
|
-
|
134
|
-
// If the item is moved to the left, send it to its parent level
|
135
|
-
if (parentItem != null && this.positionAbs.left < parentItem.offset().left) {
|
136
|
-
parentItem.after(this.placeholder[0]);
|
137
|
-
this._clearEmpty(parentItem[0]);
|
138
|
-
this._trigger("change", event, this._uiHash());
|
139
|
-
}
|
140
|
-
// If the item is below another one and is moved to the right, make it a children of it
|
141
|
-
else if (previousItem != null && this.positionAbs.left > previousItem.offset().left + o.tabSize) {
|
142
|
-
this._isAllowed(previousItem, level+childLevels+1);
|
143
|
-
if (!previousItem.children(o.listType).length) {
|
144
|
-
previousItem[0].appendChild(newList);
|
145
|
-
}
|
146
|
-
previousItem.children(o.listType)[0].appendChild(this.placeholder[0]);
|
147
|
-
this._trigger("change", event, this._uiHash());
|
148
|
-
}
|
149
|
-
else {
|
150
|
-
this._isAllowed(parentItem, level+childLevels);
|
151
|
-
}
|
152
|
-
|
153
|
-
//Post events to containers
|
154
|
-
this._contactContainers(event);
|
155
|
-
|
156
|
-
//Interconnect with droppables
|
157
|
-
if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
|
158
|
-
|
159
|
-
//Call callbacks
|
160
|
-
this._trigger('sort', event, this._uiHash());
|
161
|
-
|
162
|
-
this.lastPositionAbs = this.positionAbs;
|
163
|
-
return false;
|
164
|
-
|
165
|
-
},
|
166
|
-
|
167
|
-
_mouseStop: function(event, noPropagation) {
|
168
|
-
|
169
|
-
// If the item is in a position not allowed, send it back
|
170
|
-
if (this.beyondMaxLevels) {
|
171
|
-
var parent = this.placeholder.parent().closest(this.options.items);
|
172
|
-
|
173
|
-
for (var i = this.beyondMaxLevels - 1; i > 0; i--) {
|
174
|
-
parent = parent.parent().closest(this.options.items);
|
175
|
-
}
|
176
|
-
|
177
|
-
this.placeholder.removeClass(this.options.errorClass);
|
178
|
-
parent.after(this.placeholder);
|
179
|
-
this._trigger("change", event, this._uiHash());
|
180
|
-
}
|
181
|
-
|
182
|
-
$.ui.sortable.prototype._mouseStop.apply(this, arguments);
|
183
|
-
|
184
|
-
},
|
185
|
-
|
186
|
-
serialize: function(o) {
|
187
|
-
|
188
|
-
var items = this._getItemsAsjQuery(o && o.connected);
|
189
|
-
var str = []; o = o || {};
|
190
|
-
|
191
|
-
$(items).each(function() {
|
192
|
-
var res = ($(o.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
|
193
|
-
var pid = ($(o.item || this).parent(o.listType).parent('li').attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
|
194
|
-
if(res) str.push((o.key || res[1]+'['+(o.key && o.expression ? res[1] : res[2])+']')+'='+(pid ? (o.key && o.expression ? pid[1] : pid[2]) : 'root'));
|
195
|
-
});
|
196
|
-
|
197
|
-
if(!str.length && o.key) {
|
198
|
-
str.push(o.key + '=');
|
199
|
-
}
|
200
|
-
|
201
|
-
return str.join('&');
|
202
|
-
|
203
|
-
},
|
204
|
-
|
205
|
-
toHierarchy: function(o) {
|
206
|
-
|
207
|
-
o = o || {};
|
208
|
-
var sDepth = o.startDepthCount || 0;
|
209
|
-
var ret = [];
|
210
|
-
|
211
|
-
$(this.element).children('li').each(function() {
|
212
|
-
var level = _recursiveItems($(this));
|
213
|
-
ret.push(level);
|
214
|
-
});
|
215
|
-
|
216
|
-
return ret;
|
217
|
-
|
218
|
-
function _recursiveItems(li) {
|
219
|
-
var id = ($(li).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
|
220
|
-
if (id != null) {
|
221
|
-
var item = {"id" : id[2]};
|
222
|
-
if ($(li).children(o.listType).children('li').length > 0) {
|
223
|
-
item.children = [];
|
224
|
-
$(li).children(o.listType).children('li').each(function () {
|
225
|
-
var level = _recursiveItems($(this));
|
226
|
-
item.children.push(level);
|
227
|
-
});
|
228
|
-
}
|
229
|
-
return item;
|
230
|
-
}
|
231
|
-
}
|
232
|
-
},
|
233
|
-
|
234
|
-
toArray: function(o) {
|
235
|
-
|
236
|
-
o = o || {};
|
237
|
-
var sDepth = o.startDepthCount || 0;
|
238
|
-
var ret = [];
|
239
|
-
var left = 2;
|
240
|
-
|
241
|
-
ret.push({"item_id": 'root', "parent_id": 'none', "depth": sDepth, "left": '1', "right": ($('li', this.element).length + 1) * 2});
|
242
|
-
|
243
|
-
$(this.element).children('li').each(function () {
|
244
|
-
left = _recursiveArray(this, sDepth + 1, left);
|
245
|
-
});
|
246
|
-
|
247
|
-
function _sortByLeft(a,b) {
|
248
|
-
return a['left'] - b['left'];
|
249
|
-
}
|
250
|
-
ret = ret.sort(_sortByLeft);
|
251
|
-
|
252
|
-
return ret;
|
253
|
-
|
254
|
-
function _recursiveArray(item, depth, left) {
|
255
|
-
|
256
|
-
right = left + 1;
|
257
|
-
|
258
|
-
if ($(item).children(o.listType).children('li').length > 0) {
|
259
|
-
depth ++;
|
260
|
-
$(item).children(o.listType).children('li').each(function () {
|
261
|
-
right = _recursiveArray($(this), depth, right);
|
262
|
-
});
|
263
|
-
depth --;
|
264
|
-
}
|
265
|
-
|
266
|
-
id = ($(item).attr(o.attribute || 'id')).match(o.expression || (/(.+)[-=_](.+)/));
|
267
|
-
|
268
|
-
if (depth === sDepth + 1) pid = 'root';
|
269
|
-
else {
|
270
|
-
parentItem = ($(item).parent(o.listType).parent('li').attr('id')).match(o.expression || (/(.+)[-=_](.+)/));
|
271
|
-
pid = parentItem[2];
|
272
|
-
}
|
273
|
-
|
274
|
-
if (id != null) {
|
275
|
-
ret.push({"item_id": id[2], "parent_id": pid, "depth": depth, "left": left, "right": right});
|
276
|
-
}
|
277
|
-
|
278
|
-
return left = right + 1;
|
279
|
-
}
|
280
|
-
|
281
|
-
},
|
282
|
-
|
283
|
-
_clear: function(event, noPropagation) {
|
284
|
-
|
285
|
-
$.ui.sortable.prototype._clear.apply(this, arguments);
|
286
|
-
|
287
|
-
// Clean last empty ul/ol
|
288
|
-
for (var i = this.items.length - 1; i >= 0; i--) {
|
289
|
-
var item = this.items[i].item[0];
|
290
|
-
this._clearEmpty(item);
|
291
|
-
}
|
292
|
-
return true;
|
293
|
-
|
294
|
-
},
|
295
|
-
|
296
|
-
_clearEmpty: function(item) {
|
297
|
-
|
298
|
-
if (item.children[1] && item.children[1].children.length == 0) {
|
299
|
-
item.removeChild(item.children[1]);
|
300
|
-
}
|
301
|
-
|
302
|
-
},
|
303
|
-
|
304
|
-
_getLevel: function(item) {
|
305
|
-
|
306
|
-
var level = 1;
|
307
|
-
|
308
|
-
if (this.options.listType) {
|
309
|
-
var list = item.closest(this.options.listType);
|
310
|
-
while (!list.is('.ui-sortable')/* && level < this.options.maxLevels*/) {
|
311
|
-
level++;
|
312
|
-
list = list.parent().closest(this.options.listType);
|
313
|
-
}
|
314
|
-
}
|
315
|
-
|
316
|
-
return level;
|
317
|
-
},
|
318
|
-
|
319
|
-
_getChildLevels: function(parent, depth) {
|
320
|
-
var self = this,
|
321
|
-
o = this.options,
|
322
|
-
result = 0;
|
323
|
-
depth = depth || 0;
|
324
|
-
|
325
|
-
$(parent).children(o.listType).children(o.items).each(function (index, child) {
|
326
|
-
result = Math.max(self._getChildLevels(child, depth + 1), result);
|
327
|
-
});
|
328
|
-
|
329
|
-
return depth ? result + 1 : result;
|
330
|
-
},
|
331
|
-
|
332
|
-
_isAllowed: function(parentItem, levels) {
|
333
|
-
var o = this.options
|
334
|
-
// Are we trying to nest under a no-nest or are we nesting too deep?
|
335
|
-
if (parentItem == null || !(parentItem.hasClass(o.disableNesting))) {
|
336
|
-
if (o.maxLevels < levels && o.maxLevels != 0) {
|
337
|
-
this.placeholder.addClass(o.errorClass);
|
338
|
-
this.beyondMaxLevels = levels - o.maxLevels;
|
339
|
-
} else {
|
340
|
-
this.placeholder.removeClass(o.errorClass);
|
341
|
-
this.beyondMaxLevels = 0;
|
342
|
-
}
|
343
|
-
} else {
|
344
|
-
this.placeholder.addClass(o.errorClass);
|
345
|
-
if (o.maxLevels < levels && o.maxLevels != 0) {
|
346
|
-
this.beyondMaxLevels = levels - o.maxLevels;
|
347
|
-
} else {
|
348
|
-
this.beyondMaxLevels = 1;
|
349
|
-
}
|
350
|
-
}
|
351
|
-
}
|
352
|
-
|
353
|
-
}));
|
354
|
-
|
355
|
-
$.ui.nestedSortable.prototype.options = $.extend({}, $.ui.sortable.prototype.options, $.ui.nestedSortable.prototype.options);
|
356
|
-
})(jQuery);
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# language: it
|
2
|
-
|
3
|
-
Funzionalità: invio SMS con Mobyt
|
4
|
-
|
5
|
-
|
6
|
-
Scenario: invio SMS semplice
|
7
|
-
Dato che lo username per l'invio è "aaaa"
|
8
|
-
E che la password per l'invio è "bbbb"
|
9
|
-
Quando invio un SMS con i seguenti dati:
|
10
|
-
| to | from | testo |
|
11
|
-
| +39123456789 | mittente-prova | Ciao |
|
12
|
-
Allora la libreria Mobyt deve ritornare i seguenti parametri:
|
13
|
-
| operation | TEXT |
|
14
|
-
| from | mittente-prova |
|
15
|
-
| data | Ciao |
|
16
|
-
| id | aaaa |
|
17
|
-
| qty | a |
|
18
|
-
| password | |
|
19
|
-
| ticket | 3ad6bd5c1d3ea7b021b3f7ddad2398bd |
|
20
|
-
|
21
|
-
Scenario: invio SMS multiplo
|
22
|
-
|
23
|
-
Scenario: invio SMS UTF8
|
24
|
-
|
@@ -1,21 +0,0 @@
|
|
1
|
-
Dato /^che lo username per l.invio è "([^\"]*)"$/ do |username|
|
2
|
-
@username = username
|
3
|
-
end
|
4
|
-
|
5
|
-
|
6
|
-
Dato /^che la password per l.invio è "([^\"]*)"$/ do |password|
|
7
|
-
@password = password
|
8
|
-
end
|
9
|
-
|
10
|
-
Quando /^invio un SMS con i seguenti dati:$/ do |table|
|
11
|
-
dati = table.hashes
|
12
|
-
@risultato = Spider::Messenger::Mobyt.parametri(@username, @password, dati['from'], dati['to'], dati['testo'])
|
13
|
-
end
|
14
|
-
|
15
|
-
|
16
|
-
Allora /^la libreria Mobyt deve ritornare i seguenti parametri:$/ do |table|
|
17
|
-
dati = table.rows_hash
|
18
|
-
dati.each do |key, value|
|
19
|
-
@risultato[key].should eq value
|
20
|
-
end
|
21
|
-
end
|
data/blueprints/.DS_Store
DELETED
Binary file
|
data/blueprints/home/.DS_Store
DELETED
Binary file
|
Binary file
|
data/data/keys/spider.rsa
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
2
|
-
MIIEpQIBAAKCAQEAxq4+mlIi6yi7tPZhrs0X2mYzltmKZuPB06RXsOvTsycb6q6a
|
3
|
-
k4svlkbw+yHBkmegkBTUaTTR9VZ+YWNRjpts4TXcgmTQRdi9R2LFEP8OXd7QrEt4
|
4
|
-
oJ8ah4LXbkVZMxcf83spIzSfk/1vqWOVEFs8cCTTATNLzwGbSMl7p+aIJ+px2VDU
|
5
|
-
f2E/1apICmQyF20h1sobZMjUysDC1fLpRNKBVDtLMCorEttnXEJOEF55aefJDCSN
|
6
|
-
bkPLszF+vMFCD0bbIAjoVp7ts8EQsl9951tUpr0zw0vFf1p9qi8ikF4yJIgI1u2M
|
7
|
-
ECUHu32lZ4XLLaKmI9Lz5L++CG28YFQI20GpkwIDAQABAoIBAQCAXoTEYN1+40qk
|
8
|
-
maxzrMAEtJQQm235HJ9Xh4/BGB4oWtSGxVnKitusVRnOqPjRB3OOpGa5sw8VXVU6
|
9
|
-
x1kisvmeaZaYCVsoRenF/eMmICXAMP7S09CUtzgE5l0bOmNvxzk1sBXcUVvp2o4S
|
10
|
-
++yMLObX7nMHC4WnsnoKhWQID8NZRdRoqsAA/kzzhfdPPMug/abLWVkKHNTS0p8M
|
11
|
-
d1MoADuM4BB+fBv4P2Yug+BEXeQ7pptgAfQQWfXinq6+nzAUNl7XCsdMIKkI2kku
|
12
|
-
iROQIWCDSoa/zZOPHiXH+aMKk7KddzS8hd8cdbeuIfwLSSw9hX9Hkl5J90GnEcFj
|
13
|
-
ZNi2bosBAoGBAPmoawc+K6kQgYvLjbKuTLJ2jo9MdT9RH/6Xk9kLUJ42dst7dJXZ
|
14
|
-
7HVaB+tBwVb/WTlfL1gQuQcVQp/UAFuZq4gNrFxapbSX0UQTsm14ivNMycGjhwX1
|
15
|
-
PJZBjD7CCDr3gEiDTTEj+0gSCqoxD1EnNIgz73OFvGmbDHen6gVNUbtDAoGBAMu6
|
16
|
-
T1TySWIKWldrdGUELfqRCGXp3CB6/E/IzdLBfc2QCLXiYxq74zOzt85GO8VBI3w9
|
17
|
-
rzLWIT6dtkZIe1utbiHmPf1cOL6W6Skv2z2lxqeloACk2FDmDMC6O5xYIzLNyX3A
|
18
|
-
uUo44+6NrVh6e11NwldRC6hwrm0OOVDH2nziY2txAoGAYjfe+3d7B8VFofDP60bl
|
19
|
-
R6Say0eCLQnGc4vAj7gC3GuC6uTD5hxZCYYE7Ynt/ULyID8RSi0yDdZQYr6t8VuQ
|
20
|
-
fzMZ5y+GV3kOzCCPpr+wsq04BqVF/pMPZfGdsib1w/URE/YMDVQhjKYEahZo9z1c
|
21
|
-
TmVYQ/OOP2HPUtfNmo5jpC8CgYEArxA+M4SvwmubDhvsPRHGYNZYHRtEaTTFs9md
|
22
|
-
5EkYzZfDpGgROVvS9Q6uF7cKjYpX798hudF/Z8smYmbOeg0h4kdzZU/mAwCzAw14
|
23
|
-
nBTkDBOq1mLQ71OACez+ZG7ocDOdvU3q6vjQBKICH1HAyICVS2r9VZTejh/26I+U
|
24
|
-
FFSFkkECgYEAvG9CJuoPw7OT6bt97J9TUA/ncJ9mKCZc1C2n6k3dsWX0m/EPnLHJ
|
25
|
-
GGOJq53dW3N+JpLPgWPxkkKgYw/rscfZXu3PzIm2D1MM5C7I3tk1Fk1CpM9XtlKu
|
26
|
-
UtikH9spio1M8LB7bPZ4+chW2rBxqNZHLyAcPJ3j03KVj6SsFzCBVBE=
|
27
|
-
-----END RSA PRIVATE KEY-----
|
data/data/keys/spider.rsa.pub
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGrj6aUiLrKLu09mGuzRfaZjOW2Ypm48HTpFew69OzJxvqrpqTiy+WRvD7IcGSZ6CQFNRpNNH1Vn5hY1GOm2zhNdyCZNBF2L1HYsUQ/w5d3tCsS3ignxqHgtduRVkzFx/zeykjNJ+T/W+pY5UQWzxwJNMBM0vPAZtIyXun5ogn6nHZUNR/YT/VqkgKZDIXbSHWyhtkyNTKwMLV8ulE0oFUO0swKisS22dcQk4QXnlp58kMJI1uQ8uzMX68wUIPRtsgCOhWnu2zwRCyX33nW1SmvTPDS8V/Wn2qLyKQXjIkiAjW7YwQJQe7faVnhcstoqYj0vPkv74IbbxgVAjbQamT cerebus@Mac-mini-di-Ivan.local
|