To improve and secure cards...

This commit is contained in:
cutls 2019-11-14 02:42:06 +09:00
parent dad459694c
commit 2fa1299391
7 changed files with 178 additions and 168 deletions

View File

@ -180,26 +180,6 @@ blockquote:before,
right: 0;
top: 0;
}
.twitter-tweet {
color: black;
background-color: #fff;
padding: 1em 1em 1em;
position: relative;
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
border-left: 5px solid #0c7abf;
}
.twitter-tweet :before {
content: "From Twitter";
font-size: 1.8rem;
line-height: 1em;
font-family: Open Sans;
color: #999;
position: absolute;
right: 0;
top: 0;
}
.pixiv-post {
color: black;
background-color: #fff;

View File

@ -218,71 +218,9 @@ function additionalIndv(tlid, acct_id, id) {
console.error(error)
})
.then(function(json) {
json = json.card
//このリンク鳥やんけ、ってとき
if (json.provider_name == 'Twitter') {
if (json.image) {
var twiImg = `
<br><img src="${json.image}" style="max-width:100%"
onclick="imgv('twi_${id}',0,'twitter')" id="twi_${id}-image-0"
data-url="${json.image}"
data-type="image">
`
} else {
var twiImg = ''
}
$('[toot-id=' + id + '] .additional').html(`
<div class="twitter-tweet"><b>
${escapeHTML(json.author_name)}
</b><br>
${escapeHTML(json.description)}
${twiImg}
</div>
`)
} else if (json.provider_name == 'pixiv') {
if (json.image) {
var pxvImg = `
<br><img src="${json.image}" style="max-width:100%"
onclick="imgv('pixiv_${id}',0,'pixiv')" id="pixiv_${id}-image-0"
data-url="${json.embed_url}"
data-type="image">
`
} else {
var pxvImg = ''
}
$('[toot-id=' + id + '] .additional').html(
`<div class="pixiv-post"><b><a href="
${json.author_url}
" target="_blank">
${escapeHTML(json.author_name)}
</a></b><br>
${escapeHTML(json.title)}
${pxvImg}
</div>`
)
} else {
if (json.title) {
$('[toot-id=' + id + '] .additional').html(
`<span class="gray">URL
${lang.lang_cards_check}
:<br>Title:
${escapeHTML(json.title)}
<br>
${escapeHTML(json.description)}
</span>`
)
}
if (json.html) {
$('[toot-id=' + id + '] .additional').html(
json.html +
`<i class="material-icons sml pointer" onclick="pip('
${id}
')" title="
${lang.lang_cards_pip}
">picture_in_picture_alt</i>`
)
}
}
cards = json.card
var analyze = cardHtml(cards, acct_id, id)
$('[toot-id=' + id + '] .additional').html(analyze)
if (json.title) {
$('[toot-id=' + id + '] a:not(.parsed)').addClass('parsed')
$('[toot-id=' + id + ']').addClass('parsed')
@ -291,7 +229,126 @@ function additionalIndv(tlid, acct_id, id) {
}
}
}
function cardHtml(json, acct_id, id) {
var analyze = ''
var domain = json.url.match(/^https?:\/{2,}(.*?)(?:\/|\?|#|$)/)[1];
var ok = [
"pixiv.net",
"twitter.com",
"mobile.twitter.com",
"open.spotify.com",
"youtube.com",
"youtu.be",
"m.youtube.com",
"nicovideo.jp"
]
var isHad = _.includes(ok, domain);
if (json.provider_name == 'Twitter') {
var url = json.author_url
var status = json.url.match(/^https:\/\/twitter.com\/[_a-zA-Z0-9-]+\/status\/([0-9]+)/);
if(status){
if(status.length > 0){
status = status[1]
}
}
url = url + '/status/' + status
analyze = `
<blockquote class="twitter-tweet" data-dnt="true"><strong>${json.author_name}</strong><br>${json.description}<a href="${url}">${json.url}</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
`
} else if (json.provider_name == 'pixiv') {
if (json.image) {
var pxvImg = `
<br><img src="${json.image}" style="max-width:100%"
onclick="imgv('pixiv_${id}',0,'pixiv')" id="pixiv_${id}-image-0"
data-url="${json.embed_url}"
data-type="image">
`
} else {
var pxvImg = ''
}
analyze = `<div class="pixiv-post"><b><a href="
${json.author_url}
" target="_blank">
${escapeHTML(json.author_name)}
</a></b><br>
${escapeHTML(json.title)}
${pxvImg}
</div>`
} else {
if (json.title) {
analyze = `<span class="gray">URL
${lang.lang_cards_check}
:<br>Title:
${escapeHTML(json.title)}
<br>
${escapeHTML(json.description)}
</span>`
}
if (json.html) {
if(isHad) {
var prved = `<img class="emoji" draggable="false" alt="✅"
src="https://twemoji.maxcdn.com/v/12.1.3/72x72/2705.png">`
var title = lang.lang_cards_link
}else{
var prved = ''
var title = ''
}
analyze =
analyze +
`<a onclick="cardHtmlShow('${acct_id}','${id}')" class="add-show pointer" title="${title}">
${lang.lang_parse_html}(${domain})${prved}
</a><br>`
}
}
return analyze
}
function cardHtmlShow(acct_id, id) {
var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at')
var text = $('[toot-id=' + id + '] .toot a').attr('href')
var urls = text.match(
/https?:\/\/([-a-zA-Z0-9@.]+)\/media\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
)
var id = $('[toot-id=' + id + '] .toot a')
.parents('.cvo')
.attr('toot-id')
var start = 'https://' + domain + '/api/v1/statuses/' + id
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
Authorization: 'Bearer ' + at
}
//body: JSON.stringify({})
})
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text)
})
}
return response.json()
})
.catch(function(error) {
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function(json) {
json = json.card
if (json.html) {
analyze =
json.html +
`<i class="material-icons sml pointer" onclick="pip('
${id}
')" title="
${lang.lang_cards_pip}
">picture_in_picture_alt</i>`
}
$('[toot-id=' + id + '] .additional').html(analyze)
})
}
//各TL上方のLink[On/Off]
function cardToggle(tlid) {
var card = localStorage.getItem('card_' + tlid)

View File

@ -863,29 +863,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
//Cards
if (!card && toot.card) {
var cards = toot.card
if (cards.provider_name == 'Twitter') {
if (cards.image) {
var twiImg = '<br><img draggable="false" src="' + cards.image + '">'
} else {
var twiImg = ''
}
analyze = `<blockquote class="twitter-tweet">
<b>${escapeHTML(cards.author_name)}</b><br>
${escapeHTML(cards.description)}${twiImg}
</blockquote>`
}
if (cards.title) {
analyze = `<span class="gray">
URL${lang.lang_cards_check}:<br>
Title:${escapeHTML(cards.title)}<br>
${escapeHTML(cards.description)}
</span>`
}
if (cards.html) {
analyze =
cards.html +
`<i class="material-icons" onclick="pip('${id}')" title="${lang.lang_cards_pip}">picture_in_picture_alt</i>`
}
analyze = cardHtml(cards, acct_id, id)
}
//Ticker
var tickerdom = ''

View File

@ -1233,17 +1233,15 @@
<script type="text/javascript" src="../../node_modules/jquery-ui-dist/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script type="text/javascript" src="../../js/platform/punycode.js"></script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
<script type="text/javascript" src="../../js/tl/dm.js"></script>
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
<script type="text/javascript" src="../../js/tl/tl.js"></script>
<script type="text/javascript" src="../../js/tl/card.js"></script>
<script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="../../js/tl/poll.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>
<script type="text/javascript" src="../../js/tl/notification.js"></script>

View File

@ -86,6 +86,7 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_link": "Trusted embed HTML by TheDesk(Twitter, Pixiv, nicovideo, YouTube, Spotify)",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@ -198,6 +199,7 @@
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "sensitive media",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@ -86,6 +86,7 @@
"lang_usetxtbox_reply": "返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
"lang_cards_check": "チェック",
"lang_cards_pip": "ながら観モード",
"lang_cards_link": "TheDeskが認証した埋め込みHTMLです(Twitter, Pixiv, nicovideo, YouTube, Spotify)",
"lang_details_nodata": "データなし",
"lang_details_filtered": "フィルターされました。",
"lang_details_embed": "埋め込みHTMLがコピーされました。",
@ -198,6 +199,7 @@
"lang_parse_thread": "会話を表示",
"lang_parse_unknown": "添付ファイル",
"lang_parse_nsfw": "閲覧注意",
"lang_parse_html": "埋め込みを表示",
"lang_parse_notffilter": "このユーザーの通知のみを表示",
"lang_misskeyparse_renote": "再投稿",
"lang_misskeyparse_renoteqt": "引用",

View File

@ -290,9 +290,9 @@
integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
"@types/node@^10.12.18":
version "10.14.22"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.22.tgz#34bcdf6b6cb5fc0db33d24816ad9d3ece22feea4"
integrity sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==
version "10.17.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.5.tgz#c1920150f7b90708a7d0f3add12a06bc9123c055"
integrity sha512-RElZIr/7JreF1eY6oD5RF3kpmdcreuQPjg5ri4oQ5g9sq7YWU8HkfB3eH8GwAwxf5OaCh0VPi7r4N/yoTGelrA==
abbrev@1:
version "1.1.1"
@ -877,9 +877,9 @@ defaults@^1.0.3:
clone "^1.0.2"
defer-to-connect@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e"
integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==
version "1.1.0"
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.0.tgz#b41bd7efa8508cef13f8456975f7a278c72833fd"
integrity sha512-WE2sZoctWm/v4smfCAdjYbrfS55JiMRdlY9ZubFhsYbteCK9+BvAx4YV7nPjYM6ZnX5BcoVKwfmyx9sIFTgQMQ==
define-properties@^1.1.2, define-properties@^1.1.3:
version "1.1.3"
@ -1041,9 +1041,9 @@ electron-rebuild@^1.8.6:
yargs "^13.2.4"
electron@^6.0.12:
version "6.0.12"
resolved "https://registry.yarnpkg.com/electron/-/electron-6.0.12.tgz#85bf0061e32f660256cfde95488f1cb75253bc94"
integrity sha512-70ODZa1RP6K0gE9IV9YLCXPSyhLjXksCuYSSPb3MljbfwfHo5uE6X0CGxzm+54YuPdE2e7EPnWZxOOsJYrS5iQ==
version "6.1.4"
resolved "https://registry.yarnpkg.com/electron/-/electron-6.1.4.tgz#21cbcf5de74a0e284621dce1b8c0fe092c146c2d"
integrity sha512-QUN59E0dPmkAEYi+OU0jJG6tIAi8VDJpsHLRmdyL62oAuT3+CWJ/gefmNwAWQsIpNj/DieVTn5h+/t/Hke4T+Q==
dependencies:
"@types/node" "^10.12.18"
electron-download "^4.1.0"
@ -1090,9 +1090,9 @@ es-abstract@^1.13.0, es-abstract@^1.5.1:
string.prototype.trimright "^2.1.0"
es-to-primitive@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
dependencies:
is-callable "^1.1.4"
is-date-object "^1.0.1"
@ -1278,9 +1278,9 @@ fs.realpath@^1.0.0:
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@~2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz#74c64e21df71721845d0c44fe54b7f56b82995a9"
integrity sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==
version "2.1.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
function-bind@^1.1.1:
version "1.1.1"
@ -1345,9 +1345,9 @@ glob-parent@~5.1.0:
is-glob "^4.0.1"
glob@^7.0.3, glob@^7.1.3:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@ -1389,14 +1389,14 @@ got@^9.6.0:
url-parse-lax "^3.0.0"
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.2"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
version "4.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
hammerjs@^2.0.8:
version "2.0.8"
resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=
grapheme-splitter@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
har-schema@^2.0.0:
version "2.0.0"
@ -1696,7 +1696,7 @@ jquery-ui-dist@^1.12.1:
resolved "https://registry.yarnpkg.com/jquery-ui-dist/-/jquery-ui-dist-1.12.1.tgz#5c0815d3cc6f90ff5faaf5b268a6e23b4ca904fa"
integrity sha1-XAgV08xvkP9fqvWyaKbiO0ypBPo=
"jquery@^3.0.0 || ^2.1.4", jquery@^3.4.1:
jquery@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2"
integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==
@ -1873,12 +1873,10 @@ map-obj@^1.0.0, map-obj@^1.0.1:
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
"materialize-css@git://github.com/cutls/materialize":
version "0.100.2"
uid e3eb698a07fec1d3111c1786bf502f0225bdfbda
resolved "git://github.com/cutls/materialize#e3eb698a07fec1d3111c1786bf502f0225bdfbda"
version "1.0.0"
resolved "git://github.com/cutls/materialize#2387ea3897c3378fbcd65d0563538287e16df48f"
dependencies:
hammerjs "^2.0.8"
jquery "^3.0.0 || ^2.1.4"
grapheme-splitter "^1.0.4"
meow@^3.1.0:
version "3.7.0"
@ -1896,22 +1894,17 @@ meow@^3.1.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
mime-db@1.40.0:
version "1.40.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
mime-db@^1.28.0:
mime-db@1.42.0, mime-db@^1.28.0:
version "1.42.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac"
integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==
mime-types@^2.1.12, mime-types@~2.1.19:
version "2.1.24"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
version "2.1.25"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437"
integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==
dependencies:
mime-db "1.40.0"
mime-db "1.42.0"
mime@^1.3.4:
version "1.6.0"
@ -2000,9 +1993,9 @@ nan@>=2.10.0:
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
node-abi@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.11.0.tgz#b7dce18815057544a049be5ae75cd1fdc2e9ea59"
integrity sha512-kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==
version "2.12.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.12.0.tgz#40e9cfabdda1837863fa825e7dfa0b15686adf6f"
integrity sha512-VhPBXCIcvmo/5K8HPmnWJyyhvgKxnHTUMXR/XwGHV68+wrgkzST4UmQrY/XszSWA5dtnXpNp528zkcyJ/pzVcw==
dependencies:
semver "^5.4.1"
@ -2096,9 +2089,9 @@ object-assign@^4.0.1, object-assign@^4.1.0:
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
object-inspect@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==
version "1.7.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
@ -2283,9 +2276,9 @@ phin@^2.9.1:
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
picomatch@^2.0.4:
version "2.0.7"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6"
integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==
version "2.1.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.1.1.tgz#ecdfbea7704adb5fe6fb47f9866c4c0e15e905c5"
integrity sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==
pify@^2.0.0:
version "2.3.0"
@ -2664,9 +2657,9 @@ sort-keys@^1.0.0:
is-plain-obj "^1.0.0"
source-map-support@^0.5.13:
version "0.5.13"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
version "0.5.16"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
@ -2871,9 +2864,9 @@ supports-color@^5.3.0:
has-flag "^3.0.0"
sweetalert2@^9.3.4:
version "9.3.4"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-9.3.4.tgz#2fc1fcd8538ea6613cbc80bc49e6d13f1b0150f6"
integrity sha512-nyW+SAZUkiKpbKSDE33J9nF5UQnc7IGC1eDHeW80HkhsggvkmQN0Clq7PHXb1roLkBLJryb2evVLDc9jZmptRQ==
version "9.3.5"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-9.3.5.tgz#54ef40a2750c52dd59b7d070bae01dee01cdf268"
integrity sha512-AlITkIVaNVu0T9MJmCTyTpCTmozpe+bZG9qTPBHpReoHluA2qyaWDoIvAZLj4NIKsAyH63gno1OLIRynYDS9sA==
tar@^4.4.12:
version "4.4.13"