Idea 激活整理

前言

本文为个人通过拜读 novice.li大佬的帖子进行的汇总整理,从证书生成到最后的激活码生成均已java实现(python也写了一份不过没试验过)

代码

依赖

<properties>
        <bouncycastle.version>1.74</bouncycastle.version>
</properties>
<dependencies>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk18on</artifactId>
            <version>${bouncycastle.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk18on</artifactId>
            <version>${bouncycastle.version}</version>
        </dependency>
</dependencies>

证书生成

注:注意将ca.key和ca.crt换成自己的存储路径

import cn.hutool.core.io.FileUtil;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
import org.bouncycastle.cert.X509v3CertificateBuilder;
import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.openssl.jcajce.JcaPEMWriter;
import org.bouncycastle.operator.ContentSigner;
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;

import java.io.StringWriter;
import java.math.BigInteger;
import java.security.*;
import java.security.cert.X509Certificate;
import java.util.Date;

public class CertificateGenerator {

    public static void genCrtKey() throws Exception {
        Security.addProvider(new BouncyCastleProvider());

        KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
        keyGen.initialize(4096, new SecureRandom());
        KeyPair keyPair = keyGen.generateKeyPair();
        PrivateKey privateKey = keyPair.getPrivate();
        PublicKey publicKey = keyPair.getPublic();

        X500Name issuerName = new X500Name("CN=JetProfile CA");
        X500Name subjectName = new X500Name("CN=Novice-from-2024-01-19");
        BigInteger serialNumber = BigInteger.valueOf(System.currentTimeMillis());
        Date notBefore = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000); // Yesterday
        Date notAfter = new Date(System.currentTimeMillis() + 3650L * 24 * 60 * 60 * 1000); // 10 years later

        SubjectPublicKeyInfo subPubKeyInfo = SubjectPublicKeyInfo.getInstance(publicKey.getEncoded());
        X509v3CertificateBuilder certBuilder = new JcaX509v3CertificateBuilder(
                issuerName, serialNumber, notBefore, notAfter, subjectName, subPubKeyInfo);

        ContentSigner signer = new JcaContentSignerBuilder("SHA256withRSA").build(privateKey);
        X509Certificate cert = new JcaX509CertificateConverter().setProvider("BC").getCertificate(certBuilder.build(signer));
        // 将私钥写入 PEM 文件
        try (JcaPEMWriter pemWriter = new JcaPEMWriter(new FileWriter("ca.key"))) {
            pemWriter.writeObject(privateKey);
        }

        // 将证书写入 PEM 文件
        try (JcaPEMWriter pemWriter = new JcaPEMWriter(new FileWriter("ca.crt"))) {
            pemWriter.writeObject(cert);
        }

    }

    public static void main(String[] args) {
        try {
            genCrtKey();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

生成ja-netfilterpower.conf[Result]配置

生成

注:其中的ca.crt改为上面生成ca.crt的绝对路径

import java.io.ByteArrayInputStream;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.security.interfaces.RSAPublicKey;

public class PowerConfRuleGen {

    private static final String ROOT_CERTIFICATE = "-----BEGIN CERTIFICATE-----\n" +
            "MIIFOzCCAyOgAwIBAgIJANJssYOyg3nhMA0GCSqGSIb3DQEBCwUAMBgxFjAUBgNV\n" +
            "BAMMDUpldFByb2ZpbGUgQ0EwHhcNMTUxMDAyMTEwMDU2WhcNNDUxMDI0MTEwMDU2\n" +
            "WjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMIICIjANBgkqhkiG9w0BAQEFAAOC\n" +
            "Ag8AMIICCgKCAgEA0tQuEA8784NabB1+T2XBhpB+2P1qjewHiSajAV8dfIeWJOYG\n" +
            "y+ShXiuedj8rL8VCdU+yH7Ux/6IvTcT3nwM/E/3rjJIgLnbZNerFm15Eez+XpWBl\n" +
            "m5fDBJhEGhPc89Y31GpTzW0vCLmhJ44XwvYPntWxYISUrqeR3zoUQrCEp1C6mXNX\n" +
            "EpqIGIVbJ6JVa/YI+pwbfuP51o0ZtF2rzvgfPzKtkpYQ7m7KgA8g8ktRXyNrz8bo\n" +
            "iwg7RRPeqs4uL/RK8d2KLpgLqcAB9WDpcEQzPWegbDrFO1F3z4UVNH6hrMfOLGVA\n" +
            "xoiQhNFhZj6RumBXlPS0rmCOCkUkWrDr3l6Z3spUVgoeea+QdX682j6t7JnakaOw\n" +
            "jzwY777SrZoi9mFFpLVhfb4haq4IWyKSHR3/0BlWXgcgI6w6LXm+V+ZgLVDON52F\n" +
            "LcxnfftaBJz2yclEwBohq38rYEpb+28+JBvHJYqcZRaldHYLjjmb8XXvf2MyFeXr\n" +
            "SopYkdzCvzmiEJAewrEbPUaTllogUQmnv7Rv9sZ9jfdJ/cEn8e7GSGjHIbnjV2ZM\n" +
            "Q9vTpWjvsT/cqatbxzdBo/iEg5i9yohOC9aBfpIHPXFw+fEj7VLvktxZY6qThYXR\n" +
            "Rus1WErPgxDzVpNp+4gXovAYOxsZak5oTV74ynv1aQ93HSndGkKUE/qA/JECAwEA\n" +
            "AaOBhzCBhDAdBgNVHQ4EFgQUo562SGdCEjZBvW3gubSgUouX8bMwSAYDVR0jBEEw\n" +
            "P4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2Zp\n" +
            "bGUgQ0GCCQDSbLGDsoN54TAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq\n" +
            "hkiG9w0BAQsFAAOCAgEAjrPAZ4xC7sNiSSqh69s3KJD3Ti4etaxcrSnD7r9rJYpK\n" +
            "BMviCKZRKFbLv+iaF5JK5QWuWdlgA37ol7mLeoF7aIA9b60Ag2OpgRICRG79QY7o\n" +
            "uLviF/yRMqm6yno7NYkGLd61e5Huu+BfT459MWG9RVkG/DY0sGfkyTHJS5xrjBV6\n" +
            "hjLG0lf3orwqOlqSNRmhvn9sMzwAP3ILLM5VJC5jNF1zAk0jrqKz64vuA8PLJZlL\n" +
            "S9TZJIYwdesCGfnN2AETvzf3qxLcGTF038zKOHUMnjZuFW1ba/12fDK5GJ4i5y+n\n" +
            "fDWVZVUDYOPUixEZ1cwzmf9Tx3hR8tRjMWQmHixcNC8XEkVfztID5XeHtDeQ+uPk\n" +
            "X+jTDXbRb+77BP6n41briXhm57AwUI3TqqJFvoiFyx5JvVWG3ZqlVaeU/U9e0gxn\n" +
            "8qyR+ZA3BGbtUSDDs8LDnE67URzK+L+q0F2BC758lSPNB2qsJeQ63bYyzf0du3wB\n" +
            "/gb2+xJijAvscU3KgNpkxfGklvJD/oDUIqZQAnNcHe7QEf8iG2WqaMJIyXZlW3me\n" +
            "0rn+cgvxHPt6N4EBh5GgNZR4l0eaFEV+fxVsydOQYo1RIyFMXtafFBqQl6DDxujl\n" +
            "FeU3FZ+Bcp12t7dlM4E0/sS1XdL47CfGVj4Bp+/VbF862HmkAbd7shs7sDQkHbU=\n" +
            "-----END CERTIFICATE-----\n";

    public static void main(String[] args) throws Exception {
        CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
        X509Certificate cert = (X509Certificate) certificateFactory.generateCertificate(Files.newInputStream(Paths.get("./ca.crt")));

        // x:证书的签名密文
        BigInteger x = new BigInteger(1, cert.getSignature());

        // y:证书指数 固定65537
        BigInteger y = new BigInteger("65537");


        // z:内置根证书的公钥
        X509Certificate rootCertificate = (X509Certificate) certificateFactory.generateCertificate(new ByteArrayInputStream(ROOT_CERTIFICATE.getBytes(StandardCharsets.UTF_8)));
        RSAPublicKey publicKey = (RSAPublicKey) rootCertificate.getPublicKey();
        BigInteger z = publicKey.getModulus();

        // r:fake result
        RSAPublicKey certPublicKey = (RSAPublicKey) cert.getPublicKey();
        BigInteger r = x.modPow(certPublicKey.getPublicExponent(), certPublicKey.getModulus());

        System.out.printf("EQUAL,%s,%s,%s->%s%n", x, y, z, r);
    }
}

使用

使用ja-netfilter并在power.conf中的 [result] 节下新增一行配置

EQUAL,x,y,z->r

生成激活码

所需实体类

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author Hua
 * @since 2024-02-01 09:05
 */
public class LicensePart {
    String licenseId;
    String licenseeName;
    String assigneeName;
    String assigneeEmail;
    String licenseRestriction;
    boolean checkConcurrentUse = false;
    List<Product> products;
    String metadata = "0120230914PSAX000005";
    String hash = "TRIAL:-1920204289";
    int gracePeriodDays = 7;
    boolean isAutoProlongated = true;



    @Override
    public String toString() {
        return "{" +
                "\"licenseId\":\"" + licenseId + "\"," +
                "\"licenseeName\":\"" + licenseeName + "\"," +
                "\"assigneeName\":\"" + assigneeName + "\"," +
                "\"assigneeEmail\":\"" + assigneeEmail + "\"," +
                "\"licenseRestriction\":\"" + licenseRestriction + "\"," +
                "\"checkConcurrentUse\":" + checkConcurrentUse + "," +
                "\"products\":" + products + "," +
                "\"metadata\":\"" + metadata + "\"," +
                "\"hash\":\"" + hash + "\"," +
                "\"gracePeriodDays\":" + gracePeriodDays + "," +
                "\"isAutoProlongated\":" + isAutoProlongated +
                "}";
    }

    public LicensePart(String licenseId, String[] codes, String date) {
        this.licenseId = licenseId;
        this.licenseeName = licenseId;
        this.assigneeName = licenseId;
        this.products = Arrays.stream(codes).map(code -> new Product(code, date)).collect(Collectors.toList());
    }

    public class Product {
        String code;
        String fallbackDate;
        String paidUpTo;
        boolean extended = true;

        public Product(String code, String date) {
            this.code = code;
            this.fallbackDate = date;
            this.paidUpTo = date;
        }

        @Override
        public String toString() {
            return "{" +
                    "\"code\":\"" + code + "\"," +
                    "\"fallbackDate\":\"" + fallbackDate + "\"," +
                    "\"paidUpTo\":\"" + paidUpTo +
                    "\"," +
                    "\"extended\":" + extended +
                    "}";
        }
    }
}

生成

注:其中的ca.crt改为上面生成ca.crt的绝对路径
我将佬友提供的code值汇总到了DEFAULT_CODES中,默认是将所有的code都跑出来,这样一个激活码即可激活所有,如果想单独激活某些code的,也可以在调用的generator方法中传入你要生成的code即可,例:generator("code1", "code2")

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.openssl.PEMKeyPair;
import org.bouncycastle.openssl.PEMParser;
import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;

import java.io.FileReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.Security;
import java.security.Signature;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Base64;
import java.util.Calendar;
import java.util.Date;

public class LicenseGenerator {
    public static final String[] DEFAULT_CODES = {
            "II", "PS", "AC", "DB", "RM", "WS", "RD", "CL", "PC", "GO", "DS", "DC", "DPN", "DM",
            "PSYMFONYPLUGIN", "PWLANG", "PSWPLUGIN", "PGITTOOLBOX", "PHYBRISCOMMERCE", "PMATERIALUI",
            "PSEQUENCEDIAGRA", "PJETFORCER", "PAEMIDE", "PRNCONSOLE", "PANSIHIGHLIGHT", "PYAOQIANGBPMN",
            "PAEM", "PRAINBOWBRACKET", "PGITSCOPE", "PVLOG", "PCODEMRBASE", "PJDCLEANREAD", "PBRWJV",
            "PDB", "PEXTRAICONS", "PBISJ", "PSCIPIO", "PBISAA", "PZENUML", "PJFORMDESIGNER", "PORCHIDE",
            "PIEDIS", "PCMAKEPLUS", "POPENAPI", "PBETTERHIGHLIGH", "PATOMONEDARK", "PGDOC", "POFFICEFLOOR",
            "PWIFIADB", "PLARAVEL", "PODOO", "PCREVIEW", "PMRINTEGEE", "PSFCC", "PMINBATIS", "PPOJOTOJSONSCH",
            "PRDFANDSPARQL", "PBASHSUPPORTPRO", "PMYBATISLOG", "PSMARTJUMP", "PJAVACODESUGG", "PGOLANGCODESUGG",
            "PRUBYCODESUGG", "PVCS", "PJSCODESUGG", "PPHPCODESUGG", "PSVERILOG", "PSPARQL", "PTOOLSET", "PJSONTOTS",
            "PQMLEDITOR", "PSTRKER", "PELASTICSEARCH", "PVISUALGC", "PPYCODESUGG", "PFLUTTER", "PRESTKIT",
            "PAWSLAMBDADEPLR", "PPUMLSTUDIO", "PCWMP", "PFIREHIGHLIGHT", "PJPASQL", "PGODRUNNER", "PLEDGER",
            "PREGEXTOOL", "PAPH", "PGITLABCI", "PCIRCLECI", "PHEROKU", "PREDISMANAGER", "PZEROCODE", "PSTORMSECTIONS",
            "PSENTRYINTEG", "PREDISTOOLS", "PFUZYFIPC", "PBITRISECI", "PQTSQSSEDITOR", "PAPPLETRUNNER", "PDATABASE",
            "PHPEAPLUGIN", "PLEP", "PHPBUILDER", "PMATERIALHC", "PCDMQTTCLIENT", "PISCRATCH", "PRSMGNL", "PCAPELASTIC",
            "PASTOCK", "PCAPREDIS", "PBEANCONVERTER", "PELSA", "PDJANGOTPLPEP", "PQUERYFLAG", "PNGINX", "PKSEXPLORER",
            "PZKA", "PCDAPIRUNNER", "PNEONPRO", "PMBCODEHELPPRO", "PCODEREFACTORAI", "PXSDVISUALIZER", "PSPRINGBOOTIDEA",
            "PEXCELEDITOR", "PGITLAB", "PYAPIQUICKTYPE", "PTERMINAL", "PWIREMOCHA", "PDYNAMODB", "PFASTSHELL", "PJSONNETEMLSUP",
            "PPHPHOUDINI", "POXYXSDJSONSCH", "PQUARKUSHELPER", "PWGCODECREATOR", "PCIINTG", "PDBDATABASETOOL", "PNGROK",
            "PKARATE", "PMATERIALEXTRAS", "PJSONTOANYLANGU", "PMATERIALCUSTOM", "PMATERIALLANG", "PMATERIALFRAME", "PRANCHER",
            "PREDISCLIHELPER", "PSCREENCODEPRO", "PCODEKITS", "PREDISS", "PAWSQLADVISOR", "PLATTEPRO", "PGERRYTHEMESPRO",
            "PUNIAPPSUPPORT", "POPENAPICRUDWIZ", "PGOPARSER", "PNEXTSKETCH", "PNETLIFY", "PGERRYCYBERPUNK", "PTLDRAI", "PBREWBUNDLE",
            "PGERRYSPACE", "PKAFKAIDE", "PGITHUBCI", "PGERRYNATURE", "PEXTENSION", "PSKOL", "PGERRYCHERRY", "PGERRYCOFFEE",
            "PCONNECTUI", "POXYJSONCONVERT", "PDOYTOWIN", "PGERRYAURORA", "PWXUFQYRHZCRSEO", "PWAUFKYVHQCRXEO", "PSQLFLUFFLINTER",
            "PMAGE", "PTAILWINDTOOLS", "PTRAVISCI", "PMONGOEXPERT", "PNEXTSKETCHTWO", "PWXUQQYVOXCRSEO", "PBUILDMON", "PJETCLIENT",
            "PAICODING", "PCAICOMMITAPP", "PCHATGPTCODING", "POLYBPMNGDNEXT", "PARMADILLO", "PVERILOGLANGUAG", "PNOSQLNAVMDB",
            "PCUEFY", "PCOMPOSEHAMMER", "PGPTASSISTANT", "PDTOBUDDY", "PNPMPACKAGEJSON", "PAZURECODING", "PGITLABCICD", "PSENTRY",
            "PKAFKA", "PSRCODEGEN", "PSOURCESYNCPRO", "PAZD", "PWXUQRYTOXCRSEO", "PPOLARISTOMCATS", "PMYBATISFIELDAD", "PIMAGETOVECTOR",
            "PDATAGRAPH", "POXYJSONSCHGEN", "PSPEECHTOTEXT", "PMYSQLPROXY", "PFASTREQUEST", "PMYBATISHELPER", "PREDIS"
    };

    public static void main(String[] args) throws Exception {
        generator();
    }

    private static void generator(String... codes) throws Exception {
        CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
        X509Certificate cert = (X509Certificate) certificateFactory.generateCertificate(Files.newInputStream(Paths.get("./ca.crt")));

        // 自己修改 license内容
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.YEAR, 10);
        String date = DateUtil.formatDate(calendar.getTime());
        codes = codes == null ? DEFAULT_CODES : codes;
        String licenseId = "HuaGCS";
        LicensePart licensePart = new LicensePart(licenseId, codes, date);
        byte[] licensePartBytes = licensePart.toString().getBytes(StandardCharsets.UTF_8);
        String licensePartBase64 = Base64.getEncoder().encodeToString(licensePartBytes);

        PrivateKey privateKey = getPrivateKey();


        Signature signature = Signature.getInstance("SHA1withRSA");
        signature.initSign(privateKey);
        signature.update(licensePartBytes);
        byte[] signatureBytes = signature.sign();

        String sigResultsBase64 = Base64.getEncoder().encodeToString(signatureBytes);
        // Combine results as needed
        String result = licenseId + "-" + licensePartBase64 + "-" + sigResultsBase64 + "-" + Base64.getEncoder().encodeToString(cert.getEncoded());
        System.out.println(result);
    }


    static PrivateKey getPrivateKey() throws Exception {
        Security.addProvider(new BouncyCastleProvider());
        PEMParser pemParser = new PEMParser(new FileReader(FileUtil.getAbsolutePath("./ca.key")));
        JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
        Object object = pemParser.readObject();
        KeyPair kp = converter.getKeyPair((PEMKeyPair) object);
        return kp.getPrivate();
    }

}

最后

感谢各位大佬的慷慨分享

参考

147 个赞

整理成一个文件,再帮我跑一下 :rofl:

28 个赞

到时候可以改一下,摸鱼搞得,不过建议你自己跑一个出来,以后过期或者弄别的还能自己再跑一个

27 个赞

666呀

2 个赞

这是我自己跑的配置

EQUAL,30103145486305715337076137945579033117990149403114808986049588268429118496186420930900501686541837515244056941883978560735116416803999809465136586697854428595097014730021784939313368676890962563569709423144645098455194070262922793385760753527969724602565152284369743756624870774535392575653304027685335690190248055479515707980270630824974084629623063197552780041632184263750939506834989013783611566550327475951862245967706236479507144511838463030472988428928424141825831014553569487097567526698095513199060804413999914299325808995018060037151188315854825624050555897662169043041182181349105079812802869732337723401685015735521298643856623788161579741731181311342928170992291842961018681781454550067092908560534768774366568584900614412985423937320288181397684329005349511900147079012756612389482466820609374813020727036591665930975124655336395392249402402348767939728495015194260251841397501748237591218830579990761540594590797262172393524777274507932553235877947760979075744826617302687421762818427444628516714909915628376558251716861025278918159619289632689475773816606100674912898656089891982249757553666437841336991490084401346691095273452791862577757941424712287354155290616056601236829015784667544238175563623923608820480721868,65537,860106576952879101192782278876319243486072481962999610484027161162448933268423045647258145695082284265933019120714643752088997312766689988016808929265129401027490891810902278465065056686129972085119605237470899952751915070244375173428976413406363879128531449407795115913715863867259163957682164040613505040314747660800424242248055421184038777878268502955477482203711835548014501087778959157112423823275878824729132393281517778742463067583320091009916141454657614089600126948087954465055321987012989937065785013284988096504657892738536613208311013047138019418152103262155848541574327484510025594166239784429845180875774012229784878903603491426732347994359380330103328705981064044872334790365894924494923595382470094461546336020961505275530597716457288511366082299255537762891238136381924520749228412559219346777184174219999640906007205260040707839706131662149325151230558316068068139406816080119906833578907759960298749494098180107991752250725928647349597506532778539709852254478061194098069801549845163358315116260915270480057699929968468068015735162890213859113563672040630687357054902747438421559817252127187138838514773245413540030800888215961904267348727206110582505606182944023582459006406137831940959195566364811905585377246353->31872219281407242025505148642475109331663948030010491344733687844358944945421064967310388547820970408352359213697487269225694990179009814674781374751323403257628081559561462351695605167675284372388551941279783515209238245831229026662363729380633136520288327292047232179909791526492877475417113579821717193807584807644097527647305469671333646868883650312280989663788656507661713409911267085806708237966730821529702498972114194166091819277582149433578383639532136271637219758962252614390071122773223025154710411681628917523557526099053858210363406122853294409830276270946292893988830514538950951686480580886602618927728470029090747400687617046511462665469446846624685614084264191213318074804549715573780408305977947238915527798680393538207482620648181504876534152430149355791756374642327623133843473947861771150672096834149014464956451480803326284417202116346454345929350148770746553056995922154382822307758515805142704373984019252210715650875853634697920708113806880196144197384637328982263167395073688501517286678083973976140696077590122053014085412828620051470085033364773099146103525313018873319293728800442101520384088109603555959893639842091339193903143626087012703307560989128146550897984326730758873928928704080296140497456
27 个赞

激活码

HuaGCS-eyJsaWNlbnNlSWQiOiJIdWFHQ1MiLCJsaWNlbnNlZU5hbWUiOiJIdWFHQ1MiLCJhc3NpZ25lZU5hbWUiOiJIdWFHQ1MiLCJhc3NpZ25lZUVtYWlsIjoibnVsbCIsImxpY2Vuc2VSZXN0cmljdGlvbiI6Im51bGwiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFMiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJBQyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IkRCIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUk0iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJXUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlJEIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiQ0wiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IkdPIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiRFMiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJEQyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IkRQTiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IkRNIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNZTUZPTllQTFVHSU4iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQV0xBTkciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQU1dQTFVHSU4iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQR0lUVE9PTEJPWCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBIWUJSSVNDT01NRVJDRSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQVRFUklBTFVJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNFUVVFTkNFRElBR1JBIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEpFVEZPUkNFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBBRU1JREUiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQUk5DT05TT0xFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEFOU0lISUdITElHSFQiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQWUFPUUlBTkdCUE1OIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEFFTSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSQUlOQk9XQlJBQ0tFVCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBHSVRTQ09QRSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBWTE9HIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENPREVNUkJBU0UiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQSkRDTEVBTlJFQUQiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQlJXSlYiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQREIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQRVhUUkFJQ09OUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBCSVNKIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNDSVBJTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBCSVNBQSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBaRU5VTUwiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQSkZPUk1ERVNJR05FUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBPUkNISURFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUElFRElTIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENNQUtFUExVUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBPUEVOQVBJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEJFVFRFUkhJR0hMSUdIIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEFUT01PTkVEQVJLIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdET0MiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQT0ZGSUNFRkxPT1IiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQV0lGSUFEQiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBMQVJBVkVMIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE9ET08iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ1JFVklFVyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNUklOVEVHRUUiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQU0ZDQyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNSU5CQVRJUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBQT0pPVE9KU09OU0NIIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFJERkFORFNQQVJRTCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBCQVNIU1VQUE9SVFBSTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNWUJBVElTTE9HIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNNQVJUSlVNUCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBKQVZBQ09ERVNVR0ciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQR09MQU5HQ09ERVNVR0ciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQUlVCWUNPREVTVUdHIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFZDUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBKU0NPREVTVUdHIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFBIUENPREVTVUdHIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNWRVJJTE9HIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNQQVJRTCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBUT09MU0VUIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEpTT05UT1RTIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFFNTEVESVRPUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBTVFJLRVIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQRUxBU1RJQ1NFQVJDSCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBWSVNVQUxHQyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBQWUNPREVTVUdHIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEZMVVRURVIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQUkVTVEtJVCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBBV1NMQU1CREFERVBMUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBQVU1MU1RVRElPIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENXTVAiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQRklSRUhJR0hMSUdIVCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBKUEFTUUwiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQR09EUlVOTkVSIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUExFREdFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSRUdFWFRPT0wiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQVBIIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdJVExBQkNJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENJUkNMRUNJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEhFUk9LVSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSRURJU01BTkFHRVIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQWkVST0NPREUiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQU1RPUk1TRUNUSU9OUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBTRU5UUllJTlRFRyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSRURJU1RPT0xTIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEZVWllGSVBDIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEJJVFJJU0VDSSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBRVFNRU1NFRElUT1IiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQVBQTEVUUlVOTkVSIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUERBVEFCQVNFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEhQRUFQTFVHSU4iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTEVQIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEhQQlVJTERFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQVRFUklBTEhDIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENETVFUVENMSUVOVCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBJU0NSQVRDSCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSU01HTkwiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ0FQRUxBU1RJQyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBBU1RPQ0siLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ0FQUkVESVMiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQkVBTkNPTlZFUlRFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBFTFNBIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUERKQU5HT1RQTFBFUCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBRVUVSWUZMQUciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTkdJTlgiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQS1NFWFBMT1JFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBaS0EiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ0RBUElSVU5ORVIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTkVPTlBSTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQkNPREVIRUxQUFJPIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENPREVSRUZBQ1RPUkFJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFhTRFZJU1VBTElaRVIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQU1BSSU5HQk9PVElERUEiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQRVhDRUxFRElUT1IiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQR0lUTEFCIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFlBUElRVUlDS1RZUEUiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQVEVSTUlOQUwiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQV0lSRU1PQ0hBIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUERZTkFNT0RCIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEZBU1RTSEVMTCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBKU09OTkVURU1MU1VQIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFBIUEhPVURJTkkiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQT1hZWFNESlNPTlNDSCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBRVUFSS1VTSEVMUEVSIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFdHQ09ERUNSRUFUT1IiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ0lJTlRHIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUERCREFUQUJBU0VUT09MIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE5HUk9LIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEtBUkFURSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQVRFUklBTEVYVFJBUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBKU09OVE9BTllMQU5HVSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQVRFUklBTENVU1RPTSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQVRFUklBTExBTkciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTUFURVJJQUxGUkFNRSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSQU5DSEVSIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFJFRElTQ0xJSEVMUEVSIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNDUkVFTkNPREVQUk8iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ09ERUtJVFMiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQUkVESVNTIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEFXU1FMQURWSVNPUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBMQVRURVBSTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBHRVJSWVRIRU1FU1BSTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBVTklBUFBTVVBQT1JUIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE9QRU5BUElDUlVEV0laIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdPUEFSU0VSIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE5FWFRTS0VUQ0giLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTkVUTElGWSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBHRVJSWUNZQkVSUFVOSyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBUTERSQUkiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQlJFV0JVTkRMRSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBHRVJSWVNQQUNFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEtBRktBSURFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdJVEhVQkNJIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdFUlJZTkFUVVJFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEVYVEVOU0lPTiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBTS09MIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdFUlJZQ0hFUlJZIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUEdFUlJZQ09GRkVFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENPTk5FQ1RVSSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBPWFlKU09OQ09OVkVSVCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBET1lUT1dJTiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBHRVJSWUFVUk9SQSIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBXWFVGUVlSSFpDUlNFTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBXQVVGS1lWSFFDUlhFTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBTUUxGTFVGRkxJTlRFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBNQUdFIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFRBSUxXSU5EVE9PTFMiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQVFJBVklTQ0kiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTU9OR09FWFBFUlQiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTkVYVFNLRVRDSFRXTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBXWFVRUVlWT1hDUlNFTyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBCVUlMRE1PTiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBKRVRDTElFTlQiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQUlDT0RJTkciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ0FJQ09NTUlUQVBQIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUENIQVRHUFRDT0RJTkciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQT0xZQlBNTkdETkVYVCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBBUk1BRElMTE8iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQVkVSSUxPR0xBTkdVQUciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTk9TUUxOQVZNREIiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ1VFRlkiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQ09NUE9TRUhBTU1FUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBHUFRBU1NJU1RBTlQiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQRFRPQlVERFkiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTlBNUEFDS0FHRUpTT04iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQVpVUkVDT0RJTkciLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQR0lUTEFCQ0lDRCIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBTRU5UUlkiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQS0FGS0EiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQU1JDT0RFR0VOIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFNPVVJDRVNZTkNQUk8iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQQVpEIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFdYVVFSWVRPWENSU0VPIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUFBPTEFSSVNUT01DQVRTIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE1ZQkFUSVNGSUVMREFEIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUElNQUdFVE9WRUNUT1IiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQREFUQUdSQVBIIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE9YWUpTT05TQ0hHRU4iLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQU1BFRUNIVE9URVhUIiwiZmFsbGJhY2tEYXRlIjoiMjAzNC0wMi0wMSIsInBhaWRVcFRvIjoiMjAzNC0wMi0wMSIsImV4dGVuZGVkIjp0cnVlfSwgeyJjb2RlIjoiUE1ZU1FMUFJPWFkiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQRkFTVFJFUVVFU1QiLCJmYWxsYmFja0RhdGUiOiIyMDM0LTAyLTAxIiwicGFpZFVwVG8iOiIyMDM0LTAyLTAxIiwiZXh0ZW5kZWQiOnRydWV9LCB7ImNvZGUiOiJQTVlCQVRJU0hFTFBFUiIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX0sIHsiY29kZSI6IlBSRURJUyIsImZhbGxiYWNrRGF0ZSI6IjIwMzQtMDItMDEiLCJwYWlkVXBUbyI6IjIwMzQtMDItMDEiLCJleHRlbmRlZCI6dHJ1ZX1dLCJtZXRhZGF0YSI6IjAxMjAyMzA5MTRQU0FYMDAwMDA1IiwiaGFzaCI6IlRSSUFMOi0xOTIwMjA0Mjg5IiwiZ3JhY2VQZXJpb2REYXlzIjo3LCJhdXRvUHJvbG9uZ2F0ZWQiOnRydWUsImlzQXV0b1Byb2xvbmdhdGVkIjp0cnVlfQ==-RFKFb16fOUhzdhfqY9ORbpKzAhtJ4vvdaVEEWHtcUSlqEO4Oz1eXyq4huLxISQ+i6e7XLTUAvQRlSEuW/RuxMHEGrqdK912L1o9FpCFoiGOoetvegQdj0OjfXsbIPcy8I/6Ij9IrXYI2wSpJlh+P/zzjffSfA7SU1HL2oKtn4d4aes3+m31jzFKCW6HOojnoA0pgS5LNzkaFKJmZXRnemLa2pm0SwA6VTq2eJk/9ID0XMlTzaqippbrD+JM7zn8ni8gFTMzWJ10bwfqSZm4VI/uAq1f2GRBH3TgX6Bk9v7AujDVBUSQCjB4z6FQkmbVynczm9ExBlnGdUT+Wzoa2Eceg6BnaFBOOMfqOI/1SPq4cK9y7AJRYsHQsaZGOHCUVwYDOysiFue2ASbI2gwJgv6t/QT2W7DU+kxqOUBdk0kG+o4SIv4AXJz/+xcmt6ftg0IlHwQ/mdfdx0Y/nKx5ZcKQl13WemJ3W+Lhmf6MYhQt5z2UesKWMZwPniRmwMt1bYqDIHlsKcrM8PSdfl5C0RFubZCBlc/QuADJqAGkS/8tMD8J99AAv8s+ZivWA9X3k1KwvCXeMZ5lVhpMNq4HCisjMS+NVe+OGuTWSGnUSqYrIWb1eoPVUT9EyPN7uw+poS8yRW9iA1ykBeL2nmjZAdMk2ByEOuy8hzk37JpIyffQ=-MIIExTCCAq2gAwIBAgIULBvklIKdFhfEWTc7eCNpuvtYw5owDQYJKoZIhvcNAQELBQAwGDEWMBQGA1UEAwwNSmV0UHJvZmlsZSBDQTAeFw0yNDAxMjUxMDQzMTFaFw0zNDAxMjMxMDQzMTFaMCExHzAdBgNVBAMMFk5vdmljZS1mcm9tLTIwMjQtMDEtMTkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC73EpVXG6+AS1BXd+s/TqnWL/dDGv3ylcDc+jLecRpByV6mdM0SMqSPgDv36WVBhFshFAOJ32bNmwrVVklkFpHHEQ1fuqYEy/kDnwY+K/5qIQlQE4rHZmgPQ185N3j9DYYJaGqCJj/FFHDtJVswlOqWzxIRxtRCjX9xkROdC3Sv5ReNHuIomgARW280EgGA/rIb3/p9/6x3AjWZaE1vVufOdRWZmTLRw7W9itpdCHUSS9GuBIpsNRJX7NZ6BgkKivq73sbTGOvAgKGLEYnLSdQe6zMv14x8FH7H/oxzzh7ImaH1EBMAw4nQ1vOBvDihzbDdsfLs3Hjj2M4/n1P9XmXCGLRyzY4VrOreKSMDIsWc5mOn4WhByEVUG1zOgyZ8/zOthajTLJG5jIJYlTeZDVMZdpTGbHR2h6Pq61hOakzYRGr2AxWsbaaFazNuWIQEJGKyWwjBx1k/76u9eT//aUDz1TNdGqppbs8Iym4aiuBIkgMNAlK36hGQbgOcs9qjaavi+bGeSsuVA/cAey/u3TezC873KbG3Z+Y09gzb5Zxwiw9NOinXE82kX0ehk+HK80Op2B/KTydOm5KvXbzTds+gcxqm229HktV7J5iZZub1iNYowtH4WbyZ9qjhKZExE52RFYUC8OiA9mvNpU9130e7YHh+WtVRlxHX3yHoipdBQIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQAHYP1W4Vh6bIzbIlxsFH7r6tIz9nk1+v07eiwUTIIs6F5WHntv+p5dKpaxnAZ5OIwR/9V+Z01HnXe2wHjMcm448lv9WCOhOoBldQl+TojIPhYUNIFc+HmZwCG1V6vC3JRkDRrWsBHo3EL9sxyx0+Hrxp5ndFvFXZ+zdHT805dSpKmsZpB/y8Z2c9+IZkfCJ3+7IJiei7QOvXXc6pKXCI3x7Sur8EfgBoEYhDCO5q9xWGPwh3NYXWB56n/cif6tGT0DLEDL8vU1J4R0MQ6zubcu1cKA/rghMVi3fmOM8Qda9lA/DfWsh7fYB93+WX6xA8W+OzAHv6I09cGABYlIV2YoaqEgsweP0ioAVPpF7elaKyKPNiapAvcY2H1vW8yRGL8YNNmamKsQ8HOj/n99wf7v6FyiyKRSuGY9Gw5uQptO/85wZqq0dNcIzF/rJaOQsJ18Ft2KkW73sM4bYDl5RkjMEaoGKG8eb247Qhh6kQQ/f/skczwIgEg6bNYyG1IRUTeUgfhQzeVY2dLnnuXApHOaRod0JabEXOWrsd26SstzKx+Guf2Sbp4zrhpfPuWN11+GI0e8LZJ8p45A75y+ZM21KsGHBmKMn2kJMGkFULIoWdeOpeowKqQSWJNSMUlE8KzdxmLz9fWURXOyLPPB9tWObZL9CAksnCvPETUX3WfDzA==
28 个赞


好家伙,本来打算配置和激活码一块发出去

27 个赞

好家伙,插件的code都给填进去了是吧

2 个赞

好家伙 论坛需要你这种人

2 个赞

梭哈梭猛了

26 个赞

jb哭晕在厕所,都来搞我是吧

3 个赞

课代表专业。

2 个赞

licenseId为什么是固定写死HuaGCS?

2 个赞

这只是我自己用的 可以改成变量传进去

26 个赞

我以为licenseId是签名,原来它也是加签的一部分

2 个赞

密钥无效 :stuck_out_tongue_closed_eyes:

4 个赞

这个密钥无效值得是啥地方 我有点没太懂

26 个赞

1.CertificateGenerator 生成 证书 2.PowerConfRuleGen 生成内容 贴到 power.conf的result的节点下面.3LicenseGenerator 生成内容贴到密钥…

2 个赞

3的时候将是读的1生成的证书吗

27 个赞

是的. 真是奇怪了, 我再跑下

1 个赞