mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-24 18:25:04 +08:00
154 lines
26 KiB
JavaScript
154 lines
26 KiB
JavaScript
/*
|
|
** NOTE: This file is generated by Gulp and should not be edited directly!
|
|
** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp.
|
|
*/
|
|
|
|
/// <reference path="Typings/jquery.d.ts" />
|
|
/// <reference path="Typings/jqueryui.d.ts" />
|
|
var Orchard;
|
|
(function (Orchard) {
|
|
var Azure;
|
|
(function (Azure) {
|
|
var MediaServices;
|
|
(function (MediaServices) {
|
|
var CloudVideoEdit;
|
|
(function (CloudVideoEdit) {
|
|
var requiredUploads;
|
|
var blocked;
|
|
var hasRequiredUploadsp;
|
|
function getAllFilesCompleted() {
|
|
var allFilesCompleted = true;
|
|
requiredUploads.find("input[name$='.OriginalFileName'], input.sync-upload-input").each(function () {
|
|
if ($(this).val() == "") {
|
|
allFilesCompleted = false;
|
|
return false;
|
|
}
|
|
});
|
|
return allFilesCompleted;
|
|
}
|
|
;
|
|
function unblockIfComplete() {
|
|
if (getAllFilesCompleted())
|
|
blocked.unblock();
|
|
}
|
|
function uploadCompleted(sender, data) {
|
|
var scope = $(sender).closest("[data-upload-accept-file-types]");
|
|
var status = data.errorThrown && data.errorThrown.length > 0 ? data.errorThrown : data.textStatus;
|
|
scope.find(".progress-bar").hide();
|
|
scope.find(".progress-text").hide();
|
|
scope.find(".cancel-upload").hide();
|
|
scope.data("upload-isactive", false);
|
|
switch (status) {
|
|
case "error":
|
|
alert("The upload of the selected file failed. One possible cause is that the file size exceeds the configured maxRequestLength setting (see: http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength(v=vs.110).aspx). Also make sure the executionTimeOut is set to allow for enough time for the request to execute when debug=\"false\".");
|
|
return;
|
|
case "abort":
|
|
return;
|
|
}
|
|
var temporaryFileName = data.result.temporaryFileName;
|
|
var originalFileName = data.result.originalFileName;
|
|
var fileSize = data.result.fileSize;
|
|
scope.find("input[name$='.OriginalFileName']").val(originalFileName);
|
|
scope.find("input[name$='.TemporaryFileName']").val(temporaryFileName);
|
|
scope.find("input[name$='.FileSize']").val(fileSize);
|
|
unblockIfComplete();
|
|
$(sender).replaceWith("<span>Successfully uploaded video file '" + originalFileName + "'.</span>");
|
|
}
|
|
function initializeUpload(fileInput) {
|
|
var scope = $(fileInput).closest("[data-upload-accept-file-types]");
|
|
var acceptFileTypes = scope.data("upload-accept-file-types");
|
|
var antiForgeryToken = requiredUploads.closest("form").find("[name='__RequestVerificationToken']").val();
|
|
var cancelUpload = scope.find(".cancel-upload");
|
|
fileInput.fileupload({
|
|
autoUpload: false,
|
|
acceptFileTypes: new RegExp(acceptFileTypes, "i"),
|
|
type: "POST",
|
|
url: scope.data("upload-fallback-url"),
|
|
formData: {
|
|
__RequestVerificationToken: antiForgeryToken
|
|
},
|
|
progressall: function (e, data) {
|
|
var percentComplete = Math.floor((data.loaded / data.total) * 100);
|
|
scope.find(".progress-bar").show().find('.progress').css('width', percentComplete + '%');
|
|
scope.find(".progress-text").show().text("Uploading (" + percentComplete + "%)...");
|
|
},
|
|
done: function (e, data) {
|
|
uploadCompleted(this, data);
|
|
},
|
|
fail: function (e, data) {
|
|
uploadCompleted(this, data);
|
|
},
|
|
processdone: function (e, data) {
|
|
scope.find(".validation-text").hide();
|
|
scope.data("upload-isactive", true);
|
|
cancelUpload.show();
|
|
var xhr = data.submit();
|
|
scope.data("xhr", xhr);
|
|
},
|
|
processfail: function (e, data) {
|
|
scope.find(".validation-text").show();
|
|
}
|
|
});
|
|
cancelUpload.on("click", function (e) {
|
|
e.preventDefault();
|
|
if (confirm("Are you sure you want to cancel this upload?")) {
|
|
var xhr = scope.data("xhr");
|
|
xhr.abort();
|
|
}
|
|
});
|
|
}
|
|
function initializeUploadProxied() {
|
|
var scopeProxied = $(".upload-proxied").show();
|
|
requiredUploads = scopeProxied.find(".required-uploads-group");
|
|
blocked = scopeProxied.find(".edit-item-sidebar");
|
|
hasRequiredUploadsp = requiredUploads.length > 0;
|
|
if (hasRequiredUploadsp) {
|
|
blocked.block({
|
|
message: requiredUploads.data("block-description"),
|
|
overlayCSS: {
|
|
backgroundColor: "#fff",
|
|
cursor: "default"
|
|
},
|
|
css: {
|
|
cursor: "default",
|
|
border: null,
|
|
width: null,
|
|
left: 0,
|
|
margin: "30px 0 0 0",
|
|
backgroundColor: null
|
|
}
|
|
});
|
|
scopeProxied.find(".async-upload-file-input").each(function () {
|
|
initializeUpload($(this));
|
|
});
|
|
window.onbeforeunload = function (e) {
|
|
var hasActiveUploads = false;
|
|
scopeProxied.find("[data-upload-accept-file-types]").each(function () {
|
|
if ($(this).data("upload-isactive") == true) {
|
|
hasActiveUploads = true;
|
|
return false;
|
|
}
|
|
});
|
|
if (hasActiveUploads)
|
|
e.returnValue = "There are uploads in progress. These will be aborted if you navigate away.";
|
|
};
|
|
scopeProxied.find(".sync-upload-input").on("change", function (e) {
|
|
unblockIfComplete();
|
|
});
|
|
unblockIfComplete();
|
|
}
|
|
scopeProxied.find("[data-prompt]").on("change", function (e) {
|
|
var sender = $(e.currentTarget);
|
|
if (!confirm(sender.data("prompt"))) {
|
|
sender.val("");
|
|
}
|
|
});
|
|
}
|
|
CloudVideoEdit.initializeUploadProxied = initializeUploadProxied;
|
|
})(CloudVideoEdit = MediaServices.CloudVideoEdit || (MediaServices.CloudVideoEdit = {}));
|
|
})(MediaServices = Azure.MediaServices || (Azure.MediaServices = {}));
|
|
})(Azure = Orchard.Azure || (Orchard.Azure = {}));
|
|
})(Orchard || (Orchard = {}));
|
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsb3VkbWVkaWEtZWRpdC1jbG91ZHZpZGVvcGFydC1wcm94aWVkLmpzIiwiY2xvdWRtZWRpYS1lZGl0LWNsb3VkdmlkZW9wYXJ0LXByb3hpZWQudHMiXSwibmFtZXMiOlsiT3JjaGFyZCIsIk9yY2hhcmQuQXp1cmUiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQ2xvdWRWaWRlb0VkaXQiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQ2xvdWRWaWRlb0VkaXQuZ2V0QWxsRmlsZXNDb21wbGV0ZWQiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQ2xvdWRWaWRlb0VkaXQudW5ibG9ja0lmQ29tcGxldGUiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQ2xvdWRWaWRlb0VkaXQudXBsb2FkQ29tcGxldGVkIiwiT3JjaGFyZC5BenVyZS5NZWRpYVNlcnZpY2VzLkNsb3VkVmlkZW9FZGl0LmluaXRpYWxpemVVcGxvYWQiLCJPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQ2xvdWRWaWRlb0VkaXQuaW5pdGlhbGl6ZVVwbG9hZFByb3hpZWQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxBQ0xBLDRDQUE0QztBQUM1Qyw4Q0FBOEM7QUFFOUMsSUFBTyxPQUFPLENBMkpiO0FBM0pELFdBQU8sT0FBTztJQUFDQSxJQUFBQSxLQUFLQSxDQTJKbkJBO0lBM0pjQSxXQUFBQSxLQUFLQTtRQUFDQyxJQUFBQSxhQUFhQSxDQTJKakNBO1FBM0pvQkEsV0FBQUEsYUFBYUE7WUFBQ0MsSUFBQUEsY0FBY0EsQ0EySmhEQTtZQTNKa0NBLFdBQUFBLGNBQWNBLEVBQUNBLENBQUNBO2dCQUUvQ0MsSUFBSUEsZUFBdUJBLENBQUNBO2dCQUM1QkEsSUFBSUEsT0FBZUEsQ0FBQ0E7Z0JBQ3BCQSxJQUFJQSxtQkFBNEJBLENBQUNBO2dCQUVqQ0E7b0JBQ0lDLElBQUlBLGlCQUFpQkEsR0FBWUEsSUFBSUEsQ0FBQ0E7b0JBRXRDQSxlQUFlQSxDQUFDQSxJQUFJQSxDQUFDQSwyREFBMkRBLENBQUNBLENBQUNBLElBQUlBLENBQUNBO3dCQUNuRixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs0QkFDdEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDOzRCQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDO3dCQUNqQixDQUFDO29CQUNMLENBQUMsQ0FBQ0EsQ0FBQ0E7b0JBRUhBLE1BQU1BLENBQUNBLGlCQUFpQkEsQ0FBQ0E7Z0JBQzdCQSxDQUFDQTtnQkFBQUQsQ0FBQ0E7Z0JBRUZBO29CQUNJRSxFQUFFQSxDQUFDQSxDQUFDQSxvQkFBb0JBLEVBQUVBLENBQUNBO3dCQUNqQkEsT0FBUUEsQ0FBQ0EsT0FBT0EsRUFBRUEsQ0FBQ0E7Z0JBQ2pDQSxDQUFDQTtnQkFFREYseUJBQXlCQSxNQUFXQSxFQUFFQSxJQUFTQTtvQkFDM0NHLElBQUlBLEtBQUtBLEdBQUdBLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLGlDQUFpQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ2pFQSxJQUFJQSxNQUFNQSxHQUFHQSxJQUFJQSxDQUFDQSxXQUFXQSxJQUFJQSxJQUFJQSxDQUFDQSxXQUFXQSxDQUFDQSxNQUFNQSxHQUFHQSxDQUFDQSxHQUFHQSxJQUFJQSxDQUFDQSxXQUFXQSxHQUFHQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQTtvQkFDbEdBLEtBQUtBLENBQUNBLElBQUlBLENBQUNBLGVBQWVBLENBQUNBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBO29CQUNuQ0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsZ0JBQWdCQSxDQUFDQSxDQUFDQSxJQUFJQSxFQUFFQSxDQUFDQTtvQkFDcENBLEtBQUtBLENBQUNBLElBQUlBLENBQUNBLGdCQUFnQkEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsRUFBRUEsQ0FBQ0E7b0JBQ3BDQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxpQkFBaUJBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBO29CQUVyQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBQ2JBLEtBQUtBLE9BQU9BOzRCQUNSQSxLQUFLQSxDQUFDQSxtWEFBbVhBLENBQUNBLENBQUNBOzRCQUMzWEEsTUFBTUEsQ0FBQ0E7d0JBQ1hBLEtBQUtBLE9BQU9BOzRCQUNSQSxNQUFNQSxDQUFDQTtvQkFDZkEsQ0FBQ0E7b0JBRURBLElBQUlBLGlCQUFpQkEsR0FBR0EsSUFBSUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsaUJBQWlCQSxDQUFDQTtvQkFDdERBLElBQUlBLGdCQUFnQkEsR0FBR0EsSUFBSUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsZ0JBQWdCQSxDQUFDQTtvQkFDcERBLElBQUlBLFFBQVFBLEdBQUdBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBO29CQUVwQ0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0NBQWtDQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxnQkFBZ0JBLENBQUNBLENBQUNBO29CQUNyRUEsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsbUNBQW1DQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxpQkFBaUJBLENBQUNBLENBQUNBO29CQUN2RUEsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsMEJBQTBCQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxRQUFRQSxDQUFDQSxDQUFDQTtvQkFFckRBLGlCQUFpQkEsRUFBRUEsQ0FBQ0E7b0JBQ3BCQSxDQUFDQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxXQUFXQSxDQUFDQSwwQ0FBMENBLEdBQUdBLGdCQUFnQkEsR0FBR0EsV0FBV0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ3ZHQSxDQUFDQTtnQkFFREgsMEJBQTBCQSxTQUFjQTtvQkFDcENJLElBQUlBLEtBQUtBLEdBQUdBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLGlDQUFpQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ3BFQSxJQUFJQSxlQUFlQSxHQUFXQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSwwQkFBMEJBLENBQUNBLENBQUNBO29CQUNyRUEsSUFBSUEsZ0JBQWdCQSxHQUFHQSxlQUFlQSxDQUFDQSxPQUFPQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxxQ0FBcUNBLENBQUNBLENBQUNBLEdBQUdBLEVBQUVBLENBQUNBO29CQUN6R0EsSUFBSUEsWUFBWUEsR0FBR0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsZ0JBQWdCQSxDQUFDQSxDQUFDQTtvQkFFaERBLFNBQVNBLENBQUNBLFVBQVVBLENBQUNBO3dCQUNqQkEsVUFBVUEsRUFBRUEsS0FBS0E7d0JBQ2pCQSxlQUFlQSxFQUFFQSxJQUFJQSxNQUFNQSxDQUFDQSxlQUFlQSxFQUFFQSxHQUFHQSxDQUFDQTt3QkFDakRBLElBQUlBLEVBQUVBLE1BQU1BO3dCQUNaQSxHQUFHQSxFQUFFQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxxQkFBcUJBLENBQUNBO3dCQUN0Q0EsUUFBUUEsRUFBRUE7NEJBQ05BLDBCQUEwQkEsRUFBRUEsZ0JBQWdCQTt5QkFDL0NBO3dCQUNEQSxXQUFXQSxFQUFFQSxVQUFDQSxDQUFNQSxFQUFFQSxJQUFTQTs0QkFDM0JBLElBQUlBLGVBQWVBLEdBQUdBLElBQUlBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLE1BQU1BLEdBQUdBLElBQUlBLENBQUNBLEtBQUtBLENBQUNBLEdBQUdBLEdBQUdBLENBQUNBLENBQUNBOzRCQUNuRUEsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsZUFBZUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsRUFBRUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsV0FBV0EsQ0FBQ0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsT0FBT0EsRUFBRUEsZUFBZUEsR0FBR0EsR0FBR0EsQ0FBQ0EsQ0FBQ0E7NEJBQ3pGQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxnQkFBZ0JBLENBQUNBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBLElBQUlBLENBQUNBLGFBQWFBLEdBQUdBLGVBQWVBLEdBQUdBLE9BQU9BLENBQUNBLENBQUNBO3dCQUN4RkEsQ0FBQ0E7d0JBQ0RBLElBQUlBLEVBQUVBLFVBQVVBLENBQU1BLEVBQUVBLElBQVNBOzRCQUM3QixlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUNoQyxDQUFDO3dCQUNEQSxJQUFJQSxFQUFFQSxVQUFVQSxDQUFNQSxFQUFFQSxJQUFTQTs0QkFDN0IsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDaEMsQ0FBQzt3QkFDREEsV0FBV0EsRUFBRUEsVUFBQ0EsQ0FBTUEsRUFBRUEsSUFBU0E7NEJBQzNCQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBa0JBLENBQUNBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBOzRCQUN0Q0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsaUJBQWlCQSxFQUFFQSxJQUFJQSxDQUFDQSxDQUFDQTs0QkFDcENBLFlBQVlBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBOzRCQUNwQkEsSUFBSUEsR0FBR0EsR0FBR0EsSUFBSUEsQ0FBQ0EsTUFBTUEsRUFBRUEsQ0FBQ0E7NEJBQ3hCQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxLQUFLQSxFQUFFQSxHQUFHQSxDQUFDQSxDQUFDQTt3QkFDM0JBLENBQUNBO3dCQUNEQSxXQUFXQSxFQUFFQSxVQUFDQSxDQUFNQSxFQUFFQSxJQUFTQTs0QkFDM0JBLEtBQUtBLENBQUNBLElBQUlBLENBQUNBLGtCQUFrQkEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsRUFBRUEsQ0FBQ0E7d0JBQzFDQSxDQUFDQTtxQkFDSkEsQ0FBQ0EsQ0FBQ0E7b0JBRUhBLFlBQVlBLENBQUNBLEVBQUVBLENBQUNBLE9BQU9BLEVBQUVBLFVBQUFBLENBQUNBO3dCQUN0QkEsQ0FBQ0EsQ0FBQ0EsY0FBY0EsRUFBRUEsQ0FBQ0E7d0JBRW5CQSxFQUFFQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQSw4Q0FBOENBLENBQUNBLENBQUNBLENBQUNBLENBQUNBOzRCQUMxREEsSUFBSUEsR0FBR0EsR0FBR0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0E7NEJBQzVCQSxHQUFHQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQTt3QkFDaEJBLENBQUNBO29CQUNMQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDUEEsQ0FBQ0E7Z0JBRURKO29CQUNJSyxJQUFJQSxZQUFZQSxHQUFHQSxDQUFDQSxDQUFDQSxpQkFBaUJBLENBQUNBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBO29CQUMvQ0EsZUFBZUEsR0FBR0EsWUFBWUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EseUJBQXlCQSxDQUFDQSxDQUFDQTtvQkFDL0RBLE9BQU9BLEdBQUdBLFlBQVlBLENBQUNBLElBQUlBLENBQUNBLG9CQUFvQkEsQ0FBQ0EsQ0FBQ0E7b0JBQ2xEQSxtQkFBbUJBLEdBQUdBLGVBQWVBLENBQUNBLE1BQU1BLEdBQUdBLENBQUNBLENBQUNBO29CQUVqREEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsbUJBQW1CQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDaEJBLE9BQVFBLENBQUNBLEtBQUtBLENBQUNBOzRCQUNqQkEsT0FBT0EsRUFBRUEsZUFBZUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsbUJBQW1CQSxDQUFDQTs0QkFDbERBLFVBQVVBLEVBQUVBO2dDQUNSQSxlQUFlQSxFQUFFQSxNQUFNQTtnQ0FDdkJBLE1BQU1BLEVBQUVBLFNBQVNBOzZCQUNwQkE7NEJBQ0RBLEdBQUdBLEVBQUVBO2dDQUNEQSxNQUFNQSxFQUFFQSxTQUFTQTtnQ0FDakJBLE1BQU1BLEVBQUVBLElBQUlBO2dDQUNaQSxLQUFLQSxFQUFFQSxJQUFJQTtnQ0FDWEEsSUFBSUEsRUFBRUEsQ0FBQ0E7Z0NBQ1BBLE1BQU1BLEVBQUVBLFlBQVlBO2dDQUNwQkEsZUFBZUEsRUFBRUEsSUFBSUE7NkJBQ3hCQTt5QkFDSkEsQ0FBQ0EsQ0FBQ0E7d0JBRUhBLFlBQVlBLENBQUNBLElBQUlBLENBQUNBLDBCQUEwQkEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsQ0FBQ0E7NEJBQy9DLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUM5QixDQUFDLENBQUNBLENBQUNBO3dCQUVIQSxNQUFNQSxDQUFDQSxjQUFjQSxHQUFHQSxVQUFBQSxDQUFDQTs0QkFDckJBLElBQUlBLGdCQUFnQkEsR0FBR0EsS0FBS0EsQ0FBQ0E7NEJBRTdCQSxZQUFZQSxDQUFDQSxJQUFJQSxDQUFDQSxpQ0FBaUNBLENBQUNBLENBQUNBLElBQUlBLENBQUNBO2dDQUN0RCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztvQ0FDMUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO29DQUN4QixNQUFNLENBQUMsS0FBSyxDQUFDO2dDQUNqQixDQUFDOzRCQUNMLENBQUMsQ0FBQ0EsQ0FBQ0E7NEJBRUhBLEVBQUVBLENBQUNBLENBQUNBLGdCQUFnQkEsQ0FBQ0E7Z0NBQ2pCQSxDQUFDQSxDQUFDQSxXQUFXQSxHQUFHQSw0RUFBNEVBLENBQUNBO3dCQUNyR0EsQ0FBQ0EsQ0FBQ0E7d0JBRUZBLFlBQVlBLENBQUNBLElBQUlBLENBQUNBLG9CQUFvQkEsQ0FBQ0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsUUFBUUEsRUFBRUEsVUFBQUEsQ0FBQ0E7NEJBQ2xEQSxpQkFBaUJBLEVBQUVBLENBQUNBO3dCQUN4QkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBRUhBLGlCQUFpQkEsRUFBRUEsQ0FBQ0E7b0JBQ3hCQSxDQUFDQTtvQkFFREEsWUFBWUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsZUFBZUEsQ0FBQ0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsUUFBUUEsRUFBRUEsVUFBQUEsQ0FBQ0E7d0JBQzdDQSxJQUFJQSxNQUFNQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQSxhQUFhQSxDQUFDQSxDQUFDQTt3QkFFaENBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLE1BQU1BLENBQUNBLElBQUlBLENBQUNBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBLENBQUNBLENBQUNBOzRCQUNsQ0EsTUFBTUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0E7d0JBQ25CQSxDQUFDQTtvQkFDTEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1BBLENBQUNBO2dCQXZEZUwsc0NBQXVCQSwwQkF1RHRDQSxDQUFBQTtZQUNMQSxDQUFDQSxFQTNKa0NELGNBQWNBLEdBQWRBLDRCQUFjQSxLQUFkQSw0QkFBY0EsUUEySmhEQTtRQUFEQSxDQUFDQSxFQTNKb0JELGFBQWFBLEdBQWJBLG1CQUFhQSxLQUFiQSxtQkFBYUEsUUEySmpDQTtJQUFEQSxDQUFDQSxFQTNKY0QsS0FBS0EsR0FBTEEsYUFBS0EsS0FBTEEsYUFBS0EsUUEySm5CQTtBQUFEQSxDQUFDQSxFQTNKTSxPQUFPLEtBQVAsT0FBTyxRQTJKYiIsImZpbGUiOiJjbG91ZG1lZGlhLWVkaXQtY2xvdWR2aWRlb3BhcnQtcHJveGllZC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIlR5cGluZ3MvanF1ZXJ5LmQudHNcIiAvPlxyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiVHlwaW5ncy9qcXVlcnl1aS5kLnRzXCIgLz5cclxuXHJcbm1vZHVsZSBPcmNoYXJkLkF6dXJlLk1lZGlhU2VydmljZXMuQ2xvdWRWaWRlb0VkaXQge1xyXG5cclxuICAgIHZhciByZXF1aXJlZFVwbG9hZHM6IEpRdWVyeTtcclxuICAgIHZhciBibG9ja2VkOiBKUXVlcnk7XHJcbiAgICB2YXIgaGFzUmVxdWlyZWRVcGxvYWRzcDogYm9vbGVhbjtcclxuXHJcbiAgICBmdW5jdGlvbiBnZXRBbGxGaWxlc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICB2YXIgYWxsRmlsZXNDb21wbGV0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgICAgICByZXF1aXJlZFVwbG9hZHMuZmluZChcImlucHV0W25hbWUkPScuT3JpZ2luYWxGaWxlTmFtZSddLCBpbnB1dC5zeW5jLXVwbG9hZC1pbnB1dFwiKS5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKCQodGhpcykudmFsKCkgPT0gXCJcIikge1xyXG4gICAgICAgICAgICAgICAgYWxsRmlsZXNDb21wbGV0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gYWxsRmlsZXNDb21wbGV0ZWQ7XHJcbiAgICB9O1xyXG5cclxuICAgIGZ1bmN0aW9uIHVuYmxvY2tJZkNvbXBsZXRlKCkge1xyXG4gICAgICAgIGlmIChnZXRBbGxGaWxlc0NvbXBsZXRlZCgpKVxyXG4gICAgICAgICAgICAoPGFueT5ibG9ja2VkKS51bmJsb2NrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gdXBsb2FkQ29tcGxldGVkKHNlbmRlcjogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgICAgICB2YXIgc2NvcGUgPSAkKHNlbmRlcikuY2xvc2VzdChcIltkYXRhLXVwbG9hZC1hY2NlcHQtZmlsZS10eXBlc11cIik7XHJcbiAgICAgICAgdmFyIHN0YXR1cyA9IGRhdGEuZXJyb3JUaHJvd24gJiYgZGF0YS5lcnJvclRocm93bi5sZW5ndGggPiAwID8gZGF0YS5lcnJvclRocm93biA6IGRhdGEudGV4dFN0YXR1cztcclxuICAgICAgICBzY29wZS5maW5kKFwiLnByb2dyZXNzLWJhclwiKS5oaWRlKCk7XHJcbiAgICAgICAgc2NvcGUuZmluZChcIi5wcm9ncmVzcy10ZXh0XCIpLmhpZGUoKTtcclxuICAgICAgICBzY29wZS5maW5kKFwiLmNhbmNlbC11cGxvYWRcIikuaGlkZSgpO1xyXG4gICAgICAgIHNjb3BlLmRhdGEoXCJ1cGxvYWQtaXNhY3RpdmVcIiwgZmFsc2UpO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xyXG4gICAgICAgICAgICBjYXNlIFwiZXJyb3JcIjpcclxuICAgICAgICAgICAgICAgIGFsZXJ0KFwiVGhlIHVwbG9hZCBvZiB0aGUgc2VsZWN0ZWQgZmlsZSBmYWlsZWQuIE9uZSBwb3NzaWJsZSBjYXVzZSBpcyB0aGF0IHRoZSBmaWxlIHNpemUgZXhjZWVkcyB0aGUgY29uZmlndXJlZCBtYXhSZXF1ZXN0TGVuZ3RoIHNldHRpbmcgKHNlZTogaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3N5c3RlbS53ZWIuY29uZmlndXJhdGlvbi5odHRwcnVudGltZXNlY3Rpb24ubWF4cmVxdWVzdGxlbmd0aCh2PXZzLjExMCkuYXNweCkuIEFsc28gbWFrZSBzdXJlIHRoZSBleGVjdXRpb25UaW1lT3V0IGlzIHNldCB0byBhbGxvdyBmb3IgZW5vdWdoIHRpbWUgZm9yIHRoZSByZXF1ZXN0IHRvIGV4ZWN1dGUgd2hlbiBkZWJ1Zz1cXFwiZmFsc2VcXFwiLlwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgY2FzZSBcImFib3J0XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgdGVtcG9yYXJ5RmlsZU5hbWUgPSBkYXRhLnJlc3VsdC50ZW1wb3JhcnlGaWxlTmFtZTtcclxuICAgICAgICB2YXIgb3JpZ2luYWxGaWxlTmFtZSA9IGRhdGEucmVzdWx0Lm9yaWdpbmFsRmlsZU5hbWU7XHJcbiAgICAgICAgdmFyIGZpbGVTaXplID0gZGF0YS5yZXN1bHQuZmlsZVNpemU7XHJcblxyXG4gICAgICAgIHNjb3BlLmZpbmQoXCJpbnB1dFtuYW1lJD0nLk9yaWdpbmFsRmlsZU5hbWUnXVwiKS52YWwob3JpZ2luYWxGaWxlTmFtZSk7XHJcbiAgICAgICAgc2NvcGUuZmluZChcImlucHV0W25hbWUkPScuVGVtcG9yYXJ5RmlsZU5hbWUnXVwiKS52YWwodGVtcG9yYXJ5RmlsZU5hbWUpO1xyXG4gICAgICAgIHNjb3BlLmZpbmQoXCJpbnB1dFtuYW1lJD0nLkZpbGVTaXplJ11cIikudmFsKGZpbGVTaXplKTtcclxuXHJcbiAgICAgICAgdW5ibG9ja0lmQ29tcGxldGUoKTtcclxuICAgICAgICAkKHNlbmRlcikucmVwbGFjZVdpdGgoXCI8c3Bhbj5TdWNjZXNzZnVsbHkgdXBsb2FkZWQgdmlkZW8gZmlsZSAnXCIgKyBvcmlnaW5hbEZpbGVOYW1lICsgXCInLjwvc3Bhbj5cIik7XHJcbiAgICB9XHJcbiAgICAgXHJcbiAgICBmdW5jdGlvbiBpbml0aWFsaXplVXBsb2FkKGZpbGVJbnB1dDogYW55KSB7XHJcbiAgICAgICAgdmFyIHNjb3BlID0gJChmaWxlSW5wdXQpLmNsb3Nlc3QoXCJbZGF0YS11cGxvYWQtYWNjZXB0LWZpbGUtdHlwZXNdXCIpO1xyXG4gICAgICAgIHZhciBhY2NlcHRGaWxlVHlwZXM6IHN0cmluZyA9IHNjb3BlLmRhdGEoXCJ1cGxvYWQtYWNjZXB0LWZpbGUtdHlwZXNcIik7XHJcbiAgICAgICAgdmFyIGFudGlGb3JnZXJ5VG9rZW4gPSByZXF1aXJlZFVwbG9hZHMuY2xvc2VzdChcImZvcm1cIikuZmluZChcIltuYW1lPSdfX1JlcXVlc3RWZXJpZmljYXRpb25Ub2tlbiddXCIpLnZhbCgpO1xyXG4gICAgICAgIHZhciBjYW5jZWxVcGxvYWQgPSBzY29wZS5maW5kKFwiLmNhbmNlbC11cGxvYWRcIik7XHJcblxyXG4gICAgICAgIGZpbGVJbnB1dC5maWxldXBsb2FkKHtcclxuICAgICAgICAgICAgYXV0b1VwbG9hZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGFjY2VwdEZpbGVUeXBlczogbmV3IFJlZ0V4cChhY2NlcHRGaWxlVHlwZXMsIFwiaVwiKSxcclxuICAgICAgICAgICAgdHlwZTogXCJQT1NUXCIsXHJcbiAgICAgICAgICAgIHVybDogc2NvcGUuZGF0YShcInVwbG9hZC1mYWxsYmFjay11cmxcIiksXHJcbiAgICAgICAgICAgIGZvcm1EYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBfX1JlcXVlc3RWZXJpZmljYXRpb25Ub2tlbjogYW50aUZvcmdlcnlUb2tlblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBwcm9ncmVzc2FsbDogKGU6IGFueSwgZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgcGVyY2VudENvbXBsZXRlID0gTWF0aC5mbG9vcigoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsKSAqIDEwMCk7XHJcbiAgICAgICAgICAgICAgICBzY29wZS5maW5kKFwiLnByb2dyZXNzLWJhclwiKS5zaG93KCkuZmluZCgnLnByb2dyZXNzJykuY3NzKCd3aWR0aCcsIHBlcmNlbnRDb21wbGV0ZSArICclJyk7XHJcbiAgICAgICAgICAgICAgICBzY29wZS5maW5kKFwiLnByb2dyZXNzLXRleHRcIikuc2hvdygpLnRleHQoXCJVcGxvYWRpbmcgKFwiICsgcGVyY2VudENvbXBsZXRlICsgXCIlKS4uLlwiKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZG9uZTogZnVuY3Rpb24gKGU6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgICAgICAgICB1cGxvYWRDb21wbGV0ZWQodGhpcywgZGF0YSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGZhaWw6IGZ1bmN0aW9uIChlOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgdXBsb2FkQ29tcGxldGVkKHRoaXMsIGRhdGEpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBwcm9jZXNzZG9uZTogKGU6IGFueSwgZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzY29wZS5maW5kKFwiLnZhbGlkYXRpb24tdGV4dFwiKS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICBzY29wZS5kYXRhKFwidXBsb2FkLWlzYWN0aXZlXCIsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgY2FuY2VsVXBsb2FkLnNob3coKTtcclxuICAgICAgICAgICAgICAgIHZhciB4aHIgPSBkYXRhLnN1Ym1pdCgpO1xyXG4gICAgICAgICAgICAgICAgc2NvcGUuZGF0YShcInhoclwiLCB4aHIpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBwcm9jZXNzZmFpbDogKGU6IGFueSwgZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzY29wZS5maW5kKFwiLnZhbGlkYXRpb24tdGV4dFwiKS5zaG93KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY2FuY2VsVXBsb2FkLm9uKFwiY2xpY2tcIiwgZSA9PiB7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChjb25maXJtKFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbCB0aGlzIHVwbG9hZD9cIikpIHtcclxuICAgICAgICAgICAgICAgIHZhciB4aHIgPSBzY29wZS5kYXRhKFwieGhyXCIpO1xyXG4gICAgICAgICAgICAgICAgeGhyLmFib3J0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZVVwbG9hZFByb3hpZWQoKSB7XHJcbiAgICAgICAgdmFyIHNjb3BlUHJveGllZCA9ICQoXCIudXBsb2FkLXByb3hpZWRcIikuc2hvdygpO1xyXG4gICAgICAgIHJlcXVpcmVkVXBsb2FkcyA9IHNjb3BlUHJveGllZC5maW5kKFwiLnJlcXVpcmVkLXVwbG9hZHMtZ3JvdXBcIik7XHJcbiAgICAgICAgYmxvY2tlZCA9IHNjb3BlUHJveGllZC5maW5kKFwiLmVkaXQtaXRlbS1zaWRlYmFyXCIpO1xyXG4gICAgICAgIGhhc1JlcXVpcmVkVXBsb2Fkc3AgPSByZXF1aXJlZFVwbG9hZHMubGVuZ3RoID4gMDtcclxuXHJcbiAgICAgICAgaWYgKGhhc1JlcXVpcmVkVXBsb2Fkc3ApIHtcclxuICAgICAgICAgICAgKDxhbnk+YmxvY2tlZCkuYmxvY2soe1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogcmVxdWlyZWRVcGxvYWRzLmRhdGEoXCJibG9jay1kZXNjcmlwdGlvblwiKSxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlDU1M6IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogXCJkZWZhdWx0XCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBjc3M6IHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogXCIzMHB4IDAgMCAwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBudWxsXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgc2NvcGVQcm94aWVkLmZpbmQoXCIuYXN5bmMtdXBsb2FkLWZpbGUtaW5wdXRcIikuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICBpbml0aWFsaXplVXBsb2FkKCQodGhpcykpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHdpbmRvdy5vbmJlZm9yZXVubG9hZCA9IGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFyIGhhc0FjdGl2ZVVwbG9hZHMgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICBzY29wZVByb3hpZWQuZmluZChcIltkYXRhLXVwbG9hZC1hY2NlcHQtZmlsZS10eXBlc11cIikuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuZGF0YShcInVwbG9hZC1pc2FjdGl2ZVwiKSA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0FjdGl2ZVVwbG9hZHMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGhhc0FjdGl2ZVVwbG9hZHMpXHJcbiAgICAgICAgICAgICAgICAgICAgZS5yZXR1cm5WYWx1ZSA9IFwiVGhlcmUgYXJlIHVwbG9hZHMgaW4gcHJvZ3Jlc3MuIFRoZXNlIHdpbGwgYmUgYWJvcnRlZCBpZiB5b3UgbmF2aWdhdGUgYXdheS5cIjtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHNjb3BlUHJveGllZC5maW5kKFwiLnN5bmMtdXBsb2FkLWlucHV0XCIpLm9uKFwiY2hhbmdlXCIsIGU9PiB7XHJcbiAgICAgICAgICAgICAgICB1bmJsb2NrSWZDb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHVuYmxvY2tJZkNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzY29wZVByb3hpZWQuZmluZChcIltkYXRhLXByb21wdF1cIikub24oXCJjaGFuZ2VcIiwgZSA9PiB7XHJcbiAgICAgICAgICAgIHZhciBzZW5kZXIgPSAkKGUuY3VycmVudFRhcmdldCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAoIWNvbmZpcm0oc2VuZGVyLmRhdGEoXCJwcm9tcHRcIikpKSB7XHJcbiAgICAgICAgICAgICAgICBzZW5kZXIudmFsKFwiXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
|