<?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>35986</bug_id>
          
          <creation_ts>2010-03-10 14:32:06 -0800</creation_ts>
          <short_desc>VoiceOver can navigate to hidden content in widget (WAI-ARIA)</short_desc>
          <delta_ts>2010-03-11 12:37:44 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>jdiggs</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>198347</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-10 14:32:06 -0800</bug_when>
    <thetext>VoiceOver can navigate to hidden content because aria-hidden is not respected on elements don&apos;t use AccessibilityRenderObject::accessibilityIsIgnored</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198349</commentid>
    <comment_count>1</comment_count>
      <attachid>50439</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-10 14:37:22 -0800</bug_when>
    <thetext>Created attachment 50439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198357</commentid>
    <comment_count>2</comment_count>
      <attachid>50439</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2010-03-10 14:51:23 -0800</bug_when>
    <thetext>Comment on attachment 50439
Patch

Generally, I think this patch is good, so r=me. However, I don&apos;t like having two functions called accessibilityIsIgnored() and accessibilityIsIgnoredCommon(). I wish the names of these functions made the differences between the two more obvious. Maybe we could think of better names. Chris, could you explain what you think the difference is between the two, and perhaps that will inspire better names?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198372</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-10 15:17:52 -0800</bug_when>
    <thetext>so AccessibilityRenderObject ::accessibilityIsIgnored() has all kinds of logic in it to deal with the various roles that AccessibilityRenderObject comprises (web areas, text fields, links, images, etc). that logic would not work and be wasted if it was called by AccessibilityTable, which has its own logic to determine ignoring.

however, both those cases need to know some common things that would apply to any elements. namely, aria-hidden, presentational status and whether the platform says an element should be ignored.

so there&apos;s &quot;common&quot; ignored logic and then &quot;AccessibilityRenderObject&quot; specific ignored logic.

i had the hardest time with the naming too... so i don&apos;t have any great ideas. here are some that came to mind

accessibilityIgnoredBase
baselineAccessibilityIgnored
accessibillityIgnoredBaseline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198405</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2010-03-10 16:15:18 -0800</bug_when>
    <thetext>accessibilityIgnoredBase

I think I like this one best.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198417</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-10 16:36:37 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/55818</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198490</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-10 22:33:56 -0800</bug_when>
    <thetext>This added a failure on Leopard:
http://build.webkit.org/results/Leopard%20Intel%20Debug%20(Tests)/r55818%20(11285)/accessibility/aria-hidden-with-elements-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198501</commentid>
    <comment_count>7</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2010-03-10 23:22:23 -0800</bug_when>
    <thetext>Looks like this caused a test failure on Leopard, Chris :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198592</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-11 06:41:41 -0800</bug_when>
    <thetext>i had fixed those test failures by the time of your comment i&apos;m pretty sure. things should be ok by now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198686</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-11 11:19:24 -0800</bug_when>
    <thetext>This change makes two regressions tests fail on GTK+:

accessibility/aria-hidden-with-elements.html
platform/gtk/accessibility/table-hierarchy.html

The first one looks like a new test, so failing it may not be bad, but the second one seems to be a real regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198688</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-11 11:21:12 -0800</bug_when>
    <thetext>it does look like a real regression. i&apos;ll take a close look at the diffs and see if i mismanaged a merge</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198697</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-11 11:27:17 -0800</bug_when>
    <thetext>yea it looks like i made AccessibilityTableRow return the wrong thing on GTK. i&apos;ll fix this post-haste</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198720</commentid>
    <comment_count>12</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-11 11:58:44 -0800</bug_when>
    <thetext>problem is that accessibilityIsIgnoredBase() no longer accounts for when the platform says to include the object. will make a new bug to change this behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198723</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-11 11:59:38 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=36025</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198745</commentid>
    <comment_count>14</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-11 12:35:16 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; https://bugs.webkit.org/show_bug.cgi?id=36025

Thanks! Is this something you will be fixing soon, you think? If so, I think skipping the test for now, and unskipping it then is OK, but we should not leave this regression as is if it takes a while to correct, since we are planning a release in a few days, and should consider applying the usual policy of reverting on regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198748</commentid>
    <comment_count>15</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-03-11 12:37:44 -0800</bug_when>
    <thetext>i&apos;m uploading a patch now</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50439</attachid>
            <date>2010-03-10 14:37:22 -0800</date>
            <delta_ts>2010-03-10 14:51:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35986-20100310143720.patch</filename>
            <type>text/plain</type>
            <size>21127</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTgwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMTAtMDMtMTAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBWb2ljZU92ZXIgY2FuIG5hdmlnYXRlIHRvIGhpZGRlbiBjb250ZW50IGluIHdpZGdldCAoV0FJ
LUFSSUEpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
NTk4NgorCisgICAgICAgIEVsZW1lbnRzIHRoYXQgYXJlIHN1YmNsYXNzZXJzIG9mIEFYUmVuZGVy
T2JqZWN0IGhhdmUgbm90IGJlZW4gcmVzcGVjdGluZworICAgICAgICBhcmlhLWhpZGRlbiBhbmQg
b3RoZXIgY2FzZXMgdGhhdCB3b3VsZCBtYWtlIHRoZW0gaWdub3JlZC4gVGhpcyBhcHBsaWVzCisg
ICAgICAgIHRvIHRhYmxlcywgcm93cywgY2VsbHMsIHNlbGVjdCBib3hlcywgc2xpZGVycywgYW5k
IGxpc3RzLiBTZWxlY3QgYm94ZXMKKyAgICAgICAgYWxzbyBuZWVkIHRvIG1ha2Ugc3VyZSB0aGVp
ciBvcHRpb24gZWxlbWVudHMgcmVzcGVjdCBhcmlhLWhpZGRlbiBhcyB3ZWxsLgorCisgICAgICAg
IFRlc3Q6IGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4td2l0aC1lbGVtZW50cy5odG1sCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjphZGRDaGlsZHJlbik6CisgICAgICAgIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5TGlzdEJveDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5TGlzdEJveDo6ZG9BY2Nlc3NpYmlsaXR5SGl0VGVz
dCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5oOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb246OmFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3hP
cHRpb24uaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNj
ZXNzaWJpbGl0eUlzSWdub3JlZENvbW1vbik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRvQWNjZXNzaWJpbGl0eUhpdFRlc3QpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2xpZGVyOjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlTbGlkZXI6OnJvbGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5U2xpZGVyVGh1bWI6OnJvbGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5U2xpZGVyVGh1bWI6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZTo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQp
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6YWNjZXNzaWJpbGl0
eUlzSWdub3JlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVD
b2x1bW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6cm9s
ZVZhbHVlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRl
ckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGVIZWFk
ZXJDb250YWluZXI6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyLmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVRhYmxlUm93OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKToKKwogMjAxMC0w
My0xMCAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0Bsb2lzbG8tbWFjYm9va3Byby5sb2NhbD4K
IAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRleDogV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuY3BwCShyZXZpc2lvbiA1NTcyOCkKKysrIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU1LDggKzU1LDcgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5TGlzdD4gQWNjZXNzaWJp
bAogCiBib29sIEFjY2Vzc2liaWxpdHlMaXN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29u
c3QKIHsKLSAgICAvLyBJcyB0aGUgcGxhdGZvcm0gaW50ZXJlc3RlZCBpbiB0aGUgb2JqZWN0Pwot
ICAgIGlmIChhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpID09IElnbm9yZU9i
amVjdCkKKyAgICBpZiAoYWNjZXNzaWJpbGl0eUlzSWdub3JlZENvbW1vbigpKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAKICAgICAvLyBsaXN0cyBkb24ndCBhcHBlYXIgb24gdGlnZXIvbGVv
cGFyZCBvbiB0aGUgbWFjCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TGlzdEJveC5jcHAJKHJldmlzaW9uIDU1NzI4KQorKysgV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODAsNyArODAs
NyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlMaXN0Qm94OjphZGRDaGlsZHJlbigpCiAgICAgICAgIC8v
IFRoZSBjYXN0IHRvIEhUTUxFbGVtZW50IGJlbG93IGlzIHNhZmUgYmVjYXVzZSB0aGUgb25seSBv
dGhlciBwb3NzaWJsZSBsaXN0SXRlbSB0eXBlCiAgICAgICAgIC8vIHdvdWxkIGJlIGEgV01MRWxl
bWVudCwgYnV0IFdNTCBidWlsZHMgZG9uJ3QgdXNlIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMgYXQg
YWxsLgogICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsaXN0T3B0aW9uID0gbGlzdEJveE9w
dGlvbkFjY2Vzc2liaWxpdHlPYmplY3Qoc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihsaXN0SXRl
bXNbaV0pKTsKLSAgICAgICAgaWYgKGxpc3RPcHRpb24pCisgICAgICAgIGlmIChsaXN0T3B0aW9u
ICYmICFsaXN0T3B0aW9uLT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkpCiAgICAgICAgICAgICBt
X2NoaWxkcmVuLmFwcGVuZChsaXN0T3B0aW9uKTsKICAgICB9CiB9CkBAIC0xNTEsNiArMTUxLDE0
IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlMaXN0Qm8KICAgICAKICAgICBy
ZXR1cm4gbGlzdEJveE9iamVjdDsKIH0KKyAgICAKK2Jvb2wgQWNjZXNzaWJpbGl0eUxpc3RCb3g6
OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAoreworICAgIGlmIChhY2Nlc3NpYmlsaXR5
SXNJZ25vcmVkQ29tbW9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIHJldHVy
biBmYWxzZTsKK30KIAogQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eUxpc3RCb3g6
OmRvQWNjZXNzaWJpbGl0eUhpdFRlc3QoY29uc3QgSW50UG9pbnQmIHBvaW50KSBjb25zdAogewpA
QCAtMTY1LDE2ICsxNzMsMjEgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eUxp
c3RCbwogICAgIAogICAgIEludFJlY3QgcGFyZW50UmVjdCA9IGJvdW5kaW5nQm94UmVjdCgpOwog
ICAgIAotICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHN0YXRpY19jYXN0
PEhUTUxTZWxlY3RFbGVtZW50Kj4obm9kZSktPmxpc3RJdGVtcygpOwotICAgIHVuc2lnbmVkIGxl
bmd0aCA9IGxpc3RJdGVtcy5zaXplKCk7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbGlzdEJv
eE9wdGlvbiA9IDA7CisgICAgdW5zaWduZWQgbGVuZ3RoID0gbV9jaGlsZHJlbi5zaXplKCk7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgIEludFJl
Y3QgcmVjdCA9IHRvUmVuZGVyTGlzdEJveChtX3JlbmRlcmVyKS0+aXRlbUJvdW5kaW5nQm94UmVj
dChwYXJlbnRSZWN0LngoKSwgcGFyZW50UmVjdC55KCksIGkpOwogICAgICAgICAvLyBUaGUgY2Fz
dCB0byBIVE1MRWxlbWVudCBiZWxvdyBpcyBzYWZlIGJlY2F1c2UgdGhlIG9ubHkgb3RoZXIgcG9z
c2libGUgbGlzdEl0ZW0gdHlwZQogICAgICAgICAvLyB3b3VsZCBiZSBhIFdNTEVsZW1lbnQsIGJ1
dCBXTUwgYnVpbGRzIGRvbid0IHVzZSBhY2Nlc3NpYmlsaXR5IGZlYXR1cmVzIGF0IGFsbC4KLSAg
ICAgICAgaWYgKHJlY3QuY29udGFpbnMocG9pbnQpKQotICAgICAgICAgICAgcmV0dXJuIGxpc3RC
b3hPcHRpb25BY2Nlc3NpYmlsaXR5T2JqZWN0KHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4obGlz
dEl0ZW1zW2ldKSk7CisgICAgICAgIGlmIChyZWN0LmNvbnRhaW5zKHBvaW50KSkgeworICAgICAg
ICAgICAgbGlzdEJveE9wdGlvbiA9IG1fY2hpbGRyZW5baV0uZ2V0KCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQogICAgIH0KICAgICAKKyAgICBpZiAobGlzdEJveE9wdGlvbiAmJiAh
bGlzdEJveE9wdGlvbi0+YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpKQorICAgICAgICByZXR1cm4g
bGlzdEJveE9wdGlvbjsKKyAgICAKICAgICByZXR1cm4gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNy
ZWF0ZShtX3JlbmRlcmVyKTsKIH0KIApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlMaXN0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlMaXN0Qm94LmgJKHJldmlzaW9uIDU1NzI4KQorKysgV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDkgKzQ5
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0
cmlidXRlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTZWxlY3RlZENoaWxkcmVuKEFjY2Vzc2liaWxp
dHlDaGlsZHJlblZlY3RvciYpOwogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZh
bHVlKCkgY29uc3QgeyByZXR1cm4gTGlzdEJveFJvbGU7IH0KLSAgICAKLSAgICB2aXJ0dWFsIGJv
b2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAg
CisgICAgICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RlZENoaWxkcmVuKEFjY2Vzc2liaWxp
dHlDaGlsZHJlblZlY3RvciYpOwogICAgIHZpcnR1YWwgdm9pZCB2aXNpYmxlQ2hpbGRyZW4oQWNj
ZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJik7CiAgICAgCkBAIC01OSw2ICs1Nyw3IEBAIHB1Ymxp
YzoKIAogcHJpdmF0ZTogICAgCiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbGlzdEJveE9wdGlv
bkFjY2Vzc2liaWxpdHlPYmplY3QoSFRNTEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJv
b2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0OwogfTsKICAgICAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlz
dEJveE9wdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcAkocmV2aXNpb24gNTU3MjgpCisrKyBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDUsNiArMTA1LDE3IEBAIEludFJlY3QgQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb246
OmVsZW0KICAgICByZXR1cm4gcmVjdDsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5TGlzdEJveE9w
dGlvbjo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX29wdGlv
bkVsZW1lbnQpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShnZXRBdHRyaWJ1dGUobV9vcHRpb25FbGVtZW50LCBhcmlhX2hpZGRlbkF0dHIpLCAi
dHJ1ZSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICByZXR1cm4gcGFyZW50T2Jq
ZWN0KCktPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5
TGlzdEJveE9wdGlvbjo6Y2FuU2V0U2VsZWN0ZWRBdHRyaWJ1dGUoKSBjb25zdAogewogICAgIGlm
ICghbV9vcHRpb25FbGVtZW50KQpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlMaXN0Qm94T3B0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmgJKHJldmlzaW9uIDU1NzI4KQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SFRNTEVsZW1lbnQoSFRN
TEVsZW1lbnQqIGVsZW1lbnQpIHsgbV9vcHRpb25FbGVtZW50ID0gZWxlbWVudDsgfQogICAgIAog
ICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
TGlzdEJveE9wdGlvblJvbGU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJpbGl0eUlzSWdu
b3JlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RlZCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyBzdHJpbmdWYWx1ZSgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gNTU3MjkpCisr
KyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE0NTgsOCArMTQ1OCwxMCBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmlzQWxsb3dlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAgICAgCi1ib29sIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAorYm9v
bCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkQ29tbW9u
KCkgY29uc3QKIHsKKyAgICAvLyBUaGUgZm9sbG93aW5nIGNhc2VzIGNhbiBhcHBseSB0byBhbnkg
ZWxlbWVudCB0aGF0J3MgYSBzdWJjbGFzcyBvZiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Lgor
ICAgIAogICAgIC8vIElzIHRoZSBwbGF0Zm9ybSBpbnRlcmVzdGVkIGluIHRoaXMgb2JqZWN0Pwog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3RQbGF0Zm9ybUluY2x1c2lvbiBkZWNpc2lvbiA9IGFjY2Vz
c2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCk7CiAgICAgaWYgKGRlY2lzaW9uID09IElu
Y2x1ZGVPYmplY3QpCkBAIC0xNDc3LDcgKzE0NzksMTggQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjphY2Nlc3NpYgogICAgIAogICAgIGlmIChpc1ByZXNlbnRhdGlvbmFsQ2hpbGRP
ZkFyaWFSb2xlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKKyAgICAKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9ICAKKyAKK2Jvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNj
ZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0Cit7CisgICAgLy8gQ2hlY2sgZmlyc3QgaWYgYW55
IG9mIHRoZSBjb21tb24gcmVhc29ucyBjYXVzZSB0aGlzIGVsZW1lbnQgdG8gYmUgaWdub3JlZC4K
KyAgICAvLyBUaGVuIHByb2Nlc3Mgb3RoZXIgdXNlIGNhc2VzIHRoYXQgbmVlZCB0byBiZSBhcHBs
aWVkIHRvIGFsbCB0aGUgdmFyaW91cyByb2xlcworICAgIC8vIHRoYXQgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdHMgdGFrZSBvbi4KKyAgICBpZiAoYWNjZXNzaWJpbGl0eUlzSWdub3JlZENvbW1v
bigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKICAgICAvLyBJZiB0aGlzIGVsZW1lbnQg
aXMgd2l0aGluIGEgcGFyZW50IHRoYXQgY2Fubm90IGhhdmUgY2hpbGRyZW4sIGl0IHNob3VsZCBu
b3QgYmUgZXhwb3NlZC4KICAgICBpZiAoaXNEZXNjZW5kYW50T2ZCYXJyZW5QYXJlbnQoKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7ICAgIApAQCAtMjQ5NCw4ICsyNTA3LDEyIEBAIEFjY2Vzc2liaWxp
dHlPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5kZXIKICAgICAKICAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiByZXN1bHQgPSBvYmotPmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVh
dGUob2JqKTsKIAotICAgIGlmIChvYmotPmlzTGlzdEJveCgpKQotICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8QWNjZXNzaWJpbGl0eUxpc3RCb3gqPihyZXN1bHQpLT5kb0FjY2Vzc2liaWxpdHlI
aXRUZXN0KHBvaW50KTsKKyAgICBpZiAob2JqLT5pc0xpc3RCb3goKSkgeworICAgICAgICAvLyBN
YWtlIHN1cmUgdGhlIGNoaWxkcmVuIGFyZSBpbml0aWFsaXplZCBzbyB0aGF0IGhpdCB0ZXN0aW5n
IGZpbmRzIHRoZSByaWdodCBlbGVtZW50LgorICAgICAgICBBY2Nlc3NpYmlsaXR5TGlzdEJveCog
bGlzdEJveCA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlMaXN0Qm94Kj4ocmVzdWx0KTsKKyAg
ICAgICAgbGlzdEJveC0+dXBkYXRlQ2hpbGRyZW5JZk5lY2Vzc2FyeSgpOworICAgICAgICByZXR1
cm4gbGlzdEJveC0+ZG9BY2Nlc3NpYmlsaXR5SGl0VGVzdChwb2ludCk7CisgICAgfQogICAgICAg
ICAKICAgICBpZiAocmVzdWx0LT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkpIHsKICAgICAgICAg
Ly8gSWYgdGhpcyBlbGVtZW50IGlzIHRoZSBsYWJlbCBvZiBhIGNvbnRyb2wsIGEgaGl0IHRlc3Qg
c2hvdWxkIHJldHVybiB0aGUgY29udHJvbC4KSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAkocmV2aXNpb24gNTU3MjgpCisrKyBX
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTQsNiArMTE0LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGhh
c0ludFZhbHVlKCkgY29uc3Q7CiAgICAgCisgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
Q29tbW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQo
KSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIGludCBoZWFkaW5nTGV2ZWwoKSBjb25zdDsKSW5k
ZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAJKHJl
dmlzaW9uIDU1NzI4KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlk
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw2ICs5OSwxNCBAQCBjb25zdCBBdG9taWNTdHJp
bmcmIEFjY2Vzc2liaWxpdHlTbGlkZXI6CiAgICAgcmV0dXJuIGVsZW1lbnQoKS0+Z2V0QXR0cmli
dXRlKGF0dHJpYnV0ZSk7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVNsaWRlcjo6YWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpIGNvbnN0Cit7CisgICAgaWYgKGFjY2Vzc2liaWxpdHlJc0lnbm9yZWRD
b21tb24oKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9Cisg
ICAgCiBmbG9hdCBBY2Nlc3NpYmlsaXR5U2xpZGVyOjp2YWx1ZUZvclJhbmdlKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gZWxlbWVudCgpLT52YWx1ZSgpLnRvRmxvYXQoKTsKSW5kZXg6IFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaAkocmV2aXNpb24gNTU3MjgpCisr
KyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw3ICs0Miw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5
U2xpZGVyKCkgeyB9CiAKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIFNsaWRlclJvbGU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgaXNTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKQEAgLTYzLDYgKzYyLDcgQEAg
cHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0Owog
fTsKIAogY2xhc3MgQWNjZXNzaWJpbGl0eVNsaWRlclRodW1iIDogcHVibGljIEFjY2Vzc2liaWxp
dHlPYmplY3QgewpAQCAtNzIsNyArNzIsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+QWNjZXNz
aWJpbGl0eVNsaWRlclRodW1iKCkgeyB9CiAKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xl
IHJvbGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIFNsaWRlclRodW1iUm9sZTsgfQotICAgIHZpcnR1
YWwgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
IAogICAgIHZvaWQgc2V0UGFyZW50T2JqZWN0KEFjY2Vzc2liaWxpdHlTbGlkZXIqIHNsaWRlcikg
eyBtX3BhcmVudFNsaWRlciA9IHNsaWRlcjsgfQogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9i
amVjdCogcGFyZW50T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRTbGlkZXI7IH0KQEAg
LTgyLDYgKzgxLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlTbGlk
ZXJUaHVtYigpOworICAgIHZpcnR1YWwgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIEFjY2Vzc2liaWxpdHlTbGlkZXIqIG1fcGFyZW50
U2xpZGVyOwogfTsKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGUuY3BwCShyZXZpc2lvbiA1NTcyOCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDUsNiArNDQ1LDkgQEAgQWNj
ZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVRhYmxlOjpybwogICAgIAogYm9vbCBBY2Nlc3Np
YmlsaXR5VGFibGU6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogeworICAgIGlmIChh
Y2Nlc3NpYmlsaXR5SXNJZ25vcmVkQ29tbW9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAg
ICAgaWYgKCFpc0RhdGFUYWJsZSgpKQogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpOwogICAgIApJbmRleDogV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcAkocmV2aXNpb24g
NTU3MjgpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDkgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmls
aXR5VGFibGVDZWxsPiBBY2NlcwogCiBib29sIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGw6OmFjY2Vz
c2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogeworICAgIGlmIChhY2Nlc3NpYmlsaXR5SXNJZ25v
cmVkQ29tbW9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKCFpc1RhYmxlQ2Vs
bCgpKQogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpOwogICAgIApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZUNvbHVtbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAJKHJldmlzaW9uIDU1NzI4KQorKysgV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE1OCw2ICsxNTgsMTggQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJp
bGl0eVRhYmxlQwogICAgIHJldHVybiBtX3BhcmVudFRhYmxlLT5heE9iamVjdENhY2hlKCktPmdl
dE9yQ3JlYXRlKGNlbGwpOwogfQogICAgIAorYm9vbCBBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW46
OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAoreworICAgIGlmICghbV9wYXJlbnRUYWJs
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisjaWYgUExBVEZPUk0oR1RLKQorICAgIHJl
dHVybiB0cnVlOworI2VuZGlmCisgICAgCisgICAgcmV0dXJuIG1fcGFyZW50VGFibGUtPmFjY2Vz
c2liaWxpdHlJc0lnbm9yZWQoKTsKK30KKyAgICAKIHZvaWQgQWNjZXNzaWJpbGl0eVRhYmxlQ29s
dW1uOjphZGRDaGlsZHJlbigpCiB7CiAgICAgQVNTRVJUKCFtX2hhdmVDaGlsZHJlbik7IApJbmRl
eDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4u
aAkocmV2aXNpb24gNTU3MjgpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlQ29sdW1uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEyICs0OSw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fcGFyZW50VGFibGU7IH0KICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJP
YmplY3QoKTsKICAgICAgICAgCisgICAgdmlydHVhbCBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9y
ZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIENvbHVtblJvbGU7IH0KLSNpZiBQTEFURk9STShHVEspCi0gICAgdmlydHVh
bCBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0j
ZWxzZQotICAgIHZpcnR1YWwgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLSNlbmRpZgogICAgIHZpcnR1YWwgYm9vbCBpc1RhYmxlQ29sdW1uKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIAogICAgIHZvaWQgc2V0Q29sdW1uSW5kZXgoaW50
IGNvbHVtbkluZGV4KSB7IG1fY29sdW1uSW5kZXggPSBjb2x1bW5JbmRleDsgfQpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhl
YWRlckNvbnRhaW5lci5jcHAJKHJldmlzaW9uIDU1NzI4KQorKysgV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY4LDYgKzY4LDE4IEBAIEludFNpemUgQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFp
bmUKICAgICByZXR1cm4gZWxlbWVudFJlY3QoKS5zaXplKCk7CiB9CiAgICAgCitib29sIEFjY2Vz
c2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcjo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNv
bnN0Cit7CisgICAgaWYgKCFtX3BhcmVudFRhYmxlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAKKyNpZiBQTEFURk9STShHVEspCisgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKworICAgIHJl
dHVybiBtX3BhcmVudFRhYmxlLT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCk7Cit9CisKIHZvaWQg
QWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyOjphZGRDaGlsZHJlbigpCiB7CiAgICAg
QVNTRVJUKCFtX2hhdmVDaGlsZHJlbik7IApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuaAkocmV2aXNp
b24gNTU3MjgpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVh
ZGVyQ29udGFpbmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEyICs0OCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFBhcmVudFRhYmxlKEFjY2Vzc2liaWxpdHlUYWJsZSogdGFibGUpIHsgbV9w
YXJlbnRUYWJsZSA9IHRhYmxlOyB9CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBw
YXJlbnRPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFRhYmxlOyB9CiAgICAgCi0jaWYg
UExBVEZPUk0oR1RLKQotICAgIHZpcnR1YWwgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotI2Vsc2UKLSAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5kaWYKLSAgICAKICAg
ICB2aXJ0dWFsIGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgY2hpbGRyZW4oKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGRyZW4oKTsKICAgICAKQEAgLTY0LDYgKzU4LDcgQEAg
cHJpdmF0ZToKICAgICBBY2Nlc3NpYmlsaXR5VGFibGUqIG1fcGFyZW50VGFibGU7CiAgICAgSW50
UmVjdCBtX2hlYWRlclJlY3Q7CiAgICAgCisgICAgdmlydHVhbCBib29sIGFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQoKSBjb25zdDsKIH07IAogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKSW5k
ZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3Bw
CShyZXZpc2lvbiA1NTcyOCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVSb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NywxMCArNzcsMTMgQEAgYm9vbCBBY2Nl
c3NpYmlsaXR5VGFibGVSb3c6OmlzVGFibGVSb3coKQogYm9vbCBBY2Nlc3NpYmlsaXR5VGFibGVS
b3c6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogeyAgICAKICNpZiBQTEFURk9STShH
VEspCi0gICAgaWYgKHRydWUpCi0jZWxzZQotICAgIGlmICghaXNUYWJsZVJvdygpKQorICAgIHJl
dHVybiB0cnVlOwogI2VuZGlmCisKKyAgICBpZiAoYWNjZXNzaWJpbGl0eUlzSWdub3JlZENvbW1v
bigpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICBpZiAoIWlzVGFibGVSb3coKSkK
ICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQoKTsKIAogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1ODA4
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTAtMDMtMTAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWb2ljZU92ZXIg
Y2FuIG5hdmlnYXRlIHRvIGhpZGRlbiBjb250ZW50IGluIHdpZGdldCAoV0FJLUFSSUEpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTk4NgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi13aXRoLWVsZW1lbnRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi13aXRoLWVsZW1l
bnRzLmh0bWw6IEFkZGVkLgorCiAyMDEwLTAzLTEwICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9v
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVGhlIHRlc3Qgd2FzIGludHJvZHVjZWQgaW4gcjU1Nzk2
LCBpdCBoYXMgYmVlbiBmYWlsaW5nIGluIEd0ayBib3RzIHNpbmNlIHRoZW4uCkluZGV4OiBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLXdpdGgtZWxlbWVudHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4t
d2l0aC1lbGVtZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLXdpdGgtZWxlbWVudHMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACitjZWxsCWNlbGwJY2VsbAorY2VsbAljZWxsCWNlbGwK
K2NlbGwKK3Rlc3QKK3Rlc3QKKworaGVhZGluZworCitUaGlzIHRlc3RzIHRoYXQgYXJpYS1oaWRk
ZW4gd29ya3MgYXMgZXhwZWN0ZWQgb24gZWxlbWVudHMgdGhhdCBhcmUgc3ViY2xhc3NlcyBvZiBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGNoaWxkLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBjaGlsZC5jaGlsZHJlbkNvdW50
IGlzIDAKK1BBU1MgY2hpbGQucm9sZSBpcyAnQVhSb2xlOiBBWEhlYWRpbmcnCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi13aXRoLWVsZW1lbnRzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi13aXRoLWVsZW1lbnRz
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGlk
ZGVuLXdpdGgtZWxlbWVudHMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxz
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPHRhYmxlIGJv
cmRlcj0xIHN1bW1hcnk9InRlc3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KKzx0cj48dGQ+Y2VsbDwv
dGQ+PHRkPmNlbGw8L3RkPjx0ZD5jZWxsPC90ZD48L3RyPgorPHRyPjx0ZD5jZWxsPC90ZD48dGQ+
Y2VsbDwvdGQ+PHRkPmNlbGw8L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8ZGl2IHJvbGU9ImdyaWQi
IGFyaWEtaGlkZGVuPSJ0cnVlIj4KKzxkaXYgcm9sZT0icm93Ij48ZGl2IHJvbGU9ImdyaWRjZWxs
Ij5jZWxsPC9kaXY+PC9kaXY+Cis8L2Rpdj4KKworPHVsIGFyaWEtaGlkZGVuPSJ0cnVlIj4KKzxs
aT50ZXN0Cis8bGk+dGVzdAorPC91bD4KKworPHNlbGVjdCBzaXplPTEwIGFyaWEtaGlkZGVuPSJ0
cnVlIj4KKzxvcHRpb24+b3B0aW9uCis8b3B0aW9uPm9wdGlvbgorPC9zZWxlY3Q+CisKKzxoMT5o
ZWFkaW5nPC9oMT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQg
YXJpYS1oaWRkZW4gd29ya3MgYXMgZXhwZWN0ZWQgb24gZWxlbWVudHMgdGhhdCBhcmUgc3ViY2xh
c3NlcyBvZiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Iik7CisKKyAgICBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgdmFyIHJvb3QgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5yb290RWxlbWVudDsKKworICAgICAgIC8vIGZpcnN0IGNoaWxkIGlzIGFuIEFY
R3JvdXAgdGhhdCBoYXMgbm8gY2hpbGRyZW4KKyAgICAgICB2YXIgY2hpbGQgPSByb290LmNoaWxk
QXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgc2hvdWxkQmUoImNoaWxkLmNoaWxk
cmVuQ291bnQiLCAiMCIpOworCisgICAgICAgLy8gc2Vjb25kIGNoaWxkIGlzIGFuIEFYR3JvdXAg
dGhhdCBoYXMgbm8gY2hpbGRyZW4KKyAgICAgICBjaGlsZCA9IHJvb3QuY2hpbGRBdEluZGV4KDAp
LmNoaWxkQXRJbmRleCgxKTsKKyAgICAgICBzaG91bGRCZSgiY2hpbGQuY2hpbGRyZW5Db3VudCIs
ICIwIik7CisKKyAgICAgICAvLyB0aGUgbmV4dCBjaGlsZCB3ZSBhc2sgZm9yIGZyb20gdGhlIHdl
YiBhcmVhIHNob3VsZCBiZSB0aGUgaGVhZGluZywgYW5kIHdlIHNob3VsZCBoYXZlIHNraXBwZWQg
b3ZlciBldmVyeXRoaW5nIGVsc2UuCisgICAgICAgY2hpbGQgPSByb290LmNoaWxkQXRJbmRleCgw
KS5jaGlsZEF0SW5kZXgoMik7CisgICAgICAgc2hvdWxkQmUoImNoaWxkLnJvbGUiLCAiJ0FYUm9s
ZTogQVhIZWFkaW5nJyIpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="33587"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>