@campnetwork/origin 1.3.0-alpha.0 → 1.3.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/core.cjs +154 -107
- package/dist/core.d.ts +48 -4
- package/dist/core.esm.d.ts +48 -4
- package/dist/core.esm.js +186 -139
- package/dist/react/index.esm.d.ts +50 -5
- package/dist/react/index.esm.js +270 -86
- package/package.json +1 -1
package/dist/react/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import React, { createContext, useState, useContext, useEffect, useLayoutEffect, useRef, useSyncExternalStore } from 'react';
|
|
3
|
-
import { custom, createWalletClient, createPublicClient, http, encodeFunctionData, checksumAddress, zeroAddress, keccak256, toBytes, erc20Abi, getAbiItem, formatEther, formatUnits, parseEther } from 'viem';
|
|
3
|
+
import { custom, createWalletClient, createPublicClient, http, encodeFunctionData, checksumAddress, zeroAddress, keccak256, toBytes, toHex, erc20Abi, getAbiItem, formatEther, formatUnits, parseEther } from 'viem';
|
|
4
4
|
import { toAccount } from 'viem/accounts';
|
|
5
5
|
import { createSiweMessage } from 'viem/siwe';
|
|
6
6
|
import axios from 'axios';
|
|
@@ -5694,16 +5694,16 @@ var constants = {
|
|
|
5694
5694
|
const ENVIRONMENTS = {
|
|
5695
5695
|
DEVELOPMENT: {
|
|
5696
5696
|
NAME: "DEVELOPMENT",
|
|
5697
|
-
AUTH_HUB_BASE_API: "https://
|
|
5698
|
-
AUTH_ENDPOINT: "auth-testnet",
|
|
5697
|
+
AUTH_HUB_BASE_API: "https://origin-backend-iota.vercel.app",
|
|
5699
5698
|
ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
|
|
5700
|
-
DATANFT_CONTRACT_ADDRESS: "
|
|
5701
|
-
MARKETPLACE_CONTRACT_ADDRESS: "
|
|
5699
|
+
DATANFT_CONTRACT_ADDRESS: "0x4d9aF5800701A4A686Df6b096A27B81486de36eB",
|
|
5700
|
+
MARKETPLACE_CONTRACT_ADDRESS: "0x68B202caA162C418d3A2DF92F29fA1CAF90C58c1",
|
|
5702
5701
|
BATCH_PURCHASE_CONTRACT_ADDRESS: "0xaF0cF04DBfeeAcEdC77Dc68A91381AFB967B8518",
|
|
5703
|
-
|
|
5704
|
-
|
|
5702
|
+
DISPUTE_CONTRACT_ADDRESS: "0x45719337b1450b0D105cA671972be4263E6A9380",
|
|
5703
|
+
APP_REGISTRY_CONTRACT_ADDRESS: "0x2096eb980Dd590DDF690Cb698572b80552B6F9Bb",
|
|
5704
|
+
// TODO: Add actual contract addresse when deployed
|
|
5705
5705
|
FRACTIONALIZER_CONTRACT_ADDRESS: "",
|
|
5706
|
-
|
|
5706
|
+
USDC_CONTRACT_ADDRESS: "0x8a2B28364102Bea189D99A475C494330Ef2bDD0B",
|
|
5707
5707
|
CHAIN: testnet,
|
|
5708
5708
|
IPNFT_ABI: ipnftMainnetAbi,
|
|
5709
5709
|
MARKETPLACE_ABI: marketplaceMainnetAbi,
|
|
@@ -5716,7 +5716,6 @@ const ENVIRONMENTS = {
|
|
|
5716
5716
|
PRODUCTION: {
|
|
5717
5717
|
NAME: "PRODUCTION",
|
|
5718
5718
|
AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
|
|
5719
|
-
AUTH_ENDPOINT: "auth-mainnet",
|
|
5720
5719
|
ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
|
|
5721
5720
|
DATANFT_CONTRACT_ADDRESS: "0x39EeE1C3989f0dD543Dee60f8582F7F81F522C38",
|
|
5722
5721
|
MARKETPLACE_CONTRACT_ADDRESS: "0xc69BAa987757d054455fC0f2d9797684E9FB8b9C",
|
|
@@ -5725,6 +5724,7 @@ const ENVIRONMENTS = {
|
|
|
5725
5724
|
DISPUTE_CONTRACT_ADDRESS: "",
|
|
5726
5725
|
FRACTIONALIZER_CONTRACT_ADDRESS: "",
|
|
5727
5726
|
APP_REGISTRY_CONTRACT_ADDRESS: "",
|
|
5727
|
+
USDC_CONTRACT_ADDRESS: "",
|
|
5728
5728
|
CHAIN: mainnet,
|
|
5729
5729
|
IPNFT_ABI: ipnftMainnetAbi,
|
|
5730
5730
|
MARKETPLACE_ABI: marketplaceMainnetAbi,
|
|
@@ -5775,36 +5775,104 @@ const SECONDS_IN_HOUR = 3600;
|
|
|
5775
5775
|
const SECONDS_IN_DAY = 86400;
|
|
5776
5776
|
const SECONDS_IN_WEEK = 604800;
|
|
5777
5777
|
/**
|
|
5778
|
-
* Uploads
|
|
5778
|
+
* Uploads chunks to respective presigned URLs with progress tracking.
|
|
5779
5779
|
* Falls back to a simple fetch request if XMLHttpRequest is not available.
|
|
5780
|
-
* @param {
|
|
5781
|
-
* @param {string}
|
|
5780
|
+
* @param {Blob[]} chunks - The file to upload.
|
|
5781
|
+
* @param {string[]} urls - The URL to upload the file to.
|
|
5782
5782
|
* @param {UploadProgressCallback} onProgress - A callback function to track upload progress.
|
|
5783
5783
|
* @returns {Promise<string>} - A promise that resolves with the response from the server.
|
|
5784
5784
|
*/
|
|
5785
|
-
const uploadWithProgress = (
|
|
5785
|
+
const uploadWithProgress = (chunks, urls, onProgress) => {
|
|
5786
|
+
const MAX_RETRIES = 3;
|
|
5787
|
+
const CONCURRENCY_LIMIT = 4; // Parallel uploads for performance
|
|
5788
|
+
const parts = [];
|
|
5789
|
+
let failedParts = [];
|
|
5790
|
+
let isAborted = false;
|
|
5791
|
+
let completedChunks = 0;
|
|
5792
|
+
const totalChunks = chunks.length;
|
|
5786
5793
|
return new Promise((resolve, reject) => {
|
|
5787
|
-
|
|
5788
|
-
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5794
|
+
function updateProgress() {
|
|
5795
|
+
const progress = (completedChunks / totalChunks) * 100;
|
|
5796
|
+
onProgress(progress);
|
|
5797
|
+
}
|
|
5798
|
+
function uploadPart(blob_1, url_1, partNumber_1) {
|
|
5799
|
+
return __awaiter(this, arguments, void 0, function* (blob, url, partNumber, retryCount = 0) {
|
|
5800
|
+
var _a;
|
|
5801
|
+
try {
|
|
5802
|
+
const response = yield axios.put(url, blob, {
|
|
5803
|
+
headers: { "Content-Type": blob.type || "application/octet-stream" },
|
|
5804
|
+
timeout: 300000, // 5 minutes per part
|
|
5805
|
+
});
|
|
5806
|
+
const etag = (_a = response.headers.etag) === null || _a === void 0 ? void 0 : _a.replace(/"/g, "");
|
|
5807
|
+
if (!etag) {
|
|
5808
|
+
throw new Error(`Missing ETag for part ${partNumber}`);
|
|
5796
5809
|
}
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5810
|
+
return { ETag: etag, PartNumber: partNumber };
|
|
5811
|
+
}
|
|
5812
|
+
catch (error) {
|
|
5813
|
+
if (retryCount < MAX_RETRIES) {
|
|
5814
|
+
const delay = 1000 * Math.pow(2, retryCount); // Exponential backoff
|
|
5815
|
+
yield new Promise((resolve) => setTimeout(resolve, delay));
|
|
5816
|
+
return uploadPart(blob, url, partNumber, retryCount + 1);
|
|
5817
|
+
}
|
|
5818
|
+
throw new Error(`Part ${partNumber} failed after ${MAX_RETRIES} retries: ${error.message}`);
|
|
5819
|
+
}
|
|
5820
|
+
});
|
|
5821
|
+
}
|
|
5822
|
+
function uploadAllParts() {
|
|
5823
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5824
|
+
const uploadPromises = [];
|
|
5825
|
+
for (let i = 0; i < totalChunks; i++) {
|
|
5826
|
+
if (isAborted)
|
|
5827
|
+
break;
|
|
5828
|
+
const uploadPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5829
|
+
try {
|
|
5830
|
+
if (failedParts.includes(i))
|
|
5831
|
+
return;
|
|
5832
|
+
const result = yield uploadPart(chunks[i], urls[i], i + 1);
|
|
5833
|
+
parts.push(result);
|
|
5834
|
+
completedChunks++;
|
|
5835
|
+
updateProgress();
|
|
5836
|
+
}
|
|
5837
|
+
catch (error) {
|
|
5838
|
+
console.error(`Part ${i + 1} failed:`, error);
|
|
5839
|
+
failedParts.push(i);
|
|
5840
|
+
if (failedParts.length > totalChunks * 0.1) {
|
|
5841
|
+
// Fail fast if >10% fail
|
|
5842
|
+
throw error;
|
|
5843
|
+
}
|
|
5844
|
+
}
|
|
5845
|
+
}))();
|
|
5846
|
+
uploadPromises.push(uploadPromise);
|
|
5847
|
+
// Limit concurrency
|
|
5848
|
+
if (uploadPromises.length >= CONCURRENCY_LIMIT) {
|
|
5849
|
+
yield Promise.race(uploadPromises);
|
|
5850
|
+
// Remove settled promises to continue
|
|
5851
|
+
uploadPromises.splice(0, uploadPromises.length, ...(yield Promise.allSettled(uploadPromises))
|
|
5852
|
+
.map((_, idx) => uploadPromises[idx])
|
|
5853
|
+
.filter(Boolean));
|
|
5854
|
+
}
|
|
5855
|
+
}
|
|
5856
|
+
yield Promise.allSettled(uploadPromises);
|
|
5857
|
+
if (isAborted) {
|
|
5858
|
+
reject(new Error("Upload aborted by user"));
|
|
5859
|
+
return;
|
|
5860
|
+
}
|
|
5861
|
+
if (failedParts.length > 0) {
|
|
5862
|
+
reject(new Error(`Failed to upload ${failedParts.length}/${totalChunks} parts: ${failedParts.join(", ")}`));
|
|
5863
|
+
return;
|
|
5864
|
+
}
|
|
5865
|
+
parts.sort((a, b) => a.PartNumber - b.PartNumber);
|
|
5866
|
+
resolve(parts);
|
|
5867
|
+
});
|
|
5868
|
+
}
|
|
5869
|
+
// Expose abort method
|
|
5870
|
+
uploadWithProgress.abort = () => {
|
|
5871
|
+
isAborted = true;
|
|
5872
|
+
axios.isCancel("Upload aborted");
|
|
5873
|
+
};
|
|
5874
|
+
updateProgress(); // Initial 0%
|
|
5875
|
+
uploadAllParts().catch(reject);
|
|
5808
5876
|
});
|
|
5809
5877
|
};
|
|
5810
5878
|
const toSeconds = (duration, licenseDurationUnit) => {
|
|
@@ -5866,6 +5934,19 @@ const validateRoyaltyBps = (royaltyBps) => {
|
|
|
5866
5934
|
return false;
|
|
5867
5935
|
}
|
|
5868
5936
|
};
|
|
5937
|
+
const splitFileIntoChunks = (file, chunkSize) => {
|
|
5938
|
+
const chunks = [];
|
|
5939
|
+
let start = 0;
|
|
5940
|
+
while (start < file.size) {
|
|
5941
|
+
chunks.push(file.slice(start, start + chunkSize));
|
|
5942
|
+
start += chunkSize;
|
|
5943
|
+
}
|
|
5944
|
+
return chunks;
|
|
5945
|
+
};
|
|
5946
|
+
const getBaseApiUrl = (environment) => {
|
|
5947
|
+
const authEndpoint = environment.NAME === "PRODUCTION" ? "/auth-mainnet" : "";
|
|
5948
|
+
return environment.AUTH_HUB_BASE_API + authEndpoint;
|
|
5949
|
+
};
|
|
5869
5950
|
|
|
5870
5951
|
/**
|
|
5871
5952
|
* Mints a Data NFT with a signature.
|
|
@@ -5878,13 +5959,13 @@ const validateRoyaltyBps = (royaltyBps) => {
|
|
|
5878
5959
|
* @param licenseTerms The terms of the license for the NFT.
|
|
5879
5960
|
* @param deadline The deadline for the minting operation.
|
|
5880
5961
|
* @param signature The signature for the minting operation.
|
|
5881
|
-
* @param appId Optional app ID for the minting operation.
|
|
5962
|
+
* @param appId Optional app ID for the minting operation.
|
|
5882
5963
|
* @returns A promise that resolves when the minting is complete.
|
|
5883
5964
|
*/
|
|
5884
5965
|
function mintWithSignature(to, tokenId, parents, isIp, hash, uri, licenseTerms, deadline, signature, appId) {
|
|
5885
5966
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5886
5967
|
var _a;
|
|
5887
|
-
// use provided appId,
|
|
5968
|
+
// use provided appId, else use instance appId, else default to empty string
|
|
5888
5969
|
const effectiveAppId = (_a = appId !== null && appId !== void 0 ? appId : this.appId) !== null && _a !== void 0 ? _a : "";
|
|
5889
5970
|
return yield this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "mintWithSignature", [
|
|
5890
5971
|
to,
|
|
@@ -5910,8 +5991,10 @@ function mintWithSignature(to, tokenId, parents, isIp, hash, uri, licenseTerms,
|
|
|
5910
5991
|
* @param parents The IDs of the parent NFTs, if applicable.
|
|
5911
5992
|
* @return A promise that resolves with the registration data.
|
|
5912
5993
|
*/
|
|
5913
|
-
function registerIpNFT(source, deadline, licenseTerms, metadata, fileKey, parents) {
|
|
5994
|
+
function registerIpNFT(source, deadline, licenseTerms, metadata, isIp, fileKey, parents, appId) {
|
|
5914
5995
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5996
|
+
var _a;
|
|
5997
|
+
const effectiveAppId = (_a = appId !== null && appId !== void 0 ? appId : this.appId) !== null && _a !== void 0 ? _a : "";
|
|
5915
5998
|
const body = {
|
|
5916
5999
|
source,
|
|
5917
6000
|
deadline: Number(deadline),
|
|
@@ -5922,13 +6005,15 @@ function registerIpNFT(source, deadline, licenseTerms, metadata, fileKey, parent
|
|
|
5922
6005
|
paymentToken: licenseTerms.paymentToken,
|
|
5923
6006
|
licenseType: licenseTerms.licenseType,
|
|
5924
6007
|
},
|
|
6008
|
+
appId: effectiveAppId,
|
|
6009
|
+
isIp,
|
|
5925
6010
|
metadata,
|
|
5926
6011
|
parentId: parents ? parents.map((p) => p.toString()) : [],
|
|
5927
6012
|
};
|
|
5928
6013
|
if (fileKey !== undefined) {
|
|
5929
6014
|
body.fileKey = fileKey;
|
|
5930
6015
|
}
|
|
5931
|
-
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
6016
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/origin/register`, {
|
|
5932
6017
|
method: "POST",
|
|
5933
6018
|
headers: {
|
|
5934
6019
|
Authorization: `Bearer ${this.getJwt()}`,
|
|
@@ -6541,7 +6626,7 @@ const X402_INTENT_TYPES = {
|
|
|
6541
6626
|
};
|
|
6542
6627
|
|
|
6543
6628
|
const fetchTokenData = (origin, tokenId, headers) => __awaiter(void 0, void 0, void 0, function* () {
|
|
6544
|
-
const response = yield fetch(`${origin.environment.AUTH_HUB_BASE_API}
|
|
6629
|
+
const response = yield fetch(`${origin.environment.AUTH_HUB_BASE_API}/origin/data/${tokenId}`, {
|
|
6545
6630
|
method: "GET",
|
|
6546
6631
|
headers: Object.assign({ "Content-Type": "application/json" }, headers),
|
|
6547
6632
|
});
|
|
@@ -6726,6 +6811,46 @@ function raiseDispute(targetIpId, evidenceHash, disputeTag) {
|
|
|
6726
6811
|
});
|
|
6727
6812
|
}
|
|
6728
6813
|
|
|
6814
|
+
/**
|
|
6815
|
+
* Raises a dispute with automatic evidence upload to IPFS.
|
|
6816
|
+
* Uploads evidence JSON to IPFS, hashes the CID to bytes32 for on-chain storage,
|
|
6817
|
+
* and calls raiseDispute.
|
|
6818
|
+
*
|
|
6819
|
+
* @param targetIpId The token ID of the IP NFT to dispute.
|
|
6820
|
+
* @param evidence The evidence JSON object to upload to IPFS.
|
|
6821
|
+
* @param disputeTag A tag identifying the type of dispute.
|
|
6822
|
+
* @returns A promise that resolves with the transaction result, IPFS CID, and evidence hash.
|
|
6823
|
+
*
|
|
6824
|
+
* @example
|
|
6825
|
+
* ```typescript
|
|
6826
|
+
* const result = await origin.raiseDisputeSmart(
|
|
6827
|
+
* 1n,
|
|
6828
|
+
* { reason: "copyright", details: "Unauthorized use of copyrighted material" },
|
|
6829
|
+
* "0x696e6672696e67656d656e74..." // dispute tag
|
|
6830
|
+
* );
|
|
6831
|
+
*
|
|
6832
|
+
* // Store the CID for evidence retrieval
|
|
6833
|
+
* console.log("Evidence CID:", result.evidenceCid);
|
|
6834
|
+
*
|
|
6835
|
+
* // Fetch evidence later via IPFS gateway
|
|
6836
|
+
* // https://ipfs.io/ipfs/{result.evidenceCid}
|
|
6837
|
+
*
|
|
6838
|
+
* // Verify evidence hash matches on-chain: keccak256(toHex(evidenceCid)) === evidenceHash
|
|
6839
|
+
* ```
|
|
6840
|
+
*/
|
|
6841
|
+
function raiseDisputeSmart(targetIpId, evidence, disputeTag) {
|
|
6842
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6843
|
+
const cid = yield this.uploadJSONToIPFS(evidence);
|
|
6844
|
+
const evidenceHash = keccak256(toHex(cid));
|
|
6845
|
+
const transactionResult = yield this.raiseDispute(targetIpId, evidenceHash, disputeTag);
|
|
6846
|
+
return {
|
|
6847
|
+
transactionResult,
|
|
6848
|
+
evidenceCid: cid,
|
|
6849
|
+
evidenceHash,
|
|
6850
|
+
};
|
|
6851
|
+
});
|
|
6852
|
+
}
|
|
6853
|
+
|
|
6729
6854
|
/**
|
|
6730
6855
|
* Asserts a dispute as the IP owner with counter-evidence.
|
|
6731
6856
|
* Must be called by the owner of the disputed IP within the cooldown period.
|
|
@@ -7715,6 +7840,8 @@ class Origin {
|
|
|
7715
7840
|
typeof environment === "string"
|
|
7716
7841
|
? ENVIRONMENTS[environment]
|
|
7717
7842
|
: environment || ENVIRONMENTS["DEVELOPMENT"];
|
|
7843
|
+
this.environment.AUTH_HUB_BASE_API +=
|
|
7844
|
+
environment === "PRODUCTION" ? "/auth-mainnet" : "";
|
|
7718
7845
|
this.baseParentId = baseParentId;
|
|
7719
7846
|
this.appId = appId;
|
|
7720
7847
|
// DataNFT methods
|
|
@@ -7748,6 +7875,7 @@ class Origin {
|
|
|
7748
7875
|
this.checkActiveStatus = checkActiveStatus.bind(this);
|
|
7749
7876
|
// Dispute module methods
|
|
7750
7877
|
this.raiseDispute = raiseDispute.bind(this);
|
|
7878
|
+
this.raiseDisputeSmart = raiseDisputeSmart.bind(this);
|
|
7751
7879
|
this.disputeAssertion = disputeAssertion.bind(this);
|
|
7752
7880
|
this.voteOnDispute = voteOnDispute.bind(this);
|
|
7753
7881
|
this.resolveDispute = resolveDispute.bind(this);
|
|
@@ -7773,6 +7901,25 @@ class Origin {
|
|
|
7773
7901
|
setViemClient(client) {
|
|
7774
7902
|
this.viemClient = client;
|
|
7775
7903
|
}
|
|
7904
|
+
/**
|
|
7905
|
+
* Uploads a JSON object to IPFS and returns the resulting CID.
|
|
7906
|
+
* @param data The JSON object to upload.
|
|
7907
|
+
* @returns The CID of the uploaded JSON.
|
|
7908
|
+
* @throws {APIError} If the upload fails.
|
|
7909
|
+
*/
|
|
7910
|
+
uploadJSONToIPFS(data) {
|
|
7911
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7912
|
+
const jsonString = JSON.stringify(data);
|
|
7913
|
+
const file = new File([jsonString], "evidence.json", {
|
|
7914
|
+
type: "application/json",
|
|
7915
|
+
});
|
|
7916
|
+
const cid = yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_uploadToIPFS).call(this, file);
|
|
7917
|
+
if (!cid) {
|
|
7918
|
+
throw new APIError("Failed to upload evidence to IPFS");
|
|
7919
|
+
}
|
|
7920
|
+
return cid;
|
|
7921
|
+
});
|
|
7922
|
+
}
|
|
7776
7923
|
/**
|
|
7777
7924
|
* Mints a file-based IpNFT.
|
|
7778
7925
|
* @param file The file to mint.
|
|
@@ -7826,10 +7973,12 @@ class Origin {
|
|
|
7826
7973
|
}
|
|
7827
7974
|
let registration;
|
|
7828
7975
|
try {
|
|
7829
|
-
registration = yield this.registerIpNFT("file", deadline, license, metadata,
|
|
7976
|
+
registration = yield this.registerIpNFT("file", deadline, license, metadata, true, // isIp
|
|
7977
|
+
info.key, // fileKey
|
|
7978
|
+
parents, this.appId);
|
|
7830
7979
|
}
|
|
7831
7980
|
catch (error) {
|
|
7832
|
-
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key,
|
|
7981
|
+
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key, info.uploadId, []);
|
|
7833
7982
|
throw new Error(`Failed to register IpNFT: ${error instanceof Error ? error.message : String(error)}`);
|
|
7834
7983
|
}
|
|
7835
7984
|
const { tokenId, signerAddress, creatorContentHash, signature, uri } = registration;
|
|
@@ -7841,14 +7990,14 @@ class Origin {
|
|
|
7841
7990
|
throw new Error("Failed to register IpNFT: Missing required fields in registration response.");
|
|
7842
7991
|
}
|
|
7843
7992
|
try {
|
|
7844
|
-
const mintResult = yield this.mintWithSignature(account, tokenId, parents || [], true, creatorContentHash, uri, license, deadline, signature);
|
|
7993
|
+
const mintResult = yield this.mintWithSignature(account, tokenId, parents || [], true, creatorContentHash, uri, license, deadline, signature, this.appId);
|
|
7845
7994
|
if (["0x1", "success"].indexOf(mintResult.receipt.status) === -1) {
|
|
7846
|
-
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key,
|
|
7995
|
+
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key, info.uploadId, []);
|
|
7847
7996
|
throw new Error(`Minting failed with status: ${mintResult.receipt.status}`);
|
|
7848
7997
|
}
|
|
7849
7998
|
}
|
|
7850
7999
|
catch (error) {
|
|
7851
|
-
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key,
|
|
8000
|
+
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, info.key, info.uploadId, []);
|
|
7852
8001
|
throw new Error(`Minting transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
7853
8002
|
}
|
|
7854
8003
|
return tokenId.toString();
|
|
@@ -7875,7 +8024,9 @@ class Origin {
|
|
|
7875
8024
|
let parents = this.baseParentId ? [this.baseParentId] : [];
|
|
7876
8025
|
let registration;
|
|
7877
8026
|
try {
|
|
7878
|
-
registration = yield this.registerIpNFT(source, deadline, license, metadata,
|
|
8027
|
+
registration = yield this.registerIpNFT(source, deadline, license, metadata, true, // isIp
|
|
8028
|
+
undefined, // fileKey
|
|
8029
|
+
parents, this.appId);
|
|
7879
8030
|
}
|
|
7880
8031
|
catch (error) {
|
|
7881
8032
|
throw new Error(`Failed to register Social IpNFT: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -7889,7 +8040,7 @@ class Origin {
|
|
|
7889
8040
|
throw new Error("Failed to register Social IpNFT: Missing required fields in registration response.");
|
|
7890
8041
|
}
|
|
7891
8042
|
try {
|
|
7892
|
-
const mintResult = yield this.mintWithSignature(account, tokenId, parents, true, creatorContentHash, uri, license, deadline, signature);
|
|
8043
|
+
const mintResult = yield this.mintWithSignature(account, tokenId, parents, true, creatorContentHash, uri, license, deadline, signature, this.appId);
|
|
7893
8044
|
if (["0x1", "success"].indexOf(mintResult.receipt.status) === -1) {
|
|
7894
8045
|
throw new Error(`Minting Social IpNFT failed with status: ${mintResult.receipt.status}`);
|
|
7895
8046
|
}
|
|
@@ -8118,7 +8269,7 @@ class Origin {
|
|
|
8118
8269
|
*/
|
|
8119
8270
|
getData(tokenId) {
|
|
8120
8271
|
return __awaiter(this, void 0, void 0, function* () {
|
|
8121
|
-
const response = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
8272
|
+
const response = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/origin/data/${tokenId}`, {
|
|
8122
8273
|
method: "GET",
|
|
8123
8274
|
headers: {
|
|
8124
8275
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -8280,14 +8431,15 @@ class Origin {
|
|
|
8280
8431
|
});
|
|
8281
8432
|
}
|
|
8282
8433
|
}
|
|
8283
|
-
_Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_generateURL(file) {
|
|
8434
|
+
_Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_generateURL(file, partCount) {
|
|
8284
8435
|
return __awaiter(this, void 0, void 0, function* () {
|
|
8285
8436
|
try {
|
|
8286
|
-
const uploadRes = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
8437
|
+
const uploadRes = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/origin/upload-url`, {
|
|
8287
8438
|
method: "POST",
|
|
8288
8439
|
body: JSON.stringify({
|
|
8289
8440
|
name: file.name,
|
|
8290
8441
|
type: file.type,
|
|
8442
|
+
partCount,
|
|
8291
8443
|
}),
|
|
8292
8444
|
headers: {
|
|
8293
8445
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -8308,14 +8460,15 @@ _Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_genera
|
|
|
8308
8460
|
throw error;
|
|
8309
8461
|
}
|
|
8310
8462
|
});
|
|
8311
|
-
}, _Origin_setOriginStatus = function _Origin_setOriginStatus(key,
|
|
8463
|
+
}, _Origin_setOriginStatus = function _Origin_setOriginStatus(key, uploadId, parts) {
|
|
8312
8464
|
return __awaiter(this, void 0, void 0, function* () {
|
|
8313
8465
|
try {
|
|
8314
|
-
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
8466
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/origin/update-status`, {
|
|
8315
8467
|
method: "PATCH",
|
|
8316
8468
|
body: JSON.stringify({
|
|
8317
|
-
status,
|
|
8318
8469
|
fileKey: key,
|
|
8470
|
+
uploadId,
|
|
8471
|
+
parts,
|
|
8319
8472
|
}),
|
|
8320
8473
|
headers: {
|
|
8321
8474
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -8339,7 +8492,7 @@ _Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_genera
|
|
|
8339
8492
|
if (!image)
|
|
8340
8493
|
return null;
|
|
8341
8494
|
try {
|
|
8342
|
-
const presignedResponse = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
8495
|
+
const presignedResponse = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/origin/upload-url-ipfs`, {
|
|
8343
8496
|
method: "POST",
|
|
8344
8497
|
headers: {
|
|
8345
8498
|
"Content-Type": "application/json",
|
|
@@ -8388,8 +8541,11 @@ _Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_genera
|
|
|
8388
8541
|
}, _Origin_uploadFile = function _Origin_uploadFile(file, options) {
|
|
8389
8542
|
return __awaiter(this, void 0, void 0, function* () {
|
|
8390
8543
|
let uploadInfo;
|
|
8544
|
+
let chunks;
|
|
8545
|
+
const CHUNK_SIZE = 10 * 1024 * 1024;
|
|
8391
8546
|
try {
|
|
8392
|
-
|
|
8547
|
+
chunks = splitFileIntoChunks(file, CHUNK_SIZE);
|
|
8548
|
+
uploadInfo = yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_generateURL).call(this, file, chunks.length);
|
|
8393
8549
|
}
|
|
8394
8550
|
catch (error) {
|
|
8395
8551
|
console.error("Failed to generate upload URL:", error);
|
|
@@ -8398,12 +8554,13 @@ _Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_genera
|
|
|
8398
8554
|
if (!uploadInfo) {
|
|
8399
8555
|
throw new Error("Failed to generate upload URL: No upload info returned");
|
|
8400
8556
|
}
|
|
8557
|
+
let uploadResult;
|
|
8401
8558
|
try {
|
|
8402
|
-
yield uploadWithProgress(
|
|
8559
|
+
uploadResult = yield uploadWithProgress(chunks, uploadInfo.urls, (options === null || options === void 0 ? void 0 : options.progressCallback) || (() => { }));
|
|
8403
8560
|
}
|
|
8404
8561
|
catch (error) {
|
|
8405
8562
|
try {
|
|
8406
|
-
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, uploadInfo.key,
|
|
8563
|
+
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, uploadInfo.key, uploadInfo.uploadId, uploadResult || []);
|
|
8407
8564
|
}
|
|
8408
8565
|
catch (statusError) {
|
|
8409
8566
|
console.error("Failed to update status to failed:", statusError);
|
|
@@ -8412,7 +8569,7 @@ _Origin_instances = new WeakSet(), _Origin_generateURL = function _Origin_genera
|
|
|
8412
8569
|
throw new Error(`Failed to upload file: ${errorMessage}`);
|
|
8413
8570
|
}
|
|
8414
8571
|
try {
|
|
8415
|
-
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, uploadInfo.key,
|
|
8572
|
+
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_setOriginStatus).call(this, uploadInfo.key, uploadInfo.uploadId, uploadResult);
|
|
8416
8573
|
}
|
|
8417
8574
|
catch (statusError) {
|
|
8418
8575
|
console.error("Failed to update status to success:", statusError);
|
|
@@ -8676,7 +8833,7 @@ class Auth {
|
|
|
8676
8833
|
* @param {StorageAdapter} [options.storage] Custom storage adapter. Defaults to localStorage in browser, memory storage in Node.js.
|
|
8677
8834
|
* @throws {APIError} - Throws an error if the clientId is not provided.
|
|
8678
8835
|
*/
|
|
8679
|
-
constructor({ clientId, redirectUri, environment = "DEVELOPMENT", baseParentId, storage, }) {
|
|
8836
|
+
constructor({ clientId, appId, redirectUri, environment = "DEVELOPMENT", baseParentId, storage, }) {
|
|
8680
8837
|
_Auth_instances.add(this);
|
|
8681
8838
|
_Auth_triggers.set(this, void 0);
|
|
8682
8839
|
_Auth_isNodeEnvironment.set(this, void 0);
|
|
@@ -8685,6 +8842,9 @@ class Auth {
|
|
|
8685
8842
|
if (!clientId) {
|
|
8686
8843
|
throw new ValidationError("clientId is required");
|
|
8687
8844
|
}
|
|
8845
|
+
if (!appId) {
|
|
8846
|
+
throw new ValidationError("appId is required");
|
|
8847
|
+
}
|
|
8688
8848
|
if (["PRODUCTION", "DEVELOPMENT"].indexOf(environment) === -1) {
|
|
8689
8849
|
throw new ValidationError(`Invalid environment "${environment}". Must be "DEVELOPMENT" or "PRODUCTION"`);
|
|
8690
8850
|
}
|
|
@@ -8693,9 +8853,12 @@ class Auth {
|
|
|
8693
8853
|
(__classPrivateFieldGet(this, _Auth_isNodeEnvironment, "f") ? new MemoryStorage() : new BrowserStorage()), "f");
|
|
8694
8854
|
this.viem = null;
|
|
8695
8855
|
this.environment = ENVIRONMENTS[environment];
|
|
8856
|
+
this.environment.AUTH_HUB_BASE_API +=
|
|
8857
|
+
environment === "PRODUCTION" ? "/auth-mainnet" : "";
|
|
8696
8858
|
this.baseParentId = baseParentId;
|
|
8697
8859
|
this.redirectUri = createRedirectUriObject(redirectUri);
|
|
8698
8860
|
this.clientId = clientId;
|
|
8861
|
+
this.appId = appId;
|
|
8699
8862
|
this.isAuthenticated = false;
|
|
8700
8863
|
this.jwt = null;
|
|
8701
8864
|
this.origin = null;
|
|
@@ -8924,7 +9087,7 @@ class Auth {
|
|
|
8924
9087
|
this.isAuthenticated = true;
|
|
8925
9088
|
this.userId = res.userId;
|
|
8926
9089
|
this.jwt = res.token;
|
|
8927
|
-
this.origin = new Origin(this.environment, this.jwt, this.viem, this.baseParentId, this.
|
|
9090
|
+
this.origin = new Origin(this.environment, this.jwt, this.viem, this.baseParentId, this.appId);
|
|
8928
9091
|
yield __classPrivateFieldGet(this, _Auth_storage, "f").setItem("camp-sdk:jwt", this.jwt);
|
|
8929
9092
|
yield __classPrivateFieldGet(this, _Auth_storage, "f").setItem("camp-sdk:wallet-address", this.walletAddress);
|
|
8930
9093
|
yield __classPrivateFieldGet(this, _Auth_storage, "f").setItem("camp-sdk:user-id", this.userId);
|
|
@@ -8988,7 +9151,7 @@ class Auth {
|
|
|
8988
9151
|
this.isAuthenticated = true;
|
|
8989
9152
|
this.userId = res.userId;
|
|
8990
9153
|
this.jwt = res.token;
|
|
8991
|
-
this.origin = new Origin(this.environment, this.jwt, this.viem, this.baseParentId, this.
|
|
9154
|
+
this.origin = new Origin(this.environment, this.jwt, this.viem, this.baseParentId, this.appId);
|
|
8992
9155
|
yield __classPrivateFieldGet(this, _Auth_storage, "f").setItem("camp-sdk:jwt", this.jwt);
|
|
8993
9156
|
yield __classPrivateFieldGet(this, _Auth_storage, "f").setItem("camp-sdk:wallet-address", this.walletAddress);
|
|
8994
9157
|
yield __classPrivateFieldGet(this, _Auth_storage, "f").setItem("camp-sdk:user-id", this.userId);
|
|
@@ -9030,7 +9193,7 @@ class Auth {
|
|
|
9030
9193
|
if (!this.isAuthenticated) {
|
|
9031
9194
|
throw new AuthenticationError("User must be authenticated to get linked social accounts");
|
|
9032
9195
|
}
|
|
9033
|
-
const connections = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
9196
|
+
const connections = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/client-user/connections-sdk`, {
|
|
9034
9197
|
method: "GET",
|
|
9035
9198
|
headers: {
|
|
9036
9199
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -9384,7 +9547,7 @@ _Auth_triggers = new WeakMap(), _Auth_isNodeEnvironment = new WeakMap(), _Auth_s
|
|
|
9384
9547
|
this.walletAddress = walletAddress;
|
|
9385
9548
|
this.userId = userId;
|
|
9386
9549
|
this.jwt = jwt;
|
|
9387
|
-
this.origin = new Origin(this.environment, this.jwt, this.viem, this.baseParentId, this.
|
|
9550
|
+
this.origin = new Origin(this.environment, this.jwt, this.viem, this.baseParentId, this.appId);
|
|
9388
9551
|
this.isAuthenticated = true;
|
|
9389
9552
|
if (provider) {
|
|
9390
9553
|
this.setProvider({
|
|
@@ -9418,7 +9581,7 @@ _Auth_triggers = new WeakMap(), _Auth_isNodeEnvironment = new WeakMap(), _Auth_s
|
|
|
9418
9581
|
}, _Auth_fetchNonce = function _Auth_fetchNonce() {
|
|
9419
9582
|
return __awaiter(this, void 0, void 0, function* () {
|
|
9420
9583
|
try {
|
|
9421
|
-
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
9584
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/client-user/nonce`, {
|
|
9422
9585
|
method: "POST",
|
|
9423
9586
|
headers: {
|
|
9424
9587
|
"Content-Type": "application/json",
|
|
@@ -9441,7 +9604,7 @@ _Auth_triggers = new WeakMap(), _Auth_isNodeEnvironment = new WeakMap(), _Auth_s
|
|
|
9441
9604
|
}, _Auth_verifySignature = function _Auth_verifySignature(message, signature) {
|
|
9442
9605
|
return __awaiter(this, void 0, void 0, function* () {
|
|
9443
9606
|
try {
|
|
9444
|
-
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}
|
|
9607
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/client-user/verify`, {
|
|
9445
9608
|
method: "POST",
|
|
9446
9609
|
headers: {
|
|
9447
9610
|
"Content-Type": "application/json",
|
|
@@ -9536,6 +9699,7 @@ const UserProvider = ({ children }) => {
|
|
|
9536
9699
|
var _a, _b, _c;
|
|
9537
9700
|
const { authenticated } = useAuthState();
|
|
9538
9701
|
const { auth, environment } = useContext(CampContext);
|
|
9702
|
+
const apiUrl = getBaseApiUrl(environment);
|
|
9539
9703
|
if (!auth && typeof window !== "undefined") {
|
|
9540
9704
|
throw new Error("Auth instance is not available");
|
|
9541
9705
|
}
|
|
@@ -9544,7 +9708,7 @@ const UserProvider = ({ children }) => {
|
|
|
9544
9708
|
queryFn: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
9545
9709
|
if (!authenticated || !(auth === null || auth === void 0 ? void 0 : auth.jwt))
|
|
9546
9710
|
return null;
|
|
9547
|
-
const response = yield fetch(`${
|
|
9711
|
+
const response = yield fetch(`${apiUrl}/client-user/user`, {
|
|
9548
9712
|
method: "GET",
|
|
9549
9713
|
headers: {
|
|
9550
9714
|
Authorization: `Bearer ${auth.jwt}`,
|
|
@@ -9714,6 +9878,10 @@ const BinIcon = ({ w, h }) => (React.createElement("svg", { clipRule: "evenodd",
|
|
|
9714
9878
|
const CampIcon = ({ customStyles }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 571.95 611.12", height: "1rem", width: "1rem", fill: "currentColor", style: customStyles },
|
|
9715
9879
|
React.createElement("path", { d: "m563.25 431.49-66.17-51.46c-11.11-8.64-27.28-5.06-33.82 7.4-16.24 30.9-41.69 56.36-70.85 73.73l-69.35-69.35c-3.73-3.73-8.79-5.83-14.07-5.83s-10.34 2.1-14.07 5.83l-73.78 73.78c-57.37-30.39-96.55-90.71-96.55-160.03 0-99.79 81.19-180.98 180.98-180.98 60.35 0 118.17 26.28 156.39 89.44 6.85 11.32 21.92 14.33 32.59 6.51l64.21-47.06c9.53-6.98 12.06-20.15 5.78-30.16C508.83 54.41 411.43 0 305.56 0 137.07 0 0 137.07 0 305.56s137.07 305.56 305.56 305.56c57.6 0 113.72-16.13 162.31-46.63A306.573 306.573 0 0 0 568.8 460.8c5.78-9.78 3.42-22.34-5.55-29.31Zm-301.42 49.69 47.15-47.15 44.69 44.69c-15.92 5.1-32.2 7.83-48.1 7.83-15.08 0-29.72-1.87-43.74-5.36Zm42.36-222.47c-.07 1.49-.08 21.29 49.54 55.11 37.02 25.24 19.68 75.52 12.1 92.05a147.07 147.07 0 0 0-20.12-38.91c-12.73-17.59-26.87-28.9-36.74-35.59-10.38 6.36-27.41 18.74-41.07 40.02-8.27 12.89-12.82 25.16-15.42 34.48l-.03-.05c-15.1-40.6-9.75-60.88-1.95-71.9 6.12-8.65 17.24-20.6 17.24-20.6 9.71-9.66 19.96-19.06 29.82-38.17 6.06-11.75 6.59-15.84 6.63-16.45Z", fill: "#000", strokeWidth: "0" }),
|
|
9716
9880
|
React.createElement("path", { d: "M267.74 313.33s-11.11 11.95-17.24 20.6c-7.8 11.02-13.14 31.3 1.95 71.9-86.02-75.3 2.56-152.15.79-146.3-6.58 21.75 14.49 53.8 14.49 53.8Zm20.98-23.66c3.01-4.27 5.97-9.06 8.8-14.55 6.62-12.83 6.64-16.54 6.64-16.54s-2.09 20.02 49.53 55.21c37.02 25.24 19.68 75.52 12.1 92.05 0 0 43.69-27.86 37.49-74.92-7.45-56.61-38.08-51.5-60.84-93.43-21.23-39.11 15.03-70.44 15.03-70.44s-48.54-2.61-70.76 48.42c-23.42 53.77 2 74.21 2 74.21Z", fill: "#ff6d01", strokeWidth: "0" })));
|
|
9881
|
+
const USDCIcon = ({ customStyles }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", "data-name": "86977684-12db-4850-8f30-233a7c267d11", viewBox: "0 0 2000 2000", height: "1rem", width: "1rem", style: customStyles },
|
|
9882
|
+
React.createElement("path", { d: "M1000 2000c554.17 0 1000-445.83 1000-1000S1554.17 0 1000 0 0 445.83 0 1000s445.83 1000 1000 1000z", fill: "#2775ca" }),
|
|
9883
|
+
React.createElement("path", { d: "M1275 1158.33c0-145.83-87.5-195.83-262.5-216.66-125-16.67-150-50-150-108.34s41.67-95.83 125-95.83c75 0 116.67 25 137.5 87.5 4.17 12.5 16.67 20.83 29.17 20.83h66.66c16.67 0 29.17-12.5 29.17-29.16v-4.17c-16.67-91.67-91.67-162.5-187.5-170.83v-100c0-16.67-12.5-29.17-33.33-33.34h-62.5c-16.67 0-29.17 12.5-33.34 33.34v95.83c-125 16.67-204.16 100-204.16 204.17 0 137.5 83.33 191.66 258.33 212.5 116.67 20.83 154.17 45.83 154.17 112.5s-58.34 112.5-137.5 112.5c-108.34 0-145.84-45.84-158.34-108.34-4.16-16.66-16.66-25-29.16-25h-70.84c-16.66 0-29.16 12.5-29.16 29.17v4.17c16.66 104.16 83.33 179.16 220.83 200v100c0 16.66 12.5 29.16 33.33 33.33h62.5c16.67 0 29.17-12.5 33.34-33.33v-100c125-20.84 208.33-108.34 208.33-220.84z", fill: "#fff" }),
|
|
9884
|
+
React.createElement("path", { d: "M787.5 1595.83c-325-116.66-491.67-479.16-370.83-800 62.5-175 200-308.33 370.83-370.83 16.67-8.33 25-20.83 25-41.67V325c0-16.67-8.33-29.17-25-33.33-4.17 0-12.5 0-16.67 4.16-395.83 125-612.5 545.84-487.5 941.67 75 233.33 254.17 412.5 487.5 487.5 16.67 8.33 33.34 0 37.5-16.67 4.17-4.16 4.17-8.33 4.17-16.66v-58.34c0-12.5-12.5-29.16-25-37.5zM1229.17 295.83c-16.67-8.33-33.34 0-37.5 16.67-4.17 4.17-4.17 8.33-4.17 16.67v58.33c0 16.67 12.5 33.33 25 41.67 325 116.66 491.67 479.16 370.83 800-62.5 175-200 308.33-370.83 370.83-16.67 8.33-25 20.83-25 41.67V1700c0 16.67 8.33 29.17 25 33.33 4.17 0 12.5 0 16.67-4.16 395.83-125 612.5-545.84 487.5-941.67-75-237.5-258.34-416.67-487.5-491.67z", fill: "#fff" })));
|
|
9717
9885
|
const DiscordIcon = () => (React.createElement("svg", { viewBox: "0 0 42 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
9718
9886
|
React.createElement("path", { d: "M41.1302 23.4469V24.2363C41.0328 24.2948 41.0717 24.3923 41.062 24.4702C41.0328 24.8991 40.9938 25.3279 40.9645 25.7568C40.9548 25.9322 40.8866 26.0589 40.7306 26.1661C37.7092 28.3396 34.4247 30.0062 30.8672 31.1173C30.6528 31.1856 30.5358 31.1563 30.3994 30.9711C29.6879 29.977 29.0446 28.9439 28.4696 27.862C28.3624 27.6573 28.4111 27.5989 28.6061 27.5209C29.532 27.17 30.4286 26.7509 31.2961 26.2733C31.8419 25.981 31.8224 25.9907 31.3546 25.5911C31.1109 25.3767 30.9062 25.3474 30.5943 25.4936C27.7971 26.7509 24.8634 27.4624 21.7933 27.5989C18.0507 27.7645 14.4542 27.092 11.0235 25.6008C10.5069 25.3767 10.1463 25.3669 9.75645 25.7763C9.59076 25.9517 9.54202 25.9907 9.77594 26.1271C10.7213 26.6534 11.6862 27.131 12.6999 27.5014C12.963 27.5989 12.963 27.6963 12.8461 27.9205C12.2905 28.9634 11.6667 29.9575 10.9942 30.9224C10.8383 31.1466 10.6921 31.1953 10.429 31.1173C6.91049 29.9965 3.65518 28.3591 0.663021 26.2051C0.497331 26.0784 0.419365 25.9615 0.409619 25.747C0.409619 25.4156 0.360879 25.094 0.341386 24.7626C0.156204 21.9752 0.292661 19.2072 0.789729 16.4489C1.66691 11.5952 3.61619 7.18007 6.33545 3.08656C6.43291 2.94037 6.54012 2.8429 6.69607 2.76493C9.25938 1.61485 11.9202 0.805904 14.6784 0.308836C14.8538 0.279597 14.961 0.308829 15.0488 0.484265C15.3217 1.04956 15.6141 1.6051 15.887 2.17039C15.9844 2.37507 16.0624 2.4628 16.3158 2.42381C19.2397 2.01446 22.1734 2.02421 25.0973 2.42381C25.2923 2.45305 25.3702 2.39457 25.4385 2.22889C25.7114 1.65385 26.0038 1.08854 26.2767 0.513503C26.3644 0.32832 26.4813 0.26985 26.686 0.308836C29.4248 0.805904 32.066 1.61486 34.6099 2.74545C34.7853 2.82342 34.912 2.94037 35.0192 3.10606C38.4305 8.18395 40.5454 13.7297 40.9938 19.8699C41.0133 20.1623 40.9548 20.4742 41.101 20.7666V21.4976C41.0035 21.634 41.0328 21.7997 41.0425 21.9459C41.0718 22.4527 40.9645 22.9693 41.101 23.4761L41.1302 23.4469ZM23.8108 17.063C23.8108 18.0961 24.035 18.9148 24.5223 19.6458C25.8868 21.7218 28.5963 21.9069 30.1655 20.0259C31.53 18.3885 31.4618 15.8349 29.9998 14.2755C28.7815 12.9792 26.8225 12.8038 25.419 13.8856C24.3371 14.7238 23.8595 15.8739 23.8206 17.063H23.8108ZM17.5731 17.3748C17.5731 16.6244 17.4756 16.0103 17.2027 15.4353C16.5595 14.1 15.5361 13.2424 14.0059 13.1936C12.4952 13.1449 11.4328 13.9246 10.7408 15.2111C9.88315 16.829 10.1366 18.7881 11.3549 20.1623C12.5829 21.5463 14.6102 21.7315 16.0526 20.5619C17.0955 19.714 17.5438 18.5737 17.5828 17.3748H17.5731Z", fill: "#5865F2" })));
|
|
9719
9887
|
const TwitterIcon = () => (React.createElement("svg", { viewBox: "0 0 33 27", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -9933,7 +10101,7 @@ const CampContext = createContext({
|
|
|
9933
10101
|
* @param {string} props.environment The environment to use ("DEVELOPMENT" or "PRODUCTION")
|
|
9934
10102
|
* @returns {JSX.Element} The CampProvider component
|
|
9935
10103
|
*/
|
|
9936
|
-
const CampProvider = ({ clientId, redirectUri, children, environment = "DEVELOPMENT", baseParentId, }) => {
|
|
10104
|
+
const CampProvider = ({ clientId, appId, redirectUri, children, environment = "DEVELOPMENT", baseParentId, }) => {
|
|
9937
10105
|
const isServer = typeof window === "undefined";
|
|
9938
10106
|
const normalizedBaseParentId = typeof baseParentId === "string" ? BigInt(baseParentId) : baseParentId;
|
|
9939
10107
|
const [auth, setAuth] = useState(!isServer
|
|
@@ -9946,6 +10114,7 @@ const CampProvider = ({ clientId, redirectUri, children, environment = "DEVELOPM
|
|
|
9946
10114
|
: "",
|
|
9947
10115
|
environment: environment,
|
|
9948
10116
|
baseParentId: normalizedBaseParentId,
|
|
10117
|
+
appId: appId,
|
|
9949
10118
|
})
|
|
9950
10119
|
: null);
|
|
9951
10120
|
const wagmiContext = typeof window !== "undefined" ? useContext(WagmiContext) : undefined;
|
|
@@ -9990,8 +10159,8 @@ const useWalletConnectProvider = (projectId, chain) => {
|
|
|
9990
10159
|
return walletConnectProvider;
|
|
9991
10160
|
};
|
|
9992
10161
|
|
|
9993
|
-
var css_248z = ".buttons-module_button__4Ogad{background-color:#ff6f00;border:none;border-radius:0;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-size:.875rem;font-weight:600;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;position:relative;text-transform:uppercase;width:100%}.buttons-module_button__4Ogad:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_button__4Ogad:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_connect-button__CJhUa{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;padding-inline:2.5rem;padding-left:5rem;position:relative;text-transform:uppercase;transition:background-color .15s;width:13rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.75);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05);display:grid;height:100%;left:0;margin-right:.5rem;place-items:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s;width:3rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2 svg{height:1.25rem;width:1.25rem}.buttons-module_connect-button__CJhUa:hover{background-color:#cc4e02;border-color:#cc4e02;cursor:pointer}.buttons-module_connect-button__CJhUa:hover .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.675)}.buttons-module_connect-button__CJhUa:focus{outline:none}.buttons-module_connect-button__CJhUa:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_provider-button__6JY7s{align-items:center;border:1px solid #ddd;display:flex;gap:.5rem;justify-content:flex-start;padding:.5rem;position:relative;transition:border-color .15s;width:100%}.buttons-module_provider-button__6JY7s:focus{outline:1px solid #ff6f00;outline-offset:2px}.buttons-module_provider-button__6JY7s:hover{border-color:#ff6f00}.buttons-module_provider-button__6JY7s:hover:not(:disabled){cursor:pointer}.buttons-module_provider-button__6JY7s img{height:2rem;width:2rem}.buttons-module_provider-button__6JY7s .buttons-module_provider-icon__MOhr8{border-radius:.2rem}.buttons-module_provider-button__6JY7s span{line-height:1rem;margin-left:.5rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-name__tHWO2{color:#333;font-size:.875rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-label__CEGRr{color:#777;font-family:Geist Mono,monospace;font-size:.7rem;text-transform:uppercase}.buttons-module_link-button-default__EcKUT{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:2.6rem;position:relative;width:7rem}.buttons-module_link-button-default__EcKUT:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-default__EcKUT:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-default__EcKUT:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:2rem;left:0;opacity:0;padding:.25rem;place-items:center;position:absolute;right:0;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;visibility:hidden}.buttons-module_link-button-default__EcKUT:disabled:hover:after{opacity:1;transform:translateY(0);visibility:visible}.buttons-module_link-button-default__EcKUT:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-default__EcKUT .buttons-module_button-container__-oPqd{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe{align-items:center;color:#fff;display:flex;height:1.5rem;justify-content:center;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg path{fill:#fff!important}.buttons-module_button-container__-oPqd .buttons-module_link-icon__8V8FP{align-items:center;color:hsla(0,0%,100%,.8);display:flex;height:1.25rem;justify-content:center;width:1.25rem}.buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;padding:.15rem;width:1.5rem}.buttons-module_link-button-default__EcKUT:disabled .buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0 svg path{fill:#b8b8b8!important}.buttons-module_link-button-icon__llX8m{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:3rem;min-height:3rem;min-width:3rem;padding:0;position:relative;width:3rem}.buttons-module_link-button-icon__llX8m:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-icon__llX8m:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;box-sizing:border-box;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:-moz-fit-content;height:fit-content;left:-1rem;opacity:0;padding:.25rem;place-items:center;position:absolute;right:-1rem;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s}.buttons-module_link-button-icon__llX8m:disabled:hover:after{opacity:1;transform:translateY(0)}.buttons-module_link-button-icon__llX8m:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-icon__llX8m:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1{align-items:center;display:flex;flex:1;height:100%;justify-content:center;position:relative;width:100%}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg path{fill:#fff!important}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;bottom:-.5rem;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;position:absolute;right:-.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0 svg{height:1.1rem;width:1.1rem}.buttons-module_link-button-icon__llX8m:disabled .buttons-module_camp-logo__slNl0 svg path,.buttons-module_not-linked__ua4va svg path{fill:#b8b8b8!important}.buttons-module_file-upload-container__le7Cg{align-items:center;border:2px dashed #ccc;box-sizing:border-box;color:#777;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:12rem;min-width:0;overflow-y:auto;padding:1rem;position:relative;text-align:center;transition:background-color .2s,border-color .2s;width:100%}.buttons-module_file-upload-container__le7Cg:hover{border-color:#e2e2e2}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ{background-color:#f9f9f9;border-color:#ff6f00}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ .buttons-module_file-preview__yuM5i{opacity:.2;transition:opacity .2s}.buttons-module_file-upload-container__le7Cg.buttons-module_file-selected__YY6ms{background-color:#f9f9f9;border:none;padding:0 .5rem 0 0}.buttons-module_file-input__gbD5T{display:none}.buttons-module_selected-file-container__E1AXM{align-items:center;display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;max-width:100%;position:relative;width:100%}.buttons-module_remove-file-button__Q1FMa{border:1px solid #ff6f00;color:#fff;color:#ff6f00;cursor:pointer;font-size:.875rem;margin-bottom:.75rem;margin-top:1rem;padding:.5rem;text-align:center;transition:background-color .2s}.buttons-module_remove-file-button__Q1FMa:hover{background-color:#cc4e02;border-color:#cc4e02;color:#fff;cursor:pointer}.buttons-module_remove-file-button__Q1FMa:disabled{background-color:#b8b8b8;border-color:#b8b8b8;color:#fff;cursor:not-allowed}.buttons-module_upload-file-button__vTwWd{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s;width:100%}.buttons-module_upload-file-button__vTwWd:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_upload-file-button__vTwWd:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_file-preview__yuM5i{max-height:8rem;max-width:100%}audio.buttons-module_file-preview__yuM5i{min-height:4rem}.buttons-module_file-preview-text__80Ju0{color:#333;font-size:.875rem;margin-bottom:.5rem}.buttons-module_file-name__3iskR{color:#333;font-size:.875rem;max-width:100%;min-height:-moz-fit-content;min-height:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_upload-buttons__3SAw6{align-items:center;display:flex;gap:.25rem;justify-content:space-between;width:100%}.buttons-module_upload-buttons__3SAw6 .buttons-module_upload-file-button__vTwWd{flex-grow:1}.buttons-module_upload-buttons__3SAw6 .buttons-module_remove-file-button__Q1FMa{flex-grow:0}.buttons-module_accepted-types__Ys-D2{color:#777;font-size:.875rem;font-style:italic;margin-top:.5rem}.buttons-module_loading-bar-container__nrgPX{background-color:#e0e0e0;margin-top:8px;min-height:8px;overflow:hidden;width:100%}.buttons-module_loading-bar__IUAg1{background-color:#ff6f00;min-height:100%;transition:width .3s ease}.buttons-module_date-picker__V6gRM{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_date-picker__V6gRM input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.buttons-module_percentage-slider__M84tC{display:flex;flex-direction:row;font-family:sans-serif;gap:8px;justify-content:space-between;width:100%}.buttons-module_percentage-slider__M84tC input[type=range]{width:100%}.buttons-module_percentage-slider__M84tC label{min-width:50px}.buttons-module_fancy-input-container__s-zVw{align-items:center;border:1px solid #ccc;display:flex;font-family:sans-serif;gap:0;min-height:2.5rem;overflow:hidden;position:relative;width:100%}.buttons-module_fancy-input-container__s-zVw textarea.buttons-module_fancy-input__RpSOF{background:transparent;border:none;box-sizing:border-box;color:#222;font-family:inherit;font-size:1rem;line-height:1.4;max-height:12rem;outline:none;overflow-y:auto;padding:10px;resize:none;width:100%}.buttons-module_fancy-input__RpSOF{background:transparent;border:none;flex:1;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_fancy-input-label__d-sG7{align-self:flex-start;color:#777;font-family:Geist Mono,monospace;font-size:.8rem;font-weight:500;margin-top:.25rem;padding:0 .25rem;pointer-events:none;text-transform:uppercase}.buttons-module_input-divider__RVasJ{background-color:#ccc;height:24px;margin:0;min-width:1px}.buttons-module_input-icon-container__MUYKL{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-width:40px;padding:6px 10px}.buttons-module_input-icon-container__MUYKL svg{height:16px;width:16px}.buttons-module_duration-input-container__Rh9Na{align-items:stretch;border:1px solid #ccc;box-sizing:border-box;display:flex;font-family:sans-serif;gap:0;min-height:2.5rem;overflow:hidden;width:100%}.buttons-module_duration-input__-gt3p{background:transparent;flex:1;min-width:0}.buttons-module_duration-input__-gt3p,.buttons-module_duration-unit-select__VKFf6{border:none;box-sizing:border-box;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_duration-unit-select__VKFf6{background-color:#f8f9fa;border-left:1px solid #ccc;cursor:pointer;flex:0 0 auto;width:auto}.buttons-module_price-input-container__teIRS:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:hover,.buttons-module_price-input-container__teIRS:hover{border-color:#999}.buttons-module_duration-unit-select__VKFf6:focus,.buttons-module_duration-unit-select__VKFf6:hover{background-color:#e9ecef}.buttons-module_preview-option-container__0bzt-{align-items:center;display:flex;margin-top:.5rem;width:100%}.buttons-module_checkbox-label__ODwgG{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.buttons-module_checkbox-input__FvUIp{accent-color:#ff6f00;cursor:pointer;height:1.125rem;width:1.125rem}.buttons-module_checkbox-label__ODwgG span{line-height:1.2}.buttons-module_preview-image-section__BjtiC{margin-top:.5rem}.buttons-module_preview-image-controls__l6gv5,.buttons-module_preview-image-section__BjtiC{display:flex;flex-direction:column;gap:.5rem;width:100%}.buttons-module_select-preview-button__0HQfm{background-color:#f8f9fa;border:1px solid #ccc;color:#333;cursor:pointer;font-family:Geist Mono,monospace;font-size:.875rem;padding:.75rem;text-transform:uppercase;transition:all .2s;width:100%}.buttons-module_select-preview-button__0HQfm:hover:not(:disabled){background-color:#e9ecef;border-color:#999}.buttons-module_select-preview-button__0HQfm:disabled{background-color:#e9ecef;color:#999;cursor:not-allowed;opacity:.6}.buttons-module_preview-image-preview__c-6n5{align-items:center;background-color:#f8f9fa;border:1px solid #ccc;display:flex;gap:.75rem;padding:.75rem}.buttons-module_preview-thumbnail__fJWXt{flex-shrink:0;height:3rem;-o-object-fit:cover;object-fit:cover;width:3rem}.buttons-module_preview-filename__FW-Gz{color:#333;flex:1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_remove-preview-button__Skqgb{align-items:center;background-color:transparent;border:1px solid #ff6f00;color:#ff6f00;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.5rem;transition:all .2s}.buttons-module_remove-preview-button__Skqgb:hover:not(:disabled){background-color:#cc4e02;border-color:#cc4e02;color:#fff}.buttons-module_remove-preview-button__Skqgb:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed;opacity:.6}.buttons-module_percentage-icon__MxmJh{color:#555;font-size:.875rem;font-weight:600}\n/*# sourceMappingURL=data:application/json;base64,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QVBuQiw0QkFBNkIsQ0FDN0Isd0JBQXlCLENBQ3pCLGFBQWMsQ0FDZCxjQUFlLENBR2YsWUFBYSxDQURiLGFBQWMsQ0FHZCxzQkFBdUIsQ0FUdkIsYUFBZSxDQUtmLGtCQUtGLENBRUEsa0VBQ0Usd0JBQXlCLENBQ3pCLG9CQUFxQixDQUNyQixVQUNGLENBRUEsc0RBQ0UsaUJBQWtCLENBQ2xCLFVBQVcsQ0FDWCxrQkFBbUIsQ0FDbkIsVUFDRixDQUVBLHVDQUdFLFVBQVcsQ0FGWCxpQkFBbUIsQ0FDbkIsZUFFRiIsImZpbGUiOiJidXR0b25zLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy1ibG9jazogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG5cbiAgZm9udC1mYW1pbHk6IFwiR2Vpc3QgTW9ub1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY29ubmVjdC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBwYWRkaW5nLWlubGluZTogMi41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gIGhlaWdodDogMi43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHdpZHRoOiAxM3JlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2Vpc3QgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5jb25uZWN0LWJ1dHRvbiAuYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbSAwIDAgMC43NXJlbTsgKi9cbn1cblxuLmNvbm5lY3QtYnV0dG9uIC5idXR0b24taWNvbiBzdmcge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuXG4uY29ubmVjdC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmhvdmVyIC5idXR0b24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NzUpO1xufVxuXG4uY29ubmVjdC1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY29ubmVjdC1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgKi9cbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cztcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCAjZmY2ZjAwO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4ucHJvdmlkZXItYnV0dG9uOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyAqL1xufVxuXG4ucHJvdmlkZXItYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIGltZyB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gLnByb3ZpZGVyLWljb24ge1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIHNwYW4ucHJvdmlkZXItbmFtZSB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIHNwYW4ucHJvdmlkZXItbGFiZWwge1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiBcImRlZmF1bHRcIiB2YXJpYW50ICovXG4ubGluay1idXR0b24tZGVmYXVsdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogN3JlbTtcbiAgaGVpZ2h0OiAyLjZyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGI4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJOb3QgY29ubmVjdGVkXCI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yLjdyZW07XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkOmhvdmVyOjphZnRlciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCk6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS50d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYTFmMjtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkuc3BvdGlmeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGI5NTQ7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLmRpc2NvcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI4OWRhO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS50aWt0b2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS50ZWxlZ3JhbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDg4Y2M7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0IC5idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAwLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5zb2NpYWwtaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24gc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5zb2NpYWwtaWNvbiBzdmcgcGF0aCB7XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5saW5rLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLmNhbXAtbG9nbyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMC4xNXJlbTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQgLmJ1dHRvbi1jb250YWluZXIgLmNhbXAtbG9nbyBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiOGI4YjggIWltcG9ydGFudDtcbn1cblxuLyogXCJpY29uXCIgdmFyaWFudCAqL1xuLmxpbmstYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogM3JlbTtcbiAgbWluLWhlaWdodDogM3JlbTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmstYnV0dG9uLWljb246ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29udGVudDogXCJOb3QgY29ubmVjdGVkXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMi43cmVtO1xuICBsZWZ0OiAtMXJlbTtcbiAgcmlnaHQ6IC0xcmVtO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkOmhvdmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmxpbmstYnV0dG9uLWljb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkudHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnNwb3RpZnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRiOTU0O1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS5kaXNjb3JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyODlkYTtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkudGlrdG9rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkudGVsZWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjO1xufVxuXG4ubGluay1idXR0b24taWNvbiAuaWNvbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXg6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubGluay1idXR0b24taWNvbiAuaWNvbi1jb250YWluZXIgPiBzdmcge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyID4gc3ZnIHBhdGgge1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1idXR0b24taWNvbiAuY2FtcC1sb2dvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgcmlnaHQ6IC0wLjVyZW07XG4gIGJvdHRvbTogLTAuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5jYW1wLWxvZ28gc3ZnIHtcbiAgd2lkdGg6IDEuMXJlbTtcbiAgaGVpZ2h0OiAxLjFyZW07XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkIC5jYW1wLWxvZ28gc3ZnIHBhdGgge1xuICBmaWxsOiAjYjhiOGI4ICFpbXBvcnRhbnQ7XG59XG5cbi5ub3QtbGlua2VkIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2I4YjhiOCAhaW1wb3J0YW50O1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIHBhZGRpbmc6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM3Nzc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMnJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLyogaGVpZ2h0OiAzMDBweDsgKi9cbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2UyZTJlMjtcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lci5kcmFnZ2luZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lci5kcmFnZ2luZyAuZmlsZS1wcmV2aWV3IHtcbiAgb3BhY2l0eTogMC4yO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZmlsZS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAvKiBoZWlnaHQ6IGF1dG87ICovXG4gIC8qIG1pbi1oZWlnaHQ6IGF1dG87ICovXG59XG5cbi5maWxlLWlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlbGVjdGVkLWZpbGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiAwLjI1cmVtO1xufVxuXG4ucmVtb3ZlLWZpbGUtYnV0dG9uIHtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY2ZjAwO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgY29sb3I6ICNmZjZmMDA7XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBib3JkZXItY29sb3I6ICNjYzRlMDI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVtb3ZlLWZpbGUtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYm9yZGVyLWNvbG9yOiAjYjhiOGI4O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi51cGxvYWQtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVwbG9hZC1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51cGxvYWQtZmlsZS1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGI4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmlsZS1wcmV2aWV3IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA4cmVtO1xufVxuYXVkaW8uZmlsZS1wcmV2aWV3IHtcbiAgbWluLWhlaWdodDogNHJlbTtcbn1cblxuLmZpbGUtcHJldmlldy10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpbGUtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnVwbG9hZC1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMgLnVwbG9hZC1maWxlLWJ1dHRvbiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnVwbG9hZC1idXR0b25zIC5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi5hY2NlcHRlZC10eXBlcyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNzc3O1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmxvYWRpbmctYmFyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmxvYWRpbmctYmFyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuXG4uZGF0ZS1waWNrZXIgaW5wdXQge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5wZXJjZW50YWdlLXNsaWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDhweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnBlcmNlbnRhZ2Utc2xpZGVyIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGVyY2VudGFnZS1zbGlkZXIgbGFiZWwge1xuICBtaW4td2lkdGg6IDUwcHg7XG59XG5cbi5mYW5jeS1pbnB1dC1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdhcDogMDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYW5jeS1pbnB1dC1jb250YWluZXIgdGV4dGFyZWEuZmFuY3ktaW5wdXQge1xuICByZXNpemU6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IDEycmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMyMjI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5mYW5jeS1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZhbmN5LWlucHV0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjNzc3O1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gIC8qIHotaW5kZXg6IDI7ICovXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLmlucHV0LWRpdmlkZXIge1xuICBtaW4td2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBtYXJnaW46IDA7XG59XG5cbi5pbnB1dC1pY29uLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgbWluLXdpZHRoOiA0MHB4O1xufVxuXG4uaW5wdXQtaWNvbi1jb250YWluZXIgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBnYXA6IDA7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiA0cHg7ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5kdXJhdGlvbi1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uZHVyYXRpb24tdW5pdC1zZWxlY3Qge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnByaWNlLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmY2ZjAwO1xufVxuXG4uZHVyYXRpb24taW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZjZmMDA7XG59XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXI6aG92ZXIsXG4uZHVyYXRpb24taW5wdXQtY29udGFpbmVyOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTk5O1xufVxuXG4uZHVyYXRpb24tdW5pdC1zZWxlY3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xufVxuXG4uZHVyYXRpb24tdW5pdC1zZWxlY3Q6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xufVxuXG4ucHJldmlldy1vcHRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmNoZWNrYm94LWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uY2hlY2tib3gtaW5wdXQge1xuICB3aWR0aDogMS4xMjVyZW07XG4gIGhlaWdodDogMS4xMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYWNjZW50LWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4uY2hlY2tib3gtbGFiZWwgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5wcmV2aWV3LWltYWdlLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLnByZXZpZXctaW1hZ2UtY29udHJvbHMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5zZWxlY3QtcHJldmlldy1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uc2VsZWN0LXByZXZpZXctYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLWNvbG9yOiAjOTk5O1xufVxuXG4uc2VsZWN0LXByZXZpZXctYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgY29sb3I6ICM5OTk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLnByZXZpZXctaW1hZ2UtcHJldmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cblxuLnByZXZpZXctdGh1bWJuYWlsIHtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucHJldmlldy1maWxlbmFtZSB7XG4gIGZsZXg6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJlbW92ZS1wcmV2aWV3LWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMDA7XG4gIGNvbG9yOiAjZmY2ZjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZW1vdmUtcHJldmlldy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBib3JkZXItY29sb3I6ICNjYzRlMDI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJlbW92ZS1wcmV2aWV3LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLnBlcmNlbnRhZ2UtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNTU1O1xufVxuIl19 */";
|
|
9994
|
-
var buttonStyles = {"button":"buttons-module_button__4Ogad","connect-button":"buttons-module_connect-button__CJhUa","button-icon":"buttons-module_button-icon__JM4-2","provider-button":"buttons-module_provider-button__6JY7s","provider-icon":"buttons-module_provider-icon__MOhr8","provider-name":"buttons-module_provider-name__tHWO2","provider-label":"buttons-module_provider-label__CEGRr","link-button-default":"buttons-module_link-button-default__EcKUT","twitter":"buttons-module_twitter__9sRaz","spotify":"buttons-module_spotify__-fiKQ","discord":"buttons-module_discord__I-YjZ","tiktok":"buttons-module_tiktok__a80-0","telegram":"buttons-module_telegram__ExOTS","button-container":"buttons-module_button-container__-oPqd","social-icon":"buttons-module_social-icon__DPdPe","link-icon":"buttons-module_link-icon__8V8FP","camp-logo":"buttons-module_camp-logo__slNl0","link-button-icon":"buttons-module_link-button-icon__llX8m","icon-container":"buttons-module_icon-container__Q5bI1","not-linked":"buttons-module_not-linked__ua4va","file-upload-container":"buttons-module_file-upload-container__le7Cg","dragging":"buttons-module_dragging__cfggZ","file-preview":"buttons-module_file-preview__yuM5i","file-selected":"buttons-module_file-selected__YY6ms","file-input":"buttons-module_file-input__gbD5T","selected-file-container":"buttons-module_selected-file-container__E1AXM","remove-file-button":"buttons-module_remove-file-button__Q1FMa","upload-file-button":"buttons-module_upload-file-button__vTwWd","file-preview-text":"buttons-module_file-preview-text__80Ju0","file-name":"buttons-module_file-name__3iskR","upload-buttons":"buttons-module_upload-buttons__3SAw6","accepted-types":"buttons-module_accepted-types__Ys-D2","loading-bar-container":"buttons-module_loading-bar-container__nrgPX","loading-bar":"buttons-module_loading-bar__IUAg1","date-picker":"buttons-module_date-picker__V6gRM","percentage-slider":"buttons-module_percentage-slider__M84tC","fancy-input-container":"buttons-module_fancy-input-container__s-zVw","fancy-input":"buttons-module_fancy-input__RpSOF","fancy-input-label":"buttons-module_fancy-input-label__d-sG7","input-divider":"buttons-module_input-divider__RVasJ","input-icon-container":"buttons-module_input-icon-container__MUYKL","duration-input-container":"buttons-module_duration-input-container__Rh9Na","duration-input":"buttons-module_duration-input__-gt3p","duration-unit-select":"buttons-module_duration-unit-select__VKFf6","price-input-container":"buttons-module_price-input-container__teIRS","preview-option-container":"buttons-module_preview-option-container__0bzt-","checkbox-label":"buttons-module_checkbox-label__ODwgG","checkbox-input":"buttons-module_checkbox-input__FvUIp","preview-image-section":"buttons-module_preview-image-section__BjtiC","preview-image-controls":"buttons-module_preview-image-controls__l6gv5","select-preview-button":"buttons-module_select-preview-button__0HQfm","preview-image-preview":"buttons-module_preview-image-preview__c-6n5","preview-thumbnail":"buttons-module_preview-thumbnail__fJWXt","preview-filename":"buttons-module_preview-filename__FW-Gz","remove-preview-button":"buttons-module_remove-preview-button__Skqgb","percentage-icon":"buttons-module_percentage-icon__MxmJh"};
|
|
10162
|
+
var css_248z = ".buttons-module_button__4Ogad{background-color:#ff6f00;border:none;border-radius:0;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-size:.875rem;font-weight:600;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;position:relative;text-transform:uppercase;width:100%}.buttons-module_button__4Ogad:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_button__4Ogad:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_connect-button__CJhUa{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;padding-inline:2.5rem;padding-left:5rem;position:relative;text-transform:uppercase;transition:background-color .15s;width:13rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.75);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05);display:grid;height:100%;left:0;margin-right:.5rem;place-items:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s;width:3rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2 svg{height:1.25rem;width:1.25rem}.buttons-module_connect-button__CJhUa:hover{background-color:#cc4e02;border-color:#cc4e02;cursor:pointer}.buttons-module_connect-button__CJhUa:hover .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.675)}.buttons-module_connect-button__CJhUa:focus{outline:none}.buttons-module_connect-button__CJhUa:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_provider-button__6JY7s{align-items:center;border:1px solid #ddd;display:flex;gap:.5rem;justify-content:flex-start;padding:.5rem;position:relative;transition:border-color .15s;width:100%}.buttons-module_provider-button__6JY7s:focus{outline:1px solid #ff6f00;outline-offset:2px}.buttons-module_provider-button__6JY7s:hover{border-color:#ff6f00}.buttons-module_provider-button__6JY7s:hover:not(:disabled){cursor:pointer}.buttons-module_provider-button__6JY7s img{height:2rem;width:2rem}.buttons-module_provider-button__6JY7s .buttons-module_provider-icon__MOhr8{border-radius:.2rem}.buttons-module_provider-button__6JY7s span{line-height:1rem;margin-left:.5rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-name__tHWO2{color:#333;font-size:.875rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-label__CEGRr{color:#777;font-family:Geist Mono,monospace;font-size:.7rem;text-transform:uppercase}.buttons-module_link-button-default__EcKUT{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:2.6rem;position:relative;width:7rem}.buttons-module_link-button-default__EcKUT:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-default__EcKUT:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-default__EcKUT:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:2rem;left:0;opacity:0;padding:.25rem;place-items:center;position:absolute;right:0;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;visibility:hidden}.buttons-module_link-button-default__EcKUT:disabled:hover:after{opacity:1;transform:translateY(0);visibility:visible}.buttons-module_link-button-default__EcKUT:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-default__EcKUT .buttons-module_button-container__-oPqd{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe{align-items:center;color:#fff;display:flex;height:1.5rem;justify-content:center;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg path{fill:#fff!important}.buttons-module_button-container__-oPqd .buttons-module_link-icon__8V8FP{align-items:center;color:hsla(0,0%,100%,.8);display:flex;height:1.25rem;justify-content:center;width:1.25rem}.buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;padding:.15rem;width:1.5rem}.buttons-module_link-button-default__EcKUT:disabled .buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0 svg path{fill:#b8b8b8!important}.buttons-module_link-button-icon__llX8m{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:3rem;min-height:3rem;min-width:3rem;padding:0;position:relative;width:3rem}.buttons-module_link-button-icon__llX8m:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-icon__llX8m:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;box-sizing:border-box;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:-moz-fit-content;height:fit-content;left:-1rem;opacity:0;padding:.25rem;place-items:center;position:absolute;right:-1rem;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s}.buttons-module_link-button-icon__llX8m:disabled:hover:after{opacity:1;transform:translateY(0)}.buttons-module_link-button-icon__llX8m:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-icon__llX8m:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1{align-items:center;display:flex;flex:1;height:100%;justify-content:center;position:relative;width:100%}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg path{fill:#fff!important}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;bottom:-.5rem;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;position:absolute;right:-.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0 svg{height:1.1rem;width:1.1rem}.buttons-module_link-button-icon__llX8m:disabled .buttons-module_camp-logo__slNl0 svg path,.buttons-module_not-linked__ua4va svg path{fill:#b8b8b8!important}.buttons-module_file-upload-container__le7Cg{align-items:center;border:2px dashed #ccc;box-sizing:border-box;color:#777;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:12rem;min-width:0;overflow-y:auto;padding:1rem;position:relative;text-align:center;transition:background-color .2s,border-color .2s;width:100%}.buttons-module_file-upload-container__le7Cg:hover{border-color:#e2e2e2}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ{background-color:#f9f9f9;border-color:#ff6f00}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ .buttons-module_file-preview__yuM5i{opacity:.2;transition:opacity .2s}.buttons-module_file-upload-container__le7Cg.buttons-module_file-selected__YY6ms{background-color:#f9f9f9;border:none;padding:0 .5rem 0 0}.buttons-module_file-input__gbD5T{display:none}.buttons-module_selected-file-container__E1AXM{align-items:center;display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;max-width:100%;position:relative;width:100%}.buttons-module_remove-file-button__Q1FMa{border:1px solid #ff6f00;color:#fff;color:#ff6f00;cursor:pointer;font-size:.875rem;margin-bottom:.75rem;margin-top:1rem;padding:.5rem;text-align:center;transition:background-color .2s}.buttons-module_remove-file-button__Q1FMa:hover{background-color:#cc4e02;border-color:#cc4e02;color:#fff;cursor:pointer}.buttons-module_remove-file-button__Q1FMa:disabled{background-color:#b8b8b8;border-color:#b8b8b8;color:#fff;cursor:not-allowed}.buttons-module_upload-file-button__vTwWd{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s;width:100%}.buttons-module_upload-file-button__vTwWd:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_upload-file-button__vTwWd:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_file-preview__yuM5i{max-height:8rem;max-width:100%}audio.buttons-module_file-preview__yuM5i{min-height:4rem}.buttons-module_file-preview-text__80Ju0{color:#333;font-size:.875rem;margin-bottom:.5rem}.buttons-module_file-name__3iskR{color:#333;font-size:.875rem;max-width:100%;min-height:-moz-fit-content;min-height:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_upload-buttons__3SAw6{align-items:center;display:flex;gap:.25rem;justify-content:space-between;width:100%}.buttons-module_upload-buttons__3SAw6 .buttons-module_upload-file-button__vTwWd{flex-grow:1}.buttons-module_upload-buttons__3SAw6 .buttons-module_remove-file-button__Q1FMa{flex-grow:0}.buttons-module_accepted-types__Ys-D2{color:#777;font-size:.875rem;font-style:italic;margin-top:.5rem}.buttons-module_loading-bar-container__nrgPX{background-color:#e0e0e0;margin-top:8px;min-height:8px;overflow:hidden;width:100%}.buttons-module_loading-bar__IUAg1{background-color:#ff6f00;min-height:100%;transition:width .3s ease}.buttons-module_date-picker__V6gRM{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_date-picker__V6gRM input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.buttons-module_percentage-slider__M84tC{display:flex;flex-direction:row;font-family:sans-serif;gap:8px;justify-content:space-between;width:100%}.buttons-module_percentage-slider__M84tC input[type=range]{width:100%}.buttons-module_percentage-slider__M84tC label{min-width:50px}.buttons-module_fancy-input-container__s-zVw{align-items:center;border:1px solid #ccc;display:flex;font-family:sans-serif;gap:0;min-height:2.5rem;overflow:hidden;position:relative;width:100%}.buttons-module_fancy-input-container__s-zVw textarea.buttons-module_fancy-input__RpSOF{background:transparent;border:none;box-sizing:border-box;color:#222;font-family:inherit;font-size:1rem;line-height:1.4;max-height:12rem;outline:none;overflow-y:auto;padding:10px;resize:none;width:100%}.buttons-module_fancy-input__RpSOF{background:transparent;border:none;flex:1;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_fancy-input-label__d-sG7{align-self:flex-start;color:#777;font-family:Geist Mono,monospace;font-size:.8rem;font-weight:500;margin-top:.25rem;padding:0 .25rem;pointer-events:none;text-transform:uppercase}.buttons-module_input-divider__RVasJ{background-color:#ccc;height:24px;margin:0;min-width:1px}.buttons-module_input-icon-container__MUYKL{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-width:40px;padding:6px 10px}.buttons-module_input-icon-container__MUYKL svg{height:16px;width:16px}.buttons-module_duration-input-container__Rh9Na{align-items:stretch;border:1px solid #ccc;box-sizing:border-box;display:flex;font-family:sans-serif;gap:0;min-height:2.5rem;overflow:hidden;width:100%}.buttons-module_duration-input__-gt3p{background:transparent;flex:1;min-width:0}.buttons-module_duration-input__-gt3p,.buttons-module_duration-unit-select__VKFf6{border:none;box-sizing:border-box;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_duration-unit-select__VKFf6{background-color:#f8f9fa;border-left:1px solid #ccc;cursor:pointer;flex:0 0 auto;width:auto}.buttons-module_price-input-container__teIRS:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:hover,.buttons-module_price-input-container__teIRS:hover{border-color:#999}.buttons-module_duration-unit-select__VKFf6:focus,.buttons-module_duration-unit-select__VKFf6:hover{background-color:#e9ecef}.buttons-module_license-type-select__XHtlm{background-color:#f8f9fa;border:none;box-sizing:border-box;cursor:pointer;font-family:sans-serif;min-height:2.5rem;outline:none;padding:6px 10px;width:100%}.buttons-module_license-type-select__XHtlm:focus,.buttons-module_license-type-select__XHtlm:hover{background-color:#e9ecef}.buttons-module_preview-option-container__0bzt-{align-items:center;display:flex;margin-top:.5rem;width:100%}.buttons-module_checkbox-label__ODwgG{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.buttons-module_checkbox-input__FvUIp{accent-color:#ff6f00;cursor:pointer;height:1.125rem;width:1.125rem}.buttons-module_checkbox-label__ODwgG span{line-height:1.2}.buttons-module_preview-image-section__BjtiC{margin-top:.5rem}.buttons-module_preview-image-controls__l6gv5,.buttons-module_preview-image-section__BjtiC{display:flex;flex-direction:column;gap:.5rem;width:100%}.buttons-module_select-preview-button__0HQfm{background-color:#f8f9fa;border:1px solid #ccc;color:#333;cursor:pointer;font-family:Geist Mono,monospace;font-size:.875rem;padding:.75rem;text-transform:uppercase;transition:all .2s;width:100%}.buttons-module_select-preview-button__0HQfm:hover:not(:disabled){background-color:#e9ecef;border-color:#999}.buttons-module_select-preview-button__0HQfm:disabled{background-color:#e9ecef;color:#999;cursor:not-allowed;opacity:.6}.buttons-module_preview-image-preview__c-6n5{align-items:center;background-color:#f8f9fa;border:1px solid #ccc;display:flex;gap:.75rem;padding:.75rem}.buttons-module_preview-thumbnail__fJWXt{flex-shrink:0;height:3rem;-o-object-fit:cover;object-fit:cover;width:3rem}.buttons-module_preview-filename__FW-Gz{color:#333;flex:1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_remove-preview-button__Skqgb{align-items:center;background-color:transparent;border:1px solid #ff6f00;color:#ff6f00;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.5rem;transition:all .2s}.buttons-module_remove-preview-button__Skqgb:hover:not(:disabled){background-color:#cc4e02;border-color:#cc4e02;color:#fff}.buttons-module_remove-preview-button__Skqgb:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed;opacity:.6}.buttons-module_percentage-icon__MxmJh{color:#555;font-size:.875rem;font-weight:600}\n/*# sourceMappingURL=data:application/json;base64,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Q1osbUJBQWlCLENBQWpCLGdCQUFpQixDQUZqQixVQUlGLENBRUEsd0NBR0UsVUFBVyxDQUZYLE1BQU8sQ0FDUCxpQkFBbUIsQ0FFbkIsZUFBZ0IsQ0FDaEIsc0JBQXVCLENBQ3ZCLGtCQUNGLENBRUEsNkNBU0Usa0JBQW1CLENBUG5CLDRCQUE2QixDQUM3Qix3QkFBeUIsQ0FDekIsYUFBYyxDQUNkLGNBQWUsQ0FHZixZQUFhLENBRGIsYUFBYyxDQUdkLHNCQUF1QixDQVR2QixhQUFlLENBS2Ysa0JBS0YsQ0FFQSxrRUFDRSx3QkFBeUIsQ0FDekIsb0JBQXFCLENBQ3JCLFVBQ0YsQ0FFQSxzREFDRSxpQkFBa0IsQ0FDbEIsVUFBVyxDQUNYLGtCQUFtQixDQUNuQixVQUNGLENBRUEsdUNBR0UsVUFBVyxDQUZYLGlCQUFtQixDQUNuQixlQUVGIiwiZmlsZSI6ImJ1dHRvbnMubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwYWRkaW5nLWJsb2NrOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcblxuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jb25uZWN0LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIHBhZGRpbmctaW5saW5lOiAyLjVyZW07XG4gIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzNyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2lkdGg6IDEzcmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmNvbm5lY3QtYnV0dG9uIC5idXR0b24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtIDAgMCAwLjc1cmVtOyAqL1xufVxuXG4uY29ubmVjdC1idXR0b24gLmJ1dHRvbi1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0ZTAyO1xufVxuXG4uY29ubmVjdC1idXR0b246aG92ZXIgLmJ1dHRvbi1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY3NSk7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm92aWRlci1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgLyogYm9yZGVyLXJhZGl1czogMC41cmVtOyAqL1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICNmZjZmMDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5wcm92aWRlci1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICNlZWU7ICovXG59XG5cbi5wcm92aWRlci1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm92aWRlci1idXR0b24gaW1nIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiAucHJvdmlkZXItaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3Bhbi5wcm92aWRlci1uYW1lIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3Bhbi5wcm92aWRlci1sYWJlbCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2Vpc3QgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIFwiZGVmYXVsdFwiIHZhcmlhbnQgKi9cbi5saW5rLWJ1dHRvbi1kZWZhdWx0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiA3cmVtO1xuICBoZWlnaHQ6IDIuNnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIk5vdCBjb25uZWN0ZWRcIjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuN3JlbTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQ6aG92ZXI6OmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhMWYyO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS5zcG90aWZ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYjk1NDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkuZGlzY29yZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Mjg5ZGE7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnRpa3RvayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnRlbGVncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODhjYztcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQgLmJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLnNvY2lhbC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5zb2NpYWwtaWNvbiBzdmcge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLnNvY2lhbC1pY29uIHN2ZyBwYXRoIHtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLmxpbmstaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuY2FtcC1sb2dvIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiAwLjE1cmVtO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCAuYnV0dG9uLWNvbnRhaW5lciAuY2FtcC1sb2dvIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2I4YjhiOCAhaW1wb3J0YW50O1xufVxuXG4vKiBcImljb25cIiB2YXJpYW50ICovXG4ubGluay1idXR0b24taWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAzcmVtO1xuICBtaW4taGVpZ2h0OiAzcmVtO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDByZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxpbmstYnV0dG9uLWljb246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGI4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZDo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb250ZW50OiBcIk5vdCBjb25uZWN0ZWRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yLjdyZW07XG4gIGxlZnQ6IC0xcmVtO1xuICByaWdodDogLTFyZW07XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTtcbn1cblxuLmxpbmstYnV0dG9uLWljb246ZGlzYWJsZWQ6aG92ZXI6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4ubGluay1idXR0b24taWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCk6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS50d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYTFmMjtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkuc3BvdGlmeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGI5NTQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLmRpc2NvcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI4OWRhO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS50aWt0b2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS50ZWxlZ3JhbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDg4Y2M7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5pY29uLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleDogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5pY29uLWNvbnRhaW5lciA+IHN2ZyB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1idXR0b24taWNvbiAuaWNvbi1jb250YWluZXIgPiBzdmcgcGF0aCB7XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5jYW1wLWxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICByaWdodDogLTAuNXJlbTtcbiAgYm90dG9tOiAtMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmNhbXAtbG9nbyBzdmcge1xuICB3aWR0aDogMS4xcmVtO1xuICBoZWlnaHQ6IDEuMXJlbTtcbn1cblxuLmxpbmstYnV0dG9uLWljb246ZGlzYWJsZWQgLmNhbXAtbG9nbyBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiOGI4YjggIWltcG9ydGFudDtcbn1cblxuLm5vdC1saW5rZWQgc3ZnIHBhdGgge1xuICBmaWxsOiAjYjhiOGI4ICFpbXBvcnRhbnQ7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDJweCBkYXNoZWQgI2NjYztcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgcGFkZGluZzogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzc3NztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvKiBoZWlnaHQ6IDMwMHB4OyAqL1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTJlMmUyO1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyLmRyYWdnaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyLmRyYWdnaW5nIC5maWxlLXByZXZpZXcge1xuICBvcGFjaXR5OiAwLjI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lci5maWxlLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIC8qIGhlaWdodDogYXV0bzsgKi9cbiAgLyogbWluLWhlaWdodDogYXV0bzsgKi9cbn1cblxuLmZpbGUtaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0ZWQtZmlsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDAuMjVyZW07XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMDA7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgKi9cbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBjb2xvcjogI2ZmNmYwMDtcbn1cblxuLnJlbW92ZS1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGI4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBib3JkZXItY29sb3I6ICNiOGI4Yjg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnVwbG9hZC1maWxlLWJ1dHRvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udXBsb2FkLWZpbGUtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVwbG9hZC1maWxlLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5maWxlLXByZXZpZXcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDhyZW07XG59XG5hdWRpby5maWxlLXByZXZpZXcge1xuICBtaW4taGVpZ2h0OiA0cmVtO1xufVxuXG4uZmlsZS1wcmV2aWV3LXRleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZmlsZS1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51cGxvYWQtYnV0dG9ucyAudXBsb2FkLWZpbGUtYnV0dG9uIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMgLnJlbW92ZS1maWxlLWJ1dHRvbiB7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLmFjY2VwdGVkLXR5cGVzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM3Nzc7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubG9hZGluZy1iYXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ubG9hZGluZy1iYXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5kYXRlLXBpY2tlciBpbnB1dCB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnBlcmNlbnRhZ2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogOHB4O1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucGVyY2VudGFnZS1zbGlkZXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wZXJjZW50YWdlLXNsaWRlciBsYWJlbCB7XG4gIG1pbi13aWR0aDogNTBweDtcbn1cblxuLmZhbmN5LWlucHV0LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiAwO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZhbmN5LWlucHV0LWNvbnRhaW5lciB0ZXh0YXJlYS5mYW5jeS1pbnB1dCB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgbWF4LWhlaWdodDogMTJyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzIyMjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmZhbmN5LWlucHV0IHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZmFuY3ktaW5wdXQtbGFiZWwge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM3Nzc7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgLyogei1pbmRleDogMjsgKi9cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4uaW5wdXQtZGl2aWRlciB7XG4gIG1pbi13aWR0aDogMXB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIG1hcmdpbjogMDtcbn1cblxuLmlucHV0LWljb24tY29udGFpbmVyIHtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBtaW4td2lkdGg6IDQwcHg7XG59XG5cbi5pbnB1dC1pY29uLWNvbnRhaW5lciBzdmcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uZHVyYXRpb24taW5wdXQtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMi41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGdhcDogMDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDRweDsgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmR1cmF0aW9uLWlucHV0IHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5kdXJhdGlvbi11bml0LXNlbGVjdCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucHJpY2UtaW5wdXQtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZjZmMDA7XG59XG5cbi5kdXJhdGlvbi1pbnB1dC1jb250YWluZXI6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmNmYwMDtcbn1cblxuLnByaWNlLWlucHV0LWNvbnRhaW5lcjpob3Zlcixcbi5kdXJhdGlvbi1pbnB1dC1jb250YWluZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM5OTk7XG59XG5cbi5kdXJhdGlvbi11bml0LXNlbGVjdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5kdXJhdGlvbi11bml0LXNlbGVjdDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5saWNlbnNlLXR5cGUtc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbn1cblxuLmxpY2Vuc2UtdHlwZS1zZWxlY3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xufVxuXG4ubGljZW5zZS10eXBlLXNlbGVjdDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5wcmV2aWV3LW9wdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uY2hlY2tib3gtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzMzMztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5jaGVja2JveC1pbnB1dCB7XG4gIHdpZHRoOiAxLjEyNXJlbTtcbiAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhY2NlbnQtY29sb3I6ICNmZjZmMDA7XG59XG5cbi5jaGVja2JveC1sYWJlbCBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnByZXZpZXctaW1hZ2Utc2VjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4ucHJldmlldy1pbWFnZS1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLnNlbGVjdC1wcmV2aWV3LWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2Vpc3QgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5zZWxlY3QtcHJldmlldy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItY29sb3I6ICM5OTk7XG59XG5cbi5zZWxlY3QtcHJldmlldy1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4ucHJldmlldy1pbWFnZS1wcmV2aWV3IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4ucHJldmlldy10aHVtYm5haWwge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wcmV2aWV3LWZpbGVuYW1lIHtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmVtb3ZlLXByZXZpZXctYnV0dG9uIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNmYwMDtcbiAgY29sb3I6ICNmZjZmMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJlbW92ZS1wcmV2aWV3LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmVtb3ZlLXByZXZpZXctYnV0dG9uOmRpc2FibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICBjb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4ucGVyY2VudGFnZS1pY29uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM1NTU7XG59XG4iXX0= */";
|
|
10163
|
+
var buttonStyles = {"button":"buttons-module_button__4Ogad","connect-button":"buttons-module_connect-button__CJhUa","button-icon":"buttons-module_button-icon__JM4-2","provider-button":"buttons-module_provider-button__6JY7s","provider-icon":"buttons-module_provider-icon__MOhr8","provider-name":"buttons-module_provider-name__tHWO2","provider-label":"buttons-module_provider-label__CEGRr","link-button-default":"buttons-module_link-button-default__EcKUT","twitter":"buttons-module_twitter__9sRaz","spotify":"buttons-module_spotify__-fiKQ","discord":"buttons-module_discord__I-YjZ","tiktok":"buttons-module_tiktok__a80-0","telegram":"buttons-module_telegram__ExOTS","button-container":"buttons-module_button-container__-oPqd","social-icon":"buttons-module_social-icon__DPdPe","link-icon":"buttons-module_link-icon__8V8FP","camp-logo":"buttons-module_camp-logo__slNl0","link-button-icon":"buttons-module_link-button-icon__llX8m","icon-container":"buttons-module_icon-container__Q5bI1","not-linked":"buttons-module_not-linked__ua4va","file-upload-container":"buttons-module_file-upload-container__le7Cg","dragging":"buttons-module_dragging__cfggZ","file-preview":"buttons-module_file-preview__yuM5i","file-selected":"buttons-module_file-selected__YY6ms","file-input":"buttons-module_file-input__gbD5T","selected-file-container":"buttons-module_selected-file-container__E1AXM","remove-file-button":"buttons-module_remove-file-button__Q1FMa","upload-file-button":"buttons-module_upload-file-button__vTwWd","file-preview-text":"buttons-module_file-preview-text__80Ju0","file-name":"buttons-module_file-name__3iskR","upload-buttons":"buttons-module_upload-buttons__3SAw6","accepted-types":"buttons-module_accepted-types__Ys-D2","loading-bar-container":"buttons-module_loading-bar-container__nrgPX","loading-bar":"buttons-module_loading-bar__IUAg1","date-picker":"buttons-module_date-picker__V6gRM","percentage-slider":"buttons-module_percentage-slider__M84tC","fancy-input-container":"buttons-module_fancy-input-container__s-zVw","fancy-input":"buttons-module_fancy-input__RpSOF","fancy-input-label":"buttons-module_fancy-input-label__d-sG7","input-divider":"buttons-module_input-divider__RVasJ","input-icon-container":"buttons-module_input-icon-container__MUYKL","duration-input-container":"buttons-module_duration-input-container__Rh9Na","duration-input":"buttons-module_duration-input__-gt3p","duration-unit-select":"buttons-module_duration-unit-select__VKFf6","price-input-container":"buttons-module_price-input-container__teIRS","license-type-select":"buttons-module_license-type-select__XHtlm","preview-option-container":"buttons-module_preview-option-container__0bzt-","checkbox-label":"buttons-module_checkbox-label__ODwgG","checkbox-input":"buttons-module_checkbox-input__FvUIp","preview-image-section":"buttons-module_preview-image-section__BjtiC","preview-image-controls":"buttons-module_preview-image-controls__l6gv5","select-preview-button":"buttons-module_select-preview-button__0HQfm","preview-image-preview":"buttons-module_preview-image-preview__c-6n5","preview-thumbnail":"buttons-module_preview-thumbnail__fJWXt","preview-filename":"buttons-module_preview-filename__FW-Gz","remove-preview-button":"buttons-module_remove-preview-button__Skqgb","percentage-icon":"buttons-module_percentage-icon__MxmJh"};
|
|
9995
10164
|
styleInject(css_248z);
|
|
9996
10165
|
|
|
9997
10166
|
/**
|
|
@@ -10169,6 +10338,7 @@ const FancyInput = ({ value, onChange, step, placeholder, type = "text", icon, l
|
|
|
10169
10338
|
*/
|
|
10170
10339
|
const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
10171
10340
|
const auth = useAuth();
|
|
10341
|
+
useContext(CampContext);
|
|
10172
10342
|
const { isAllowListed } = useUser();
|
|
10173
10343
|
const effectiveMaxFileSize = isAllowListed ? undefined : maxFileSize;
|
|
10174
10344
|
const [isDragging, setIsDragging] = useState(false);
|
|
@@ -10185,18 +10355,21 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
10185
10355
|
const [isValidInput, setIsValidInput] = useState(false);
|
|
10186
10356
|
const [previewImage, setPreviewImage] = useState(null);
|
|
10187
10357
|
const [useBaseAssetAsPreview, setUseBaseAssetAsPreview] = useState(false);
|
|
10358
|
+
const [licenseType, setLicenseType] = useState(LicenseType.DURATION_BASED);
|
|
10188
10359
|
const isAllImagesAccepted = accept
|
|
10189
10360
|
? accept.split(",").every((type) => type.trim().startsWith("image/"))
|
|
10190
10361
|
: false;
|
|
10191
10362
|
const validateInputs = () => {
|
|
10192
|
-
const isDurationValid =
|
|
10193
|
-
|
|
10363
|
+
const isDurationValid = licenseType === LicenseType.DURATION_BASED
|
|
10364
|
+
? validateDuration(licenseDuration, durationUnit)
|
|
10365
|
+
: true; // Duration not needed for SINGLE_PAYMENT/X402
|
|
10366
|
+
const isPriceValid = validatePrice(price);
|
|
10194
10367
|
const isRoyaltyValid = validateRoyaltyBps(royaltyBps);
|
|
10195
10368
|
setIsValidInput(isDurationValid && isPriceValid && isRoyaltyValid);
|
|
10196
10369
|
};
|
|
10197
10370
|
useEffect(() => {
|
|
10198
10371
|
validateInputs();
|
|
10199
|
-
}, [price, licenseDuration, durationUnit, royaltyBps]);
|
|
10372
|
+
}, [price, licenseDuration, durationUnit, royaltyBps, licenseType]);
|
|
10200
10373
|
useEffect(() => {
|
|
10201
10374
|
// use base asset as preview is checked, clear custom preview image
|
|
10202
10375
|
if (useBaseAssetAsPreview) {
|
|
@@ -10211,10 +10384,12 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
10211
10384
|
if (selectedFile) {
|
|
10212
10385
|
setIsUploading(true);
|
|
10213
10386
|
try {
|
|
10214
|
-
const durationInSeconds =
|
|
10387
|
+
const durationInSeconds = licenseType === LicenseType.DURATION_BASED
|
|
10388
|
+
? toSeconds(licenseDuration, durationUnit)
|
|
10389
|
+
: 0; // Duration must be 0 for SINGLE_PAYMENT/X402
|
|
10215
10390
|
const priceInWei = parseEther(price || "0");
|
|
10216
10391
|
const computedRoyaltyBps = Math.floor(parseFloat(royaltyBps) * 100); // percentage to basis points
|
|
10217
|
-
const license = createLicenseTerms(priceInWei, durationInSeconds, computedRoyaltyBps, zeroAddress);
|
|
10392
|
+
const license = createLicenseTerms(priceInWei, durationInSeconds, computedRoyaltyBps, zeroAddress, licenseType);
|
|
10218
10393
|
const metadata = {
|
|
10219
10394
|
name: selectedFile.name,
|
|
10220
10395
|
description: `File uploaded by ${auth === null || auth === void 0 ? void 0 : auth.walletAddress} via the Origin SDK`,
|
|
@@ -10359,22 +10534,31 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
10359
10534
|
selectedFile ? (React.createElement("div", { className: buttonStyles["selected-file-container"] },
|
|
10360
10535
|
renderFilePreview(),
|
|
10361
10536
|
React.createElement("span", { className: buttonStyles["file-name"] }, selectedFile.name),
|
|
10362
|
-
React.createElement(
|
|
10537
|
+
React.createElement("span", { className: buttonStyles["fancy-input-label"] }, "License Type"),
|
|
10538
|
+
React.createElement("div", { className: buttonStyles["duration-input-container"] },
|
|
10539
|
+
React.createElement("select", { className: buttonStyles["license-type-select"], value: licenseType, onChange: (e) => setLicenseType(Number(e.target.value)) },
|
|
10540
|
+
React.createElement("option", { value: LicenseType.DURATION_BASED }, "Subscription (Time-limited)"),
|
|
10541
|
+
React.createElement("option", { value: LicenseType.SINGLE_PAYMENT }, "One-Time Purchase (Perpetual)"),
|
|
10542
|
+
React.createElement("option", { value: LicenseType.X402 }, "X402 (Pay-per-view)"))),
|
|
10543
|
+
React.createElement(FancyInput, { type: "number", step: 0.0001, placeholder: licenseType === LicenseType.X402 ? "Price per view" : "Price", value: price, label: licenseType === LicenseType.X402
|
|
10544
|
+
? "Price in $USDC"
|
|
10545
|
+
: "Price in $CAMP", onChange: (e) => {
|
|
10363
10546
|
const value = e.target.value;
|
|
10364
10547
|
setPrice(value);
|
|
10365
|
-
}, icon: React.createElement(CampIcon, null) }),
|
|
10366
|
-
React.createElement(
|
|
10367
|
-
|
|
10368
|
-
React.createElement("
|
|
10369
|
-
|
|
10370
|
-
|
|
10371
|
-
|
|
10372
|
-
|
|
10373
|
-
|
|
10374
|
-
|
|
10375
|
-
|
|
10376
|
-
|
|
10377
|
-
|
|
10548
|
+
}, icon: licenseType === LicenseType.X402 ? React.createElement(USDCIcon, null) : React.createElement(CampIcon, null) }),
|
|
10549
|
+
licenseType === LicenseType.DURATION_BASED && (React.createElement(React.Fragment, null,
|
|
10550
|
+
React.createElement("span", { className: buttonStyles["fancy-input-label"] }, "License Duration"),
|
|
10551
|
+
React.createElement("div", { className: buttonStyles["duration-input-container"] },
|
|
10552
|
+
React.createElement("input", { type: "number", placeholder: "Duration", className: buttonStyles["duration-input"], value: licenseDuration > 0 ? licenseDuration.toString() : "", onChange: (e) => {
|
|
10553
|
+
const value = e.target.value;
|
|
10554
|
+
setLicenseDuration(value ? Number(value) : 0);
|
|
10555
|
+
} }),
|
|
10556
|
+
React.createElement("select", { className: buttonStyles["duration-unit-select"], value: durationUnit, onChange: (e) => {
|
|
10557
|
+
setDurationUnit(e.target.value);
|
|
10558
|
+
} },
|
|
10559
|
+
React.createElement("option", { value: "hours" }, "Hours"),
|
|
10560
|
+
React.createElement("option", { value: "days" }, "Days"),
|
|
10561
|
+
React.createElement("option", { value: "weeks" }, "Weeks"))))),
|
|
10378
10562
|
React.createElement(FancyInput, { type: "number", step: 0.1, placeholder: "Royalty %", label: "Royalty %", value: royaltyBps.toString(), onChange: (e) => {
|
|
10379
10563
|
const value = e.target.value;
|
|
10380
10564
|
setRoyaltyBps(value);
|