Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8394137
vault.e2e8f042b9c742390872.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
23 KB
Subscribers
None
vault.e2e8f042b9c742390872.js
View Options
/*! For license information please see vault.e2e8f042b9c742390872.js.LICENSE.txt */
!
function
(
e
,
t
){
"object"
==
typeof
exports
&&
"object"
==
typeof
module
?
module
.
exports
=
t
()
:
"function"
==
typeof
define
&&
define
.
amd
?
define
([],
t
)
:
"object"
==
typeof
exports
?
exports
.
swh
=
t
()
:
(
e
.
swh
=
e
.
swh
||
{},
e
.
swh
.
vault
=
t
())}(
self
,(
function
(){
return
function
(){
var
__webpack_modules__
=
{
87757
:
function
(
e
,
t
,
n
){
e
.
exports
=
n
(
35666
)},
80706
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
JO
:
function
(){
return
g
},
YQ
:
function
(){
return
l
},
dg
:
function
(){
return
h
},
es
:
function
(){
return
_
},
vE
:
function
(){
return
b
}});
var
r
=
n
(
15861
),
o
=
n
(
87757
),
a
=
n
.
n
(
o
),
i
=
n
(
83999
),
c
=
n
(
59537
),
s
=
{
position
:
"fixed"
,
left
:
"1rem"
,
bottom
:
"1rem"
,
"z-index"
:
"100000"
};
function
u
(
e
){
13
===
e
.
keyCode
&&
(
e
.
preventDefault
(),
$
(
".modal.show"
).
last
().
find
(
'button:contains("Ok")'
).
trigger
(
"click"
))}
function
l
(
e
,
t
){
return
p
.
apply
(
this
,
arguments
)}
function
p
(){
return
(
p
=
(
0
,
r
.
Z
)(
a
().
mark
((
function
e
(
t
,
n
){
var
r
,
o
,
i
,
l
,
p
,
d
;
return
a
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
r
=
"directory"
===
t
?
Urls
.
api_1_vault_cook_flat
(
n
)
:
Urls
.
api_1_vault_cook_git_bare
(
n
),
e
.
next
=
3
,
fetch
(
r
);
case
3
:
return
o
=
e
.
sent
,
e
.
next
=
6
,
o
.
json
();
case
6
:
"NotFoundExc"
===
(
i
=
e
.
sent
).
exception
||
"failed"
===
i
.
status
?
(
swh
.
vault
.
removeCookingTaskInfo
([
n
]),
l
=
"#vault-cook-"
+
t
+
"-modal"
,
$
(
l
).
modal
(
"show"
),
$
(
"body"
).
on
(
"keyup"
,
l
,
u
))
:
"done"
===
i
.
status
?
(
p
=
"#vault-fetch-"
+
t
+
"-modal"
,
$
(
p
).
modal
(
"show"
),
$
(
"body"
).
on
(
"keyup"
,
p
,
u
))
:
((
d
=
$
((
0
,
c
.
EM
)(
"danger"
,
"Archive cooking service is currently experiencing issues.<br/>Please try again later."
,
!
0
))).
css
(
s
),
$
(
"body"
).
append
(
d
));
case
8
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
function
d
(
e
,
t
){
return
f
.
apply
(
this
,
arguments
)}
function
f
(){
return
(
f
=
(
0
,
r
.
Z
)(
a
().
mark
((
function
e
(
t
,
n
){
var
r
,
o
,
i
,
l
,
p
,
d
;
return
a
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
(
r
=
swh
.
webapp
.
getSwhIdsContext
(),
n
.
origin
=
r
[
t
].
context
.
origin
,
n
.
path
=
r
[
t
].
context
.
path
,
n
.
browse_url
=
r
[
t
].
swhid_with_context_url
,
n
.
browse_url
||
(
n
.
browse_url
=
r
[
t
].
swhid_url
),(
o
=
JSON
.
parse
(
localStorage
.
getItem
(
"swh-vault-cooking-tasks"
)))
||
(
o
=
[]),
void
0
!==
o
.
find
((
function
(
e
){
return
e
.
bundle_type
===
n
.
bundle_type
&&
e
.
swhid
===
n
.
swhid
}))){
e
.
next
=
35
;
break
}
return
i
=
"flat"
===
n
.
bundle_type
?
Urls
.
api_1_vault_cook_flat
(
n
.
swhid
)
:
Urls
.
api_1_vault_cook_git_bare
(
n
.
swhid
),
n
.
email
&&
(
i
+=
"?email="
+
encodeURIComponent
(
n
.
email
)),
e
.
prev
=
10
,
e
.
next
=
13
,(
0
,
c
.
e_
)(
i
);
case
13
:
l
=
e
.
sent
,(
0
,
c
.
ry
)(
l
),
o
.
push
(
n
),
localStorage
.
setItem
(
"swh-vault-cooking-tasks"
,
JSON
.
stringify
(
o
)),
$
(
"#vault-cook-directory-modal"
).
modal
(
"hide"
),
$
(
"body"
).
off
(
"keyup"
,
"#vault-cook-directory-modal"
,
u
),
$
(
"#vault-cook-revision-modal"
).
modal
(
"hide"
),
$
(
"body"
).
off
(
"keyup"
,
"#vault-cook-revision-modal"
,
u
),(
p
=
$
((
0
,
c
.
EM
)(
"success"
,
'Archive cooking request successfully submitted.<br/>Go to the <a href="'
+
Urls
.
browse_vault
()
+
'">Downloads</a> page to get the download link once it is ready.'
,
!
0
))).
css
(
s
),
$
(
"body"
).
append
(
p
),
e
.
next
=
35
;
break
;
case
26
:
e
.
prev
=
26
,
e
.
t0
=
e
.
catch
(
10
),
$
(
"#vault-cook-directory-modal"
).
modal
(
"hide"
),
$
(
"body"
).
off
(
"keyup"
,
"#vault-cook-directory-modal"
,
u
),
$
(
"#vault-cook-revision-modal"
).
modal
(
"hide"
),
$
(
"body"
).
off
(
"keyup"
,
"#vault-cook-revision-modal"
,
u
),(
d
=
$
((
0
,
c
.
EM
)(
"danger"
,
"Archive cooking request submission failed."
,
!
0
))).
css
(
s
),
$
(
"body"
).
append
(
d
);
case
35
:
case
"end"
:
return
e
.
stop
()}}),
e
,
null
,[[
10
,
26
]])})))).
apply
(
this
,
arguments
)}
function
h
(
e
){
var
t
=
$
(
"#swh-vault-directory-email"
).
val
().
trim
();
!
t
||
i
.
G
(
t
)
?
d
(
"directory"
,{
bundle_type
:
"flat"
,
swhid
:
e
,
email
:
t
,
status
:
"new"
})
:
(
$
(
"#invalid-email-modal"
).
modal
(
"show"
),
$
(
"body"
).
on
(
"keyup"
,
"#invalid-email-modal"
,
u
))}
function
_
(
e
){
return
v
.
apply
(
this
,
arguments
)}
function
v
(){
return
(
v
=
(
0
,
r
.
Z
)(
a
().
mark
((
function
e
(
t
){
var
n
,
r
,
o
;
return
a
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
$
(
"#vault-fetch-directory-modal"
).
modal
(
"hide"
),
$
(
"body"
).
off
(
"keyup"
,
"#vault-cook-revision-modal"
,
u
),
n
=
Urls
.
api_1_vault_cook_flat
(
t
),
e
.
next
=
5
,
fetch
(
n
);
case
5
:
return
r
=
e
.
sent
,
e
.
next
=
8
,
r
.
json
();
case
8
:
o
=
e
.
sent
,
swh
.
vault
.
fetchCookedObject
(
o
.
fetch_url
);
case
10
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
function
g
(
e
){
var
t
=
$
(
"#swh-vault-revision-email"
).
val
().
trim
();
!
t
||
i
.
G
(
t
)
?
d
(
"revision"
,{
bundle_type
:
"git_bare"
,
swhid
:
e
,
email
:
t
,
status
:
"new"
})
:
(
$
(
"#invalid-email-modal"
).
modal
(
"show"
),
$
(
"body"
).
on
(
"keyup"
,
"#invalid-email-modal"
,
u
))}
function
b
(
e
){
return
k
.
apply
(
this
,
arguments
)}
function
k
(){
return
(
k
=
(
0
,
r
.
Z
)(
a
().
mark
((
function
e
(
t
){
var
n
,
r
,
o
;
return
a
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
$
(
"#vault-fetch-revision-modal"
).
modal
(
"hide"
),
$
(
"body"
).
off
(
"keyup"
,
"#vault-fetch-revision-modal"
,
u
),
n
=
Urls
.
api_1_vault_cook_git_bare
(
t
),
e
.
next
=
5
,
fetch
(
n
);
case
5
:
return
r
=
e
.
sent
,
e
.
next
=
8
,
r
.
json
();
case
8
:
o
=
e
.
sent
,
swh
.
vault
.
fetchCookedObject
(
o
.
fetch_url
);
case
10
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}},
69636
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
H6
:
function
(){
return
h
},
LY
:
function
(){
return
m
},
rh
:
function
(){
return
v
},
xF
:
function
(){
return
w
}});
var
r
,
o
,
a
=
n
(
15861
),
i
=
n
(
87757
),
c
=
n
.
n
(
i
),
s
=
n
(
59537
),
u
=
n
(
83943
),
l
=
n
.
n
(
u
),
p
=
'<div class="progress">\n <div class="progress-bar progress-bar-success progress-bar-striped"\n role="progressbar" aria-valuenow="100" aria-valuemin="0"\n aria-valuemax="100" style="width: 100%;height: 100%;">\n </div>\n </div>;'
,
d
=
5e3
;
function
f
(
e
,
t
){
"new"
===
t
.
status
?
e
.
css
(
"background-color"
,
"rgba(128, 128, 128, 0.5)"
)
:
"pending"
===
t
.
status
?
e
.
css
(
"background-color"
,
"rgba(0, 0, 255, 0.5)"
)
:
"done"
===
t
.
status
?
e
.
css
(
"background-color"
,
"#5cb85c"
)
:
"failed"
===
t
.
status
&&
(
e
.
css
(
"background-color"
,
"rgba(255, 0, 0, 0.5)"
),
e
.
css
(
"background-image"
,
"none"
));
var
n
,
r
,
o
=
(
t
.
progress_message
||
t
.
status
).
split
(
"\n"
,
2
);
n
=
o
[
0
],
r
=
o
.
slice
(
1
),
e
.
text
(
n
),
r
.
length
&&
e
.
prop
(
"title"
,
r
[
0
]),
"new"
===
t
.
status
||
"pending"
===
t
.
status
?
e
.
addClass
(
"progress-bar-animated"
)
:
e
.
removeClass
(
"progress-bar-striped"
)}
function
h
(
e
){
return
_
.
apply
(
this
,
arguments
)}
function
_
(){
return
(
_
=
(
0
,
a
.
Z
)(
c
().
mark
((
function
e
(
t
){
var
n
,
r
;
return
c
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
o
=
null
,
e
.
next
=
3
,
fetch
(
t
);
case
3
:
if
(
!
e
.
sent
.
ok
){
e
.
next
=
8
;
break
}
$
(
"#vault-fetch-iframe"
).
attr
(
"src"
,
t
),
e
.
next
=
18
;
break
;
case
8
:
n
=
JSON
.
parse
(
localStorage
.
getItem
(
"swh-vault-cooking-tasks"
)),
r
=
0
;
case
10
:
if
(
!
(
r
<
n
.
length
)){
e
.
next
=
17
;
break
}
if
(
n
[
r
].
fetch_url
!==
t
){
e
.
next
=
14
;
break
}
return
o
=
n
[
r
],
e
.
abrupt
(
"break"
,
17
);
case
14
:++
r
,
e
.
next
=
10
;
break
;
case
17
:
$
(
"#vault-recook-object-modal"
).
modal
(
"show"
);
case
18
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
function
v
(){
return
g
.
apply
(
this
,
arguments
)}
function
g
(){
return
(
g
=
(
0
,
a
.
Z
)(
c
().
mark
((
function
e
(){
var
t
,
n
,
a
,
i
;
return
c
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
(
!
o
){
e
.
next
=
30
;
break
}
return
clearTimeout
(
r
),
t
=
"flat"
===
o
.
bundle_type
?
Urls
.
api_1_vault_cook_flat
(
o
.
swhid
)
:
Urls
.
api_1_vault_cook_git_bare
(
o
.
swhid
),
o
.
email
&&
(
t
+=
"?email="
+
o
.
email
),
e
.
prev
=
4
,
e
.
next
=
7
,(
0
,
s
.
e_
)(
t
);
case
7
:
n
=
e
.
sent
,(
0
,
s
.
ry
)(
n
),
o
.
status
=
"new"
,
a
=
JSON
.
parse
(
localStorage
.
getItem
(
"swh-vault-cooking-tasks"
)),
i
=
0
;
case
12
:
if
(
!
(
i
<
a
.
length
)){
e
.
next
=
19
;
break
}
if
(
a
[
i
].
swhid
!==
o
.
swhid
){
e
.
next
=
16
;
break
}
return
a
[
i
]
=
o
,
e
.
abrupt
(
"break"
,
19
);
case
16
:++
i
,
e
.
next
=
12
;
break
;
case
19
:
return
localStorage
.
setItem
(
"swh-vault-cooking-tasks"
,
JSON
.
stringify
(
a
)),
$
(
"#vault-recook-object-modal"
).
modal
(
"hide"
),
e
.
next
=
23
,
b
();
case
23
:
e
.
next
=
30
;
break
;
case
25
:
return
e
.
prev
=
25
,
e
.
t0
=
e
.
catch
(
4
),
$
(
"#vault-recook-object-modal"
).
modal
(
"hide"
),
e
.
next
=
30
,
b
();
case
30
:
case
"end"
:
return
e
.
stop
()}}),
e
,
null
,[[
4
,
25
]])})))).
apply
(
this
,
arguments
)}
function
b
(){
return
k
.
apply
(
this
,
arguments
)}
function
k
(){
return
(
k
=
(
0
,
a
.
Z
)(
c
().
mark
((
function
e
(){
var
t
,
n
,
o
,
a
,
i
,
u
,
h
,
_
,
v
,
g
,
k
,
w
,
m
,
y
,
x
,
T
,
j
,
O
;
return
c
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
((
t
=
JSON
.
parse
(
localStorage
.
getItem
(
"swh-vault-cooking-tasks"
)))
&&
0
!==
t
.
length
){
e
.
next
=
5
;
break
}
return
$
(
".swh-vault-table tbody tr"
).
remove
(),
r
=
setTimeout
(
b
,
d
),
e
.
abrupt
(
"return"
);
case
5
:
n
=
[],
o
=
{},
a
=
[],
i
=
0
;
case
9
:
if
(
!
(
i
<
t
.
length
)){
e
.
next
=
36
;
break
}
if
(
void
0
===
(
u
=
t
[
i
]).
object_type
){
e
.
next
=
28
;
break
}
if
(
"directory"
!==
u
.
object_type
){
e
.
next
=
18
;
break
}
u
.
swhid
=
"swh:1:dir:"
+
u
.
object_id
,
u
.
bundle_type
=
"flat"
,
u
.
fetch_url
=
Urls
.
api_1_vault_fetch_flat
(
u
.
swhid
),
e
.
next
=
26
;
break
;
case
18
:
if
(
"revision"
!==
u
.
object_type
){
e
.
next
=
24
;
break
}
u
.
swhid
=
"swh:1:rev:"
+
u
.
object_id
,
u
.
bundle_type
=
"git_bare"
,
u
.
fetch_url
=
Urls
.
api_1_vault_fetch_git_bare
(
u
.
swhid
),
e
.
next
=
26
;
break
;
case
24
:
return
console
.
error
(
"Unexpected cookingTask.object_type: "
+
u
.
object_type
),
e
.
abrupt
(
"continue"
,
33
);
case
26
:
delete
u
.
object_type
,
delete
u
.
object_id
;
case
28
:
a
.
push
(
u
.
swhid
),
o
[
u
.
swhid
]
=
u
,
h
=
void
0
,
h
=
"flat"
===
u
.
bundle_type
?
Urls
.
api_1_vault_cook_flat
(
u
.
swhid
)
:
Urls
.
api_1_vault_cook_git_bare
(
u
.
swhid
),
"done"
!==
u
.
status
&&
"failed"
!==
u
.
status
&&
n
.
push
(
fetch
(
h
));
case
33
:++
i
,
e
.
next
=
9
;
break
;
case
36
:
return
$
(
".swh-vault-table tbody tr"
).
each
((
function
(
e
,
t
){
var
n
=
$
(
t
).
find
(
".vault-object-info"
).
data
(
"swhid"
);
-
1
===
$
.
inArray
(
n
,
a
)
&&
$
(
t
).
remove
()})),
e
.
prev
=
37
,
e
.
next
=
40
,
Promise
.
all
(
n
);
case
40
:
return
_
=
e
.
sent
,(
0
,
s
.
un
)(
_
),
e
.
next
=
44
,
Promise
.
all
(
_
.
map
((
function
(
e
){
return
e
.
json
()})));
case
44
:
for
(
v
=
e
.
sent
,
g
=
$
(
"#vault-cooking-tasks tbody"
),
k
=
0
;
k
<
v
.
length
;
++
k
)(
w
=
o
[
v
[
k
].
swhid
]).
status
=
v
[
k
].
status
,
w
.
fetch_url
=
v
[
k
].
fetch_url
,
w
.
progress_message
=
v
[
k
].
progress_message
;
for
(
m
=
0
;
m
<
t
.
length
;
++
m
)
y
=
t
[
m
],(
x
=
$
(
"#vault-task-"
+
CSS
.
escape
(
y
.
swhid
))).
length
?
(
f
(
x
.
find
(
".progress-bar"
),
y
),
O
=
x
.
find
(
".vault-dl-link"
),
"done"
===
y
.
status
?
O
[
0
].
innerHTML
=
'<button class="btn btn-default btn-sm" onclick="swh.vault.fetchCookedObject(\''
+
y
.
fetch_url
+
'\')"><i class="mdi mdi-download mdi-fw" aria-hidden="true"></i>Download</button>'
:
O
[
0
].
innerHTML
=
""
)
:
((
T
=
y
.
browse_url
)
||
(
T
=
Urls
.
browse_swhid
(
y
.
swhid
)),
j
=
$
.
parseHTML
(
p
)[
0
],
f
(
$
(
j
).
find
(
".progress-bar"
),
y
),
g
.
prepend
(
l
()({
browseUrl
:
T
,
cookingTask
:
y
,
progressBar
:
j
,
Urls
:
Urls
,
swh
:
swh
})));
localStorage
.
setItem
(
"swh-vault-cooking-tasks"
,
JSON
.
stringify
(
t
)),
r
=
setTimeout
(
b
,
d
),
e
.
next
=
55
;
break
;
case
52
:
e
.
prev
=
52
,
e
.
t0
=
e
.
catch
(
37
),
console
.
log
(
"Error when fetching vault cooking tasks:"
,
e
.
t0
);
case
55
:
case
"end"
:
return
e
.
stop
()}}),
e
,
null
,[[
37
,
52
]])})))).
apply
(
this
,
arguments
)}
function
w
(
e
){
var
t
=
JSON
.
parse
(
localStorage
.
getItem
(
"swh-vault-cooking-tasks"
));
t
&&
(
t
=
$
.
grep
(
t
,(
function
(
t
){
return
-
1
===
$
.
inArray
(
t
.
swhid
,
e
)})),
localStorage
.
setItem
(
"swh-vault-cooking-tasks"
,
JSON
.
stringify
(
t
)))}
function
m
(){
$
(
"#vault-tasks-toggle-selection"
).
change
((
function
(
e
){
$
(
".vault-task-toggle-selection"
).
prop
(
"checked"
,
e
.
currentTarget
.
checked
)})),
$
(
"#vault-remove-tasks"
).
click
((
function
(){
clearTimeout
(
r
);
var
e
=
[];
$
(
".swh-vault-table tbody tr"
).
each
((
function
(
t
,
n
){
if
(
$
(
n
).
find
(
".vault-task-toggle-selection"
).
prop
(
"checked"
)){
var
r
=
$
(
n
).
find
(
".vault-object-info"
).
data
(
"swhid"
);
e
.
push
(
r
),
$
(
n
).
remove
()}})),
w
(
e
),
$
(
"#vault-tasks-toggle-selection"
).
prop
(
"checked"
,
!
1
),
r
=
setTimeout
(
b
,
d
)})),
b
(),
window
.
onfocus
=
function
(){
clearTimeout
(
r
),
b
()}}},
59537
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
EM
:
function
(){
return
c
},
e_
:
function
(){
return
i
},
ry
:
function
(){
return
o
},
un
:
function
(){
return
a
}});
n
(
87757
);
var
r
=
n
(
31955
);
function
o
(
e
){
if
(
!
e
.
ok
)
throw
e
;
return
e
}
function
a
(
e
){
for
(
var
t
=
0
;
t
<
e
.
length
;
++
t
)
if
(
!
e
[
t
].
ok
)
throw
e
[
t
];
return
e
}
function
i
(
e
,
t
,
n
){
return
void
0
===
t
&&
(
t
=
{}),
void
0
===
n
&&
(
n
=
null
),
t
[
"X-CSRFToken"
]
=
r
.
Z
.
get
(
"csrftoken"
),
fetch
(
e
,{
credentials
:
"include"
,
headers
:
t
,
method
:
"POST"
,
body
:
n
})}
function
c
(
e
,
t
,
n
){
void
0
===
n
&&
(
n
=!
1
);
var
r
=
""
,
o
=
""
;
return
n
&&
(
r
=
'<button type="button" class="close" data-dismiss="alert" aria-label="Close">\n <span aria-hidden="true">×</span>\n </button>'
,
o
=
"alert-dismissible"
),
'<div class="alert alert-'
+
e
+
" "
+
o
+
'" role="alert">'
+
t
+
r
+
"</div>"
}},
83943
:
function
(
module
){
module
.
exports
=
function
anonymous
(
locals
,
escapeFn
,
include
,
rethrow
){
escapeFn
=
escapeFn
||
function
(
e
){
return
null
==
e
?
""
:
String
(
e
).
replace
(
_MATCH_HTML
,
encode_char
)};
var
_ENCODE_HTML_RULES
=
{
"&"
:
"&"
,
"<"
:
"<"
,
">"
:
">"
,
'"'
:
"""
,
"'"
:
"'"
},
_MATCH_HTML
=
/[&<>'"]/g
;
function
encode_char
(
e
){
return
_ENCODE_HTML_RULES
[
e
]
||
e
}
var
__output
=
""
;
function
__append
(
e
){
null
!=
e
&&
(
__output
+=
e
)}
with
(
locals
||
{})
__append
(
"\n\n"
),
cookingTask
.
swhid
.
match
(
/^swh:1:dir:.*/
)
?
(
__append
(
'\n <tr id="vault-task-'
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
'" title="Once downloaded, the directory can be extracted with the following command:\n\n$ tar xvzf '
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
'.tar.gz">\n'
))
:
(
__append
(
'\n </tr><tr id="vault-task-'
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
"\" title=\"Once downloaded, the git repository can be imported to a 'new_repository' directory with the following commands:\n\n$ tar xvf "
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
".git.tar\n$ git clone "
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
'.git new_repository\n$ cd new_repository/">\n'
)),
__append
(
'\n <td>\n <div class="custom-control custom-checkbox">\n <input type="checkbox" class="custom-control-input vault-task-toggle-selection" id="vault-task-toggle-selection-'
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
'">\n <label class="custom-control-label" for="vault-task-toggle-selection-'
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
'">\n </label>\n </div></td>\n '
),
cookingTask
.
origin
?
(
__append
(
'\n <td class="vault-origin">\n <a href="'
),
__append
(
escapeFn
(
Urls
.
browse_origin
())),
__append
(
"?origin_url="
),
__append
(
escapeFn
(
cookingTask
.
origin
)),
__append
(
'">\n '
),
__append
(
escapeFn
(
decodeURIComponent
(
cookingTask
.
origin
))),
__append
(
"\n </a>\n </td>\n "
))
:
__append
(
'\n <td class="vault-origin">unknown</td>\n '
),
__append
(
'\n <td>\n <i class="'
),
__append
(
escapeFn
(
swh
.
webapp
.
getSwhObjectIcon
(
cookingTask
.
swhid
.
match
(
/swh:1:([a-z]+):/
)[
1
]))),
__append
(
' mdi-fw"></i>\n '
),
__append
(
escapeFn
(
cookingTask
.
bundle_type
)),
__append
(
'\n </td>\n <td class="vault-object-info" data-swhid="'
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
'">\n <b>id:</b> <a href="'
),
__append
(
escapeFn
(
browseUrl
)),
__append
(
'">'
),
__append
(
escapeFn
(
cookingTask
.
swhid
)),
__append
(
"</a>\n "
),
cookingTask
.
path
&&
(
__append
(
"\n <br><b>path:</b> "
),
__append
(
escapeFn
(
cookingTask
.
path
)),
__append
(
"\n "
)),
__append
(
"\n </td>\n <td>"
),
__append
(
progressBar
.
outerHTML
),
__append
(
'</td>\n <td class="vault-dl-link">\n '
),
"done"
===
cookingTask
.
status
&&
(
__append
(
'\n <button class="btn btn-default btn-sm" onclick="swh.vault.fetchCookedObject(\''
),
__append
(
escapeFn
(
cookingTask
.
fetch_url
)),
__append
(
'\')">\n <i class="mdi mdi-download mdi-fw" aria-hidden="true"></i>Download\n </button>\n '
)),
__append
(
"\n </td>\n </tr>\n"
);
return
__output
}},
83999
:
function
(
e
,
t
){
"use strict"
;
var
n
=
/^[-!#$%&'*+\/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/
;
t
.
G
=
function
(
e
){
if
(
!
e
)
return
!
1
;
if
(
e
.
length
>
254
)
return
!
1
;
if
(
!
n
.
test
(
e
))
return
!
1
;
var
t
=
e
.
split
(
"@"
);
return
!
(
t
[
0
].
length
>
64
)
&&!
t
[
1
].
split
(
"."
).
some
((
function
(
e
){
return
e
.
length
>
63
}))}},
35666
:
function
(
e
){
var
t
=
function
(
e
){
"use strict"
;
var
t
,
n
=
Object
.
prototype
,
r
=
n
.
hasOwnProperty
,
o
=
"function"
==
typeof
Symbol
?
Symbol
:
{},
a
=
o
.
iterator
||
"@@iterator"
,
i
=
o
.
asyncIterator
||
"@@asyncIterator"
,
c
=
o
.
toStringTag
||
"@@toStringTag"
;
function
s
(
e
,
t
,
n
){
return
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:!
0
,
configurable
:!
0
,
writable
:!
0
}),
e
[
t
]}
try
{
s
({},
""
)}
catch
(
e
){
s
=
function
(
e
,
t
,
n
){
return
e
[
t
]
=
n
}}
function
u
(
e
,
t
,
n
,
r
){
var
o
=
t
&&
t
.
prototype
instanceof
v
?
t
:
v
,
a
=
Object
.
create
(
o
.
prototype
),
i
=
new
L
(
r
||
[]);
return
a
.
_invoke
=
function
(
e
,
t
,
n
){
var
r
=
p
;
return
function
(
o
,
a
){
if
(
r
===
f
)
throw
new
Error
(
"Generator is already running"
);
if
(
r
===
h
){
if
(
"throw"
===
o
)
throw
a
;
return
E
()}
for
(
n
.
method
=
o
,
n
.
arg
=
a
;;){
var
i
=
n
.
delegate
;
if
(
i
){
var
c
=
T
(
i
,
n
);
if
(
c
){
if
(
c
===
_
)
continue
;
return
c
}}
if
(
"next"
===
n
.
method
)
n
.
sent
=
n
.
_sent
=
n
.
arg
;
else
if
(
"throw"
===
n
.
method
){
if
(
r
===
p
)
throw
r
=
h
,
n
.
arg
;
n
.
dispatchException
(
n
.
arg
)}
else
"return"
===
n
.
method
&&
n
.
abrupt
(
"return"
,
n
.
arg
);
r
=
f
;
var
s
=
l
(
e
,
t
,
n
);
if
(
"normal"
===
s
.
type
){
if
(
r
=
n
.
done
?
h
:
d
,
s
.
arg
===
_
)
continue
;
return
{
value
:
s
.
arg
,
done
:
n
.
done
}}
"throw"
===
s
.
type
&&
(
r
=
h
,
n
.
method
=
"throw"
,
n
.
arg
=
s
.
arg
)}}}(
e
,
n
,
i
),
a
}
function
l
(
e
,
t
,
n
){
try
{
return
{
type
:
"normal"
,
arg
:
e
.
call
(
t
,
n
)}}
catch
(
e
){
return
{
type
:
"throw"
,
arg
:
e
}}}
e
.
wrap
=
u
;
var
p
=
"suspendedStart"
,
d
=
"suspendedYield"
,
f
=
"executing"
,
h
=
"completed"
,
_
=
{};
function
v
(){}
function
g
(){}
function
b
(){}
var
k
=
{};
k
[
a
]
=
function
(){
return
this
};
var
w
=
Object
.
getPrototypeOf
,
m
=
w
&&
w
(
w
(
S
([])));
m
&&
m
!==
n
&&
r
.
call
(
m
,
a
)
&&
(
k
=
m
);
var
y
=
b
.
prototype
=
v
.
prototype
=
Object
.
create
(
k
);
function
x
(
e
){[
"next"
,
"throw"
,
"return"
].
forEach
((
function
(
t
){
s
(
e
,
t
,(
function
(
e
){
return
this
.
_invoke
(
t
,
e
)}))}))}
function
$
(
e
,
t
){
function
n
(
o
,
a
,
i
,
c
){
var
s
=
l
(
e
[
o
],
e
,
a
);
if
(
"throw"
!==
s
.
type
){
var
u
=
s
.
arg
,
p
=
u
.
value
;
return
p
&&
"object"
==
typeof
p
&&
r
.
call
(
p
,
"__await"
)
?
t
.
resolve
(
p
.
__await
).
then
((
function
(
e
){
n
(
"next"
,
e
,
i
,
c
)}),(
function
(
e
){
n
(
"throw"
,
e
,
i
,
c
)}))
:
t
.
resolve
(
p
).
then
((
function
(
e
){
u
.
value
=
e
,
i
(
u
)}),(
function
(
e
){
return
n
(
"throw"
,
e
,
i
,
c
)}))}
c
(
s
.
arg
)}
var
o
;
this
.
_invoke
=
function
(
e
,
r
){
function
a
(){
return
new
t
((
function
(
t
,
o
){
n
(
e
,
r
,
t
,
o
)}))}
return
o
=
o
?
o
.
then
(
a
,
a
)
:
a
()}}
function
T
(
e
,
n
){
var
r
=
e
.
iterator
[
n
.
method
];
if
(
r
===
t
){
if
(
n
.
delegate
=
null
,
"throw"
===
n
.
method
){
if
(
e
.
iterator
.
return
&&
(
n
.
method
=
"return"
,
n
.
arg
=
t
,
T
(
e
,
n
),
"throw"
===
n
.
method
))
return
_
;
n
.
method
=
"throw"
,
n
.
arg
=
new
TypeError
(
"The iterator does not provide a 'throw' method"
)}
return
_
}
var
o
=
l
(
r
,
e
.
iterator
,
n
.
arg
);
if
(
"throw"
===
o
.
type
)
return
n
.
method
=
"throw"
,
n
.
arg
=
o
.
arg
,
n
.
delegate
=
null
,
_
;
var
a
=
o
.
arg
;
return
a
?
a
.
done
?
(
n
[
e
.
resultName
]
=
a
.
value
,
n
.
next
=
e
.
nextLoc
,
"return"
!==
n
.
method
&&
(
n
.
method
=
"next"
,
n
.
arg
=
t
),
n
.
delegate
=
null
,
_
)
:
a
:
(
n
.
method
=
"throw"
,
n
.
arg
=
new
TypeError
(
"iterator result is not an object"
),
n
.
delegate
=
null
,
_
)}
function
j
(
e
){
var
t
=
{
tryLoc
:
e
[
0
]};
1
in
e
&&
(
t
.
catchLoc
=
e
[
1
]),
2
in
e
&&
(
t
.
finallyLoc
=
e
[
2
],
t
.
afterLoc
=
e
[
3
]),
this
.
tryEntries
.
push
(
t
)}
function
O
(
e
){
var
t
=
e
.
completion
||
{};
t
.
type
=
"normal"
,
delete
t
.
arg
,
e
.
completion
=
t
}
function
L
(
e
){
this
.
tryEntries
=
[{
tryLoc
:
"root"
}],
e
.
forEach
(
j
,
this
),
this
.
reset
(
!
0
)}
function
S
(
e
){
if
(
e
){
var
n
=
e
[
a
];
if
(
n
)
return
n
.
call
(
e
);
if
(
"function"
==
typeof
e
.
next
)
return
e
;
if
(
!
isNaN
(
e
.
length
)){
var
o
=-
1
,
i
=
function
n
(){
for
(;
++
o
<
e
.
length
;)
if
(
r
.
call
(
e
,
o
))
return
n
.
value
=
e
[
o
],
n
.
done
=!
1
,
n
;
return
n
.
value
=
t
,
n
.
done
=!
0
,
n
};
return
i
.
next
=
i
}}
return
{
next
:
E
}}
function
E
(){
return
{
value
:
t
,
done
:!
0
}}
return
g
.
prototype
=
y
.
constructor
=
b
,
b
.
constructor
=
g
,
g
.
displayName
=
s
(
b
,
c
,
"GeneratorFunction"
),
e
.
isGeneratorFunction
=
function
(
e
){
var
t
=
"function"
==
typeof
e
&&
e
.
constructor
;
return
!!
t
&&
(
t
===
g
||
"GeneratorFunction"
===
(
t
.
displayName
||
t
.
name
))},
e
.
mark
=
function
(
e
){
return
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
b
)
:
(
e
.
__proto__
=
b
,
s
(
e
,
c
,
"GeneratorFunction"
)),
e
.
prototype
=
Object
.
create
(
y
),
e
},
e
.
awrap
=
function
(
e
){
return
{
__await
:
e
}},
x
(
$
.
prototype
),
$
.
prototype
[
i
]
=
function
(){
return
this
},
e
.
AsyncIterator
=
$
,
e
.
async
=
function
(
t
,
n
,
r
,
o
,
a
){
void
0
===
a
&&
(
a
=
Promise
);
var
i
=
new
$
(
u
(
t
,
n
,
r
,
o
),
a
);
return
e
.
isGeneratorFunction
(
n
)
?
i
:
i
.
next
().
then
((
function
(
e
){
return
e
.
done
?
e
.
value
:
i
.
next
()}))},
x
(
y
),
s
(
y
,
c
,
"Generator"
),
y
[
a
]
=
function
(){
return
this
},
y
.
toString
=
function
(){
return
"[object Generator]"
},
e
.
keys
=
function
(
e
){
var
t
=
[];
for
(
var
n
in
e
)
t
.
push
(
n
);
return
t
.
reverse
(),
function
n
(){
for
(;
t
.
length
;){
var
r
=
t
.
pop
();
if
(
r
in
e
)
return
n
.
value
=
r
,
n
.
done
=!
1
,
n
}
return
n
.
done
=!
0
,
n
}},
e
.
values
=
S
,
L
.
prototype
=
{
constructor
:
L
,
reset
:
function
(
e
){
if
(
this
.
prev
=
0
,
this
.
next
=
0
,
this
.
sent
=
this
.
_sent
=
t
,
this
.
done
=!
1
,
this
.
delegate
=
null
,
this
.
method
=
"next"
,
this
.
arg
=
t
,
this
.
tryEntries
.
forEach
(
O
),
!
e
)
for
(
var
n
in
this
)
"t"
===
n
.
charAt
(
0
)
&&
r
.
call
(
this
,
n
)
&&!
isNaN
(
+
n
.
slice
(
1
))
&&
(
this
[
n
]
=
t
)},
stop
:
function
(){
this
.
done
=!
0
;
var
e
=
this
.
tryEntries
[
0
].
completion
;
if
(
"throw"
===
e
.
type
)
throw
e
.
arg
;
return
this
.
rval
},
dispatchException
:
function
(
e
){
if
(
this
.
done
)
throw
e
;
var
n
=
this
;
function
o
(
r
,
o
){
return
c
.
type
=
"throw"
,
c
.
arg
=
e
,
n
.
next
=
r
,
o
&&
(
n
.
method
=
"next"
,
n
.
arg
=
t
),
!!
o
}
for
(
var
a
=
this
.
tryEntries
.
length
-
1
;
a
>=
0
;
--
a
){
var
i
=
this
.
tryEntries
[
a
],
c
=
i
.
completion
;
if
(
"root"
===
i
.
tryLoc
)
return
o
(
"end"
);
if
(
i
.
tryLoc
<=
this
.
prev
){
var
s
=
r
.
call
(
i
,
"catchLoc"
),
u
=
r
.
call
(
i
,
"finallyLoc"
);
if
(
s
&&
u
){
if
(
this
.
prev
<
i
.
catchLoc
)
return
o
(
i
.
catchLoc
,
!
0
);
if
(
this
.
prev
<
i
.
finallyLoc
)
return
o
(
i
.
finallyLoc
)}
else
if
(
s
){
if
(
this
.
prev
<
i
.
catchLoc
)
return
o
(
i
.
catchLoc
,
!
0
)}
else
{
if
(
!
u
)
throw
new
Error
(
"try statement without catch or finally"
);
if
(
this
.
prev
<
i
.
finallyLoc
)
return
o
(
i
.
finallyLoc
)}}}},
abrupt
:
function
(
e
,
t
){
for
(
var
n
=
this
.
tryEntries
.
length
-
1
;
n
>=
0
;
--
n
){
var
o
=
this
.
tryEntries
[
n
];
if
(
o
.
tryLoc
<=
this
.
prev
&&
r
.
call
(
o
,
"finallyLoc"
)
&&
this
.
prev
<
o
.
finallyLoc
){
var
a
=
o
;
break
}}
a
&&
(
"break"
===
e
||
"continue"
===
e
)
&&
a
.
tryLoc
<=
t
&&
t
<=
a
.
finallyLoc
&&
(
a
=
null
);
var
i
=
a
?
a
.
completion
:
{};
return
i
.
type
=
e
,
i
.
arg
=
t
,
a
?
(
this
.
method
=
"next"
,
this
.
next
=
a
.
finallyLoc
,
_
)
:
this
.
complete
(
i
)},
complete
:
function
(
e
,
t
){
if
(
"throw"
===
e
.
type
)
throw
e
.
arg
;
return
"break"
===
e
.
type
||
"continue"
===
e
.
type
?
this
.
next
=
e
.
arg
:
"return"
===
e
.
type
?
(
this
.
rval
=
this
.
arg
=
e
.
arg
,
this
.
method
=
"return"
,
this
.
next
=
"end"
)
:
"normal"
===
e
.
type
&&
t
&&
(
this
.
next
=
t
),
_
},
finish
:
function
(
e
){
for
(
var
t
=
this
.
tryEntries
.
length
-
1
;
t
>=
0
;
--
t
){
var
n
=
this
.
tryEntries
[
t
];
if
(
n
.
finallyLoc
===
e
)
return
this
.
complete
(
n
.
completion
,
n
.
afterLoc
),
O
(
n
),
_
}},
catch
:
function
(
e
){
for
(
var
t
=
this
.
tryEntries
.
length
-
1
;
t
>=
0
;
--
t
){
var
n
=
this
.
tryEntries
[
t
];
if
(
n
.
tryLoc
===
e
){
var
r
=
n
.
completion
;
if
(
"throw"
===
r
.
type
){
var
o
=
r
.
arg
;
O
(
n
)}
return
o
}}
throw
new
Error
(
"illegal catch attempt"
)},
delegateYield
:
function
(
e
,
n
,
r
){
return
this
.
delegate
=
{
iterator
:
S
(
e
),
resultName
:
n
,
nextLoc
:
r
},
"next"
===
this
.
method
&&
(
this
.
arg
=
t
),
_
}},
e
}(
e
.
exports
);
try
{
regeneratorRuntime
=
t
}
catch
(
e
){
Function
(
"r"
,
"regeneratorRuntime = r"
)(
t
)}},
15861
:
function
(
e
,
t
,
n
){
"use strict"
;
function
r
(
e
,
t
,
n
,
r
,
o
,
a
,
i
){
try
{
var
c
=
e
[
a
](
i
),
s
=
c
.
value
}
catch
(
e
){
return
void
n
(
e
)}
c
.
done
?
t
(
s
)
:
Promise
.
resolve
(
s
).
then
(
r
,
o
)}
function
o
(
e
){
return
function
(){
var
t
=
this
,
n
=
arguments
;
return
new
Promise
((
function
(
o
,
a
){
var
i
=
e
.
apply
(
t
,
n
);
function
c
(
e
){
r
(
i
,
o
,
a
,
c
,
s
,
"next"
,
e
)}
function
s
(
e
){
r
(
i
,
o
,
a
,
c
,
s
,
"throw"
,
e
)}
c
(
void
0
)}))}}
n
.
d
(
t
,{
Z
:
function
(){
return
o
}})},
31955
:
function
(
e
,
t
){
"use strict"
;
function
n
(
e
){
for
(
var
t
=
1
;
t
<
arguments
.
length
;
t
++
){
var
n
=
arguments
[
t
];
for
(
var
r
in
n
)
e
[
r
]
=
n
[
r
]}
return
e
}
var
r
=
function
e
(
t
,
r
){
function
o
(
e
,
o
,
a
){
if
(
"undefined"
!=
typeof
document
){
"number"
==
typeof
(
a
=
n
({},
r
,
a
)).
expires
&&
(
a
.
expires
=
new
Date
(
Date
.
now
()
+
864e5
*
a
.
expires
)),
a
.
expires
&&
(
a
.
expires
=
a
.
expires
.
toUTCString
()),
e
=
encodeURIComponent
(
e
).
replace
(
/%(2[346B]|5E|60|7C)/g
,
decodeURIComponent
).
replace
(
/[()]/g
,
escape
);
var
i
=
""
;
for
(
var
c
in
a
)
a
[
c
]
&&
(
i
+=
"; "
+
c
,
!
0
!==
a
[
c
]
&&
(
i
+=
"="
+
a
[
c
].
split
(
";"
)[
0
]));
return
document
.
cookie
=
e
+
"="
+
t
.
write
(
o
,
e
)
+
i
}}
return
Object
.
create
({
set
:
o
,
get
:
function
(
e
){
if
(
"undefined"
!=
typeof
document
&&
(
!
arguments
.
length
||
e
)){
for
(
var
n
=
document
.
cookie
?
document
.
cookie
.
split
(
"; "
)
:
[],
r
=
{},
o
=
0
;
o
<
n
.
length
;
o
++
){
var
a
=
n
[
o
].
split
(
"="
),
i
=
a
.
slice
(
1
).
join
(
"="
);
try
{
var
c
=
decodeURIComponent
(
a
[
0
]);
if
(
r
[
c
]
=
t
.
read
(
i
,
c
),
e
===
c
)
break
}
catch
(
e
){}}
return
e
?
r
[
e
]
:
r
}},
remove
:
function
(
e
,
t
){
o
(
e
,
""
,
n
({},
t
,{
expires
:-
1
}))},
withAttributes
:
function
(
t
){
return
e
(
this
.
converter
,
n
({},
this
.
attributes
,
t
))},
withConverter
:
function
(
t
){
return
e
(
n
({},
this
.
converter
,
t
),
this
.
attributes
)}},{
attributes
:
{
value
:
Object
.
freeze
(
r
)},
converter
:
{
value
:
Object
.
freeze
(
t
)}})}({
read
:
function
(
e
){
return
'"'
===
e
[
0
]
&&
(
e
=
e
.
slice
(
1
,
-
1
)),
e
.
replace
(
/(%[\dA-F]{2})+/gi
,
decodeURIComponent
)},
write
:
function
(
e
){
return
encodeURIComponent
(
e
).
replace
(
/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g
,
decodeURIComponent
)}},{
path
:
"/"
});
t
.
Z
=
r
}},
__webpack_module_cache__
=
{};
function
__webpack_require__
(
e
){
var
t
=
__webpack_module_cache__
[
e
];
if
(
void
0
!==
t
)
return
t
.
exports
;
var
n
=
__webpack_module_cache__
[
e
]
=
{
exports
:
{}};
return
__webpack_modules__
[
e
](
n
,
n
.
exports
,
__webpack_require__
),
n
.
exports
}
__webpack_require__
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}
:
function
(){
return
e
};
return
__webpack_require__
.
d
(
t
,{
a
:
t
}),
t
},
__webpack_require__
.
d
=
function
(
e
,
t
){
for
(
var
n
in
t
)
__webpack_require__
.
o
(
t
,
n
)
&&!
__webpack_require__
.
o
(
e
,
n
)
&&
Object
.
defineProperty
(
e
,
n
,{
enumerable
:!
0
,
get
:
t
[
n
]})},
__webpack_require__
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
__webpack_require__
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:!
0
})};
var
__webpack_exports__
=
{};
return
function
(){
"use strict"
;
__webpack_require__
.
r
(
__webpack_exports__
),
__webpack_require__
.
d
(
__webpack_exports__
,{
cookDirectoryArchive
:
function
(){
return
t
.
dg
},
cookRevisionArchive
:
function
(){
return
t
.
JO
},
fetchCookedObject
:
function
(){
return
e
.
H6
},
fetchDirectoryArchive
:
function
(){
return
t
.
es
},
fetchRevisionArchive
:
function
(){
return
t
.
vE
},
initUi
:
function
(){
return
e
.
LY
},
recookObject
:
function
(){
return
e
.
rh
},
removeCookingTaskInfo
:
function
(){
return
e
.
xF
},
vaultRequest
:
function
(){
return
t
.
YQ
}});
var
e
=
__webpack_require__
(
69636
),
t
=
__webpack_require__
(
80706
)}(),
__webpack_exports__
}()}));
//# sourceMappingURL=vault.e2e8f042b9c742390872.js.map
File Metadata
Details
Attached
Mime Type
text/html
Expires
Wed, Jun 4, 7:21 PM (6 d, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3366874
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment