<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>117403</bug_id>
          
          <creation_ts>2013-06-10 03:52:37 -0700</creation_ts>
          <short_desc>Support latest Web IDL named property getters</short_desc>
          <delta_ts>2013-06-11 06:04:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/TR/WebIDL/#idl-named-properties</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>haraken</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>898604</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-10 03:52:37 -0700</bug_when>
    <thetext>We should support the latest Web IDL named property getters and stop using the outdated [NamedGetter] IDL extended attribute.

This change was already done in Blink:
https://chromiumcodereview.appspot.com/14044026</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899171</commentid>
    <comment_count>1</comment_count>
      <attachid>204333</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-11 03:27:52 -0700</bug_when>
    <thetext>Created attachment 204333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899174</commentid>
    <comment_count>2</comment_count>
      <attachid>204333</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-11 03:31:14 -0700</bug_when>
    <thetext>Comment on attachment 204333
Patch

Sorry, changelog issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899175</commentid>
    <comment_count>3</comment_count>
      <attachid>204334</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-11 03:31:58 -0700</bug_when>
    <thetext>Created attachment 204334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899177</commentid>
    <comment_count>4</comment_count>
      <attachid>204333</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-06-11 03:36:16 -0700</bug_when>
    <thetext>Comment on attachment 204333
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=204333&amp;action=review

&gt; Source/WebCore/dom/DOMStringMap.idl:33
&gt; +    getter DOMString (DOMString name);

Just to confirm: Is it OK to omit the method name? I&apos;m not sure of how it is supported in JSC.

&gt; Source/WebCore/dom/NodeList.idl:28
&gt; +    getter (Node or unsigned long) (DOMString name);

How does this work? I thought IDL union is not yet supported in JSC.

&gt; Source/WebCore/html/HTMLAllCollection.idl:34
&gt; +    [Custom] getter Node namedItem(DOMString name);

What&apos;s the difference between &apos;[Custom] getter&apos; and [CustomNamedGetter] ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899182</commentid>
    <comment_count>5</comment_count>
      <attachid>204333</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-11 05:06:41 -0700</bug_when>
    <thetext>Comment on attachment 204333
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=204333&amp;action=review

&gt;&gt; Source/WebCore/dom/DOMStringMap.idl:33
&gt;&gt; +    getter DOMString (DOMString name);
&gt; 
&gt; Just to confirm: Is it OK to omit the method name? I&apos;m not sure of how it is supported in JSC.

I store anonymous functions such as this one in Interface-&gt;anonymousFunctions instead of Interface-&gt;functions so that no code is generated for those. interface-&gt;anonymousFunctions is currently used by GetSpecialAccessorFunctionForType() only to find specials. Therefore, the generated code is identical, this is covered by TestEventTarget.idl bindings test above.

&gt;&gt; Source/WebCore/dom/NodeList.idl:28
&gt;&gt; +    getter (Node or unsigned long) (DOMString name);
&gt; 
&gt; How does this work? I thought IDL union is not yet supported in JSC.

This is purely informative at this point. The JSC bindings generator does not currently generate everything.

The following methods are (need to be) defined in JSNodeListCustom.cpp:
bool JSNodeList::canGetItemsForName(ExecState*, NodeList* impl, PropertyName propertyName);
JSValue JSNodeList::nameGetter(ExecState* exec, JSValue slotBase, PropertyName propertyName);

Having [NamedGetter] only makes sure this custom code gets called.

&gt;&gt; Source/WebCore/html/HTMLAllCollection.idl:34
&gt;&gt; +    [Custom] getter Node namedItem(DOMString name);
&gt; 
&gt; What&apos;s the difference between &apos;[Custom] getter&apos; and [CustomNamedGetter] ?

There is currently a subtle difference:

1. If you use [CustomNamedGetter] and don&apos;t define the namedItem operation.
  - No &quot;namedItem&quot; method will be exposed on the object

2. If you use [CustomNamedGetter] and define the namedItem operation.
  - The namedItem operation will be exposed on the object but it will call the implementation code directly (no custom code)

3. If you use [Custom] getter namedItem(DOMString name)
  - the namedItem operation will be exposed on the object and will call its custom implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899183</commentid>
    <comment_count>6</comment_count>
      <attachid>204334</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-06-11 05:12:19 -0700</bug_when>
    <thetext>Comment on attachment 204334
Patch

Thanks for the clarification. The confusions comes from the fact that JSC&apos;s support for named getters isn&apos;t mature, but in summary, this patch improves the situation of current IDL files. LGTM.

Finally, we want to remove [CustomNamedGetter] and leave &apos;getter&apos; and &apos;[Custom] getter&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899187</commentid>
    <comment_count>7</comment_count>
      <attachid>204334</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-11 06:04:17 -0700</bug_when>
    <thetext>Comment on attachment 204334
Patch

Clearing flags on attachment: 204334

Committed r151434: &lt;http://trac.webkit.org/changeset/151434&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899188</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-11 06:04:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204333</attachid>
            <date>2013-06-11 03:27:52 -0700</date>
            <delta_ts>2013-06-11 05:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>117403_named_getter.patch</filename>
            <type>text/plain</type>
            <size>23372</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlY2YwZjA0Li5mNDY5MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTMtMDYtMTEgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgbGF0ZXN0IFdlYiBJREwgbmFtZWQgcHJvcGVydHkgZ2V0
dGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3
NDAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIHRoZSBsYXRlc3QgV2ViIElETCBuYW1lZCBwcm9wZXJ0eSBnZXR0ZXJzIHRv
IHRoZSBKU0MKKyAgICAgICAgYmluZGluZ3MgZ2VuZXJhdG9yOgorICAgICAgICBodHRwOi8vd3d3
LnczLm9yZy9UUi9XZWJJREwvI2lkbC1uYW1lZC1wcm9wZXJ0aWVzCisKKyAgICAgICAgRHJvcCBz
dXBwb3J0IGZvciBvdXRkYXRlZCBbTmFtZWRHZXR0ZXJdIElETCBleHRlbmRlZCBhdHRyaWJ1dGUu
CisKKyAgICAgICAgU3VwcG9ydCBmb3Igb3RoZXIga2luZHMgb2YgbmFtZWQgcHJvcGVydGllcyB3
aWxsIGJlIGFkZGVkIGluIGxhdGVyCisgICAgICAgIHBhdGNoZXMuIFRoaXMgcGF0Y2ggb25seSBi
cmluZ3MgbmFtZWQgcHJvcGVydHkgZ2V0dGVycy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eVNsb3RCb2R5KToKKyAg
ICAgICAgKEdlbmVyYXRlR2V0T3duUHJvcGVydHlEZXNjcmlwdG9yQm9keSk6CisgICAgICAgIChH
ZXRTcGVjaWFsQWNjZXNzb3JGdW5jdGlvbkZvclR5cGUpOgorICAgICAgICAoR2V0TmFtZWRHZXR0
ZXJGdW5jdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0
ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0
ZXMudHh0OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtOgorICAgICAg
ICAoYXBwbHlUeXBlZGVmcyk6CisgICAgICAgIChwYXJzZVNwZWNpYWxPcGVyYXRpb24pOgorICAg
ICAgICAocGFyc2VTcGVjaWFscyk6CisgICAgICAgIChhcHBseU1lbWJlckxpc3QpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RXZlbnRUYXJnZXQuaWRsOgorICAgICAgICAq
IGNzcy9TdHlsZVNoZWV0TGlzdC5pZGw6CisgICAgICAgICogZG9tL0RPTU5hbWVkRmxvd0NvbGxl
Y3Rpb24uaWRsOgorICAgICAgICAqIGRvbS9ET01TdHJpbmdNYXAuaWRsOgorICAgICAgICAqIGRv
bS9OYW1lZE5vZGVNYXAuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlTGlzdC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQ29sbGVj
dGlvbi5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MUHJvcGVydGllc0NvbGxlY3Rpb24uaWRsOgorICAgICAgICAq
IHBsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5pZGw6CisgICAgICAgICogcGx1Z2lucy9ET01QbHVn
aW4uaWRsOgorICAgICAgICAqIHBsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsOgorICAgICAgICAq
IHN0b3JhZ2UvU3RvcmFnZS5pZGw6CisKIDIwMTMtMDYtMTAgIE3DoXR5w6FzIE11c3RvaGEgIDxt
bWF0eWFzQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWZhY3Rv
ciBzdGF0dXNCYXJJdGVtcyBnZXR0ZXIgaW4gZnJvbnQtZW5kLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzZTE4NTgzLi42
YjVkMDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtMzUyLDYgKzM1Miw3IEBAIHN1YiBHZW5lcmF0ZUdldE93blByb3Bl
cnR5U2xvdEJvZHkKICAgICBteSAoJGludGVyZmFjZSwgJGludGVyZmFjZU5hbWUsICRjbGFzc05h
bWUsICRoYXNBdHRyaWJ1dGVzLCAkaW5saW5lZCkgPSBAXzsKIAogICAgIG15ICRuYW1lc3BhY2VN
YXliZSA9ICgkaW5saW5lZCA/ICJKU0M6OiIgOiAiIik7CisgICAgbXkgJG5hbWVkR2V0dGVyRnVu
Y3Rpb24gPSBHZXROYW1lZEdldHRlckZ1bmN0aW9uKCRpbnRlcmZhY2UpOwogCiAgICAgbXkgQGdl
dE93blByb3BlcnR5U2xvdEltcGwgPSAoKTsKIApAQCAtMzYyLDcgKzM2Myw3IEBAIHN1YiBHZW5l
cmF0ZUdldE93blByb3BlcnR5U2xvdEJvZHkKICAgICB9CiAKICAgICBteSAkbWFudWFsTG9va3Vw
R2V0dGVyR2VuZXJhdGlvbiA9IHN1YiB7Ci0gICAgICAgIG15ICRyZXF1aXJlc01hbnVhbExvb2t1
cCA9ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbmRleGVkR2V0dGVyIn0gfHwg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVkR2V0dGVyIn07CisgICAgICAg
IG15ICRyZXF1aXJlc01hbnVhbExvb2t1cCA9ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJJbmRleGVkR2V0dGVyIn0gfHwgJG5hbWVkR2V0dGVyRnVuY3Rpb247CiAgICAgICAgIGlm
ICgkcmVxdWlyZXNNYW51YWxMb29rdXApIHsKICAgICAgICAgICAgIHB1c2goQGdldE93blByb3Bl
cnR5U2xvdEltcGwsICIgICAgY29uc3QgJHtuYW1lc3BhY2VNYXliZX1IYXNoRW50cnkqIGVudHJ5
ID0gZ2V0U3RhdGljVmFsdWVTbG90RW50cnlXaXRob3V0Q2FjaGluZzwkY2xhc3NOYW1lPihleGVj
LCBwcm9wZXJ0eU5hbWUpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eVNs
b3RJbXBsLCAiICAgIGlmIChlbnRyeSkge1xuIik7CkBAIC0zOTUsNyArMzk2LDcgQEAgc3ViIEdl
bmVyYXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0
eVNsb3RJbXBsLCAiICAgIH1cbiIpOwogICAgIH0KIAotICAgIGlmICgkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRHZXR0ZXIifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRHZXR0ZXIifSkgeworICAgIGlmICgkbmFtZWRHZXR0ZXJG
dW5jdGlvbiB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRH
ZXR0ZXIifSkgewogICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgIGlm
IChjYW5HZXRJdGVtc0Zvck5hbWUoZXhlYywgc3RhdGljX2Nhc3Q8JGludGVyZmFjZU5hbWUqPih0
aGlzT2JqZWN0LT5pbXBsKCkpLCBwcm9wZXJ0eU5hbWUpKSB7XG4iKTsKICAgICAgICAgcHVzaChA
Z2V0T3duUHJvcGVydHlTbG90SW1wbCwgIiAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpc09iamVj
dCwgdGhpc09iamVjdC0+bmFtZUdldHRlcik7XG4iKTsKICAgICAgICAgcHVzaChAZ2V0T3duUHJv
cGVydHlTbG90SW1wbCwgIiAgICAgICAgcmV0dXJuIHRydWU7XG4iKTsKQEAgLTQzNSw2ICs0MzYs
NyBAQCBzdWIgR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JCb2R5CiAgICAgbXkgKCRp
bnRlcmZhY2UsICRpbnRlcmZhY2VOYW1lLCAkY2xhc3NOYW1lLCAkaGFzQXR0cmlidXRlcywgJGlu
bGluZWQpID0gQF87CiAgICAgCiAgICAgbXkgJG5hbWVzcGFjZU1heWJlID0gKCRpbmxpbmVkID8g
IkpTQzo6IiA6ICIiKTsKKyAgICBteSAkbmFtZWRHZXR0ZXJGdW5jdGlvbiA9IEdldE5hbWVkR2V0
dGVyRnVuY3Rpb24oJGludGVyZmFjZSk7CiAgICAgCiAgICAgbXkgQGdldE93blByb3BlcnR5RGVz
Y3JpcHRvckltcGwgPSAoKTsKICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNoZWNrU2VjdXJpdHkifSkgewpAQCAtNDU0LDcgKzQ1Niw3IEBAIHN1YiBHZW5lcmF0ZUdl
dE93blByb3BlcnR5RGVzY3JpcHRvckJvZHkKICAgICB9CiAgICAgCiAgICAgbXkgJG1hbnVhbExv
b2t1cEdldHRlckdlbmVyYXRpb24gPSBzdWIgewotICAgICAgICBteSAkcmVxdWlyZXNNYW51YWxM
b29rdXAgPSAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW5kZXhlZEdldHRlciJ9
IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOYW1lZEdldHRlciJ9OworICAg
ICAgICBteSAkcmVxdWlyZXNNYW51YWxMb29rdXAgPSAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSW5kZXhlZEdldHRlciJ9IHx8ICRuYW1lZEdldHRlckZ1bmN0aW9uOwogICAgICAg
ICBpZiAoJHJlcXVpcmVzTWFudWFsTG9va3VwKSB7CiAgICAgICAgICAgICBwdXNoKEBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3JJbXBsLCAiICAgIGNvbnN0ICR7bmFtZXNwYWNlTWF5YmV9SGFzaEVu
dHJ5KiBlbnRyeSA9ICR7Y2xhc3NOYW1lfVRhYmxlLmVudHJ5KGV4ZWMsIHByb3BlcnR5TmFtZSk7
XG4iKTsKICAgICAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5RGVzY3JpcHRvckltcGwsICIg
ICAgaWYgKGVudHJ5KSB7XG4iKTsKQEAgLTQ5NCw3ICs0OTYsNyBAQCBzdWIgR2VuZXJhdGVHZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3JCb2R5CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5RGVz
Y3JpcHRvckltcGwsICIgICAgfVxuIik7CiAgICAgfQogCi0gICAgaWYgKCRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJOYW1lZEdldHRlciJ9IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZEdldHRlciJ9KSB7CisgICAgaWYgKCRuYW1lZEdldHRl
ckZ1bmN0aW9uIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1l
ZEdldHRlciJ9KSB7CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5RGVzY3JpcHRvckltcGws
ICIgICAgaWYgKGNhbkdldEl0ZW1zRm9yTmFtZShleGVjLCBzdGF0aWNfY2FzdDwkaW50ZXJmYWNl
TmFtZSo+KHRoaXNPYmplY3QtPmltcGwoKSksIHByb3BlcnR5TmFtZSkpIHtcbiIpOwogICAgICAg
ICBwdXNoKEBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JJbXBsLCAiICAgICAgICAke25hbWVzcGFj
ZU1heWJlfVByb3BlcnR5U2xvdCBzbG90O1xuIik7CiAgICAgICAgIHB1c2goQGdldE93blByb3Bl
cnR5RGVzY3JpcHRvckltcGwsICIgICAgICAgIHNsb3Quc2V0Q3VzdG9tKHRoaXNPYmplY3QsIG5h
bWVHZXR0ZXIpO1xuIik7CkBAIC02MTEsNiArNjEzLDMxIEBAIHN1YiBHZXRGdW5jdGlvbk5hbWUK
ICAgICByZXR1cm4gJGNvZGVHZW5lcmF0b3ItPldLX2xjZmlyc3QoJGNsYXNzTmFtZSkgLiAka2lu
ZCAuICJGdW5jdGlvbiIgLiAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+bmFtZSk7CiB9CiAKK3N1YiBHZXRTcGVjaWFsQWNjZXNzb3JGdW5jdGlvbkZvclR5
cGUKK3sKKyAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7CisgICAgbXkgJHNwZWNpYWwgPSBzaGlm
dDsKKyAgICBteSAkZmlyc3RQYXJhbWV0ZXJUeXBlID0gc2hpZnQ7CisgICAgbXkgJG51bWJlck9m
UGFyYW1ldGVycyA9IHNoaWZ0OworCisgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7JGludGVy
ZmFjZS0+ZnVuY3Rpb25zfSwgQHskaW50ZXJmYWNlLT5hbm9ueW1vdXNGdW5jdGlvbnN9KSB7Cisg
ICAgICAgIG15ICRzcGVjaWFscyA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5zcGVjaWFsczsKKyAg
ICAgICAgbXkgJHNwZWNpYWxFeGlzdHMgPSBncmVwIHsgJF8gZXEgJHNwZWNpYWwgfSBAJHNwZWNp
YWxzOworICAgICAgICBteSAkcGFyYW1ldGVycyA9ICRmdW5jdGlvbi0+cGFyYW1ldGVyczsKKyAg
ICAgICAgaWYgKCRzcGVjaWFsRXhpc3RzIGFuZCBzY2FsYXIoQCRwYXJhbWV0ZXJzKSA9PSAkbnVt
YmVyT2ZQYXJhbWV0ZXJzIGFuZCAkcGFyYW1ldGVycy0+WzBdLT50eXBlIGVxICRmaXJzdFBhcmFt
ZXRlclR5cGUpIHsKKyAgICAgICAgICAgIHJldHVybiAkZnVuY3Rpb247CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3ViIEdldE5hbWVkR2V0dGVyRnVuY3Rpb24KK3sK
KyAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7CisgICAgcmV0dXJuIEdldFNwZWNpYWxBY2Nlc3Nv
ckZ1bmN0aW9uRm9yVHlwZSgkaW50ZXJmYWNlLCAiZ2V0dGVyIiwgIkRPTVN0cmluZyIsIDEpOwor
fQorCiBzdWIgR2VuZXJhdGVIZWFkZXIKIHsKICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CkBAIC03
NDUsOCArNzcyLDEwIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiAgICAgJGltcGxJbmNsdWRlc3si
JHtjbGFzc05hbWV9Q3VzdG9tLmgifSA9IDEgaWYgISRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJKU0N1c3RvbUhlYWRlciJ9ICYmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tUHV0RnVuY3Rpb24ifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tTmFtZWRTZXR0ZXIifSk7CiAKKyAgICBteSAkbmFtZWRHZXR0ZXJGdW5jdGlv
biA9IEdldE5hbWVkR2V0dGVyRnVuY3Rpb24oJGludGVyZmFjZSk7CisKICAgICBteSAkaGFzSW1w
dXJlTmFtZWRHZXR0ZXIgPQotICAgICAgICAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiTmFtZWRHZXR0ZXIifQorICAgICAgICAkbmFtZWRHZXR0ZXJGdW5jdGlvbgogICAgICAgICB8
fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRHZXR0ZXIifQog
ICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tR2V0T3du
UHJvcGVydHlTbG90In07CiAKQEAgLTk4Myw3ICsxMDEyLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVy
CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdm9pZCBpbmRleFNldHRlcihKU0M6
OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIGluZGV4LCBKU0M6OkpTVmFsdWUpO1xuIik7CiAgICAgfQog
ICAgICMgTmFtZSBnZXR0ZXIKLSAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57Ik5hbWVkR2V0dGVyIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1
c3RvbU5hbWVkR2V0dGVyIn0pIHsKKyAgICBpZiAoJG5hbWVkR2V0dGVyRnVuY3Rpb24gfHwgJGlu
dGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkR2V0dGVyIn0pIHsKICAg
ICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgInByaXZhdGU6XG4iKTsKICAgICAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgYm9vbCBjYW5HZXRJdGVtc0Zvck5hbWUoSlNDOjpF
eGVjU3RhdGUqLCAkaW50ZXJmYWNlTmFtZSosIEpTQzo6UHJvcGVydHlOYW1lKTtcbiIpOwogICAg
ICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgbmFtZUdl
dHRlcihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpO1xu
Iik7CkBAIC0xNTc3LDYgKzE2MDYsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
IG15ICRudW1Db25zdGFudHMgPSBAeyRpbnRlcmZhY2UtPmNvbnN0YW50c307CiAgICAgbXkgJG51
bUZ1bmN0aW9ucyA9IEB7JGludGVyZmFjZS0+ZnVuY3Rpb25zfTsKIAorICAgIG15ICRuYW1lZEdl
dHRlckZ1bmN0aW9uID0gR2V0TmFtZWRHZXR0ZXJGdW5jdGlvbigkaW50ZXJmYWNlKTsKKwogICAg
ICMgLSBBZGQgYWxsIGNvbnN0YW50cwogICAgIGlmICghJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Ik5vSW50ZXJmYWNlT2JqZWN0In0pIHsKICAgICAgICAgbXkgJGhhc2hTaXplID0g
JG51bUNvbnN0YW50czsKQEAgLTE4OTIsNyArMTkyMyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgICAgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJOdW1lcmljSW5kZXhlZEdldHRlciJ9CiAgICAgICAgICAgICAgICAgIHx8ICRpbnRlcmZh
Y2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUdldE93blByb3BlcnR5U2xvdEFuZERl
c2NyaXB0b3IifQogICAgICAgICAgICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90In0KLSAgICAgICAgICAgICAgICAgfHwg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVkR2V0dGVyIn0KKyAgICAgICAg
ICAgICAgICAgfHwgJG5hbWVkR2V0dGVyRnVuY3Rpb24KICAgICAgICAgICAgICAgICAgfHwgJGlu
dGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkR2V0dGVyIn07CiAKICAg
ICAjIEF0dHJpYnV0ZXMKQEAgLTE5MTMsNyArMTk0NCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkluZGV4ZWRHZXR0ZXIifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiTnVtZXJpY0luZGV4ZWRHZXR0ZXIifQotICAgICAgICAgICAgICAgIHx8ICRpbnRlcmZh
Y2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOYW1lZEdldHRlciJ9IHx8ICRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZEdldHRlciJ9CisgICAgICAgICAgICAgICAg
fHwgJG5hbWVkR2V0dGVyRnVuY3Rpb24gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkN1c3RvbU5hbWVkR2V0dGVyIn0KICAgICAgICAgICAgICAgICB8fCAkaW50ZXJmYWNlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3RBbmREZXNjcmlw
dG9yIn0pIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiYm9vbCAke2NsYXNzTmFt
ZX06OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIHVuc2lnbmVkIGluZGV4LCBQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CkBAIC0xOTQ2LDcgKzE5NzcsNyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIH1cbiIpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoJGludGVyZmFjZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVkR2V0dGVyIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkR2V0dGVyIn0pIHsKKyAgICAgICAgICAgIGlmICgk
bmFtZWRHZXR0ZXJGdW5jdGlvbiB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
Q3VzdG9tTmFtZWRHZXR0ZXIifSkgewogICAgICAgICAgICAgICAgICYkcHJvcGVydHlOYW1lR2Vu
ZXJhdGlvbigpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChj
YW5HZXRJdGVtc0Zvck5hbWUoZXhlYywgc3RhdGljX2Nhc3Q8JGludGVyZmFjZU5hbWUqPih0aGlz
T2JqZWN0LT5pbXBsKCkpLCBwcm9wZXJ0eU5hbWUpKSB7XG4iKTsKICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpc09iamVjdCwgdGhp
c09iamVjdC0+bmFtZUdldHRlcik7XG4iKTsKQEAgLTI2MzMsNyArMjY2NCw3IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgfQogCiAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJI
VE1MUHJvcGVydGllc0NvbGxlY3Rpb24iIG9yICRpbnRlcmZhY2VOYW1lIGVxICJET01OYW1lZEZs
b3dDb2xsZWN0aW9uIikgewotICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57Ik5hbWVkR2V0dGVyIn0pIHsKKyAgICAgICAgaWYgKCRuYW1lZEdldHRlckZ1bmN0aW9u
KSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgImJvb2wgJHtjbGFzc05hbWV9Ojpj
YW5HZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRlKiwgJGludGVyZmFjZU5hbWUqIGNvbGxlY3Rpb24s
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAie1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1
cm4gY29sbGVjdGlvbi0+aGFzTmFtZWRJdGVtKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHBy
b3BlcnR5TmFtZSkpO1xuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBjMDM2OTE2Li45NzRkZWU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTg0LDcg
Kzg0LDYgQEAgSlNOb1N0YXRpY1RhYmxlcwogSlNXaW5kb3dFdmVudExpc3RlbmVyCiBNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkCiBOYW1lZENvbnN0cnVjdG9yPSoKLU5hbWVkR2V0dGVyCiBOb0ludGVy
ZmFjZU9iamVjdAogTm90RW51bWVyYWJsZQogTnVtZXJpY0luZGV4ZWRHZXR0ZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KaW5kZXggNTlkMWUzYi4uYjZk
YWYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJz
ZXIucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0K
QEAgLTQ2LDYgKzQ2LDcgQEAgc3RydWN0KCBkb21JbnRlcmZhY2UgPT4gewogICAgIHBhcmVudHMg
PT4gJ0AnLCAgICAgICMgTGlzdCBvZiBzdHJpbmdzCiAgICAgY29uc3RhbnRzID0+ICdAJywgICAg
IyBMaXN0IG9mICdkb21Db25zdGFudCcKICAgICBmdW5jdGlvbnMgPT4gJ0AnLCAgICAjIExpc3Qg
b2YgJ2RvbUZ1bmN0aW9uJworICAgIGFub255bW91c0Z1bmN0aW9ucyA9PiAnQCcsICMgTGlzdCBv
ZiAnZG9tRnVuY3Rpb24nCiAgICAgYXR0cmlidXRlcyA9PiAnQCcsICAgICMgTGlzdCBvZiAnZG9t
QXR0cmlidXRlJyAgICAKICAgICBleHRlbmRlZEF0dHJpYnV0ZXMgPT4gJyQnLCAjIEV4dGVuZGVk
IGF0dHJpYnV0ZXMKICAgICBjb25zdHJ1Y3RvcnMgPT4gJ0AnLCAjIENvbnN0cnVjdG9ycywgbGlz
dCBvZiAnZG9tRnVuY3Rpb24nCkBAIC03NSw2ICs3Niw3IEBAIHN0cnVjdCggZG9tU2lnbmF0dXJl
ID0+IHsKICAgICBkaXJlY3Rpb24gPT4gJyQnLCAjIFZhcmlhYmxlIGRpcmVjdGlvbiAoaW4gb3Ig
b3V0KQogICAgIG5hbWUgPT4gJyQnLCAgICAgICMgVmFyaWFibGUgbmFtZQogICAgIHR5cGUgPT4g
JyQnLCAgICAgICMgVmFyaWFibGUgdHlwZQorICAgIHNwZWNpYWxzID0+ICdAJywgICMgU3BlY2lh
bHMKICAgICBleHRlbmRlZEF0dHJpYnV0ZXMgPT4gJyQnLCAjIEV4dGVuZGVkIGF0dHJpYnV0ZXMK
ICAgICBpc051bGxhYmxlID0+ICckJywgIyBJcyB2YXJpYWJsZSB0eXBlIE51bGxhYmxlIChUPykK
ICAgICBpc1ZhcmlhZGljID0+ICckJywgIyBJcyB2YXJpYWJsZSB2YXJpYWRpYyAobG9uZy4uLiBu
dW1iZXJzKQpAQCAtMzc4LDcgKzM4MCw3IEBAIHN1YiBhcHBseVR5cGVkZWZzCiAgICAgICAgICAg
ICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRlZmluaXRpb24tPmF0dHJpYnV0ZXN9KSB7CiAg
ICAgICAgICAgICAgICAgJHNlbGYtPmFwcGx5VHlwZWRlZnNGb3JTaWduYXR1cmUoJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvcmVhY2ggbXkgJGZ1
bmN0aW9uIChAeyRkZWZpbml0aW9uLT5mdW5jdGlvbnN9LCBAeyRkZWZpbml0aW9uLT5jb25zdHJ1
Y3RvcnN9LCBAeyRkZWZpbml0aW9uLT5jdXN0b21Db25zdHJ1Y3RvcnN9KSB7CisgICAgICAgICAg
ICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskZGVmaW5pdGlvbi0+ZnVuY3Rpb25zfSwgQHskZGVm
aW5pdGlvbi0+YW5vbnltb3VzRnVuY3Rpb25zfSwgQHskZGVmaW5pdGlvbi0+Y29uc3RydWN0b3Jz
fSwgQHskZGVmaW5pdGlvbi0+Y3VzdG9tQ29uc3RydWN0b3JzfSkgewogICAgICAgICAgICAgICAg
ICRzZWxmLT5hcHBseVR5cGVkZWZzRm9yU2lnbmF0dXJlKCRmdW5jdGlvbi0+c2lnbmF0dXJlKTsK
ICAgICAgICAgICAgICAgICBmb3JlYWNoIG15ICRzaWduYXR1cmUgKEB7JGZ1bmN0aW9uLT5wYXJh
bWV0ZXJzfSkgewogICAgICAgICAgICAgICAgICAgICAkc2VsZi0+YXBwbHlUeXBlZGVmc0ZvclNp
Z25hdHVyZSgkc2lnbmF0dXJlKTsKQEAgLTEyMTcsMTIgKzEyMTksMTMgQEAgc3ViIHBhcnNlU3Bl
Y2lhbE9wZXJhdGlvbgogCiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CiAgICAg
aWYgKCRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dFNwZWNpYWxzXzEvKSB7Ci0gICAgICAgICRzZWxm
LT5wYXJzZVNwZWNpYWwoKTsKLSAgICAgICAgJHNlbGYtPnBhcnNlU3BlY2lhbHMoKTsKKyAgICAg
ICAgbXkgQHNwZWNpYWxzID0gKCk7CisgICAgICAgIHB1c2goQHNwZWNpYWxzLCBAeyRzZWxmLT5w
YXJzZVNwZWNpYWxzKCl9KTsKICAgICAgICAgbXkgJHJldHVyblR5cGUgPSAkc2VsZi0+cGFyc2VS
ZXR1cm5UeXBlKCk7CiAgICAgICAgIG15ICRpbnRlcmZhY2UgPSAkc2VsZi0+cGFyc2VPcGVyYXRp
b25SZXN0KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgICAgICBpZiAoZGVmaW5lZCAoJGlu
dGVyZmFjZSkpIHsKICAgICAgICAgICAgICRpbnRlcmZhY2UtPnNpZ25hdHVyZS0+dHlwZSgkcmV0
dXJuVHlwZSk7CisgICAgICAgICAgICAgJGludGVyZmFjZS0+c2lnbmF0dXJlLT5zcGVjaWFscyhc
QHNwZWNpYWxzKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gJGludGVyZmFjZTsKICAgICB9
CkBAIC0xMjMyLDE2ICsxMjM1LDE3IEBAIHN1YiBwYXJzZVNwZWNpYWxPcGVyYXRpb24KIHN1YiBw
YXJzZVNwZWNpYWxzCiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSBAc3BlY2lhbHMg
PSAoKTsKIAogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRU
b2tlbigpOwogICAgICAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0U3BlY2lhbHNfMS8p
IHsKLSAgICAgICAgICAgICRzZWxmLT5wYXJzZVNwZWNpYWwoKTsKKyAgICAgICAgICAgIHB1c2go
QHNwZWNpYWxzLCAkc2VsZi0+cGFyc2VTcGVjaWFsKCkpOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgbGFzdDsKICAgICAgICAgfQogICAgIH0KLSAgICByZXR1cm4gW107CisgICAgcmV0
dXJuIFxAc3BlY2lhbHM7CiB9CiAKIHN1YiBwYXJzZVNwZWNpYWwKQEAgLTI0MTUsNyArMjQxOSwx
MSBAQCBzdWIgYXBwbHlNZW1iZXJMaXN0CiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAg
ICAgICAgIGlmIChyZWYoJGl0ZW0pIGVxICJkb21GdW5jdGlvbiIpIHsKLSAgICAgICAgICAgIHB1
c2goQHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9LCAkaXRlbSk7CisgICAgICAgICAgICBpZiAoJGl0
ZW0tPnNpZ25hdHVyZS0+bmFtZSBlcSAiIikgeworICAgICAgICAgICAgICAgIHB1c2goQHskaW50
ZXJmYWNlLT5hbm9ueW1vdXNGdW5jdGlvbnN9LCAkaXRlbSk7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIHB1c2goQHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9LCAkaXRlbSk7
CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRh
cmdldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEV2ZW50
VGFyZ2V0LmlkbAppbmRleCA2ZTk0ODdlLi42ZjA2NTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEV2ZW50VGFyZ2V0LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEV2ZW50VGFyZ2V0LmlkbApAQCAt
MjksMTEgKzI5LDExIEBACiBbCiAgICAgRXZlbnRUYXJnZXQsCiAgICAgSW5kZXhlZEdldHRlciwK
LSAgICBOYW1lZEdldHRlciwKICAgICBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCiBdIGludGVyZmFj
ZSBUZXN0RXZlbnRUYXJnZXQgewogCiAgICAgTm9kZSBpdGVtKFtJc0luZGV4XSB1bnNpZ25lZCBs
b25nIGluZGV4KTsKKyAgICBnZXR0ZXIgTm9kZSAoRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgdm9p
ZCBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRM
aXN0LmlkbAppbmRleCBjNWQ5YTk4Li40NjY4NmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNo
ZWV0TGlzdC5pZGwKQEAgLTIyLDEwICsyMiwxMCBAQAogWwogICAgIEdlbmVyYXRlSXNSZWFjaGFi
bGU9SW1wbERvY3VtZW50LAogICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgTmFtZWRHZXR0ZXIsCiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgU3R5bGVTaGVldExpc3Qg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nICAgIGxlbmd0aDsKICAgICBT
dHlsZVNoZWV0ICAgICAgICAgaXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOworICAgIGdldHRlciBDU1NTdHlsZVNoZWV0IChET01TdHJpbmcgbmFt
ZSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTmFtZWRGbG93Q29s
bGVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5p
ZGwKaW5kZXggMDQ1OTY4My4uOWI0M2JhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01O
YW1lZEZsb3dDb2xsZWN0aW9uLmlkbApAQCAtMzMsMTAgKzMzLDkgQEAKICAgICBJbnRlcmZhY2VO
YW1lPVdlYktpdE5hbWVkRmxvd0NvbGxlY3Rpb24sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3Qs
CiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRlciwKICAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01OYW1lZEZsb3dDb2xsZWN0aW9uIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgV2ViS2l0TmFtZWRG
bG93IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgV2ViS2l0TmFtZWRGbG93IG5hbWVk
SXRlbShET01TdHJpbmcgbmFtZSk7CisgICAgZ2V0dGVyIFdlYktpdE5hbWVkRmxvdyBuYW1lZEl0
ZW0oRE9NU3RyaW5nIG5hbWUpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01TdHJpbmdNYXAuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKaW5k
ZXggZmRiNDA0Ny4uMjFmNWJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0
cmluZ01hcC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKQEAg
LTI1LDExICsyNSwxMSBAQAogCiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVu
dFJvb3QsCi0gICAgTmFtZWRHZXR0ZXIsCiAgICAgQ3VzdG9tRGVsZXRlUHJvcGVydHksCiAgICAg
Q3VzdG9tRW51bWVyYXRlUHJvcGVydHksCiAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIsCiAgICAgU2tp
cFZUYWJsZVZhbGlkYXRpb24KIF0gaW50ZXJmYWNlIERPTVN0cmluZ01hcCB7CisgICAgZ2V0dGVy
IERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2Rl
TWFwLmlkbAppbmRleCBlZmFlNzE1Li41Y2RlODhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTmFtZWROb2RlTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2Rl
TWFwLmlkbApAQCAtMjEsMTEgKzIxLDEwIEBACiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1J
bXBsRWxlbWVudFJvb3QsCiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRlciwKICAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBOYW1lZE5vZGVNYXAgewog
Ci0gICAgTm9kZSBnZXROYW1lZEl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01T
dHJpbmcgbmFtZSk7CisgICAgZ2V0dGVyIE5vZGUgZ2V0TmFtZWRJdGVtKFtEZWZhdWx0PVVuZGVm
aW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0g
Tm9kZSBzZXROYW1lZEl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIG5vZGUp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3QuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGVMaXN0LmlkbAppbmRleCBiZGMzZDM1Li4yZmZjYzZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlTGlzdC5pZGwKQEAgLTIxLDExICsyMSwxMSBAQAogWwogICAgIEN1c3RvbUlzUmVh
Y2hhYmxlLAogICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgTmFtZWRHZXR0ZXIsCiAgICAgU2tpcFZU
YWJsZVZhbGlkYXRpb24KIF0gaW50ZXJmYWNlIE5vZGVMaXN0IHsKIAogICAgIE5vZGUgaXRlbShb
SXNJbmRleCxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCk7
CisgICAgZ2V0dGVyIChOb2RlIG9yIHVuc2lnbmVkIGxvbmcpIChET01TdHJpbmcgbmFtZSk7CiAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwKaW5kZXggOTZmNmZhYy4uNjJlOTEzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwKQEAgLTI1LDE0ICsy
NSwxMyBAQAogCiBbCiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRlciwKICAgICBD
dXN0b21DYWxsLAogICAgIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQsCiAgICAgR2VuZXJhdGVJc1Jl
YWNoYWJsZT1JbXBsT3duZXJOb2RlUm9vdCwKIF0gaW50ZXJmYWNlIEhUTUxBbGxDb2xsZWN0aW9u
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgW0N1
c3RvbV0gTm9kZSBpdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBpbmRleCk7Ci0gICAgW0N1c3RvbV0gTm9kZSBuYW1lZEl0ZW0oRE9NU3RyaW5nIG5hbWUpOwor
ICAgIFtDdXN0b21dIGdldHRlciBOb2RlIG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiAgICAg
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIHJldHVybiBhbiBIVE1MQWxsQ29sbGVjdGlvbi4KICAgICBO
b2RlTGlzdCB0YWdzKERPTVN0cmluZyBuYW1lKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENv
bGxlY3Rpb24uaWRsCmluZGV4IDI2ODZlZGQuLjcxNmY0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENvbGxlY3Rpb24uaWRsCkBAIC0yMCwxNCArMjAsMTMgQEAKIAogWwogICAgIEluZGV4ZWRH
ZXR0ZXIsCi0gICAgTmFtZWRHZXR0ZXIsCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290LAogICAgIE9iakNQb2x5bW9ycGhpYywK
IF0gaW50ZXJmYWNlIEhUTUxDb2xsZWN0aW9uIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsZW5ndGg7CiAgICAgTm9kZSBpdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgTm9kZSBuYW1lZEl0ZW0oW0RlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CisgICAgZ2V0dGVyIE5vZGUgbmFt
ZWRJdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwogCiAj
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
ICAgICBOb2RlTGlzdCB0YWdzKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5n
IG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xz
Q29sbGVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uLmlkbAppbmRleCA4ZGZhNDUyLi4wYzA0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbApAQCAtMjAsOCArMjAsNyBA
QAogCiBbCiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRlciwKICAgICBHZW5lcmF0
ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290LAogXSBpbnRlcmZhY2UgSFRNTEZvcm1Db250
cm9sc0NvbGxlY3Rpb24gOiBIVE1MQ29sbGVjdGlvbiB7Ci0gICAgW0N1c3RvbV0gTm9kZSBuYW1l
ZEl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CisgICAg
W0N1c3RvbV0gZ2V0dGVyIE5vZGUgbmFtZWRJdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NU3RyaW5nIG5hbWUpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFByb3BlcnRpZXNDb2xsZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBy
b3BlcnRpZXNDb2xsZWN0aW9uLmlkbAppbmRleCBkMDZiYzM5Li40OWFmNGVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvbi5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvcGVydGllc0NvbGxlY3Rpb24uaWRsCkBAIC0zMSwx
MiArMzEsMTEgQEAKIFsKICAgICBDb25kaXRpb25hbD1NSUNST0RBVEEsCiAgICAgSlNHZW5lcmF0
ZVRvSlNPYmplY3QsCi0gICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRlcgorICAgIElu
ZGV4ZWRHZXR0ZXIKIF0gaW50ZXJmYWNlIEhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvbiA6IEhUTUxD
b2xsZWN0aW9uIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7
CiAgICAgTm9kZSBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZ0xpc3QgbmFtZXM7Ci0gICAgW0ltcGxlbWVudGVkQXM9cHJvcGVydHlO
b2RlTGlzdF0gUHJvcGVydHlOb2RlTGlzdCBuYW1lZEl0ZW0oRE9NU3RyaW5nIG5hbWUpOworICAg
IFtJbXBsZW1lbnRlZEFzPXByb3BlcnR5Tm9kZUxpc3RdIGdldHRlciBQcm9wZXJ0eU5vZGVMaXN0
IG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
RE9NTWltZVR5cGVBcnJheS5pZGwKaW5kZXggZGM3OWI2MS4uNDY2NzM0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRsCkBAIC0yMCwxMiArMjAsMTEgQEAK
IAogWwogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEZyYW1lLAotICAgIE5hbWVkR2V0dGVy
LAogICAgIEluZGV4ZWRHZXR0ZXIsCiAgICAgSW50ZXJmYWNlTmFtZT1NaW1lVHlwZUFycmF5CiBd
IGludGVyZmFjZSBET01NaW1lVHlwZUFycmF5IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsZW5ndGg7CiAgICAgRE9NTWltZVR5cGUgaXRlbShbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIERPTU1pbWVUeXBlIG5hbWVk
SXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBn
ZXR0ZXIgRE9NTWltZVR5cGUgbmFtZWRJdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIG5hbWUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lu
cy9ET01QbHVnaW4uaWRsIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uaWRsCmlu
ZGV4IDMzYWUwNzkuLmY0YWM0NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
RE9NUGx1Z2luLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5pZGwK
QEAgLTE5LDcgKzE5LDYgQEAKICovCiAKIFsKLSAgICBOYW1lZEdldHRlciwKICAgICBJbmRleGVk
R2V0dGVyLAogICAgIEludGVyZmFjZU5hbWU9UGx1Z2luCiBdIGludGVyZmFjZSBET01QbHVnaW4g
ewpAQCAtMjgsNiArMjcsNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZGVz
Y3JpcHRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwog
ICAgIERPTU1pbWVUeXBlIGl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKLSAgICBET01NaW1lVHlwZSBuYW1lZEl0ZW0oW0RlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CisgICAgZ2V0dGVyIERPTU1pbWVUeXBlIG5h
bWVkSXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRs
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwKaW5kZXggODU2Y2Rk
Yi4uYjVhMGZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW5B
cnJheS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwK
QEAgLTIwLDEzICsyMCwxMiBAQAogCiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRnJh
bWUsCi0gICAgTmFtZWRHZXR0ZXIsCiAgICAgSW5kZXhlZEdldHRlciwKICAgICBJbnRlcmZhY2VO
YW1lPVBsdWdpbkFycmF5CiBdIGludGVyZmFjZSBET01QbHVnaW5BcnJheSB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgIERPTVBsdWdpbiBpdGVtKFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgRE9N
UGx1Z2luIG5hbWVkSXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBu
YW1lKTsKKyAgICBnZXR0ZXIgRE9NUGx1Z2luIG5hbWVkSXRlbShbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKICAgICB2b2lkIHJlZnJlc2goW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBib29sZWFuIHJlbG9hZCk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlLmlkbAppbmRleCBiMjNjMWJkLi5iY2JkM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZS5pZGwKQEAgLTI0LDcgKzI0LDYgQEAKICAqLwogCiBbCi0gICAgTmFtZWRHZXR0ZXIsCiAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRnJhbWUsCiAgICAgQ3VzdG9tRGVsZXRlUHJvcGVy
dHksCiAgICAgQ3VzdG9tRW51bWVyYXRlUHJvcGVydHksCkBAIC0zMyw3ICszMiw3IEBACiBdIGlu
dGVyZmFjZSBTdG9yYWdlIHsKICAgICBbTm90RW51bWVyYWJsZSwgR2V0dGVyUmFpc2VzRXhjZXB0
aW9uXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgW05vdEVu
dW1lcmFibGUsIFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbCwgUmFpc2VzRXhjZXB0aW9u
XSBET01TdHJpbmcga2V5KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtOb3RFbnVtZXJhYmxl
LCBUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGwsIFJhaXNlc0V4Y2VwdGlvbl0gRE9NU3Ry
aW5nIGdldEl0ZW0oRE9NU3RyaW5nIGtleSk7CisgICAgW05vdEVudW1lcmFibGUsIFRyZWF0UmV0
dXJuZWROdWxsU3RyaW5nQXM9TnVsbCwgUmFpc2VzRXhjZXB0aW9uXSBnZXR0ZXIgRE9NU3RyaW5n
IGdldEl0ZW0oRE9NU3RyaW5nIGtleSk7CiAgICAgW05vdEVudW1lcmFibGUsIFJhaXNlc0V4Y2Vw
dGlvbl0gdm9pZCBzZXRJdGVtKERPTVN0cmluZyBrZXksIERPTVN0cmluZyBkYXRhKTsKICAgICBb
Tm90RW51bWVyYWJsZSwgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHJlbW92ZUl0ZW0oRE9NU3RyaW5n
IGtleSk7CiAgICAgW05vdEVudW1lcmFibGUsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204334</attachid>
            <date>2013-06-11 03:31:58 -0700</date>
            <delta_ts>2013-06-11 06:04:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>117403_named_getter.patch</filename>
            <type>text/plain</type>
            <size>23443</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlY2YwZjA0Li41YTQ4YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEg
QEAKKzIwMTMtMDYtMTEgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgbGF0ZXN0IFdlYiBJREwgbmFtZWQgcHJvcGVydHkgZ2V0
dGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3
NDAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIHRoZSBsYXRlc3QgV2ViIElETCBuYW1lZCBwcm9wZXJ0eSBnZXR0ZXJzIHRv
IHRoZSBKU0MKKyAgICAgICAgYmluZGluZ3MgZ2VuZXJhdG9yOgorICAgICAgICBodHRwOi8vd3d3
LnczLm9yZy9UUi9XZWJJREwvI2lkbC1uYW1lZC1wcm9wZXJ0aWVzCisKKyAgICAgICAgRHJvcCBz
dXBwb3J0IGZvciBvdXRkYXRlZCBbTmFtZWRHZXR0ZXJdIElETCBleHRlbmRlZCBhdHRyaWJ1dGUu
CisKKyAgICAgICAgU3VwcG9ydCBmb3Igb3RoZXIga2luZHMgb2YgbmFtZWQgcHJvcGVydGllcyB3
aWxsIGJlIGFkZGVkIGluIGxhdGVyCisgICAgICAgIHBhdGNoZXMuIFRoaXMgcGF0Y2ggb25seSBi
cmluZ3MgbmFtZWQgcHJvcGVydHkgZ2V0dGVycy4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGJh
c2VkIG9uIEJsaW5rIHIxNDkyNDcgYnkga29qaWhAY2hyb21pdW0ub3JnLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUdldE93blByb3BlcnR5
U2xvdEJvZHkpOgorICAgICAgICAoR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JCb2R5
KToKKyAgICAgICAgKEdldFNwZWNpYWxBY2Nlc3NvckZ1bmN0aW9uRm9yVHlwZSk6CisgICAgICAg
IChHZXROYW1lZEdldHRlckZ1bmN0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAg
ICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJz
ZXIucG06CisgICAgICAgIChhcHBseVR5cGVkZWZzKToKKyAgICAgICAgKHBhcnNlU3BlY2lhbE9w
ZXJhdGlvbik6CisgICAgICAgIChwYXJzZVNwZWNpYWxzKToKKyAgICAgICAgKGFwcGx5TWVtYmVy
TGlzdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRhcmdldC5p
ZGw6CisgICAgICAgICogY3NzL1N0eWxlU2hlZXRMaXN0LmlkbDoKKyAgICAgICAgKiBkb20vRE9N
TmFtZWRGbG93Q29sbGVjdGlvbi5pZGw6CisgICAgICAgICogZG9tL0RPTVN0cmluZ01hcC5pZGw6
CisgICAgICAgICogZG9tL05hbWVkTm9kZU1hcC5pZGw6CisgICAgICAgICogZG9tL05vZGVMaXN0
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxDb2xsZWN0aW9uLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvbi5p
ZGw6CisgICAgICAgICogcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmlkbDoKKyAgICAgICAgKiBw
bHVnaW5zL0RPTVBsdWdpbi5pZGw6CisgICAgICAgICogcGx1Z2lucy9ET01QbHVnaW5BcnJheS5p
ZGw6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmlkbDoKKwogMjAxMy0wNi0xMCAgTcOhdHnD
oXMgTXVzdG9oYSAgPG1tYXR5YXNAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IHJlZmFjdG9yIHN0YXR1c0Jhckl0ZW1zIGdldHRlciBpbiBmcm9udC1lbmQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmlu
ZGV4IDNlMTg1ODMuLjZiNWQwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zNTIsNiArMzUyLDcgQEAgc3ViIEdlbmVy
YXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogICAgIG15ICgkaW50ZXJmYWNlLCAkaW50ZXJmYWNl
TmFtZSwgJGNsYXNzTmFtZSwgJGhhc0F0dHJpYnV0ZXMsICRpbmxpbmVkKSA9IEBfOwogCiAgICAg
bXkgJG5hbWVzcGFjZU1heWJlID0gKCRpbmxpbmVkID8gIkpTQzo6IiA6ICIiKTsKKyAgICBteSAk
bmFtZWRHZXR0ZXJGdW5jdGlvbiA9IEdldE5hbWVkR2V0dGVyRnVuY3Rpb24oJGludGVyZmFjZSk7
CiAKICAgICBteSBAZ2V0T3duUHJvcGVydHlTbG90SW1wbCA9ICgpOwogCkBAIC0zNjIsNyArMzYz
LDcgQEAgc3ViIEdlbmVyYXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogICAgIH0KIAogICAgIG15
ICRtYW51YWxMb29rdXBHZXR0ZXJHZW5lcmF0aW9uID0gc3ViIHsKLSAgICAgICAgbXkgJHJlcXVp
cmVzTWFudWFsTG9va3VwID0gJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkluZGV4
ZWRHZXR0ZXIifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRHZXR0
ZXIifTsKKyAgICAgICAgbXkgJHJlcXVpcmVzTWFudWFsTG9va3VwID0gJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkluZGV4ZWRHZXR0ZXIifSB8fCAkbmFtZWRHZXR0ZXJGdW5jdGlv
bjsKICAgICAgICAgaWYgKCRyZXF1aXJlc01hbnVhbExvb2t1cCkgewogICAgICAgICAgICAgcHVz
aChAZ2V0T3duUHJvcGVydHlTbG90SW1wbCwgIiAgICBjb25zdCAke25hbWVzcGFjZU1heWJlfUhh
c2hFbnRyeSogZW50cnkgPSBnZXRTdGF0aWNWYWx1ZVNsb3RFbnRyeVdpdGhvdXRDYWNoaW5nPCRj
bGFzc05hbWU+KGV4ZWMsIHByb3BlcnR5TmFtZSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGdl
dE93blByb3BlcnR5U2xvdEltcGwsICIgICAgaWYgKGVudHJ5KSB7XG4iKTsKQEAgLTM5NSw3ICsz
OTYsNyBAQCBzdWIgR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eVNsb3RCb2R5CiAgICAgICAgIHB1c2go
QGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAgfVxuIik7CiAgICAgfQogCi0gICAgaWYgKCRp
bnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOYW1lZEdldHRlciJ9IHx8ICRpbnRlcmZh
Y2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZEdldHRlciJ9KSB7CisgICAgaWYg
KCRuYW1lZEdldHRlckZ1bmN0aW9uIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDdXN0b21OYW1lZEdldHRlciJ9KSB7CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xv
dEltcGwsICIgICAgaWYgKGNhbkdldEl0ZW1zRm9yTmFtZShleGVjLCBzdGF0aWNfY2FzdDwkaW50
ZXJmYWNlTmFtZSo+KHRoaXNPYmplY3QtPmltcGwoKSksIHByb3BlcnR5TmFtZSkpIHtcbiIpOwog
ICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgICAgICBzbG90LnNldEN1
c3RvbSh0aGlzT2JqZWN0LCB0aGlzT2JqZWN0LT5uYW1lR2V0dGVyKTtcbiIpOwogICAgICAgICBw
dXNoKEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgICAgICByZXR1cm4gdHJ1ZTtcbiIpOwpA
QCAtNDM1LDYgKzQzNiw3IEBAIHN1YiBHZW5lcmF0ZUdldE93blByb3BlcnR5RGVzY3JpcHRvckJv
ZHkKICAgICBteSAoJGludGVyZmFjZSwgJGludGVyZmFjZU5hbWUsICRjbGFzc05hbWUsICRoYXNB
dHRyaWJ1dGVzLCAkaW5saW5lZCkgPSBAXzsKICAgICAKICAgICBteSAkbmFtZXNwYWNlTWF5YmUg
PSAoJGlubGluZWQgPyAiSlNDOjoiIDogIiIpOworICAgIG15ICRuYW1lZEdldHRlckZ1bmN0aW9u
ID0gR2V0TmFtZWRHZXR0ZXJGdW5jdGlvbigkaW50ZXJmYWNlKTsKICAgICAKICAgICBteSBAZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9ySW1wbCA9ICgpOwogICAgIGlmICgkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9KSB7CkBAIC00NTQsNyArNDU2LDcgQEAg
c3ViIEdlbmVyYXRlR2V0T3duUHJvcGVydHlEZXNjcmlwdG9yQm9keQogICAgIH0KICAgICAKICAg
ICBteSAkbWFudWFsTG9va3VwR2V0dGVyR2VuZXJhdGlvbiA9IHN1YiB7Ci0gICAgICAgIG15ICRy
ZXF1aXJlc01hbnVhbExvb2t1cCA9ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJ
bmRleGVkR2V0dGVyIn0gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVk
R2V0dGVyIn07CisgICAgICAgIG15ICRyZXF1aXJlc01hbnVhbExvb2t1cCA9ICRpbnRlcmZhY2Ut
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbmRleGVkR2V0dGVyIn0gfHwgJG5hbWVkR2V0dGVyRnVu
Y3Rpb247CiAgICAgICAgIGlmICgkcmVxdWlyZXNNYW51YWxMb29rdXApIHsKICAgICAgICAgICAg
IHB1c2goQGdldE93blByb3BlcnR5RGVzY3JpcHRvckltcGwsICIgICAgY29uc3QgJHtuYW1lc3Bh
Y2VNYXliZX1IYXNoRW50cnkqIGVudHJ5ID0gJHtjbGFzc05hbWV9VGFibGUuZW50cnkoZXhlYywg
cHJvcGVydHlOYW1lKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9ySW1wbCwgIiAgICBpZiAoZW50cnkpIHtcbiIpOwpAQCAtNDk0LDcgKzQ5Niw3IEBAIHN1
YiBHZW5lcmF0ZUdldE93blByb3BlcnR5RGVzY3JpcHRvckJvZHkKICAgICAgICAgcHVzaChAZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9ySW1wbCwgIiAgICB9XG4iKTsKICAgICB9CiAKLSAgICBpZiAo
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVkR2V0dGVyIn0gfHwgJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkR2V0dGVyIn0pIHsKKyAgICBp
ZiAoJG5hbWVkR2V0dGVyRnVuY3Rpb24gfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkN1c3RvbU5hbWVkR2V0dGVyIn0pIHsKICAgICAgICAgcHVzaChAZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9ySW1wbCwgIiAgICBpZiAoY2FuR2V0SXRlbXNGb3JOYW1lKGV4ZWMsIHN0YXRpY19j
YXN0PCRpbnRlcmZhY2VOYW1lKj4odGhpc09iamVjdC0+aW1wbCgpKSwgcHJvcGVydHlOYW1lKSkg
e1xuIik7CiAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5RGVzY3JpcHRvckltcGwsICIgICAg
ICAgICR7bmFtZXNwYWNlTWF5YmV9UHJvcGVydHlTbG90IHNsb3Q7XG4iKTsKICAgICAgICAgcHVz
aChAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ySW1wbCwgIiAgICAgICAgc2xvdC5zZXRDdXN0b20o
dGhpc09iamVjdCwgbmFtZUdldHRlcik7XG4iKTsKQEAgLTYxMSw2ICs2MTMsMzEgQEAgc3ViIEdl
dEZ1bmN0aW9uTmFtZQogICAgIHJldHVybiAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJzdCgkY2xh
c3NOYW1lKSAuICRraW5kIC4gIkZ1bmN0aW9uIiAuICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0
KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lKTsKIH0KIAorc3ViIEdldFNwZWNpYWxBY2Nlc3Nv
ckZ1bmN0aW9uRm9yVHlwZQoreworICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKKyAgICBteSAk
c3BlY2lhbCA9IHNoaWZ0OworICAgIG15ICRmaXJzdFBhcmFtZXRlclR5cGUgPSBzaGlmdDsKKyAg
ICBteSAkbnVtYmVyT2ZQYXJhbWV0ZXJzID0gc2hpZnQ7CisKKyAgICBmb3JlYWNoIG15ICRmdW5j
dGlvbiAoQHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9LCBAeyRpbnRlcmZhY2UtPmFub255bW91c0Z1
bmN0aW9uc30pIHsKKyAgICAgICAgbXkgJHNwZWNpYWxzID0gJGZ1bmN0aW9uLT5zaWduYXR1cmUt
PnNwZWNpYWxzOworICAgICAgICBteSAkc3BlY2lhbEV4aXN0cyA9IGdyZXAgeyAkXyBlcSAkc3Bl
Y2lhbCB9IEAkc3BlY2lhbHM7CisgICAgICAgIG15ICRwYXJhbWV0ZXJzID0gJGZ1bmN0aW9uLT5w
YXJhbWV0ZXJzOworICAgICAgICBpZiAoJHNwZWNpYWxFeGlzdHMgYW5kIHNjYWxhcihAJHBhcmFt
ZXRlcnMpID09ICRudW1iZXJPZlBhcmFtZXRlcnMgYW5kICRwYXJhbWV0ZXJzLT5bMF0tPnR5cGUg
ZXEgJGZpcnN0UGFyYW1ldGVyVHlwZSkgeworICAgICAgICAgICAgcmV0dXJuICRmdW5jdGlvbjsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdWIgR2V0TmFtZWRHZXR0
ZXJGdW5jdGlvbgoreworICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKKyAgICByZXR1cm4gR2V0
U3BlY2lhbEFjY2Vzc29yRnVuY3Rpb25Gb3JUeXBlKCRpbnRlcmZhY2UsICJnZXR0ZXIiLCAiRE9N
U3RyaW5nIiwgMSk7Cit9CisKIHN1YiBHZW5lcmF0ZUhlYWRlcgogewogICAgIG15ICRvYmplY3Qg
PSBzaGlmdDsKQEAgLTc0NSw4ICs3NzIsMTAgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAKICAgICAk
aW1wbEluY2x1ZGVzeyIke2NsYXNzTmFtZX1DdXN0b20uaCJ9ID0gMSBpZiAhJGludGVyZmFjZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSGVhZGVyIn0gJiYgKCRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21QdXRGdW5jdGlvbiJ9IHx8ICRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZFNldHRlciJ9KTsKIAorICAgIG15ICRuYW1l
ZEdldHRlckZ1bmN0aW9uID0gR2V0TmFtZWRHZXR0ZXJGdW5jdGlvbigkaW50ZXJmYWNlKTsKKwog
ICAgIG15ICRoYXNJbXB1cmVOYW1lZEdldHRlciA9Ci0gICAgICAgICRpbnRlcmZhY2UtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJOYW1lZEdldHRlciJ9CisgICAgICAgICRuYW1lZEdldHRlckZ1bmN0
aW9uCiAgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21O
YW1lZEdldHRlciJ9CiAgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QifTsKIApAQCAtOTgzLDcgKzEwMTIsNyBAQCBzdWIg
R2VuZXJhdGVIZWFkZXIKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2b2lkIGlu
ZGV4U2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgaW5kZXgsIEpTQzo6SlNWYWx1ZSk7
XG4iKTsKICAgICB9CiAgICAgIyBOYW1lIGdldHRlcgotICAgIGlmICgkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRHZXR0ZXIifSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRHZXR0ZXIifSkgeworICAgIGlmICgkbmFtZWRHZXR0ZXJG
dW5jdGlvbiB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRH
ZXR0ZXIifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHJpdmF0ZTpcbiIpOwog
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIGNhbkdldEl0ZW1z
Rm9yTmFtZShKU0M6OkV4ZWNTdGF0ZSosICRpbnRlcmZhY2VOYW1lKiwgSlNDOjpQcm9wZXJ0eU5h
bWUpO1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIEpTQzo6
SlNWYWx1ZSBuYW1lR2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OlBy
b3BlcnR5TmFtZSk7XG4iKTsKQEAgLTE1NzcsNiArMTYwNiw4IEBAIHN1YiBHZW5lcmF0ZUltcGxl
bWVudGF0aW9uCiAgICAgbXkgJG51bUNvbnN0YW50cyA9IEB7JGludGVyZmFjZS0+Y29uc3RhbnRz
fTsKICAgICBteSAkbnVtRnVuY3Rpb25zID0gQHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9OwogCisg
ICAgbXkgJG5hbWVkR2V0dGVyRnVuY3Rpb24gPSBHZXROYW1lZEdldHRlckZ1bmN0aW9uKCRpbnRl
cmZhY2UpOworCiAgICAgIyAtIEFkZCBhbGwgY29uc3RhbnRzCiAgICAgaWYgKCEkaW50ZXJmYWNl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9JbnRlcmZhY2VPYmplY3QifSkgewogICAgICAgICBt
eSAkaGFzaFNpemUgPSAkbnVtQ29uc3RhbnRzOwpAQCAtMTg5Miw3ICsxOTIzLDcgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57Ik51bWVyaWNJbmRleGVkR2V0dGVyIn0KICAgICAgICAgICAgICAg
ICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tR2V0T3duUHJv
cGVydHlTbG90QW5kRGVzY3JpcHRvciJ9CiAgICAgICAgICAgICAgICAgIHx8ICRpbnRlcmZhY2Ut
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QifQotICAgICAg
ICAgICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRHZXR0
ZXIifQorICAgICAgICAgICAgICAgICB8fCAkbmFtZWRHZXR0ZXJGdW5jdGlvbgogICAgICAgICAg
ICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRH
ZXR0ZXIifTsKIAogICAgICMgQXR0cmlidXRlcwpAQCAtMTkxMyw3ICsxOTQ0LDcgQEAgc3ViIEdl
bmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgfQogCiAgICAgICAgIGlmICgkaW50ZXJmYWNl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW5kZXhlZEdldHRlciJ9IHx8ICRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJOdW1lcmljSW5kZXhlZEdldHRlciJ9Ci0gICAgICAgICAgICAg
ICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5hbWVkR2V0dGVyIn0gfHwg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkR2V0dGVyIn0KKyAg
ICAgICAgICAgICAgICB8fCAkbmFtZWRHZXR0ZXJGdW5jdGlvbiB8fCAkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRHZXR0ZXIifQogICAgICAgICAgICAgICAgIHx8
ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUdldE93blByb3BlcnR5
U2xvdEFuZERlc2NyaXB0b3IifSkgewogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJi
b29sICR7Y2xhc3NOYW1lfTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIFByb3BlcnR5U2xvdCYgc2xvdClcbiIp
OwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKQEAgLTE5NDYsNyArMTk3
Nyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgfVxuIik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlm
ICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRHZXR0ZXIifSB8fCAkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRHZXR0ZXIifSkgeworICAg
ICAgICAgICAgaWYgKCRuYW1lZEdldHRlckZ1bmN0aW9uIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZEdldHRlciJ9KSB7CiAgICAgICAgICAgICAgICAgJiRw
cm9wZXJ0eU5hbWVHZW5lcmF0aW9uKCk7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgaWYgKGNhbkdldEl0ZW1zRm9yTmFtZShleGVjLCBzdGF0aWNfY2FzdDwkaW50ZXJm
YWNlTmFtZSo+KHRoaXNPYmplY3QtPmltcGwoKSksIHByb3BlcnR5TmFtZSkpIHtcbiIpOwogICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBzbG90LnNldEN1c3RvbSh0
aGlzT2JqZWN0LCB0aGlzT2JqZWN0LT5uYW1lR2V0dGVyKTtcbiIpOwpAQCAtMjYzMyw3ICsyNjY0
LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICB9CiAKICAgICBpZiAoJGludGVy
ZmFjZU5hbWUgZXEgIkhUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvbiIgb3IgJGludGVyZmFjZU5hbWUg
ZXEgIkRPTU5hbWVkRmxvd0NvbGxlY3Rpb24iKSB7Ci0gICAgICAgIGlmICgkaW50ZXJmYWNlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFtZWRHZXR0ZXIifSkgeworICAgICAgICBpZiAoJG5hbWVk
R2V0dGVyRnVuY3Rpb24pIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiYm9vbCAk
e2NsYXNzTmFtZX06OmNhbkdldEl0ZW1zRm9yTmFtZShFeGVjU3RhdGUqLCAkaW50ZXJmYWNlTmFt
ZSogY29sbGVjdGlvbiwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSlcbiIpOwogICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIHJldHVybiBjb2xsZWN0aW9uLT5oYXNOYW1lZEl0ZW0ocHJvcGVydHlOYW1lVG9B
dG9taWNTdHJpbmcocHJvcGVydHlOYW1lKSk7XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IGMwMzY5MTYuLjk3NGRlZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRl
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVz
LnR4dApAQCAtODQsNyArODQsNiBAQCBKU05vU3RhdGljVGFibGVzCiBKU1dpbmRvd0V2ZW50TGlz
dGVuZXIKIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKIE5hbWVkQ29uc3RydWN0b3I9KgotTmFtZWRH
ZXR0ZXIKIE5vSW50ZXJmYWNlT2JqZWN0CiBOb3RFbnVtZXJhYmxlCiBOdW1lcmljSW5kZXhlZEdl
dHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJz
ZXIucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbQppbmRl
eCA1OWQxZTNiLi5iNmRhZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETFBhcnNlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0lETFBhcnNlci5wbQpAQCAtNDYsNiArNDYsNyBAQCBzdHJ1Y3QoIGRvbUludGVyZmFjZSA9PiB7
CiAgICAgcGFyZW50cyA9PiAnQCcsICAgICAgIyBMaXN0IG9mIHN0cmluZ3MKICAgICBjb25zdGFu
dHMgPT4gJ0AnLCAgICAjIExpc3Qgb2YgJ2RvbUNvbnN0YW50JwogICAgIGZ1bmN0aW9ucyA9PiAn
QCcsICAgICMgTGlzdCBvZiAnZG9tRnVuY3Rpb24nCisgICAgYW5vbnltb3VzRnVuY3Rpb25zID0+
ICdAJywgIyBMaXN0IG9mICdkb21GdW5jdGlvbicKICAgICBhdHRyaWJ1dGVzID0+ICdAJywgICAg
IyBMaXN0IG9mICdkb21BdHRyaWJ1dGUnICAgIAogICAgIGV4dGVuZGVkQXR0cmlidXRlcyA9PiAn
JCcsICMgRXh0ZW5kZWQgYXR0cmlidXRlcwogICAgIGNvbnN0cnVjdG9ycyA9PiAnQCcsICMgQ29u
c3RydWN0b3JzLCBsaXN0IG9mICdkb21GdW5jdGlvbicKQEAgLTc1LDYgKzc2LDcgQEAgc3RydWN0
KCBkb21TaWduYXR1cmUgPT4gewogICAgIGRpcmVjdGlvbiA9PiAnJCcsICMgVmFyaWFibGUgZGly
ZWN0aW9uIChpbiBvciBvdXQpCiAgICAgbmFtZSA9PiAnJCcsICAgICAgIyBWYXJpYWJsZSBuYW1l
CiAgICAgdHlwZSA9PiAnJCcsICAgICAgIyBWYXJpYWJsZSB0eXBlCisgICAgc3BlY2lhbHMgPT4g
J0AnLCAgIyBTcGVjaWFscwogICAgIGV4dGVuZGVkQXR0cmlidXRlcyA9PiAnJCcsICMgRXh0ZW5k
ZWQgYXR0cmlidXRlcwogICAgIGlzTnVsbGFibGUgPT4gJyQnLCAjIElzIHZhcmlhYmxlIHR5cGUg
TnVsbGFibGUgKFQ/KQogICAgIGlzVmFyaWFkaWMgPT4gJyQnLCAjIElzIHZhcmlhYmxlIHZhcmlh
ZGljIChsb25nLi4uIG51bWJlcnMpCkBAIC0zNzgsNyArMzgwLDcgQEAgc3ViIGFwcGx5VHlwZWRl
ZnMKICAgICAgICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGVmaW5pdGlvbi0+YXR0
cmlidXRlc30pIHsKICAgICAgICAgICAgICAgICAkc2VsZi0+YXBwbHlUeXBlZGVmc0ZvclNpZ25h
dHVyZSgkYXR0cmlidXRlLT5zaWduYXR1cmUpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
Zm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7JGRlZmluaXRpb24tPmZ1bmN0aW9uc30sIEB7JGRlZmlu
aXRpb24tPmNvbnN0cnVjdG9yc30sIEB7JGRlZmluaXRpb24tPmN1c3RvbUNvbnN0cnVjdG9yc30p
IHsKKyAgICAgICAgICAgIGZvcmVhY2ggbXkgJGZ1bmN0aW9uIChAeyRkZWZpbml0aW9uLT5mdW5j
dGlvbnN9LCBAeyRkZWZpbml0aW9uLT5hbm9ueW1vdXNGdW5jdGlvbnN9LCBAeyRkZWZpbml0aW9u
LT5jb25zdHJ1Y3RvcnN9LCBAeyRkZWZpbml0aW9uLT5jdXN0b21Db25zdHJ1Y3RvcnN9KSB7CiAg
ICAgICAgICAgICAgICAgJHNlbGYtPmFwcGx5VHlwZWRlZnNGb3JTaWduYXR1cmUoJGZ1bmN0aW9u
LT5zaWduYXR1cmUpOwogICAgICAgICAgICAgICAgIGZvcmVhY2ggbXkgJHNpZ25hdHVyZSAoQHsk
ZnVuY3Rpb24tPnBhcmFtZXRlcnN9KSB7CiAgICAgICAgICAgICAgICAgICAgICRzZWxmLT5hcHBs
eVR5cGVkZWZzRm9yU2lnbmF0dXJlKCRzaWduYXR1cmUpOwpAQCAtMTIxNywxMiArMTIxOSwxMyBA
QCBzdWIgcGFyc2VTcGVjaWFsT3BlcmF0aW9uCiAKICAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0
VG9rZW4oKTsKICAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0U3BlY2lhbHNfMS8pIHsK
LSAgICAgICAgJHNlbGYtPnBhcnNlU3BlY2lhbCgpOwotICAgICAgICAkc2VsZi0+cGFyc2VTcGVj
aWFscygpOworICAgICAgICBteSBAc3BlY2lhbHMgPSAoKTsKKyAgICAgICAgcHVzaChAc3BlY2lh
bHMsIEB7JHNlbGYtPnBhcnNlU3BlY2lhbHMoKX0pOwogICAgICAgICBteSAkcmV0dXJuVHlwZSA9
ICRzZWxmLT5wYXJzZVJldHVyblR5cGUoKTsKICAgICAgICAgbXkgJGludGVyZmFjZSA9ICRzZWxm
LT5wYXJzZU9wZXJhdGlvblJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAgICAgIGlm
IChkZWZpbmVkICgkaW50ZXJmYWNlKSkgewogICAgICAgICAgICAgJGludGVyZmFjZS0+c2lnbmF0
dXJlLT50eXBlKCRyZXR1cm5UeXBlKTsKKyAgICAgICAgICAgICAkaW50ZXJmYWNlLT5zaWduYXR1
cmUtPnNwZWNpYWxzKFxAc3BlY2lhbHMpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiAkaW50
ZXJmYWNlOwogICAgIH0KQEAgLTEyMzIsMTYgKzEyMzUsMTcgQEAgc3ViIHBhcnNlU3BlY2lhbE9w
ZXJhdGlvbgogc3ViIHBhcnNlU3BlY2lhbHMKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OworICAg
IG15IEBzcGVjaWFscyA9ICgpOwogCiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgbXkgJG5leHQg
PSAkc2VsZi0+bmV4dFRva2VuKCk7CiAgICAgICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5l
eHRTcGVjaWFsc18xLykgewotICAgICAgICAgICAgJHNlbGYtPnBhcnNlU3BlY2lhbCgpOworICAg
ICAgICAgICAgcHVzaChAc3BlY2lhbHMsICRzZWxmLT5wYXJzZVNwZWNpYWwoKSk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBsYXN0OwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVy
biBbXTsKKyAgICByZXR1cm4gXEBzcGVjaWFsczsKIH0KIAogc3ViIHBhcnNlU3BlY2lhbApAQCAt
MjQxNSw3ICsyNDE5LDExIEBAIHN1YiBhcHBseU1lbWJlckxpc3QKICAgICAgICAgICAgIG5leHQ7
CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlZigkaXRlbSkgZXEgImRvbUZ1bmN0aW9uIikgewot
ICAgICAgICAgICAgcHVzaChAeyRpbnRlcmZhY2UtPmZ1bmN0aW9uc30sICRpdGVtKTsKKyAgICAg
ICAgICAgIGlmICgkaXRlbS0+c2lnbmF0dXJlLT5uYW1lIGVxICIiKSB7CisgICAgICAgICAgICAg
ICAgcHVzaChAeyRpbnRlcmZhY2UtPmFub255bW91c0Z1bmN0aW9uc30sICRpdGVtKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHVzaChAeyRpbnRlcmZhY2UtPmZ1bmN0
aW9uc30sICRpdGVtKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5leHQ7CiAgICAgICAg
IH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdEV2ZW50VGFyZ2V0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0RXZlbnRUYXJnZXQuaWRsCmluZGV4IDZlOTQ4N2UuLjZmMDY1NzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RXZlbnRUYXJnZXQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RXZlbnRU
YXJnZXQuaWRsCkBAIC0yOSwxMSArMjksMTEgQEAKIFsKICAgICBFdmVudFRhcmdldCwKICAgICBJ
bmRleGVkR2V0dGVyLAotICAgIE5hbWVkR2V0dGVyLAogICAgIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQKIF0gaW50ZXJmYWNlIFRlc3RFdmVudFRhcmdldCB7CiAKICAgICBOb2RlIGl0ZW0oW0lzSW5k
ZXhdIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIGdldHRlciBOb2RlIChET01TdHJpbmcgbmFt
ZSk7CiAKICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVTaGVldExpc3QuaWRsCmluZGV4IGM1ZDlhOTguLjQ2Njg2YzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbApAQCAtMjIsMTAgKzIyLDEwIEBACiBbCiAgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1JbXBsRG9jdW1lbnQsCiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBO
YW1lZEdldHRlciwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBT
dHlsZVNoZWV0TGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgICAg
bGVuZ3RoOwogICAgIFN0eWxlU2hlZXQgICAgICAgICBpdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgZ2V0dGVyIENTU1N0eWxlU2hlZXQg
KERPTVN0cmluZyBuYW1lKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01OYW1lZEZsb3dDb2xsZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01OYW1lZEZs
b3dDb2xsZWN0aW9uLmlkbAppbmRleCAwNDU5NjgzLi45YjQzYmExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaWRsCkBAIC0zMywxMCArMzMsOSBAQAog
ICAgIEludGVyZmFjZU5hbWU9V2ViS2l0TmFtZWRGbG93Q29sbGVjdGlvbiwKICAgICBKU0dlbmVy
YXRlVG9KU09iamVjdCwKICAgICBJbmRleGVkR2V0dGVyLAotICAgIE5hbWVkR2V0dGVyLAogICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIERPTU5hbWVkRmxvd0NvbGxl
Y3Rpb24gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAg
ICBXZWJLaXROYW1lZEZsb3cgaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICBXZWJLaXRO
YW1lZEZsb3cgbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsKKyAgICBnZXR0ZXIgV2ViS2l0TmFt
ZWRGbG93IG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3Ry
aW5nTWFwLmlkbAppbmRleCBmZGI0MDQ3Li4yMWY1YmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3Ry
aW5nTWFwLmlkbApAQCAtMjUsMTEgKzI1LDExIEBACiAKIFsKICAgICBHZW5lcmF0ZUlzUmVhY2hh
YmxlPUltcGxFbGVtZW50Um9vdCwKLSAgICBOYW1lZEdldHRlciwKICAgICBDdXN0b21EZWxldGVQ
cm9wZXJ0eSwKICAgICBDdXN0b21FbnVtZXJhdGVQcm9wZXJ0eSwKICAgICBDdXN0b21OYW1lZFNl
dHRlciwKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXSBpbnRlcmZhY2UgRE9NU3RyaW5nTWFw
IHsKKyAgICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9OYW1lZE5vZGVNYXAuaWRsCmluZGV4IGVmYWU3MTUuLjVjZGU4OGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9OYW1lZE5vZGVNYXAuaWRsCkBAIC0yMSwxMSArMjEsMTAgQEAKIFsKICAgICBHZW5lcmF0
ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKICAgICBJbmRleGVkR2V0dGVyLAotICAgIE5h
bWVkR2V0dGVyLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIE5h
bWVkTm9kZU1hcCB7CiAKLSAgICBOb2RlIGdldE5hbWVkSXRlbShbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBnZXR0ZXIgTm9kZSBnZXROYW1lZEl0ZW0o
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CiAKICAgICBbUmFp
c2VzRXhjZXB0aW9uXSBOb2RlIHNldE5hbWVkSXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIE5vZGUgbm9kZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlz
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3QuaWRsCmluZGV4IGJkYzNkMzUuLjJm
ZmNjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmlkbApAQCAtMjEsMTEgKzIxLDExIEBACiBbCiAg
ICAgQ3VzdG9tSXNSZWFjaGFibGUsCiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRl
ciwKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXSBpbnRlcmZhY2UgTm9kZUxpc3QgewogCiAg
ICAgTm9kZSBpdGVtKFtJc0luZGV4LERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKKyAgICBnZXR0ZXIgKE5vZGUgb3IgdW5zaWduZWQgbG9uZykgKERPTVN0
cmluZyBuYW1lKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAppbmRleCA5NmY2
ZmFjLi42MmU5MTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xs
ZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlk
bApAQCAtMjUsMTQgKzI1LDEzIEBACiAKIFsKICAgICBJbmRleGVkR2V0dGVyLAotICAgIE5hbWVk
R2V0dGVyLAogICAgIEN1c3RvbUNhbGwsCiAgICAgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwKICAg
ICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290LAogXSBpbnRlcmZhY2UgSFRN
TEFsbENvbGxlY3Rpb24gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxl
bmd0aDsKICAgICBbQ3VzdG9tXSBOb2RlIGl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25h
bCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICBbQ3VzdG9tXSBOb2RlIG5hbWVkSXRlbShET01T
dHJpbmcgbmFtZSk7CisgICAgW0N1c3RvbV0gZ2V0dGVyIE5vZGUgbmFtZWRJdGVtKERPTVN0cmlu
ZyBuYW1lKTsKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmV0dXJuIGFuIEhUTUxBbGxDb2xs
ZWN0aW9uLgogICAgIE5vZGVMaXN0IHRhZ3MoRE9NU3RyaW5nIG5hbWUpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGwKaW5kZXggMjY4NmVkZC4uNzE2ZjQyYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGwKQEAgLTIwLDE0ICsyMCwxMyBAQAogCiBb
CiAgICAgSW5kZXhlZEdldHRlciwKLSAgICBOYW1lZEdldHRlciwKICAgICBDdXN0b21Ub0pTT2Jq
ZWN0LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJvb3QsCiAgICAgT2Jq
Q1BvbHltb3JwaGljLAogXSBpbnRlcmZhY2UgSFRNTENvbGxlY3Rpb24gewogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBOb2RlIGl0ZW0oW0RlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICBOb2RlIG5hbWVk
SXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBn
ZXR0ZXIgTm9kZSBuYW1lZEl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJp
bmcgbmFtZSk7CiAKICNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwogICAgIE5vZGVMaXN0IHRhZ3MoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRp
b25hbCBET01TdHJpbmcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sc0NvbGxlY3Rpb24uaWRsCmluZGV4IDhkZmE0NTIuLjBjMDQ5NGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsCkBA
IC0yMCw4ICsyMCw3IEBACiAKIFsKICAgICBJbmRleGVkR2V0dGVyLAotICAgIE5hbWVkR2V0dGVy
LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJvb3QsCiBdIGludGVyZmFj
ZSBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbiA6IEhUTUxDb2xsZWN0aW9uIHsKLSAgICBbQ3Vz
dG9tXSBOb2RlIG5hbWVkSXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBuYW1lKTsKKyAgICBbQ3VzdG9tXSBnZXR0ZXIgTm9kZSBuYW1lZEl0ZW0oW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUHJvcGVydGllc0NvbGxlY3Rpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUHJvcGVydGllc0NvbGxlY3Rpb24uaWRsCmluZGV4IGQwNmJjMzkuLjQ5YWY0
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb3BlcnRpZXNDb2xsZWN0
aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9wZXJ0aWVzQ29sbGVjdGlv
bi5pZGwKQEAgLTMxLDEyICszMSwxMSBAQAogWwogICAgIENvbmRpdGlvbmFsPU1JQ1JPREFUQSwK
ICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLSAgICBJbmRleGVkR2V0dGVyLAotICAgIE5hbWVk
R2V0dGVyCisgICAgSW5kZXhlZEdldHRlcgogXSBpbnRlcmZhY2UgSFRNTFByb3BlcnRpZXNDb2xs
ZWN0aW9uIDogSFRNTENvbGxlY3Rpb24gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxlbmd0aDsKICAgICBOb2RlIGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBuYW1lczsKLSAgICBbSW1wbGVtZW50
ZWRBcz1wcm9wZXJ0eU5vZGVMaXN0XSBQcm9wZXJ0eU5vZGVMaXN0IG5hbWVkSXRlbShET01TdHJp
bmcgbmFtZSk7CisgICAgW0ltcGxlbWVudGVkQXM9cHJvcGVydHlOb2RlTGlzdF0gZ2V0dGVyIFBy
b3BlcnR5Tm9kZUxpc3QgbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRsIGIvU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmlkbAppbmRleCBkYzc5YjYxLi40NjY3MzQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5pZGwKQEAgLTIw
LDEyICsyMCwxMSBAQAogCiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRnJhbWUsCi0g
ICAgTmFtZWRHZXR0ZXIsCiAgICAgSW5kZXhlZEdldHRlciwKICAgICBJbnRlcmZhY2VOYW1lPU1p
bWVUeXBlQXJyYXkKIF0gaW50ZXJmYWNlIERPTU1pbWVUeXBlQXJyYXkgewogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBET01NaW1lVHlwZSBpdGVtKFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgRE9N
TWltZVR5cGUgbmFtZWRJdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5n
IG5hbWUpOworICAgIGdldHRlciBET01NaW1lVHlwZSBuYW1lZEl0ZW0oW0RlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RP
TVBsdWdpbi5pZGwKaW5kZXggMzNhZTA3OS4uZjRhYzQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
RE9NUGx1Z2luLmlkbApAQCAtMTksNyArMTksNiBAQAogKi8KIAogWwotICAgIE5hbWVkR2V0dGVy
LAogICAgIEluZGV4ZWRHZXR0ZXIsCiAgICAgSW50ZXJmYWNlTmFtZT1QbHVnaW4KIF0gaW50ZXJm
YWNlIERPTVBsdWdpbiB7CkBAIC0yOCw2ICsyNyw2IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBkZXNjcmlwdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CiAgICAgRE9NTWltZVR5cGUgaXRlbShbRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIERPTU1pbWVUeXBlIG5hbWVkSXRlbShb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBnZXR0ZXIg
RE9NTWltZVR5cGUgbmFtZWRJdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIG5hbWUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01Q
bHVnaW5BcnJheS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5Lmlk
bAppbmRleCA4NTZjZGRiLi5iNWEwZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL0RPTVBsdWdpbkFycmF5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBs
dWdpbkFycmF5LmlkbApAQCAtMjAsMTMgKzIwLDEyIEBACiAKIFsKICAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPUltcGxGcmFtZSwKLSAgICBOYW1lZEdldHRlciwKICAgICBJbmRleGVkR2V0dGVyLAog
ICAgIEludGVyZmFjZU5hbWU9UGx1Z2luQXJyYXkKIF0gaW50ZXJmYWNlIERPTVBsdWdpbkFycmF5
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgRE9N
UGx1Z2luIGl0ZW0oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKLSAgICBET01QbHVnaW4gbmFtZWRJdGVtKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NU3RyaW5nIG5hbWUpOworICAgIGdldHRlciBET01QbHVnaW4gbmFtZWRJdGVtKFtEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwogICAgIHZvaWQgcmVmcmVz
aChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gcmVsb2FkKTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2UuaWRsCmluZGV4IGIyM2MxYmQuLmJjYmQzZDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlLmlkbApAQCAtMjQsNyArMjQsNiBAQAogICovCiAKIFsKLSAgICBO
YW1lZEdldHRlciwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxGcmFtZSwKICAgICBDdXN0
b21EZWxldGVQcm9wZXJ0eSwKICAgICBDdXN0b21FbnVtZXJhdGVQcm9wZXJ0eSwKQEAgLTMzLDcg
KzMyLDcgQEAKIF0gaW50ZXJmYWNlIFN0b3JhZ2UgewogICAgIFtOb3RFbnVtZXJhYmxlLCBHZXR0
ZXJSYWlzZXNFeGNlcHRpb25dIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKICAgICBbTm90RW51bWVyYWJsZSwgVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsLCBS
YWlzZXNFeGNlcHRpb25dIERPTVN0cmluZyBrZXkodW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAg
W05vdEVudW1lcmFibGUsIFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbCwgUmFpc2VzRXhj
ZXB0aW9uXSBET01TdHJpbmcgZ2V0SXRlbShET01TdHJpbmcga2V5KTsKKyAgICBbTm90RW51bWVy
YWJsZSwgVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsLCBSYWlzZXNFeGNlcHRpb25dIGdl
dHRlciBET01TdHJpbmcgZ2V0SXRlbShET01TdHJpbmcga2V5KTsKICAgICBbTm90RW51bWVyYWJs
ZSwgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEl0ZW0oRE9NU3RyaW5nIGtleSwgRE9NU3RyaW5n
IGRhdGEpOwogICAgIFtOb3RFbnVtZXJhYmxlLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVtb3Zl
SXRlbShET01TdHJpbmcga2V5KTsKICAgICBbTm90RW51bWVyYWJsZSwgUmFpc2VzRXhjZXB0aW9u
XSB2b2lkIGNsZWFyKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>