mirror of
https://github.com/hydra-synth/hydra.git
synced 2025-12-05 14:30:03 +01:00
v1.3.0
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
# Changelog
|
||||
## [1.3.0] - 2022-02-11
|
||||
### Changed
|
||||
- large refactor to use choo + modules
|
||||
|
||||
## [1.2.15] - 2022-02-09
|
||||
### Added
|
||||
- added api and docs as submodules in folder /frontend
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
const PatchBay = require('./src/patch-bay/pb-live.js')
|
||||
const HydraSynth = require('hydra-synth')
|
||||
const Editor = require('./src/editor/editor.js')
|
||||
const loop = require('raf-loop')
|
||||
const P5 = require('./src/p5-wrapper.js')
|
||||
const Gallery = require('./src/gallery.js')
|
||||
const Menu = require('./src/menu.js')
|
||||
const attachEvents = require('./src/attachEvents.js')
|
||||
const log = require('./src/editor/log.js')
|
||||
const repl = require('./src/repl.js')
|
||||
|
||||
function init () {
|
||||
window.pb = pb
|
||||
window.P5 = P5
|
||||
|
||||
var canvas = document.getElementById('hydra-canvas')
|
||||
// canvas.width = window.innerWidth * window.devicePixelRatio
|
||||
// canvas.height = window.innerHeight * window.devicePixelRatio
|
||||
canvas.width = window.innerWidth
|
||||
canvas.height = window.innerHeight
|
||||
canvas.style.width = '100%'
|
||||
canvas.style.height = '100%'
|
||||
canvas.style.imageRendering = 'pixelated'
|
||||
|
||||
let isIOS =
|
||||
(/iPad|iPhone|iPod/.test(navigator.platform) ||
|
||||
(navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) &&
|
||||
!window.MSStream;
|
||||
|
||||
let precisionValue = isIOS ? 'highp' : 'mediump'
|
||||
|
||||
var pb = new PatchBay()
|
||||
var hydra = new HydraSynth({ pb: pb, canvas: canvas, autoLoop: false, precision: precisionValue})
|
||||
var editor = new Editor()
|
||||
var menu = new Menu({ editor: editor, hydra: hydra})
|
||||
log.init()
|
||||
|
||||
// get initial code to fill gallery
|
||||
var sketches = new Gallery(function(code, sketchFromURL) {
|
||||
editor.setValue(code)
|
||||
repl.eval(code)
|
||||
|
||||
// if a sketch was found based on the URL parameters, dont show intro window
|
||||
if(sketchFromURL) {
|
||||
menu.closeModal()
|
||||
} else {
|
||||
menu.openModal()
|
||||
}
|
||||
})
|
||||
menu.sketches = sketches
|
||||
|
||||
attachEvents ({
|
||||
editor: editor,
|
||||
gallery: sketches,
|
||||
menu: menu,
|
||||
repl: repl,
|
||||
log: log
|
||||
})
|
||||
|
||||
// define extra functions (eventually should be added to hydra-synth?)
|
||||
|
||||
|
||||
|
||||
pb.init(hydra.captureStream, {
|
||||
server: window.location.origin,
|
||||
room: 'iclc'
|
||||
})
|
||||
|
||||
var engine = loop(function(dt) {
|
||||
hydra.tick(dt)
|
||||
}).start()
|
||||
|
||||
}
|
||||
|
||||
window.onload = init
|
||||
|
||||
// add extra functions to the web editor
|
||||
// hush clears what you see on the screen
|
||||
// window.hush = () => {
|
||||
// solid().out()
|
||||
// solid().out(o1)
|
||||
// solid().out(o2)
|
||||
// solid().out(o3)
|
||||
// render(o0)
|
||||
// }
|
||||
|
||||
// window.loadScript = (url = "") => {
|
||||
// const p = new Promise((res, rej) => {
|
||||
// var script = document.createElement("script");
|
||||
// script.onload = function () {
|
||||
// log.log(`loaded script ${url}`);
|
||||
// res();
|
||||
// };
|
||||
// script.onerror = (err) => {
|
||||
// log.log(`error loading script ${url}`, "log-error");
|
||||
// res()
|
||||
// };
|
||||
// script.src = url;
|
||||
// document.head.appendChild(script);
|
||||
// });
|
||||
// return p;
|
||||
// };
|
||||
@@ -1,149 +0,0 @@
|
||||
module.exports = ({ editor, gallery, menu, repl, log }) => {
|
||||
editor.on('editor:evalLine', () => {
|
||||
console.log('evaluating')
|
||||
repl.eval(editor.getLine())
|
||||
})
|
||||
|
||||
editor.on('editor:evalBlock', () => {
|
||||
console.log('evaluating block')
|
||||
repl.eval(editor.getCurrentBlock().text)
|
||||
})
|
||||
|
||||
editor.on('editor:evalAll', () => {
|
||||
menu.runAll()
|
||||
})
|
||||
|
||||
editor.on('gallery:shareSketch', () => {
|
||||
menu.shareSketch()
|
||||
})
|
||||
|
||||
editor.on('editor:formatCode', () => {
|
||||
menu.formatCode()
|
||||
})
|
||||
|
||||
editor.on('gallery:saveToURL', () => {
|
||||
gallery.saveLocally(editor.getValue())
|
||||
})
|
||||
|
||||
editor.on('hideAll', () => {
|
||||
editor.toggle()
|
||||
log.toggle()
|
||||
})
|
||||
|
||||
editor.on('screencap', () => {
|
||||
screencap()
|
||||
const text = editor.getValue()
|
||||
const data = new Blob([text], {type: 'text/plain'});
|
||||
const a = document.createElement('a')
|
||||
a.style.display = 'none'
|
||||
let d = new Date()
|
||||
a.download = `hydra-${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}-${d.getHours()}.${d.getMinutes()}.${d.getSeconds()}.js`
|
||||
a.href = URL.createObjectURL(data)
|
||||
a.click()
|
||||
|
||||
setTimeout(() => {
|
||||
window.URL.revokeObjectURL(a.href);
|
||||
}, 300);
|
||||
})
|
||||
|
||||
editor.on('editor:toggleComment', () => {
|
||||
editor.cm.toggleComment()
|
||||
})
|
||||
|
||||
editor.on('*', (val) => {
|
||||
console.log('calling event', val, this)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// module.exports = {
|
||||
// init: ({ editor, gallery, menu, repl, log }) => {
|
||||
// window.onkeydown = (e) => {
|
||||
// if (e.ctrlKey === true) {
|
||||
// if (e.shiftKey === true) {
|
||||
// // shift - ctrl - enter: evalAll
|
||||
// if (e.keyCode === 13) {
|
||||
// e.preventDefault()
|
||||
// menu.runAll()
|
||||
// }
|
||||
|
||||
// // shift - ctrl - G: share sketch
|
||||
// if (e.keyCode === 71) {
|
||||
// e.preventDefault()
|
||||
// menu.shareSketch()
|
||||
// }
|
||||
|
||||
// // shift - ctrl - F: format code
|
||||
// if (e.keyCode === 70) {
|
||||
// e.preventDefault()
|
||||
// menu.formatCode()
|
||||
// }
|
||||
|
||||
// // shift - ctrl - l: save to url
|
||||
// if (e.keyCode === 76) {
|
||||
// e.preventDefault()
|
||||
// gallery.saveLocally(editor.getValue())
|
||||
// }
|
||||
|
||||
// // shift - ctrl - h: toggle editor
|
||||
// if (e.keyCode === 72) {
|
||||
// e.preventDefault()
|
||||
// editor.toggle()
|
||||
// log.toggle()
|
||||
// }
|
||||
|
||||
// // shift - ctrl - s: screencap
|
||||
// if (e.keyCode === 83) {
|
||||
// e.preventDefault()
|
||||
// screencap()
|
||||
// }
|
||||
|
||||
// // Point Mutation Glitcher Key Commands and history commands (left and right arrows)
|
||||
// // disabled as causing confusion with editor commands
|
||||
// // // right arrow key
|
||||
// // if (e.keyCode === 39) {
|
||||
// // e.preventDefault()
|
||||
// // window.history.forward()
|
||||
// // }
|
||||
// // // left arrow
|
||||
// // if (e.keyCode === 37) {
|
||||
// // e.preventDefault()
|
||||
// // window.history.back()
|
||||
// // }
|
||||
// // // up arrow
|
||||
// // if (e.keyCode === 38) {
|
||||
// // e.preventDefault()
|
||||
// // editor.mutator.doRedo()
|
||||
// // }
|
||||
// // // down arrow
|
||||
// // if (e.keyCode === 40) {
|
||||
// // editor.mutator.mutate({ reroll: true, event: e })
|
||||
// // menu.formatCode()
|
||||
// // gallery.saveLocally(editor.getValue())
|
||||
// // }
|
||||
// } else {
|
||||
// // ctrl-enter: evalLine
|
||||
// if (e.keyCode === 13) {
|
||||
// e.preventDefault()
|
||||
// // console.log('eval line')
|
||||
// repl.eval(editor.getLine())
|
||||
// }
|
||||
|
||||
// // ctrl - /: toggle comment
|
||||
// if (e.keyCode === 191) {
|
||||
// e.preventDefault()
|
||||
// editor.cm.toggleComment()
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (e.altKey === true) {
|
||||
// // alt - enter: evalBlock
|
||||
// if (e.keyCode === 13) {
|
||||
// e.preventDefault()
|
||||
// repl.eval(editor.getCurrentBlock().text)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -1,148 +0,0 @@
|
||||
/* eslint-disable no-eval */
|
||||
var CodeMirror = require('codemirror-minified/lib/codemirror')
|
||||
require('codemirror-minified/mode/javascript/javascript')
|
||||
require('codemirror-minified/addon/hint/javascript-hint')
|
||||
require('codemirror-minified/addon/hint/show-hint')
|
||||
require('codemirror-minified/addon/selection/mark-selection')
|
||||
require('codemirror-minified/addon/comment/comment')
|
||||
|
||||
const EventEmitter = require('nanobus')
|
||||
const keymaps = require('./keymaps.js')
|
||||
const beautify_js = require('js-beautify').js_beautify
|
||||
const Mutator = require('../randomizer/Mutator.js');
|
||||
|
||||
|
||||
var isShowing = true
|
||||
|
||||
|
||||
module.exports = class Editor extends EventEmitter {
|
||||
constructor() {
|
||||
super()
|
||||
console.log("*** Editor class created");
|
||||
var self = this
|
||||
|
||||
var container = document.createElement('div')
|
||||
container.setAttribute('id', 'editor-container')
|
||||
var el = document.createElement('TEXTAREA')
|
||||
document.body.appendChild(container)
|
||||
container.appendChild(el)
|
||||
|
||||
this.mutator = new Mutator(this);
|
||||
|
||||
const extraKeys = {}
|
||||
Object.entries(keymaps).forEach(([key, value]) => extraKeys[key] = () => this.emit(value))
|
||||
|
||||
const opts = {
|
||||
theme: 'tomorrow-night-eighties',
|
||||
value: 'hello',
|
||||
mode: { name: 'javascript', globalVars: true },
|
||||
lineWrapping: true,
|
||||
styleSelectedText: true,
|
||||
extraKeys: extraKeys
|
||||
}
|
||||
|
||||
this.cm = CodeMirror.fromTextArea(el, opts)
|
||||
window.cm = this.cm
|
||||
this.cm.refresh()
|
||||
|
||||
this.show()
|
||||
// // TO DO: add show code param
|
||||
let searchParams = new URLSearchParams(window.location.search)
|
||||
let showCode = searchParams.get('show-code')
|
||||
|
||||
if (showCode === "false") {
|
||||
this.hide()
|
||||
}
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.cm.setValue('\n \n // Type some code on a new line (such as "osc().out()"), and press CTRL+shift+enter')
|
||||
}
|
||||
|
||||
setValue(val) {
|
||||
this.cm.setValue(val)
|
||||
}
|
||||
|
||||
formatCode() {
|
||||
const formatted = beautify_js(this.cm.getValue(), { indent_size: 2, "break_chained_methods": true, "indent_with_tabs": true})
|
||||
this.cm.setValue(formatted)
|
||||
}
|
||||
|
||||
getValue() {
|
||||
return this.cm.getValue()
|
||||
}
|
||||
|
||||
hide() {
|
||||
console.log('hiding')
|
||||
var l = document.getElementsByClassName('CodeMirror')[0]
|
||||
var m = document.getElementById('modal-header')
|
||||
l.style.opacity = 0
|
||||
m.style.opacity = 0
|
||||
this.isShowing = false
|
||||
}
|
||||
|
||||
show() {
|
||||
var l = document.getElementsByClassName('CodeMirror')[0]
|
||||
var m = document.getElementById('modal-header')
|
||||
l.style.opacity= 1
|
||||
m.style.opacity = 1
|
||||
l.style.pointerEvents = 'all'
|
||||
this.isShowing = true
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if (this.isShowing) {
|
||||
this.hide()
|
||||
} else {
|
||||
this.show()
|
||||
}
|
||||
}
|
||||
|
||||
getLine() {
|
||||
var c = this.cm.getCursor()
|
||||
var s = this.cm.getLine(c.line)
|
||||
// this.cm.markText({line: c.line, ch:0}, {line: c.line+1, ch:0}, {className: 'styled-background'})
|
||||
this.flashCode({ line: c.line, ch: 0 }, { line: c.line + 1, ch: 0 })
|
||||
return s
|
||||
}
|
||||
|
||||
flashCode(start, end) {
|
||||
if (!start) start = { line: this.cm.firstLine(), ch: 0 }
|
||||
if (!end) end = { line: this.cm.lastLine() + 1, ch: 0 }
|
||||
var marker = this.cm.markText(start, end, { className: 'styled-background' })
|
||||
setTimeout(() => marker.clear(), 300)
|
||||
}
|
||||
|
||||
|
||||
getCurrentBlock() { // thanks to graham wakefield + gibber
|
||||
var editor = this.cm
|
||||
var pos = editor.getCursor()
|
||||
var startline = pos.line
|
||||
var endline = pos.line
|
||||
while (startline > 0 && editor.getLine(startline) !== '') {
|
||||
startline--
|
||||
}
|
||||
while (endline < editor.lineCount() && editor.getLine(endline) !== '') {
|
||||
endline++
|
||||
}
|
||||
var pos1 = {
|
||||
line: startline,
|
||||
ch: 0
|
||||
}
|
||||
var pos2 = {
|
||||
line: endline,
|
||||
ch: 0
|
||||
}
|
||||
var str = editor.getRange(pos1, pos2)
|
||||
|
||||
this.flashCode(pos1, pos2)
|
||||
|
||||
return {
|
||||
start: pos1,
|
||||
end: pos2,
|
||||
text: str
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
module.exports = {
|
||||
'Ctrl-Enter': 'editor:evalLine',
|
||||
'Ctrl-/': 'editor:toggleComment',
|
||||
'Alt-Enter': 'editor:evalBlock',
|
||||
'Shift-Ctrl-Enter': 'editor:evalAll',
|
||||
'Shift-Ctrl-G': 'gallery:shareSketch',
|
||||
'Shift-Ctrl-F': 'editor:formatCode',
|
||||
'Shift-Ctrl-L': 'gallery:saveToURL',
|
||||
'Shift-Ctrl-H': 'hideAll',
|
||||
'Shift-Ctrl-S': 'screencap'
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
var logElement
|
||||
|
||||
module.exports = {
|
||||
init: () => {
|
||||
logElement = document.createElement('div')
|
||||
logElement.className = "console cm-s-tomorrow-night-eighties"
|
||||
document.body.appendChild(logElement)
|
||||
},
|
||||
log: (msg, className = "") => {
|
||||
if(logElement) logElement.innerHTML =` >> <span class=${className}> ${msg} </span> `
|
||||
},
|
||||
hide: () => {
|
||||
if(logElement) logElement.style.display = 'none'
|
||||
},
|
||||
show: () => {
|
||||
if(logElement) logElement.style.display = 'block'
|
||||
},
|
||||
toggle: () => {
|
||||
if(logElement.style.display == 'none') {
|
||||
logElement.style.display = 'block'
|
||||
} else {
|
||||
logElement.style.display = 'none'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,227 +0,0 @@
|
||||
[
|
||||
{
|
||||
"sketch_id": "example_0",
|
||||
"code": "JTJGJTJGRmxvciUyMGRlJTIwRnVlZ28lMEElMEFzaGFwZSgyMDAlMkMwLjUlMkMxLjUpJTBBLnNjYWxlKDAuNSUyQzAuNSklMEEuY29sb3IoJTVCMC41JTJDMiU1RC5zbW9vdGgoMSklMkMwLjMlMkMwKSUwQS5yZXBlYXQoMiUyQzIpJTBBLm1vZHVsYXRlU2NhbGUob3NjKDMlMkMwLjUpJTJDLTAuNiklMEEuYWRkKG8wJTJDMC41KSUwQS5zY2FsZSgwLjkpJTBBLm91dCgp"
|
||||
},{
|
||||
"sketch_id": "example_3",
|
||||
"code":"JTJGJTJGJTIwYnklMjBPbGl2aWElMjBKYWNrJTBBJTBBb3NjKDIwJTJDJTIwMC4wMyUyQyUyMDEuNykua2FsZWlkKCkubXVsdChvc2MoMjAlMkMlMjAwLjAwMSUyQyUyMDApLnJvdGF0ZSgxLjU4KSkuYmxlbmQobzAlMkMlMjAwLjk0KS5tb2R1bGF0ZVNjYWxlKG9zYygxMCUyQyUyMDApJTJDLTAuMDMpLnNjYWxlKDAuOCUyQyUyMCgpJTIwJTNEJTNFJTIwKDEuMDUlMjAlMkIlMjAwLjElMjAqJTIwTWF0aC5zaW4oMC4wNSp0aW1lKSkpLm91dChvMCk="
|
||||
},{
|
||||
"sketch_id": "example_4",
|
||||
"code":"JTJGJTJGJTIwYnklMjBOZWxzb24lMjBWZXJhJTBBJTJGJTJGJTIwdHdpdHRlciUzQSUyMCU0MG5lbF9zb25vbG9naWElMEElMEFvc2MoOCUyQy0wLjUlMkMlMjAxKS5jb2xvcigtMS41JTJDJTIwLTEuNSUyQyUyMC0xLjUpLmJsZW5kKG8wKS5yb3RhdGUoLTAuNSUyQyUyMC0wLjUpLm1vZHVsYXRlKHNoYXBlKDQpLnJvdGF0ZSgwLjUlMkMlMjAwLjUpLnNjYWxlKDIpLnJlcGVhdFgoMiUyQyUyMDIpLm1vZHVsYXRlKG8wJTJDJTIwKCklMjAlM0QlM0UlMjBtb3VzZS54JTIwKiUyMDAuMDAwNSkucmVwZWF0WSgyJTJDJTIwMikpLm91dChvMCklMEElMEElMEElMEElMEElMEE="
|
||||
},{
|
||||
"sketch_id": "example_6",
|
||||
"code":"JTJGJTJGJTIwYnklMjBEJUMzJUE5Ym9yYSUyMEZhbGxlaXJvcyUyMEdvbnphbGVzJTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZ3d3cuZ29uemFsZXNkZWJvcmEuY29tJTJGJTBBJTBBb3NjKDUpLmFkZChub2lzZSg1JTJDJTIwMikpLmNvbG9yKDAlMkMlMjAwJTJDJTIwMykuY29sb3JhbWEoMC40KS5vdXQoKSUwQSUwQSUwQSUwQQ=="
|
||||
},{
|
||||
"sketch_id": "example_8",
|
||||
"code":"JTJGJTJGJTIwYnklMjBSb2RyaWdvJTIwVmVsYXNjbyUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGeWVjdG8uZ2l0aHViLmlvJTJGJTBBJTBBb3NjKDEwNyUyQyUyMDAlMkMlMjAwLjcpLmNvbG9yKDElMkMlMjAwJTJDJTIwMSkucm90YXRlKDAlMkMlMjAtMC4wOCkubW9kdWxhdGVSb3RhdGUobzElMkMlMjAwLjQpLm91dChvMCklMEFvc2MoMzMpLnJvdGF0ZSgyJTJDJTIwMC44KS5tb2R1bGF0ZVJvdGF0ZShvMCUyQyUyMCgpJTIwJTNEJTNFJTIwKGEuZmZ0JTVCMCU1RCoyKSkub3V0KG8xKSUwQQ=="
|
||||
},{
|
||||
"sketch_id": "example_9",
|
||||
"code":"JTJGJTJGJTIwYnklMjBSb2RyaWdvJTIwVmVsYXNjbyUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGeWVjdG8uZ2l0aHViLmlvJTJGJTBBJTBBb3NjKDE4JTJDJTIwMC4xJTJDJTIwMCkuY29sb3IoMiUyQyUyMDAuMSUyQyUyMDIpJTBBLm11bHQob3NjKDIwJTJDJTIwMC4wMSUyQyUyMDApKS5yZXBlYXQoMiUyQyUyMDIwKS5yb3RhdGUoMC41KS5tb2R1bGF0ZShvMSklMEEuc2NhbGUoMSUyQyUyMCgpJTIwJTNEJTNFJTIwJTIwKGEuZmZ0JTVCMCU1RCowLjklMjAlMkIlMjAyKSkuZGlmZihvMSkub3V0KG8wKSUwQW9zYygyMCUyQyUyMDAuMiUyQyUyMDApLmNvbG9yKDIlMkMlMjAwLjclMkMlMjAwLjEpLm11bHQob3NjKDQwKSkubW9kdWxhdGVSb3RhdGUobzAlMkMlMjAwLjIpJTBBLnJvdGF0ZSgwLjIpLm91dChvMSk="
|
||||
},{
|
||||
"sketch_id": "example_10",
|
||||
"code":"JTJGJTJGJTIwYnklMjBaYWNoJTIwS3JhbGwlMEElMkYlMkYlMjBodHRwJTNBJTJGJTJGemFjaGtyYWxsLm9ubGluZSUyRiUwQSUwQW9zYyglMjAyMTUlMkMlMjAwLjElMkMlMjAyJTIwKSUwQS5tb2R1bGF0ZSglMEElMjAlMjBvc2MoJTIwMiUyQyUyMC0wLjMlMkMlMjAxMDAlMjApJTBBJTIwJTIwLnJvdGF0ZSgxNSklMEEpJTBBLm11bHQoJTBBJTIwJTIwb3NjKCUyMDIxNSUyQyUyMC0wLjElMkMlMjAyKSUwQSUyMCUyMC5waXhlbGF0ZSglMjA1MCUyQyUyMDUwJTIwKSUwQSklMEEuY29sb3IoJTIwMC45JTJDJTIwMC4wJTJDJTIwMC45JTIwKSUwQS5tb2R1bGF0ZSglMEElMjAlMjBvc2MoJTIwNiUyQyUyMC0wLjElMjApJTBBJTIwJTIwLnJvdGF0ZSglMjA5JTIwKSUwQSklMEEuYWRkKCUwQSUyMCUyMG9zYyglMjAxMCUyQyUyMC0wLjklMkMlMjA5MDAlMjApJTBBJTIwJTIwLmNvbG9yKDElMkMwJTJDMSklMEEpJTBBLm11bHQoJTBBJTIwJTIwc2hhcGUoOTAwJTJDJTIwMC4yJTJDJTIwMSklMEElMjAlMjAubHVtYSgpJTBBJTIwJTIwLnJlcGVhdFgoMiklMEElMjAlMjAucmVwZWF0WSgyKSUwQSUyMCUyMC5jb2xvcmFtYSgxMCklMEEpJTBBLm1vZHVsYXRlKCUwQSUyMCUyMG9zYyglMjA5JTJDJTIwLTAuMyUyQyUyMDkwMCUyMCklMEElMjAlMjAucm90YXRlKCUyMDYlMjApJTBBKSUwQS5hZGQoJTBBJTIwJTIwb3NjKDQlMkMlMjAxJTJDJTIwOTApJTBBJTIwJTIwLmNvbG9yKDAuMiUyQzAlMkMxKSUwQSklMEEub3V0KCklMEE="
|
||||
},{
|
||||
"sketch_id": "example_11",
|
||||
"code": "JTJGJTJGJTIwYnklMjBaYWNoJTIwS3JhbGwlMEElMkYlMkYlMjBodHRwJTNBJTJGJTJGemFjaGtyYWxsLm9ubGluZSUyRiUwQSUwQW9zYygxMCUyQyUyMDAuOSUyQyUyMDMwMCklMEEuY29sb3IoMC45JTJDJTIwMC43JTJDJTIwMC44KSUwQS5kaWZmKCUwQSUyMCUyMG9zYyg0NSUyQyUyMDAuMyUyQyUyMDEwMCklMEElMjAlMjAuY29sb3IoMC45JTJDJTIwMC45JTJDJTIwMC45KSUwQSUyMCUyMC5yb3RhdGUoMC4xOCklMEElMjAlMjAucGl4ZWxhdGUoMTIpJTBBJTIwJTIwLmthbGVpZCgpJTBBKSUwQS5zY3JvbGxYKDEwKSUwQS5jb2xvcmFtYSgpJTBBLmx1bWEoKSUwQS5yZXBlYXRYKDQpJTBBLnJlcGVhdFkoNCklMEEubW9kdWxhdGUoJTBBJTIwJTIwb3NjKDElMkMlMjAtMC45JTJDJTIwMzAwKSUwQSklMEEuc2NhbGUoMiklMEEub3V0KCklMEE="
|
||||
},{
|
||||
"sketch_id": "example_13",
|
||||
"code":"JTJGJTJGJTIwYWNpZCUyMGJ1cyUyMHNlYXQlMEElMkYlMkYlMjBieSUyMFdpbGwlMjBIdW1waHJleXMlMEElMkYlMkYlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZUaGVXaXNweSUwQSUwQW9zYygxMDUpLmNvbG9yKDAuNSUyQzAuMSUyQzAuOCkucm90YXRlKDAuMTElMkMlMjAwLjEpLm1vZHVsYXRlKG9zYygxMCkucm90YXRlKDAuMykuYWRkKG8wJTJDJTIwMC4xKSkuYWRkKG9zYygyMCUyQzAuMDElMkMxKS5jb2xvcigwJTJDMC44JTJDMSkpLm91dChvMCklMEFvc2MoNTAlMkMwLjA1JTJDJTIwMC43KS5jb2xvcigxJTJDMC43JTJDMC41KS5kaWZmKG8wKS5tb2R1bGF0ZShvMSUyQzAuMDUpLm91dChvMSklMEFyZW5kZXIobzEp"
|
||||
},
|
||||
{
|
||||
"sketch_id": "example_14",
|
||||
"code": "JTJGJTJGJTIwYnklMjBPbGl2aWElMjBKYWNrJTBBJTJGJTJGJTIwJTQwX29qYWNrXyUwQSUwQW9zYygyMCUyQyUyMDAuMDElMkMlMjAxLjEpJTBBJTA5LmthbGVpZCg1KSUwQSUwOS5jb2xvcigyLjgzJTJDMC45MSUyQzAuMzkpJTBBJTA5LnJvdGF0ZSgwJTJDJTIwMC4xKSUwQSUwOS5tb2R1bGF0ZShvMCUyQyUyMCgpJTIwJTNEJTNFJTIwbW91c2UueCUyMColMjAwLjAwMDMpJTBBJTA5LnNjYWxlKDEuMDEpJTBBJTIwJTIwJTA5Lm91dChvMCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "example_15",
|
||||
"code": "JTJGJTJGJTIwYnklMjBPbGl2aWElMjBKYWNrJTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZvamFjay5naXRodWIuaW8lMEElMEFvc2MoMTAwJTJDJTIwMC4wMSUyQyUyMDEuNCklMEElMDkucm90YXRlKDAlMkMlMjAwLjEpJTBBJTA5Lm11bHQob3NjKDEwJTJDJTIwMC4xKS5tb2R1bGF0ZShvc2MoMTApLnJvdGF0ZSgwJTJDJTIwLTAuMSklMkMlMjAxKSklMEElMDkuY29sb3IoMi44MyUyQzAuOTElMkMwLjM5KSUwQSUyMCUyMC5vdXQobzAp"
|
||||
},
|
||||
{
|
||||
"sketch_id": "example_16",
|
||||
"code": "JTJGJTJGJTIwYnklMjBPbGl2aWElMjBKYWNrJTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZvamFjay5naXRodWIuaW8lMEElMEFvc2MoNCUyQyUyMDAuMSUyQyUyMDAuOCkuY29sb3IoMS4wNCUyQzAlMkMlMjAtMS4xKS5yb3RhdGUoMC4zMCUyQyUyMDAuMSkucGl4ZWxhdGUoMiUyQyUyMDIwKS5tb2R1bGF0ZShub2lzZSgyLjUpJTJDJTIwKCklMjAlM0QlM0UlMjAxLjUlMjAqJTIwTWF0aC5zaW4oMC4wOCUyMColMjB0aW1lKSkub3V0KG8wKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "example_17",
|
||||
"code": "JTJGJTJGJTIwbW9pcmUlMEElMkYlMkYlMjBieSUyME9saXZpYSUyMEphY2slMEElMkYlMkYlMjB0d2l0dGVyJTNBJTIwJTQwX29qYWNrXyUwQSUwQXBhdHRlcm4lMjAlM0QlMjAoKSUyMCUzRCUzRSUyMG9zYygyMDAlMkMlMjAwKS5rYWxlaWQoMjAwKS5zY2FsZSgxJTJDJTIwMC40KSUwQSUyRiUyRiUwQXBhdHRlcm4oKSUwQSUyMCUyMC5zY3JvbGxYKDAuMSUyQyUyMDAuMDEpJTBBJTIwJTIwLm11bHQocGF0dGVybigpKSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "example_18",
|
||||
"code": "JTJGJTJGJTIwYnklMjBPbGl2aWElMjBKYWNrJTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZvamFjay5naXRodWIuaW8lMEElMEFvc2MoNiUyQyUyMDAlMkMlMjAwLjgpJTBBJTIwJTIwLmNvbG9yKDEuMTQlMkMlMjAwLjYlMkMuODApJTBBJTIwJTIwLnJvdGF0ZSgwLjkyJTJDJTIwMC4zKSUwQSUyMCUyMC5waXhlbGF0ZSgyMCUyQyUyMDEwKSUwQSUyMCUyMC5tdWx0KG9zYyg0MCUyQyUyMDAuMDMpLnRocmVzaCgwLjQpLnJvdGF0ZSgwJTJDJTIwLTAuMDIpKSUwQSUyMCUyMC5tb2R1bGF0ZVJvdGF0ZShvc2MoMjAlMkMlMjAwKS50aHJlc2goMC4zJTJDJTIwMC42KSUyQyUyMCgpJTIwJTNEJTNFJTIwMC4xJTIwJTJCJTIwbW91c2UueCUyMColMjAwLjAwMiklMEElMjAlMjAub3V0KG8wKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "rangga_0",
|
||||
"code": "JTJGJTJGJTIwRHJlYW15JTIwRGlhbW9uZCUwQSUyRiUyRiUyMGJ5JTIwUmFuZ2dhJTIwUHVybmFtYSUyMEFqaSUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGcmFuZ2dhcHVybmFtYWFqaTEud2l4c2l0ZS5jb20lMkZwb3J0Zm9saW8lMEElMEFvc2MoNyUyQy0wLjEyNSkubW9kdWxhdGUodm9yb25vaSgxKSkuZGlmZih2b3Jvbm9pKDEpLm11bHQoZ3JhZGllbnQoLTEpLmx1bWEoMC4xMjUpKSklMEElMjAlMjAubHVtYSgwLjEyNSklMEElMjAlMjAuYWRkKHNoYXBlKDclMkMlMjAwLjUpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwLm11bHQodm9yb25vaSgxMCUyQzIpLmJsZW5kKG8wKS5kaWZmKGdyYWRpZW50KDEpKS5tb2R1bGF0ZSh2b3Jvbm9pKCkpKSklMEElMjAlMjAuc2Nyb2xsWSgtMC4xKSUwQSUyMCUyMC5zY3JvbGxYKDAuMTI1KSUwQSUyMCUyMC5ibGVuZChvMCklMEElMjAlMjAuYmxlbmQobzApJTBBJTIwJTIwLm91dCgpJTBB"
|
||||
},
|
||||
{
|
||||
"sketch_id": "rangga_1",
|
||||
"code": "JTJGJTJGJTIwVGFnJTIwJTI2JTIwU3dlZXAlMEElMkYlMkYlMjBieSUyMFJhbmdnYSUyMFB1cm5hbWElMjBBamklMEElMkYlMkYlMjBodHRwcyUzQSUyRiUyRnJhbmdnYXB1cm5hbWFhamkxLndpeHNpdGUuY29tJTJGcG9ydGZvbGlvJTBBJTBBb3NjKDUlMkMwLjEyNSkuY29sb3JhbWEoMSklMEElMjAlMjAubHVtYSgwLjEyNSkuYWRkKHNoYXBlKDElMkMwLjUpLmx1bWEoMikuZGlmZihncmFkaWVudCgxKSkpJTBBJTIwJTIwLmRpZmYob3NjKC0xJTJDLTAuMjUpKS5ibGVuZChvMCkuY29sb3IoMCUyQzIuNSUyQzEuNzUpJTBBJTIwJTIwLm91dCgp"
|
||||
},
|
||||
{
|
||||
"sketch_id": "rangga_2",
|
||||
"code": "JTJGJTJGJTIwTW9ub2Nocm9tZSUyME1lbW9hciUwQSUyRiUyRiUyMGJ5JTIwUmFuZ2dhJTIwUHVybmFtYSUyMEFqaSUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGcmFuZ2dhcHVybmFtYWFqaTEud2l4c2l0ZS5jb20lMkZwb3J0Zm9saW8lMEElMEF2b3Jvbm9pKDUwJTJDMSklMEElMjAlMjAubHVtYSgwLjUpLmFkZChzaGFwZSgxJTJDMSkubHVtYSgxKSklMEElMjAlMjAubW9kdWxhdGUob3NjKC0xMDAwJTJDLTEpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLm1vZHVsYXRlKG9zYygpLmx1bWEoKSkpJTBBJTIwJTIwLmJsZW5kKG8wKSUwQSUyMCUyMC5ibGVuZChvMCklMEElMjAlMjAuYmxlbmQobzApJTBBJTIwJTIwLmJsZW5kKG8wKSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "rangga_3",
|
||||
"code": "JTJGJTJGJTIwR2FsYXh5JTIwVHJpcCUwQSUyRiUyRiUyMGJ5JTIwUmFuZ2dhJTIwUHVybmFtYSUyMEFqaSUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGcmFuZ2dhcHVybmFtYWFqaTEud2l4c2l0ZS5jb20lMkZwb3J0Zm9saW8lMEElMEFzaGFwZSgxJTJDMSklMEElMjAlMjAubXVsdCh2b3Jvbm9pKDEwMDAlMkMyKSUwQSUyMCUyMC5ibGVuZChvMCkubHVtYSgpKSUwQSUyMCUyMC5hZGQoc2hhcGUoMyUyQzAuMTI1KSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMC5yb3RhdGUoMSUyQzEpLm11bHQodm9yb25vaSgxMDAwJTJDMSkubHVtYSgpKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMC5yb3RhdGUoMS41KSkuc2Nyb2xsWCglNUIwLjElMkMtMC4wNjI1JTJDMC4wMDUlMkMwLjAwMDAxJTVEJTJDMCklMEElMjAlMjAuc2Nyb2xsWSglNUIwLjElMkMtMC4wNjI1JTJDMC4wMDUlMkMwLjAwMDAxJTVEJTJDMCklMEElMjAlMjAub3V0KCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "rangga_4",
|
||||
"code": "JTJGJTJGJTIwU3VtZXQlMEElMkYlMkYlMjBieSUyMFJhbmdnYSUyMFB1cm5hbWElMjBBamklMEElMkYlMkYlMjBodHRwcyUzQSUyRiUyRnJhbmdnYXB1cm5hbWFhamkxLndpeHNpdGUuY29tJTJGcG9ydGZvbGlvJTBBJTBBb3NjKDAuNSUyQzEuMjUpLm11bHQoc2hhcGUoMSUyQzAuMDkpLnJvdGF0ZSgxLjUpKSUwQSUyMCUyMC5kaWZmKGdyYWRpZW50KCkpJTBBJTIwJTIwLmFkZChzaGFwZSgyJTJDMikuYmxlbmQoZ3JhZGllbnQoMSkpKSUwQSUyMCUyMC5tb2R1bGF0ZShub2lzZSgpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLm1vZHVsYXRlKG5vaXNlKCkuc2Nyb2xsWSgxJTJDMC4wNjI1KSkpJTBBJTIwJTIwLmJsZW5kKG8wKSUwQSUyMCUyMC5jb2xvcigxJTJDLTAuNSUyQy0wLjc1KSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "marianne_0",
|
||||
"code": "JTJGJTJGcG9ydCUwQSUyRiUyRmJ5JTIwTWFyaWFubmUlMjBUZWl4aWRvJTBBJTJGJTJGaHR0cHMlM0ElMkYlMkZtYXJpYW5uZXRlaXhpZG8uZ2l0aHViLmlvJTJGJTBBJTBBb3NjKDUlMkMlMjAwLjklMkMlMjAwLjAwMSklMEElMjAlMjAlMjAlMjAua2FsZWlkKCU1QjMlMkM0JTJDNSUyQzclMkM4JTJDOSUyQzEwJTVELmZhc3QoMC4xKSklMEElMjAlMjAlMjAlMjAuY29sb3IoMC41JTJDJTIwMC4zKSUwQSUyMCUyMCUyMCUyMC5jb2xvcmFtYSgwLjQpJTBBJTIwJTIwJTIwJTIwLnJvdGF0ZSgwLjAwOSUyQygpJTNEJTNFTWF0aC5zaW4odGltZSkqJTIwLTAuMDAxJTIwKSUwQSUyMCUyMCUyMCUyMC5tb2R1bGF0ZVJvdGF0ZShvMCUyQygpJTNEJTNFTWF0aC5zaW4odGltZSklMjAqJTIwMC4wMDMpJTBBJTIwJTIwJTIwJTIwLm1vZHVsYXRlKG8wJTJDJTIwMC45KSUwQSUyMCUyMCUyMCUyMC5zY2FsZSgwLjkpJTBBJTIwJTIwJTIwJTIwLm91dChvMCklMEElMEE="
|
||||
},
|
||||
{
|
||||
"sketch_id": "marianne_1",
|
||||
"code": "JTJGJTJGUGl4ZWxzY2FwZSUwQSUyRiUyRk1hcmlhbm5lJTIwVGVpeGlkbyUwQSUyRiUyRmh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRk1hcmlhbm5lVGVpeGlkbyUwQSUwQXNyYyhvMCklMEElMjAuc2F0dXJhdGUoMS4wMSklMEElMjAuc2NhbGUoLjk5OSklMEElMjAuY29sb3IoMS4wMSUyQzEuMDElMkMxLjAxKSUwQSUyMC5odWUoLjAxKSUwQSUyMC5tb2R1bGF0ZUh1ZShzcmMobzEpLmh1ZSguMykucG9zdGVyaXplKC0xKS5jb250cmFzdCguNyklMkMyKSUwQSUyMCUyMC5sYXllcihzcmMobzEpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLmx1bWEoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC5tdWx0KGdyYWRpZW50KDEpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLnNhdHVyYXRlKC45KSkpJTBBJTIwJTIwLm91dChvMCklMEElMEFub2lzZSgxJTJDJTIwLjIpJTBBJTIwJTIwLnJvdGF0ZSgyJTJDLjUpJTBBJTIwJTIwLmxheWVyKHNyYyhvMCklMEElMjAlMjAuc2Nyb2xsWCguMikpJTBBJTIwJTIwLm91dChvMSklMEElMEFyZW5kZXIobzAp"
|
||||
|
||||
},
|
||||
{
|
||||
"sketch_id": "naoto_0",
|
||||
"code": "JTJGJTJGJTIwJTQwbmFvdG9faGllZGElMEFvc2MoMjAlMkMlMjAwLjElMkMlMjAwKS5jb2xvcigwJTJDJTIwMSUyQyUyMDIpLnJvdGF0ZSgxLjU3JTJGMikub3V0KG8xKSUwQW9zYygzMCUyQyUyMDAuMDElMkMlMjAwKS5jb2xvcigyJTJDJTIwMC43JTJDJTIwMSkubW9kdWxhdGUobzElMkMlMjAwKS5hZGQobzElMkMxKS5tb2R1bGF0ZVBpeGVsYXRlKG8xJTJDMSUyQzEwKS5vdXQobzAp"
|
||||
},
|
||||
{
|
||||
"sketch_id": "naoto_1",
|
||||
"code": "JTJGJTJGJTIwJTQwbmFvdG9faGllZGElMEFzb2xpZCgwLjIlMkMwLjYlMkMwLjkpLmxheWVyKG9zYygzMS40JTJDMCkudGhyZXNoKDAuNykubHVtYSgpLm1vZHVsYXRlKG9zYyg0JTJDMSkucm90YXRlKDEpJTJDMC4wNSkuY29sb3IoMCUyQzAlMkMwKSkubGF5ZXIob3NjKDMxLjQlMkMwKS50aHJlc2goMC43KS5sdW1hKCkubW9kdWxhdGUob3NjKDQlMkMxKS5yb3RhdGUoMSklMkMwLjEpKS5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "ritchse_0",
|
||||
"code": "JTJGJTJGcmFuZG9tJTIwdHJ5cG9waG9iaWElMjAtJTIwY2hhbmdlcyUyMGV2ZXJ5dGltZSUyMHlvdSUyMGxvYWQlMjBpdCElMEElMkYlMkZieSUyMFJpdGNoc2UlMEElMkYlMkZpbnN0YWdyYW0uY29tJTJGcml0Y2hzZSUwQSUyMCUwQWZ1bmN0aW9uJTIwcihtaW4lM0QwJTJDbWF4JTNEMSklMjAlN0IlMjByZXR1cm4lMjBNYXRoLnJhbmRvbSgpKihtYXgtbWluKSUyQm1pbiUzQiUyMCU3RCUwQSUyMCUwQXNvbGlkKDElMkMxJTJDMSklMEElMjAlMjAlMDkuZGlmZihzaGFwZSglNUI0JTJDNCUyQzQlMkMyNCU1RC5zbW9vdGgoKS5mYXN0KC41KSUyQ3IoMC42JTJDMC45MyklMkMuMDkpLnJlcGVhdCgyMCUyQzEwKSklMEElMDkubW9kdWxhdGVTY2FsZShvc2MoOCkucm90YXRlKHIoLS41JTJDLjUpKSUyQy41MiklMEElMDkuYWRkKCUwQSUyMCUyMCUwOSUwOXNyYyhvMCkuc2NhbGUoMC45NjUpLnJvdGF0ZSguMDEyKihNYXRoLnJvdW5kKHIoLTIlMkMxKSkpKSUwQSUyMCUyMCUwOSUwOS5jb2xvcihyKCklMkNyKCklMkNyKCkpJTBBJTIwJTIwJTIwJTIwJTA5Lm1vZHVsYXRlUm90YXRlKG8wJTJDcigwJTJDMC41KSklMEElMjAlMjAlMDklMDkuYnJpZ2h0bmVzcyguMTUpJTBBJTIwJTIwJTA5JTA5JTJDLjcpJTBBJTA5Lm91dCgp"
|
||||
},
|
||||
{
|
||||
"sketch_id": "ritchse_1",
|
||||
"code": "JTJGJTJGY29ycnVwdGVkJTIwc2NyZWVuc2F2ZXIlMEElMkYlMkZieSUyMFJpdGNoc2UlMEElMkYlMkZpbnN0YWdyYW0uY29tJTJGcml0Y2hzZSUwQSUyMCUwQXZvcm9ub2koMzUwJTJDMC4xNSklMEElMjAlMjAlMDkubW9kdWxhdGVTY2FsZShvc2MoOCkucm90YXRlKE1hdGguc2luKHRpbWUpKSUyQy41KSUwQSUyMCUyMCUwOS50aHJlc2goLjgpJTBBJTA5Lm1vZHVsYXRlUm90YXRlKG9zYyg3KSUyQy40KSUwQSUwOS50aHJlc2goLjcpJTBBJTIwJTIwJTA5LmRpZmYoc3JjKG8wKS5zY2FsZSgxLjgpKSUwQSUwOS5tb2R1bGF0ZVNjYWxlKG9zYygyKS5tb2R1bGF0ZVJvdGF0ZShvMCUyQy43NCkpJTBBJTA5LmRpZmYoc3JjKG8wKS5yb3RhdGUoJTVCLS4wMTIlMkMuMDElMkMtLjAwMiUyQzAlNUQpLnNjcm9sbFkoMCUyQyU1Qi0xJTJGMTk5ODAwJTJDMCU1RC5mYXN0KDAuNykpKSUwQSUwOS5icmlnaHRuZXNzKCU1Qi0uMDIlMkMtLjE3JTVELnNtb290aCgpLmZhc3QoLjUpKSUwQSUwOS5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "ritchse_2",
|
||||
"code": "JTJGJTJGdHJvcGljYWwlMjBqdWljZSUwQSUyRiUyRmJ5JTIwUml0Y2hzZSUwQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZyaXRjaHNlJTBBJTIwJTBBdm9yb25vaSgyJTJDMC4zJTJDMC4yKS5zaGlmdCgwLjUpJTBBLm1vZHVsYXRlUGl4ZWxhdGUodm9yb25vaSg0JTJDMC4yKSUyQzMyJTJDMiklMEEuc2NhbGUoKCklM0QlM0UxJTJCKE1hdGguc2luKHRpbWUqMi41KSowLjA1KSklMEEuZGlmZih2b3Jvbm9pKDMpLnNoaWZ0KDAuNikpJTBBLmRpZmYob3NjKDIlMkMwLjE1JTJDMS4xKS5yb3RhdGUoKSklMEEuYnJpZ2h0bmVzcygwLjEpLmNvbnRyYXN0KDEuMikuc2F0dXJhdGUoMS4yKSUwQSUwOS5vdXQoKSUwQXNwZWVkJTIwJTNEJTIwMC44"
|
||||
},
|
||||
{
|
||||
"sketch_id": "ritchse_3",
|
||||
"code": "JTJGJTJGdHJ5aW5nJTIwdG8lMjBnZXQlMjBjbG9zZXIlMEElMkYlMkZieSUyMFJpdGNoc2UlMEElMkYlMkZpbnN0YWdyYW0uY29tJTJGcml0Y2hzZSUwQSUyMCUwQW9zYyg2MCUyQy0wLjAxNSUyQzAuMykuZGlmZihvc2MoNjAlMkMwLjA4KS5yb3RhdGUoTWF0aC5QSSUyRjIpKSUwQSUwOS5tb2R1bGF0ZVNjYWxlKG5vaXNlKDMuNSUyQzAuMjUpLm1vZHVsYXRlU2NhbGUob3NjKDE1KS5yb3RhdGUoKCklM0QlM0VNYXRoLnNpbih0aW1lJTJGMikpKSUyQzAuNiklMEElMDkuY29sb3IoMSUyQzAuNSUyQzAuNCkuY29udHJhc3QoMS40KSUwQSUwOS5hZGQoc3JjKG8wKS5tb2R1bGF0ZShvMCUyQy4wNCklMkMuNiklMEElMDkuaW52ZXJ0KCkuYnJpZ2h0bmVzcygwLjEpLmNvbnRyYXN0KDEuMiklMEElMDkubW9kdWxhdGVTY2FsZShvc2MoMiklMkMtMC4yKSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "ritchse_4",
|
||||
"code": "JTJGJTJGJTIwZGlzaW50ZWdyYXRpb24lMEElMkYlMkYlMjBieSUyMFJpdGNoc2UlMEElMkYlMkYlMjBpbnN0YWdyYW0uY29tJTJGcml0Y2hzZSUwQSUyMCUwQW9zYyg1JTJDLjEpLm1vZHVsYXRlKG5vaXNlKDYpJTJDLjIyKS5kaWZmKG8wKSUwQSUyMCUyMCUwOS5tb2R1bGF0ZVNjcm9sbFkob3NjKDIpLm1vZHVsYXRlKG9zYygpLnJvdGF0ZSgpJTJDLjExKSklMEElMDkuc2NhbGUoLjcyKS5jb2xvcigwLjk5JTJDMS4wMTQlMkMxKSUwQSUyMCUyMCUwOS5vdXQoKQ== "
|
||||
},
|
||||
{
|
||||
"sketch_id": "flor_0",
|
||||
"code": "JTJGJTJGRmxvciUyMGRlJTIwRnVlZ28lMEElMkYlMkZodHRwcyUzQSUyRiUyRmZsb3JkZWZ1ZWdvLmdpdGh1Yi5pbyUyRiUwQW9zYygzMCUyQzAuMDElMkMxKSUwQS5tdWx0KG9zYygyMCUyQy0wLjElMkMxKS5tb2R1bGF0ZShub2lzZSgzJTJDMSkpLnJvdGF0ZSgwLjcpKSUwQS5wb3N0ZXJpemUoJTVCMyUyQzEwJTJDMiU1RC5mYXN0KDAuNSkuc21vb3RoKDEpKSUwQS5tb2R1bGF0ZVJvdGF0ZShvMCUyQygpJTNEJTNFbW91c2UueCowLjAwMyklMEEub3V0KCk= "
|
||||
},
|
||||
{
|
||||
"sketch_id": "mahalia_0",
|
||||
"code": "JTJGJTJGJTIwTWFoYWxpYSUyMEgtUiUwQSUyRiUyRiUyMElHJTNBJTIwJTQwbW1faHJfJTBBJTBBc2hhcGUoMjAlMkMwLjElMkMwLjAxKSUwQSUyMCUyMC5zY2FsZSgoKSUyMCUzRCUzRSUyME1hdGguc2luKHRpbWUpKjMpJTBBJTIwJTIwLnJlcGVhdCgoKSUyMCUzRCUzRSUyME1hdGguc2luKHRpbWUpKjEwKSUwQSUyMCUyMC5tb2R1bGF0ZVJvdGF0ZShvMCklMEElMjAlMjAuc2NhbGUoKCklMjAlM0QlM0UlMjBNYXRoLnNpbih0aW1lKSoyKSUwQSUyMCUyMC5tb2R1bGF0ZShub2lzZSgyJTJDMCkpJTBBJTIwJTIwLnJvdGF0ZSgwLjElMkMlMjAwLjkpJTBBLm91dChvMCklMEElMEFzcmMobzApJTBBLm1vZHVsYXRlKG9zYyg1MDAlMkMwJTJDMCkpJTBBLm91dChvMSklMEElMEFzcmMobzEpJTBBLm1vZHVsYXRlS2FsZWlkKHZvcm9ub2koKCklMjAlM0QlM0UlMjBNYXRoLnNpbih0aW1lKSozJTJDMC4xJTJDMC4wMSklMkMoKSUyMCUzRCUzRSUyME1hdGguc2luKHRpbWUpKjMpJTBBLnNjYWxlKCgpJTIwJTNEJTNFJTIwTWF0aC5zaW4odGltZSkqMyklMEEub3V0KG8yKSUwQSUwQXJlbmRlcihvMik="
|
||||
},
|
||||
{
|
||||
"sketch_id": "mahalia_1",
|
||||
"code": "JTJGJTJGJTIwTWFoYWxpYSUyMEgtUiUwQSUyRiUyRiUyMElHJTNBJTIwJTQwbW1faHJfJTBBJTBBc2hhcGUoKCklMjAlM0QlM0UlMjBNYXRoLnNpbih0aW1lKSUyQjEqMiklMEEucm90YXRlKCgpJTIwJTNEJTNFJTIwTWF0aC5QSSUyMColMjBtb3VzZS54JTIwJTJGMTgwKSUwQS5yZXBlYXRYKDMpJTBBLnJlcGVhdFkoKCklM0QlM0VNYXRoLnNpbih0aW1lKSo1KSUwQS5zY2FsZSgoKSUyMCUzRCUzRSUyME1hdGguUEklMkY0KSUwQS5ibGVuZChzcmMobzApLmNvbG9yKDElMkMwJTJDMCkpJTBBLm1vZHVsYXRlKG9zYygyMCUyQyUyMDAlMkMuNCkpJTBBLmthbGVpZCgyKSUwQSUyMC5vdXQobzApJTBBJTBBcmVuZGVyKG8wKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "mahalia_2",
|
||||
"code": "JTJGJTJGJTIwVmVsdmV0JTIwUG9vbCUwQSUyRiUyRiUyMGJ5JTIwTWFoYWxpYSUyMEgtUiUwQSUyRiUyRiUyMElHJTNBJTIwbW1faHJfJTBBJTBBJTBBbm9pc2UoKSUwQS5jb2xvcigoKSUyMCUzRCUzRSUyMGEuZmZ0JTVCMiU1RCoyJTJDMCUyQy42KSUwQS5tb2R1bGF0ZShub2lzZSgoKSUyMCUzRCUzRSUyMGEuZmZ0JTVCMCU1RCoxMCkpJTBBLnNjYWxlKCgpJTNEJTNFJTIwYS5mZnQlNUIyJTVEKjUpJTBBLmxheWVyKCUwQSUyMCUyMHNyYyhvMCklMEElMjAlMjAubWFzayhvc2MoMTApLm1vZHVsYXRlUm90YXRlKG9zYygpJTJDOTAlMkMwKSklMEElMjAlMjAuc2NhbGUoKCklMjAlM0QlM0UlMjBhLmZmdCU1QjAlNUQqMiklMEElMjAlMjAubHVtYSgwLjIlMkMwLjMpJTBBKSUwQS5ibGVuZChvMCklMEEub3V0KG8wKSUwQSUwQW9zYygpJTBBLm1vZHVsYXRlKG5vaXNlKCgpJTIwJTNEJTNFJTIwYS5mZnQlNUIxJTVEJTJCNSkpJTBBLmNvbG9yKDElMkMwJTJDMCklMEEub3V0KG8xKSUwQSUwQXNyYyhvMCklMEEubW9kdWxhdGUobzEpJTBBLmxheWVyKCUwQSUyMCUyMHNyYyhvMSklMEElMjAlMjAubWFzayhvMSklMEElMjAlMjAuc2F0dXJhdGUoNyklMEEpJTBBLm1vZHVsYXRlUm90YXRlKG8xKSUwQS5yb3RhdGUoKCU3QnRpbWUlN0QpJTIwJTNEJTNFJTIwdGltZSUyNTM2MCowLjA1KSUwQS5vdXQobzIpJTBBJTBBcmVuZGVyKG8yKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "mahalia_3",
|
||||
"code": "JTJGJTJGJTIwYnklMjBNYWhhbGlhJTIwSC1SJTBBJTJGJTJGJTIwSUclM0ElMjBtbV9ocl8lMEElMEFzaGFwZSgoKSUzRCUzRU1hdGguc2luKHRpbWUpJTJCMSozJTJDJTIwLjUlMkMuMDEpJTBBLnJlcGVhdCg1JTJDMyUyQyUyMCgpJTNEJTNFYS5mZnQlNUIwJTVEKjIlMkMlMjAoKSUzRCUzRWEuZmZ0JTVCMSU1RCoyKSUwQS5zY3JvbGxZKC41JTJDMC4xKSUwQS5sYXllciglMEElMjAlMjBzcmMobzEpJTBBJTIwJTIwLm1hc2sobzApJTBBJTIwJTIwLmx1bWEoLjAxJTJDJTIwLjEpJTBBJTIwJTIwLmludmVydCguMiklMEEpJTBBLm1vZHVsYXRlKG8xJTJDLjAyKSUwQS5vdXQobzApJTBBJTBBb3NjKDQwJTJDJTIwMC4wOSUyQyUyMDAuOSklMEEuY29sb3IoLjklMkMwJTJDNSklMEEubW9kdWxhdGUob3NjKDEwKS5yb3RhdGUoMSUyQyUyMDAuNSkpJTBBLnJvdGF0ZSgxJTJDJTIwMC4yKSUwQS5vdXQobzEpJTBBJTBBcmVuZGVyKG8wKSUwQSUwQQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "mahalia_4",
|
||||
"code": "JTJGJTJGJTIwQ2VsbHVsYXIlMjAlMjYlMjBCbG9idWxhciUwQSUyRiUyRiUyMGJ5JTIwTWFoYWxpYSUyMEgtUiUwQSUyRiUyRiUyMElHJTNBJTIwbW1faHJfJTBBJTBBc3BlZWQlMjAlM0QlMjAwLjMlMEElMEFzaGFwZSgyMCUyQzAuMiUyQzAuMyklMEEuY29sb3IoMC41JTJDMC44JTJDNTApJTBBJTIwJTIwLnNjYWxlKCgpJTIwJTNEJTNFJTIwTWF0aC5zaW4odGltZSklMkIxKjIpJTBBJTIwJTIwLnJlcGVhdCgoKSUyMCUzRCUzRSUyME1hdGguc2luKHRpbWUpKjEwKSUwQSUyMCUyMC5tb2R1bGF0ZVJvdGF0ZShvMCklMEElMjAlMjAuc2NhbGUoKCklMjAlM0QlM0UlMjBNYXRoLnNpbih0aW1lKSUyQjElMjAqMS41KSUwQSUyMCUyMC5tb2R1bGF0ZShub2lzZSgyJTJDMikpJTBBJTIwJTIwLnJvdGF0ZSgxJTJDJTIwLjIpJTBBJTIwJTIwJTJGJTJGJTIwLmludmVydCgyLjQpJTBBLm91dChvMCklMEE="
|
||||
},
|
||||
{
|
||||
"sketch_id": "andromeda_0",
|
||||
"code": "JTJGJTJGJTIwMy4wJTBBJTJGJTJGJTIwYnklMjAlQ0UlOTRORFIwTTNEJUNFJTk0JTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZ3d3cuaW5zdGFncmFtLmNvbSUyRmFuZHJvbTNfZGElMkYlMEElMEElMEFub2lzZSgzJTJDMC4zJTJDMykudGhyZXNoKDAuMyUyQzAuMDMpLmRpZmYobzMlMkMwLjMpLm91dChvMSklMEFncmFkaWVudCglNUIwLjMlMkMwLjMlMkMzJTVEKS5kaWZmKG8wKS5ibGVuZChvMSkub3V0KG8zKSUwQXZvcm9ub2koMzMlMkMzJTJDMzApLnJvdGF0ZSgzJTJDMC4zJTJDMCkubW9kdWxhdGVTY2FsZShvMiUyQzAuMykuY29sb3IoLTMlMkMzJTJDMCkuYnJpZ2h0bmVzcygzKS5vdXQobzApJTBBc2hhcGUoMzAlMkMwLjMlMkMxKS5pbnZlcnQoKCU3QnRpbWUlN0QpJTNEJTNFTWF0aC5zaW4odGltZSkqMykub3V0KG8yKSUwQSUwQXJlbmRlcihvMyklMEE="
|
||||
},
|
||||
{
|
||||
"sketch_id": "andromeda_1",
|
||||
"code": "JTJGJTJGJTIwMy4zJTBBJTJGJTJGJTIwYnklMjAlQ0UlOTRORFIwTTNEJUNFJTk0JTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZ3d3cuaW5zdGFncmFtLmNvbSUyRmFuZHJvbTNfZGElMkYlMEElMEFvc2MoKS5tb2R1bGF0ZVJvdGF0ZShvMCUyQzAuMykub3V0KCklMEFvc2MoMzMlMkMwLjMlMkMwLjMpLmRpZmYobzMlMkMzKS5vdXQobzEpJTBBb3NjKDMlMkMwLjMlMkMzMykubW9kdWxhdGVLYWxlaWQobzMlMkMzKS5kaWZmKG8wKS5vdXQobzIpJTBBc3JjKG8wJTJDMykubXVsdChvMSUyQzMpLmthbGVpZCgzKS5vdXQobzMpJTBBcmVuZGVyKG8yKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "asdrubal_0",
|
||||
"code": "JTJGJTJGQXNkciVDMyVCQWJhbCUyMEdvbWV6JTBBJTBBbm9pc2UoMyUyQzAuMSUyQzcpJTBBLnJvdGF0ZSgxJTJDLTElMkMtMikubWFzayhzaGFwZSgyMCkpJTBBLmNvbG9yYW1hKDAuNSklMEEubW9kdWxhdGVTY2FsZShvMCklMEEubW9kdWxhdGVTY2FsZShvMCUyQzElMkMpJTBBLmJsZW5kKG8wKSUwQS5ibGVuZChvMCklMEEuYmxlbmQobzApJTBBLmJsZW5kKG8wKSUwQS5vdXQobzApJTBB"
|
||||
},
|
||||
{
|
||||
"sketch_id": "flor_1",
|
||||
"code": "JTJGJTJGSHlkcmElMjBHbGl0Y2h5JTIwU2xpdCUyMFNjYW4lMEElMkYlMkZGbG9yJTIwZGUlMjBGdWVnbyUwQSUyRiUyRmh0dHBzJTNBJTJGJTJGZmxvcmRlZnVlZ28uZ2l0aHViLmlvJTJGJTIwJTBBczAuaW5pdENhbSgpJTBBc3JjKHMwKS5zYXR1cmF0ZSgyKS5jb250cmFzdCgxLjMpLmxheWVyKHNyYyhvMCkubWFzayhzaGFwZSg0JTJDMikuc2NhbGUoMC41JTJDMC43KS5zY3JvbGxYKDAuMjUpKS5zY3JvbGxYKDAuMDAxKSkubW9kdWxhdGUobzAlMkMwLjAwMSkub3V0KG8wKSUwQSUwQQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "flor_2",
|
||||
"code": "JTJGJTJGR2xpdGNoJTIwUml2ZXIlMEElMkYlMkZGbG9yJTIwZGUlMjBGdWVnbyUwQSUyRiUyRmh0dHBzJTNBJTJGJTJGZmxvcmRlZnVlZ28uZ2l0aHViLmlvJTJGJTBBdm9yb25vaSg4JTJDMSklMEEubXVsdChvc2MoMTAlMkMwLjElMkMoKSUzRCUzRU1hdGguc2luKHRpbWUpKjMpLnNhdHVyYXRlKDMpLmthbGVpZCgyMDApKSUwQS5tb2R1bGF0ZShvMCUyQzAuNSklMEEuYWRkKG8wJTJDMC44KSUwQS5zY3JvbGxZKC0wLjAxKSUwQS5zY2FsZSgwLjk5KSUwQS5tb2R1bGF0ZSh2b3Jvbm9pKDglMkMxKSUyQzAuMDA4KSUwQS5sdW1hKDAuMyklMEEub3V0KCklMEElMEElMEFzcGVlZCUyMCUzRCUyMDAuMSUwQSUwQSUwQSUwQQ=="
|
||||
},
|
||||
|
||||
{
|
||||
"sketch_id": "nesso_0",
|
||||
"code": "JTBBJTJGJTJGY2xvdWRzJTIwb2YlMjBwYXNzYWdlJTBBJTJGJTJGYnklMjBOZXNzbyUwQSUyRiUyRnd3dy5uZXNzby54eXolMEElMEFzaGFwZSglNUI0JTJDNSUyQzYlNUQuZmFzdCgwLjEpLnNtb290aCgxKSUyQzAuMDAwMDAxJTJDJTVCMC4yJTJDMC43JTVELnNtb290aCgxKSklMEEuY29sb3IoMC4yJTJDMC40JTJDMC4zKSUwQS5zY3JvbGxYKCgpJTNEJTNFTWF0aC5zaW4odGltZSowLjI3KSklMEEuYWRkKCUwQSUyMCUyMHNoYXBlKCU1QjQlMkM1JTJDNiU1RC5mYXN0KDAuMSkuc21vb3RoKDEpJTJDMC4wMDAwMDElMkMlNUIwLjIlMkMwLjclMkMwLjUlMkMwLjMlNUQuc21vb3RoKDEpKSUwQSUyMCUyMC5jb2xvcigwLjYlMkMwLjIlMkMwLjUpJTBBJTIwJTIwLnNjcm9sbFkoMC4zNSklMEElMjAlMjAuc2Nyb2xsWCgoKSUzRCUzRU1hdGguc2luKHRpbWUqMC4zMykpKSUwQS5hZGQoJTBBJTIwJTIwc2hhcGUoJTVCNCUyQzUlMkM2JTVELmZhc3QoMC4xKS5zbW9vdGgoMSklMkMwLjAwMDAwMSUyQyU1QjAuMiUyQzAuNyUyQzAuMyU1RC5zbW9vdGgoMSkpJTBBJTIwJTIwLmNvbG9yKDAuMiUyQzAuNCUyQzAuNiklMEElMjAlMjAuc2Nyb2xsWSgtMC4zNSklMEElMjAlMjAuc2Nyb2xsWCgoKSUzRCUzRU1hdGguc2luKHRpbWUqMC40MSkqLTEpKSUwQS5hZGQoJTBBJTIwJTIwJTIwJTIwJTIwJTIwc3JjKG8wKS5zaGlmdCgwLjAwMSUyQzAuMDElMkMwLjAwMSklMEElMjAlMjAlMjAlMjAlMjAlMjAuc2Nyb2xsWCglNUIwLjA1JTJDLTAuMDUlNUQuZmFzdCgwLjEpLnNtb290aCgxKSklMEElMjAlMjAlMjAlMjAlMjAlMjAuc2NhbGUoJTVCMS4wNSUyQzAuOSU1RC5mYXN0KDAuMykuc21vb3RoKDEpJTJDJTVCMS4wNSUyQzAuOSUyQzElNUQuZmFzdCgwLjI5KS5zbW9vdGgoMSkpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTJDMC44NSklMEEubW9kdWxhdGUodm9yb25vaSgxMCUyQzIlMkMyKSklMEEub3V0KCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "malitzin_0",
|
||||
"code": "JTJGJTJGQ05EU0QlMEElMkYlMkZodHRwJTNBJTJGJTJGbWFsaXR6aW5jb3J0ZXMubmV0JTJGJTBBJTJGJTJGJTIwc2FuZCUyMHNwaXJhbHMlMEElMEFvc2MoMyUyQyUyMDAuMDElMkMlMjAwLjQpJTBBLmNvbG9yKDEuMiUyQzEuMiUyQzEuMyklMEEuc2F0dXJhdGUoMC40KSUwQS5tb2R1bGF0ZVJlcGVhdChvc2MoMiklMkMxJTJDJTIwMiUyQyUyMDQlMkMlMjAzKSUwQS5tb2R1bGF0ZUthbGVpZChvc2MoMTIlMkMwLjA1JTJDMCklMkMxKSUwQS5sdW1hJTIwKDAuNCklMEEucm90YXRlKDQlMkMlMjAwLjElMkMwKSUwQS5tb2R1bGF0ZShvMCUyQyUyMCgpJTIwJTNEJTNFJTIwbW91c2UueSUyMCowLjAwMDIlMjApJTBBLnNjYWxlKDEpLmRpZmYobzEpJTBBLm91dChvMCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "malitzin_1",
|
||||
"code": "JTJGJTJGQ05EU0QlMEElMkYlMkZodHRwJTNBJTJGJTJGbWFsaXR6aW5jb3J0ZXMubmV0JTJGJTBBJTJGJTJGYW1lYmElMEElMEFvc2MoMTUlMkMlMjAwLjAxJTJDJTIwMC4xKS5tdWx0KG9zYygxJTJDJTIwLTAuMSkubW9kdWxhdGUob3NjKDIpLnJvdGF0ZSg0JTJDMSklMkMlMjAyMCkpJTBBLmNvbG9yKDAlMkMyLjQlMkM1KSUwQS5zYXR1cmF0ZSgwLjQpJTBBLmx1bWEoMSUyQzAuMSUyQyUyMCg2JTJDJTIwKCklM0QlM0UlMjAxJTIwJTJCJTIwYS5mZnQlNUIzJTVEKSklMEEuc2NhbGUoMC43JTJDJTIwKCklM0QlM0UlMjAwLjclMjAlMkIlMjBhLmZmdCU1QjMlNUQpJTBBLmRpZmYobzApJTJGJTJGJTIwbzAlMEEub3V0KG8wKSUyRiUyRiUyMG8x"
|
||||
},
|
||||
{
|
||||
"sketch_id": "malitzin_2",
|
||||
"code": "JTJGJTJGQ05EU0QlMEElMkYlMkZodHRwJTNBJTJGJTJGbWFsaXR6aW5jb3J0ZXMubmV0JTJGJTBBJTJGJTJGY3JhenklMjBzcXVhcmVzJTBBJTBBc2hhcGUoNCUyQyUyMCgwLjAxJTJDJTIwKCklM0QlM0UlMjAwLjIlMjAlMkIlMjBhLmZmdCU1QjIlNUQpJTJDMSklMEEubXVsdChvc2MoMSUyQyUyMDEpLm1vZHVsYXRlKG9zYyg1KS5yb3RhdGUoMS40JTJDMSklMkMzKSklMEEuY29sb3IoMSUyQzIlMkM0KSUwQS5zYXR1cmF0ZSgwLjIpJTBBLmx1bWEoMS4yJTJDMC4wNSUyQyUyMCg1JTJDJTIwKCklM0QlM0UlMjAyJTIwJTJCJTIwYS5mZnQlNUIzJTVEKSklMEEuc2NhbGUoMC42JTJDJTIwKCklM0QlM0UlMjAwLjklMjAlMkIlMjBhLmZmdCU1QjMlNUQpJTBBLmRpZmYobzApJTJGJTJGJTIwbzAlMEEub3V0KG8wKSUyRiUyRiUyMG8x"
|
||||
},
|
||||
{
|
||||
"sketch_id": "khoparzi_0",
|
||||
"code": "JTJGJTJGJTIwSGFwcHklMjBNYW5kYWxhJTBBJTJGJTJGJTIwQnklMjBBYmhpbmF5JTIwS2hvcGFyemklMEElMkYlMkYlMjB0d2l0dGVyJTJGZ2l0aHViJTJGaW5zdGFncmFtJTNBJTIwJTQwa2hvcGFyemklMEF2b3Jvbm9pKDUlMkMtMC4xJTJDNSklMEEuYWRkKG9zYygxJTJDMCUyQzEpKS5rYWxlaWQoMjEpJTBBLnNjYWxlKDElMkMxJTJDMikuY29sb3JhbWEoKS5vdXQobzEpJTBBc3JjKG8xKS5tdWx0KHNyYyhzMCkubW9kdWxhdGVSb3RhdGUobzElMkMxMDApJTJDJTIwLTAuNSklMEElMjAlMjAub3V0KG8wKSUwQSUwQQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "khoparzi_1",
|
||||
"code": "JTJGJTJGJTIwUGVycGV0dWFsJTIwZWxldmF0b3IlMjBidXR0b25zJTBBJTJGJTJGJTIwQnklMjBLaG9wYXJ6aSUwQSUyRiUyRiUyMGh0dHAlM0ElMkYlMkZraG9wYXJ6aS5jb20lMEElMEFzaGFwZSgzKS5hZGQob3NjKDElMkMwLjUlMkMxKSUyQyUyMDEpJTBBJTA5LmFkZChvMSUyQyUyMCgpJTIwJTNEJTNFJTIwKE1hdGguc2luKHRpbWUlMkY0KSUyMColMjAwLjclMjAlMkIlMjAwLjEpKSUwQSUwOSUyRiUyRi5yZXBlYXQoNSklMEElMjAlMjAlMDkuc2NhbGUoKCklM0QlM0VNYXRoLnNpbih0aW1lJTIwJTJGJTIwMTYpKS5yb3RhdGUoMCUyQyUyMC0wLjEpJTBBJTA5Lm91dChvMSklMEElMEFzcmMobzEpJTBBJTIwJTIwLnJvdGF0ZSgwJTJDMC4xKSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "khoparzi_2",
|
||||
"code": "JTJGJTJGJTIwUmVhbGx5JTIwTG92ZSUwQSUyRiUyRiUyMGJ5JTIwQWJoaW5heSUyMEtob3BhcnppJTBBJTJGJTJGJTIwaHR0cCUzQSUyRiUyRmtob3BhcnppLmNvbSUwQW9zYygxMDAlMkMtMC4wMTI0NSUyQzEpLnBpeGVsYXRlKDUwKS5rYWxlaWQoKCklM0QlM0UoTWF0aC5zaW4odGltZSUyRjgpKjklMkIzKSkucm90YXRlKDAlMkMwLjEyNSklMEEubW9kdWxhdGVSb3RhdGUoc2hhcGUoMykuc2NhbGUoKCklM0QlM0UoTWF0aC5jb3ModGltZSkqMikpLnJvdGF0ZSgwJTJDLTAuMjUpKS5kaWZmKHNyYyhvMCkuYnJpZ2h0bmVzcygwLjMpKSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "khoparzi_3",
|
||||
"code": "JTJGJTJGJTIwQXFhdXRpYyUyMGJsdWJzJTBBJTJGJTJGJTIwQnklMjBLaG9wYXJ6aSUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGa2hvcGFyemkuY29tJTBBJTBBZ3JhZGllbnQoMC4yNSklMEEuYWRkKG5vaXNlKCklMkMlMjAoKSUzRCUzRU1hdGguY29zKHRpbWUpKSUwQS5tb2R1bGF0ZVJvdGF0ZShzcmMobzApLnJvdGF0ZSgwJTJDJTIwLTAuNTIpJTJDJTIwMC4yKS5tdWx0KHNoYXBlKDM2MCklMkMlMjAwLjgpJTBBLnJlcGVhdCgxMCUyQzUpLm11bHQoc2hhcGUoMzYwKS5zY2FsZSgoKSUzRCUzRU1hdGguc2luKHRpbWUpKSUyQyUyMDAuOCkucm90YXRlKDAlMkMlMjAwLjIpJTBBLmRpZmYoc3JjKG8wKS5yb3RhdGUoMCUyQyUyMC0wLjIpJTJDJTIwMC4yKSUwQS5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "celeste_0",
|
||||
"code": "JTBBJTIwJTJGJTJGJTIwUHVlcnRhcyUyMElJJTBBJTJGJTJGJTIwcG9yJTIwQ2VsZXN0ZSUyMEJldGFuY3VyJTBBJTJGJTJGJTIwaHR0cHMlM0ElMkYlMkZnaXRodWIuY29tJTJGZXNzdGViYW4lMEElMEFvc2MoMTMlMkMwJTJDMSklMEElMjAlMjAua2FsZWlkKCklMEElMjAlMjAubWFzayhzaGFwZSg0JTJDMC4zJTJDMSkpJTBBJTIwJTIwLm1vZHVsYXRlUm90YXRlKHNoYXBlKDQlMkMwLjElMkMxKSklMEElMjAlMjAubW9kdWxhdGVSb3RhdGUoc2hhcGUoNCUyQzAuMSUyQzAuOSkpJTBBJTIwJTIwLm1vZHVsYXRlUm90YXRlKHNoYXBlKDQlMkMwLjElMkMwLjgpKSUwQSUyMCUyMC5zY2FsZSgwLjMpJTBBJTIwJTIwLmFkZChzaGFwZSg0JTJDMC4yJTJDMSkuY29sb3IoMC4zJTJDMSUyQzElMkMwLjUpKSUwQSUyMCUyMC5yb3RhdGUoKCklM0QlM0V0aW1lKSUwQSUyMCUyMC5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "celeste_1",
|
||||
"code": "JTJGJTJGJTIwUHVlcnRhcyUyMElJSSUwQSUyRiUyRiUyMHBvciUyMENlbGVzdGUlMjBCZXRhbmN1ciUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmVzc3RlYmFuJTBBJTIwJTBBb3NjKDQwJTJDMC4yJTJDMSklMEElMjAlMjAubW9kdWxhdGVTY2FsZShvc2MoNDAlMkMwJTJDMSkua2FsZWlkKDgpKSUwQSUyMCUyMC5yZXBlYXQoMiUyQzQpJTBBJTIwJTIwLm1vZHVsYXRlKG8wJTJDMC4wNSklMEElMjAlMjAubW9kdWxhdGVLYWxlaWQoc2hhcGUoNCUyQzAuMSUyQzEpKSUwQSUyMCUyMC5vdXQobzAp"
|
||||
},
|
||||
{
|
||||
"sketch_id": "celeste_2",
|
||||
"code": "JTBBJTIwJTJGJTJGJTIwUHVlcnRhcyUwQSUyRiUyRiUyMHBvciUyMENlbGVzdGUlMjBCZXRhbmN1ciUwQSUyRiUyRiUyMGh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmVzc3RlYmFuJTBBJTBBb3NjKDEzJTJDMCUyQzEpJTBBJTIwJTIwLm1vZHVsYXRlKG9zYygyMSUyQzAuMjUlMkMwKSklMEElMjAlMjAubW9kdWxhdGVTY2FsZShvc2MoMzQpKSUwQSUyMCUyMC5tb2R1bGF0ZUthbGVpZChvc2MoNTUpJTJDMC4xJTJDMSklMEElMjAlMjAub3V0KCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "alexandre_0",
|
||||
"code": "JTJGJTJGJTIwJTIydGhlLXdhbGwlMjIlMEElMkYlMkYlMjBBbGV4YW5kcmUlMjBSYW5nZWwlMEElMkYlMkYlMjB3d3cuYWxleGFuZHJlcmFuZ2VsLmFydC5iciUyRmh5ZHJhLmh0bWwlMEElMEFzcGVlZCUzRC4wMjIyJTBBb3NjKDQ4JTJDLS4xJTJDMCkudGhyZXNoKCU1Qi4zJTJDLjclNUQuZmFzdCguNzUpJTJDMCkuY29sb3IoMCUyQzAlMkMxKSUwQSUwQS5hZGQoJTBBJTIwJTIwJTIwJTIwb3NjKDI4JTJDLjElMkMwKS50aHJlc2goJTVCLjMlMkMuNyU1RC5mYXN0KC43NSklMkMwKS5yb3RhdGUoMy4xNCUyRjQpJTBBJTIwJTIwJTIwJTIwLmNvbG9yKDElMkMwJTJDMCklMEElMjAlMjAlMjAlMjAubW9kdWxhdGVTY2FsZSglMjBvc2MoNjQlMkMtLjAxJTJDMCkudGhyZXNoKCU1Qi4zJTJDLjclNUQuZmFzdCguNzUpJTJDMCklMjApJTBBKSUwQS5kaWZmKCUwQSUyMCUyMCUyMCUyMG9zYygyOCUyQy4xJTJDMCkudGhyZXNoKCU1Qi4zJTJDLjclNUQuZmFzdCguNSklMkMwKS5yb3RhdGUoMy4xNCUyRjIpJTBBJTIwJTIwJTIwJTIwLmNvbG9yKDElMkMwJTJDMSklMEElMjAlMjAlMjAlMjAubW9kdWxhdGVTY2FsZSglMjBvc2MoNjQlMkMtLjAxNSUyQzApLnRocmVzaCglNUIuMyUyQy43JTVELmZhc3QoLjUpJTJDMCklMjApJTBBKSUwQS5tb2R1bGF0ZVJvdGF0ZSglMjBvc2MoNTQlMkMtLjAwNSUyQzApLnRocmVzaCglNUIuMyUyQy43JTVELmZhc3QoLjI1KSUyQzApJTIwKSUwQS5tb2R1bGF0ZVNjYWxlKCUyMG9zYyg0NCUyQy0uMDIwJTJDMCkudGhyZXNoKCU1Qi4zJTJDLjclNUQuZmFzdCguMjUpJTJDMCklMjApJTBBLmNvbG9yYW1hKCUyMCgpJTNEJTNFTWF0aC5zaW4odGltZSUyRjI3KSouMDEyMjIlMkI5Ljg5KSUwQS5zY2FsZSgyLjEyMiklMEElMEEub3V0KCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "alexandre_1",
|
||||
"code": "JTBBJTIwJTJGJTJGJTIwJTIyZXllJTIwb2YlMjB0aGUlMjBiZWhvbGRlciUyMiUwQSUyRiUyRiUyMEFsZXhhbmRyZSUyMFJhbmdlbCUwQSUyRiUyRiUyMHd3dy5hbGV4YW5kcmVyYW5nZWwuYXJ0LmJyJTJGaHlkcmEuaHRtbCUwQSUwQW5vaXNlKDYlMkMuMDUpJTBBLm11bHQoJTIwb3NjKDklMkMwJTJDJTIwKCklM0QlM0VNYXRoLnNpbih0aW1lJTJGMS41KSUyQjIlMjApJTIwKSUwQS5tdWx0KCUwQSUyMCUyMCUyMCUyMG5vaXNlKDklMkMuMDMpLmJyaWdodG5lc3MoMS4yKS5jb250cmFzdCgyKSUwQSUyMCUyMCUyMCUyMC5tdWx0KCUyMG9zYyg5JTJDMCUyQyUyMCgpJTNEJTNFTWF0aC5zaW4odGltZSUyRjMpJTJCMTMlMjApJTIwKSUwQSklMEEuZGlmZiglMEElMjAlMjAlMjAlMjBub2lzZSgxNSUyQy4wNCkuYnJpZ2h0bmVzcyguMikuY29udHJhc3QoMS4zKSUwQSUyMCUyMCUyMCUyMC5tdWx0KCUyMG9zYyg5JTJDMCUyQyUyMCgpJTNEJTNFTWF0aC5zaW4odGltZSUyRjUpJTJCMTMlMjApJTIwKSUwQSUyMCUyMCUyMCUyMC5yb3RhdGUoJTIwKCklM0QlM0V0aW1lJTJGMzMlMjApJTBBKSUwQS5zY2FsZSglMjAoKSUzRCUzRU1hdGguc2luKHRpbWUlMkY2LjIpKi4xMiUyQi4xNSUyMCklMEEubW9kdWxhdGVTY2FsZSglMEElMjAlMjAlMjAlMjBvc2MoMyUyQzAlMkMwKS5tdWx0KCUyMG9zYygzJTJDMCUyQzApLnJvdGF0ZSgzLjE0JTJGMiklMjApJTBBJTIwJTIwJTIwJTIwLnJvdGF0ZSglMjAoKSUzRCUzRXRpbWUlMkYyNSUyMCkuc2NhbGUoLjM5KS5zY2FsZSgxJTJDLjYlMkMxKS5pbnZlcnQoKSUwQSUyMCUyMCUyMCUyMCUyQyUyMCgpJTNEJTNFTWF0aC5zaW4odGltZSUyRjUuMykqMS41JTJCMyUyMCUyMCklMEEucm90YXRlKCUyMCgpJTNEJTNFdGltZSUyRjIyJTIwKSUwQS5tdWx0KCUyMHNoYXBlKDEwMCUyQy45JTJDLjAxKS5zY2FsZSgxJTJDLjYlMkMxKSUyMCklMEEub3V0KCk="
|
||||
},
|
||||
{
|
||||
"sketch_id": "alexandre_2",
|
||||
"code": "JTJGJTJGJTIwJTIyZWdnJTIwb2YlMjB0aGUlMjBwaG9lbml4JTIyJTBBJTJGJTJGJTIwQWxleGFuZHJlJTIwUmFuZ2VsJTBBJTJGJTJGJTIwd3d3LmFsZXhhbmRyZXJhbmdlbC5hcnQuYnIlMkZoeWRyYS5odG1sJTBBJTBBc3BlZWQlM0QxLjIlMEFzaGFwZSg5OSUyQy4xNSUyQy41KS5jb2xvcigwJTJDMSUyQzIpJTBBJTBBLmRpZmYoJTIwc2hhcGUoMjQwJTJDLjUlMkMwKS5zY3JvbGxYKC4wNSkucm90YXRlKCUyMCgpJTNEJTNFdGltZSUyRjEwJTIwKS5jb2xvcigxJTJDMCUyQy43NSklMjApJTBBLmRpZmYoJTIwc2hhcGUoOTklMkMuNCUyQy4wMDIpLnNjcm9sbFgoLjEwKS5yb3RhdGUoJTIwKCklM0QlM0V0aW1lJTJGMjAlMjApLmNvbG9yKDElMkMwJTJDLjc1KSUyMCklMEEuZGlmZiglMjBzaGFwZSg5OSUyQy4zJTJDLjAwMikuc2Nyb2xsWCguMTUpLnJvdGF0ZSglMjAoKSUzRCUzRXRpbWUlMkYzMCUyMCkuY29sb3IoMSUyQzAlMkMuNzUpJTIwKSUwQS5kaWZmKCUyMHNoYXBlKDk5JTJDLjIlMkMuMDAyKS5zY3JvbGxYKC4yMCkucm90YXRlKCUyMCgpJTNEJTNFdGltZSUyRjQwJTIwKS5jb2xvcigxJTJDMCUyQy43NSklMjApJTBBLmRpZmYoJTIwc2hhcGUoOTklMkMuMSUyQy4wMDIpLnNjcm9sbFgoLjI1KS5yb3RhdGUoJTIwKCklM0QlM0V0aW1lJTJGNTAlMjApLmNvbG9yKDElMkMwJTJDLjc1KSUyMCklMEElMEEubW9kdWxhdGVTY2FsZSglMEElMjAlMjBzaGFwZSgyNDAlMkMuNSUyQzApLnNjcm9sbFgoLjA1KS5yb3RhdGUoJTIwKCklM0QlM0V0aW1lJTJGMTAlMjApJTBBJTIwJTIwJTJDJTIwKCklM0QlM0UoTWF0aC5zaW4odGltZSUyRjMpKi4yKSUyQi4yJTIwKSUwQSUwQS5zY2FsZSgxLjYlMkMuNiUyQzEpJTBBLm91dCgp"
|
||||
},{
|
||||
"sketch_id": "afalfl_0",
|
||||
"code": "JTJGJTJGZmlsZXQlMjBtaWdub24lMEElMkYlMkYlMjBBRkFMRkwlMEElMkYlMkYlMjBpbnN0YWdyYW0lMkZhX2ZfYWxmbCUyMCUwQSUwQW9zYygxMDAlMkMtMC4wMDE4JTJDMC4xNykuZGlmZihvc2MoMjAlMkMwLjAwMDA4KS5yb3RhdGUoTWF0aC5QSSUyRjAuMDAwMDMpKSUwQS5tb2R1bGF0ZVNjYWxlKG5vaXNlKDEuNSUyQzAuMTgpLm1vZHVsYXRlU2NhbGUob3NjKDEzKS5yb3RhdGUoKCklM0QlM0VNYXRoLnNpbih0aW1lJTJGMjIpKSklMkMzKSUwQS5jb2xvcigxMSUyQzAuNSUyQzAuNCUyQyUyMDAuOSUyQyUyMDAuMiUyQyUyMDAuMDExJTJDJTIwNSUyQyUyMDIyJTJDJTIwJTIwMC41JTJDJTIwLTEpLmNvbnRyYXN0KDEuNCklMEEuYWRkKHNyYyhvMCkubW9kdWxhdGUobzAlMkMuMDQpJTJDLjYlMkMlMjAuOSklMEElMjAlMjAlMkYlMkYucGl4ZWxhdGUoMC40JTJDJTIwMC4yJTJDJTIwMC4xKSUwQS5pbnZlcnQoKS5icmlnaHRuZXNzKDAuMDAwMyUyQyUyMDIpLmNvbnRyYXN0KCUyMDAuNSUyQyUyMDIlMkMlMjAwLjElMkMlMjAyKS5jb2xvcig0JTJDJTIwLTIlMkMlMjAwLjEpJTBBLm1vZHVsYXRlU2NhbGUob3NjKDIpJTJDLTAuMiUyQyUyMDIlMkMlMjAxJTJDJTIwMC4zKSUwQSUyMC5wb3N0ZXJpemUoMjAwKSUyMC5yb3RhdGUoMSUyQyUyMDAuMiUyQyUyMDAuMDElMkMlMjAwLjAwMSklMEElMjAuY29sb3IoMjIlMkMlMjAtMiUyQyUyMDAuNSUyQyUyMDAuNSUyQyUyMDAuMDAwMSUyQyUyMCUyMDAuMSUyQyUyMDAuMiUyQyUyMDgpLmNvbnRyYXN0KDAuMTglMkMlMjAwLjMlMkMlMjAwLjElMkMlMjAwLjIlMkMlMjAwLjAzJTJDJTIwMSklMjAuJTIwYnJpZ2h0bmVzcygwLjAwMDElMkMlMjAtMSUyQyUyMDEwKSUwQSUwOS5vdXQoKQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "eerie_ear_0",
|
||||
"code": "JTJGJTJGJTIwZWVfMiUyMC4lMjBNVUxUSVZFUlNFJTIwLiUyMHRpbWUlMjBhbmQlMjBmZWVkYmFjayUwQSUyRiUyRiUyMGVfZSUyMCUyRiUyRiUyMCU0MGVlcmllX2VhciUwQXBhdCUyMCUzRCUyMCgpJTNEJTNFJTBBc29saWQoKSUwQS5sYXllcihzb2xpZCgpLmRpZmYoJTBBJTIwJTIwb3NjKCh0aW1lJTJGMTYpJTIwKiUyMDElMkMlMjAodGltZSUyRjEwMDApJTIwKiUyMDAuMiUyMCUyMCklMEElMjAlMjAlMjAlMjAubXVsdChvc2MoKHRpbWUlMkY4KSUyMColMjAxJTJDJTIwKHRpbWUlMkYxMDA2KSUyMColMjAwLjIlMjAlMjApLnJvdGF0ZSgxLjU3KSklMEElMjAlMjAlMjAlMjAubW9kdWxhdGUoKHNoYXBlKDEwNiUyQzElMkMwLjA1KSkpJTBBJTIwJTIwJTIwJTIwLm11bHQoc2hhcGUoMTA2JTJDMSUyQzAuMDUpKSUwQSUyMCUyMCkpJTBBJTIwJTIwLm1vZHVsYXRlU2NhbGUob3NjKDIlMkMwLjEyNSklMkMwLjEyNSklMEElMkYlMkYlMEFzb2xpZCgpJTBBLmxheWVyKHNvbGlkKDElMkMxJTJDMSklMEElMjAlMjAubXVsdChwYXQoKSUwQSUyMCUyMC5kaWZmKHNyYyhvMCkuc2NhbGUoMC4yKS5tdWx0KHNvbGlkKCklMkMlNUIwLjclMkMwLjYlMkMwLjQlMkMwLjYlNUQpLmthbGVpZCgxLjAxKS5zYXR1cmF0ZSgwLjMpKSUwQSklMEEubGF5ZXIoc29saWQoMSUyQzElMkMxKSUwQSUyMCUyMCUyMCUyMC5tYXNrKCUwQSUyMCUyMCUyMCUyMCUyMCUyMG5vaXNlKDIlMkMwLjA1KSUwQSUyMCUyMCUyMCUyMCUyMCUyMC5pbnZlcnQoKS5jb2xvcmFtYSgyKS5wb3N0ZXJpemUoOCUyQzQpLmx1bWEoMC4yNSkudGhyZXNoKDAuNSklMEElMjAlMjAlMjAlMjAlMjAlMjAubW9kdWxhdGVSb3RhdGUob3NjKDElMkMwLjUpKSUwQSUyMCUyMCUyMCUyMCklMEElMjAlMjAlMjAlMjAubXVsdChncmFkaWVudCgwLjUpLmthbGVpZCgxKS5jb2xvcmFtYSgyKS5zYXR1cmF0ZSgxLjEpLmNvbnRyYXN0KDEuNikubXVsdChzb2xpZCgpJTJDMC40NSkpJTBBJTIwJTIwKSklMEElMjAlMjAub3V0KCklMEElMkYlMkYlMEFzcGVlZCUzRCUyMDAuNSUwQQ=="
|
||||
},
|
||||
{
|
||||
"sketch_id": "eerie_ear_1",
|
||||
"code": "JTJGJTJGJTIwZWVfMyUyMCUyRiUyRkxJTkVTJTBBJTJGJTJGJTIwZV9lJTIwJTJGJTJGJTIwJTQwZWVyaWVfZWFyJTBBJTJGJTJGJTBBJTJGJTJGYmFzZWQlMjBvbiUwQSUyRiUyRiU0MG5hb3RvX2hpZWRhJTBBJTJGJTJGaHR0cHMlM0ElMkYlMkZuYW90b2hpZWRhLmNvbSUyRmJsb2clMkZoeWRyYS1ib29rJTJGJTBBJTJGJTJGJTBBbiUyMCUzRCUyMDglMEFhJTIwJTNEJTIwKCklMjAlM0QlM0UlMjBzaGFwZSg0JTJDMC4yNSUyQzAuMDA5KS5yb3RhdGUoKCklM0QlM0V0aW1lJTJGLTQwKS5yZXBlYXQobiUyQ24pJTBBYSgpLmFkZChhKCkuc2Nyb2xsWCgwLjUlMkZuKS5zY3JvbGxZKDAuNSUyRm4pJTJDMSkubW9kdWxhdGUobzElMkMwLjEpLm1vZHVsYXRlKHNyYyhvMSkuY29sb3IoMTAlMkMxMCkuYWRkKHNvbGlkKC0xNCUyQy0xNCkpLnJvdGF0ZSgoKSUzRCUzRXRpbWUlMkY0MCklMkMwLjAwNSkuYWRkKHNyYyhvMSkuc2Nyb2xsWSgwLjAxMiUyQzAuMDIpJTJDMC41KS5vdXQobzEpJTBBc3JjKG8xKS5jb2xvcmFtYSgxLjIpLnBvc3Rlcml6ZSg0KS5zYXR1cmF0ZSgwLjcpLmNvbnRyYXN0KDYpLm11bHQoc29saWQoKSUyQzAuMTUpLm91dChvMCklMEElMEElMEE="
|
||||
},
|
||||
{
|
||||
"sketch_id": "eerie_ear_2",
|
||||
"code": "JTJGJTJGZWVfNSUyMC4lMjBGVUdJVElWRSUyMEdFT01FVFJZJTIwVkhTJTIwLiUyMGF1ZGlvcmVhY3RpdmUlMjBzaGFwZXMlMjBhbmQlMjBncmFkaWVudHMlMEElMkYlMkYlMjBlX2UlMjAlMkYlMkYlMjAlNDBlZXJpZV9lYXIlMEElMkYlMkYlMEFzJTNEJTIwKCklM0QlM0UlMEElMjAlMjBzaGFwZSg0KSUwQS5zY3JvbGxYKCU1Qi0wLjUlMkMtMC4yJTJDMC4zJTJDLTAuMSUyQy0wLjElNUQuc21vb3RoKDAuMSkuZmFzdCgwLjMpKSUwQS5zY3JvbGxZKCU1QjAuMjUlMkMtMC4yJTJDMC4zJTJDLTAuMSUyQzAuMiU1RC5zbW9vdGgoMC45KS5mYXN0KDAuMTUpKSUwQSUyRiUyRiUwQXNvbGlkKCklMEEuYWRkKGdyYWRpZW50KDMlMkMwLjA1KS5yb3RhdGUoMC4wNSUyQy0wLjIpLnBvc3Rlcml6ZSgyKS5jb250cmFzdCgwLjYpJTJDJTVCMSUyQzAlMkMxJTJDMC41JTJDMCUyQzAuNiU1RC5zbW9vdGgoMC45KSklMEEuYWRkKHMoKSklMEEubXVsdChzKCkuc2NhbGUoMC44KS5zY3JvbGxYKDAuMDEpLnNjcm9sbFkoLTAuMDEpLnJvdGF0ZSgwLjIlMkMwLjA2KS5hZGQoZ3JhZGllbnQoMykuY29udHJhc3QoMC42KSUyQyU1QjElMkMwJTJDMSUyQzAuNSU1RC5zbW9vdGgoMC45KSUyQzAuNSkubXVsdChzcmMobzApLnNjYWxlKDAuOTgpJTJDKCklM0QlM0VhLmZmdCU1QjAlNUQqOSklMEElMjAlMjAlMjAlMjAlMjApJTBBLmRpZmYocygpLm1vZHVsYXRlKHNoYXBlKDUwMCkpLnNjYWxlKCU1QjEuNyUyQzEuMiU1RC5zbW9vdGgoMC45KS5mYXN0KDAuMDUpKSklMEEuYWRkKGdyYWRpZW50KDIpLmludmVydCgpJTJDKCklM0QlM0VhLmZmdCU1QjIlNUQpJTBBLm11bHQoZ3JhZGllbnQoKCklM0QlM0VhLmZmdCU1QjMlNUQqOCkpJTBBLmJsZW5kKHNyYygobzApJTJDKCklM0QlM0VhLmZmdCU1QjElNUQqNDApKSUwQS5hZGQodm9yb25vaSgoKSUzRCUzRWEuZmZ0JTVCMSU1RCUyQygpJTNEJTNFYS5mZnQlNUIzJTVEJTJDKCklM0QlM0VhLmZmdCU1QjAlNUQpLnRocmVzaCgwLjcpLnBvc3Rlcml6ZSgyJTJDNCkubHVtYSgwLjkpLnNjcm9sbFkoMSUyQygpJTNEJTNFYS5mZnQlNUIwJTVEJTJGMzApLmNvbG9yYW1hKDMpLnRocmVzaCgoKSUzRCUzRWEuZmZ0JTVCMSU1RCkuc2NhbGUoKCklM0QlM0VhLmZmdCU1QjMlNUQqMiklMkMoKSUzRCUzRWEuZmZ0JTVCMCU1RCUyRjIpJTBBJTIwJTIwLm91dCgpJTBBJTJGJTJGJTBBc3BlZWQlM0QlMjAxJTBBJTBBYS5zZXRTbW9vdGgoMC45Nik="
|
||||
},
|
||||
{
|
||||
"sketch_id": "eerie_ear_3",
|
||||
"code": "JTJGJTJGJTIwZWVfMSUyMC4lMjBFWUUlMjBJTiUyMFRIRSUyMFNLWSUwQSUyRiUyRmV4YW1wbGUlMjBvZiUyMG1hc2slMjBhbmQlMjBmdW5jdGlvbiUyMG1vZHVsYXRpb24lMEElMkYlMkYlMjBlX2UlMjAlMkYlMkYlMjAlNDBlZXJpZV9lYXIlMEFub2lzZSgxOCklMEElMjAlMjAuY29sb3JhbWEoMSklMEElMjAlMjAucG9zdGVyaXplKDIpJTBBJTIwJTIwLmthbGVpZCg1MCklMEElMjAlMjAubWFzayglMEElMjAlMjAlMjAlMjBzaGFwZSgyNSUyQyUyMDAuMjUpLm1vZHVsYXRlU2NhbGUoJTBBJTIwJTIwJTIwJTIwJTIwJTIwbm9pc2UoNDAwLjUlMkMlMjAwLjUpJTBBJTIwJTIwJTIwJTIwKSUwQSUyMCUyMCklMEElMjAlMjAubWFzayhzaGFwZSg0MDAlMkMlMjAxJTJDJTIwMi4xMjUpKSUwQSUyMCUyMC5tb2R1bGF0ZVNjYWxlKG9zYyg2JTJDJTIwMC4xMjUlMkMlMjAwLjA1KS5rYWxlaWQoNTApKSUwQSUyMCUyMC5tdWx0KG9zYygyMCUyQyUyMDAuMDUlMkMlMjAyLjQpLmthbGVpZCg1MCklMkMlMjAwLjI1KSUwQSUyMCUyMC5zY2FsZSgxLjc1JTJDJTIwMC42NSUyQyUyMDAuNSklMEElMjAlMjAubW9kdWxhdGUobm9pc2UoMC41KSklMEElMjAlMjAuc2F0dXJhdGUoNiklMEElMjAlMjAucG9zdGVyaXplKDQlMkMlMjAwLjIpJTBBJTIwJTIwLnNjYWxlKDEuNSklMEElMjAlMjAub3V0KCklM0IlMEE="
|
||||
}
|
||||
]
|
||||
@@ -1,290 +0,0 @@
|
||||
const request = require('superagent')
|
||||
const examples = require('./examples.json')
|
||||
const sketches = []
|
||||
|
||||
|
||||
class Gallery {
|
||||
constructor (callback) {
|
||||
this.sketches = []
|
||||
this.examples = []
|
||||
this.current = null
|
||||
this.code = null
|
||||
this.exampleIndex = null
|
||||
|
||||
// request.get('/sketches').end((err, res) => {
|
||||
// console.log('got sketches', res.text, err)
|
||||
// if(err) {
|
||||
// console.log('err getting sketches', err)
|
||||
// } else {
|
||||
// this.sketches = JSON.parse(res.text)
|
||||
// }
|
||||
|
||||
this.examples = examples
|
||||
|
||||
// this.setSketchFromURL(callback)
|
||||
|
||||
|
||||
// callback(this.code, this.foundSketch)
|
||||
// })
|
||||
// window.addEventListener('popstate', (event) => {
|
||||
// this.setSketchFromURL(callback)
|
||||
// // console.log("location: " + document.location + ", state: " + JSON.stringify(event.state));
|
||||
// });
|
||||
this.setRandomSketch = this.setRandomSketch.bind(this)
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.current = null
|
||||
this.code = null
|
||||
//this.exampleIndex = null
|
||||
let newurl = window.location.protocol + '//' + window.location.host + window.location.pathname
|
||||
window.history.pushState({ path: newurl }, '', newurl)
|
||||
this.url = newurl
|
||||
}
|
||||
|
||||
setSketchFromURL(callback) {
|
||||
console.log('setting')
|
||||
// hush()
|
||||
// render(o0)
|
||||
// let searchParams = new URLSearchParams(window.location.search)
|
||||
// let base64Code = searchParams.get('code')
|
||||
// // if(!base64Code) base64Code = searchParams.get('id') // backwards compatibility with earlier form of naming. id is now called code
|
||||
// let sketch_id = searchParams.get('sketch_id')
|
||||
// let code = ''
|
||||
// //console.log("id", sketch_id, "code", base64Code)
|
||||
|
||||
// // boolean to determine whether a sketch was found based on the URL, either through looking through the database or rendering the code
|
||||
// this.foundSketch = false
|
||||
// // if contains a sketch id, set sketch from id
|
||||
// if(sketch_id) {
|
||||
// var sketch = this.getExampleById(sketch_id)
|
||||
// if(sketch) {
|
||||
// // console.log('found', sketch)
|
||||
// this.setSketch(sketch)
|
||||
// callback(this.code, false)
|
||||
// } else {
|
||||
// request
|
||||
// .get('/sketchById')
|
||||
// .query({sketch_id: sketch_id})
|
||||
// .end((err, res) => {
|
||||
// // console.log('got sketches', res.text, err)
|
||||
// if(err) {
|
||||
// console.log('err getting sketches', err)
|
||||
// this.setSketchFromCode(base64Code, callback)
|
||||
// } else {
|
||||
// this.sketches = JSON.parse(res.text)
|
||||
// if(this.sketches.length > 0) {
|
||||
// this.setSketch(this.sketches[0])
|
||||
// //this.code = this.decodeBase64(this.sketches[0].code)
|
||||
// this.foundSketch = true
|
||||
// callback(this.code, this.foundSketch)
|
||||
// } else {
|
||||
// this.setSketchFromCode(base64Code, callback)
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
// } else {
|
||||
// this.setSketchFromCode(base64Code, callback)
|
||||
// }
|
||||
//
|
||||
// // console.log('found ', sketch)
|
||||
// // if(sketch) {
|
||||
// // this.setSketch(sketch)
|
||||
// // this. = true0
|
||||
// // } else if (base64Code){
|
||||
// // this.code = this.decodeBase64(base64Code)
|
||||
// // this.foundSketch = true
|
||||
// // } else {
|
||||
// // console.log('id not found', sketch_id)
|
||||
// // this.setRandomSketch()
|
||||
// // }
|
||||
//
|
||||
// // // backwards combaitbility with earlier shareable URLS
|
||||
// } else {
|
||||
//
|
||||
// if (base64Code) {
|
||||
// this.code = this.decodeBase64(base64Code)
|
||||
// this.foundSketch = true
|
||||
// } else {
|
||||
// this.setRandomSketch()
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
setSketchFromCode(base64Code, callback){
|
||||
if (base64Code) {
|
||||
this.code = this.decodeBase64(base64Code)
|
||||
this.foundSketch = true
|
||||
} else {
|
||||
this.setRandomSketch()
|
||||
}
|
||||
callback(this.code, this.foundSketch)
|
||||
}
|
||||
|
||||
saveImage() {
|
||||
|
||||
}
|
||||
|
||||
setToURL(params){
|
||||
// console.log(base64)
|
||||
// console.log('params', params)
|
||||
// keep code in url for backwards compatibility / compatibility between local and public versions
|
||||
var url_params
|
||||
if(params.sketch_id) {
|
||||
url_params = `sketch_id=${params.sketch_id}`
|
||||
} else {
|
||||
url_params = `sketch_id=${params.sketch_id}&code=${params.code}`
|
||||
}
|
||||
// } else {
|
||||
// url_params = params.map( (param, index) => `${param.label}=${param.value}`).join('&')
|
||||
// }
|
||||
// console.log('url params', url_params)
|
||||
let newurl = window.location.protocol + '//' +
|
||||
window.location.host + window.location.pathname + '?' + url_params
|
||||
// window.location.href = newurl
|
||||
|
||||
window.history.replaceState({ path: newurl }, '', newurl)
|
||||
this.url = newurl
|
||||
}
|
||||
|
||||
encodeBase64(text) {
|
||||
return btoa(encodeURIComponent(text))
|
||||
}
|
||||
decodeBase64(base64Code) {
|
||||
return decodeURIComponent(atob(base64Code))
|
||||
}
|
||||
|
||||
setSketch(sketch) {
|
||||
this.code = this.decodeBase64(sketch.code)
|
||||
this.current = sketch
|
||||
// this.setToURL('sketch_id', sketch._id)
|
||||
// let params = Object.keys(sketch).map( (key) => {
|
||||
// return {label: key, value: sketch[key]}
|
||||
// })
|
||||
this.setToURL(sketch)
|
||||
}
|
||||
|
||||
setRandomSketch() {
|
||||
// if there are sketches, set code from sketch, otherwise generate random
|
||||
//console.log("examples length", this.examples, this.exampleIndex)
|
||||
if(this.examples.length > 0) {
|
||||
let index
|
||||
// if(this.exampleIndex === null) {
|
||||
index = Math.floor(Math.random() * this.examples.length)
|
||||
while (index === this.exampleIndex) {
|
||||
index = Math.floor(Math.random() * this.examples.length)
|
||||
}
|
||||
// } else {
|
||||
// index = this.exampleIndex +1
|
||||
// if(index >= this.examples.length) index = 0
|
||||
// }
|
||||
this.exampleIndex = index
|
||||
// console.log('example is', this.examples[rand])
|
||||
this.setSketch(this.examples[index])
|
||||
} else {
|
||||
var startString = 'osc(' + 2 + Math.floor(Math.pow(10, Math.random() * 2)) + ')'
|
||||
startString += '.color(' + Math.random().toFixed(2) + ',' + Math.random().toFixed(2) + ',' + Math.random().toFixed(2)+ ')'
|
||||
startString += '.rotate(' + Math.random().toFixed(2) + ')'
|
||||
startString += '.out(o0)'
|
||||
this.code = startString
|
||||
}
|
||||
}
|
||||
|
||||
// shares via twitter
|
||||
shareSketch(code, hydra, name) {
|
||||
this.saveSketch(code, () => {
|
||||
console.log("URL is", this.url, 'sketch is', this.current)
|
||||
hydra.getScreenImage((img) => {
|
||||
request
|
||||
.post('/image')
|
||||
.attach('previewImage', img)
|
||||
.query({
|
||||
url: this.url,
|
||||
sketch_id: this.current.sketch_id,
|
||||
name: name
|
||||
})
|
||||
// .send({
|
||||
// code: base64
|
||||
// })
|
||||
// .query(query)
|
||||
.end((err, res) => {
|
||||
if(err) {
|
||||
console.log('error postingimage', err)
|
||||
} else {
|
||||
console.log('image response', res.text)
|
||||
// self.setToURL([ { label: 'sketch_id', value: res.text}, {label: 'code', value: base64} ])
|
||||
|
||||
}
|
||||
})
|
||||
// var oReq = new XMLHttpRequest();
|
||||
// oReq.open("POST", "https://localhost:8000/image", true);
|
||||
// oReq.onload = function (oEvent) {
|
||||
// // Uploaded.
|
||||
// console.log("uploaded", oEvent)
|
||||
// };
|
||||
// oReq.send(img);
|
||||
// console.log('got image', img)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
saveSketch(code, callback) {
|
||||
let self = this
|
||||
//console.log('saving in gallery', code)
|
||||
let base64 = this.encodeBase64(code)
|
||||
// console.log('code is', base64)
|
||||
|
||||
let query = {
|
||||
code: base64,
|
||||
parent: this.current ? this.current.sketch_id : null
|
||||
}
|
||||
|
||||
console.log('saving in gallery', query)
|
||||
request
|
||||
.post('/sketch')
|
||||
// .send({
|
||||
// code: base64
|
||||
// })
|
||||
.query(query)
|
||||
.end((err, res) => {
|
||||
if(err) {
|
||||
console.log('error posting sketch', err)
|
||||
if(callback) callback(err)
|
||||
} else {
|
||||
console.log('response', res.text)
|
||||
// self.setToURL([ { label: 'sketch_id', value: res.text}, {label: 'code', value: base64} ])
|
||||
self.setSketch({
|
||||
sketch_id: res.text,
|
||||
code: base64
|
||||
})
|
||||
if(callback) callback(null)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
saveLocally(code) {
|
||||
let base64 = this.encodeBase64(code)
|
||||
|
||||
// keep code in url for backwards compatibility / compatibility between local and public versions
|
||||
var url_params = `code=${base64}`
|
||||
// } else {
|
||||
// url_params = params.map( (param, index) => `${param.label}=${param.value}`).join('&')
|
||||
// }
|
||||
//console.log('url params', url_params)
|
||||
let newurl = window.location.protocol + '//' +
|
||||
window.location.host + window.location.pathname + '?' + url_params
|
||||
window.history.pushState({ path: newurl }, '', newurl)
|
||||
this.url = newurl
|
||||
}
|
||||
|
||||
getExampleById(id) {
|
||||
//console.log('looking for', id, this.examples, this.sketches)
|
||||
var sketches = this.examples.filter((sketch) => sketch.sketch_id === id)
|
||||
if(sketches.length <= 0) sketches = this.sketches.filter((sketch) => sketch.sketch_id === id)
|
||||
return sketches[0]
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Gallery
|
||||
@@ -1,135 +0,0 @@
|
||||
const repl = require('./repl.js')
|
||||
const beautify_js = require('js-beautify').js_beautify
|
||||
|
||||
// const prettier = require("prettier/standalone")
|
||||
// const parserBabel = require("prettier/parser-babel");
|
||||
|
||||
class Menu {
|
||||
constructor (obj) {
|
||||
this.sketches = obj.sketches
|
||||
this.editor = obj.editor
|
||||
this.hydra = obj.hydra
|
||||
|
||||
// variables related to popup window
|
||||
this.closeButton = document.getElementById("close-icon")
|
||||
this.clearButton = document.getElementById("clear-icon")
|
||||
this.shareButton = document.getElementById("share-icon")
|
||||
this.shuffleButton = document.getElementById("shuffle-icon")
|
||||
this.mutatorButton = document.getElementById("mutator-icon")
|
||||
this.runButton = document.getElementById("run-icon")
|
||||
this.editorText = document.getElementsByClassName('CodeMirror-scroll')[0]
|
||||
|
||||
this.runButton.onclick = this.runAll.bind(this)
|
||||
this.shuffleButton.onclick = this.shuffleSketches.bind(this)
|
||||
this.shareButton.onclick = this.shareSketch.bind(this)
|
||||
this.clearButton.onclick = this.clearAll.bind(this)
|
||||
this.closeButton.onclick = () => {
|
||||
if(!this.isClosed) {
|
||||
this.closeModal()
|
||||
} else {
|
||||
this.openModal()
|
||||
}
|
||||
}
|
||||
|
||||
this.mutatorButton.onclick = this.mutateSketch.bind(this);
|
||||
this.isClosed = false
|
||||
this.closeModal()
|
||||
}
|
||||
|
||||
runAll() {
|
||||
repl.eval(this.editor.getValue(), (string, err) => {
|
||||
// console.log('eval', err)
|
||||
this.editor.flashCode()
|
||||
if(!err) this.sketches.saveLocally(this.editor.getValue())
|
||||
})
|
||||
}
|
||||
|
||||
shuffleSketches() {
|
||||
this.clearAll()
|
||||
this.sketches.setRandomSketch()
|
||||
this.editor.setValue(this.sketches.code)
|
||||
repl.eval(this.editor.getValue())
|
||||
}
|
||||
|
||||
formatCode() {
|
||||
// this.editor.setValue(prettier.format(this.editor.getValue(), {
|
||||
// parser: "babel",
|
||||
// plugins: [parserBabel],
|
||||
// printWidth: 85,
|
||||
// semi: false,
|
||||
// useTabs: true,
|
||||
// arrowParens: "avoid"
|
||||
// }))
|
||||
const formatted = beautify_js(this.editor.getValue(), { indent_size: 2, "break_chained_methods": true, "indent_with_tabs": true})
|
||||
this.editor.setValue(formatted)
|
||||
}
|
||||
|
||||
shareSketch() {
|
||||
repl.eval(this.editor.getValue(), (code, error) => {
|
||||
// console.log('evaluated', code, error)
|
||||
if(!error){
|
||||
this.showConfirmation( (name) => {
|
||||
this.sketches.shareSketch(this.editor.getValue(), this.hydra, name)
|
||||
}, () => this.hideConfirmation() )
|
||||
} else {
|
||||
console.warn(error)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
showConfirmation(successCallback, terminateCallback) {
|
||||
var c = prompt("Pressing OK will share this sketch to \nhttps://twitter.com/hydra_patterns.\n\nInclude your name or twitter handle (optional):")
|
||||
// console.log('confirm value', c)
|
||||
if (c !== null) {
|
||||
successCallback(c)
|
||||
} else {
|
||||
terminateCallback()
|
||||
}
|
||||
}
|
||||
|
||||
hideConfirmation() {
|
||||
|
||||
}
|
||||
|
||||
clearAll() {
|
||||
hush()
|
||||
speed = 1
|
||||
this.sketches.clear()
|
||||
this.editor.clear()
|
||||
//@todo: add clear/reset function to hydra
|
||||
}
|
||||
|
||||
closeModal () {
|
||||
document.getElementById("info-container").className = "hidden"
|
||||
this.closeButton.className = "fas fa-question-circle icon"
|
||||
this.shareButton.classList.remove('hidden')
|
||||
this.clearButton.classList.remove('hidden')
|
||||
this.mutatorButton.classList.remove('hidden');
|
||||
this.runButton.classList.remove('hidden');
|
||||
this.editorText.style.opacity = 1
|
||||
this.isClosed = true
|
||||
}
|
||||
|
||||
openModal () {
|
||||
document.getElementById("info-container").className = ""
|
||||
this.closeButton.className = "fas fa-times icon"
|
||||
this.shareButton.classList.add('hidden')
|
||||
this.clearButton.classList.add('hidden')
|
||||
this.mutatorButton.classList.add('hidden');
|
||||
this.runButton.classList.add('hidden');
|
||||
this.editorText.style.opacity = 0.0
|
||||
this.isClosed = false
|
||||
}
|
||||
|
||||
mutateSketch(evt) {
|
||||
if (evt.shiftKey) {
|
||||
this.editor.mutator.doUndo();
|
||||
} else {
|
||||
this.editor.mutator.mutate({reroll: false, changeTransform: evt.metaKey});
|
||||
this.formatCode();
|
||||
this.sketches.saveLocally(this.editor.getValue())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Menu
|
||||
@@ -1,42 +0,0 @@
|
||||
//'use babel'
|
||||
|
||||
// const p5lib = require('p5')
|
||||
|
||||
class P5 extends p5{
|
||||
constructor ({
|
||||
width = window.innerWidth,
|
||||
height = window.innerHeight,
|
||||
mode = 'P2D'
|
||||
} = {}) {
|
||||
//console.log('createing canvas', width, height, window.innerWidth, window.innerHeight)
|
||||
super(( p ) => {
|
||||
p.setup = () => { p.createCanvas(width, height, p[mode]) }
|
||||
// p.setup = () => { p.createCanvas() }
|
||||
p.draw = () => { }
|
||||
}, 'hydra-ui')
|
||||
this.width = width
|
||||
this.height = height
|
||||
this.mode = mode
|
||||
this.canvas.style.position = "absolute"
|
||||
this.canvas.style.top = "0px"
|
||||
this.canvas.style.left = "0px"
|
||||
this.canvas.style.zIndex = -1
|
||||
// console.log('p5', this)
|
||||
// return this.p5
|
||||
}
|
||||
|
||||
show() {
|
||||
this.canvas.style.visibility = "visible"
|
||||
}
|
||||
|
||||
hide() {
|
||||
this.canvas.style.visibility = "hidden"
|
||||
}
|
||||
|
||||
// p5 clear function not covering canvas
|
||||
clear() {
|
||||
this.drawingContext.clearRect(0, 0, this.canvas.width, this.canvas.height)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = P5
|
||||
@@ -1,27 +0,0 @@
|
||||
const log = require('./editor/log.js').log
|
||||
|
||||
module.exports = {
|
||||
eval: (arg, callback) => {
|
||||
var self = this
|
||||
|
||||
// wrap everything in an async function
|
||||
var jsString = `(async() => {
|
||||
${arg}
|
||||
})().catch(${(err) => log(err.message, "log-error")})`
|
||||
var isError = false
|
||||
try {
|
||||
eval(jsString)
|
||||
// log(jsString)
|
||||
log('')
|
||||
} catch (e) {
|
||||
isError = true
|
||||
console.log("logging", e)
|
||||
// var err = e.constructor('Error in Evaled Script: ' + e.message);
|
||||
// console.log(err.lineNumber)
|
||||
log(e.message, "log-error")
|
||||
//console.log('ERROR', JSON.stringify(e))
|
||||
}
|
||||
// console.log('callback is', callback)
|
||||
if(callback) callback(jsString, isError)
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hydra",
|
||||
"version": "1.2.15",
|
||||
"version": "1.3.0",
|
||||
"description": "",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user