internal/templates/AzureFunction-2.0.0.xml

<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
  <Obj RefId="0">
    <TN RefId="0">
      <T>PSModuleDevelopment.Template.Template</T>
      <T>System.Object</T>
    </TN>
    <ToString>PSModuleDevelopment.Template.Template</ToString>
    <Props>
      <S N="Name">AzureFunction</S>
      <Obj N="Type" RefId="1">
        <TN RefId="1">
          <T>PSModuleDevelopment.Template.TemplateType</T>
          <T>System.Enum</T>
          <T>System.ValueType</T>
          <T>System.Object</T>
        </TN>
        <ToString>Project</ToString>
        <I32>1</I32>
      </Obj>
      <Version N="Version">2.0.0</Version>
      <S N="Description">Basic Azure Function Template</S>
      <S N="Author">Friedrich Weinmann</S>
      <DT N="CreatedOn">2022-03-17T00:00:00+00:00</DT>
      <Obj N="Tags" RefId="2">
        <TN RefId="2">
          <T>System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]</T>
          <T>System.Object</T>
        </TN>
        <LST>
          <S>azure</S>
          <S>function</S>
        </LST>
      </Obj>
      <Obj N="Parameters" RefId="3">
        <TNRef RefId="2" />
        <LST>
          <S>name</S>
          <S>author</S>
          <S>company</S>
          <S>description</S>
        </LST>
      </Obj>
      <Obj N="Scripts" RefId="4">
        <TN RefId="3">
          <T>System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[PSModuleDevelopment.Template.ParameterScript, PSModuleDevelopment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]</T>
          <T>System.Object</T>
        </TN>
        <DCT>
          <En>
            <S N="Key">dynamicscript_780515</S>
            <Obj N="Value" RefId="5">
              <TN RefId="4">
                <T>PSModuleDevelopment.Template.ParameterScript</T>
                <T>System.Object</T>
              </TN>
              <ToString>PSModuleDevelopment.Template.ParameterScript</ToString>
              <Props>
                <S N="StringScript"> New-Guid </S>
                <S N="Name">dynamicscript_780515</S>
                <SBK N="ScriptBlock"> New-Guid </SBK>
              </Props>
              <MS>
                <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAwDAAAAX1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24sIFZlcnNpb249My4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAsUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5QYXJhbWV0ZXJTY3JpcHQCAAAABE5hbWULU2NyaXB0QmxvY2sBBDtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlNjcmlwdEJsb2NrU2VyaWFsaXphdGlvbkhlbHBlcgMAAAACAAAABgQAAAAUZHluYW1pY3NjcmlwdF83ODA1MTUJBQAAAAUFAAAAO1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uU2NyaXB0QmxvY2tTZXJpYWxpemF0aW9uSGVscGVyAQAAAApTY3JpcHRUZXh0AQMAAAAGBgAAAAogTmV3LUd1aWQgCw==</BA>
              </MS>
            </Obj>
          </En>
        </DCT>
      </Obj>
      <Obj N="Parameters2" RefId="6">
        <TN RefId="5">
          <T>System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[PSModuleDevelopment.Template.Parameter.ParameterBase, PSModuleDevelopment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]</T>
          <T>System.Object</T>
        </TN>
        <DCT />
      </Obj>
      <Obj N="Children" RefId="7">
        <TN RefId="6">
          <T>System.Collections.Generic.List`1[[PSModuleDevelopment.Template.TemplateItemBase, PSModuleDevelopment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]</T>
          <T>System.Object</T>
        </TN>
        <LST>
          <Obj RefId="8">
            <TN RefId="7">
              <T>PSModuleDevelopment.Template.TemplateItemFolder</T>
              <T>PSModuleDevelopment.Template.TemplateItemBase</T>
              <T>System.Object</T>
            </TN>
            <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString>
            <Props>
              <Obj N="Children" RefId="9">
                <TNRef RefId="6" />
                <LST>
                  <S>PSModuleDevelopment.Template.TemplateItemFile</S>
                </LST>
              </Obj>
              <S N="Name">build</S>
              <S N="RelativePath">build</S>
              <S N="Identifier">þ</S>
              <Obj N="FileSystemParameterFlat" RefId="10">
                <TNRef RefId="2" />
                <LST />
              </Obj>
              <Obj N="FileSystemParameterScript" RefId="11">
                <TNRef RefId="2" />
                <LST />
              </Obj>
            </Props>
            <MS>
              <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAABWJ1aWxkBgUAAAAFYnVpbGQGBgAAAALDvgkHAAAACQgAAAAEAwAAAJ4BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2VbXQIAAAAICAkJAAAAAQAAAAEAAAAEBwAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkKAAAAAAAAAAAAAAABCAAAAAcAAAAJCgAAAAAAAAAAAAAABwkAAAAAAQAAAAQAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJCwAAAA0DEQoAAAAAAAAABQsAAAAtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1GaWxlCQAAAAVWYWx1ZQlQbGFpblRleHQUQ29udGVudFBhcmFtZXRlckZsYXQWQ29udGVudFBhcmFtZXRlclNjcmlwdAROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQBAAMDAQEBAwMBf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABgwAAACvCHBhcmFtICgNCiAgICBbc3RyaW5nXQ0KICAgICRSZXBvc2l0b3J5ID0gJ1BTR2FsbGVyeScNCikNCiR3b3JraW5nRGlyZWN0b3J5ID0gU3BsaXQtUGF0aCAkUFNTY3JpcHRSb290DQoNCiMgUHJlcGFyZSBvdXRwdXQgcGF0aCBhbmQgY29weSBmdW5jdGlvbiBmb2xkZXINClJlbW92ZS1JdGVtIC1QYXRoICIkd29ya2luZ0RpcmVjdG9yeS9wdWJsaXNoIiAtUmVjdXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIElnbm9yZQ0KJGJ1aWxkRm9sZGVyID0gTmV3LUl0ZW0gLVBhdGggJHdvcmtpbmdEaXJlY3RvcnkgLU5hbWUgJ3B1Ymxpc2gnIC1JdGVtVHlwZSBEaXJlY3RvcnkgLUZvcmNlIC1FcnJvckFjdGlvbiBTdG9wDQpDb3B5LUl0ZW0gLVBhdGggIiR3b3JraW5nRGlyZWN0b3J5L2Z1bmN0aW9uLyoiIC1EZXN0aW5hdGlvbiAkYnVpbGRGb2xkZXIuRnVsbE5hbWUgLVJlY3Vyc2UgLUZvcmNlDQoNCiMgUHJvY2VzcyBEZXBlbmRlbmNpZXMNCiRyZXF1aXJlZE1vZHVsZXMgPSAoSW1wb3J0LVBvd2VyU2hlbGxEYXRhRmlsZSAtUGF0aCAiJHdvcmtpbmdEaXJlY3Rvcnkvw75uYW1lw74vw75uYW1lw74ucHNkMSIpLlJlcXVpcmVkTW9kdWxlcw0KZm9yZWFjaCAoJG1vZHVsZSBpbiAkcmVxdWlyZWRNb2R1bGVzKSB7DQogICAgU2F2ZS1Nb2R1bGUgLU5hbWUgJG1vZHVsZSAtUGF0aCAiJCgkYnVpbGRGb2xkZXIuRnVsbE5hbWUpL21vZHVsZXMiIC1Gb3JjZSAtUmVwb3NpdG9yeSAkUmVwb3NpdG9yeQ0KfQ0KDQojIFByb2Nlc3MgRnVuY3Rpb24gTW9kdWxlDQpDb3B5LUl0ZW0gLVBhdGggIiR3b3JraW5nRGlyZWN0b3J5L8O+bmFtZcO+IiAtRGVzdGluYXRpb24gIiQoJGJ1aWxkRm9sZGVyLkZ1bGxOYW1lKS9tb2R1bGVzIiAtRm9yY2UgLVJlY3Vyc2UNCg0KIyBQYWNrYWdlICYgQ2xlYW51cA0KQ29tcHJlc3MtQXJjaGl2ZSAtUGF0aCAiJCgkYnVpbGRGb2xkZXIuRnVsbE5hbWUpLyoiIC1EZXN0aW5hdGlvblBhdGggIiR3b3JraW5nRGlyZWN0b3J5L0Z1bmN0aW9uLnppcCINClJlbW92ZS1JdGVtIC1QYXRoICRidWlsZEZvbGRlci5GdWxsTmFtZSAtUmVjdXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIElnbm9yZQEJDQAAAAkOAAAABg8AAAAJYnVpbGQucHMxBhAAAAAPYnVpbGRcYnVpbGQucHMxCQYAAAAJEgAAAAkTAAAAAQ0AAAAHAAAACRQAAAABAAAAAQAAAAEOAAAABwAAAAkKAAAAAAAAAAAAAAABEgAAAAcAAAAJCgAAAAAAAAAAAAAAARMAAAAHAAAACQoAAAAAAAAAAAAAABEUAAAABAAAAAYWAAAABG5hbWUNAws=</BA>
            </MS>
          </Obj>
          <Obj RefId="12">
            <TNRef RefId="7" />
            <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString>
            <Props>
              <Obj N="Children" RefId="13">
                <TNRef RefId="6" />
                <LST>
                  <S>PSModuleDevelopment.Template.TemplateItemFolder</S>
                  <S>PSModuleDevelopment.Template.TemplateItemFile</S>
                  <S>PSModuleDevelopment.Template.TemplateItemFile</S>
                  <S>PSModuleDevelopment.Template.TemplateItemFile</S>
                </LST>
              </Obj>
              <S N="Name">function</S>
              <S N="RelativePath">function</S>
              <S N="Identifier">þ</S>
              <Obj N="FileSystemParameterFlat" RefId="14">
                <TNRef RefId="2" />
                <LST />
              </Obj>
              <Obj N="FileSystemParameterScript" RefId="15">
                <TNRef RefId="2" />
                <LST />
              </Obj>
            </Props>
            <MS>
              <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAACGZ1bmN0aW9uBgUAAAAIZnVuY3Rpb24GBgAAAALDvgkHAAAACQgAAAAEAwAAAJ4BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2VbXQIAAAAICAkJAAAABAAAAAQAAAAEBwAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkKAAAAAAAAAAAAAAABCAAAAAcAAAAJCgAAAAAAAAAAAAAABwkAAAAAAQAAAAQAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJCwAAAAkMAAAACQ0AAAAJDgAAABEKAAAAAAAAAAELAAAAAQAAAAkPAAAABhAAAAAHbW9kdWxlcwYRAAAAEGZ1bmN0aW9uXG1vZHVsZXMJBgAAAAkTAAAACRQAAAAFDAAAAC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUZpbGUJAAAABVZhbHVlCVBsYWluVGV4dBRDb250ZW50UGFyYW1ldGVyRmxhdBZDb250ZW50UGFyYW1ldGVyU2NyaXB0BE5hbWUMUmVsYXRpdmVQYXRoCklkZW50aWZpZXIXRmlsZVN5c3RlbVBhcmFtZXRlckZsYXQZRmlsZVN5c3RlbVBhcmFtZXRlclNjcmlwdAEAAwMBAQEDAwF/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGFQAAAE17DQogICJ2ZXJzaW9uIjogIjIuMCIsDQogICJtYW5hZ2VkRGVwZW5kZW5jeSI6IHsNCiAgICAiRW5hYmxlZCI6IHRydWUNCiAgfQ0KfQEJFgAAAAkXAAAABhgAAAAJaG9zdC5qc29uBhkAAAASZnVuY3Rpb25caG9zdC5qc29uCQYAAAAJGwAAAAkcAAAAAQ0AAAAMAAAABh0AAACNHSMgQXp1cmUgRnVuY3Rpb25zIHByb2ZpbGUucHMxDQojDQojIFRoaXMgcHJvZmlsZS5wczEgd2lsbCBnZXQgZXhlY3V0ZWQgZXZlcnkgImNvbGQgc3RhcnQiIG9mIHlvdXIgRnVuY3Rpb24gQXBwLg0KIyAiY29sZCBzdGFydCIgb2NjdXJzIHdoZW46DQojDQojICogQSBGdW5jdGlvbiBBcHAgc3RhcnRzIHVwIGZvciB0aGUgdmVyeSBmaXJzdCB0aW1lDQojICogQSBGdW5jdGlvbiBBcHAgc3RhcnRzIHVwIGFmdGVyIGJlaW5nIGRlLWFsbG9jYXRlZCBkdWUgdG8gaW5hY3Rpdml0eQ0KIw0KIyBZb3UgY2FuIGRlZmluZSBoZWxwZXIgZnVuY3Rpb25zLCBydW4gY29tbWFuZHMsIG9yIHNwZWNpZnkgZW52aXJvbm1lbnQgdmFyaWFibGVzDQojIE5PVEU6IGFueSB2YXJpYWJsZXMgZGVmaW5lZCB0aGF0IGFyZSBub3QgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpbGwgZ2V0IHJlc2V0IGFmdGVyIHRoZSBmaXJzdCBleGVjdXRpb24NCiMgQXV0aGVudGljYXRlIHdpdGggQXp1cmUgUG93ZXJTaGVsbCB1c2luZyBNU0kuDQojIFJlbW92ZSB0aGlzIGlmIHlvdSBhcmUgbm90IHBsYW5uaW5nIG9uIHVzaW5nIE1TSSBvciBBenVyZSBQb3dlclNoZWxsLg0KDQppZiAoJGVudjpNU0lfU0VDUkVUIC1hbmQgKEdldC1Nb2R1bGUgLUxpc3RBdmFpbGFibGUgQXouQWNjb3VudHMpKQ0Kew0KCUNvbm5lY3QtQXpBY2NvdW50IC1JZGVudGl0eQ0KfQ0KDQojIFVuY29tbWVudCB0aGUgbmV4dCBsaW5lIHRvIGVuYWJsZSBsZWdhY3kgQXp1cmVSbSBhbGlhcyBpbiBBenVyZSBQb3dlclNoZWxsLg0KIyBFbmFibGUtQXp1cmVSbUFsaWFzDQojIFlvdSBjYW4gYWxzbyBkZWZpbmUgZnVuY3Rpb25zIG9yIGFsaWFzZXMgdGhhdCBjYW4gYmUgcmVmZXJlbmNlZCBpbiBhbnkgb2YgeW91ciBQb3dlclNoZWxsIGZ1bmN0aW9ucy4NCg0KZnVuY3Rpb24gV3JpdGUtRnVuY3Rpb25SZXN1bHQgew0KCTwjDQoJLlNZTk9QU0lTDQoJCVJlcG9ydHMgYmFjayB0aGUgb3V0cHV0IC8gcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiBhcHAuDQoJDQoJLkRFU0NSSVBUSU9ODQoJCVJlcG9ydHMgYmFjayB0aGUgb3V0cHV0IC8gcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiBhcHAuDQoJDQoJLlBBUkFNRVRFUiBTdGF0dXMNCgkJV2hldGhlciB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkIG9yIG5vdC4NCgkNCgkuUEFSQU1FVEVSIEJvZHkNCgkJQW55IGRhdGEgdG8gaW5jbHVkZSBpbiB0aGUgcmVzcG9uc2UuDQoJDQoJLkVYQU1QTEUNCgkJUFMgQzpcPiBXcml0ZS1GdW5jdGlvblJlc3VsdCAtU3RhdHVzIE9LIC1Cb2R5ICRuZXdVc2VyDQoNCgkJUmVwb3J0cyBzdWNjZXNzIHdoaWxlIHJldHVybmluZyB0aGUgY29udGVudCBvZiAkbmV3VXNlciBhcyBvdXRwdXQNCgkjPg0KICAgIFtDbWRsZXRCaW5kaW5nKCldDQogICAgcGFyYW0gKA0KICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeSA9ICR0cnVlKV0NCiAgICAgICAgW1N5c3RlbS5OZXQuSHR0cFN0YXR1c0NvZGVdDQogICAgICAgICRTdGF0dXMsDQoNCgkJW0FsbG93TnVsbCgpXQ0KICAgICAgICAkQm9keQ0KICAgICkNCg0KICAgIFB1c2gtT3V0cHV0QmluZGluZyAtTmFtZSBSZXNwb25zZSAtVmFsdWUgKFtIdHRwUmVzcG9uc2VDb250ZXh0XUB7DQogICAgICAgICAgICBTdGF0dXNDb2RlID0gJFN0YXR1cw0KICAgICAgICAgICAgQm9keSAgICAgICA9ICRCb2R5DQogICAgICAgIH0pDQp9DQoNCmZ1bmN0aW9uIEdldC1SZXN0UGFyYW1ldGVyVmFsdWUgew0KCTwjDQoJLlNZTk9QU0lTDQoJCUV4dHJhY3QgdGhlIGV4YWN0IHZhbHVlIG9mIGEgcGFyYW1ldGVyIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLg0KCQ0KCS5ERVNDUklQVElPTg0KCQlFeHRyYWN0IHRoZSBleGFjdCB2YWx1ZSBvZiBhIHBhcmFtZXRlciBwcm92aWRlZCBieSB0aGUgdXNlci4NCgkJRXhwZWN0cyBlaXRoZXIgcXVlcnkgb3IgYm9keSBwYXJhbWV0ZXJzIGZyb20gdGhlIHJlc3QgY2FsbCB0byB0aGUgaHR0cCB0cmlnZ2VyLg0KCQ0KCS5QQVJBTUVURVIgUmVxdWVzdA0KCQlUaGUgcmVxdWVzdCBvYmplY3QgcHJvdmlkZWQgYXMgcGFydCBvZiB0aGUgZnVuY3Rpb24gY2FsbC4NCgkNCgkuUEFSQU1FVEVSIE5hbWUNCgkJVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB0byBwcm92aWRlLg0KCQ0KCS5FWEFNUExFDQoJCVBTIEM6XD4gR2V0LVJlc3RQYXJhbWV0ZXJWYWx1ZSAtUmVxdWVzdCAkUmVxdWVzdCAtTmFtZSBUeXBlDQoNCgkJUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciAiVHlwZSIsIGFzIHByb3ZpZGVkIGJ5IHRoZSBjYWxsZXINCgkjPg0KICAgIFtDbWRsZXRCaW5kaW5nKCldDQogICAgcGFyYW0gKA0KICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeSA9ICR0cnVlKV0NCiAgICAgICAgJFJlcXVlc3QsDQoNCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnkgPSAkdHJ1ZSldDQogICAgICAgIFtzdHJpbmddDQogICAgICAgICROYW1lDQogICAgKQ0KDQogICAgaWYgKCRSZXF1ZXN0LlF1ZXJ5LiROYW1lKSB7DQogICAgICAgIHJldHVybiAkUmVxdWVzdC5RdWVyeS4kTmFtZQ0KICAgIH0NCiAgICAkUmVxdWVzdC5Cb2R5LiROYW1lDQp9DQoNCmZ1bmN0aW9uIEdldC1SZXN0UGFyYW1ldGVyIHsNCgk8Iw0KCS5TWU5PUFNJUw0KCQlQYXJzZXMgdGhlIHJlc3QgcmVxdWVzdCBwYXJhbWV0ZXJzIGZvciBhbGwgdmFsdWVzIG1hdGNoaW5nIHBhcmFtZXRlcnMgb24gdGhlIHNwZWNpZmllZCBjb21tYW5kLg0KCQ0KCS5ERVNDUklQVElPTg0KCQlQYXJzZXMgdGhlIHJlc3QgcmVxdWVzdCBwYXJhbWV0ZXJzIGZvciBhbGwgdmFsdWVzIG1hdGNoaW5nIHBhcmFtZXRlcnMgb24gdGhlIHNwZWNpZmllZCBjb21tYW5kLg0KCQlSZXR1cm5zIGEgaGFzaHRhYmxlIHJlYWR5IGZvciBzcGxhdHRpbmcuDQoJCURvZXMgTk9UIGFzc2VydCBtYW5kYXRvcnkgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkLCBzbyBjb21tYW5kIGludm9jYXRpb24gbWF5IGZhaWwuDQoJDQoJLlBBUkFNRVRFUiBSZXF1ZXN0DQoJCVRoZSBvcmlnaW5hbCByZXN0IHJlcXVlc3Qgb2JqZWN0LCBjb250YWluaW5nIHRoZSBjYWxsZXIncyBpbmZvcm1hdGlvbiBzdWNoIGFzIHBhcmFtZXRlcnMuDQoJDQoJLlBBUkFNRVRFUiBDb21tYW5kDQoJCVRoZSBjb21tYW5kIHRvIHdoaWNoIHRvIGJpbmQgaW5wdXQgcGFyYW1ldGVycy4NCgkNCgkuRVhBTVBMRQ0KCQlQUyBDOlw+IEdldC1SZXN0UGFyYW1ldGVyIC1SZXF1ZXN0ICRSZXF1ZXN0IC1Db21tYW5kIEdldC1BelVzZXINCg0KCQlSZXRyaWV2ZXMgYWxsIHBhcmFtZXRlcnMgb24gdGhlIGluY29taW5nIHJlcXVlc3QgdGhhdCBtYXRjaCBhIHBhcmFtZXRlciBvbiBHZXQtQXpVc2VyDQoJIz4NCglbQ21kbGV0QmluZGluZygpXQ0KCVBhcmFtICgNCgkJW1BhcmFtZXRlcihNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCSRSZXF1ZXN0LA0KDQoJCVtQYXJhbWV0ZXIoTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbc3RyaW5nXQ0KCQkkQ29tbWFuZA0KCSkNCg0KCSRjb21tYW5kSW5mbyA9IEdldC1Db21tYW5kIC1OYW1lICRDb21tYW5kDQoJJHJlc3VsdHMgPSBAeyB9DQoJZm9yZWFjaCAoJHBhcmFtZXRlciBpbiAkY29tbWFuZEluZm8uUGFyYW1ldGVycy5LZXlzKSB7DQoJCSR2YWx1ZSA9IEdldC1SZXN0UGFyYW1ldGVyVmFsdWUgLVJlcXVlc3QgJFJlcXVlc3QgLU5hbWUgJHBhcmFtZXRlcg0KCQlpZiAoJG51bGwgLW5lICR2YWx1ZSkgeyAkcmVzdWx0c1skcGFyYW1ldGVyXSA9ICR2YWx1ZSB9DQoJfQ0KCSRyZXN1bHRzDQp9AQkeAAAACR8AAAAGIAAAAAtwcm9maWxlLnBzMQYhAAAAFGZ1bmN0aW9uXHByb2ZpbGUucHMxCQYAAAAJIwAAAAkkAAAAAQ4AAAAMAAAABiUAAAASQHsNCglBeiA9ICcxLionDQp9AQkmAAAACScAAAAGKAAAABFyZXF1aXJlbWVudHMucHNkMQYpAAAAGmZ1bmN0aW9uXHJlcXVpcmVtZW50cy5wc2QxCQYAAAAJKwAAAAksAAAAAQ8AAAADAAAACS0AAAABAAAAAQAAAAETAAAABwAAAAkKAAAAAAAAAAAAAAABFAAAAAcAAAAJCgAAAAAAAAAAAAAAARYAAAAHAAAACQoAAAAAAAAAAAAAAAEXAAAABwAAAAkKAAAAAAAAAAAAAAABGwAAAAcAAAAJCgAAAAAAAAAAAAAAARwAAAAHAAAACQoAAAAAAAAAAAAAAAEeAAAABwAAAAkKAAAAAAAAAAAAAAABHwAAAAcAAAAJCgAAAAAAAAAAAAAAASMAAAAHAAAACQoAAAAAAAAAAAAAAAEkAAAABwAAAAkKAAAAAAAAAAAAAAABJgAAAAcAAAAJCgAAAAAAAAAAAAAAAScAAAAHAAAACQoAAAAAAAAAAAAAAAErAAAABwAAAAkKAAAAAAAAAAAAAAABLAAAAAcAAAAJCgAAAAAAAAAAAAAABy0AAAAAAQAAAAQAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJLwAAAA0DAS8AAAAMAAAABjAAAABkIyBNb2R1bGVzIEZvbGRlcg0KDQp0aGlzIGZvbGRlciB3aWxsIGJlIHBhcnQgb2YgdGhlICRlbnY6UFNNb2R1bGVQYXRoIHdoaWxlIHRoZSBmdW5jdGlvbiBpcyBydW5uaW5nLgEJMQAAAAkyAAAABjMAAAAJcmVhZG1lLm1kBjQAAAAaZnVuY3Rpb25cbW9kdWxlc1xyZWFkbWUubWQJBgAAAAk2AAAACTcAAAABMQAAAAcAAAAJCgAAAAAAAAAAAAAAATIAAAAHAAAACQoAAAAAAAAAAAAAAAE2AAAABwAAAAkKAAAAAAAAAAAAAAABNwAAAAcAAAAJCgAAAAAAAAAAAAAACw==</BA>
            </MS>
          </Obj>
          <Obj RefId="16">
            <TNRef RefId="7" />
            <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString>
            <Props>
              <Obj N="Children" RefId="17">
                <TNRef RefId="6" />
                <LST>
                  <S>PSModuleDevelopment.Template.TemplateItemFolder</S>
                  <S>PSModuleDevelopment.Template.TemplateItemFile</S>
                  <S>PSModuleDevelopment.Template.TemplateItemFile</S>
                </LST>
              </Obj>
              <S N="Name">þnameþ</S>
              <S N="RelativePath">þnameþ</S>
              <S N="Identifier">þ</S>
              <Obj N="FileSystemParameterFlat" RefId="18">
                <TNRef RefId="2" />
                <LST>
                  <S>name</S>
                </LST>
              </Obj>
              <Obj N="FileSystemParameterScript" RefId="19">
                <TNRef RefId="2" />
                <LST />
              </Obj>
            </Props>
            <MS>
              <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAACMO+bmFtZcO+BgUAAAAIw75uYW1lw74GBgAAAALDvgkHAAAACQgAAAAEAwAAAJ4BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2VbXQIAAAAICAkJAAAAAwAAAAMAAAAEBwAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkKAAAAAQAAAAEAAAABCAAAAAcAAAAJCwAAAAAAAAAAAAAABwkAAAAAAQAAAAQAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJDAAAAAkNAAAACQ4AAAAKEQoAAAAEAAAABg8AAAAEbmFtZQ0DEQsAAAAAAAAAAQwAAAABAAAACRAAAAAGEQAAAAlmdW5jdGlvbnMGEgAAABLDvm5hbWXDvlxmdW5jdGlvbnMJBgAAAAkUAAAACRUAAAAFDQAAAC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUZpbGUJAAAABVZhbHVlCVBsYWluVGV4dBRDb250ZW50UGFyYW1ldGVyRmxhdBZDb250ZW50UGFyYW1ldGVyU2NyaXB0BE5hbWUMUmVsYXRpdmVQYXRoCklkZW50aWZpZXIXRmlsZVN5c3RlbVBhcmFtZXRlckZsYXQZRmlsZVN5c3RlbVBhcmFtZXRlclNjcmlwdAEAAwMBAQEDAwF/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGFgAAAIgdQHsNCg0KICAgICMgU2NyaXB0IG1vZHVsZSBvciBiaW5hcnkgbW9kdWxlIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWFuaWZlc3QuDQogICAgUm9vdE1vZHVsZSAgICAgICAgPSAnw75uYW1lw74ucHNtMScNCiAgICANCiAgICAjIFZlcnNpb24gbnVtYmVyIG9mIHRoaXMgbW9kdWxlLg0KICAgIE1vZHVsZVZlcnNpb24gICAgID0gJzEuMC4wJw0KICAgIA0KICAgICMgU3VwcG9ydGVkIFBTRWRpdGlvbnMNCiAgICAjIENvbXBhdGlibGVQU0VkaXRpb25zID0gQCgpDQogICAgDQogICAgIyBJRCB1c2VkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgbW9kdWxlDQogICAgR1VJRCAgICAgICAgICAgICAgPSAnw74hZHluYW1pY3NjcmlwdF83ODA1MTUhw74nDQogICAgDQogICAgIyBBdXRob3Igb2YgdGhpcyBtb2R1bGUNCiAgICBBdXRob3IgICAgICAgICAgICA9ICfDvmF1dGhvcsO+Jw0KICAgIA0KICAgICMgQ29tcGFueSBvciB2ZW5kb3Igb2YgdGhpcyBtb2R1bGUNCiAgICBDb21wYW55TmFtZSAgICAgICA9ICfDvmNvbXBhbnnDvicNCiAgICANCiAgICAjIENvcHlyaWdodCBzdGF0ZW1lbnQgZm9yIHRoaXMgbW9kdWxlDQogICAgQ29weXJpZ2h0ICAgICAgICAgPSAnKGMpIMO+YXV0aG9yw74uIEFsbCByaWdodHMgcmVzZXJ2ZWQuJw0KICAgIA0KICAgICMgRGVzY3JpcHRpb24gb2YgdGhlIGZ1bmN0aW9uYWxpdHkgcHJvdmlkZWQgYnkgdGhpcyBtb2R1bGUNCiAgICBEZXNjcmlwdGlvbiA9ICfDvmRlc2NyaXB0aW9uw74nDQogICAgDQogICAgIyBNaW5pbXVtIHZlcnNpb24gb2YgdGhlIFBvd2VyU2hlbGwgZW5naW5lIHJlcXVpcmVkIGJ5IHRoaXMgbW9kdWxlDQogICAgIyBQb3dlclNoZWxsVmVyc2lvbiA9ICcnDQogICAgDQogICAgIyBNb2R1bGVzIHRoYXQgbXVzdCBiZSBpbXBvcnRlZCBpbnRvIHRoZSBnbG9iYWwgZW52aXJvbm1lbnQgcHJpb3IgdG8gaW1wb3J0aW5nIHRoaXMgbW9kdWxlDQogICAgIyBSZXF1aXJlZE1vZHVsZXMgICA9IEAoKQ0KICAgIA0KICAgICMgQXNzZW1ibGllcyB0aGF0IG11c3QgYmUgbG9hZGVkIHByaW9yIHRvIGltcG9ydGluZyB0aGlzIG1vZHVsZQ0KICAgICMgUmVxdWlyZWRBc3NlbWJsaWVzID0gQCgnYmluXG15LmRsbCcpDQogICAgDQogICAgIyBTY3JpcHQgZmlsZXMgKC5wczEpIHRoYXQgYXJlIHJ1biBpbiB0aGUgY2FsbGVyJ3MgZW52aXJvbm1lbnQgcHJpb3IgdG8gaW1wb3J0aW5nIHRoaXMgbW9kdWxlLg0KICAgICMgU2NyaXB0c1RvUHJvY2VzcyA9IEAoKQ0KICAgIA0KICAgICMgVHlwZSBmaWxlcyAoLnBzMXhtbCkgdG8gYmUgbG9hZGVkIHdoZW4gaW1wb3J0aW5nIHRoaXMgbW9kdWxlDQogICAgIyBUeXBlc1RvUHJvY2VzcyA9IEAoKQ0KICAgIA0KICAgICMgRm9ybWF0IGZpbGVzICgucHMxeG1sKSB0byBiZSBsb2FkZWQgd2hlbiBpbXBvcnRpbmcgdGhpcyBtb2R1bGUNCiAgICAjIEZvcm1hdHNUb1Byb2Nlc3MgPSBAKCkNCiAgICANCiAgICAjIE1vZHVsZXMgdG8gaW1wb3J0IGFzIG5lc3RlZCBtb2R1bGVzIG9mIHRoZSBtb2R1bGUgc3BlY2lmaWVkIGluIFJvb3RNb2R1bGUvTW9kdWxlVG9Qcm9jZXNzDQogICAgIyBOZXN0ZWRNb2R1bGVzID0gQCgpDQogICAgDQogICAgIyBGdW5jdGlvbnMgdG8gZXhwb3J0IGZyb20gdGhpcyBtb2R1bGUsIGZvciBiZXN0IHBlcmZvcm1hbmNlLCBkbyBub3QgdXNlIHdpbGRjYXJkcyBhbmQgZG8gbm90IGRlbGV0ZSB0aGUgZW50cnksIHVzZSBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSBhcmUgbm8gZnVuY3Rpb25zIHRvIGV4cG9ydC4NCiAgICBGdW5jdGlvbnNUb0V4cG9ydCA9IEAoDQoNCiAgICApDQogICAgDQogICAgIyBDbWRsZXRzIHRvIGV4cG9ydCBmcm9tIHRoaXMgbW9kdWxlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZSwgZG8gbm90IHVzZSB3aWxkY2FyZHMgYW5kIGRvIG5vdCBkZWxldGUgdGhlIGVudHJ5LCB1c2UgYW4gZW1wdHkgYXJyYXkgaWYgdGhlcmUgYXJlIG5vIGNtZGxldHMgdG8gZXhwb3J0Lg0KICAgICMgQ21kbGV0c1RvRXhwb3J0ICAgPSAnKicNCiAgICANCiAgICAjIFZhcmlhYmxlcyB0byBleHBvcnQgZnJvbSB0aGlzIG1vZHVsZQ0KICAgICMgVmFyaWFibGVzVG9FeHBvcnQgPSAnKicNCiAgICANCiAgICAjIEFsaWFzZXMgdG8gZXhwb3J0IGZyb20gdGhpcyBtb2R1bGUsIGZvciBiZXN0IHBlcmZvcm1hbmNlLCBkbyBub3QgdXNlIHdpbGRjYXJkcyBhbmQgZG8gbm90IGRlbGV0ZSB0aGUgZW50cnksIHVzZSBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSBhcmUgbm8gYWxpYXNlcyB0byBleHBvcnQuDQogICAgIyBBbGlhc2VzVG9FeHBvcnQgICA9ICcqJw0KICAgIA0KICAgICMgRFNDIHJlc291cmNlcyB0byBleHBvcnQgZnJvbSB0aGlzIG1vZHVsZQ0KICAgICMgRHNjUmVzb3VyY2VzVG9FeHBvcnQgPSBAKCkNCiAgICANCiAgICAjIExpc3Qgb2YgYWxsIG1vZHVsZXMgcGFja2FnZWQgd2l0aCB0aGlzIG1vZHVsZQ0KICAgICMgTW9kdWxlTGlzdCA9IEAoKQ0KICAgIA0KICAgICMgTGlzdCBvZiBhbGwgZmlsZXMgcGFja2FnZWQgd2l0aCB0aGlzIG1vZHVsZQ0KICAgICMgRmlsZUxpc3QgPSBAKCkNCiAgICANCiAgICAjIFByaXZhdGUgZGF0YSB0byBwYXNzIHRvIHRoZSBtb2R1bGUgc3BlY2lmaWVkIGluIFJvb3RNb2R1bGUvTW9kdWxlVG9Qcm9jZXNzLiBUaGlzIG1heSBhbHNvIGNvbnRhaW4gYSBQU0RhdGEgaGFzaHRhYmxlIHdpdGggYWRkaXRpb25hbCBtb2R1bGUgbWV0YWRhdGEgdXNlZCBieSBQb3dlclNoZWxsLg0KICAgIFByaXZhdGVEYXRhICAgICAgID0gQHsNCiAgICANCiAgICAgICAgUFNEYXRhID0gQHsNCiAgICANCiAgICAgICAgICAgICMgVGFncyBhcHBsaWVkIHRvIHRoaXMgbW9kdWxlLiBUaGVzZSBoZWxwIHdpdGggbW9kdWxlIGRpc2NvdmVyeSBpbiBvbmxpbmUgZ2FsbGVyaWVzLg0KICAgICAgICAgICAgIyBUYWdzID0gQCgpDQogICAgDQogICAgICAgICAgICAjIEEgVVJMIHRvIHRoZSBsaWNlbnNlIGZvciB0aGlzIG1vZHVsZS4NCiAgICAgICAgICAgICMgTGljZW5zZVVyaSA9ICcnDQogICAgDQogICAgICAgICAgICAjIEEgVVJMIHRvIHRoZSBtYWluIHdlYnNpdGUgZm9yIHRoaXMgcHJvamVjdC4NCiAgICAgICAgICAgICMgUHJvamVjdFVyaSA9ICcnDQogICAgDQogICAgICAgICAgICAjIEEgVVJMIHRvIGFuIGljb24gcmVwcmVzZW50aW5nIHRoaXMgbW9kdWxlLg0KICAgICAgICAgICAgIyBJY29uVXJpID0gJycNCiAgICANCiAgICAgICAgICAgICMgUmVsZWFzZU5vdGVzIG9mIHRoaXMgbW9kdWxlDQogICAgICAgICAgICAjIFJlbGVhc2VOb3RlcyA9ICcnDQogICAgDQogICAgICAgICAgICAjIFByZXJlbGVhc2Ugc3RyaW5nIG9mIHRoaXMgbW9kdWxlDQogICAgICAgICAgICAjIFByZXJlbGVhc2UgPSAnJw0KICAgIA0KICAgICAgICAgICAgIyBGbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG1vZHVsZSByZXF1aXJlcyBleHBsaWNpdCB1c2VyIGFjY2VwdGFuY2UgZm9yIGluc3RhbGwvdXBkYXRlL3NhdmUNCiAgICAgICAgICAgICMgUmVxdWlyZUxpY2Vuc2VBY2NlcHRhbmNlID0gJGZhbHNlDQogICAgDQogICAgICAgICAgICAjIEV4dGVybmFsIGRlcGVuZGVudCBtb2R1bGVzIG9mIHRoaXMgbW9kdWxlDQogICAgICAgICAgICAjIEV4dGVybmFsTW9kdWxlRGVwZW5kZW5jaWVzID0gQCgpDQogICAgDQogICAgICAgIH0gIyBFbmQgb2YgUFNEYXRhIGhhc2h0YWJsZQ0KICAgIA0KICAgIH0gIyBFbmQgb2YgUHJpdmF0ZURhdGEgaGFzaHRhYmxlDQp9AQkXAAAACRgAAAAGGQAAAA3Dvm5hbWXDvi5wc2QxBhoAAAAWw75uYW1lw75cw75uYW1lw74ucHNkMQkGAAAACRwAAAAJHQAAAAEOAAAADQAAAAYeAAAAbGZvcmVhY2ggKCRmaWxlIGluIEdldC1DaGlsZEl0ZW0gJFBTU2NyaXB0Um9vdFxmdW5jdGlvbnMgLVJlY3Vyc2UgLUZpbHRlciAnKi5wczEnKSB7DQogICAgLiAkZmlsZS5GdWxsTmFtZQ0KfQEJHwAAAAkgAAAABiEAAAANw75uYW1lw74ucHNtMQYiAAAAFsO+bmFtZcO+XMO+bmFtZcO+LnBzbTEJBgAAAAkkAAAACSUAAAABEAAAAAMAAAAJJgAAAAEAAAABAAAAARQAAAAHAAAACQsAAAAAAAAAAAAAAAEVAAAABwAAAAkLAAAAAAAAAAAAAAABFwAAAAcAAAAJKAAAAAQAAAAEAAAAARgAAAAHAAAACSkAAAABAAAAAQAAAAEcAAAABwAAAAkqAAAAAQAAAAEAAAABHQAAAAcAAAAJCwAAAAAAAAAAAAAAAR8AAAAHAAAACQsAAAAAAAAAAAAAAAEgAAAABwAAAAkLAAAAAAAAAAAAAAABJAAAAAcAAAAJLAAAAAEAAAABAAAAASUAAAAHAAAACQsAAAAAAAAAAAAAAAcmAAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACS4AAAANAxEoAAAABAAAAAYvAAAABG5hbWUGMAAAAAZhdXRob3IGMQAAAAdjb21wYW55BjIAAAALZGVzY3JpcHRpb24RKQAAAAQAAAAGMwAAABRkeW5hbWljc2NyaXB0Xzc4MDUxNQ0DESoAAAAEAAAABjQAAAAEbmFtZQ0DESwAAAAEAAAABjUAAAAEbmFtZQ0DAS4AAAANAAAABjYAAAAyIyBGdW5jdGlvbnMNCg0KUGxhY2UgYWxsIHlvdXIgZnVuY3Rpb24gY29kZSBoZXJlDQoBCTcAAAAJOAAAAAY5AAAACXJlYWRtZS5tZAY6AAAAHMO+bmFtZcO+XGZ1bmN0aW9uc1xyZWFkbWUubWQJBgAAAAk8AAAACT0AAAABNwAAAAcAAAAJCwAAAAAAAAAAAAAAATgAAAAHAAAACQsAAAAAAAAAAAAAAAE8AAAABwAAAAkLAAAAAAAAAAAAAAABPQAAAAcAAAAJCwAAAAAAAAAAAAAACw==</BA>
            </MS>
          </Obj>
        </LST>
      </Obj>
      <I32 N="Generation">1</I32>
    </Props>
    <MS>
      <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGUMAAAABE5hbWUEVHlwZQdWZXJzaW9uC0Rlc2NyaXB0aW9uBkF1dGhvcglDcmVhdGVkT24EVGFncwpQYXJhbWV0ZXJzB1NjcmlwdHMLUGFyYW1ldGVyczIIQ2hpbGRyZW4KR2VuZXJhdGlvbgEEAwEBAAMDAwMDAClQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlVHlwZQIAAAAOU3lzdGVtLlZlcnNpb24Nf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXYACU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlvbmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlclNjcmlwdCwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXYgCU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlvbmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlci5QYXJhbWV0ZXJCYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dngFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZSwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQgCAAAABgMAAAANQXp1cmVGdW5jdGlvbgX8////KVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVUeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkFAAAABgYAAAAdQmFzaWMgQXp1cmUgRnVuY3Rpb24gVGVtcGxhdGUGBwAAABJGcmllZHJpY2ggV2Vpbm1hbm4AgG4UqQfaiAkIAAAACQkAAAAJCgAAAAkLAAAACQwAAAABAAAABAUAAAAOU3lzdGVtLlZlcnNpb24EAAAABl9NYWpvcgZfTWlub3IGX0J1aWxkCV9SZXZpc2lvbgAAAAAICAgIAgAAAAAAAAAAAAAA/////wQIAAAAf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgYAAAgICQ0AAAACAAAAAAAAAAEJAAAACAAAAAkOAAAABAAAAAQAAAAECgAAAIACU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlvbmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlclNjcmlwdCwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQQAAAAHVmVyc2lvbghDb21wYXJlcghIYXNoU2l6ZQ1LZXlWYWx1ZVBhaXJzAAMAAwgWU3lzdGVtLk9yZGluYWxDb21wYXJlcgiEAlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLktleVZhbHVlUGFpcmAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlclNjcmlwdCwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXVtdAQAAAAkPAAAAAwAAAAkQAAAABAsAAACIAlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkRpY3Rpb25hcnlgMltbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5QYXJhbWV0ZXIuUGFyYW1ldGVyQmFzZSwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQMAAAAHVmVyc2lvbghDb21wYXJlcghIYXNoU2l6ZQADAAgWU3lzdGVtLk9yZGluYWxDb21wYXJlcggAAAAACQ8AAAAAAAAABAwAAACeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAvUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlW10CAAAACAgJEgAAAAMAAAADAAAAEQ0AAAACAAAABhMAAAAFYXp1cmUGFAAAAAhmdW5jdGlvbhEOAAAABAAAAAYVAAAABG5hbWUGFgAAAAZhdXRob3IGFwAAAAdjb21wYW55BhgAAAALZGVzY3JpcHRpb24EDwAAABZTeXN0ZW0uT3JkaW5hbENvbXBhcmVyAQAAAAtfaWdub3JlQ2FzZQABAQcQAAAAAAEAAAABAAAAA4ICU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuUGFyYW1ldGVyU2NyaXB0LCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dBOf///+CAlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLktleVZhbHVlUGFpcmAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlclNjcmlwdCwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQIAAAADa2V5BXZhbHVlAQQsUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5QYXJhbWV0ZXJTY3JpcHQCAAAABhoAAAAUZHluYW1pY3NjcmlwdF83ODA1MTUJGwAAAAcSAAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACRwAAAAJHQAAAAkeAAAACgwfAAAAX1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24sIFZlcnNpb249My4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BRsAAAAsUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5QYXJhbWV0ZXJTY3JpcHQCAAAABE5hbWULU2NyaXB0QmxvY2sBBDtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlNjcmlwdEJsb2NrU2VyaWFsaXphdGlvbkhlbHBlch8AAAACAAAACRoAAAAJIQAAAAUcAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJIgAAAAYjAAAABWJ1aWxkBiQAAAAFYnVpbGQGJQAAAALDvgkmAAAACScAAAABHQAAABwAAAAJKAAAAAYpAAAACGZ1bmN0aW9uBioAAAAIZnVuY3Rpb24JJQAAAAksAAAACS0AAAABHgAAABwAAAAJLgAAAAYvAAAACMO+bmFtZcO+BjAAAAAIw75uYW1lw74JJQAAAAkyAAAACTMAAAAFIQAAADtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlNjcmlwdEJsb2NrU2VyaWFsaXphdGlvbkhlbHBlcgEAAAAKU2NyaXB0VGV4dAEfAAAABjQAAAAKIE5ldy1HdWlkIAEiAAAADAAAAAk1AAAAAQAAAAEAAAABJgAAAAgAAAAJNgAAAAAAAAAAAAAAAScAAAAIAAAACTYAAAAAAAAAAAAAAAEoAAAADAAAAAk3AAAABAAAAAQAAAABLAAAAAgAAAAJNgAAAAAAAAAAAAAAAS0AAAAIAAAACTYAAAAAAAAAAAAAAAEuAAAADAAAAAk5AAAAAwAAAAMAAAABMgAAAAgAAAAJOgAAAAEAAAABAAAAATMAAAAIAAAACTYAAAAAAAAAAAAAAAc1AAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACTwAAAANAxE2AAAAAAAAAAc3AAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACT0AAAAJPgAAAAk/AAAACUAAAAAHOQAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlBAAAACUIAAAAJQwAAAAoROgAAAAQAAAAGRAAAAARuYW1lDQMFPAAAAC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUZpbGUJAAAABVZhbHVlCVBsYWluVGV4dBRDb250ZW50UGFyYW1ldGVyRmxhdBZDb250ZW50UGFyYW1ldGVyU2NyaXB0BE5hbWUMUmVsYXRpdmVQYXRoCklkZW50aWZpZXIXRmlsZVN5c3RlbVBhcmFtZXRlckZsYXQZRmlsZVN5c3RlbVBhcmFtZXRlclNjcmlwdAEAAwMBAQEDAwF/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGRQAAAK8IcGFyYW0gKA0KICAgIFtzdHJpbmddDQogICAgJFJlcG9zaXRvcnkgPSAnUFNHYWxsZXJ5Jw0KKQ0KJHdvcmtpbmdEaXJlY3RvcnkgPSBTcGxpdC1QYXRoICRQU1NjcmlwdFJvb3QNCg0KIyBQcmVwYXJlIG91dHB1dCBwYXRoIGFuZCBjb3B5IGZ1bmN0aW9uIGZvbGRlcg0KUmVtb3ZlLUl0ZW0gLVBhdGggIiR3b3JraW5nRGlyZWN0b3J5L3B1Ymxpc2giIC1SZWN1cnNlIC1Gb3JjZSAtRXJyb3JBY3Rpb24gSWdub3JlDQokYnVpbGRGb2xkZXIgPSBOZXctSXRlbSAtUGF0aCAkd29ya2luZ0RpcmVjdG9yeSAtTmFtZSAncHVibGlzaCcgLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UgLUVycm9yQWN0aW9uIFN0b3ANCkNvcHktSXRlbSAtUGF0aCAiJHdvcmtpbmdEaXJlY3RvcnkvZnVuY3Rpb24vKiIgLURlc3RpbmF0aW9uICRidWlsZEZvbGRlci5GdWxsTmFtZSAtUmVjdXJzZSAtRm9yY2UNCg0KIyBQcm9jZXNzIERlcGVuZGVuY2llcw0KJHJlcXVpcmVkTW9kdWxlcyA9IChJbXBvcnQtUG93ZXJTaGVsbERhdGFGaWxlIC1QYXRoICIkd29ya2luZ0RpcmVjdG9yeS/Dvm5hbWXDvi/Dvm5hbWXDvi5wc2QxIikuUmVxdWlyZWRNb2R1bGVzDQpmb3JlYWNoICgkbW9kdWxlIGluICRyZXF1aXJlZE1vZHVsZXMpIHsNCiAgICBTYXZlLU1vZHVsZSAtTmFtZSAkbW9kdWxlIC1QYXRoICIkKCRidWlsZEZvbGRlci5GdWxsTmFtZSkvbW9kdWxlcyIgLUZvcmNlIC1SZXBvc2l0b3J5ICRSZXBvc2l0b3J5DQp9DQoNCiMgUHJvY2VzcyBGdW5jdGlvbiBNb2R1bGUNCkNvcHktSXRlbSAtUGF0aCAiJHdvcmtpbmdEaXJlY3Rvcnkvw75uYW1lw74iIC1EZXN0aW5hdGlvbiAiJCgkYnVpbGRGb2xkZXIuRnVsbE5hbWUpL21vZHVsZXMiIC1Gb3JjZSAtUmVjdXJzZQ0KDQojIFBhY2thZ2UgJiBDbGVhbnVwDQpDb21wcmVzcy1BcmNoaXZlIC1QYXRoICIkKCRidWlsZEZvbGRlci5GdWxsTmFtZSkvKiIgLURlc3RpbmF0aW9uUGF0aCAiJHdvcmtpbmdEaXJlY3RvcnkvRnVuY3Rpb24uemlwIg0KUmVtb3ZlLUl0ZW0gLVBhdGggJGJ1aWxkRm9sZGVyLkZ1bGxOYW1lIC1SZWN1cnNlIC1Gb3JjZSAtRXJyb3JBY3Rpb24gSWdub3JlAQlGAAAACUcAAAAGSAAAAAlidWlsZC5wczEGSQAAAA9idWlsZFxidWlsZC5wczEJJQAAAAlLAAAACUwAAAABPQAAABwAAAAJTQAAAAZOAAAAB21vZHVsZXMGTwAAABBmdW5jdGlvblxtb2R1bGVzCSUAAAAJUQAAAAlSAAAAAT4AAAA8AAAABlMAAABNew0KICAidmVyc2lvbiI6ICIyLjAiLA0KICAibWFuYWdlZERlcGVuZGVuY3kiOiB7DQogICAgIkVuYWJsZWQiOiB0cnVlDQogIH0NCn0BCVQAAAAJVQAAAAZWAAAACWhvc3QuanNvbgZXAAAAEmZ1bmN0aW9uXGhvc3QuanNvbgklAAAACVkAAAAJWgAAAAE/AAAAPAAAAAZbAAAAjR0jIEF6dXJlIEZ1bmN0aW9ucyBwcm9maWxlLnBzMQ0KIw0KIyBUaGlzIHByb2ZpbGUucHMxIHdpbGwgZ2V0IGV4ZWN1dGVkIGV2ZXJ5ICJjb2xkIHN0YXJ0IiBvZiB5b3VyIEZ1bmN0aW9uIEFwcC4NCiMgImNvbGQgc3RhcnQiIG9jY3VycyB3aGVuOg0KIw0KIyAqIEEgRnVuY3Rpb24gQXBwIHN0YXJ0cyB1cCBmb3IgdGhlIHZlcnkgZmlyc3QgdGltZQ0KIyAqIEEgRnVuY3Rpb24gQXBwIHN0YXJ0cyB1cCBhZnRlciBiZWluZyBkZS1hbGxvY2F0ZWQgZHVlIHRvIGluYWN0aXZpdHkNCiMNCiMgWW91IGNhbiBkZWZpbmUgaGVscGVyIGZ1bmN0aW9ucywgcnVuIGNvbW1hbmRzLCBvciBzcGVjaWZ5IGVudmlyb25tZW50IHZhcmlhYmxlcw0KIyBOT1RFOiBhbnkgdmFyaWFibGVzIGRlZmluZWQgdGhhdCBhcmUgbm90IGVudmlyb25tZW50IHZhcmlhYmxlcyB3aWxsIGdldCByZXNldCBhZnRlciB0aGUgZmlyc3QgZXhlY3V0aW9uDQojIEF1dGhlbnRpY2F0ZSB3aXRoIEF6dXJlIFBvd2VyU2hlbGwgdXNpbmcgTVNJLg0KIyBSZW1vdmUgdGhpcyBpZiB5b3UgYXJlIG5vdCBwbGFubmluZyBvbiB1c2luZyBNU0kgb3IgQXp1cmUgUG93ZXJTaGVsbC4NCg0KaWYgKCRlbnY6TVNJX1NFQ1JFVCAtYW5kIChHZXQtTW9kdWxlIC1MaXN0QXZhaWxhYmxlIEF6LkFjY291bnRzKSkNCnsNCglDb25uZWN0LUF6QWNjb3VudCAtSWRlbnRpdHkNCn0NCg0KIyBVbmNvbW1lbnQgdGhlIG5leHQgbGluZSB0byBlbmFibGUgbGVnYWN5IEF6dXJlUm0gYWxpYXMgaW4gQXp1cmUgUG93ZXJTaGVsbC4NCiMgRW5hYmxlLUF6dXJlUm1BbGlhcw0KIyBZb3UgY2FuIGFsc28gZGVmaW5lIGZ1bmN0aW9ucyBvciBhbGlhc2VzIHRoYXQgY2FuIGJlIHJlZmVyZW5jZWQgaW4gYW55IG9mIHlvdXIgUG93ZXJTaGVsbCBmdW5jdGlvbnMuDQoNCmZ1bmN0aW9uIFdyaXRlLUZ1bmN0aW9uUmVzdWx0IHsNCgk8Iw0KCS5TWU5PUFNJUw0KCQlSZXBvcnRzIGJhY2sgdGhlIG91dHB1dCAvIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gYXBwLg0KCQ0KCS5ERVNDUklQVElPTg0KCQlSZXBvcnRzIGJhY2sgdGhlIG91dHB1dCAvIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gYXBwLg0KCQ0KCS5QQVJBTUVURVIgU3RhdHVzDQoJCVdoZXRoZXIgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCBvciBub3QuDQoJDQoJLlBBUkFNRVRFUiBCb2R5DQoJCUFueSBkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIHJlc3BvbnNlLg0KCQ0KCS5FWEFNUExFDQoJCVBTIEM6XD4gV3JpdGUtRnVuY3Rpb25SZXN1bHQgLVN0YXR1cyBPSyAtQm9keSAkbmV3VXNlcg0KDQoJCVJlcG9ydHMgc3VjY2VzcyB3aGlsZSByZXR1cm5pbmcgdGhlIGNvbnRlbnQgb2YgJG5ld1VzZXIgYXMgb3V0cHV0DQoJIz4NCiAgICBbQ21kbGV0QmluZGluZygpXQ0KICAgIHBhcmFtICgNCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnkgPSAkdHJ1ZSldDQogICAgICAgIFtTeXN0ZW0uTmV0Lkh0dHBTdGF0dXNDb2RlXQ0KICAgICAgICAkU3RhdHVzLA0KDQoJCVtBbGxvd051bGwoKV0NCiAgICAgICAgJEJvZHkNCiAgICApDQoNCiAgICBQdXNoLU91dHB1dEJpbmRpbmcgLU5hbWUgUmVzcG9uc2UgLVZhbHVlIChbSHR0cFJlc3BvbnNlQ29udGV4dF1Aew0KICAgICAgICAgICAgU3RhdHVzQ29kZSA9ICRTdGF0dXMNCiAgICAgICAgICAgIEJvZHkgICAgICAgPSAkQm9keQ0KICAgICAgICB9KQ0KfQ0KDQpmdW5jdGlvbiBHZXQtUmVzdFBhcmFtZXRlclZhbHVlIHsNCgk8Iw0KCS5TWU5PUFNJUw0KCQlFeHRyYWN0IHRoZSBleGFjdCB2YWx1ZSBvZiBhIHBhcmFtZXRlciBwcm92aWRlZCBieSB0aGUgdXNlci4NCgkNCgkuREVTQ1JJUFRJT04NCgkJRXh0cmFjdCB0aGUgZXhhY3QgdmFsdWUgb2YgYSBwYXJhbWV0ZXIgcHJvdmlkZWQgYnkgdGhlIHVzZXIuDQoJCUV4cGVjdHMgZWl0aGVyIHF1ZXJ5IG9yIGJvZHkgcGFyYW1ldGVycyBmcm9tIHRoZSByZXN0IGNhbGwgdG8gdGhlIGh0dHAgdHJpZ2dlci4NCgkNCgkuUEFSQU1FVEVSIFJlcXVlc3QNCgkJVGhlIHJlcXVlc3Qgb2JqZWN0IHByb3ZpZGVkIGFzIHBhcnQgb2YgdGhlIGZ1bmN0aW9uIGNhbGwuDQoJDQoJLlBBUkFNRVRFUiBOYW1lDQoJCVRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcHJvdmlkZS4NCgkNCgkuRVhBTVBMRQ0KCQlQUyBDOlw+IEdldC1SZXN0UGFyYW1ldGVyVmFsdWUgLVJlcXVlc3QgJFJlcXVlc3QgLU5hbWUgVHlwZQ0KDQoJCVJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIgIlR5cGUiLCBhcyBwcm92aWRlZCBieSB0aGUgY2FsbGVyDQoJIz4NCiAgICBbQ21kbGV0QmluZGluZygpXQ0KICAgIHBhcmFtICgNCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnkgPSAkdHJ1ZSldDQogICAgICAgICRSZXF1ZXN0LA0KDQogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5ID0gJHRydWUpXQ0KICAgICAgICBbc3RyaW5nXQ0KICAgICAgICAkTmFtZQ0KICAgICkNCg0KICAgIGlmICgkUmVxdWVzdC5RdWVyeS4kTmFtZSkgew0KICAgICAgICByZXR1cm4gJFJlcXVlc3QuUXVlcnkuJE5hbWUNCiAgICB9DQogICAgJFJlcXVlc3QuQm9keS4kTmFtZQ0KfQ0KDQpmdW5jdGlvbiBHZXQtUmVzdFBhcmFtZXRlciB7DQoJPCMNCgkuU1lOT1BTSVMNCgkJUGFyc2VzIHRoZSByZXN0IHJlcXVlc3QgcGFyYW1ldGVycyBmb3IgYWxsIHZhbHVlcyBtYXRjaGluZyBwYXJhbWV0ZXJzIG9uIHRoZSBzcGVjaWZpZWQgY29tbWFuZC4NCgkNCgkuREVTQ1JJUFRJT04NCgkJUGFyc2VzIHRoZSByZXN0IHJlcXVlc3QgcGFyYW1ldGVycyBmb3IgYWxsIHZhbHVlcyBtYXRjaGluZyBwYXJhbWV0ZXJzIG9uIHRoZSBzcGVjaWZpZWQgY29tbWFuZC4NCgkJUmV0dXJucyBhIGhhc2h0YWJsZSByZWFkeSBmb3Igc3BsYXR0aW5nLg0KCQlEb2VzIE5PVCBhc3NlcnQgbWFuZGF0b3J5IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgc28gY29tbWFuZCBpbnZvY2F0aW9uIG1heSBmYWlsLg0KCQ0KCS5QQVJBTUVURVIgUmVxdWVzdA0KCQlUaGUgb3JpZ2luYWwgcmVzdCByZXF1ZXN0IG9iamVjdCwgY29udGFpbmluZyB0aGUgY2FsbGVyJ3MgaW5mb3JtYXRpb24gc3VjaCBhcyBwYXJhbWV0ZXJzLg0KCQ0KCS5QQVJBTUVURVIgQ29tbWFuZA0KCQlUaGUgY29tbWFuZCB0byB3aGljaCB0byBiaW5kIGlucHV0IHBhcmFtZXRlcnMuDQoJDQoJLkVYQU1QTEUNCgkJUFMgQzpcPiBHZXQtUmVzdFBhcmFtZXRlciAtUmVxdWVzdCAkUmVxdWVzdCAtQ29tbWFuZCBHZXQtQXpVc2VyDQoNCgkJUmV0cmlldmVzIGFsbCBwYXJhbWV0ZXJzIG9uIHRoZSBpbmNvbWluZyByZXF1ZXN0IHRoYXQgbWF0Y2ggYSBwYXJhbWV0ZXIgb24gR2V0LUF6VXNlcg0KCSM+DQoJW0NtZGxldEJpbmRpbmcoKV0NCglQYXJhbSAoDQoJCVtQYXJhbWV0ZXIoTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQkkUmVxdWVzdCwNCg0KCQlbUGFyYW1ldGVyKE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW3N0cmluZ10NCgkJJENvbW1hbmQNCgkpDQoNCgkkY29tbWFuZEluZm8gPSBHZXQtQ29tbWFuZCAtTmFtZSAkQ29tbWFuZA0KCSRyZXN1bHRzID0gQHsgfQ0KCWZvcmVhY2ggKCRwYXJhbWV0ZXIgaW4gJGNvbW1hbmRJbmZvLlBhcmFtZXRlcnMuS2V5cykgew0KCQkkdmFsdWUgPSBHZXQtUmVzdFBhcmFtZXRlclZhbHVlIC1SZXF1ZXN0ICRSZXF1ZXN0IC1OYW1lICRwYXJhbWV0ZXINCgkJaWYgKCRudWxsIC1uZSAkdmFsdWUpIHsgJHJlc3VsdHNbJHBhcmFtZXRlcl0gPSAkdmFsdWUgfQ0KCX0NCgkkcmVzdWx0cw0KfQEJXAAAAAldAAAABl4AAAALcHJvZmlsZS5wczEGXwAAABRmdW5jdGlvblxwcm9maWxlLnBzMQklAAAACWEAAAAJYgAAAAFAAAAAPAAAAAZjAAAAEkB7DQoJQXogPSAnMS4qJw0KfQEJZAAAAAllAAAABmYAAAARcmVxdWlyZW1lbnRzLnBzZDEGZwAAABpmdW5jdGlvblxyZXF1aXJlbWVudHMucHNkMQklAAAACWkAAAAJagAAAAFBAAAAHAAAAAlrAAAABmwAAAAJZnVuY3Rpb25zBm0AAAASw75uYW1lw75cZnVuY3Rpb25zCSUAAAAJbwAAAAlwAAAAAUIAAAA8AAAABnEAAACIHUB7DQoNCiAgICAjIFNjcmlwdCBtb2R1bGUgb3IgYmluYXJ5IG1vZHVsZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hbmlmZXN0Lg0KICAgIFJvb3RNb2R1bGUgICAgICAgID0gJ8O+bmFtZcO+LnBzbTEnDQogICAgDQogICAgIyBWZXJzaW9uIG51bWJlciBvZiB0aGlzIG1vZHVsZS4NCiAgICBNb2R1bGVWZXJzaW9uICAgICA9ICcxLjAuMCcNCiAgICANCiAgICAjIFN1cHBvcnRlZCBQU0VkaXRpb25zDQogICAgIyBDb21wYXRpYmxlUFNFZGl0aW9ucyA9IEAoKQ0KICAgIA0KICAgICMgSUQgdXNlZCB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIG1vZHVsZQ0KICAgIEdVSUQgICAgICAgICAgICAgID0gJ8O+IWR5bmFtaWNzY3JpcHRfNzgwNTE1IcO+Jw0KICAgIA0KICAgICMgQXV0aG9yIG9mIHRoaXMgbW9kdWxlDQogICAgQXV0aG9yICAgICAgICAgICAgPSAnw75hdXRob3LDvicNCiAgICANCiAgICAjIENvbXBhbnkgb3IgdmVuZG9yIG9mIHRoaXMgbW9kdWxlDQogICAgQ29tcGFueU5hbWUgICAgICAgPSAnw75jb21wYW55w74nDQogICAgDQogICAgIyBDb3B5cmlnaHQgc3RhdGVtZW50IGZvciB0aGlzIG1vZHVsZQ0KICAgIENvcHlyaWdodCAgICAgICAgID0gJyhjKSDDvmF1dGhvcsO+LiBBbGwgcmlnaHRzIHJlc2VydmVkLicNCiAgICANCiAgICAjIERlc2NyaXB0aW9uIG9mIHRoZSBmdW5jdGlvbmFsaXR5IHByb3ZpZGVkIGJ5IHRoaXMgbW9kdWxlDQogICAgRGVzY3JpcHRpb24gPSAnw75kZXNjcmlwdGlvbsO+Jw0KICAgIA0KICAgICMgTWluaW11bSB2ZXJzaW9uIG9mIHRoZSBQb3dlclNoZWxsIGVuZ2luZSByZXF1aXJlZCBieSB0aGlzIG1vZHVsZQ0KICAgICMgUG93ZXJTaGVsbFZlcnNpb24gPSAnJw0KICAgIA0KICAgICMgTW9kdWxlcyB0aGF0IG11c3QgYmUgaW1wb3J0ZWQgaW50byB0aGUgZ2xvYmFsIGVudmlyb25tZW50IHByaW9yIHRvIGltcG9ydGluZyB0aGlzIG1vZHVsZQ0KICAgICMgUmVxdWlyZWRNb2R1bGVzICAgPSBAKCkNCiAgICANCiAgICAjIEFzc2VtYmxpZXMgdGhhdCBtdXN0IGJlIGxvYWRlZCBwcmlvciB0byBpbXBvcnRpbmcgdGhpcyBtb2R1bGUNCiAgICAjIFJlcXVpcmVkQXNzZW1ibGllcyA9IEAoJ2JpblxteS5kbGwnKQ0KICAgIA0KICAgICMgU2NyaXB0IGZpbGVzICgucHMxKSB0aGF0IGFyZSBydW4gaW4gdGhlIGNhbGxlcidzIGVudmlyb25tZW50IHByaW9yIHRvIGltcG9ydGluZyB0aGlzIG1vZHVsZS4NCiAgICAjIFNjcmlwdHNUb1Byb2Nlc3MgPSBAKCkNCiAgICANCiAgICAjIFR5cGUgZmlsZXMgKC5wczF4bWwpIHRvIGJlIGxvYWRlZCB3aGVuIGltcG9ydGluZyB0aGlzIG1vZHVsZQ0KICAgICMgVHlwZXNUb1Byb2Nlc3MgPSBAKCkNCiAgICANCiAgICAjIEZvcm1hdCBmaWxlcyAoLnBzMXhtbCkgdG8gYmUgbG9hZGVkIHdoZW4gaW1wb3J0aW5nIHRoaXMgbW9kdWxlDQogICAgIyBGb3JtYXRzVG9Qcm9jZXNzID0gQCgpDQogICAgDQogICAgIyBNb2R1bGVzIHRvIGltcG9ydCBhcyBuZXN0ZWQgbW9kdWxlcyBvZiB0aGUgbW9kdWxlIHNwZWNpZmllZCBpbiBSb290TW9kdWxlL01vZHVsZVRvUHJvY2Vzcw0KICAgICMgTmVzdGVkTW9kdWxlcyA9IEAoKQ0KICAgIA0KICAgICMgRnVuY3Rpb25zIHRvIGV4cG9ydCBmcm9tIHRoaXMgbW9kdWxlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZSwgZG8gbm90IHVzZSB3aWxkY2FyZHMgYW5kIGRvIG5vdCBkZWxldGUgdGhlIGVudHJ5LCB1c2UgYW4gZW1wdHkgYXJyYXkgaWYgdGhlcmUgYXJlIG5vIGZ1bmN0aW9ucyB0byBleHBvcnQuDQogICAgRnVuY3Rpb25zVG9FeHBvcnQgPSBAKA0KDQogICAgKQ0KICAgIA0KICAgICMgQ21kbGV0cyB0byBleHBvcnQgZnJvbSB0aGlzIG1vZHVsZSwgZm9yIGJlc3QgcGVyZm9ybWFuY2UsIGRvIG5vdCB1c2Ugd2lsZGNhcmRzIGFuZCBkbyBub3QgZGVsZXRlIHRoZSBlbnRyeSwgdXNlIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlIGFyZSBubyBjbWRsZXRzIHRvIGV4cG9ydC4NCiAgICAjIENtZGxldHNUb0V4cG9ydCAgID0gJyonDQogICAgDQogICAgIyBWYXJpYWJsZXMgdG8gZXhwb3J0IGZyb20gdGhpcyBtb2R1bGUNCiAgICAjIFZhcmlhYmxlc1RvRXhwb3J0ID0gJyonDQogICAgDQogICAgIyBBbGlhc2VzIHRvIGV4cG9ydCBmcm9tIHRoaXMgbW9kdWxlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZSwgZG8gbm90IHVzZSB3aWxkY2FyZHMgYW5kIGRvIG5vdCBkZWxldGUgdGhlIGVudHJ5LCB1c2UgYW4gZW1wdHkgYXJyYXkgaWYgdGhlcmUgYXJlIG5vIGFsaWFzZXMgdG8gZXhwb3J0Lg0KICAgICMgQWxpYXNlc1RvRXhwb3J0ICAgPSAnKicNCiAgICANCiAgICAjIERTQyByZXNvdXJjZXMgdG8gZXhwb3J0IGZyb20gdGhpcyBtb2R1bGUNCiAgICAjIERzY1Jlc291cmNlc1RvRXhwb3J0ID0gQCgpDQogICAgDQogICAgIyBMaXN0IG9mIGFsbCBtb2R1bGVzIHBhY2thZ2VkIHdpdGggdGhpcyBtb2R1bGUNCiAgICAjIE1vZHVsZUxpc3QgPSBAKCkNCiAgICANCiAgICAjIExpc3Qgb2YgYWxsIGZpbGVzIHBhY2thZ2VkIHdpdGggdGhpcyBtb2R1bGUNCiAgICAjIEZpbGVMaXN0ID0gQCgpDQogICAgDQogICAgIyBQcml2YXRlIGRhdGEgdG8gcGFzcyB0byB0aGUgbW9kdWxlIHNwZWNpZmllZCBpbiBSb290TW9kdWxlL01vZHVsZVRvUHJvY2Vzcy4gVGhpcyBtYXkgYWxzbyBjb250YWluIGEgUFNEYXRhIGhhc2h0YWJsZSB3aXRoIGFkZGl0aW9uYWwgbW9kdWxlIG1ldGFkYXRhIHVzZWQgYnkgUG93ZXJTaGVsbC4NCiAgICBQcml2YXRlRGF0YSAgICAgICA9IEB7DQogICAgDQogICAgICAgIFBTRGF0YSA9IEB7DQogICAgDQogICAgICAgICAgICAjIFRhZ3MgYXBwbGllZCB0byB0aGlzIG1vZHVsZS4gVGhlc2UgaGVscCB3aXRoIG1vZHVsZSBkaXNjb3ZlcnkgaW4gb25saW5lIGdhbGxlcmllcy4NCiAgICAgICAgICAgICMgVGFncyA9IEAoKQ0KICAgIA0KICAgICAgICAgICAgIyBBIFVSTCB0byB0aGUgbGljZW5z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</BA>
    </MS>
  </Obj>
</Objs>