<?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>182024</bug_id>
          
          <creation_ts>2018-01-23 16:41:25 -0800</creation_ts>
          <short_desc>Remove pre-Sierra-OS-specific code in WebKit</short_desc>
          <delta_ts>2018-01-30 20:12:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>182318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1392340</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-23 16:41:25 -0800</bug_when>
    <thetext>Remove pre-Sierra-OS-specific code in WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392344</commentid>
    <comment_count>1</comment_count>
      <attachid>332099</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-23 16:43:43 -0800</bug_when>
    <thetext>Created attachment 332099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392686</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-24 12:53:13 -0800</bug_when>
    <thetext>trac.webkit.org/r227550</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392688</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-24 12:54:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/36835846&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394874</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-30 19:59:50 -0800</bug_when>
    <thetext>This patch accidentally disabled resource timing API on macOS.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332099</attachid>
            <date>2018-01-23 16:43:43 -0800</date>
            <delta_ts>2018-01-24 11:05:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182024-20180123164342.patch</filename>
            <type>text/plain</type>
            <size>31760</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc0NjIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDE4LTAxLTIzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHByZS1T
aWVycmEtT1Mtc3BlY2lmaWMgY29kZSBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjAyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5wbHVnaW4tY29tbW9uLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9EYXRhRGV0
ZWN0aW9uUmVzdWx0Lm1tOgorICAgICAgICAoV2ViS2l0OjpEYXRhRGV0ZWN0aW9uUmVzdWx0Ojpl
bmNvZGUgY29uc3QpOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNDb2NvYS5tbToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50
Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50
Q29udGFjdD46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
UGF5bWVudE1lcmNoYW50U2Vzc2lvbj46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1ldGhvZD46OmVuY29kZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOgorICAgICAgICAqIFNoYXJlZC9jZy9TaGFy
ZWFibGVCaXRtYXBDRy5jcHA6CisgICAgICAgIChXZWJLaXQ6OndhbnRzRXh0ZW5kZWRSYW5nZSk6
CisgICAgICAgICogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5t
bToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmVu
Y29kZSBjb25zdCk6CisgICAgICAgICogU2hhcmVkL21hYy9Db2RlU2lnbmluZy5tbToKKyAgICAg
ICAgKFdlYktpdDo6Y29kZVNpZ25pbmdJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6Y29k
ZVNpZ25pbmdJZGVudGlmaWVyRm9yQ3VycmVudFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9t
YWMvQ29sb3JTcGFjZURhdGEubW06CisgICAgICAgIChXZWJLaXQ6OkNvbG9yU3BhY2VEYXRhOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAqIFNoYXJlZC9tYWMvUGFzdGVib2FyZFR5cGVzLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYXN0ZWJvYXJkVHlwZXM6OmZvclVSTCk6CisgICAgICAgICogU2hh
cmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8UHJvdGVjdGlvblNwYWNlPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxDcmVkZW50aWFsPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXI+Ojpl
bmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1lZGlhUGxheWJhY2tUYXJnZXRD
b250ZXh0Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1dlYkhp
dFRlc3RSZXN1bHREYXRhLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0RGF0
YTo6cGxhdGZvcm1FbmNvZGUgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcm9jZXNzUG9vbC5tbToKKyAgICAgICAgKC1bV0tQcm9jZXNzUG9vbCBfc2V0T2JqZWN0OmZv
ckJ1bmRsZVBhcmFtZXRlcjpdKToKKyAgICAgICAgKC1bV0tQcm9jZXNzUG9vbCBfc2V0T2JqZWN0
c0ZvckJ1bmRsZVBhcmFtZXRlcnNXaXRoRGljdGlvbmFyeTpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9oYW5kbGVB
Y2NlcHRlZENhbmRpZGF0ZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpwZXJmb3JtRHJhZ09wZXJhdGlvbik6CisgICAgICAgICog
VUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlciBfc2V0Rm9ybURlbGVnYXRlOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW46CisKIDIwMTgtMDEtMjMgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzaWduIE5vd1BsYXlpbmcgc3Rh
dHVzIHdoZW4gbm8gbWVkaWEgZWxlbWVudCBpcyBlbGlnaWJsZQpJbmRleDogU291cmNlL1dlYktp
dC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4JKHJldmlzaW9uIDIyNzQ1OSkKKysrIFNvdXJjZS9X
ZWJLaXQvUGx1Z2luUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNi
LmluCSh3b3JraW5nIGNvcHkpCkBAIC0zNTAsOSArMzUwLDYgQEAKICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5EaXNrQXJiaXRyYXRpb24uZGlza2FyYml0cmF0aW9uZCIpCiAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuRmlsZUNvb3JkaW5hdGlvbiIpCiAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCAxMDEyMDAKLSAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Gb250U2VydmVy
IikKLSNlbmRpZgogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkltYWdlQ2FwdHVyZUV4dGVu
c2lvbjIucHJlc2VuY2UiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlBvd2VyTWFuYWdl
bWVudC5jb250cm9sIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5TZWN1cml0eVNlcnZl
ciIpCkBAIC00NDMsMTIgKzQ0MCw4IEBACiAgICAgKHNoYXJlZC1wcmVmZXJlbmNlcy1yZWFkICJv
cmcuY3Vwcy5QcmludGluZ1ByZWZzIikpCiAKIDs7IFRleHQgU2VydmljZXMgTWFuYWdlcgotI2lm
IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEyMDApCiAod2l0aC1maWx0ZXIgKGlva2l0LXJlZ2lzdHJ5LWVudHJ5
LWNsYXNzICJJT0hJREV2ZW50RHJpdmVyIikKICAgICAoYWxsb3cgaW9raXQtc2V0LXByb3BlcnRp
ZXMgKGlva2l0LXByb3BlcnR5ICJDYXBzTG9ja0RlbGF5T3ZlcnJpZGUiKSkpCi0jZWxzZQotKGFs
bG93IGlva2l0LXNldC1wcm9wZXJ0aWVzIChpb2tpdC1wcm9wZXJ0eSAiQ2Fwc0xvY2tEZWxheU92
ZXJyaWRlIikpCi0jZW5kaWYKIAogOzsgSW1hZ2UgQ2FwdHVyZQogKGRlZmluZSAod2Via2l0LWlt
YWdlY2FwdHVyZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
YXVsdFZhbHVlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5oCShyZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MTI5LDggKzEyOSw3IEBACiAjZGVmaW5lIERFRkFVTFRfTU9ERVJOX01FRElBX0NPTlRST0xTX0VO
QUJMRUQgZmFsc2UKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwCi0vLyA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTY4
NDE1PiBFbCBDYXBpdGFuIE5ldHdvcmtMb2FkVGltaW5nIHZhbHVlcyBhcmUgc29tZXRpbWVzIGp1
bWJsZWQKKyNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIERFRkFVTFRfUkVTT1VSQ0VfVElNSU5H
X0VOQUJMRUQgZmFsc2UKICNlbHNlCiAjZGVmaW5lIERFRkFVTFRfUkVTT1VSQ0VfVElNSU5HX0VO
QUJMRUQgdHJ1ZQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvRGF0YURldGVjdGlv
blJlc3VsdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9EYXRh
RGV0ZWN0aW9uUmVzdWx0Lm1tCShyZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9EYXRhRGV0ZWN0aW9uUmVzdWx0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MSwx
OSArNDEsOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdm9pZCBEYXRhRGV0ZWN0aW9uUmVzdWx0
OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotI2lmIChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApCi0gICAgYXV0
byBkYXRhID0gYWRvcHROUyhbW05TTXV0YWJsZURhdGEgYWxsb2NdIGluaXRdKTsKLSAgICBhdXRv
IGFyY2hpdmVyID0gYWRvcHROUyhbW05TS2V5ZWRBcmNoaXZlciBhbGxvY10gaW5pdEZvcldyaXRp
bmdXaXRoTXV0YWJsZURhdGE6ZGF0YS5nZXQoKV0pOwotICAgIFthcmNoaXZlciBzZXRSZXF1aXJl
c1NlY3VyZUNvZGluZzpZRVNdOwotICAgIFthcmNoaXZlciBlbmNvZGVPYmplY3Q6cmVzdWx0cy5n
ZXQoKSBmb3JLZXk6QCJkYXRhRGV0ZWN0b3JSZXN1bHRzIl07Ci0gICAgW2FyY2hpdmVyIGZpbmlz
aEVuY29kaW5nXTsKLQotICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8
Q0ZEYXRhUmVmPihkYXRhLmdldCgpKSk7Ci0jZWxzZQogICAgIGF1dG8gYXJjaGl2ZXIgPSBzZWN1
cmVBcmNoaXZlcigpOwogICAgIFthcmNoaXZlciBlbmNvZGVPYmplY3Q6cmVzdWx0cy5nZXQoKSBm
b3JLZXk6QCJkYXRhRGV0ZWN0b3JSZXN1bHRzIl07CiAgICAgSVBDOjplbmNvZGUoZW5jb2Rlciwg
cmVpbnRlcnByZXRfY2FzdDxDRkRhdGFSZWY+KGFyY2hpdmVyLmdldCgpLmVuY29kZWREYXRhKSk7
Ci0jZW5kaWYKIH0KIAogYm9vbCBEYXRhRGV0ZWN0aW9uUmVzdWx0OjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyLCBEYXRhRGV0ZWN0aW9uUmVzdWx0JiByZXN1bHQpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnND
b2NvYS5tbQkocmV2aXNpb24gMjI3NDU5KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
V2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDIyICs1
MSwxMSBAQCBuYW1lc3BhY2UgSVBDIHsKIAogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBh
eW1lbnQ+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYg
cGF5bWVudCkKIHsKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgMTAxMjAwKQotICAgIGF1dG8gZGF0YSA9IGFkb3B0TlMoW1tOU011dGFibGVE
YXRhIGFsbG9jXSBpbml0XSk7Ci0gICAgYXV0byBhcmNoaXZlciA9IGFkb3B0TlMoW1tOU0tleWVk
QXJjaGl2ZXIgYWxsb2NdIGluaXRGb3JXcml0aW5nV2l0aE11dGFibGVEYXRhOmRhdGEuZ2V0KCld
KTsKLQotICAgIFthcmNoaXZlciBzZXRSZXF1aXJlc1NlY3VyZUNvZGluZzpZRVNdOwotI2Vsc2UK
ICAgICBhdXRvIGFyY2hpdmVyID0gc2VjdXJlQXJjaGl2ZXIoKTsKLSNlbmRpZgotCiAgICAgW2Fy
Y2hpdmVyIGVuY29kZU9iamVjdDpwYXltZW50LnBrUGF5bWVudCgpIGZvcktleTpOU0tleWVkQXJj
aGl2ZVJvb3RPYmplY3RLZXldOwogICAgIFthcmNoaXZlciBmaW5pc2hFbmNvZGluZ107CiAKLSNp
ZiAoIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDApCiAgICAgYXV0byBkYXRhID0gYXJjaGl2ZXIuZ2V0KCkuZW5jb2RlZERhdGE7Ci0jZW5k
aWYKLQogICAgIGVuY29kZXIgPDwgRGF0YVJlZmVyZW5jZShzdGF0aWNfY2FzdDxjb25zdCB1aW50
OF90Kj4oW2RhdGEgYnl0ZXNdKSwgW2RhdGEgbGVuZ3RoXSk7CiB9CiAKQEAgLTExMywyMiArMTAy
LDExIEBAIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXQKIAogdm9pZCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRDb250YWN0Pjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRDb250YWN0JiBwYXltZW50Q29udGFjdCkKIHsK
LSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTAxMjAwKQotICAgIGF1dG8gZGF0YSA9IGFkb3B0TlMoW1tOU011dGFibGVEYXRhIGFsbG9jXSBp
bml0XSk7Ci0gICAgYXV0byBhcmNoaXZlciA9IGFkb3B0TlMoW1tOU0tleWVkQXJjaGl2ZXIgYWxs
b2NdIGluaXRGb3JXcml0aW5nV2l0aE11dGFibGVEYXRhOmRhdGEuZ2V0KCldKTsKLQotICAgIFth
cmNoaXZlciBzZXRSZXF1aXJlc1NlY3VyZUNvZGluZzpZRVNdOwotI2Vsc2UKICAgICBhdXRvIGFy
Y2hpdmVyID0gc2VjdXJlQXJjaGl2ZXIoKTsKLSNlbmRpZgotCiAgICAgW2FyY2hpdmVyIGVuY29k
ZU9iamVjdDpwYXltZW50Q29udGFjdC5wa0NvbnRhY3QoKSBmb3JLZXk6TlNLZXllZEFyY2hpdmVS
b290T2JqZWN0S2V5XTsKICAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2RpbmddOwogCi0jaWYgKCFQ
TEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAw
KQogICAgIGF1dG8gZGF0YSA9IGFyY2hpdmVyLmdldCgpLmVuY29kZWREYXRhOwotI2VuZGlmCi0K
ICAgICBlbmNvZGVyIDw8IERhdGFSZWZlcmVuY2Uoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+
KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0aF0pOwogfQogCkBAIC0xODEsMjIgKzE1OSwxMSBA
QCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRFcnJvcj4gQXJnCiAKIHZvaWQgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uPjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24mIHBheW1lbnRN
ZXJjaGFudFNlc3Npb24pCiB7Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkKLSAgICBhdXRvIGRhdGEgPSBhZG9wdE5TKFtbTlNN
dXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwotICAgIGF1dG8gYXJjaGl2ZXIgPSBhZG9wdE5TKFtb
TlNLZXllZEFyY2hpdmVyIGFsbG9jXSBpbml0Rm9yV3JpdGluZ1dpdGhNdXRhYmxlRGF0YTpkYXRh
LmdldCgpXSk7Ci0KLSAgICBbYXJjaGl2ZXIgc2V0UmVxdWlyZXNTZWN1cmVDb2Rpbmc6WUVTXTsK
LSNlbHNlCiAgICAgYXV0byBhcmNoaXZlciA9IHNlY3VyZUFyY2hpdmVyKCk7Ci0jZW5kaWYKLQog
ICAgIFthcmNoaXZlciBlbmNvZGVPYmplY3Q6cGF5bWVudE1lcmNoYW50U2Vzc2lvbi5wa1BheW1l
bnRNZXJjaGFudFNlc3Npb24oKSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsK
ICAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2RpbmddOwogCi0jaWYgKCFQTEFURk9STShNQUMpIHx8
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQogICAgIGF1dG8gZGF0
YSA9IGFyY2hpdmVyLmdldCgpLmVuY29kZWREYXRhOwotI2VuZGlmCi0KICAgICBlbmNvZGVyIDw8
IERhdGFSZWZlcmVuY2Uoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSks
IFtkYXRhIGxlbmd0aF0pOwogfQogCkBAIC0yMjIsMjIgKzE4OSwxMSBAQCBib29sIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1lcmNoCiAKIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpQYXltZW50TWV0aG9kPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6
OlBheW1lbnRNZXRob2QmIHBheW1lbnRNZXRob2QpCiB7Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkKLSAgICBhdXRvIGRhdGEg
PSBhZG9wdE5TKFtbTlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwotICAgIGF1dG8gYXJjaGl2
ZXIgPSBhZG9wdE5TKFtbTlNLZXllZEFyY2hpdmVyIGFsbG9jXSBpbml0Rm9yV3JpdGluZ1dpdGhN
dXRhYmxlRGF0YTpkYXRhLmdldCgpXSk7Ci0KLSAgICBbYXJjaGl2ZXIgc2V0UmVxdWlyZXNTZWN1
cmVDb2Rpbmc6WUVTXTsKLSNlbHNlCiAgICAgYXV0byBhcmNoaXZlciA9IHNlY3VyZUFyY2hpdmVy
KCk7Ci0jZW5kaWYKLQogICAgIFthcmNoaXZlciBlbmNvZGVPYmplY3Q6cGF5bWVudE1ldGhvZC5w
a1BheW1lbnRNZXRob2QoKSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKICAg
ICBbYXJjaGl2ZXIgZmluaXNoRW5jb2RpbmddOwogCi0jaWYgKCFQTEFURk9STShNQUMpIHx8IF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQogICAgIGF1dG8gZGF0YSA9
IGFyY2hpdmVyLmdldCgpLmVuY29kZWREYXRhOwotI2VuZGlmCi0KICAgICBlbmNvZGVyIDw8IERh
dGFSZWZlcmVuY2Uoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtk
YXRhIGxlbmd0aF0pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFi
bGVCaXRtYXBDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hh
cmVhYmxlQml0bWFwQ0cuY3BwCShyZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1No
YXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEyICs0
NSw3IEBAIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZShjb25zdCAKIAogc3RhdGlj
IGJvb2wgd2FudHNFeHRlbmRlZFJhbmdlKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6Q29uZmlndXJh
dGlvbiYgY29uZmlndXJhdGlvbikKIHsKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkgfHwgUExBVEZPUk0oSU9TKQogICAgIHJl
dHVybiBDR0NvbG9yU3BhY2VVc2VzRXh0ZW5kZWRSYW5nZShjb2xvclNwYWNlKGNvbmZpZ3VyYXRp
b24pKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbmZpZ3VyYXRpb24pOwotICAgIHJldHVy
biBmYWxzZTsKLSNlbmRpZgogfQogCiBzdGF0aWMgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8oY29u
c3QgU2hhcmVhYmxlQml0bWFwOjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQpJbmRleDog
U291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9u
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbklu
Zm9ybWF0aW9uQXRQb3NpdGlvbi5tbQkocmV2aXNpb24gMjI3NDU5KQorKysgU291cmNlL1dlYktp
dC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC03MywxOSArNzMsMTAgQEAgdm9pZCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbjo6ZQogICAgIGVuY29kZXIgPDwgaXNEYXRhRGV0ZWN0b3JMaW5rOwogICAgIGlmIChp
c0RhdGFEZXRlY3RvckxpbmspIHsKICAgICAgICAgZW5jb2RlciA8PCBkYXRhRGV0ZWN0b3JJZGVu
dGlmaWVyOwotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPCAxMDEyMDApCi0gICAgICAgIFJldGFpblB0cjxOU011dGFibGVEYXRhPiBkYXRhID0g
YWRvcHROUyhbW05TTXV0YWJsZURhdGEgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgYXV0byBhcmNo
aXZlciA9IHNlY3VyZUFyY2hpdmVyRnJvbU11dGFibGVEYXRhKGRhdGEuZ2V0KCkpOwotICAgICAg
ICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0OmRhdGFEZXRlY3RvclJlc3VsdHMuZ2V0KCkgZm9yS2V5
OkAiZGF0YURldGVjdG9yUmVzdWx0cyJdOwotICAgICAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2Rp
bmddOwotICAgICAgICAKLSAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcmVpbnRlcnByZXRf
Y2FzdDxDRkRhdGFSZWY+KGRhdGEuZ2V0KCkpKTsKLSNlbHNlCiAgICAgICAgIGF1dG8gYXJjaGl2
ZXIgPSBzZWN1cmVBcmNoaXZlcigpOwogICAgICAgICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0OmRh
dGFEZXRlY3RvclJlc3VsdHMuZ2V0KCkgZm9yS2V5OkAiZGF0YURldGVjdG9yUmVzdWx0cyJdOwog
CiAgICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEYXRhUmVm
PihhcmNoaXZlci5nZXQoKS5lbmNvZGVkRGF0YSkpOwotI2VuZGlmCiAgICAgfQogI2VuZGlmCiB9
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQ29kZVNpZ25pbmcubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0NvZGVTaWduaW5nLm1tCShyZXZpc2lvbiAy
Mjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQ29kZVNpZ25pbmcubW0JKHdvcmtp
bmcgY29weSkKQEAgLTM0LDMyICszNCwyMSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCiBzdGF0aWMgU3RyaW5n
IGNvZGVTaWduaW5nSWRlbnRpZmllcihTZWNUYXNrUmVmIHRhc2spCiB7CiAgICAgcmV0dXJuIGFk
b3B0Q0YoU2VjVGFza0NvcHlTaWduaW5nSWRlbnRpZmllcih0YXNrLCBudWxscHRyKSkuZ2V0KCk7
CiB9Ci0jZW5kaWYKIAogU3RyaW5nIGNvZGVTaWduaW5nSWRlbnRpZmllckZvckN1cnJlbnRQcm9j
ZXNzKCkKIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAog
ICAgIHJldHVybiBjb2RlU2lnbmluZ0lkZW50aWZpZXIoYWRvcHRDRihTZWNUYXNrQ3JlYXRlRnJv
bVNlbGYoa0NGQWxsb2NhdG9yRGVmYXVsdCkpLmdldCgpKTsKLSNlbHNlCi0gICAgcmV0dXJuIHsg
fTsKLSNlbmRpZgogfQogCiBTdHJpbmcgY29kZVNpZ25pbmdJZGVudGlmaWVyKHhwY19jb25uZWN0
aW9uX3QgY29ubmVjdGlvbikKIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTIwMAogICAgIGF1ZGl0X3Rva2VuX3QgYXVkaXRUb2tlbjsKICAgICB4cGNfY29ubmVj
dGlvbl9nZXRfYXVkaXRfdG9rZW4oY29ubmVjdGlvbiwgJmF1ZGl0VG9rZW4pOwogICAgIHJldHVy
biBjb2RlU2lnbmluZ0lkZW50aWZpZXIoYWRvcHRDRihTZWNUYXNrQ3JlYXRlV2l0aEF1ZGl0VG9r
ZW4oa0NGQWxsb2NhdG9yRGVmYXVsdCwgYXVkaXRUb2tlbikpLmdldCgpKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKGNvbm5lY3Rpb24pOwotICAgIHJldHVybiB7IH07Ci0jZW5kaWYKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQ29s
b3JTcGFjZURhdGEubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0Nv
bG9yU3BhY2VEYXRhLm1tCShyZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvQ29sb3JTcGFjZURhdGEubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEyICs0OSw3IEBA
IHZvaWQgQ29sb3JTcGFjZURhdGE6OmVuY29kZShJUEM6OkVuY29kZXIKICAgICAgICAgfQogCiAg
ICAgICAgIC8vIEZhaWxpbmcgdGhhdCwganVzdCBlbmNvZGUgdGhlIElDQyBkYXRhLgotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAw
KSB8fCBQTEFURk9STShJT1MpCi0gICAgICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IHByb2ZpbGVE
YXRhID0gYWRvcHRDRihDR0NvbG9yU3BhY2VDb3B5SUNDRGF0YShjZ0NvbG9yU3BhY2UuZ2V0KCkp
KTsKLSNlbHNlCi0gICAgICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IHByb2ZpbGVEYXRhID0gYWRv
cHRDRihDR0NvbG9yU3BhY2VDb3B5SUNDUHJvZmlsZShjZ0NvbG9yU3BhY2UuZ2V0KCkpKTsKLSNl
bmRpZgotICAgICAgICBpZiAocHJvZmlsZURhdGEpIHsKKyAgICAgICAgaWYgKFJldGFpblB0cjxD
RkRhdGFSZWY+IHByb2ZpbGVEYXRhID0gYWRvcHRDRihDR0NvbG9yU3BhY2VDb3B5SUNDRGF0YShj
Z0NvbG9yU3BhY2UuZ2V0KCkpKSkgewogICAgICAgICAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKERh
dGEpOwogICAgICAgICAgICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcHJvZmlsZURhdGEuZ2V0KCkp
OwogICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1Bh
c3RlYm9hcmRUeXBlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
UGFzdGVib2FyZFR5cGVzLm1tCShyZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvUGFzdGVib2FyZFR5cGVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMSArNTMs
NyBAQCBOU0FycmF5KiBQYXN0ZWJvYXJkVHlwZXM6OmZvckVkaXRpbmcoKQogCiBOU0FycmF5KiBQ
YXN0ZWJvYXJkVHlwZXM6OmZvclVSTCgpCiB7Ci0gICAgc3RhdGljIE5TQXJyYXkgKnR5cGVzID0g
cmV0YWluKFtOU0FycmF5IGFycmF5V2l0aE9iamVjdHM6V2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRU
eXBlLCBXZWJDb3JlOjpsZWdhY3lVUkxQYXN0ZWJvYXJkVHlwZSgpLCBXZWJVUkxQYm9hcmRUeXBl
LCAgV2ViVVJMTmFtZVBib2FyZFR5cGUsIFdlYkNvcmU6OmxlZ2FjeVN0cmluZ1Bhc3RlYm9hcmRU
eXBlKCksIFdlYkNvcmU6OmxlZ2FjeUZpbGVuYW1lc1Bhc3RlYm9hcmRUeXBlKCksCi0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKLSAgICAgICAgV2ViQ29yZTo6
bGVnYWN5RmlsZXNQcm9taXNlUGFzdGVib2FyZFR5cGUoKSwKLSNlbmRpZgotICAgICAgICBuaWxd
KTsKKyAgICBzdGF0aWMgTlNBcnJheSAqdHlwZXMgPSByZXRhaW4oW05TQXJyYXkgYXJyYXlXaXRo
T2JqZWN0czpXZWJVUkxzV2l0aFRpdGxlc1Bib2FyZFR5cGUsIFdlYkNvcmU6OmxlZ2FjeVVSTFBh
c3RlYm9hcmRUeXBlKCksIFdlYlVSTFBib2FyZFR5cGUsICBXZWJVUkxOYW1lUGJvYXJkVHlwZSwg
V2ViQ29yZTo6bGVnYWN5U3RyaW5nUGFzdGVib2FyZFR5cGUoKSwgV2ViQ29yZTo6bGVnYWN5Rmls
ZW5hbWVzUGFzdGVib2FyZFR5cGUoKSwgV2ViQ29yZTo6bGVnYWN5RmlsZXNQcm9taXNlUGFzdGVi
b2FyZFR5cGUoKSwgbmlsXSk7CiAgICAgcmV0dXJuIHR5cGVzOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0J
KHJldmlzaW9uIDIyNzQ1OSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQzMCwxOCArNDMwLDkgQEAgYm9v
bCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjpkZWNvZAogCiB2b2lkIEFyZ3VtZW50Q29k
ZXI8UHJvdGVjdGlvblNwYWNlPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgc3BhY2UpCiB7Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkKLSAgICBhdXRvIGRhdGEg
PSBhZG9wdE5TKFtbTlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwotICAgIGF1dG8gYXJjaGl2
ZXIgPSBhZG9wdE5TKFtbTlNLZXllZEFyY2hpdmVyIGFsbG9jXSBpbml0Rm9yV3JpdGluZ1dpdGhN
dXRhYmxlRGF0YTpkYXRhLmdldCgpXSk7Ci0gICAgW2FyY2hpdmVyIHNldFJlcXVpcmVzU2VjdXJl
Q29kaW5nOllFU107Ci0gICAgW2FyY2hpdmVyIGVuY29kZU9iamVjdDpzcGFjZS5uc1NwYWNlKCkg
Zm9yS2V5OkAicHJvdGVjdGlvblNwYWNlIl07Ci0gICAgW2FyY2hpdmVyIGZpbmlzaEVuY29kaW5n
XTsKLSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCByZWludGVycHJldF9jYXN0PENGRGF0YVJlZj4o
ZGF0YS5nZXQoKSkpOwotI2Vsc2UKICAgICBhdXRvIGFyY2hpdmVyID0gc2VjdXJlQXJjaGl2ZXIo
KTsKICAgICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0OnNwYWNlLm5zU3BhY2UoKSBmb3JLZXk6QCJw
cm90ZWN0aW9uU3BhY2UiXTsKICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCByZWludGVycHJldF9j
YXN0PENGRGF0YVJlZj4oYXJjaGl2ZXIuZ2V0KCkuZW5jb2RlZERhdGEpKTsKLSNlbmRpZgogfQog
CiBib29sIEFyZ3VtZW50Q29kZXI8UHJvdGVjdGlvblNwYWNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KERlY29kZXImIGRlY29kZXIsIFByb3RlY3Rpb25TcGFjZSYgc3BhY2UpCkBAIC00ODMsMTggKzQ3
NCw5IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxDcmVkZW50aWFsPjo6ZW5jb2RlUGwKIAogICAgIGVu
Y29kZXIgPDwgZmFsc2U7CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKQotICAgIGF1dG8gZGF0YSA9IGFkb3B0TlMoW1tOU011
dGFibGVEYXRhIGFsbG9jXSBpbml0XSk7Ci0gICAgYXV0byBhcmNoaXZlciA9IGFkb3B0TlMoW1tO
U0tleWVkQXJjaGl2ZXIgYWxsb2NdIGluaXRGb3JXcml0aW5nV2l0aE11dGFibGVEYXRhOmRhdGEu
Z2V0KCldKTsKLSAgICBbYXJjaGl2ZXIgc2V0UmVxdWlyZXNTZWN1cmVDb2Rpbmc6WUVTXTsKLSAg
ICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0Om5zQ3JlZGVudGlhbCBmb3JLZXk6QCJjcmVkZW50aWFs
Il07Ci0gICAgW2FyY2hpdmVyIGZpbmlzaEVuY29kaW5nXTsKLSAgICBJUEM6OmVuY29kZShlbmNv
ZGVyLCByZWludGVycHJldF9jYXN0PENGRGF0YVJlZj4oZGF0YS5nZXQoKSkpOwotI2Vsc2UKICAg
ICBhdXRvIGFyY2hpdmVyID0gc2VjdXJlQXJjaGl2ZXIoKTsKICAgICBbYXJjaGl2ZXIgZW5jb2Rl
T2JqZWN0Om5zQ3JlZGVudGlhbCBmb3JLZXk6QCJjcmVkZW50aWFsIl07CiAgICAgSVBDOjplbmNv
ZGUoZW5jb2RlciwgcmVpbnRlcnByZXRfY2FzdDxDRkRhdGFSZWY+KGFyY2hpdmVyLmdldCgpLmVu
Y29kZWREYXRhKSk7Ci0jZW5kaWYKIH0KIAogYm9vbCBBcmd1bWVudENvZGVyPENyZWRlbnRpYWw+
OjpkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2RlciwgQ3JlZGVudGlhbCYgY3JlZGVu
dGlhbCkKQEAgLTU5MSwxOCArNTczLDkgQEAgc3RkOjpvcHRpb25hbDxLZXlwcmVzc0NvbW1hbmQ+
IEFyZ3VtZW50QwogI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykKIHZvaWQgQXJndW1lbnRD
b2RlcjxDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXI+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyJiBjb250ZW50RmlsdGVyVW5ibG9j
a0hhbmRsZXIpCiB7Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IDEwMTIwMCkKLSAgICBhdXRvIGRhdGEgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
RGF0YSBhbGxvY10gaW5pdF0pOwotICAgIGF1dG8gYXJjaGl2ZXIgPSBhZG9wdE5TKFtbTlNLZXll
ZEFyY2hpdmVyIGFsbG9jXSBpbml0Rm9yV3JpdGluZ1dpdGhNdXRhYmxlRGF0YTpkYXRhLmdldCgp
XSk7Ci0gICAgW2FyY2hpdmVyIHNldFJlcXVpcmVzU2VjdXJlQ29kaW5nOllFU107Ci0gICAgY29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmVuY29kZShhcmNoaXZlci5nZXQoKSk7Ci0gICAgW2Fy
Y2hpdmVyIGZpbmlzaEVuY29kaW5nXTsKLSAgICBJUEM6OmVuY29kZShlbmNvZGVyLCByZWludGVy
cHJldF9jYXN0PENGRGF0YVJlZj4oZGF0YS5nZXQoKSkpOwotI2Vsc2UKICAgICBhdXRvIGFyY2hp
dmVyID0gc2VjdXJlQXJjaGl2ZXIoKTsKICAgICBjb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIu
ZW5jb2RlKGFyY2hpdmVyLmdldCgpKTsKICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCByZWludGVy
cHJldF9jYXN0PENGRGF0YVJlZj4oYXJjaGl2ZXIuZ2V0KCkuZW5jb2RlZERhdGEpKTsKLSNlbmRp
ZgogfQogCiBib29sIEFyZ3VtZW50Q29kZXI8Q29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlciYgY29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyKQpAQCAtNjMwLDI0ICs2MDMsMTIgQEAgc3RhdGljIE5T
U3RyaW5nICpkZXZpY2VDb250ZXh0S2V5KCkKIAogdm9pZCBBcmd1bWVudENvZGVyPE1lZGlhUGxh
eWJhY2tUYXJnZXRDb250ZXh0Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0JiB0YXJnZXQpCiB7Ci0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkKLSAg
ICBhdXRvIGRhdGEgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwotICAg
IGF1dG8gYXJjaGl2ZXIgPSBhZG9wdE5TKFtbTlNLZXllZEFyY2hpdmVyIGFsbG9jXSBpbml0Rm9y
V3JpdGluZ1dpdGhNdXRhYmxlRGF0YTpkYXRhLmdldCgpXSk7Ci0gICAgW2FyY2hpdmVyIHNldFJl
cXVpcmVzU2VjdXJlQ29kaW5nOllFU107Ci0KLSAgICBpZiAoW2dldEFWT3V0cHV0Q29udGV4dENs
YXNzKCkgY29uZm9ybXNUb1Byb3RvY29sOkBwcm90b2NvbChOU1NlY3VyZUNvZGluZyldKQotICAg
ICAgICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0OnRhcmdldC5hdk91dHB1dENvbnRleHQoKSBmb3JL
ZXk6ZGV2aWNlQ29udGV4dEtleSgpXTsKLQotICAgIFthcmNoaXZlciBmaW5pc2hFbmNvZGluZ107
Ci0gICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcmVpbnRlcnByZXRfY2FzdDxDRkRhdGFSZWY+KGRh
dGEuZ2V0KCkpKTsKLSNlbHNlCiAgICAgYXV0byBhcmNoaXZlciA9IHNlY3VyZUFyY2hpdmVyKCk7
CiAKICAgICBpZiAoW2dldEFWT3V0cHV0Q29udGV4dENsYXNzKCkgY29uZm9ybXNUb1Byb3RvY29s
OkBwcm90b2NvbChOU1NlY3VyZUNvZGluZyldKQogICAgICAgICBbYXJjaGl2ZXIgZW5jb2RlT2Jq
ZWN0OnRhcmdldC5hdk91dHB1dENvbnRleHQoKSBmb3JLZXk6ZGV2aWNlQ29udGV4dEtleSgpXTsK
IAogICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEYXRhUmVmPihh
cmNoaXZlci5nZXQoKS5lbmNvZGVkRGF0YSkpOwotI2VuZGlmCiB9CiAKIGJvb2wgQXJndW1lbnRD
b2RlcjxNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dD46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNv
ZGVyJiBkZWNvZGVyLCBNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dCYgdGFyZ2V0KQpJbmRleDog
U291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkhpdFRlc3RSZXN1bHREYXRhLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9XZWJIaXRUZXN0UmVzdWx0RGF0YS5tbQko
cmV2aXNpb24gMjI3NDU5KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1dlYkhpdFRlc3RS
ZXN1bHREYXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NSwyMCArNDUsMTAgQEAgdm9pZCBXZWJI
aXRUZXN0UmVzdWx0RGF0YTo6cGxhdGZvcm1FbmNvZAogICAgIGlmICghaGFzQWN0aW9uQ29udGV4
dCkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMCkKLSAgICBhdXRvIGRhdGEgPSBhZG9wdE5TKFtb
TlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwotICAgIGF1dG8gYXJjaGl2ZXIgPSBhZG9wdE5T
KFtbTlNLZXllZEFyY2hpdmVyIGFsbG9jXSBpbml0Rm9yV3JpdGluZ1dpdGhNdXRhYmxlRGF0YTpk
YXRhLmdldCgpXSk7Ci0gICAgW2FyY2hpdmVyIHNldFJlcXVpcmVzU2VjdXJlQ29kaW5nOllFU107
Ci0gICAgW2FyY2hpdmVyIGVuY29kZU9iamVjdDpkZXRlY3RlZERhdGFBY3Rpb25Db250ZXh0Lmdl
dCgpIGZvcktleTpAImFjdGlvbkNvbnRleHQiXTsKLSAgICBbYXJjaGl2ZXIgZmluaXNoRW5jb2Rp
bmddOwotCi0gICAgSVBDOjplbmNvZGUoZW5jb2RlciwgcmVpbnRlcnByZXRfY2FzdDxDRkRhdGFS
ZWY+KGRhdGEuZ2V0KCkpKTsKLSNlbHNlCiAgICAgYXV0byBhcmNoaXZlciA9IHNlY3VyZUFyY2hp
dmVyKCk7CiAgICAgW2FyY2hpdmVyIGVuY29kZU9iamVjdDpkZXRlY3RlZERhdGFBY3Rpb25Db250
ZXh0LmdldCgpIGZvcktleTpAImFjdGlvbkNvbnRleHQiXTsKIAogICAgIElQQzo6ZW5jb2RlKGVu
Y29kZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEYXRhUmVmPihhcmNoaXZlci5nZXQoKS5lbmNvZGVk
RGF0YSkpOwotI2VuZGlmCiAKICAgICBlbmNvZGVyIDw8IGRldGVjdGVkRGF0YUJvdW5kaW5nQm94
OwogICAgIGVuY29kZXIgPDwgZGV0ZWN0ZWREYXRhT3JpZ2luYXRpbmdQYWdlT3ZlcmxheTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQ
b29sLm1tCShyZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzUG9vbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjI3LDE0ICsyMjcsNyBA
QCAtIChpZClfb2JqZWN0Rm9yQnVuZGxlUGFyYW1ldGVyOihOU1N0cmluCiAtICh2b2lkKV9zZXRP
YmplY3Q6KGlkIDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPilvYmplY3QgZm9yQnVuZGxlUGFy
YW1ldGVyOihOU1N0cmluZyAqKXBhcmFtZXRlcgogewogICAgIGF1dG8gY29weSA9IGFkb3B0TlMo
WyhOU09iamVjdCAqKW9iamVjdCBjb3B5XSk7Ci0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMjAwKQotICAgIGF1dG8gZGF0YSA9IGFk
b3B0TlMoW1tOU011dGFibGVEYXRhIGFsbG9jXSBpbml0XSk7Ci0gICAgYXV0byBrZXllZEFyY2hp
dmVyID0gYWRvcHROUyhbW05TS2V5ZWRBcmNoaXZlciBhbGxvY10gaW5pdEZvcldyaXRpbmdXaXRo
TXV0YWJsZURhdGE6ZGF0YS5nZXQoKV0pOwotICAgIFtrZXllZEFyY2hpdmVyIHNldFJlcXVpcmVz
U2VjdXJlQ29kaW5nOllFU107Ci0jZWxzZQogICAgIGF1dG8ga2V5ZWRBcmNoaXZlciA9IHNlY3Vy
ZUFyY2hpdmVyKCk7Ci0jZW5kaWYKIAogICAgIEB0cnkgewogICAgICAgICBba2V5ZWRBcmNoaXZl
ciBlbmNvZGVPYmplY3Q6Y29weS5nZXQoKSBmb3JLZXk6QCJwYXJhbWV0ZXIiXTsKQEAgLTI0OCwy
NCArMjQxLDE0IEBAIC0gKHZvaWQpX3NldE9iamVjdDooaWQgPE5TQ29weWluZywgTlNTZWMKICAg
ICBlbHNlCiAgICAgICAgIFtfcHJvY2Vzc1Bvb2wtPmVuc3VyZUJ1bmRsZVBhcmFtZXRlcnMoKSBy
ZW1vdmVPYmplY3RGb3JLZXk6cGFyYW1ldGVyXTsKIAotI2lmICghUExBVEZPUk0oTUFDKSB8fCBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkKICAgICBhdXRvIGRhdGEg
PSBrZXllZEFyY2hpdmVyLmdldCgpLmVuY29kZWREYXRhOwotI2VuZGlmCi0KICAgICBfcHJvY2Vz
c1Bvb2wtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SW5qZWN0
ZWRCdW5kbGVQYXJhbWV0ZXIocGFyYW1ldGVyLCBJUEM6OkRhdGFSZWZlcmVuY2Uoc3RhdGljX2Nh
c3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0aF0pKSk7CiB9CiAK
IC0gKHZvaWQpX3NldE9iamVjdHNGb3JCdW5kbGVQYXJhbWV0ZXJzV2l0aERpY3Rpb25hcnk6KE5T
RGljdGlvbmFyeSAqKWRpY3Rpb25hcnkKIHsKICAgICBhdXRvIGNvcHkgPSBhZG9wdE5TKFtbTlNE
aWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeSBjb3B5SXRlbXM6
WUVTXSk7Ci0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIDwgMTAxMjAwKQotICAgIGF1dG8gZGF0YSA9IGFkb3B0TlMoW1tOU011dGFibGVEYXRh
IGFsbG9jXSBpbml0XSk7Ci0gICAgYXV0byBrZXllZEFyY2hpdmVyID0gYWRvcHROUyhbW05TS2V5
ZWRBcmNoaXZlciBhbGxvY10gaW5pdEZvcldyaXRpbmdXaXRoTXV0YWJsZURhdGE6ZGF0YS5nZXQo
KV0pOwotICAgIFtrZXllZEFyY2hpdmVyIHNldFJlcXVpcmVzU2VjdXJlQ29kaW5nOllFU107Ci0j
ZWxzZQogICAgIGF1dG8ga2V5ZWRBcmNoaXZlciA9IHNlY3VyZUFyY2hpdmVyKCk7Ci0jZW5kaWYK
IAogICAgIEB0cnkgewogICAgICAgICBba2V5ZWRBcmNoaXZlciBlbmNvZGVPYmplY3Q6Y29weS5n
ZXQoKSBmb3JLZXk6QCJwYXJhbWV0ZXJzIl07CkBAIC0yNzYsMTAgKzI1OSw3IEBAIC0gKHZvaWQp
X3NldE9iamVjdHNGb3JCdW5kbGVQYXJhbWV0ZXJzV2kKIAogICAgIFtfcHJvY2Vzc1Bvb2wtPmVu
c3VyZUJ1bmRsZVBhcmFtZXRlcnMoKSBzZXRWYWx1ZXNGb3JLZXlzV2l0aERpY3Rpb25hcnk6Y29w
eS5nZXQoKV07CiAKLSNpZiAoIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEyMDApCiAgICAgYXV0byBkYXRhID0ga2V5ZWRBcmNoaXZlci5nZXQo
KS5lbmNvZGVkRGF0YTsKLSNlbmRpZgotCiAgICAgX3Byb2Nlc3NQb29sLT5zZW5kVG9BbGxQcm9j
ZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEluamVjdGVkQnVuZGxlUGFyYW1ldGVycyhJ
UEM6OkRhdGFSZWZlcmVuY2Uoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVz
XSksIFtkYXRhIGxlbmd0aF0pKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMjI3NDU5KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpA
QCAtNjAyNyw5ICs2MDI3LDcgQEAgLSAodm9pZClfaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJl
c3BvbgogCiAtICh2b2lkKV9oYW5kbGVBY2NlcHRlZENhbmRpZGF0ZTooTlNUZXh0Q2hlY2tpbmdS
ZXN1bHQgKiljYW5kaWRhdGUKIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTIwMAogICAgIF9pbXBsLT5oYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShjYW5kaWRhdGUp
OwotI2VuZGlmCiB9CiAKIC0gKHZvaWQpX2RpZEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgJKHJldmlzaW9u
IDIyNzQ1OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMzMSw5ICszMzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb3dl
cmNhc2VXb3JkKCk7CiAgICAgdm9pZCBjYXBpdGFsaXplV29yZCgpOwogCi0jaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKICAgICB2b2lkIHJlcXVlc3RDYW5kaWRh
dGVzRm9yU2VsZWN0aW9uSWZOZWVkZWQoKTsKLSNlbmRpZgogCiAgICAgdm9pZCBwcmVmZXJlbmNl
c0RpZENoYW5nZSgpOwogCkBAIC01MDksOSArNTA3LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6
OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bigpOwogICAgIHZvaWQgc2V0VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihOU1VzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24pOwogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEyMDAgCiAgICAgdm9pZCBoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShOU1RleHRD
aGVja2luZ1Jlc3VsdCAqYWNjZXB0ZWRDYW5kaWRhdGUpOwotI2VuZGlmCiAKICNpZiBIQVZFKFRP
VUNIX0JBUikKICAgICBOU1RvdWNoQmFyICptYWtlVG91Y2hCYXIoKTsKQEAgLTYwNCw5ICs2MDAs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgbWlnaHRCZWdpbkRyYWdXaGlsZUluYWN0aXZlKCk7CiAg
ICAgYm9vbCBtaWdodEJlZ2luU2Nyb2xsV2hpbGVJbmFjdGl2ZSgpOwogCi0jaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKICAgICB2b2lkIGhhbmRsZVJlcXVlc3Rl
ZENhbmRpZGF0ZXMoTlNJbnRlZ2VyIHNlcXVlbmNlTnVtYmVyLCBOU0FycmF5PE5TVGV4dENoZWNr
aW5nUmVzdWx0ICo+ICpjYW5kaWRhdGVzKTsKLSNlbmRpZgogCiAgICAgV2Vha09iakNQdHI8TlNW
aWV3PFdlYlZpZXdJbXBsRGVsZWdhdGU+PiBtX3ZpZXc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBh
Z2VDbGllbnQ+IG1fcGFnZUNsaWVudDsKQEAgLTcxOSwxMCArNzEzLDggQEAgcHJpdmF0ZToKICAg
ICBSZXRhaW5QdHI8TlNFdmVudD4gbV9rZXlEb3duRXZlbnRCZWluZ1Jlc2VudDsKICAgICBWZWN0
b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiogbV9jb2xsZWN0ZWRLZXlwcmVzc0NvbW1hbmRz
IHsgbnVsbHB0ciB9OwogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDAKICAgICBTdHJpbmcgbV9sYXN0U3RyaW5nRm9yQ2FuZGlkYXRlUmVxdWVzdDsKICAgICBO
U0ludGVnZXIgbV9sYXN0Q2FuZGlkYXRlUmVxdWVzdFNlcXVlbmNlTnVtYmVyOwotI2VuZGlmCiAg
ICAgTlNSYW5nZSBtX3NvZnRTcGFjZVJhbmdlIHsgTlNOb3RGb3VuZCwgMCB9OwogICAgIGJvb2wg
bV9pc0hhbmRsaW5nQWNjZXB0ZWRDYW5kaWRhdGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyIHsgZmFsc2UgfTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCShyZXZpc2lv
biAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bQkod29ya2luZyBjb3B5KQpAQCAtMjk4Nyw3ICsyOTg3LDYgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
Y2FwaXRhbGl6ZVdvcmQoKQogICAgIG1fcGFnZS0+Y2FwaXRhbGl6ZVdvcmQoKTsKIH0KIAotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCiB2b2lkIFdlYlZpZXdJ
bXBsOjpyZXF1ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlvbklmTmVlZGVkKCkKIHsKICAgICBpZiAo
IXNob3VsZFJlcXVlc3RDYW5kaWRhdGVzKCkpCkBAIC0zMTAzLDcgKzMxMDIsNiBAQCB2b2lkIFdl
YlZpZXdJbXBsOjpoYW5kbGVBY2NlcHRlZENhbmRpZGF0CiAKICAgICBtX3BhZ2UtPmhhbmRsZUFj
Y2VwdGVkQ2FuZGlkYXRlKHRleHRDaGVja2luZ1Jlc3VsdEZyb21OU1RleHRDaGVja2luZ1Jlc3Vs
dChhY2NlcHRlZENhbmRpZGF0ZSkpOwogfQotI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMjAwCiAKIHZvaWQgV2ViVmlld0ltcGw6OnByZWZlcmVuY2VzRGlk
Q2hhbmdlKCkKIHsKQEAgLTM3MTAsOSArMzcwOCw3IEBAIGJvb2wgV2ViVmlld0ltcGw6OnBlcmZv
cm1EcmFnT3BlcmF0aW9uKGkKICAgICAgICAgZm9yIChOU1N0cmluZyAqZmlsZSBpbiBmaWxlcykK
ICAgICAgICAgICAgIGZpbGVOYW1lcy5hcHBlbmQoZmlsZSk7CiAgICAgICAgIG1fcGFnZS0+Y3Jl
YXRlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZChmaWxlTmFtZXMsIHNhbmRib3hFeHRlbnNpb25I
YW5kbGUsIHNhbmRib3hFeHRlbnNpb25Gb3JVcGxvYWQpOwotICAgIH0KLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAotICAgIGVsc2UgaWYgKCFbdHlwZXMgY29u
dGFpbnNPYmplY3Q6UGFzdGVib2FyZFR5cGVzOjpXZWJBcmNoaXZlUGJvYXJkVHlwZV0gJiYgW3R5
cGVzIGNvbnRhaW5zT2JqZWN0OldlYkNvcmU6OmxlZ2FjeUZpbGVzUHJvbWlzZVBhc3RlYm9hcmRU
eXBlKCldKSB7CisgICAgfSBlbHNlIGlmICghW3R5cGVzIGNvbnRhaW5zT2JqZWN0OlBhc3RlYm9h
cmRUeXBlczo6V2ViQXJjaGl2ZVBib2FyZFR5cGVdICYmIFt0eXBlcyBjb250YWluc09iamVjdDpX
ZWJDb3JlOjpsZWdhY3lGaWxlc1Byb21pc2VQYXN0ZWJvYXJkVHlwZSgpXSkgewogICAgICAgICBO
U0FycmF5ICpmaWxlcyA9IFtkcmFnZ2luZ0luZm8uZHJhZ2dpbmdQYXN0ZWJvYXJkIHByb3BlcnR5
TGlzdEZvclR5cGU6V2ViQ29yZTo6bGVnYWN5RmlsZXNQcm9taXNlUGFzdGVib2FyZFR5cGUoKV07
CiAgICAgICAgIGlmICghW2ZpbGVzIGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM3NDUsNyArMzc0MSw2IEBAIGJvb2wgV2ViVmll
d0ltcGw6OnBlcmZvcm1EcmFnT3BlcmF0aW9uKGkKIAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9Ci0jZW5kaWYKIAogICAgIG1fcGFnZS0+cGVyZm9ybURyYWdPcGVyYXRpb24oZHJhZ0RhdGEs
IGRyYWdnaW5nSW5mby5kcmFnZ2luZ1Bhc3RlYm9hcmQubmFtZSwgV1RGTW92ZShzYW5kYm94RXh0
ZW5zaW9uSGFuZGxlKSwgV1RGTW92ZShzYW5kYm94RXh0ZW5zaW9uRm9yVXBsb2FkKSk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJv
eHlNYWMubW0JKHJldmlzaW9uIDIyNzQ1OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTI3LDI0ICsxMjcs
MTUgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudQogICAgICAgICBp
ZiAodGl0bGVGcmFtZS5zaXplLndpZHRoIDw9IDAgfHwgdGl0bGVGcmFtZS5zaXplLmhlaWdodCA8
PSAwKQogICAgICAgICAgICAgdGl0bGVGcmFtZSA9IHJlY3Q7CiAgICAgICAgIGZsb2F0IHZlcnRp
Y2FsT2Zmc2V0ID0gcm91bmRmKChOU01heFkocmVjdCkgLSBOU01heFkodGl0bGVGcmFtZSkpICsg
TlNIZWlnaHQodGl0bGVGcmFtZSkpICsgMTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTIwMAogICAgICAgICBpZiAodGV4dERpcmVjdGlvbiA9PSBMVFIpCiAgICAg
ICAgICAgICBsb2NhdGlvbiA9IE5TTWFrZVBvaW50KE5TTWluWChyZWN0KSArIHBvcE92ZXJIb3Jp
em9udGFsQWRqdXN0LCBOU01heFkocmVjdCkgLSB2ZXJ0aWNhbE9mZnNldCk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGxvY2F0aW9uID0gTlNNYWtlUG9pbnQoTlNNYXhYKHJlY3QpIC0gcG9w
T3Zlckhvcml6b250YWxBZGp1c3QsIE5TTWF4WShyZWN0KSAtIHZlcnRpY2FsT2Zmc2V0KTsKLSNl
bHNlCi0gICAgICAgIGxvY2F0aW9uID0gTlNNYWtlUG9pbnQoTlNNaW5YKHJlY3QpICsgcG9wT3Zl
ckhvcml6b250YWxBZGp1c3QsIE5TTWF4WShyZWN0KSAtIHZlcnRpY2FsT2Zmc2V0KTsKLSNlbmRp
ZgotCiAgICAgfSBlbHNlIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTIwMAogICAgICAgICBpZiAodGV4dERpcmVjdGlvbiA9PSBMVFIpCiAgICAgICAgICAgICBs
b2NhdGlvbiA9IE5TTWFrZVBvaW50KE5TTWluWChyZWN0KSArIHBvcFVuZGVySG9yaXpvbnRhbEFk
anVzdCwgTlNNYXhZKHJlY3QpICsgcG9wVW5kZXJWZXJ0aWNhbEFkanVzdCk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGxvY2F0aW9uID0gTlNNYWtlUG9pbnQoTlNNYXhYKHJlY3QpIC0gcG9w
VW5kZXJIb3Jpem9udGFsQWRqdXN0LCBOU01heFkocmVjdCkgKyBwb3BVbmRlclZlcnRpY2FsQWRq
dXN0KTsKLSNlbHNlCi0gICAgICAgIGxvY2F0aW9uID0gTlNNYWtlUG9pbnQoTlNNaW5YKHJlY3Qp
ICsgcG9wVW5kZXJIb3Jpem9udGFsQWRqdXN0LCBOU01heFkocmVjdCkgKyBwb3BVbmRlclZlcnRp
Y2FsQWRqdXN0KTsKLSNlbmRpZgogICAgIH0KICAgICBSZXRhaW5QdHI8TlNWaWV3PiBkdW1teVZp
ZXcgPSBhZG9wdE5TKFtbTlNWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnJlY3RdKTsKICAgICBb
ZHVtbXlWaWV3LmdldCgpIHNldFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb246dGV4dERpcmVj
dGlvbiA9PSBMVFIgPyBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25MZWZ0VG9SaWdodCA6
IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0XTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4J
KHJldmlzaW9uIDIyNzQ1OSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUu
V2ViUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtMTcwLDkgKzE3MCw3IEBACiAoZGVu
eSBwcm9jZXNzLWluZm8qKQogKGFsbG93IHByb2Nlc3MtaW5mby1waWRpbmZvKQogKGFsbG93IHBy
b2Nlc3MtaW5mby1zZXRjb250cm9sICh0YXJnZXQgc2VsZikpCi0jaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKIChhbGxvdyBwcm9jZXNzLWNvZGVzaWduaW5nLXN0
YXR1cyopCi0jZW5kaWYKIAogKGRlbnkgc3lzY3RsKikKIChhbGxvdyBzeXNjdGwtcmVhZApAQCAt
NDY1LDkgKzQ2Myw2IEBACiAgICAgICAgICJjb20uYXBwbGUuZHJpdmVyLkFwcGxlQmx1ZXRvb3Ro
TXVsdGl0b3VjaC50cmFja3BhZCIKICAgICAgICAgImNvbS5hcHBsZS5kcml2ZXIuQXBwbGVISURN
b3VzZSIKICAgICAgICAgImNvbS5hcHBsZS5sb29rdXAuc2hhcmVkIgotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDAKLSAgICAgICAgImNvbS5hcHBsZS5tZWRpYWFj
Y2Vzc2liaWxpdHkiCi0jZW5kaWYKICAgICAgICAgImNvbS5hcHBsZS5uZXR3b3JrQ29ubmVjdCIK
ICAgICAgICAgImNvbS5hcHBsZS5zZWN1cml0eSIKICAgICAgICAgImNvbS5hcHBsZS5zZWN1cml0
eS5jb21tb24iCkBAIC01MDcsMTIgKzUwMiw2IEBACiAoaWYgKGRlZmluZWQ/ICdtYWNoLXJlZ2lz
dGVyKQogICAgIChhbGxvdyBtYWNoLXJlZ2lzdGVyIChnbG9iYWwtbmFtZS1yZWdleCAjIl5fb2ds
cHJvZl9hdHRhY2hfPFswLTldKz4kIikpKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMTIwMAotOzsgTWVkaWFBY2Nlc3NpYmlsaXR5Ci0oYWxsb3cgdXNlci1wcmVm
ZXJlbmNlLXJlYWQgdXNlci1wcmVmZXJlbmNlLXdyaXRlCi0gICAgKHByZWZlcmVuY2UtZG9tYWlu
ICJjb20uYXBwbGUubWVkaWFhY2Nlc3NpYmlsaXR5LnB1YmxpYyIpKQotI2VuZGlmCi0KIChpZiAo
cG9zaXRpdmU/IChzdHJpbmctbGVuZ3RoIChwYXJhbSAiREFSV0lOX1VTRVJfQ0FDSEVfRElSIikp
KQogICAgIChhbGxvdy1yZWFkLXdyaXRlLWRpcmVjdG9yeS1hbmQtaXNzdWUtcmVhZC13cml0ZS1l
eHRlbnNpb25zIChwYXJhbSAiREFSV0lOX1VTRVJfQ0FDSEVfRElSIikpKQogCkBAIC01NTgsOSAr
NTQ3LDYgQEAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLkZpbGVDb29yZGluYXRpb24iKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkZv
bnRPYmplY3RzU2VydmVyIikKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTAxMjAwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRm9udFNlcnZlciIpCi0jZW5k
aWYKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJv
bCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5j
b25maWdkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5TeXN0ZW1Db25maWd1cmF0
aW9uLlBQUENvbnRyb2xsZXIiKQpAQCAtNTgzLDkgKzU2OSw3IEBACiAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuZm9udHMiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlj
b25zZXJ2aWNlcyIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaWNvbnNlcnZpY2Vz
LnN0b3JlIikKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAog
ICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLm1lZGlhcmVtb3RlZC54cGMiKQotI2VuZGlm
CiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubG9nZCIpCiAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUubG9nZC5ldmVudHMiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLmxzZC5tYXBkYiIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCShy
ZXZpc2lvbiAyMjc0NTkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0J
KHdvcmtpbmcgY29weSkKQEAgLTQ4NCwxMyArNDg0LDcgQEAgLSAodm9pZClfc2V0Rm9ybURlbGVn
YXRlOihpZCA8V0tXZWJQcm9jZQogICAgICAgICAgICAgaWYgKCF1c2VyT2JqZWN0KQogICAgICAg
ICAgICAgICAgIHJldHVybjsKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDApCi0gICAgICAgICAgICBhdXRvIGRhdGEgPSBhZG9w
dE5TKFtbTlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgYXV0byBhcmNo
aXZlciA9IGFkb3B0TlMoW1tOU0tleWVkQXJjaGl2ZXIgYWxsb2NdIGluaXRGb3JXcml0aW5nV2l0
aE11dGFibGVEYXRhOmRhdGEuZ2V0KCldKTsKLSAgICAgICAgICAgIFthcmNoaXZlciBzZXRSZXF1
aXJlc1NlY3VyZUNvZGluZzpZRVNdOwotI2Vsc2UKICAgICAgICAgICAgIGF1dG8gYXJjaGl2ZXIg
PSBzZWN1cmVBcmNoaXZlcigpOwotI2VuZGlmCiAgICAgICAgICAgICBAdHJ5IHsKICAgICAgICAg
ICAgICAgICBbYXJjaGl2ZXIgZW5jb2RlT2JqZWN0OnVzZXJPYmplY3QgZm9yS2V5OkAidXNlck9i
amVjdCJdOwogICAgICAgICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsK
QEAgLTQ5OSwxMSArNDkzLDcgQEAgLSAodm9pZClfc2V0Rm9ybURlbGVnYXRlOihpZCA8V0tXZWJQ
cm9jZQogICAgICAgICAgICAgfQogICAgICAgICAgICAgW2FyY2hpdmVyIGZpbmlzaEVuY29kaW5n
XTsKIAotI2lmICghUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTIwMCkKLSAgICAgICAgICAgIGF1dG8gZGF0YSA9IHJldGFpblB0cihhcmNoaXZl
ci5nZXQoKS5lbmNvZGVkRGF0YSk7Ci0jZW5kaWYKLQotICAgICAgICAgICAgdXNlckRhdGEgPSBB
UEk6OkRhdGE6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKFdURk1vdmUoZGF0YSkpOworICAgICAgICAg
ICAgdXNlckRhdGEgPSBBUEk6OkRhdGE6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGFyY2hpdmVyLmdl
dCgpLmVuY29kZWREYXRhKTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgd2lsbFN1Ym1pdEZv
cm0oV2ViUGFnZSosIEhUTUxGb3JtRWxlbWVudCogZm9ybUVsZW1lbnQsIFdlYkZyYW1lKiBmcmFt
ZSwgV2ViRnJhbWUqIHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFdURjo6U3Ry
aW5nLCBXVEY6OlN0cmluZz4+JiB2YWx1ZXMsIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHVzZXJEYXRh
KSBvdmVycmlkZQo=
</data>
<flag name="review"
          id="351070"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>