VimUnDoBn24<R>@@b V"FfW k_ W "H  "G5_W2!I!H5_ W8  var store =5_ ( ( -v-W=!H/ var store = opts.store || p.join('.', cuid())5_  ( -v-WB!H/ var store = opts.store || p.join('.', 'data')5_  ( -v-WF!H- var dir = opts.store || p.join('.', 'data')5_  ( -v-WH "I  "H5_ !" ( -v-WN!#J !#I5_ " ( -v-WY "K  "J5_ "" ( -v-Wh!#K# var store = p.join(dir, 'layers')5_ # ( -v-Wj"$K var 5_ #1 ( -v-W"$K2 var db = opts.db || level(p.join(dir, 'dbs', id)5_  #: ( -v-W"$K: var db = opts.db || level(p.join(dir, 'dbs', id + '.db')5_ $ ( -v-W#$" var db = opts.db || p.join('.', 5_  ( -v-W K J5_!(!-v-WK+module.exports = function (mnt, opts, cb) {5_vWKvW -var lexint = require('lexicographic-integer')5_243=vW Y"var toIndexKey = function (name) {( var depth = name.split('/').length - 1) return lexint.pack(depth, 'hex') + name}5_3649vW 5_47568vW #var fromIndexKey = function (key) {5_6877vW 5_7986vW }5_8:95vW 5_9;:4vW var stream = require('stream')5_:<;3vW Ovar empty = function () {" var p = new stream.PassThrough() p.end() return p}5_;=< -vW  J I5_<>= .vW  1var toIndexKey = require('./lib/util').toIndexKey5_=?> -vW  J I5_>@?/vW  var fromIndexKey = util.5_?A@ .vW " K J5_@BA/vW % var empty = util.e5_ADB4.vW 'J9 var createImageStream = opts.createImageStream || empty5_BFCD4.vW +J9 var createIndexStream = opts.createIndexStream || empty5_DGEF-.vW 1,.J% if (!entry.length) return empty()5_FHG..vW 9-/J 5_GIH- .vW M,.J# handlers.export = function () {5_HJI- .vW Q,.J1 handlers.createChangesStream` = function () {5_IKJ .vW b K J5_JLK/&/vW .0K& return db.createReadStream 5_KML/=/vW .0K= return db.createReadStream({ valueEncoding: 'object' })5_LNM.//vW .1L .0K5_MON/1vW /1N /1M5_NPO0*2vW/1N* return util.fromIndexKey(chunk.key5_OQP/2vW/1N5_PRQ03vW/05_QSR/2vW/1O /1N5_RTS/3vW./1P /1O5_SUT04vWE/0 5_TVU03vWF/1O this.push(5_UWV0Q3vWX/1OQ this.push(Object.assign({}, chunk, { key: util.fromIndexKey(chunk.key) })5_VXW0Q3vWZ02P 02O5_WYX24vW\12+ return util.fromIndexKey(chunk.key)5_XZY3 33 3AvAWe24OC return db.createReadStream({ valueEncoding: 'object' }).pipe(5_Y[Z3 33 3AvAWe24O return (5_Z\[3 33 3AvAWg24O return tream5_[^\233 3AvAWh24P 24O5_\_]^244 4AvAW13P }5_^`_ 44 4AvAW P(var throughMap = require('through2').map5__a` 44 4AvAW P!var map = require('through2').map5_`ba !4 ! $v$W P%var map = require('through2-map').map5_acb4 <v<WJ.0+ return createImageStream(entry, offset)> var createImageStream = opts.createImageStream || util.empty5_bec4 <v<WL = var createFileStream = opts.createImageStream || util.empty5_cfde14 <v<W!13Q 13P5_egf5 <v<W"R Q5_fhg6 <v<W console.log('creating fs')5_gih25 <v<W#12 console.log('calling ready')5_hji54 <v<W$58Q 57P5_ikj74 <v<W 67 console.log('At MOUNT')5_jmk74 <v<W %675_knlm)4 <v<W ),Q )+P5_mon+6 <v<W &*,R console.log('here'(5_npo+6 <v<W *+ console.log('here')5_oqp+5 <v<W '*+5_prqo4 <v<W (oqQ oqP5_qsrp5 <v<W "op console.log('got here')5_rts*4 <v<W +)*,Q *,P5_sut+5 <v<W 5**+ console.log('got here')5_tvu14 <v<W 9+13Q 13P5_uwv25 <v<W @,12 console.log('got here')5_vxw> >> >vW o=?P4 fs.exists(p.join(store, 'db'), function (exists) {5_wzx> >> >vW p=?P. fs.exists((store, 'db'), function (exists) {5_x{yz>>>>vW =?P- fs.exists(store, 'db'), function (exists) {5_z|{>>>>vW .=?P' fs.exists(store), function (exists) {5_{}|A >A A v W 0@BP0 mkdirp(p.join(store, 'layer'), function () {5_|~}A>CW 1ACQ ACP5_}~D>DWzDFR DFQ5_~G>DW~2GIS GIR5_?>DW>AS/ if (exists) return fuse.unmount(mnt, ready)5_@>EW@BU @BT5_?>FW3?AV ?AU5_L!>GW5LOW LNV5_O->GW6OQY OQX5_G>GW7FHY) indexStream.on('end', function () {5_M>GW*LM console.log('db:', db)5_M>GW*LM. console.log('entry.name:', entry.name)5_J>GGJvW2JLW5_K>GGJvW2JPXKLX5_N>GKNvW5NP\5_O>GKNvW5NT]OP]5_S>GKNvW7RS5_S>GKNvW7RS5_O>GKNvW9NP_, indexStream.on('finish', function () {5_K>GKNvW<JL_, indexStream.on('finish', function () {5_H>GKNvWBGI_ console.log('and here')5_L>GKNvWGKM_ console.log('and here')5_P>GKNvWH;OQ_ console.log('and here')5_G>GGJvW FH_, indexStream.on('finish', function () {' console.log('and here, finish') fuse.unmount(mnt, ready) })) indexStream.on('end', function () {5_K>GKNvW<JL[+ indexStream.on('close', function () {& console.log('and here, close') fuse.unmount(mnt, ready) }) console.log('and HERE')5_G>GKKvW=FHW) indexStream.on('end', function () {5_E>GKKvWDE console.log('got here')5_G>FJJvWFG$ console.log('and here, end')5_I>FIIvWHI console.log('and HERE')5_K>FIIvW>JK" console.log('err:', err)5_=>FIIvWq=?T =?S5_??G?QvWr>RT& fs.exists(store, function (exists) { if (exists) {" console.log('oh here first')% return fuse.unmount(mnt, ready) } mkdirp(store, function () {+ var indexStream = createIndexStream()+ indexStream.on('close', function () { fuse.unmount(mnt, ready) })/ indexStream.on('data', function (entry) {d db.put(toIndexKey(p.resolve(entry.name)), entry, { valueEncoding: 'json' }, function (err) {! if (err) return cb(err) }) }) indexStream.resume() }) })5_Q?G?QvWr QSU QST5_>?G?QvWr@>@V >@U5_G@H@RvWr;FG= console.log('getattr, entry:', JSON.stringify(entry))5_ ?G?QvWr=G console.log('file.fd:', file.fd, 'file.entry:', file.entry)5_>F>PvWr@4 console.log('entry:', JSON.stringify(entry))5_ =E=OvWrA= console.log('linking', srcTarget, 'to', destTarget)5_ <D<NvWrCQ console.log('IN LINK', toIndexKey(dest), '->', JSON.stringify(entry))5_";C;MvWrE!" console.log('DESTROY')5_<:B:LvWrGA;<$ console.log('oh here first')5_:A:KvWsBO' var store = p.join(dir, 'layers', id)5_:A:KvWsOD return p.join(store, 'layer', shasum(path + '-' + Date.now()))5_:A$v$WsCOE return p.join(layers, 'layer', shasum(path + '-' + Date.now()))5_::A$v$Ws9;O( fs.exists(store, function (exists) {5_? :A$v$WsE>@O! mkdirp(store, function () {5_D:A$v$WzFDFP DFO5_E :A$v$WGDED console.log('putting:', toIndexKey(p.resolve(entry.name)))5_%:AWgHO+ var dir = opts.dir || p.join('.', 'data')5_:AvWgIO+function createFilesystem (mnt, opts, cb) {5_:AvWgP O5_;BvWg var 5_:AvWgJP O5_;B;vWh(P; var db = opts.db || level(p.join(dir, 'dbs', id + '.db'))5_;B; v Wh+P? var dbPath = opts.db || level(p.join(dir, 'dbs', id + '.db'))5_;B; v Wh.P; var db = opts.db || level(p.join(dir, 'dbs', id + '.db'))5_;B; v Wh;Q P5_=D= v Wh=S R5_>E> v WhB S }5_?F?  v WhC U  T5_ @G@!! v WhI V  U5_AHA"" v WhK var db = nul5_@G@!! v WhLU5_AHA"v"WhOV5_AHAvWhSV var db = opts.db5_" AHA" "=v=WhY!#V? var dbPath = opts.db || level(p.join(dir, 'dbs', id + '.db'))5_ AHA" "=v=WhZ!V var dbPath =5_ AHA" "=v=WhZ!V var dbPath =  !V5_"AHA" "=v=Wh{K!"! var dbPath = opts.db || level()5_E @G@" "=v=WhEGV EGU5_G@H@GPvWhFQV - var indexStream = createIndexStream()- indexStream.on('close', function () {" fuse.unmount(mnt, ready) })1 indexStream.on('data', function (entry) {f db.put(toIndexKey(p.resolve(entry.name)), entry, { valueEncoding: 'json' }, function (err) {# if (err) return cb(err) }) }) indexStream.resume()5_P @H@GPvWhLPRW PRV5_Q@H@GPvWhQTX QSW5_R@H@GPvWhRTZ RTY5_S @H@GPvWhRTZ begin()5_T@H@GPvWhTW[ TVZ5_U @H@GPvWhMUW] UW\5_V@H@GPvWhOVX^ VX]5_V@H@GPvWi-VX_ VX^5_R@H@GPvWi3PRT` RT_5_P @H@GPvWivRPRa PR`5_Q @H@GPvWiSPQ cb()5_7@H@GPvWi79a 79`5_8AIAHQvWiU79a console.log*'mounting')5_8AIAHQvWiV78 console.log('mounting')5_H @H@GPvWiWHJa HJ`5_H@H@GQvWjGIa/ indexStream.on('close', function () {5_I @H@GQvWjXHI( console.log('calling ready')5_S @H@GPvWj,RS" console.log('beginning')5_W @H@GPvWj.YVW" console.log('beginning')5_2@H@GPvWjx27_ 24^5_6DLDKTvWjZ56 handlers5_=CKCJSvWk<?a cb(null, handlers)5_>DLDKTvWk=@b handlers)5_>EMELUvWk=@c handlers}5_@FNFMVvWk[>@d })?Ad )5_1EME11 v Wk02c0 handlers.createChangesStream = function () {5_1EME11 v Wk02c' createChangesStream = function () {5_1!EME1!1*v*Wk02c0 function createChangesStream = function () {5_1!EME1!1*v*Wk02c& function createChangesStream () {5_>EME1!1*v*Wk=?c handlers5_=EME1!1*v*Wk<>c cb(null, {5_=EME1!1*v*Wk<?c cb(null, Object.assign({5_=FNF1!1*v*Wk=Ae =?d5_@IQI1!1*v*Wk?Bg db: db5_CJRJ1!1*v*WkBC handlers: handlers5_CIQI1!1*v*Wk\BC })5_BHPH1!1*v*Wk]ACf })5_3HPH1!1*v*Wk23 handlers.mnt = mnt5_3GOG0!0*v*Wk23 handlers.layers = layers5_3FNF/!/*v*Wk^23 handlers.id = id5_>EME.!.*v*Wk_=@c layers: layers5_:AWq`e d5_);BWyf e5_<CWf& console.log('result:', result)5_'<CWaf/ console.log('result for path:', result)5_#<CWg f5_=DW 5_<CWbg f5_4=DW 35g* if (!entry.length) return util.empty()5_4=D44#v#W 35g9 if (!entry.length || !entry.size) return util.empty()5_4=D44#v#W 35g. if (!entry.length || ) return util.empty()5_4=D44#v#W 35g- if (!entry.length ||) return util.empty()5_4=D44#v#W 35g, if (!entry.length |) return util.empty()5_4=D44#v#W 35g+ if (!entry.length ) return util.empty()5_=D44#v#W dg> if (!result) return file.stream.once('readable', loop)5_=D44)v)W g@ //if (!result) return file.stream.once('readable', loop)5_=D44)v)W gg? /if (!result) return file.stream.once('readable', loop)5_=D44)v)W ih g5_?F44)v)W / if (file.entry.length === 0) return cb(0)5_>E44)v)W i h5_@G44)v)W jj5_AH44)v)W 5_@G44)v)W j5_?F44)v)W . console.log('in loop for path:', path)5_>E44)v)W 5 console.log('result for path:', path, result)5_=D44)v)W kL console.log('path:', path, 'calling cb with length:', result.length)5_>E44)v)W -g h result = result || 05_>EvW 7eh result = result || []5_>EvW cfh) result = result || new Buffer([])5_Z>GKNvW9Y[5_xzy>A>>vW r-=?P& fs.exists(store, function (exists) {5_kml(5 <v<W ()P5_ced=4 <v<W=>P5_\^]33 3AvAW}Px var db = opts.db || level(p.join(dir, 'dbs', id + '.db')) var createImageStream = opts.createImageStream || util.empty5_DFE9.vW -JB var createIndexStream = opts.createIndexStream || util.utilempty5_BDC9.vW )JB var createImageStream = opts.createImageStream || util.utilempty5_465/ 8vW .0T/ handlers.getChangesStream = function (cb) {5_!(!-v-WK>module.exports = createFilesystem = function (mnt, opts, cb) {5