1<!DOCTYPE html>
2<html>
3<head i18n-values="dir:textdirection;">
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5<meta charset="utf-8"/>
6<title>Android System Trace</title>
7<style>
8  html,
9  body {
10    height: 100%;
11  }
12
13  body {
14    -webkit-flex-direction: column;
15    display: -webkit-flex;
16    margin: 0;
17    padding: 0;
18  }
19
20  body > tr-ui-timeline-view {
21    -webkit-flex: 1 1 auto;
22    min-height: 0;
23  }
24  body > tr-ui-timeline-view:focus {
25    outline: none;
26  }
27</style>
28<template id="overlay-template">
29  <style>
30    overlay-mask {
31      left: 0;
32      padding: 8px;
33      position: absolute;
34      top: 0;
35      z-index: 1000;
36      font-family: sans-serif;
37      -webkit-justify-content: center;
38      background: rgba(0, 0, 0, 0.8);
39      display: -webkit-flex;
40      height: 100%;
41      left: 0;
42      position: fixed;
43      top: 0;
44      width: 100%;
45    }
46    overlay-mask:focus {
47      outline: none;
48    }
49    overlay-vertical-centering-container {
50      -webkit-justify-content: center;
51      -webkit-flex-direction: column;
52      display: -webkit-flex;
53    }
54    overlay-frame {
55      z-index: 1100;
56      background: rgb(255, 255, 255);
57      border: 1px solid #ccc;
58      margin: 75px;
59      display: -webkit-flex;
60      -webkit-flex-direction: column;
61      min-height: 0;
62    }
63    title-bar {
64      -webkit-align-items: center;
65      -webkit-flex-direction: row;
66      border-bottom: 1px solid #ccc;
67      background-color: #ddd;
68      display: -webkit-flex;
69      padding: 5px;
70      -webkit-flex: 0 0 auto;
71    }
72    title {
73      display: inline;
74      font-weight: bold;
75      -webkit-box-flex: 1;
76      -webkit-flex: 1 1 auto;
77    }
78    close-button {
79      -webkit-align-self: flex-end;
80      border: 1px solid #eee;
81      background-color: #999;
82      font-size: 10pt;
83      font-weight: bold;
84      padding: 2px;
85      text-align: center;
86      width: 16px;
87    }
88    close-button:hover {
89      background-color: #ddd;
90      border-color: black;
91      cursor: pointer;
92    }
93    overlay-content {
94      display: -webkit-flex;
95      -webkit-flex: 1 1 auto;
96      -webkit-flex-direction: column;
97      overflow-y: auto;
98      padding: 10px;
99      min-width: 300px;
100      min-height: 0;
101    }
102    button-bar {
103      -webkit-align-items: baseline;
104      border-top: 1px solid #ccc;
105      display: -webkit-flex;
106      -webkit-flex: 0 0 auto;
107      -webkit-flex-direction: row-reverse;
108      padding: 4px;
109    }
110  </style>
111
112  <overlay-mask>
113    <overlay-vertical-centering-container>
114      <overlay-frame>
115        <title-bar>
116          <title></title>
117          <close-button>✕</close-button>
118        </title-bar>
119        <overlay-content>
120          <content></content>
121        </overlay-content>
122        <button-bar></button-bar>
123      </overlay-frame>
124    </overlay-vertical-centering-container>
125  </overlay-mask>
126</template><style>
127* /deep/ .labeled-checkbox {
128  display: flex;
129  white-space: nowrap;
130}
131</style><dom-module id="tr-ui-a-analysis-link">
132  <template>
133    <style>
134    :host {
135      display: inline;
136      cursor: pointer;
137      cursor: pointer;
138      white-space: nowrap;
139    }
140    a {
141      text-decoration: underline;
142    }
143    </style>
144    <a href="{{href}}" on-click="onClicked_" on-mouseenter="onMouseEnter_" on-mouseleave="onMouseLeave_"><content></content></a>
145
146  </template>
147</dom-module><dom-module id="tr-ui-b-table">
148  <template>
149    <style>
150      :host {
151        display: flex;
152        flex-direction: column;
153      }
154
155      table {
156        flex: 1 1 auto;
157        align-self: stretch;
158        border-collapse: separate;
159        border-spacing: 0;
160        border-width: 0;
161        -webkit-user-select: initial;
162      }
163
164      tr > td {
165        padding: 2px 4px 2px 4px;
166        vertical-align: top;
167      }
168
169      table > tbody:focus {
170        outline: none;
171      }
172      table > tbody:focus[selection-mode="row"] > tr[selected],
173      table > tbody:focus[selection-mode="cell"] > tr > td[selected],
174      table > tbody:focus > tr.empty-row > td {
175        outline: 1px dotted #666666;
176        outline-offset: -1px;
177      }
178
179      button.toggle-button {
180        height: 15px;
181        line-height: 60%;
182        vertical-align: middle;
183        width: 100%;
184      }
185
186      button > * {
187        height: 15px;
188        vertical-align: middle;
189      }
190
191      td.button-column {
192        width: 30px;
193      }
194
195      table > thead > tr > td.sensitive:hover {
196        background-color: #fcfcfc;
197      }
198
199      table > thead > tr > td {
200        font-weight: bold;
201        text-align: left;
202
203        background-color: #eee;
204        white-space: nowrap;
205        overflow: hidden;
206        text-overflow: ellipsis;
207
208        border-top: 1px solid #ffffff;
209        border-bottom: 1px solid #aaa;
210      }
211
212      table > tfoot {
213        background-color: #eee;
214        font-weight: bold;
215      }
216
217      /* Light row and cell highlight. */
218      table > tbody[row-highlight-style="light"] > tr[selected],
219      table > tbody[cell-highlight-style="light"] > tr > td[selected] {
220        background-color: rgb(213, 236, 229);  /* light turquoise */
221      }
222      table > tbody[row-highlight-style="light"] >
223          tr:not(.empty-row):not([selected]):hover,
224      table > tbody[cell-highlight-style="light"] >
225          tr:not(.empty-row):not([selected]) > td:hover {
226        background-color: #f6f6f6;  /* light grey */
227      }
228
229      /* Dark row and cell highlight. */
230      table > tbody[row-highlight-style="dark"] > tr[selected],
231      table > tbody[cell-highlight-style="dark"] > tr > td[selected] {
232        background-color: rgb(103, 199, 165);  /* turquoise */
233      }
234      table > tbody[row-highlight-style="dark"] >
235          tr:not(.empty-row):not([selected]):hover,
236      table > tbody[cell-highlight-style="dark"] >
237          tr:not(.empty-row):not([selected]) > td:hover {
238        background-color: #e6e6e6;  /* grey */
239      }
240      table > tbody[row-highlight-style="dark"] > tr:hover[selected],
241      table > tbody[cell-highlight-style="dark"] > tr[selected] > td:hover {
242        background-color: rgb(171, 217, 202);  /* semi-light turquoise */
243      }
244
245      table > colgroup > col[selected] {
246        background-color: #e6e6e6;  /* grey */
247      }
248
249      table > tbody > tr.empty-row > td {
250        color: #666;
251        font-style: italic;
252        text-align: center;
253      }
254
255      table > tbody.has-footer > tr:last-child > td {
256        border-bottom: 1px solid #aaa;
257      }
258
259      table > tfoot > tr:first-child > td {
260        border-top: 1px solid #ffffff;
261      }
262
263      :host([zebra]) table tbody tr:nth-child(even) {
264        background-color: #f4f4f4;
265      }
266
267      expand-button {
268        -webkit-user-select: none;
269        cursor: pointer;
270        margin-right: 3px;
271        font-size: smaller;
272        height: 1rem;
273      }
274
275      expand-button.button-expanded {
276        transform: rotate(90deg);
277      }
278    </style>
279    <table>
280      <colgroup id="cols">
281      </colgroup>
282      <thead id="head">
283      </thead>
284      <tbody id="body">
285      </tbody>
286      <tfoot id="foot">
287      </tfoot>
288    </table>
289  </template>
290</dom-module><dom-module id="tr-ui-b-table-header-cell">
291  <template>
292  <style>
293    :host {
294      -webkit-user-select: none;
295      display: flex;
296    }
297
298    span {
299      flex: 0 1 auto;
300    }
301
302    #side {
303      -webkit-user-select: none;
304      flex: 0 0 auto;
305      padding-left: 2px;
306      padding-right: 2px;
307      vertical-align: top;
308      font-size: 15px;
309      font-family: sans-serif;
310      line-height: 85%;
311      margin-left: 5px;
312    }
313
314    #side.disabled {
315      color: rgb(140, 140, 140);
316    }
317
318    #title:empty, #side:empty {
319      display: none;
320    }
321  </style>
322
323    <span id="title"></span>
324    <span id="side"></span>
325  </template>
326</dom-module><dom-module id="tr-v-ui-scalar-context-controller">
327  <template></template>
328</dom-module><dom-module id="tr-v-ui-scalar-span">
329  <template>
330    <style>
331    :host {
332      display: flex;
333      flex-direction: row;
334      justify-content: flex-end;
335      position: relative;
336      /* Limit the sparkline's negative z-index to the span only. */
337      isolation: isolate;
338    }
339
340    :host(.left-align) {
341      justify-content: flex-start;
342    }
343
344    :host(.inline) {
345      display: inline-flex;
346    }
347
348    #sparkline {
349      width: 0%;
350      position: absolute;
351      bottom: 0;
352      display: none;
353      height: 100%;
354      background-color: hsla(216, 100%, 94.5%, .75);
355      border-color: hsl(216, 100%, 89%);
356      box-sizing: border-box;
357      z-index: -1;
358    }
359    #sparkline.positive {
360      border-right-style: solid;
361      /* The border width must be kept in sync with buildSparklineStyle_(). */
362      border-right-width: 1px;
363    }
364    #sparkline:not(.positive) {
365      border-left-style: solid;
366      /* The border width must be kept in sync with buildSparklineStyle_(). */
367      border-left-width: 1px;
368    }
369    #sparkline.better {
370      background-color: hsla(115, 100%, 93%, .75);
371      border-color: hsl(118, 60%, 80%);
372    }
373    #sparkline.worse {
374      background-color: hsla(0, 100%, 88%, .75);
375      border-color: hsl(0, 100%, 80%);
376    }
377
378    #content, #significance, #warning {
379      flex-grow: 0;
380    }
381    #content.better {
382      color: green;
383    }
384    #content.worse {
385      color: red;
386    }
387
388    #significance svg {
389      margin-left: 4px;
390      display: none;
391      height: 1em;
392      vertical-align: text-top;
393      stroke-width: 4;
394      fill: rgba(0, 0, 0, 0);
395    }
396    #significance #insignificant {
397      stroke: black;
398    }
399    #significance #significantly_better {
400      stroke: green;
401    }
402    #significance #significantly_worse {
403      stroke: red;
404    }
405
406    #warning {
407      display: none;
408      margin-left: 4px;
409      height: 1em;
410      vertical-align: text-top;
411      stroke-width: 0;
412    }
413    #warning path {
414      fill: rgb(255, 185, 185);
415    }
416    #warning rect {
417      fill: red;
418    }
419    </style>
420
421    <span id="sparkline"></span>
422
423    <span id="content"></span>
424
425    <span id="significance">
426
427      <svg id="insignificant" viewBox="0 0 128 128">
428        <circle cx="64" cy="64" r="60"></circle>
429        <circle cx="44" cy="44" r="4"></circle>
430        <circle cx="84" cy="44" r="4"></circle>
431        <line x1="36" x2="92" y1="80" y2="80"></line>
432      </svg>
433
434
435      <svg id="significantly_better" viewBox="0 0 128 128">
436        <circle cx="64" cy="64" r="60"></circle>
437        <circle cx="44" cy="44" r="4"></circle>
438        <circle cx="84" cy="44" r="4"></circle>
439        <path d="M 28 64 Q 64 128 100 64"></path>
440      </svg>
441
442
443      <svg id="significantly_worse" viewBox="0 0 128 128">
444        <circle cx="64" cy="64" r="60"></circle>
445        <circle cx="44" cy="44" r="4"></circle>
446        <circle cx="84" cy="44" r="4"></circle>
447        <path d="M 36 96 Q 64 48 92 96"></path>
448      </svg>
449    </span>
450
451    <svg id="warning" viewBox="0 0 128 128">
452      <path d="M 64 0 L 128 128 L 0 128 L 64 0"></path>
453      <rect height="84" width="8" x="60" y="0"></rect>
454      <rect height="24" width="8" x="60" y="100"></rect>
455    </svg>
456  </template>
457</dom-module><dom-module id="tr-ui-a-generic-object-view">
458  <template>
459    <style>
460    :host {
461      display: block;
462      font-family: monospace;
463    }
464    </style>
465    <div id="content">
466    </div>
467  </template>
468</dom-module><dom-module id="tr-ui-a-generic-object-view-with-label">
469  <template>
470    <style>
471    :host {
472      display: block;
473    }
474    </style>
475  </template>
476</dom-module><dom-module id="tr-ui-b-drag-handle">
477  <template>
478    <style>
479    :host {
480      -webkit-user-select: none;
481      box-sizing: border-box;
482      display: block;
483    }
484
485    :host(.horizontal-drag-handle) {
486      background-image: -webkit-gradient(linear,
487                                         0 0, 0 100%,
488                                         from(#E5E5E5),
489                                         to(#D1D1D1));
490      border-bottom: 1px solid #8e8e8e;
491      border-top: 1px solid white;
492      cursor: ns-resize;
493      flex: 0 0 auto;
494      height: 7px;
495      position: relative;
496    }
497
498    :host(.vertical-drag-handle) {
499      background-image: -webkit-gradient(linear,
500                                         0 0, 100% 0,
501                                         from(#E5E5E5),
502                                         to(#D1D1D1));
503      border-left: 1px solid white;
504      border-right: 1px solid #8e8e8e;
505      cursor: ew-resize;
506      flex: 0 0 auto;
507      position: relative;
508      width: 7px;
509    }
510    </style>
511    <div></div>
512  </template>
513</dom-module><dom-module id="tv-ui-b-hotkey-controller">
514  <template>
515    <div></div>
516  </template>
517</dom-module><dom-module id="tr-ui-b-info-bar">
518  <template>
519    <style>
520    :host {
521      align-items: center;
522      flex: 0 0 auto;
523      background-color: rgb(252, 235, 162);
524      border-bottom: 1px solid #A3A3A3;
525      border-left: 1px solid white;
526      border-right: 1px solid #A3A3A3;
527      border-top: 1px solid white;
528      display: flex;
529      height: 26px;
530      padding: 0 3px 0 3px;
531    }
532
533    :host([hidden]) {
534      display: none !important;
535    }
536
537    #message { flex: 1 1 auto; }
538    </style>
539
540    <span id="message"></span>
541    <span id="buttons"></span>
542  </template>
543</dom-module><style>
544* /deep/ .x-list-view{-webkit-user-select:none;display:block}* /deep/ .x-list-view:focus{outline:none}* /deep/ .x-list-view *{-webkit-user-select:none}* /deep/ .x-list-view>.list-item{padding:2px 4px 2px 4px}* /deep/ .x-list-view:focus>.list-item[selected]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ .x-list-view>.list-item[selected]{background-color:rgb(103,199,165)}
545</style><dom-module id="tr-ui-b-mouse-mode-icon">
546  <template>
547    <style>
548    :host {
549      display: block;
550      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=);
551      width: 27px;
552      height: 30px;
553    }
554    :host.active {
555      cursor: auto;
556    }
557    </style>
558  </template>
559</dom-module><dom-module id="tr-ui-b-mouse-mode-selector">
560  <template>
561    <style>
562    :host {
563
564      -webkit-user-drag: element;
565      -webkit-user-select: none;
566
567      background: #DDD;
568      border: 1px solid #BBB;
569      border-radius: 4px;
570      box-shadow: 0 1px 2px rgba(0,0,0,0.2);
571      left: calc(100% - 120px);
572      position: absolute;
573      top: 100px;
574      user-select: none;
575      width: 29px;
576      z-index: 20;
577    }
578
579    .drag-handle {
580      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=) 2px 3px no-repeat;
581      background-repeat: no-repeat;
582      border-bottom: 1px solid #BCBCBC;
583      cursor: move;
584      display: block;
585      height: 13px;
586      width: 27px;
587    }
588
589    .tool-button {
590      background-position: center center;
591      background-repeat: no-repeat;
592      border-bottom: 1px solid #BCBCBC;
593      border-top: 1px solid #F1F1F1;
594      cursor: pointer;
595    }
596
597    .buttons > .tool-button:last-child {
598      border-bottom: none;
599    }
600
601    </style>
602    <div class="drag-handle"></div>
603    <div class="buttons">
604    </div>
605  </template>
606</dom-module><dom-module id="tr-ui-e-chrome-cc-display-item-list-item">
607  <template>
608    <style>
609      :host {
610        border-bottom: 1px solid #555;
611        display: block;
612        font-size: 12px;
613        padding: 3px 5px;
614      }
615
616      :host(:hover) {
617        background-color: #f0f0f0;
618        cursor: pointer;
619      }
620
621      .header {
622        font-weight: bold;
623        margin: 2px 0;
624      }
625
626      .header > .extra {
627        background-color: #777;
628        border-radius: 4px;
629        color: white;
630        margin: 0 6px;
631        text-decoration: none;
632        padding: 2px 4px;
633      }
634
635      .raw-details {
636        white-space: pre-wrap;
637      }
638
639      .details > dl {
640        margin: 0;
641      }
642
643      :host(:not([selected])) .details {
644        display: none;
645      }
646    </style>
647    <div class="header">
648      {{name}}
649      <template if="{{_computeIf(richDetails)}}" is="dom-if">
650        <a class="extra" download="drawing.skp" href$="{{_computeHref(richDetails)}}" on-click="{{stopPropagation}}">SKP</a>
651      </template>
652    </div>
653    <div class="details">
654      <template if="{{rawDetails}}">
655        <div class="raw-details">{{rawDetails}}</div>
656      </template>
657      <template bind="{{richDetails}}" if="{{richDetails}}" is="dom-if">
658        <dl>
659          <template bind="{{cullRect}}" if="{{cullRect}}" is="dom-if">
660            <dt>Cull rect</dt>
661            <dd>{{x}},{{y}} {{width}}×{{height}}</dd>
662          </template>
663          <template bind="{{visualRect}}" if="{{visualRect}}" is="dom-if">
664            <dt>Visual rect</dt>
665            <dd>{{x}},{{y}} {{width}}×{{height}}</dd>
666          </template>
667        </dl>
668      </template>
669    </div>
670  </template>
671
672</dom-module><style>
673* * /deep/ tr-ui-e-chrome-cc-picture-ops-list-view{-webkit-flex-direction:column;border-top:1px solid grey;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view{-webkit-flex:1 1 auto;overflow:auto}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item{border-bottom:1px solid #555;font-size:small;font-weight:bold;padding-bottom:5px;padding-left:5px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item:hover{background-color:#f0f0f0;cursor:pointer}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>*{color:#777;font-size:x-small;font-weight:normal;margin-left:1em;max-width:300px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.elementInfo{color:purple;font-size:small;font-weight:bold}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.time{color:rgb(136,0,0)}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view:focus>.list-item[beforeSelection]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view>.list-item[beforeSelection]{background-color:rgb(103,199,165)}
674</style><template id="tr-ui-e-chrome-cc-display-item-debugger-template">
675  <style>
676  * /deep/ tr-ui-e-chrome-cc-display-item-debugger {
677    -webkit-flex: 1 1 auto;
678    display: -webkit-flex;
679  }
680
681  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel {
682    -webkit-flex-direction: column;
683    display: -webkit-flex;
684    min-width: 300px;
685    overflow-y: auto;
686  }
687
688  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
689        display-item-info {
690    -webkit-flex: 1 1 auto;
691    padding-top: 2px;
692  }
693
694  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
695        display-item-info .title {
696    font-weight: bold;
697    margin-left: 5px;
698    margin-right: 5px;
699  }
700
701  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
702        display-item-info .export {
703    margin: 5px;
704  }
705
706  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > tr-ui-b-drag-handle {
707    -webkit-flex: 0 0 auto;
708  }
709
710  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel {
711    -webkit-flex: 1 1 auto;
712    display: -webkit-flex;
713  }
714
715  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
716      display-item-info > header {
717    border-bottom: 1px solid #555;
718  }
719
720  /*************************************************/
721
722  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
723      tr-ui-e-chrome-cc-picture-ops-list-view.hasPictureOps {
724    display: block;
725  }
726
727  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
728        tr-ui-b-drag-handle.hasPictureOps {
729    display: block;
730  }
731
732  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
733        tr-ui-e-chrome-cc-picture-ops-list-view {
734    display: none;
735    overflow-y: auto;
736  }
737
738  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
739        tr-ui-b-drag-handle {
740    display: none;
741  }
742
743  * /deep/ tr-ui-e-chrome-cc-display-item-debugger raster-area {
744    -webkit-flex: 1 1 auto;
745    background-color: #ddd;
746    min-height: 200px;
747    min-width: 200px;
748    overflow-y: auto;
749    padding-left: 5px;
750  }
751  </style>
752
753  <left-panel>
754    <display-item-info>
755      <header>
756        <span class="title">Display Item List</span>
757        <span class="size"></span>
758        <div class="export">
759          <input class="dlfilename" type="text" value="displayitemlist.json"/>
760          <button class="dlexport">Export display item list</button>
761        </div>
762        <div class="export">
763          <input class="skpfilename" type="text" value="skpicture.skp"/>
764          <button class="skpexport">Export list as SkPicture</button>
765        </div>
766      </header>
767    </display-item-info>
768  </left-panel>
769  <right-panel>
770    <raster-area><canvas></canvas></raster-area>
771  </right-panel>
772</template><style>
773* /deep/ .tr-ui-e-chrome-cc-display-item-list-view{-webkit-flex:1 1 auto!important;display:-webkit-flex}
774</style><style>
775* /deep/ tr-ui-e-chrome-cc-layer-picker{-webkit-flex-direction:column;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;display:inline;font-size:14px;padding-left:2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls input[type='checkbox']{vertical-align:-2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>.x-list-view{-webkit-flex:1 1 auto;font-family:monospace;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view{-webkit-flex:0 0 auto;height:200px;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view *{-webkit-user-select:text!important;cursor:text}
776</style><style>
777* /deep/ quad-stack-view {
778  display: block;
779  float: left;
780  height: 100%;
781  overflow: hidden;
782  position: relative; /* For the absolute positioned mouse-mode-selector */
783  width: 100%;
784}
785
786* /deep/ quad-stack-view > #header {
787  position: absolute;
788  font-size: 70%;
789  top: 10px;
790  left: 10px;
791  width: 800px;
792}
793* /deep/ quad-stack-view > #stacking-distance-slider {
794  position: absolute;
795  font-size: 70%;
796  top: 10px;
797  right: 10px;
798}
799
800* /deep/ quad-stack-view > #chrome-left {
801  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABICAYAAABC4+HLAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyMmV/Pm9QAAIABJREFUeNrtvXmwXdd13vlbe9/7BgzEQAIcQAIEQYKjSAokLVlOW5Fk2nLKmqx0J2Wp0k652h13uiy5XYqdwU7sSnckpZ1yV3U75apU4kos27Elu9NlyRXZjiiRomSTIiWZs0hwHsABJIY33rPX6j/W2ueed3DvAyDKKoGFW0UCeO/ec/fZZ+29v7XWt74lAIuLi7tXV1f/raq+zcy2AogIZsbpvrqfMzNE5IS/1/fVn5sZKaUTrtX9/v7nT+fn9e/1e052X/3r1THWa3R/37+miKCq7c+mjW/a+F/P57vj6/45bayn+wzXs4n+794Q9nP8+PHdS0tL31LVmfpGVQU4YSInGUb/YfZvpn+zp/LQu4Y27X31d933nurkq+qaa08yotO55npG0v2O+r1/XZ9fb2FMWoD9Oe5+pju//e+fdP3u83+j2I+89NJLn11dXf1bdSCTJnnSSpz2+/VWZ/8m+w+g/zD616yT2P9733BOZ5f4dhbCevPQHet63zVtV3y9n1/v/k9nZ562SNY7Gd5o9iPPP//8qxVKrQdL+hOy3qqdNEnTjv1JA+vuRpMGvd7kn8oCqded9B2THuJ6u/Kk7+vuiNOgQH8OX+/np813/376O/CkU2EavDwVWPiGsp9nn33WJt3ItF2ne2xOe2jTHuTJMOS0He1UcG33791JmWQYkzB6dyfp7tynsktPG8/Jdv2TGcLpfH7Sc5m0EKZBsPV+tp4PMe39bwj7efrpp229G5u2O3WPplN1cE/XQZsENybtnNN2pv4x3N1Fpu2S/SO6j6fXgz6n4gRPGmMfR7/ez/cXd/1798Tsfr4PMU52Oq4Hp95I9jPor7ZJ+G7STlEnvN7gesfXpB2tH5lZzynrO07Txtb92aQTY9rv+3i1v4jqv5umOSEq0r9O3/iqEUx6MPXnqjpxrk73812oMQmP968zyUj68zPp+U1bxG80+5GnnnrKpkVxTiWUuN4q7+96/YFXp6pvANN8hD7MmRbF6O7200KR9ed9CDbpSF4v6jIJtnQjQdPGOylK9p34/HowaFL0Z73IUNex7Z5Gk3bkN6L9yBNPPGHdY3fayu3uSP0dqH62uyP0w4XrDWo957gPEfqf78e4p4U8+0Y86R6711pvAUyL3vTvd9ou238Q/Xn4dj4/Cd6d7BlMC532534S9OnO8xvVfuTxxx+39RJlk/DtpAGc6k6hquScp+7EkyIn0+LV60Ufpu2q05zN/sOYFIfvP8CT5VEmGWN/h5w0zm/38+sl7/r3drLntt58rzdXbyT7kccee8z6O2b3JnLO6zpjk47nkyVg1pu07muas9b3CaZh4f5uPMn4Sikn7Jj9RTEJMnQfVHdck4x3Wt5i0qL6dj8/6WQ5GcSYBiEn+STrhT/fqPYzmJYxrRcopax5eH18Oi38WI2ulLImYTPNMavv716z/93rRXUmOZXVgZ5kePX7+hPeN5xJTmx3MdXf9zHyM888w8LCwgn30IUQ0xzWSYvhVD4/LarTzpWBpOl+zqRQ9lqjE2DCtbH2x9MW3XA45JxzzmHnzp0njYp9r9jPoH75Gkekc8SZ2ZpjrH/Ez8wMSSmHMY4YjZp2MDnniVGT/sPvRhxmZ2fJOWHmxj0ajU7AtvV6k4727gSklMg5M4jdq6iyuro69bv799fNptYF0X3vJKjz8MMPMz+/gWuvuYatW7eScgIEwTADEwEUAZDkBgtuYONlCCJgAuZ/N5QkCcP8avFzUH8fsZgNEoJJLAakc+2TjENi90RQjGSCJm1/hwlmgmRFFIwEYoiNxyPxvYZ07gVKUzh8+DD333cfRZXLLrvsBLxfjbl76pyO/ZRS1thq325O137k4YcftvUSOf1Ufdco/uwLX+LOv7ibZ194EYBdF+zkB956C+98+99ARE64ue6XqyqDwaDdGZqm4Qtf/DK3f+UveO7QS2uu944f/IH2WpNwdp2U/oT8+W23c8dX7+K5GN9FF+zkb7zlZt71jh9cswNPw8uTsPU0h19VeeSRR7j55lvYumUzK6MCpqTs9p2AAiRLmChWBBIIiqZEMkVUMAQTJZtQSCCKkDE0/h+7twkKpCSYxrhVMTGyCYogohRLCGvHoYD0xyGKScIUpC5AVSQl/0ACaxeCkJJhakDCTJEEiKAmDMx8XSdAY6lZQjHmZoa89NLL3Pv1r3PVVVeesDH3T+FTtZ/uguhu8v3o36naj4ggjzzyiPXhwtRjOf6+tLjEP//4r3HOuRfw5psPsOeSXQA8+dQz3Pu1ezl2+BC//I9+jvn5uXWjDfW1uLjIr37y19m8/fzJ13vlBf75L/48c3Oza3aWadSP5eUVfuUT/2bd6/3yL/xvbNgwv2Y3qbtOF0J2MfN6ka7nnnuOvZfuZcfO8xitKnloFBXEBHGLc4MTQwVEDeIkyAqa/Pdh9z5vaqgkUuz8akYGVATEHOYYiCSUQtJqkCDJsJJIvXFYNRIzLGWQQqqLEiOhqKS6gnzhqJ9cJplsiiXBSnfBJF957TEoJBKYYskwFUSgWCKnBkmZp59+mpdfepmdO3eu2USn+V/r2c/JWAX9CN/J7KdNiD744IO2nqM0Cff+01/9P7js6gP8d29/C5detJNtmzYC8OrxBZ547kVu/+JfcPDBe/iXv/xPkCnkvHalm/HPTvV6v/SP25vs3mB3fKurI37pX36cfdesf73HHriH//2X/3Fr/NOSTZMyzn0n0sx47LHH+JEf+REWFhd8pzcliRtyBVbFYlcTN0bfpoWEYiaxENTtjOQwByOZ7+r+b/zacY5YICvH/iDmBurjmzQOKMlIWkPThpohkuN0iwWI+YrNGkdeQswwcbhlWEAzw8wXazZDJfsYMP84ghXzxSHip5rB/IY5/sv/+0dc96Y3rdmA2uz0YDA1EHIqDNv1KDAVvk2yn64vOujHlqdlJ+vv/+wLX2JuywVcfOkeXj2ywGtHn0C1Hov+uUsu3cNzzz/Hf7vtdm5959snRknq6wtfvOOUr/fnX7yDH37n29fccBdG5Zy57fYvs2HrqV7vdm59x9vXJeqtx6WqD+T555/nyiv3s7y8TMLhSgLMElkURx+KENi+7uzi0EgtIUCi+OmSwIpjmYTSAIN6uiSDkkAKQgp/IgON+yaGnxIBz/rjcPckj30LU5I5rCsJsiYsafgjCbXEUIwiiqq4e1J9FjVfNCioYMlPC/eJIFuisTiN0oBkhllBcmJlaYnL9+/n0KFD7Nixg5xza6hPP/00S0tLzM7Mho/lfpGicW/hyyCQAv75Nuw+UOwi/o7WmXLfClhYOMaWLVvZtWtXG7TpRibrMx/0V1j34XcdT4DBYMA933yQnRdeymhUOHZsCZFEqrurORRZHRV2XrCLr33jft596zsZjUbtiuzGqQeDAXd//T52Xrj3lK53zzce4G/d+k6WlpfXOF5jSAhf+8YD7DjF8d3zjQf50VvfRdM0LYzqv/pHcH9napqGF154gb/59rdz7PhxTPCdNSliisYuK5rjIRsWPyeJQyGhWhyNCEn9sbrPIGRJmBRfeCb+kEXQwDZG49AFIYmh4kvmhHGYISTEGl9YBimPoZypvx8VJA3R5IurMcdrSTrjLuGjGJCNpJnGlCwWp6CRMLIoMCBhFJPYIAxNxjVXX83v//7vs337dnLONE1DzpmXX36Zt73tB1g8fhwzh3OIObyrp60IWp9XNlBfRtkCPqWIM9T5x+GhDIQN8/O88srLfPWrX+WWW245IeLVPvvubt49biZRMTDj6MISGzdt9i81YTjIzM/OMjc7w3AwANwp27hpM0cWln0iOt9RowruSAlHFpZP43pLJxAB68lnZuSUOXJa41tCIuQ7jYBWf9fnP5kZo9GIlZUVLrzwQpaXVzxihGHJEE1ucdlIkgOwKMncj5Ds0SjfZd2R9re7AeWkGOFUhuOrrd+jFDPMEkJ1XGPhxdY+cRzZARPJfR9Jiqm/P2wONKHJwJRs6jt0Su5nWHJfQj2IYBQIp14xBkI47OE/BVyUFI6/KCk5zJOSGY1W2bFjB03TrOGtzQyHNKNRnTGQghWjWInxGI0phvtyNOZg0GAU86hmlMYw9c9qMYyCjgpHjx9ndmYD3//Wt3LPPfdM9FtUlYGqUko5IbzVdUi7WHw4M8vc3CxzczNsmnejq6HSphSWVlYBWF2ZY2Z2tt2tuwuw/ruUwszs6V2vuxi6TlYd48zM6V+vC8/qYqgnZT861Y+dP/bYo/zoj/4Yo3o8u1PgoVRJiPqJBRkRo6C+oxchSaGIxC5uJHEfwDdqN3xTg+wRKXd2EyRIBppjy/fLY02CWCzTxuHX91MAEfdPNJESqBopFcwyJurAqg3jWpx6DqkExVIiNwIDQa1BAWRAQiE5XExJ/URCyQgFIZlB9rk8cOAAt912G/v3728jiMOZGVQDEShoSUhuEM2U5CecFHWIGbAzlwZJghRDs0AJ2FVdu2wUMxI+XyqFpjF27drF0aNH2bRpU7txt455fcjVuCrE6Ds6DkdW2bF9C1lg49wsG+ZmOWfjHNu3bGL7lk1s2TjPpvlZNszOkMTYsW0LWvSEHbhraDu2nfr1ztu6haa3uLqn0qhpOO+0rncOTWcy+vmMesLVxVgXdimFpmligWbmZgZtLN8vFmFZbbBGHfdSwo9whxot8ZAdMydzTG9aUDGKGlZ8QaiGU6wGVtDSUChIY6j6gqOBTHPScZj5qVHUoAg0DaYlIIWhlj2qFUhBDUwLNH4tMCgKZqRSGMwO+PM//VOGgznPe2jDYGbIvfd8g5mZAapCMcEEv6cK8RpFLLFp06Z2Lqvt7dmzh4cfeRBTQ1E04GXBEG187pLSqNKYbyBm0IQda6MoDUbB1DwQUvyE1tJgKFqM1dJw6Z5Lefzxx1vb7B4EqbtSJjmmXYjVNIXrr7mCI68dZmaQmJ8dsu2cTezYtpkd2zaz9ZyNzM8OmRlkjr52mBuu2c/qaHRCZGcMSxpuuGb/qV/v2isYxfW6GdFqtE3TcMNpjq8mGbs+xyRSX520GhMvpfDC889z7XXXsdKsYMV8t7fA3ChYJmWgGKkIlh3SWeQEwJDkp0UJKKIioGNXW9R3PnKKEK+E32BYDlxvUMTQzEnHIREQSCQaMSRn9+dlvKOmMUr3aFRKcco43JIUicWU+G+3fYHf/c+/x6c+9R+ZGQ6ZmZ3jtz/1Kf7PX/vX3HPvvTHaQsYgKUnFo9C5oBirKytcdeVVvPjii+1zEBGOHTvGxk0bfXGabyxGQ1GHmaYB4YqRLDYIIXyw4vDQ/HoJQ61BTHyPKeZ3aMbxhQXm5+dPSDCaGamPt7pQZRJL8qYbrmP56KscPnwYEZgZJAbZ/5sZZMA4fPgVlo++yoEbrqXCtq4Bdv2bm9/8JpaPvXZq17v+2hNgTXcxN03DzQeuP+Xx3XLg+hNoGN1Togsxu4umnijPv/AC+6/YTxlZZIo1YJIf5yLmBpeFMhCwEg67J8QkVacyRe66eLg1aRtcUVFSgmzFsx3uWSKSkWIUibiSpcD1648DMU/ggTvP6r5PskhrmEMfRFEJKBcZfJPkjq4nQTA13vk338mHfuJDfOXOr/J7v/t7/M7v/A53fvlOfuqnfoqbbjhA8di1/2nZr5kU0YQlhz7XvukannrqqTW2snXrVpYXFrBmBH5+OBnA/CRxP0NJVjySZoo2DrLcbhu0eDTORONnxde3FUQLqoVmtMreS/fwzDPPnOBe5J/+6Z/+F/1dvZ9V7BqHiHDDtVdy51f/ktVRw9ZzNpMkMRo1HD16jAce/hbPPv0k/+N//941Wcr1CoNuvO4q7vjKetd7gr/3t98zkXJ8QpTJjBuuu5IvTxnf/Q9/i+effpIPf/DHJiqO9EPX/Yhd9UuWl5fZMD/ProsupJhDBEniOzaCWMakuNMsjp0znhzTSv0wRbL4yYCQyWgliJhTMzKZRty3cNhDJNgMY0ACz66H333ScRSHVSnCrZbdfzFpc4okFLHsvkEkBE0E6YSPfXxQrHDF/suZnZ3jttu+wHPPPcv73vdefuiHfpiVZrlNbLYJy4Hfm9uSn4jaFF47coScUuvnbd26lccOPsa27eehxXd/JO7LQAZgJRZ84+epZM8JeYwtIaKIRZpGxXNFLTvMIuye2LRxE48++ig7d+5c48/KPffcY5O4+11nvOsj1N/Pz2/ggYe/xaNPPUcTGHc4GLBvz0Vcc8U+VlZXpkrgTCrPrNf71pPPnnC9a6+8gqWlxTUOUx1T/VmfGbphw0buf+gRHn3yudavaMe3/3JWVpZPYOXW+6vX7CYcu9GUpmm47777+OAHP+h4NxYlSdr8gOGOY45TwCpIsRQwxkjqxi7iECCJY3MBj91L8viXKSlFrN7iG6SyrOp1OaVxEAlB1EPFyTzSVCkjmgSp2XGNPALBO2kMy0JW8YhW8VNpODvLp//g03zjG/diCDfeeAN/+8c/yOrqClgOLpZgA8NGKU6vOI0QhMzK8iL/9fOf58orr2QwGJBz5v777+etb/l+jh096rAzCNApbhMqRItTRVKHGBmcF6CYkSUjWlr+pNNrIodiwlNPP8WuXbvWJKoHXew+GAwYjUYnxPS78d9q3EtLi+zfdym3HLiBuVlP1qyurPLakSMsryxPrNfuhnL7hLKFhePs33cpN9/4Jubm58BgeWWFI0eOsLBwfM3i7BrytLrlhYXjXL1/H993043MzsyAwMrKKseOHWNxcWEq6a3PzO0nSFWV0WjE7OwsMzOzLC8teagTQ5w8FVljZ8B6bD/Ig2YkUaz4I1Tx06Sh+E4cxuIZcHdAU8Ak0+T2ihtWzYSj1NThScfhYM4dbne6fVcV8bCx5zpicanvvO2qix+bepSrFMgizM7O8h8/9Z/46p1f4f0f+HEA/ugP/5CVpRU+/KEPsTxa8XAxhpRUM6C+IFViDgqbNp3Tnso153HhhRfyyuGXyGmGOjtJxfliqYbFPX+hpiQKWIoNB1CFQYrTsqGIRLTKT+xk0ChA4Yr9+3ng/vvZu3dvaw+D7mmxsrLCYDBY44TWf3eNsJsPeeWVV9aVdekvvm7Uql88tLq6yksvvzy1sH+aSkh9NU3T+k0iwuLiIouLi+0J2K8zmERP7+Z2qvPdz3EcOnSI6667jtXVZTQZ0pgf81KZrNWgAuNWrlJSSolEWPL9WqWGOt2eJSlaguJhvusnEc/yV0ygRkkpiH+QRSnCScfhnCl1smM44BVIdVnBnnFOEfpMiBVUnMxYeWFZ3FP6/z77x9x5x528//0f4F3vfAdigpbCZ/7wM1yyezdveetbnL8lCbNC5cAUJ7d4SFoSS6Nlrrnmap555ll27tzJcDjk3HPP5eDBg1x2+RU0qytgQol5dNaDopactoLFCVyQLKhCSua+hQTzWD33YwKpcUaA/8ztbBRRs/bk6OPsLkTRoHj3C/Yn1Rv0/ZJJBSarq6troEr3c/XPmvnuQ7FJmfu+sMAkI+/WpPQTndMURGqCr8/6rD8/dOgQ73nPezh27HhEYzzk6Md6pX8bFbAIhonDJKhoxWLXTwFp1NdPY8EgFzT8Dv+AOwbOrjWPgKXKbfLo1CmNo15HPHFmUhgTVQh+lOOWLM641aCFWEtbj+cgyo/+yLvZtnUb3//Wt7G6OkIwfviHb2Xnzgu48c3Xs7K86idNzTGUoLlLxUdOiMwI1159NX/5l3exbdu29jkuLi4yPzvL8dUVSoNDtDjJLKBRI0YmkqXOcEQSFI2cShKkLowSSUlLkU+CZMbi4iLnbt/O8vIyMzMzbkt33nmnTaqK6lZx1aOuX7vcx+yTanq7MKpbfNR1quvu3F8wfQp5d7ev4+v6Al3o0/eX1hMHm1aLPEl8YWFhgZWVZd7+gz/IatOEPzDwya8bdXLoQwnqglR6OBFNcqhDOLbq22dEIiM513iUR8woyZ32XJ3sFDukuPtSKhnxFMbRJgZjx0ymIIM2CWkBO6xS4FNk7cVQC1jia6UNh1rOfgKotgnLFGOWDkFRTZyuUmodSaX1BNoYCF+548vMDGeYn59nZmYGVeXwK4fZef4FqFkEH2owISElnil+X77Ak/PQLBYzYNKQbNDys2rEziJQkFDO2bKVu+6+i71797q9dxNp/d247yfUnMC00Gw3kdNNltXPTitb7VZ91YRQn6zY/96+L1TDq30nvY6l+2fNldSxdU/Mfji3C+1WVlZ45JFHeOtb3sZodTWIbL4raTAKa8UFxTlOTlfxZJRU34DkcXuLRG6p4VdAszu+QZZTBSkOY6zu/MUJWaYRTTuNcfhxlaIOQ+Ik8ARhqZBNPOyMJFLkFDTGX0wpJUCYiI+ztaHY7ASsGRuemS+iZCCqEbiKMKv6ovRxKbccuIWDBw+2lBIR4YVDLzAzHJLQCF1bhzZSPKnZEjiDvqLmi5sCyfMeJpU640466uPT5Pe4PFohDTLD4dARQ3e3rYbdzRB3F0mfqj0pD9CFL12sXiM+1ZDrd9WfdSejv+C6pMWukXezmv3/uhCpe63uoqvjrYuq6WHOetp1v3N+fp65+TnMMpTShjOt3QE9ROvYPI5/83oKlRL1FIrzNSRyAJXFamBNLexzjJ78mqq+YFJxACZ4dvB0xqFBFycpUMhmlBw0k6CxWnJDdlqKnwR+gezcrmD+WkR+tN1/jUJARRM/tSg+1mSU8K80KCGkgiEeoFAfkqkyt2kD8/PzLVlVVbn22mu57YtfYLUUNm7cgBYfmgUb2BduHJfFKBRnAqRIXBZnKIuCNMWTirFo0eKUEwEdGcuLy2MbuP32260LfU6m0zRNm3Q9XdZazDIajRgOh+2C6Auk9X2e9dQpJtU+96HSYDA4IYk5TVh4Te1w+Br9U+PFF1/kyquuYu/eS50KkiQoHtLmCHJEhGosnRrPD6IgOaIl5rAJ8YSYJoWSUSnk5Bwqq5gjJUyLR4tybhm8vkA4rXFIMmiEkqSlswseyclSTxL3XzyRCGLF5QaiZLZSw2t+JuHObaJuAuo8KLF6i/V/Dgu1pk+C1hEOcRLP8D/1zFM89NBDnH/++QyHQy91Hgx44IEHKKUwPz9PaZq4txpVq5WINZIXLoJGwZa4RyZtrNzvQVGSed3LzOwsKQm7du0aEw+7jmyfaDiJRtENuU2Td+z/vMvd6i6++u8uhOpHlyoEqousr3LXvYd+sq7eU9c3miSjWRdJ9WO6i7DuYIcOHeLHP/B+ji0skSWyA6kWKKU2x13LUn3HcuydUoSjgk6NJqwUkNziYMtK1hTwSONKvggk+WJJgbFNGswyScopj6MN+yZjkEAbQwYNlMwwfKKSPN8S9u9JNcmIRj1HkByliEfGRoKm5KzxONMkxpCjTEDw7L1FWUESpWgIX2SLkoKoGMzC/iuu4Mtf/jI7duxobWJ5eZnLLrusjXh2Swb69tO3iYpQuqWw1fftRkyHw+GaIM2gL0ZQv7juntN0nLoZ9a5D3GXdttTfyHr2F0QdcH8xdk+P6kt0F0w3RNyv0OtH37rXn8TA7YsorK6unlBPXEphYWGByy+7jMWlZa+YK8kd5sDqKejfRkNmgBaPubvwgNKUQYxRIZnvxil2VC3+WREnFOILysSDrKoCNAgShU/J687l9MeRygCNYqriTA7PyquzcX0z953fiIRMtnEJbQ7elnrQQHMhaaIBp8cHLPOKkUqV0VYvQsy8ZiVqQ8Tpu2OonmBlZYX9+/dz5MgRtmzZsqaMtm8bw+FwzabaZ23X1+zs7Bok008kT5JYSl0j74ZtR6PRGojV3fFreLOLxfs+S5f+XXfe6mtMKputi6DrVPfpIX1fon5n15/o+g2T9GHrOJaXl9fkbUoprTJJHWddwE3T8MQTT/COH3oXpSmRqnP6tyexvKRUUMQG7luY1GgqiSF5UDynkSzwdZSamkQxj4dXsyWyQE7uvFrUwWrKEIVPOqgV36c/Do3TS6VGsiLWr2PlkAxYKo5zaiYcozHncGlAGEsgJUUdObhn4ZAmp2Acx2JHpBO50tZvMrE2ny1RHKXA277/bRw8eHCNXX237Sd1C4e6cKceMd2sdI3ydJ31SYXsdYDd1djdyfuwqgt3BoPBCSJjNRFZrzccDtes+vWUUvqJwvr+4XC4Jsxcd4+6+6SUGI1GHD16lAcffJD/4e/8HZaPL3nVWXCSPLTpLB1LbqopZGsQT4aliB5pyaTAtwWQQfAhtJCDqaqRlCtBabBhwnKJIiOLTDfQSOQrTn8czsNIHhUL6J0HOGwzJxUWEZJKsDIEy4ZJ9ipDrUojGg67JwuCKxwejuc1LIfJB8YXEY9WRZGXImQN1i+GpuSnWTGWV5b48Ic/zNfvvZejR4+uQTffLfuR27/0pdhCiAL6MUmM4J7Uyq5WmiU0kmqEo2oj1Z9JyLVU3GqRFfU5Cp+ge52uDx+7UJ3kVgFJWPO++pska+Vqqq+FdcbT+S4i4tJqRdXQUCSU3JeTljM1HA64+qorWS4N2VJ8jQYBLpMoQUWHAUKDix9U+ptj/cBI4nymAEvxQBwe+XXjHlJBtdIQ05hwh6JZSPo6xtFm68f3i4IFnZycQhBhnJF3H1yD4hIlsCpjxq6M6+NpqTIhAySKFKfiD5K11A93xI0qFlRTqV42HLkhEyQJDz74wASxD9pn1SGutQteqM+acRBhLBI2wZ7Hw2+t6/lDh2woQhG8drkaazUUBI00ewpqDClR1EXGqiZRq2IR0jE5HM+avZWITzsTMqInEb2oC0BDoCxJ8IoiopCCy+OsS6c1iPiR7xFFI6dQvqhiCjHlLfwQN6Lx/Xssp5iQrBpK5JJbdqrXSYiF1kegDM8ZBDkvplIl5igHLSMoH9XZFIOSa2WdeXVbZGpdWMfxuVRHH39fLFvPVai87nH4JsDaZ6WG5SBFVl6X1PmHsV5QhEQcCZcsAAAWiUlEQVTN/3S+VfIipBosE0FLzWRnf1Z4Vtp9J/WAXcpRvBVUrprIi/vGxpG2yOWf5FkJRdx+Bh6DeN32nCRKFyV2No1Yd12ViguMpZRiB/AEVor4u0VM2+LYN/Hj2LO6cXhGFVjoVDjetnqsBMUnDuVURS1IpOw7TqP12K8Lw5Nm7vA5dUDVs8MSnl8hwpKhzKfqIgWu3RScHgtjSw4l6s6SgtWKuhqHU9OkzbYWMyx1ggPm7FZJyZ1UBIsyToschguG+HcXxZN+kdmuQVdNJRJw1jlVtS2W+k6MQ8W8bDcMMhWjSfgmY8Vza6o+P8Hd0wjFWlQG1mNc8OfqGWev2WgipKzqBuf+T4kyFB9f0TzOktdEqLoWlpl4HQaN86LsVJ+VeaTvO2jPg6B6erRDIIdR13oD/02s+uQTSJvrdfwpUTBjA2sTR9IINlCkyWiuzM/sD0DMSS0mTkqzhKbiANpo2aClEXLc2LhYP7Kfgb/rSSvWtMk2y7G7hbSHVUigtcjIKMUX60iEQQOWa/DU0BIs2ahRdqLOd2aOihZee+UwRYsbQ3a2qmbIxb1hC1U3oQ1ZjRm7GnkFEXKLIYmEn4zRRYp6kXofFYIEydHLB4OK0RmHf5eChOYVY2q81edWhdrCc3B4GBC3as3Fs0rFoaDXllQYowEVfcMiiJh10Yt2TqzkTGE/GeS7OkeDFD5CSfFnOFxSAjRKwKIUxklGvC4TGRSk8aIXk8bLO1NyxuQgao6roYaRWlSEWZhiIlFaAw+tpMANKeHx8Ip5Ww5NPDj1YnpPPDmFuoqMWRz1VfAMgvgnhpVwxIrn5Er2IqEkvjMnySjFT6SUnX/0HZij44tHWVkdccnu3Zx9fe+/Btr4DuvUBW1hjiTfL1IpNAKDyNiqFefN+Kbv8Wp1LaVKoSdi89Iq7/lRlc0jKJqsfW9JNi7cJ3mMPRwlrUzTtoYldokorjZxcKniO4e6DIWvfMVLSXODufU7wcE8yVZq2FDHO3xj1SeSVr0jWUE1ofL65shILC6tsG/fZW3M/ezre/uVkBJVZo5HCacxyDruuJkTzqzSHrK4WFqFKWLkyOWk6kTWLHllZhYP3UXZekRliFj4uHorBSFMzOPdFllaB8w4F0Y8sqJVXdzEaxnCaTXxMkpxBVn/uqSh9FcimuEOutQQRUrOdkU8vBo+kNcCvP45SiI0zejswjiTFodLODaUCJ21YbzgpKSICnn9rbSliCYRprOE5OTOoLg2kJHIUQYq2aMKOVVpRtpoeKoymVLpy0FbSA66UjinxRLJ7RfLGUWcyyMOzCLC6pg4uUaTmKDZa4fropFU2miNk3BaXgdSwqlLige1amVdcvr2654j9zfOvs4gWEVxVW2rNc2iHg7P7qiJiDujppTqtBSw1CDmcXRWidqA8LOtuAYTTlOQKOUZkwIrv8ZFugbqWqzSOulxZBQNOU+HLSkcNi3GAEHzyIPDGkxRF0cKCqpiKaT7i7rwWBX6ipNINbtoQHJGJjmFbEsVFNOWkWq8zjkadRzDs68zBVa5wQ2DgpAkObOsRFSiCsdJxdgZyKHm4OFbBhG4SZW373FzHUR7lKBGWIT2UieLOtTIaUQtmvsblT7txDUlkzRXIqUnk5LnHyQWBknIqDvFklxVQ2sCLBYdCcmGWnJJTvFQoRYhDYKBKhGxyQRPKLVhz29njlxMwDVaObs2zjBYFUmdxqzF3yI1l5DaTKSiaEkgrhhHEmaGmc2bNjM7mHF4o5HOi2qvXEJu3/DC/uAQEU53FokkWxDGUtVX9TLHpDkUx+tWPBYTm8kDl6jJngjy/GotAfUQclRTen11VMah47BdUUgpBJ6DFaCUEAwzJGVmN8yxYdM8m+Y3QM7Vg4kkkTE7nJ06R5VHZHEAnV0bZxysiqysefioiDCIWmQstbyYZMllKkMndX5mA//3b/w//MnnPsett97K//qz/wuriwbZd+IaXUo11m8pdFIjc12MJJGbiOIUzFzvtR1P01bOEUS9lDOPPPQQr7z6Kju2n8cVV1zuSStxaUxyiCfXa5iHgEuQ5VxCMORhUE/IVapQUGFTSqwsL/E7v/uf+eY3v86RI0eYGQ65/PLLee973su1N1xPWVnh2OICn/+jz/P+D3wgAgedOTJXRS8mDCIjXSkjZ19nCqyKrKMUT+J5mt4CK9MamAZRKhnMzczyG//2N3jowQe56aab+PrX7yUxJCWLCJLDnMoZwlwNIqc4naQySR1Mlcp5CQl8SSn8F2lT+W5YnpRqSmHvnktJOfHoY4+ShkFYyzkSSNYqjbcyXuKEEq1Z+6iuz4RAcpw6szNz/Pmf/lf+3k/+JN969GG2bd/Gvn37uPiSSzh+fIGPf/IT/Itf+iWOHDvGRz/yc+Q8OHGOYuJUPNTbWGkTY2dfZ9DiKADFG5aIppYe4KJi2qrsIQ2iwuzcLP/+t/4D9993H9u2bUO1cPPNN6Ml5F5qWNZLgl260Wruo6qMp7arllrxgFHtHyFgxeVUUggwN5W8KL7INm3eiKJs2LQRBQ5+63FyErSx4PxUiFfpGR4CdqFwRTUFT6j4Yo6SycEg8cd//F/49Gf+kBuuvx5B2LZ1G9deey2X7N5N0YZ9+/axuLTEz/7sz7Jnz+4WgnbnyKNmrhiokS23s7DqzINViaalbZQcNGXR0AbKThxIgllhbm6WT/32b3P3XXezY8cOzIwtW7byD3/mH7K4shzdiYxG8IRfKzwfLMiiYeAaxfnFI0ollMilbY4HRaNqLXnmXDJWCkVgzyWX8sSTjzOcmWPzhs0cOX6EJ558kt2790TysJCCJtBUVTypQoBGyRp98ELmrHgTl8OHD/MHf/Bp9u3bx2g04qMf/Qh7du9meWWZLENKafh3/+Hf8/xzz3HFFVcE6zeoJDFHLvDhVBlVF1FGcoSlzxrcmeVz2ABSoYTSRAlYoCl7D4eggc8Mh3zmM3/A7bffwfnnnw/Azp07+djHPkajDefMDUNhI1rwBllNVVlcWvRdNFid3quCwP7aGo5ZioYr3gekcnA8cqWklMMHSly+7woee+IgOQ3YumULh189zLPPPsPFF+9qWxRr66iH6oc60SxriBCrO82ShJQGfPozf8TevXs5duwYv/iLv8imTedw7PhxhEQjixxfXOa+b/4V5+04b1xGGwVHqXK7teZSSnTZqnUTejaSe+YtDu82mkU6HYEyYh5gFVNSHvC5P/kTPv/5P+Oiiy5sDeOhhx7i3e9+d0igyLgntYybtm/cuJFf/79+nXM2nxPKEwnJ2tJKUu0BIerZZIWmKdx11x1ITuOWXLjgGSHfLyS2bN3Cls3nUFTZunUbrx0+zPPPvsCFF1zoY8rR6kqcqGgaogiR6fYwrUfWBnOzPPLwg2zffi6X7buM7du2szJaDSq28OLLr/LRj3yEiy++mKNHj3p8S4RmtQkWLeHZV3GxqvAXGFNbZvnZ15myOEwsIq+1j0EmpdKqSKDG7Pw8n/7MZ9izZ8+a6r9zzz2X8847b90vKKXhi1/8Eu99z4+5+28lEhgS7EpXscgpuzyKKK+8dIiLd+9hkMQ1YtMIs2FIygS1pOo6hR9hZLZu386hFw6x6+JdjJrGe3lHEZEnxx37ayTzarPHJmU2JGNpyWVZLrrgQlaa1SBOehRr1wUX8NnPfg60RPbeN4Dl0QrLxxfbXuKo530oNm4qGYIHdhZXnWGLwxVhnJEq4lDDosREjZShrK5y1VVXsbS0dNpfsLo6YveuXWhxDySJdy8ySSRV1LIr1WlpT565jZs5fuwIaWbW9Y0sk5JGHsPFYES974KKMDDH+0X9NGmaEs0nvejHlFbqsu19h4euNdiBRYW5uVnX2F1aIqsXz2jxSpOl0SrLr7ziaRJlXAVnRm6VA6tgW/FkYuuE51pOefZ1Ri0OCrkMKGmsnySB2ZNAo0JZXuEjH/kon/zkJ9bUY59//vlcffVV3tpM2sLTtrZPzNiydQs33ngTy6tLkSj0uolkng/IOHFPa2mjGlu3biJnf2+tx0gdSYFg/XPs+AJZ1DsUkVhZXuDSSy9DKYg5M9ijYt4FqaiQcnFNpWxYyd5ZVYSiDeeffz5NU7j77rv50E98iIWlBVqhm5JdtsYysxtmKKPG+wCKK3VX9JSTM38tNFqrOksKn+fs68x5ydPPPF116sPochSF+C5emyFIRGQ+8YmPt7W8zz77HH//7/8kb37zAe+akw1TbwxZBbUV7yCkVW81HOycDG0kmh5KW8stVVM1VUHxCO9aFMvgnKnXXn2Nlw4dYtu554IVFldX2Lt7D6Vx/ydngvIuURIqQYyM8leSJzsju52ScMcdt/OlL93O4uIiBw68mb/7d3+C5ZXlqGly3+uVl17iV37lV7nxxhv4n/7B/8xoZTWKZizyi937SO6UR4vjFw49z00HbjprdWdKnsOakFUxjQ6exYnehdDmHtdooIWPfexjlJDc2bXrIn7zN3+Tv/rmN5zuPYrrFHXcrRaG6Ht+MYNSEFXKyHMSpp4LMNShkXmyT83afm+VKFi1/I6+eoRnn3uGrdu3oRiLSyvsufgSmlGlo9decNCkWn9hjKJGo4QAcqNOFUmmFFPe8a53ISJs3ryZ2277Iv/q4/+Kl156iY0bNoHC5z77x/yjX/gFzr/gfP7irr9kNg+pnQHaA7VoKwEKhjVB3bez2fEz7uR48qknLJNbdQ9LtaC4qkDUckZvmSXJM9Sf/OQnWxmUgwcP8lu/9VssLi4g5CASWtCVkq+TWmgURfFAiHpVXaZg9YpHtCza9bbyjeIwaSYP+NrXv8auCy6ClFg8vsieS/d4F9bIp2RxkWLNtLXX0Zpi3M8uKPBaO8DEybi0uMSv/ZtfY252luXlZR5//HEWFhYYDAZccsklbN++nYWFBd73vvdx0803U7Q5YY6INsaVGZ+Sy8+8+PwhDhw4cNbqzqSTo2BRqFOiFtuL8FMIFFA0+jQ03p8tZX7+536e5RWP7uw4b4d/Pqjpg2gmoqqIGk2IhlkqFINGjSZOBFXvEJpKQa2BQqhIBPtcFGu8GaIUb86+aX4TBeP48aPs3rMbbUY0USCF+omgRKticzHjohpL1JeHJqUpTl+36HmtpmyY38A/+6f/hAsvuojRaMT+/fu5+aabuf6GG5ifn2eQB/zMz/wDvu+W76OUZuIcWaijazFUCqWRXlHX2dcZcXI88eTjZpJoJYTa5iJjwYFKwo7MhwscZKGMCnd/7S7edMONbJyb94hTkii2DwVwAaxBZNCWt0rkARSviZBilARZw1hTLcgfh4UsKvEkpPEXFo6zcdNm12K1VjmrrfKr2lOefmg1WECdS+b6JjZuqFgpLHhgYn7DPMeOH+eRRx7m6NGjzM7NcsnFl7D3sr0cO7rg2XCxqXOU1JuqJFwsLQ0yh154nptuOutznDmL44knDPHqORt4Ew/VHPUXIeyg4pSLUK3TkHMPcaiqTeFwJVH14d2g1ZyqHmL1Xq0aelUaurBZooVCrdgLmJNrfTmtTlGKL9boA6HiDUwkh8SPiod9XUCD1EQ31VSbqsQCiSYsYhJtvdplBGY0SRhaFc2JTqbqQoGCYqc4RzUhmtOAF188C6vOLFhFzYr7jq5BIdeooZBUQg3PXD+1lOiyGBhe3dFurGqQatvpE6JKLjXeQ6HVEKoOdpwQxXMY3qXHG40UDGk80lTEe+URkvtaqScWPSrCnyBgVJXsMUtobtqGj973O8iUNCGr0zj3KciNqr7gBhqkkLZ3hYXBW0uzP5U5MhOn47SaT2dfZ8zi0Ej21cahRLzes9niESh1yEEJdZCIHCW1tr2UiF+H6Nmg0RWxrbQTV6zTKmxEkPQ6X1xlHNUKAwnZzuR1TqUEEz3V0m9DdeCD01Atz3jVYTSalOLYvwRd3YoLOlSVESxakdnIGzhqRJWiM5IFrUXR1z1HVb3x7OsMSgIGEhmTG6L/AsGXkoznMGosn+QVdC01PYWyRwqZ+mjxS9u1xHddBMvFdYdLaRuyCDky8jXWFO1QrLiUTklRo+Rqikkt1MktZEejM1UIK9RbkFQV1r1iRC17UZVEaxcpURUYcEqhiPsz0nj0rKr6IfK650gH5ezaONNODqnE1xAIIKIsVVXDosmIR1b94edsnUIoGxtRLm1OoVXwVWtVDnNTF03VeM1eUpqsbdjYRKKvsg0zDmUkKSKlI1Zcuw+NW+VWX8ePIRdSbheLjFwNBD8NBiWa1BOOe/gG5rMShUoBM78Dc+Slv+msxZ1RPkfoQbmYQY3qgI4E1QYzx+Zq3uAU9SyzVawfjd2LetMUxXtEW/SK8B50OT4T6iMaHY5QShVIEPH6h+TizVWlRIMoWFTRIjTi/kkJyCYWbFtTirijXlXNVUucHrX/t2vrWiNOlykuueNhZ1opTO/zEi20NNqhvc450qawYX4Df3XffWsoOGdf38PRqscOPmYpFG1ShlSyc5kyUQvurXSlNBGFicBU1F20WlPquk2VLlLFvzUUsVPrRIdvUCKqU6nudY83acNg1tK9MySvIHRIpeTk6iWErGfkMaM/orcPQ1rdbvdtShrXkVeyjCilqrkXVzqR6NtXhcorn+t1z1HxnNIrr77KyspS9LUIXtkayFUZPbV1g7WdWaPXfCsKYViwVySawXTeYIzJjq3av7Tq7bWPNxEKr+OQWrIs2p6I1umjN+011oSvrSfCyOrvpBaGhSp7R4e3+px0tXbbga+9le/WHMljjx70pHg4qSqCyMhLSU1c87XqzVpoCIbUjSuXgKYQcDbI4vKZskauvmrcgmhGJSRzglflSt/RtsBcMsc0t4TDksbibN4ZKSrwxJCiHnatRVFt96DIrkdttySX1K+ZE4v0dTXmFCdUFonmMcEOiJyMiLbq79+xOZJOo4ToAe6+j7WLX6r5mDe7SUGt8QaQHgk0Fd94skb9irR+XKp6KTIOr0t0lR1InKhrxkGba5LiRNRstZeGz1OTooePpjVtjMfPKuar6kNXKqq6ovugfVZEi4BoU2AaWsUhB0vQ1uJ5EJWX3605annVIkKREp1Ds3cBjRZZIeCHiIuU1V3FzBscinn72kQJ/K2RSIwFIJVHFUVNRNutCN820SvDdbAij5E1yIdGrhQMIWTjSyvCTU7MRqjUhZ4tdi6NZF9oZsVNSLZxf47sLYNTZMyl+hrRMyKpRueMyHN8p+coKqBU1GnuGCWVttNq7R8jql6LbnGaRu9AojamCm1HcUtUZDZutBqSQeoVj2hBtbgGcJETx4GXAljxZ+bs6WjtXIxRSLYq6gvDAqKGwkpSIoEM0gQnwSo1SZgp3tO8RBsJgnemMVduG+NnpbUeJ/Fdn6OBVme0hmKJTp9tljlk4iWq8qLfRirxuTJuQqPRJqgemVrPqugYlELbqf62WHSASuIdf1o2cNDMq9+SQqbexp2anKBo0fsiGMSR3EvW0ERfDRkYTSPef1oEHakLrJVEoYE09Aw+CVd/tKCwZ3IqSBn4Qygh+fnXNEeSBt8T4zj7rMZzNPjKV75KbbLT9idogVhIeNZjrdvaqsrsmESuo9Mjq6NCMq61DvwvXdzr35GihUBtKmNRm60hNh05OMfHMZQkqdN2rYtvg9LRJiSqhm0kO10BoZUBSiYtDBtLhNSuFFVwOnlo+K9xjhLfG+M4+6zGc/T/A8/G/snZpSWJAAAAAElFTkSuQmCC);
802  display: none;
803}
804
805* /deep/ quad-stack-view > #chrome-mid {
806  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAABICAYAAADRa1RpAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFycE5v9iFQAAAQtJREFUOMvtkjGSWzEMQx/0eYrM3v8k3vgqycalSwlI8Ufyl3OBFMtGIgUCIEd6PB6RBEASqvfONSrJXrDNbNkQ8ywA2y/SmayW+ZIESTsiyQsxo40xmMS2aUmYbheHpCVd0+UqJGGMsey3mUyldoUvlY3D9rIN0K7Wbe/WbZ+y1yWtaVtrp3VJzAEX6ZVjc2p7b2mtnYhNdl6m05rwtfV/ltx7XypJTpXeO7Y5juOlchzHaWxyrJmuhLapqgIJONv05+srThBgiQpBTSRwGOr3rwccgWHUhJ7P5/YNlbd/2XiL78L/WajP240AQUihfnx84EDJjCHKHjTAbkimQDgBjAJ1/3kHAgEk/gL71AHEWVXPGQAAAABJRU5ErkJggg==);
807  display: none;
808}
809
810* /deep/ quad-stack-view > #chrome-right {
811  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABICAYAAACaw4eEAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyghKmOqnQAADE1JREFUaN6dmsuyZsdRhb/M2uf07bREYDykPeIleAMibNx92i9BgEPBgyB5xlvgtgI8VDNBI41xhGkpQowERgqw3H0ue1cuBlm1T/3Vu4XNiWj9l12XrMyVK1fWL/v6668lCXdHEt/1Z2YnnyUhCTPbX8dn45pmRkR81z7/XUr59Pz8/K8ePnz47/bVV19pnDhu0t+Pmx0Z+Pv8zWv1/eZnZ2dntw8ePPizZXw4bj5/P3vq6G/eePZiX9fd9/Xng6/reg78/dInzxPG9+/auH83GjEbPUahj6m1Hoa6v1/X9c+XPrlP7INqrfuru7+10WzUkUHvOtTojPF1mPdHSzdqPPXo5vm046bdq0fhGr+bvXZk6OgAM2OZBx7hZD7hnCzbtp149Wid0YOjx+eE6t8tMzb659Ebkg5PPY8ZvXpEQWNCzck2M4H3BWeM1Fr31/6+GziPmTefM3tcYzQoIt4a3+cso2EzhsYTzAAdw9M9M3rviPv683dl/Oi9pdZKKeVk4piVRyDu1NI3mCtARFBKeWeGbtt2yHV9HXdnGUMyGjSfZq4K42ajYbPXx836XjO+jsj3rawcFx5dPgK8bzJ6eGbzI8yO3j4yaMToiWF98fl0c4bNSXBEJ/Ozd1HSEY8BLGOIxlONeCqlnHyWtGNoxteRMX38uP44fkyyPnfpp58zqy/s7jsGj0rOEcvPVaMD/sj4I/zWWllmMB/VviOwHumv+dkRGc9EOtOUu6fHZteOGBtDN/+NeJwPNRsxl54RU3PIO4x827a3wNwfdr45kib92WhAf9+fHem1I7FZa31rr+WIr45kzrjZsixvZWHHYcfqXFHGctM9ta7ridcigmVZWNf1DvyllN2wkatmHIxCby7kYzbPOD2qFCN39efrut55rE8YM3I+8VENHPFVa2VZlkOSdXe2bTuhmHdl+W5ox8T8YCbD/l2t9YQqRiNGjx8l1JEamVXKri56doyTuzfGhWd+OyLJjsNRlo+eHaX63Iy8ldnjQn3hbmA/yagGusfG7JwrxZytcxMyjpnH77VyPEEP65iVs5tntp4ldp8zlrG+x8z2Y9L1f91Jy+zeccGZn0Zv9nFHTH500BGbM6HOojMiWEZQf1cN7Aut68qyLCdeGFN+xuRYJ7tXu5fetU9EZCiPOp8xm8bTzLqpe2jkoDnzxjCOa8/VZByzzG7t8gQ4eT+GdO4Be0kZDTgq5kea/0g0RgS+rushNkbg93o6aqeejUeNR/fcUWmaqWLbtn39MdGWGcRHUrcb17E1jhszq3tvxNCsJuaE6VGZMbeMKTrL6LGelVL2k41jx6zuRbknSS9BI7WMdDRTxLi3z+VkDl3/7vb29oS3xhoZESdZOm4whrW/7/NHT83UtNze3u6c1I06Ozs7wdjc7PaQzsV8JNSOp7k97IDvtDPDYTdsvts6Pz8/MXCsm2PD2g/Tm+Vx0bHZHTNvjMyRyh2pajk/P0cIZEAHLLgXQLg5ckDCAFsKCwtIeHHAQGAmSnEkMAyZMBkin4lc3jBEM4a7MZgo7mBGhLD/+M1/qiCqDJflIjICYbknjlEtQEl81cBDYIaUi3aDwoEQ7mABuFMjcHOMQHLMRLSDhhlFQk4+k9IhLggZBREeVLN+NNwNCAhRwjGMimGyPJlA3owyIwiKEltWjTBHNchIGpLleIS5ITNKQHVDYRiBGUQI/83X/0XUyorhm2EKAsvT1IqFgwusgglCWARV3SuGmdNchwgiRHWQagcHIqCNJ7whJ6AI20AeUJ3A0ilP/vQJ33zzDdvNDbWkO91oAwphrah7wVGG1cHMqSHkggiwDJthmAcgjIIVg5rfWc1h2AZ7AgBLpMElMpQCUyOSX/3rr/j+9/+EGoEQTgKxKnDADRROmCiWySJBeILbMCxENVhwBISCnldm4EBEeiQRk1AJs/Y5ER2q7BX03v17SQnumDeXRqXgDaSA1cSdIExQDM+UgtoArTyMIjABJUPt4S2hRHEIgbdstV5LI4OusDvDMgMNqw3sHqi0HPcMotyRNqp5ArnmRrkLuBm4kHmjDAeEDMICk2PFMwomqjI2xYSHsJIUUnxoeBO7rdQUJ2qeJk8SLfdLGtgWCouEVzFUG7NXMAXVG1YqyDdMhSDgFuTpabUEiUguUw3AiAafbhoR4EtmpJknKArgytMaBHBmIozEIQ41M1dK7ySGEvxQ8NoI1w2WFh0XlsUaFYilJ5zhpuGKwBxXeygIqxlrE6Ih1wKPgi8L799/QGcJo4M5o9oYDfcKUZJmEFdX12zrikh2xwwrQA2KOeqETRlCGaKaUFXLpjQwy5Elu4dzflb4uw8/5MXP/wEsE6ORVX8hbVRzTVcN4ic/ec4HH3zA7XaTC1sQtZUXAm98Z7I7uvjii8+5ePw4pUiwu7TXuogM3cX7j/jhX/yIJz948gf/NPjll1/yy1/+E//z299RCGrL+AxI8krQfhk5Ab+6LmrGyDA1dvfkqOvXNzy7fMonn7w8umjafabmsDuowPPnz3nz5joLiN9VCwIqJDGHweixV59/weNHF4itZSMJbGq61kg3h3N2fs7D9x7jIdTwIzw3tCxrZo560U5U8frNFdu6URWJS8RmRukto3smv07uxwJrMa9uLDJCG1ZKI87AWJBvhEOsG9WEhSVcWBtu1A615da2kboiPaRW4hSRcBGEClhg0cTDycWdJR1XgUdkrN2hRqslGapydo+fffgRL37+Ir1opzrrJHZDAiB49vySv/3gp9zcRiqLCpsrjSLrnpQ27KH8/ItXPHz4PtRbRMoTajrBw6Hk4o8vLvjhj/6SH/w/wf/xx//I629/u9fPjkxLIZfVwmLwWBhQqUqgU1NZlCrkQVRwGW9urrl89pRPXr78gw27vHzO9dVVI2cIOYVIGHkrYXVDUQaPvXrFo4tHbFV7dnkjzGT+5BjXwnK/cPHovcRLI9hME3ZeM2+HtRwQAVdXb1ivr6ldzfYC3sSnPFAUZHW+HE7WtqamZL07avrcnYgKKtR6m/VKQTR9n0JQjZj7KqD2LCLY2h4quqsKNUWA5BQPatjAY1hTpuAO2iqlGLV1EQJ8C87vnfOzjz7ixS8+5vf93y+sFeZnl5f89K//htttw1bAW5d05rAK90awjOD//BUPHtynblmInXStyUHJR3jw3sV7/PjpU548eXJArvZ/gv/Fx7/g9bfftug4NfVKa7byd8pN9ZT5I9rFSM/wSPFXrOn5Tby5vubp0x/z8uU/t1Jx5/H9v3b3/q4YGJfPLrl+c0Pde8lgEWxN0znG1jG6e+zfXnHvwQNETdmMINqlSEeZJ1Dvn93j4uJiL+6jv8TQO9L6lya9f/fta26228wodVwZboFU2gLbqbqglZLarzTbdpvBEhWxNJI1bq5uuV6/SRCHt35AyAwPo5aKZzlIHRb5SqTR1nRSnitQtC4phNlyqvlTppRUlmZEQJizhCErbYSa57J8SNkLRm3s7RV54AHymjK9cYjUyg+wqV8XRCtfdzea+IZiFIoSsFKBEm1SE26SpXZCeDh7g9P64R4SrU2ZkC1btea5TMDsqCJ5UfUuZwO1BlnZ6tkgrWWWqjOgqhJmsLWa2dowsKZK0nuKlMWokWWBoBIeiJpZF6CqhtnMdHSHW6PdZLfijjISu2HX11dEjURrTza3BtymzaLV5NZwEGQYW4ekaLdCkXSDRCkidr2n/XKGUlOKjxc6oXZN0H4ZefXrVxQ3atTsjD1lkJpIDNEwlSCRZ53rp4zViNiQtqwEStHT1YoUOaclSY1MmmjXCelNz2Q1T5L/7LPPYDEePXqYNa0ENHnd7xeKKUFiAO2HBM97DZMoS1prMmQLrqCE8uZHIgVDNAFpFEW7BnGKWQtnYJ6GOmL54+99D0JEzfT1alRzikHtda+1/4nsxk/VqQZmlXXzJMUiqFu7nrJMe8v2LhteteuAvEcrVqk1m+Owdn9h7ZYSE6WAIrkjPCVIFua8s0jhWHfhZ5YZZ6rZNxoplZp3clg2uUSKAcmwYpgqUs1iFI5Z4rr3mliq3IVqVDbwM9CGkao1rN1IR6F4xepCEFht1wAhIKjRNH0Dv6ym5lHrEQw8JSlUtapghHJ+qiK13OyZ6yyf/sunSYqyVuPavVVq3bvSgrKxcKVGU7/s1U5ovXz1W5v9ftPVet68cbSehRo65ZNfUuB/AWHLchVUWJtFAAAAAElFTkSuQmCC);
812  display: none;
813}
814</style><template id="quad-stack-view-template">
815  <div id="header"></div>
816  <input id="stacking-distance-slider" max="400" min="1" step="1" type="range"/>
817
818  <canvas id="canvas"></canvas>
819  <img id="chrome-left"/>
820  <img id="chrome-mid"/>
821  <img id="chrome-right"/>
822</template><style>
823* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view {
824  position: relative;
825}
826
827* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > top-controls {
828  -webkit-flex: 0 0 auto;
829  background-image: -webkit-gradient(linear,
830                                     0 0, 100% 0,
831                                     from(#E5E5E5),
832                                     to(#D1D1D1));
833  border-bottom: 1px solid #8e8e8e;
834  border-top: 1px solid white;
835  display: flex;
836  flex-flow: row wrap;
837  flex-direction: row;
838  font-size:  14px;
839  padding-left: 2px;
840  overflow: hidden;
841}
842
843* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view >
844      top-controls input[type='checkbox'] {
845  vertical-align: -2px;
846}
847
848* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > .what-rasterized {
849  color: -webkit-link;
850  cursor: pointer;
851  text-decoration: underline;
852  position: absolute;
853  bottom: 10px;
854  left: 10px;
855}
856
857* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > #input-event {
858  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMnwAADJ8BPja39wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAyNSURBVHic7Z1PTCPXHcc/4wWWVbJN2cJSLVqiQJuGpoIGEVWReoBNIlIF5RCRSysOK9EbksUeOHLIIQcULbLEEYk7oqduD6gSRoqUEyK7dCOabOHghCiAE/JntQtesHt4fuM3z2+MZzy2x8ZfaTTjN+Px4/fh9/7Pb6xMJkND4VGk2hloyKkGkJCpASRkagAJmRpAQqYGkJCpASRkaqp2BvzKsizf3w1z38sKc+ZUaQCuAFeB57P7q4AF/Kxsj4GnLrfL+6PDYofQAskCaAJ6gJeB6+QAFOvZpwgwPwOHwCNgN5uu/+H252raJHRALMu6ggDwCtALNAf8E88QUL5AAHqSTVcNUTU4oQBiWVYzMIiA0E3lGhtp4CsEnPtACgFDGqXiYKoKxLKsCPAaMIwojlzV1tZGV1cXHR0ddHR00N7ebh93dHQAcHh4aG/JZNI+3tvb4+jo6LzsPAY+QYA5Ix9KBsoPpmpALMt6BXgTaHe7pre3l5GREUZGRujv7/fdsspkMmxtbRGPx4nH4+zs7BS6/HtgHfgvOW9xeE05bVZxIJZldQNvATf1c5FIhMHBQYaHh7l16xbd3d1lyUMikWBtbY319XU2NzdJp9Omy74B1oAEAoa8yIZTDttVDIhlWZeB94Dfm86Pjo4SjUbLBsFNiUSCWCzG6uqq2yVfAv9CNKHTlNlbKgLEsqxrwF+BX+nnhoaGuHPnDv39/WXPRyFtbW1x9+5dNjY2TKePgBXgOwQUFUyg3lJ2IJZl9QAfAK1qek9PD9PT04yMjJT1970qHo8zPz/P7u6ufuoE+CewQw6Kw2OCsGVZgViW9SdgFNGLBqC1tZWZmRnGx8eJRMI5lJZOp1lZWWFubo7j42P1VAZR4W8gWmJn5KBAAEVYWYBkm7PvIvoWtjo7O1lYWKCvry/w3yyHtre3mZqaYn9/Xz/1EPg3ot+iQslQIpTAgWRh/A0x5GFrYGCAWCxGe7trKzeUSiaTRKNRHjx4oJ/6CvgHoigLDEo5yox30WCMjY2xtLRUczAA2tvbWVpaYmxsTD91E3gbMbTTBFxCFM0WYPntMwXqIdk64x3lM9FolMnJycB+o5paXFwkFovplfcniDrlNLvJXr4vTwnMQ7KtqVE1rZ5gAExOThKNRvXkPyMGQaWXlOQpgQDJ9jM+QGlNjY2N1RUMqcnJSb34shClwnVE8aVCAY9QSi6ysj3wv6N0+gYGBlhaWqKlpaWke4dVqVSK27dv6xX9j8AyYpDyGaL4svsqxdo5CA95DwVGZ2cnsVisbmEAtLS0EIvF6OzsVJNfQIzRlVTJlwQkO1Boj021traysLBQk60pr2pvb2dhYYHWVscAxEuI1pcKJYIHKKV6yFvqh5mZmZrp9AWhvr4+ZmZm9OQ3MAMpSr6BZOcz7CH0np4exsfH/d6uZjU+Pk5Pj6PbdR34LT69xBeQbG/8TTVteno6tGNT5VQkEmF6elpPfh24TK7VFaFIKH4t+BrKTN/Q0FDoRm0rqZGREYaGhtSkXyDqVs9Fl2cg2QUJw2ranTt3vN6m7mSwwR8R68dULzm31eXHQwZRFiSMjo5WfXIpDOrv72d01DFQcQXoQ3hI0V7iB8gr9pcjEdNQwoVVNBrV69EXcanccfEST0Cyi9jsSe/BwcGKz4GHWd3d3QwOOqaAOoDnMFfuRnn1kJfV7wwPD3v8ev1Ls4mF+Ac2FVsW5C8aLxpI9ou/U9Nu3brlOcP1LoNNbuJej+R5ihcPaQJ+Iz/09vY2iiuDuru76e3tVZN+jeiTyFHggsWWFyA9KAufL3K/4zxptrkE3MClYkcDUxQQU3HVAOIug226yHlIXvNXrUe8eEiHPGhra2v0PQqov7+ftrY2NekFzEVWSXWI3Rns6uoq6ZGyepdlWXR1dalJrRTwEFVegFyVB3L5f0Pu0mzUirC1CsPoJcUCuYLyGFkDyPnSbBQhB8VUZNm99nOBZC+8qqZdhBnBUmWw0RXMQHx5iOPpprB5yMbGBp999lm1s+GQwUZXKFBUSRULxOEhYQNy//59Hj58WO1sOOQCpGAfBOoESBhVwENMm61in/cOXRt3f3+f09NTAH766SdaWlrY29sDoLm5mevXr1cze25y9QypYoH8rH44PDwsIU/B6KOPPrLzcXBwQCQS4dNPPwXgxo0bfPzxx9XMnslGJ7h7hkX2GZOaBRKLxezjxcVFLl++zMTERBVz5JTBRseGy3zXIaEDEna5eAgENIX7WP2QTCaL/NrFlcFG0kMKLvIttsh6ilg83ATh85D3338/dGNrmo3SiAXYuvLgeImX9Rj4peHHqq5r165VOwt50mx0gjkqhJT92cvgol2P7O3thSa+VBiVyWTsJnhWsv4wBrZR5QWIjfzo6IitrS0vebxQ2tra0oPdPCbfQ4ze4gXII/VDPB73k9cLIYNtDnACUJ9td8gLkF2UiqkBxF2abc6AJOboD3lQzgWi1BWnCCgA7OzskEgk/Oa5bpVIJPTwT9+RCymoe4jvIkt+8Qs1cW1tzVem61kGm8jiKk1+gIE8eV25+Ihc3CjW19c9fr3+pdkkgwCiwsiL+oDyUKhXIE8QISUA2NzcbBRbihKJBJubm2rSD4h4KLLuOMMQRUiVn9XvdrGVTqcdg3wXXbFYTI9Op3qHuqlQHCoKSNadJNH7KGNbq6urjT4Jou+hRaVLIUoTE4zA6hD5Q5+oCXfv3vVxm/qSwQY7iG6C9BAZByWv6auOevgBIr3ke5mwsbFxofsl8XhcDw34BPgaYXg1KI0p6JlDRQPRiq0zRGQ1W/Pz827RPeta6XSa+fl5Pfl/5LxC3QrCAP9P4WYQcW2/kQm7u7usrKz4vF3tamVlRY/P+CPwLTlvcANiDN/kCYjiJXLv6AXNzc2xvb3t5ZY1re3tbebm5vRk2Vc7JReExgTDqFI8JIMIMvylTDw+PmZqaupCzCgmk0mmpqb0IJkHiLpV9Ypn5MA4oJimMDwD0eqSDCLIsD3WvL+/TzQaJZVKeb11zSiVShGNRvXgmE+Az8kVU8+UrSjvgNKCz8jxmaeIIMNyEoYHDx4wOztbwq3DrdnZWT1W1imi5XmCE0YKlyLLbYLPFxDlZhLKd4ggw/aJe/fusbi46Of2odbi4iL37t1TkzLAfxAzqmc4PcPkIQVVqofIfRrREVpXL4jFYnUFRQbB1PQIMZsqYaSUraiWlaqSQvxlV3rIFd2XEIsm/gL8Qb1ubGyMDz/8sGajzKVSKWZnZ3XPANHs/xxh+BSiyDrObifkirCiiisIDogK5TIwjvY6ijoMpHwEbCJAPCMHQIWhxl4sKmxsEEEwwQmlCQHlbeBV9do6CjX+DbBNDobqHSYYRQfCLDnimKEZfJbN0CpiENLOxf7+PhMTEywvL4d6mCWdTrO8vMzExIQOI4Pod31OPowTzHWHpz80kMjWyqpB6SXSU5oRQYbfARwVSA2+ruIU0ZrSK/ATnEBky8oxqlusnQMLNa4VXRa5Sr4JEYdwDPG8tkM18kKXJ+TmgWQ/Q3qDDsNTJa4r6NjvkA/lEsJTnkdEMX3J9N0Qv/LoAFFEyRaTbFFJGPK4ZBhQntdVgDuUZkTr6w2E1zgUspeC/YjoY3yPczgkZdhk568kGFC+F7qAE4qsU2S90owIpfo6ImCkUVV6bd4TxHzGtzgnmNThEN0rHK0pSngFUtleeeQCRa1XmhHN41eBAcRDka6qwIslU4jRhq/Jn8tQh0HUitttWtb3YvRyv4MKck8MyUeCZRGmeosMGPkiIshNpR72yCCW6hwgFiTI1pE0tDS6abDQ87BIMarEW9rAGUFNNot1MHL/HCIs3k1E8K9LAWfpDDEYepDd5Lopdc5b9Qx9r14nx/EgABhQASCQ109RizAdjApH9vhvIOJNvYCIFyJjhhSjNLlm6WMEgCS5tbbqAjbTlKsKwwTCHmCtmfcY2j/khCL3auwPNXyRGqOwifzQRq2IYk7dwDl8cYwwpjoqrRrSDYYKpdCaqpLrC5Oq8S5c+xCzx+hwTJtbEBdT3aMbUBpVXWvrtsnz+op1CNArVFXlbdEu3mICowJS9+cBsR/Exx2IaQG0af1tHggI1itUVft96vahsi/kOabPxQCRe93IaW3TAVQMhFRVgdiZMIORexOgQiDkXv3DdAObPMYIgAqBkAoFECmtJ+4Gp9Ax2rEORe51w+sQ7OOK17FhAqLKBY567AbBTSY4rsfVsktogagqACfvUpd0tz/SkR4GW9QEEFVBhtAI499ec0DqXf8H8f4X10jf2YAAAAAASUVORK5CYII=);
859  display: none;
860}
861</style><template id="tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template">
862  <img id="input-event"/>
863</template><style>
864* /deep/ tr-ui-e-chrome-cc-layer-view{-webkit-flex-direction:column;display:-webkit-flex;left:0;position:relative;top:0}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-tree-quad-stack-view{-webkit-flex:1 1 100%;-webkit-flex-direction:column;min-height:0;display:-webkit-flex;width:100%}* /deep/tr-ui-e-chrome-cc- layer-view>tr-ui-e-chrome-cc-layer-view-analysis{height:150px;overflow-y:auto}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-view-analysis *{-webkit-user-select:text}
865</style><style>
866* /deep/ .tr-ui-e-chrome-cc-lthi-s-view{-webkit-flex:1 1 auto!important;-webkit-flex-direction:row;display:-webkit-flex}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-e-chrome-cc-layer-picker{-webkit-flex:1 1 auto}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-b-drag-handle{-webkit-flex:0 0 auto}
867</style><style>
868* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view{-webkit-flex:0 0 auto;font-size:0;margin:0;min-height:200px;min-width:200px;overflow:hidden;padding:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view.hidden{display:none}
869</style><style>
870* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view{display:block;height:180px;margin:0;padding:0;position:relative}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view>.use-percentile-scale{left:0;position:absolute;top:0}
871</style><template id="tr-ui-e-chrome-cc-picture-debugger-template">
872  <style>
873  * /deep/ tr-ui-e-chrome-cc-picture-debugger {
874    -webkit-flex: 1 1 auto;
875    -webkit-flex-direction: row;
876    display: -webkit-flex;
877  }
878
879  * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-a-generic-object-view {
880    -webkit-flex-direction: column;
881    display: -webkit-flex;
882    width: 400px;
883  }
884
885  * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel {
886    -webkit-flex-direction: column;
887    display: -webkit-flex;
888    min-width: 300px;
889  }
890
891  * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel > picture-info {
892    -webkit-flex: 0 0 auto;
893    padding-top: 2px;
894  }
895
896  * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel >
897        picture-info .title {
898    font-weight: bold;
899    margin-left: 5px;
900    margin-right: 5px;
901  }
902
903  * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-b-drag-handle {
904    -webkit-flex: 0 0 auto;
905  }
906
907  * /deep/ tr-ui-e-chrome-cc-picture-debugger .filename {
908    -webkit-user-select: text;
909    margin-left: 5px;
910  }
911
912  * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel {
913    -webkit-flex: 1 1 auto;
914    -webkit-flex-direction: column;
915    display: -webkit-flex;
916  }
917
918  * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel >
919        tr-ui-e-chrome-cc-picture-ops-chart-view {
920    min-height: 150px;
921    min-width : 0;
922    overflow-x: auto;
923    overflow-y: hidden;
924  }
925
926  /*************************************************/
927
928  * /deep/ tr-ui-e-chrome-cc-picture-debugger raster-area {
929    background-color: #ddd;
930    min-height: 200px;
931    min-width: 200px;
932    overflow-y: auto;
933    padding-left: 5px;
934  }
935  </style>
936
937  <left-panel>
938    <picture-info>
939      <div>
940        <span class="title">Skia Picture</span>
941        <span class="size"></span>
942      </div>
943      <div>
944        <input class="filename" type="text" value="skpicture.skp"/>
945        <button class="export">Export</button>
946      </div>
947    </picture-info>
948  </left-panel>
949  <right-panel>
950    <tr-ui-e-chrome-cc-picture-ops-chart-view>
951    </tr-ui-e-chrome-cc-picture-ops-chart-view>
952    <raster-area><canvas></canvas></raster-area>
953  </right-panel>
954</template><style>
955* /deep/ .tr-ui-e-chrome-cc-picture-snapshot-view{-webkit-flex:0 1 auto!important;display:-webkit-flex}
956</style><dom-module id="tr-ui-a-stack-frame">
957  <template>
958    <style>
959    :host {
960      display: flex;
961      flex-direction: row;
962      align-items: center;
963      font-size: 12px;
964    }
965    </style>
966    <tr-ui-b-table id="table"></tr-ui-b-table>
967  </template>
968</dom-module><dom-module id="tr-ui-a-single-event-sub-view">
969  <template>
970    <style>
971    :host {
972      display: flex;
973      flex: 0 1;
974      flex-direction: column;
975    }
976    #table {
977      flex: 0 1 auto;
978      align-self: stretch;
979      font-size: 12px;
980    }
981    </style>
982    <tr-ui-b-table id="table">
983    </tr-ui-b-table>
984  </template>
985</dom-module><dom-module id="tr-ui-e-chrome-cc-raster-task-view">
986  <template>
987    <style>
988    :host {
989      display: flex;
990      flex-direction: column;
991    }
992    #heading {
993      flex: 0 0 auto;
994    }
995    tr-ui-b-table {
996      font-size: 12px;
997    }
998    </style>
999
1000    <div id="heading">
1001      Rasterization costs in
1002      <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
1003    </div>
1004    <tr-ui-b-table id="content"></tr-ui-b-table>
1005  </template>
1006</dom-module><style>
1007.tr-ui-e-chrome-gpu-state-snapshot-view{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAEwATABMYqp3KAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90JCQsBMCH7ZqYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAUElEQVRYw+3WwQkAIAiF4Vc0hTO5/wiuURvYIcQOv1cRPhDlDXffSsrMsrYiQi/zU80FAACAVX3nt3lWAABA/x+ovnPyAAAA5AHyAAAA3wMOd34Xd+lsglgAAAAASUVORK5CYII=);display:-webkit-flex;overflow:auto}.tr-ui-e-chrome-gpu-state-snapshot-view img{display:block;margin:16px auto 16px auto}
1008</style><dom-module id="tr-ui-a-layout-tree-sub-view">
1009  <template>
1010    <style>
1011    tr-ui-b-table {
1012      font-size: 12px;
1013    }
1014    </style>
1015    <div id="content"></div>
1016  </template>
1017</dom-module><dom-module id="tr-ui-e-s-frame-data-side-panel">
1018  <template>
1019    <style>
1020    :host {
1021      display: flex;
1022      width: 600px;
1023      flex-direction: column;
1024    }
1025    table-container {
1026      display: flex;
1027      overflow: auto;
1028      font-size: 12px;
1029    }
1030    </style>
1031    <div>
1032      Organize by:
1033      <select id="select">
1034        <option value="none">None</option>
1035        <option value="tree">Frame Tree</option>
1036      </select>
1037    </div>
1038    <table-container>
1039      <tr-ui-b-table id="table"></tr-ui-b-table>
1040    </table-container>
1041  </template>
1042</dom-module><dom-module id="tr-ui-b-chart-legend-key">
1043  <template>
1044    <style>
1045      #checkbox {
1046        margin: 0;
1047        visibility: hidden;
1048        vertical-align: text-top;
1049      }
1050      #label, #link {
1051        white-space: nowrap;
1052        text-overflow: ellipsis;
1053        overflow: hidden;
1054        display: inline-block;
1055      }
1056    </style>
1057
1058    <input checked="" id="checkbox" type="checkbox"/>
1059    <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
1060    <label id="label"></label>
1061  </template>
1062</dom-module><style>
1063  * /deep/ .chart-base {
1064    -webkit-user-select: none;
1065    cursor: default;
1066  }
1067
1068  * /deep/ .chart-base .axis path,
1069  * /deep/ .chart-base .axis line {
1070    fill: none;
1071    shape-rendering: crispEdges;
1072    stroke: #000;
1073  }
1074</style><template id="chart-base-template">
1075  <svg>
1076    <g id="chart-area" xmlns="http://www.w3.org/2000/svg">
1077      <g class="x axis"></g>
1078      <g class="y axis"></g>
1079      <text id="title"></text>
1080    </g>
1081  </svg>
1082</template><style>
1083  * /deep/ .chart-base-2d.updating-brushing-state #brushes > * {
1084    fill: rgb(103, 199, 165)
1085  }
1086
1087  * /deep/ .chart-base-2d #brushes {
1088    fill: rgb(213, 236, 229)
1089  }
1090</style><dom-module id="tr-ui-e-s-input-latency-side-panel">
1091  <template>
1092    <style>
1093    :host {
1094      flex-direction: column;
1095      display: flex;
1096    }
1097    toolbar {
1098      flex: 0 0 auto;
1099      border-bottom: 1px solid black;
1100      display: flex;
1101    }
1102    result-area {
1103      flex: 1 1 auto;
1104      display: block;
1105      min-height: 0;
1106      overflow-y: auto;
1107    }
1108    </style>
1109
1110    <toolbar id="toolbar"></toolbar>
1111    <result-area id="result_area"></result-area>
1112  </template>
1113</dom-module><dom-module id="tr-ui-b-heading">
1114  <template>
1115    <style>
1116    :host {
1117      background-color: rgb(243, 245, 247);
1118      border-right: 1px solid #8e8e8e;
1119      display: block;
1120      height: 100%;
1121      margin: 0;
1122      padding: 0 5px 0 0;
1123    }
1124
1125    heading {
1126      display: block;
1127      overflow-x: hidden;
1128      text-align: left;
1129      text-overflow: ellipsis;
1130      white-space: nowrap;
1131    }
1132
1133    #arrow {
1134      -webkit-flex: 0 0 auto;
1135      font-family: sans-serif;
1136      margin-left: 5px;
1137      margin-right: 5px;
1138      width: 8px;
1139    }
1140
1141    #link, #heading_content {
1142      display: none;
1143    }
1144    </style>
1145    <heading id="heading" on-click="onHeadingDivClicked_">
1146      <span id="arrow"></span>
1147      <span id="heading_content"></span>
1148      <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
1149    </heading>
1150  </template>
1151</dom-module><style>
1152.track-button{background-color:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.2);font-size:10px;height:12px;text-align:center;width:12px}.track-button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.5);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.track-close-button{left:2px;position:absolute;top:2px}.track-collapse-button{left:3px;position:absolute;top:2px}
1153</style><style>
1154.object-instance-track{height:18px}
1155</style><style>
1156.tr-ui-e-system-stats-instance-track{height:500px}.tr-ui-e-system-stats-instance-track ul{list-style:none;list-style-position:outside;margin:0;overflow:hidden}
1157</style><style>
1158.tr-ui-e-system-stats-snapshot-view .subhead{font-size:small;padding-bottom:10px}.tr-ui-e-system-stats-snapshot-view ul{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;font-family:monospace;list-style:none;margin:0;padding-left:15px}.tr-ui-e-system-stats-snapshot-view li{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;list-style:none;margin:0;padding-left:15px}
1159</style><dom-module id="tr-ui-e-v8-gc-objects-stats-table">
1160  <template>
1161    <style>
1162    tr-ui-b-table {
1163      flex: 0 0 auto;
1164      align-self: stretch;
1165      margin-top: 1em;
1166      font-size: 12px;
1167    }
1168    .diff {
1169      display: inline-block;
1170      margin-top: 1em;
1171      margin-left: 0.8em;
1172    }
1173    </style>
1174    <div class="diff" id="diffOption">
1175      Diff
1176    </div>
1177    <tr-ui-b-table id="diffTable"></tr-ui-b-table>
1178    <tr-ui-b-table id="table"></tr-ui-b-table>
1179  </template>
1180</dom-module><dom-module id="tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view">
1181  <template>
1182    <style>
1183    </style>
1184    <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats">
1185    </tr-ui-e-v8-gc-objects-stats-table>
1186  </template>
1187</dom-module><dom-module id="tr-ui-e-v8-ic-stats-table">
1188  <template>
1189    <style>
1190    tr-ui-b-table {
1191      flex: 0 0 auto;
1192      align-self: stretch;
1193      margin-top: 1em;
1194      font-size: 12px;
1195    }
1196    #total {
1197      margin-top: 1em;
1198      margin-left: 0.8em;
1199    }
1200    #groupOption {
1201      display: inline-block;
1202      margin-top: 1em;
1203      margin-left: 0.8em;
1204    }
1205    </style>
1206    <div style="padding-right: 200px">
1207      <div style="float:right;  border-style: solid; border-width: 1px; padding:20px">
1208        0 uninitialized<br/>
1209        . premonomorphic<br/>
1210        1 monomorphic<br/>
1211        ^ recompute handler<br/>
1212        P polymorphic<br/>
1213        N megamorphic<br/>
1214        G generic
1215      </div>
1216    </div>
1217    <div id="total">
1218    </div>
1219    <div id="groupOption">
1220      Group Key
1221    </div>
1222    <tr-ui-b-table id="table"></tr-ui-b-table>
1223  </template>
1224</dom-module><dom-module id="tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view">
1225  <template>
1226    <tr-ui-e-v8-ic-stats-table id="table">
1227    </tr-ui-e-v8-ic-stats-table>
1228  </template>
1229</dom-module><dom-module id="tr-ui-e-v8-runtime-call-stats-table">
1230  <template>
1231    <style>
1232    #table {
1233      flex: 0 0 auto;
1234      align-self: stretch;
1235      margin-top: 1em;
1236      font-size: 12px;
1237    }
1238    </style>
1239    <tr-ui-b-table id="table"></tr-ui-b-table>
1240  </template>
1241</dom-module><dom-module id="tr-ui-e-multi-v8-thread-slice-sub-view">
1242  <template>
1243    <tr-ui-a-multi-thread-slice-sub-view id="content"></tr-ui-a-multi-thread-slice-sub-view>
1244    <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table>
1245  </template>
1246</dom-module><dom-module id="tr-ui-e-single-v8-gc-stats-thread-slice-sub-view">
1247  <template>
1248    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
1249    <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats"></tr-ui-e-v8-gc-objects-stats-table>
1250  </template>
1251</dom-module><dom-module id="tr-ui-e-single-v8-ic-stats-thread-slice-sub-view">
1252  <template>
1253    <tr-ui-e-v8-ic-stats-table id="table">
1254    </tr-ui-e-v8-ic-stats-table>
1255  </template>
1256</dom-module><dom-module id="tr-ui-e-single-v8-thread-slice-sub-view">
1257  <template>
1258    <tr-ui-a-single-thread-slice-sub-view id="content"></tr-ui-a-single-thread-slice-sub-view>
1259    <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table>
1260  </template>
1261</dom-module><dom-module id="tr-ui-a-alert-sub-view">
1262  <template>
1263    <style>
1264    :host {
1265      display: flex;
1266      flex-direction: column;
1267    }
1268    #table {
1269      flex: 1 1 auto;
1270      align-self: stretch;
1271      font-size: 12px;
1272    }
1273    </style>
1274    <tr-ui-b-table id="table">
1275    </tr-ui-b-table>
1276  </template>
1277</dom-module><dom-module id="tr-ui-b-tab-view">
1278  <template>
1279    <style>
1280      :host {
1281        display: flex;
1282        flex-direction: column;
1283      }
1284
1285      #selection_description, #tabs {
1286        font-size: 12px;
1287      }
1288
1289      #selection_description {
1290        display: inline-block;
1291        font-weight: bold;
1292        margin: 9px 0px 4px 20px;
1293      }
1294
1295      #tabs {
1296        flex: 0 0 auto;
1297        border-top: 1px solid #8e8e8e;
1298        border-bottom: 1px solid #8e8e8e;
1299        background-color: #ececec;
1300        overflow: hidden;
1301        margin: 0;
1302      }
1303
1304      #tabs input[type=radio] {
1305        display: none;
1306      }
1307
1308      #tabs tab label {
1309        cursor: pointer;
1310        display: inline-block;
1311        border: 1px solid #ececec;
1312        margin: 5px 0px 0px 15px;
1313        padding: 3px 10px 3px 10px;
1314      }
1315
1316      #tabs tab label span {
1317        font-weight: bold;
1318      }
1319
1320      #tabs:focus input[type=radio]:checked ~ label {
1321        outline: dotted 1px #8e8e8e;
1322        outline-offset: -2px;
1323      }
1324
1325      #tabs input[type=radio]:checked ~ label {
1326        background-color: white;
1327        border: 1px solid #8e8e8e;
1328        border-bottom: 1px solid white;
1329      }
1330
1331      #subView {
1332        flex: 1 1 auto;
1333        overflow: auto;
1334      }
1335    </style>
1336    <div hidden="[[tabsHidden]]" id="tabs">
1337      <label id="selection_description">[[label_]]</label>
1338      <template is="dom-repeat" items="[[subViews_]]">
1339        <tab>
1340          <input checked="[[isChecked_(item)]]" id$="[[computeRadioId_(item)]]" name="tabs" on-change="onTabChanged_" type="radio"/>
1341          <label for$="[[computeRadioId_(item)]]">
1342            <template if="[[item.tabIcon]]" is="dom-if">
1343              <span style$="[[item.tabIcon.style]]">[[item.tabIcon.text]]</span>
1344            </template>
1345            [[item.tabLabel]]
1346          </label>
1347        </tab>
1348      </template>
1349    </div>
1350    <div id="subView"></div>
1351    <content>
1352    </content>
1353  </template>
1354</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view">
1355  <template>
1356    <tr-ui-b-tab-view id="tabs"></tr-ui-b-tab-view>
1357  </template>
1358</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view-tab">
1359  <template>
1360    <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller>
1361    <tr-ui-b-info-bar hidden="" id="info"></tr-ui-b-info-bar>
1362    <tr-ui-b-table id="table"></tr-ui-b-table>
1363  </template>
1364</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-path-view">
1365  <template>
1366    <style>
1367      :host {
1368        display: flex;
1369        flex-direction: column;
1370      }
1371    </style>
1372    <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller>
1373    <tr-ui-b-table id="table"></tr-ui-b-table>
1374  </template>
1375</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-pane">
1376  <template>
1377    <style>
1378      :host {
1379        display: flex;
1380        flex-direction: column;
1381      }
1382
1383      #header {
1384        flex: 0 0 auto;
1385        display: flex;
1386        flex-direction: row;
1387        align-items: center;
1388
1389        background-color: #eee;
1390        border-bottom: 1px solid #8e8e8e;
1391        border-top: 1px solid white;
1392      }
1393
1394      #label {
1395        flex: 1 1 auto;
1396        padding: 8px;
1397        font-size: 15px;
1398        font-weight: bold;
1399      }
1400
1401      #view_mode_container {
1402        display: none;
1403        flex: 0 0 auto;
1404        padding: 5px;
1405        font-size: 15px;
1406      }
1407
1408      #contents {
1409        flex: 1 0 auto;
1410        align-self: stretch;
1411        font-size: 12px;
1412      }
1413
1414      #info_text {
1415        padding: 8px;
1416        color: #666;
1417        font-style: italic;
1418        text-align: center;
1419      }
1420
1421      #split_view {
1422        display: none;  /* Hide until memory allocator dumps are set. */
1423        flex: 1 0 auto;
1424        align-self: stretch;
1425        flex-direction: row;
1426      }
1427
1428      #path_view {
1429        width: 50%;
1430      }
1431
1432      #breakdown_view {
1433        flex: 1 1 auto;
1434        width: 0;
1435      }
1436
1437      #path_view, #breakdown_view {
1438        overflow-x: auto;  /* Show scrollbar if necessary. */
1439      }
1440    </style>
1441    <div id="header">
1442      <div id="label">Heap details</div>
1443      <div id="view_mode_container">
1444        <span>View mode:</span>
1445
1446      </div>
1447    </div>
1448    <div id="contents">
1449      <tr-ui-b-info-bar hidden="" id="info_bar">
1450      </tr-ui-b-info-bar>
1451
1452      <div id="info_text">No heap dump selected</div>
1453
1454      <div id="split_view">
1455        <tr-ui-a-memory-dump-heap-details-path-view id="path_view">
1456        </tr-ui-a-memory-dump-heap-details-path-view>
1457        <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
1458        <tr-ui-a-memory-dump-heap-details-breakdown-view id="breakdown_view">
1459        </tr-ui-a-memory-dump-heap-details-breakdown-view>
1460      </div>
1461    </div>
1462  </template>
1463</dom-module><dom-module id="tr-ui-a-memory-dump-allocator-details-pane">
1464  <template>
1465    <style>
1466      :host {
1467        display: flex;
1468        flex-direction: column;
1469      }
1470
1471      #label {
1472        flex: 0 0 auto;
1473        padding: 8px;
1474
1475        background-color: #eee;
1476        border-bottom: 1px solid #8e8e8e;
1477        border-top: 1px solid white;
1478
1479        font-size:  15px;
1480        font-weight: bold;
1481      }
1482
1483      #contents {
1484        flex: 1 0 auto;
1485        align-self: stretch;
1486        font-size: 12px;
1487      }
1488
1489      #info_text {
1490        padding: 8px;
1491        color: #666;
1492        font-style: italic;
1493        text-align: center;
1494      }
1495
1496      #table {
1497        display: none;  /* Hide until memory allocator dumps are set. */
1498        flex: 1 0 auto;
1499        align-self: stretch;
1500        font-size: 12px;
1501      }
1502    </style>
1503    <div id="label">Component details</div>
1504    <div id="contents">
1505      <div id="info_text">No memory allocator dump selected</div>
1506      <tr-ui-b-table id="table"></tr-ui-b-table>
1507    </div>
1508  </template>
1509</dom-module><dom-module id="tr-ui-a-memory-dump-vm-regions-details-pane">
1510  <template>
1511    <style>
1512      :host {
1513        display: flex;
1514        flex-direction: column;
1515      }
1516
1517      #label {
1518        flex: 0 0 auto;
1519        padding: 8px;
1520
1521        background-color: #eee;
1522        border-bottom: 1px solid #8e8e8e;
1523        border-top: 1px solid white;
1524
1525        font-size:  15px;
1526        font-weight: bold;
1527      }
1528
1529      #contents {
1530        flex: 1 0 auto;
1531        align-self: stretch;
1532        font-size: 12px;
1533      }
1534
1535      #info_text {
1536        padding: 8px;
1537        color: #666;
1538        font-style: italic;
1539        text-align: center;
1540      }
1541
1542      #table {
1543        display: none;  /* Hide until memory dumps are set. */
1544        flex: 1 0 auto;
1545        align-self: stretch;
1546        font-size: 12px;
1547      }
1548    </style>
1549    <div id="label">Memory maps</div>
1550    <div id="contents">
1551      <div id="info_text">No memory maps selected</div>
1552      <tr-ui-b-table id="table"></tr-ui-b-table>
1553    </div>
1554  </template>
1555</dom-module><dom-module id="tr-ui-b-color-legend">
1556  <template>
1557    <style>
1558    :host {
1559      display: inline-block;
1560    }
1561
1562    #square {
1563      font-size: 150%;  /* Make the square bigger. */
1564      line-height: 0%;  /* Prevent the square from increasing legend height. */
1565    }
1566    </style>
1567    <span id="square"></span>
1568    <span id="label"></span>
1569  </template>
1570</dom-module><dom-module id="tr-ui-b-view-specific-brushing-state">
1571  <template></template>
1572</dom-module><dom-module id="tr-ui-a-memory-dump-overview-pane">
1573  <template>
1574    <style>
1575      :host {
1576        display: flex;
1577        flex-direction: column;
1578      }
1579
1580      #label {
1581        flex: 0 0 auto;
1582        padding: 8px;
1583
1584        background-color: #eee;
1585        border-bottom: 1px solid #8e8e8e;
1586        border-top: 1px solid white;
1587
1588        font-size:  15px;
1589        font-weight: bold;
1590      }
1591
1592      #label a {
1593        font-weight: normal;
1594        float: right;
1595      }
1596
1597      #contents {
1598        flex: 1 0 auto;
1599        align-self: stretch;
1600        font-size: 12px;
1601        overflow: auto;
1602      }
1603
1604      #info_text {
1605        padding: 8px;
1606        color: #666;
1607        font-style: italic;
1608        text-align: center;
1609      }
1610
1611      #table {
1612        display: none;  /* Hide until memory dumps are set. */
1613        flex: 1 0 auto;
1614        align-self: stretch;
1615        font-size: 12px;
1616      }
1617    </style>
1618    <tr-ui-b-view-specific-brushing-state id="state" view-id="analysis.memory_dump_overview_pane">
1619    </tr-ui-b-view-specific-brushing-state>
1620    <div id="label">Overview <a href="https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra">Help</a></div>
1621    <div id="contents">
1622      <div id="info_text">No memory memory dumps selected</div>
1623      <tr-ui-b-table id="table"></tr-ui-b-table>
1624    </div>
1625  </template>
1626</dom-module><dom-module id="tr-ui-a-memory-dump-header-pane">
1627  <template>
1628    <style>
1629      :host {
1630        display: flex;
1631        flex-direction: row;
1632        align-items: center;
1633
1634        background-color: #d0d0d0;
1635        border-bottom: 1px solid #8e8e8e;
1636        border-top: 1px solid white;
1637      }
1638
1639      #label {
1640        flex: 1 1 auto;
1641        padding: 6px;
1642        font-size: 15px;
1643      }
1644
1645      #aggregation_mode_container {
1646        display: none;
1647        flex: 0 0 auto;
1648        padding: 5px;
1649        font-size: 15px;
1650      }
1651    </style>
1652
1653    <div id="label"></div>
1654    <div id="aggregation_mode_container">
1655      <span>Metric aggregation:</span>
1656
1657    </div>
1658  </template>
1659</dom-module><dom-module id="tr-ui-a-stacked-pane-view">
1660  <template>
1661    <style>
1662    :host {
1663      display: flex;
1664      flex-direction: column;
1665    }
1666
1667    #pane_container > * {
1668      flex: 0 0 auto;
1669    }
1670    </style>
1671    <div id="pane_container">
1672    </div>
1673  </template>
1674</dom-module><dom-module id="tr-ui-a-container-memory-dump-sub-view">
1675  <template>
1676    <style>
1677    tr-ui-b-table {
1678      font-size: 12px;
1679    }
1680    </style>
1681    <div id="content"></div>
1682  </template>
1683</dom-module><dom-module id="tr-ui-a-counter-sample-sub-view">
1684  <template>
1685    <style>
1686    :host {
1687      display: flex;
1688      flex-direction: column;
1689    }
1690    tr-ui-b-table {
1691      font-size: 12px;
1692    }
1693    </style>
1694    <tr-ui-b-table id="table"></tr-ui-b-table>
1695  </template>
1696</dom-module><dom-module id="tr-ui-a-multi-event-summary-table">
1697  <template>
1698    <style>
1699    :host {
1700      display: flex;
1701    }
1702    #table {
1703      flex: 1 1 auto;
1704      align-self: stretch;
1705      font-size: 12px;
1706    }
1707    </style>
1708    <tr-ui-b-table id="table">
1709    </tr-ui-b-table>
1710
1711  </template>
1712</dom-module><dom-module id="tr-ui-a-selection-summary-table">
1713  <template>
1714    <style>
1715    :host {
1716      display: flex;
1717    }
1718    #table {
1719      flex: 1 1 auto;
1720      align-self: stretch;
1721      font-size: 12px;
1722    }
1723    </style>
1724    <tr-ui-b-table id="table">
1725    </tr-ui-b-table>
1726
1727  </template>
1728</dom-module><dom-module id="tr-ui-b-radio-picker">
1729  <template>
1730    <style>
1731    :host([vertical]) #container {
1732      flex-direction: column;
1733    }
1734    :host(:not[vertical]) #container {
1735      flex-direction: row;
1736    }
1737    #container {
1738      display: flex;
1739    }
1740    #container > div {
1741      padding-left: 1em;
1742      padding-bottom: 0.5em;
1743    }
1744    </style>
1745    <div id="container"></div>
1746  </template>
1747</dom-module><dom-module id="tr-v-ui-breakdown-span">
1748  <template>
1749    <style>
1750    :host {
1751      display: flex;
1752      flex-direction: column;
1753    }
1754    #table_container {
1755      display: flex;
1756      flex: 0 0 auto;
1757    }
1758    #table {
1759      max-height: 150px;
1760      overflow-y: auto;
1761    }
1762    </style>
1763
1764    <div id="empty">(empty)</div>
1765    <div id="table_container">
1766      <div id="container"></div>
1767      <span>
1768        <tr-ui-b-table id="table"></tr-ui-b-table>
1769      </span>
1770    </div>
1771  </template>
1772</dom-module><dom-module id="tr-v-ui-buildbot-info-span">
1773  <template>
1774    <tr-ui-b-table id="table"></tr-ui-b-table>
1775  </template>
1776</dom-module><dom-module id="tr-v-ui-collected-related-event-set-span">
1777
1778</dom-module><dom-module id="tr-v-ui-device-info-span">
1779  <template>
1780    <tr-ui-b-table id="table"></tr-ui-b-table>
1781  </template>
1782</dom-module><dom-module id="tr-v-ui-generic-diagnostic-span">
1783  <template>
1784    <tr-ui-a-generic-object-view id="generic"></tr-ui-a-generic-object-view>
1785  </template>
1786
1787
1788</dom-module><dom-module id="tr-v-ui-merged-buildbot-info-span">
1789  <template>
1790    <tr-ui-b-table id="table"></tr-ui-b-table>
1791  </template>
1792</dom-module><dom-module id="tr-v-ui-merged-device-info-span">
1793  <template>
1794    <tr-ui-b-table id="table"></tr-ui-b-table>
1795  </template>
1796</dom-module><dom-module id="tr-v-ui-merged-revision-info-span">
1797  <template>
1798    <tr-ui-b-table id="table"></tr-ui-b-table>
1799  </template>
1800</dom-module><dom-module id="tr-v-ui-merged-telemetry-info-span">
1801  <template>
1802    <style>
1803    #hide, #table {
1804      display: none;
1805    }
1806    </style>
1807    <button id="show" on-click="onShow_">Show</button>
1808    <button id="hide" on-click="onHide_">Hide</button>
1809    <tr-ui-b-table id="table"></tr-ui-b-table>
1810  </template>
1811</dom-module><dom-module id="tr-v-ui-related-event-set-span">
1812
1813</dom-module><dom-module id="tr-v-ui-related-histogram-map-span">
1814  <template>
1815    <tr-ui-b-table id="table"></tr-ui-b-table>
1816  </template>
1817</dom-module><dom-module id="tr-v-ui-related-histogram-set-span">
1818
1819</dom-module><dom-module id="tr-v-ui-revision-info-span">
1820  <template>
1821    <tr-ui-b-table id="table"></tr-ui-b-table>
1822  </template>
1823</dom-module><dom-module id="tr-v-ui-scalar-diagnostic-span">
1824  <template>
1825    <tr-v-ui-scalar-span id="scalar"></tr-v-ui-scalar-span>
1826  </template>
1827
1828
1829</dom-module><dom-module id="tr-v-ui-telemetry-info-span">
1830  <template>
1831    <tr-ui-b-table id="table"></tr-ui-b-table>
1832  </template>
1833</dom-module><dom-module id="tr-v-ui-unmergeable-diagnostic-set-span">
1834
1835</dom-module><dom-module id="tr-v-ui-diagnostic-map-table">
1836  <template>
1837    <tr-ui-b-table id="table"></tr-ui-b-table>
1838  </template>
1839
1840
1841</dom-module><dom-module name="tr-v-ui-scalar-map-table">
1842  <template>
1843    <style>
1844    </style>
1845    <tr-ui-b-table id="table"></tr-ui-b-table>
1846  </template>
1847</dom-module><dom-module id="tr-v-ui-histogram-span">
1848  <template>
1849    <style>
1850    #container {
1851      display: flex;
1852      flex-direction: row;
1853      justify-content: space-between;
1854    }
1855    #chart {
1856      flex-grow: 1;
1857      display: none;
1858    }
1859    #drag_handle, #sample_diagnostics_container {
1860      display: none;
1861    }
1862    #chart svg {
1863      display: block;
1864    }
1865    </style>
1866
1867    <div id="container">
1868      <div id="chart"></div>
1869      <div id="stats_container">
1870        <tr-v-ui-scalar-map-table id="stats"></tr-v-ui-scalar-map-table>
1871      </div>
1872    </div>
1873    <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
1874
1875    <tr-v-ui-diagnostic-map-table id="histogram_diagnostics"></tr-v-ui-diagnostic-map-table>
1876
1877    <div id="sample_diagnostics_container">
1878      <div id="merge_sample_diagnostics_container">
1879        <input checked="" id="merge_sample_diagnostics" on-change="updateDiagnostics_" type="checkbox"/>
1880        <label for="merge_sample_diagnostics">Merge Sample Diagnostics</label>
1881      </div>
1882      <tr-v-ui-diagnostic-map-table id="sample_diagnostics"></tr-v-ui-diagnostic-map-table>
1883    </div>
1884  </template>
1885</dom-module><dom-module id="tr-ui-a-multi-event-sub-view">
1886  <template>
1887    <style>
1888    :host {
1889      display: flex;
1890      overflow: auto;
1891    }
1892    #content {
1893      display: flex;
1894      flex-direction: column;
1895      flex: 0 1 auto;
1896      align-self: stretch;
1897    }
1898    #content > * {
1899      flex: 0 0 auto;
1900      align-self: stretch;
1901    }
1902    #histogramContainer {
1903      display: flex;
1904    }
1905
1906    tr-ui-a-multi-event-summary-table {
1907      border-bottom: 1px solid #aaa;
1908    }
1909
1910    tr-ui-a-selection-summary-table  {
1911      margin-top: 1.25em;
1912      border-top: 1px solid #aaa;
1913      background-color: #eee;
1914      font-weight: bold;
1915      margin-bottom: 1.25em;
1916      border-bottom: 1px solid #aaa;
1917    }
1918    </style>
1919    <div id="content">
1920      <tr-ui-a-multi-event-summary-table id="eventSummaryTable">
1921      </tr-ui-a-multi-event-summary-table>
1922      <tr-ui-a-selection-summary-table id="selectionSummaryTable">
1923      </tr-ui-a-selection-summary-table>
1924      <tr-ui-b-radio-picker id="radioPicker">
1925      </tr-ui-b-radio-picker>
1926      <div id="histogramContainer">
1927        <tr-v-ui-histogram-span id="histogramSpan">
1928        </tr-v-ui-histogram-span>
1929      </div>
1930    </div>
1931  </template>
1932</dom-module><dom-module id="tr-ui-a-related-events">
1933  <template>
1934    <style>
1935    :host {
1936      display: flex;
1937      flex-direction: column;
1938    }
1939    #table {
1940      flex: 1 1 auto;
1941      align-self: stretch;
1942      font-size: 12px;
1943    }
1944    </style>
1945    <tr-ui-b-table id="table"></tr-ui-b-table>
1946  </template>
1947</dom-module><dom-module id="tr-ui-a-multi-async-slice-sub-view">
1948  <template>
1949    <style>
1950    :host {
1951      display: flex;
1952    }
1953    #container {
1954      display: flex;
1955      flex: 1 1 auto;
1956    }
1957    #events {
1958      margin-left: 8px;
1959      flex: 0 1 200px;
1960    }
1961    </style>
1962    <div id="container">
1963      <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
1964      <div id="events">
1965        <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events>
1966      </div>
1967    </div>
1968  </template>
1969</dom-module><dom-module id="tr-ui-a-multi-cpu-slice-sub-view">
1970  <template>
1971    <style>
1972    :host {
1973      display: flex;
1974    }
1975    #content {
1976      flex: 1 1 auto;
1977    }
1978    </style>
1979    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
1980  </template>
1981</dom-module><dom-module id="tr-ui-a-multi-flow-event-sub-view">
1982  <template>
1983    <style>
1984    :host {
1985      display: flex;
1986    }
1987    </style>
1988    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
1989  </template>
1990</dom-module><dom-module id="tr-ui-a-multi-instant-event-sub-view">
1991  <template>
1992    <style>
1993    :host {
1994      display: block;
1995    }
1996    </style>
1997    <div id="content"></div>
1998  </template>
1999</dom-module><dom-module id="tr-ui-a-multi-object-sub-view">
2000  <template>
2001    <style>
2002    :host {
2003      display: flex;
2004      font-size: 12px;
2005    }
2006    </style>
2007    <tr-ui-b-table id="content"></tr-ui-b-table>
2008  </template>
2009</dom-module><dom-module id="tr-ui-a-frame-power-usage-chart">
2010  <template>
2011    <div id="content"></div>
2012  </template>
2013</dom-module><dom-module id="tr-ui-a-power-sample-summary-table">
2014  <template>
2015    <style>
2016    tr-ui-b-table {
2017      font-size: 12px;
2018    }
2019    </style>
2020    <tr-ui-b-table id="table"></tr-ui-b-table>
2021  </template>
2022</dom-module><dom-module id="tr-ui-a-multi-power-sample-sub-view">
2023  <template>
2024    <style>
2025    :host {
2026      display: flex;
2027      flex-direction: row;
2028    }
2029    #tables {
2030      display: flex;
2031      flex-direction: column;
2032      width: 50%;
2033    }
2034    #chart {
2035      width: 50%;
2036    }
2037    </style>
2038    <div id="tables">
2039      <tr-ui-a-power-sample-summary-table id="summaryTable">
2040      </tr-ui-a-power-sample-summary-table>
2041    </div>
2042    <tr-ui-a-frame-power-usage-chart id="chart">
2043    </tr-ui-a-frame-power-usage-chart>
2044  </template>
2045</dom-module><dom-module id="tr-ui-a-multi-sample-sub-view">
2046  <template>
2047    <style>
2048    :host { display: block; }
2049    #control {
2050      background-color: #e6e6e6;
2051      background-image: -webkit-gradient(linear, 0 0, 0 100%,
2052                                         from(#E5E5E5), to(#D1D1D1));
2053      flex: 0 0 auto;
2054      overflow-x: auto;
2055    }
2056    #control::-webkit-scrollbar { height: 0px; }
2057    #control {
2058      font-size: 12px;
2059      display: flex;
2060      flex-direction: row;
2061      align-items: stretch;
2062      margin: 1px;
2063      margin-right: 2px;
2064    }
2065    tr-ui-b-table {
2066      font-size: 12px;
2067    }
2068    </style>
2069    <div id="control">
2070      Sample View Option
2071    </div>
2072    <tr-ui-b-table id="table">
2073    </tr-ui-b-table>
2074  </template>
2075</dom-module><dom-module id="tr-ui-a-multi-thread-slice-sub-view">
2076  <template>
2077    <style>
2078    :host {
2079      display: flex;
2080    }
2081    #content {
2082      display: flex;
2083      flex: 1 1 auto;
2084    }
2085    #content > tr-ui-a-related-events {
2086      margin-left: 8px;
2087      flex: 0 1 200px;
2088    }
2089    </style>
2090    <div id="content"></div>
2091  </template>
2092</dom-module><dom-module id="tr-ui-a-multi-thread-time-slice-sub-view">
2093  <template>
2094    <style>
2095    :host {
2096      display: flex;
2097    }
2098    #content {
2099      flex: 1 1 auto;
2100    }
2101    </style>
2102    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
2103  </template>
2104</dom-module><dom-module id="tr-ui-a-user-expectation-related-samples-table">
2105  <template>
2106    <style>
2107    #table {
2108      flex: 1 1 auto;
2109      align-self: stretch;
2110      font-size: 12px;
2111    }
2112    </style>
2113    <tr-ui-b-table id="table"></tr-ui-b-table>
2114  </template>
2115</dom-module><dom-module id="tr-ui-a-multi-user-expectation-sub-view">
2116  <template>
2117    <style>
2118    :host {
2119      display: flex;
2120      flex: 1 1 auto;
2121    }
2122    #events {
2123      margin-left: 8px;
2124      flex: 0 1 200px;
2125    }
2126    </style>
2127    <tr-ui-a-multi-event-sub-view id="realView"></tr-ui-a-multi-event-sub-view>
2128    <div id="events">
2129      <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table>
2130    </div>
2131  </template>
2132</dom-module><dom-module id="tr-ui-a-single-async-slice-sub-view">
2133  <template>
2134    <style>
2135    :host {
2136      display: flex;
2137      flex-direction: row;
2138    }
2139    #events {
2140      display:flex;
2141      flex-direction: column;
2142    }
2143    </style>
2144    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
2145    <div id="events">
2146      <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events>
2147    </div>
2148  </template>
2149</dom-module><dom-module id="tr-ui-a-single-cpu-slice-sub-view">
2150  <template>
2151    <style>
2152    table {
2153      border-collapse: collapse;
2154      border-width: 0;
2155      margin-bottom: 25px;
2156      width: 100%;
2157    }
2158
2159    table tr > td:first-child {
2160      padding-left: 2px;
2161    }
2162
2163    table tr > td {
2164      padding: 2px 4px 2px 4px;
2165      vertical-align: text-top;
2166      width: 150px;
2167    }
2168
2169    table td td {
2170      padding: 0 0 0 0;
2171      width: auto;
2172    }
2173    tr {
2174      vertical-align: top;
2175    }
2176
2177    tr:nth-child(2n+0) {
2178      background-color: #e2e2e2;
2179    }
2180    </style>
2181    <table>
2182      <tbody><tr>
2183        <td>Running process:</td><td id="process-name"></td>
2184      </tr>
2185      <tr>
2186        <td>Running thread:</td><td id="thread-name"></td>
2187      </tr>
2188      <tr>
2189        <td>Start:</td>
2190        <td>
2191          <tr-v-ui-scalar-span id="start">
2192          </tr-v-ui-scalar-span>
2193        </td>
2194      </tr>
2195      <tr>
2196        <td>Duration:</td>
2197        <td>
2198          <tr-v-ui-scalar-span id="duration">
2199          </tr-v-ui-scalar-span>
2200        </td>
2201      </tr>
2202      <tr>
2203        <td>Active slices:</td><td id="running-thread"></td>
2204      </tr>
2205      <tr>
2206        <td>Args:</td>
2207        <td>
2208          <tr-ui-a-generic-object-view id="args">
2209          </tr-ui-a-generic-object-view>
2210        </td>
2211      </tr>
2212    </tbody></table>
2213  </template>
2214</dom-module><dom-module id="tr-ui-a-single-flow-event-sub-view">
2215  <template>
2216    <style>
2217    :host {
2218      display: block;
2219    }
2220    </style>
2221    <tr-ui-a-single-event-sub-view id="singleEventSubView">
2222    </tr-ui-a-single-event-sub-view>
2223  </template>
2224</dom-module><dom-module id="tr-ui-a-single-frame-sub-view">
2225  <template>
2226    <style>
2227    :host {
2228      display: flex;
2229      flex-direction: column;
2230    }
2231    #asv {
2232      flex: 0 0 auto;
2233      align-self: stretch;
2234    }
2235    </style>
2236    <tr-ui-a-alert-sub-view id="asv">
2237    </tr-ui-a-alert-sub-view>
2238  </template>
2239</dom-module><dom-module id="tr-ui-a-single-instant-event-sub-view">
2240  <template>
2241    <style>
2242    :host {
2243      display: block;
2244    }
2245    </style>
2246    <div id="content"></div>
2247  </template>
2248</dom-module><dom-module id="tr-ui-a-single-object-instance-sub-view">
2249  <template>
2250    <style>
2251    :host {
2252      display: block;
2253    }
2254
2255    #snapshots > * {
2256      display: block;
2257    }
2258
2259    :host {
2260      overflow: auto;
2261      display: block;
2262    }
2263
2264    * {
2265      -webkit-user-select: text;
2266    }
2267
2268    .title {
2269      border-bottom: 1px solid rgb(128, 128, 128);
2270      font-size: 110%;
2271      font-weight: bold;
2272    }
2273
2274    td, th {
2275      font-family: monospace;
2276      vertical-align: top;
2277    }
2278    </style>
2279    <div id="content"></div>
2280  </template>
2281</dom-module><dom-module id="tr-ui-a-single-object-snapshot-sub-view">
2282  <template>
2283    <style>
2284    #args {
2285      white-space: pre;
2286    }
2287
2288    :host {
2289      overflow: auto;
2290      display: flex;
2291    }
2292
2293    ::content * {
2294      -webkit-user-select: text;
2295    }
2296
2297    ::content .title {
2298      border-bottom: 1px solid rgb(128, 128, 128);
2299      font-size: 110%;
2300      font-weight: bold;
2301    }
2302
2303    ::content td, th {
2304      font-family: monospace;
2305      vertical-align: top;
2306    }
2307    </style>
2308    <content></content>
2309  </template>
2310</dom-module><dom-module id="tr-ui-a-power-sample-table">
2311  <template>
2312    <style>
2313    :host {
2314      display: flex;
2315      font-size: 12px;
2316    }
2317    </style>
2318    <tr-ui-b-table id="table"></tr-ui-b-table>
2319  </template>
2320</dom-module><dom-module id="tr-ui-a-single-power-sample-sub-view">
2321  <template>
2322    <style>
2323    :host { display: block; }
2324    </style>
2325    <tr-ui-a-power-sample-table id="samplesTable">
2326    </tr-ui-a-power-sample-table>
2327  </template>
2328</dom-module><dom-module id="tr-ui-a-single-sample-sub-view">
2329  <template>
2330    <style>
2331    :host {
2332      display: flex;
2333      font-size: 12px;
2334    }
2335    </style>
2336    <tr-ui-b-table id="content"></tr-ui-b-table>
2337  </template>
2338</dom-module><dom-module id="tr-ui-a-single-thread-slice-sub-view">
2339  <template>
2340    <style>
2341    :host {
2342      display: flex;
2343      flex-direction: row;
2344    }
2345    #events {
2346      display: flex;
2347      flex-direction: column;
2348    }
2349
2350    </style>
2351    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
2352    <div id="events">
2353      <tr-ui-a-related-events id="relatedEvents">
2354      </tr-ui-a-related-events>
2355    </div>
2356  </template>
2357</dom-module><dom-module id="tr-ui-a-single-thread-time-slice-sub-view">
2358  <template>
2359    <style>
2360    table {
2361      border-collapse: collapse;
2362      border-width: 0;
2363      margin-bottom: 25px;
2364      width: 100%;
2365    }
2366
2367    table tr > td:first-child {
2368      padding-left: 2px;
2369    }
2370
2371    table tr > td {
2372      padding: 2px 4px 2px 4px;
2373      vertical-align: text-top;
2374      width: 150px;
2375    }
2376
2377    table td td {
2378      padding: 0 0 0 0;
2379      width: auto;
2380    }
2381    tr {
2382      vertical-align: top;
2383    }
2384
2385    tr:nth-child(2n+0) {
2386      background-color: #e2e2e2;
2387    }
2388    </style>
2389    <table>
2390      <tbody><tr>
2391        <td>Running process:</td><td id="process-name"></td>
2392      </tr>
2393      <tr>
2394        <td>Running thread:</td><td id="thread-name"></td>
2395      </tr>
2396      <tr>
2397        <td>State:</td>
2398        <td><b><span id="state"></span></b></td>
2399      </tr>
2400      <tr>
2401        <td>Start:</td>
2402        <td>
2403          <tr-v-ui-scalar-span id="start">
2404          </tr-v-ui-scalar-span>
2405        </td>
2406      </tr>
2407      <tr>
2408        <td>Duration:</td>
2409        <td>
2410          <tr-v-ui-scalar-span id="duration">
2411          </tr-v-ui-scalar-span>
2412        </td>
2413      </tr>
2414
2415      <tr>
2416        <td>On CPU:</td><td id="on-cpu"></td>
2417      </tr>
2418
2419      <tr>
2420        <td>Running instead:</td><td id="running-instead"></td>
2421      </tr>
2422
2423      <tr>
2424        <td>Args:</td><td id="args"></td>
2425      </tr>
2426    </tbody></table>
2427  </template>
2428</dom-module><dom-module id="tr-ui-a-single-user-expectation-sub-view">
2429  <template>
2430    <style>
2431    :host {
2432      display: flex;
2433      flex-direction: row;
2434    }
2435    #events {
2436      display: flex;
2437      flex-direction: column;
2438    }
2439    </style>
2440    <tr-ui-a-single-event-sub-view id="realView"></tr-ui-a-single-event-sub-view>
2441    <div id="events">
2442      <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table>
2443    </div>
2444  </template>
2445</dom-module><dom-module id="tr-ui-a-analysis-view">
2446  <template>
2447    <style>
2448      :host {
2449        background-color: white;
2450        display: flex;
2451        flex-direction: column;
2452        height: 275px;
2453        overflow: auto;
2454      }
2455
2456      :host(.tall-mode) {
2457        height: 525px;
2458      }
2459    </style>
2460    <content></content>
2461  </template>
2462</dom-module><dom-module id="tr-ui-b-dropdown">
2463  <template>
2464    <style>
2465    :host {
2466      position: relative;
2467      display: flex;
2468    }
2469    #outer {
2470      display: flex;
2471      flex: 0 0 auto;
2472      padding: 1px 4px 1px 4px;
2473      -webkit-user-select: none;
2474      cursor: default;
2475    }
2476
2477    #state {
2478      display: flex;
2479      flex: 0 0 auto;
2480      margin-left: 2px;
2481      margin-right: 0px;
2482      flex: 0 0 auto;
2483    }
2484
2485    #icon {
2486      display: flex;
2487      flex: 0 0 auto;
2488      flex: 0 0 auto;
2489    }
2490    dialog {
2491      position: absolute;
2492      padding: 0;
2493      border: 0;
2494      margin: 0;
2495    }
2496    dialog::backdrop {
2497      background: rgba(0,0,0,.05);
2498    }
2499
2500    #dialog-frame {
2501      background-color: #fff;
2502      display: flex;
2503      flex-direction: column;
2504      flex: 1 1 auto;
2505      padding: 6px;
2506      border: 1px solid black;
2507      -webkit-user-select: none;
2508      cursor: default;
2509    }
2510    </style>
2511    <tr-ui-b-toolbar-button id="outer" on-click="onOuterClick_" on-keydown="onOuterKeyDown_">
2512      <div id="icon">⚙</div>
2513      <div id="state">▾</div>
2514    </tr-ui-b-toolbar-button>
2515    <dialog id="dialog" on-cancel="onDialogCancel_" on-click="onDialogClick_">
2516      <div id="dialog-frame">
2517        <content></content>
2518      </div>
2519    </dialog>
2520  </template>
2521</dom-module><dom-module id="tr-ui-b-info-bar-group">
2522  <template>
2523    <style>
2524    :host {
2525      flex: 0 0 auto;
2526      flex-direction: column;
2527      display: flex;
2528    }
2529    </style>
2530    <div id="messages"></div>
2531  </template>
2532</dom-module><dom-module id="tr-ui-b-toolbar-button">
2533  <template>
2534    <style>
2535    :host {
2536      display: flex;
2537      background-color: #f8f8f8;
2538      border: 1px solid rgba(0, 0, 0, 0.5);
2539      color: rgba(0,0,0,0.8);
2540      justify-content: center;
2541      align-self: stretch;
2542      min-width: 23px;
2543    }
2544
2545    :host(:hover) {
2546      background-color: rgba(255, 255, 255, 1.0);
2547      border-color: rgba(0, 0, 0, 0.8);
2548      box-shadow: 0 0 .05em rgba(0, 0, 0, 0.4);
2549      color: rgba(0, 0, 0, 1);
2550    }
2551
2552    #aligner {
2553      display: flex;
2554      flex: 0 0 auto;
2555      align-self: center;
2556    }
2557    </style>
2558    <div id="aligner">
2559      <content></content>
2560    </div>
2561  </template>
2562</dom-module><style>
2563.drawing-container{-webkit-box-flex:1;display:inline;overflow:auto;overflow-x:hidden;position:relative}.drawing-container-canvas{-webkit-box-flex:1;display:block;pointer-events:none;position:absolute;top:0}
2564</style><style>
2565.letter-dot-track {
2566  height: 18px;
2567}
2568</style><style>
2569.chart-track {
2570  height: 30px;
2571  position: relative;
2572}
2573</style><style>
2574.cpu-usage-track {
2575  height: 90px;
2576}
2577</style><style>
2578.power-series-track {
2579  height: 90px;
2580}
2581</style><style>
2582.spacing-track{height:4px}
2583</style><style>
2584.rect-track{height:18px}
2585</style><style>
2586.thread-track{-webkit-box-orient:vertical;display:-webkit-box;position:relative}
2587</style><style>
2588.process-track-header{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;font-size:75%}.process-track-name:before{content:'\25B8';padding:0 5px}.process-track-base.expanded .process-track-name:before{content:'\25BE'}
2589</style><style>
2590.model-track {
2591  -webkit-box-flex: 1;
2592}
2593</style><style>
2594.x-axis-track {
2595  height: 12px;
2596}
2597
2598.x-axis-track.tall-mode {
2599  height: 30px;
2600}
2601</style><dom-module id="tr-ui-timeline-track-view">
2602  <template>
2603    <style>
2604    :host {
2605      -webkit-box-orient: vertical;
2606      display: -webkit-box;
2607      position: relative;
2608    }
2609
2610    :host ::content * {
2611      -webkit-user-select: none;
2612      cursor: default;
2613    }
2614
2615    #drag_box {
2616      background-color: rgba(0, 0, 255, 0.25);
2617      border: 1px solid rgb(0, 0, 96);
2618      font-size: 75%;
2619      position: fixed;
2620    }
2621
2622    #hint_text {
2623      position: absolute;
2624      bottom: 6px;
2625      right: 6px;
2626      font-size: 8pt;
2627    }
2628    </style>
2629    <content></content>
2630
2631    <div id="drag_box"></div>
2632    <div id="hint_text"></div>
2633
2634    <tv-ui-b-hotkey-controller id="hotkey_controller">
2635    </tv-ui-b-hotkey-controller>
2636  </template>
2637</dom-module><dom-module id="tr-ui-find-control">
2638  <template>
2639    <style>
2640      :host {
2641        -webkit-user-select: none;
2642        display: -webkit-flex;
2643        position: relative;
2644      }
2645      input {
2646        -webkit-user-select: auto;
2647        background-color: #f8f8f8;
2648        border: 1px solid rgba(0, 0, 0, 0.5);
2649        box-sizing: border-box;
2650        margin: 0;
2651        padding: 0;
2652        width: 170px;
2653      }
2654      input:focus {
2655        background-color: white;
2656      }
2657      tr-ui-b-toolbar-button {
2658        border-left: none;
2659        margin: 0;
2660      }
2661      #hitCount {
2662        left: 0;
2663        opacity: 0.25;
2664        pointer-events: none;
2665        position: absolute;
2666        text-align: right;
2667        top: 2px;
2668        width: 167px;
2669        z-index: 1;
2670      }
2671      #spinner {
2672        visibility: hidden;
2673        width: 8px;
2674        height: 8px;
2675        left: 154px;
2676        pointer-events: none;
2677        position: absolute;
2678        top: 4px;
2679        z-index: 1;
2680
2681        border: 2px solid transparent;
2682        border-bottom: 2px solid rgba(0, 0, 0, 0.5);
2683        border-right: 2px solid rgba(0, 0, 0, 0.5);
2684        border-radius: 50%;
2685      }
2686      @keyframes spin { 100% { transform: rotate(360deg); } }
2687    </style>
2688
2689    <input id="filter" on-blur="filterBlur" on-focus="filterFocus" on-input="filterTextChanged" on-keydown="filterKeyDown" on-mouseup="filterMouseUp" type="text"/>
2690    <div id="spinner"></div>
2691    <tr-ui-b-toolbar-button on-click="findPrevious">
26922693    </tr-ui-b-toolbar-button>
2694    <tr-ui-b-toolbar-button on-click="findNext">
26952696    </tr-ui-b-toolbar-button>
2697    <div id="hitCount">0 of 0</div>
2698  </template>
2699</dom-module><dom-module id="tr-ui-scripting-control">
2700  <template>
2701    <style>
2702      :host {
2703        flex: 1 1 auto;
2704      }
2705      .root {
2706        font-family: monospace;
2707        cursor: text;
2708
2709        padding: 2px;
2710        margin: 2px;
2711        border: 1px solid rgba(0, 0, 0, 0.5);
2712        background: white;
2713
2714        height: 100px;
2715        overflow-y: auto;
2716
2717        transition-property: opacity, height, padding, margin;
2718        transition-duration: .2s;
2719        transition-timing-function: ease-out;
2720      }
2721      .hidden {
2722        margin-top: 0px;
2723        margin-bottom: 0px;
2724        padding-top: 0px;
2725        padding-bottom: 0px;
2726        height: 0px;
2727        opacity: 0;
2728      }
2729      .focused {
2730        outline: auto 5px -webkit-focus-ring-color;
2731      }
2732      #history {
2733        -webkit-user-select: text;
2734        color: #777;
2735      }
2736      #promptContainer {
2737        display: flex;
2738      }
2739      #promptMark {
2740        width: 1em;
2741        color: #468;
2742      }
2743      #prompt {
2744        flex: 1;
2745        width: 100%;
2746        border: none !important;
2747        background-color: inherit !important;
2748        font: inherit !important;
2749        text-overflow: clip !important;
2750        text-decoration: none !important;
2751      }
2752      #prompt:focus {
2753        outline: none;
2754      }
2755    </style>
2756
2757    <div class="root hidden" id="root" on-focus="onConsoleFocus" tabindex="0">
2758      <div id="history"></div>
2759      <div id="promptContainer">
2760        <span id="promptMark">&gt;</span>
2761        <input id="prompt" on-blur="onConsoleBlur" on-keydown="promptKeyDown" on-keypress="promptKeyPress" type="text"/>
2762       </div>
2763    </div>
2764  </template>
2765</dom-module><dom-module id="tr-ui-side-panel-container">
2766  <template>
2767    <style>
2768    :host {
2769      align-items: stretch;
2770      display: -webkit-flex;
2771      background-color: white;
2772    }
2773
2774    :host([expanded]) > #side_panel_drag_handle,
2775    :host([expanded]) > active-panel-container {
2776      -webkit-flex: 1 1 auto;
2777      border-left: 1px solid black;
2778      display: -webkit-flex;
2779    }
2780
2781    :host(:not([expanded])) > #side_panel_drag_handle,
2782    :host(:not([expanded])) > active-panel-container {
2783      display: none;
2784    }
2785
2786    active-panel-container {
2787      display: flex;
2788    }
2789
2790    tab-strip {
2791      -webkit-flex: 0 0 auto;
2792      -webkit-flex-direction: column;
2793      -webkit-user-select: none;
2794      background-color: rgb(236, 236, 236);
2795      border-left: 1px solid black;
2796      cursor: default;
2797      display: -webkit-flex;
2798      min-width: 18px; /* workaround for flexbox and writing-mode mixing bug */
2799      padding: 10px 0 10px 0;
2800      font-size: 12px;
2801    }
2802
2803    tab-strip > tab-strip-label {
2804      -webkit-writing-mode: vertical-rl;
2805      display: inline;
2806      margin-right: 1px;
2807      min-height: 20px;
2808      padding: 15px 3px 15px 1px;
2809    }
2810
2811    tab-strip >
2812        tab-strip-label:not([enabled]) {
2813      color: rgb(128, 128, 128);
2814    }
2815
2816    tab-strip > tab-strip-label[selected] {
2817      background-color: white;
2818      border: 1px solid rgb(163, 163, 163);
2819      border-left: none;
2820      padding: 14px 2px 14px 1px;
2821    }
2822
2823    #active_panel_container {
2824      overflow: auto;
2825    }
2826    </style>
2827
2828    <tr-ui-b-drag-handle id="side_panel_drag_handle"></tr-ui-b-drag-handle>
2829    <active-panel-container id="active_panel_container">
2830    </active-panel-container>
2831    <tab-strip id="tab_strip"></tab-strip>
2832  </template>
2833</dom-module><dom-module id="tr-ui-timeline-view-help-overlay">
2834  <template>
2835    <style>
2836    :host {
2837      -webkit-flex: 1 1 auto;
2838      -webkit-flex-direction: row;
2839      display: -webkit-flex;
2840      width: 700px;
2841    }
2842    .column {
2843      width: 50%;
2844    }
2845    h2 {
2846      font-size: 1.2em;
2847      margin: 0;
2848      margin-top: 5px;
2849      text-align: center;
2850    }
2851    h3 {
2852      margin: 0;
2853      margin-left: 126px;
2854      margin-top: 10px;
2855    }
2856    .pair {
2857      -webkit-flex: 1 1 auto;
2858      -webkit-flex-direction: row;
2859      display: -webkit-flex;
2860    }
2861    .command {
2862      font-family: monospace;
2863      margin-right: 5px;
2864      text-align: right;
2865      width: 150px;
2866    }
2867    .action {
2868      font-size: 0.9em;
2869      text-align: left;
2870      width: 200px;
2871    }
2872    tr-ui-b-mouse-mode-icon {
2873      border: 1px solid #888;
2874      border-radius: 3px;
2875      box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
2876      display: inline-block;
2877      margin-right: 1px;
2878      position: relative;
2879      top: 4px;
2880    }
2881    .mouse-mode-icon.pan-mode {
2882      background-position: -1px -11px;
2883    }
2884    .mouse-mode-icon.select-mode {
2885      background-position: -1px -41px;
2886    }
2887    .mouse-mode-icon.zoom-mode {
2888      background-position: -1px -71px;
2889    }
2890    .mouse-mode-icon.timing-mode {
2891      background-position: -1px -101px;
2892    }
2893    </style>
2894    <div class="column left">
2895      <h2>Navigation</h2>
2896      <div class="pair">
2897        <div class="command">w/s</div>
2898        <div class="action">Zoom in/out (+shift: faster)</div>
2899      </div>
2900
2901      <div class="pair">
2902        <div class="command">a/d</div>
2903        <div class="action">Pan left/right (+shift: faster)</div>
2904      </div>
2905
2906      <div class="pair">
2907        <div class="command">→/shift-TAB</div>
2908        <div class="action">Select previous event</div>
2909      </div>
2910
2911      <div class="pair">
2912        <div class="command">←/TAB</div>
2913        <div class="action">Select next event</div>
2914      </div>
2915
2916      <h2>Mouse Controls</h2>
2917      <div class="pair">
2918        <div class="command">click</div>
2919        <div class="action">Select event</div>
2920      </div>
2921      <div class="pair">
2922        <div class="command">alt-mousewheel</div>
2923        <div class="action">Zoom in/out</div>
2924      </div>
2925
2926      <h3>
2927        <tr-ui-b-mouse-mode-icon mode-name="SELECTION"></tr-ui-b-mouse-mode-icon>
2928        Select mode
2929      </h3>
2930      <div class="pair">
2931        <div class="command">drag</div>
2932        <div class="action">Box select</div>
2933      </div>
2934
2935      <div class="pair">
2936        <div class="command"><span class="mod"></span>-click/drag</div>
2937        <div class="action">Add events to the current selection</div>
2938      </div>
2939
2940      <div class="pair">
2941        <div class="command">double click</div>
2942        <div class="action">Select all events with same title</div>
2943      </div>
2944
2945      <h3>
2946        <tr-ui-b-mouse-mode-icon mode-name="PANSCAN"></tr-ui-b-mouse-mode-icon>
2947        Pan mode
2948      </h3>
2949      <div class="pair">
2950        <div class="command">drag</div>
2951        <div class="action">Pan the view</div>
2952      </div>
2953
2954      <h3>
2955        <tr-ui-b-mouse-mode-icon mode-name="ZOOM"></tr-ui-b-mouse-mode-icon>
2956        Zoom mode
2957      </h3>
2958      <div class="pair">
2959        <div class="command">drag</div>
2960        <div class="action">Zoom in/out by dragging up/down</div>
2961      </div>
2962
2963      <h3>
2964        <tr-ui-b-mouse-mode-icon mode-name="TIMING"></tr-ui-b-mouse-mode-icon>
2965        Timing mode
2966      </h3>
2967      <div class="pair">
2968        <div class="command">drag</div>
2969        <div class="action">Create or move markers</div>
2970      </div>
2971
2972      <div class="pair">
2973        <div class="command">double click</div>
2974        <div class="action">Set marker range to slice</div>
2975      </div>
2976    </div>
2977
2978    <div class="column right">
2979      <h2>General</h2>
2980      <div class="pair">
2981        <div class="command">1-4</div>
2982        <div class="action">Switch mouse mode</div>
2983      </div>
2984
2985      <div class="pair">
2986        <div class="command">shift</div>
2987        <div class="action">Hold for temporary select</div>
2988      </div>
2989
2990      <div class="pair">
2991        <div class="command">space</div>
2992        <div class="action">Hold for temporary pan</div>
2993      </div>
2994
2995      <div class="pair">
2996        <div class="command">/</div>
2997        <div class="action">Search</div>
2998      </div>
2999
3000      <div class="pair">
3001        <div class="command">enter</div>
3002        <div class="action">Step through search results</div>
3003      </div>
3004
3005      <div class="pair">
3006        <div class="command">f</div>
3007        <div class="action">Zoom into selection</div>
3008      </div>
3009
3010      <div class="pair">
3011        <div class="command">z/0</div>
3012        <div class="action">Reset zoom and pan</div>
3013      </div>
3014
3015      <div class="pair">
3016        <div class="command">g/G</div>
3017        <div class="action">Toggle 60hz grid</div>
3018      </div>
3019
3020      <div class="pair">
3021        <div class="command">v</div>
3022        <div class="action">Highlight VSync</div>
3023      </div>
3024
3025      <div class="pair">
3026        <div class="command">h</div>
3027        <div class="action">Toggle low/high details</div>
3028      </div>
3029
3030      <div class="pair">
3031        <div class="command">m</div>
3032        <div class="action">Mark current selection</div>
3033      </div>
3034
3035      <div class="pair">
3036        <div class="command">p</div>
3037        <div class="action">Select power samples over current selection interval</div>
3038      </div>
3039
3040      <div class="pair">
3041        <div class="command">`</div>
3042        <div class="action">Show or hide the scripting console</div>
3043      </div>
3044
3045      <div class="pair">
3046        <div class="command">?</div>
3047        <div class="action">Show help</div>
3048      </div>
3049    </div>
3050  </template>
3051</dom-module><dom-module id="tr-ui-timeline-view-metadata-overlay">
3052  <template>
3053    <style>
3054    :host {
3055      width: 700px;
3056
3057      overflow: auto;
3058    }
3059    </style>
3060    <tr-ui-b-table id="table"></tr-ui-b-table>
3061  </template>
3062</dom-module><dom-module id="tr-ui-timeline-view">
3063  <template>
3064    <style>
3065    :host {
3066      flex-direction: column;
3067      cursor: default;
3068      display: flex;
3069      font-family: sans-serif;
3070      padding: 0;
3071    }
3072
3073    #control {
3074      background-color: #e6e6e6;
3075      background-image: -webkit-gradient(linear, 0 0, 0 100%,
3076          from(#E5E5E5), to(#D1D1D1));
3077      flex: 0 0 auto;
3078      overflow-x: auto;
3079    }
3080
3081    #control::-webkit-scrollbar { height: 0px; }
3082
3083    #control > #bar {
3084      font-size: 12px;
3085      display: flex;
3086      flex-direction: row;
3087      margin: 1px;
3088    }
3089
3090    #control > #bar > #title {
3091      display: flex;
3092      align-items: center;
3093      padding-left: 8px;
3094      padding-right: 8px;
3095      flex: 1 1 auto;
3096    }
3097
3098    #control > #bar > #left_controls,
3099    #control > #bar > #right_controls {
3100      display: flex;
3101      flex-direction: row;
3102      align-items: stretch;
3103    }
3104
3105    #control > #bar > #left_controls > * { margin-right: 2px; }
3106    #control > #bar > #right_controls > * { margin-left: 2px; }
3107    #control > #collapsing_controls { display: flex; }
3108
3109    middle-container {
3110      flex: 1 1 auto;
3111      flex-direction: row;
3112      border-bottom: 1px solid #8e8e8e;
3113      display: flex;
3114      min-height: 0;
3115    }
3116
3117    middle-container ::content track-view-container {
3118      flex: 1 1 auto;
3119      display: flex;
3120      min-height: 0;
3121      min-width: 0;
3122      overflow-x: hidden;
3123    }
3124
3125    middle-container ::content track-view-container > * { flex: 1 1 auto; }
3126    middle-container > x-timeline-view-side-panel-container { flex: 0 0 auto; }
3127    tr-ui-b-drag-handle { flex: 0 0 auto; }
3128    tr-ui-a-analysis-view { flex: 0 0 auto; }
3129    </style>
3130
3131    <tv-ui-b-hotkey-controller id="hkc"></tv-ui-b-hotkey-controller>
3132    <div id="control">
3133      <div id="bar">
3134        <div id="left_controls"></div>
3135        <div id="title">^_^</div>
3136        <div id="right_controls">
3137          <tr-ui-b-toolbar-button id="view_metadata_button">
3138            M
3139          </tr-ui-b-toolbar-button>
3140          <tr-ui-b-dropdown id="view_options_dropdown"></tr-ui-b-dropdown>
3141          <tr-ui-find-control id="view_find_control"></tr-ui-find-control>
3142          <tr-ui-b-toolbar-button id="view_console_button">
3143            »
3144          </tr-ui-b-toolbar-button>
3145          <tr-ui-b-toolbar-button id="view_help_button">
3146            ?
3147          </tr-ui-b-toolbar-button>
3148        </div>
3149      </div>
3150      <div id="collapsing_controls"></div>
3151      <tr-ui-b-info-bar-group id="import-warnings">
3152      </tr-ui-b-info-bar-group>
3153    </div>
3154    <middle-container>
3155      <content></content>
3156
3157      <tr-ui-side-panel-container id="side_panel_container">
3158      </tr-ui-side-panel-container>
3159    </middle-container>
3160    <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
3161    <tr-ui-a-analysis-view id="analysis"></tr-ui-a-analysis-view>
3162
3163    <tr-v-ui-preferred-display-unit id="display_unit">
3164    </tr-v-ui-preferred-display-unit>
3165  </template>
3166</dom-module><dom-module id="tr-ui-b-grouping-table">
3167  <template>
3168    <style>
3169    :host {
3170      display: flex;
3171    }
3172    #table {
3173      flex: 1 1 auto;
3174      font-size: 12px;
3175    }
3176    </style>
3177    <tr-ui-b-table id="table"></tr-ui-b-table>
3178  </template>
3179</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker">
3180  <template>
3181    <style>
3182    #container {
3183      display: flex;
3184    }
3185    #container *:not(:first-child) {
3186      padding-left: 3px;
3187      border-left: 1px solid black;
3188      margin-left: 3px;
3189    }
3190    </style>
3191
3192    <div id="container"></div>
3193  </template>
3194</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker-group">
3195  <template>
3196    <style>
3197    :host {
3198      white-space: nowrap;
3199    }
3200    #left, #right {
3201      user-select: none;
3202      cursor: pointer;
3203    }
3204    </style>
3205
3206    <span id="left" on-click="moveLeft_">◀</span>
3207    <input id="enabled" on-change="onEnableChanged_" type="checkbox"/>
3208    <label for="enabled" id="label"></label>
3209    <span id="right" on-click="moveRight_">▶</span>
3210  </template>
3211</dom-module><dom-module id="tr-ui-sp-file-size-stats-side-panel">
3212  <template>
3213    <style>
3214    :host {
3215      display: flex;
3216      flex-direction: column;
3217    }
3218    toolbar {
3219      align-items: center;
3220      background-color: rgb(236, 236, 236);
3221      border-bottom: 1px solid #8e8e8e;
3222      display: flex;
3223      flex-direction: row;
3224      flex-direction: row;
3225      flex: 0 0 auto;
3226      font-size: 12px;
3227      padding: 0 10px 0 10px;
3228    }
3229    table-container {
3230      display: flex;
3231      min-height: 0px;
3232      overflow-y: auto;
3233    }
3234    </style>
3235
3236    <toolbar>
3237      <span><b>Group by:</b></span>
3238      <tr-ui-b-grouping-table-groupby-picker id="picker">
3239      </tr-ui-b-grouping-table-groupby-picker>
3240    </toolbar>
3241    <table-container>
3242      <tr-ui-b-grouping-table id="table"></tr-ui-b-grouping-table>
3243    </table-container>
3244  </template>
3245</dom-module><dom-module id="tr-v-ui-histogram-set-controls">
3246  <template>
3247    <style>
3248    :host {
3249      display: block;
3250    }
3251
3252    #help, #feedback {
3253      display: none;
3254      margin-left: 20px;
3255    }
3256
3257    #search {
3258      max-width: 20em;
3259      margin-right: 20px;
3260    }
3261
3262    #controls {
3263      white-space: nowrap;
3264    }
3265
3266    #show_overview, #hide_overview {
3267      height: 1em;
3268      margin-right: 20px;
3269    }
3270
3271    #show_overview {
3272      stroke: blue;
3273      stroke-width: 16;
3274    }
3275
3276    #show_overview:hover {
3277      background: blue;
3278      stroke: white;
3279    }
3280
3281    #hide_overview {
3282      display: none;
3283      stroke-width: 18;
3284      stroke: black;
3285    }
3286
3287    #hide_overview:hover {
3288      background: black;
3289      stroke: white;
3290    }
3291
3292    #reference_display_label {
3293      display: none;
3294      margin-right: 20px;
3295    }
3296
3297    #statistic {
3298      display: none;
3299      margin-right: 20px;
3300    }
3301
3302    #download_csv {
3303      margin-right: 20px;
3304    }
3305    </style>
3306
3307    <div id="controls">
3308      <input id="search" placeholder="Find Histogram name" value="{{searchQuery::keyup}}"/>
3309
3310      <svg id="show_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128">
3311        <line x1="19" x2="49" y1="109" y2="49"></line>
3312        <line x1="49" x2="79" y1="49" y2="79"></line>
3313        <line x1="79" x2="109" y1="79" y2="19"></line>
3314      </svg>
3315      <svg id="hide_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128">
3316        <line x1="28" x2="100" y1="28" y2="100"></line>
3317        <line x1="28" x2="100" y1="100" y2="28"></line>
3318      </svg>
3319
3320      <select id="reference_display_label" value="{{referenceDisplayLabel::change}}">
3321        <option value="">Select a reference column</option>
3322      </select>
3323
3324      <select id="statistic" value="{{displayStatisticName::change}}">
3325      </select>
3326
3327      <button id="download_csv" on-click="downloadCSV_">⬇ CSV</button>
3328
3329      <input checked="{{showAll::change}}" id="show_all" title="When unchecked, less important histograms are hidden." type="checkbox"/>
3330      <label for="show_all" title="When unchecked, less important histograms are hidden.">Show all</label>
3331
3332      <a id="help">Help</a>
3333      <a id="feedback">Feedback</a>
3334    </div>
3335
3336    <tr-ui-b-grouping-table-groupby-picker id="picker">
3337    </tr-ui-b-grouping-table-groupby-picker>
3338  </template>
3339</dom-module><dom-module id="tr-v-ui-histogram-set-table-cell">
3340  <template>
3341    <style>
3342    #histogram_container {
3343      display: flex;
3344      flex-direction: row;
3345    }
3346
3347    #missing, #empty, #unmergeable, #scalar {
3348      flex-grow: 1;
3349    }
3350
3351    #open_histogram, #close_histogram, #open_histogram svg, #close_histogram svg {
3352      height: 1em;
3353    }
3354
3355    #open_histogram svg {
3356      margin-left: 4px;
3357      stroke-width: 0;
3358      stroke: blue;
3359      fill: blue;
3360    }
3361    :host(:hover) #open_histogram svg {
3362      background: blue;
3363      stroke: white;
3364      fill: white;
3365    }
3366
3367    #scalar {
3368      flex-grow: 1;
3369      white-space: nowrap;
3370    }
3371
3372    #histogram {
3373      flex-grow: 1;
3374    }
3375
3376    #close_histogram svg line {
3377      stroke-width: 18;
3378      stroke: black;
3379    }
3380    #close_histogram:hover svg {
3381      background: black;
3382    }
3383    #close_histogram:hover svg line {
3384      stroke: white;
3385    }
3386
3387    #overview_container {
3388      display: none;
3389    }
3390    </style>
3391
3392    <div id="histogram_container">
3393      <span id="missing">(missing)</span>
3394      <span id="empty">(empty)</span>
3395      <span id="unmergeable">(unmergeable)</span>
3396
3397      <tr-v-ui-scalar-span id="scalar" on-click="openHistogram_"></tr-v-ui-scalar-span>
3398
3399      <span id="open_histogram" on-click="openHistogram_">
3400        <svg viewBox="0 0 128 128">
3401          <rect height="16" width="32" x="16" y="24"></rect>
3402          <rect height="16" width="96" x="16" y="56"></rect>
3403          <rect height="16" width="64" x="16" y="88"></rect>
3404        </svg>
3405      </span>
3406
3407      <span id="histogram"></span>
3408
3409      <span id="close_histogram" on-click="closeHistogram_">
3410        <svg viewBox="0 0 128 128">
3411          <line x1="28" x2="100" y1="28" y2="100"></line>
3412          <line x1="28" x2="100" y1="100" y2="28"></line>
3413        </svg>
3414      </span>
3415    </div>
3416
3417    <div id="overview_container">
3418    </div>
3419  </template>
3420</dom-module><dom-module id="tr-v-ui-histogram-set-table-name-cell">
3421  <template>
3422    <style>
3423    #name_container {
3424      display: flex;
3425    }
3426
3427    #name {
3428      overflow: hidden;
3429      white-space: nowrap;
3430      text-overflow: ellipsis;
3431    }
3432
3433    #show_overview, #hide_overview, #show_overview svg, #hide_overview svg {
3434      height: 1em;
3435      margin-left: 5px;
3436    }
3437
3438    #show_overview svg {
3439      stroke: blue;
3440      stroke-width: 16;
3441    }
3442
3443    #show_overview:hover svg {
3444      background: blue;
3445      stroke: white;
3446    }
3447
3448    #hide_overview {
3449      display: none;
3450    }
3451
3452    #hide_overview svg {
3453      stroke-width: 18;
3454      stroke: black;
3455    }
3456
3457    #hide_overview:hover svg {
3458      background: black;
3459      stroke: white;
3460    }
3461
3462    #open_histograms, #close_histograms, #open_histograms svg, #close_histograms svg {
3463      height: 1em;
3464    }
3465
3466    #close_histograms {
3467      display: none;
3468    }
3469
3470    #open_histograms svg {
3471      margin-left: 4px;
3472      stroke-width: 0;
3473      stroke: blue;
3474      fill: blue;
3475    }
3476    #open_histograms:hover svg {
3477      background: blue;
3478      stroke: white;
3479      fill: white;
3480    }
3481
3482    #close_histograms line {
3483      stroke-width: 18;
3484      stroke: black;
3485    }
3486    #close_histograms:hover {
3487      background: black;
3488    }
3489    #close_histograms:hover line {
3490      stroke: white;
3491    }
3492
3493    #overview_container {
3494      display: none;
3495    }
3496    </style>
3497
3498    <div id="name_container">
3499      <span id="name"></span>
3500
3501      <span id="show_overview" on-click="showOverview_">
3502        <svg viewBox="0 0 128 128">
3503          <line x1="19" x2="49" y1="109" y2="49"></line>
3504          <line x1="49" x2="79" y1="49" y2="79"></line>
3505          <line x1="79" x2="109" y1="79" y2="19"></line>
3506        </svg>
3507      </span>
3508
3509      <span id="hide_overview" on-click="hideOverview_">
3510        <svg viewBox="0 0 128 128">
3511          <line x1="28" x2="100" y1="28" y2="100"></line>
3512          <line x1="28" x2="100" y1="100" y2="28"></line>
3513        </svg>
3514      </span>
3515
3516      <span id="open_histograms" on-click="openHistograms_">
3517        <svg viewBox="0 0 128 128">
3518          <rect height="16" width="32" x="16" y="24"></rect>
3519          <rect height="16" width="96" x="16" y="56"></rect>
3520          <rect height="16" width="64" x="16" y="88"></rect>
3521        </svg>
3522      </span>
3523
3524      <span id="close_histograms" on-click="closeHistograms_">
3525        <svg viewBox="0 0 128 128">
3526          <line x1="28" x2="100" y1="28" y2="100"></line>
3527          <line x1="28" x2="100" y1="100" y2="28"></line>
3528        </svg>
3529      </span>
3530    </div>
3531
3532    <div id="overview_container">
3533    </div>
3534  </template>
3535</dom-module><dom-module id="tr-v-ui-histogram-set-table">
3536  <template>
3537    <style>
3538    :host {
3539      min-height: 0px;
3540      overflow: auto;
3541    }
3542    #table {
3543      margin-top: 5px;
3544    }
3545    </style>
3546
3547    <tr-ui-b-table id="table">
3548  </tr-ui-b-table></template>
3549</dom-module><dom-module id="tr-v-ui-histogram-set-view">
3550  <template>
3551    <style>
3552    :host {
3553      font-family: sans-serif;
3554    }
3555
3556    #zero {
3557      color: red;
3558      /* histogram-set-table is used by both metrics-side-panel and results2.html.
3559       * This font-size rule has no effect in results2.html, but improves
3560       * legibility in the metrics-side-panel, which sets font-size in order to
3561       * make this table denser.
3562       */
3563      font-size: initial;
3564    }
3565
3566    #container {
3567      display: none;
3568    }
3569    </style>
3570
3571    <div id="zero">zero Histograms</div>
3572
3573    <div id="container">
3574      <tr-v-ui-histogram-set-controls id="controls">
3575      </tr-v-ui-histogram-set-controls>
3576
3577      <tr-v-ui-histogram-set-table id="table"></tr-v-ui-histogram-set-table>
3578    </div>
3579  </template>
3580</dom-module><dom-module id="tr-ui-sp-metrics-side-panel">
3581  <template>
3582    <style>
3583    :host {
3584      display: flex;
3585      flex-direction: column;
3586    }
3587    div#error {
3588      color: red;
3589    }
3590    #results {
3591      font-size: 12px;
3592    }
3593    </style>
3594
3595    <top-left-controls id="top_left_controls"></top-left-controls>
3596
3597    <tr-v-ui-histogram-set-view id="results"></tr-v-ui-histogram-set-view>
3598
3599    <div id="error"></div>
3600  </template>
3601</dom-module><dom-module id="tr-ui-e-s-alerts-side-panel">
3602  <template>
3603    <style>
3604    :host {
3605      display: block;
3606      width: 250px;
3607    }
3608    #content {
3609      flex-direction: column;
3610      display: flex;
3611    }
3612    tr-ui-b-table {
3613      font-size: 12px;
3614    }
3615    </style>
3616
3617    <div id="content">
3618      <toolbar id="toolbar"></toolbar>
3619      <result-area id="result_area"></result-area>
3620    </div>
3621  </template>
3622</dom-module><script>
3623
3624// Copyright 2015 The Chromium Authors. All rights reserved.
3625// Use of this source code is governed by a BSD-style license that can be
3626// found in the LICENSE file.
3627
3628/* WARNING: This file is auto generated.
3629 *
3630 * Do not edit directly.
3631 */
3632
3633'use strict';if(window.Polymer){throw new Error('Cannot proceed. Polymer already present.');}
3634window.Polymer={};window.Polymer.dom='shadow';(function(){function resolve(){document.body.removeAttribute('unresolved');}
3635if(window.WebComponents){addEventListener('WebComponentsReady',resolve);}else{if(document.readyState==='interactive'||document.readyState==='complete'){resolve();}else{addEventListener('DOMContentLoaded',resolve);}}}());window.Polymer={Settings:function(){var settings=window.Polymer||{};if(!settings.noUrlSettings){var parts=location.search.slice(1).split('&');for(var i=0,o;i<parts.length&&(o=parts[i]);i++){o=o.split('=');o[0]&&(settings[o[0]]=o[1]||true);}}
3636settings.wantShadow=settings.dom==='shadow';settings.hasShadow=Boolean(Element.prototype.createShadowRoot);settings.nativeShadow=settings.hasShadow&&!window.ShadowDOMPolyfill;settings.useShadow=settings.wantShadow&&settings.hasShadow;settings.hasNativeImports=Boolean('import'in document.createElement('link'));settings.useNativeImports=settings.hasNativeImports;settings.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative;settings.useNativeShadow=settings.useShadow&&settings.nativeShadow;settings.usePolyfillProto=!settings.useNativeCustomElements&&!Object.__proto__;settings.hasNativeCSSProperties=!navigator.userAgent.match('AppleWebKit/601')&&window.CSS&&CSS.supports&&CSS.supports('box-shadow','0 0 0 var(--foo)');settings.useNativeCSSProperties=settings.hasNativeCSSProperties&&settings.lazyRegister&&settings.useNativeCSSProperties;settings.isIE=navigator.userAgent.match('Trident');return settings;}()};(function(){var userPolymer=window.Polymer;window.Polymer=function(prototype){if(typeof prototype==='function'){prototype=prototype.prototype;}
3637if(!prototype){prototype={};}
3638prototype=desugar(prototype);var customCtor=prototype===prototype.constructor.prototype?prototype.constructor:null;var options={prototype:prototype};if(prototype.extends){options.extends=prototype.extends;}
3639Polymer.telemetry._registrate(prototype);var ctor=document.registerElement(prototype.is,options);return customCtor||ctor;};var desugar=function(prototype){var base=Polymer.Base;if(prototype.extends){base=Polymer.Base._getExtendedPrototype(prototype.extends);}
3640prototype=Polymer.Base.chainObject(prototype,base);prototype.registerCallback();return prototype;};if(userPolymer){for(var i in userPolymer){Polymer[i]=userPolymer[i];}}
3641Polymer.Class=function(prototype){if(!prototype.factoryImpl){prototype.factoryImpl=function(){};}
3642return desugar(prototype).constructor;};}());Polymer.telemetry={registrations:[],_regLog:function(prototype){console.log('['+prototype.is+']: registered');},_registrate:function(prototype){this.registrations.push(prototype);Polymer.log&&this._regLog(prototype);},dumpRegistrations:function(){this.registrations.forEach(this._regLog);}};Object.defineProperty(window,'currentImport',{enumerable:true,configurable:true,get:function(){return(document._currentScript||document.currentScript||{}).ownerDocument;}});Polymer.RenderStatus={_ready:false,_callbacks:[],whenReady:function(cb){if(this._ready){cb();}else{this._callbacks.push(cb);}},_makeReady:function(){this._ready=true;for(var i=0;i<this._callbacks.length;i++){this._callbacks[i]();}
3643this._callbacks=[];},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.RenderStatus._makeReady();});},_afterNextRenderQueue:[],_waitingNextRender:false,afterNextRender:function(element,fn,args){this._watchNextRender();this._afterNextRenderQueue.push([element,fn,args]);},hasRendered:function(){return this._ready;},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=true;var fn=function(){Polymer.RenderStatus._flushNextRender();};if(!this._ready){this.whenReady(fn);}else{requestAnimationFrame(fn);}}},_flushNextRender:function(){var self=this;setTimeout(function(){self._flushRenderCallbacks(self._afterNextRenderQueue);self._afterNextRenderQueue=[];self._waitingNextRender=false;});},_flushRenderCallbacks:function(callbacks){for(var i=0,h;i<callbacks.length;i++){h=callbacks[i];h[1].apply(h[0],h[2]||Polymer.nar);}}};if(window.HTMLImports){HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender();});}else{Polymer.RenderStatus._catchFirstRender();}
3644Polymer.ImportStatus=Polymer.RenderStatus;Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady;(function(){'use strict';var settings=Polymer.Settings;Polymer.Base={__isPolymerInstance__:true,_addFeature:function(feature){this.mixin(this,feature);},registerCallback:function(){if(settings.lazyRegister==='max'){if(this.beforeRegister){this.beforeRegister();}}else{this._desugarBehaviors();for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(this);}}
3645if(this.beforeRegister){this.beforeRegister();}}
3646this._registerFeatures();if(!settings.lazyRegister){this.ensureRegisterFinished();}},createdCallback:function(){if(settings.disableUpgradeEnabled){if(this.hasAttribute('disable-upgrade')){this._propertySetter=disableUpgradePropertySetter;this._configValue=null;this.__data__={};return;}else{this.__hasInitialized=true;}}
3647this.__initialize();},__initialize:function(){if(!this.__hasRegisterFinished){this._ensureRegisterFinished(this.__proto__);}
3648Polymer.telemetry.instanceCount++;this.root=this;for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.created){b.created.call(this);}}
3649if(this.created){this.created();}
3650this._initFeatures();},ensureRegisterFinished:function(){this._ensureRegisterFinished(this);},_ensureRegisterFinished:function(proto){if(proto.__hasRegisterFinished!==proto.is||!proto.is){if(settings.lazyRegister==='max'){proto._desugarBehaviors();for(var i=0,b;i<proto.behaviors.length;i++){b=proto.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(proto);}}}
3651proto.__hasRegisterFinished=proto.is;if(proto._finishRegisterFeatures){proto._finishRegisterFeatures();}
3652for(var j=0,pb;j<proto.behaviors.length;j++){pb=proto.behaviors[j];if(pb.registered){pb.registered.call(proto);}}
3653if(proto.registered){proto.registered();}
3654if(settings.usePolyfillProto&&proto!==this){proto.extend(this,proto);}}},attachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=true;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.attached){b.attached.call(self);}}
3655if(self.attached){self.attached();}});},detachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=false;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.detached){b.detached.call(self);}}
3656if(self.detached){self.detached();}});},attributeChangedCallback:function(name,oldValue,newValue){this._attributeChangedImpl(name);for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.attributeChanged){b.attributeChanged.call(this,name,oldValue,newValue);}}
3657if(this.attributeChanged){this.attributeChanged(name,oldValue,newValue);}},_attributeChangedImpl:function(name){this._setAttributeToProperty(this,name);},extend:function(target,source){if(target&&source){var n$=Object.getOwnPropertyNames(source);for(var i=0,n;i<n$.length&&(n=n$[i]);i++){this.copyOwnProperty(n,source,target);}}
3658return target||source;},mixin:function(target,source){for(var i in source){target[i]=source[i];}
3659return target;},copyOwnProperty:function(name,source,target){var pd=Object.getOwnPropertyDescriptor(source,name);if(pd){Object.defineProperty(target,name,pd);}},_logger:function(level,args){if(args.length===1&&Array.isArray(args[0])){args=args[0];}
3660switch(level){case'log':case'warn':case'error':console[level].apply(console,args);break;}},_log:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('log',args);},_warn:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('warn',args);},_error:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('error',args);},_logf:function(){return this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0));}};Polymer.Base._logPrefix=function(){var color=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent);return color?['%c[%s::%s]:','font-weight: bold; background-color:#EEEE00;']:['[%s::%s]:'];}();Polymer.Base.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){if(!Object.__proto__){object=Polymer.Base.extend(Object.create(inherited),object);}
3661object.__proto__=inherited;}
3662return object;};Polymer.Base=Polymer.Base.chainObject(Polymer.Base,HTMLElement.prototype);Polymer.BaseDescriptors={};var disableUpgradePropertySetter;if(settings.disableUpgradeEnabled){disableUpgradePropertySetter=function(property,value){this.__data__[property]=value;};var origAttributeChangedCallback=Polymer.Base.attributeChangedCallback;Polymer.Base.attributeChangedCallback=function(name,oldValue,newValue){if(!this.__hasInitialized&&name==='disable-upgrade'){this.__hasInitialized=true;this._propertySetter=Polymer.Bind._modelApi._propertySetter;this._configValue=Polymer.Base._configValue;this.__initialize();}
3663origAttributeChangedCallback.call(this,name,oldValue,newValue);};}
3664if(window.CustomElements){Polymer.instanceof=CustomElements.instanceof;}else{Polymer.instanceof=function(obj,ctor){return obj instanceof ctor;};}
3665Polymer.isInstance=function(obj){return Boolean(obj&&obj.__isPolymerInstance__);};Polymer.telemetry.instanceCount=0;}());(function(){var modules={};var lcModules={};var findModule=function(id){return modules[id]||lcModules[id.toLowerCase()];};var DomModule=function(){return document.createElement('dom-module');};DomModule.prototype=Object.create(HTMLElement.prototype);Polymer.Base.mixin(DomModule.prototype,{createdCallback:function(){this.register();},register:function(id){id=id||this.id||this.getAttribute('name')||this.getAttribute('is');if(id){this.id=id;modules[id]=this;lcModules[id.toLowerCase()]=this;}},import:function(id,selector){if(id){var m=findModule(id);if(!m){forceDomModulesUpgrade();m=findModule(id);}
3666if(m&&selector){m=m.querySelector(selector);}
3667return m;}}});Object.defineProperty(DomModule.prototype,'constructor',{value:DomModule,configurable:true,writable:true});var cePolyfill=window.CustomElements&&!CustomElements.useNative;document.registerElement('dom-module',DomModule);function forceDomModulesUpgrade(){if(cePolyfill){var script=document._currentScript||document.currentScript;var doc=script&&script.ownerDocument||document;var modules=doc.querySelectorAll('dom-module');for(var i=modules.length-1,m;i>=0&&(m=modules[i]);i--){if(m.__upgraded__){return;}else{CustomElements.upgrade(m);}}}}}());Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var module=(document._currentScript||document.currentScript).parentNode;if(module.localName==='dom-module'){var id=module.id||module.getAttribute('name')||module.getAttribute('is');this.is=id;}}
3668if(this.is){this.is=this.is.toLowerCase();}}});Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){if(this.behaviors.length){this.behaviors=this._desugarSomeBehaviors(this.behaviors);}},_desugarSomeBehaviors:function(behaviors){var behaviorSet=[];behaviors=this._flattenBehaviorsList(behaviors);for(var i=behaviors.length-1;i>=0;i--){var b=behaviors[i];if(behaviorSet.indexOf(b)===-1){this._mixinBehavior(b);behaviorSet.unshift(b);}}
3669return behaviorSet;},_flattenBehaviorsList:function(behaviors){var flat=[];for(var i=0;i<behaviors.length;i++){var b=behaviors[i];if(b instanceof Array){flat=flat.concat(this._flattenBehaviorsList(b));}else if(b){flat.push(b);}else{this._warn(this._logf('_flattenBehaviorsList','behavior is null, check for missing or 404 import'));}}
3670return flat;},_mixinBehavior:function(b){var n$=Object.getOwnPropertyNames(b);var useAssignment=b._noAccessors;for(var i=0,n;i<n$.length&&(n=n$[i]);i++){if(!Polymer.Base._behaviorProperties[n]&&!this.hasOwnProperty(n)){if(useAssignment){this[n]=b[n];}else{this.copyOwnProperty(n,b,this);}}}},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors);},_prepFlattenedBehaviors:function(behaviors){for(var i=0,l=behaviors.length;i<l;i++){this._prepBehavior(behaviors[i]);}
3671this._prepBehavior(this);},_marshalBehaviors:function(){for(var i=0;i<this.behaviors.length;i++){this._marshalBehavior(this.behaviors[i]);}
3672this._marshalBehavior(this);}});Polymer.Base._behaviorProperties={hostAttributes:true,beforeRegister:true,registered:true,properties:true,observers:true,listeners:true,created:true,attached:true,detached:true,attributeChanged:true,ready:true,_noAccessors:true};Polymer.Base._addFeature({_getExtendedPrototype:function(tag){return this._getExtendedNativePrototype(tag);},_nativePrototypes:{},_getExtendedNativePrototype:function(tag){var p=this._nativePrototypes[tag];if(!p){p=Object.create(this.getNativePrototype(tag));var p$=Object.getOwnPropertyNames(Polymer.Base);for(var i=0,n;i<p$.length&&(n=p$[i]);i++){if(!Polymer.BaseDescriptors[n]){p[n]=Polymer.Base[n];}}
3673Object.defineProperties(p,Polymer.BaseDescriptors);this._nativePrototypes[tag]=p;}
3674return p;},getNativePrototype:function(tag){return Object.getPrototypeOf(document.createElement(tag));}});Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var ctor=function(){return this._factory(arguments);};if(this.hasOwnProperty('extends')){ctor.extends=this.extends;}
3675Object.defineProperty(this,'constructor',{value:ctor,writable:true,configurable:true});ctor.prototype=this;},_factory:function(args){var elt=document.createElement.apply(document,this._factoryArgs);if(this.factoryImpl){this.factoryImpl.apply(elt,args);}
3676return elt;}});Polymer.nob=Object.create(null);Polymer.Base._addFeature({getPropertyInfo:function(property){var info=this._getPropertyInfo(property,this.properties);if(!info){for(var i=0;i<this.behaviors.length;i++){info=this._getPropertyInfo(property,this.behaviors[i].properties);if(info){return info;}}}
3677return info||Polymer.nob;},_getPropertyInfo:function(property,properties){var p=properties&&properties[property];if(typeof p==='function'){p=properties[property]={type:p};}
3678if(p){p.defined=true;}
3679return p;},_prepPropertyInfo:function(){this._propertyInfo={};for(var i=0;i<this.behaviors.length;i++){this._addPropertyInfo(this._propertyInfo,this.behaviors[i].properties);}
3680this._addPropertyInfo(this._propertyInfo,this.properties);this._addPropertyInfo(this._propertyInfo,this._propertyEffects);},_addPropertyInfo:function(target,source){if(source){var t,s;for(var i in source){t=target[i];s=source[i];if(i[0]==='_'&&!s.readOnly){continue;}
3681if(!target[i]){target[i]={type:typeof s==='function'?s:s.type,readOnly:s.readOnly,attribute:Polymer.CaseMap.camelToDashCase(i)};}else{if(!t.type){t.type=s.type;}
3682if(!t.readOnly){t.readOnly=s.readOnly;}}}}}});(function(){var propertiesDesc={configurable:true,writable:true,enumerable:true,value:{}};Polymer.BaseDescriptors.properties=propertiesDesc;Object.defineProperty(Polymer.Base,'properties',propertiesDesc);}());Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(dash){return this._caseMap[dash]||(this._caseMap[dash]=dash.indexOf('-')<0?dash:dash.replace(this._rx.dashToCamel,function(m){return m[1].toUpperCase();}));},camelToDashCase:function(camel){return this._caseMap[camel]||(this._caseMap[camel]=camel.replace(this._rx.camelToDash,'-$1').toLowerCase());}};Polymer.Base._addFeature({_addHostAttributes:function(attributes){if(!this._aggregatedAttributes){this._aggregatedAttributes={};}
3683if(attributes){this.mixin(this._aggregatedAttributes,attributes);}},_marshalHostAttributes:function(){if(this._aggregatedAttributes){this._applyAttributes(this,this._aggregatedAttributes);}},_applyAttributes:function(node,attr$){for(var n in attr$){if(!this.hasAttribute(n)&&n!=='class'){var v=attr$[n];this.serializeValueToAttribute(v,n,this);}}},_marshalAttributes:function(){this._takeAttributesToModel(this);},_takeAttributesToModel:function(model){if(this.hasAttributes()){for(var i in this._propertyInfo){var info=this._propertyInfo[i];if(this.hasAttribute(info.attribute)){this._setAttributeToProperty(model,info.attribute,i,info);}}}},_setAttributeToProperty:function(model,attribute,property,info){if(!this._serializing){property=property||Polymer.CaseMap.dashToCamelCase(attribute);info=info||this._propertyInfo&&this._propertyInfo[property];if(info&&!info.readOnly){var v=this.getAttribute(attribute);model[property]=this.deserialize(v,info.type);}}},_serializing:false,reflectPropertyToAttribute:function(property,attribute,value){this._serializing=true;value=value===undefined?this[property]:value;this.serializeValueToAttribute(value,attribute||Polymer.CaseMap.camelToDashCase(property));this._serializing=false;},serializeValueToAttribute:function(value,attribute,node){var str=this.serialize(value);node=node||this;if(str===undefined){node.removeAttribute(attribute);}else{node.setAttribute(attribute,str);}},deserialize:function(value,type){switch(type){case Number:value=Number(value);break;case Boolean:value=value!=null;break;case Object:try{value=JSON.parse(value);}catch(x){}
3684break;case Array:try{value=JSON.parse(value);}catch(x){value=null;console.warn('Polymer::Attributes: couldn`t decode Array as JSON');}
3685break;case Date:value=new Date(value);break;case String:default:break;}
3686return value;},serialize:function(value){switch(typeof value){case'boolean':return value?'':undefined;case'object':if(value instanceof Date){return value.toString();}else if(value){try{return JSON.stringify(value);}catch(x){return'';}}
3687default:return value!=null?value:undefined;}}});Polymer.version="1.8.1";Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_marshalBehavior:function(b){},_initFeatures:function(){this._marshalHostAttributes();this._marshalBehaviors();}});Polymer.Base._addFeature({_prepTemplate:function(){if(this._template===undefined){this._template=Polymer.DomModule.import(this.is,'template');}
3688if(this._template&&this._template.hasAttribute('is')){this._warn(this._logf('_prepTemplate','top-level Polymer template '+'must not be a type-extension, found',this._template,'Move inside simple <template>.'));}
3689if(this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate){HTMLTemplateElement.decorate(this._template);}},_stampTemplate:function(){if(this._template){this.root=this.instanceTemplate(this._template);}},instanceTemplate:function(template){var dom=document.importNode(template._content||template.content,true);return dom;}});(function(){var baseAttachedCallback=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(host){this.dataHost=host=host||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1];if(host&&host._clients){host._clients.push(this);}
3690this._clients=null;this._clientsReadied=false;},_beginHosting:function(){Polymer.Base._hostStack.push(this);if(!this._clients){this._clients=[];}},_endHosting:function(){Polymer.Base._hostStack.pop();},_tryReady:function(){this._readied=false;if(this._canReady()){this._ready();}},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied;},_ready:function(){this._beforeClientsReady();if(this._template){this._setupRoot();this._readyClients();}
3691this._clientsReadied=true;this._clients=null;this._afterClientsReady();this._readySelf();},_readyClients:function(){this._beginDistribute();var c$=this._clients;if(c$){for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._ready();}}
3692this._finishDistribute();},_readySelf:function(){for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.ready){b.ready.call(this);}}
3693if(this.ready){this.ready();}
3694this._readied=true;if(this._attachedPending){this._attachedPending=false;this.attachedCallback();}},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){if(this._readied){this._beforeAttached();baseAttachedCallback.call(this);}else{this._attachedPending=true;}}});}());Polymer.ArraySplice=function(){function newSplice(index,removed,addedCount){return{index:index,removed:removed,addedCount:addedCount};}
3695var EDIT_LEAVE=0;var EDIT_UPDATE=1;var EDIT_ADD=2;var EDIT_DELETE=3;function ArraySplice(){}
3696ArraySplice.prototype={calcEditDistances:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var rowCount=oldEnd-oldStart+1;var columnCount=currentEnd-currentStart+1;var distances=new Array(rowCount);for(var i=0;i<rowCount;i++){distances[i]=new Array(columnCount);distances[i][0]=i;}
3697for(var j=0;j<columnCount;j++)
3698distances[0][j]=j;for(i=1;i<rowCount;i++){for(j=1;j<columnCount;j++){if(this.equals(current[currentStart+j-1],old[oldStart+i-1]))
3699distances[i][j]=distances[i-1][j-1];else{var north=distances[i-1][j]+1;var west=distances[i][j-1]+1;distances[i][j]=north<west?north:west;}}}
3700return distances;},spliceOperationsFromEditDistances:function(distances){var i=distances.length-1;var j=distances[0].length-1;var current=distances[i][j];var edits=[];while(i>0||j>0){if(i==0){edits.push(EDIT_ADD);j--;continue;}
3701if(j==0){edits.push(EDIT_DELETE);i--;continue;}
3702var northWest=distances[i-1][j-1];var west=distances[i-1][j];var north=distances[i][j-1];var min;if(west<north)
3703min=west<northWest?west:northWest;else
3704min=north<northWest?north:northWest;if(min==northWest){if(northWest==current){edits.push(EDIT_LEAVE);}else{edits.push(EDIT_UPDATE);current=northWest;}
3705i--;j--;}else if(min==west){edits.push(EDIT_DELETE);i--;current=west;}else{edits.push(EDIT_ADD);j--;current=north;}}
3706edits.reverse();return edits;},calcSplices:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var prefixCount=0;var suffixCount=0;var minLength=Math.min(currentEnd-currentStart,oldEnd-oldStart);if(currentStart==0&&oldStart==0)
3707prefixCount=this.sharedPrefix(current,old,minLength);if(currentEnd==current.length&&oldEnd==old.length)
3708suffixCount=this.sharedSuffix(current,old,minLength-prefixCount);currentStart+=prefixCount;oldStart+=prefixCount;currentEnd-=suffixCount;oldEnd-=suffixCount;if(currentEnd-currentStart==0&&oldEnd-oldStart==0)
3709return[];if(currentStart==currentEnd){var splice=newSplice(currentStart,[],0);while(oldStart<oldEnd)
3710splice.removed.push(old[oldStart++]);return[splice];}else if(oldStart==oldEnd)
3711return[newSplice(currentStart,[],currentEnd-currentStart)];var ops=this.spliceOperationsFromEditDistances(this.calcEditDistances(current,currentStart,currentEnd,old,oldStart,oldEnd));splice=undefined;var splices=[];var index=currentStart;var oldIndex=oldStart;for(var i=0;i<ops.length;i++){switch(ops[i]){case EDIT_LEAVE:if(splice){splices.push(splice);splice=undefined;}
3712index++;oldIndex++;break;case EDIT_UPDATE:if(!splice)
3713splice=newSplice(index,[],0);splice.addedCount++;index++;splice.removed.push(old[oldIndex]);oldIndex++;break;case EDIT_ADD:if(!splice)
3714splice=newSplice(index,[],0);splice.addedCount++;index++;break;case EDIT_DELETE:if(!splice)
3715splice=newSplice(index,[],0);splice.removed.push(old[oldIndex]);oldIndex++;break;}}
3716if(splice){splices.push(splice);}
3717return splices;},sharedPrefix:function(current,old,searchLength){for(var i=0;i<searchLength;i++)
3718if(!this.equals(current[i],old[i]))
3719return i;return searchLength;},sharedSuffix:function(current,old,searchLength){var index1=current.length;var index2=old.length;var count=0;while(count<searchLength&&this.equals(current[--index1],old[--index2]))
3720count++;return count;},calculateSplices:function(current,previous){return this.calcSplices(current,0,current.length,previous,0,previous.length);},equals:function(currentValue,previousValue){return currentValue===previousValue;}};return new ArraySplice();}();Polymer.domInnerHTML=function(){var escapeAttrRegExp=/[&\u00A0"]/g;var escapeDataRegExp=/[&\u00A0<>]/g;function escapeReplace(c){switch(c){case'&':return'&amp;';case'<':return'&lt;';case'>':return'&gt;';case'"':return'&quot;';case'\xA0':return'&nbsp;';}}
3721function escapeAttr(s){return s.replace(escapeAttrRegExp,escapeReplace);}
3722function escapeData(s){return s.replace(escapeDataRegExp,escapeReplace);}
3723function makeSet(arr){var set={};for(var i=0;i<arr.length;i++){set[arr[i]]=true;}
3724return set;}
3725var voidElements=makeSet(['area','base','br','col','command','embed','hr','img','input','keygen','link','meta','param','source','track','wbr']);var plaintextParents=makeSet(['style','script','xmp','iframe','noembed','noframes','plaintext','noscript']);function getOuterHTML(node,parentNode,composed){switch(node.nodeType){case Node.ELEMENT_NODE:var tagName=node.localName;var s='<'+tagName;var attrs=node.attributes;for(var i=0,attr;attr=attrs[i];i++){s+=' '+attr.name+'="'+escapeAttr(attr.value)+'"';}
3726s+='>';if(voidElements[tagName]){return s;}
3727return s+getInnerHTML(node,composed)+'</'+tagName+'>';case Node.TEXT_NODE:var data=node.data;if(parentNode&&plaintextParents[parentNode.localName]){return data;}
3728return escapeData(data);case Node.COMMENT_NODE:return'<!--'+node.data+'-->';default:console.error(node);throw new Error('not implemented');}}
3729function getInnerHTML(node,composed){if(node instanceof HTMLTemplateElement)
3730node=node.content;var s='';var c$=Polymer.dom(node).childNodes;for(var i=0,l=c$.length,child;i<l&&(child=c$[i]);i++){s+=getOuterHTML(child,node,composed);}
3731return s;}
3732return{getInnerHTML:getInnerHTML};}();(function(){'use strict';var nativeInsertBefore=Element.prototype.insertBefore;var nativeAppendChild=Element.prototype.appendChild;var nativeRemoveChild=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(parent){var copy=[],i=0;for(var n=parent.firstChild;n;n=n.nextSibling){copy[i++]=n;}
3733return copy;},arrayCopyChildren:function(parent){var copy=[],i=0;for(var n=parent.firstElementChild;n;n=n.nextElementSibling){copy[i++]=n;}
3734return copy;},arrayCopy:function(a$){var l=a$.length;var copy=new Array(l);for(var i=0;i<l;i++){copy[i]=a$[i];}
3735return copy;}};Polymer.TreeApi.Logical={hasParentNode:function(node){return Boolean(node.__dom&&node.__dom.parentNode);},hasChildNodes:function(node){return Boolean(node.__dom&&node.__dom.childNodes!==undefined);},getChildNodes:function(node){return this.hasChildNodes(node)?this._getChildNodes(node):node.childNodes;},_getChildNodes:function(node){if(!node.__dom.childNodes){node.__dom.childNodes=[];for(var n=node.__dom.firstChild;n;n=n.__dom.nextSibling){node.__dom.childNodes.push(n);}}
3736return node.__dom.childNodes;},getParentNode:function(node){return node.__dom&&node.__dom.parentNode!==undefined?node.__dom.parentNode:node.parentNode;},getFirstChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?node.__dom.firstChild:node.firstChild;},getLastChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?node.__dom.lastChild:node.lastChild;},getNextSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?node.__dom.nextSibling:node.nextSibling;},getPreviousSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?node.__dom.previousSibling:node.previousSibling;},getFirstElementChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?this._getFirstElementChild(node):node.firstElementChild;},_getFirstElementChild:function(node){var n=node.__dom.firstChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;}
3737return n;},getLastElementChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?this._getLastElementChild(node):node.lastElementChild;},_getLastElementChild:function(node){var n=node.__dom.lastChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;}
3738return n;},getNextElementSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?this._getNextElementSibling(node):node.nextElementSibling;},_getNextElementSibling:function(node){var n=node.__dom.nextSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;}
3739return n;},getPreviousElementSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?this._getPreviousElementSibling(node):node.previousElementSibling;},_getPreviousElementSibling:function(node){var n=node.__dom.previousSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;}
3740return n;},saveChildNodes:function(node){if(!this.hasChildNodes(node)){node.__dom=node.__dom||{};node.__dom.firstChild=node.firstChild;node.__dom.lastChild=node.lastChild;node.__dom.childNodes=[];for(var n=node.firstChild;n;n=n.nextSibling){n.__dom=n.__dom||{};n.__dom.parentNode=node;node.__dom.childNodes.push(n);n.__dom.nextSibling=n.nextSibling;n.__dom.previousSibling=n.previousSibling;}}},recordInsertBefore:function(node,container,ref_node){container.__dom.childNodes=null;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){for(var n=node.firstChild;n;n=n.nextSibling){this._linkNode(n,container,ref_node);}}else{this._linkNode(node,container,ref_node);}},_linkNode:function(node,container,ref_node){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(ref_node){ref_node.__dom=ref_node.__dom||{};}
3741node.__dom.previousSibling=ref_node?ref_node.__dom.previousSibling:container.__dom.lastChild;if(node.__dom.previousSibling){node.__dom.previousSibling.__dom.nextSibling=node;}
3742node.__dom.nextSibling=ref_node||null;if(node.__dom.nextSibling){node.__dom.nextSibling.__dom.previousSibling=node;}
3743node.__dom.parentNode=container;if(ref_node){if(ref_node===container.__dom.firstChild){container.__dom.firstChild=node;}}else{container.__dom.lastChild=node;if(!container.__dom.firstChild){container.__dom.firstChild=node;}}
3744container.__dom.childNodes=null;},recordRemoveChild:function(node,container){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(node===container.__dom.firstChild){container.__dom.firstChild=node.__dom.nextSibling;}
3745if(node===container.__dom.lastChild){container.__dom.lastChild=node.__dom.previousSibling;}
3746var p=node.__dom.previousSibling;var n=node.__dom.nextSibling;if(p){p.__dom.nextSibling=n;}
3747if(n){n.__dom.previousSibling=p;}
3748node.__dom.parentNode=node.__dom.previousSibling=node.__dom.nextSibling=undefined;container.__dom.childNodes=null;}};Polymer.TreeApi.Composed={getChildNodes:function(node){return Polymer.TreeApi.arrayCopyChildNodes(node);},getParentNode:function(node){return node.parentNode;},clearChildNodes:function(node){node.textContent='';},insertBefore:function(parentNode,newChild,refChild){return nativeInsertBefore.call(parentNode,newChild,refChild||null);},appendChild:function(parentNode,newChild){return nativeAppendChild.call(parentNode,newChild);},removeChild:function(parentNode,node){return nativeRemoveChild.call(parentNode,node);}};}());Polymer.DomApi=function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=function(node){this.node=needsToWrap?DomApi.wrap(node):node;};var needsToWrap=Settings.hasShadow&&!Settings.nativeShadow;DomApi.wrap=window.wrap?window.wrap:function(node){return node;};DomApi.prototype={flush:function(){Polymer.dom.flush();},deepContains:function(node){if(this.node.contains(node)){return true;}
3749var n=node;var doc=node.ownerDocument;while(n&&n!==doc&&n!==this.node){n=Polymer.dom(n).parentNode||n.host;}
3750return n===this.node;},queryDistributedElements:function(selector){var c$=this.getEffectiveChildNodes();var list=[];for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.nodeType===Node.ELEMENT_NODE&&DomApi.matchesSelector.call(c,selector)){list.push(c);}}
3751return list;},getEffectiveChildNodes:function(){var list=[];var c$=this.childNodes;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.localName===CONTENT){var d$=dom(c).getDistributedNodes();for(var j=0;j<d$.length;j++){list.push(d$[j]);}}else{list.push(c);}}
3752return list;},observeNodes:function(callback){if(callback){if(!this.observer){this.observer=this.node.localName===CONTENT?new DomApi.DistributedNodesObserver(this):new DomApi.EffectiveNodesObserver(this);}
3753return this.observer.addListener(callback);}},unobserveNodes:function(handle){if(this.observer){this.observer.removeListener(handle);}},notifyObserver:function(){if(this.observer){this.observer.notify();}},_query:function(matcher,node,halter){node=node||this.node;var list=[];this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);return list;},_queryElements:function(elements,matcher,halter,list){for(var i=0,l=elements.length,c;i<l&&(c=elements[i]);i++){if(c.nodeType===Node.ELEMENT_NODE){if(this._queryElement(c,matcher,halter,list)){return true;}}}},_queryElement:function(node,matcher,halter,list){var result=matcher(node);if(result){list.push(node);}
3754if(halter&&halter(result)){return result;}
3755this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);}};var CONTENT=DomApi.CONTENT='content';var dom=DomApi.factory=function(node){node=node||document;if(!node.__domApi){node.__domApi=new DomApi.ctor(node);}
3756return node.__domApi;};DomApi.hasApi=function(node){return Boolean(node.__domApi);};DomApi.ctor=DomApi;Polymer.dom=function(obj,patch){if(obj instanceof Event){return Polymer.EventApi.factory(obj);}else{return DomApi.factory(obj,patch);}};var p=Element.prototype;DomApi.matchesSelector=p.matches||p.matchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector||p.webkitMatchesSelector;return DomApi;}();(function(){'use strict';var Settings=Polymer.Settings;var DomApi=Polymer.DomApi;var dom=DomApi.factory;var TreeApi=Polymer.TreeApi;var getInnerHTML=Polymer.domInnerHTML.getInnerHTML;var CONTENT=DomApi.CONTENT;if(Settings.useShadow){return;}
3757var nativeCloneNode=Element.prototype.cloneNode;var nativeImportNode=Document.prototype.importNode;Polymer.Base.mixin(DomApi.prototype,{_lazyDistribute:function(host){if(host.shadyRoot&&host.shadyRoot._distributionClean){host.shadyRoot._distributionClean=false;Polymer.dom.addDebouncer(host.debounce('_distribute',host._distributeContent));}},appendChild:function(node){return this.insertBefore(node);},insertBefore:function(node,ref_node){if(ref_node&&TreeApi.Logical.getParentNode(ref_node)!==this.node){throw Error('The ref_node to be inserted before is not a child '+'of this node');}
3758if(node.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var parent=TreeApi.Logical.getParentNode(node);if(parent){if(DomApi.hasApi(parent)){dom(parent).notifyObserver();}
3759this._removeNode(node);}else{this._removeOwnerShadyRoot(node);}}
3760if(!this._addNode(node,ref_node)){if(ref_node){ref_node=ref_node.localName===CONTENT?this._firstComposedNode(ref_node):ref_node;}
3761var container=this.node._isShadyRoot?this.node.host:this.node;if(ref_node){TreeApi.Composed.insertBefore(container,node,ref_node);}else{TreeApi.Composed.appendChild(container,node);}}
3762this.notifyObserver();return node;},_addNode:function(node,ref_node){var root=this.getOwnerRoot();if(root){var ipAdded=this._maybeAddInsertionPoint(node,this.node);if(!root._invalidInsertionPoints){root._invalidInsertionPoints=ipAdded;}
3763this._addNodeToHost(root.host,node);}
3764if(TreeApi.Logical.hasChildNodes(this.node)){TreeApi.Logical.recordInsertBefore(node,this.node,ref_node);}
3765var handled=this._maybeDistribute(node)||this.node.shadyRoot;if(handled){if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){while(node.firstChild){TreeApi.Composed.removeChild(node,node.firstChild);}}else{var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}
3766return handled;},removeChild:function(node){if(TreeApi.Logical.getParentNode(node)!==this.node){throw Error('The node to be removed is not a child of this node: '+node);}
3767if(!this._removeNode(node)){var container=this.node._isShadyRoot?this.node.host:this.node;var parent=TreeApi.Composed.getParentNode(node);if(container===parent){TreeApi.Composed.removeChild(container,node);}}
3768this.notifyObserver();return node;},_removeNode:function(node){var logicalParent=TreeApi.Logical.hasParentNode(node)&&TreeApi.Logical.getParentNode(node);var distributed;var root=this._ownerShadyRootForNode(node);if(logicalParent){distributed=dom(node)._maybeDistributeParent();TreeApi.Logical.recordRemoveChild(node,logicalParent);if(root&&this._removeDistributedChildren(root,node)){root._invalidInsertionPoints=true;this._lazyDistribute(root.host);}}
3769this._removeOwnerShadyRoot(node);if(root){this._removeNodeFromHost(root.host,node);}
3770return distributed;},replaceChild:function(node,ref_node){this.insertBefore(node,ref_node);this.removeChild(ref_node);return node;},_hasCachedOwnerRoot:function(node){return Boolean(node._ownerShadyRoot!==undefined);},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node);},_ownerShadyRootForNode:function(node){if(!node){return;}
3771var root=node._ownerShadyRoot;if(root===undefined){if(node._isShadyRoot){root=node;}else{var parent=TreeApi.Logical.getParentNode(node);if(parent){root=parent._isShadyRoot?parent:this._ownerShadyRootForNode(parent);}else{root=null;}}
3772if(root||document.documentElement.contains(node)){node._ownerShadyRoot=root;}}
3773return root;},_maybeDistribute:function(node){var fragContent=node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent&&dom(node).querySelector(CONTENT);var wrappedContent=fragContent&&TreeApi.Logical.getParentNode(fragContent).nodeType!==Node.DOCUMENT_FRAGMENT_NODE;var hasContent=fragContent||node.localName===CONTENT;if(hasContent){var root=this.getOwnerRoot();if(root){this._lazyDistribute(root.host);}}
3774var needsDist=this._nodeNeedsDistribution(this.node);if(needsDist){this._lazyDistribute(this.node);}
3775return needsDist||hasContent&&!wrappedContent;},_maybeAddInsertionPoint:function(node,parent){var added;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent){var c$=dom(node).querySelectorAll(CONTENT);for(var i=0,n,np,na;i<c$.length&&(n=c$[i]);i++){np=TreeApi.Logical.getParentNode(n);if(np===node){np=parent;}
3776na=this._maybeAddInsertionPoint(n,np);added=added||na;}}else if(node.localName===CONTENT){TreeApi.Logical.saveChildNodes(parent);TreeApi.Logical.saveChildNodes(node);added=true;}
3777return added;},_updateInsertionPoints:function(host){var i$=host.shadyRoot._insertionPoints=dom(host.shadyRoot).querySelectorAll(CONTENT);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c));}},_nodeNeedsDistribution:function(node){return node&&node.shadyRoot&&DomApi.hasInsertionPoint(node.shadyRoot);},_addNodeToHost:function(host,node){if(host._elementAdd){host._elementAdd(node);}},_removeNodeFromHost:function(host,node){if(host._elementRemove){host._elementRemove(node);}},_removeDistributedChildren:function(root,container){var hostNeedsDist;var ip$=root._insertionPoints;for(var i=0;i<ip$.length;i++){var content=ip$[i];if(this._contains(container,content)){var dc$=dom(content).getDistributedNodes();for(var j=0;j<dc$.length;j++){hostNeedsDist=true;var node=dc$[j];var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}}
3778return hostNeedsDist;},_contains:function(container,node){while(node){if(node==container){return true;}
3779node=TreeApi.Logical.getParentNode(node);}},_removeOwnerShadyRoot:function(node){if(this._hasCachedOwnerRoot(node)){var c$=TreeApi.Logical.getChildNodes(node);for(var i=0,l=c$.length,n;i<l&&(n=c$[i]);i++){this._removeOwnerShadyRoot(n);}}
3780node._ownerShadyRoot=undefined;},_firstComposedNode:function(content){var n$=dom(content).getDistributedNodes();for(var i=0,l=n$.length,n,p$;i<l&&(n=n$[i]);i++){p$=dom(n).getDestinationInsertionPoints();if(p$[p$.length-1]===content){return n;}}},querySelector:function(selector){var result=this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node,function(n){return Boolean(n);})[0];return result||null;},querySelectorAll:function(selector){return this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node);},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[];},getDistributedNodes:function(){return this.node._distributedNodes||[];},_clear:function(){while(this.childNodes.length){this.removeChild(this.childNodes[0]);}},setAttribute:function(name,value){this.node.setAttribute(name,value);this._maybeDistributeParent();},removeAttribute:function(name){this.node.removeAttribute(name);this._maybeDistributeParent();},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode)){this._lazyDistribute(this.parentNode);return true;}},cloneNode:function(deep){var n=nativeCloneNode.call(this.node,false);if(deep){var c$=this.childNodes;var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(c$[i]).cloneNode(true);d.appendChild(nc);}}
3781return n;},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;var n=nativeImportNode.call(doc,externalNode,false);if(deep){var c$=TreeApi.Logical.getChildNodes(externalNode);var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(doc).importNode(c$[i],true);d.appendChild(nc);}}
3782return n;},_getComposedInnerHTML:function(){return getInnerHTML(this.node,true);}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var active=document.activeElement;if(!active){return null;}
3783var isShadyRoot=!!this.node._isShadyRoot;if(this.node!==document){if(!isShadyRoot){return null;}
3784if(this.node.host===active||!this.node.host.contains(active)){return null;}}
3785var activeRoot=dom(active).getOwnerRoot();while(activeRoot&&activeRoot!==this.node){active=activeRoot.host;activeRoot=dom(active).getOwnerRoot();}
3786if(this.node===document){return activeRoot?null:active;}else{return activeRoot===this.node?active:null;}},configurable:true},childNodes:{get:function(){var c$=TreeApi.Logical.getChildNodes(this.node);return Array.isArray(c$)?c$:TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){if(TreeApi.Logical.hasChildNodes(this.node)){return Array.prototype.filter.call(this.childNodes,function(n){return n.nodeType===Node.ELEMENT_NODE;});}else{return TreeApi.arrayCopyChildren(this.node);}},configurable:true},parentNode:{get:function(){return TreeApi.Logical.getParentNode(this.node);},configurable:true},firstChild:{get:function(){return TreeApi.Logical.getFirstChild(this.node);},configurable:true},lastChild:{get:function(){return TreeApi.Logical.getLastChild(this.node);},configurable:true},nextSibling:{get:function(){return TreeApi.Logical.getNextSibling(this.node);},configurable:true},previousSibling:{get:function(){return TreeApi.Logical.getPreviousSibling(this.node);},configurable:true},firstElementChild:{get:function(){return TreeApi.Logical.getFirstElementChild(this.node);},configurable:true},lastElementChild:{get:function(){return TreeApi.Logical.getLastElementChild(this.node);},configurable:true},nextElementSibling:{get:function(){return TreeApi.Logical.getNextElementSibling(this.node);},configurable:true},previousElementSibling:{get:function(){return TreeApi.Logical.getPreviousElementSibling(this.node);},configurable:true},textContent:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return this.node.textContent;}else{var tc=[];for(var i=0,cn=this.childNodes,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(c.textContent);}}
3787return tc.join('');}},set:function(text){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){this.node.textContent=text;}else{this._clear();if(text){this.appendChild(document.createTextNode(text));}}},configurable:true},innerHTML:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return null;}else{return getInnerHTML(this.node);}},set:function(text){var nt=this.node.nodeType;if(nt!==Node.TEXT_NODE||nt!==Node.COMMENT_NODE){this._clear();var d=document.createElement('div');d.innerHTML=text;var c$=TreeApi.arrayCopyChildNodes(d);for(var i=0;i<c$.length;i++){this.appendChild(c$[i]);}}},configurable:true}});DomApi.hasInsertionPoint=function(root){return Boolean(root&&root._insertionPoints.length);};}());(function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=Polymer.DomApi;if(!Settings.useShadow){return;}
3788Polymer.Base.mixin(DomApi.prototype,{querySelectorAll:function(selector){return TreeApi.arrayCopy(this.node.querySelectorAll(selector));},getOwnerRoot:function(){var n=this.node;while(n){if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&n.host){return n;}
3789n=n.parentNode;}},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;return doc.importNode(externalNode,deep);},getDestinationInsertionPoints:function(){var n$=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return n$?TreeApi.arrayCopy(n$):[];},getDistributedNodes:function(){var n$=this.node.getDistributedNodes&&this.node.getDistributedNodes();return n$?TreeApi.arrayCopy(n$):[];}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var node=DomApi.wrap(this.node);var activeElement=node.activeElement;return node.contains(activeElement)?activeElement:null;},configurable:true},childNodes:{get:function(){return TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){return TreeApi.arrayCopyChildren(this.node);},configurable:true},textContent:{get:function(){return this.node.textContent;},set:function(value){return this.node.textContent=value;},configurable:true},innerHTML:{get:function(){return this.node.innerHTML;},set:function(value){return this.node.innerHTML=value;},configurable:true}});var forwardMethods=function(m$){for(var i=0;i<m$.length;i++){forwardMethod(m$[i]);}};var forwardMethod=function(method){DomApi.prototype[method]=function(){return this.node[method].apply(this.node,arguments);};};forwardMethods(['cloneNode','appendChild','insertBefore','removeChild','replaceChild','setAttribute','removeAttribute','querySelector']);var forwardProperties=function(f$){for(var i=0;i<f$.length;i++){forwardProperty(f$[i]);}};var forwardProperty=function(name){Object.defineProperty(DomApi.prototype,name,{get:function(){return this.node[name];},configurable:true});};forwardProperties(['parentNode','firstChild','lastChild','nextSibling','previousSibling','firstElementChild','lastElementChild','nextElementSibling','previousElementSibling']);}());Polymer.Base.mixin(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){this._flushGuard=0;this._prepareFlush();while(this._debouncers.length&&this._flushGuard<this._FLUSH_MAX){while(this._debouncers.length){this._debouncers.shift().complete();}
3790if(this._finishDebouncer){this._finishDebouncer.complete();}
3791this._prepareFlush();this._flushGuard++;}
3792if(this._flushGuard>=this._FLUSH_MAX){console.warn('Polymer.dom.flush aborted. Flush may not be complete.');}},_prepareFlush:function(){if(this._needsTakeRecords){CustomElements.takeRecords();}
3793for(var i=0;i<this._staticFlushList.length;i++){this._staticFlushList[i]();}},addStaticFlush:function(fn){this._staticFlushList.push(fn);},removeStaticFlush:function(fn){var i=this._staticFlushList.indexOf(fn);if(i>=0){this._staticFlushList.splice(i,1);}},addDebouncer:function(debouncer){this._debouncers.push(debouncer);this._finishDebouncer=Polymer.Debounce(this._finishDebouncer,this._finishFlush);},_finishFlush:function(){Polymer.dom._debouncers=[];}});Polymer.EventApi=function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.Event=function(event){this.event=event;};if(Settings.useShadow){DomApi.Event.prototype={get rootTarget(){return this.event.path[0];},get localTarget(){return this.event.target;},get path(){var path=this.event.path;if(!Array.isArray(path)){path=Array.prototype.slice.call(path);}
3794return path;}};}else{DomApi.Event.prototype={get rootTarget(){return this.event.target;},get localTarget(){var current=this.event.currentTarget;var currentRoot=current&&Polymer.dom(current).getOwnerRoot();var p$=this.path;for(var i=0;i<p$.length;i++){if(Polymer.dom(p$[i]).getOwnerRoot()===currentRoot){return p$[i];}}},get path(){if(!this.event._path){var path=[];var current=this.rootTarget;while(current){path.push(current);var insertionPoints=Polymer.dom(current).getDestinationInsertionPoints();if(insertionPoints.length){for(var i=0;i<insertionPoints.length-1;i++){path.push(insertionPoints[i]);}
3795current=insertionPoints[insertionPoints.length-1];}else{current=Polymer.dom(current).parentNode||current.host;}}
3796path.push(window);this.event._path=path;}
3797return this.event._path;}};}
3798var factory=function(event){if(!event.__eventApi){event.__eventApi=new DomApi.Event(event);}
3799return event.__eventApi;};return{factory:factory};}();(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var useShadow=Polymer.Settings.useShadow;Object.defineProperty(DomApi.prototype,'classList',{get:function(){if(!this._classList){this._classList=new DomApi.ClassList(this);}
3800return this._classList;},configurable:true});DomApi.ClassList=function(host){this.domApi=host;this.node=host.node;};DomApi.ClassList.prototype={add:function(){this.node.classList.add.apply(this.node.classList,arguments);this._distributeParent();},remove:function(){this.node.classList.remove.apply(this.node.classList,arguments);this._distributeParent();},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments);this._distributeParent();},_distributeParent:function(){if(!useShadow){this.domApi._maybeDistributeParent();}},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments);}};}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.EffectiveNodesObserver=function(domApi){this.domApi=domApi;this.node=this.domApi.node;this._listeners=[];};DomApi.EffectiveNodesObserver.prototype={addListener:function(callback){if(!this._isSetup){this._setup();this._isSetup=true;}
3801var listener={fn:callback,_nodes:[]};this._listeners.push(listener);this._scheduleNotify();return listener;},removeListener:function(handle){var i=this._listeners.indexOf(handle);if(i>=0){this._listeners.splice(i,1);handle._nodes=[];}
3802if(!this._hasListeners()){this._cleanup();this._isSetup=false;}},_setup:function(){this._observeContentElements(this.domApi.childNodes);},_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes);},_hasListeners:function(){return Boolean(this._listeners.length);},_scheduleNotify:function(){if(this._debouncer){this._debouncer.stop();}
3803this._debouncer=Polymer.Debounce(this._debouncer,this._notify);this._debouncer.context=this;Polymer.dom.addDebouncer(this._debouncer);},notify:function(){if(this._hasListeners()){this._scheduleNotify();}},_notify:function(){this._beforeCallListeners();this._callListeners();},_beforeCallListeners:function(){this._updateContentElements();},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes);},_observeContentElements:function(elements){for(var i=0,n;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){n.__observeNodesMap=n.__observeNodesMap||new WeakMap();if(!n.__observeNodesMap.has(this)){n.__observeNodesMap.set(this,this._observeContent(n));}}}},_observeContent:function(content){var self=this;var h=Polymer.dom(content).observeNodes(function(){self._scheduleNotify();});h._avoidChangeCalculation=true;return h;},_unobserveContentElements:function(elements){for(var i=0,n,h;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){h=n.__observeNodesMap.get(this);if(h){Polymer.dom(n).unobserveNodes(h);n.__observeNodesMap.delete(this);}}}},_isContent:function(node){return node.localName==='content';},_callListeners:function(){var o$=this._listeners;var nodes=this._getEffectiveNodes();for(var i=0,o;i<o$.length&&(o=o$[i]);i++){var info=this._generateListenerInfo(o,nodes);if(info||o._alwaysNotify){this._callListener(o,info);}}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes();},_generateListenerInfo:function(listener,newNodes){if(listener._avoidChangeCalculation){return true;}
3804var oldNodes=listener._nodes;var info={target:this.node,addedNodes:[],removedNodes:[]};var splices=Polymer.ArraySplice.calculateSplices(newNodes,oldNodes);for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){info.removedNodes.push(n);}}
3805for(i=0,s;i<splices.length&&(s=splices[i]);i++){for(j=s.index;j<s.index+s.addedCount;j++){info.addedNodes.push(newNodes[j]);}}
3806listener._nodes=newNodes;if(info.addedNodes.length||info.removedNodes.length){return info;}},_callListener:function(listener,info){return listener.fn.call(this.node,info);},enableShadowAttributeTracking:function(){}};if(Settings.useShadow){var baseSetup=DomApi.EffectiveNodesObserver.prototype._setup;var baseCleanup=DomApi.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.mixin(DomApi.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var self=this;this._mutationHandler=function(mxns){if(mxns&&mxns.length){self._scheduleNotify();}};this._observer=new MutationObserver(this._mutationHandler);this._boundFlush=function(){self._flush();};Polymer.dom.addStaticFlush(this._boundFlush);this._observer.observe(this.node,{childList:true});}
3807baseSetup.call(this);},_cleanup:function(){this._observer.disconnect();this._observer=null;this._mutationHandler=null;Polymer.dom.removeStaticFlush(this._boundFlush);baseCleanup.call(this);},_flush:function(){if(this._observer){this._mutationHandler(this._observer.takeRecords());}},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify();this._observer.disconnect();this._observer.observe(this.node,{childList:true,attributes:true,subtree:true});var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host&&Polymer.dom(host).observer){Polymer.dom(host).observer.enableShadowAttributeTracking();}}},_makeContentListenersAlwaysNotify:function(){for(var i=0,h;i<this._listeners.length;i++){h=this._listeners[i];h._alwaysNotify=h._isContentListener;}}});}}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.DistributedNodesObserver=function(domApi){DomApi.EffectiveNodesObserver.call(this,domApi);};DomApi.DistributedNodesObserver.prototype=Object.create(DomApi.EffectiveNodesObserver.prototype);Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes();}});if(Settings.useShadow){Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){var self=this;this._observer=Polymer.dom(host).observeNodes(function(){self._scheduleNotify();});this._observer._isContentListener=true;if(this._hasAttrSelect()){Polymer.dom(host).observer.enableShadowAttributeTracking();}}}},_hasAttrSelect:function(){var select=this.node.getAttribute('select');return select&&select.match(/[[.]+/);},_cleanup:function(){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){Polymer.dom(host).unobserveNodes(this._observer);}
3808this._observer=null;}});}}());(function(){var DomApi=Polymer.DomApi;var TreeApi=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template);},_setupShady:function(){this.shadyRoot=null;if(!this.__domApi){this.__domApi=null;}
3809if(!this.__dom){this.__dom=null;}
3810if(!this._ownerShadyRoot){this._ownerShadyRoot=undefined;}},_poolContent:function(){if(this._useContent){TreeApi.Logical.saveChildNodes(this);}},_setupRoot:function(){if(this._useContent){this._createLocalRoot();if(!this.dataHost){upgradeLogicalChildren(TreeApi.Logical.getChildNodes(this));}}},_createLocalRoot:function(){this.shadyRoot=this.root;this.shadyRoot._distributionClean=false;this.shadyRoot._hasDistributed=false;this.shadyRoot._isShadyRoot=true;this.shadyRoot._dirtyRoots=[];var i$=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll('content'):[];TreeApi.Logical.saveChildNodes(this.shadyRoot);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(c.parentNode);}
3811this.shadyRoot.host=this;},distributeContent:function(updateInsertionPoints){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||updateInsertionPoints;var host=getTopDistributingHost(this);Polymer.dom(this)._lazyDistribute(host);}},_distributeContent:function(){if(this._useContent&&!this.shadyRoot._distributionClean){if(this.shadyRoot._invalidInsertionPoints){Polymer.dom(this)._updateInsertionPoints(this);this.shadyRoot._invalidInsertionPoints=false;}
3812this._beginDistribute();this._distributeDirtyRoots();this._finishDistribute();}},_beginDistribute:function(){if(this._useContent&&DomApi.hasInsertionPoint(this.shadyRoot)){this._resetDistribution();this._distributePool(this.shadyRoot,this._collectPool());}},_distributeDirtyRoots:function(){var c$=this.shadyRoot._dirtyRoots;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._distributeContent();}
3813this.shadyRoot._dirtyRoots=[];},_finishDistribute:function(){if(this._useContent){this.shadyRoot._distributionClean=true;if(DomApi.hasInsertionPoint(this.shadyRoot)){this._composeTree();notifyContentObservers(this.shadyRoot);}else{if(!this.shadyRoot._hasDistributed){TreeApi.Composed.clearChildNodes(this);this.appendChild(this.shadyRoot);}else{var children=this._composeNode(this);this._updateChildNodes(this,children);}}
3814if(!this.shadyRoot._hasDistributed){notifyInitialDistribution(this);}
3815this.shadyRoot._hasDistributed=true;}},elementMatches:function(selector,node){node=node||this;return DomApi.matchesSelector.call(node,selector);},_resetDistribution:function(){var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(child._destinationInsertionPoints){child._destinationInsertionPoints=undefined;}
3816if(isInsertionPoint(child)){clearDistributedDestinationInsertionPoints(child);}}
3817var root=this.shadyRoot;var p$=root._insertionPoints;for(var j=0;j<p$.length;j++){p$[j]._distributedNodes=[];}},_collectPool:function(){var pool=[];var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(isInsertionPoint(child)){pool.push.apply(pool,child._distributedNodes);}else{pool.push(child);}}
3818return pool;},_distributePool:function(node,pool){var p$=node._insertionPoints;for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){this._distributeInsertionPoint(p,pool);maybeRedistributeParent(p,this);}},_distributeInsertionPoint:function(content,pool){var anyDistributed=false;for(var i=0,l=pool.length,node;i<l;i++){node=pool[i];if(!node){continue;}
3819if(this._matchesContentSelect(node,content)){distributeNodeInto(node,content);pool[i]=undefined;anyDistributed=true;}}
3820if(!anyDistributed){var children=TreeApi.Logical.getChildNodes(content);for(var j=0;j<children.length;j++){distributeNodeInto(children[j],content);}}},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));var p$=this.shadyRoot._insertionPoints;for(var i=0,l=p$.length,p,parent;i<l&&(p=p$[i]);i++){parent=TreeApi.Logical.getParentNode(p);if(!parent._useContent&&parent!==this&&parent!==this.shadyRoot){this._updateChildNodes(parent,this._composeNode(parent));}}},_composeNode:function(node){var children=[];var c$=TreeApi.Logical.getChildNodes(node.shadyRoot||node);for(var i=0;i<c$.length;i++){var child=c$[i];if(isInsertionPoint(child)){var distributedNodes=child._distributedNodes;for(var j=0;j<distributedNodes.length;j++){var distributedNode=distributedNodes[j];if(isFinalDestination(child,distributedNode)){children.push(distributedNode);}}}else{children.push(child);}}
3821return children;},_updateChildNodes:function(container,children){var composed=TreeApi.Composed.getChildNodes(container);var splices=Polymer.ArraySplice.calculateSplices(children,composed);for(var i=0,d=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){if(TreeApi.Composed.getParentNode(n)===container){TreeApi.Composed.removeChild(container,n);}
3822composed.splice(s.index+d,1);}
3823d-=s.addedCount;}
3824for(var i=0,s,next;i<splices.length&&(s=splices[i]);i++){next=composed[s.index];for(j=s.index,n;j<s.index+s.addedCount;j++){n=children[j];TreeApi.Composed.insertBefore(container,n,next);composed.splice(j,0,n);}}},_matchesContentSelect:function(node,contentElement){var select=contentElement.getAttribute('select');if(!select){return true;}
3825select=select.trim();if(!select){return true;}
3826if(!(node instanceof Element)){return false;}
3827var validSelectors=/^(:not\()?[*.#[a-zA-Z_|]/;if(!validSelectors.test(select)){return false;}
3828return this.elementMatches(select,node);},_elementAdd:function(){},_elementRemove:function(){}});var domHostDesc={get:function(){var root=Polymer.dom(this).getOwnerRoot();return root&&root.host;},configurable:true};Object.defineProperty(Polymer.Base,'domHost',domHostDesc);Polymer.BaseDescriptors.domHost=domHostDesc;function distributeNodeInto(child,insertionPoint){insertionPoint._distributedNodes.push(child);var points=child._destinationInsertionPoints;if(!points){child._destinationInsertionPoints=[insertionPoint];}else{points.push(insertionPoint);}}
3829function clearDistributedDestinationInsertionPoints(content){var e$=content._distributedNodes;if(e$){for(var i=0;i<e$.length;i++){var d=e$[i]._destinationInsertionPoints;if(d){d.splice(d.indexOf(content)+1,d.length);}}}}
3830function maybeRedistributeParent(content,host){var parent=TreeApi.Logical.getParentNode(content);if(parent&&parent.shadyRoot&&DomApi.hasInsertionPoint(parent.shadyRoot)&&parent.shadyRoot._distributionClean){parent.shadyRoot._distributionClean=false;host.shadyRoot._dirtyRoots.push(parent);}}
3831function isFinalDestination(insertionPoint,node){var points=node._destinationInsertionPoints;return points&&points[points.length-1]===insertionPoint;}
3832function isInsertionPoint(node){return node.localName=='content';}
3833function getTopDistributingHost(host){while(host&&hostNeedsRedistribution(host)){host=host.domHost;}
3834return host;}
3835function hostNeedsRedistribution(host){var c$=TreeApi.Logical.getChildNodes(host);for(var i=0,c;i<c$.length;i++){c=c$[i];if(c.localName&&c.localName==='content'){return host.domHost;}}}
3836function notifyContentObservers(root){for(var i=0,c;i<root._insertionPoints.length;i++){c=root._insertionPoints[i];if(DomApi.hasApi(c)){Polymer.dom(c).notifyObserver();}}}
3837function notifyInitialDistribution(host){if(DomApi.hasApi(host)){Polymer.dom(host).notifyObserver();}}
3838var needsUpgrade=window.CustomElements&&!CustomElements.useNative;function upgradeLogicalChildren(children){if(needsUpgrade&&children){for(var i=0;i<children.length;i++){CustomElements.upgrade(children[i]);}}}}());if(Polymer.Settings.useShadow){Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot();this.shadowRoot.appendChild(this.root);this.root=this.shadowRoot;}});}Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleContent:0,_twiddle:document.createTextNode(''),run:function(callback,waitTime){if(waitTime>0){return~setTimeout(callback,waitTime);}else{this._twiddle.textContent=this._twiddleContent++;this._callbacks.push(callback);return this._currVal++;}},cancel:function(handle){if(handle<0){clearTimeout(~handle);}else{var idx=handle-this._lastVal;if(idx>=0){if(!this._callbacks[idx]){throw'invalid async handle: '+handle;}
3839this._callbacks[idx]=null;}}},_atEndOfMicrotask:function(){var len=this._callbacks.length;for(var i=0;i<len;i++){var cb=this._callbacks[i];if(cb){try{cb();}catch(e){i++;this._callbacks.splice(0,i);this._lastVal+=i;this._twiddle.textContent=this._twiddleContent++;throw e;}}}
3840this._callbacks.splice(0,len);this._lastVal+=len;}};new window.MutationObserver(function(){Polymer.Async._atEndOfMicrotask();}).observe(Polymer.Async._twiddle,{characterData:true});Polymer.Debounce=function(){var Async=Polymer.Async;var Debouncer=function(context){this.context=context;var self=this;this.boundComplete=function(){self.complete();};};Debouncer.prototype={go:function(callback,wait){var h;this.finish=function(){Async.cancel(h);};h=Async.run(this.boundComplete,wait);this.callback=callback;},stop:function(){if(this.finish){this.finish();this.finish=null;this.callback=null;}},complete:function(){if(this.finish){var callback=this.callback;this.stop();callback.call(this.context);}}};function debounce(debouncer,callback,wait){if(debouncer){debouncer.stop();}else{debouncer=new Debouncer(this);}
3841debouncer.go(callback,wait);return debouncer;}
3842return debounce;}();Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={};},debounce:function(jobName,callback,wait){return this._debouncers[jobName]=Polymer.Debounce.call(this,this._debouncers[jobName],callback,wait);},isDebouncerActive:function(jobName){var debouncer=this._debouncers[jobName];return!!(debouncer&&debouncer.finish);},flushDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.complete();}},cancelDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.stop();}}});Polymer.DomModule=document.createElement('dom-module');Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepTemplate();this._prepShady();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._registerHost();if(this._template){this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();}
3843this._marshalHostAttributes();this._setupDebouncers();this._marshalBehaviors();this._tryReady();},_marshalBehavior:function(b){}});(function(){Polymer.nar=[];var disableUpgradeEnabled=Polymer.Settings.disableUpgradeEnabled;Polymer.Annotations={parseAnnotations:function(template,stripWhiteSpace){var list=[];var content=template._content||template.content;this._parseNodeAnnotations(content,list,stripWhiteSpace||template.hasAttribute('strip-whitespace'));return list;},_parseNodeAnnotations:function(node,list,stripWhiteSpace){return node.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(node,list):this._parseElementAnnotations(node,list,stripWhiteSpace);},_bindingRegex:function(){var IDENT='(?:'+'[a-zA-Z_$][\\w.:$\\-*]*'+')';var NUMBER='(?:'+'[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?'+')';var SQUOTE_STRING='(?:'+'\'(?:[^\'\\\\]|\\\\.)*\''+')';var DQUOTE_STRING='(?:'+'"(?:[^"\\\\]|\\\\.)*"'+')';var STRING='(?:'+SQUOTE_STRING+'|'+DQUOTE_STRING+')';var ARGUMENT='(?:'+IDENT+'|'+NUMBER+'|'+STRING+'\\s*'+')';var ARGUMENTS='(?:'+ARGUMENT+'(?:,\\s*'+ARGUMENT+')*'+')';var ARGUMENT_LIST='(?:'+'\\(\\s*'+'(?:'+ARGUMENTS+'?'+')'+'\\)\\s*'+')';var BINDING='('+IDENT+'\\s*'+ARGUMENT_LIST+'?'+')';var OPEN_BRACKET='(\\[\\[|{{)'+'\\s*';var CLOSE_BRACKET='(?:]]|}})';var NEGATE='(?:(!)\\s*)?';var EXPRESSION=OPEN_BRACKET+NEGATE+BINDING+CLOSE_BRACKET;return new RegExp(EXPRESSION,'g');}(),_parseBindings:function(text){var re=this._bindingRegex;var parts=[];var lastIndex=0;var m;while((m=re.exec(text))!==null){if(m.index>lastIndex){parts.push({literal:text.slice(lastIndex,m.index)});}
3844var mode=m[1][0];var negate=Boolean(m[2]);var value=m[3].trim();var customEvent,notifyEvent,colon;if(mode=='{'&&(colon=value.indexOf('::'))>0){notifyEvent=value.substring(colon+2);value=value.substring(0,colon);customEvent=true;}
3845parts.push({compoundIndex:parts.length,value:value,mode:mode,negate:negate,event:notifyEvent,customEvent:customEvent});lastIndex=re.lastIndex;}
3846if(lastIndex&&lastIndex<text.length){var literal=text.substring(lastIndex);if(literal){parts.push({literal:literal});}}
3847if(parts.length){return parts;}},_literalFromParts:function(parts){var s='';for(var i=0;i<parts.length;i++){var literal=parts[i].literal;s+=literal||'';}
3848return s;},_parseTextNodeAnnotation:function(node,list){var parts=this._parseBindings(node.textContent);if(parts){node.textContent=this._literalFromParts(parts)||' ';var annote={bindings:[{kind:'text',name:'textContent',parts:parts,isCompound:parts.length!==1}]};list.push(annote);return annote;}},_parseElementAnnotations:function(element,list,stripWhiteSpace){var annote={bindings:[],events:[]};if(element.localName==='content'){list._hasContent=true;}
3849this._parseChildNodesAnnotations(element,annote,list,stripWhiteSpace);if(element.attributes){this._parseNodeAttributeAnnotations(element,annote,list);if(this.prepElement){this.prepElement(element);}}
3850if(annote.bindings.length||annote.events.length||annote.id){list.push(annote);}
3851return annote;},_parseChildNodesAnnotations:function(root,annote,list,stripWhiteSpace){if(root.firstChild){var node=root.firstChild;var i=0;while(node){var next=node.nextSibling;if(node.localName==='template'&&!node.hasAttribute('preserve-content')){this._parseTemplate(node,i,list,annote,stripWhiteSpace);}
3852if(node.localName=='slot'){node=this._replaceSlotWithContent(node);}
3853if(node.nodeType===Node.TEXT_NODE){var n=next;while(n&&n.nodeType===Node.TEXT_NODE){node.textContent+=n.textContent;next=n.nextSibling;root.removeChild(n);n=next;}
3854if(stripWhiteSpace&&!node.textContent.trim()){root.removeChild(node);i--;}}
3855if(node.parentNode){var childAnnotation=this._parseNodeAnnotations(node,list,stripWhiteSpace);if(childAnnotation){childAnnotation.parent=annote;childAnnotation.index=i;}}
3856node=next;i++;}}},_replaceSlotWithContent:function(slot){var content=slot.ownerDocument.createElement('content');while(slot.firstChild){content.appendChild(slot.firstChild);}
3857var attrs=slot.attributes;for(var i=0;i<attrs.length;i++){var attr=attrs[i];content.setAttribute(attr.name,attr.value);}
3858var name=slot.getAttribute('name');if(name){content.setAttribute('select','[slot=\''+name+'\']');}
3859slot.parentNode.replaceChild(content,slot);return content;},_parseTemplate:function(node,index,list,parent,stripWhiteSpace){var content=document.createDocumentFragment();content._notes=this.parseAnnotations(node,stripWhiteSpace);content.appendChild(node.content);list.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:content,parent:parent,index:index});},_parseNodeAttributeAnnotations:function(node,annotation){var attrs=Array.prototype.slice.call(node.attributes);for(var i=attrs.length-1,a;a=attrs[i];i--){var n=a.name;var v=a.value;var b;if(n.slice(0,3)==='on-'){node.removeAttribute(n);annotation.events.push({name:n.slice(3),value:v});}else if(b=this._parseNodeAttributeAnnotation(node,n,v)){annotation.bindings.push(b);}else if(n==='id'){annotation.id=v;}}},_parseNodeAttributeAnnotation:function(node,name,value){var parts=this._parseBindings(value);if(parts){var origName=name;var kind='property';if(name[name.length-1]=='$'){name=name.slice(0,-1);kind='attribute';}
3860var literal=this._literalFromParts(parts);if(literal&&kind=='attribute'){node.setAttribute(name,literal);}
3861if(node.localName==='input'&&origName==='value'){node.setAttribute(origName,'');}
3862if(disableUpgradeEnabled&&origName==='disable-upgrade$'){node.setAttribute(name,'');}
3863node.removeAttribute(origName);var propertyName=Polymer.CaseMap.dashToCamelCase(name);if(kind==='property'){name=propertyName;}
3864return{kind:kind,name:name,propertyName:propertyName,parts:parts,literal:literal,isCompound:parts.length!==1};}},findAnnotatedNode:function(root,annote){var parent=annote.parent&&Polymer.Annotations.findAnnotatedNode(root,annote.parent);if(parent){for(var n=parent.firstChild,i=0;n;n=n.nextSibling){if(annote.index===i++){return n;}}}else{return root;}}};}());(function(){function resolveCss(cssText,ownerDocument){return cssText.replace(CSS_URL_RX,function(m,pre,url,post){return pre+'\''+resolve(url.replace(/["']/g,''),ownerDocument)+'\''+post;});}
3865function resolveAttrs(element,ownerDocument){for(var name in URL_ATTRS){var a$=URL_ATTRS[name];for(var i=0,l=a$.length,a,at,v;i<l&&(a=a$[i]);i++){if(name==='*'||element.localName===name){at=element.attributes[a];v=at&&at.value;if(v&&v.search(BINDING_RX)<0){at.value=a==='style'?resolveCss(v,ownerDocument):resolve(v,ownerDocument);}}}}}
3866function resolve(url,ownerDocument){if(url&&ABS_URL.test(url)){return url;}
3867var resolver=getUrlResolver(ownerDocument);resolver.href=url;return resolver.href||url;}
3868var tempDoc;var tempDocBase;function resolveUrl(url,baseUri){if(!tempDoc){tempDoc=document.implementation.createHTMLDocument('temp');tempDocBase=tempDoc.createElement('base');tempDoc.head.appendChild(tempDocBase);}
3869tempDocBase.href=baseUri;return resolve(url,tempDoc);}
3870function getUrlResolver(ownerDocument){return ownerDocument.body.__urlResolver||(ownerDocument.body.__urlResolver=ownerDocument.createElement('a'));}
3871var CSS_URL_RX=/(url\()([^)]*)(\))/g;var URL_ATTRS={'*':['href','src','style','url'],form:['action']};var ABS_URL=/(^\/)|(^#)|(^[\w-\d]*:)/;var BINDING_RX=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:resolveCss,resolveAttrs:resolveAttrs,resolveUrl:resolveUrl};}());Polymer.Path={root:function(path){var dotIndex=path.indexOf('.');if(dotIndex===-1){return path;}
3872return path.slice(0,dotIndex);},isDeep:function(path){return path.indexOf('.')!==-1;},isAncestor:function(base,path){return base.indexOf(path+'.')===0;},isDescendant:function(base,path){return path.indexOf(base+'.')===0;},translate:function(base,newBase,path){return newBase+path.slice(base.length);},matches:function(base,wildcard,path){return base===path||this.isAncestor(base,path)||Boolean(wildcard)&&this.isDescendant(base,path);}};Polymer.Base._addFeature({_prepAnnotations:function(){if(!this._template){this._notes=[];}else{var self=this;Polymer.Annotations.prepElement=function(element){self._prepElement(element);};if(this._template._content&&this._template._content._notes){this._notes=this._template._content._notes;}else{this._notes=Polymer.Annotations.parseAnnotations(this._template);this._processAnnotations(this._notes);}
3873Polymer.Annotations.prepElement=null;}},_processAnnotations:function(notes){for(var i=0;i<notes.length;i++){var note=notes[i];for(var j=0;j<note.bindings.length;j++){var b=note.bindings[j];for(var k=0;k<b.parts.length;k++){var p=b.parts[k];if(!p.literal){var signature=this._parseMethod(p.value);if(signature){p.signature=signature;}else{p.model=Polymer.Path.root(p.value);}}}}
3874if(note.templateContent){this._processAnnotations(note.templateContent._notes);var pp=note.templateContent._parentProps=this._discoverTemplateParentProps(note.templateContent._notes);var bindings=[];for(var prop in pp){var name='_parent_'+prop;bindings.push({index:note.index,kind:'property',name:name,propertyName:name,parts:[{mode:'{',model:prop,value:prop}]});}
3875note.bindings=note.bindings.concat(bindings);}}},_discoverTemplateParentProps:function(notes){var pp={};for(var i=0,n;i<notes.length&&(n=notes[i]);i++){for(var j=0,b$=n.bindings,b;j<b$.length&&(b=b$[j]);j++){for(var k=0,p$=b.parts,p;k<p$.length&&(p=p$[k]);k++){if(p.signature){var args=p.signature.args;for(var kk=0;kk<args.length;kk++){var model=args[kk].model;if(model){pp[model]=true;}}
3876if(p.signature.dynamicFn){pp[p.signature.method]=true;}}else{if(p.model){pp[p.model]=true;}}}}
3877if(n.templateContent){var tpp=n.templateContent._parentProps;Polymer.Base.mixin(pp,tpp);}}
3878return pp;},_prepElement:function(element){Polymer.ResolveUrl.resolveAttrs(element,this._template.ownerDocument);},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){if(this._template){this._marshalIdNodes();this._marshalAnnotatedNodes();this._marshalAnnotatedListeners();}},_configureAnnotationReferences:function(){var notes=this._notes;var nodes=this._nodes;for(var i=0;i<notes.length;i++){var note=notes[i];var node=nodes[i];this._configureTemplateContent(note,node);this._configureCompoundBindings(note,node);}},_configureTemplateContent:function(note,node){if(note.templateContent){node._content=note.templateContent;}},_configureCompoundBindings:function(note,node){var bindings=note.bindings;for(var i=0;i<bindings.length;i++){var binding=bindings[i];if(binding.isCompound){var storage=node.__compoundStorage__||(node.__compoundStorage__={});var parts=binding.parts;var literals=new Array(parts.length);for(var j=0;j<parts.length;j++){literals[j]=parts[j].literal;}
3879var name=binding.name;storage[name]=literals;if(binding.literal&&binding.kind=='property'){if(node._configValue){node._configValue(name,binding.literal);}else{node[name]=binding.literal;}}}}},_marshalIdNodes:function(){this.$={};for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.id){this.$[a.id]=this._findAnnotatedNode(this.root,a);}}},_marshalAnnotatedNodes:function(){if(this._notes&&this._notes.length){var r=new Array(this._notes.length);for(var i=0;i<this._notes.length;i++){r[i]=this._findAnnotatedNode(this.root,this._notes[i]);}
3880this._nodes=r;}},_marshalAnnotatedListeners:function(){for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.events&&a.events.length){var node=this._findAnnotatedNode(this.root,a);for(var j=0,e$=a.events,e;j<e$.length&&(e=e$[j]);j++){this.listen(node,e.name,e.value);}}}}});Polymer.Base._addFeature({listeners:{},_listenListeners:function(listeners){var node,name,eventName;for(eventName in listeners){if(eventName.indexOf('.')<0){node=this;name=eventName;}else{name=eventName.split('.');node=this.$[name[0]];name=name[1];}
3881this.listen(node,name,listeners[eventName]);}},listen:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(!handler){handler=this._createEventHandler(node,eventName,methodName);}
3882if(handler._listening){return;}
3883this._listen(node,eventName,handler);handler._listening=true;},_boundListenerKey:function(eventName,methodName){return eventName+':'+methodName;},_recordEventHandler:function(host,eventName,target,methodName,handler){var hbl=host.__boundListeners;if(!hbl){hbl=host.__boundListeners=new WeakMap();}
3884var bl=hbl.get(target);if(!bl){bl={};if(!Polymer.Settings.isIE||target!=window){hbl.set(target,bl);}}
3885var key=this._boundListenerKey(eventName,methodName);bl[key]=handler;},_recallEventHandler:function(host,eventName,target,methodName){var hbl=host.__boundListeners;if(!hbl){return;}
3886var bl=hbl.get(target);if(!bl){return;}
3887var key=this._boundListenerKey(eventName,methodName);return bl[key];},_createEventHandler:function(node,eventName,methodName){var host=this;var handler=function(e){if(host[methodName]){host[methodName](e,e.detail);}else{host._warn(host._logf('_createEventHandler','listener method `'+methodName+'` not defined'));}};handler._listening=false;this._recordEventHandler(host,eventName,node,methodName,handler);return handler;},unlisten:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(handler){this._unlisten(node,eventName,handler);handler._listening=false;}},_listen:function(node,eventName,handler){node.addEventListener(eventName,handler);},_unlisten:function(node,eventName,handler){node.removeEventListener(eventName,handler);}});(function(){'use strict';var wrap=Polymer.DomApi.wrap;var HAS_NATIVE_TA=typeof document.head.style.touchAction==='string';var GESTURE_KEY='__polymerGestures';var HANDLED_OBJ='__polymerGesturesHandled';var TOUCH_ACTION='__polymerGesturesTouchAction';var TAP_DISTANCE=25;var TRACK_DISTANCE=5;var TRACK_LENGTH=2;var MOUSE_TIMEOUT=2500;var MOUSE_EVENTS=['mousedown','mousemove','mouseup','click'];var MOUSE_WHICH_TO_BUTTONS=[0,1,4,2];var MOUSE_HAS_BUTTONS=function(){try{return new MouseEvent('test',{buttons:1}).buttons===1;}catch(e){return false;}}();var SUPPORTS_PASSIVE=false;(function(){try{var opts=Object.defineProperty({},'passive',{get:function(){SUPPORTS_PASSIVE=true;}});window.addEventListener('test',null,opts);window.removeEventListener('test',null,opts);}catch(e){}}());var IS_TOUCH_ONLY=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);var mouseCanceller=function(mouseEvent){var sc=mouseEvent.sourceCapabilities;if(sc&&!sc.firesTouchEvents){return;}
3888mouseEvent[HANDLED_OBJ]={skip:true};if(mouseEvent.type==='click'){var path=Polymer.dom(mouseEvent).path;for(var i=0;i<path.length;i++){if(path[i]===POINTERSTATE.mouse.target){return;}}
3889mouseEvent.preventDefault();mouseEvent.stopPropagation();}};function setupTeardownMouseCanceller(setup){var events=IS_TOUCH_ONLY?['click']:MOUSE_EVENTS;for(var i=0,en;i<events.length;i++){en=events[i];if(setup){document.addEventListener(en,mouseCanceller,true);}else{document.removeEventListener(en,mouseCanceller,true);}}}
3890function ignoreMouse(ev){if(!POINTERSTATE.mouse.mouseIgnoreJob){setupTeardownMouseCanceller(true);}
3891var unset=function(){setupTeardownMouseCanceller();POINTERSTATE.mouse.target=null;POINTERSTATE.mouse.mouseIgnoreJob=null;};POINTERSTATE.mouse.target=Polymer.dom(ev).rootTarget;POINTERSTATE.mouse.mouseIgnoreJob=Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob,unset,MOUSE_TIMEOUT);}
3892function hasLeftMouseButton(ev){var type=ev.type;if(MOUSE_EVENTS.indexOf(type)===-1){return false;}
3893if(type==='mousemove'){var buttons=ev.buttons===undefined?1:ev.buttons;if(ev instanceof window.MouseEvent&&!MOUSE_HAS_BUTTONS){buttons=MOUSE_WHICH_TO_BUTTONS[ev.which]||0;}
3894return Boolean(buttons&1);}else{var button=ev.button===undefined?0:ev.button;return button===0;}}
3895function isSyntheticClick(ev){if(ev.type==='click'){if(ev.detail===0){return true;}
3896var t=Gestures.findOriginalTarget(ev);var bcr=t.getBoundingClientRect();var x=ev.pageX,y=ev.pageY;return!(x>=bcr.left&&x<=bcr.right&&(y>=bcr.top&&y<=bcr.bottom));}
3897return false;}
3898var POINTERSTATE={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:false}};function firstTouchAction(ev){var path=Polymer.dom(ev).path;var ta='auto';for(var i=0,n;i<path.length;i++){n=path[i];if(n[TOUCH_ACTION]){ta=n[TOUCH_ACTION];break;}}
3899return ta;}
3900function trackDocument(stateObj,movefn,upfn){stateObj.movefn=movefn;stateObj.upfn=upfn;document.addEventListener('mousemove',movefn);document.addEventListener('mouseup',upfn);}
3901function untrackDocument(stateObj){document.removeEventListener('mousemove',stateObj.movefn);document.removeEventListener('mouseup',stateObj.upfn);stateObj.movefn=null;stateObj.upfn=null;}
3902document.addEventListener('touchend',ignoreMouse,SUPPORTS_PASSIVE?{passive:true}:false);var Gestures={gestures:{},recognizers:[],deepTargetFind:function(x,y){var node=document.elementFromPoint(x,y);var next=node;while(next&&next.shadowRoot){next=next.shadowRoot.elementFromPoint(x,y);if(next){node=next;}}
3903return node;},findOriginalTarget:function(ev){if(ev.path){return ev.path[0];}
3904return ev.target;},handleNative:function(ev){var handled;var type=ev.type;var node=wrap(ev.currentTarget);var gobj=node[GESTURE_KEY];if(!gobj){return;}
3905var gs=gobj[type];if(!gs){return;}
3906if(!ev[HANDLED_OBJ]){ev[HANDLED_OBJ]={};if(type.slice(0,5)==='touch'){var t=ev.changedTouches[0];if(type==='touchstart'){if(ev.touches.length===1){POINTERSTATE.touch.id=t.identifier;}}
3907if(POINTERSTATE.touch.id!==t.identifier){return;}
3908if(!HAS_NATIVE_TA){if(type==='touchstart'||type==='touchmove'){Gestures.handleTouchAction(ev);}}}}
3909handled=ev[HANDLED_OBJ];if(handled.skip){return;}
3910var recognizers=Gestures.recognizers;for(var i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){if(r.flow&&r.flow.start.indexOf(ev.type)>-1&&r.reset){r.reset();}}}
3911for(i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){handled[r.name]=true;r[type](ev);}}},handleTouchAction:function(ev){var t=ev.changedTouches[0];var type=ev.type;if(type==='touchstart'){POINTERSTATE.touch.x=t.clientX;POINTERSTATE.touch.y=t.clientY;POINTERSTATE.touch.scrollDecided=false;}else if(type==='touchmove'){if(POINTERSTATE.touch.scrollDecided){return;}
3912POINTERSTATE.touch.scrollDecided=true;var ta=firstTouchAction(ev);var prevent=false;var dx=Math.abs(POINTERSTATE.touch.x-t.clientX);var dy=Math.abs(POINTERSTATE.touch.y-t.clientY);if(!ev.cancelable){}else if(ta==='none'){prevent=true;}else if(ta==='pan-x'){prevent=dy>dx;}else if(ta==='pan-y'){prevent=dx>dy;}
3913if(prevent){ev.preventDefault();}else{Gestures.prevent('track');}}},add:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(!gobj){node[GESTURE_KEY]=gobj={};}
3914for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];if(IS_TOUCH_ONLY&&MOUSE_EVENTS.indexOf(dep)>-1&&dep!=='click'){continue;}
3915gd=gobj[dep];if(!gd){gobj[dep]=gd={_count:0};}
3916if(gd._count===0){node.addEventListener(dep,this.handleNative);}
3917gd[name]=(gd[name]||0)+1;gd._count=(gd._count||0)+1;}
3918node.addEventListener(evType,handler);if(recognizer.touchAction){this.setTouchAction(node,recognizer.touchAction);}},remove:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(gobj){for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];gd=gobj[dep];if(gd&&gd[name]){gd[name]=(gd[name]||1)-1;gd._count=(gd._count||1)-1;if(gd._count===0){node.removeEventListener(dep,this.handleNative);}}}}
3919node.removeEventListener(evType,handler);},register:function(recog){this.recognizers.push(recog);for(var i=0;i<recog.emits.length;i++){this.gestures[recog.emits[i]]=recog;}},findRecognizerByEvent:function(evName){for(var i=0,r;i<this.recognizers.length;i++){r=this.recognizers[i];for(var j=0,n;j<r.emits.length;j++){n=r.emits[j];if(n===evName){return r;}}}
3920return null;},setTouchAction:function(node,value){if(HAS_NATIVE_TA){node.style.touchAction=value;}
3921node[TOUCH_ACTION]=value;},fire:function(target,type,detail){var ev=Polymer.Base.fire(type,detail,{node:target,bubbles:true,cancelable:true});if(ev.defaultPrevented){var preventer=detail.preventer||detail.sourceEvent;if(preventer&&preventer.preventDefault){preventer.preventDefault();}}},prevent:function(evName){var recognizer=this.findRecognizerByEvent(evName);if(recognizer.info){recognizer.info.prevent=true;}},resetMouseCanceller:function(){if(POINTERSTATE.mouse.mouseIgnoreJob){POINTERSTATE.mouse.mouseIgnoreJob.complete();}}};Gestures.register({name:'downup',deps:['mousedown','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['down','up'],info:{movefn:null,upfn:null},reset:function(){untrackDocument(this.info);},mousedown:function(e){if(!hasLeftMouseButton(e)){return;}
3922var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){if(!hasLeftMouseButton(e)){self.fire('up',t,e);untrackDocument(self.info);}};var upfn=function upfn(e){if(hasLeftMouseButton(e)){self.fire('up',t,e);}
3923untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.fire('down',t,e);},touchstart:function(e){this.fire('down',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},touchend:function(e){this.fire('up',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},fire:function(type,target,event,preventer){Gestures.fire(target,type,{x:event.clientX,y:event.clientY,sourceEvent:event,preventer:preventer,prevent:function(e){return Gestures.prevent(e);}});}});Gestures.register({name:'track',touchAction:'none',deps:['mousedown','touchstart','touchmove','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['track'],info:{x:0,y:0,state:'start',started:false,moves:[],addMove:function(move){if(this.moves.length>TRACK_LENGTH){this.moves.shift();}
3924this.moves.push(move);},movefn:null,upfn:null,prevent:false},reset:function(){this.info.state='start';this.info.started=false;this.info.moves=[];this.info.x=0;this.info.y=0;this.info.prevent=false;untrackDocument(this.info);},hasMovedEnough:function(x,y){if(this.info.prevent){return false;}
3925if(this.info.started){return true;}
3926var dx=Math.abs(this.info.x-x);var dy=Math.abs(this.info.y-y);return dx>=TRACK_DISTANCE||dy>=TRACK_DISTANCE;},mousedown:function(e){if(!hasLeftMouseButton(e)){return;}
3927var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){var x=e.clientX,y=e.clientY;if(self.hasMovedEnough(x,y)){self.info.state=self.info.started?e.type==='mouseup'?'end':'track':'start';if(self.info.state==='start'){Gestures.prevent('tap');}
3928self.info.addMove({x:x,y:y});if(!hasLeftMouseButton(e)){self.info.state='end';untrackDocument(self.info);}
3929self.fire(t,e);self.info.started=true;}};var upfn=function upfn(e){if(self.info.started){movefn(e);}
3930untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.info.x=e.clientX;this.info.y=e.clientY;},touchstart:function(e){var ct=e.changedTouches[0];this.info.x=ct.clientX;this.info.y=ct.clientY;},touchmove:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];var x=ct.clientX,y=ct.clientY;if(this.hasMovedEnough(x,y)){if(this.info.state==='start'){Gestures.prevent('tap');}
3931this.info.addMove({x:x,y:y});this.fire(t,ct);this.info.state='track';this.info.started=true;}},touchend:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];if(this.info.started){this.info.state='end';this.info.addMove({x:ct.clientX,y:ct.clientY});this.fire(t,ct,e);}},fire:function(target,touch,preventer){var secondlast=this.info.moves[this.info.moves.length-2];var lastmove=this.info.moves[this.info.moves.length-1];var dx=lastmove.x-this.info.x;var dy=lastmove.y-this.info.y;var ddx,ddy=0;if(secondlast){ddx=lastmove.x-secondlast.x;ddy=lastmove.y-secondlast.y;}
3932return Gestures.fire(target,'track',{state:this.info.state,x:touch.clientX,y:touch.clientY,dx:dx,dy:dy,ddx:ddx,ddy:ddy,sourceEvent:touch,preventer:preventer,hover:function(){return Gestures.deepTargetFind(touch.clientX,touch.clientY);}});}});Gestures.register({name:'tap',deps:['mousedown','click','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['click','touchend']},emits:['tap'],info:{x:NaN,y:NaN,prevent:false},reset:function(){this.info.x=NaN;this.info.y=NaN;this.info.prevent=false;},save:function(e){this.info.x=e.clientX;this.info.y=e.clientY;},mousedown:function(e){if(hasLeftMouseButton(e)){this.save(e);}},click:function(e){if(hasLeftMouseButton(e)){this.forward(e);}},touchstart:function(e){this.save(e.changedTouches[0],e);},touchend:function(e){this.forward(e.changedTouches[0],e);},forward:function(e,preventer){var dx=Math.abs(e.clientX-this.info.x);var dy=Math.abs(e.clientY-this.info.y);var t=Gestures.findOriginalTarget(e);if(isNaN(dx)||isNaN(dy)||dx<=TAP_DISTANCE&&dy<=TAP_DISTANCE||isSyntheticClick(e)){if(!this.info.prevent){Gestures.fire(t,'tap',{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:preventer});}}}});var DIRECTION_MAP={x:'pan-x',y:'pan-y',none:'none',all:'auto'};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null;},_listen:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.add(node,eventName,handler);}else{node.addEventListener(eventName,handler);}},_unlisten:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.remove(node,eventName,handler);}else{node.removeEventListener(eventName,handler);}},setScrollDirection:function(direction,node){node=node||this;Gestures.setTouchAction(node,DIRECTION_MAP[direction]||'auto');}});Polymer.Gestures=Gestures;}());(function(){'use strict';Polymer.Base._addFeature({$$:function(slctr){return Polymer.dom(this.root).querySelector(slctr);},toggleClass:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.classList.contains(name);}
3933if(bool){Polymer.dom(node).classList.add(name);}else{Polymer.dom(node).classList.remove(name);}},toggleAttribute:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.hasAttribute(name);}
3934if(bool){Polymer.dom(node).setAttribute(name,'');}else{Polymer.dom(node).removeAttribute(name);}},classFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).classList.remove(name);}
3935if(toElement){Polymer.dom(toElement).classList.add(name);}},attributeFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).removeAttribute(name);}
3936if(toElement){Polymer.dom(toElement).setAttribute(name,'');}},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes();},getEffectiveChildren:function(){var list=Polymer.dom(this).getEffectiveChildNodes();return list.filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},getEffectiveTextContent:function(){var cn=this.getEffectiveChildNodes();var tc=[];for(var i=0,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(Polymer.dom(c).textContent);}}
3937return tc.join('');},queryEffectiveChildren:function(slctr){var e$=Polymer.dom(this).queryDistributedElements(slctr);return e$&&e$[0];},queryAllEffectiveChildren:function(slctr){return Polymer.dom(this).queryDistributedElements(slctr);},getContentChildNodes:function(slctr){var content=Polymer.dom(this.root).querySelector(slctr||'content');return content?Polymer.dom(content).getDistributedNodes():[];},getContentChildren:function(slctr){return this.getContentChildNodes(slctr).filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},fire:function(type,detail,options){options=options||Polymer.nob;var node=options.node||this;detail=detail===null||detail===undefined?{}:detail;var bubbles=options.bubbles===undefined?true:options.bubbles;var cancelable=Boolean(options.cancelable);var useCache=options._useCache;var event=this._getEvent(type,bubbles,cancelable,useCache);event.detail=detail;if(useCache){this.__eventCache[type]=null;}
3938node.dispatchEvent(event);if(useCache){this.__eventCache[type]=event;}
3939return event;},__eventCache:{},_getEvent:function(type,bubbles,cancelable,useCache){var event=useCache&&this.__eventCache[type];if(!event||(event.bubbles!=bubbles||event.cancelable!=cancelable)){event=new Event(type,{bubbles:Boolean(bubbles),cancelable:cancelable});}
3940return event;},async:function(callback,waitTime){var self=this;return Polymer.Async.run(function(){callback.call(self);},waitTime);},cancelAsync:function(handle){Polymer.Async.cancel(handle);},arrayDelete:function(path,item){var index;if(Array.isArray(path)){index=path.indexOf(item);if(index>=0){return path.splice(index,1);}}else{var arr=this._get(path);index=arr.indexOf(item);if(index>=0){return this.splice(path,index,1);}}},transform:function(transform,node){node=node||this;node.style.webkitTransform=transform;node.style.transform=transform;},translate3d:function(x,y,z,node){node=node||this;this.transform('translate3d('+x+','+y+','+z+')',node);},importHref:function(href,onload,onerror,optAsync){var link=document.createElement('link');link.rel='import';link.href=href;var list=Polymer.Base.importHref.imported=Polymer.Base.importHref.imported||{};var cached=list[link.href];var imprt=cached||link;var self=this;var loadListener=function(e){e.target.__firedLoad=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onload.call(self,e);};var errorListener=function(e){e.target.__firedError=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onerror.call(self,e);};if(onload){imprt.addEventListener('load',loadListener);}
3941if(onerror){imprt.addEventListener('error',errorListener);}
3942if(cached){if(cached.__firedLoad){cached.dispatchEvent(new Event('load'));}
3943if(cached.__firedError){cached.dispatchEvent(new Event('error'));}}else{list[link.href]=link;optAsync=Boolean(optAsync);if(optAsync){link.setAttribute('async','');}
3944document.head.appendChild(link);}
3945return imprt;},create:function(tag,props){var elt=document.createElement(tag);if(props){for(var n in props){elt[n]=props[n];}}
3946return elt;},isLightDescendant:function(node){return this!==node&&this.contains(node)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(node).getOwnerRoot();},isLocalDescendant:function(node){return this.root===Polymer.dom(node).getOwnerRoot();}});if(!Polymer.Settings.useNativeCustomElements){var importHref=Polymer.Base.importHref;Polymer.Base.importHref=function(href,onload,onerror,optAsync){CustomElements.ready=false;var loadFn=function(e){CustomElements.upgradeDocumentTree(document);CustomElements.ready=true;if(onload){return onload.call(this,e);}};return importHref.call(this,href,loadFn,onerror,optAsync);};}}());Polymer.Bind={prepareModel:function(model){Polymer.Base.mixin(model,this._modelApi);},_modelApi:{_notifyChange:function(source,event,value){value=value===undefined?this[source]:value;event=event||Polymer.CaseMap.camelToDashCase(source)+'-changed';this.fire(event,{value:value},{bubbles:false,cancelable:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_propertySetter:function(property,value,effects,fromAbove){var old=this.__data__[property];if(old!==value&&(old===old||value===value)){this.__data__[property]=value;if(typeof value=='object'){this._clearPath(property);}
3947if(this._propertyChanged){this._propertyChanged(property,value,old);}
3948if(effects){this._effectEffects(property,value,effects,old,fromAbove);}}
3949return old;},__setProperty:function(property,value,quiet,node){node=node||this;var effects=node._propertyEffects&&node._propertyEffects[property];if(effects){node._propertySetter(property,value,effects,quiet);}else if(node[property]!==value){node[property]=value;}},_effectEffects:function(property,value,effects,old,fromAbove){for(var i=0,l=effects.length,fx;i<l&&(fx=effects[i]);i++){fx.fn.call(this,property,this[property],fx.effect,old,fromAbove);}},_clearPath:function(path){for(var prop in this.__data__){if(Polymer.Path.isDescendant(path,prop)){this.__data__[prop]=undefined;}}}},ensurePropertyEffects:function(model,property){if(!model._propertyEffects){model._propertyEffects={};}
3950var fx=model._propertyEffects[property];if(!fx){fx=model._propertyEffects[property]=[];}
3951return fx;},addPropertyEffect:function(model,property,kind,effect){var fx=this.ensurePropertyEffects(model,property);var propEffect={kind:kind,effect:effect,fn:Polymer.Bind['_'+kind+'Effect']};fx.push(propEffect);return propEffect;},createBindings:function(model){var fx$=model._propertyEffects;if(fx$){for(var n in fx$){var fx=fx$[n];fx.sort(this._sortPropertyEffects);this._createAccessors(model,n,fx);}}},_sortPropertyEffects:function(){var EFFECT_ORDER={'compute':0,'annotation':1,'annotatedComputation':2,'reflect':3,'notify':4,'observer':5,'complexObserver':6,'function':7};return function(a,b){return EFFECT_ORDER[a.kind]-EFFECT_ORDER[b.kind];};}(),_createAccessors:function(model,property,effects){var defun={get:function(){return this.__data__[property];}};var setter=function(value){this._propertySetter(property,value,effects);};var info=model.getPropertyInfo&&model.getPropertyInfo(property);if(info&&info.readOnly){if(!info.computed){model['_set'+this.upper(property)]=setter;}}else{defun.set=setter;}
3952Object.defineProperty(model,property,defun);},upper:function(name){return name[0].toUpperCase()+name.substring(1);},_addAnnotatedListener:function(model,index,property,path,event,negated){if(!model._bindListeners){model._bindListeners=[];}
3953var fn=this._notedListenerFactory(property,path,Polymer.Path.isDeep(path),negated);var eventName=event||Polymer.CaseMap.camelToDashCase(property)+'-changed';model._bindListeners.push({index:index,property:property,path:path,changedFn:fn,event:eventName});},_isEventBogus:function(e,target){return e.path&&e.path[0]!==target;},_notedListenerFactory:function(property,path,isStructured,negated){return function(target,value,targetPath){if(targetPath){var newPath=Polymer.Path.translate(property,path,targetPath);this._notifyPath(newPath,value);}else{value=target[property];if(negated){value=!value;}
3954if(!isStructured){this[path]=value;}else{if(this.__data__[path]!=value){this.set(path,value);}}}};},prepareInstance:function(inst){inst.__data__=Object.create(null);},setupBindListeners:function(inst){var b$=inst._bindListeners;for(var i=0,l=b$.length,info;i<l&&(info=b$[i]);i++){var node=inst._nodes[info.index];this._addNotifyListener(node,inst,info.event,info.changedFn);}},_addNotifyListener:function(element,context,event,changedFn){element.addEventListener(event,function(e){return context._notifyListener(changedFn,e);});}};Polymer.Base.mixin(Polymer.Bind,{_shouldAddListener:function(effect){return effect.name&&effect.kind!='attribute'&&effect.kind!='text'&&!effect.isCompound&&effect.parts[0].mode==='{';},_annotationEffect:function(source,value,effect){if(source!=effect.value){value=this._get(effect.value);this.__data__[effect.value]=value;}
3955this._applyEffectValue(effect,value);},_reflectEffect:function(source,value,effect){this.reflectPropertyToAttribute(source,effect.attribute,value);},_notifyEffect:function(source,value,effect,old,fromAbove){if(!fromAbove){this._notifyChange(source,effect.event,value);}},_functionEffect:function(source,value,fn,old,fromAbove){fn.call(this,source,value,old,fromAbove);},_observerEffect:function(source,value,effect,old){var fn=this[effect.method];if(fn){fn.call(this,value,old);}else{this._warn(this._logf('_observerEffect','observer method `'+effect.method+'` not defined'));}},_complexObserverEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){fn.apply(this,args);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_complexObserverEffect','observer method `'+effect.method+'` not defined'));}},_computeEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(this,args);this.__setProperty(effect.name,computedvalue);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_computeEffect','compute method `'+effect.method+'` not defined'));}},_annotatedComputationEffect:function(source,value,effect){var computedHost=this._rootDataHost||this;var fn=computedHost[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(computedHost,args);this._applyEffectValue(effect,computedvalue);}}else if(effect.dynamicFn){}else{computedHost._warn(computedHost._logf('_annotatedComputationEffect','compute method `'+effect.method+'` not defined'));}},_marshalArgs:function(model,effect,path,value){var values=[];var args=effect.args;var bailoutEarly=args.length>1||effect.dynamicFn;for(var i=0,l=args.length;i<l;i++){var arg=args[i];var name=arg.name;var v;if(arg.literal){v=arg.value;}else if(path===name){v=value;}else{v=model[name];if(v===undefined&&arg.structured){v=Polymer.Base._get(name,model);}}
3956if(bailoutEarly&&v===undefined){return;}
3957if(arg.wildcard){var matches=Polymer.Path.isAncestor(path,name);values[i]={path:matches?path:name,value:matches?value:v,base:v};}else{values[i]=v;}}
3958return values;}});Polymer.Base._addFeature({_addPropertyEffect:function(property,kind,effect){var prop=Polymer.Bind.addPropertyEffect(this,property,kind,effect);prop.pathFn=this['_'+prop.kind+'PathEffect'];},_prepEffects:function(){Polymer.Bind.prepareModel(this);this._addAnnotationEffects(this._notes);},_prepBindings:function(){Polymer.Bind.createBindings(this);},_addPropertyEffects:function(properties){if(properties){for(var p in properties){var prop=properties[p];if(prop.observer){this._addObserverEffect(p,prop.observer);}
3959if(prop.computed){prop.readOnly=true;this._addComputedEffect(p,prop.computed);}
3960if(prop.notify){this._addPropertyEffect(p,'notify',{event:Polymer.CaseMap.camelToDashCase(p)+'-changed'});}
3961if(prop.reflectToAttribute){var attr=Polymer.CaseMap.camelToDashCase(p);if(attr[0]==='-'){this._warn(this._logf('_addPropertyEffects','Property '+p+' cannot be reflected to attribute '+attr+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.'));}else{this._addPropertyEffect(p,'reflect',{attribute:attr});}}
3962if(prop.readOnly){Polymer.Bind.ensurePropertyEffects(this,p);}}}},_addComputedEffect:function(name,expression){var sig=this._parseMethod(expression);var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'compute',{method:sig.method,args:sig.args,trigger:arg,name:name,dynamicFn:dynamicFn});}
3963if(dynamicFn){this._addPropertyEffect(sig.method,'compute',{method:sig.method,args:sig.args,trigger:null,name:name,dynamicFn:dynamicFn});}},_addObserverEffect:function(property,observer){this._addPropertyEffect(property,'observer',{method:observer,property:property});},_addComplexObserverEffects:function(observers){if(observers){for(var i=0,o;i<observers.length&&(o=observers[i]);i++){this._addComplexObserverEffect(o);}}},_addComplexObserverEffect:function(observer){var sig=this._parseMethod(observer);if(!sig){throw new Error('Malformed observer expression \''+observer+'\'');}
3964var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'complexObserver',{method:sig.method,args:sig.args,trigger:arg,dynamicFn:dynamicFn});}
3965if(dynamicFn){this._addPropertyEffect(sig.method,'complexObserver',{method:sig.method,args:sig.args,trigger:null,dynamicFn:dynamicFn});}},_addAnnotationEffects:function(notes){for(var i=0,note;i<notes.length&&(note=notes[i]);i++){var b$=note.bindings;for(var j=0,binding;j<b$.length&&(binding=b$[j]);j++){this._addAnnotationEffect(binding,i);}}},_addAnnotationEffect:function(note,index){if(Polymer.Bind._shouldAddListener(note)){Polymer.Bind._addAnnotatedListener(this,index,note.name,note.parts[0].value,note.parts[0].event,note.parts[0].negate);}
3966for(var i=0;i<note.parts.length;i++){var part=note.parts[i];if(part.signature){this._addAnnotatedComputationEffect(note,part,index);}else if(!part.literal){if(note.kind==='attribute'&&note.name[0]==='-'){this._warn(this._logf('_addAnnotationEffect','Cannot set attribute '+note.name+' because "-" is not a valid attribute starting character'));}else{this._addPropertyEffect(part.model,'annotation',{kind:note.kind,index:index,name:note.name,propertyName:note.propertyName,value:part.value,isCompound:note.isCompound,compoundIndex:part.compoundIndex,event:part.event,customEvent:part.customEvent,negate:part.negate});}}}},_addAnnotatedComputationEffect:function(note,part,index){var sig=part.signature;if(sig.static){this.__addAnnotatedComputationEffect('__static__',index,note,part,null);}else{for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){if(!arg.literal){this.__addAnnotatedComputationEffect(arg.model,index,note,part,arg);}}
3967if(sig.dynamicFn){this.__addAnnotatedComputationEffect(sig.method,index,note,part,null);}}},__addAnnotatedComputationEffect:function(property,index,note,part,trigger){this._addPropertyEffect(property,'annotatedComputation',{index:index,isCompound:note.isCompound,compoundIndex:part.compoundIndex,kind:note.kind,name:note.name,negate:part.negate,method:part.signature.method,args:part.signature.args,trigger:trigger,dynamicFn:part.signature.dynamicFn});},_parseMethod:function(expression){var m=expression.match(/([^\s]+?)\(([\s\S]*)\)/);if(m){var sig={method:m[1],static:true};if(this.getPropertyInfo(sig.method)!==Polymer.nob){sig.static=false;sig.dynamicFn=true;}
3968if(m[2].trim()){var args=m[2].replace(/\\,/g,'&comma;').split(',');return this._parseArgs(args,sig);}else{sig.args=Polymer.nar;return sig;}}},_parseArgs:function(argList,sig){sig.args=argList.map(function(rawArg){var arg=this._parseArg(rawArg);if(!arg.literal){sig.static=false;}
3969return arg;},this);return sig;},_parseArg:function(rawArg){var arg=rawArg.trim().replace(/&comma;/g,',').replace(/\\(.)/g,'$1');var a={name:arg};var fc=arg[0];if(fc==='-'){fc=arg[1];}
3970if(fc>='0'&&fc<='9'){fc='#';}
3971switch(fc){case'\'':case'"':a.value=arg.slice(1,-1);a.literal=true;break;case'#':a.value=Number(arg);a.literal=true;break;}
3972if(!a.literal){a.model=Polymer.Path.root(arg);a.structured=Polymer.Path.isDeep(arg);if(a.structured){a.wildcard=arg.slice(-2)=='.*';if(a.wildcard){a.name=arg.slice(0,-2);}}}
3973return a;},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this);if(this._bindListeners){Polymer.Bind.setupBindListeners(this);}},_applyEffectValue:function(info,value){var node=this._nodes[info.index];var property=info.name;value=this._computeFinalAnnotationValue(node,property,value,info);if(info.kind=='attribute'){this.serializeValueToAttribute(value,property,node);}else{var pinfo=node._propertyInfo&&node._propertyInfo[property];if(pinfo&&pinfo.readOnly){return;}
3974this.__setProperty(property,value,Polymer.Settings.suppressBindingNotifications,node);}},_computeFinalAnnotationValue:function(node,property,value,info){if(info.negate){value=!value;}
3975if(info.isCompound){var storage=node.__compoundStorage__[property];storage[info.compoundIndex]=value;value=storage.join('');}
3976if(info.kind!=='attribute'){if(property==='className'){value=this._scopeElementClass(node,value);}
3977if(property==='textContent'||node.localName=='input'&&property=='value'){value=value==undefined?'':value;}}
3978return value;},_executeStaticEffects:function(){if(this._propertyEffects&&this._propertyEffects.__static__){this._effectEffects('__static__',null,this._propertyEffects.__static__);}}});(function(){var usePolyfillProto=Polymer.Settings.usePolyfillProto;var avoidInstanceProperties=Boolean(Object.getOwnPropertyDescriptor(document.documentElement,'properties'));Polymer.Base._addFeature({_setupConfigure:function(initialConfig){this._config={};this._handlers=[];this._aboveConfig=null;if(initialConfig){for(var i in initialConfig){if(initialConfig[i]!==undefined){this._config[i]=initialConfig[i];}}}},_marshalAttributes:function(){this._takeAttributesToModel(this._config);},_attributeChangedImpl:function(name){var model=this._clientsReadied?this:this._config;this._setAttributeToProperty(model,name);},_configValue:function(name,value){var info=this._propertyInfo[name];if(!info||!info.readOnly){this._config[name]=value;}},_beforeClientsReady:function(){this._configure();},_configure:function(){this._configureAnnotationReferences();this._configureInstanceProperties();this._aboveConfig=this.mixin({},this._config);var config={};for(var i=0;i<this.behaviors.length;i++){this._configureProperties(this.behaviors[i].properties,config);}
3979this._configureProperties(avoidInstanceProperties?this.__proto__.properties:this.properties,config);this.mixin(config,this._aboveConfig);this._config=config;if(this._clients&&this._clients.length){this._distributeConfig(this._config);}},_configureInstanceProperties:function(){for(var i in this._propertyEffects){if(!usePolyfillProto&&this.hasOwnProperty(i)){this._configValue(i,this[i]);delete this[i];}}},_configureProperties:function(properties,config){for(var i in properties){var c=properties[i];if(c.value!==undefined){var value=c.value;if(typeof value=='function'){value=value.call(this,this._config);}
3980config[i]=value;}}},_distributeConfig:function(config){var fx$=this._propertyEffects;if(fx$){for(var p in config){var fx=fx$[p];if(fx){for(var i=0,l=fx.length,x;i<l&&(x=fx[i]);i++){if(x.kind==='annotation'){var node=this._nodes[x.effect.index];var name=x.effect.propertyName;var isAttr=x.effect.kind=='attribute';var hasEffect=node._propertyEffects&&node._propertyEffects[name];if(node._configValue&&(hasEffect||!isAttr)){var value=p===x.effect.value?config[p]:this._get(x.effect.value,config);value=this._computeFinalAnnotationValue(node,name,value,x.effect);if(isAttr){value=node.deserialize(this.serialize(value),node._propertyInfo[name].type);}
3981node._configValue(name,value);}}}}}}},_afterClientsReady:function(){this._executeStaticEffects();this._applyConfig(this._config,this._aboveConfig);this._flushHandlers();},_applyConfig:function(config,aboveConfig){for(var n in config){if(this[n]===undefined){this.__setProperty(n,config[n],n in aboveConfig);}}},_notifyListener:function(fn,e){if(!Polymer.Bind._isEventBogus(e,e.target)){var value,path;if(e.detail){value=e.detail.value;path=e.detail.path;}
3982if(!this._clientsReadied){this._queueHandler([fn,e.target,value,path]);}else{return fn.call(this,e.target,value,path);}}},_queueHandler:function(args){this._handlers.push(args);},_flushHandlers:function(){var h$=this._handlers;for(var i=0,l=h$.length,h;i<l&&(h=h$[i]);i++){h[0].call(this,h[1],h[2],h[3]);}
3983this._handlers=[];}});}());(function(){'use strict';var Path=Polymer.Path;Polymer.Base._addFeature({notifyPath:function(path,value,fromAbove){var info={};var v=this._get(path,this,info);if(arguments.length===1){value=v;}
3984if(info.path){this._notifyPath(info.path,value,fromAbove);}},_notifyPath:function(path,value,fromAbove){var old=this._propertySetter(path,value);if(old!==value&&(old===old||value===value)){this._pathEffector(path,value);if(!fromAbove){this._notifyPathUp(path,value);}
3985return true;}},_getPathParts:function(path){if(Array.isArray(path)){var parts=[];for(var i=0;i<path.length;i++){var args=path[i].toString().split('.');for(var j=0;j<args.length;j++){parts.push(args[j]);}}
3986return parts;}else{return path.toString().split('.');}},set:function(path,value,root){var prop=root||this;var parts=this._getPathParts(path);var array;var last=parts[parts.length-1];if(parts.length>1){for(var i=0;i<parts.length-1;i++){var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}}
3987if(!prop){return;}
3988array=Array.isArray(prop)?prop:null;}
3989if(array){var coll=Polymer.Collection.get(array);var old,key;if(last[0]=='#'){key=last;old=coll.getItem(key);last=array.indexOf(old);coll.setItem(key,value);}else if(parseInt(last,10)==last){old=prop[last];key=coll.getKey(old);parts[i]=key;coll.setItem(key,value);}}
3990prop[last]=value;if(!root){this._notifyPath(parts.join('.'),value);}}else{prop[path]=value;}},get:function(path,root){return this._get(path,root);},_get:function(path,root,info){var prop=root||this;var parts=this._getPathParts(path);var array;for(var i=0;i<parts.length;i++){if(!prop){return;}
3991var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(info&&array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}}
3992array=Array.isArray(prop)?prop:null;}
3993if(info){info.path=parts.join('.');}
3994return prop;},_pathEffector:function(path,value){var model=Path.root(path);var fx$=this._propertyEffects&&this._propertyEffects[model];if(fx$){for(var i=0,fx;i<fx$.length&&(fx=fx$[i]);i++){var fxFn=fx.pathFn;if(fxFn){fxFn.call(this,path,value,fx.effect);}}}
3995if(this._boundPaths){this._notifyBoundPaths(path,value);}},_annotationPathEffect:function(path,value,effect){if(Path.matches(effect.value,false,path)){Polymer.Bind._annotationEffect.call(this,path,value,effect);}else if(!effect.negate&&Path.isDescendant(effect.value,path)){var node=this._nodes[effect.index];if(node&&node._notifyPath){var newPath=Path.translate(effect.value,effect.name,path);node._notifyPath(newPath,value,true);}}},_complexObserverPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._complexObserverEffect.call(this,path,value,effect);}},_computePathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._computeEffect.call(this,path,value,effect);}},_annotatedComputationPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._annotatedComputationEffect.call(this,path,value,effect);}},linkPaths:function(to,from){this._boundPaths=this._boundPaths||{};if(from){this._boundPaths[to]=from;}else{this.unlinkPaths(to);}},unlinkPaths:function(path){if(this._boundPaths){delete this._boundPaths[path];}},_notifyBoundPaths:function(path,value){for(var a in this._boundPaths){var b=this._boundPaths[a];if(Path.isDescendant(a,path)){this._notifyPath(Path.translate(a,b,path),value);}else if(Path.isDescendant(b,path)){this._notifyPath(Path.translate(b,a,path),value);}}},_notifyPathUp:function(path,value){var rootName=Path.root(path);var dashCaseName=Polymer.CaseMap.camelToDashCase(rootName);var eventName=dashCaseName+this._EVENT_CHANGED;this.fire(eventName,{path:path,value:value},{bubbles:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_EVENT_CHANGED:'-changed',notifySplices:function(path,splices){var info={};var array=this._get(path,this,info);this._notifySplices(array,info.path,splices);},_notifySplices:function(array,path,splices){var change={keySplices:Polymer.Collection.applySplices(array,splices),indexSplices:splices};var splicesPath=path+'.splices';this._notifyPath(splicesPath,change);this._notifyPath(path+'.length',array.length);this.__data__[splicesPath]={keySplices:null,indexSplices:null};},_notifySplice:function(array,path,index,added,removed){this._notifySplices(array,path,[{index:index,addedCount:added,removed:removed,object:array,type:'splice'}]);},push:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var len=array.length;var ret=array.push.apply(array,args);if(args.length){this._notifySplice(array,info.path,len,args.length,[]);}
3996return ret;},pop:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.pop.apply(array,args);if(hadLength){this._notifySplice(array,info.path,array.length,0,[ret]);}
3997return ret;},splice:function(path,start){var info={};var array=this._get(path,this,info);if(start<0){start=array.length-Math.floor(-start);}else{start=Math.floor(start);}
3998if(!start){start=0;}
3999var args=Array.prototype.slice.call(arguments,1);var ret=array.splice.apply(array,args);var addedCount=Math.max(args.length-2,0);if(addedCount||ret.length){this._notifySplice(array,info.path,start,addedCount,ret);}
4000return ret;},shift:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.shift.apply(array,args);if(hadLength){this._notifySplice(array,info.path,0,0,[ret]);}
4001return ret;},unshift:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var ret=array.unshift.apply(array,args);if(args.length){this._notifySplice(array,info.path,0,args.length,[]);}
4002return ret;},prepareModelNotifyPath:function(model){this.mixin(model,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts});}});}());Polymer.Base._addFeature({resolveUrl:function(url){var module=Polymer.DomModule.import(this.is);var root='';if(module){var assetPath=module.getAttribute('assetpath')||'';root=Polymer.ResolveUrl.resolveUrl(assetPath,module.ownerDocument.baseURI);}
4003return Polymer.ResolveUrl.resolveUrl(url,root);}});Polymer.CssParse=function(){return{parse:function(text){text=this._clean(text);return this._parseCss(this._lex(text),text);},_clean:function(cssText){return cssText.replace(this._rx.comments,'').replace(this._rx.port,'');},_lex:function(text){var root={start:0,end:text.length};var n=root;for(var i=0,l=text.length;i<l;i++){switch(text[i]){case this.OPEN_BRACE:if(!n.rules){n.rules=[];}
4004var p=n;var previous=p.rules[p.rules.length-1];n={start:i+1,parent:p,previous:previous};p.rules.push(n);break;case this.CLOSE_BRACE:n.end=i+1;n=n.parent||root;break;}}
4005return root;},_parseCss:function(node,text){var t=text.substring(node.start,node.end-1);node.parsedCssText=node.cssText=t.trim();if(node.parent){var ss=node.previous?node.previous.end:node.parent.start;t=text.substring(ss,node.start-1);t=this._expandUnicodeEscapes(t);t=t.replace(this._rx.multipleSpaces,' ');t=t.substring(t.lastIndexOf(';')+1);var s=node.parsedSelector=node.selector=t.trim();node.atRule=s.indexOf(this.AT_START)===0;if(node.atRule){if(s.indexOf(this.MEDIA_START)===0){node.type=this.types.MEDIA_RULE;}else if(s.match(this._rx.keyframesRule)){node.type=this.types.KEYFRAMES_RULE;node.keyframesName=node.selector.split(this._rx.multipleSpaces).pop();}}else{if(s.indexOf(this.VAR_START)===0){node.type=this.types.MIXIN_RULE;}else{node.type=this.types.STYLE_RULE;}}}
4006var r$=node.rules;if(r$){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this._parseCss(r,text);}}
4007return node;},_expandUnicodeEscapes:function(s){return s.replace(/\\([0-9a-f]{1,6})\s/gi,function(){var code=arguments[1],repeat=6-code.length;while(repeat--){code='0'+code;}
4008return'\\'+code;});},stringify:function(node,preserveProperties,text){text=text||'';var cssText='';if(node.cssText||node.rules){var r$=node.rules;if(r$&&!this._hasMixinRules(r$)){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){cssText=this.stringify(r,preserveProperties,cssText);}}else{cssText=preserveProperties?node.cssText:this.removeCustomProps(node.cssText);cssText=cssText.trim();if(cssText){cssText='  '+cssText+'\n';}}}
4009if(cssText){if(node.selector){text+=node.selector+' '+this.OPEN_BRACE+'\n';}
4010text+=cssText;if(node.selector){text+=this.CLOSE_BRACE+'\n\n';}}
4011return text;},_hasMixinRules:function(rules){return rules[0].selector.indexOf(this.VAR_START)===0;},removeCustomProps:function(cssText){cssText=this.removeCustomPropAssignment(cssText);return this.removeCustomPropApply(cssText);},removeCustomPropAssignment:function(cssText){return cssText.replace(this._rx.customProp,'').replace(this._rx.mixinProp,'');},removeCustomPropApply:function(cssText){return cssText.replace(this._rx.mixinApply,'').replace(this._rx.varApply,'');},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1000},OPEN_BRACE:'{',CLOSE_BRACE:'}',_rx:{comments:/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START:'--',MEDIA_START:'@media',AT_START:'@'};}();Polymer.StyleUtil=function(){var settings=Polymer.Settings;return{NATIVE_VARIABLES:Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:'style, link[rel=import][type~=css], template',INCLUDE_ATTR:'include',toCssText:function(rules,callback){if(typeof rules==='string'){rules=this.parser.parse(rules);}
4012if(callback){this.forEachRule(rules,callback);}
4013return this.parser.stringify(rules,this.NATIVE_VARIABLES);},forRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback);}}},forActiveRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback,true);}}},rulesForStyle:function(style){if(!style.__cssRules&&style.textContent){style.__cssRules=this.parser.parse(style.textContent);}
4014return style.__cssRules;},isKeyframesSelector:function(rule){return rule.parent&&rule.parent.type===this.ruleTypes.KEYFRAMES_RULE;},forEachRuleInStyle:function(style,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){var rules=this.rulesForStyle(style);var styleCallback,keyframeCallback;if(styleRuleCallback){styleCallback=function(rule){styleRuleCallback(rule,style);};}
4015if(keyframesRuleCallback){keyframeCallback=function(rule){keyframesRuleCallback(rule,style);};}
4016this.forEachRule(rules,styleCallback,keyframeCallback,onlyActiveRules);},forEachRule:function(node,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){if(!node){return;}
4017var skipRules=false;if(onlyActiveRules){if(node.type===this.ruleTypes.MEDIA_RULE){var matchMedia=node.selector.match(this.rx.MEDIA_MATCH);if(matchMedia){if(!window.matchMedia(matchMedia[1]).matches){skipRules=true;}}}}
4018if(node.type===this.ruleTypes.STYLE_RULE){styleRuleCallback(node);}else if(keyframesRuleCallback&&node.type===this.ruleTypes.KEYFRAMES_RULE){keyframesRuleCallback(node);}else if(node.type===this.ruleTypes.MIXIN_RULE){skipRules=true;}
4019var r$=node.rules;if(r$&&!skipRules){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this.forEachRule(r,styleRuleCallback,keyframesRuleCallback,onlyActiveRules);}}},applyCss:function(cssText,moniker,target,contextNode){var style=this.createScopeStyle(cssText,moniker);return this.applyStyle(style,target,contextNode);},applyStyle:function(style,target,contextNode){target=target||document.head;var after=contextNode&&contextNode.nextSibling||target.firstChild;this.__lastHeadApplyNode=style;return target.insertBefore(style,after);},createScopeStyle:function(cssText,moniker){var style=document.createElement('style');if(moniker){style.setAttribute('scope',moniker);}
4020style.textContent=cssText;return style;},__lastHeadApplyNode:null,applyStylePlaceHolder:function(moniker){var placeHolder=document.createComment(' Shady DOM styles for '+moniker+' ');var after=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null;var scope=document.head;scope.insertBefore(placeHolder,after||scope.firstChild);this.__lastHeadApplyNode=placeHolder;return placeHolder;},cssFromModules:function(moduleIds,warnIfNotFound){var modules=moduleIds.trim().split(' ');var cssText='';for(var i=0;i<modules.length;i++){cssText+=this.cssFromModule(modules[i],warnIfNotFound);}
4021return cssText;},cssFromModule:function(moduleId,warnIfNotFound){var m=Polymer.DomModule.import(moduleId);if(m&&!m._cssText){m._cssText=this.cssFromElement(m);}
4022if(!m&&warnIfNotFound){console.warn('Could not find style data in module named',moduleId);}
4023return m&&m._cssText||'';},cssFromElement:function(element){var cssText='';var content=element.content||element;var e$=Polymer.TreeApi.arrayCopy(content.querySelectorAll(this.MODULE_STYLES_SELECTOR));for(var i=0,e;i<e$.length;i++){e=e$[i];if(e.localName==='template'){if(!e.hasAttribute('preserve-content')){cssText+=this.cssFromElement(e);}}else{if(e.localName==='style'){var include=e.getAttribute(this.INCLUDE_ATTR);if(include){cssText+=this.cssFromModules(include,true);}
4024e=e.__appliedElement||e;e.parentNode.removeChild(e);cssText+=this.resolveCss(e.textContent,element.ownerDocument);}else if(e.import&&e.import.body){cssText+=this.resolveCss(e.import.body.textContent,e.import);}}}
4025return cssText;},styleIncludesToTemplate:function(targetTemplate){var styles=targetTemplate.content.querySelectorAll('style[include]');for(var i=0,s;i<styles.length;i++){s=styles[i];s.parentNode.insertBefore(this._includesToFragment(s.getAttribute('include')),s);}},_includesToFragment:function(styleIncludes){var includeArray=styleIncludes.trim().split(' ');var frag=document.createDocumentFragment();for(var i=0;i<includeArray.length;i++){var t=Polymer.DomModule.import(includeArray[i],'template');if(t){this._addStylesToFragment(frag,t.content);}}
4026return frag;},_addStylesToFragment:function(frag,source){var s$=source.querySelectorAll('style');for(var i=0,s;i<s$.length;i++){s=s$[i];var include=s.getAttribute('include');if(include){frag.appendChild(this._includesToFragment(include));}
4027if(s.textContent){frag.appendChild(s.cloneNode(true));}}},isTargetedBuild:function(buildType){return settings.useNativeShadow?buildType==='shadow':buildType==='shady';},cssBuildTypeForModule:function(module){var dm=Polymer.DomModule.import(module);if(dm){return this.getCssBuildType(dm);}},getCssBuildType:function(element){return element.getAttribute('css-build');},_findMatchingParen:function(text,start){var level=0;for(var i=start,l=text.length;i<l;i++){switch(text[i]){case'(':level++;break;case')':if(--level===0){return i;}
4028break;}}
4029return-1;},processVariableAndFallback:function(str,callback){var start=str.indexOf('var(');if(start===-1){return callback(str,'','','');}
4030var end=this._findMatchingParen(str,start+3);var inner=str.substring(start+4,end);var prefix=str.substring(0,start);var suffix=this.processVariableAndFallback(str.substring(end+1),callback);var comma=inner.indexOf(',');if(comma===-1){return callback(prefix,inner.trim(),'',suffix);}
4031var value=inner.substring(0,comma).trim();var fallback=inner.substring(comma+1).trim();return callback(prefix,value,fallback,suffix);},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]|$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@media[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:'(?:^|[^.#[:])',HOST_SUFFIX:'($|[.:[\\s>+~])'},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types};}();Polymer.StyleTransformer=function(){var styleUtil=Polymer.StyleUtil;var settings=Polymer.Settings;var api={dom:function(node,scope,useAttr,shouldRemoveScope){this._transformDom(node,scope||'',useAttr,shouldRemoveScope);},_transformDom:function(node,selector,useAttr,shouldRemoveScope){if(node.setAttribute){this.element(node,selector,useAttr,shouldRemoveScope);}
4032var c$=Polymer.dom(node).childNodes;for(var i=0;i<c$.length;i++){this._transformDom(c$[i],selector,useAttr,shouldRemoveScope);}},element:function(element,scope,useAttr,shouldRemoveScope){if(useAttr){if(shouldRemoveScope){element.removeAttribute(SCOPE_NAME);}else{element.setAttribute(SCOPE_NAME,scope);}}else{if(scope){if(element.classList){if(shouldRemoveScope){element.classList.remove(SCOPE_NAME);element.classList.remove(scope);}else{element.classList.add(SCOPE_NAME);element.classList.add(scope);}}else if(element.getAttribute){var c=element.getAttribute(CLASS);if(shouldRemoveScope){if(c){element.setAttribute(CLASS,c.replace(SCOPE_NAME,'').replace(scope,''));}}else{element.setAttribute(CLASS,(c?c+' ':'')+SCOPE_NAME+' '+scope);}}}}},elementStyles:function(element,callback){var styles=element._styles;var cssText='';var cssBuildType=element.__cssBuild;var passthrough=settings.useNativeShadow||cssBuildType==='shady';var cb;if(passthrough){var self=this;cb=function(rule){rule.selector=self._slottedToContent(rule.selector);rule.selector=rule.selector.replace(ROOT,':host > *');if(callback){callback(rule);}};}
4033for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){var rules=styleUtil.rulesForStyle(s);cssText+=passthrough?styleUtil.toCssText(rules,cb):this.css(rules,element.is,element.extends,callback,element._scopeCssViaAttr)+'\n\n';}
4034return cssText.trim();},css:function(rules,scope,ext,callback,useAttr){var hostScope=this._calcHostScope(scope,ext);scope=this._calcElementScope(scope,useAttr);var self=this;return styleUtil.toCssText(rules,function(rule){if(!rule.isScoped){self.rule(rule,scope,hostScope);rule.isScoped=true;}
4035if(callback){callback(rule,scope,hostScope);}});},_calcElementScope:function(scope,useAttr){if(scope){return useAttr?CSS_ATTR_PREFIX+scope+CSS_ATTR_SUFFIX:CSS_CLASS_PREFIX+scope;}else{return'';}},_calcHostScope:function(scope,ext){return ext?'[is='+scope+']':scope;},rule:function(rule,scope,hostScope){this._transformRule(rule,this._transformComplexSelector,scope,hostScope);},_transformRule:function(rule,transformer,scope,hostScope){rule.selector=rule.transformedSelector=this._transformRuleCss(rule,transformer,scope,hostScope);},_transformRuleCss:function(rule,transformer,scope,hostScope){var p$=rule.selector.split(COMPLEX_SELECTOR_SEP);if(!styleUtil.isKeyframesSelector(rule)){for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){p$[i]=transformer.call(this,p,scope,hostScope);}}
4036return p$.join(COMPLEX_SELECTOR_SEP);},_transformComplexSelector:function(selector,scope,hostScope){var stop=false;var hostContext=false;var self=this;selector=selector.trim();selector=this._slottedToContent(selector);selector=selector.replace(ROOT,':host > *');selector=selector.replace(CONTENT_START,HOST+' $1');selector=selector.replace(SIMPLE_SELECTOR_SEP,function(m,c,s){if(!stop){var info=self._transformCompoundSelector(s,c,scope,hostScope);stop=stop||info.stop;hostContext=hostContext||info.hostContext;c=info.combinator;s=info.value;}else{s=s.replace(SCOPE_JUMP,' ');}
4037return c+s;});if(hostContext){selector=selector.replace(HOST_CONTEXT_PAREN,function(m,pre,paren,post){return pre+paren+' '+hostScope+post+COMPLEX_SELECTOR_SEP+' '+pre+hostScope+paren+post;});}
4038return selector;},_transformCompoundSelector:function(selector,combinator,scope,hostScope){var jumpIndex=selector.search(SCOPE_JUMP);var hostContext=false;if(selector.indexOf(HOST_CONTEXT)>=0){hostContext=true;}else if(selector.indexOf(HOST)>=0){selector=this._transformHostSelector(selector,hostScope);}else if(jumpIndex!==0){selector=scope?this._transformSimpleSelector(selector,scope):selector;}
4039if(selector.indexOf(CONTENT)>=0){combinator='';}
4040var stop;if(jumpIndex>=0){selector=selector.replace(SCOPE_JUMP,' ');stop=true;}
4041return{value:selector,combinator:combinator,stop:stop,hostContext:hostContext};},_transformSimpleSelector:function(selector,scope){var p$=selector.split(PSEUDO_PREFIX);p$[0]+=scope;return p$.join(PSEUDO_PREFIX);},_transformHostSelector:function(selector,hostScope){var m=selector.match(HOST_PAREN);var paren=m&&m[2].trim()||'';if(paren){if(!paren[0].match(SIMPLE_SELECTOR_PREFIX)){var typeSelector=paren.split(SIMPLE_SELECTOR_PREFIX)[0];if(typeSelector===hostScope){return paren;}else{return SELECTOR_NO_MATCH;}}else{return selector.replace(HOST_PAREN,function(m,host,paren){return hostScope+paren;});}}else{return selector.replace(HOST,hostScope);}},documentRule:function(rule){rule.selector=rule.parsedSelector;this.normalizeRootSelector(rule);if(!settings.useNativeShadow){this._transformRule(rule,this._transformDocumentSelector);}},normalizeRootSelector:function(rule){rule.selector=rule.selector.replace(ROOT,'html');},_transformDocumentSelector:function(selector){return selector.match(SCOPE_JUMP)?this._transformComplexSelector(selector,SCOPE_DOC_SELECTOR):this._transformSimpleSelector(selector.trim(),SCOPE_DOC_SELECTOR);},_slottedToContent:function(cssText){return cssText.replace(SLOTTED_PAREN,CONTENT+'> $1');},SCOPE_NAME:'style-scope'};var SCOPE_NAME=api.SCOPE_NAME;var SCOPE_DOC_SELECTOR=':not(['+SCOPE_NAME+'])'+':not(.'+SCOPE_NAME+')';var COMPLEX_SELECTOR_SEP=',';var SIMPLE_SELECTOR_SEP=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g;var SIMPLE_SELECTOR_PREFIX=/[[.:#*]/;var HOST=':host';var ROOT=':root';var HOST_PAREN=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/;var HOST_CONTEXT=':host-context';var HOST_CONTEXT_PAREN=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;var CONTENT='::content';var SCOPE_JUMP=/::content|::shadow|\/deep\//;var CSS_CLASS_PREFIX='.';var CSS_ATTR_PREFIX='['+SCOPE_NAME+'~=';var CSS_ATTR_SUFFIX=']';var PSEUDO_PREFIX=':';var CLASS='class';var CONTENT_START=new RegExp('^('+CONTENT+')');var SELECTOR_NO_MATCH='should_not_match';var SLOTTED_PAREN=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;return api;}();Polymer.StyleExtends=function(){var styleUtil=Polymer.StyleUtil;return{hasExtends:function(cssText){return Boolean(cssText.match(this.rx.EXTEND));},transform:function(style){var rules=styleUtil.rulesForStyle(style);var self=this;styleUtil.forEachRule(rules,function(rule){self._mapRuleOntoParent(rule);if(rule.parent){var m;while(m=self.rx.EXTEND.exec(rule.cssText)){var extend=m[1];var extendor=self._findExtendor(extend,rule);if(extendor){self._extendRule(rule,extendor);}}}
4042rule.cssText=rule.cssText.replace(self.rx.EXTEND,'');});return styleUtil.toCssText(rules,function(rule){if(rule.selector.match(self.rx.STRIP)){rule.cssText='';}},true);},_mapRuleOntoParent:function(rule){if(rule.parent){var map=rule.parent.map||(rule.parent.map={});var parts=rule.selector.split(',');for(var i=0,p;i<parts.length;i++){p=parts[i];map[p.trim()]=rule;}
4043return map;}},_findExtendor:function(extend,rule){return rule.parent&&rule.parent.map&&rule.parent.map[extend]||this._findExtendor(extend,rule.parent);},_extendRule:function(target,source){if(target.parent!==source.parent){this._cloneAndAddRuleToParent(source,target.parent);}
4044target.extends=target.extends||[];target.extends.push(source);source.selector=source.selector.replace(this.rx.STRIP,'');source.selector=(source.selector&&source.selector+',\n')+target.selector;if(source.extends){source.extends.forEach(function(e){this._extendRule(target,e);},this);}},_cloneAndAddRuleToParent:function(rule,parent){rule=Object.create(rule);rule.parent=parent;if(rule.extends){rule.extends=rule.extends.slice();}
4045parent.rules.push(rule);},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}};}();Polymer.ApplyShim=function(){'use strict';var styleUtil=Polymer.StyleUtil;var MIXIN_MATCH=styleUtil.rx.MIXIN_MATCH;var VAR_ASSIGN=styleUtil.rx.VAR_ASSIGN;var BAD_VAR=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g;var APPLY_NAME_CLEAN=/;\s*/m;var INITIAL_INHERIT=/^\s*(initial)|(inherit)\s*$/;var MIXIN_VAR_SEP='_-_';var mixinMap={};function mapSet(name,props){name=name.trim();mixinMap[name]={properties:props,dependants:{}};}
4046function mapGet(name){name=name.trim();return mixinMap[name];}
4047function replaceInitialOrInherit(property,value){var match=INITIAL_INHERIT.exec(value);if(match){if(match[1]){value=ApplyShim._getInitialValueForProperty(property);}else{value='apply-shim-inherit';}}
4048return value;}
4049function cssTextToMap(text){var props=text.split(';');var property,value;var out={};for(var i=0,p,sp;i<props.length;i++){p=props[i];if(p){sp=p.split(':');if(sp.length>1){property=sp[0].trim();value=replaceInitialOrInherit(property,sp.slice(1).join(':'));out[property]=value;}}}
4050return out;}
4051function invalidateMixinEntry(mixinEntry){var currentProto=ApplyShim.__currentElementProto;var currentElementName=currentProto&&currentProto.is;for(var elementName in mixinEntry.dependants){if(elementName!==currentElementName){mixinEntry.dependants[elementName].__applyShimInvalid=true;}}}
4052function produceCssProperties(matchText,propertyName,valueProperty,valueMixin){if(valueProperty){styleUtil.processVariableAndFallback(valueProperty,function(prefix,value){if(value&&mapGet(value)){valueMixin='@apply '+value+';';}});}
4053if(!valueMixin){return matchText;}
4054var mixinAsProperties=consumeCssProperties(valueMixin);var prefix=matchText.slice(0,matchText.indexOf('--'));var mixinValues=cssTextToMap(mixinAsProperties);var combinedProps=mixinValues;var mixinEntry=mapGet(propertyName);var oldProps=mixinEntry&&mixinEntry.properties;if(oldProps){combinedProps=Object.create(oldProps);combinedProps=Polymer.Base.mixin(combinedProps,mixinValues);}else{mapSet(propertyName,combinedProps);}
4055var out=[];var p,v;var needToInvalidate=false;for(p in combinedProps){v=mixinValues[p];if(v===undefined){v='initial';}
4056if(oldProps&&!(p in oldProps)){needToInvalidate=true;}
4057out.push(propertyName+MIXIN_VAR_SEP+p+': '+v);}
4058if(needToInvalidate){invalidateMixinEntry(mixinEntry);}
4059if(mixinEntry){mixinEntry.properties=combinedProps;}
4060if(valueProperty){prefix=matchText+';'+prefix;}
4061return prefix+out.join('; ')+';';}
4062function fixVars(matchText,varA,varB){return'var('+varA+','+'var('+varB+'))';}
4063function atApplyToCssProperties(mixinName,fallbacks){mixinName=mixinName.replace(APPLY_NAME_CLEAN,'');var vars=[];var mixinEntry=mapGet(mixinName);if(!mixinEntry){mapSet(mixinName,{});mixinEntry=mapGet(mixinName);}
4064if(mixinEntry){var currentProto=ApplyShim.__currentElementProto;if(currentProto){mixinEntry.dependants[currentProto.is]=currentProto;}
4065var p,parts,f;for(p in mixinEntry.properties){f=fallbacks&&fallbacks[p];parts=[p,': var(',mixinName,MIXIN_VAR_SEP,p];if(f){parts.push(',',f);}
4066parts.push(')');vars.push(parts.join(''));}}
4067return vars.join('; ');}
4068function consumeCssProperties(text){var m;while(m=MIXIN_MATCH.exec(text)){var matchText=m[0];var mixinName=m[1];var idx=m.index;var applyPos=idx+matchText.indexOf('@apply');var afterApplyPos=idx+matchText.length;var textBeforeApply=text.slice(0,applyPos);var textAfterApply=text.slice(afterApplyPos);var defaults=cssTextToMap(textBeforeApply);var replacement=atApplyToCssProperties(mixinName,defaults);text=[textBeforeApply,replacement,textAfterApply].join('');MIXIN_MATCH.lastIndex=idx+replacement.length;}
4069return text;}
4070var ApplyShim={_measureElement:null,_map:mixinMap,_separator:MIXIN_VAR_SEP,transform:function(styles,elementProto){this.__currentElementProto=elementProto;styleUtil.forRulesInStyles(styles,this._boundFindDefinitions);styleUtil.forRulesInStyles(styles,this._boundFindApplications);if(elementProto){elementProto.__applyShimInvalid=false;}
4071this.__currentElementProto=null;},_findDefinitions:function(rule){var cssText=rule.parsedCssText;cssText=cssText.replace(BAD_VAR,fixVars);cssText=cssText.replace(VAR_ASSIGN,produceCssProperties);rule.cssText=cssText;if(rule.selector===':root'){rule.selector=':host > *';}},_findApplications:function(rule){rule.cssText=consumeCssProperties(rule.cssText);},transformRule:function(rule){this._findDefinitions(rule);this._findApplications(rule);},_getInitialValueForProperty:function(property){if(!this._measureElement){this._measureElement=document.createElement('meta');this._measureElement.style.all='initial';document.head.appendChild(this._measureElement);}
4072return window.getComputedStyle(this._measureElement).getPropertyValue(property);}};ApplyShim._boundTransformRule=ApplyShim.transformRule.bind(ApplyShim);ApplyShim._boundFindDefinitions=ApplyShim._findDefinitions.bind(ApplyShim);ApplyShim._boundFindApplications=ApplyShim._findApplications.bind(ApplyShim);return ApplyShim;}();(function(){var prepElement=Polymer.Base._prepElement;var nativeShadow=Polymer.Settings.useNativeShadow;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var styleExtends=Polymer.StyleExtends;var applyShim=Polymer.ApplyShim;var settings=Polymer.Settings;Polymer.Base._addFeature({_prepElement:function(element){if(this._encapsulateStyle&&this.__cssBuild!=='shady'){styleTransformer.element(element,this.is,this._scopeCssViaAttr);}
4073prepElement.call(this,element);},_prepStyles:function(){if(this._encapsulateStyle===undefined){this._encapsulateStyle=!nativeShadow;}
4074if(!nativeShadow){this._scopeStyle=styleUtil.applyStylePlaceHolder(this.is);}
4075this.__cssBuild=styleUtil.cssBuildTypeForModule(this.is);},_prepShimStyles:function(){if(this._template){var hasTargetedCssBuild=styleUtil.isTargetedBuild(this.__cssBuild);if(settings.useNativeCSSProperties&&this.__cssBuild==='shadow'&&hasTargetedCssBuild){if(settings.preserveStyleIncludes){styleUtil.styleIncludesToTemplate(this._template);}
4076return;}
4077this._styles=this._styles||this._collectStyles();if(settings.useNativeCSSProperties&&!this.__cssBuild){applyShim.transform(this._styles,this);}
4078var cssText=settings.useNativeCSSProperties&&hasTargetedCssBuild?this._styles.length&&this._styles[0].textContent.trim():styleTransformer.elementStyles(this);this._prepStyleProperties();if(!this._needsStyleProperties()&&cssText){styleUtil.applyCss(cssText,this.is,nativeShadow?this._template.content:null,this._scopeStyle);}}else{this._styles=[];}},_collectStyles:function(){var styles=[];var cssText='',m$=this.styleModules;if(m$){for(var i=0,l=m$.length,m;i<l&&(m=m$[i]);i++){cssText+=styleUtil.cssFromModule(m);}}
4079cssText+=styleUtil.cssFromModule(this.is);var p=this._template&&this._template.parentNode;if(this._template&&(!p||p.id.toLowerCase()!==this.is)){cssText+=styleUtil.cssFromElement(this._template);}
4080if(cssText){var style=document.createElement('style');style.textContent=cssText;if(styleExtends.hasExtends(style.textContent)){cssText=styleExtends.transform(style);}
4081styles.push(style);}
4082return styles;},_elementAdd:function(node){if(this._encapsulateStyle){if(node.__styleScoped){node.__styleScoped=false;}else{styleTransformer.dom(node,this.is,this._scopeCssViaAttr);}}},_elementRemove:function(node){if(this._encapsulateStyle){styleTransformer.dom(node,this.is,this._scopeCssViaAttr,true);}},scopeSubtree:function(container,shouldObserve){if(nativeShadow){return;}
4083var self=this;var scopify=function(node){if(node.nodeType===Node.ELEMENT_NODE){var className=node.getAttribute('class');node.setAttribute('class',self._scopeElementClass(node,className));var n$=node.querySelectorAll('*');for(var i=0,n;i<n$.length&&(n=n$[i]);i++){className=n.getAttribute('class');n.setAttribute('class',self._scopeElementClass(n,className));}}};scopify(container);if(shouldObserve){var mo=new MutationObserver(function(mxns){for(var i=0,m;i<mxns.length&&(m=mxns[i]);i++){if(m.addedNodes){for(var j=0;j<m.addedNodes.length;j++){scopify(m.addedNodes[j]);}}}});mo.observe(container,{childList:true,subtree:true});return mo;}}});}());Polymer.StyleProperties=function(){'use strict';var matchesSelector=Polymer.DomApi.matchesSelector;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var IS_IE=navigator.userAgent.match('Trident');var settings=Polymer.Settings;return{decorateStyles:function(styles,scope){var self=this,props={},keyframes=[],ruleIndex=0;var scopeSelector=styleTransformer._calcHostScope(scope.is,scope.extends);styleUtil.forRulesInStyles(styles,function(rule,style){self.decorateRule(rule);rule.index=ruleIndex++;self.whenHostOrRootRule(scope,rule,style,function(info){if(rule.parent.type===styleUtil.ruleTypes.MEDIA_RULE){scope.__notStyleScopeCacheable=true;}
4084if(info.isHost){var hostContextOrFunction=info.selector.split(' ').some(function(s){return s.indexOf(scopeSelector)===0&&s.length!==scopeSelector.length;});scope.__notStyleScopeCacheable=scope.__notStyleScopeCacheable||hostContextOrFunction;}});self.collectPropertiesInCssText(rule.propertyInfo.cssText,props);},function onKeyframesRule(rule){keyframes.push(rule);});styles._keyframes=keyframes;var names=[];for(var i in props){names.push(i);}
4085return names;},decorateRule:function(rule){if(rule.propertyInfo){return rule.propertyInfo;}
4086var info={},properties={};var hasProperties=this.collectProperties(rule,properties);if(hasProperties){info.properties=properties;rule.rules=null;}
4087info.cssText=this.collectCssText(rule);rule.propertyInfo=info;return info;},collectProperties:function(rule,properties){var info=rule.propertyInfo;if(info){if(info.properties){Polymer.Base.mixin(properties,info.properties);return true;}}else{var m,rx=this.rx.VAR_ASSIGN;var cssText=rule.parsedCssText;var value;var any;while(m=rx.exec(cssText)){value=(m[2]||m[3]).trim();if(value!=='inherit'){properties[m[1].trim()]=value;}
4088any=true;}
4089return any;}},collectCssText:function(rule){return this.collectConsumingCssText(rule.parsedCssText);},collectConsumingCssText:function(cssText){return cssText.replace(this.rx.BRACKETED,'').replace(this.rx.VAR_ASSIGN,'');},collectPropertiesInCssText:function(cssText,props){var m;while(m=this.rx.VAR_CONSUMED.exec(cssText)){var name=m[1];if(m[2]!==':'){props[name]=true;}}},reify:function(props){var names=Object.getOwnPropertyNames(props);for(var i=0,n;i<names.length;i++){n=names[i];props[n]=this.valueForProperty(props[n],props);}},valueForProperty:function(property,props){if(property){if(property.indexOf(';')>=0){property=this.valueForProperties(property,props);}else{var self=this;var fn=function(prefix,value,fallback,suffix){var propertyValue=self.valueForProperty(props[value],props);if(!propertyValue||propertyValue==='initial'){propertyValue=self.valueForProperty(props[fallback]||fallback,props)||fallback;}else if(propertyValue==='apply-shim-inherit'){propertyValue='inherit';}
4090return prefix+(propertyValue||'')+suffix;};property=styleUtil.processVariableAndFallback(property,fn);}}
4091return property&&property.trim()||'';},valueForProperties:function(property,props){var parts=property.split(';');for(var i=0,p,m;i<parts.length;i++){if(p=parts[i]){this.rx.MIXIN_MATCH.lastIndex=0;m=this.rx.MIXIN_MATCH.exec(p);if(m){p=this.valueForProperty(props[m[1]],props);}else{var colon=p.indexOf(':');if(colon!==-1){var pp=p.substring(colon);pp=pp.trim();pp=this.valueForProperty(pp,props)||pp;p=p.substring(0,colon)+pp;}}
4092parts[i]=p&&p.lastIndexOf(';')===p.length-1?p.slice(0,-1):p||'';}}
4093return parts.join(';');},applyProperties:function(rule,props){var output='';if(!rule.propertyInfo){this.decorateRule(rule);}
4094if(rule.propertyInfo.cssText){output=this.valueForProperties(rule.propertyInfo.cssText,props);}
4095rule.cssText=output;},applyKeyframeTransforms:function(rule,keyframeTransforms){var input=rule.cssText;var output=rule.cssText;if(rule.hasAnimations==null){rule.hasAnimations=this.rx.ANIMATION_MATCH.test(input);}
4096if(rule.hasAnimations){var transform;if(rule.keyframeNamesToTransform==null){rule.keyframeNamesToTransform=[];for(var keyframe in keyframeTransforms){transform=keyframeTransforms[keyframe];output=transform(input);if(input!==output){input=output;rule.keyframeNamesToTransform.push(keyframe);}}}else{for(var i=0;i<rule.keyframeNamesToTransform.length;++i){transform=keyframeTransforms[rule.keyframeNamesToTransform[i]];input=transform(input);}
4097output=input;}}
4098rule.cssText=output;},propertyDataFromStyles:function(styles,element){var props={},self=this;var o=[];styleUtil.forActiveRulesInStyles(styles,function(rule){if(!rule.propertyInfo){self.decorateRule(rule);}
4099var selectorToMatch=rule.transformedSelector||rule.parsedSelector;if(element&&rule.propertyInfo.properties&&selectorToMatch){if(matchesSelector.call(element,selectorToMatch)){self.collectProperties(rule,props);addToBitMask(rule.index,o);}}});return{properties:props,key:o};},_rootSelector:/:root|:host\s*>\s*\*/,_checkRoot:function(hostScope,selector){return Boolean(selector.match(this._rootSelector))||hostScope==='html'&&selector.indexOf('html')>-1;},whenHostOrRootRule:function(scope,rule,style,callback){if(!rule.propertyInfo){self.decorateRule(rule);}
4100if(!rule.propertyInfo.properties){return;}
4101var hostScope=scope.is?styleTransformer._calcHostScope(scope.is,scope.extends):'html';var parsedSelector=rule.parsedSelector;var isRoot=this._checkRoot(hostScope,parsedSelector);var isHost=!isRoot&&parsedSelector.indexOf(':host')===0;var cssBuild=scope.__cssBuild||style.__cssBuild;if(cssBuild==='shady'){isRoot=parsedSelector===hostScope+' > *.'+hostScope||parsedSelector.indexOf('html')>-1;isHost=!isRoot&&parsedSelector.indexOf(hostScope)===0;}
4102if(!isRoot&&!isHost){return;}
4103var selectorToMatch=hostScope;if(isHost){if(settings.useNativeShadow&&!rule.transformedSelector){rule.transformedSelector=styleTransformer._transformRuleCss(rule,styleTransformer._transformComplexSelector,scope.is,hostScope);}
4104selectorToMatch=rule.transformedSelector||rule.parsedSelector;}
4105if(isRoot&&hostScope==='html'){selectorToMatch=rule.transformedSelector||rule.parsedSelector;}
4106callback({selector:selectorToMatch,isHost:isHost,isRoot:isRoot});},hostAndRootPropertiesForScope:function(scope){var hostProps={},rootProps={},self=this;styleUtil.forActiveRulesInStyles(scope._styles,function(rule,style){self.whenHostOrRootRule(scope,rule,style,function(info){var element=scope._element||scope;if(matchesSelector.call(element,info.selector)){if(info.isHost){self.collectProperties(rule,hostProps);}else{self.collectProperties(rule,rootProps);}}});});return{rootProps:rootProps,hostProps:hostProps};},transformStyles:function(element,properties,scopeSelector){var self=this;var hostSelector=styleTransformer._calcHostScope(element.is,element.extends);var rxHostSelector=element.extends?'\\'+hostSelector.slice(0,-1)+'\\]':hostSelector;var hostRx=new RegExp(this.rx.HOST_PREFIX+rxHostSelector+this.rx.HOST_SUFFIX);var keyframeTransforms=this._elementKeyframeTransforms(element,scopeSelector);return styleTransformer.elementStyles(element,function(rule){self.applyProperties(rule,properties);if(!settings.useNativeShadow&&!Polymer.StyleUtil.isKeyframesSelector(rule)&&rule.cssText){self.applyKeyframeTransforms(rule,keyframeTransforms);self._scopeSelector(rule,hostRx,hostSelector,element._scopeCssViaAttr,scopeSelector);}});},_elementKeyframeTransforms:function(element,scopeSelector){var keyframesRules=element._styles._keyframes;var keyframeTransforms={};if(!settings.useNativeShadow&&keyframesRules){for(var i=0,keyframesRule=keyframesRules[i];i<keyframesRules.length;keyframesRule=keyframesRules[++i]){this._scopeKeyframes(keyframesRule,scopeSelector);keyframeTransforms[keyframesRule.keyframesName]=this._keyframesRuleTransformer(keyframesRule);}}
4107return keyframeTransforms;},_keyframesRuleTransformer:function(keyframesRule){return function(cssText){return cssText.replace(keyframesRule.keyframesNameRx,keyframesRule.transformedKeyframesName);};},_scopeKeyframes:function(rule,scopeId){rule.keyframesNameRx=new RegExp(rule.keyframesName,'g');rule.transformedKeyframesName=rule.keyframesName+'-'+scopeId;rule.transformedSelector=rule.transformedSelector||rule.selector;rule.selector=rule.transformedSelector.replace(rule.keyframesName,rule.transformedKeyframesName);},_scopeSelector:function(rule,hostRx,hostSelector,viaAttr,scopeId){rule.transformedSelector=rule.transformedSelector||rule.selector;var selector=rule.transformedSelector;var scope=viaAttr?'['+styleTransformer.SCOPE_NAME+'~='+scopeId+']':'.'+scopeId;var parts=selector.split(',');for(var i=0,l=parts.length,p;i<l&&(p=parts[i]);i++){parts[i]=p.match(hostRx)?p.replace(hostSelector,scope):scope+' '+p;}
4108rule.selector=parts.join(',');},applyElementScopeSelector:function(element,selector,old,viaAttr){var c=viaAttr?element.getAttribute(styleTransformer.SCOPE_NAME):element.getAttribute('class')||'';var v=old?c.replace(old,selector):(c?c+' ':'')+this.XSCOPE_NAME+' '+selector;if(c!==v){if(viaAttr){element.setAttribute(styleTransformer.SCOPE_NAME,v);}else{element.setAttribute('class',v);}}},applyElementStyle:function(element,properties,selector,style){var cssText=style?style.textContent||'':this.transformStyles(element,properties,selector);var s=element._customStyle;if(s&&!settings.useNativeShadow&&s!==style){s._useCount--;if(s._useCount<=0&&s.parentNode){s.parentNode.removeChild(s);}}
4109if(settings.useNativeShadow){if(element._customStyle){element._customStyle.textContent=cssText;style=element._customStyle;}else if(cssText){style=styleUtil.applyCss(cssText,selector,element.root,element._scopeStyle);}}else{if(!style){if(cssText){style=styleUtil.applyCss(cssText,selector,null,element._scopeStyle);}}else if(!style.parentNode){if(IS_IE&&cssText.indexOf('@media')>-1){style.textContent=cssText;}
4110styleUtil.applyStyle(style,null,element._scopeStyle);}}
4111if(style){style._useCount=style._useCount||0;if(element._customStyle!=style){style._useCount++;}
4112element._customStyle=style;}
4113return style;},mixinCustomStyle:function(props,customStyle){var v;for(var i in customStyle){v=customStyle[i];if(v||v===0){props[i]=v;}}},updateNativeStyleProperties:function(element,properties){var oldPropertyNames=element.__customStyleProperties;if(oldPropertyNames){for(var i=0;i<oldPropertyNames.length;i++){element.style.removeProperty(oldPropertyNames[i]);}}
4114var propertyNames=[];for(var p in properties){if(properties[p]!==null){element.style.setProperty(p,properties[p]);propertyNames.push(p);}}
4115element.__customStyleProperties=propertyNames;},rx:styleUtil.rx,XSCOPE_NAME:'x-scope'};function addToBitMask(n,bits){var o=parseInt(n/32);var v=1<<n%32;bits[o]=(bits[o]||0)|v;}}();(function(){Polymer.StyleCache=function(){this.cache={};};Polymer.StyleCache.prototype={MAX:100,store:function(is,data,keyValues,keyStyles){data.keyValues=keyValues;data.styles=keyStyles;var s$=this.cache[is]=this.cache[is]||[];s$.push(data);if(s$.length>this.MAX){s$.shift();}},retrieve:function(is,keyValues,keyStyles){var cache=this.cache[is];if(cache){for(var i=cache.length-1,data;i>=0;i--){data=cache[i];if(keyStyles===data.styles&&this._objectsEqual(keyValues,data.keyValues)){return data;}}}},clear:function(){this.cache={};},_objectsEqual:function(target,source){var t,s;for(var i in target){t=target[i],s=source[i];if(!(typeof t==='object'&&t?this._objectsStrictlyEqual(t,s):t===s)){return false;}}
4116if(Array.isArray(target)){return target.length===source.length;}
4117return true;},_objectsStrictlyEqual:function(target,source){return this._objectsEqual(target,source)&&this._objectsEqual(source,target);}};}());Polymer.StyleDefaults=function(){var styleProperties=Polymer.StyleProperties;var StyleCache=Polymer.StyleCache;var nativeVariables=Polymer.Settings.useNativeCSSProperties;var api={_styles:[],_properties:null,customStyle:{},_styleCache:new StyleCache(),_element:Polymer.DomApi.wrap(document.documentElement),addStyle:function(style){this._styles.push(style);this._properties=null;},get _styleProperties(){if(!this._properties){styleProperties.decorateStyles(this._styles,this);this._styles._scopeStyleProperties=null;this._properties=styleProperties.hostAndRootPropertiesForScope(this).rootProps;styleProperties.mixinCustomStyle(this._properties,this.customStyle);styleProperties.reify(this._properties);}
4118return this._properties;},hasStyleProperties:function(){return Boolean(this._properties);},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties;},updateStyles:function(properties){this._properties=null;if(properties){Polymer.Base.mixin(this.customStyle,properties);}
4119this._styleCache.clear();for(var i=0,s;i<this._styles.length;i++){s=this._styles[i];s=s.__importElement||s;s._apply();}
4120if(nativeVariables){styleProperties.updateNativeStyleProperties(document.documentElement,this.customStyle);}}};return api;}();(function(){'use strict';var serializeValueToAttribute=Polymer.Base.serializeValueToAttribute;var propertyUtils=Polymer.StyleProperties;var styleTransformer=Polymer.StyleTransformer;var styleDefaults=Polymer.StyleDefaults;var nativeShadow=Polymer.Settings.useNativeShadow;var nativeVariables=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFeature({_prepStyleProperties:function(){if(!nativeVariables){this._ownStylePropertyNames=this._styles&&this._styles.length?propertyUtils.decorateStyles(this._styles,this):null;}},customStyle:null,getComputedStyleValue:function(property){if(!nativeVariables&&!this._styleProperties){this._computeStyleProperties();}
4121return!nativeVariables&&this._styleProperties&&this._styleProperties[property]||getComputedStyle(this).getPropertyValue(property);},_setupStyleProperties:function(){this.customStyle={};this._styleCache=null;this._styleProperties=null;this._scopeSelector=null;this._ownStyleProperties=null;this._customStyle=null;},_needsStyleProperties:function(){return Boolean(!nativeVariables&&this._ownStylePropertyNames&&this._ownStylePropertyNames.length);},_validateApplyShim:function(){if(this.__applyShimInvalid){Polymer.ApplyShim.transform(this._styles,this.__proto__);var cssText=styleTransformer.elementStyles(this);if(nativeShadow){var templateStyle=this._template.content.querySelector('style');if(templateStyle){templateStyle.textContent=cssText;}}else{var shadyStyle=this._scopeStyle&&this._scopeStyle.nextSibling;if(shadyStyle){shadyStyle.textContent=cssText;}}}},_beforeAttached:function(){if((!this._scopeSelector||this.__stylePropertiesInvalid)&&this._needsStyleProperties()){this.__stylePropertiesInvalid=false;this._updateStyleProperties();}},_findStyleHost:function(){var e=this,root;while(root=Polymer.dom(e).getOwnerRoot()){if(Polymer.isInstance(root.host)){return root.host;}
4122e=root.host;}
4123return styleDefaults;},_updateStyleProperties:function(){var info,scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();}
4124if(!scope._styleCache){scope._styleCache=new Polymer.StyleCache();}
4125var scopeData=propertyUtils.propertyDataFromStyles(scope._styles,this);var scopeCacheable=!this.__notStyleScopeCacheable;if(scopeCacheable){scopeData.key.customStyle=this.customStyle;info=scope._styleCache.retrieve(this.is,scopeData.key,this._styles);}
4126var scopeCached=Boolean(info);if(scopeCached){this._styleProperties=info._styleProperties;}else{this._computeStyleProperties(scopeData.properties);}
4127this._computeOwnStyleProperties();if(!scopeCached){info=styleCache.retrieve(this.is,this._ownStyleProperties,this._styles);}
4128var globalCached=Boolean(info)&&!scopeCached;var style=this._applyStyleProperties(info);if(!scopeCached){style=style&&nativeShadow?style.cloneNode(true):style;info={style:style,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties};if(scopeCacheable){scopeData.key.customStyle={};this.mixin(scopeData.key.customStyle,this.customStyle);scope._styleCache.store(this.is,info,scopeData.key,this._styles);}
4129if(!globalCached){styleCache.store(this.is,Object.create(info),this._ownStyleProperties,this._styles);}}},_computeStyleProperties:function(scopeProps){var scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();}
4130var props=Object.create(scope._styleProperties);var hostAndRootProps=propertyUtils.hostAndRootPropertiesForScope(this);this.mixin(props,hostAndRootProps.hostProps);scopeProps=scopeProps||propertyUtils.propertyDataFromStyles(scope._styles,this).properties;this.mixin(props,scopeProps);this.mixin(props,hostAndRootProps.rootProps);propertyUtils.mixinCustomStyle(props,this.customStyle);propertyUtils.reify(props);this._styleProperties=props;},_computeOwnStyleProperties:function(){var props={};for(var i=0,n;i<this._ownStylePropertyNames.length;i++){n=this._ownStylePropertyNames[i];props[n]=this._styleProperties[n];}
4131this._ownStyleProperties=props;},_scopeCount:0,_applyStyleProperties:function(info){var oldScopeSelector=this._scopeSelector;this._scopeSelector=info?info._scopeSelector:this.is+'-'+this.__proto__._scopeCount++;var style=propertyUtils.applyElementStyle(this,this._styleProperties,this._scopeSelector,info&&info.style);if(!nativeShadow){propertyUtils.applyElementScopeSelector(this,this._scopeSelector,oldScopeSelector,this._scopeCssViaAttr);}
4132return style;},serializeValueToAttribute:function(value,attribute,node){node=node||this;if(attribute==='class'&&!nativeShadow){var host=node===this?this.domHost||this.dataHost:this;if(host){value=host._scopeElementClass(node,value);}}
4133node=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(node):node;serializeValueToAttribute.call(this,value,attribute,node);},_scopeElementClass:function(element,selector){if(!nativeShadow&&!this._scopeCssViaAttr){selector=(selector?selector+' ':'')+SCOPE_NAME+' '+this.is+(element._scopeSelector?' '+XSCOPE_NAME+' '+element._scopeSelector:'');}
4134return selector;},updateStyles:function(properties){if(properties){this.mixin(this.customStyle,properties);}
4135if(nativeVariables){propertyUtils.updateNativeStyleProperties(this,this.customStyle);}else{if(this.isAttached){if(this._needsStyleProperties()){this._updateStyleProperties();}else{this._styleProperties=null;}}else{this.__stylePropertiesInvalid=true;}
4136if(this._styleCache){this._styleCache.clear();}
4137this._updateRootStyles();}},_updateRootStyles:function(root){root=root||this.root;var c$=Polymer.dom(root)._query(function(e){return e.shadyRoot||e.shadowRoot;});for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.updateStyles){c.updateStyles();}}}});Polymer.updateStyles=function(properties){styleDefaults.updateStyles(properties);Polymer.Base._updateRootStyles(document);};var styleCache=new Polymer.StyleCache();Polymer.customStyleCache=styleCache;var SCOPE_NAME=styleTransformer.SCOPE_NAME;var XSCOPE_NAME=propertyUtils.XSCOPE_NAME;}());Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();if(this.factoryImpl){this._prepConstructor();}
4138this._prepStyles();},_finishRegisterFeatures:function(){this._prepTemplate();this._prepShimStyles();this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepPropertyInfo();this._prepBindings();this._prepShady();},_prepBehavior:function(b){this._addPropertyEffects(b.properties);this._addComplexObserverEffects(b.observers);this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._setupGestures();this._setupConfigure(this.__data__);this._setupStyleProperties();this._setupDebouncers();this._setupShady();this._registerHost();if(this._template){this._validateApplyShim();this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();this._marshalAnnotationReferences();}
4139this._marshalInstanceEffects();this._marshalBehaviors();this._marshalHostAttributes();this._marshalAttributes();this._tryReady();},_marshalBehavior:function(b){if(b.listeners){this._listenListeners(b.listeners);}}});(function(){var propertyUtils=Polymer.StyleProperties;var styleUtil=Polymer.StyleUtil;var cssParse=Polymer.CssParse;var styleDefaults=Polymer.StyleDefaults;var styleTransformer=Polymer.StyleTransformer;var applyShim=Polymer.ApplyShim;var debounce=Polymer.Debounce;var settings=Polymer.Settings;var updateDebouncer;Polymer({is:'custom-style',extends:'style',_template:null,properties:{include:String},ready:function(){this.__appliedElement=this.__appliedElement||this;this.__cssBuild=styleUtil.getCssBuildType(this);if(this.__appliedElement!==this){this.__appliedElement.__cssBuild=this.__cssBuild;}
4140this._tryApply();},attached:function(){this._tryApply();},_tryApply:function(){if(!this._appliesToDocument){if(this.parentNode&&this.parentNode.localName!=='dom-module'){this._appliesToDocument=true;var e=this.__appliedElement;if(!settings.useNativeCSSProperties){this.__needsUpdateStyles=styleDefaults.hasStyleProperties();styleDefaults.addStyle(e);}
4141if(e.textContent||this.include){this._apply(true);}else{var self=this;var observer=new MutationObserver(function(){observer.disconnect();self._apply(true);});observer.observe(e,{childList:true});}}}},_updateStyles:function(){Polymer.updateStyles();},_apply:function(initialApply){var e=this.__appliedElement;if(this.include){e.textContent=styleUtil.cssFromModules(this.include,true)+e.textContent;}
4142if(!e.textContent){return;}
4143var buildType=this.__cssBuild;var targetedBuild=styleUtil.isTargetedBuild(buildType);if(settings.useNativeCSSProperties&&targetedBuild){return;}
4144var styleRules=styleUtil.rulesForStyle(e);if(!targetedBuild){styleUtil.forEachRule(styleRules,function(rule){styleTransformer.documentRule(rule);});if(settings.useNativeCSSProperties&&!buildType){applyShim.transform([e]);}}
4145if(settings.useNativeCSSProperties){e.textContent=styleUtil.toCssText(styleRules);}else{var self=this;var fn=function fn(){self._flushCustomProperties();};if(initialApply){Polymer.RenderStatus.whenReady(fn);}else{fn();}}},_flushCustomProperties:function(){if(this.__needsUpdateStyles){this.__needsUpdateStyles=false;updateDebouncer=debounce(updateDebouncer,this._updateStyles);}else{this._applyCustomProperties();}},_applyCustomProperties:function(){var element=this.__appliedElement;this._computeStyleProperties();var props=this._styleProperties;var rules=styleUtil.rulesForStyle(element);if(!rules){return;}
4146element.textContent=styleUtil.toCssText(rules,function(rule){var css=rule.cssText=rule.parsedCssText;if(rule.propertyInfo&&rule.propertyInfo.cssText){css=cssParse.removeCustomPropAssignment(css);rule.cssText=propertyUtils.valueForProperties(css,props);}});}});}());Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:'_showHideChildren'}},_instanceProps:Polymer.nob,_parentPropPrefix:'_parent_',templatize:function(template){this._templatized=template;if(!template._content){template._content=template.content;}
4147if(template._content._ctor){this.ctor=template._content._ctor;this._prepParentProperties(this.ctor.prototype,template);return;}
4148var archetype=Object.create(Polymer.Base);this._customPrepAnnotations(archetype,template);this._prepParentProperties(archetype,template);archetype._prepEffects();this._customPrepEffects(archetype);archetype._prepBehaviors();archetype._prepPropertyInfo();archetype._prepBindings();archetype._notifyPathUp=this._notifyPathUpImpl;archetype._scopeElementClass=this._scopeElementClassImpl;archetype.listen=this._listenImpl;archetype._showHideChildren=this._showHideChildrenImpl;archetype.__setPropertyOrig=this.__setProperty;archetype.__setProperty=this.__setPropertyImpl;var _constructor=this._constructorImpl;var ctor=function TemplateInstance(model,host){_constructor.call(this,model,host);};ctor.prototype=archetype;archetype.constructor=ctor;template._content._ctor=ctor;this.ctor=ctor;},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost;},_showHideChildrenImpl:function(hide){var c=this._children;for(var i=0;i<c.length;i++){var n=c[i];if(Boolean(hide)!=Boolean(n.__hideTemplateChildren__)){if(n.nodeType===Node.TEXT_NODE){if(hide){n.__polymerTextContent__=n.textContent;n.textContent='';}else{n.textContent=n.__polymerTextContent__;}}else if(n.style){if(hide){n.__polymerDisplay__=n.style.display;n.style.display='none';}else{n.style.display=n.__polymerDisplay__;}}}
4149n.__hideTemplateChildren__=hide;}},__setPropertyImpl:function(property,value,fromAbove,node){if(node&&node.__hideTemplateChildren__&&property=='textContent'){property='__polymerTextContent__';}
4150this.__setPropertyOrig(property,value,fromAbove,node);},_debounceTemplate:function(fn){Polymer.dom.addDebouncer(this.debounce('_debounceTemplate',fn));},_flushTemplates:function(){Polymer.dom.flush();},_customPrepEffects:function(archetype){var parentProps=archetype._parentProps;for(var prop in parentProps){archetype._addPropertyEffect(prop,'function',this._createHostPropEffector(prop));}
4151for(prop in this._instanceProps){archetype._addPropertyEffect(prop,'function',this._createInstancePropEffector(prop));}},_customPrepAnnotations:function(archetype,template){archetype._template=template;var c=template._content;if(!c._notes){var rootDataHost=archetype._rootDataHost;if(rootDataHost){Polymer.Annotations.prepElement=function(){rootDataHost._prepElement();};}
4152c._notes=Polymer.Annotations.parseAnnotations(template);Polymer.Annotations.prepElement=null;this._processAnnotations(c._notes);}
4153archetype._notes=c._notes;archetype._parentProps=c._parentProps;},_prepParentProperties:function(archetype,template){var parentProps=this._parentProps=archetype._parentProps;if(this._forwardParentProp&&parentProps){var proto=archetype._parentPropProto;var prop;if(!proto){for(prop in this._instanceProps){delete parentProps[prop];}
4154proto=archetype._parentPropProto=Object.create(null);if(template!=this){Polymer.Bind.prepareModel(proto);Polymer.Base.prepareModelNotifyPath(proto);}
4155for(prop in parentProps){var parentProp=this._parentPropPrefix+prop;var effects=[{kind:'function',effect:this._createForwardPropEffector(prop),fn:Polymer.Bind._functionEffect},{kind:'notify',fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(parentProp)+'-changed'}}];proto._propertyEffects=proto._propertyEffects||{};proto._propertyEffects[parentProp]=effects;Polymer.Bind._createAccessors(proto,parentProp,effects);}}
4156var self=this;if(template!=this){Polymer.Bind.prepareInstance(template);template._forwardParentProp=function(source,value){self._forwardParentProp(source,value);};}
4157this._extendTemplate(template,proto);template._pathEffector=function(path,value,fromAbove){return self._pathEffectorImpl(path,value,fromAbove);};}},_createForwardPropEffector:function(prop){return function(source,value){this._forwardParentProp(prop,value);};},_createHostPropEffector:function(prop){var prefix=this._parentPropPrefix;return function(source,value){this.dataHost._templatized[prefix+prop]=value;};},_createInstancePropEffector:function(prop){return function(source,value,old,fromAbove){if(!fromAbove){this.dataHost._forwardInstanceProp(this,prop,value);}};},_extendTemplate:function(template,proto){var n$=Object.getOwnPropertyNames(proto);if(proto._propertySetter){template._propertySetter=proto._propertySetter;}
4158for(var i=0,n;i<n$.length&&(n=n$[i]);i++){var val=template[n];if(val&&n=='_propertyEffects'){var pe=Polymer.Base.mixin({},val);template._propertyEffects=Polymer.Base.mixin(pe,proto._propertyEffects);}else{var pd=Object.getOwnPropertyDescriptor(proto,n);Object.defineProperty(template,n,pd);if(val!==undefined){template._propertySetter(n,val);}}}},_showHideChildren:function(hidden){},_forwardInstancePath:function(inst,path,value){},_forwardInstanceProp:function(inst,prop,value){},_notifyPathUpImpl:function(path,value){var dataHost=this.dataHost;var root=Polymer.Path.root(path);dataHost._forwardInstancePath.call(dataHost,this,path,value);if(root in dataHost._parentProps){dataHost._templatized._notifyPath(dataHost._parentPropPrefix+path,value);}},_pathEffectorImpl:function(path,value,fromAbove){if(this._forwardParentPath){if(path.indexOf(this._parentPropPrefix)===0){var subPath=path.substring(this._parentPropPrefix.length);var model=Polymer.Path.root(subPath);if(model in this._parentProps){this._forwardParentPath(subPath,value);}}}
4159Polymer.Base._pathEffector.call(this._templatized,path,value,fromAbove);},_constructorImpl:function(model,host){this._rootDataHost=host._getRootDataHost();this._setupConfigure(model);this._registerHost(host);this._beginHosting();this.root=this.instanceTemplate(this._template);this.root.__noContent=!this._notes._hasContent;this.root.__styleScoped=true;this._endHosting();this._marshalAnnotatedNodes();this._marshalInstanceEffects();this._marshalAnnotatedListeners();var children=[];for(var n=this.root.firstChild;n;n=n.nextSibling){children.push(n);n._templateInstance=this;}
4160this._children=children;if(host.__hideTemplateChildren__){this._showHideChildren(true);}
4161this._tryReady();},_listenImpl:function(node,eventName,methodName){var model=this;var host=this._rootDataHost;var handler=host._createEventHandler(node,eventName,methodName);var decorated=function(e){e.model=model;handler(e);};host._listen(node,eventName,decorated);},_scopeElementClassImpl:function(node,value){var host=this._rootDataHost;if(host){return host._scopeElementClass(node,value);}
4162return value;},stamp:function(model){model=model||{};if(this._parentProps){var templatized=this._templatized;for(var prop in this._parentProps){if(model[prop]===undefined){model[prop]=templatized[this._parentPropPrefix+prop];}}}
4163return new this.ctor(model,this);},modelForElement:function(el){var model;while(el){if(model=el._templateInstance){if(model.dataHost!=this){el=model.dataHost;}else{return model;}}else{el=el.parentNode;}}}};Polymer({is:'dom-template',extends:'template',_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this);}});Polymer._collections=new WeakMap();Polymer.Collection=function(userArray){Polymer._collections.set(userArray,this);this.userArray=userArray;this.store=userArray.slice();this.initMap();};Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){var omap=this.omap=new WeakMap();var pmap=this.pmap={};var s=this.store;for(var i=0;i<s.length;i++){var item=s[i];if(item&&typeof item=='object'){omap.set(item,i);}else{pmap[item]=i;}}},add:function(item){var key=this.store.push(item)-1;if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;}
4164return'#'+key;},removeKey:function(key){if(key=this._parseKey(key)){this._removeFromMap(this.store[key]);delete this.store[key];}},_removeFromMap:function(item){if(item&&typeof item=='object'){this.omap.delete(item);}else{delete this.pmap[item];}},remove:function(item){var key=this.getKey(item);this.removeKey(key);return key;},getKey:function(item){var key;if(item&&typeof item=='object'){key=this.omap.get(item);}else{key=this.pmap[item];}
4165if(key!=undefined){return'#'+key;}},getKeys:function(){return Object.keys(this.store).map(function(key){return'#'+key;});},_parseKey:function(key){if(key&&key[0]=='#'){return key.slice(1);}},setItem:function(key,item){if(key=this._parseKey(key)){var old=this.store[key];if(old){this._removeFromMap(old);}
4166if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;}
4167this.store[key]=item;}},getItem:function(key){if(key=this._parseKey(key)){return this.store[key];}},getItems:function(){var items=[],store=this.store;for(var key in store){items.push(store[key]);}
4168return items;},_applySplices:function(splices){var keyMap={},key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){s.addedKeys=[];for(var j=0;j<s.removed.length;j++){key=this.getKey(s.removed[j]);keyMap[key]=keyMap[key]?null:-1;}
4169for(j=0;j<s.addedCount;j++){var item=this.userArray[s.index+j];key=this.getKey(item);key=key===undefined?this.add(item):key;keyMap[key]=keyMap[key]?null:1;s.addedKeys.push(key);}}
4170var removed=[];var added=[];for(key in keyMap){if(keyMap[key]<0){this.removeKey(key);removed.push(key);}
4171if(keyMap[key]>0){added.push(key);}}
4172return[{removed:removed,added:added}];}};Polymer.Collection.get=function(userArray){return Polymer._collections.get(userArray)||new Polymer.Collection(userArray);};Polymer.Collection.applySplices=function(userArray,splices){var coll=Polymer._collections.get(userArray);return coll?coll._applySplices(splices):null;};Polymer({is:'dom-repeat',extends:'template',_template:null,properties:{items:{type:Array},as:{type:String,value:'item'},indexAs:{type:String,value:'index'},sort:{type:Function,observer:'_sortChanged'},filter:{type:Function,observer:'_filterChanged'},observe:{type:String,observer:'_observeChanged'},delay:Number,renderedItemCount:{type:Number,notify:!Polymer.Settings.suppressTemplateNotifications,readOnly:true},initialCount:{type:Number,observer:'_initializeChunking'},targetFramerate:{type:Number,value:20},notifyDomChange:{type:Boolean},_targetFrameTime:{type:Number,computed:'_computeFrameTime(targetFramerate)'}},behaviors:[Polymer.Templatizer],observers:['_itemsChanged(items.*)'],created:function(){this._instances=[];this._pool=[];this._limit=Infinity;var self=this;this._boundRenderChunk=function(){self._renderChunk();};},detached:function(){this.__isDetached=true;for(var i=0;i<this._instances.length;i++){this._detachInstance(i);}},attached:function(){if(this.__isDetached){this.__isDetached=false;var parent=Polymer.dom(Polymer.dom(this).parentNode);for(var i=0;i<this._instances.length;i++){this._attachInstance(i,parent);}}},ready:function(){this._instanceProps={__key__:true};this._instanceProps[this.as]=true;this._instanceProps[this.indexAs]=true;if(!this.ctor){this.templatize(this);}},_sortChanged:function(sort){var dataHost=this._getRootDataHost();this._sortFn=sort&&(typeof sort=='function'?sort:function(){return dataHost[sort].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_filterChanged:function(filter){var dataHost=this._getRootDataHost();this._filterFn=filter&&(typeof filter=='function'?filter:function(){return dataHost[filter].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_computeFrameTime:function(rate){return Math.ceil(1000/rate);},_initializeChunking:function(){if(this.initialCount){this._limit=this.initialCount;this._chunkCount=this.initialCount;this._lastChunkTime=performance.now();}},_tryRenderChunk:function(){if(this.items&&this._limit<this.items.length){this.debounce('renderChunk',this._requestRenderChunk);}},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk);},_renderChunk:function(){var currChunkTime=performance.now();var ratio=this._targetFrameTime/(currChunkTime-this._lastChunkTime);this._chunkCount=Math.round(this._chunkCount*ratio)||1;this._limit+=this._chunkCount;this._lastChunkTime=currChunkTime;this._debounceTemplate(this._render);},_observeChanged:function(){this._observePaths=this.observe&&this.observe.replace('.*','.').split(' ');},_itemsChanged:function(change){if(change.path=='items'){if(Array.isArray(this.items)){this.collection=Polymer.Collection.get(this.items);}else if(!this.items){this.collection=null;}else{this._error(this._logf('dom-repeat','expected array for `items`,'+' found',this.items));}
4173this._keySplices=[];this._indexSplices=[];this._needFullRefresh=true;this._initializeChunking();this._debounceTemplate(this._render);}else if(change.path=='items.splices'){this._keySplices=this._keySplices.concat(change.value.keySplices);this._indexSplices=this._indexSplices.concat(change.value.indexSplices);this._debounceTemplate(this._render);}else{var subpath=change.path.slice(6);this._forwardItemPath(subpath,change.value);this._checkObservedPaths(subpath);}},_checkObservedPaths:function(path){if(this._observePaths){path=path.substring(path.indexOf('.')+1);var paths=this._observePaths;for(var i=0;i<paths.length;i++){if(path.indexOf(paths[i])===0){this._needFullRefresh=true;if(this.delay){this.debounce('render',this._render,this.delay);}else{this._debounceTemplate(this._render);}
4174return;}}}},render:function(){this._needFullRefresh=true;this._debounceTemplate(this._render);this._flushTemplates();},_render:function(){if(this._needFullRefresh){this._applyFullRefresh();this._needFullRefresh=false;}else if(this._keySplices.length){if(this._sortFn){this._applySplicesUserSort(this._keySplices);}else{if(this._filterFn){this._applyFullRefresh();}else{this._applySplicesArrayOrder(this._indexSplices);}}}else{}
4175this._keySplices=[];this._indexSplices=[];var keyToIdx=this._keyToInstIdx={};for(var i=this._instances.length-1;i>=0;i--){var inst=this._instances[i];if(inst.isPlaceholder&&i<this._limit){inst=this._insertInstance(i,inst.__key__);}else if(!inst.isPlaceholder&&i>=this._limit){inst=this._downgradeInstance(i,inst.__key__);}
4176keyToIdx[inst.__key__]=i;if(!inst.isPlaceholder){inst.__setProperty(this.indexAs,i,true);}}
4177this._pool.length=0;this._setRenderedItemCount(this._instances.length);if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}
4178this._tryRenderChunk();},_applyFullRefresh:function(){var c=this.collection;var keys;if(this._sortFn){keys=c?c.getKeys():[];}else{keys=[];var items=this.items;if(items){for(var i=0;i<items.length;i++){keys.push(c.getKey(items[i]));}}}
4179var self=this;if(this._filterFn){keys=keys.filter(function(a){return self._filterFn(c.getItem(a));});}
4180if(this._sortFn){keys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});}
4181for(i=0;i<keys.length;i++){var key=keys[i];var inst=this._instances[i];if(inst){inst.__key__=key;if(!inst.isPlaceholder&&i<this._limit){inst.__setProperty(this.as,c.getItem(key),true);}}else if(i<this._limit){this._insertInstance(i,key);}else{this._insertPlaceholder(i,key);}}
4182for(var j=this._instances.length-1;j>=i;j--){this._detachAndRemoveInstance(j);}},_numericSort:function(a,b){return a-b;},_applySplicesUserSort:function(splices){var c=this.collection;var keyMap={};var key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){key=s.removed[j];keyMap[key]=keyMap[key]?null:-1;}
4183for(j=0;j<s.added.length;j++){key=s.added[j];keyMap[key]=keyMap[key]?null:1;}}
4184var removedIdxs=[];var addedKeys=[];for(key in keyMap){if(keyMap[key]===-1){removedIdxs.push(this._keyToInstIdx[key]);}
4185if(keyMap[key]===1){addedKeys.push(key);}}
4186if(removedIdxs.length){removedIdxs.sort(this._numericSort);for(i=removedIdxs.length-1;i>=0;i--){var idx=removedIdxs[i];if(idx!==undefined){this._detachAndRemoveInstance(idx);}}}
4187var self=this;if(addedKeys.length){if(this._filterFn){addedKeys=addedKeys.filter(function(a){return self._filterFn(c.getItem(a));});}
4188addedKeys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});var start=0;for(i=0;i<addedKeys.length;i++){start=this._insertRowUserSort(start,addedKeys[i]);}}},_insertRowUserSort:function(start,key){var c=this.collection;var item=c.getItem(key);var end=this._instances.length-1;var idx=-1;while(start<=end){var mid=start+end>>1;var midKey=this._instances[mid].__key__;var cmp=this._sortFn(c.getItem(midKey),item);if(cmp<0){start=mid+1;}else if(cmp>0){end=mid-1;}else{idx=mid;break;}}
4189if(idx<0){idx=end+1;}
4190this._insertPlaceholder(idx,key);return idx;},_applySplicesArrayOrder:function(splices){for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){this._detachAndRemoveInstance(s.index);}
4191for(j=0;j<s.addedKeys.length;j++){this._insertPlaceholder(s.index+j,s.addedKeys[j]);}}},_detachInstance:function(idx){var inst=this._instances[idx];if(!inst.isPlaceholder){for(var i=0;i<inst._children.length;i++){var el=inst._children[i];Polymer.dom(inst.root).appendChild(el);}
4192return inst;}},_attachInstance:function(idx,parent){var inst=this._instances[idx];if(!inst.isPlaceholder){parent.insertBefore(inst.root,this);}},_detachAndRemoveInstance:function(idx){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);}
4193this._instances.splice(idx,1);},_insertPlaceholder:function(idx,key){this._instances.splice(idx,0,{isPlaceholder:true,__key__:key});},_stampInstance:function(idx,key){var model={__key__:key};model[this.as]=this.collection.getItem(key);model[this.indexAs]=idx;return this.stamp(model);},_insertInstance:function(idx,key){var inst=this._pool.pop();if(inst){inst.__setProperty(this.as,this.collection.getItem(key),true);inst.__setProperty('__key__',key,true);}else{inst=this._stampInstance(idx,key);}
4194var beforeRow=this._instances[idx+1];var beforeNode=beforeRow&&!beforeRow.isPlaceholder?beforeRow._children[0]:this;var parentNode=Polymer.dom(this).parentNode;Polymer.dom(parentNode).insertBefore(inst.root,beforeNode);this._instances[idx]=inst;return inst;},_downgradeInstance:function(idx,key){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);}
4195inst={isPlaceholder:true,__key__:key};this._instances[idx]=inst;return inst;},_showHideChildren:function(hidden){for(var i=0;i<this._instances.length;i++){if(!this._instances[i].isPlaceholder)
4196this._instances[i]._showHideChildren(hidden);}},_forwardInstanceProp:function(inst,prop,value){if(prop==this.as){var idx;if(this._sortFn||this._filterFn){idx=this.items.indexOf(this.collection.getItem(inst.__key__));}else{idx=inst[this.indexAs];}
4197this.set('items.'+idx,value);}},_forwardInstancePath:function(inst,path,value){if(path.indexOf(this.as+'.')===0){this._notifyPath('items.'+inst.__key__+'.'+path.slice(this.as.length+1),value);}},_forwardParentProp:function(prop,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst.__setProperty(prop,value,true);}}},_forwardParentPath:function(path,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst._notifyPath(path,value,true);}}},_forwardItemPath:function(path,value){if(this._keyToInstIdx){var dot=path.indexOf('.');var key=path.substring(0,dot<0?path.length:dot);var idx=this._keyToInstIdx[key];var inst=this._instances[idx];if(inst&&!inst.isPlaceholder){if(dot>=0){path=this.as+'.'+path.substring(dot+1);inst._notifyPath(path,value,true);}else{inst.__setProperty(this.as,value,true);}}}},itemForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.as];},keyForElement:function(el){var instance=this.modelForElement(el);return instance&&instance.__key__;},indexForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.indexAs];}});Polymer({is:'array-selector',_template:null,properties:{items:{type:Array,observer:'clearSelection'},multi:{type:Boolean,value:false,observer:'clearSelection'},selected:{type:Object,notify:true},selectedItem:{type:Object,notify:true},toggle:{type:Boolean,value:false}},clearSelection:function(){if(Array.isArray(this.selected)){for(var i=0;i<this.selected.length;i++){this.unlinkPaths('selected.'+i);}}else{this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}
4198if(this.multi){if(!this.selected||this.selected.length){this.selected=[];this._selectedColl=Polymer.Collection.get(this.selected);}}else{this.selected=null;this._selectedColl=null;}
4199this.selectedItem=null;},isSelected:function(item){if(this.multi){return this._selectedColl.getKey(item)!==undefined;}else{return this.selected==item;}},deselect:function(item){if(this.multi){if(this.isSelected(item)){var skey=this._selectedColl.getKey(item);this.arrayDelete('selected',item);this.unlinkPaths('selected.'+skey);}}else{this.selected=null;this.selectedItem=null;this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}},select:function(item){var icol=Polymer.Collection.get(this.items);var key=icol.getKey(item);if(this.multi){if(this.isSelected(item)){if(this.toggle){this.deselect(item);}}else{this.push('selected',item);var skey=this._selectedColl.getKey(item);this.linkPaths('selected.'+skey,'items.'+key);}}else{if(this.toggle&&item==this.selected){this.deselect();}else{this.selected=item;this.selectedItem=item;this.linkPaths('selected','items.'+key);this.linkPaths('selectedItem','items.'+key);}}}});Polymer({is:'dom-if',extends:'template',_template:null,properties:{'if':{type:Boolean,value:false,observer:'_queueRender'},restamp:{type:Boolean,value:false,observer:'_queueRender'},notifyDomChange:{type:Boolean}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render);},detached:function(){if(!this.parentNode||this.parentNode.nodeType==Node.DOCUMENT_FRAGMENT_NODE&&(!Polymer.Settings.hasShadow||!(this.parentNode instanceof ShadowRoot))){this._teardownInstance();}},attached:function(){if(this.if&&this.ctor){this.async(this._ensureInstance);}},render:function(){this._flushTemplates();},_render:function(){if(this.if){if(!this.ctor){this.templatize(this);}
4200this._ensureInstance();this._showHideChildren();}else if(this.restamp){this._teardownInstance();}
4201if(!this.restamp&&this._instance){this._showHideChildren();}
4202if(this.if!=this._lastIf){if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}
4203this._lastIf=this.if;}},_ensureInstance:function(){var parentNode=Polymer.dom(this).parentNode;if(parentNode){var parent=Polymer.dom(parentNode);if(!this._instance){this._instance=this.stamp();var root=this._instance.root;parent.insertBefore(root,this);}else{var c$=this._instance._children;if(c$&&c$.length){var lastChild=Polymer.dom(this).previousSibling;if(lastChild!==c$[c$.length-1]){for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.insertBefore(n,this);}}}}}},_teardownInstance:function(){if(this._instance){var c$=this._instance._children;if(c$&&c$.length){var parent=Polymer.dom(Polymer.dom(c$[0]).parentNode);for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.removeChild(n);}}
4204this._instance=null;}},_showHideChildren:function(){var hidden=this.__hideTemplateChildren__||!this.if;if(this._instance){this._instance._showHideChildren(hidden);}},_forwardParentProp:function(prop,value){if(this._instance){this._instance.__setProperty(prop,value,true);}},_forwardParentPath:function(path,value){if(this._instance){this._instance._notifyPath(path,value,true);}}});Polymer({is:'dom-bind',properties:{notifyDomChange:{type:Boolean}},extends:'template',_template:null,created:function(){var self=this;Polymer.RenderStatus.whenReady(function(){if(document.readyState=='loading'){document.addEventListener('DOMContentLoaded',function(){self._markImportsReady();});}else{self._markImportsReady();}});},_ensureReady:function(){if(!this._readied){this._readySelf();}},_markImportsReady:function(){this._importsReady=true;this._ensureReady();},_registerFeatures:function(){this._prepConstructor();},_insertChildren:function(){var parentDom=Polymer.dom(Polymer.dom(this).parentNode);parentDom.insertBefore(this.root,this);},_removeChildren:function(){if(this._children){for(var i=0;i<this._children.length;i++){this.root.appendChild(this._children[i]);}}},_initFeatures:function(){},_scopeElementClass:function(element,selector){if(this.dataHost){return this.dataHost._scopeElementClass(element,selector);}else{return selector;}},_configureInstanceProperties:function(){},_prepConfigure:function(){var config={};for(var prop in this._propertyEffects){config[prop]=this[prop];}
4205var setupConfigure=this._setupConfigure;this._setupConfigure=function(){setupConfigure.call(this,config);};},attached:function(){if(this._importsReady){this.render();}},detached:function(){this._removeChildren();},render:function(){this._ensureReady();if(!this._children){this._template=this;this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepConfigure();this._prepBindings();this._prepPropertyInfo();Polymer.Base._initFeatures.call(this);this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root);}
4206this._insertChildren();if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}}});'use strict';if(!Polymer.Settings.useNativeShadow){tr.b.showPanic('Polymer error','base only works in shadow mode');}'use strict';const global=this.window||this.global;this.tr=(function(){if(global.tr)return global.tr;function exportPath(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{cur=cur[part]={};}}
4207return cur;}
4208function isExported(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{return false;}}
4209return true;}
4210function isDefined(name){const parts=name.split('.');let curObject=global;for(let i=0;i<parts.length;i++){const partName=parts[i];const nextObject=curObject[partName];if(nextObject===undefined)return false;curObject=nextObject;}
4211return true;}
4212let panicElement=undefined;const rawPanicMessages=[];function showPanicElementIfNeeded(){if(panicElement)return;const panicOverlay=document.createElement('div');panicOverlay.style.backgroundColor='white';panicOverlay.style.border='3px solid red';panicOverlay.style.boxSizing='border-box';panicOverlay.style.color='black';panicOverlay.style.display='-webkit-flex';panicOverlay.style.height='100%';panicOverlay.style.left=0;panicOverlay.style.padding='8px';panicOverlay.style.position='fixed';panicOverlay.style.top=0;panicOverlay.style.webkitFlexDirection='column';panicOverlay.style.width='100%';panicElement=document.createElement('div');panicElement.style.webkitFlex='1 1 auto';panicElement.style.overflow='auto';panicOverlay.appendChild(panicElement);if(!document.body){setTimeout(function(){document.body.appendChild(panicOverlay);},150);}else{document.body.appendChild(panicOverlay);}}
4213function showPanic(panicTitle,panicDetails){if(tr.isHeadless){if(panicDetails instanceof Error)throw panicDetails;throw new Error('Panic: '+panicTitle+':\n'+panicDetails);}
4214if(panicDetails instanceof Error){panicDetails=panicDetails.stack;}
4215showPanicElementIfNeeded();const panicMessageEl=document.createElement('div');panicMessageEl.innerHTML='<h2 id="message"></h2>'+'<pre id="details"></pre>';panicMessageEl.querySelector('#message').textContent=panicTitle;panicMessageEl.querySelector('#details').textContent=panicDetails;panicElement.appendChild(panicMessageEl);rawPanicMessages.push({title:panicTitle,details:panicDetails});}
4216function hasPanic(){return rawPanicMessages.length!==0;}
4217function getPanicText(){return rawPanicMessages.map(function(msg){return msg.title;}).join(', ');}
4218function exportTo(namespace,fn){const obj=exportPath(namespace);const exports=fn();for(const propertyName in exports){const propertyDescriptor=Object.getOwnPropertyDescriptor(exports,propertyName);if(propertyDescriptor){Object.defineProperty(obj,propertyName,propertyDescriptor);}}}
4219function initialize(){if(global.isVinn){tr.isVinn=true;}else if(global.process&&global.process.versions.node){tr.isNode=true;}else{tr.isVinn=false;tr.isNode=false;tr.doc=document;tr.isMac=/Mac/.test(navigator.platform);tr.isWindows=/Win/.test(navigator.platform);tr.isChromeOS=/CrOS/.test(navigator.userAgent);tr.isLinux=/Linux/.test(navigator.userAgent);}
4220tr.isHeadless=tr.isVinn||tr.isNode;}
4221return{initialize,exportTo,isExported,isDefined,showPanic,hasPanic,getPanicText,};})();tr.initialize();'use strict';tr.exportTo('tr.b',function(){function EventTarget(){}
4222EventTarget.decorate=function(target){for(const k in EventTarget.prototype){if(k==='decorate')continue;const v=EventTarget.prototype[k];if(typeof v!=='function')continue;target[k]=v;}};EventTarget.prototype={addEventListener(type,handler){if(!this.listeners_){this.listeners_=Object.create(null);}
4223if(!(type in this.listeners_)){this.listeners_[type]=[handler];}else{const handlers=this.listeners_[type];if(handlers.indexOf(handler)<0){handlers.push(handler);}}},removeEventListener(type,handler){if(!this.listeners_)return;if(type in this.listeners_){const handlers=this.listeners_[type];const index=handlers.indexOf(handler);if(index>=0){if(handlers.length===1){delete this.listeners_[type];}else{handlers.splice(index,1);}}}},dispatchEvent(event){if(!this.listeners_)return true;event.__defineGetter__('target',()=>this);const realPreventDefault=event.preventDefault;event.preventDefault=function(){realPreventDefault.call(this);this.rawReturnValue=false;};const type=event.type;let prevented=0;if(type in this.listeners_){const handlers=this.listeners_[type].concat();for(let i=0,handler;handler=handlers[i];i++){if(handler.handleEvent){prevented|=handler.handleEvent.call(handler,event)===false;}else{prevented|=handler.call(this,event)===false;}}}
4224return!prevented&&event.rawReturnValue;},async dispatchAsync(event){if(!this.listeners_)return true;const listeners=this.listeners_[event.type];if(listeners===undefined)return;await Promise.all(listeners.slice().map(listener=>{if(listener.handleEvent){return listener.handleEvent.call(listener,event);}
4225return listener.call(this,event);}));},hasEventListener(type){return(this.listeners_!==undefined&&this.listeners_[type]!==undefined);}};return{EventTarget,};});'use strict';tr.exportTo('tr.b',function(){function RegisteredTypeInfo(constructor,metadata){this.constructor=constructor;this.metadata=metadata;}
4226const BASIC_REGISTRY_MODE='BASIC_REGISTRY_MODE';const TYPE_BASED_REGISTRY_MODE='TYPE_BASED_REGISTRY_MODE';const ALL_MODES={BASIC_REGISTRY_MODE:true,TYPE_BASED_REGISTRY_MODE:true};function ExtensionRegistryOptions(mode){if(mode===undefined){throw new Error('Mode is required');}
4227if(!ALL_MODES[mode]){throw new Error('Not a mode.');}
4228this.mode_=mode;this.defaultMetadata_={};this.defaultConstructor_=undefined;this.defaultTypeInfo_=undefined;this.frozen_=false;}
4229ExtensionRegistryOptions.prototype={freeze(){if(this.frozen_){throw new Error('Frozen');}
4230this.frozen_=true;},get mode(){return this.mode_;},get defaultMetadata(){return this.defaultMetadata_;},set defaultMetadata(defaultMetadata){if(this.frozen_){throw new Error('Frozen');}
4231this.defaultMetadata_=defaultMetadata;this.defaultTypeInfo_=undefined;},get defaultConstructor(){return this.defaultConstructor_;},set defaultConstructor(defaultConstructor){if(this.frozen_){throw new Error('Frozen');}
4232this.defaultConstructor_=defaultConstructor;this.defaultTypeInfo_=undefined;},get defaultTypeInfo(){if(this.defaultTypeInfo_===undefined&&this.defaultConstructor_){this.defaultTypeInfo_=new RegisteredTypeInfo(this.defaultConstructor,this.defaultMetadata);}
4233return this.defaultTypeInfo_;},validateConstructor(constructor){if(!this.mandatoryBaseClass)return;let curProto=constructor.prototype.__proto__;let ok=false;while(curProto){if(curProto===this.mandatoryBaseClass.prototype){ok=true;break;}
4234curProto=curProto.__proto__;}
4235if(!ok){throw new Error(constructor+'must be subclass of '+registry);}}};return{BASIC_REGISTRY_MODE,TYPE_BASED_REGISTRY_MODE,ExtensionRegistryOptions,RegisteredTypeInfo,};});'use strict';tr.exportTo('tr.b',function(){let Event;if(tr.isHeadless){function HeadlessEvent(type,opt_bubbles,opt_preventable){this.type=type;this.bubbles=(opt_bubbles!==undefined?!!opt_bubbles:false);this.cancelable=(opt_preventable!==undefined?!!opt_preventable:false);this.defaultPrevented=false;this.cancelBubble=false;}
4236HeadlessEvent.prototype={preventDefault(){this.defaultPrevented=true;},stopPropagation(){this.cancelBubble=true;}};Event=HeadlessEvent;}else{function TrEvent(type,opt_bubbles,opt_preventable){const e=tr.doc.createEvent('Event');e.initEvent(type,!!opt_bubbles,!!opt_preventable);e.__proto__=global.Event.prototype;return e;}
4237TrEvent.prototype={__proto__:global.Event.prototype};Event=TrEvent;}
4238function dispatchSimpleEvent(target,type,opt_bubbles,opt_cancelable,opt_fields){const e=new tr.b.Event(type,opt_bubbles,opt_cancelable);Object.assign(e,opt_fields);return target.dispatchEvent(e);}
4239async function dispatchSimpleEventAsync(target,type,opt_fields){const e=new tr.b.Event(type,false,false);Object.assign(e,opt_fields);return await target.dispatchAsync(e);}
4240return{Event,dispatchSimpleEvent,dispatchSimpleEventAsync,};});'use strict';tr.exportTo('tr.b',function(){const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateBasicExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.register=function(constructor,opt_metadata){if(registry.findIndexOfRegisteredConstructor(constructor)!==undefined){throw new Error('Handler already registered for '+constructor);}
4241extensionRegistryOptions.validateConstructor(constructor);const metadata={};for(const k in extensionRegistryOptions.defaultMetadata){metadata[k]=extensionRegistryOptions.defaultMetadata[k];}
4242if(opt_metadata){for(const k in opt_metadata){metadata[k]=opt_metadata[k];}}
4243const typeInfo=new RegisteredTypeInfo(constructor,metadata);let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push(registry.registeredTypeInfos_);registry.registeredTypeInfos_=[];const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){registry.registeredTypeInfos_=savedStateStack[0];savedStateStack.splice(0,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.findIndexOfRegisteredConstructor=function(constructor){for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){return i;}}
4244return undefined;};registry.unregister=function(constructor){const foundIndex=registry.findIndexOfRegisteredConstructor(constructor);if(foundIndex===undefined){throw new Error(constructor+' not registered');}
4245registry.registeredTypeInfos_.splice(foundIndex,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getAllRegisteredTypeInfos=function(){return registry.registeredTypeInfos_;};registry.findTypeInfo=function(constructor){const foundIndex=this.findIndexOfRegisteredConstructor(constructor);if(foundIndex!==undefined){return this.registeredTypeInfos_[foundIndex];}
4246return undefined;};registry.findTypeInfoMatching=function(predicate,opt_this){opt_this=opt_this?opt_this:undefined;for(let i=0;i<registry.registeredTypeInfos_.length;++i){const typeInfo=registry.registeredTypeInfos_[i];if(predicate.call(opt_this,typeInfo)){return typeInfo;}}
4247return extensionRegistryOptions.defaultTypeInfo;};registry.findTypeInfoWithName=function(name){if(typeof(name)!=='string'){throw new Error('Name is not a string.');}
4248const typeInfo=registry.findTypeInfoMatching(function(ti){return ti.constructor.name===name;});if(typeInfo)return typeInfo;return undefined;};}
4249return{_decorateBasicExtensionRegistry:decorateBasicExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){const categoryPartsFor={};function getCategoryParts(category){let parts=categoryPartsFor[category];if(parts!==undefined)return parts;parts=category.split(',');categoryPartsFor[category]=parts;return parts;}
4250return{getCategoryParts,};});'use strict';tr.exportTo('tr.b',function(){const getCategoryParts=tr.b.getCategoryParts;const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateTypeBasedExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.categoryPartToTypeInfoMap_=new Map();registry.typeNameToTypeInfoMap_=new Map();registry.register=function(constructor,metadata){extensionRegistryOptions.validateConstructor(constructor);const typeInfo=new RegisteredTypeInfo(constructor,metadata||extensionRegistryOptions.defaultMetadata);typeInfo.typeNames=[];typeInfo.categoryParts=[];if(metadata&&metadata.typeName){typeInfo.typeNames.push(metadata.typeName);}
4251if(metadata&&metadata.typeNames){typeInfo.typeNames.push.apply(typeInfo.typeNames,metadata.typeNames);}
4252if(metadata&&metadata.categoryParts){typeInfo.categoryParts.push.apply(typeInfo.categoryParts,metadata.categoryParts);}
4253if(typeInfo.typeNames.length===0&&typeInfo.categoryParts.length===0){throw new Error('typeName or typeNames must be provided');}
4254typeInfo.typeNames.forEach(function(typeName){if(registry.typeNameToTypeInfoMap_.has(typeName)){throw new Error('typeName '+typeName+' already registered');}});typeInfo.categoryParts.forEach(function(categoryPart){if(registry.categoryPartToTypeInfoMap_.has(categoryPart)){throw new Error('categoryPart '+categoryPart+' already registered');}});let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.set(typeName,typeInfo);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.set(categoryPart,typeInfo);});registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push({registeredTypeInfos:registry.registeredTypeInfos_,typeNameToTypeInfoMap:registry.typeNameToTypeInfoMap_,categoryPartToTypeInfoMap:registry.categoryPartToTypeInfoMap_});registry.registeredTypeInfos_=[];registry.typeNameToTypeInfoMap_=new Map();registry.categoryPartToTypeInfoMap_=new Map();const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){const state=savedStateStack[0];savedStateStack.splice(0,1);registry.registeredTypeInfos_=state.registeredTypeInfos;registry.typeNameToTypeInfoMap_=state.typeNameToTypeInfoMap;registry.categoryPartToTypeInfoMap_=state.categoryPartToTypeInfoMap;const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.unregister=function(constructor){let typeInfoIndex=-1;for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){typeInfoIndex=i;break;}}
4255if(typeInfoIndex===-1){throw new Error(constructor+' not registered');}
4256const typeInfo=registry.registeredTypeInfos_[typeInfoIndex];registry.registeredTypeInfos_.splice(typeInfoIndex,1);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.delete(typeName);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.delete(categoryPart);});const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getTypeInfo=function(category,typeName){if(category){const categoryParts=getCategoryParts(category);for(let i=0;i<categoryParts.length;i++){const categoryPart=categoryParts[i];const typeInfo=registry.categoryPartToTypeInfoMap_.get(categoryPart);if(typeInfo!==undefined)return typeInfo;}}
4257const typeInfo=registry.typeNameToTypeInfoMap_.get(typeName);if(typeInfo!==undefined)return typeInfo;return extensionRegistryOptions.defaultTypeInfo;};registry.getConstructor=function(category,typeName){const typeInfo=registry.getTypeInfo(category,typeName);if(typeInfo)return typeInfo.constructor;return undefined;};}
4258return{_decorateTypeBasedExtensionRegistry:decorateTypeBasedExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){function asArray(x){const values=[];if(x[Symbol.iterator]){for(const value of x){values.push(value);}}else{for(let i=0;i<x.length;i++){values.push(x[i]);}}
4259return values;}
4260function getOnlyElement(iterable){const iterator=iterable[Symbol.iterator]();const firstIteration=iterator.next();if(firstIteration.done){throw new Error('getOnlyElement was passed an empty iterable.');}
4261const secondIteration=iterator.next();if(!secondIteration.done){throw new Error('getOnlyElement was passed an iterable with multiple elements.');}
4262return firstIteration.value;}
4263function getFirstElement(iterable){const iterator=iterable[Symbol.iterator]();const result=iterator.next();if(result.done){throw new Error('getFirstElement was passed an empty iterable.');}
4264return result.value;}
4265function compareArrays(x,y,elementCmp){const minLength=Math.min(x.length,y.length);let i;for(i=0;i<minLength;i++){const tmp=elementCmp(x[i],y[i]);if(tmp)return tmp;}
4266if(x.length===y.length)return 0;if(x[i]===undefined)return-1;return 1;}
4267function comparePossiblyUndefinedValues(x,y,cmp,opt_this){if(x!==undefined&&y!==undefined){return cmp.call(opt_this,x,y);}
4268if(x!==undefined)return-1;if(y!==undefined)return 1;return 0;}
4269function concatenateObjects(){const result={};for(let i=0;i<arguments.length;i++){const object=arguments[i];for(const j in object){result[j]=object[j];}}
4270return result;}
4271function dictionaryContainsValue(dict,value){for(const key in dict){if(dict[key]===value){return true;}}
4272return false;}
4273function groupIntoMap(ary,callback,opt_this,opt_arrayConstructor){const arrayConstructor=opt_arrayConstructor||Array;const results=new Map();for(const element of ary){const key=callback.call(opt_this,element);let items=results.get(key);if(items===undefined){items=new arrayConstructor();results.set(key,items);}
4274items.push(element);}
4275return results;}
4276function mapItems(dict,fn,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];result[key]=fn.call(opt_this,key,dict[key]);}
4277return result;}
4278function filterItems(dict,predicate,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];const value=dict[key];if(predicate.call(opt_this,key,value)){result[key]=value;}}
4279return result;}
4280function inPlaceFilter(array,predicate,opt_this){opt_this=opt_this||this;let nextPosition=0;for(let i=0;i<array.length;i++){if(!predicate.call(opt_this,array[i],i))continue;if(nextPosition<i){array[nextPosition]=array[i];}
4281nextPosition++;}
4282if(nextPosition<array.length){array.length=nextPosition;}}
4283function iterObjectFieldsRecursively(object,func){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){func(object,i,object[i]);iterObjectFieldsRecursively(object[i],func);}
4284return;}
4285for(const key in object){const value=object[key];func(object,key,value);iterObjectFieldsRecursively(value,func);}}
4286function invertArrayOfDicts(array,opt_dictGetter,opt_this){opt_this=opt_this||this;const result={};for(let i=0;i<array.length;i++){const item=array[i];if(item===undefined)continue;const dict=opt_dictGetter?opt_dictGetter.call(opt_this,item):item;if(dict===undefined)continue;for(const key in dict){let valueList=result[key];if(valueList===undefined){result[key]=valueList=new Array(array.length);}
4287valueList[i]=dict[key];}}
4288return result;}
4289function arrayToDict(array,valueToKeyFn,opt_this){opt_this=opt_this||this;const result={};const length=array.length;for(let i=0;i<length;i++){const value=array[i];const key=valueToKeyFn.call(opt_this,value);result[key]=value;}
4290return result;}
4291function identity(d){return d;}
4292function findFirstIndexInArray(ary,opt_func,opt_this){const func=opt_func||identity;for(let i=0;i<ary.length;i++){if(func.call(opt_this,ary[i],i))return i;}
4293return-1;}
4294function findFirstInArray(ary,opt_func,opt_this){const i=findFirstIndexInArray(ary,opt_func,opt_func);if(i===-1)return undefined;return ary[i];}
4295function findFirstKeyInDictMatching(dict,opt_func,opt_this){const func=opt_func||identity;for(const key in dict){if(func.call(opt_this,key,dict[key])){return key;}}
4296return undefined;}
4297function mapValues(map){const values=[];for(const value of map.values()){values.push(value);}
4298return values;}
4299function setsEqual(a,b){if(!(a instanceof Set)||!(b instanceof Set))return false;if(a.size!==b.size)return false;for(const x of a){if(!b.has(x))return false;}
4300return true;}
4301return{asArray,concatenateObjects,compareArrays,comparePossiblyUndefinedValues,dictionaryContainsValue,getOnlyElement,getFirstElement,groupIntoMap,mapItems,filterItems,inPlaceFilter,iterObjectFieldsRecursively,invertArrayOfDicts,arrayToDict,identity,findFirstIndexInArray,findFirstInArray,findFirstKeyInDictMatching,mapValues,setsEqual,};});'use strict';tr.exportTo('tr.b',function(){function decorateExtensionRegistry(registry,registryOptions){if(registry.register){throw new Error('Already has registry');}
4302registryOptions.freeze();if(registryOptions.mode===tr.b.BASIC_REGISTRY_MODE){tr.b._decorateBasicExtensionRegistry(registry,registryOptions);}else if(registryOptions.mode===tr.b.TYPE_BASED_REGISTRY_MODE){tr.b._decorateTypeBasedExtensionRegistry(registry,registryOptions);}else{throw new Error('Unrecognized mode');}
4303if(registry.addEventListener===undefined){tr.b.EventTarget.decorate(registry);}}
4304return{decorateExtensionRegistry,};});'use strict';tr.exportTo('tr.importer',function(){function Importer(){}
4305Importer.prototype={__proto__:Object.prototype,get importerName(){return'Importer';},isTraceDataContainer(){return false;},extractSubtraces(){return[];},importClockSyncMarkers(){},importEvents(){},importSampleData(){},finalizeImport(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Importer;tr.b.decorateExtensionRegistry(Importer,options);Importer.findImporterFor=function(eventData){const typeInfo=Importer.findTypeInfoMatching(function(ti){return ti.constructor.canImport(eventData);});if(typeInfo){return typeInfo.constructor;}
4306return undefined;};return{Importer,};});'use strict';tr.exportTo('tr.e.importer.gcloud_trace',function(){function GcloudTraceImporter(model,eventData){this.importPriority=2;this.eventData_=eventData;}
4307GcloudTraceImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;}
4308const normalizedEventData=eventData.slice(0,20).replace(/\s/g,'');if(normalizedEventData.length<14)return false;return normalizedEventData.slice(0,14)==='{"projectId":"';};GcloudTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GcloudTraceImporter';},extractSubtraces(){const traceEvents=this.createEventsForTrace();return traceEvents?[traceEvents]:[];},createEventsForTrace(){const events=[];const trace=JSON.parse(this.eventData_);const spanLength=trace.spans.length;for(let i=0;i<spanLength;i++){events.push(this.createEventForSpan(trace.traceId,trace.spans[i]));}
4309return{'traceEvents':events};},createEventForSpan(traceId,span){let newArgs={};if(span.labels){newArgs=JSON.parse(JSON.stringify(span.labels));}
4310newArgs['Span ID']=span.spanId;newArgs['Start Time']=span.startTime;newArgs['End Time']=span.endTime;if(span.parentSpanId){newArgs['Parent Span ID']=span.parentSpanId;}
4311return{name:span.name,args:newArgs,pid:traceId,ts:Date.parse(span.startTime)*1000,dur:(Date.parse(span.endTime)-Date.parse(span.startTime))*1000,cat:'tracespan',tid:traceId,ph:'X'};}};tr.importer.Importer.register(GcloudTraceImporter);return{GcloudTraceImporter,};});'use strict';tr.exportTo('tr.b.math',function(){function convertEventsToRanges(events){return events.map(function(event){return tr.b.math.Range.fromExplicitRange(event.start,event.end);});}
4312function mergeRanges(inRanges,mergeThreshold,mergeFunction){const remainingEvents=inRanges.slice();remainingEvents.sort(function(x,y){return x.min-y.min;});if(remainingEvents.length<=1){const merged=[];if(remainingEvents.length===1){merged.push(mergeFunction(remainingEvents));}
4313return merged;}
4314const mergedEvents=[];let currentMergeBuffer=[];let rightEdge;function beginMerging(){currentMergeBuffer.push(remainingEvents[0]);remainingEvents.splice(0,1);rightEdge=currentMergeBuffer[0].max;}
4315function flushCurrentMergeBuffer(){if(currentMergeBuffer.length===0)return;mergedEvents.push(mergeFunction(currentMergeBuffer));currentMergeBuffer=[];if(remainingEvents.length!==0)beginMerging();}
4316beginMerging();while(remainingEvents.length){const currentEvent=remainingEvents[0];const distanceFromRightEdge=currentEvent.min-rightEdge;if(distanceFromRightEdge<mergeThreshold){rightEdge=Math.max(rightEdge,currentEvent.max);remainingEvents.splice(0,1);currentMergeBuffer.push(currentEvent);continue;}
4317flushCurrentMergeBuffer();}
4318flushCurrentMergeBuffer();return mergedEvents;}
4319function findEmptyRangesBetweenRanges(inRanges,opt_totalRange){if(opt_totalRange&&opt_totalRange.isEmpty)opt_totalRange=undefined;const emptyRanges=[];if(!inRanges.length){if(opt_totalRange)emptyRanges.push(opt_totalRange);return emptyRanges;}
4320inRanges=inRanges.slice();inRanges.sort(function(x,y){return x.min-y.min;});if(opt_totalRange&&(opt_totalRange.min<inRanges[0].min)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(opt_totalRange.min,inRanges[0].min));}
4321inRanges.forEach(function(range,index){for(let otherIndex=0;otherIndex<inRanges.length;++otherIndex){if(index===otherIndex)continue;const other=inRanges[otherIndex];if(other.min>range.max){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,other.min));return;}
4322if(other.max>range.max){return;}}
4323if(opt_totalRange&&(range.max<opt_totalRange.max)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,opt_totalRange.max));}});return emptyRanges;}
4324return{convertEventsToRanges,findEmptyRangesBetweenRanges,mergeRanges,};});!function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define(n);else{var r=n();for(var a in r)("object"==typeof exports?exports:t)[a]=r[a]}}(this,function(){return function(t){function n(a){if(r[a])return r[a].exports;var e=r[a]={exports:{},id:a,loaded:!1};return t[a].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){n.glMatrix=r(1),n.mat2=r(2),n.mat2d=r(3),n.mat3=r(4),n.mat4=r(5),n.quat=r(6),n.vec2=r(9),n.vec3=r(7),n.vec4=r(8)},function(t,n,r){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.setMatrixArrayType=function(t){GLMAT_ARRAY_TYPE=t};var e=Math.PI/180;a.toRadian=function(t){return t*e},t.exports=a},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*u-e*a;return o?(o=1/o,t[0]=u*o,t[1]=-a*o,t[2]=-e*o,t[3]=r*o,t):null},e.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},e.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*i+u*c,t[1]=e*i+o*c,t[2]=a*f+u*s,t[3]=e*f+o*s,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+u*i,t[1]=e*c+o*i,t[2]=a*-i+u*c,t[3]=e*-i+o*c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1];return t[0]=a*i,t[1]=e*i,t[2]=u*c,t[3]=o*c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},e.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},e.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=r*u-a*e;return c?(c=1/c,t[0]=u*c,t[1]=-a*c,t[2]=-e*c,t[3]=r*c,t[4]=(e*i-u*o)*c,t[5]=(a*o-r*i)*c,t):null},e.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1],h=r[2],M=r[3],l=r[4],v=r[5];return t[0]=a*f+u*s,t[1]=e*f+o*s,t[2]=a*h+u*M,t[3]=e*h+o*M,t[4]=a*l+u*v+i,t[5]=e*l+o*v+c,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=Math.sin(r),s=Math.cos(r);return t[0]=a*s+u*f,t[1]=e*s+o*f,t[2]=a*-f+u*s,t[3]=e*-f+o*s,t[4]=i,t[5]=c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a*f,t[1]=e*f,t[2]=u*s,t[3]=o*s,t[4]=i,t[5]=c,t},e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=a*f+u*s+i,t[5]=e*f+o*s+c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t[4]=0,t[5]=0,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},e.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat4=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t},e.clone=function(t){var n=new a.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=a,t[7]=e}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=s*o-i*f,M=-s*u+i*c,l=f*u-o*c,v=r*h+a*M+e*l;return v?(v=1/v,t[0]=h*v,t[1]=(-s*a+e*f)*v,t[2]=(i*a-e*o)*v,t[3]=M*v,t[4]=(s*r-e*c)*v,t[5]=(-i*r+e*u)*v,t[6]=l*v,t[7]=(-f*r+a*c)*v,t[8]=(o*r-a*u)*v,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8];return t[0]=o*s-i*f,t[1]=e*f-a*s,t[2]=a*i-e*o,t[3]=i*c-u*s,t[4]=r*s-e*c,t[5]=e*u-r*i,t[6]=u*f-o*c,t[7]=a*c-r*f,t[8]=r*o-a*u,t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8];return n*(f*u-o*c)+r*(-f*e+o*i)+a*(c*e-u*i)},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1],v=r[2],m=r[3],p=r[4],d=r[5],A=r[6],R=r[7],w=r[8];return t[0]=M*a+l*o+v*f,t[1]=M*e+l*i+v*s,t[2]=M*u+l*c+v*h,t[3]=m*a+p*o+d*f,t[4]=m*e+p*i+d*s,t[5]=m*u+p*c+d*h,t[6]=A*a+R*o+w*f,t[7]=A*e+R*i+w*s,t[8]=A*u+R*c+w*h,t},e.mul=e.multiply,e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=M*a+l*o+f,t[7]=M*e+l*i+s,t[8]=M*u+l*c+h,t},e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=Math.sin(r),l=Math.cos(r);return t[0]=l*a+M*o,t[1]=l*e+M*i,t[2]=l*u+M*c,t[3]=l*o-M*a,t[4]=l*i-M*e,t[5]=l*c-M*u,t[6]=f,t[7]=s,t[8]=h,t},e.scale=function(t,n,r){var a=r[0],e=r[1];return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=e*n[3],t[4]=e*n[4],t[5]=e*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=-r,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat2d=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[3]=s-d,t[6]=M+p,t[1]=s+d,t[4]=1-f-v,t[7]=l-m,t[2]=M-p,t[5]=l+m,t[8]=1-f-h,t},e.normalFromMat4=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(c*P-o*b-f*x)*D,t[2]=(o*T-i*P+f*y)*D,t[3]=(e*T-a*b-u*E)*D,t[4]=(r*b-e*P+u*x)*D,t[5]=(a*P-r*T-u*y)*D,t[6]=(m*g-p*Y+d*q)*D,t[7]=(p*w-v*g-d*R)*D,t[8]=(v*Y-m*w+d*A)*D,t):null},e.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[3],u=n[6],o=n[7],i=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=r,t[6]=n[9],t[7]=n[13],t[8]=a,t[9]=u,t[11]=n[14],t[12]=e,t[13]=o,t[14]=i}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(e*T-a*b-u*E)*D,t[2]=(m*g-p*Y+d*q)*D,t[3]=(M*Y-h*g-l*q)*D,t[4]=(c*P-o*b-f*x)*D,t[5]=(r*b-e*P+u*x)*D,t[6]=(p*w-v*g-d*R)*D,t[7]=(s*g-M*w+l*R)*D,t[8]=(o*T-i*P+f*y)*D,t[9]=(a*P-r*T-u*y)*D,t[10]=(v*Y-m*w+d*A)*D,t[11]=(h*w-s*Y-l*A)*D,t[12]=(i*x-o*E-c*y)*D,t[13]=(r*E-a*x+e*y)*D,t[14]=(m*R-v*q-p*A)*D,t[15]=(s*q-h*R+M*A)*D,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15];return t[0]=i*(M*d-l*p)-h*(c*d-f*p)+m*(c*l-f*M),t[1]=-(a*(M*d-l*p)-h*(e*d-u*p)+m*(e*l-u*M)),t[2]=a*(c*d-f*p)-i*(e*d-u*p)+m*(e*f-u*c),t[3]=-(a*(c*l-f*M)-i*(e*l-u*M)+h*(e*f-u*c)),t[4]=-(o*(M*d-l*p)-s*(c*d-f*p)+v*(c*l-f*M)),t[5]=r*(M*d-l*p)-s*(e*d-u*p)+v*(e*l-u*M),t[6]=-(r*(c*d-f*p)-o*(e*d-u*p)+v*(e*f-u*c)),t[7]=r*(c*l-f*M)-o*(e*l-u*M)+s*(e*f-u*c),t[8]=o*(h*d-l*m)-s*(i*d-f*m)+v*(i*l-f*h),t[9]=-(r*(h*d-l*m)-s*(a*d-u*m)+v*(a*l-u*h)),t[10]=r*(i*d-f*m)-o*(a*d-u*m)+v*(a*f-u*i),t[11]=-(r*(i*l-f*h)-o*(a*l-u*h)+s*(a*f-u*i)),t[12]=-(o*(h*p-M*m)-s*(i*p-c*m)+v*(i*M-c*h)),t[13]=r*(h*p-M*m)-s*(a*p-e*m)+v*(a*M-e*h),t[14]=-(r*(i*p-c*m)-o*(a*p-e*m)+v*(a*c-e*i)),t[15]=r*(i*M-c*h)-o*(a*M-e*h)+s*(a*c-e*i),t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8],s=t[9],h=t[10],M=t[11],l=t[12],v=t[13],m=t[14],p=t[15],d=n*o-r*u,A=n*i-a*u,R=n*c-e*u,w=r*i-a*o,q=r*c-e*o,Y=a*c-e*i,g=f*v-s*l,y=f*m-h*l,x=f*p-M*l,P=s*m-h*v,E=s*p-M*v,T=h*p-M*m;return d*T-A*E+R*P+w*x-q*y+Y*g},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],m=n[12],p=n[13],d=n[14],A=n[15],R=r[0],w=r[1],q=r[2],Y=r[3];return t[0]=R*a+w*i+q*h+Y*m,t[1]=R*e+w*c+q*M+Y*p,t[2]=R*u+w*f+q*l+Y*d,t[3]=R*o+w*s+q*v+Y*A,R=r[4],w=r[5],q=r[6],Y=r[7],t[4]=R*a+w*i+q*h+Y*m,t[5]=R*e+w*c+q*M+Y*p,t[6]=R*u+w*f+q*l+Y*d,t[7]=R*o+w*s+q*v+Y*A,R=r[8],w=r[9],q=r[10],Y=r[11],t[8]=R*a+w*i+q*h+Y*m,t[9]=R*e+w*c+q*M+Y*p,t[10]=R*u+w*f+q*l+Y*d,t[11]=R*o+w*s+q*v+Y*A,R=r[12],w=r[13],q=r[14],Y=r[15],t[12]=R*a+w*i+q*h+Y*m,t[13]=R*e+w*c+q*M+Y*p,t[14]=R*u+w*f+q*l+Y*d,t[15]=R*o+w*s+q*v+Y*A,t},e.mul=e.multiply,e.translate=function(t,n,r){var a,e,u,o,i,c,f,s,h,M,l,v,m=r[0],p=r[1],d=r[2];return n===t?(t[12]=n[0]*m+n[4]*p+n[8]*d+n[12],t[13]=n[1]*m+n[5]*p+n[9]*d+n[13],t[14]=n[2]*m+n[6]*p+n[10]*d+n[14],t[15]=n[3]*m+n[7]*p+n[11]*d+n[15]):(a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=f,t[7]=s,t[8]=h,t[9]=M,t[10]=l,t[11]=v,t[12]=a*m+i*p+h*d+n[12],t[13]=e*m+c*p+M*d+n[13],t[14]=u*m+f*p+l*d+n[14],t[15]=o*m+s*p+v*d+n[15]),t},e.scale=function(t,n,r){var a=r[0],e=r[1],u=r[2];return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*u,t[9]=n[9]*u,t[10]=n[10]*u,t[11]=n[11]*u,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.rotate=function(t,n,r,e){var u,o,i,c,f,s,h,M,l,v,m,p,d,A,R,w,q,Y,g,y,x,P,E,T,b=e[0],D=e[1],L=e[2],_=Math.sqrt(b*b+D*D+L*L);return Math.abs(_)<a.EPSILON?null:(_=1/_,b*=_,D*=_,L*=_,u=Math.sin(r),o=Math.cos(r),i=1-o,c=n[0],f=n[1],s=n[2],h=n[3],M=n[4],l=n[5],v=n[6],m=n[7],p=n[8],d=n[9],A=n[10],R=n[11],w=b*b*i+o,q=D*b*i+L*u,Y=L*b*i-D*u,g=b*D*i-L*u,y=D*D*i+o,x=L*D*i+b*u,P=b*L*i+D*u,E=D*L*i-b*u,T=L*L*i+o,t[0]=c*w+M*q+p*Y,t[1]=f*w+l*q+d*Y,t[2]=s*w+v*q+A*Y,t[3]=h*w+m*q+R*Y,t[4]=c*g+M*y+p*x,t[5]=f*g+l*y+d*x,t[6]=s*g+v*y+A*x,t[7]=h*g+m*y+R*x,t[8]=c*P+M*E+p*T,t[9]=f*P+l*E+d*T,t[10]=s*P+v*E+A*T,t[11]=h*P+m*E+R*T,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t)},e.rotateX=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[4],o=n[5],i=n[6],c=n[7],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=u*e+f*a,t[5]=o*e+s*a,t[6]=i*e+h*a,t[7]=c*e+M*a,t[8]=f*e-u*a,t[9]=s*e-o*a,t[10]=h*e-i*a,t[11]=M*e-c*a,t},e.rotateY=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e-f*a,t[1]=o*e-s*a,t[2]=i*e-h*a,t[3]=c*e-M*a,t[8]=u*a+f*e,t[9]=o*a+s*e,t[10]=i*a+h*e,t[11]=c*a+M*e,t},e.rotateZ=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[4],s=n[5],h=n[6],M=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e+f*a,t[1]=o*e+s*a,t[2]=i*e+h*a,t[3]=c*e+M*a,t[4]=f*e-u*a,t[5]=s*e-o*a,t[6]=h*e-i*a,t[7]=M*e-c*a,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotation=function(t,n,r){var e,u,o,i=r[0],c=r[1],f=r[2],s=Math.sqrt(i*i+c*c+f*f);return Math.abs(s)<a.EPSILON?null:(s=1/s,i*=s,c*=s,f*=s,e=Math.sin(n),u=Math.cos(n),o=1-u,t[0]=i*i*o+u,t[1]=c*i*o+f*e,t[2]=f*i*o-c*e,t[3]=0,t[4]=i*c*o-f*e,t[5]=c*c*o+u,t[6]=f*c*o+i*e,t[7]=0,t[8]=i*f*o+c*e,t[9]=c*f*o-i*e,t[10]=f*f*o+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},e.fromXRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromYRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromZRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotationTranslation=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=a+a,c=e+e,f=u+u,s=a*i,h=a*c,M=a*f,l=e*c,v=e*f,m=u*f,p=o*i,d=o*c,A=o*f;return t[0]=1-(l+m),t[1]=h+A,t[2]=M-d,t[3]=0,t[4]=h-A,t[5]=1-(s+m),t[6]=v+p,t[7]=0,t[8]=M+d,t[9]=v-p,t[10]=1-(s+l),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScale=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],c=e+e,f=u+u,s=o+o,h=e*c,M=e*f,l=e*s,v=u*f,m=u*s,p=o*s,d=i*c,A=i*f,R=i*s,w=a[0],q=a[1],Y=a[2];return t[0]=(1-(v+p))*w,t[1]=(M+R)*w,t[2]=(l-A)*w,t[3]=0,t[4]=(M-R)*q,t[5]=(1-(h+p))*q,t[6]=(m+d)*q,t[7]=0,t[8]=(l+A)*Y,t[9]=(m-d)*Y,t[10]=(1-(h+v))*Y,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScaleOrigin=function(t,n,r,a,e){var u=n[0],o=n[1],i=n[2],c=n[3],f=u+u,s=o+o,h=i+i,M=u*f,l=u*s,v=u*h,m=o*s,p=o*h,d=i*h,A=c*f,R=c*s,w=c*h,q=a[0],Y=a[1],g=a[2],y=e[0],x=e[1],P=e[2];return t[0]=(1-(m+d))*q,t[1]=(l+w)*q,t[2]=(v-R)*q,t[3]=0,t[4]=(l-w)*Y,t[5]=(1-(M+d))*Y,t[6]=(p+A)*Y,t[7]=0,t[8]=(v+R)*g,t[9]=(p-A)*g,t[10]=(1-(M+m))*g,t[11]=0,t[12]=r[0]+y-(t[0]*y+t[4]*x+t[8]*P),t[13]=r[1]+x-(t[1]*y+t[5]*x+t[9]*P),t[14]=r[2]+P-(t[2]*y+t[6]*x+t[10]*P),t[15]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[1]=s+d,t[2]=M-p,t[3]=0,t[4]=s-d,t[5]=1-f-v,t[6]=l+m,t[7]=0,t[8]=M+p,t[9]=l-m,t[10]=1-f-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,n,r,a,e,u,o){var i=1/(r-n),c=1/(e-a),f=1/(u-o);return t[0]=2*u*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*c,t[6]=0,t[7]=0,t[8]=(r+n)*i,t[9]=(e+a)*c,t[10]=(o+u)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*f,t[15]=0,t},e.perspective=function(t,n,r,a,e){var u=1/Math.tan(n/2),o=1/(a-e);return t[0]=u/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(e+a)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*e*a*o,t[15]=0,t},e.perspectiveFromFieldOfView=function(t,n,r,a){var e=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),i=Math.tan(n.rightDegrees*Math.PI/180),c=2/(o+i),f=2/(e+u);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-i)*c*.5),t[9]=(e-u)*f*.5,t[10]=a/(r-a),t[11]=-1,t[12]=0,t[13]=0,t[14]=a*r/(r-a),t[15]=0,t},e.ortho=function(t,n,r,a,e,u,o){var i=1/(n-r),c=1/(a-e),f=1/(u-o);return t[0]=-2*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(n+r)*i,t[13]=(e+a)*c,t[14]=(o+u)*f,t[15]=1,t},e.lookAt=function(t,n,r,u){var o,i,c,f,s,h,M,l,v,m,p=n[0],d=n[1],A=n[2],R=u[0],w=u[1],q=u[2],Y=r[0],g=r[1],y=r[2];return Math.abs(p-Y)<a.EPSILON&&Math.abs(d-g)<a.EPSILON&&Math.abs(A-y)<a.EPSILON?e.identity(t):(M=p-Y,l=d-g,v=A-y,m=1/Math.sqrt(M*M+l*l+v*v),M*=m,l*=m,v*=m,o=w*v-q*l,i=q*M-R*v,c=R*l-w*M,m=Math.sqrt(o*o+i*i+c*c),m?(m=1/m,o*=m,i*=m,c*=m):(o=0,i=0,c=0),f=l*c-v*i,s=v*o-M*c,h=M*i-l*o,m=Math.sqrt(f*f+s*s+h*h),m?(m=1/m,f*=m,s*=m,h*=m):(f=0,s=0,h=0),t[0]=o,t[1]=f,t[2]=M,t[3]=0,t[4]=i,t[5]=s,t[6]=l,t[7]=0,t[8]=c,t[9]=h,t[10]=v,t[11]=0,t[12]=-(o*p+i*d+c*A),t[13]=-(f*p+s*d+h*A),t[14]=-(M*p+l*d+v*A),t[15]=1,t)},e.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},t.exports=e},function(t,n,r){var a=r(1),e=r(4),u=r(7),o=r(8),i={};i.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.rotationTo=function(){var t=u.create(),n=u.fromValues(1,0,0),r=u.fromValues(0,1,0);return function(a,e,o){var c=u.dot(e,o);return-.999999>c?(u.cross(t,n,e),u.length(t)<1e-6&&u.cross(t,r,e),u.normalize(t,t),i.setAxisAngle(a,t,Math.PI),a):c>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(u.cross(t,e,o),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+c,i.normalize(a,a))}}(),i.setAxes=function(){var t=e.create();return function(n,r,a,e){return t[0]=a[0],t[3]=a[1],t[6]=a[2],t[1]=e[0],t[4]=e[1],t[7]=e[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],i.normalize(n,i.fromMat3(n,t))}}(),i.clone=o.clone,i.fromValues=o.fromValues,i.copy=o.copy,i.set=o.set,i.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.setAxisAngle=function(t,n,r){r=.5*r;var a=Math.sin(r);return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=Math.cos(r),t},i.add=o.add,i.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*s+o*i+e*f-u*c,t[1]=e*s+o*c+u*i-a*f,t[2]=u*s+o*f+a*c-e*i,t[3]=o*s-a*i-e*c-u*f,t},i.mul=i.multiply,i.scale=o.scale,i.rotateX=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+o*i,t[1]=e*c+u*i,t[2]=u*c-e*i,t[3]=o*c-a*i,t},i.rotateY=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c-u*i,t[1]=e*c+o*i,t[2]=u*c+a*i,t[3]=o*c-e*i,t},i.rotateZ=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+e*i,t[1]=e*c-a*i,t[2]=u*c+o*i,t[3]=o*c-u*i,t},i.calculateW=function(t,n){var r=n[0],a=n[1],e=n[2];return t[0]=r,t[1]=a,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-e*e)),t},i.dot=o.dot,i.lerp=o.lerp,i.slerp=function(t,n,r,a){var e,u,o,i,c,f=n[0],s=n[1],h=n[2],M=n[3],l=r[0],v=r[1],m=r[2],p=r[3];return u=f*l+s*v+h*m+M*p,0>u&&(u=-u,l=-l,v=-v,m=-m,p=-p),1-u>1e-6?(e=Math.acos(u),o=Math.sin(e),i=Math.sin((1-a)*e)/o,c=Math.sin(a*e)/o):(i=1-a,c=a),t[0]=i*f+c*l,t[1]=i*s+c*v,t[2]=i*h+c*m,t[3]=i*M+c*p,t},i.sqlerp=function(){var t=i.create(),n=i.create();return function(r,a,e,u,o,c){return i.slerp(t,a,o,c),i.slerp(n,e,u,c),i.slerp(r,t,n,2*c*(1-c)),r}}(),i.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u,i=o?1/o:0;return t[0]=-r*i,t[1]=-a*i,t[2]=-e*i,t[3]=u*i,t},i.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t},i.length=o.length,i.len=i.length,i.squaredLength=o.squaredLength,i.sqrLen=i.squaredLength,i.normalize=o.normalize,i.fromMat3=function(t,n){var r,a=n[0]+n[4]+n[8];if(a>0)r=Math.sqrt(a+1),t[3]=.5*r,r=.5/r,t[0]=(n[5]-n[7])*r,t[1]=(n[6]-n[2])*r,t[2]=(n[1]-n[3])*r;else{var e=0;n[4]>n[0]&&(e=1),n[8]>n[3*e+e]&&(e=2);var u=(e+1)%3,o=(e+2)%3;r=Math.sqrt(n[3*e+e]-n[3*u+u]-n[3*o+o]+1),t[e]=.5*r,r=.5/r,t[3]=(n[3*u+o]-n[3*o+u])*r,t[u]=(n[3*u+e]+n[3*e+u])*r,t[o]=(n[3*o+e]+n[3*e+o])*r}return t},i.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=i},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},e.fromValues=function(t,n,r){var e=new a.ARRAY_TYPE(3);return e[0]=t,e[1]=n,e[2]=r,e},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},e.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return Math.sqrt(r*r+a*a+e*e)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return r*r+a*a+e*e},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=r*r+a*a+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]},e.cross=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2];return t[0]=e*c-u*i,t[1]=u*o-a*c,t[2]=a*i-e*o,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t},e.hermite=function(t,n,r,a,e,u){var o=u*u,i=o*(2*u-3)+1,c=o*(u-2)+u,f=o*(u-1),s=o*(3-2*u);return t[0]=n[0]*i+r[0]*c+a[0]*f+e[0]*s,t[1]=n[1]*i+r[1]*c+a[1]*f+e[1]*s,t[2]=n[2]*i+r[2]*c+a[2]*f+e[2]*s,t},e.bezier=function(t,n,r,a,e,u){var o=1-u,i=o*o,c=u*u,f=i*o,s=3*u*i,h=3*c*o,M=c*u;return t[0]=n[0]*f+r[0]*s+a[0]*h+e[0]*M,t[1]=n[1]*f+r[1]*s+a[1]*h+e[1]*M,t[2]=n[2]*f+r[2]*s+a[2]*h+e[2]*M,t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI,e=2*a.RANDOM()-1,u=Math.sqrt(1-e*e)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=e*n,t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[3]*a+r[7]*e+r[11]*u+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*e+r[8]*u+r[12])/o,t[1]=(r[1]*a+r[5]*e+r[9]*u+r[13])/o,t[2]=(r[2]*a+r[6]*e+r[10]*u+r[14])/o,t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1],u=n[2];return t[0]=a*r[0]+e*r[3]+u*r[6],t[1]=a*r[1]+e*r[4]+u*r[7],t[2]=a*r[2]+e*r[5]+u*r[8],t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t},e.rotateX=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0],u[1]=e[1]*Math.cos(a)-e[2]*Math.sin(a),u[2]=e[1]*Math.sin(a)+e[2]*Math.cos(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateY=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[2]*Math.sin(a)+e[0]*Math.cos(a),u[1]=e[1],u[2]=e[2]*Math.cos(a)-e[0]*Math.sin(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateZ=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0]*Math.cos(a)-e[1]*Math.sin(a),u[1]=e[0]*Math.sin(a)+e[1]*Math.cos(a),u[2]=e[2],t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=3),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2];return n}}(),e.angle=function(t,n){var r=e.fromValues(t[0],t[1],t[2]),a=e.fromValues(n[0],n[1],n[2]);e.normalize(r,r),e.normalize(a,a);var u=e.dot(r,a);return u>1?0:Math.acos(u)},e.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.fromValues=function(t,n,r,e){var u=new a.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=e,u},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.set=function(t,n,r,a,e){return t[0]=n,t[1]=r,t[2]=a,t[3]=e,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return Math.sqrt(r*r+a*a+e*e+u*u)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return r*r+a*a+e*e+u*u},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return Math.sqrt(n*n+r*r+a*a+e*e)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return n*n+r*r+a*a+e*e},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=a*o,t[2]=e*o,t[3]=u*o),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},e.random=function(t,n){return n=n||1,t[0]=a.RANDOM(),t[1]=a.RANDOM(),t[2]=a.RANDOM(),t[3]=a.RANDOM(),e.normalize(t,t),e.scale(t,t,n),t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3];return t[0]=r[0]*a+r[4]*e+r[8]*u+r[12]*o,t[1]=r[1]*a+r[5]*e+r[9]*u+r[13]*o,t[2]=r[2]*a+r[6]*e+r[10]*u+r[14]*o,t[3]=r[3]*a+r[7]*e+r[11]*u+r[15]*o,t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t[3]=n[3],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=4),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],t[3]=n[i+3],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2],n[i+3]=t[3];return n}}(),e.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},e.fromValues=function(t,n){var r=new a.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},e.set=function(t,n,r){return t[0]=n,t[1]=r,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1];return n*n+r*r},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=r*r+a*a;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},e.cross=function(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t},e.transformMat2=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e,t[1]=r[1]*a+r[3]*e,t},e.transformMat2d=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e+r[4],t[1]=r[1]*a+r[3]*e+r[5],t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[3]*e+r[6],t[1]=r[1]*a+r[4]*e+r[7],t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[4]*e+r[12],t[1]=r[1]*a+r[5]*e+r[13],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=2),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],u(t,t,o),n[i]=t[0],n[i+1]=t[1];return n}}(),e.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},t.exports=e}])});'use strict';(function(global){if(tr.isNode){const glMatrixAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/gl-matrix-min.js');const glMatrixModule=require(glMatrixAbsPath);for(const exportName in glMatrixModule){global[exportName]=glMatrixModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const PREFERRED_NUMBER_SERIES_MULTIPLIERS=[1,2,5,10];function approximately(x,y,delta){if(delta===undefined)delta=1e-9;return Math.abs(x-y)<delta;}
4325function clamp(x,lo,hi){return Math.min(Math.max(x,lo),hi);}
4326function lerp(percentage,lo,hi){const range=hi-lo;return lo+percentage*range;}
4327function normalize(value,lo,hi){return(value-lo)/(hi-lo);}
4328function deg2rad(deg){return(Math.PI*deg)/180.0;}
4329function erf(x){const sign=(x>=0)?1:-1;x=Math.abs(x);const a1=0.254829592;const a2=-0.284496736;const a3=1.421413741;const a4=-1.453152027;const a5=1.061405429;const p=0.3275911;const t=1.0/(1.0+p*x);const y=1.0-(((((a5*t+a4)*t)+a3)*t+a2)*t+a1)*t*Math.exp(-x*x);return sign*y;}
4330const tmpVec2=vec2.create();const tmpVec2b=vec2.create();const tmpVec4=vec4.create();const tmpMat2d=mat2d.create();vec2.createFromArray=function(arr){if(arr.length!==2)throw new Error('Should be length 2');const v=vec2.create();vec2.set(v,arr[0],arr[1]);return v;};vec2.createXY=function(x,y){const v=vec2.create();vec2.set(v,x,y);return v;};vec2.toString=function(a){return'['+a[0]+', '+a[1]+']';};vec2.addTwoScaledUnitVectors=function(out,u1,scale1,u2,scale2){vec2.scale(tmpVec2,u1,scale1);vec2.scale(tmpVec2b,u2,scale2);vec2.add(out,tmpVec2,tmpVec2b);};vec2.interpolatePiecewiseFunction=function(points,x){if(x<points[0][0])return points[0][1];for(let i=1;i<points.length;++i){if(x<points[i][0]){const percent=normalize(x,points[i-1][0],points[i][0]);return lerp(percent,points[i-1][1],points[i][1]);}}
4331return points[points.length-1][1];};vec3.createXYZ=function(x,y,z){const v=vec3.create();vec3.set(v,x,y,z);return v;};vec3.toString=function(a){return'vec3('+a[0]+', '+a[1]+', '+a[2]+')';};mat2d.translateXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.translate(out,out,tmpVec2);};mat2d.scaleXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.scale(out,out,tmpVec2);};vec4.unitize=function(out,a){out[0]=a[0]/a[3];out[1]=a[1]/a[3];out[2]=a[2]/a[3];out[3]=1;return out;};vec2.copyFromVec4=function(out,a){vec4.unitize(tmpVec4,a);vec2.copy(out,tmpVec4);};function logOrLog10(x,base){if(base===10)return Math.log10(x);return Math.log(x)/Math.log(base);}
4332function lesserPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.floor(logOrLog10(x,base)));}
4333function greaterPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.ceil(logOrLog10(x,base)));}
4334function lesserWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.floor(x/pow10);}
4335function greaterWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.ceil(x/pow10);}
4336function preferredNumberLargerThanMin(min){const absMin=Math.abs(min);const conservativeGuess=tr.b.math.lesserPower(absMin);let minPreferedNumber=undefined;for(const multiplier of PREFERRED_NUMBER_SERIES_MULTIPLIERS){const tightenedGuess=conservativeGuess*multiplier;if(tightenedGuess>=absMin){minPreferedNumber=tightenedGuess;break;}}
4337if(minPreferedNumber===undefined){throw new Error('Could not compute preferred number for '+min);}
4338if(min<0)minPreferedNumber*=-1;return minPreferedNumber;}
4339return{approximately,clamp,lerp,normalize,deg2rad,erf,lesserPower,greaterPower,lesserWholeNumber,greaterWholeNumber,preferredNumberLargerThanMin,};});'use strict';tr.exportTo('tr.b.math',function(){function Range(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;}
4340Range.prototype={__proto__:Object.prototype,clone(){if(this.isEmpty)return new Range();return Range.fromExplicitRange(this.min_,this.max_);},reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addRange(range){if(range.isEmpty)return;this.addValue(range.min);this.addValue(range.max);},addValue(value){if(this.isEmpty_){this.max_=value;this.min_=value;this.isEmpty_=false;return;}
4341this.max_=Math.max(this.max_,value);this.min_=Math.min(this.min_,value);},set min(min){this.isEmpty_=false;this.min_=min;},get min(){if(this.isEmpty_)return undefined;return this.min_;},get max(){if(this.isEmpty_)return undefined;return this.max_;},set max(max){this.isEmpty_=false;this.max_=max;},get range(){if(this.isEmpty_)return undefined;return this.max_-this.min_;},get center(){return(this.min_+this.max_)*0.5;},get duration(){if(this.isEmpty_)return 0;return this.max_-this.min_;},enclosingPowers(opt_base){if(this.isEmpty)return new Range();return Range.fromExplicitRange(tr.b.math.lesserPower(this.min_,opt_base),tr.b.math.greaterPower(this.max_,opt_base));},normalize(x){return tr.b.math.normalize(x,this.min,this.max);},lerp(x){return tr.b.math.lerp(x,this.min,this.max);},clamp(x){return tr.b.math.clamp(x,this.min,this.max);},equals(that){if(this.isEmpty&&that.isEmpty)return true;if(this.isEmpty!==that.isEmpty)return false;return(tr.b.math.approximately(this.min,that.min)&&tr.b.math.approximately(this.max,that.max));},containsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=min&&max<=this.max_;},containsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<min&&max<this.max_;},intersectsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=max&&min<=this.max_;},intersectsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<max&&min<this.max_;},containsRangeInclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeInclusive(range.min_,range.max_);},containsRangeExclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeExclusive(range.min_,range.max_);},intersectsRangeInclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeInclusive(range.min_,range.max_);},intersectsRangeExclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeExclusive(range.min_,range.max_);},findExplicitIntersectionDuration(min,max){min=Math.max(this.min,min);max=Math.min(this.max,max);if(max<min)return 0;return max-min;},findIntersection(range){if(this.isEmpty||range.isEmpty)return new Range();const min=Math.max(this.min,range.min);const max=Math.min(this.max,range.max);if(max<min)return new Range();return Range.fromExplicitRange(min,max);},toJSON(){if(this.isEmpty_)return{isEmpty:true};return{isEmpty:false,max:this.max,min:this.min};},filterArray(array,opt_keyFunc,opt_this){if(this.isEmpty_)return[];function binSearch(test){let i0=0;let i1=array.length;while(i0<i1){const i=Math.trunc((i0+i1)/2);if(test(i)){i1=i;}else{i0=i+1;}}
4342return i1;}
4343const keyFunc=opt_keyFunc||tr.b.identity;function getValue(index){return keyFunc.call(opt_this,array[index]);}
4344const first=binSearch(function(i){return this.min_===undefined||this.min_<=getValue(i);}.bind(this));const last=binSearch(function(i){return this.max_!==undefined&&this.max_<getValue(i);}.bind(this));return array.slice(first,last);}};Range.fromDict=function(d){if(d.isEmpty===true)return new Range();if(d.isEmpty===false){const range=new Range();range.min=d.min;range.max=d.max;return range;}
4345throw new Error('Not a range');};Range.fromExplicitRange=function(min,max){const range=new Range();range.min=min;range.max=max;return range;};Range.compareByMinTimes=function(a,b){if(!a.isEmpty&&!b.isEmpty)return a.min_-b.min_;if(a.isEmpty&&!b.isEmpty)return-1;if(!a.isEmpty&&b.isEmpty)return 1;return 0;};Range.findDifference=function(rangeA,rangeB){if(!rangeA||rangeA.duration<0||!rangeB||rangeB.duration<0){throw new Error(`Couldn't subtract ranges`);}
4346const resultRanges=[];if(rangeA.isEmpty)return resultRanges;if(rangeB.isEmpty)return[rangeA.clone()];const intersection=rangeA.findIntersection(rangeB);if(intersection.isEmpty){return[rangeA.clone()];}
4347if(rangeA.duration===0&&rangeB.duration===0){if(intersection.empty)return[rangeA.clone()];else if(intersection.duration===0)return resultRanges;throw new Error(`Two points' intersection can only be a point or empty`);}
4348const leftRange=tr.b.math.Range.fromExplicitRange(rangeA.min,intersection.min);if(leftRange.duration>0){resultRanges.push(leftRange);}
4349const rightRange=tr.b.math.Range.fromExplicitRange(intersection.max,rangeA.max);if(rightRange.duration>0){resultRanges.push(rightRange);}
4350return resultRanges;};Range.PERCENT_RANGE=Range.fromExplicitRange(0,1);Object.freeze(Range.PERCENT_RANGE);return{Range,};});'use strict';(function(exports){var rank={standard:function(array,key){array=array.sort(function(a,b){var x=a[key];var y=b[key];return((x<y)?-1:((x>y)?1:0));});for(var i=1;i<array.length+1;i++){array[i-1]['rank']=i;}
4351return array;},fractional:function(array,key){array=this.standard(array,key);var pos=0;while(pos<array.length){var sum=0;var i=0;for(i=0;array[pos+i+1]&&(array[pos+i][key]===array[pos+i+1][key]);i++){sum+=array[pos+i]['rank'];}
4352sum+=array[pos+i]['rank'];var endPos=pos+i+1;for(pos;pos<endPos;pos++){array[pos]['rank']=sum/(i+1);}
4353pos=endPos;}
4354return array;},rank:function(x,y){var nx=x.length,ny=y.length,combined=[],ranked;while(nx--){combined.push({set:'x',val:x[nx]});}
4355while(ny--){combined.push({set:'y',val:y[ny]});}
4356ranked=this.fractional(combined,'val');return ranked}};var erf=function erf(x){var cof=[-1.3026537197817094,6.4196979235649026e-1,1.9476473204185836e-2,-9.561514786808631e-3,-9.46595344482036e-4,3.66839497852761e-4,4.2523324806907e-5,-2.0278578112534e-5,-1.624290004647e-6,1.303655835580e-6,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17];var j=cof.length-1;var isneg=false;var d=0;var dd=0;var t,ty,tmp,res;if(x<0){x=-x;isneg=true;}
4357t=2/(2+x);ty=4*t-2;for(;j>0;j--){tmp=d;d=ty*d-dd+cof[j];dd=tmp;}
4358res=t*Math.exp(-x*x+0.5*(cof[0]+ty*d)-dd);return isneg?res-1:1-res;};var dnorm=function(x,mean,std){return 0.5*(1+erf((x-mean)/Math.sqrt(2*std*std)));}
4359var statistic=function(x,y){var ranked=rank.rank(x,y),nr=ranked.length,nx=x.length,ny=y.length,ranksums={x:0,y:0},i=0,t=0,nt=1,tcf,ux,uy;while(i<nr){if(i>0){if(ranked[i].val==ranked[i-1].val){nt++;}else{if(nt>1){t+=Math.pow(nt,3)-nt
4360nt=1;}}}
4361ranksums[ranked[i].set]+=ranked[i].rank
4362i++;}
4363tcf=1-(t/(Math.pow(nr,3)-nr))
4364ux=nx*ny+(nx*(nx+1)/2)-ranksums.x;uy=nx*ny-ux;return{tcf:tcf,ux:ux,uy:uy,big:Math.max(ux,uy),small:Math.min(ux,uy)}}
4365exports.test=function(x,y,alt,corr){alt=typeof alt!=='undefined'?alt:'two-sided';corr=typeof corr!=='undefined'?corr:true;var nx=x.length,ny=y.length,f=1,u,mu,std,z,p;u=statistic(x,y);if(corr){mu=(nx*ny/2)+0.5;}else{mu=nx*ny/2;}
4366std=Math.sqrt(u.tcf*nx*ny*(nx+ny+1)/12);if(alt=='less'){z=(u.ux-mu)/std;}else if(alt=='greater'){z=(u.uy-mu)/std;}else if(alt=='two-sided'){z=Math.abs((u.big-mu)/std);}else{console.log('Unknown alternative argument');}
4367if(alt=='two-sided'){f=2;}
4368p=dnorm(-z,0,1)*f;return{U:u.small,p:p};}})(typeof exports==='undefined'?this['mannwhitneyu']={}:exports);'use strict';(function(global){if(tr.isNode){const mwuAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/mannwhitneyu.js');const mwuModule=require(mwuAbsPath);for(const exportName in mwuModule){global[exportName]=mwuModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const identity=x=>x;const Statistics={};Statistics.divideIfPossibleOrZero=function(numerator,denominator){if(denominator===0)return 0;return numerator/denominator;};Statistics.sum=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=0;let i=0;for(const elt of ary){ret+=func.call(opt_this,elt,i++);}
4369return ret;};Statistics.mean=function(ary,opt_func,opt_this){const func=opt_func||identity;let sum=0;let i=0;for(const elt of ary){sum+=func.call(opt_this,elt,i++);}
4370if(i===0)return undefined;return sum/i;};Statistics.geometricMean=function(ary,opt_func,opt_this){const func=opt_func||identity;let i=0;let logsum=0;for(const elt of ary){const x=func.call(opt_this,elt,i++);if(x<=0)return 0;logsum+=Math.log(Math.abs(x));}
4371if(i===0)return 1;return Math.exp(logsum/i);};Statistics.weightedMean=function(ary,weightCallback,opt_valueCallback,opt_this){const valueCallback=opt_valueCallback||identity;let numerator=0;let denominator=0;let i=-1;for(const elt of ary){i++;const value=valueCallback.call(opt_this,elt,i);if(value===undefined)continue;const weight=weightCallback.call(opt_this,elt,i,value);numerator+=weight*value;denominator+=weight;}
4372if(denominator===0)return undefined;return numerator/denominator;};Statistics.variance=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;if(ary.length===1)return 0;const func=opt_func||identity;const mean=Statistics.mean(ary,func,opt_this);const sumOfSquaredDistances=Statistics.sum(ary,function(d,i){const v=func.call(this,d,i)-mean;return v*v;},opt_this);return sumOfSquaredDistances/(ary.length-1);};Statistics.stddev=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;return Math.sqrt(Statistics.variance(ary,opt_func,opt_this));};Statistics.max=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=-Infinity;let i=0;for(const elt of ary){ret=Math.max(ret,func.call(opt_this,elt,i++));}
4373return ret;};Statistics.min=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=Infinity;let i=0;for(const elt of ary){ret=Math.min(ret,func.call(opt_this,elt,i++));}
4374return ret;};Statistics.range=function(ary,opt_func,opt_this){const func=opt_func||identity;const ret=new tr.b.math.Range();let i=0;for(const elt of ary){ret.addValue(func.call(opt_this,elt,i++));}
4375return ret;};Statistics.percentile=function(ary,percent,opt_func,opt_this){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');}
4376const func=opt_func||identity;const tmp=new Array(ary.length);let i=0;for(const elt of ary){tmp[i]=func.call(opt_this,elt,i++);}
4377tmp.sort((a,b)=>a-b);const idx=Math.floor((ary.length-1)*percent);return tmp[idx];};Statistics.normalizeSamples=function(samples){if(samples.length===0){return{normalized_samples:samples,scale:1.0};}
4378samples=samples.slice().sort(function(a,b){return a-b;});const low=Math.min.apply(null,samples);const high=Math.max.apply(null,samples);const newLow=0.5/samples.length;const newHigh=(samples.length-0.5)/samples.length;if(high-low===0.0){samples=Array.apply(null,new Array(samples.length)).map(function(){return 0.5;});return{normalized_samples:samples,scale:1.0};}
4379const scale=(newHigh-newLow)/(high-low);for(let i=0;i<samples.length;i++){samples[i]=(samples[i]-low)*scale+newLow;}
4380return{normalized_samples:samples,scale};};Statistics.discrepancy=function(samples,opt_locationCount){if(samples.length===0)return 0.0;let maxLocalDiscrepancy=0;const invSampleCount=1.0/samples.length;const locations=[];const countLess=[];const countLessEqual=[];if(opt_locationCount!==undefined){let sampleIndex=0;for(let i=0;i<opt_locationCount;i++){const location=i/(opt_locationCount-1);locations.push(location);while(sampleIndex<samples.length&&samples[sampleIndex]<location){sampleIndex+=1;}
4381countLess.push(sampleIndex);while(sampleIndex<samples.length&&samples[sampleIndex]<=location){sampleIndex+=1;}
4382countLessEqual.push(sampleIndex);}}else{if(samples[0]>0.0){locations.push(0.0);countLess.push(0);countLessEqual.push(0);}
4383for(let i=0;i<samples.length;i++){locations.push(samples[i]);countLess.push(i);countLessEqual.push(i+1);}
4384if(samples[-1]<1.0){locations.push(1.0);countLess.push(samples.length);countLessEqual.push(samples.length);}}
4385let maxDiff=0;let minDiff=0;for(let i=1;i<locations.length;i++){const length=locations[i]-locations[i-1];const countClosed=countLessEqual[i]-countLess[i-1];const countOpen=countLess[i]-countLessEqual[i-1];const countClosedIncrement=countLessEqual[i]-countLessEqual[i-1];const countOpenIncrement=countLess[i]-countLess[i-1];maxDiff=Math.max(countClosedIncrement*invSampleCount-length+maxDiff,countClosed*invSampleCount-length);minDiff=Math.min(countOpenIncrement*invSampleCount-length+minDiff,countOpen*invSampleCount-length);maxLocalDiscrepancy=Math.max(maxDiff,-minDiff,maxLocalDiscrepancy);}
4386return maxLocalDiscrepancy;};Statistics.timestampsDiscrepancy=function(timestamps,opt_absolute,opt_locationCount){if(timestamps.length===0)return 0.0;if(opt_absolute===undefined)opt_absolute=true;if(Array.isArray(timestamps[0])){const rangeDiscrepancies=timestamps.map(function(r){return Statistics.timestampsDiscrepancy(r);});return Math.max.apply(null,rangeDiscrepancies);}
4387const s=Statistics.normalizeSamples(timestamps);const samples=s.normalized_samples;const sampleScale=s.scale;let discrepancy=Statistics.discrepancy(samples,opt_locationCount);const invSampleCount=1.0/samples.length;if(opt_absolute===true){discrepancy/=sampleScale;}else{discrepancy=tr.b.math.clamp((discrepancy-invSampleCount)/(1.0-invSampleCount),0.0,1.0);}
4388return discrepancy;};Statistics.durationsDiscrepancy=function(durations,opt_absolute,opt_locationCount){if(durations.length===0)return 0.0;const timestamps=durations.reduce(function(prev,curr,index,array){prev.push(prev[prev.length-1]+curr);return prev;},[0]);return Statistics.timestampsDiscrepancy(timestamps,opt_absolute,opt_locationCount);};Statistics.uniformlySampleArray=function(samples,count){if(samples.length<=count){return samples;}
4389while(samples.length>count){const i=parseInt(Math.random()*samples.length);samples.splice(i,1);}
4390return samples;};Statistics.uniformlySampleStream=function(samples,streamLength,newElement,numSamples){if(streamLength<=numSamples){if(samples.length>=streamLength){samples[streamLength-1]=newElement;}else{samples.push(newElement);}
4391return;}
4392const probToKeep=numSamples/streamLength;if(Math.random()>probToKeep)return;const index=Math.floor(Math.random()*numSamples);samples[index]=newElement;};Statistics.mergeSampledStreams=function(samplesA,streamLengthA,samplesB,streamLengthB,numSamples){if(streamLengthB<numSamples){const nbElements=Math.min(streamLengthB,samplesB.length);for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(samplesA,streamLengthA+i+1,samplesB[i],numSamples);}
4393return;}
4394if(streamLengthA<numSamples){const nbElements=Math.min(streamLengthA,samplesA.length);const tempSamples=samplesB.slice();for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(tempSamples,streamLengthB+i+1,samplesA[i],numSamples);}
4395for(let i=0;i<tempSamples.length;++i){samplesA[i]=tempSamples[i];}
4396return;}
4397const nbElements=Math.min(numSamples,samplesB.length);const probOfSwapping=streamLengthB/(streamLengthA+streamLengthB);for(let i=0;i<nbElements;++i){if(Math.random()<probOfSwapping){samplesA[i]=samplesB[i];}}};function Distribution(){}
4398Distribution.prototype={computeDensity(x){throw Error('Not implemented');},computePercentile(x){throw Error('Not implemented');},computeComplementaryPercentile(x){return 1-this.computePercentile(x);},get mean(){throw Error('Not implemented');},get mode(){throw Error('Not implemented');},get median(){throw Error('Not implemented');},get standardDeviation(){throw Error('Not implemented');},get variance(){throw Error('Not implemented');}};Statistics.UniformDistribution=function(opt_range){if(!opt_range)opt_range=tr.b.math.Range.fromExplicitRange(0,1);this.range=opt_range;};Statistics.UniformDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){return 1/this.range.range;},computePercentile(x){return tr.b.math.normalize(x,this.range.min,this.range.max);},get mean(){return this.range.center;},get mode(){return undefined;},get median(){return this.mean;},get standardDeviation(){return Math.sqrt(this.variance);},get variance(){return Math.pow(this.range.range,2)/12;}};Statistics.NormalDistribution=function(opt_mean,opt_variance){this.mean_=opt_mean||0;this.variance_=opt_variance||1;this.standardDeviation_=Math.sqrt(this.variance_);};Statistics.NormalDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){const scale=(1.0/(this.standardDeviation*Math.sqrt(2.0*Math.PI)));const exponent=-Math.pow(x-this.mean,2)/(2.0*this.variance);return scale*Math.exp(exponent);},computePercentile(x){const standardizedX=((x-this.mean)/Math.sqrt(2.0*this.variance));return(1.0+tr.b.math.erf(standardizedX))/2.0;},get mean(){return this.mean_;},get median(){return this.mean;},get mode(){return this.mean;},get standardDeviation(){return this.standardDeviation_;},get variance(){return this.variance_;}};Statistics.LogNormalDistribution=function(opt_location,opt_shape){this.normalDistribution_=new Statistics.NormalDistribution(opt_location,Math.pow(opt_shape||1,2));};Statistics.LogNormalDistribution.prototype={__proto__:Statistics.NormalDistribution.prototype,computeDensity(x){return this.normalDistribution_.computeDensity(Math.log(x))/x;},computePercentile(x){return this.normalDistribution_.computePercentile(Math.log(x));},get mean(){return Math.exp(this.normalDistribution_.mean+
4399(this.normalDistribution_.variance/2));},get variance(){const nm=this.normalDistribution_.mean;const nv=this.normalDistribution_.variance;return(Math.exp(2*(nm+nv))-
4400Math.exp(2*nm+nv));},get standardDeviation(){return Math.sqrt(this.variance);},get median(){return Math.exp(this.normalDistribution_.mean);},get mode(){return Math.exp(this.normalDistribution_.mean-
4401this.normalDistribution_.variance);}};Statistics.LogNormalDistribution.fromMedianAndDiminishingReturns=function(median,diminishingReturns){diminishingReturns=Math.log(diminishingReturns/median);const shape=Math.sqrt(1-3*diminishingReturns-
4402Math.sqrt(Math.pow(diminishingReturns-3,2)-8))/2;const location=Math.log(median);return new Statistics.LogNormalDistribution(location,shape);};Statistics.DEFAULT_ALPHA=0.01;Statistics.MAX_SUGGESTED_SAMPLE_SIZE=20;Statistics.Significance={SIGNIFICANT:'REJECT',INSIGNIFICANT:'FAIL_TO_REJECT',NEED_MORE_DATA:'NEED_MORE_DATA',DONT_CARE:'DONT_CARE',};Statistics.mwu=function(a,b,opt_alpha,opt_reqSampleSize){const result=mannwhitneyu.test(a,b);const alpha=opt_alpha||Statistics.DEFAULT_ALPHA;if(result.p<alpha){result.significance=Statistics.Significance.SIGNIFICANT;}else if(opt_reqSampleSize&&(a.length<opt_reqSampleSize||b.length<opt_reqSampleSize)){result.significance=Statistics.Significance.NEED_MORE_DATA;}else{result.significance=Statistics.Significance.INSIGNIFICANT;}
4403return result;};return{Statistics,};});'use strict';const GREEK_SMALL_LETTER_MU=String.fromCharCode(956);tr.exportTo('tr.b',function(){const SECONDS_IN_A_MINUTE=60;const SECONDS_IN_AN_HOUR=SECONDS_IN_A_MINUTE*60;const SECONDS_IN_A_DAY=SECONDS_IN_AN_HOUR*24;const SECONDS_IN_A_WEEK=SECONDS_IN_A_DAY*7;const SECONDS_IN_A_YEAR=SECONDS_IN_A_DAY*365.2422;const SECONDS_IN_A_MONTH=SECONDS_IN_A_YEAR/12;const UnitPrefixScale={};const UnitScale={};function defineUnitPrefixScale(name,prefixes){if(UnitPrefixScale[name]!==undefined){throw new Error('Unit prefix scale \''+name+'\' already exists');}
4404if(prefixes.AUTO!==undefined){throw new Error('The \'AUTO\' unit prefix is not supported for unit'+'prefix scales and cannot be added to scale \''+name+'\'');}
4405UnitPrefixScale[name]=prefixes;}
4406UnitScale.defineUnitScale=function(name,unitScale){if(UnitScale[name]!==undefined){throw new Error('Unit scale \''+name+'\' already exists');}
4407if(unitScale.AUTO!==undefined){throw new Error('\'AUTO\' unit scale will be added automatically '+'for unit scale \''+name+'\'');}
4408unitScale.AUTO=Object.values(unitScale);unitScale.AUTO.sort((a,b)=>a.value-b.value);if(name)UnitScale[name]=unitScale;return unitScale;};UnitScale.defineUnitScaleFromPrefixScale=function(baseSymbol,baseName,prefixScale,opt_scaleName){if(baseSymbol===undefined){throw new Error('Cannot create UnitScale with undefined baseSymbol.');}
4409if(!baseName){throw new Error('Cannot create UnitScale without a baseName.');}
4410if(!prefixScale){throw new Error('Cannot create UnitScale without a prefix scale.');}
4411const unitScale={};for(const curPrefix of Object.keys(prefixScale)){const curScale=prefixScale[curPrefix];if(curScale.symbol===undefined||!curScale.value){throw new Error(`Cannot convert PrefixScale with malformed prefix ${curScale}.`);}
4412const name=curPrefix==='NONE'?baseName:`${curPrefix}_${baseName}`;unitScale[name]={value:curScale.value,symbol:curScale.symbol+baseSymbol,baseSymbol};}
4413return UnitScale.defineUnitScale(opt_scaleName,unitScale);};function convertUnit(value,fromScale,toScale){if(value===undefined)return undefined;const fromScaleBase=fromScale.baseSymbol;const toScaleBase=toScale.baseSymbol;if(fromScaleBase!==undefined&&toScaleBase!==undefined&&fromScaleBase!==toScaleBase){throw new Error('Cannot convert between units with different base symbols.');}
4414return value*(fromScale.value/toScale.value);}
4415defineUnitPrefixScale('BINARY',{NONE:{value:Math.pow(1024,0),symbol:''},KIBI:{value:Math.pow(1024,1),symbol:'Ki'},MEBI:{value:Math.pow(1024,2),symbol:'Mi'},GIBI:{value:Math.pow(1024,3),symbol:'Gi'},TEBI:{value:Math.pow(1024,4),symbol:'Ti'}});defineUnitPrefixScale('METRIC',{NANO:{value:1e-9,symbol:'n'},MICRO:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU},MILLI:{value:1e-3,symbol:'m'},NONE:{value:1,symbol:''},KILO:{value:1e3,symbol:'k'},MEGA:{value:1e6,symbol:'M'},GIGA:{value:1e9,symbol:'G'}});UnitScale.defineUnitScale('TIME',{NANO_SEC:{value:1e-9,symbol:'ns',baseSymbol:'s'},MICRO_SEC:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU+'s',baseSymbol:'s'},MILLI_SEC:{value:1e-3,symbol:'ms',baseSymbol:'s'},SEC:{value:1,symbol:'s',baseSymbol:'s'},MINUTE:{value:SECONDS_IN_A_MINUTE,symbol:'min',baseSymbol:'s'},HOUR:{value:SECONDS_IN_AN_HOUR,symbol:'hr',baseSymbol:'s'},DAY:{value:SECONDS_IN_A_DAY,symbol:'days',baseSymbol:'s'},WEEK:{value:SECONDS_IN_A_WEEK,symbol:'weeks',baseSymbol:'s'},MONTH:{value:SECONDS_IN_A_MONTH,symbol:'months',baseSymbol:'s'},YEAR:{value:SECONDS_IN_A_YEAR,symbol:'years',baseSymbol:'s'}});UnitScale.defineUnitScaleFromPrefixScale('B','BYTE',UnitPrefixScale.BINARY,'MEMORY');return{UnitPrefixScale,UnitScale,convertUnit,};});'use strict';tr.exportTo('tr.b',function(){const msDisplayMode={scale:1e-3,suffix:'ms',roundedLess(a,b){return Math.round(a*1000)<Math.round(b*1000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.MILLI_SEC],minimumFractionDigits:3,}};const nsDisplayMode={scale:1e-9,suffix:'ns',roundedLess(a,b){return Math.round(a*1000000)<Math.round(b*1000000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.NANO_SEC],maximumFractionDigits:0}};const TimeDisplayModes={ns:nsDisplayMode,ms:msDisplayMode};return{TimeDisplayModes,};});'use strict';tr.exportTo('tr.b',function(){function iterateElementDeeplyImpl(element,cb,thisArg,includeElement){if(includeElement&&cb.call(thisArg,element))return true;if(element.root&&element.root!==element&&iterateElementDeeplyImpl(element.root,cb,thisArg,false)){return true;}
4416const children=Polymer.dom(element).children;for(let i=0;i<children.length;i++){if(iterateElementDeeplyImpl(children[i],cb,thisArg,true)){return true;}}
4417return false;}
4418function iterateElementDeeply(element,cb,thisArg){iterateElementDeeplyImpl(element,cb,thisArg,false);}
4419function findDeepElementMatchingPredicate(element,predicate){let foundElement=undefined;function matches(element){const match=predicate(element);if(!match){return false;}
4420foundElement=element;return true;}
4421iterateElementDeeply(element,matches);return foundElement;}
4422function findDeepElementsMatchingPredicate(element,predicate){const foundElements=[];function matches(element){const match=predicate(element);if(match){foundElements.push(element);}
4423return false;}
4424iterateElementDeeply(element,matches);return foundElements;}
4425function findDeepElementMatching(element,selector){return findDeepElementMatchingPredicate(element,function(element){return element.matches(selector);});}
4426function findDeepElementsMatching(element,selector){return findDeepElementsMatchingPredicate(element,function(element){return element.matches(selector);});}
4427function findDeepElementWithTextContent(element,re){return findDeepElementMatchingPredicate(element,function(element){if(element.children.length!==0)return false;return re.test(Polymer.dom(element).textContent);});}
4428return{iterateElementDeeply,findDeepElementMatching,findDeepElementsMatching,findDeepElementMatchingPredicate,findDeepElementsMatchingPredicate,findDeepElementWithTextContent,};});'use strict';tr.exportTo('tr.b',function(){const TimeDisplayModes=tr.b.TimeDisplayModes;const PLUS_MINUS_SIGN=String.fromCharCode(177);const CACHED_FORMATTERS={};function getNumberFormatter(minSpec,maxSpec,minCtx,maxCtx){const key=minSpec+'-'+maxSpec+'-'+minCtx+'-'+maxCtx;let formatter=CACHED_FORMATTERS[key];if(formatter===undefined){let minimumFractionDigits=minCtx!==undefined?minCtx:minSpec;let maximumFractionDigits=maxCtx!==undefined?maxCtx:maxSpec;if(minimumFractionDigits>maximumFractionDigits){if(minCtx!==undefined&&maxCtx===undefined){maximumFractionDigits=minimumFractionDigits;}else if(minCtx===undefined&&maxCtx!==undefined){minimumFractionDigits=maximumFractionDigits;}}
4429formatter=new Intl.NumberFormat(undefined,{minimumFractionDigits,maximumFractionDigits,});CACHED_FORMATTERS[key]=formatter;}
4430return formatter;}
4431function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return a.scale>b.scale?a:b;}
4432const ImprovementDirection={DONT_CARE:0,BIGGER_IS_BETTER:1,SMALLER_IS_BETTER:2};function Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,formatSpec){this.unitName=unitName;this.jsonName=jsonName;this.scaleBaseUnit=scaleBaseUnit;this.isDelta=isDelta;this.improvementDirection=improvementDirection;this.formatSpec_=formatSpec;this.baseUnit=undefined;this.correspondingDeltaUnit=undefined;}
4433Unit.prototype={asJSON(){return this.jsonName;},getUnitScale_(opt_context){let formatSpec=this.formatSpec_;let formatSpecWasFunction=false;if(typeof formatSpec==='function'){formatSpecWasFunction=true;formatSpec=formatSpec();}
4434const context=opt_context||{};let scale=undefined;if(context.unitScale){scale=context.unitScale;}else if(context.unitPrefix){const symbol=formatSpec.baseSymbol?formatSpec.baseSymbol:this.scaleBaseUnit.baseSymbol;scale=tr.b.UnitScale.defineUnitScaleFromPrefixScale(symbol,symbol,[context.unitPrefix]).AUTO;}else{scale=formatSpec.unitScale;if(!scale){scale=[{value:1,symbol:formatSpec.baseSymbol||'',baseSymbol:formatSpec.baseSymbol||''}];if(!formatSpecWasFunction)formatSpec.unitScale=scale;}}
4435if(!(scale instanceof Array)){throw new Error('Unit has a malformed unit scale.');}
4436return scale;},get unitString(){const scale=this.getUnitScale_();if(!scale){throw new Error('A UnitScale could not be found for Unit '+this.unitName);}
4437return scale[0].baseSymbol||scale[0].symbol;},format(value,opt_context){let signString='';if(value<0){signString='-';value=-value;}else if(this.isDelta){signString=value===0?PLUS_MINUS_SIGN:'+';}
4438const context=opt_context||{};const scale=this.getUnitScale_(context);let deltaValue=context.deltaValue===undefined?value:context.deltaValue;deltaValue=Math.abs(deltaValue)*this.scaleBaseUnit.value;let i=0;while(i<scale.length-1&&deltaValue/scale[i+1].value>=1){i++;}
4439const selectedSubUnit=scale[i];let formatSpec=this.formatSpec_;if(typeof formatSpec==='function')formatSpec=formatSpec();let unitString='';if(selectedSubUnit.symbol){if(!formatSpec.avoidSpacePrecedingUnit)unitString=' ';unitString+=selectedSubUnit.symbol;}
4440value=tr.b.convertUnit(value,this.scaleBaseUnit,selectedSubUnit);const numberString=getNumberFormatter(formatSpec.minimumFractionDigits,formatSpec.maximumFractionDigits,context.minimumFractionDigits,context.maximumFractionDigits).format(value);return signString+numberString+unitString;}};Unit.reset=function(){Unit.currentTimeDisplayMode=TimeDisplayModes.ms;};Unit.timestampFromUs=function(us){return tr.b.convertUnit(us,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);};Object.defineProperty(Unit,'currentTimeDisplayMode',{get(){return Unit.currentTimeDisplayMode_;},set(value){if(Unit.currentTimeDisplayMode_===value)return;Unit.currentTimeDisplayMode_=value;Unit.dispatchEvent(new tr.b.Event('display-mode-changed'));}});Unit.didPreferredTimeDisplayUnitChange=function(){let largest=undefined;const els=tr.b.findDeepElementsMatching(document.body,'tr-v-ui-preferred-display-unit');els.forEach(function(el){largest=max(largest,el.preferredTimeDisplayMode);});Unit.currentTimeDisplayMode=largest===undefined?TimeDisplayModes.ms:largest;};Unit.byName={};Unit.byJSONName={};Unit.fromJSON=function(object){const u=Unit.byJSONName[object];if(u){return u;}
4441throw new Error('Unrecognized unit');};Unit.define=function(params){const definedUnits=[];for(const improvementDirection of Object.values(ImprovementDirection)){const regularUnit=Unit.defineUnitVariant_(params,false,improvementDirection);const deltaUnit=Unit.defineUnitVariant_(params,true,improvementDirection);regularUnit.correspondingDeltaUnit=deltaUnit;deltaUnit.correspondingDeltaUnit=deltaUnit;definedUnits.push(regularUnit,deltaUnit);}
4442const baseUnit=Unit.byName[params.baseUnitName];definedUnits.forEach(u=>u.baseUnit=baseUnit);};Unit.nameSuffixForImprovementDirection=function(improvementDirection){switch(improvementDirection){case ImprovementDirection.DONT_CARE:return'';case ImprovementDirection.BIGGER_IS_BETTER:return'_biggerIsBetter';case ImprovementDirection.SMALLER_IS_BETTER:return'_smallerIsBetter';default:throw new Error('Unknown improvement direction: '+improvementDirection);}};Unit.defineUnitVariant_=function(params,isDelta,improvementDirection){let nameSuffix=isDelta?'Delta':'';nameSuffix+=Unit.nameSuffixForImprovementDirection(improvementDirection);const unitName=params.baseUnitName+nameSuffix;const jsonName=params.baseJsonName+nameSuffix;if(Unit.byName[unitName]!==undefined){throw new Error('Unit \''+unitName+'\' already exists');}
4443if(Unit.byJSONName[jsonName]!==undefined){throw new Error('JSON unit \''+jsonName+'\' alread exists');}
4444let scaleBaseUnit=params.scaleBaseUnit;if(!scaleBaseUnit){let formatSpec=params.formatSpec;if(typeof formatSpec==='function')formatSpec=formatSpec();const baseSymbol=formatSpec.unitScale?formatSpec.unitScale[0].baseSymbol:(formatSpec.baseSymbol||'');scaleBaseUnit={value:1,symbol:baseSymbol,baseSymbol};}
4445const unit=new Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,params.formatSpec);Unit.byName[unitName]=unit;Unit.byJSONName[jsonName]=unit;return unit;};tr.b.EventTarget.decorate(Unit);Unit.reset();Unit.define({baseUnitName:'timeInMsAutoFormat',baseJsonName:'msBestFitFormat',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec:{unitScale:tr.b.UnitScale.TIME.AUTO,minimumFractionDigits:0,maximumFractionDigits:3}});Unit.define({baseUnitName:'timeDurationInMs',baseJsonName:'ms',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'timeStampInMs',baseJsonName:'tsMs',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'normalizedPercentage',baseJsonName:'n%',formatSpec:{unitScale:[{value:0.01,symbol:'%'}],avoidSpacePrecedingUnit:true,minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'sizeInBytes',baseJsonName:'sizeInBytes',formatSpec:{unitScale:tr.b.UnitScale.MEMORY.AUTO,minimumFractionDigits:1,maximumFractionDigits:1}});Unit.define({baseUnitName:'energyInJoules',baseJsonName:'J',formatSpec:{baseSymbol:'J',minimumFractionDigits:3}});Unit.define({baseUnitName:'powerInWatts',baseJsonName:'W',formatSpec:{baseSymbol:'W',minimumFractionDigits:3}});Unit.define({baseUnitName:'unitlessNumber',baseJsonName:'unitless',formatSpec:{minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'count',baseJsonName:'count',formatSpec:{minimumFractionDigits:0,maximumFractionDigits:0}});Unit.define({baseUnitName:'sigma',baseJsonName:'sigma',formatSpec:{baseSymbol:String.fromCharCode(963),minimumFractionDigits:1,maximumFractionDigits:1}});return{ImprovementDirection,Unit,};});'use strict';tr.exportTo('tr.b',function(){class Scalar{constructor(unit,value){if(!(unit instanceof tr.b.Unit)){throw new Error('Expected Unit');}
4446if(!(typeof(value)==='number')){throw new Error('Expected value to be number');}
4447this.unit=unit;this.value=value;}
4448asDict(){return{unit:this.unit.asJSON(),value:tr.b.numberToJson(this.value),};}
4449toString(){return this.unit.format(this.value);}
4450static fromDict(d){return new Scalar(tr.b.Unit.fromJSON(d.unit),tr.b.numberFromJson(d.value));}}
4451return{Scalar,};});'use strict';tr.exportTo('tr.c',function(){function Auditor(model){this.model_=model;}
4452Auditor.prototype={__proto__:Object.prototype,get model(){return this.model_;},runAnnotate(){},installUserFriendlyCategoryDriverIfNeeded(){},runAudit(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Auditor;tr.b.decorateExtensionRegistry(Auditor,options);return{Auditor,};});'use strict';tr.exportTo('tr.b',function(){function clamp01(value){return Math.max(0,Math.min(1,value));}
4453function Color(opt_r,opt_g,opt_b,opt_a){this.r=Math.floor(opt_r)||0;this.g=Math.floor(opt_g)||0;this.b=Math.floor(opt_b)||0;this.a=opt_a;}
4454Color.fromString=function(str){let tmp;let values;if(str.substr(0,4)==='rgb('){tmp=str.substr(4,str.length-5);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==3){throw new Error('Malformatted rgb-expression');}
4455return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]));}
4456if(str.substr(0,5)==='rgba('){tmp=str.substr(5,str.length-6);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==4){throw new Error('Malformatted rgb-expression');}
4457return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]),parseFloat(values[3]));}
4458if(str[0]==='#'&&str.length===7){return new Color(parseInt(str.substr(1,2),16),parseInt(str.substr(3,2),16),parseInt(str.substr(5,2),16));}
4459throw new Error('Unrecognized string format.');};Color.lerp=function(a,b,percent){if(a.a!==undefined&&b.a!==undefined){return Color.lerpRGBA(a,b,percent);}
4460return Color.lerpRGB(a,b,percent);};Color.lerpRGB=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b);};Color.lerpRGBA=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b,((b.a-a.a)*percent)+a.a);};Color.fromDict=function(dict){return new Color(dict.r,dict.g,dict.b,dict.a);};Color.fromHSLExplicit=function(h,s,l,a){let r;let g;let b;function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;}
4461if(s===0){r=g=b=l;}else{const q=l<0.5?l*(1+s):l+s-l*s;const p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3);}
4462return new Color(Math.floor(r*255),Math.floor(g*255),Math.floor(b*255),a);};Color.fromHSL=function(hsl){return Color.fromHSLExplicit(hsl.h,hsl.s,hsl.l,hsl.a);};Color.prototype={clone(){const c=new Color();c.r=this.r;c.g=this.g;c.b=this.b;c.a=this.a;return c;},blendOver(bgColor){const oneMinusThisAlpha=1-this.a;const outA=this.a+bgColor.a*oneMinusThisAlpha;const bgBlend=(bgColor.a*oneMinusThisAlpha)/bgColor.a;return new Color(this.r*this.a+bgColor.r*bgBlend,this.g*this.a+bgColor.g*bgBlend,this.b*this.a+bgColor.b*bgBlend,outA);},brighten(opt_k){const k=opt_k||0.45;return new Color(Math.min(255,this.r+Math.floor(this.r*k)),Math.min(255,this.g+Math.floor(this.g*k)),Math.min(255,this.b+Math.floor(this.b*k)),this.a);},lighten(k,opt_maxL){const maxL=opt_maxL!==undefined?opt_maxL:1.0;const hsl=this.toHSL();hsl.l=Math.min(hsl.l+k,maxL);return Color.fromHSL(hsl);},darken(opt_k){let k;if(opt_k!==undefined){k=opt_k;}else{k=0.45;}
4463return new Color(Math.min(255,this.r-Math.floor(this.r*k)),Math.min(255,this.g-Math.floor(this.g*k)),Math.min(255,this.b-Math.floor(this.b*k)),this.a);},desaturate(opt_desaturateFactor){let desaturateFactor;if(opt_desaturateFactor!==undefined){desaturateFactor=opt_desaturateFactor;}else{desaturateFactor=1;}
4464const hsl=this.toHSL();hsl.s=clamp01(hsl.s*(1-desaturateFactor));return Color.fromHSL(hsl);},withAlpha(a){return new Color(this.r,this.g,this.b,a);},toString(){if(this.a!==undefined){return'rgba('+
4465this.r+','+this.g+','+
4466this.b+','+this.a+')';}
4467return'rgb('+this.r+','+this.g+','+this.b+')';},toHSL(){const r=this.r/255;const g=this.g/255;const b=this.b/255;const max=Math.max(r,g,b);const min=Math.min(r,g,b);let h;let s;const l=(max+min)/2;if(min===max){h=0;s=0;}else{const delta=max-min;if(l>0.5){s=delta/(2-max-min);}else{s=delta/(max+min);}
4468if(r===max){h=(g-b)/delta;if(g<b)h+=6;}else if(g===max){h=2+((b-r)/delta);}else{h=4+((r-g)/delta);}
4469h/=6;}
4470return{h,s,l,a:this.a};},toStringWithAlphaOverride(alpha){return'rgba('+
4471this.r+','+this.g+','+
4472this.b+','+alpha+')';}};return{Color,};});'use strict';tr.exportTo('tr.b',function(){const generalPurposeColors=[new tr.b.Color(122,98,135),new tr.b.Color(150,83,105),new tr.b.Color(44,56,189),new tr.b.Color(99,86,147),new tr.b.Color(104,129,107),new tr.b.Color(130,178,55),new tr.b.Color(87,109,147),new tr.b.Color(111,145,88),new tr.b.Color(81,152,131),new tr.b.Color(142,91,111),new tr.b.Color(81,163,70),new tr.b.Color(148,94,86),new tr.b.Color(144,89,118),new tr.b.Color(83,150,97),new tr.b.Color(105,94,139),new tr.b.Color(89,144,122),new tr.b.Color(105,119,128),new tr.b.Color(96,128,137),new tr.b.Color(145,88,145),new tr.b.Color(88,145,144),new tr.b.Color(90,100,143),new tr.b.Color(121,97,136),new tr.b.Color(111,160,73),new tr.b.Color(112,91,142),new tr.b.Color(86,147,86),new tr.b.Color(63,100,170),new tr.b.Color(81,152,107),new tr.b.Color(60,164,173),new tr.b.Color(143,72,161),new tr.b.Color(159,74,86)];const reservedColorsByName={thread_state_uninterruptible:new tr.b.Color(182,125,143),thread_state_iowait:new tr.b.Color(255,140,0),thread_state_running:new tr.b.Color(126,200,148),thread_state_runnable:new tr.b.Color(133,160,210),thread_state_sleeping:new tr.b.Color(240,240,240),thread_state_unknown:new tr.b.Color(199,155,125),background_memory_dump:new tr.b.Color(0,180,180),light_memory_dump:new tr.b.Color(0,0,180),detailed_memory_dump:new tr.b.Color(180,0,180),vsync_highlight_color:new tr.b.Color(0,0,255),generic_work:new tr.b.Color(125,125,125),good:new tr.b.Color(0,125,0),bad:new tr.b.Color(180,125,0),terrible:new tr.b.Color(180,0,0),black:new tr.b.Color(0,0,0),grey:new tr.b.Color(221,221,221),white:new tr.b.Color(255,255,255),yellow:new tr.b.Color(255,255,0),olive:new tr.b.Color(100,100,0),rail_response:new tr.b.Color(67,135,253),rail_animation:new tr.b.Color(244,74,63),rail_idle:new tr.b.Color(238,142,0),rail_load:new tr.b.Color(13,168,97),startup:new tr.b.Color(230,230,0),heap_dump_stack_frame:new tr.b.Color(128,128,128),heap_dump_object_type:new tr.b.Color(0,0,255),heap_dump_child_node_arrow:new tr.b.Color(204,102,0),cq_build_running:new tr.b.Color(255,255,119),cq_build_passed:new tr.b.Color(153,238,102),cq_build_failed:new tr.b.Color(238,136,136),cq_build_abandoned:new tr.b.Color(187,187,187),cq_build_attempt_runnig:new tr.b.Color(222,222,75),cq_build_attempt_passed:new tr.b.Color(103,218,35),cq_build_attempt_failed:new tr.b.Color(197,81,81)};const numGeneralPurposeColorIds=generalPurposeColors.length;const numReservedColorIds=Object.keys(reservedColorsByName).length;const numColorsPerVariant=numGeneralPurposeColorIds+numReservedColorIds;function ColorScheme(){}
4473const paletteBase=[];paletteBase.push.apply(paletteBase,generalPurposeColors);paletteBase.push.apply(paletteBase,Object.values(reservedColorsByName));ColorScheme.colors=[];ColorScheme.properties={};ColorScheme.properties={numColorsPerVariant,};function pushVariant(func){const variantColors=paletteBase.map(func);ColorScheme.colors.push.apply(ColorScheme.colors,variantColors);}
4474pushVariant(function(c){return c;});ColorScheme.properties.brightenedOffsets=[];ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.3,0.8);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.48,0.85);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.65,0.9);});ColorScheme.properties.dimmedOffsets=[];ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate();});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.5);});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.3);});ColorScheme.colorsAsStrings=ColorScheme.colors.map(function(c){return c.toString();});const reservedColorNameToIdMap=(function(){const m=new Map();let i=generalPurposeColors.length;for(const key of Object.keys(reservedColorsByName)){m.set(key,i++);}
4475return m;})();ColorScheme.getColorIdForReservedName=function(name){const id=reservedColorNameToIdMap.get(name);if(id===undefined){throw new Error('Unrecognized color '+name);}
4476return id;};ColorScheme.getColorForReservedNameAsString=function(reservedName){const id=ColorScheme.getColorIdForReservedName(reservedName);return ColorScheme.colorsAsStrings[id];};ColorScheme.getStringHash=function(name){let hash=0;for(let i=0;i<name.length;++i){hash=(hash+37*hash+11*name.charCodeAt(i))%0xFFFFFFFF;}
4477return hash;};const stringColorIdCache=new Map();ColorScheme.getColorIdForGeneralPurposeString=function(string){if(stringColorIdCache.get(string)===undefined){const hash=ColorScheme.getStringHash(string);stringColorIdCache.set(string,hash%numGeneralPurposeColorIds);}
4478return stringColorIdCache.get(string);};ColorScheme.getAnotherColorId=function(colorId,n){return(colorId+n)%numColorsPerVariant;};ColorScheme.getVariantColorId=function(colorId,offset){return colorId+offset;};return{ColorScheme,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function EventInfo(title,description,docLinks){this.title=title;this.description=description;this.docLinks=docLinks;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(title);}
4479return{EventInfo,};});'use strict';tr.exportTo('tr.b',function(){let nextGUID=1;const UUID4_PATTERN='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';const GUID={allocateSimple(){return nextGUID++;},getLastSimpleGuid(){return nextGUID-1;},allocateUUID4(){return UUID4_PATTERN.replace(/[xy]/g,function(c){let r=parseInt(Math.random()*16);if(c==='y')r=(r&3)+8;return r.toString(16);});}};return{GUID,};});'use strict';tr.exportTo('tr.model',function(){function EventRegistry(){}
4480const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(EventRegistry,options);EventRegistry.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.name===undefined){throw new Error('Registered events must provide name metadata');}
4481if(metadata.pluralName===undefined){throw new Error('Registered events must provide pluralName metadata');}
4482if(metadata.subTypes===undefined){metadata.subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=e.typeInfo.constructor;options.defaultConstructor=e.typeInfo.constructor;tr.b.decorateExtensionRegistry(metadata.subTypes,options);}else{if(!metadata.subTypes.register){throw new Error('metadata.subTypes must be an extension registry.');}}
4483e.typeInfo.constructor.subTypes=metadata.subTypes;});let eventsByTypeName=undefined;EventRegistry.getEventTypeInfoByTypeName=function(typeName){if(eventsByTypeName===undefined){eventsByTypeName={};EventRegistry.getAllRegisteredTypeInfos().forEach(function(typeInfo){eventsByTypeName[typeInfo.metadata.name]=typeInfo;});}
4484return eventsByTypeName[typeName];};EventRegistry.addEventListener('registry-changed',function(){eventsByTypeName=undefined;});function convertCamelCaseToTitleCase(name){let result=name.replace(/[A-Z]/g,' $&');result=result.charAt(0).toUpperCase()+result.slice(1);return result;}
4485EventRegistry.getUserFriendlySingularName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.name;return convertCamelCaseToTitleCase(str);};EventRegistry.getUserFriendlyPluralName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.pluralName;return convertCamelCaseToTitleCase(str);};return{EventRegistry,};});'use strict';tr.exportTo('tr.model',function(){const EventRegistry=tr.model.EventRegistry;const RequestSelectionChangeEvent=tr.b.Event.bind(undefined,'requestSelectionChange',true,false);function EventSet(opt_events){this.bounds_=new tr.b.math.Range();this.events_=new Set();this.guid_=tr.b.GUID.allocateSimple();if(opt_events){if(opt_events instanceof Array){for(const event of opt_events){this.push(event);}}else if(opt_events instanceof EventSet){this.addEventSet(opt_events);}else{this.push(opt_events);}}}
4486EventSet.prototype={__proto__:Object.prototype,get bounds(){return this.bounds_;},get duration(){if(this.bounds_.isEmpty)return 0;return this.bounds_.max-this.bounds_.min;},get length(){return this.events_.size;},get guid(){return this.guid_;},*[Symbol.iterator](){for(const event of this.events_){yield event;}},clear(){this.bounds_=new tr.b.math.Range();this.events_.clear();},push(...events){let numPushed;for(const event of events){if(event.guid===undefined){throw new Error('Event must have a GUID');}
4487if(!this.events_.has(event)){this.events_.add(event);if(event.addBoundsToRange){if(this.bounds_!==undefined){event.addBoundsToRange(this.bounds_);}}}
4488numPushed++;}
4489return numPushed;},contains(event){if(this.events_.has(event))return event;return undefined;},addEventSet(eventSet){for(const event of eventSet){this.push(event);}},intersectionIsEmpty(otherEventSet){return!this.some(event=>otherEventSet.contains(event));},equals(that){if(this.length!==that.length)return false;return this.every(event=>that.contains(event));},sortEvents(compare){const ary=this.toArray();ary.sort(compare);this.clear();for(const event of ary){this.push(event);}},getEventsOrganizedByBaseType(opt_pruneEmpty){const allTypeInfos=EventRegistry.getAllRegisteredTypeInfos();const events=this.getEventsOrganizedByCallback(function(event){let maxEventIndex=-1;let maxEventTypeInfo=undefined;allTypeInfos.forEach(function(eventTypeInfo,eventIndex){if(!(event instanceof eventTypeInfo.constructor))return;if(eventIndex>maxEventIndex){maxEventIndex=eventIndex;maxEventTypeInfo=eventTypeInfo;}});if(maxEventIndex===-1){throw new Error(`Unrecognized event type: ${event.constructor.name}`);}
4490return maxEventTypeInfo.metadata.name;});if(!opt_pruneEmpty){allTypeInfos.forEach(function(eventTypeInfo){if(events[eventTypeInfo.metadata.name]===undefined){events[eventTypeInfo.metadata.name]=new EventSet();}});}
4491return events;},getEventsOrganizedByTitle(){return this.getEventsOrganizedByCallback(function(event){if(event.title===undefined){throw new Error('An event didn\'t have a title!');}
4492return event.title;});},getEventsOrganizedByCallback(cb,opt_this){const groupedEvents=tr.b.groupIntoMap(this,cb,opt_this||this);const groupedEventsDict={};for(const[k,events]of groupedEvents){groupedEventsDict[k]=new EventSet(events);}
4493return groupedEventsDict;},enumEventsOfType(type,func){for(const event of this){if(event instanceof type){func(event);}}},get userFriendlyName(){if(this.length===0){throw new Error('Empty event set');}
4494const eventsByBaseType=this.getEventsOrganizedByBaseType(true);const eventTypeName=Object.keys(eventsByBaseType)[0];if(this.length===1){const tmp=EventRegistry.getUserFriendlySingularName(eventTypeName);return tr.b.getOnlyElement(this.events_).userFriendlyName;}
4495const numEventTypes=Object.keys(eventsByBaseType).length;if(numEventTypes!==1){return this.length+' events of various types';}
4496const tmp=EventRegistry.getUserFriendlyPluralName(eventTypeName);return this.length+' '+tmp;},filter(fn,opt_this){const res=new EventSet();for(const event of this){if(fn.call(opt_this,event)){res.push(event);}}
4497return res;},toArray(){const ary=[];for(const event of this){ary.push(event);}
4498return ary;},forEach(fn,opt_this){for(const event of this){fn.call(opt_this,event);}},map(fn,opt_this){const res=[];for(const event of this){res.push(fn.call(opt_this,event));}
4499return res;},every(fn,opt_this){for(const event of this){if(!fn.call(opt_this,event)){return false;}}
4500return true;},some(fn,opt_this){for(const event of this){if(fn.call(opt_this,event)){return true;}}
4501return false;},asDict(){const stableIds=[];for(const event of this){stableIds.push(event.stableId);}
4502return{'events':stableIds};},asSet(){return this.events_;}};EventSet.IMMUTABLE_EMPTY_SET=(function(){const s=new EventSet();s.push=function(){throw new Error('Cannot push to an immutable event set');};s.addEventSet=function(){throw new Error('Cannot add to an immutable event set');};Object.freeze(s);return s;})();return{EventSet,RequestSelectionChangeEvent,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const SelectionState={NONE:0,SELECTED:ColorScheme.properties.brightenedOffsets[0],HIGHLIGHTED:ColorScheme.properties.brightenedOffsets[1],DIMMED:ColorScheme.properties.dimmedOffsets[0],BRIGHTENED0:ColorScheme.properties.brightenedOffsets[0],BRIGHTENED1:ColorScheme.properties.brightenedOffsets[1],BRIGHTENED2:ColorScheme.properties.brightenedOffsets[2],DIMMED0:ColorScheme.properties.dimmedOffsets[0],DIMMED1:ColorScheme.properties.dimmedOffsets[1],DIMMED2:ColorScheme.properties.dimmedOffsets[2]};const brighteningLevels=[SelectionState.NONE,SelectionState.BRIGHTENED0,SelectionState.BRIGHTENED1,SelectionState.BRIGHTENED2];SelectionState.getFromBrighteningLevel=function(level){return brighteningLevels[level];};const dimmingLevels=[SelectionState.DIMMED0,SelectionState.DIMMED1,SelectionState.DIMMED2];SelectionState.getFromDimmingLevel=function(level){return dimmingLevels[level];};return{SelectionState,};});'use strict';tr.exportTo('tr.model',function(){const SelectionState=tr.model.SelectionState;function SelectableItem(modelItem){this.modelItem_=modelItem;}
4503SelectableItem.prototype={get modelItem(){return this.modelItem_;},get selected(){return this.selectionState===SelectionState.SELECTED;},addToSelection(selection){const modelItem=this.modelItem_;if(!modelItem)return;selection.push(modelItem);},addToTrackMap(eventToTrackMap,track){const modelItem=this.modelItem_;if(!modelItem)return;eventToTrackMap.addEvent(modelItem,track);}};return{SelectableItem,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;const IMMUTABLE_EMPTY_SET=tr.model.EventSet.IMMUTABLE_EMPTY_SET;function Event(){SelectableItem.call(this,this);this.guid_=tr.b.GUID.allocateSimple();this.selectionState=SelectionState.NONE;this.info=undefined;}
4504Event.prototype={__proto__:SelectableItem.prototype,get guid(){return this.guid_;},get stableId(){return undefined;},get range(){const range=new tr.b.math.Range();this.addBoundsToRange(range);return range;},associatedAlerts:IMMUTABLE_EMPTY_SET,addAssociatedAlert(alert){if(this.associatedAlerts===IMMUTABLE_EMPTY_SET){this.associatedAlerts=new tr.model.EventSet();}
4505this.associatedAlerts.push(alert);},addBoundsToRange(range){}};return{Event,};});'use strict';tr.exportTo('tr.model',function(){function TimedEvent(start){tr.model.Event.call(this);this.start=start;this.duration=0;this.cpuStart=undefined;this.cpuDuration=undefined;this.contexts=Object.freeze([]);}
4506TimedEvent.prototype={__proto__:tr.model.Event.prototype,get end(){return this.start+this.duration;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);},bounds(that,opt_precisionUnit){if(opt_precisionUnit===undefined){opt_precisionUnit=tr.b.TimeDisplayModes.ms;}
4507const startsBefore=opt_precisionUnit.roundedLess(that.start,this.start);const endsAfter=opt_precisionUnit.roundedLess(this.end,that.end);return!startsBefore&&!endsAfter;}};return{TimedEvent,};});'use strict';tr.exportTo('tr.model',function(){function Alert(info,start,opt_associatedEvents,opt_args){tr.model.TimedEvent.call(this,start);this.info=info;this.args=opt_args||{};this.associatedEvents=new tr.model.EventSet(opt_associatedEvents);this.associatedEvents.forEach(function(event){event.addAssociatedAlert(this);},this);}
4508Alert.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.info.title;},get colorId(){return this.info.colorId;},get userFriendlyName(){return'Alert '+this.title+' at '+
4509tr.b.Unit.byName.timeStampInMs.format(this.start);}};tr.model.EventRegistry.register(Alert,{name:'alert',pluralName:'alerts'});return{Alert,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS={GOOD:'good',BAD:'bad',TERRIBLE:'terrible',NEUTRAL:'generic_work'};function Frame(associatedEvents,threadTimeRanges,opt_args){tr.model.Event.call(this);this.threadTimeRanges=threadTimeRanges;this.associatedEvents=new tr.model.EventSet(associatedEvents);this.args=opt_args||{};this.title='Frame';this.start=Statistics.min(threadTimeRanges,function(x){return x.start;});this.end=Statistics.max(threadTimeRanges,function(x){return x.end;});this.totalDuration=Statistics.sum(threadTimeRanges,function(x){return x.end-x.start;});this.perfClass=FRAME_PERF_CLASS.NEUTRAL;}
4510Frame.prototype={__proto__:tr.model.Event.prototype,set perfClass(perfClass){this.colorId=ColorScheme.getColorIdForReservedName(perfClass);this.perfClass_=perfClass;},get perfClass(){return this.perfClass_;},shiftTimestampsForward(amount){this.start+=amount;this.end+=amount;for(let i=0;i<this.threadTimeRanges.length;i++){this.threadTimeRanges[i].start+=amount;this.threadTimeRanges[i].end+=amount;}},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};tr.model.EventRegistry.register(Frame,{name:'frame',pluralName:'frames'});return{Frame,FRAME_PERF_CLASS,};});'use strict';tr.exportTo('tr.b.math',function(){function findLowIndexInSortedArray(ary,mapFn,loVal){if(ary.length===0)return 1;let low=0;let high=ary.length-1;let i;let comparison;let hitPos=-1;while(low<=high){i=Math.floor((low+high)/2);comparison=mapFn(ary[i])-loVal;if(comparison<0){low=i+1;continue;}else if(comparison>0){high=i-1;continue;}else{hitPos=i;high=i-1;}}
4511return hitPos!==-1?hitPos:low;}
4512function findHighIndexInSortedArray(ary,mapFn,loVal,hiVal){let lo=loVal||0;let hi=hiVal!==undefined?hiVal:ary.length;while(lo<hi){const mid=(lo+hi)>>1;if(mapFn(ary[mid])>=0){lo=mid+1;}else{hi=mid;}}
4513return hi;}
4514function findIndexInSortedIntervals(ary,mapLoFn,mapWidthFn,loVal){const first=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(first===0){if(loVal>=mapLoFn(ary[0])&&loVal<mapLoFn(ary[0])+mapWidthFn(ary[0],0)){return 0;}
4515return-1;}
4516if(first<ary.length){if(loVal>=mapLoFn(ary[first])&&loVal<mapLoFn(ary[first])+mapWidthFn(ary[first],first)){return first;}
4517if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+
4518mapWidthFn(ary[first-1],first-1)){return first-1;}
4519return ary.length;}
4520if(first===ary.length){if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+
4521mapWidthFn(ary[first-1],first-1)){return first-1;}
4522return ary.length;}
4523return ary.length;}
4524function findIndexInSortedClosedIntervals(ary,mapLoFn,mapHiFn,val){const i=findLowIndexInSortedArray(ary,mapLoFn,val);if(i===0){if(val>=mapLoFn(ary[0],0)&&val<=mapHiFn(ary[0],0)){return 0;}
4525return-1;}
4526if(i<ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;}
4527if(val>=mapLoFn(ary[i],i)&&val<=mapHiFn(ary[i],i)){return i;}
4528return ary.length;}
4529if(i===ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;}
4530return ary.length;}
4531return ary.length;}
4532function iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,cb){if(ary.length===0)return;if(loVal>hiVal)return;let i=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(i===-1){return;}
4533if(i>0){const hi=mapLoFn(ary[i-1])+mapWidthFn(ary[i-1],i-1);if(hi>=loVal){cb(ary[i-1],i-1);}}
4534if(i===ary.length){return;}
4535for(let n=ary.length;i<n;i++){const lo=mapLoFn(ary[i]);if(lo>=hiVal)break;cb(ary[i],i);}}
4536function getIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal){const tmp=[];iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,function(d){tmp.push(d);});return tmp;}
4537function findClosestElementInSortedArray(ary,mapFn,val,maxDiff){if(ary.length===0)return null;let aftIdx=findLowIndexInSortedArray(ary,mapFn,val);const befIdx=aftIdx>0?aftIdx-1:0;if(aftIdx===ary.length)aftIdx-=1;const befDiff=Math.abs(val-mapFn(ary[befIdx]));const aftDiff=Math.abs(val-mapFn(ary[aftIdx]));if(befDiff>maxDiff&&aftDiff>maxDiff)return null;const idx=befDiff<aftDiff?befIdx:aftIdx;return ary[idx];}
4538function findClosestIntervalInSortedIntervals(ary,mapLoFn,mapHiFn,val,maxDiff){if(ary.length===0)return null;let idx=findLowIndexInSortedArray(ary,mapLoFn,val);if(idx>0)idx-=1;const hiInt=ary[idx];let loInt=hiInt;if(val>mapHiFn(hiInt)&&idx+1<ary.length){loInt=ary[idx+1];}
4539const loDiff=Math.abs(val-mapLoFn(loInt));const hiDiff=Math.abs(val-mapHiFn(hiInt));if(loDiff>maxDiff&&hiDiff>maxDiff)return null;if(loDiff<hiDiff)return loInt;return hiInt;}
4540return{findLowIndexInSortedArray,findHighIndexInSortedArray,findIndexInSortedIntervals,findIndexInSortedClosedIntervals,iterateOverIntersectingIntervals,getIntersectingIntervals,findClosestElementInSortedArray,findClosestIntervalInSortedIntervals,};});'use strict';tr.exportTo('tr.model.helpers',function(){const Frame=tr.model.Frame;const Statistics=tr.b.math.Statistics;const UI_DRAW_TYPE={NONE:'none',LEGACY:'legacy',MARSHMALLOW:'marshmallow'};const UI_THREAD_DRAW_NAMES={'performTraversals':UI_DRAW_TYPE.LEGACY,'Choreographer#doFrame':UI_DRAW_TYPE.MARSHMALLOW};const RENDER_THREAD_DRAW_NAME='DrawFrame';const RENDER_THREAD_INDEP_DRAW_NAME='doFrame';const RENDER_THREAD_QUEUE_NAME='queueBuffer';const RENDER_THREAD_SWAP_NAME='eglSwapBuffers';const THREAD_SYNC_NAME='syncFrameState';function getSlicesForThreadTimeRanges(threadTimeRanges){const ret=[];threadTimeRanges.forEach(function(threadTimeRange){const slices=[];threadTimeRange.thread.sliceGroup.iterSlicesInTimeRange(function(slice){slices.push(slice);},threadTimeRange.start,threadTimeRange.end);ret.push.apply(ret,slices);});return ret;}
4541function makeFrame(threadTimeRanges,surfaceFlinger){const args={};if(surfaceFlinger&&surfaceFlinger.hasVsyncs){const start=Statistics.min(threadTimeRanges,function(threadTimeRanges){return threadTimeRanges.start;});args.deadline=surfaceFlinger.getFrameDeadline(start);args.frameKickoff=surfaceFlinger.getFrameKickoff(start);}
4542const events=getSlicesForThreadTimeRanges(threadTimeRanges);return new Frame(events,threadTimeRanges,args);}
4543function findOverlappingDrawFrame(renderThread,uiDrawSlice){if(!renderThread)return undefined;let overlappingDrawFrame;const slices=tr.b.math.iterateOverIntersectingIntervals(renderThread.sliceGroup.slices,function(range){return range.start;},function(range){return range.end;},uiDrawSlice.start,uiDrawSlice.end,function(rtDrawSlice){if(rtDrawSlice.title===RENDER_THREAD_DRAW_NAME){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice&&rtSyncSlice.start>=uiDrawSlice.start&&rtSyncSlice.end<=uiDrawSlice.end){overlappingDrawFrame=rtDrawSlice;}}});return overlappingDrawFrame;}
4544function getPreTraversalWorkRanges(uiThread){if(!uiThread)return[];const preFrameEvents=[];uiThread.sliceGroup.slices.forEach(function(slice){if(slice.title==='obtainView'||slice.title==='setupListItem'||slice.title==='deliverInputEvent'||slice.title==='RV Scroll'){preFrameEvents.push(slice);}});uiThread.asyncSliceGroup.slices.forEach(function(slice){if(slice.title==='deliverInputEvent'){preFrameEvents.push(slice);}});return tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(preFrameEvents),3,function(events){return{start:events[0].min,end:events[events.length-1].max};});}
4545function getFrameStartTime(traversalStart,preTraversalWorkRanges){const preTraversalWorkRange=tr.b.math.findClosestIntervalInSortedIntervals(preTraversalWorkRanges,function(range){return range.start;},function(range){return range.end;},traversalStart,3);if(preTraversalWorkRange){return preTraversalWorkRange.start;}
4546return traversalStart;}
4547function getRtFrameEndTime(rtDrawSlice){const rtQueueSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_QUEUE_NAME);if(rtQueueSlice){return rtQueueSlice.end;}
4548const rtSwapSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_SWAP_NAME);if(rtSwapSlice){return rtSwapSlice.end;}
4549return rtDrawSlice.end;}
4550function getUiThreadDrivenFrames(app){if(!app.uiThread)return[];let preTraversalWorkRanges=[];if(app.uiDrawType===UI_DRAW_TYPE.LEGACY){preTraversalWorkRanges=getPreTraversalWorkRanges(app.uiThread);}
4551const frames=[];app.uiThread.sliceGroup.slices.forEach(function(slice){if(!(slice.title in UI_THREAD_DRAW_NAMES)){return;}
4552const threadTimeRanges=[];const uiThreadTimeRange={thread:app.uiThread,start:getFrameStartTime(slice.start,preTraversalWorkRanges),end:slice.end};threadTimeRanges.push(uiThreadTimeRange);const rtDrawSlice=findOverlappingDrawFrame(app.renderThread,slice);if(rtDrawSlice){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice){uiThreadTimeRange.end=Math.min(uiThreadTimeRange.end,rtSyncSlice.start);}
4553threadTimeRanges.push({thread:app.renderThread,start:rtDrawSlice.start,end:getRtFrameEndTime(rtDrawSlice)});}
4554frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;}
4555function getRenderThreadDrivenFrames(app){if(!app.renderThread)return[];const frames=[];app.renderThread.sliceGroup.getSlicesOfName(RENDER_THREAD_INDEP_DRAW_NAME).forEach(function(slice){const threadTimeRanges=[{thread:app.renderThread,start:slice.start,end:slice.end}];frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;}
4556function getUiDrawType(uiThread){if(!uiThread){return UI_DRAW_TYPE.NONE;}
4557const slices=uiThread.sliceGroup.slices;for(let i=0;i<slices.length;i++){if(slices[i].title in UI_THREAD_DRAW_NAMES){return UI_THREAD_DRAW_NAMES[slices[i].title];}}
4558return UI_DRAW_TYPE.NONE;}
4559function getInputSamples(process){let samples=undefined;for(const counterName in process.counters){if(/^android\.aq\:pending/.test(counterName)&&process.counters[counterName].numSeries===1){samples=process.counters[counterName].series[0].samples;break;}}
4560if(!samples)return[];const inputSamples=[];let lastValue=0;samples.forEach(function(sample){if(sample.value>lastValue){inputSamples.push(sample);}
4561lastValue=sample.value;});return inputSamples;}
4562function getAnimationAsyncSlices(uiThread){if(!uiThread)return[];const slices=[];for(const slice of uiThread.asyncSliceGroup.getDescendantEvents()){if(/^animator\:/.test(slice.title)){slices.push(slice);}}
4563return slices;}
4564function AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType){this.process=process;this.uiThread=uiThread;this.renderThread=renderThread;this.surfaceFlinger=surfaceFlinger;this.uiDrawType=uiDrawType;this.frames_=undefined;this.inputs_=undefined;}
4565AndroidApp.createForProcessIfPossible=function(process,surfaceFlinger){let uiThread=process.getThread(process.pid);const uiDrawType=getUiDrawType(uiThread);if(uiDrawType===UI_DRAW_TYPE.NONE){uiThread=undefined;}
4566const renderThreads=process.findAllThreadsNamed('RenderThread');const renderThread=(renderThreads.length===1?renderThreads[0]:undefined);if(uiThread||renderThread){return new AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType);}};AndroidApp.prototype={getFrames(){if(!this.frames_){const uiFrames=getUiThreadDrivenFrames(this);const rtFrames=getRenderThreadDrivenFrames(this);this.frames_=uiFrames.concat(rtFrames);this.frames_.sort(function(a,b){a.end-b.end;});}
4567return this.frames_;},getInputSamples(){if(!this.inputs_){this.inputs_=getInputSamples(this.process);}
4568return this.inputs_;},getAnimationAsyncSlices(){if(!this.animations_){this.animations_=getAnimationAsyncSlices(this.uiThread);}
4569return this.animations_;}};return{AndroidApp,};});'use strict';tr.exportTo('tr.model.helpers',function(){const findLowIndexInSortedArray=tr.b.math.findLowIndexInSortedArray;const VSYNC_SF_NAME='android.VSYNC-sf';const VSYNC_APP_NAME='android.VSYNC-app';const VSYNC_FALLBACK_NAME='android.VSYNC';const TIMESTAMP_FUDGE_MS=0.01;function getVsyncTimestamps(process,counterName){let vsync=process.counters[counterName];if(!vsync){vsync=process.counters[VSYNC_FALLBACK_NAME];}
4570if(vsync&&vsync.numSeries===1&&vsync.numSamples>1){return vsync.series[0].timestamps;}
4571return undefined;}
4572function AndroidSurfaceFlinger(process,thread){this.process=process;this.thread=thread;this.appVsync_=undefined;this.sfVsync_=undefined;this.appVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_APP_NAME);this.sfVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_SF_NAME);this.deadlineDelayMs_=this.appVsyncTimestamps_!==this.sfVsyncTimestamps_?5:TIMESTAMP_FUDGE_MS;}
4573AndroidSurfaceFlinger.createForProcessIfPossible=function(process){const mainThread=process.getThread(process.pid);if(mainThread&&mainThread.name&&/surfaceflinger/.test(mainThread.name)){return new AndroidSurfaceFlinger(process,mainThread);}
4574const primaryThreads=process.findAllThreadsNamed('SurfaceFlinger');if(primaryThreads.length===1){return new AndroidSurfaceFlinger(process,primaryThreads[0]);}
4575return undefined;};AndroidSurfaceFlinger.prototype={get hasVsyncs(){return!!this.appVsyncTimestamps_&&!!this.sfVsyncTimestamps_;},getFrameKickoff(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');}
4576const firstGreaterIndex=findLowIndexInSortedArray(this.appVsyncTimestamps_,function(x){return x;},timestamp+TIMESTAMP_FUDGE_MS);if(firstGreaterIndex<1)return undefined;return this.appVsyncTimestamps_[firstGreaterIndex-1];},getFrameDeadline(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');}
4577const firstGreaterIndex=findLowIndexInSortedArray(this.sfVsyncTimestamps_,function(x){return x;},timestamp+this.deadlineDelayMs_);if(firstGreaterIndex>=this.sfVsyncTimestamps_.length){return undefined;}
4578return this.sfVsyncTimestamps_[firstGreaterIndex];}};return{AndroidSurfaceFlinger,};});'use strict';tr.exportTo('tr.model.helpers',function(){const AndroidApp=tr.model.helpers.AndroidApp;const AndroidSurfaceFlinger=tr.model.helpers.AndroidSurfaceFlinger;const IMPORTANT_SURFACE_FLINGER_SLICES={'doComposition':true,'updateTexImage':true,'postFramebuffer':true};const IMPORTANT_UI_THREAD_SLICES={'Choreographer#doFrame':true,'performTraversals':true,'deliverInputEvent':true};const IMPORTANT_RENDER_THREAD_SLICES={'doFrame':true};function iterateImportantThreadSlices(thread,important,callback){if(!thread)return;thread.sliceGroup.slices.forEach(function(slice){if(slice.title in important){callback(slice);}});}
4579function AndroidModelHelper(model){this.model=model;this.apps=[];this.surfaceFlinger=undefined;const processes=model.getAllProcesses();for(let i=0;i<processes.length&&!this.surfaceFlinger;i++){this.surfaceFlinger=AndroidSurfaceFlinger.createForProcessIfPossible(processes[i]);}
4580model.getAllProcesses().forEach(function(process){const app=AndroidApp.createForProcessIfPossible(process,this.surfaceFlinger);if(app){this.apps.push(app);}},this);}
4581AndroidModelHelper.guid=tr.b.GUID.allocateSimple();AndroidModelHelper.supportsModel=function(model){return true;};AndroidModelHelper.prototype={iterateImportantSlices(callback){if(this.surfaceFlinger){iterateImportantThreadSlices(this.surfaceFlinger.thread,IMPORTANT_SURFACE_FLINGER_SLICES,callback);}
4582this.apps.forEach(function(app){iterateImportantThreadSlices(app.uiThread,IMPORTANT_UI_THREAD_SLICES,callback);iterateImportantThreadSlices(app.renderThread,IMPORTANT_RENDER_THREAD_SLICES,callback);});}};return{AndroidModelHelper,};});'use strict';tr.exportTo('tr.model',function(){function Slice(category,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){if(new.target){throw new Error('Can\'t instantiate pure virtual class Slice');}
4583tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.inFlowEvents=[];this.outFlowEvents=[];this.subSlices=[];this.selfTime=undefined;this.cpuSelfTime=undefined;this.important=false;this.parentContainer=undefined;this.argsStripped=false;this.bind_id_=opt_bindId;this.parentSlice=undefined;this.isTopLevel=false;if(opt_duration!==undefined){this.duration=opt_duration;}
4584if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;}
4585if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;}
4586if(opt_argsStripped!==undefined){this.argsStripped=true;}}
4587Slice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get userFriendlyName(){return'Slice '+this.title+' at '+
4588tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentSliceGroup=this.parentContainer.sliceGroup;return parentSliceGroup.stableId+'.'+
4589parentSliceGroup.slices.indexOf(this);},get bindId(){return this.bind_id_;},findDescendentSlice(targetTitle){if(!this.subSlices){return undefined;}
4590for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];}
4591const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;}
4592return undefined;},get mostTopLevelSlice(){if(!this.parentSlice)return this;return this.parentSlice.mostTopLevelSlice;},getProcess(){const thread=this.parentContainer;if(thread&&thread.getProcess){return thread.getProcess();}
4593return undefined;},get model(){const process=this.getProcess();if(process!==undefined){return this.getProcess().model;}
4594return undefined;},*findTopmostSlicesRelativeToThisSlice(eventPredicate){if(eventPredicate(this)){yield this;return;}
4595for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},iterateAllSubsequentSlices(callback,opt_this){const parentStack=[];let started=false;const topmostSlice=this.mostTopLevelSlice;parentStack.push(topmostSlice);while(parentStack.length!==0){const curSlice=parentStack.pop();if(started){callback.call(opt_this,curSlice);}else{started=(curSlice.guid===this.guid);}
4596for(let i=curSlice.subSlices.length-1;i>=0;i--){parentStack.push(curSlice.subSlices[i]);}}},get subsequentSlices(){const res=[];this.iterateAllSubsequentSlices(function(subseqSlice){res.push(subseqSlice);});return res;},*enumerateAllAncestors(){let curSlice=this.parentSlice;while(curSlice){yield curSlice;curSlice=curSlice.parentSlice;}},get ancestorSlices(){return Array.from(this.enumerateAllAncestors());},iterateEntireHierarchy(callback,opt_this){const mostTopLevelSlice=this.mostTopLevelSlice;callback.call(opt_this,mostTopLevelSlice);mostTopLevelSlice.iterateAllSubsequentSlices(callback,opt_this);},get entireHierarchy(){const res=[];this.iterateEntireHierarchy(function(slice){res.push(slice);});return res;},get ancestorAndSubsequentSlices(){const res=[];res.push(this);for(const aSlice of this.enumerateAllAncestors()){res.push(aSlice);}
4597this.iterateAllSubsequentSlices(function(sSlice){res.push(sSlice);});return res;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;}
4598for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},get descendentSlices(){const res=[];for(const slice of this.enumerateAllDescendents()){res.push(slice);}
4599return res;}};return{Slice,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;const SCHEDULING_STATE={DEBUG:'Debug',EXIT_DEAD:'Exit Dead',RUNNABLE:'Runnable',RUNNING:'Running',SLEEPING:'Sleeping',STOPPED:'Stopped',TASK_DEAD:'Task Dead',UNINTR_SLEEP:'Uninterruptible Sleep',UNINTR_SLEEP_WAKE_KILL:'Uninterruptible Sleep | WakeKill',UNINTR_SLEEP_WAKING:'Uninterruptible Sleep | Waking',UNINTR_SLEEP_IO:'Uninterruptible Sleep - Block I/O',UNINTR_SLEEP_WAKE_KILL_IO:'Uninterruptible Sleep | WakeKill - Block I/O',UNINTR_SLEEP_WAKING_IO:'Uninterruptible Sleep | Waking - Block I/O',UNKNOWN:'UNKNOWN',WAKE_KILL:'Wakekill',WAKING:'Waking',ZOMBIE:'Zombie'};function ThreadTimeSlice(thread,schedulingState,cat,start,args,opt_duration){Slice.call(this,cat,schedulingState,this.getColorForState_(schedulingState),start,args,opt_duration);this.thread=thread;this.schedulingState=schedulingState;this.cpuOnWhichThreadWasRunning=undefined;}
4600ThreadTimeSlice.prototype={__proto__:Slice.prototype,getColorForState_(state){const getColorIdForReservedName=tr.b.ColorScheme.getColorIdForReservedName;switch(state){case SCHEDULING_STATE.RUNNABLE:return getColorIdForReservedName('thread_state_runnable');case SCHEDULING_STATE.RUNNING:return getColorIdForReservedName('thread_state_running');case SCHEDULING_STATE.SLEEPING:return getColorIdForReservedName('thread_state_sleeping');case SCHEDULING_STATE.DEBUG:case SCHEDULING_STATE.EXIT_DEAD:case SCHEDULING_STATE.STOPPED:case SCHEDULING_STATE.TASK_DEAD:case SCHEDULING_STATE.UNINTR_SLEEP:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:case SCHEDULING_STATE.UNKNOWN:case SCHEDULING_STATE.WAKE_KILL:case SCHEDULING_STATE.WAKING:case SCHEDULING_STATE.ZOMBIE:return getColorIdForReservedName('thread_state_uninterruptible');case SCHEDULING_STATE.UNINTR_SLEEP_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING_IO:return getColorIdForReservedName('thread_state_iowait');default:return getColorIdForReservedName('thread_state_unknown');}},get analysisTypeName(){return'tr.ui.analysis.ThreadTimeSlice';},getAssociatedCpuSlice(){if(!this.cpuOnWhichThreadWasRunning)return undefined;const cpuSlices=this.cpuOnWhichThreadWasRunning.slices;for(let i=0;i<cpuSlices.length;i++){const cpuSlice=cpuSlices[i];if(cpuSlice.start!==this.start)continue;if(cpuSlice.duration!==this.duration)continue;return cpuSlice;}
4601return undefined;},getCpuSliceThatTookCpu(){if(this.cpuOnWhichThreadWasRunning)return undefined;let curIndex=this.thread.indexOfTimeSlice(this);let cpuSliceWhenLastRunning;while(curIndex>=0){const curSlice=this.thread.timeSlices[curIndex];if(!curSlice.cpuOnWhichThreadWasRunning){curIndex--;continue;}
4602cpuSliceWhenLastRunning=curSlice.getAssociatedCpuSlice();break;}
4603if(!cpuSliceWhenLastRunning)return undefined;const cpu=cpuSliceWhenLastRunning.cpu;const indexOfSliceOnCpuWhenLastRunning=cpu.indexOf(cpuSliceWhenLastRunning);const nextRunningSlice=cpu.slices[indexOfSliceOnCpuWhenLastRunning+1];if(!nextRunningSlice)return undefined;if(Math.abs(nextRunningSlice.start-cpuSliceWhenLastRunning.end)<0.00001){return nextRunningSlice;}
4604return undefined;}};tr.model.EventRegistry.register(ThreadTimeSlice,{name:'threadTimeSlice',pluralName:'threadTimeSlices'});return{ThreadTimeSlice,SCHEDULING_STATE,};});'use strict';tr.exportTo('tr.model',function(){const CompoundEventSelectionState={NOT_SELECTED:0,EVENT_SELECTED:0x1,SOME_ASSOCIATED_EVENTS_SELECTED:0x2,ALL_ASSOCIATED_EVENTS_SELECTED:0x4,EVENT_AND_SOME_ASSOCIATED_SELECTED:0x1|0x2,EVENT_AND_ALL_ASSOCIATED_SELECTED:0x1|0x4};return{CompoundEventSelectionState,};});'use strict';tr.exportTo('tr.model.um',function(){const CompoundEventSelectionState=tr.model.CompoundEventSelectionState;function UserExpectation(parentModel,initiatorType,start,duration){tr.model.TimedEvent.call(this,start);this.associatedEvents=new tr.model.EventSet();this.duration=duration;this.initiatorType_=initiatorType;this.parentModel=parentModel;this.typeInfo_=undefined;this.sourceEvents=new tr.model.EventSet();}
4605const INITIATOR_TYPE={KEYBOARD:'Keyboard',MOUSE:'Mouse',MOUSE_WHEEL:'MouseWheel',TAP:'Tap',PINCH:'Pinch',FLING:'Fling',TOUCH:'Touch',SCROLL:'Scroll',CSS:'CSS',WEBGL:'WebGL',VIDEO:'Video'};UserExpectation.prototype={__proto__:tr.model.TimedEvent.prototype,computeCompoundEvenSelectionState(selection){let cess=CompoundEventSelectionState.NOT_SELECTED;if(selection.contains(this)){cess|=CompoundEventSelectionState.EVENT_SELECTED;}
4606if(this.associatedEvents.intersectionIsEmpty(selection)){return cess;}
4607const allContained=this.associatedEvents.every(function(event){return selection.contains(event);});if(allContained){cess|=CompoundEventSelectionState.ALL_ASSOCIATED_EVENTS_SELECTED;}else{cess|=CompoundEventSelectionState.SOME_ASSOCIATED_EVENTS_SELECTED;}
4608return cess;},get associatedSamples(){const samples=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event instanceof tr.model.ThreadSlice){samples.addEventSet(event.overlappingSamples);}});return samples;},get userFriendlyName(){return this.title+' User Expectation at '+
4609tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){return('UserExpectation.'+this.guid);},get typeInfo(){if(!this.typeInfo_){this.typeInfo_=UserExpectation.subTypes.findTypeInfo(this.constructor);}
4610if(!this.typeInfo_){throw new Error('Unregistered UserExpectation');}
4611return this.typeInfo_;},get colorId(){return this.typeInfo.metadata.colorId;},get stageTitle(){return this.typeInfo.metadata.stageTitle;},get initiatorType(){return this.initiatorType_;},get title(){if(!this.initiatorType){return this.stageTitle;}
4612return this.initiatorType+' '+this.stageTitle;},get totalCpuMs(){let cpuMs=0;this.associatedEvents.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;}};const subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(subTypes,options);subTypes.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.stageTitle===undefined){throw new Error('Registered UserExpectations must provide '+'stageTitle');}
4613if(metadata.colorId===undefined){throw new Error('Registered UserExpectations must provide '+'colorId');}});tr.model.EventRegistry.register(UserExpectation,{name:'userExpectation',pluralName:'userExpectations',subTypes});return{UserExpectation,INITIATOR_TYPE,};});'use strict';tr.exportTo('tr.model.um',function(){function ResponseExpectation(parentModel,initiatorTitle,start,duration,opt_isAnimationBegin){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.isAnimationBegin=opt_isAnimationBegin||false;}
4614ResponseExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:ResponseExpectation};tr.model.um.UserExpectation.subTypes.register(ResponseExpectation,{stageTitle:'Response',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_response')});return{ResponseExpectation,};});'use strict';tr.exportTo('tr.e.audits',function(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;const Auditor=tr.c.Auditor;const AndroidModelHelper=tr.model.helpers.AndroidModelHelper;const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS=tr.model.FRAME_PERF_CLASS;const Alert=tr.model.Alert;const EventInfo=tr.model.EventInfo;const Scalar=tr.b.Scalar;const timeDurationInMs=tr.b.Unit.byName.timeDurationInMs;const EXPECTED_FRAME_TIME_MS=16.67;function getStart(e){return e.start;}
4615function getDuration(e){return e.duration;}
4616function getCpuDuration(e){return(e.cpuDuration!==undefined)?e.cpuDuration:e.duration;}
4617function frameIsActivityStart(frame){return frame.associatedEvents.any(x=>x.title==='activityStart');}
4618function frameMissedDeadline(frame){return frame.args.deadline&&frame.args.deadline<frame.end;}
4619function DocLinkBuilder(){this.docLinks=[];}
4620DocLinkBuilder.prototype={addAppVideo(name,videoId){this.docLinks.push({label:'Video Link',textContent:('Android Performance Patterns: '+name),href:'https://www.youtube.com/watch?list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE&v='+videoId});return this;},addDacRef(name,link){this.docLinks.push({label:'Doc Link',textContent:(name+' documentation'),href:'https://developer.android.com/reference/'+link});return this;},build(){return this.docLinks;}};function AndroidAuditor(model){Auditor.call(this,model);const helper=model.getOrCreateHelper(AndroidModelHelper);if(helper.apps.length||helper.surfaceFlinger){this.helper=helper;}}
4621AndroidAuditor.viewAlphaAlertInfo_=new EventInfo('Inefficient View alpha usage','Setting an alpha between 0 and 1 has significant performance costs, if one of the fast alpha paths is not used.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('View#setAlpha()','android/view/View.html#setAlpha(float)').build());AndroidAuditor.saveLayerAlertInfo_=new EventInfo('Expensive rendering with Canvas#saveLayer()','Canvas#saveLayer() incurs extremely high rendering cost. They disrupt the rendering pipeline when drawn, forcing a flush of drawing content. Instead use View hardware layers, or static Bitmaps. This enables the offscreen buffers to be reused in between frames, and avoids the disruptive render target switch.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('Canvas#saveLayerAlpha()','android/graphics/Canvas.html#saveLayerAlpha(android.graphics.RectF, int, int)').build());AndroidAuditor.getSaveLayerAlerts_=function(frame){const badAlphaRegEx=/^(.+) alpha caused (unclipped )?saveLayer (\d+)x(\d+)$/;const saveLayerRegEx=/^(unclipped )?saveLayer (\d+)x(\d+)$/;const ret=[];const events=[];frame.associatedEvents.forEach(function(slice){const match=badAlphaRegEx.exec(slice.title);if(match){const args={'view name':match[1],'width':parseInt(match[3]),'height':parseInt(match[4])};ret.push(new Alert(AndroidAuditor.viewAlphaAlertInfo_,slice.start,[slice],args));}else if(saveLayerRegEx.test(slice.title)){events.push(slice);}},this);if(events.length>ret.length){const unclippedSeen=Statistics.sum(events,function(slice){return saveLayerRegEx.exec(slice.title)[1]?1:0;});const clippedSeen=events.length-unclippedSeen;const earliestStart=Statistics.min(events,function(slice){return slice.start;});const args={'Unclipped saveLayer count (especially bad!)':unclippedSeen,'Clipped saveLayer count':clippedSeen};events.push(frame);ret.push(new Alert(AndroidAuditor.saveLayerAlertInfo_,earliestStart,events,args));}
4622return ret;};AndroidAuditor.pathAlertInfo_=new EventInfo('Path texture churn','Paths are drawn with a mask texture, so when a path is modified / newly drawn, that texture must be generated and uploaded to the GPU. Ensure that you cache paths between frames and do not unnecessarily call Path#reset(). You can cut down on this cost by sharing Path object instances between drawables/views.');AndroidAuditor.getPathAlert_=function(frame){const uploadRegEx=/^Generate Path Texture$/;const events=frame.associatedEvents.filter(function(event){return event.title==='Generate Path Texture';});const start=Statistics.min(events,getStart);const duration=Statistics.sum(events,getDuration);if(duration<3)return undefined;events.push(frame);return new Alert(AndroidAuditor.pathAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.uploadAlertInfo_=new EventInfo('Expensive Bitmap uploads','Bitmaps that have been modified / newly drawn must be uploaded to the GPU. Since this is expensive if the total number of pixels uploaded is large, reduce the amount of Bitmap churn in this animation/context, per frame.');AndroidAuditor.getUploadAlert_=function(frame){const uploadRegEx=/^Upload (\d+)x(\d+) Texture$/;const events=[];let start=Number.POSITIVE_INFINITY;let duration=0;let pixelsUploaded=0;frame.associatedEvents.forEach(function(event){const match=uploadRegEx.exec(event.title);if(match){events.push(event);start=Math.min(start,event.start);duration+=event.duration;pixelsUploaded+=parseInt(match[1])*parseInt(match[2]);}});if(events.length===0||duration<3)return undefined;const mPixels=(pixelsUploaded/1000000).toFixed(2)+' million';const args={'Pixels uploaded':mPixels,'Time spent':new Scalar(timeDurationInMs,duration)};events.push(frame);return new Alert(AndroidAuditor.uploadAlertInfo_,start,events,args);};AndroidAuditor.ListViewInflateAlertInfo_=new EventInfo('Inflation during ListView recycling','ListView item recycling involved inflating views. Ensure your Adapter#getView() recycles the incoming View, instead of constructing a new one.');AndroidAuditor.ListViewBindAlertInfo_=new EventInfo('Inefficient ListView recycling/rebinding','ListView recycling taking too much time per frame. Ensure your Adapter#getView() binds data efficiently.');AndroidAuditor.getListViewAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='obtainView'||event.title==='setupListItem';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;let hasInflation=false;for(const event of events){if(event.findDescendentSlice('inflate')){hasInflation=true;}}
4623const start=Statistics.min(events,getStart);const args={'Time spent':new Scalar(timeDurationInMs,duration)};args['ListView items '+(hasInflation?'inflated':'rebound')]=events.length/2;const eventInfo=hasInflation?AndroidAuditor.ListViewInflateAlertInfo_:AndroidAuditor.ListViewBindAlertInfo_;events.push(frame);return new Alert(eventInfo,start,events,args);};AndroidAuditor.measureLayoutAlertInfo_=new EventInfo('Expensive measure/layout pass','Measure/Layout took a significant time, contributing to jank. Avoid triggering layout during animations.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').build());AndroidAuditor.getMeasureLayoutAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='measure'||event.title==='layout';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.measureLayoutAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.viewDrawAlertInfo_=new EventInfo('Long View#draw()','Recording the drawing commands of invalidated Views took a long time. Avoid significant work in View or Drawable custom drawing, especially allocations or drawing to Bitmaps.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getViewDrawAlert_=function(frame){let slice=undefined;for(const event of frame.associatedEvents){if(event.title==='getDisplayList'||event.title==='Record View#draw()'){slice=event;break;}}
4624if(!slice||getCpuDuration(slice)<3)return undefined;return new Alert(AndroidAuditor.viewDrawAlertInfo_,slice.start,[slice,frame],{'Time spent':new Scalar(timeDurationInMs,getCpuDuration(slice))});};AndroidAuditor.blockingGcAlertInfo_=new EventInfo('Blocking Garbage Collection','Blocking GCs are caused by object churn, and made worse by having large numbers of objects in the heap. Avoid allocating objects during animations/scrolling, and recycle Bitmaps to avoid triggering garbage collection.',new DocLinkBuilder().addAppVideo('Garbage Collection in Android','pzfzz50W5Uo').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getBlockingGcAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='DVM Suspend'||event.title==='GC: Wait For Concurrent';});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.blockingGcAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.lockContentionAlertInfo_=new EventInfo('Lock contention','UI thread lock contention is caused when another thread holds a lock that the UI thread is trying to use. UI thread progress is blocked until the lock is released. Inspect locking done within the UI thread, and ensure critical sections are short.');AndroidAuditor.getLockContentionAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return/^Lock Contention on /.test(event.title);});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<1)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.lockContentionAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.schedulingAlertInfo_=new EventInfo('Scheduling delay','Work to produce this frame was descheduled for several milliseconds, contributing to jank. Ensure that code on the UI thread doesn\'t block on work being done on other threads, and that background threads (doing e.g. network or bitmap loading) are running at android.os.Process#THREAD_PRIORITY_BACKGROUND or lower so they are less likely to interrupt the UI thread. These background threads should show up with a priority number of 130 or higher in the scheduling section under the Kernel process.');AndroidAuditor.getSchedulingAlert_=function(frame){let totalDuration=0;const totalStats={};for(const ttr of frame.threadTimeRanges){const stats=ttr.thread.getSchedulingStatsForRange(ttr.start,ttr.end);for(const[key,value]of Object.entries(stats)){if(!(key in totalStats)){totalStats[key]=0;}
4625totalStats[key]+=value;totalDuration+=value;}}
4626if(!(SCHEDULING_STATE.RUNNING in totalStats)||totalDuration===0||totalDuration-totalStats[SCHEDULING_STATE.RUNNING]<3){return;}
4627const args={};for(const[key,value]of Object.entries(totalStats)){let newKey=key;if(key===SCHEDULING_STATE.RUNNABLE){newKey='Not scheduled, but runnable';}else if(key===SCHEDULING_STATE.UNINTR_SLEEP){newKey='Blocking I/O delay';}
4628args[newKey]=new Scalar(timeDurationInMs,value);}
4629return new Alert(AndroidAuditor.schedulingAlertInfo_,frame.start,[frame],args);};AndroidAuditor.prototype={__proto__:Auditor.prototype,renameAndSort_(){this.model.kernel.important=false;this.model.getAllProcesses().forEach(function(process){if(this.helper.surfaceFlinger&&process===this.helper.surfaceFlinger.process){if(!process.name){process.name='SurfaceFlinger';}
4630process.sortIndex=Number.NEGATIVE_INFINITY;process.important=false;return;}
4631const uiThread=process.getThread(process.pid);if(!process.name&&uiThread&&uiThread.name){if(/^ndroid\./.test(uiThread.name)){uiThread.name='a'+uiThread.name;}
4632process.name=uiThread.name;uiThread.name='UI Thread';}
4633process.sortIndex=0;for(const tid in process.threads){process.sortIndex-=process.threads[tid].sliceGroup.slices.length;}},this);this.model.getAllThreads().forEach(function(thread){if(thread.tid===thread.parent.pid){thread.sortIndex=-3;}
4634if(thread.name==='RenderThread'){thread.sortIndex=-2;}
4635if(/^hwuiTask/.test(thread.name)){thread.sortIndex=-1;}});},pushFramesAndJudgeJank_(){let badFramesObserved=0;let framesObserved=0;const surfaceFlinger=this.helper.surfaceFlinger;this.helper.apps.forEach(function(app){app.process.frames=app.getFrames();app.process.frames.forEach(function(frame){if(frame.totalDuration>EXPECTED_FRAME_TIME_MS*2){badFramesObserved+=2;frame.perfClass=FRAME_PERF_CLASS.TERRIBLE;}else if(frame.totalDuration>EXPECTED_FRAME_TIME_MS||frameMissedDeadline(frame)){badFramesObserved++;frame.perfClass=FRAME_PERF_CLASS.BAD;}else{frame.perfClass=FRAME_PERF_CLASS.GOOD;}});framesObserved+=app.process.frames.length;});if(framesObserved){const portionBad=badFramesObserved/framesObserved;if(portionBad>0.3){this.model.faviconHue='red';}else if(portionBad>0.05){this.model.faviconHue='yellow';}else{this.model.faviconHue='green';}}},pushEventInfo_(){const appAnnotator=new AppAnnotator();this.helper.apps.forEach(function(app){if(app.uiThread){appAnnotator.applyEventInfos(app.uiThread.sliceGroup);}
4636if(app.renderThread){appAnnotator.applyEventInfos(app.renderThread.sliceGroup);}});},runAnnotate(){if(!this.helper)return;this.renameAndSort_();this.pushFramesAndJudgeJank_();this.pushEventInfo_();this.helper.iterateImportantSlices(function(slice){slice.important=true;});},runAudit(){if(!this.helper)return;const alerts=this.model.alerts;this.helper.apps.forEach(function(app){app.getFrames().forEach(function(frame){alerts.push.apply(alerts,AndroidAuditor.getSaveLayerAlerts_(frame));if(frame.perfClass===FRAME_PERF_CLASS.NEUTRAL||frame.perfClass===FRAME_PERF_CLASS.GOOD){return;}
4637let alert=AndroidAuditor.getPathAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getUploadAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getListViewAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getMeasureLayoutAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getViewDrawAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getBlockingGcAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getLockContentionAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getSchedulingAlert_(frame);if(alert)alerts.push(alert);});},this);this.addRenderingInteractionRecords();this.addInputInteractionRecords();},addRenderingInteractionRecords(){const events=[];this.helper.apps.forEach(function(app){events.push.apply(events,app.getAnimationAsyncSlices());events.push.apply(events,app.getFrames());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Rendering',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(events),30,mergerFunction);},addInputInteractionRecords(){const inputSamples=[];this.helper.apps.forEach(function(app){inputSamples.push.apply(inputSamples,app.getInputSamples());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Input',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);const inputRanges=inputSamples.map(function(sample){return tr.b.math.Range.fromExplicitRange(sample.timestamp,sample.timestamp);});tr.b.math.mergeRanges(inputRanges,30,mergerFunction);}};Auditor.register(AndroidAuditor);function AppAnnotator(){this.titleInfoLookup=new Map();this.titleParentLookup=new Map();this.build_();}
4638AppAnnotator.prototype={build_(){const registerEventInfo=function(dict){this.titleInfoLookup.set(dict.title,new EventInfo(dict.title,dict.description,dict.docLinks));if(dict.parents){this.titleParentLookup.set(dict.title,dict.parents);}}.bind(this);registerEventInfo({title:'inflate',description:'Constructing a View hierarchy from pre-processed XML via LayoutInflater#layout. This includes constructing all of the View objects in the hierarchy, and applying styled attributes.'});registerEventInfo({title:'obtainView',description:'Adapter#getView() called to bind content to a recycled View that is being presented.'});registerEventInfo({title:'setupListItem',description:'Attached a newly-bound, recycled View to its parent ListView.'});registerEventInfo({title:'setupGridItem',description:'Attached a newly-bound, recycled View to its parent GridView.'});const choreographerLinks=new DocLinkBuilder().addDacRef('Choreographer','android/view/Choreographer.html').build();registerEventInfo({title:'Choreographer#doFrame',docLinks:choreographerLinks,description:'Choreographer executes frame callbacks for inputs, animations, and rendering traversals. When this work is done, a frame will be presented to the user.'});registerEventInfo({title:'input',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Input callbacks are processed. This generally encompasses dispatching input to Views, as well as any work the Views do to process this input/gesture.'});registerEventInfo({title:'animation',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Animation callbacks are processed. This is generally minimal work, as animations determine progress for the frame, and push new state to animated objects (such as setting View properties).'});registerEventInfo({title:'traversals',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Primary draw traversals. This is the primary traversal of the View hierarchy, including layout and draw passes.'});const traversalParents=['Choreographer#doFrame','performTraversals'];const layoutLinks=new DocLinkBuilder().addDacRef('View#Layout','android/view/View.html#Layout').build();registerEventInfo({title:'performTraversals',description:'A drawing traversal of the View hierarchy, comprised of all layout and drawing needed to produce the frame.'});registerEventInfo({title:'measure',parents:traversalParents,docLinks:layoutLinks,description:'First of two phases in view hierarchy layout. Views are asked to size themselves according to constraints supplied by their parent. Some ViewGroups may measure a child more than once to help satisfy their own constraints. Nesting ViewGroups that measure children more than once can lead to excessive and repeated work.'});registerEventInfo({title:'layout',parents:traversalParents,docLinks:layoutLinks,description:'Second of two phases in view hierarchy layout, repositioning content and child Views into their new locations.'});const drawString='Draw pass over the View hierarchy. Every invalidated View will have its drawing commands recorded. On Android versions prior to Lollipop, this would also include the issuing of draw commands to the GPU. Starting with Lollipop, it only includes the recording of commands, and syncing that information to the RenderThread.';registerEventInfo({title:'draw',parents:traversalParents,description:drawString});const recordString='Every invalidated View\'s drawing commands are recorded. Each will have View#draw() called, and is passed a Canvas that will record and store its drawing commands until it is next invalidated/rerecorded.';registerEventInfo({title:'getDisplayList',parents:['draw'],description:recordString});registerEventInfo({title:'Record View#draw()',parents:['draw'],description:recordString});registerEventInfo({title:'drawDisplayList',parents:['draw'],description:'Execution of recorded draw commands to generate a frame. This represents the actual formation and issuing of drawing commands to the GPU. On Android L and higher devices, this work is done on a dedicated RenderThread, instead of on the UI Thread.'});registerEventInfo({title:'DrawFrame',description:'RenderThread portion of the standard UI/RenderThread split frame. This represents the actual formation and issuing of drawing commands to the GPU.'});registerEventInfo({title:'doFrame',description:'RenderThread animation frame. Represents drawing work done by the RenderThread on a frame where the UI thread did not produce new drawing content.'});registerEventInfo({title:'syncFrameState',description:'Sync stage between the UI thread and the RenderThread, where the UI thread hands off a frame (including information about modified Views). Time in this method primarily consists of uploading modified Bitmaps to the GPU. After this sync is completed, the UI thread is unblocked, and the RenderThread starts to render the frame.'});registerEventInfo({title:'flush drawing commands',description:'Issuing the now complete drawing commands to the GPU.'});registerEventInfo({title:'eglSwapBuffers',description:'Complete GPU rendering of the frame.'});registerEventInfo({title:'RV Scroll',description:'RecyclerView is calculating a scroll. If there are too many of these in Systrace, some Views inside RecyclerView might be causing it. Try to avoid using EditText, focusable views or handle them with care.'});registerEventInfo({title:'RV OnLayout',description:'OnLayout has been called by the View system. If this shows up too many times in Systrace, make sure the children of RecyclerView do not update themselves directly. This will cause a full re-layout but when it happens via the Adapter notifyItemChanged, RecyclerView can avoid full layout calculation.'});registerEventInfo({title:'RV FullInvalidate',description:'NotifyDataSetChanged or equal has been called. If this is taking a long time, try sending granular notify adapter changes instead of just calling notifyDataSetChanged or setAdapter / swapAdapter. Adding stable ids to your adapter might help.'});registerEventInfo({title:'RV PartialInvalidate',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV OnBindView',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV CreateView',description:'RecyclerView is creating a new View. If too many of these are present: 1) There might be a problem in Recycling (e.g. custom Animations that set transient state and prevent recycling or ItemAnimator not implementing the contract properly. See Adapter#onFailedToRecycleView(ViewHolder). 2) There may be too many item view types. Try merging them. 3) There might be too many itemChange animations and not enough space in RecyclerPool. Try increasing your pool size and item cache size.'});registerEventInfo({title:'eglSwapBuffers',description:'The CPU has finished producing drawing commands, and is flushing drawing work to the GPU, and posting that buffer to the consumer (which is often SurfaceFlinger window composition). Once this is completed, the GPU can produce the frame content without any involvement from the CPU.'});},applyEventInfosRecursive_(parentNames,slice){const checkExpectedParentNames=function(expectedParentNames){if(!expectedParentNames)return true;return expectedParentNames.some(function(name){return parentNames.has(name);});};if(this.titleInfoLookup.has(slice.title)){if(checkExpectedParentNames(this.titleParentLookup.get(slice.title))){slice.info=this.titleInfoLookup.get(slice.title);}}
4639if(slice.subSlices.length>0){if(!parentNames.has(slice.title)){parentNames.set(slice.title,0);}
4640parentNames.set(slice.title,parentNames.get(slice.title)+1);slice.subSlices.forEach(function(subSlice){this.applyEventInfosRecursive_(parentNames,subSlice);},this);parentNames.set(slice.title,parentNames.get(slice.title)-1);if(parentNames.get(slice.title)===0){delete parentNames[slice.title];}}},applyEventInfos(sliceGroup){sliceGroup.topLevelSlices.forEach(function(slice){this.applyEventInfosRecursive_(new Map(),slice);},this);}};return{AndroidAuditor,};});'use strict';tr.exportTo('tr.model',function(){function ObjectSnapshot(objectInstance,ts,args){tr.model.Event.call(this);this.objectInstance=objectInstance;this.ts=ts;this.args=args;}
4641ObjectSnapshot.prototype={__proto__:tr.model.Event.prototype,preInitialize(){},initialize(){},referencedAt(item,object,field){},addBoundsToRange(range){range.addValue(this.ts);},get userFriendlyName(){return'Snapshot of '+
4642this.objectInstance.typeName+' '+
4643this.objectInstance.id+' @ '+
4644tr.b.Unit.byName.timeStampInMs.format(this.ts);}};tr.model.EventRegistry.register(ObjectSnapshot,{name:'objectSnapshot',pluralName:'objectSnapshots'});return{ObjectSnapshot,};});'use strict';tr.exportTo('tr.model',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectInstance(parent,scopedId,category,name,creationTs,opt_baseTypeName){tr.model.Event.call(this);this.parent=parent;this.scopedId=scopedId;this.category=category;this.baseTypeName=opt_baseTypeName?opt_baseTypeName:name;this.name=name;this.creationTs=creationTs;this.creationTsWasExplicit=false;this.deletionTs=Number.MAX_VALUE;this.deletionTsWasExplicit=false;this.colorId=0;this.bounds=new tr.b.math.Range();this.snapshots=[];this.hasImplicitSnapshots=false;}
4645ObjectInstance.prototype={__proto__:tr.model.Event.prototype,get typeName(){return this.name;},addBoundsToRange(range){range.addRange(this.bounds);},addSnapshot(ts,args,opt_name,opt_baseTypeName){if(ts<this.creationTs){throw new Error('Snapshots must be >= instance.creationTs');}
4646if(ts>=this.deletionTs){throw new Error('Snapshots cannot be added after '+'an objects deletion timestamp.');}
4647let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts===ts){throw new Error('Snapshots already exists at this time!');}
4648if(ts<lastSnapshot.ts){throw new Error('Snapshots must be added in increasing timestamp order');}}
4649if(opt_name&&(this.name!==opt_name)){if(!opt_baseTypeName){throw new Error('Must provide base type name for name update');}
4650if(this.baseTypeName!==opt_baseTypeName){throw new Error('Cannot update type name: base types dont match');}
4651this.name=opt_name;}
4652const snapshotConstructor=tr.model.ObjectSnapshot.subTypes.getConstructor(this.category,this.name);const snapshot=new snapshotConstructor(this,ts,args);this.snapshots.push(snapshot);return snapshot;},wasDeleted(ts){let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts>ts){throw new Error('Instance cannot be deleted at ts='+
4653ts+'. A snapshot exists that is older.');}}
4654this.deletionTs=ts;this.deletionTsWasExplicit=true;},preInitialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].preInitialize();}},initialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].initialize();}},isAliveAt(ts){if(ts<this.creationTs&&this.creationTsWasExplicit){return false;}
4655if(ts>this.deletionTs){return false;}
4656return true;},getSnapshotAt(ts){if(ts<this.creationTs){if(this.creationTsWasExplicit){throw new Error('ts must be within lifetime of this instance');}
4657return this.snapshots[0];}
4658if(ts>this.deletionTs){throw new Error('ts must be within lifetime of this instance');}
4659const snapshots=this.snapshots;const i=tr.b.math.findIndexInSortedIntervals(snapshots,function(snapshot){return snapshot.ts;},function(snapshot,i){if(i===snapshots.length-1){return snapshots[i].objectInstance.deletionTs;}
4660return snapshots[i+1].ts-snapshots[i].ts;},ts);if(i<0){return this.snapshots[0];}
4661if(i>=this.snapshots.length){return this.snapshots[this.snapshots.length-1];}
4662return this.snapshots[i];},updateBounds(){this.bounds.reset();this.bounds.addValue(this.creationTs);if(this.deletionTs!==Number.MAX_VALUE){this.bounds.addValue(this.deletionTs);}else if(this.snapshots.length>0){this.bounds.addValue(this.snapshots[this.snapshots.length-1].ts);}},shiftTimestampsForward(amount){this.creationTs+=amount;if(this.deletionTs!==Number.MAX_VALUE){this.deletionTs+=amount;}
4663this.snapshots.forEach(function(snapshot){snapshot.ts+=amount;});},get userFriendlyName(){return this.typeName+' object '+this.scopedId;}};tr.model.EventRegistry.register(ObjectInstance,{name:'objectInstance',pluralName:'objectInstances'});return{ObjectInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function BlameContextSnapshot(){ObjectSnapshot.apply(this,arguments);}
4664BlameContextSnapshot.prototype={__proto__:ObjectSnapshot.prototype,get parentContext(){if(this.args.parent instanceof BlameContextSnapshot){return this.args.parent;}
4665return undefined;},get userFriendlyName(){return'BlameContext';}};function BlameContextInstance(){ObjectInstance.apply(this,arguments);}
4666BlameContextInstance.prototype={__proto__:ObjectInstance.prototype,get blameContextType(){throw new Error('Not implemented');}};return{BlameContextSnapshot,BlameContextInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function FrameTreeNodeSnapshot(){BlameContextSnapshot.apply(this,arguments);}
4667FrameTreeNodeSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get renderFrame(){if(this.args.renderFrame instanceof tr.e.chrome.RenderFrameSnapshot){return this.args.renderFrame;}
4668return undefined;},get url(){return this.args.url;},get userFriendlyName(){return'FrameTreeNode';}};tr.model.ObjectSnapshot.subTypes.register(FrameTreeNodeSnapshot,{typeName:'FrameTreeNode'});function FrameTreeNodeInstance(){BlameContextInstance.apply(this,arguments);}
4669FrameTreeNodeInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(FrameTreeNodeInstance,{typeName:'FrameTreeNode'});return{FrameTreeNodeSnapshot,FrameTreeNodeInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function RenderFrameSnapshot(){BlameContextSnapshot.apply(this,arguments);}
4670RenderFrameSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,referencedAt(item,object,field){if(item instanceof tr.e.chrome.FrameTreeNodeSnapshot&&object===item.args&&field==='renderFrame'){this.args.frameTreeNode=item;}},get frameTreeNode(){if(this.args.frameTreeNode instanceof
4671tr.e.chrome.FrameTreeNodeSnapshot){return this.args.frameTreeNode;}
4672return undefined;},get url(){if(this.frameTreeNode){return this.frameTreeNode.url;}
4673return undefined;},get userFriendlyName(){return'RenderFrame';}};tr.model.ObjectSnapshot.subTypes.register(RenderFrameSnapshot,{typeName:'RenderFrame'});function RenderFrameInstance(){BlameContextInstance.apply(this,arguments);}
4674RenderFrameInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(RenderFrameInstance,{typeName:'RenderFrame'});return{RenderFrameSnapshot,RenderFrameInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function TopLevelSnapshot(){BlameContextSnapshot.apply(this,arguments);}
4675TopLevelSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get userFriendlyName(){return'TopLevel';}};tr.model.ObjectSnapshot.subTypes.register(TopLevelSnapshot,{typeName:'TopLevel'});function TopLevelInstance(){BlameContextInstance.apply(this,arguments);}
4676TopLevelInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'TopLevel';}};tr.model.ObjectInstance.subTypes.register(TopLevelInstance,{typeName:'TopLevel'});return{TopLevelSnapshot,TopLevelInstance,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSlice(category,title,colorId,start,args,duration,opt_isTopLevel,opt_cpuStart,opt_cpuDuration,opt_argsStripped){tr.model.TimedEvent.call(this,start);this.category=category||'';this.originalTitle=title;this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.important=false;this.subSlices=[];this.parentContainer_=undefined;this.id=undefined;this.startThread=undefined;this.endThread=undefined;this.cpuStart=undefined;this.cpuDuration=undefined;this.argsStripped=false;this.startStackFrame=undefined;this.endStackFrame=undefined;this.duration=duration;this.isTopLevel=(opt_isTopLevel===true);if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;}
4677if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;}
4678if(opt_argsStripped!==undefined){this.argsStripped=opt_argsStripped;}}
4679AsyncSlice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get parentContainer(){return this.parentContainer_;},set parentContainer(parentContainer){this.parentContainer_=parentContainer;for(let i=0;i<this.subSlices.length;i++){const subSlice=this.subSlices[i];if(subSlice.parentContainer===undefined){subSlice.parentContainer=parentContainer;}}},get viewSubGroupTitle(){return this.title;},get userFriendlyName(){return'Async slice '+this.title+' at '+
4680tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentAsyncSliceGroup=this.parentContainer.asyncSliceGroup;return parentAsyncSliceGroup.stableId+'.'+
4681parentAsyncSliceGroup.slices.indexOf(this);},*findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this){if(eventPredicate(this)){yield this;return;}
4682for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},findDescendentSlice(targetTitle){if(!this.subSlices)return undefined;for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];}
4683const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;}
4684return undefined;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;}
4685for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},compareTo(that){return this.title.localeCompare(that.title);}};tr.model.EventRegistry.register(AsyncSlice,{name:'asyncSlice',pluralName:'asyncSlices'});return{AsyncSlice,};});'use strict';tr.exportTo('tr.model.helpers',function(){const MAIN_FRAMETIME_TYPE='main_frametime_type';const IMPL_FRAMETIME_TYPE='impl_frametime_type';const MAIN_RENDERING_STATS='BenchmarkInstrumentation::MainThreadRenderingStats';const IMPL_RENDERING_STATS='BenchmarkInstrumentation::ImplThreadRenderingStats';function getSlicesIntersectingRange(rangeOfInterest,slices){const slicesInFilterRange=[];for(let i=0;i<slices.length;i++){const slice=slices[i];if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end)){slicesInFilterRange.push(slice);}}
4686return slicesInFilterRange;}
4687function ChromeProcessHelper(modelHelper,process){this.modelHelper=modelHelper;this.process=process;this.telemetryInternalRanges_=undefined;}
4688ChromeProcessHelper.prototype={get pid(){return this.process.pid;},isTelemetryInternalEvent(slice){if(this.telemetryInternalRanges_===undefined){this.findTelemetryInternalRanges_();}
4689for(const range of this.telemetryInternalRanges_){if(range.containsExplicitRangeInclusive(slice.start,slice.end)){return true;}}
4690return false;},findTelemetryInternalRanges_(){this.telemetryInternalRanges_=[];let start=0;for(const thread of Object.values(this.process.threads)){for(const slice of thread.asyncSliceGroup.getDescendantEvents()){if(/^telemetry\.internal\.[^.]*\.start$/.test(slice.title)){start=slice.start;}else if(/^telemetry\.internal\.[^.]*\.end$/.test(slice.title)&&start!==undefined){this.telemetryInternalRanges_.push(tr.b.math.Range.fromExplicitRange(start,slice.end));start=undefined;}}}},getFrameEventsInRange(frametimeType,range){const titleToGet=(frametimeType===MAIN_FRAMETIME_TYPE?MAIN_RENDERING_STATS:IMPL_RENDERING_STATS);const frameEvents=[];for(const event of this.process.getDescendantEvents()){if(event.title===titleToGet){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){frameEvents.push(event);}}}
4691frameEvents.sort(function(a,b){return a.start-b.start;});return frameEvents;}};function getFrametimeDataFromEvents(frameEvents){const frametimeData=[];for(let i=1;i<frameEvents.length;i++){const diff=frameEvents[i].start-frameEvents[i-1].start;frametimeData.push({'x':frameEvents[i].start,'frametime':diff});}
4692return frametimeData;}
4693return{ChromeProcessHelper,MAIN_FRAMETIME_TYPE,IMPL_FRAMETIME_TYPE,MAIN_RENDERING_STATS,IMPL_RENDERING_STATS,getSlicesIntersectingRange,getFrametimeDataFromEvents,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeBrowserHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrBrowserMain');if(!process.name){process.name=ChromeBrowserHelper.PROCESS_NAME;}}
4694ChromeBrowserHelper.PROCESS_NAME='Browser';ChromeBrowserHelper.isBrowserProcess=function(process){return!!process.findAtMostOneThreadNamed('CrBrowserMain');};ChromeBrowserHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get browserName(){const hasInProcessRendererThread=this.process.findAllThreadsNamed('Chrome_InProcRendererThread').length>0;return hasInProcessRendererThread?'webview':'chrome';},get mainThread(){return this.mainThread_;},get rendererHelpers(){return this.modelHelper.rendererHelpers;},getLoadingEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title.indexOf('WebContentsImpl Loading')===0&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getCommitProvisionalLoadEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title==='RenderFrameImpl::didCommitProvisionalLoad'&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},get hasLatencyEvents(){let hasLatency=false;for(const thread of this.modelHelper.model.getAllThreads()){for(const event of thread.getDescendantEvents()){if(!event.isTopLevel)continue;if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){continue;}
4695hasLatency=true;}}
4696return hasLatency;},getLatencyEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return(slice.title.indexOf('InputLatency')===0)&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getAllAsyncSlicesMatching(pred,opt_this){const events=[];this.iterAllThreads(function(thread){for(const slice of thread.getDescendantEvents()){if(pred.call(opt_this,slice)){events.push(slice);}}});return events;},iterAllThreads(func,opt_this){for(const thread of Object.values(this.process.threads)){func.call(opt_this,thread);}
4697for(const rendererHelper of Object.values(this.rendererHelpers)){const rendererProcess=rendererHelper.process;for(const thread of Object.values(rendererProcess.threads)){func.call(opt_this,thread);}}}};return{ChromeBrowserHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeGpuHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);if(!process.name){process.name=ChromeGpuHelper.PROCESS_NAME;}}
4698ChromeGpuHelper.PROCESS_NAME='GPU Process';ChromeGpuHelper.isGpuProcess=function(process){if(process.findAtMostOneThreadNamed('CrBrowserMain')||process.findAtMostOneThreadNamed('CrRendererMain')){return false;}
4699return process.findAllThreadsNamed('CrGpuMain').length>0;};ChromeGpuHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype};return{ChromeGpuHelper,};});'use strict';tr.exportTo('tr.b',function(){function SinebowColorGenerator(opt_a,opt_brightness){this.a_=(opt_a===undefined)?1:opt_a;this.brightness_=(opt_brightness===undefined)?1:opt_brightness;this.colorIndex_=0;this.keyToColor={};}
4700SinebowColorGenerator.prototype={colorForKey(key){if(!this.keyToColor[key]){this.keyToColor[key]=this.nextColor();}
4701return this.keyToColor[key];},nextColor(){const components=SinebowColorGenerator.nthColor(this.colorIndex_++);return tr.b.Color.fromString(SinebowColorGenerator.calculateColor(components[0],components[1],components[2],this.a_,this.brightness_));}};SinebowColorGenerator.PHI=(1+Math.sqrt(5))/2;SinebowColorGenerator.sinebow_=function(h){h+=0.5;h=-h;let r=Math.sin(Math.PI*h);let g=Math.sin(Math.PI*(h+1/3));let b=Math.sin(Math.PI*(h+2/3));r*=r;g*=g;b*=b;const y=2*(0.2989*r+0.5870*g+0.1140*b);r/=y;g/=y;b/=y;return[256*r,256*g,256*b];};SinebowColorGenerator.nthColor=function(n){return SinebowColorGenerator.sinebow_(n*this.PHI);};SinebowColorGenerator.calculateColor=function(r,g,b,a,brightness){if(brightness<=1){r*=brightness;g*=brightness;b*=brightness;}else{r=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),r,255);g=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),g,255);b=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),b,255);}
4702r=Math.round(r);g=Math.round(g);b=Math.round(b);return'rgba('+r+','+g+','+b+', '+a+')';};return{SinebowColorGenerator,};});'use strict';tr.exportTo('tr.e.chrome',function(){const SAME_AS_PARENT='same-as-parent';const TITLES_FOR_USER_FRIENDLY_CATEGORY={composite:['CompositingInputsUpdater::update','ThreadProxy::SetNeedsUpdateLayers','LayerTreeHost::UpdateLayers::CalcDrawProps','UpdateLayerTree'],gc:['minorGC','majorGC','MajorGC','MinorGC','V8.GCScavenger','V8.GCIncrementalMarking','V8.GCIdleNotification','V8.GCContext','V8.GCCompactor','V8GCController::traceDOMWrappers'],iframe_creation:['WebLocalFrameImpl::createChildframe'],imageDecode:['Decode Image','ImageFrameGenerator::decode','ImageFrameGenerator::decodeAndScale'],input:['HitTest','ScrollableArea::scrollPositionChanged','EventHandler::handleMouseMoveEvent'],layout:['FrameView::invalidateTree','FrameView::layout','FrameView::performLayout','FrameView::performPostLayoutTasks','FrameView::performPreLayoutTasks','Layer::updateLayerPositionsAfterLayout','Layout','LayoutView::hitTest','ResourceLoadPriorityOptimizer::updateAllImageResourcePriorities','WebViewImpl::layout'],parseHTML:['ParseHTML','HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser','HTMLDocumentParser::processParsedChunkFromBackgroundParser','HTMLDocumentParser::processTokenizedChunkFromBackgroundParser',],raster:['DisplayListRasterSource::PerformSolidColorAnalysis','Picture::Raster','RasterBufferImpl::Playback','RasterTask','RasterizerTaskImpl::RunOnWorkerThread','SkCanvas::drawImageRect()','SkCanvas::drawPicture()','SkCanvas::drawTextBlob()','TileTaskWorkerPool::PlaybackToMemory'],record:['ContentLayerDelegate::paintContents','DeprecatedPaintLayerCompositor::updateIfNeededRecursive','DeprecatedPaintLayerCompositor::updateLayerPositionsAfterLayout','Paint','Picture::Record','PictureLayer::Update','RenderLayer::updateLayerPositionsAfterLayout'],style:['CSSParserImpl::parseStyleSheet.parse','CSSParserImpl::parseStyleSheet.tokenize','Document::updateStyle','Document::updateStyleInvalidationIfNeeded','ParseAuthorStyleSheet','RuleSet::addRulesFromSheet','StyleElement::processStyleSheet','StyleEngine::createResolver','StyleSheetContents::parseAuthorStyleSheet','UpdateLayoutTree'],script_parse_and_compile:['v8.parseOnBackground','V8.ScriptCompiler'],script_execute:['V8.Execute','WindowProxy::initialize'],resource_loading:['ResourceFetcher::requestResource','ResourceDispatcher::OnReceivedData','ResourceDispatcher::OnRequestComplete','ResourceDispatcher::OnReceivedResponse','Resource::appendData'],renderer_misc:['DecodeFont','ThreadState::completeSweep'],v8_runtime:[],[SAME_AS_PARENT]:['SyncChannel::Send']};const COLOR_FOR_USER_FRIENDLY_CATEGORY=new tr.b.SinebowColorGenerator();const USER_FRIENDLY_CATEGORY_FOR_TITLE=new Map();for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){TITLES_FOR_USER_FRIENDLY_CATEGORY[category].forEach(function(title){USER_FRIENDLY_CATEGORY_FOR_TITLE.set(title,category);});}
4703const USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY={netlog:'net',overhead:'overhead',startup:'startup',gpu:'gpu'};function ChromeUserFriendlyCategoryDriver(){}
4704ChromeUserFriendlyCategoryDriver.fromEvent=function(event){let userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_TITLE.get(event.title);if(userFriendlyCategory){if(userFriendlyCategory===SAME_AS_PARENT){if(event.parentSlice){return ChromeUserFriendlyCategoryDriver.fromEvent(event.parentSlice);}}else{return userFriendlyCategory;}}
4705const eventCategoryParts=tr.b.getCategoryParts(event.category);for(let i=0;i<eventCategoryParts.length;++i){const eventCategory=eventCategoryParts[i];userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY[eventCategory];if(userFriendlyCategory){return userFriendlyCategory;}}
4706return'other';};ChromeUserFriendlyCategoryDriver.getColor=function(ufc){return COLOR_FOR_USER_FRIENDLY_CATEGORY.colorForKey(ufc);};ChromeUserFriendlyCategoryDriver.ALL_TITLES=['other'];for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){if(category===SAME_AS_PARENT)continue;ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);}
4707for(const category of Object.values(USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY)){ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);}
4708ChromeUserFriendlyCategoryDriver.ALL_TITLES.sort();for(const category of ChromeUserFriendlyCategoryDriver.ALL_TITLES){ChromeUserFriendlyCategoryDriver.getColor(category);}
4709return{ChromeUserFriendlyCategoryDriver,};});'use strict';tr.exportTo('tr.model.helpers',function(){const NET_CATEGORIES=new Set(['net','netlog','disabled-by-default-netlog','disabled-by-default-network']);class ChromeThreadHelper{constructor(thread){this.thread=thread;}
4710getNetworkEvents(){const networkEvents=[];for(const slice of this.thread.asyncSliceGroup.slices){const categories=tr.b.getCategoryParts(slice.category);const isNetEvent=category=>NET_CATEGORIES.has(category);if(categories.filter(isNetEvent).length===0)continue;networkEvents.push(slice);}
4711return networkEvents;}}
4712return{ChromeThreadHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){const ChromeThreadHelper=tr.model.helpers.ChromeThreadHelper;function ChromeRendererHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrRendererMain')||process.findAtMostOneThreadNamed('Chrome_InProcRendererThread');this.compositorThread_=process.findAtMostOneThreadNamed('Compositor');this.rasterWorkerThreads_=process.findAllThreadsMatching(function(t){if(t.name===undefined)return false;if(t.name.indexOf('CompositorTileWorker')===0)return true;if(t.name.indexOf('CompositorRasterWorker')===0)return true;return false;});if(!process.name){process.name=ChromeRendererHelper.PROCESS_NAME;}}
4713ChromeRendererHelper.PROCESS_NAME='Renderer';ChromeRendererHelper.isRenderProcess=function(process){if(process.findAtMostOneThreadNamed('CrRendererMain'))return true;if(process.findAtMostOneThreadNamed('Compositor'))return true;return false;};ChromeRendererHelper.isTracingProcess=function(process){return process.labels!==undefined&&process.labels.length===1&&process.labels[0]==='chrome://tracing';};ChromeRendererHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get mainThread(){return this.mainThread_;},get compositorThread(){return this.compositorThread_;},get rasterWorkerThreads(){return this.rasterWorkerThreads_;},get isChromeTracingUI(){return ChromeRendererHelper.isTracingProcess(this.process);},};return{ChromeRendererHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function findChromeBrowserProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeBrowserHelper.isBrowserProcess);}
4714function findChromeRenderProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeRendererHelper.isRenderProcess);}
4715function findChromeGpuProcess(model){const gpuProcesses=model.getAllProcesses(tr.model.helpers.ChromeGpuHelper.isGpuProcess);if(gpuProcesses.length!==1)return undefined;return gpuProcesses[0];}
4716function ChromeModelHelper(model){this.model_=model;const browserProcesses=findChromeBrowserProcesses(model);this.browserHelpers_=browserProcesses.map(p=>new tr.model.helpers.ChromeBrowserHelper(this,p));const gpuProcess=findChromeGpuProcess(model);if(gpuProcess){this.gpuHelper_=new tr.model.helpers.ChromeGpuHelper(this,gpuProcess);}else{this.gpuHelper_=undefined;}
4717const rendererProcesses_=findChromeRenderProcesses(model);this.rendererHelpers_={};rendererProcesses_.forEach(function(renderProcess){const rendererHelper=new tr.model.helpers.ChromeRendererHelper(this,renderProcess);this.rendererHelpers_[rendererHelper.pid]=rendererHelper;},this);this.chromeBounds_=undefined;}
4718ChromeModelHelper.guid=tr.b.GUID.allocateSimple();ChromeModelHelper.supportsModel=function(model){if(findChromeBrowserProcesses(model).length)return true;if(findChromeRenderProcesses(model).length)return true;return false;};ChromeModelHelper.prototype={get pid(){throw new Error('woah');},get process(){throw new Error('woah');},get model(){return this.model_;},get browserProcess(){if(this.browserHelper===undefined)return undefined;return this.browserHelper.process;},get browserHelper(){return this.browserHelpers_[0];},get browserHelpers(){return this.browserHelpers_;},get gpuHelper(){return this.gpuHelper_;},get rendererHelpers(){return this.rendererHelpers_;},get rendererWithLargestPid(){let largestPid=-1;for(const pid in this.rendererHelpers){const rendererHelper=this.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;if(pid>largestPid)largestPid=pid;}
4719if(largestPid===-1)return undefined;return this.rendererHelpers[largestPid];},get chromeBounds(){if(!this.chromeBounds_){this.chromeBounds_=new tr.b.math.Range();for(const browserHelper of
4720Object.values(this.browserHelpers)){this.chromeBounds_.addRange(browserHelper.process.bounds);}}
4721if(this.chromeBounds_.isEmpty){return undefined;}
4722return this.chromeBounds_;}};return{ChromeModelHelper,};});'use strict';tr.exportTo('tr.e.cc',function(){const AsyncSlice=tr.model.AsyncSlice;const EventSet=tr.model.EventSet;const UI_COMP_NAME='INPUT_EVENT_LATENCY_UI_COMPONENT';const ORIGINAL_COMP_NAME='INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT';const BEGIN_COMP_NAME='INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT';const END_COMP_NAME='INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT';const MAIN_RENDERER_THREAD_NAME='CrRendererMain';const COMPOSITOR_THREAD_NAME='Compositor';const POSTTASK_FLOW_EVENT='disabled-by-default-toplevel.flow';const IPC_FLOW_EVENT='disabled-by-default-ipc.flow';const INPUT_EVENT_TYPE_NAMES={CHAR:'Char',CLICK:'GestureClick',CONTEXT_MENU:'ContextMenu',FLING_CANCEL:'GestureFlingCancel',FLING_START:'GestureFlingStart',KEY_DOWN:'KeyDown',KEY_DOWN_RAW:'RawKeyDown',KEY_UP:'KeyUp',LATENCY_SCROLL_UPDATE:'ScrollUpdate',MOUSE_DOWN:'MouseDown',MOUSE_ENTER:'MouseEnter',MOUSE_LEAVE:'MouseLeave',MOUSE_MOVE:'MouseMove',MOUSE_UP:'MouseUp',MOUSE_WHEEL:'MouseWheel',PINCH_BEGIN:'GesturePinchBegin',PINCH_END:'GesturePinchEnd',PINCH_UPDATE:'GesturePinchUpdate',SCROLL_BEGIN:'GestureScrollBegin',SCROLL_END:'GestureScrollEnd',SCROLL_UPDATE:'GestureScrollUpdate',SCROLL_UPDATE_RENDERER:'ScrollUpdate',SHOW_PRESS:'GestureShowPress',TAP:'GestureTap',TAP_CANCEL:'GestureTapCancel',TAP_DOWN:'GestureTapDown',TOUCH_CANCEL:'TouchCancel',TOUCH_END:'TouchEnd',TOUCH_MOVE:'TouchMove',TOUCH_START:'TouchStart',UNKNOWN:'UNKNOWN'};function InputLatencyAsyncSlice(){AsyncSlice.apply(this,arguments);this.associatedEvents_=new EventSet();this.typeName_=undefined;if(!this.isLegacyEvent){this.determineModernTypeName_();}}
4723InputLatencyAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get isLegacyEvent(){return this.title==='InputLatency';},get typeName(){if(!this.typeName_){this.determineLegacyTypeName_();}
4724return this.typeName_;},checkTypeName_(){if(!this.typeName_){throw new Error('Unable to determine typeName');}
4725let found=false;for(const typeName in INPUT_EVENT_TYPE_NAMES){if(this.typeName===INPUT_EVENT_TYPE_NAMES[typeName]){found=true;break;}}
4726if(!found){this.typeName_=INPUT_EVENT_TYPE_NAMES.UNKNOWN;}},determineModernTypeName_(){const lastColonIndex=this.title.lastIndexOf(':');if(lastColonIndex<0)return;const characterAfterLastColonIndex=lastColonIndex+1;this.typeName_=this.title.slice(characterAfterLastColonIndex);this.checkTypeName_();},determineLegacyTypeName_(){for(const subSlice of this.enumerateAllDescendents()){const subSliceIsAInputLatencyAsyncSlice=(subSlice instanceof InputLatencyAsyncSlice);if(!subSliceIsAInputLatencyAsyncSlice)continue;if(!subSlice.typeName)continue;if(this.typeName_&&subSlice.typeName_){const subSliceHasDifferentTypeName=(this.typeName_!==subSlice.typeName_);if(subSliceHasDifferentTypeName){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() '+' found multiple typeNames');}}
4727this.typeName_=subSlice.typeName_;}
4728if(!this.typeName_){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() failed');}
4729this.checkTypeName_();},getRendererHelper(sourceSlices){const traceModel=this.startThread.parent.model;const modelHelper=traceModel.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper)return undefined;let mainThread=undefined;let compositorThread=undefined;for(const i in sourceSlices){if(sourceSlices[i].parentContainer.name===MAIN_RENDERER_THREAD_NAME){mainThread=sourceSlices[i].parentContainer;}else if(sourceSlices[i].parentContainer.name===COMPOSITOR_THREAD_NAME){compositorThread=sourceSlices[i].parentContainer;}
4730if(mainThread&&compositorThread)break;}
4731const rendererHelpers=modelHelper.rendererHelpers;const pids=Object.keys(rendererHelpers);for(let i=0;i<pids.length;i++){const pid=pids[i];const rendererHelper=rendererHelpers[pid];if(rendererHelper.mainThread===mainThread||rendererHelper.compositorThread===compositorThread){return rendererHelper;}}
4732return undefined;},addEntireSliceHierarchy(slice){this.associatedEvents_.push(slice);slice.iterateAllSubsequentSlices(function(subsequentSlice){this.associatedEvents_.push(subsequentSlice);},this);},addDirectlyAssociatedEvents(flowEvents){const slices=[];flowEvents.forEach(function(flowEvent){this.associatedEvents_.push(flowEvent);const newSource=flowEvent.startSlice.mostTopLevelSlice;if(slices.indexOf(newSource)===-1){slices.push(newSource);}},this);const lastFlowEvent=flowEvents[flowEvents.length-1];const lastSource=lastFlowEvent.endSlice.mostTopLevelSlice;if(slices.indexOf(lastSource)===-1){slices.push(lastSource);}
4733return slices;},addScrollUpdateEvents(rendererHelper){if(!rendererHelper||!rendererHelper.compositorThread){return;}
4734const compositorThread=rendererHelper.compositorThread;const gestureScrollUpdateStart=this.start;const gestureScrollUpdateEnd=this.end;const allCompositorAsyncSlices=compositorThread.asyncSliceGroup.slices;for(const i in allCompositorAsyncSlices){const slice=allCompositorAsyncSlices[i];if(slice.title!=='Latency::ScrollUpdate')continue;const parentId=slice.args.data.INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT.sequence_number;if(parentId===undefined){if(slice.start<gestureScrollUpdateStart||slice.start>=gestureScrollUpdateEnd){continue;}}else{if(parseInt(parentId)!==parseInt(this.id)){continue;}}
4735slice.associatedEvents.forEach(function(event){this.associatedEvents_.push(event);},this);break;}},belongToOtherInputs(slice,flowEvents){let fromOtherInputs=false;slice.iterateEntireHierarchy(function(subsequentSlice){if(fromOtherInputs)return;subsequentSlice.inFlowEvents.forEach(function(inflow){if(fromOtherInputs)return;if(inflow.category.indexOf('input')>-1){if(flowEvents.indexOf(inflow)===-1){fromOtherInputs=true;}}},this);},this);return fromOtherInputs;},triggerOtherInputs(event,flowEvents){if(event.outFlowEvents===undefined||event.outFlowEvents.length===0){return false;}
4736const flow=event.outFlowEvents[0];if(flow.category!==POSTTASK_FLOW_EVENT||!flow.endSlice){return false;}
4737const endSlice=flow.endSlice;if(this.belongToOtherInputs(endSlice.mostTopLevelSlice,flowEvents)){return true;}
4738return false;},followSubsequentSlices(event,queue,visited,flowEvents){let stopFollowing=false;let inputAck=false;event.iterateAllSubsequentSlices(function(slice){if(stopFollowing)return;if(slice.title==='TaskQueueManager::RunTask')return;if(slice.title==='ThreadProxy::ScheduledActionSendBeginMainFrame'){return;}
4739if(slice.title==='Scheduler::ScheduleBeginImplFrameDeadline'){if(this.triggerOtherInputs(slice,flowEvents))return;}
4740if(slice.title==='CompositorImpl::PostComposite'){if(this.triggerOtherInputs(slice,flowEvents))return;}
4741if(slice.title==='InputRouterImpl::ProcessInputEventAck'){inputAck=true;}
4742if(inputAck&&slice.title==='InputRouterImpl::FilterAndSendWebInputEvent'){stopFollowing=true;}
4743this.followCurrentSlice(slice,queue,visited);},this);},followCurrentSlice(event,queue,visited){event.outFlowEvents.forEach(function(outflow){if((outflow.category===POSTTASK_FLOW_EVENT||outflow.category===IPC_FLOW_EVENT)&&outflow.endSlice){this.associatedEvents_.push(outflow);const nextEvent=outflow.endSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);queue.push(nextEvent);}}},this);},backtraceFromDraw(beginImplFrame,visited){const pendingEventQueue=[];pendingEventQueue.push(beginImplFrame.mostTopLevelSlice);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);event.inFlowEvents.forEach(function(inflow){if(inflow.category===POSTTASK_FLOW_EVENT&&inflow.startSlice){const nextEvent=inflow.startSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);pendingEventQueue.push(nextEvent);}}},this);}},sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices){rasterWorkerThreads.forEach(function(rasterizer){Array.prototype.push.apply(sortedRasterizerSlices,rasterizer.sliceGroup.slices);},this);sortedRasterizerSlices.sort(function(a,b){if(a.start!==b.start){return a.start-b.start;}
4744return a.guid-b.guid;});},addRasterizationEvents(prepareTiles,rendererHelper,visited,flowEvents,sortedRasterizerSlices){if(!prepareTiles.args.prepare_tiles_id)return;if(!rendererHelper||!rendererHelper.rasterWorkerThreads){return;}
4745const rasterWorkerThreads=rendererHelper.rasterWorkerThreads;const prepareTileId=prepareTiles.args.prepare_tiles_id;const pendingEventQueue=[];if(sortedRasterizerSlices.length===0){this.sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices);}
4746let numFinishedTasks=0;const RASTER_TASK_TITLE='RasterizerTaskImpl::RunOnWorkerThread';const IMAGEDECODE_TASK_TITLE='ImageDecodeTaskImpl::RunOnWorkerThread';const FINISHED_TASK_TITLE='TaskSetFinishedTaskImpl::RunOnWorkerThread';for(let i=0;i<sortedRasterizerSlices.length;i++){const task=sortedRasterizerSlices[i];if(task.title===RASTER_TASK_TITLE||task.title===IMAGEDECODE_TASK_TITLE){if(task.args.source_prepare_tiles_id===prepareTileId){this.addEntireSliceHierarchy(task.mostTopLevelSlice);}}else if(task.title===FINISHED_TASK_TITLE){if(task.start>prepareTiles.start){pendingEventQueue.push(task.mostTopLevelSlice);if(++numFinishedTasks===3)break;}}}
4747while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followSubsequentSlices(event,pendingEventQueue,visited,flowEvents);}},addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents,sortedRasterizerSlices){const pendingEventQueue=[];const visitedEvents=new EventSet();let beginImplFrame=undefined;let prepareTiles=undefined;sortedRasterizerSlices=[];sourceSlices.forEach(function(sourceSlice){if(!visitedEvents.contains(sourceSlice)){visitedEvents.push(sourceSlice);pendingEventQueue.push(sourceSlice);}},this);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followCurrentSlice(event,pendingEventQueue,visitedEvents);this.followSubsequentSlices(event,pendingEventQueue,visitedEvents,flowEvents);const COMPOSITOR_PREPARE_TILES='TileManager::PrepareTiles';prepareTiles=event.findDescendentSlice(COMPOSITOR_PREPARE_TILES);if(prepareTiles){this.addRasterizationEvents(prepareTiles,rendererHelper,visitedEvents,flowEvents,sortedRasterizerSlices);}
4748const COMPOSITOR_ON_BIFD='Scheduler::OnBeginImplFrameDeadline';beginImplFrame=event.findDescendentSlice(COMPOSITOR_ON_BIFD);if(beginImplFrame){this.backtraceFromDraw(beginImplFrame,visitedEvents);}}
4749const INPUT_GSU='InputLatency::GestureScrollUpdate';if(this.title===INPUT_GSU){this.addScrollUpdateEvents(rendererHelper);}},get associatedEvents(){if(this.associatedEvents_.length!==0){return this.associatedEvents_;}
4750const modelIndices=this.startThread.parent.model.modelIndices;const flowEvents=modelIndices.getFlowEventsWithId(this.id);if(flowEvents.length===0){return this.associatedEvents_;}
4751const sourceSlices=this.addDirectlyAssociatedEvents(flowEvents);const rendererHelper=this.getRendererHelper(sourceSlices);this.addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents);return this.associatedEvents_;},get inputLatency(){if(!('data'in this.args))return undefined;const data=this.args.data;if(!(END_COMP_NAME in data))return undefined;let latency=0;const endTime=data[END_COMP_NAME].time;if(ORIGINAL_COMP_NAME in data){latency=endTime-data[ORIGINAL_COMP_NAME].time;}else if(UI_COMP_NAME in data){latency=endTime-data[UI_COMP_NAME].time;}else if(BEGIN_COMP_NAME in data){latency=endTime-data[BEGIN_COMP_NAME].time;}else{throw new Error('No valid begin latency component');}
4752return latency;}};const eventTypeNames=['Char','ContextMenu','GestureClick','GestureFlingCancel','GestureFlingStart','GestureScrollBegin','GestureScrollEnd','GestureScrollUpdate','GestureShowPress','GestureTap','GestureTapCancel','GestureTapDown','GesturePinchBegin','GesturePinchEnd','GesturePinchUpdate','KeyDown','KeyUp','MouseDown','MouseEnter','MouseLeave','MouseMove','MouseUp','MouseWheel','RawKeyDown','ScrollUpdate','TouchCancel','TouchEnd','TouchMove','TouchStart'];const allTypeNames=['InputLatency'];eventTypeNames.forEach(function(eventTypeName){allTypeNames.push('InputLatency:'+eventTypeName);allTypeNames.push('InputLatency::'+eventTypeName);});AsyncSlice.subTypes.register(InputLatencyAsyncSlice,{typeNames:allTypeNames,categoryParts:['latencyInfo']});return{InputLatencyAsyncSlice,INPUT_EVENT_TYPE_NAMES,};});'use strict';tr.exportTo('tr.model',function(){return{BROWSER_PROCESS_PID_REF:-1,OBJECT_DEFAULT_SCOPE:'ptr',LOCAL_ID_PHASES:new Set(['N','D','O','(',')'])};});'use strict';tr.exportTo('tr.e.audits',function(){const Auditor=tr.c.Auditor;function ChromeAuditor(model){Auditor.call(this,model);const modelHelper=this.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper&&modelHelper.browserHelper){this.modelHelper=modelHelper;}else{this.modelHelper=undefined;}}
4753ChromeAuditor.prototype={__proto__:Auditor.prototype,runAnnotate(){if(!this.modelHelper)return;for(const pid in this.modelHelper.rendererHelpers){const rendererHelper=this.modelHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI){rendererHelper.process.important=false;}}},installUserFriendlyCategoryDriverIfNeeded(){this.model.addUserFriendlyCategoryDriver(tr.e.chrome.ChromeUserFriendlyCategoryDriver);},runAudit(){if(!this.modelHelper)return;this.model.replacePIDRefsInPatchups(tr.model.BROWSER_PROCESS_PID_REF,this.modelHelper.browserProcess.pid);this.model.applyObjectRefPatchups();}};Auditor.register(ChromeAuditor);return{ChromeAuditor,};});'use strict';tr.exportTo('tr.e.chrome',function(){const KNOWN_PROPERTIES={absX:1,absY:1,address:1,anonymous:1,childNeeds:1,children:1,classNames:1,col:1,colSpan:1,float:1,height:1,htmlId:1,name:1,posChildNeeds:1,positioned:1,positionedMovement:1,relX:1,relY:1,relativePositioned:1,row:1,rowSpan:1,selfNeeds:1,stickyPositioned:1,tag:1,width:1};function LayoutObject(snapshot,args){this.snapshot_=snapshot;this.id_=args.address;this.name_=args.name;this.childLayoutObjects_=[];this.otherProperties_={};this.tag_=args.tag;this.relativeRect_=tr.b.math.Rect.fromXYWH(args.relX,args.relY,args.width,args.height);this.absoluteRect_=tr.b.math.Rect.fromXYWH(args.absX,args.absY,args.width,args.height);this.isFloat_=args.float;this.isStickyPositioned_=args.stickyPositioned;this.isPositioned_=args.positioned;this.isRelativePositioned_=args.relativePositioned;this.isAnonymous_=args.anonymous;this.htmlId_=args.htmlId;this.classNames_=args.classNames;this.needsLayoutReasons_=[];if(args.selfNeeds){this.needsLayoutReasons_.push('self');}
4754if(args.childNeeds){this.needsLayoutReasons_.push('child');}
4755if(args.posChildNeeds){this.needsLayoutReasons_.push('positionedChild');}
4756if(args.positionedMovement){this.needsLayoutReasons_.push('positionedMovement');}
4757this.tableRow_=args.row;this.tableCol_=args.col;this.tableRowSpan_=args.rowSpan;this.tableColSpan_=args.colSpan;if(args.children){args.children.forEach(function(child){this.childLayoutObjects_.push(new LayoutObject(snapshot,child));}.bind(this));}
4758for(const property in args){if(!KNOWN_PROPERTIES[property]){this.otherProperties_[property]=args[property];}}}
4759LayoutObject.prototype={get snapshot(){return this.snapshot_;},get id(){return this.id_;},get name(){return this.name_;},get tag(){return this.tag_;},get relativeRect(){return this.relativeRect_;},get absoluteRect(){return this.absoluteRect_;},get isPositioned(){return this.isPositioned_;},get isFloat(){return this.isFloat_;},get isStickyPositioned(){return this.isStickyPositioned_;},get isRelativePositioned(){return this.isRelativePositioned_;},get isAnonymous(){return this.isAnonymous_;},get tableRow(){return this.tableRow_;},get tableCol(){return this.tableCol_;},get tableRowSpan(){return this.tableRowSpan_;},get tableColSpan(){return this.tableColSpan_;},get htmlId(){return this.htmlId_;},get classNames(){return this.classNames_;},get needsLayoutReasons(){return this.needsLayoutReasons_;},get hasChildLayoutObjects(){return this.childLayoutObjects_.length>0;},get childLayoutObjects(){return this.childLayoutObjects_;},traverseTree(cb,opt_this){cb.call(opt_this,this);if(!this.hasChildLayoutObjects)return;this.childLayoutObjects.forEach(function(child){child.traverseTree(cb,opt_this);});},get otherPropertyNames(){const names=[];for(const name in this.otherProperties_){names.push(name);}
4760return names;},getProperty(name){return this.otherProperties_[name];},get previousSnapshotLayoutObject(){if(!this.snapshot.previousSnapshot)return undefined;return this.snapshot.previousSnapshot.getLayoutObjectById(this.id);},get nextSnapshotLayoutObject(){if(!this.snapshot.nextSnapshot)return undefined;return this.snapshot.nextSnapshot.getLayoutObjectById(this.id);}};return{LayoutObject,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayoutTreeInstance(){ObjectInstance.apply(this,arguments);}
4761LayoutTreeInstance.prototype={__proto__:ObjectInstance.prototype,};ObjectInstance.subTypes.register(LayoutTreeInstance,{typeName:'LayoutTree'});function LayoutTreeSnapshot(){ObjectSnapshot.apply(this,arguments);this.rootLayoutObject=new tr.e.chrome.LayoutObject(this,this.args);}
4762LayoutTreeSnapshot.prototype={__proto__:ObjectSnapshot.prototype,};ObjectSnapshot.subTypes.register(LayoutTreeSnapshot,{typeName:'LayoutTree'});return{LayoutTreeInstance,LayoutTreeSnapshot,};});'use strict';tr.exportTo('tr.model',function(){function EventContainer(){this.guid_=tr.b.GUID.allocateSimple();this.important=true;this.bounds_=new tr.b.math.Range();}
4763EventContainer.prototype={get guid(){return this.guid_;},get stableId(){throw new Error('Not implemented');},get bounds(){return this.bounds_;},updateBounds(){throw new Error('Not implemented');},shiftTimestampsForward(amount){throw new Error('Not implemented');},*childEvents(){},*getDescendantEvents(){yield*this.childEvents();for(const container of this.childEventContainers()){yield*container.getDescendantEvents();}},*childEventContainers(){},*getDescendantEventContainers(){yield this;for(const container of this.childEventContainers()){yield*container.getDescendantEventContainers();}},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){},*findTopmostSlices(eventPredicate){for(const ec of this.getDescendantEventContainers()){yield*ec.findTopmostSlicesInThisContainer(eventPredicate);}},*findTopmostSlicesNamed(name){yield*this.findTopmostSlices(e=>e.title===name);}};return{EventContainer,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;class ResourceUsageSample extends Event{constructor(series,start,usage){super();this.series_=series;this.start_=start;this.usage_=usage;}
4764get series(){return this.series_;}
4765get start(){return this.start_;}
4766set start(value){this.start_=value;}
4767get usage(){return this.usage_;}
4768set usage(value){this.usage_=value;}
4769addBoundsToRange(range){range.addValue(this.start);}}
4770EventRegistry.register(ResourceUsageSample,{name:'resourceUsageSample',pluralName:'resourceUsageSamples'});return{ResourceUsageSample,};});'use strict';tr.exportTo('tr.model',function(){const ResourceUsageSample=tr.model.ResourceUsageSample;class ResourceUsageSeries extends tr.model.EventContainer{constructor(device){super();this.device_=device;this.samples_=[];}
4771get device(){return this.device_;}
4772get samples(){return this.samples_;}
4773get stableId(){return this.device_.stableId+'.ResourceUsageSeries';}
4774addUsageSample(ts,val){const sample=new ResourceUsageSample(this,ts,val);this.samples_.push(sample);return sample;}
4775computeResourceTimeConsumedInMs(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let resourceTimeInMs=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0)startIndex=0;for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);resourceTimeInMs+=intersectionRangeInMs.duration*sample.usage;}
4776return resourceTimeInMs;}
4777getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);}
4778shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}}
4779updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);}*childEvents(){yield*this.samples_;}}
4780return{ResourceUsageSeries,};});'use strict';tr.exportTo('tr.e.audits',function(){class CpuUsageAuditor extends tr.c.Auditor{constructor(model){super();this.model_=model;}
4781runAnnotate(){this.model_.device.cpuUsageSeries=this.computeCpuUsageSeries_(this.model_.bounds.min,this.model_.bounds.max,this.computeCpuUsage_());}
4782computeBinSize_(start,end){const MIN_BIN_SIZE_MS=1.0;const MAX_NUM_BINS=100000;const interval=end-start;let binSize=MIN_BIN_SIZE_MS;while(binSize*MAX_NUM_BINS<interval)binSize*=2;return binSize;}
4783computeCpuUsageSeries_(start,end,usageRecords){const series=new tr.model.ResourceUsageSeries();if(start===undefined)return series;const binSize=this.computeBinSize_(start,end);const numBins=Math.ceil((end-start)/binSize);const arr=new Array(numBins).fill(0);for(const record of usageRecords){const firstIndex=Math.ceil((record.start-start)/binSize);const lastIndex=Math.floor((record.end-start)/binSize);for(let i=firstIndex;i<=lastIndex;i++)arr[i]+=record.usage;}
4784for(let i=0;i<numBins;i++){series.addUsageSample(start+(i*binSize),arr[i]);}
4785return series;}
4786computeCpuUsage_(){const model=this.model_;const result=[];for(const pid in model.processes){for(const e of model.processes[pid].getDescendantEvents()){if(!(e instanceof tr.model.ThreadSlice)||e.duration===0||e.cpuDuration===undefined){continue;}
4787if(e.selfTime===0||e.selfTime===undefined||e.cpuSelfTime===undefined){continue;}
4788const usage=tr.b.math.clamp(e.cpuSelfTime/e.selfTime,0,1);let lastTime=e.start;for(const subslice of e.subSlices){result.push({usage,start:lastTime,end:subslice.start});lastTime=subslice.end;}
4789result.push({usage,start:lastTime,end:e.end});}}
4790return result;}}
4791tr.c.Auditor.register(CpuUsageAuditor);return{CpuUsageAuditor};});'use strict';tr.exportTo('tr.b',function(){function Base64(){}
4792function b64ToUint6(nChr){if(nChr>64&&nChr<91)return nChr-65;if(nChr>96&&nChr<123)return nChr-71;if(nChr>47&&nChr<58)return nChr+4;if(nChr===43)return 62;if(nChr===47)return 63;return 0;}
4793Base64.getDecodedBufferLength=function(input){return input.length*3+1>>2;};Base64.EncodeArrayBufferToString=function(input){let binary='';const bytes=new Uint8Array(input);const len=bytes.byteLength;for(let i=0;i<len;i++){binary+=String.fromCharCode(bytes[i]);}
4794return btoa(binary);};Base64.DecodeToTypedArray=function(input,output){const nInLen=input.length;const nOutLen=nInLen*3+1>>2;let nMod3=0;let nMod4=0;let nUint24=0;let nOutIdx=0;if(nOutLen>output.byteLength){throw new Error('Output buffer too small to decode.');}
4795for(let nInIdx=0;nInIdx<nInLen;nInIdx++){nMod4=nInIdx&3;nUint24|=b64ToUint6(input.charCodeAt(nInIdx))<<18-6*nMod4;if(nMod4===3||nInLen-nInIdx===1){for(nMod3=0;nMod3<3&&nOutIdx<nOutLen;nMod3++,nOutIdx++){output.setUint8(nOutIdx,nUint24>>>(16>>>nMod3&24)&255);}
4796nUint24=0;}}
4797return nOutIdx-1;};Base64.btoa=function(input){return btoa(input);};Base64.atob=function(input){return atob(input);};return{Base64,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){function Parser(importer){this.importer=importer;this.model=importer.model;}
4798Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='68FDD900-4A3E-11D1-84F4-0000F80464E3';const kEventTraceHeaderOpcode=0;function EventTraceParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kEventTraceHeaderOpcode,EventTraceParser.prototype.decodeHeader.bind(this));}
4799EventTraceParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version!==2){throw new Error('Incompatible EventTrace event version.');}
4800const bufferSize=decoder.decodeUInt32();const version=decoder.decodeUInt32();const providerVersion=decoder.decodeUInt32();const numberOfProcessors=decoder.decodeUInt32();const endTime=decoder.decodeUInt64ToString();const timerResolution=decoder.decodeUInt32();const maxFileSize=decoder.decodeUInt32();const logFileMode=decoder.decodeUInt32();const buffersWritten=decoder.decodeUInt32();const startBuffers=decoder.decodeUInt32();const pointerSize=decoder.decodeUInt32();const eventsLost=decoder.decodeUInt32();const cpuSpeed=decoder.decodeUInt32();const loggerName=decoder.decodeUInteger(header.is64);const logFileName=decoder.decodeUInteger(header.is64);const timeZoneInformation=decoder.decodeTimeZoneInformation();const padding=decoder.decodeUInt32();const bootTime=decoder.decodeUInt64ToString();const perfFreq=decoder.decodeUInt64ToString();const startTime=decoder.decodeUInt64ToString();const reservedFlags=decoder.decodeUInt32();const buffersLost=decoder.decodeUInt32();const sessionNameString=decoder.decodeW16String();const logFileNameString=decoder.decodeW16String();return{bufferSize,version,providerVersion,numberOfProcessors,endTime,timerResolution,maxFileSize,logFileMode,buffersWritten,startBuffers,pointerSize,eventsLost,cpuSpeed,loggerName,logFileName,timeZoneInformation,bootTime,perfFreq,startTime,reservedFlags,buffersLost,sessionNameString,logFileNameString};},decodeHeader(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(EventTraceParser);return{EventTraceParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D0-FE05-11D0-9DDA-00C04FD7BA7C';const kProcessStartOpcode=1;const kProcessEndOpcode=2;const kProcessDCStartOpcode=3;const kProcessDCEndOpcode=4;const kProcessDefunctOpcode=39;function ProcessParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kProcessStartOpcode,ProcessParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kProcessEndOpcode,ProcessParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kProcessDCStartOpcode,ProcessParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kProcessDCEndOpcode,ProcessParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kProcessDefunctOpcode,ProcessParser.prototype.decodeDefunct.bind(this));}
4801ProcessParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>5){throw new Error('Incompatible Process event version.');}
4802let pageDirectoryBase;if(header.version===1){pageDirectoryBase=decoder.decodeUInteger(header.is64);}
4803let uniqueProcessKey;if(header.version>=2){uniqueProcessKey=decoder.decodeUInteger(header.is64);}
4804const processId=decoder.decodeUInt32();const parentId=decoder.decodeUInt32();let sessionId;let exitStatus;if(header.version>=1){sessionId=decoder.decodeUInt32();exitStatus=decoder.decodeInt32();}
4805let directoryTableBase;if(header.version>=3){directoryTableBase=decoder.decodeUInteger(header.is64);}
4806let flags;if(header.version>=4){flags=decoder.decodeUInt32();}
4807const userSID=decoder.decodeSID(header.is64);let imageFileName;if(header.version>=1){imageFileName=decoder.decodeString();}
4808let commandLine;if(header.version>=2){commandLine=decoder.decodeW16String();}
4809let packageFullName;let applicationId;if(header.version>=4){packageFullName=decoder.decodeW16String();applicationId=decoder.decodeW16String();}
4810let exitTime;if(header.version===5&&header.opcode===kProcessDefunctOpcode){exitTime=decoder.decodeUInt64ToString();}
4811return{pageDirectoryBase,uniqueProcessKey,processId,parentId,sessionId,exitStatus,directoryTableBase,flags,userSID,imageFileName,commandLine,packageFullName,applicationId,exitTime};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');}
4812process.name=fields.imageFileName;return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');}
4813process.name=fields.imageFileName;return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDefunct(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(ProcessParser);return{ProcessParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadStartOpcode=1;const kThreadEndOpcode=2;const kThreadDCStartOpcode=3;const kThreadDCEndOpcode=4;const kThreadCSwitchOpcode=36;function ThreadParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kThreadStartOpcode,ThreadParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kThreadEndOpcode,ThreadParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kThreadDCStartOpcode,ThreadParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kThreadDCEndOpcode,ThreadParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kThreadCSwitchOpcode,ThreadParser.prototype.decodeCSwitch.bind(this));}
4814ThreadParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>3){throw new Error('Incompatible Thread event version.');}
4815const processId=decoder.decodeUInt32();const threadId=decoder.decodeUInt32();let stackBase;let stackLimit;let userStackBase;let userStackLimit;let affinity;let startAddr;let win32StartAddr;let tebBase;let subProcessTag;let basePriority;let pagePriority;let ioPriority;let threadFlags;let waitMode;if(header.version===1){if(header.opcode===kThreadStartOpcode||header.opcode===kThreadDCStartOpcode){stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);startAddr=decoder.decodeUInteger(header.is64);win32StartAddr=decoder.decodeUInteger(header.is64);waitMode=decoder.decodeInt8();decoder.skip(3);}}else{stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);if(header.version===2){startAddr=decoder.decodeUInteger(header.is64);}else{affinity=decoder.decodeUInteger(header.is64);}
4816win32StartAddr=decoder.decodeUInteger(header.is64);tebBase=decoder.decodeUInteger(header.is64);subProcessTag=decoder.decodeUInt32();if(header.version===3){basePriority=decoder.decodeUInt8();pagePriority=decoder.decodeUInt8();ioPriority=decoder.decodeUInt8();threadFlags=decoder.decodeUInt8();}}
4817return{processId,threadId,stackBase,stackLimit,userStackBase,userStackLimit,affinity,startAddr,win32StartAddr,tebBase,subProcessTag,waitMode,basePriority,pagePriority,ioPriority,threadFlags};},decodeCSwitchFields(header,decoder){if(header.version!==2){throw new Error('Incompatible Thread event version.');}
4818const newThreadId=decoder.decodeUInt32();const oldThreadId=decoder.decodeUInt32();const newThreadPriority=decoder.decodeInt8();const oldThreadPriority=decoder.decodeInt8();const previousCState=decoder.decodeUInt8();const spareByte=decoder.decodeInt8();const oldThreadWaitReason=decoder.decodeInt8();const oldThreadWaitMode=decoder.decodeInt8();const oldThreadState=decoder.decodeInt8();const oldThreadWaitIdealProcessor=decoder.decodeInt8();const newThreadWaitTime=decoder.decodeUInt32();const reserved=decoder.decodeUInt32();return{newThreadId,oldThreadId,newThreadPriority,oldThreadPriority,previousCState,spareByte,oldThreadWaitReason,oldThreadWaitMode,oldThreadState,oldThreadWaitIdealProcessor,newThreadWaitTime,reserved};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeCSwitch(header,decoder){const fields=this.decodeCSwitchFields(header,decoder);const cpu=this.importer.getOrCreateCpu(header.cpu);const newThread=this.importer.getThreadFromWindowsTid(fields.newThreadId);let newThreadName;if(newThread&&newThread.userFriendlyName){newThreadName=newThread.userFriendlyName;}else{const newProcessId=this.importer.getPidFromWindowsTid(fields.newThreadId);const newProcess=this.model.getProcess(newProcessId);let newProcessName;if(newProcess){newProcessName=newProcess.name;}else{newProcessName='Unknown process';}
4819newThreadName=newProcessName+' (tid '+fields.newThreadId+')';}
4820cpu.switchActiveThread(header.timestamp,{},fields.newThreadId,newThreadName,fields);return true;}};Parser.register(ThreadParser);return{ThreadParser,};});'use strict';tr.exportTo('tr.b',function(){function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return Math.max(a,b);}
4821function IntervalTree(beginPositionCb,endPositionCb){this.beginPositionCb_=beginPositionCb;this.endPositionCb_=endPositionCb;this.root_=undefined;this.size_=0;}
4822IntervalTree.prototype={insert(datum){const startPosition=this.beginPositionCb_(datum);const endPosition=this.endPositionCb_(datum);const node=new IntervalTreeNode(datum,startPosition,endPosition);this.size_++;this.root_=this.insertNode_(this.root_,node);this.root_.colour=Colour.BLACK;return datum;},insertNode_(root,node){if(root===undefined)return node;if(root.leftNode&&root.leftNode.isRed&&root.rightNode&&root.rightNode.isRed){this.flipNodeColour_(root);}
4823if(node.key<root.key){root.leftNode=this.insertNode_(root.leftNode,node);}else if(node.key===root.key){root.merge(node);}else{root.rightNode=this.insertNode_(root.rightNode,node);}
4824if(root.rightNode&&root.rightNode.isRed&&(root.leftNode===undefined||!root.leftNode.isRed)){root=this.rotateLeft_(root);}
4825if(root.leftNode&&root.leftNode.isRed&&root.leftNode.leftNode&&root.leftNode.leftNode.isRed){root=this.rotateRight_(root);}
4826return root;},rotateRight_(node){const sibling=node.leftNode;node.leftNode=sibling.rightNode;sibling.rightNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},rotateLeft_(node){const sibling=node.rightNode;node.rightNode=sibling.leftNode;sibling.leftNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},flipNodeColour_(node){node.colour=this.flipColour_(node.colour);node.leftNode.colour=this.flipColour_(node.leftNode.colour);node.rightNode.colour=this.flipColour_(node.rightNode.colour);},flipColour_(colour){return colour===Colour.RED?Colour.BLACK:Colour.RED;},updateHighValues(){this.updateHighValues_(this.root_);},updateHighValues_(node){if(node===undefined)return undefined;node.maxHighLeft=this.updateHighValues_(node.leftNode);node.maxHighRight=this.updateHighValues_(node.rightNode);return max(max(node.maxHighLeft,node.highValue),node.maxHighRight);},validateFindArguments_(queryLow,queryHigh){if(queryLow===undefined||queryHigh===undefined){throw new Error('queryLow and queryHigh must be defined');}
4827if((typeof queryLow!=='number')||(typeof queryHigh!=='number')){throw new Error('queryLow and queryHigh must be numbers');}},findIntersection(queryLow,queryHigh){this.validateFindArguments_(queryLow,queryHigh);if(this.root_===undefined)return[];const ret=[];this.root_.appendIntersectionsInto_(ret,queryLow,queryHigh);return ret;},get size(){return this.size_;},get root(){return this.root_;},dump_(){if(this.root_===undefined)return[];return this.root_.dump();}};const Colour={RED:'red',BLACK:'black'};function IntervalTreeNode(datum,lowValue,highValue){this.lowValue_=lowValue;this.data_=[{datum,high:highValue,low:lowValue}];this.colour_=Colour.RED;this.parentNode_=undefined;this.leftNode_=undefined;this.rightNode_=undefined;this.maxHighLeft_=undefined;this.maxHighRight_=undefined;}
4828IntervalTreeNode.prototype={appendIntersectionsInto_(ret,queryLow,queryHigh){if(this.lowValue_>=queryHigh){if(!this.leftNode_)return;return this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}
4829if(this.maxHighLeft_>queryLow){this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}
4830if(this.highValue>queryLow){for(let i=(this.data.length-1);i>=0;--i){if(this.data[i].high<queryLow)break;ret.push(this.data[i].datum);}}
4831if(this.rightNode_){this.rightNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}},get colour(){return this.colour_;},set colour(colour){this.colour_=colour;},get key(){return this.lowValue_;},get lowValue(){return this.lowValue_;},get highValue(){return this.data_[this.data_.length-1].high;},set leftNode(left){this.leftNode_=left;},get leftNode(){return this.leftNode_;},get hasLeftNode(){return this.leftNode_!==undefined;},set rightNode(right){this.rightNode_=right;},get rightNode(){return this.rightNode_;},get hasRightNode(){return this.rightNode_!==undefined;},set parentNode(parent){this.parentNode_=parent;},get parentNode(){return this.parentNode_;},get isRootNode(){return this.parentNode_===undefined;},set maxHighLeft(high){this.maxHighLeft_=high;},get maxHighLeft(){return this.maxHighLeft_;},set maxHighRight(high){this.maxHighRight_=high;},get maxHighRight(){return this.maxHighRight_;},get data(){return this.data_;},get isRed(){return this.colour_===Colour.RED;},merge(node){for(let i=0;i<node.data.length;i++){this.data_.push(node.data[i]);}
4832this.data_.sort(function(a,b){return a.high-b.high;});},dump(){const ret={};if(this.leftNode_){ret.left=this.leftNode_.dump();}
4833ret.data=this.data_.map(function(d){return[d.low,d.high];});if(this.rightNode_){ret.right=this.rightNode_.dump();}
4834return ret;}};return{IntervalTree,};});'use strict';tr.exportTo('tr.b.math',function(){const tmpVec2s=[];for(let i=0;i<8;i++){tmpVec2s[i]=vec2.create();}
4835const tmpVec2a=vec4.create();const tmpVec4a=vec4.create();const tmpVec4b=vec4.create();const tmpMat4=mat4.create();const tmpMat4b=mat4.create();const p00=vec2.createXY(0,0);const p10=vec2.createXY(1,0);const p01=vec2.createXY(0,1);const p11=vec2.createXY(1,1);const lerpingVecA=vec2.create();const lerpingVecB=vec2.create();function lerpVec2(out,a,b,amt){vec2.scale(lerpingVecA,a,amt);vec2.scale(lerpingVecB,b,1-amt);vec2.add(out,lerpingVecA,lerpingVecB);vec2.normalize(out,out);return out;}
4836function Quad(){this.p1=vec2.create();this.p2=vec2.create();this.p3=vec2.create();this.p4=vec2.create();}
4837Quad.fromXYWH=function(x,y,w,h){const q=new Quad();vec2.set(q.p1,x,y);vec2.set(q.p2,x+w,y);vec2.set(q.p3,x+w,y+h);vec2.set(q.p4,x,y+h);return q;};Quad.fromRect=function(r){return new Quad.fromXYWH(r.x,r.y,r.width,r.height);};Quad.from4Vecs=function(p1,p2,p3,p4){const q=new Quad();vec2.set(q.p1,p1[0],p1[1]);vec2.set(q.p2,p2[0],p2[1]);vec2.set(q.p3,p3[0],p3[1]);vec2.set(q.p4,p4[0],p4[1]);return q;};Quad.from8Array=function(arr){if(arr.length!==8){throw new Error('Array must be 8 long');}
4838const q=new Quad();q.p1[0]=arr[0];q.p1[1]=arr[1];q.p2[0]=arr[2];q.p2[1]=arr[3];q.p3[0]=arr[4];q.p3[1]=arr[5];q.p4[0]=arr[6];q.p4[1]=arr[7];return q;};Quad.prototype={pointInside(point){return pointInImplicitQuad(point,this.p1,this.p2,this.p3,this.p4);},boundingRect(){const x0=Math.min(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y0=Math.min(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);const x1=Math.max(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y1=Math.max(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);return new tr.b.math.Rect.fromXYWH(x0,y0,x1-x0,y1-y0);},clone(){const q=new Quad();vec2.copy(q.p1,this.p1);vec2.copy(q.p2,this.p2);vec2.copy(q.p3,this.p3);vec2.copy(q.p4,this.p4);return q;},scale(s){const q=new Quad();this.scaleFast(q,s);return q;},scaleFast(dstQuad,s){vec2.copy(dstQuad.p1,this.p1,s);vec2.copy(dstQuad.p2,this.p2,s);vec2.copy(dstQuad.p3,this.p3,s);vec2.copy(dstQuad.p3,this.p3,s);},isRectangle(){const bounds=this.boundingRect();return(bounds.x===this.p1[0]&&bounds.y===this.p1[1]&&bounds.width===this.p2[0]-this.p1[0]&&bounds.y===this.p2[1]&&bounds.width===this.p3[0]-this.p1[0]&&bounds.height===this.p3[1]-this.p2[1]&&bounds.x===this.p4[0]&&bounds.height===this.p4[1]-this.p2[1]);},projectUnitRect(rect){const q=new Quad();this.projectUnitRectFast(q,rect);return q;},projectUnitRectFast(dstQuad,rect){const v12=tmpVec2s[0];const v14=tmpVec2s[1];const v23=tmpVec2s[2];const v43=tmpVec2s[3];vec2.sub(v12,this.p2,this.p1);const l12=vec2.length(v12);vec2.scale(v12,v12,1/l12);vec2.sub(v14,this.p4,this.p1);const l14=vec2.length(v14);vec2.scale(v14,v14,1/l14);vec2.sub(v23,this.p3,this.p2);const l23=vec2.length(v23);vec2.scale(v23,v23,1/l23);vec2.sub(v43,this.p3,this.p4);const l43=vec2.length(v43);vec2.scale(v43,v43,1/l43);const b12=tmpVec2s[0];const b14=tmpVec2s[1];const b23=tmpVec2s[2];const b43=tmpVec2s[3];lerpVec2(b12,v12,v43,rect.y);lerpVec2(b43,v12,v43,1-rect.bottom);lerpVec2(b14,v14,v23,rect.x);lerpVec2(b23,v14,v23,1-rect.right);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*rect.x,b14,l14*rect.y);vec2.add(dstQuad.p1,this.p1,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*-(1.0-rect.right),b23,l23*rect.y);vec2.add(dstQuad.p2,this.p2,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*-(1.0-rect.right),b23,l23*-(1.0-rect.bottom));vec2.add(dstQuad.p3,this.p3,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*rect.left,b14,l14*-(1.0-rect.bottom));vec2.add(dstQuad.p4,this.p4,tmpVec2a);},toString(){return'Quad('+
4839vec2.toString(this.p1)+', '+
4840vec2.toString(this.p2)+', '+
4841vec2.toString(this.p3)+', '+
4842vec2.toString(this.p4)+')';}};function sign(p1,p2,p3){return(p1[0]-p3[0])*(p2[1]-p3[1])-
4843(p2[0]-p3[0])*(p1[1]-p3[1]);}
4844function pointInTriangle2(pt,p1,p2,p3){const b1=sign(pt,p1,p2)<0.0;const b2=sign(pt,p2,p3)<0.0;const b3=sign(pt,p3,p1)<0.0;return((b1===b2)&&(b2===b3));}
4845function pointInImplicitQuad(point,p1,p2,p3,p4){return pointInTriangle2(point,p1,p2,p3)||pointInTriangle2(point,p1,p3,p4);}
4846return{pointInTriangle2,pointInImplicitQuad,Quad,};});'use strict';tr.exportTo('tr.b',function(){function addSingletonGetter(ctor){ctor.getInstance=function(){return ctor.instance_||(ctor.instance_=new ctor());};}
4847function deepCopy(value){if(!(value instanceof Object)){if(value===undefined||value===null)return value;if(typeof value==='string')return value.substring();if(typeof value==='boolean')return value;if(typeof value==='number')return value;throw new Error('Unrecognized: '+typeof value);}
4848const object=value;if(object instanceof Array){const res=new Array(object.length);for(let i=0;i<object.length;i++){res[i]=deepCopy(object[i]);}
4849return res;}
4850if(object.__proto__!==Object.prototype){throw new Error('Can only clone simple types');}
4851const res={};for(const key in object){res[key]=deepCopy(object[key]);}
4852return res;}
4853function normalizeException(e){if(e===undefined||e===null){return{typeName:'UndefinedError',message:'Unknown: null or undefined exception',stack:'Unknown'};}
4854if(typeof(e)==='string'){return{typeName:'StringError',message:e,stack:[e]};}
4855let typeName;if(e.name){typeName=e.name;}else if(e.constructor){if(e.constructor.name){typeName=e.constructor.name;}else{typeName='AnonymousError';}}else{typeName='ErrorWithNoConstructor';}
4856const msg=e.message?e.message:'Unknown';return{typeName,message:msg,stack:e.stack?e.stack:[msg]};}
4857function stackTraceAsString(){return new Error().stack+'';}
4858function stackTrace(){let stack=stackTraceAsString();stack=stack.split('\n');return stack.slice(2);}
4859function getUsingPath(path,fromDict){const parts=path.split('.');let cur=fromDict;for(let part;parts.length&&(part=parts.shift());){if(!parts.length){return cur[part];}else if(part in cur){cur=cur[part];}else{return undefined;}}
4860return undefined;}
4861function formatDate(date){return date.toISOString().replace('T',' ').slice(0,19);}
4862function numberToJson(n){if(isNaN(n))return'NaN';if(n===Infinity)return'Infinity';if(n===-Infinity)return'-Infinity';return n;}
4863function numberFromJson(n){if(n==='NaN'||n===null)return NaN;if(n==='Infinity')return Infinity;if(n==='-Infinity')return-Infinity;return n;}
4864function runLengthEncoding(ary){const encodedArray=[];for(const element of ary){if(encodedArray.length===0||encodedArray[encodedArray.length-1].value!==element){encodedArray.push({value:element,count:1,});}else{encodedArray[encodedArray.length-1].count+=1;}}
4865return encodedArray;}
4866return{addSingletonGetter,deepCopy,normalizeException,stackTrace,stackTraceAsString,formatDate,numberToJson,numberFromJson,getUsingPath,runLengthEncoding,};});'use strict';tr.exportTo('tr.b',function(){const ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS=10;const REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS=100;const recordRAFStacks=false;let pendingPreAFs=[];let pendingRAFs=[];const pendingIdleCallbacks=[];let currentRAFDispatchList=undefined;let rafScheduled=false;let idleWorkScheduled=false;function scheduleRAF(){if(rafScheduled)return;rafScheduled=true;if(tr.isHeadless){Promise.resolve().then(function(){processRequests(false,0);},function(e){throw e;});}else{if(window.requestAnimationFrame){window.requestAnimationFrame(processRequests.bind(this,false));}else{const delta=Date.now()-window.performance.now();window.webkitRequestAnimationFrame(function(domTimeStamp){processRequests(false,domTimeStamp-delta);});}}}
4867function nativeRequestIdleCallbackSupported(){return!tr.isHeadless&&window.requestIdleCallback;}
4868function scheduleIdleWork(){if(idleWorkScheduled)return;if(!nativeRequestIdleCallbackSupported()){scheduleRAF();return;}
4869idleWorkScheduled=true;window.requestIdleCallback(function(deadline,didTimeout){processIdleWork(false,deadline);},{timeout:REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS});}
4870function onAnimationFrameError(e,opt_stack){console.log(e.stack);if(tr.isHeadless)throw e;if(opt_stack)console.log(opt_stack);if(e.message){console.error(e.message,e.stack);}else{console.error(e);}}
4871function runTask(task,frameBeginTime){try{task.callback.call(task.context,frameBeginTime);}catch(e){tr.b.onAnimationFrameError(e,task.stack);}}
4872function processRequests(forceAllTasksToRun,frameBeginTime){rafScheduled=false;const currentPreAFs=pendingPreAFs;currentRAFDispatchList=pendingRAFs;pendingPreAFs=[];pendingRAFs=[];const hasRAFTasks=currentPreAFs.length||currentRAFDispatchList.length;for(let i=0;i<currentPreAFs.length;i++){runTask(currentPreAFs[i],frameBeginTime);}
4873while(currentRAFDispatchList.length>0){runTask(currentRAFDispatchList.shift(),frameBeginTime);}
4874currentRAFDispatchList=undefined;if((!hasRAFTasks&&!nativeRequestIdleCallbackSupported())||forceAllTasksToRun){const rafCompletionDeadline=frameBeginTime+ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS;processIdleWork(forceAllTasksToRun,{timeRemaining(){return rafCompletionDeadline-window.performance.now();}});}
4875if(pendingIdleCallbacks.length>0)scheduleIdleWork();}
4876function processIdleWork(forceAllTasksToRun,deadline){idleWorkScheduled=false;while(pendingIdleCallbacks.length>0){runTask(pendingIdleCallbacks.shift());if(!forceAllTasksToRun&&(tr.isHeadless||deadline.timeRemaining()<=0)){break;}}
4877if(pendingIdleCallbacks.length>0)scheduleIdleWork();}
4878function getStack_(){if(!recordRAFStacks)return'';const stackLines=tr.b.stackTrace();stackLines.shift();return stackLines.join('\n');}
4879function requestPreAnimationFrame(callback,opt_this){pendingPreAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();}
4880function requestAnimationFrameInThisFrameIfPossible(callback,opt_this){if(!currentRAFDispatchList){requestAnimationFrame(callback,opt_this);return;}
4881currentRAFDispatchList.push({callback,context:opt_this||global,stack:getStack_()});return;}
4882function requestAnimationFrame(callback,opt_this){pendingRAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();}
4883function animationFrame(){return new Promise(resolve=>requestAnimationFrame(resolve));}
4884function requestIdleCallback(callback,opt_this){pendingIdleCallbacks.push({callback,context:opt_this||global,stack:getStack_()});scheduleIdleWork();}
4885function forcePendingRAFTasksToRun(frameBeginTime){if(!rafScheduled)return;processRequests(false,frameBeginTime);}
4886function forceAllPendingTasksToRunForTest(){if(!rafScheduled&&!idleWorkScheduled)return;processRequests(true,0);}
4887function timeout(ms){return new Promise(resolve=>window.setTimeout(resolve,ms));}
4888function idle(){return new Promise(resolve=>requestIdleCallback(resolve));}
4889return{animationFrame,forceAllPendingTasksToRunForTest,forcePendingRAFTasksToRun,idle,onAnimationFrameError,requestAnimationFrame,requestAnimationFrameInThisFrameIfPossible,requestIdleCallback,requestPreAnimationFrame,timeout,};});'use strict';tr.exportTo('tr.b',function(){class Mark{constructor(groupName,functionName){if(tr.isHeadless)return;this.groupName_=groupName;this.functionName_=functionName;const guid=tr.b.GUID.allocateSimple();this.measureName_=`${groupName} ${functionName}`;this.startMarkName_=`${this.measureName} ${guid} start`;this.endMarkName_=`${this.measureName} ${guid} end`;window.performance.mark(this.startMarkName_);}
4890get groupName(){return this.groupName_;}
4891get functionName(){return this.functionName_;}
4892get measureName(){return this.measureName_;}
4893get startMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.startMarkName_));}
4894get endMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.endMarkName_));}
4895get durationMs(){return this.endMark.startTime-this.startMark.startTime;}
4896end(){if(tr.isHeadless)return;window.performance.mark(this.endMarkName_);window.performance.measure(this.measureName_,this.startMarkName_,this.endMarkName_);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:this.groupName,eventAction:this.functionName,eventValue:this.durationMs,});}}
4897class Timing{static mark(groupName,functionName){return new Mark(groupName,functionName);}
4898static instant(groupName,functionName,opt_value){const valueString=opt_value===undefined?'':' '+opt_value;console.timeStamp(`${groupName} ${functionName}${valueString}`);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:groupName,eventAction:functionName,eventValue:opt_value,});}}
4899return{Timing,};});'use strict';tr.exportTo('tr.b',function(){const Timing=tr.b.Timing;function Task(runCb,thisArg){if(runCb!==undefined&&thisArg===undefined&&runCb.prototype!==undefined){throw new Error('Almost certainly you meant to pass a bound callback '+'or thisArg.');}
4900this.runCb_=runCb;this.thisArg_=thisArg;this.afterTask_=undefined;this.subTasks_=[];this.updatesUi_=false;}
4901Task.prototype={get name(){return this.runCb_.name;},set updatesUi(value){this.updatesUi_=value;},subTask(cb,thisArg){if(cb instanceof Task){this.subTasks_.push(cb);}else{this.subTasks_.push(new Task(cb,thisArg));}
4902return this.subTasks_[this.subTasks_.length-1];},run(){if(this.runCb_!==undefined)this.runCb_.call(this.thisArg_,this);const subTasks=this.subTasks_;this.subTasks_=undefined;if(!subTasks.length)return this.afterTask_;for(let i=1;i<subTasks.length;i++){subTasks[i-1].afterTask_=subTasks[i];}
4903subTasks[subTasks.length-1].afterTask_=this.afterTask_;return subTasks[0];},after(cb,thisArg){if(this.afterTask_){throw new Error('Has an after task already');}
4904if(cb instanceof Task){this.afterTask_=cb;}else{this.afterTask_=new Task(cb,thisArg);}
4905return this.afterTask_;},enqueue(cb,thisArg){if(!this.afterTask_)return this.after(cb,thisArg);return this.afterTask_.enqueue(cb,thisArg);}};Task.RunSynchronously=function(task){let curTask=task;while(curTask){curTask=curTask.run();}};Task.RunWhenIdle=function(task){return new Promise(function(resolve,reject){let curTask=task;function runAnother(){try{curTask=curTask.run();}catch(e){reject(e);return;}
4906if(curTask){if(curTask.updatesUi_){tr.b.requestAnimationFrameInThisFrameIfPossible(runAnother);}else{tr.b.requestIdleCallback(runAnother);}
4907return;}
4908resolve();}
4909tr.b.requestIdleCallback(runAnother);});};return{Task,};});'use strict';tr.exportTo('tr.c',function(){function makeCaseInsensitiveRegex(pattern){pattern=pattern.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');return new RegExp(pattern,'i');}
4910function Filter(){}
4911Filter.prototype={__proto__:Object.prototype,matchCounter(counter){return true;},matchCpu(cpu){return true;},matchProcess(process){return true;},matchSlice(slice){return true;},matchThread(thread){return true;}};function TitleOrCategoryFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);if(!text.length){throw new Error('Filter text is empty.');}}
4912TitleOrCategoryFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){if(slice.title===undefined&&slice.category===undefined){return false;}
4913return this.regex_.test(slice.title)||(!!slice.category&&this.regex_.test(slice.category));}};function ExactTitleFilter(text){Filter.call(this);this.text_=text;if(!text.length){throw new Error('Filter text is empty.');}}
4914ExactTitleFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){return slice.title===this.text_;}};function FullTextFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);this.titleOrCategoryFilter_=new TitleOrCategoryFilter(text);}
4915FullTextFilter.prototype={__proto__:Filter.prototype,matchObject_(obj){for(const key in obj){if(!obj.hasOwnProperty(key))continue;if(this.regex_.test(key))return true;if(this.regex_.test(obj[key]))return true;}
4916return false;},matchSlice(slice){if(this.titleOrCategoryFilter_.matchSlice(slice))return true;return this.matchObject_(slice.args);}};return{Filter,TitleOrCategoryFilter,ExactTitleFilter,FullTextFilter,};});'use strict';tr.exportTo('tr.model',function(){const ClockDomainId={BATTOR:'BATTOR',UNKNOWN_CHROME_LEGACY:'UNKNOWN_CHROME_LEGACY',LINUX_CLOCK_MONOTONIC:'LINUX_CLOCK_MONOTONIC',LINUX_FTRACE_GLOBAL:'LINUX_FTRACE_GLOBAL',MAC_MACH_ABSOLUTE_TIME:'MAC_MACH_ABSOLUTE_TIME',WIN_ROLLOVER_PROTECTED_TIME_GET_TIME:'WIN_ROLLOVER_PROTECTED_TIME_GET_TIME',WIN_QPC:'WIN_QPC',SYSTRACE:'SYSTRACE',TELEMETRY:'TELEMETRY'};const POSSIBLE_CHROME_CLOCK_DOMAINS=new Set([ClockDomainId.UNKNOWN_CHROME_LEGACY,ClockDomainId.LINUX_CLOCK_MONOTONIC,ClockDomainId.MAC_MACH_ABSOLUTE_TIME,ClockDomainId.WIN_ROLLOVER_PROTECTED_TIME_GET_TIME,ClockDomainId.WIN_QPC]);const BATTOR_FAST_SYNC_THRESHOLD_MS=3;function ClockSyncManager(){this.domainsSeen_=new Set();this.markersBySyncId_=new Map();this.transformerMapByDomainId_={};}
4917ClockSyncManager.prototype={addClockSyncMarker(domainId,syncId,startTs,opt_endTs){this.onDomainSeen_(domainId);if(Object.values(ClockDomainId).indexOf(domainId)<0){throw new Error('"'+domainId+'" is not in the list of known '+'clock domain IDs.');}
4918if(this.modelDomainId_){throw new Error('Cannot add new clock sync markers after getting '+'a model time transformer.');}
4919const marker=new ClockSyncMarker(domainId,startTs,opt_endTs);if(!this.markersBySyncId_.has(syncId)){this.markersBySyncId_.set(syncId,[marker]);return;}
4920const markers=this.markersBySyncId_.get(syncId);if(markers.length===2){throw new Error('Clock sync with ID "'+syncId+'" is already '+'complete - cannot add a third clock sync marker to it.');}
4921if(markers[0].domainId===domainId){throw new Error('A clock domain cannot sync with itself.');}
4922markers.push(marker);this.onSyncCompleted_(markers[0],marker);},get markersBySyncId(){return this.markersBySyncId_;},get domainsSeen(){return this.domainsSeen_;},getModelTimeTransformer(domainId){this.onDomainSeen_(domainId);if(!this.modelDomainId_){this.selectModelDomainId_();}
4923return this.getTimeTransformerRaw_(domainId,this.modelDomainId_).fn;},getTimeTransformerError(fromDomainId,toDomainId){this.onDomainSeen_(fromDomainId);this.onDomainSeen_(toDomainId);return this.getTimeTransformerRaw_(fromDomainId,toDomainId).error;},getTimeTransformerRaw_(fromDomainId,toDomainId){const transformer=this.getTransformerBetween_(fromDomainId,toDomainId);if(!transformer){throw new Error('No clock sync markers exist pairing clock domain "'+
4924fromDomainId+'" '+'with target clock domain "'+
4925toDomainId+'".');}
4926return transformer;},getTransformerBetween_(fromDomainId,toDomainId){const visitedDomainIds=new Set();const queue=[{domainId:fromDomainId,transformer:Transformer.IDENTITY}];while(queue.length>0){queue.sort((domain1,domain2)=>domain1.transformer.error-domain2.transformer.error);const current=queue.shift();if(current.domainId===toDomainId){return current.transformer;}
4927if(visitedDomainIds.has(current.domainId)){continue;}
4928visitedDomainIds.add(current.domainId);const outgoingTransformers=this.transformerMapByDomainId_[current.domainId];if(!outgoingTransformers)continue;for(const outgoingDomainId in outgoingTransformers){const toNextDomainTransformer=outgoingTransformers[outgoingDomainId];const toCurrentDomainTransformer=current.transformer;queue.push({domainId:outgoingDomainId,transformer:Transformer.compose(toNextDomainTransformer,toCurrentDomainTransformer)});}}
4929return undefined;},selectModelDomainId_(){this.ensureAllDomainsAreConnected_();for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(this.domainsSeen_.has(chromeDomainId)){this.modelDomainId_=chromeDomainId;return;}}
4930const domainsSeenArray=Array.from(this.domainsSeen_);domainsSeenArray.sort();this.modelDomainId_=domainsSeenArray[0];},ensureAllDomainsAreConnected_(){let firstDomainId=undefined;for(const domainId of this.domainsSeen_){if(!firstDomainId){firstDomainId=domainId;continue;}
4931if(!this.getTransformerBetween_(firstDomainId,domainId)){throw new Error('Unable to select a primary clock domain because no '+'path can be found from "'+firstDomainId+'" to "'+domainId+'".');}}
4932return true;},onDomainSeen_(domainId){if(domainId===ClockDomainId.UNKNOWN_CHROME_LEGACY&&!this.domainsSeen_.has(ClockDomainId.UNKNOWN_CHROME_LEGACY)){for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(chromeDomainId===ClockDomainId.UNKNOWN_CHROME_LEGACY){continue;}
4933this.collapseDomains_(ClockDomainId.UNKNOWN_CHROME_LEGACY,chromeDomainId);}}
4934this.domainsSeen_.add(domainId);},onSyncCompleted_(marker1,marker2){const forwardTransformer=Transformer.fromMarkers(marker1,marker2);const backwardTransformer=Transformer.fromMarkers(marker2,marker1);const existingTransformer=this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId];if(!existingTransformer||forwardTransformer.error<existingTransformer.error){this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId]=forwardTransformer;this.getOrCreateTransformerMap_(marker2.domainId)[marker1.domainId]=backwardTransformer;}},collapseDomains_(domain1Id,domain2Id){this.getOrCreateTransformerMap_(domain1Id)[domain2Id]=this.getOrCreateTransformerMap_(domain2Id)[domain1Id]=Transformer.IDENTITY;},getOrCreateTransformerMap_(domainId){if(!this.transformerMapByDomainId_[domainId]){this.transformerMapByDomainId_[domainId]={};}
4935return this.transformerMapByDomainId_[domainId];},computeDotGraph(){let dotString='graph {\n';const domainsSeen=[...this.domainsSeen_].sort();for(const domainId of domainsSeen){dotString+=`  ${domainId}[shape=box]\n`;}
4936const markersBySyncIdEntries=[...this.markersBySyncId_.entries()].sort(([syncId1,markers1],[syncId2,markers2])=>syncId1.localeCompare(syncId2));for(const[syncId,markers]of markersBySyncIdEntries){const sortedMarkers=markers.sort((a,b)=>a.domainId.localeCompare(b.domainId));for(const m of markers){dotString+=`  "${syncId}" -- ${m.domainId} `;dotString+=`[label="[${m.startTs}, ${m.endTs}]"]\n`;}}
4937dotString+='}';return dotString;}};function ClockSyncMarker(domainId,startTs,opt_endTs){this.domainId=domainId;this.startTs=startTs;this.endTs=opt_endTs===undefined?startTs:opt_endTs;}
4938ClockSyncMarker.prototype={get duration(){return this.endTs-this.startTs;},get ts(){return this.startTs+this.duration/2;}};function Transformer(fn,error){this.fn=fn;this.error=error;}
4939Transformer.IDENTITY=new Transformer(tr.b.identity,0);Transformer.compose=function(aToB,bToC){return new Transformer((ts)=>bToC.fn(aToB.fn(ts)),aToB.error+bToC.error);};Transformer.fromMarkers=function(fromMarker,toMarker){let fromTs=fromMarker.ts;let toTs=toMarker.ts;if(fromMarker.domainId===ClockDomainId.BATTOR&&toMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){toTs=toMarker.startTs;}else if(toMarker.domainId===ClockDomainId.BATTOR&&fromMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){fromTs=fromMarker.startTs;}
4940const tsShift=toTs-fromTs;return new Transformer((ts)=>ts+tsShift,fromMarker.duration+toMarker.duration);};return{ClockDomainId,ClockSyncManager,};});'use strict';tr.exportTo('tr.model',function(){function CounterSample(series,timestamp,value){tr.model.Event.call(this);this.series_=series;this.timestamp_=timestamp;this.value_=value;}
4941CounterSample.groupByTimestamp=function(samples){const samplesByTimestamp=tr.b.groupIntoMap(samples,s=>s.timestamp);const timestamps=Array.from(samplesByTimestamp.keys());timestamps.sort();const groups=[];for(const ts of timestamps){const group=samplesByTimestamp.get(ts);group.sort((x,y)=>x.series.seriesIndex-y.series.seriesIndex);groups.push(group);}
4942return groups;};CounterSample.prototype={__proto__:tr.model.Event.prototype,get series(){return this.series_;},get timestamp(){return this.timestamp_;},get value(){return this.value_;},set timestamp(timestamp){this.timestamp_=timestamp;},addBoundsToRange(range){range.addValue(this.timestamp);},getSampleIndex(){return tr.b.math.findLowIndexInSortedArray(this.series.timestamps,function(x){return x;},this.timestamp_);},get userFriendlyName(){return'Counter sample from '+this.series_.title+' at '+
4943tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(CounterSample,{name:'counterSample',pluralName:'counterSamples'});return{CounterSample,};});'use strict';tr.exportTo('tr.model',function(){const CounterSample=tr.model.CounterSample;function CounterSeries(name,color){tr.model.EventContainer.call(this);this.name_=name;this.color_=color;this.timestamps_=[];this.samples_=[];this.counter=undefined;this.seriesIndex=undefined;}
4944CounterSeries.prototype={__proto__:tr.model.EventContainer.prototype,get length(){return this.timestamps_.length;},get name(){return this.name_;},get color(){return this.color_;},get samples(){return this.samples_;},get timestamps(){return this.timestamps_;},getSample(idx){return this.samples_[idx];},getTimestamp(idx){return this.timestamps_[idx];},addCounterSample(ts,val){const sample=new CounterSample(this,ts,val);this.addSample(sample);return sample;},addSample(sample){this.timestamps_.push(sample.timestamp);this.samples_.push(sample);},getStatistics(sampleIndices){let sum=0;let min=Number.MAX_VALUE;let max=-Number.MAX_VALUE;for(let i=0;i<sampleIndices.length;++i){const sample=this.getSample(sampleIndices[i]).value;sum+=sample;min=Math.min(sample,min);max=Math.max(sample,max);}
4945return{min,max,avg:(sum/sampleIndices.length),start:this.getSample(sampleIndices[0]).value,end:this.getSample(sampleIndices.length-1).value};},shiftTimestampsForward(amount){for(let i=0;i<this.timestamps_.length;++i){this.timestamps_[i]+=amount;this.samples_[i].timestamp=this.timestamps_[i];}},*childEvents(){yield*this.samples_;},*childEventContainers(){}};return{CounterSeries,};});'use strict';tr.exportTo('tr.model',function(){function Counter(parent,id,category,name){tr.model.EventContainer.call(this);this.parent_=parent;this.id_=id;this.category_=category||'';this.name_=name;this.series_=[];this.totals=[];}
4946Counter.prototype={__proto__:tr.model.EventContainer.prototype,get parent(){return this.parent_;},get id(){return this.id_;},get category(){return this.category_;},get name(){return this.name_;},*childEvents(){},*childEventContainers(){yield*this.series;},set timestamps(arg){throw new Error('Bad counter API. No cookie.');},set seriesNames(arg){throw new Error('Bad counter API. No cookie.');},set seriesColors(arg){throw new Error('Bad counter API. No cookie.');},set samples(arg){throw new Error('Bad counter API. No cookie.');},addSeries(series){series.counter=this;series.seriesIndex=this.series_.length;this.series_.push(series);return series;},getSeries(idx){return this.series_[idx];},get series(){return this.series_;},get numSeries(){return this.series_.length;},get numSamples(){if(this.series_.length===0)return 0;return this.series_[0].length;},get timestamps(){if(this.series_.length===0)return[];return this.series_[0].timestamps;},getSampleStatistics(sampleIndices){sampleIndices.sort();const ret=[];this.series_.forEach(function(series){ret.push(series.getStatistics(sampleIndices));});return ret;},shiftTimestampsForward(amount){for(let i=0;i<this.series_.length;++i){this.series_[i].shiftTimestampsForward(amount);}},updateBounds(){this.totals=[];this.maxTotal=0;this.bounds.reset();if(this.series_.length===0)return;const firstSeries=this.series_[0];const lastSeries=this.series_[this.series_.length-1];this.bounds.addValue(firstSeries.getTimestamp(0));this.bounds.addValue(lastSeries.getTimestamp(lastSeries.length-1));const numSeries=this.numSeries;this.maxTotal=-Infinity;for(let i=0;i<firstSeries.length;++i){let total=0;this.series_.forEach(function(series){total+=series.getSample(i).value;this.totals.push(total);}.bind(this));this.maxTotal=Math.max(total,this.maxTotal);}}};Counter.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp!==0)return tmp;tmp=x.name.localeCompare(y.name);if(tmp===0)return x.tid-y.tid;return tmp;};return{Counter,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function CpuSlice(cat,title,colorId,start,args,opt_duration){Slice.apply(this,arguments);this.threadThatWasRunning=undefined;this.cpu=undefined;}
4947CpuSlice.prototype={__proto__:Slice.prototype,get analysisTypeName(){return'tr.ui.analysis.CpuSlice';},getAssociatedTimeslice(){if(!this.threadThatWasRunning){return undefined;}
4948const timeSlices=this.threadThatWasRunning.timeSlices;for(let i=0;i<timeSlices.length;i++){const timeSlice=timeSlices[i];if(timeSlice.start!==this.start){continue;}
4949if(timeSlice.duration!==this.duration){continue;}
4950return timeSlice;}
4951return undefined;}};tr.model.EventRegistry.register(CpuSlice,{name:'cpuSlice',pluralName:'cpuSlices'});return{CpuSlice,};});'use strict';tr.exportTo('tr.model',function(){function TimeToObjectInstanceMap(createObjectInstanceFunction,parent,scopedId){this.createObjectInstanceFunction_=createObjectInstanceFunction;this.parent=parent;this.scopedId=scopedId;this.instances=[];}
4952TimeToObjectInstanceMap.prototype={idWasCreated(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));this.instances[0].creationTsWasExplicit=true;return this.instances[0];}
4953let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.deletionTs){throw new Error('Mutation of the TimeToObjectInstanceMap must be '+'done in ascending timestamp order.');}
4954lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);lastInstance.creationTsWasExplicit=true;this.instances.push(lastInstance);return lastInstance;},addSnapshot(category,name,ts,args,opt_baseTypeName){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName));}
4955const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);let instance;if(i<0){instance=this.instances[0];if(ts>instance.deletionTs||instance.creationTsWasExplicit){throw new Error('At the provided timestamp, no instance was still alive');}
4956if(instance.snapshots.length!==0){throw new Error('Cannot shift creationTs forward, '+'snapshots have been added. First snap was at ts='+
4957instance.snapshots[0].ts+' and creationTs was '+
4958instance.creationTs);}
4959instance.creationTs=ts;}else if(i>=this.instances.length){instance=this.instances[this.instances.length-1];if(ts>=instance.deletionTs){instance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName);this.instances.push(instance);}else{let lastValidIndex;for(let i=this.instances.length-1;i>=0;i--){const tmp=this.instances[i];if(ts>=tmp.deletionTs)break;if(tmp.creationTsWasExplicit===false&&tmp.snapshots.length===0){lastValidIndex=i;}}
4960if(lastValidIndex===undefined){throw new Error('Cannot add snapshot. No instance was alive that was mutable.');}
4961instance=this.instances[lastValidIndex];instance.creationTs=ts;}}else{instance=this.instances[i];}
4962return instance.addSnapshot(ts,args,name,opt_baseTypeName);},get lastInstance(){if(this.instances.length===0)return undefined;return this.instances[this.instances.length-1];},idWasDeleted(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));}
4963let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.creationTs){throw new Error('Cannot delete an id before it was created');}
4964if(lastInstance.deletionTs===Number.MAX_VALUE){lastInstance.wasDeleted(ts);return lastInstance;}
4965if(ts<lastInstance.deletionTs){throw new Error('id was already deleted earlier.');}
4966lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);this.instances.push(lastInstance);lastInstance.wasDeleted(ts);return lastInstance;},getInstanceAt(ts){const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);if(i<0){if(this.instances[0].creationTsWasExplicit){return undefined;}
4967return this.instances[0];}else if(i>=this.instances.length){return undefined;}
4968return this.instances[i];}};return{TimeToObjectInstanceMap,};});'use strict';tr.exportTo('tr.model',function(){const ObjectInstance=tr.model.ObjectInstance;const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectCollection(parent){tr.model.EventContainer.call(this);this.parent=parent;this.instanceMapsByScopedId_={};this.instancesByTypeName_={};this.createObjectInstance_=this.createObjectInstance_.bind(this);}
4969ObjectCollection.prototype={__proto__:tr.model.EventContainer.prototype,*childEvents(){for(const instance of this.getAllObjectInstances()){yield instance;yield*instance.snapshots;}},createObjectInstance_(parent,scopedId,category,name,creationTs,opt_baseTypeName){const constructor=tr.model.ObjectInstance.subTypes.getConstructor(category,name);const instance=new constructor(parent,scopedId,category,name,creationTs,opt_baseTypeName);const typeName=instance.typeName;let instancesOfTypeName=this.instancesByTypeName_[typeName];if(!instancesOfTypeName){instancesOfTypeName=[];this.instancesByTypeName_[typeName]=instancesOfTypeName;}
4970instancesOfTypeName.push(instance);return instance;},getOrCreateInstanceMap_(scopedId){let dict;if(scopedId.scope in this.instanceMapsByScopedId_){dict=this.instanceMapsByScopedId_[scopedId.scope];}else{dict={};this.instanceMapsByScopedId_[scopedId.scope]=dict;}
4971let instanceMap=dict[scopedId.id];if(instanceMap)return instanceMap;instanceMap=new tr.model.TimeToObjectInstanceMap(this.createObjectInstance_,this.parent,scopedId);dict[scopedId.id]=instanceMap;return instanceMap;},idWasCreated(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);return instanceMap.idWasCreated(category,name,ts);},addSnapshot(scopedId,category,name,ts,args,opt_baseTypeName){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const snapshot=instanceMap.addSnapshot(category,name,ts,args,opt_baseTypeName);if(snapshot.objectInstance.category!==category){const msg='Added snapshot name='+name+' with cat='+category+' impossible. It instance was created/snapshotted with cat='+
4972snapshot.objectInstance.category+' name='+
4973snapshot.objectInstance.name;throw new Error(msg);}
4974if(opt_baseTypeName&&snapshot.objectInstance.baseTypeName!==opt_baseTypeName){throw new Error('Could not add snapshot with baseTypeName='+
4975opt_baseTypeName+'. It '+'was previously created with name='+
4976snapshot.objectInstance.baseTypeName);}
4977if(snapshot.objectInstance.name!==name){throw new Error('Could not add snapshot with name='+name+'. It '+'was previously created with name='+
4978snapshot.objectInstance.name);}
4979return snapshot;},idWasDeleted(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const deletedInstance=instanceMap.idWasDeleted(category,name,ts);if(!deletedInstance)return;if(deletedInstance.category!==category){const msg='Deleting object '+deletedInstance.name+' with a different category '+'than when it was created. It previous had cat='+
4980deletedInstance.category+' but the delete command '+'had cat='+category;throw new Error(msg);}
4981if(deletedInstance.baseTypeName!==name){throw new Error('Deletion requested for name='+
4982name+' could not proceed: '+'An existing object with baseTypeName='+
4983deletedInstance.baseTypeName+' existed.');}},autoDeleteObjects(maxTimestamp){for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){const lastInstance=i2imap.lastInstance;if(lastInstance.deletionTs!==Number.MAX_VALUE)continue;i2imap.idWasDeleted(lastInstance.category,lastInstance.name,maxTimestamp);lastInstance.deletionTsWasExplicit=false;}}},getObjectInstanceAt(scopedId,ts){let instanceMap;if(scopedId.scope in this.instanceMapsByScopedId_){instanceMap=this.instanceMapsByScopedId_[scopedId.scope][scopedId.id];}
4984if(!instanceMap)return undefined;return instanceMap.getInstanceAt(ts);},getSnapshotAt(scopedId,ts){const instance=this.getObjectInstanceAt(scopedId,ts);if(!instance)return undefined;return instance.getSnapshotAt(ts);},iterObjectInstances(iter,opt_this){opt_this=opt_this||this;for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){i2imap.instances.forEach(iter,opt_this);}}},getAllObjectInstances(){const instances=[];this.iterObjectInstances(function(i){instances.push(i);});return instances;},getAllInstancesNamed(name){return this.instancesByTypeName_[name];},getAllInstancesByTypeName(){return this.instancesByTypeName_;},preInitializeAllObjects(){this.iterObjectInstances(function(instance){instance.preInitialize();});},initializeAllObjects(){this.iterObjectInstances(function(instance){instance.initialize();});},initializeInstances(){this.iterObjectInstances(function(instance){instance.initialize();});},updateBounds(){this.bounds.reset();this.iterObjectInstances(function(instance){instance.updateBounds();this.bounds.addRange(instance.bounds);},this);},shiftTimestampsForward(amount){this.iterObjectInstances(function(instance){instance.shiftTimestampsForward(amount);});},addCategoriesToDict(categoriesDict){this.iterObjectInstances(function(instance){categoriesDict[instance.category]=true;});}};return{ObjectCollection,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSliceGroup(parentContainer,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;this.slices=[];this.name_=opt_name;this.viewSubGroups_=undefined;}
4985AsyncSliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.parent.model;},get stableId(){return this.parentContainer_.stableId+'.AsyncSliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name_;},push(slice){slice.parentContainer=this.parentContainer;this.slices.push(slice);return slice;},get length(){return this.slices.length;},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);const shiftSubSlices=function(subSlices){if(subSlices===undefined||subSlices.length===0)return;for(let sJ=0;sJ<subSlices.length;sJ++){subSlices[sJ].start+=amount;shiftSubSlices(subSlices[sJ].subSlices);}};shiftSubSlices(slice.subSlices);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},get viewSubGroups(){if(this.viewSubGroups_===undefined){let prefix='';if(this.name!==undefined){prefix=this.name+'.';}else{prefix='';}
4986const subGroupsByTitle={};for(let i=0;i<this.slices.length;++i){const slice=this.slices[i];const subGroupTitle=slice.viewSubGroupTitle;if(!subGroupsByTitle[subGroupTitle]){subGroupsByTitle[subGroupTitle]=new AsyncSliceGroup(this.parentContainer_,prefix+subGroupTitle);}
4987subGroupsByTitle[subGroupTitle].push(slice);}
4988this.viewSubGroups_=Object.values(subGroupsByTitle);this.viewSubGroups_.sort(function(a,b){return a.slices[0].compareTo(b.slices[0]);});}
4989return this.viewSubGroups_;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const slice of this.slices){if(slice.isTopLevel){yield*slice.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}}},*childEvents(){for(const slice of this.slices){yield slice;if(slice.subSlices){yield*slice.subSlices;}}},*childEventContainers(){}};return{AsyncSliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function ThreadSlice(cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){Slice.call(this,cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId);this.subSlices=[];}
4990ThreadSlice.prototype={__proto__:Slice.prototype,get overlappingSamples(){const samples=new tr.model.EventSet();if(!this.parentContainer||!this.parentContainer.samples){return samples;}
4991this.parentContainer.samples.forEach(function(sample){if(this.start<=sample.start&&sample.start<=this.end){samples.push(sample);}},this);return samples;}};tr.model.EventRegistry.register(ThreadSlice,{name:'slice',pluralName:'slices'});return{ThreadSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const ThreadSlice=tr.model.ThreadSlice;function getSliceLo(s){return s.start;}
4992function getSliceHi(s){return s.end;}
4993function SliceGroup(parentContainer,opt_sliceConstructor,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;const sliceConstructor=opt_sliceConstructor||ThreadSlice;this.sliceConstructor=sliceConstructor;this.sliceConstructorSubTypes=this.sliceConstructor.subTypes;if(!this.sliceConstructorSubTypes){throw new Error('opt_sliceConstructor must have a subtype registry.');}
4994this.openPartialSlices_=[];this.slices=[];this.topLevelSlices=[];this.haveTopLevelSlicesBeenBuilt=false;this.name_=opt_name;if(this.model===undefined){throw new Error('SliceGroup must have model defined.');}}
4995SliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.model;},get stableId(){return this.parentContainer_.stableId+'.SliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},get length(){return this.slices.length;},pushSlice(slice){this.haveTopLevelSlicesBeenBuilt=false;slice.parentContainer=this.parentContainer_;this.slices.push(slice);return slice;},pushSlices(slices){this.haveTopLevelSlicesBeenBuilt=false;slices.forEach(function(slice){slice.parentContainer=this.parentContainer_;this.slices.push(slice);},this);},beginSlice(category,title,ts,opt_args,opt_tts,opt_argsStripped,opt_colorId){if(this.openPartialSlices_.length){const prevSlice=this.openPartialSlices_[this.openPartialSlices_.length-1];if(ts<prevSlice.start){throw new Error('Slices must be added in increasing timestamp order');}}
4996const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},null,opt_tts,undefined,opt_argsStripped);this.openPartialSlices_.push(slice);slice.didNotFinish=true;this.pushSlice(slice);return slice;},isTimestampValidForBeginOrEnd(ts){if(!this.openPartialSlices_.length)return true;const top=this.openPartialSlices_[this.openPartialSlices_.length-1];return ts>=top.start;},get openSliceCount(){return this.openPartialSlices_.length;},get mostRecentlyOpenedPartialSlice(){if(!this.openPartialSlices_.length)return undefined;return this.openPartialSlices_[this.openPartialSlices_.length-1];},endSlice(ts,opt_tts,opt_colorId){if(!this.openSliceCount){throw new Error('endSlice called without an open slice');}
4997const slice=this.openPartialSlices_[this.openSliceCount-1];this.openPartialSlices_.splice(this.openSliceCount-1,1);if(ts<slice.start){throw new Error('Slice '+slice.title+' end time is before its start.');}
4998slice.duration=ts-slice.start;slice.didNotFinish=false;slice.colorId=opt_colorId||slice.colorId;if(opt_tts&&slice.cpuStart!==undefined){slice.cpuDuration=opt_tts-slice.cpuStart;}
4999return slice;},pushCompleteSlice(category,title,ts,duration,tts,cpuDuration,opt_args,opt_argsStripped,opt_colorId,opt_bindId){const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},duration,tts,cpuDuration,opt_argsStripped,opt_bindId);if(duration===undefined){slice.didNotFinish=true;}
5000this.pushSlice(slice);return slice;},autoCloseOpenSlices(){this.updateBounds();const maxTimestamp=this.bounds.max;for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];if(slice.didNotFinish){slice.duration=maxTimestamp-slice.start;}}
5001this.openPartialSlices_=[];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},copySlice(slice){const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(slice.category,slice.title);const newSlice=new sliceType(slice.category,slice.title,slice.colorId,slice.start,slice.args,slice.duration,slice.cpuStart,slice.cpuDuration);newSlice.didNotFinish=slice.didNotFinish;return newSlice;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');}
5002for(const s of this.topLevelSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},*childEvents(){yield*this.slices;},*childEventContainers(){},getSlicesOfName(title){const slices=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].title===title){slices.push(this.slices[i]);}}
5003return slices;},iterSlicesInTimeRange(callback,start,end){const ret=[];tr.b.math.iterateOverIntersectingIntervals(this.topLevelSlices,function(s){return s.start;},function(s){return s.duration;},start,end,function(topLevelSlice){callback(topLevelSlice);for(const slice of topLevelSlice.enumerateAllDescendents()){callback(slice);}});return ret;},findFirstSlice(){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');}
5004if(0===this.slices.length)return undefined;return this.slices[0];},findSliceAtTs(ts){if(!this.haveTopLevelSlicesBeenBuilt)throw new Error('Nope');let i=tr.b.math.findIndexInSortedClosedIntervals(this.topLevelSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===this.topLevelSlices.length){return undefined;}
5005let curSlice=this.topLevelSlices[i];while(true){i=tr.b.math.findIndexInSortedClosedIntervals(curSlice.subSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===curSlice.subSlices.length){return curSlice;}
5006curSlice=curSlice.subSlices[i];}},findNextSliceAfter(ts,refGuid){let i=tr.b.math.findLowIndexInSortedArray(this.slices,getSliceLo,ts);if(i===this.slices.length){return undefined;}
5007for(;i<this.slices.length;i++){const slice=this.slices[i];if(slice.start>ts)return slice;if(slice.guid<=refGuid)continue;return slice;}
5008return undefined;},hasCpuDuration_(){if(this.slices.some(function(slice){return slice.cpuDuration!==undefined;}))return true;return false;},createSubSlices(){this.haveTopLevelSlicesBeenBuilt=true;this.createSubSlicesImpl_();if(!this.hasCpuDuration_()&&this.parentContainer.timeSlices){this.addCpuTimeToSubslices_(this.parentContainer.timeSlices);}
5009this.slices.forEach(function(slice){let selfTime=slice.duration;for(let i=0;i<slice.subSlices.length;i++){selfTime-=slice.subSlices[i].duration;}
5010slice.selfTime=selfTime;if(slice.cpuDuration===undefined)return;let cpuSelfTime=slice.cpuDuration;for(let i=0;i<slice.subSlices.length;i++){if(slice.subSlices[i].cpuDuration!==undefined){cpuSelfTime-=slice.subSlices[i].cpuDuration;}}
5011slice.cpuSelfTime=cpuSelfTime;});},createSubSlicesImpl_(){const precisionUnit=this.model.intrinsicTimeUnit;function addSliceIfBounds(parent,child){if(parent.bounds(child,precisionUnit)){child.parentSlice=parent;if(parent.subSlices===undefined){parent.subSlices=[];}
5012parent.subSlices.push(child);return true;}
5013return false;}
5014if(!this.slices.length)return;const ops=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].subSlices){this.slices[i].subSlices.splice(0,this.slices[i].subSlices.length);}
5015ops.push(i);}
5016const originalSlices=this.slices;ops.sort(function(ix,iy){const x=originalSlices[ix];const y=originalSlices[iy];if(x.start!==y.start){return x.start-y.start;}
5017return ix-iy;});const slices=new Array(this.slices.length);for(let i=0;i<ops.length;i++){slices[i]=originalSlices[ops[i]];}
5018let rootSlice=slices[0];this.topLevelSlices=[];this.topLevelSlices.push(rootSlice);rootSlice.isTopLevel=true;for(let i=1;i<slices.length;i++){const slice=slices[i];while(rootSlice!==undefined&&(!addSliceIfBounds(rootSlice,slice))){rootSlice=rootSlice.parentSlice;}
5019if(rootSlice===undefined){this.topLevelSlices.push(slice);slice.isTopLevel=true;}
5020rootSlice=slice;}
5021this.slices=slices;},addCpuTimeToSubslices_(timeSlices){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;let sliceIdx=0;timeSlices.forEach(function(timeSlice){if(timeSlice.schedulingState===SCHEDULING_STATE.RUNNING){while(sliceIdx<this.topLevelSlices.length){if(this.addCpuTimeToSubslice_(this.topLevelSlices[sliceIdx],timeSlice)){sliceIdx++;}else{break;}}}},this);},addCpuTimeToSubslice_(slice,timeSlice){if(slice.start>timeSlice.end||slice.end<timeSlice.start){return slice.end<=timeSlice.end;}
5022let duration=timeSlice.duration;if(slice.start>timeSlice.start){duration-=slice.start-timeSlice.start;}
5023if(timeSlice.end>slice.end){duration-=timeSlice.end-slice.end;}
5024if(slice.cpuDuration){slice.cpuDuration+=duration;}else{slice.cpuDuration=duration;}
5025for(let i=0;i<slice.subSlices.length;i++){this.addCpuTimeToSubslice_(slice.subSlices[i],timeSlice);}
5026return slice.end<=timeSlice.end;}};SliceGroup.merge=function(groupA,groupB){if(groupA.openPartialSlices_.length>0){throw new Error('groupA has open partial slices');}
5027if(groupB.openPartialSlices_.length>0){throw new Error('groupB has open partial slices');}
5028if(groupA.parentContainer!==groupB.parentContainer){throw new Error('Different parent threads. Cannot merge');}
5029if(groupA.sliceConstructor!==groupB.sliceConstructor){throw new Error('Different slice constructors. Cannot merge');}
5030const result=new SliceGroup(groupA.parentContainer,groupA.sliceConstructor,groupA.name_);const slicesA=groupA.slices;const slicesB=groupB.slices;let idxA=0;let idxB=0;const openA=[];const openB=[];const splitOpenSlices=function(when){for(let i=0;i<openB.length;i++){const oldSlice=openB[i];const oldEnd=oldSlice.end;if(when<oldSlice.start||oldEnd<when){throw new Error('slice should not be split');}
5031const newSlice=result.copySlice(oldSlice);newSlice.start=when;newSlice.duration=oldEnd-when;if(newSlice.title.indexOf(' (cont.)')===-1){newSlice.title+=' (cont.)';}
5032oldSlice.duration=when-oldSlice.start;openB[i]=newSlice;result.pushSlice(newSlice);}};const closeOpenSlices=function(upTo){while(openA.length>0||openB.length>0){const nextA=openA[openA.length-1];const nextB=openB[openB.length-1];const endA=nextA&&nextA.end;const endB=nextB&&nextB.end;if((endA===undefined||endA>upTo)&&(endB===undefined||endB>upTo)){return;}
5033if(endB===undefined||endA<endB){splitOpenSlices(endA);openA.pop();}else{openB.pop();}}};while(idxA<slicesA.length||idxB<slicesB.length){const sA=slicesA[idxA];const sB=slicesB[idxB];let nextSlice;let isFromB;if(sA===undefined||(sB!==undefined&&sA.start>sB.start)){nextSlice=result.copySlice(sB);isFromB=true;idxB++;}else{nextSlice=result.copySlice(sA);isFromB=false;idxA++;}
5034closeOpenSlices(nextSlice.start);result.pushSlice(nextSlice);if(isFromB){openB.push(nextSlice);}else{splitOpenSlices(nextSlice.start);openA.push(nextSlice);}}
5035closeOpenSlices();return result;};return{SliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const AsyncSlice=tr.model.AsyncSlice;const AsyncSliceGroup=tr.model.AsyncSliceGroup;const SliceGroup=tr.model.SliceGroup;const ThreadSlice=tr.model.ThreadSlice;const ThreadTimeSlice=tr.model.ThreadTimeSlice;function Thread(parent,tid){if(!parent){throw new Error('Parent must be provided.');}
5036tr.model.EventContainer.call(this);this.parent=parent;this.sortIndex=0;this.tid=tid;this.name=undefined;this.samples_=undefined;this.sliceGroup=new SliceGroup(this,ThreadSlice,'slices');this.timeSlices=undefined;this.kernelSliceGroup=new SliceGroup(this,ThreadSlice,'kernel-slices');this.asyncSliceGroup=new AsyncSliceGroup(this,'async-slices');}
5037Thread.prototype={__proto__:tr.model.EventContainer.prototype,get model(){return this.parent.model;},get stableId(){return this.parent.stableId+'.'+this.tid;},compareTo(that){return Thread.compare(this,that);},*childEventContainers(){if(this.sliceGroup.length){yield this.sliceGroup;}
5038if(this.kernelSliceGroup.length){yield this.kernelSliceGroup;}
5039if(this.asyncSliceGroup.length){yield this.asyncSliceGroup;}},*childEvents(){if(this.timeSlices){yield*this.timeSlices;}},iterateAllPersistableObjects(cb){cb(this);if(this.sliceGroup.length){cb(this.sliceGroup);}
5040this.asyncSliceGroup.viewSubGroups.forEach(cb);},shiftTimestampsForward(amount){this.sliceGroup.shiftTimestampsForward(amount);if(this.timeSlices){for(let i=0;i<this.timeSlices.length;i++){const slice=this.timeSlices[i];slice.start+=amount;}}
5041this.kernelSliceGroup.shiftTimestampsForward(amount);this.asyncSliceGroup.shiftTimestampsForward(amount);},get isEmpty(){if(this.sliceGroup.length)return false;if(this.sliceGroup.openSliceCount)return false;if(this.timeSlices&&this.timeSlices.length)return false;if(this.kernelSliceGroup.length)return false;if(this.asyncSliceGroup.length)return false;if(this.samples_.length)return false;return true;},updateBounds(){this.bounds.reset();this.sliceGroup.updateBounds();this.bounds.addRange(this.sliceGroup.bounds);this.kernelSliceGroup.updateBounds();this.bounds.addRange(this.kernelSliceGroup.bounds);this.asyncSliceGroup.updateBounds();this.bounds.addRange(this.asyncSliceGroup.bounds);if(this.timeSlices&&this.timeSlices.length){this.bounds.addValue(this.timeSlices[0].start);this.bounds.addValue(this.timeSlices[this.timeSlices.length-1].end);}
5042if(this.samples_&&this.samples_.length){this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].end);}},addCategoriesToDict(categoriesDict){for(let i=0;i<this.sliceGroup.length;i++){categoriesDict[this.sliceGroup.slices[i].category]=true;}
5043for(let i=0;i<this.kernelSliceGroup.length;i++){categoriesDict[this.kernelSliceGroup.slices[i].category]=true;}
5044for(let i=0;i<this.asyncSliceGroup.length;i++){categoriesDict[this.asyncSliceGroup.slices[i].category]=true;}
5045if(this.samples_){for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}}},autoCloseOpenSlices(){this.sliceGroup.autoCloseOpenSlices();this.kernelSliceGroup.autoCloseOpenSlices();},mergeKernelWithUserland(){if(this.kernelSliceGroup.length>0){const newSlices=SliceGroup.merge(this.sliceGroup,this.kernelSliceGroup);this.sliceGroup.slices=newSlices.slices;this.kernelSliceGroup=new SliceGroup(this);this.updateBounds();}},createSubSlices(){this.sliceGroup.createSubSlices();this.samples_=this.parent.model.samples.filter(sample=>sample.thread===this);},get userFriendlyName(){return this.name||this.tid;},get userFriendlyDetails(){return'tid: '+this.tid+
5046(this.name?', name: '+this.name:'');},getSettingsKey(){if(!this.name)return undefined;const parentKey=this.parent.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},getProcess(){return this.parent;},indexOfTimeSlice(timeSlice){const i=tr.b.math.findLowIndexInSortedArray(this.timeSlices,function(slice){return slice.start;},timeSlice.start);if(this.timeSlices[i]!==timeSlice)return undefined;return i;},getCpuStatsForRange(range){const stats={};stats.total=0;if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const freqRange=tr.b.math.Range.fromExplicitRange(threadTimeSlice.start,threadTimeSlice.end);const intersection=freqRange.findIntersection(range);if(threadTimeSlice.schedulingState===tr.model.SCHEDULING_STATE.RUNNING){const cpu=threadTimeSlice.cpuOnWhichThreadWasRunning;if(!(cpu.cpuNumber in stats)){stats[cpu.cpuNumber]=0;}
5047stats[cpu.cpuNumber]+=intersection.duration;stats.total+=intersection.duration;}}
5048tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},range.min,range.max,addStatsForSlice);return stats;},getSchedulingStatsForRange(start,end){const stats={};if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const overlapStart=Math.max(threadTimeSlice.start,start);const overlapEnd=Math.min(threadTimeSlice.end,end);const schedulingState=threadTimeSlice.schedulingState;if(!(schedulingState in stats))stats[schedulingState]=0;stats[schedulingState]+=overlapEnd-overlapStart;}
5049tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},start,end,addStatsForSlice);return stats;},get samples(){return this.samples_;},get type(){const re=/^[^0-9|\/]+/;const matches=re.exec(this.name);if(matches&&matches[0])return matches[0];throw new Error('Could not determine thread type for thread name '+
5050this.name);}};Thread.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp)return tmp;tmp=x.sortIndex-y.sortIndex;if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.tid-y.tid;};return{Thread,};});'use strict';tr.exportTo('tr.model',function(){const Thread=tr.model.Thread;const Counter=tr.model.Counter;function ProcessBase(model){if(!model){throw new Error('Must provide a model');}
5051tr.model.EventContainer.call(this);this.model=model;this.threads={};this.counters={};this.objects=new tr.model.ObjectCollection(this);this.sortIndex=0;}
5052ProcessBase.compare=function(x,y){return x.sortIndex-y.sortIndex;};ProcessBase.prototype={__proto__:tr.model.EventContainer.prototype,get stableId(){throw new Error('Not implemented');},*childEventContainers(){yield*Object.values(this.threads);yield*Object.values(this.counters);yield this.objects;},iterateAllPersistableObjects(cb){cb(this);for(const tid in this.threads){this.threads[tid].iterateAllPersistableObjects(cb);}},get numThreads(){let n=0;for(const p in this.threads){n++;}
5053return n;},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);}},autoCloseOpenSlices(){for(const tid in this.threads){const thread=this.threads[tid];thread.autoCloseOpenSlices();}},autoDeleteObjects(maxTimestamp){this.objects.autoDeleteObjects(maxTimestamp);},preInitializeObjects(){this.objects.preInitializeAllObjects();},initializeObjects(){this.objects.initializeAllObjects();},mergeKernelWithUserland(){for(const tid in this.threads){const thread=this.threads[tid];thread.mergeKernelWithUserland();}},updateBounds(){this.bounds.reset();for(const tid in this.threads){this.threads[tid].updateBounds();this.bounds.addRange(this.threads[tid].bounds);}
5054for(const id in this.counters){this.counters[id].updateBounds();this.bounds.addRange(this.counters[id].bounds);}
5055this.objects.updateBounds();this.bounds.addRange(this.objects.bounds);},addCategoriesToDict(categoriesDict){for(const tid in this.threads){this.threads[tid].addCategoriesToDict(categoriesDict);}
5056for(const id in this.counters){categoriesDict[this.counters[id].category]=true;}
5057this.objects.addCategoriesToDict(categoriesDict);},findAllThreadsMatching(predicate,opt_this){const threads=[];for(const tid in this.threads){const thread=this.threads[tid];if(predicate.call(opt_this,thread)){threads.push(thread);}}
5058return threads;},findAllThreadsNamed(name){const threads=this.findAllThreadsMatching(function(thread){if(!thread.name)return false;return thread.name===name;});return threads;},findAtMostOneThreadNamed(name){const threads=this.findAllThreadsNamed(name);if(threads.length===0)return undefined;if(threads.length>1){throw new Error('Expected no more than one '+name);}
5059return threads[0];},pruneEmptyContainers(){const threadsToKeep={};for(const tid in this.threads){const thread=this.threads[tid];if(!thread.isEmpty){threadsToKeep[tid]=thread;}}
5060this.threads=threadsToKeep;},getThread(tid){return this.threads[tid];},getOrCreateThread(tid){if(!this.threads[tid]){this.threads[tid]=new Thread(this,tid);}
5061return this.threads[tid];},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);}
5062return this.counters[id];},getSettingsKey(){throw new Error('Not implemented');},createSubSlices(){for(const tid in this.threads){this.threads[tid].createSubSlices();}}};return{ProcessBase,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Counter=tr.model.Counter;const CpuSlice=tr.model.CpuSlice;function Cpu(kernel,number){if(kernel===undefined||number===undefined){throw new Error('Missing arguments');}
5063this.kernel=kernel;this.cpuNumber=number;this.slices=[];this.counters={};this.bounds_=new tr.b.math.Range();this.samples_=undefined;this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;}
5064Cpu.prototype={__proto__:tr.model.EventContainer.prototype,get samples(){return this.samples_;},get userFriendlyName(){return'CPU '+this.cpuNumber;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const s of this.slices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}},*childEvents(){yield*this.slices;if(this.samples_){yield*this.samples_;}},*childEventContainers(){yield*Object.values(this.counters);},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);}
5065return this.counters[id];},getCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){return undefined;}
5066return this.counters[id];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){this.slices[sI].start=(this.slices[sI].start+amount);}
5067for(const id in this.counters){this.counters[id].shiftTimestampsForward(amount);}},updateBounds(){this.bounds_.reset();if(this.slices.length){this.bounds_.addValue(this.slices[0].start);this.bounds_.addValue(this.slices[this.slices.length-1].end);}
5068for(const id in this.counters){this.counters[id].updateBounds();this.bounds_.addRange(this.counters[id].bounds);}
5069if(this.samples_&&this.samples_.length){this.bounds_.addValue(this.samples_[0].start);this.bounds_.addValue(this.samples_[this.samples_.length-1].end);}},createSubSlices(){this.samples_=this.kernel.model.samples.filter(function(sample){return sample.cpu===this;},this);},addCategoriesToDict(categoriesDict){for(let i=0;i<this.slices.length;i++){categoriesDict[this.slices[i].category]=true;}
5070for(const id in this.counters){categoriesDict[this.counters[id].category]=true;}
5071for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}},indexOf(cpuSlice){const i=tr.b.math.findLowIndexInSortedArray(this.slices,function(slice){return slice.start;},cpuSlice.start);if(this.slices[i]!==cpuSlice)return undefined;return i;},closeActiveThread(endTimestamp,args){if(this.lastActiveThread_===undefined||this.lastActiveThread_===0){return;}
5072if(endTimestamp<this.lastActiveTimestamp_){throw new Error('The end timestamp of a thread running on CPU '+
5073this.cpuNumber+' is before its start timestamp.');}
5074for(const key in args){this.lastActiveArgs_[key]=args[key];}
5075const duration=endTimestamp-this.lastActiveTimestamp_;const slice=new tr.model.CpuSlice('',this.lastActiveName_,ColorScheme.getColorIdForGeneralPurposeString(this.lastActiveName_),this.lastActiveTimestamp_,this.lastActiveArgs_,duration);slice.cpu=this;this.slices.push(slice);this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;},switchActiveThread(timestamp,oldThreadArgs,newThreadId,newThreadName,newThreadArgs){this.closeActiveThread(timestamp,oldThreadArgs);this.lastActiveTimestamp_=timestamp;this.lastActiveThread_=newThreadId;this.lastActiveName_=newThreadName;this.lastActiveArgs_=newThreadArgs;},getFreqStatsForRange(range){const stats={};function addStatsForFreq(freqSample,index){const freqEnd=(index<freqSample.series_.length-1)?freqSample.series_.samples_[index+1].timestamp:range.max;const freqRange=tr.b.math.Range.fromExplicitRange(freqSample.timestamp,freqEnd);const intersection=freqRange.findIntersection(range);if(!(freqSample.value in stats)){stats[freqSample.value]=0;}
5076stats[freqSample.value]+=intersection.duration;}
5077const freqCounter=this.getCounter('','Clock Frequency');if(freqCounter!==undefined){const freqSeries=freqCounter.getSeries(0);if(!freqSeries)return;tr.b.math.iterateOverIntersectingIntervals(freqSeries.samples_,function(x){return x.timestamp;},function(x,index){if(index<freqSeries.length-1){return freqSeries.samples_[index+1].timestamp;}
5078return range.max;},range.min,range.max,addStatsForFreq);}
5079return stats;}};Cpu.compare=function(x,y){return x.cpuNumber-y.cpuNumber;};return{Cpu,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;function PowerSample(series,start,powerInW){Event.call(this);this.series_=series;this.start_=parseFloat(start);this.powerInW_=parseFloat(powerInW);}
5080PowerSample.prototype={__proto__:Event.prototype,get series(){return this.series_;},get start(){return this.start_;},set start(value){this.start_=value;},get powerInW(){return this.powerInW_;},set powerInW(value){this.powerInW_=value;},addBoundsToRange(range){range.addValue(this.start);}};EventRegistry.register(PowerSample,{name:'powerSample',pluralName:'powerSamples'});return{PowerSample,};});'use strict';tr.exportTo('tr.model',function(){const PowerSample=tr.model.PowerSample;function PowerSeries(device){tr.model.EventContainer.call(this);this.device_=device;this.samples_=[];}
5081PowerSeries.prototype={__proto__:tr.model.EventContainer.prototype,get device(){return this.device_;},get samples(){return this.samples_;},get stableId(){return this.device_.stableId+'.PowerSeries';},addPowerSample(ts,val){const sample=new PowerSample(this,ts,val);this.samples_.push(sample);return sample;},getEnergyConsumedInJ(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let energyConsumedInJ=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0){startIndex=0;}
5082for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);const durationInS=tr.b.convertUnit(intersectionRangeInMs.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);energyConsumedInJ+=durationInS*sample.powerInW;}
5083return energyConsumedInJ;},getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);},shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}},updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);},*childEvents(){yield*this.samples_;},};return{PowerSeries,};});'use strict';tr.exportTo('tr.model',function(){function Device(model){if(!model){throw new Error('Must provide a model.');}
5084tr.model.EventContainer.call(this);this.powerSeries_=undefined;this.cpuUsageSeries_=undefined;this.vSyncTimestamps_=[];}
5085Device.compare=function(x,y){return x.guid-y.guid;};Device.prototype={__proto__:tr.model.EventContainer.prototype,compareTo(that){return Device.compare(this,that);},get userFriendlyName(){return'Device';},get userFriendlyDetails(){return'Device';},get stableId(){return'Device';},getSettingsKey(){return'device';},get powerSeries(){return this.powerSeries_;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;},get cpuUsageSeries(){return this.cpuUsageSeries_;},set cpuUsageSeries(cpuUsageSeries){this.cpuUsageSeries_=cpuUsageSeries;},get vSyncTimestamps(){return this.vSyncTimestamps_;},set vSyncTimestamps(value){this.vSyncTimestamps_=value;},updateBounds(){this.bounds.reset();for(const child of this.childEventContainers()){child.updateBounds();this.bounds.addRange(child.bounds);}},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);}
5086for(let i=0;i<this.vSyncTimestamps_.length;i++){this.vSyncTimestamps_[i]+=amount;}},addCategoriesToDict(categoriesDict){},*childEventContainers(){if(this.powerSeries_){yield this.powerSeries_;}
5087if(this.cpuUsageSeries_){yield this.cpuUsageSeries_;}}};return{Device,};});'use strict';tr.exportTo('tr.model',function(){function FlowEvent(category,id,title,colorId,start,args,opt_duration){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.start=start;this.args=args;this.id=id;this.startSlice=undefined;this.endSlice=undefined;this.startStackFrame=undefined;this.endStackFrame=undefined;if(opt_duration!==undefined){this.duration=opt_duration;}}
5088FlowEvent.prototype={__proto__:tr.model.TimedEvent.prototype,get userFriendlyName(){return'Flow event named '+this.title+' at '+
5089tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(FlowEvent,{name:'flowEvent',pluralName:'flowEvents'});return{FlowEvent,};});'use strict';tr.exportTo('tr.model',function(){function ContainerMemoryDump(start){tr.model.TimedEvent.call(this,start);this.levelOfDetail=undefined;this.memoryAllocatorDumps_=undefined;this.memoryAllocatorDumpsByFullName_=undefined;}
5090ContainerMemoryDump.LevelOfDetail={BACKGROUND:0,LIGHT:1,DETAILED:2};ContainerMemoryDump.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();},getMemoryAllocatorDumpByFullName(fullName){if(this.memoryAllocatorDumps_===undefined)return undefined;if(this.memoryAllocatorDumpsByFullName_===undefined){const index={};function addDumpsToIndex(dumps){dumps.forEach(function(dump){index[dump.fullName]=dump;addDumpsToIndex(dump.children);});}
5091addDumpsToIndex(this.memoryAllocatorDumps_);this.memoryAllocatorDumpsByFullName_=index;}
5092return this.memoryAllocatorDumpsByFullName_[fullName];},forceRebuildingMemoryAllocatorDumpByFullNameIndex(){this.memoryAllocatorDumpsByFullName_=undefined;},iterateRootAllocatorDumps(fn,opt_this){if(this.memoryAllocatorDumps===undefined)return;this.memoryAllocatorDumps.forEach(fn,opt_this||this);}};return{ContainerMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){function MemoryAllocatorDump(containerMemoryDump,fullName,opt_guid){this.fullName=fullName;this.parent=undefined;this.children=[];this.numerics={};this.diagnostics={};this.containerMemoryDump=containerMemoryDump;this.owns=undefined;this.ownedBy=[];this.ownedBySiblingSizes=new Map();this.retains=[];this.retainedBy=[];this.weak=false;this.infos=[];this.guid=opt_guid;}
5093MemoryAllocatorDump.SIZE_NUMERIC_NAME='size';MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME='effective_size';MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME='resident_size';MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME=MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;MemoryAllocatorDump.prototype={get name(){return this.fullName.substring(this.fullName.lastIndexOf('/')+1);},get quantifiedName(){return'\''+this.fullName+'\' in '+
5094this.containerMemoryDump.containerName;},getDescendantDumpByFullName(fullName){return this.containerMemoryDump.getMemoryAllocatorDumpByFullName(this.fullName+'/'+fullName);},isDescendantOf(otherDump){if(this===otherDump)return true;if(this.parent===undefined)return false;return this.parent.isDescendantOf(otherDump);},addNumeric(name,numeric){if(!(numeric instanceof tr.b.Scalar)){throw new Error('Numeric value must be an instance of Scalar.');}
5095if(name in this.numerics){throw new Error('Duplicate numeric name: '+name+'.');}
5096this.numerics[name]=numeric;},addDiagnostic(name,text){if(typeof text!=='string'){throw new Error('Diagnostic text must be a string.');}
5097if(name in this.diagnostics){throw new Error('Duplicate diagnostic name: '+name+'.');}
5098this.diagnostics[name]=text;},aggregateNumericsRecursively(opt_model){const numericNames=new Set();this.children.forEach(function(child){child.aggregateNumericsRecursively(opt_model);for(const[item,value]of Object.entries(child.numerics)){numericNames.add(item,value);}},this);numericNames.forEach(function(numericName){if(numericName===MemoryAllocatorDump.SIZE_NUMERIC_NAME||numericName===MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME||this.numerics[numericName]!==undefined){return;}
5099this.numerics[numericName]=MemoryAllocatorDump.aggregateNumerics(this.children.map(function(child){return child.numerics[numericName];}),opt_model);},this);}};MemoryAllocatorDump.aggregateNumerics=function(numerics,opt_model){let shouldLogWarning=!!opt_model;let aggregatedUnit=undefined;let aggregatedValue=0;numerics.forEach(function(numeric){if(numeric===undefined)return;const unit=numeric.unit;if(aggregatedUnit===undefined){aggregatedUnit=unit;}else if(aggregatedUnit!==unit){if(shouldLogWarning){opt_model.importWarning({type:'numeric_parse_error',message:'Multiple units provided for numeric: \''+
5100aggregatedUnit.unitName+'\' and \''+unit.unitName+'\'.'});shouldLogWarning=false;}
5101aggregatedUnit=tr.b.Unit.byName.unitlessNumber_smallerIsBetter;}
5102aggregatedValue+=numeric.value;},this);if(aggregatedUnit===undefined)return undefined;return new tr.b.Scalar(aggregatedUnit,aggregatedValue);};function MemoryAllocatorDumpLink(source,target,opt_importance){this.source=source;this.target=target;this.importance=opt_importance;this.size=undefined;}
5103const MemoryAllocatorDumpInfoType={PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:0,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:1};return{MemoryAllocatorDump,MemoryAllocatorDumpLink,MemoryAllocatorDumpInfoType,};});'use strict';tr.exportTo('tr.model',function(){function GlobalMemoryDump(model,start){tr.model.ContainerMemoryDump.call(this,start);this.model=model;this.processMemoryDumps={};}
5104const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const EFFECTIVE_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;function getSize(dump){const numeric=dump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;return numeric.value;}
5105function hasSize(dump){return dump.numerics[SIZE_NUMERIC_NAME]!==undefined;}
5106function optional(value,defaultValue){if(value===undefined)return defaultValue;return value;}
5107GlobalMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Global memory dump at '+
5108tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return'global space';},finalizeGraph(){this.removeWeakDumps();this.setUpTracingOverheadOwnership();this.aggregateNumerics();this.calculateSizes();this.calculateEffectiveSizes();this.discountTracingOverheadFromVmRegions();this.forceRebuildingMemoryAllocatorDumpByFullNameIndices();},removeWeakDumps(){this.traverseAllocatorDumpsInDepthFirstPreOrder(function(dump){if(dump.weak)return;if((dump.owns!==undefined&&dump.owns.target.weak)||(dump.parent!==undefined&&dump.parent.weak)){dump.weak=true;}});function removeWeakDumpsFromListRecursively(dumps){tr.b.inPlaceFilter(dumps,function(dump){if(dump.weak){return false;}
5109removeWeakDumpsFromListRecursively(dump.children);tr.b.inPlaceFilter(dump.ownedBy,function(ownershipLink){return!ownershipLink.source.weak;});return true;});}
5110this.iterateContainerDumps(function(containerDump){const memoryAllocatorDumps=containerDump.memoryAllocatorDumps;if(memoryAllocatorDumps!==undefined){removeWeakDumpsFromListRecursively(memoryAllocatorDumps);}});},calculateSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateMemoryAllocatorDumpSize_.bind(this));},calculateMemoryAllocatorDumpSize_(dump){let shouldDefineSize=false;function getDependencySize(dependencyDump){const numeric=dependencyDump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;shouldDefineSize=true;return numeric.value;}
5111const sizeNumeric=dump.numerics[SIZE_NUMERIC_NAME];let size=0;let checkDependencySizeIsConsistent=function(){};if(sizeNumeric!==undefined){size=sizeNumeric.value;shouldDefineSize=true;if(sizeNumeric.unit!==tr.b.Unit.byName.sizeInBytes_smallerIsBetter){this.model.importWarning({type:'memory_dump_parse_error',message:'Invalid unit of \'size\' numeric of memory allocator '+'dump '+dump.quantifiedName+': '+
5112sizeNumeric.unit.unitName+'.'});}
5113checkDependencySizeIsConsistent=function(dependencySize,dependencyInfoType,dependencyName){if(size>=dependencySize)return;this.model.importWarning({type:'memory_dump_parse_error',message:'Size provided by memory allocator dump \''+
5114dump.fullName+'\''+
5115tr.b.Unit.byName.sizeInBytes.format(size)+') is less than '+dependencyName+' ('+
5116tr.b.Unit.byName.sizeInBytes.format(dependencySize)+').'});dump.infos.push({type:dependencyInfoType,providedSize:size,dependencySize});}.bind(this);}
5117let aggregatedChildrenSize=0;const allOverlaps={};dump.children.forEach(function(childDump){function aggregateDescendantDump(descendantDump){const ownedDumpLink=descendantDump.owns;if(ownedDumpLink!==undefined&&ownedDumpLink.target.isDescendantOf(dump)){let ownedChildDump=ownedDumpLink.target;while(ownedChildDump.parent!==dump){ownedChildDump=ownedChildDump.parent;}
5118if(childDump!==ownedChildDump){const ownedBySiblingSize=getDependencySize(descendantDump);if(ownedBySiblingSize>0){const previousTotalOwnedBySiblingSize=ownedChildDump.ownedBySiblingSizes.get(childDump)||0;const updatedTotalOwnedBySiblingSize=previousTotalOwnedBySiblingSize+ownedBySiblingSize;ownedChildDump.ownedBySiblingSizes.set(childDump,updatedTotalOwnedBySiblingSize);}}
5119return;}
5120if(descendantDump.children.length===0){aggregatedChildrenSize+=getDependencySize(descendantDump);return;}
5121descendantDump.children.forEach(aggregateDescendantDump);}
5122aggregateDescendantDump(childDump);});checkDependencySizeIsConsistent(aggregatedChildrenSize,PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN,'the aggregated size of its children');let largestOwnerSize=0;dump.ownedBy.forEach(function(ownershipLink){const owner=ownershipLink.source;const ownerSize=getDependencySize(owner);largestOwnerSize=Math.max(largestOwnerSize,ownerSize);});checkDependencySizeIsConsistent(largestOwnerSize,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER,'the size of its largest owner');if(!shouldDefineSize){delete dump.numerics[SIZE_NUMERIC_NAME];return;}
5123size=Math.max(size,aggregatedChildrenSize,largestOwnerSize);dump.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size);if(aggregatedChildrenSize<size&&dump.children!==undefined&&dump.children.length>0){const virtualChild=new tr.model.MemoryAllocatorDump(dump.containerMemoryDump,dump.fullName+'/<unspecified>');virtualChild.parent=dump;dump.children.unshift(virtualChild);virtualChild.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size-aggregatedChildrenSize);}},calculateEffectiveSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpSubSizes_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPreOrder(this.calculateDumpCumulativeOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpEffectiveSize_.bind(this));},calculateDumpSubSizes_(dump){if(!hasSize(dump))return;if(dump.children===undefined||dump.children.length===0){const size=getSize(dump);dump.notOwningSubSize_=size;dump.notOwnedSubSize_=size;return;}
5124let notOwningSubSize=0;dump.children.forEach(function(childDump){if(childDump.owns!==undefined)return;notOwningSubSize+=optional(childDump.notOwningSubSize_,0);});dump.notOwningSubSize_=notOwningSubSize;let notOwnedSubSize=0;dump.children.forEach(function(childDump){if(childDump.ownedBy.length===0){notOwnedSubSize+=optional(childDump.notOwnedSubSize_,0);return;}
5125let largestChildOwnerSize=0;childDump.ownedBy.forEach(function(ownershipLink){largestChildOwnerSize=Math.max(largestChildOwnerSize,getSize(ownershipLink.source));});notOwnedSubSize+=getSize(childDump)-largestChildOwnerSize;});dump.notOwnedSubSize_=notOwnedSubSize;},calculateDumpOwnershipCoefficient_(dump){if(!hasSize(dump))return;if(dump.ownedBy.length===0)return;const owners=dump.ownedBy.map(function(ownershipLink){return{dump:ownershipLink.source,importance:optional(ownershipLink.importance,0),notOwningSubSize:optional(ownershipLink.source.notOwningSubSize_,0)};});owners.sort(function(a,b){if(a.importance===b.importance){return a.notOwningSubSize-b.notOwningSubSize;}
5126return b.importance-a.importance;});let currentImportanceStartPos=0;let alreadyAttributedSubSize=0;while(currentImportanceStartPos<owners.length){const currentImportance=owners[currentImportanceStartPos].importance;let nextImportanceStartPos=currentImportanceStartPos+1;while(nextImportanceStartPos<owners.length&&owners[nextImportanceStartPos].importance===currentImportance){nextImportanceStartPos++;}
5127let attributedNotOwningSubSize=0;for(let pos=currentImportanceStartPos;pos<nextImportanceStartPos;pos++){const owner=owners[pos];const notOwningSubSize=owner.notOwningSubSize;if(notOwningSubSize>alreadyAttributedSubSize){attributedNotOwningSubSize+=(notOwningSubSize-alreadyAttributedSubSize)/(nextImportanceStartPos-pos);alreadyAttributedSubSize=notOwningSubSize;}
5128let owningCoefficient=0;if(notOwningSubSize!==0){owningCoefficient=attributedNotOwningSubSize/notOwningSubSize;}
5129owner.dump.owningCoefficient_=owningCoefficient;}
5130currentImportanceStartPos=nextImportanceStartPos;}
5131const notOwnedSubSize=optional(dump.notOwnedSubSize_,0);const remainderSubSize=notOwnedSubSize-alreadyAttributedSubSize;let ownedCoefficient=0;if(notOwnedSubSize!==0){ownedCoefficient=remainderSubSize/notOwnedSubSize;}
5132dump.ownedCoefficient_=ownedCoefficient;},calculateDumpCumulativeOwnershipCoefficient_(dump){if(!hasSize(dump))return;let cumulativeOwnedCoefficient=optional(dump.ownedCoefficient_,1);const parent=dump.parent;if(dump.parent!==undefined){cumulativeOwnedCoefficient*=dump.parent.cumulativeOwnedCoefficient_;}
5133dump.cumulativeOwnedCoefficient_=cumulativeOwnedCoefficient;let cumulativeOwningCoefficient;if(dump.owns!==undefined){cumulativeOwningCoefficient=dump.owningCoefficient_*dump.owns.target.cumulativeOwningCoefficient_;}else if(dump.parent!==undefined){cumulativeOwningCoefficient=dump.parent.cumulativeOwningCoefficient_;}else{cumulativeOwningCoefficient=1;}
5134dump.cumulativeOwningCoefficient_=cumulativeOwningCoefficient;},calculateDumpEffectiveSize_(dump){if(!hasSize(dump)){delete dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME];return;}
5135let effectiveSize;if(dump.children===undefined||dump.children.length===0){effectiveSize=getSize(dump)*dump.cumulativeOwningCoefficient_*dump.cumulativeOwnedCoefficient_;}else{effectiveSize=0;dump.children.forEach(function(childDump){if(!hasSize(childDump))return;effectiveSize+=childDump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME].value;});}
5136dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,effectiveSize);},aggregateNumerics(){this.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);});this.iterateRootAllocatorDumps(this.propagateNumericsAndDiagnosticsRecursively);for(const processMemoryDump of Object.values(this.processMemoryDumps)){processMemoryDump.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);},this);}},propagateNumericsAndDiagnosticsRecursively(globalAllocatorDump){['numerics','diagnostics'].forEach(function(field){for(const[name,value]of
5137Object.entries(globalAllocatorDump[field])){globalAllocatorDump.ownedBy.forEach(function(ownershipLink){const processAllocatorDump=ownershipLink.source;if(processAllocatorDump[field][name]!==undefined){return;}
5138processAllocatorDump[field][name]=value;});}});globalAllocatorDump.children.forEach(this.propagateNumericsAndDiagnosticsRecursively,this);},setUpTracingOverheadOwnership(){for(const dump of Object.values(this.processMemoryDumps)){dump.setUpTracingOverheadOwnership(this.model);}},discountTracingOverheadFromVmRegions(){for(const dump of Object.values(this.processMemoryDumps)){dump.discountTracingOverheadFromVmRegions(this.model);}},forceRebuildingMemoryAllocatorDumpByFullNameIndices(){this.iterateContainerDumps(function(containerDump){containerDump.forceRebuildingMemoryAllocatorDumpByFullNameIndex();});},iterateContainerDumps(fn){fn.call(this,this);for(const processDump of Object.values(this.processMemoryDumps)){fn.call(this,processDump);}},iterateAllRootAllocatorDumps(fn){this.iterateContainerDumps(function(containerDump){containerDump.iterateRootAllocatorDumps(fn,this);});},traverseAllocatorDumpsInDepthFirstPostOrder(fn){const visitedDumps=new WeakSet();const openDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(openDumps.has(dump)){throw new Error(dump.userFriendlyName+' contains a cycle');}
5139openDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);fn.call(this,dump);visitedDumps.add(dump);openDumps.delete(dump);}
5140this.iterateAllRootAllocatorDumps(visit);},traverseAllocatorDumpsInDepthFirstPreOrder(fn){const visitedDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(dump.owns!==undefined&&!visitedDumps.has(dump.owns.target)){return;}
5141if(dump.parent!==undefined&&!visitedDumps.has(dump.parent)){return;}
5142fn.call(this,dump);visitedDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);}
5143this.iterateAllRootAllocatorDumps(visit);}};tr.model.EventRegistry.register(GlobalMemoryDump,{name:'globalMemoryDump',pluralName:'globalMemoryDumps'});return{GlobalMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const InstantEventType={GLOBAL:1,PROCESS:2};function InstantEvent(category,title,colorId,start,args){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.type=undefined;}
5144InstantEvent.prototype={__proto__:tr.model.TimedEvent.prototype};function GlobalInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.GLOBAL;}
5145GlobalInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Global instant event '+this.title+' @ '+
5146tr.b.Unit.byName.timeStampInMs.format(start);}};function ProcessInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.PROCESS;}
5147ProcessInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Process-level instant event '+this.title+' @ '+
5148tr.b.Unit.byName.timeStampInMs.format(start);}};tr.model.EventRegistry.register(InstantEvent,{name:'instantEvent',pluralName:'instantEvents'});return{GlobalInstantEvent,ProcessInstantEvent,InstantEventType,InstantEvent,};});'use strict';tr.exportTo('tr.model',function(){const Cpu=tr.model.Cpu;const ProcessBase=tr.model.ProcessBase;function Kernel(model){ProcessBase.call(this,model);this.cpus={};this.softwareMeasuredCpuCount_=undefined;}
5149Kernel.compare=function(x,y){return 0;};Kernel.prototype={__proto__:ProcessBase.prototype,compareTo(that){return Kernel.compare(this,that);},get userFriendlyName(){return'Kernel';},get userFriendlyDetails(){return'Kernel';},get stableId(){return'Kernel';},getOrCreateCpu(cpuNumber){if(!this.cpus[cpuNumber]){this.cpus[cpuNumber]=new Cpu(this,cpuNumber);}
5150return this.cpus[cpuNumber];},get softwareMeasuredCpuCount(){return this.softwareMeasuredCpuCount_;},set softwareMeasuredCpuCount(softwareMeasuredCpuCount){if(this.softwareMeasuredCpuCount_!==undefined&&this.softwareMeasuredCpuCount_!==softwareMeasuredCpuCount){throw new Error('Cannot change the softwareMeasuredCpuCount once it is set');}
5151this.softwareMeasuredCpuCount_=softwareMeasuredCpuCount;},get bestGuessAtCpuCount(){const realCpuCount=Object.keys(this.cpus).length;if(realCpuCount!==0){return realCpuCount;}
5152return this.softwareMeasuredCpuCount;},updateBounds(){ProcessBase.prototype.updateBounds.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.updateBounds();this.bounds.addRange(cpu.bounds);}},createSubSlices(){ProcessBase.prototype.createSubSlices.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.createSubSlices();}},addCategoriesToDict(categoriesDict){ProcessBase.prototype.addCategoriesToDict.call(this,categoriesDict);for(const cpuNumber in this.cpus){this.cpus[cpuNumber].addCategoriesToDict(categoriesDict);}},getSettingsKey(){return'kernel';},*childEventContainers(){yield*ProcessBase.prototype.childEventContainers.call(this);yield*Object.values(this.cpus);},};return{Kernel,};});'use strict';tr.exportTo('tr.model',function(){function ModelIndices(model){this.flowEventsById_={};model.flowEvents.forEach(function(fe){if(fe.id!==undefined){if(!this.flowEventsById_.hasOwnProperty(fe.id)){this.flowEventsById_[fe.id]=[];}
5153this.flowEventsById_[fe.id].push(fe);}},this);}
5154ModelIndices.prototype={addEventWithId(id,event){if(!this.flowEventsById_.hasOwnProperty(id)){this.flowEventsById_[id]=[];}
5155this.flowEventsById_[id].push(event);},getFlowEventsWithId(id){if(!this.flowEventsById_.hasOwnProperty(id)){return[];}
5156return this.flowEventsById_[id];}};return{ModelIndices,};});'use strict';tr.exportTo('tr.model',function(){function ModelStats(){this.traceEventCountsByKey_=new Map();this.allTraceEventStats_=[];this.traceEventStatsInTimeIntervals_=new Map();this.allTraceEventStatsInTimeIntervals_=[];this.hasEventSizesinBytes_=false;this.traceImportDurationMs_=undefined;}
5157ModelStats.prototype={TIME_INTERVAL_SIZE_IN_MS:100,willProcessBasicTraceEvent(phase,category,title,ts,opt_eventSizeinBytes){const key=phase+'/'+category+'/'+title;let eventStats=this.traceEventCountsByKey_.get(key);if(eventStats===undefined){eventStats={phase,category,title,numEvents:0,totalEventSizeinBytes:0};this.traceEventCountsByKey_.set(key,eventStats);this.allTraceEventStats_.push(eventStats);}
5158eventStats.numEvents++;const timeIntervalKey=Math.floor(tr.b.Unit.timestampFromUs(ts)/this.TIME_INTERVAL_SIZE_IN_MS);let eventStatsByTimeInverval=this.traceEventStatsInTimeIntervals_.get(timeIntervalKey);if(eventStatsByTimeInverval===undefined){eventStatsByTimeInverval={timeInterval:timeIntervalKey,numEvents:0,totalEventSizeinBytes:0};this.traceEventStatsInTimeIntervals_.set(timeIntervalKey,eventStatsByTimeInverval);this.allTraceEventStatsInTimeIntervals_.push(eventStatsByTimeInverval);}
5159eventStatsByTimeInverval.numEvents++;if(opt_eventSizeinBytes!==undefined){this.hasEventSizesinBytes_=true;eventStats.totalEventSizeinBytes+=opt_eventSizeinBytes;eventStatsByTimeInverval.totalEventSizeinBytes+=opt_eventSizeinBytes;}},get allTraceEventStats(){return this.allTraceEventStats_;},get allTraceEventStatsInTimeIntervals(){return this.allTraceEventStatsInTimeIntervals_;},get hasEventSizesinBytes(){return this.hasEventSizesinBytes_;},get traceImportDurationMs(){return this.traceImportDurationMs_;},set traceImportDurationMs(traceImportDurationMs){this.traceImportDurationMs_=traceImportDurationMs;}};return{ModelStats,};});'use strict';tr.exportTo('tr.model',function(){function VMRegion(startAddress,sizeInBytes,protectionFlags,mappedFile,byteStats){this.startAddress=startAddress;this.sizeInBytes=sizeInBytes;this.protectionFlags=protectionFlags;this.mappedFile=mappedFile||'';this.byteStats=byteStats||{};}
5160VMRegion.PROTECTION_FLAG_READ=4;VMRegion.PROTECTION_FLAG_WRITE=2;VMRegion.PROTECTION_FLAG_EXECUTE=1;VMRegion.PROTECTION_FLAG_MAYSHARE=128;VMRegion.prototype={get uniqueIdWithinProcess(){return this.mappedFile+'#'+this.startAddress;},get protectionFlagsToString(){if(this.protectionFlags===undefined)return undefined;return((this.protectionFlags&VMRegion.PROTECTION_FLAG_READ?'r':'-')+
5161(this.protectionFlags&VMRegion.PROTECTION_FLAG_WRITE?'w':'-')+
5162(this.protectionFlags&VMRegion.PROTECTION_FLAG_EXECUTE?'x':'-')+
5163(this.protectionFlags&VMRegion.PROTECTION_FLAG_MAYSHARE?'s':'p'));}};VMRegion.fromDict=function(dict){return new VMRegion(dict.startAddress,dict.sizeInBytes,dict.protectionFlags,dict.mappedFile,dict.byteStats);};function VMRegionClassificationNode(opt_rule){this.rule_=opt_rule||VMRegionClassificationNode.CLASSIFICATION_RULES;this.hasRegions=false;this.sizeInBytes=undefined;this.byteStats={};this.children_=undefined;this.regions_=[];}
5164VMRegionClassificationNode.CLASSIFICATION_RULES={name:'Total',children:[{name:'Android',file:/^\/dev\/ashmem(?!\/libc malloc)/,children:[{name:'Java runtime',file:/^\/dev\/ashmem\/dalvik-/,children:[{name:'Spaces',file:/\/dalvik-(alloc|main|large object|non moving|zygote) space/,children:[{name:'Normal',file:/\/dalvik-(alloc|main)/},{name:'Large',file:/\/dalvik-large object/},{name:'Zygote',file:/\/dalvik-zygote/},{name:'Non-moving',file:/\/dalvik-non moving/}]},{name:'Linear Alloc',file:/\/dalvik-LinearAlloc/},{name:'Indirect Reference Table',file:/\/dalvik-indirect.ref/},{name:'Cache',file:/\/dalvik-jit-code-cache/},{name:'Accounting'}]},{name:'Cursor',file:/\/CursorWindow/},{name:'Ashmem'}]},{name:'Native heap',file:/^((\[heap\])|(\[anon:)|(\/dev\/ashmem\/libc malloc)|(\[discounted tracing overhead\])|$)/},{name:'Stack',file:/^\[stack/},{name:'Files',file:/\.((((jar)|(apk)|(ttf)|(odex)|(oat)|(art))$)|(dex)|(so))/,children:[{name:'so',file:/\.so/},{name:'jar',file:/\.jar$/},{name:'apk',file:/\.apk$/},{name:'ttf',file:/\.ttf$/},{name:'dex',file:/\.((dex)|(odex$))/},{name:'oat',file:/\.oat$/},{name:'art',file:/\.art$/}]},{name:'Devices',file:/(^\/dev\/)|(anon_inode:dmabuf)/,children:[{name:'GPU',file:/\/((nv)|(mali)|(kgsl))/},{name:'DMA',file:/anon_inode:dmabuf/}]}]};VMRegionClassificationNode.OTHER_RULE={name:'Other'};VMRegionClassificationNode.fromRegions=function(regions,opt_rules){const tree=new VMRegionClassificationNode(opt_rules);tree.regions_=regions;for(let i=0;i<regions.length;i++){tree.addStatsFromRegion_(regions[i]);}
5165return tree;};VMRegionClassificationNode.prototype={get title(){return this.rule_.name;},get children(){if(this.isLeafNode){return undefined;}
5166if(this.children_===undefined){this.buildTree_();}
5167return this.children_;},get regions(){if(!this.isLeafNode){return undefined;}
5168return this.regions_;},get allRegionsForTesting(){if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');}
5169return this.regions_;}
5170let regions=[];this.children_.forEach(function(childNode){regions=regions.concat(childNode.allRegionsForTesting);});return regions;},get isLeafNode(){const children=this.rule_.children;return children===undefined||children.length===0;},addRegion(region){this.addRegionRecursively_(region,true);},someRegion(fn,opt_this){if(this.regions_!==undefined){return this.regions_.some(fn,opt_this);}
5171return this.children_.some(function(childNode){return childNode.someRegion(fn,opt_this);});},addRegionRecursively_(region,addStatsToThisNode){if(addStatsToThisNode){this.addStatsFromRegion_(region);}
5172if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');}
5173this.regions_.push(region);return;}
5174function regionRowMatchesChildNide(child){const fileRegExp=child.rule_.file;if(fileRegExp===undefined)return true;return fileRegExp.test(region.mappedFile);}
5175let matchedChild=tr.b.findFirstInArray(this.children_,regionRowMatchesChildNide);if(matchedChild===undefined){if(this.children_.length!==this.rule_.children.length){throw new Error('Internal error');}
5176matchedChild=new VMRegionClassificationNode(VMRegionClassificationNode.OTHER_RULE);this.children_.push(matchedChild);}
5177matchedChild.addRegionRecursively_(region,true);},buildTree_(){const cachedRegions=this.regions_;this.regions_=undefined;this.buildChildNodesRecursively_();for(let i=0;i<cachedRegions.length;i++){this.addRegionRecursively_(cachedRegions[i],false);}},buildChildNodesRecursively_(){if(this.children_!==undefined){throw new Error('Internal error: Classification node already has children');}
5178if(this.regions_!==undefined&&this.regions_.length!==0){throw new Error('Internal error: Classification node should have no regions');}
5179if(this.isLeafNode){return;}
5180this.regions_=undefined;this.children_=this.rule_.children.map(function(childRule){const child=new VMRegionClassificationNode(childRule);child.buildChildNodesRecursively_();return child;});},addStatsFromRegion_(region){this.hasRegions=true;const regionSizeInBytes=region.sizeInBytes;if(regionSizeInBytes!==undefined){this.sizeInBytes=(this.sizeInBytes||0)+regionSizeInBytes;}
5181const thisByteStats=this.byteStats;const regionByteStats=region.byteStats;for(const byteStatName in regionByteStats){const regionByteStatValue=regionByteStats[byteStatName];if(regionByteStatValue===undefined)continue;thisByteStats[byteStatName]=(thisByteStats[byteStatName]||0)+regionByteStatValue;}}};return{VMRegion,VMRegionClassificationNode,};});'use strict';tr.exportTo('tr.model',function(){const DISCOUNTED_ALLOCATOR_NAMES=['winheap','malloc'];const TRACING_OVERHEAD_PATH=['allocated_objects','tracing_overhead'];const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const RESIDENT_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME;function getSizeNumericValue(dump,sizeNumericName){const sizeNumeric=dump.numerics[sizeNumericName];if(sizeNumeric===undefined)return 0;return sizeNumeric.value;}
5182function ProcessMemoryDump(globalMemoryDump,process,start){tr.model.ContainerMemoryDump.call(this,start);this.process=process;this.globalMemoryDump=globalMemoryDump;this.totals=undefined;this.vmRegions=undefined;this.heapDumps=undefined;this.tracingOverheadOwnershipSetUp_=false;this.tracingOverheadDiscountedFromVmRegions_=false;}
5183ProcessMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Process memory dump at '+
5184tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return this.process.userFriendlyName;},get processMemoryDumps(){const dumps={};dumps[this.process.pid]=this;return dumps;},get hasOwnVmRegions(){return this.vmRegions!==undefined;},setUpTracingOverheadOwnership(opt_model){if(this.tracingOverheadOwnershipSetUp_)return;this.tracingOverheadOwnershipSetUp_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined||tracingDump.owns!==undefined){return;}
5185if(tracingDump.owns!==undefined)return;const hasDiscountedFromAllocatorDumps=DISCOUNTED_ALLOCATOR_NAMES.some(function(allocatorName){const allocatorDump=this.getMemoryAllocatorDumpByFullName(allocatorName);if(allocatorDump===undefined){return false;}
5186let nextPathIndex=0;let currentDump=allocatorDump;let currentFullName=allocatorName;for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+
5187TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=this.getMemoryAllocatorDumpByFullName(childFullName);if(childDump===undefined)break;currentDump=childDump;currentFullName=childFullName;}
5188for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+
5189TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=new tr.model.MemoryAllocatorDump(currentDump.containerMemoryDump,childFullName);childDump.parent=currentDump;currentDump.children.push(childDump);currentFullName=childFullName;currentDump=childDump;}
5190const ownershipLink=new tr.model.MemoryAllocatorDumpLink(tracingDump,currentDump);tracingDump.owns=ownershipLink;currentDump.ownedBy.push(ownershipLink);return true;},this);if(hasDiscountedFromAllocatorDumps){this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();}},discountTracingOverheadFromVmRegions(opt_model){if(this.tracingOverheadDiscountedFromVmRegions_)return;this.tracingOverheadDiscountedFromVmRegions_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined)return;const discountedSize=getSizeNumericValue(tracingDump,SIZE_NUMERIC_NAME);const discountedResidentSize=getSizeNumericValue(tracingDump,RESIDENT_SIZE_NUMERIC_NAME);if(discountedSize<=0&&discountedResidentSize<=0)return;if(this.totals!==undefined){if(this.totals.residentBytes!==undefined){this.totals.residentBytes-=discountedResidentSize;}
5191if(this.totals.peakResidentBytes!==undefined){this.totals.peakResidentBytes-=discountedResidentSize;}}
5192if(this.vmRegions!==undefined){const hasSizeInBytes=this.vmRegions.sizeInBytes!==undefined;const hasPrivateDirtyResident=this.vmRegions.byteStats.privateDirtyResident!==undefined;const hasProportionalResident=this.vmRegions.byteStats.proportionalResident!==undefined;if((hasSizeInBytes&&discountedSize>0)||((hasPrivateDirtyResident||hasProportionalResident)&&discountedResidentSize>0)){const byteStats={};if(hasPrivateDirtyResident){byteStats.privateDirtyResident=-discountedResidentSize;}
5193if(hasProportionalResident){byteStats.proportionalResident=-discountedResidentSize;}
5194this.vmRegions.addRegion(tr.model.VMRegion.fromDict({mappedFile:'[discounted tracing overhead]',sizeInBytes:hasSizeInBytes?-discountedSize:undefined,byteStats}));}}}};ProcessMemoryDump.hookUpMostRecentVmRegionsLinks=function(processDumps){let mostRecentVmRegions=undefined;processDumps.forEach(function(processDump){if(processDump.vmRegions!==undefined){mostRecentVmRegions=processDump.vmRegions;}
5195processDump.mostRecentVmRegions=mostRecentVmRegions;});};tr.model.EventRegistry.register(ProcessMemoryDump,{name:'processMemoryDump',pluralName:'processMemoryDumps'});return{ProcessMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const ProcessBase=tr.model.ProcessBase;const ProcessInstantEvent=tr.model.ProcessInstantEvent;const Frame=tr.model.Frame;const ProcessMemoryDump=tr.model.ProcessMemoryDump;function Process(model,pid){if(model===undefined){throw new Error('model must be provided');}
5196if(pid===undefined){throw new Error('pid must be provided');}
5197tr.model.ProcessBase.call(this,model);this.pid=pid;this.name=undefined;this.labels=[];this.uptime_seconds=0;this.instantEvents=[];this.memoryDumps=[];this.frames=[];this.activities=[];}
5198Process.compare=function(x,y){let tmp=tr.model.ProcessBase.compare(x,y);if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;tmp=tr.b.compareArrays(x.labels,y.labels,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.pid-y.pid;};Process.prototype={__proto__:tr.model.ProcessBase.prototype,get stableId(){return this.pid;},compareTo(that){return Process.compare(this,that);},*childEvents(){yield*ProcessBase.prototype.childEvents.call(this);yield*this.instantEvents;yield*this.frames;yield*this.memoryDumps;},addLabelIfNeeded(labelName){for(let i=0;i<this.labels.length;i++){if(this.labels[i]===labelName)return;}
5199this.labels.push(labelName);},get userFriendlyName(){let res;if(this.name){res=this.name+' (pid '+this.pid+')';}else{res='Process '+this.pid;}
5200if(this.labels.length){res+=': '+this.labels.join(', ');}
5201if(this.uptime_seconds){res+=', uptime:'+this.uptime_seconds+'s';}
5202return res;},get userFriendlyDetails(){if(this.name){return this.name+' (pid '+this.pid+')';}
5203return'pid: '+this.pid;},getSettingsKey(){if(!this.name)return undefined;if(!this.labels.length)return'processes.'+this.name;return'processes.'+this.name+'.'+this.labels.join('.');},shiftTimestampsForward(amount){for(let i=0;i<this.instantEvents.length;i++){this.instantEvents[i].start+=amount;}
5204for(let i=0;i<this.frames.length;i++){this.frames[i].shiftTimestampsForward(amount);}
5205for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].shiftTimestampsForward(amount);}
5206for(let i=0;i<this.activities.length;i++){this.activities[i].shiftTimestampsForward(amount);}
5207tr.model.ProcessBase.prototype.shiftTimestampsForward.apply(this,arguments);},updateBounds(){tr.model.ProcessBase.prototype.updateBounds.apply(this);for(let i=0;i<this.frames.length;i++){this.frames[i].addBoundsToRange(this.bounds);}
5208for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].addBoundsToRange(this.bounds);}
5209for(let i=0;i<this.activities.length;i++){this.activities[i].addBoundsToRange(this.bounds);}},sortMemoryDumps(){this.memoryDumps.sort(function(x,y){return x.start-y.start;});tr.model.ProcessMemoryDump.hookUpMostRecentVmRegionsLinks(this.memoryDumps);}};return{Process,};});'use strict';tr.exportTo('tr.model',function(){function Sample(start,title,leafNode,thread,opt_cpu,opt_weight,opt_args){tr.model.TimedEvent.call(this,start);this.start_=start;this.title_=title;this.leafNode_=leafNode;this.thread_=thread;this.colorId_=leafNode.colorId;this.cpu_=opt_cpu;this.weight_=opt_weight;this.args=opt_args||{};}
5210Sample.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.title_;},get colorId(){return this.colorId_;},get thread(){return this.thread_;},get leafNode(){return this.leafNode_;},get userFriendlyName(){return'Sample at '+
5211tr.b.Unit.byName.timeStampInMs.format(this.start);},get userFriendlyStack(){return this.leafNode_.userFriendlyStack;},getNodesAsArray(){const nodes=[];let node=this.leafNode_;while(node!==undefined){nodes.push(node);node=node.parentNode;}
5212return nodes;},get cpu(){return this.cpu_;},get weight(){return this.weight_;},};tr.model.EventRegistry.register(Sample,{name:'Sample',pluralName:'Samples'});return{Sample,};});'use strict';tr.exportTo('tr.model',function(){function StackFrame(parentFrame,id,title,colorId,opt_sourceInfo){if(id===undefined){throw new Error('id must be given');}
5213this.parentFrame_=parentFrame;this.id=id;this.title_=title;this.colorId=colorId;this.children=[];this.sourceInfo_=opt_sourceInfo;if(this.parentFrame_){this.parentFrame_.addChild(this);}}
5214StackFrame.prototype={get parentFrame(){return this.parentFrame_;},get title(){if(this.sourceInfo_){const src=this.sourceInfo_.toString();return this.title_+(src===''?'':' '+src);}
5215return this.title_;},get domain(){let result='unknown';if(this.sourceInfo_&&this.sourceInfo_.domain){result=this.sourceInfo_.domain;}
5216if(result==='unknown'&&this.parentFrame){result=this.parentFrame.domain;}
5217return result;},get sourceInfo(){return this.sourceInfo_;},set parentFrame(parentFrame){if(this.parentFrame_){Polymer.dom(this.parentFrame_).removeChild(this);}
5218this.parentFrame_=parentFrame;if(this.parentFrame_){this.parentFrame_.addChild(this);}},addChild(child){this.children.push(child);},removeChild(child){const i=this.children.indexOf(child.id);if(i===-1){throw new Error('omg');}
5219this.children.splice(i,1);},removeAllChildren(){for(let i=0;i<this.children.length;i++){this.children[i].parentFrame_=undefined;}
5220this.children.splice(0,this.children.length);},get stackTrace(){const stack=[this];let cur=this.parentFrame;while(cur){stack.push(cur);cur=cur.parentFrame;}
5221return stack;},getUserFriendlyStackTrace(){return this.stackTrace.map(function(x){return x.title;});}};return{StackFrame,};});'use strict';tr.exportTo('tr.model.um',function(){class Segment extends tr.model.TimedEvent{constructor(start,duration){super(start);this.duration=duration;this.expectations_=[];}
5222get expectations(){return this.expectations_;}
5223clone(){const clone=new Segment(this.start,this.duration);clone.expectations.push(...this.expectations);return clone;}
5224addSegment(other){this.duration+=other.duration;this.expectations.push(...other.expectations);}}
5225return{Segment,};});'use strict';tr.exportTo('tr.model.um',function(){class UserModel extends tr.model.EventContainer{constructor(parentModel){super();this.parentModel_=parentModel;this.expectations_=new tr.model.EventSet();this.segments_=[];}
5226get stableId(){return'UserModel';}
5227get parentModel(){return this.parentModel_;}
5228sortExpectations(){this.expectations_.sortEvents((x,y)=>(x.start-y.start));}
5229get expectations(){return this.expectations_;}
5230shiftTimestampsForward(amount){}
5231addCategoriesToDict(categoriesDict){}
5232get segments(){return this.segments_;}*childEvents(){yield*this.expectations;}*childEventContainers(){}
5233updateBounds(){this.bounds.reset();for(const expectation of this.expectations){expectation.addBoundsToRange(this.bounds);}}
5234resegment(getKeyForSegment){const newSegments=[];let prevKey=undefined;let prevSegment=undefined;for(let i=0;i<this.segments.length;++i){const segment=this.segments[i];const key=getKeyForSegment(segment,i);if(prevSegment!==undefined&&key===prevKey){prevSegment.addSegment(segment);}else{prevSegment=segment.clone();newSegments.push(prevSegment);}
5235prevKey=key;}
5236return newSegments;}}
5237return{UserModel,};});'use strict';tr.exportTo('tr',function(){const Process=tr.model.Process;const Device=tr.model.Device;const Kernel=tr.model.Kernel;const GlobalMemoryDump=tr.model.GlobalMemoryDump;const GlobalInstantEvent=tr.model.GlobalInstantEvent;const FlowEvent=tr.model.FlowEvent;const Alert=tr.model.Alert;const Sample=tr.model.Sample;function Model(){tr.model.EventContainer.call(this);tr.b.EventTarget.decorate(this);this.timestampShiftToZeroAmount_=0;this.faviconHue='blue';this.device=new Device(this);this.kernel=new Kernel(this);this.processes={};this.metadata=[];this.categories=[];this.instantEvents=[];this.flowEvents=[];this.clockSyncManager=new tr.model.ClockSyncManager();this.intrinsicTimeUnit_=undefined;this.stackFrames={};this.samples=[];this.alerts=[];this.userModel=new tr.model.um.UserModel(this);this.flowIntervalTree=new tr.b.IntervalTree((f)=>f.start,(f)=>f.end);this.globalMemoryDumps=[];this.userFriendlyCategoryDrivers_=[];this.annotationsByGuid_={};this.modelIndices=undefined;this.stats=new tr.model.ModelStats();this.importWarnings_=[];this.reportedImportWarnings_={};this.isTimeHighResolution_=true;this.patchupsToApply_=[];this.doesHelperGUIDSupportThisModel_={};this.helpersByConstructorGUID_={};this.eventsByStableId_=undefined;}
5238Model.prototype={__proto__:tr.model.EventContainer.prototype,getEventByStableId(stableId){if(this.eventsByStableId_===undefined){this.eventsByStableId_={};for(const event of this.getDescendantEvents()){this.eventsByStableId_[event.stableId]=event;}}
5239return this.eventsByStableId_[stableId];},getOrCreateHelper(constructor){if(!constructor.guid){throw new Error('Helper constructors must have GUIDs');}
5240if(this.helpersByConstructorGUID_[constructor.guid]===undefined){if(this.doesHelperGUIDSupportThisModel_[constructor.guid]===undefined){this.doesHelperGUIDSupportThisModel_[constructor.guid]=constructor.supportsModel(this);}
5241if(!this.doesHelperGUIDSupportThisModel_[constructor.guid]){return undefined;}
5242this.helpersByConstructorGUID_[constructor.guid]=new constructor(this);}
5243return this.helpersByConstructorGUID_[constructor.guid];},*childEvents(){yield*this.globalMemoryDumps;yield*this.instantEvents;yield*this.flowEvents;yield*this.alerts;yield*this.samples;},*childEventContainers(){yield this.userModel;yield this.device;yield this.kernel;yield*Object.values(this.processes);},iterateAllPersistableObjects(callback){this.kernel.iterateAllPersistableObjects(callback);for(const pid in this.processes){this.processes[pid].iterateAllPersistableObjects(callback);}},updateBounds(){this.bounds.reset();const bounds=this.bounds;for(const ec of this.childEventContainers()){ec.updateBounds();bounds.addRange(ec.bounds);}
5244for(const event of this.childEvents()){event.addBoundsToRange(bounds);}},shiftWorldToZero(){const shiftAmount=-this.bounds.min;this.timestampShiftToZeroAmount_=shiftAmount;for(const ec of this.childEventContainers()){ec.shiftTimestampsForward(shiftAmount);}
5245for(const event of this.childEvents()){event.start+=shiftAmount;}
5246this.updateBounds();},convertTimestampToModelTime(sourceClockDomainName,ts){if(sourceClockDomainName!=='traceEventClock'){throw new Error('Only traceEventClock is supported.');}
5247return tr.b.Unit.timestampFromUs(ts)+
5248this.timestampShiftToZeroAmount_;},get numProcesses(){let n=0;for(const p in this.processes){n++;}
5249return n;},getProcess(pid){return this.processes[pid];},getOrCreateProcess(pid){if(!this.processes[pid]){this.processes[pid]=new Process(this,pid);}
5250return this.processes[pid];},addStackFrame(stackFrame){if(this.stackFrames[stackFrame.id]){throw new Error('Stack frame already exists');}
5251this.stackFrames[stackFrame.id]=stackFrame;return stackFrame;},updateCategories_(){const categoriesDict={};this.userModel.addCategoriesToDict(categoriesDict);this.device.addCategoriesToDict(categoriesDict);this.kernel.addCategoriesToDict(categoriesDict);for(const pid in this.processes){this.processes[pid].addCategoriesToDict(categoriesDict);}
5252this.categories=[];for(const category in categoriesDict){if(category!==''){this.categories.push(category);}}},getAllThreads(){const threads=[];for(const tid in this.kernel.threads){threads.push(process.threads[tid]);}
5253for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.threads){threads.push(process.threads[tid]);}}
5254return threads;},getAllProcesses(opt_predicate){const processes=[];for(const pid in this.processes){const process=this.processes[pid];if(opt_predicate===undefined||opt_predicate(process)){processes.push(process);}}
5255return processes;},getAllCounters(){const counters=[];counters.push.apply(counters,Object.values(this.device.counters||{}));counters.push.apply(counters,Object.values(this.kernel.counters||{}));for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.counters){counters.push(process.counters[tid]);}}
5256return counters;},getAnnotationByGUID(guid){return this.annotationsByGuid_[guid];},addAnnotation(annotation){if(!annotation.guid){throw new Error('Annotation with undefined guid given');}
5257this.annotationsByGuid_[annotation.guid]=annotation;tr.b.dispatchSimpleEvent(this,'annotationChange');},removeAnnotation(annotation){this.annotationsByGuid_[annotation.guid].onRemove();delete this.annotationsByGuid_[annotation.guid];tr.b.dispatchSimpleEvent(this,'annotationChange');},getAllAnnotations(){return Object.values(this.annotationsByGuid_);},addUserFriendlyCategoryDriver(ufcd){this.userFriendlyCategoryDrivers_.push(ufcd);},getUserFriendlyCategoryFromEvent(event){for(let i=0;i<this.userFriendlyCategoryDrivers_.length;i++){const ufc=this.userFriendlyCategoryDrivers_[i].fromEvent(event);if(ufc!==undefined)return ufc;}
5258return undefined;},findAllThreadsNamed(name){const namedThreads=[];namedThreads.push.apply(namedThreads,this.kernel.findAllThreadsNamed(name));for(const pid in this.processes){namedThreads.push.apply(namedThreads,this.processes[pid].findAllThreadsNamed(name));}
5259return namedThreads;},get importOptions(){return this.importOptions_;},set importOptions(options){this.importOptions_=options;},get intrinsicTimeUnit(){if(this.intrinsicTimeUnit_===undefined){return tr.b.TimeDisplayModes.ms;}
5260return this.intrinsicTimeUnit_;},set intrinsicTimeUnit(value){if(this.intrinsicTimeUnit_===value)return;if(this.intrinsicTimeUnit_!==undefined){throw new Error('Intrinsic time unit already set');}
5261this.intrinsicTimeUnit_=value;},get isTimeHighResolution(){return this.isTimeHighResolution_;},set isTimeHighResolution(value){this.isTimeHighResolution_=value;},get canonicalUrl(){return this.canonicalUrl_;},set canonicalUrl(value){if(this.canonicalUrl_===value)return;if(this.canonicalUrl_!==undefined){throw new Error('canonicalUrl already set');}
5262this.canonicalUrl_=value;},importWarning(data){data.showToUser=!!data.showToUser;this.importWarnings_.push(data);if(this.reportedImportWarnings_[data.type]===true)return;this.reportedImportWarnings_[data.type]=true;},get hasImportWarnings(){return(this.importWarnings_.length>0);},get importWarnings(){return this.importWarnings_;},get importWarningsThatShouldBeShownToUser(){return this.importWarnings_.filter(function(warning){return warning.showToUser;});},autoCloseOpenSlices(){this.samples.sort(function(x,y){return x.start-y.start;});this.updateBounds();this.kernel.autoCloseOpenSlices();for(const pid in this.processes){this.processes[pid].autoCloseOpenSlices();}},createSubSlices(){this.kernel.createSubSlices();for(const pid in this.processes){this.processes[pid].createSubSlices();}},preInitializeObjects(){for(const pid in this.processes){this.processes[pid].preInitializeObjects();}},initializeObjects(){for(const pid in this.processes){this.processes[pid].initializeObjects();}},pruneEmptyContainers(){this.kernel.pruneEmptyContainers();for(const pid in this.processes){this.processes[pid].pruneEmptyContainers();}},mergeKernelWithUserland(){for(const pid in this.processes){this.processes[pid].mergeKernelWithUserland();}},computeWorldBounds(shiftWorldToZero){this.updateBounds();this.updateCategories_();if(shiftWorldToZero){this.shiftWorldToZero();}},buildFlowEventIntervalTree(){for(let i=0;i<this.flowEvents.length;++i){const flowEvent=this.flowEvents[i];this.flowIntervalTree.insert(flowEvent);}
5263this.flowIntervalTree.updateHighValues();},cleanupUndeletedObjects(){for(const pid in this.processes){this.processes[pid].autoDeleteObjects(this.bounds.max);}},sortMemoryDumps(){this.globalMemoryDumps.sort(function(x,y){return x.start-y.start;});for(const pid in this.processes){this.processes[pid].sortMemoryDumps();}},finalizeMemoryGraphs(){this.globalMemoryDumps.forEach(function(dump){dump.finalizeGraph();});},buildEventIndices(){this.modelIndices=new tr.model.ModelIndices(this);},sortAlerts(){this.alerts.sort(function(x,y){return x.start-y.start;});},applyObjectRefPatchups(){const unresolved=[];this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef in this.processes){const snapshot=this.processes[patchup.pidRef].objects.getSnapshotAt(patchup.scopedId,patchup.ts);if(snapshot){patchup.object[patchup.field]=snapshot;snapshot.referencedAt(patchup.item,patchup.object,patchup.field);return;}}
5264unresolved.push(patchup);},this);this.patchupsToApply_=unresolved;},replacePIDRefsInPatchups(oldPidRef,newPidRef){this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef===oldPidRef){patchup.pidRef=newPidRef;}});},joinRefs(){this.joinObjectRefs_();this.applyObjectRefPatchups();},joinObjectRefs_(){for(const[pid,process]of Object.entries(this.processes)){this.joinObjectRefsForProcess_(pid,process);}},joinObjectRefsForProcess_(pid,process){for(const thread of Object.values(process.threads)){thread.asyncSliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);thread.sliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);}
5265process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(item){this.searchItemForIDRefs_(pid,'ts',item);},this);},this);},searchItemForIDRefs_(pid,itemTimestampField,item){if(!item.args&&!item.contexts)return;const patchupsToApply=this.patchupsToApply_;function handleField(object,fieldName,fieldValue){if(!fieldValue||(!fieldValue.id_ref&&!fieldValue.idRef)){return;}
5266const scope=fieldValue.scope||tr.model.OBJECT_DEFAULT_SCOPE;const idRef=fieldValue.id_ref||fieldValue.idRef;const scopedId=new tr.model.ScopedId(scope,idRef);const pidRef=fieldValue.pid_ref||fieldValue.pidRef||pid;const ts=item[itemTimestampField];patchupsToApply.push({item,object,field:fieldName,pidRef,scopedId,ts});}
5267function iterObjectFieldsRecursively(object){if(!(object instanceof Object))return;if((object instanceof tr.model.ObjectSnapshot)||(object instanceof Float32Array)||(object instanceof tr.b.math.Quad)){return;}
5268if(object instanceof Array){for(let i=0;i<object.length;i++){handleField(object,i,object[i]);iterObjectFieldsRecursively(object[i]);}
5269return;}
5270for(const key in object){const value=object[key];handleField(object,key,value);iterObjectFieldsRecursively(value);}}
5271iterObjectFieldsRecursively(item.args);iterObjectFieldsRecursively(item.contexts);}};return{Model,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const kThreadGuid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadDCStartOpcode=3;function Decoder(){this.payload_=new DataView(new ArrayBuffer(256));}
5272Decoder.prototype={__proto__:Object.prototype,reset(base64Payload){const decodedSize=tr.b.Base64.getDecodedBufferLength(base64Payload);if(decodedSize>this.payload_.byteLength){this.payload_=new DataView(new ArrayBuffer(decodedSize));}
5273tr.b.Base64.DecodeToTypedArray(base64Payload,this.payload_);this.position_=0;},skip(length){this.position_+=length;},decodeUInt8(){const result=this.payload_.getUint8(this.position_,true);this.position_+=1;return result;},decodeUInt16(){const result=this.payload_.getUint16(this.position_,true);this.position_+=2;return result;},decodeUInt32(){const result=this.payload_.getUint32(this.position_,true);this.position_+=4;return result;},decodeUInt64ToString(){const low=this.decodeUInt32();const high=this.decodeUInt32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},decodeInt8(){const result=this.payload_.getInt8(this.position_,true);this.position_+=1;return result;},decodeInt16(){const result=this.payload_.getInt16(this.position_,true);this.position_+=2;return result;},decodeInt32(){const result=this.payload_.getInt32(this.position_,true);this.position_+=4;return result;},decodeInt64ToString(){return this.decodeUInt64ToString();},decodeUInteger(is64){if(is64){return this.decodeUInt64ToString();}
5274return this.decodeUInt32();},decodeString(){let str='';while(true){const c=this.decodeUInt8();if(!c)return str;str=str+String.fromCharCode(c);}},decodeW16String(){let str='';while(true){const c=this.decodeUInt16();if(!c)return str;str=str+String.fromCharCode(c);}},decodeFixedW16String(length){const oldPosition=this.position_;let str='';for(let i=0;i<length;i++){const c=this.decodeUInt16();if(!c)break;str=str+String.fromCharCode(c);}
5275this.position_=oldPosition+2*length;return str;},decodeBytes(length){const bytes=[];for(let i=0;i<length;++i){const c=this.decodeUInt8();bytes.push(c);}
5276return bytes;},decodeSID(is64){const pSid=this.decodeUInteger(is64);const attributes=this.decodeUInt32();if(is64){this.decodeUInt32();}
5277const revision=this.decodeUInt8();const subAuthorityCount=this.decodeUInt8();this.decodeUInt16();this.decodeUInt32();if(revision!==1){throw new Error('Invalid SID revision: could not decode the SID structure.');}
5278const sid=this.decodeBytes(4*subAuthorityCount);return{pSid,attributes,sid};},decodeSystemTime(){const wYear=this.decodeInt16();const wMonth=this.decodeInt16();const wDayOfWeek=this.decodeInt16();const wDay=this.decodeInt16();const wHour=this.decodeInt16();const wMinute=this.decodeInt16();const wSecond=this.decodeInt16();const wMilliseconds=this.decodeInt16();return{wYear,wMonth,wDayOfWeek,wDay,wHour,wMinute,wSecond,wMilliseconds};},decodeTimeZoneInformation(){const bias=this.decodeUInt32();const standardName=this.decodeFixedW16String(32);const standardDate=this.decodeSystemTime();const standardBias=this.decodeUInt32();const daylightName=this.decodeFixedW16String(32);const daylightDate=this.decodeSystemTime();const daylightBias=this.decodeUInt32();return{bias,standardName,standardDate,standardBias,daylightName,daylightDate,daylightBias};}};function EtwImporter(model,events){this.importPriority=3;this.model_=model;this.events_=events;this.handlers_={};this.decoder_=new Decoder();this.walltime_=undefined;this.ticks_=undefined;this.is64bit_=undefined;this.tidsToPid_={};const allTypeInfos=tr.e.importer.etw.Parser.getAllRegisteredTypeInfos();this.parsers_=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);}
5279EtwImporter.canImport=function(events){if(!events.hasOwnProperty('name')||!events.hasOwnProperty('content')||events.name!=='ETW'){return false;}
5280return true;};EtwImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EtwImporter';},get model(){return this.model_;},createThreadIfNeeded(pid,tid){this.tidsToPid_[tid]=pid;},removeThreadIfPresent(tid){this.tidsToPid_[tid]=undefined;},getPidFromWindowsTid(tid){if(tid===0)return 0;const pid=this.tidsToPid_[tid];if(pid===undefined){return 0;}
5281return pid;},getThreadFromWindowsTid(tid){const pid=this.getPidFromWindowsTid(tid);const process=this.model_.getProcess(pid);if(!process)return undefined;return process.getThread(tid);},getOrCreateCpu(cpuNumber){const cpu=this.model_.kernel.getOrCreateCpu(cpuNumber);return cpu;},importEvents(){this.events_.content.forEach(this.parseInfo.bind(this));if(this.walltime_===undefined||this.ticks_===undefined){throw Error('Cannot find clock sync information in the system trace.');}
5282if(this.is64bit_===undefined){throw Error('Cannot determine pointer size of the system trace.');}
5283this.events_.content.forEach(this.parseEvent.bind(this));},importTimestamp(timestamp){const ts=parseInt(timestamp,16);return(ts-this.walltime_+this.ticks_)/1000.;},parseInfo(event){if(event.hasOwnProperty('guid')&&event.hasOwnProperty('walltime')&&event.hasOwnProperty('tick')&&event.guid==='ClockSync'){this.walltime_=parseInt(event.walltime,16);this.ticks_=parseInt(event.tick,16);}
5284if(this.is64bit_===undefined&&event.hasOwnProperty('guid')&&event.hasOwnProperty('op')&&event.hasOwnProperty('ver')&&event.hasOwnProperty('payload')&&event.guid===kThreadGuid&&event.op===kThreadDCStartOpcode){const decodedSize=tr.b.Base64.getDecodedBufferLength(event.payload);if(event.ver===1){if(decodedSize>=52){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===2){if(decodedSize>=64){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===3){if(decodedSize>=60){this.is64bit_=true;}else{this.is64bit_=false;}}}
5285return true;},parseEvent(event){if(!event.hasOwnProperty('guid')||!event.hasOwnProperty('op')||!event.hasOwnProperty('ver')||!event.hasOwnProperty('cpu')||!event.hasOwnProperty('ts')||!event.hasOwnProperty('payload')){return false;}
5286const timestamp=this.importTimestamp(event.ts);const header={guid:event.guid,opcode:event.op,version:event.ver,cpu:event.cpu,timestamp,is64:this.is64bit_};const decoder=this.decoder_;decoder.reset(event.payload);const handler=this.getEventHandler(header.guid,header.opcode);if(!handler)return false;if(!handler(header,decoder)){this.model_.importWarning({type:'parse_error',message:'Malformed '+header.guid+' event ('+event.payload+')'});return false;}
5287return true;},registerEventHandler(guid,opcode,handler){if(this.handlers_[guid]===undefined){this.handlers_[guid]=[];}
5288this.handlers_[guid][opcode]=handler;},getEventHandler(guid,opcode){if(this.handlers_[guid]===undefined){return undefined;}
5289return this.handlers_[guid][opcode];}};tr.importer.Importer.register(EtwImporter);return{EtwImporter,};});'use strict';tr.exportTo('tr.b',function(){class TraceStream{static get HEADER_SIZE(){return Math.pow(2,10);}
5290static get CHUNK_SIZE(){return Math.pow(2,20);}
5291get isBinary(){throw new Error('Not implemented');}
5292get hasData(){throw new Error('Not implemented');}
5293get header(){throw new Error('Not implemented');}
5294readUntilDelimiter(delim){throw new Error('Not implemented');}
5295readNumBytes(opt_size){throw new Error('Not implemented');}
5296rewind(){throw new Error('Not implemented');}
5297substream(offset,opt_length,opt_headerSize){throw new Error('Not implemented');}}
5298return{TraceStream,};});'use strict';tr.exportTo('tr.b',function(){const MAX_FUNCTION_ARGS_COUNT=Math.pow(2,15)-1;class InMemoryTraceStream extends tr.b.TraceStream{constructor(buffer,isBinary,opt_headerSize){super();if(!buffer instanceof Uint8Array){throw new Error('buffer should be a Uint8Array');}
5299const headerSize=opt_headerSize||tr.b.TraceStream.HEADER_SIZE;this.data_=buffer;this.isBinary_=isBinary;this.header_=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(0,headerSize));this.cursor_=0;}
5300get isBinary(){return this.isBinary_;}
5301get hasData(){return this.cursor_<this.data_.length;}
5302get header(){return this.header_;}
5303get data(){return this.data_;}
5304toString(){this.rewind();return this.readNumBytes(Number.MAX_VALUE);}
5305readUntilDelimiter(delim){if(delim.length!==1){throw new Error('delim must be exactly one character');}
5306const offset=this.data_.indexOf(delim.charCodeAt(0),this.cursor_)+1;return this.readToOffset_(offset>0?Math.min(offset,this.data_.length):this.data_.length);}
5307readNumBytes(opt_size){if(opt_size!==undefined&&opt_size<=0){throw new Error(`readNumBytes expects a positive size (${opt_size} given)`);}
5308const size=opt_size||tr.b.TraceStream.CHUNK_SIZE;const offset=Math.min(this.cursor_+size,this.data_.length);return this.readToOffset_(offset);}
5309rewind(){this.cursor_=0;}
5310substream(startOffset,opt_endOffset,opt_headerSize){return new InMemoryTraceStream(this.data_.subarray(startOffset,opt_endOffset),this.isBinary_,opt_headerSize);}
5311readToOffset_(offset){const out=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(this.cursor_,offset));this.cursor_=offset;return out;}
5312static uint8ArrayToString_(arr){const c=[];for(let i=0;i<arr.length;i+=MAX_FUNCTION_ARGS_COUNT){c.push(String.fromCharCode(...arr.subarray(i,i+MAX_FUNCTION_ARGS_COUNT)));}
5313return c.join('');}}
5314return{InMemoryTraceStream,};});!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,f,g,h,i,j="",k=0;k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),e=a.charCodeAt(k++),f=b>>2,g=(3&b)<<4|c>>4,h=(15&c)<<2|e>>6,i=63&e,isNaN(c)?h=i=64:isNaN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return j},c.decode=function(a){var b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)f=d.indexOf(a.charAt(k++)),g=d.indexOf(a.charAt(k++)),h=d.indexOf(a.charAt(k++)),i=d.indexOf(a.charAt(k++)),b=f<<2|g>>4,c=(15&g)<<4|h>>2,e=(3&h)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return j}},{}],2:[function(a,b){"use strict";function c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=c},{}],3:[function(a,b,c){"use strict";c.STORE={magic:"\x00\x00",compress:function(a){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use strict";var c=a("./utils"),d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var e="string"!==c.getTypeOf(a);"undefined"==typeof b&&(b=0);var f=0,g=0,h=0;b=-1^b;for(var i=0,j=a.length;j>i;i++)h=e?a[i]:a.charCodeAt(i),g=255&(b^h),f=d[g],b=b>>>8^f;return-1^b}},{"./utils":21}],5:[function(a,b){"use strict";function c(){this.data=null,this.length=0,this.index=0}var d=a("./utils");c.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<a||0>a)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return d.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=c},{"./utils":21}],6:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.comment=null},{}],7:[function(a,b,c){"use strict";var d=a("./utils");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo("uint8array",a)},c.uint8Array2String=function(a){return d.transformTo("string",a)},c.string2Blob=function(a){var b=d.transformTo("arraybuffer",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{"./utils":21}],8:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,e=a("pako");c.uncompressInputType=d?"uint8array":"array",c.compressInputType=d?"uint8array":"array",c.magic="\b\x00",c.compress=function(a){return e.deflateRaw(a)},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:24}],9:[function(a,b){"use strict";function c(a,b){return this instanceof c?(this.files={},this.comment=null,this.root="",a&&this.load(a,b),void(this.clone=function(){var a=new c;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a})):new c(a,b)}var d=a("./base64");c.prototype=a("./object"),c.prototype.load=a("./load"),c.support=a("./support"),c.defaults=a("./defaults"),c.utils=a("./deprecatedPublicUtils"),c.base64={encode:function(a){return d.encode(a)},decode:function(a){return d.decode(a)}},c.compressions=a("./compressions"),b.exports=c},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(a,b){"use strict";var c=a("./base64"),d=a("./zipEntries");b.exports=function(a,b){var e,f,g,h;for(b=b||{},b.base64&&(a=c.decode(a)),f=new d(a,b),e=f.files,g=0;g<e.length;g++)h=e[g],this.file(h.fileName,h.decompressed,{binary:!0,optimizedBinaryString:!0,date:h.date,dir:h.dir,comment:h.fileComment.length?h.fileComment:null,createFolders:b.createFolders});return f.zipComment.length&&(this.comment=f.zipComment),this}},{"./base64":1,"./zipEntries":22}],11:[function(a,b){(function(a){"use strict";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],12:[function(a,b){"use strict";function c(a){this.data=a,this.length=this.data.length,this.index=0}var d=a("./uint8ArrayReader");c.prototype=new d,c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./uint8ArrayReader":18}],13:[function(a,b){"use strict";var c=a("./support"),d=a("./utils"),e=a("./crc32"),f=a("./signature"),g=a("./defaults"),h=a("./base64"),i=a("./compressions"),j=a("./compressedObject"),k=a("./nodeBuffer"),l=a("./utf8"),m=a("./stringWriter"),n=a("./uint8ArrayWriter"),o=function(a){if(a._data instanceof j&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,"uint8array"===d.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},p=function(a){var b=o(a),e=d.getTypeOf(b);return"string"===e?!a.options.binary&&c.nodebuffer?k(b,"utf-8"):a.asBinary():b},q=function(a){var b=o(this);return null===b||"undefined"==typeof b?"":(this.options.base64&&(b=h.decode(b)),b=a&&this.options.binary?A.utf8decode(b):d.transformTo("string",b),a||this.options.binary||(b=d.transformTo("string",A.utf8encode(b))),b)},r=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};r.prototype={asText:function(){return q.call(this,!0)},asBinary:function(){return q.call(this,!1)},asNodeBuffer:function(){var a=p(this);return d.transformTo("nodebuffer",a)},asUint8Array:function(){var a=p(this);return d.transformTo("uint8array",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var s=function(a,b){var c,d="";for(c=0;b>c;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},t=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=t(a,g),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var e,f=d.getTypeOf(b);if(c=u(c),c.createFolders&&(e=w(a))&&x.call(this,e,!0),c.dir||null===b||"undefined"==typeof b)c.base64=!1,c.binary=!1,b=null;else if("string"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=d.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof j))throw new Error("The data of '"+a+"' is in an unsupported format !");"arraybuffer"===f&&(b=d.transformTo("uint8array",b))}var g=new r(a,b,c);return this.files[a]=g,g},w=function(a){"/"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},x=function(a,b){return"/"!=a.slice(-1)&&(a+="/"),b="undefined"!=typeof b?b:!1,this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},y=function(a,b){var c,f=new j;return a._data instanceof j?(f.uncompressedSize=a._data.uncompressedSize,f.crc32=a._data.crc32,0===f.uncompressedSize||a.dir?(b=i.STORE,f.compressedContent="",f.crc32=0):a._data.compressionMethod===b.magic?f.compressedContent=a._data.getCompressedContent():(c=a._data.getContent(),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c)))):(c=p(a),(!c||0===c.length||a.dir)&&(b=i.STORE,c=""),f.uncompressedSize=c.length,f.crc32=e(c),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c))),f.compressedSize=f.compressedContent.length,f.compressionMethod=b.magic,f},z=function(a,b,c,g){var h,i,j,k,m=(c.compressedContent,d.transformTo("string",l.utf8encode(b.name))),n=b.comment||"",o=d.transformTo("string",l.utf8encode(n)),p=m.length!==b.name.length,q=o.length!==n.length,r=b.options,t="",u="",v="";j=b._initialMetadata.dir!==b.dir?b.dir:r.dir,k=b._initialMetadata.date!==b.date?b.date:r.date,h=k.getHours(),h<<=6,h|=k.getMinutes(),h<<=5,h|=k.getSeconds()/2,i=k.getFullYear()-1980,i<<=4,i|=k.getMonth()+1,i<<=5,i|=k.getDate(),p&&(u=s(1,1)+s(e(m),4)+m,t+="up"+s(u.length,2)+u),q&&(v=s(1,1)+s(this.crc32(o),4)+o,t+="uc"+s(v.length,2)+v);var w="";w+="\n\x00",w+=p||q?"\x00\b":"\x00\x00",w+=c.compressionMethod,w+=s(h,2),w+=s(i,2),w+=s(c.crc32,4),w+=s(c.compressedSize,4),w+=s(c.uncompressedSize,4),w+=s(m.length,2),w+=s(t.length,2);var x=f.LOCAL_FILE_HEADER+w+m+t,y=f.CENTRAL_FILE_HEADER+"\x00"+w+s(o.length,2)+"\x00\x00\x00\x00"+(j===!0?"\x00\x00\x00":"\x00\x00\x00\x00")+s(g,4)+m+t+o;return{fileRecord:x,dirRecord:y,compressedObject:c}},A={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(a){var b,c,d,e,f=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],e=new r(d.name,d._data,t(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,e)&&f.push(e));return f},file:function(a,b,c){if(1===arguments.length){if(d.isRegExp(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=x.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!=a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=t(a||{},{base64:!0,compression:"STORE",type:"base64",comment:null}),d.checkSupport(a.type);var b,c,e=[],g=0,j=0,k=d.transformTo("string",this.utf8encode(a.comment||this.comment||""));for(var l in this.files)if(this.files.hasOwnProperty(l)){var o=this.files[l],p=o.options.compression||a.compression.toUpperCase(),q=i[p];if(!q)throw new Error(p+" is not a valid compression method !");var r=y.call(this,o,q),u=z.call(this,l,o,r,g);g+=u.fileRecord.length+r.compressedSize,j+=u.dirRecord.length,e.push(u)}var v="";v=f.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+s(e.length,2)+s(e.length,2)+s(j,4)+s(g,4)+s(k.length,2)+k;var w=a.type.toLowerCase();for(b="uint8array"===w||"arraybuffer"===w||"blob"===w||"nodebuffer"===w?new n(g+j+v.length):new m(g+j+v.length),c=0;c<e.length;c++)b.append(e[c].fileRecord),b.append(e[c].compressedObject.compressedContent);for(c=0;c<e.length;c++)b.append(e[c].dirRecord);b.append(v);var x=b.finalize();switch(a.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return d.transformTo(a.type.toLowerCase(),x);case"blob":return d.arrayBuffer2Blob(d.transformTo("arraybuffer",x));case"base64":return a.base64?h.encode(x):x;default:return x}},crc32:function(a,b){return e(a,b)},utf8encode:function(a){return d.transformTo("string",l.utf8encode(a))},utf8decode:function(a){return l.utf8decode(a)}};b.exports=A},{"./base64":1,"./compressedObject":2,"./compressions":3,"./crc32":4,"./defaults":6,"./nodeBuffer":11,"./signature":14,"./stringWriter":16,"./support":17,"./uint8ArrayWriter":19,"./utf8":20,"./utils":21}],14:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],15:[function(a,b){"use strict";function c(a,b){this.data=a,b||(this.data=e.string2binary(this.data)),this.length=this.data.length,this.index=0}var d=a("./dataReader"),e=a("./utils");c.prototype=new d,c.prototype.byteAt=function(a){return this.data.charCodeAt(a)},c.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)},c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5,"./utils":21}],16:[function(a,b){"use strict";var c=a("./utils"),d=function(){this.data=[]};d.prototype={append:function(a){a=c.transformTo("string",a),this.data.push(a)},finalize:function(){return this.data.join("")}},b.exports=d},{"./utils":21}],17:[function(a,b,c){(function(a){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof a,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:"application/zip"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob("application/zip").size}catch(d){c.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],18:[function(a,b){"use strict";function c(a){a&&(this.data=a,this.length=this.data.length,this.index=0)}var d=a("./dataReader");c.prototype=new d,c.prototype.byteAt=function(a){return this.data[a]},c.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f;return-1},c.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5}],19:[function(a,b){"use strict";var c=a("./utils"),d=function(a){this.data=new Uint8Array(a),this.index=0};d.prototype={append:function(a){0!==a.length&&(a=c.transformTo("uint8array",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=d},{"./utils":21}],20:[function(a,b,c){"use strict";for(var d=a("./utils"),e=a("./support"),f=a("./nodeBuffer"),g=new Array(256),h=0;256>h;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;h>b;)if(e=a[b++],128>e)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&h>b;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:65536>e?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,"utf-8"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo("nodebuffer",a).toString("utf-8");a=d.transformTo(e.uint8array?"uint8array":"array",a);for(var b=[],c=0,f=a.length,g=65536;f>c;){var h=j(a,Math.min(c+g,f));b.push(e.uint8array?k(a.subarray(c,h)):k(a.slice(c,h))),c=h}return b.join("")}},{"./nodeBuffer":11,"./support":17,"./utils":21}],21:[function(a,b,c){"use strict";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k="",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;e>g&&b>1;)try{d.push("array"===f||"nodebuffer"===f?String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e))):String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join("")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a("./support"),i=a("./compressions"),j=a("./nodeBuffer");c.string2binary=function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a){c.checkSupport("blob");try{return new Blob([a],{type:"application/zip"})}catch(b){try{var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,e=new d;return e.append(a),e.getBlob("application/zip")}catch(b){throw new Error("Bug : can't construct the Blob.")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":h.nodebuffer&&j.test(a)?"nodebuffer":h.uint8array&&a instanceof Uint8Array?"uint8array":h.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this browser")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(16>b?"0":"")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}},{"./compressions":3,"./nodeBuffer":11,"./support":17}],22:[function(a,b){"use strict";function c(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var d=a("./stringReader"),e=a("./nodeBufferReader"),f=a("./uint8ArrayReader"),g=a("./utils"),h=a("./signature"),i=a("./zipEntry"),j=a("./support"),k=a("./object");c.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error("Corrupted zip or bug : unexpected signature ("+g.pretty(b)+", expected "+g.pretty(a)+")")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=k.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;d>e;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(h.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===h.CENTRAL_FILE_HEADER;)a=new i({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(h.CENTRAL_DIRECTORY_END);if(-1===a)throw new Error("Corrupted zip : can't find end of central directory");if(this.reader.setIndex(a),this.checkSignature(h.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===g.MAX_VALUE_16BITS||this.diskWithCentralDirStart===g.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===g.MAX_VALUE_16BITS||this.centralDirRecords===g.MAX_VALUE_16BITS||this.centralDirSize===g.MAX_VALUE_32BITS||this.centralDirOffset===g.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),-1===a)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");this.reader.setIndex(a),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(a){var b=g.getTypeOf(a);this.reader="string"!==b||j.uint8array?"nodebuffer"===b?new e(a):new f(g.transformTo("uint8array",a)):new d(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=c},{"./nodeBufferReader":12,"./object":13,"./signature":14,"./stringReader":15,"./support":17,"./uint8ArrayReader":18,"./utils":21,"./zipEntry":23}],23:[function(a,b){"use strict";function c(a,b){this.options=a,this.loadOptions=b}var d=a("./stringReader"),e=a("./utils"),f=a("./compressedObject"),g=a("./object");c.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,f){return function(){var a=e.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==f)throw new Error("Bug : uncompressed data size mismatch");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readString(this.fileNameLength),a.skip(c),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(b=e.findCompression(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+e.pretty(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new f,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=e.transformTo("string",this.decompressed.getContent()),g.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(a){if(this.versionMadeBy=a.readString(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=a.readString(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readString(this.fileCommentLength),this.dir=16&this.externalFileAttributes?!0:!1},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=new d(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){if(this.useUTF8())this.fileName=g.utf8decode(this.fileName),this.fileComment=g.utf8decode(this.fileComment);else{var a=this.findExtraFieldUnicodePath();null!==a&&(this.fileName=a);var b=this.findExtraFieldUnicodeComment();null!==b&&(this.fileComment=b)}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileName)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileComment)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null}},b.exports=c},{"./compressedObject":2,"./object":13,"./stringReader":15,"./utils":21}],24:[function(a,b){"use strict";var c=a("./lib/utils/common").assign,d=a("./lib/deflate"),e=a("./lib/inflate"),f=a("./lib/zlib/constants"),g={};c(g,d,e,f),b.exports=g},{"./lib/deflate":25,"./lib/inflate":26,"./lib/utils/common":27,"./lib/zlib/constants":30}],25:[function(a,b,c){"use strict";function d(a,b){var c=new s(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}function f(a,b){return b=b||{},b.gzip=!0,d(a,b)}var g=a("./zlib/deflate.js"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=0,m=4,n=0,o=1,p=-1,q=0,r=8,s=function(a){this.options=h.assign({level:p,method:r,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=g.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==n)throw new Error(j[c]);b.header&&g.deflateSetHeader(this.strm,b.header)};s.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeof a?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new h.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)return this.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);return d===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";function d(a,b){var c=new m(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}var f=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)throw new Error(j[c]);this.header=new l,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){var c,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeof a?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new g.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)return this.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);return c===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],28:[function(a,b,c){"use strict";function d(a,b){if(65537>b&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;b>d;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;256>j;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=new e.Buf8(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;d>c;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;h>c;)if(f=a[c++],128>f)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&h>c;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:65536>f?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":27}],29:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],30:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],32:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+hb-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<hb)););}while(a.lookahead<jb&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c)),a.match_length>=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function p(a,b){for(var c,d,e;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=hb-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===hb&&a.strstart-a.match_start>4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=hb-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sb}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sb}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ib){if(m(a),a.lookahead<=ib&&b===H)return sb;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+hb-1)/hb),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=c},{}],34:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.correct){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],35:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.correct=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.correct=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab=0,Bb=new r.Buf8(4),Cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xb=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<<wb,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=lb;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=lb;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=lb;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Cb[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have<c.nlen+c.ndist;){for(;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(rb&&0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.lencode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<<c.distbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.distcode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.correct){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=lb;break}m=0,n=0}c.mode=jb;case jb:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=lb;break}m=0,n=0}c.mode=kb;case kb:xb=D;break a;case lb:xb=G;break a;case mb:return H;case nb:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<lb&&(c.mode<ib||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=mb,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===bb||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xb===C&&(xb=I),xb)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,ab=19,bb=20,cb=21,db=22,eb=23,fb=24,gb=25,hb=26,ib=27,jb=28,kb=29,lb=30,mb=31,nb=32,ob=852,pb=592,qb=15,rb=qb,sb=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";var c=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new c.Buf16(d+1),Q=new c.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<<ab[d];a++)gb[e++]=d;for(e>>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<<ab[d]-7;a++)gb[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=hb[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ib[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=ab[i],0!==j&&(d-=jb[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ab=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":27}],39:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}]},{},[9])(9)});'use strict';if(tr.isVinn){global.window={};}'use strict';if(tr.isVinn){global.JSZip=global.window.JSZip;global.window=undefined;}else if(tr.isNode){const jsZipAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/jszip.min.js');const jsZipModule=require(jsZipAbsPath);global.JSZip=jsZipModule;}'use strict';tr.exportTo('tr.e.importer',function(){const GZIP_MEMBER_HEADER_ID_SIZE=3;const GZIP_HEADER_ID1=0x1f;const GZIP_HEADER_ID2=0x8b;const GZIP_DEFLATE_COMPRESSION=8;function GzipImporter(model,eventData){this.inflateAsTraceStream=false;if(typeof(eventData)==='string'||eventData instanceof String){eventData=JSZip.utils.transformTo('uint8array',eventData);}else if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}else if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.data;this.inflateAsTraceStream_=true;}else{throw new Error('Unknown gzip data format');}
5315this.model_=model;this.gzipData_=eventData;}
5316GzipImporter.canImport=function(eventData){if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.header;}
5317let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,GZIP_MEMBER_HEADER_ID_SIZE));}else if(typeof(eventData)==='string'||eventData instanceof String){header=eventData.substring(0,GZIP_MEMBER_HEADER_ID_SIZE);header=JSZip.utils.transformTo('uint8array',header);}else{return false;}
5318return header[0]===GZIP_HEADER_ID1&&header[1]===GZIP_HEADER_ID2&&header[2]===GZIP_DEFLATE_COMPRESSION;};GzipImporter.inflateGzipData_=function(data){let position=0;function getByte(){if(position>=data.length){throw new Error('Unexpected end of gzip data');}
5319return data[position++];}
5320function getWord(){const low=getByte();const high=getByte();return(high<<8)+low;}
5321function skipBytes(amount){position+=amount;}
5322function skipZeroTerminatedString(){while(getByte()!==0){}}
5323const id1=getByte();const id2=getByte();if(id1!==GZIP_HEADER_ID1||id2!==GZIP_HEADER_ID2){throw new Error('Not gzip data');}
5324const compressionMethod=getByte();if(compressionMethod!==GZIP_DEFLATE_COMPRESSION){throw new Error('Unsupported compression method: '+compressionMethod);}
5325const flags=getByte();const haveHeaderCrc=flags&(1<<1);const haveExtraFields=flags&(1<<2);const haveFileName=flags&(1<<3);const haveComment=flags&(1<<4);skipBytes(4+1+1);if(haveExtraFields){const bytesToSkip=getWord();skipBytes(bytesToSkip);}
5326if(haveFileName)skipZeroTerminatedString();if(haveComment)skipZeroTerminatedString();if(haveHeaderCrc)getWord();const inflatedData=JSZip.compressions.DEFLATE.uncompress(data.subarray(position));if(this.inflateAsTraceStream_){return GzipImporter.transformToStream(inflatedData);}
5327let string;try{string=GzipImporter.transformToString(inflatedData);}catch(err){return GzipImporter.transformToStream(inflatedData);}
5328if(inflatedData.length>0&&string.length===0){throw new RangeError('Inflated gzip data too long to fit into a string'+' ('+inflatedData.length+').');}
5329return string;};GzipImporter.transformToStream=function(data){const type=JSZip.utils.getTypeOf(data);if(type==='uint8array')return new tr.b.InMemoryTraceStream(data,false);throw new Error(`Cannot transform ${type} to TraceStream.`);};GzipImporter.transformToString=function(data){if(typeof TextDecoder==='undefined'){return JSZip.utils.transformTo('string',data);}
5330const type=JSZip.utils.getTypeOf(data);if(type==='string')return data;if(type==='array'){data=new Uint8Array(data);}
5331const decoder=new TextDecoder('utf-8');return decoder.decode(data);};GzipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GzipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const eventData=GzipImporter.inflateGzipData_(this.gzipData_);return eventData?[eventData]:[];}};tr.importer.Importer.register(GzipImporter);return{GzipImporter,};});'use strict';tr.exportTo('tr.importer',function(){class SimpleLineReader{constructor(text){this.data_=text instanceof tr.b.TraceStream?text:text.split('\n');this.curLine_=0;this.readLastLine_=false;this.savedLines_=undefined;}*[Symbol.iterator](){let lastLine=undefined;while(this.hasData_){if(this.readLastLine_){this.curLine_++;this.readLastLine_=false;}else if(this.data_ instanceof tr.b.TraceStream){this.curLine_++;const line=this.data_.readUntilDelimiter('\n');lastLine=line.endsWith('\n')?line.slice(0,-1):line;}else{this.curLine_++;lastLine=this.data_[this.curLine_-1];}
5332yield lastLine;}}
5333get curLineNumber(){return this.curLine_;}
5334get hasData_(){if(this.data_ instanceof tr.b.TraceStream)return this.data_.hasData;return this.curLine_<this.data_.length;}
5335advanceToLineMatching(regex){for(const line of this){if(this.savedLines_!==undefined)this.savedLines_.push(line);if(regex.test(line)){this.goBack_();return true;}}
5336return false;}
5337goBack_(){if(this.readLastLine_){throw new Error('There should be at least one nextLine call between '+'any two goBack calls.');}
5338if(this.curLine_===0){throw new Error('There should be at least one nextLine call before '+'the first goBack call.');}
5339this.readLastLine_=true;this.curLine_--;}
5340beginSavingLines(){this.savedLines_=[];}
5341endSavingLinesAndGetResult(){const tmp=this.savedLines_;this.savedLines_=undefined;return tmp;}}
5342return{SimpleLineReader,};});'use strict';tr.exportTo('tr.e.importer',function(){function Trace2HTMLImporter(model,events){this.importPriority=0;}
5343Trace2HTMLImporter.subtraces_=[];function _extractEventsFromHTML(text){Trace2HTMLImporter.subtraces_=[];const r=new tr.importer.SimpleLineReader(text);while(true){if(!r.advanceToLineMatching(new RegExp('^<\s*script id="viewer-data" '+'type="(application\/json|text\/plain)">$'))){break;}
5344r.beginSavingLines();if(!r.advanceToLineMatching(/^<\/\s*script>$/))return;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);const data64=rawEvents.join('\n');const buffer=new ArrayBuffer(tr.b.Base64.getDecodedBufferLength(data64));const len=tr.b.Base64.DecodeToTypedArray(data64,new DataView(buffer));Trace2HTMLImporter.subtraces_.push(buffer.slice(0,len));}}
5345function _canImportFromHTML(text){if(!/^<!DOCTYPE html>/.test(text))return false;_extractEventsFromHTML(text);if(Trace2HTMLImporter.subtraces_.length===0)return false;return true;}
5346Trace2HTMLImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)return false;return _canImportFromHTML(events);};Trace2HTMLImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'Trace2HTMLImporter';},isTraceDataContainer(){return true;},extractSubtraces(){return Trace2HTMLImporter.subtraces_;},importEvents(){}};tr.importer.Importer.register(Trace2HTMLImporter);return{Trace2HTMLImporter,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function SplayTree(){}
5347SplayTree.prototype.root_=null;SplayTree.prototype.isEmpty=function(){return!this.root_;};SplayTree.prototype.insert=function(key,value){if(this.isEmpty()){this.root_=new SplayTree.Node(key,value);return;}
5348this.splay_(key);if(this.root_.key===key){return;}
5349const node=new SplayTree.Node(key,value);if(key>this.root_.key){node.left=this.root_;node.right=this.root_.right;this.root_.right=null;}else{node.right=this.root_;node.left=this.root_.left;this.root_.left=null;}
5350this.root_=node;};SplayTree.prototype.remove=function(key){if(this.isEmpty()){throw Error('Key not found: '+key);}
5351this.splay_(key);if(this.root_.key!==key){throw Error('Key not found: '+key);}
5352const removed=this.root_;if(!this.root_.left){this.root_=this.root_.right;}else{const right=this.root_.right;this.root_=this.root_.left;this.splay_(key);this.root_.right=right;}
5353return removed;};SplayTree.prototype.find=function(key){if(this.isEmpty())return null;this.splay_(key);return this.root_.key===key?this.root_:null;};SplayTree.prototype.findMin=function(){if(this.isEmpty())return null;let current=this.root_;while(current.left){current=current.left;}
5354return current;};SplayTree.prototype.findMax=function(opt_startNode){if(this.isEmpty())return null;let current=opt_startNode||this.root_;while(current.right){current=current.right;}
5355return current;};SplayTree.prototype.findGreatestLessThan=function(key){if(this.isEmpty())return null;this.splay_(key);if(this.root_.key<=key){return this.root_;}
5356if(this.root_.left){return this.findMax(this.root_.left);}
5357return null;};SplayTree.prototype.exportKeysAndValues=function(){const result=[];this.traverse_(function(node){result.push([node.key,node.value]);});return result;};SplayTree.prototype.exportValues=function(){const result=[];this.traverse_(function(node){result.push(node.value);});return result;};SplayTree.prototype.splay_=function(key){if(this.isEmpty())return;const dummy=new SplayTree.Node(null,null);let left=dummy;let right=dummy;let current=this.root_;while(true){if(key<current.key){if(!current.left){break;}
5358if(key<current.left.key){const tmp=current.left;current.left=tmp.right;tmp.right=current;current=tmp;if(!current.left){break;}}
5359right.left=current;right=current;current=current.left;}else if(key>current.key){if(!current.right){break;}
5360if(key>current.right.key){const tmp=current.right;current.right=tmp.left;tmp.left=current;current=tmp;if(!current.right){break;}}
5361left.right=current;left=current;current=current.right;}else{break;}}
5362left.right=current.left;right.left=current.right;current.left=dummy.right;current.right=dummy.left;this.root_=current;};SplayTree.prototype.traverse_=function(f){const nodesToVisit=[this.root_];while(nodesToVisit.length>0){const node=nodesToVisit.shift();if(node===null)continue;f(node);nodesToVisit.push(node.left);nodesToVisit.push(node.right);}};SplayTree.Node=function(key,value){this.key=key;this.value=value;};SplayTree.Node.prototype.left=null;SplayTree.Node.prototype.right=null;return{SplayTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CodeMap(){this.dynamics_=new tr.e.importer.v8.SplayTree();this.dynamicsNameGen_=new tr.e.importer.v8.CodeMap.NameGenerator();this.statics_=new tr.e.importer.v8.SplayTree();this.libraries_=new tr.e.importer.v8.SplayTree();this.pages_=[];}
5363CodeMap.PAGE_ALIGNMENT=12;CodeMap.PAGE_SIZE=1<<CodeMap.PAGE_ALIGNMENT;CodeMap.prototype.addCode=function(start,codeEntry){this.deleteAllCoveredNodes_(this.dynamics_,start,start+codeEntry.size);this.dynamics_.insert(start,codeEntry);};CodeMap.prototype.moveCode=function(from,to){const removedNode=this.dynamics_.remove(from);this.deleteAllCoveredNodes_(this.dynamics_,to,to+removedNode.value.size);this.dynamics_.insert(to,removedNode.value);};CodeMap.prototype.deleteCode=function(start){const removedNode=this.dynamics_.remove(start);};CodeMap.prototype.addLibrary=function(start,codeEntry){this.markPages_(start,start+codeEntry.size);this.libraries_.insert(start,codeEntry);};CodeMap.prototype.addStaticCode=function(start,codeEntry){this.statics_.insert(start,codeEntry);};CodeMap.prototype.markPages_=function(start,end){for(let addr=start;addr<=end;addr+=CodeMap.PAGE_SIZE){this.pages_[addr>>>CodeMap.PAGE_ALIGNMENT]=1;}};CodeMap.prototype.deleteAllCoveredNodes_=function(tree,start,end){const toDelete=[];let addr=end-1;while(addr>=start){const node=tree.findGreatestLessThan(addr);if(!node)break;const start2=node.key;const end2=start2+node.value.size;if(start2<end&&start<end2)toDelete.push(start2);addr=start2-1;}
5364for(let i=0,l=toDelete.length;i<l;++i)tree.remove(toDelete[i]);};CodeMap.prototype.isAddressBelongsTo_=function(addr,node){return addr>=node.key&&addr<(node.key+node.value.size);};CodeMap.prototype.findInTree_=function(tree,addr){const node=tree.findGreatestLessThan(addr);return node&&this.isAddressBelongsTo_(addr,node)?node.value:null;};CodeMap.prototype.findEntryInLibraries=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.libraries_,addr);}
5365return undefined;};CodeMap.prototype.findEntry=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.statics_,addr)||this.findInTree_(this.libraries_,addr);}
5366const min=this.dynamics_.findMin();const max=this.dynamics_.findMax();if(max!==null&&addr<(max.key+max.value.size)&&addr>=min.key){const dynaEntry=this.findInTree_(this.dynamics_,addr);if(dynaEntry===null)return null;if(!dynaEntry.nameUpdated_){dynaEntry.name=this.dynamicsNameGen_.getName(dynaEntry.name);dynaEntry.nameUpdated_=true;}
5367return dynaEntry;}
5368return null;};CodeMap.prototype.findDynamicEntryByStartAddress=function(addr){const node=this.dynamics_.find(addr);return node?node.value:null;};CodeMap.prototype.getAllDynamicEntries=function(){return this.dynamics_.exportValues();};CodeMap.prototype.getAllDynamicEntriesWithAddresses=function(){return this.dynamics_.exportKeysAndValues();};CodeMap.prototype.getAllStaticEntries=function(){return this.statics_.exportValues();};CodeMap.prototype.getAllLibrariesEntries=function(){return this.libraries_.exportValues();};CodeMap.CodeState={COMPILED:0,OPTIMIZABLE:1,OPTIMIZED:2};CodeMap.CodeEntry=function(size,opt_name,opt_type){this.id=tr.b.GUID.allocateSimple();this.size=size;this.name_=opt_name||'';this.type=opt_type||'';this.nameUpdated_=false;};CodeMap.CodeEntry.prototype={__proto__:Object.prototype,get name(){return this.name_;},set name(value){this.name_=value;},toString(){this.name_+': '+this.size.toString(16);}};CodeMap.CodeEntry.TYPE={SHARED_LIB:'SHARED_LIB',CPP:'CPP'};CodeMap.DynamicFuncCodeEntry=function(size,type,func,state){CodeMap.CodeEntry.call(this,size,'',type);this.func=func;this.state=state;};CodeMap.DynamicFuncCodeEntry.STATE_PREFIX=['','~','*'];CodeMap.DynamicFuncCodeEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){return CodeMap.DynamicFuncCodeEntry.STATE_PREFIX[this.state]+
5369this.func.name;},set name(value){this.name_=value;},getRawName(){return this.func.getName();},isJSFunction(){return true;},toString(){return this.type+': '+this.name+': '+this.size.toString(16);}};CodeMap.FunctionEntry=function(name){CodeMap.CodeEntry.call(this,0,name);};CodeMap.FunctionEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){let name=this.name_;if(name.length===0){name='<anonymous>';}else if(name.charAt(0)===' '){name='<anonymous>'+name;}
5370return name;},set name(value){this.name_=value;}};CodeMap.NameGenerator=function(){this.knownNames_={};};CodeMap.NameGenerator.prototype.getName=function(name){if(!(name in this.knownNames_)){this.knownNames_[name]=0;return name;}
5371const count=++this.knownNames_[name];return name+' {'+count+'}';};return{CodeMap,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CsvParser(){}
5372CsvParser.CSV_FIELD_RE_=/^"((?:[^"]|"")*)"|([^,]*)/;CsvParser.DOUBLE_QUOTE_RE_=/""/g;CsvParser.prototype.parseLine=function(line){const fieldRe=CsvParser.CSV_FIELD_RE_;const doubleQuoteRe=CsvParser.DOUBLE_QUOTE_RE_;let pos=0;const endPos=line.length;const fields=[];if(endPos>0){do{const fieldMatch=fieldRe.exec(line.substr(pos));if(typeof fieldMatch[1]==='string'){const field=fieldMatch[1];pos+=field.length+3;fields.push(field.replace(doubleQuoteRe,'"'));}else{const field=fieldMatch[2];pos+=field.length+1;fields.push(field);}}while(pos<=endPos);}
5373return fields;};function LogReader(dispatchTable){this.dispatchTable_=dispatchTable;this.lineNum_=0;this.csvParser_=new CsvParser();}
5374LogReader.prototype.printError=function(str){};LogReader.prototype.processLogChunk=function(chunk){this.processLog_(chunk.split('\n'));};LogReader.prototype.processLogLine=function(line){this.processLog_([line]);};LogReader.prototype.processStack=function(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}}
5375return fullStack;};LogReader.prototype.skipDispatch=function(dispatch){return false;};LogReader.prototype.dispatchLogRow_=function(fields){const command=fields[0];if(!(command in this.dispatchTable_))return;const dispatch=this.dispatchTable_[command];if(dispatch===null||this.skipDispatch(dispatch)){return;}
5376const parsedFields=[];for(let i=0;i<dispatch.parsers.length;++i){const parser=dispatch.parsers[i];if(parser===null){parsedFields.push(fields[1+i]);}else if(typeof parser==='function'){parsedFields.push(parser(fields[1+i]));}else{parsedFields.push(fields.slice(1+i));break;}}
5377dispatch.processor.apply(this,parsedFields);};LogReader.prototype.processLog_=function(lines){for(let i=0,n=lines.length;i<n;++i,++this.lineNum_){const line=lines[i];if(!line){continue;}
5378try{const fields=this.csvParser_.parseLine(line);this.dispatchLogRow_(fields);}catch(e){this.printError('line '+(this.lineNum_+1)+': '+
5379(e.message||e));}}};return{LogReader,};});'use strict';tr.exportTo('tr.model',function(){function ProfileNode(id,title,parentNode){this.id_=id;this.title_=title;this.parentNode_=parentNode;this.colorId_=-1;this.userFriendlyStack_=[];}
5380ProfileNode.prototype={__proto__:Object.prototype,get title(){return this.title_;},get parentNode(){return this.parentNode_;},set parentNode(value){this.parentNode_=value;},get id(){return this.id_;},get colorId(){return this.colorId_;},set colorId(value){this.colorId_=value;},get userFriendlyName(){return this.title_;},get userFriendlyStack(){if(this.userFriendlyStack_.length===0){this.userFriendlyStack_=[this.userFriendlyName];if(this.parentNode_!==undefined){this.userFriendlyStack_=this.userFriendlyStack_.concat(this.parentNode_.userFriendlyStack);}}
5381return this.userFriendlyStack_;},get sampleTitle(){throw new Error('Not implemented.');}};tr.model.EventRegistry.register(ProfileNode,{name:'Node',pluralName:'Nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.e.v8',function(){const ProfileNode=tr.model.ProfileNode;function V8CpuProfileNode(id,callFrame,parentNode){ProfileNode.call(this,id,callFrame.functionName,parentNode);this.callFrame_=tr.b.deepCopy(callFrame);this.deoptReason_='';this.colorId_=tr.b.ColorScheme.getColorIdForGeneralPurposeString(callFrame.functionName);}
5382V8CpuProfileNode.prototype={__proto__:ProfileNode.prototype,get functionName(){return this.callFrame_.functionName;},get scriptId(){return this.callFrame_.scriptId;},get url(){if(!this.callFrame_.url){return'unknown';}
5383let url=this.callFrame_.url;if(this.callFrame_.lineNumber===undefined){return url;}
5384url=url+':'+this.callFrame_.lineNumber;if(this.callFrame_.columnNumber===undefined){return url;}
5385url=url+':'+this.callFrame_.columnNumber;return url;},get deoptReason(){return this.deoptReason_;},set deoptReason(value){this.deoptReason_=value;},get userFriendlyName(){const name=this.functionName+' url: '+this.url;return!this.deoptReason_?name:name+' Deoptimized reason: '+this.deoptReason_;},get sampleTitle(){return'V8 Sample';}};V8CpuProfileNode.constructFromObject=function(profileTree,node){const nodeId=node.id;if(nodeId===1){return undefined;}
5386const parentNode=profileTree.getNode(node.parent);const profileNode=new V8CpuProfileNode(nodeId,node.callFrame,parentNode);if(node.deoptReason!==undefined){profileNode.deoptReason=node.deoptReason;}
5387return profileNode;};ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'cpuProfile',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'legacySample',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.model',function(){function ProfileTree(){this.startTime_=undefined;this.endTime_=undefined;this.tree_=new Map();this.pid_=-1;this.tid_=-1;}
5388ProfileTree.prototype={__proto__:Object.prototype,get pid(){return this.pid_;},set pid(value){this.pid_=value;},get tid(){return this.tid_;},set tid(value){this.tid_=value;},get tree(){return this.tree_;},get startTime(){return this.startTime_;},set startTime(value){this.startTime_=value;this.endTime_=value;},get endTime(){return this.endTime_;},set endTime(value){this.endTime_=value;},add(node){if(this.tree_.has(node.id)){throw new Error('Conflict id in the profile tree.');}
5389this.tree_.set(node.id,node);return node;},getNode(nodeId){return this.tree_.get(nodeId);}};return{ProfileTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){const CodeEntry=tr.e.importer.v8.CodeMap.CodeEntry;const CodeMap=tr.e.importer.v8.CodeMap;const ColorScheme=tr.b.ColorScheme;const DynamicFuncCodeEntry=tr.e.importer.v8.CodeMap.DynamicFuncCodeEntry;const FunctionEntry=tr.e.importer.v8.CodeMap.FunctionEntry;const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');function V8LogImporter(model,eventData){this.importPriority=3;this.model_=model;this.logData_=eventData;this.code_map_=new CodeMap();this.v8_timer_thread_=undefined;this.v8_thread_=undefined;this.profileTree_=new tr.model.ProfileTree();this.profileTree_.add(new ProfileNodeType(-1,{url:'',functionName:'unknown'}));this.v8_stack_timeline_=[];}
5390const kV8BinarySuffixes=['/d8','/libv8.so'];const TimerEventDefaultArgs={'V8.Execute':{pause:false,no_execution:false},'V8.External':{pause:false,no_execution:true},'V8.CompileFullCode':{pause:true,no_execution:true},'V8.RecompileSynchronous':{pause:true,no_execution:true},'V8.RecompileParallel':{pause:false,no_execution:false},'V8.CompileEval':{pause:true,no_execution:true},'V8.Parse':{pause:true,no_execution:true},'V8.PreParse':{pause:true,no_execution:true},'V8.ParseLazy':{pause:true,no_execution:true},'V8.GCScavenger':{pause:true,no_execution:true},'V8.GCCompactor':{pause:true,no_execution:true},'V8.GCContext':{pause:true,no_execution:true}};V8LogImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;}
5391return eventData.substring(0,11)==='v8-version,'||eventData.substring(0,12)==='timer-event,'||eventData.substring(0,5)==='tick,'||eventData.substring(0,15)==='shared-library,'||eventData.substring(0,9)==='profiler,'||eventData.substring(0,14)==='code-creation,';};V8LogImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'V8LogImporter';},processTimerEvent_(name,startInUs,lengthInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const lengthInMs=tr.b.convertUnit(lengthInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const colorId=ColorScheme.getColorIdForGeneralPurposeString(name);const slice=new tr.model.ThreadSlice('v8',name,colorId,startInMs,args,lengthInMs);this.v8_timer_thread_.sliceGroup.pushSlice(slice);},processTimerEventStart_(name,startInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.beginSlice('v8',name,startInMs,args);},processTimerEventEnd_(name,endInUs){const endInMs=tr.b.convertUnit(endInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.endSlice(endInMs);},processCodeCreateEvent_(type,kind,address,size,name,maybeFunc){function parseState(s){switch(s){case'':return CodeMap.CodeState.COMPILED;case'~':return CodeMap.CodeState.OPTIMIZABLE;case'*':return CodeMap.CodeState.OPTIMIZED;}
5392throw new Error('unknown code state: '+s);}
5393if(maybeFunc.length){const funcAddr=parseInt(maybeFunc[0]);const state=parseState(maybeFunc[1]);let func=this.code_map_.findDynamicEntryByStartAddress(funcAddr);if(!func){func=new FunctionEntry(name);func.kind=kind;this.code_map_.addCode(funcAddr,func);}else if(func.name!==name){func.name=name;}
5394let entry=this.code_map_.findDynamicEntryByStartAddress(address);if(entry){if(entry.size===size&&entry.func===func){entry.state=state;}}else{entry=new DynamicFuncCodeEntry(size,type,func,state);entry.kind=kind;this.code_map_.addCode(address,entry);}}else{const codeEntry=new CodeEntry(size,name);codeEntry.kind=kind;this.code_map_.addCode(address,codeEntry);}},processCodeMoveEvent_(from,to){this.code_map_.moveCode(from,to);},processCodeDeleteEvent_(address){this.code_map_.deleteCode(address);},processSharedLibrary_(name,start,end){const codeEntry=new CodeEntry(end-start,name,CodeEntry.TYPE.SHARED_LIB);codeEntry.kind=-3;for(let i=0;i<kV8BinarySuffixes.length;i++){const suffix=kV8BinarySuffixes[i];if(name.indexOf(suffix,name.length-suffix.length)>=0){codeEntry.kind=-1;break;}}
5395this.code_map_.addLibrary(start,codeEntry);},processCppSymbol_(address,size,name){const codeEntry=new CodeEntry(size,name,CodeEntry.TYPE.CPP);codeEntry.kind=-1;this.code_map_.addStaticCode(address,codeEntry);},processTickEvent_(pc,startInUs,isExternalCallback,tosOrExternalCallback,vmstate,stack){const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);function findChildWithEntryID(stackFrame,entryID){for(let i=0;i<stackFrame.children.length;i++){if(stackFrame.children[i].entryID===entryID){return stackFrame.children[i];}}
5396return undefined;}
5397function processStack(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}}
5398return fullStack;}
5399if(isExternalCallback){pc=tosOrExternalCallback;tosOrExternalCallback=0;}else if(tosOrExternalCallback){const funcEntry=this.code_map_.findEntry(tosOrExternalCallback);if(!funcEntry||!funcEntry.isJSFunction||!funcEntry.isJSFunction()){tosOrExternalCallback=0;}}
5400let processedStack=processStack(pc,tosOrExternalCallback,stack);let node=undefined;let lastNode=undefined;processedStack=processedStack.reverse();for(let i=0,n=processedStack.length;i<n;i++){const frame=processedStack[i];if(!frame)break;const entry=this.code_map_.findEntry(frame);if(!entry&&i!==0){continue;}
5401let sourceInfo=undefined;if(entry&&entry.type===CodeEntry.TYPE.CPP){const libEntry=this.code_map_.findEntryInLibraries(frame);if(libEntry){sourceInfo={file:libEntry.name};}}
5402const entryId=entry?entry.id:-1;node=this.profileTree_.getNode(entryId);if(node===undefined){node=this.profileTree_.add(new ProfileNodeType(entryId,{functionName:entry.name,url:sourceInfo?sourceInfo.file:'',lineNumber:sourceInfo?sourceInfo.line:undefined,columnNumber:sourceInfo?sourceInfo.column:undefined,scriptId:sourceInfo?sourceInfo.scriptId:undefined},lastNode));}
5403lastNode=node;}
5404this.model_.samples.push(new tr.model.Sample(startInMs,'V8 PC',node,this.v8_thread_,undefined,1));},processDistortion_(distortionInPicoseconds){},processPlotRange_(start,end){},processV8Version_(major,minor,build,patch,candidate){},importEvents(){const logreader=new tr.e.importer.v8.LogReader({'timer-event':{parsers:[null,parseInt,parseInt],processor:this.processTimerEvent_.bind(this)},'shared-library':{parsers:[null,parseInt,parseInt],processor:this.processSharedLibrary_.bind(this)},'timer-event-start':{parsers:[null,parseInt],processor:this.processTimerEventStart_.bind(this)},'timer-event-end':{parsers:[null,parseInt],processor:this.processTimerEventEnd_.bind(this)},'code-creation':{parsers:[null,parseInt,parseInt,parseInt,null,'var-args'],processor:this.processCodeCreateEvent_.bind(this)},'code-move':{parsers:[parseInt,parseInt],processor:this.processCodeMoveEvent_.bind(this)},'code-delete':{parsers:[parseInt],processor:this.processCodeDeleteEvent_.bind(this)},'cpp':{parsers:[parseInt,parseInt,null],processor:this.processCppSymbol_.bind(this)},'tick':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt,'var-args'],processor:this.processTickEvent_.bind(this)},'distortion':{parsers:[parseInt],processor:this.processDistortion_.bind(this)},'plot-range':{parsers:[parseInt,parseInt],processor:this.processPlotRange_.bind(this)},'v8-version':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt],processor:this.processV8Version_.bind(this)}});this.v8_timer_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(1);this.v8_timer_thread_.name='V8 Timers';this.v8_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(2);this.v8_thread_.name='V8';const lines=this.logData_.split('\n');for(let i=0;i<lines.length;i++){logreader.processLogLine(lines[i]);}
5405function addSlices(slices,thread){for(let i=0;i<slices.length;i++){const duration=slices[i].end-slices[i].start;const slice=new tr.model.ThreadSlice('v8',slices[i].name,ColorScheme.getColorIdForGeneralPurposeString(slices[i].name),slices[i].start,{},duration);thread.sliceGroup.pushSlice(slice);addSlices(slices[i].children,thread);}}
5406addSlices(this.v8_stack_timeline_,this.v8_thread_);}};tr.importer.Importer.register(V8LogImporter);return{V8LogImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function ZipImporter(model,eventData){if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}
5407this.model_=model;this.eventData_=eventData;}
5408ZipImporter.canImport=function(eventData){let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,2));}else if(typeof(eventData)==='string'||eventData instanceof String){header=[eventData.charCodeAt(0),eventData.charCodeAt(1)];}else{return false;}
5409return header[0]==='P'.charCodeAt(0)&&header[1]==='K'.charCodeAt(0);};ZipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'ZipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const zip=new JSZip(this.eventData_);const subtraces=[];for(const idx in zip.files){subtraces.push(zip.files[idx].asBinary());}
5410return subtraces;}};tr.importer.Importer.register(ZipImporter);return{ZipImporter,};});'use strict';tr.exportTo('tr.model',function(){function HeapEntry(heapDump,leafStackFrame,objectTypeName,size,count,valuesAreTotals){this.heapDump=heapDump;this.leafStackFrame=leafStackFrame;this.objectTypeName=objectTypeName;this.size=size;this.count=count;this.valuesAreTotals=valuesAreTotals;}
5411function HeapDump(processMemoryDump,allocatorName,isComplete){this.processMemoryDump=processMemoryDump;this.allocatorName=allocatorName;this.isComplete=isComplete;this.entries=[];}
5412HeapDump.prototype={addEntry(leafStackFrame,objectTypeName,size,count,opt_valuesAreTotals){if(opt_valuesAreTotals===undefined)opt_valuesAreTotals=true;const valuesAreTotals=opt_valuesAreTotals;const entry=new HeapEntry(this,leafStackFrame,objectTypeName,size,count,valuesAreTotals);this.entries.push(entry);return entry;}};return{HeapEntry,HeapDump,};});'use strict';tr.exportTo('tr.e.importer',function(){function HeapDumpTraceEventImporter(heapProfileExpander,stackFrames,processMemoryDump,idPrefix,model){this.expander=heapProfileExpander;this.stackFrames=stackFrames;this.processMemoryDump=processMemoryDump;this.idPrefix=idPrefix;this.model=model;}
5413HeapDumpTraceEventImporter.prototype={getLeafStackFrame(stackFrameId){if(stackFrameId==='')return undefined;const parentId=this.idPrefix+stackFrameId;const id=parentId+':self';if(!this.stackFrames[id]){const parentStackFrame=this.stackFrames[parentId];const stackFrame=new tr.model.StackFrame(parentStackFrame,id,'<self>',undefined);this.model.addStackFrame(stackFrame);}
5414return this.stackFrames[id];},parseEntry(entry,heapDump){const size=entry.size;const count=entry.count;const leafStackFrame=this.getLeafStackFrame(entry.node.id);const objectTypeName=entry.type.name;const valuesAreTotals=false;if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+typeId+')',});}
5415heapDump.addEntry(leafStackFrame,objectTypeName,size,count,valuesAreTotals);},parse(){const heapDumps={};const inflated=this.expander.inflated;for(const[allocatorName,entries]of Object.entries(inflated)){const heapDump=new tr.model.HeapDump(this.processMemoryDump,allocatorName);for(const entry of entries){this.parseEntry(entry,heapDump);}
5416heapDump.isComplete=true;heapDumps[allocatorName]=heapDump;}
5417return heapDumps;},};return{HeapDumpTraceEventImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function LegacyHeapDumpTraceEventImporter(model,processMemoryDump,processObjectTypeNameMap,idPrefix,dumpId,rawHeapDumps){this.model_=model;this.processObjectTypeNameMap_=processObjectTypeNameMap;this.idPrefix_=idPrefix;this.processMemoryDump_=processMemoryDump;this.pid_=this.processMemoryDump_.process.pid;this.dumpId_=dumpId;this.rawHeapDumps_=rawHeapDumps;}
5418LegacyHeapDumpTraceEventImporter.prototype={parseRawHeapDump(rawHeapDump,allocatorName){const model=this.model_;const processMemoryDump=this.processMemoryDump_;const heapDump=new tr.model.HeapDump(processMemoryDump,allocatorName);const entries=rawHeapDump.entries;if(entries===undefined||entries.length===0){this.model_.importWarning({type:'memory_dump_parse_error',message:'No heap entries in a '+allocatorName+' heap dump for PID='+this.pid_+' and dump ID='+this.dumpId_+'.'});return undefined;}
5419const isOldFormat=entries[0].bt===undefined;if(!isOldFormat&&this.processObjectTypeNameMap_===undefined){return undefined;}
5420for(let i=0;i<entries.length;i++){const entry=entries[i];const size=parseInt(entry.size,16);const leafStackFrameIndex=entry.bt;let leafStackFrame;if(isOldFormat){if(leafStackFrameIndex===undefined){leafStackFrame=undefined;}else{let leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+
5421leafStackFrameId+') of heap entry '+i+' (size '+
5422size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}
5423leafStackFrameId+=':self';if(model.stackFrames[leafStackFrameId]!==undefined){leafStackFrame=model.stackFrames[leafStackFrameId];}else{leafStackFrame=new tr.model.StackFrame(leafStackFrame,leafStackFrameId,'<self>',undefined);model.addStackFrame(leafStackFrame);}}}else{if(leafStackFrameIndex===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing stack frame ID of heap entry '+i+' (size '+size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}
5424const leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+leafStackFrameId+') of heap entry '+i+' (size '+size+') in a '+
5425allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}}
5426const objectTypeId=entry.type;let objectTypeName;if(objectTypeId===undefined){objectTypeName=undefined;}else if(this.processObjectTypeNameMap_===undefined){continue;}else{objectTypeName=this.processObjectTypeNameMap_[objectTypeId];if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+objectTypeId+') of heap entry '+i+' (size '+size+') in a '+
5427allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}
5428const count=entry.count===undefined?undefined:parseInt(entry.count,16);heapDump.addEntry(leafStackFrame,objectTypeName,size,count);}
5429return heapDump;},parse(){const heapDumps={};for(const allocatorName in this.rawHeapDumps_){const rawHeapDump=this.rawHeapDumps_[allocatorName];const heapDump=this.parseRawHeapDump(rawHeapDump,allocatorName);if(heapDump!==undefined&&heapDump.entries.length>0){heapDumps[allocatorName]=heapDump;}}
5430return heapDumps;},};return{LegacyHeapDumpTraceEventImporter,};});(function(window,Object,Array,Error,JSON,undefined){var partialComplete=varArgs(function(fn,args){var numBoundArgs=args.length;return varArgs(function(callArgs){for(var i=0;i<callArgs.length;i++){args[numBoundArgs+i]=callArgs[i];}
5431args.length=numBoundArgs+callArgs.length;return fn.apply(this,args);});}),compose=varArgs(function(fns){var fnsList=arrayAsList(fns);function next(params,curFn){return[apply(params,curFn)];}
5432return varArgs(function(startParams){return foldR(next,startParams,fnsList)[0];});});function compose2(f1,f2){return function(){return f1.call(this,f2.apply(this,arguments));}}
5433function attr(key){return function(o){return o[key];};}
5434var lazyUnion=varArgs(function(fns){return varArgs(function(params){var maybeValue;for(var i=0;i<len(fns);i++){maybeValue=apply(params,fns[i]);if(maybeValue){return maybeValue;}}});});function apply(args,fn){return fn.apply(undefined,args);}
5435function varArgs(fn){var numberOfFixedArguments=fn.length-1,slice=Array.prototype.slice;if(numberOfFixedArguments==0){return function(){return fn.call(this,slice.call(arguments));}}else if(numberOfFixedArguments==1){return function(){return fn.call(this,arguments[0],slice.call(arguments,1));}}
5436var argsHolder=Array(fn.length);return function(){for(var i=0;i<numberOfFixedArguments;i++){argsHolder[i]=arguments[i];}
5437argsHolder[numberOfFixedArguments]=slice.call(arguments,numberOfFixedArguments);return fn.apply(this,argsHolder);}}
5438function flip(fn){return function(a,b){return fn(b,a);}}
5439function lazyIntersection(fn1,fn2){return function(param){return fn1(param)&&fn2(param);};}
5440function noop(){}
5441function always(){return true}
5442function functor(val){return function(){return val;}}
5443function isOfType(T,maybeSomething){return maybeSomething&&maybeSomething.constructor===T;}
5444var len=attr('length'),isString=partialComplete(isOfType,String);function defined(value){return value!==undefined;}
5445function hasAllProperties(fieldList,o){return(o instanceof Object)&&all(function(field){return(field in o);},fieldList);}
5446function cons(x,xs){return[x,xs];}
5447var emptyList=null,head=attr(0),tail=attr(1);function arrayAsList(inputArray){return reverseList(inputArray.reduce(flip(cons),emptyList));}
5448var list=varArgs(arrayAsList);function listAsArray(list){return foldR(function(arraySoFar,listItem){arraySoFar.unshift(listItem);return arraySoFar;},[],list);}
5449function map(fn,list){return list?cons(fn(head(list)),map(fn,tail(list))):emptyList;}
5450function foldR(fn,startValue,list){return list?fn(foldR(fn,startValue,tail(list)),head(list)):startValue;}
5451function foldR1(fn,list){return tail(list)?fn(foldR1(fn,tail(list)),head(list)):head(list);}
5452function without(list,test,removedFn){return withoutInner(list,removedFn||noop);function withoutInner(subList,removedFn){return subList?(test(head(subList))?(removedFn(head(subList)),tail(subList)):cons(head(subList),withoutInner(tail(subList),removedFn))):emptyList;}}
5453function all(fn,list){return!list||(fn(head(list))&&all(fn,tail(list)));}
5454function applyEach(fnList,args){if(fnList){head(fnList).apply(null,args);applyEach(tail(fnList),args);}}
5455function reverseList(list){function reverseInner(list,reversedAlready){if(!list){return reversedAlready;}
5456return reverseInner(tail(list),cons(head(list),reversedAlready))}
5457return reverseInner(list,emptyList);}
5458function first(test,list){return list&&(test(head(list))?head(list):first(test,tail(list)));}
5459function clarinet(eventBus){"use strict";var
5460emitSaxKey=eventBus(SAX_KEY).emit,emitValueOpen=eventBus(SAX_VALUE_OPEN).emit,emitValueClose=eventBus(SAX_VALUE_CLOSE).emit,emitFail=eventBus(FAIL_EVENT).emit,MAX_BUFFER_LENGTH=64*1024,stringTokenPattern=/[\\"\n]/g,_n=0,BEGIN=_n++,VALUE=_n++,OPEN_OBJECT=_n++,CLOSE_OBJECT=_n++,OPEN_ARRAY=_n++,CLOSE_ARRAY=_n++,STRING=_n++,OPEN_KEY=_n++,CLOSE_KEY=_n++,TRUE=_n++,TRUE2=_n++,TRUE3=_n++,FALSE=_n++,FALSE2=_n++,FALSE3=_n++,FALSE4=_n++,NULL=_n++,NULL2=_n++,NULL3=_n++,NUMBER_DECIMAL_POINT=_n++,NUMBER_DIGIT=_n,bufferCheckPosition=MAX_BUFFER_LENGTH,latestError,c,p,textNode=undefined,numberNode="",slashed=false,closed=false,state=BEGIN,stack=[],unicodeS=null,unicodeI=0,depth=0,position=0,column=0,line=1;function checkBufferLength(){var maxActual=0;if(textNode!==undefined&&textNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: textNode");maxActual=Math.max(maxActual,textNode.length);}
5461if(numberNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: numberNode");maxActual=Math.max(maxActual,numberNode.length);}
5462bufferCheckPosition=(MAX_BUFFER_LENGTH-maxActual)
5463+position;}
5464eventBus(STREAM_DATA).on(handleData);eventBus(STREAM_END).on(handleStreamEnd);function emitError(errorString){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5465latestError=Error(errorString+"\nLn: "+line+"\nCol: "+column+"\nChr: "+c);emitFail(errorReport(undefined,undefined,latestError));}
5466function handleStreamEnd(){if(state==BEGIN){emitValueOpen({});emitValueClose();closed=true;return;}
5467if(state!==VALUE||depth!==0)
5468emitError("Unexpected end");if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5469closed=true;}
5470function whitespace(c){return c=='\r'||c=='\n'||c==' '||c=='\t';}
5471function handleData(chunk){if(latestError)
5472return;if(closed){return emitError("Cannot write after close");}
5473var i=0;c=chunk[0];while(c){p=c;c=chunk[i++];if(!c)break;position++;if(c=="\n"){line++;column=0;}else column++;switch(state){case BEGIN:if(c==="{")state=OPEN_OBJECT;else if(c==="[")state=OPEN_ARRAY;else if(!whitespace(c))
5474return emitError("Non-whitespace before {[.");continue;case OPEN_KEY:case OPEN_OBJECT:if(whitespace(c))continue;if(state===OPEN_KEY)stack.push(CLOSE_KEY);else{if(c==='}'){emitValueOpen({});emitValueClose();state=stack.pop()||VALUE;continue;}else stack.push(CLOSE_OBJECT);}
5475if(c==='"')
5476state=STRING;else
5477return emitError("Malformed object key should start with \" ");continue;case CLOSE_KEY:case CLOSE_OBJECT:if(whitespace(c))continue;if(c===':'){if(state===CLOSE_OBJECT){stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen({});emitSaxKey(textNode);textNode=undefined;}
5478depth++;}else{if(textNode!==undefined){emitSaxKey(textNode);textNode=undefined;}}
5479state=VALUE;}else if(c==='}'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5480emitValueClose();depth--;state=stack.pop()||VALUE;}else if(c===','){if(state===CLOSE_OBJECT)
5481stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5482state=OPEN_KEY;}else
5483return emitError('Bad object');continue;case OPEN_ARRAY:case VALUE:if(whitespace(c))continue;if(state===OPEN_ARRAY){emitValueOpen([]);depth++;state=VALUE;if(c===']'){emitValueClose();depth--;state=stack.pop()||VALUE;continue;}else{stack.push(CLOSE_ARRAY);}}
5484if(c==='"')state=STRING;else if(c==='{')state=OPEN_OBJECT;else if(c==='[')state=OPEN_ARRAY;else if(c==='t')state=TRUE;else if(c==='f')state=FALSE;else if(c==='n')state=NULL;else if(c==='-'){numberNode+=c;}else if(c==='0'){numberNode+=c;state=NUMBER_DIGIT;}else if('123456789'.indexOf(c)!==-1){numberNode+=c;state=NUMBER_DIGIT;}else
5485return emitError("Bad value");continue;case CLOSE_ARRAY:if(c===','){stack.push(CLOSE_ARRAY);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5486state=VALUE;}else if(c===']'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5487emitValueClose();depth--;state=stack.pop()||VALUE;}else if(whitespace(c))
5488continue;else
5489return emitError('Bad array');continue;case STRING:if(textNode===undefined){textNode="";}
5490var starti=i-1;STRING_BIGLOOP:while(true){while(unicodeI>0){unicodeS+=c;c=chunk.charAt(i++);if(unicodeI===4){textNode+=String.fromCharCode(parseInt(unicodeS,16));unicodeI=0;starti=i-1;}else{unicodeI++;}
5491if(!c)break STRING_BIGLOOP;}
5492if(c==='"'&&!slashed){state=stack.pop()||VALUE;textNode+=chunk.substring(starti,i-1);break;}
5493if(c==='\\'&&!slashed){slashed=true;textNode+=chunk.substring(starti,i-1);c=chunk.charAt(i++);if(!c)break;}
5494if(slashed){slashed=false;if(c==='n'){textNode+='\n';}
5495else if(c==='r'){textNode+='\r';}
5496else if(c==='t'){textNode+='\t';}
5497else if(c==='f'){textNode+='\f';}
5498else if(c==='b'){textNode+='\b';}
5499else if(c==='u'){unicodeI=1;unicodeS='';}else{textNode+=c;}
5500c=chunk.charAt(i++);starti=i-1;if(!c)break;else continue;}
5501stringTokenPattern.lastIndex=i;var reResult=stringTokenPattern.exec(chunk);if(!reResult){i=chunk.length+1;textNode+=chunk.substring(starti,i-1);break;}
5502i=reResult.index+1;c=chunk.charAt(reResult.index);if(!c){textNode+=chunk.substring(starti,i-1);break;}}
5503continue;case TRUE:if(!c)continue;if(c==='r')state=TRUE2;else
5504return emitError('Invalid true started with t'+c);continue;case TRUE2:if(!c)continue;if(c==='u')state=TRUE3;else
5505return emitError('Invalid true started with tr'+c);continue;case TRUE3:if(!c)continue;if(c==='e'){emitValueOpen(true);emitValueClose();state=stack.pop()||VALUE;}else
5506return emitError('Invalid true started with tru'+c);continue;case FALSE:if(!c)continue;if(c==='a')state=FALSE2;else
5507return emitError('Invalid false started with f'+c);continue;case FALSE2:if(!c)continue;if(c==='l')state=FALSE3;else
5508return emitError('Invalid false started with fa'+c);continue;case FALSE3:if(!c)continue;if(c==='s')state=FALSE4;else
5509return emitError('Invalid false started with fal'+c);continue;case FALSE4:if(!c)continue;if(c==='e'){emitValueOpen(false);emitValueClose();state=stack.pop()||VALUE;}else
5510return emitError('Invalid false started with fals'+c);continue;case NULL:if(!c)continue;if(c==='u')state=NULL2;else
5511return emitError('Invalid null started with n'+c);continue;case NULL2:if(!c)continue;if(c==='l')state=NULL3;else
5512return emitError('Invalid null started with nu'+c);continue;case NULL3:if(!c)continue;if(c==='l'){emitValueOpen(null);emitValueClose();state=stack.pop()||VALUE;}else
5513return emitError('Invalid null started with nul'+c);continue;case NUMBER_DECIMAL_POINT:if(c==='.'){numberNode+=c;state=NUMBER_DIGIT;}else
5514return emitError('Leading zero not followed by .');continue;case NUMBER_DIGIT:if('0123456789'.indexOf(c)!==-1)numberNode+=c;else if(c==='.'){if(numberNode.indexOf('.')!==-1)
5515return emitError('Invalid number has two dots');numberNode+=c;}else if(c==='e'||c==='E'){if(numberNode.indexOf('e')!==-1||numberNode.indexOf('E')!==-1)
5516return emitError('Invalid number has two exponential');numberNode+=c;}else if(c==="+"||c==="-"){if(!(p==='e'||p==='E'))
5517return emitError('Invalid symbol in number');numberNode+=c;}else{if(numberNode){emitValueOpen(parseFloat(numberNode));emitValueClose();numberNode="";}
5518i--;state=stack.pop()||VALUE;}
5519continue;default:return emitError("Unknown state: "+state);}}
5520if(position>=bufferCheckPosition)
5521checkBufferLength();}}
5522function ascentManager(oboeBus,handlers){"use strict";var listenerId={},ascent;function stateAfter(handler){return function(param){ascent=handler(ascent,param);}}
5523for(var eventName in handlers){oboeBus(eventName).on(stateAfter(handlers[eventName]),listenerId);}
5524oboeBus(NODE_SWAP).on(function(newNode){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));parentNode[key]=newNode;}});oboeBus(NODE_DROP).on(function(){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));delete parentNode[key];}});oboeBus(ABORTING).on(function(){for(var eventName in handlers){oboeBus(eventName).un(listenerId);}});}
5525function parseResponseHeaders(headerStr){var headers={};headerStr&&headerStr.split('\u000d\u000a').forEach(function(headerPair){var index=headerPair.indexOf('\u003a\u0020');headers[headerPair.substring(0,index)]=headerPair.substring(index+2);});return headers;}
5526function isCrossOrigin(pageLocation,ajaxHost){function defaultPort(protocol){return{'http:':80,'https:':443}[protocol];}
5527function portOf(location){return location.port||defaultPort(location.protocol||pageLocation.protocol);}
5528return!!((ajaxHost.protocol&&(ajaxHost.protocol!=pageLocation.protocol))||(ajaxHost.host&&(ajaxHost.host!=pageLocation.host))||(ajaxHost.host&&(portOf(ajaxHost)!=portOf(pageLocation))));}
5529function parseUrlOrigin(url){var URL_HOST_PATTERN=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/,urlHostMatch=URL_HOST_PATTERN.exec(url)||[];return{protocol:urlHostMatch[1]||'',host:urlHostMatch[2]||'',port:urlHostMatch[3]||''};}
5530function httpTransport(){return new XMLHttpRequest();}
5531function streamingHttp(oboeBus,xhr,method,url,data,headers,withCredentials){"use strict";var emitStreamData=oboeBus(STREAM_DATA).emit,emitFail=oboeBus(FAIL_EVENT).emit,numberOfCharsAlreadyGivenToCallback=0,stillToSendStartEvent=true;oboeBus(ABORTING).on(function(){xhr.onreadystatechange=null;xhr.abort();});function handleProgress(){var textSoFar=xhr.responseText,newText=textSoFar.substr(numberOfCharsAlreadyGivenToCallback);if(newText){emitStreamData(newText);}
5532numberOfCharsAlreadyGivenToCallback=len(textSoFar);}
5533if('onprogress'in xhr){xhr.onprogress=handleProgress;}
5534xhr.onreadystatechange=function(){function sendStartIfNotAlready(){try{stillToSendStartEvent&&oboeBus(HTTP_START).emit(xhr.status,parseResponseHeaders(xhr.getAllResponseHeaders()));stillToSendStartEvent=false;}catch(e){}}
5535switch(xhr.readyState){case 2:case 3:return sendStartIfNotAlready();case 4:sendStartIfNotAlready();var successful=String(xhr.status)[0]==2;if(successful){handleProgress();oboeBus(STREAM_END).emit();}else{emitFail(errorReport(xhr.status,xhr.responseText));}}};try{xhr.open(method,url,true);for(var headerName in headers){xhr.setRequestHeader(headerName,headers[headerName]);}
5536if(!isCrossOrigin(window.location,parseUrlOrigin(url))){xhr.setRequestHeader('X-Requested-With','XMLHttpRequest');}
5537xhr.withCredentials=withCredentials;xhr.send(data);}catch(e){window.setTimeout(partialComplete(emitFail,errorReport(undefined,undefined,e)),0);}}
5538var jsonPathSyntax=(function(){var
5539regexDescriptor=function regexDescriptor(regex){return regex.exec.bind(regex);},jsonPathClause=varArgs(function(componentRegexes){componentRegexes.unshift(/^/);return regexDescriptor(RegExp(componentRegexes.map(attr('source')).join('')));}),possiblyCapturing=/(\$?)/,namedNode=/([\w-_]+|\*)/,namePlaceholder=/()/,nodeInArrayNotation=/\["([^"]+)"\]/,numberedNodeInArrayNotation=/\[(\d+|\*)\]/,fieldList=/{([\w ]*?)}/,optionalFieldList=/(?:{([\w ]*?)})?/
5540,jsonPathNamedNodeInObjectNotation=jsonPathClause(possiblyCapturing,namedNode,optionalFieldList),jsonPathNamedNodeInArrayNotation=jsonPathClause(possiblyCapturing,nodeInArrayNotation,optionalFieldList),jsonPathNumberedNodeInArrayNotation=jsonPathClause(possiblyCapturing,numberedNodeInArrayNotation,optionalFieldList),jsonPathPureDuckTyping=jsonPathClause(possiblyCapturing,namePlaceholder,fieldList),jsonPathDoubleDot=jsonPathClause(/\.\./),jsonPathDot=jsonPathClause(/\./),jsonPathBang=jsonPathClause(possiblyCapturing,/!/),emptyString=jsonPathClause(/$/);return function(fn){return fn(lazyUnion(jsonPathNamedNodeInObjectNotation,jsonPathNamedNodeInArrayNotation,jsonPathNumberedNodeInArrayNotation,jsonPathPureDuckTyping),jsonPathDoubleDot,jsonPathDot,jsonPathBang,emptyString);};}());function namedNode(key,node){return{key:key,node:node};}
5541var keyOf=attr('key');var nodeOf=attr('node');var ROOT_PATH={};function incrementalContentBuilder(oboeBus){var emitNodeOpened=oboeBus(NODE_OPENED).emit,emitNodeClosed=oboeBus(NODE_CLOSED).emit,emitRootOpened=oboeBus(ROOT_PATH_FOUND).emit,emitRootClosed=oboeBus(ROOT_NODE_FOUND).emit;function arrayIndicesAreKeys(possiblyInconsistentAscent,newDeepestNode){var parentNode=nodeOf(head(possiblyInconsistentAscent));return isOfType(Array,parentNode)?keyFound(possiblyInconsistentAscent,len(parentNode),newDeepestNode):possiblyInconsistentAscent;}
5542function nodeOpened(ascent,newDeepestNode){if(!ascent){emitRootOpened(newDeepestNode);return keyFound(ascent,ROOT_PATH,newDeepestNode);}
5543var arrayConsistentAscent=arrayIndicesAreKeys(ascent,newDeepestNode),ancestorBranches=tail(arrayConsistentAscent),previouslyUnmappedName=keyOf(head(arrayConsistentAscent));appendBuiltContent(ancestorBranches,previouslyUnmappedName,newDeepestNode);return cons(namedNode(previouslyUnmappedName,newDeepestNode),ancestorBranches);}
5544function appendBuiltContent(ancestorBranches,key,node){nodeOf(head(ancestorBranches))[key]=node;}
5545function keyFound(ascent,newDeepestName,maybeNewDeepestNode){if(ascent){appendBuiltContent(ascent,newDeepestName,maybeNewDeepestNode);}
5546var ascentWithNewPath=cons(namedNode(newDeepestName,maybeNewDeepestNode),ascent);emitNodeOpened(ascentWithNewPath);return ascentWithNewPath;}
5547function nodeClosed(ascent){emitNodeClosed(ascent);return tail(ascent)||emitRootClosed(nodeOf(head(ascent)));}
5548var contentBuilderHandlers={};contentBuilderHandlers[SAX_VALUE_OPEN]=nodeOpened;contentBuilderHandlers[SAX_VALUE_CLOSE]=nodeClosed;contentBuilderHandlers[SAX_KEY]=keyFound;return contentBuilderHandlers;}
5549var jsonPathCompiler=jsonPathSyntax(function(pathNodeSyntax,doubleDotSyntax,dotSyntax,bangSyntax,emptySyntax){var CAPTURING_INDEX=1;var NAME_INDEX=2;var FIELD_LIST_INDEX=3;var headKey=compose2(keyOf,head),headNode=compose2(nodeOf,head);function nameClause(previousExpr,detection){var name=detection[NAME_INDEX],matchesName=(!name||name=='*')?always:function(ascent){return headKey(ascent)==name};return lazyIntersection(matchesName,previousExpr);}
5550function duckTypeClause(previousExpr,detection){var fieldListStr=detection[FIELD_LIST_INDEX];if(!fieldListStr)
5551return previousExpr;var hasAllrequiredFields=partialComplete(hasAllProperties,arrayAsList(fieldListStr.split(/\W+/))),isMatch=compose2(hasAllrequiredFields,headNode);return lazyIntersection(isMatch,previousExpr);}
5552function capture(previousExpr,detection){var capturing=!!detection[CAPTURING_INDEX];if(!capturing)
5553return previousExpr;return lazyIntersection(previousExpr,head);}
5554function skip1(previousExpr){if(previousExpr==always){return always;}
5555function notAtRoot(ascent){return headKey(ascent)!=ROOT_PATH;}
5556return lazyIntersection(notAtRoot,compose2(previousExpr,tail));}
5557function skipMany(previousExpr){if(previousExpr==always){return always;}
5558var
5559terminalCaseWhenArrivingAtRoot=rootExpr(),terminalCaseWhenPreviousExpressionIsSatisfied=previousExpr,recursiveCase=skip1(function(ascent){return cases(ascent);}),cases=lazyUnion(terminalCaseWhenArrivingAtRoot,terminalCaseWhenPreviousExpressionIsSatisfied,recursiveCase);return cases;}
5560function rootExpr(){return function(ascent){return headKey(ascent)==ROOT_PATH;};}
5561function statementExpr(lastClause){return function(ascent){var exprMatch=lastClause(ascent);return exprMatch===true?head(ascent):exprMatch;};}
5562function expressionsReader(exprs,parserGeneratedSoFar,detection){return foldR(function(parserGeneratedSoFar,expr){return expr(parserGeneratedSoFar,detection);},parserGeneratedSoFar,exprs);}
5563function generateClauseReaderIfTokenFound(tokenDetector,clauseEvaluatorGenerators,jsonPath,parserGeneratedSoFar,onSuccess){var detected=tokenDetector(jsonPath);if(detected){var compiledParser=expressionsReader(clauseEvaluatorGenerators,parserGeneratedSoFar,detected),remainingUnparsedJsonPath=jsonPath.substr(len(detected[0]));return onSuccess(remainingUnparsedJsonPath,compiledParser);}}
5564function clauseMatcher(tokenDetector,exprs){return partialComplete(generateClauseReaderIfTokenFound,tokenDetector,exprs);}
5565var clauseForJsonPath=lazyUnion(clauseMatcher(pathNodeSyntax,list(capture,duckTypeClause,nameClause,skip1)),clauseMatcher(doubleDotSyntax,list(skipMany)),clauseMatcher(dotSyntax,list()),clauseMatcher(bangSyntax,list(capture,rootExpr)),clauseMatcher(emptySyntax,list(statementExpr)),function(jsonPath){throw Error('"'+jsonPath+'" could not be tokenised')});function returnFoundParser(_remainingJsonPath,compiledParser){return compiledParser}
5566function compileJsonPathToFunction(uncompiledJsonPath,parserGeneratedSoFar){var onFind=uncompiledJsonPath?compileJsonPathToFunction:returnFoundParser;return clauseForJsonPath(uncompiledJsonPath,parserGeneratedSoFar,onFind);}
5567return function(jsonPath){try{return compileJsonPathToFunction(jsonPath,always);}catch(e){throw Error('Could not compile "'+jsonPath+'" because '+e.message);}}});function singleEventPubSub(eventType,newListener,removeListener){var listenerTupleList,listenerList;function hasId(id){return function(tuple){return tuple.id==id;};}
5568return{on:function(listener,listenerId){var tuple={listener:listener,id:listenerId||listener};if(newListener){newListener.emit(eventType,listener,tuple.id);}
5569listenerTupleList=cons(tuple,listenerTupleList);listenerList=cons(listener,listenerList);return this;},emit:function(){applyEach(listenerList,arguments);},un:function(listenerId){var removed;listenerTupleList=without(listenerTupleList,hasId(listenerId),function(tuple){removed=tuple;});if(removed){listenerList=without(listenerList,function(listener){return listener==removed.listener;});if(removeListener){removeListener.emit(eventType,removed.listener,removed.id);}}},listeners:function(){return listenerList;},hasListener:function(listenerId){var test=listenerId?hasId(listenerId):always;return defined(first(test,listenerTupleList));}};}
5570function pubSub(){var singles={},newListener=newSingle('newListener'),removeListener=newSingle('removeListener');function newSingle(eventName){return singles[eventName]=singleEventPubSub(eventName,newListener,removeListener);}
5571function pubSubInstance(eventName){return singles[eventName]||newSingle(eventName);}
5572['emit','on','un'].forEach(function(methodName){pubSubInstance[methodName]=varArgs(function(eventName,parameters){apply(parameters,pubSubInstance(eventName)[methodName]);});});return pubSubInstance;}
5573var
5574_S=1,NODE_OPENED=_S++,NODE_CLOSED=_S++,NODE_SWAP=_S++,NODE_DROP=_S++,FAIL_EVENT='fail',ROOT_NODE_FOUND=_S++,ROOT_PATH_FOUND=_S++,HTTP_START='start',STREAM_DATA='data',STREAM_END='end',ABORTING=_S++,SAX_KEY=_S++,SAX_VALUE_OPEN=_S++,SAX_VALUE_CLOSE=_S++;function errorReport(statusCode,body,error){try{var jsonBody=JSON.parse(body);}catch(e){}
5575return{statusCode:statusCode,body:body,jsonBody:jsonBody,thrown:error};}
5576function patternAdapter(oboeBus,jsonPathCompiler){var predicateEventMap={node:oboeBus(NODE_CLOSED),path:oboeBus(NODE_OPENED)};function emitMatchingNode(emitMatch,node,ascent){var descent=reverseList(ascent);emitMatch(node,listAsArray(tail(map(keyOf,descent))),listAsArray(map(nodeOf,descent)));}
5577function addUnderlyingListener(fullEventName,predicateEvent,compiledJsonPath){var emitMatch=oboeBus(fullEventName).emit;predicateEvent.on(function(ascent){var maybeMatchingMapping=compiledJsonPath(ascent);if(maybeMatchingMapping!==false){emitMatchingNode(emitMatch,nodeOf(maybeMatchingMapping),ascent);}},fullEventName);oboeBus('removeListener').on(function(removedEventName){if(removedEventName==fullEventName){if(!oboeBus(removedEventName).listeners()){predicateEvent.un(fullEventName);}}});}
5578oboeBus('newListener').on(function(fullEventName){var match=/(node|path):(.*)/.exec(fullEventName);if(match){var predicateEvent=predicateEventMap[match[1]];if(!predicateEvent.hasListener(fullEventName)){addUnderlyingListener(fullEventName,predicateEvent,jsonPathCompiler(match[2]));}}})}
5579function instanceApi(oboeBus,contentSource){var oboeApi,fullyQualifiedNamePattern=/^(node|path):./,rootNodeFinishedEvent=oboeBus(ROOT_NODE_FOUND),emitNodeDrop=oboeBus(NODE_DROP).emit,emitNodeSwap=oboeBus(NODE_SWAP).emit,addListener=varArgs(function(eventId,parameters){if(oboeApi[eventId]){apply(parameters,oboeApi[eventId]);}else{var event=oboeBus(eventId),listener=parameters[0];if(fullyQualifiedNamePattern.test(eventId)){addForgettableCallback(event,listener);}else{event.on(listener);}}
5580return oboeApi;}),removeListener=function(eventId,p2,p3){if(eventId=='done'){rootNodeFinishedEvent.un(p2);}else if(eventId=='node'||eventId=='path'){oboeBus.un(eventId+':'+p2,p3);}else{var listener=p2;oboeBus(eventId).un(listener);}
5581return oboeApi;};function addProtectedCallback(eventName,callback){oboeBus(eventName).on(protectedCallback(callback),callback);return oboeApi;}
5582function addForgettableCallback(event,callback,listenerId){listenerId=listenerId||callback;var safeCallback=protectedCallback(callback);event.on(function(){var discard=false;oboeApi.forget=function(){discard=true;};apply(arguments,safeCallback);delete oboeApi.forget;if(discard){event.un(listenerId);}},listenerId);return oboeApi;}
5583function protectedCallback(callback){return function(){try{return callback.apply(oboeApi,arguments);}catch(e){setTimeout(function(){throw new Error(e.message);});}}}
5584function fullyQualifiedPatternMatchEvent(type,pattern){return oboeBus(type+':'+pattern);}
5585function wrapCallbackToSwapNodeIfSomethingReturned(callback){return function(){var returnValueFromCallback=callback.apply(this,arguments);if(defined(returnValueFromCallback)){if(returnValueFromCallback==oboe.drop){emitNodeDrop();}else{emitNodeSwap(returnValueFromCallback);}}}}
5586function addSingleNodeOrPathListener(eventId,pattern,callback){var effectiveCallback;if(eventId=='node'){effectiveCallback=wrapCallbackToSwapNodeIfSomethingReturned(callback);}else{effectiveCallback=callback;}
5587addForgettableCallback(fullyQualifiedPatternMatchEvent(eventId,pattern),effectiveCallback,callback);}
5588function addMultipleNodeOrPathListeners(eventId,listenerMap){for(var pattern in listenerMap){addSingleNodeOrPathListener(eventId,pattern,listenerMap[pattern]);}}
5589function addNodeOrPathListenerApi(eventId,jsonPathOrListenerMap,callback){if(isString(jsonPathOrListenerMap)){addSingleNodeOrPathListener(eventId,jsonPathOrListenerMap,callback);}else{addMultipleNodeOrPathListeners(eventId,jsonPathOrListenerMap);}
5590return oboeApi;}
5591oboeBus(ROOT_PATH_FOUND).on(function(rootNode){oboeApi.root=functor(rootNode);});oboeBus(HTTP_START).on(function(_statusCode,headers){oboeApi.header=function(name){return name?headers[name]:headers;}});return oboeApi={on:addListener,addListener:addListener,removeListener:removeListener,emit:oboeBus.emit,node:partialComplete(addNodeOrPathListenerApi,'node'),path:partialComplete(addNodeOrPathListenerApi,'path'),done:partialComplete(addForgettableCallback,rootNodeFinishedEvent),start:partialComplete(addProtectedCallback,HTTP_START),fail:oboeBus(FAIL_EVENT).on,abort:oboeBus(ABORTING).emit,write:oboeBus(STREAM_DATA).emit,finish:oboeBus(STREAM_END).emit,header:noop,root:noop,source:contentSource};}
5592function wire(httpMethodName,contentSource,body,headers,withCredentials){var oboeBus=pubSub();if(contentSource){streamingHttp(oboeBus,httpTransport(),httpMethodName,contentSource,body,headers,withCredentials);}
5593clarinet(oboeBus);ascentManager(oboeBus,incrementalContentBuilder(oboeBus));patternAdapter(oboeBus,jsonPathCompiler);return instanceApi(oboeBus,contentSource);}
5594function applyDefaults(passthrough,url,httpMethodName,body,headers,withCredentials,cached){headers=headers?JSON.parse(JSON.stringify(headers)):{};if(body){if(!isString(body)){body=JSON.stringify(body);headers['Content-Type']=headers['Content-Type']||'application/json';}}else{body=null;}
5595function modifiedUrl(baseUrl,cached){if(cached===false){if(baseUrl.indexOf('?')==-1){baseUrl+='?';}else{baseUrl+='&';}
5596baseUrl+='_='+new Date().getTime();}
5597return baseUrl;}
5598return passthrough(httpMethodName||'GET',modifiedUrl(url,cached),body,headers,withCredentials||false);}
5599function oboe(arg1){var nodeStreamMethodNames=list('resume','pause','pipe'),isStream=partialComplete(hasAllProperties,nodeStreamMethodNames);if(arg1){if(isStream(arg1)||isString(arg1)){return applyDefaults(wire,arg1);}else{return applyDefaults(wire,arg1.url,arg1.method,arg1.body,arg1.headers,arg1.withCredentials,arg1.cached);}}else{return wire();}}
5600oboe.drop=function(){return oboe.drop;};if(typeof define==="function"&&define.amd){define("oboe",[],function(){return oboe;});}else if(typeof exports==='object'){module.exports=oboe;}else{window.oboe=oboe;}})((function(){try{return window;}catch(e){return self;}}()),Object,Array,Error,JSON);'use strict';if(tr.isHeadless){global.window={};}'use strict';if(tr.isVinn){global.oboe=global.window.oboe;global.window=undefined;}else if(tr.isNode){global.window=undefined;const path=HTMLImportsLoader.hrefToAbsolutePath('/oboe/dist/oboe-node.js');global.oboe=require(path);}'use strict';tr.exportTo('tr.e.importer',function(){const STRING_ID_SUFFIX='_sid';const PLURAL_STRING_ID_SUFFIX='_sids';function isStringReference(s){return s.endsWith(STRING_ID_SUFFIX)||s.endsWith(PLURAL_STRING_ID_SUFFIX);}
5601function getStringReferenceName(name){if(name.endsWith(PLURAL_STRING_ID_SUFFIX)){return name.slice(0,-PLURAL_STRING_ID_SUFFIX.length);}
5602return name.slice(0,-STRING_ID_SUFFIX.length);}
5603function deferenceStrings(idToString,o){const clone=Object.assign({},o);for(const[key,value]of Object.entries(clone)){if(isStringReference(key)){const name=getStringReferenceName(key);clone[name]=idToString(value);}}
5604return clone;}
5605function singularize(word){if(word.endsWith('s')){return word.slice(0,-1);}
5606return word;}
5607function getMetadataPairs(dataJson){const isMetadata=v=>typeof v!=='object'||Array.isArray(v);const pairs=Object.entries(dataJson);const metadataPairs=pairs.filter(([_,v])=>isMetadata(v));return metadataPairs;}
5608function getGroupPairs(dataJson){const pairs=Object.entries(dataJson);const nonMapPairs=pairs.filter(([k,_])=>k!=='maps');const groupPairs=nonMapPairs.filter(([_,v])=>typeof v==='object');return groupPairs;}
5609function createMap(mapJson){const map=new Map();for(const entry of mapJson){if(entry.id===undefined){throw new Error('Missing required key "id" in streaming event.');}
5610map.set(entry.id,entry);}
5611return map;}
5612function createMaps(mapsJson){const maps=new Map();for(const[name,mapJson]of Object.entries(mapsJson)){maps.set(name,createMap(mapJson));}
5613return maps;}
5614function createGroup(groupJson,opt_startTime){const entries=[];const n=Object.values(groupJson)[0].length;for(let i=0;i<n;i++){const entry={};for(const name in groupJson){entry[name]=groupJson[name][i];}
5615entries.push(entry);}
5616const timeDelta=groupJson.timeDelta;if(opt_startTime===undefined&&timeDelta!==undefined){throw new Error('Missing required key "startTime" in streaming event.');}
5617if(opt_startTime){let delta=0;for(const entry of entries){delta+=entry.timeDelta?entry.timeDelta:0;entry.time=opt_startTime+delta;}}
5618return entries;}
5619function createGroups(groupsJson,opt_startTime){const groups=new Map();for(const[name,groupJson]of Object.entries(groupsJson)){groups.set(name,createGroup(groupJson,opt_startTime));}
5620return groups;}
5621function createMetadata(metadataPairs){const metadata=new Map();for(const[name,value]of metadataPairs){metadata.set(name,value);}
5622if(metadata.get('version')===undefined){throw new Error('Missing required key "version" in streaming event.');}
5623return metadata;}
5624class ProfilingDictionaryReader{constructor(opt_metadata,opt_maps,opt_groups,opt_parent){this.metadata=opt_metadata||new Map();this.maps=opt_maps||new Map();this.groups=opt_groups||new Map();this.parent_=opt_parent||undefined;this.inflated_=undefined;this.raw_=undefined;this.boundGetString_=this.getString.bind(this);this.deferenceStrings_=o=>deferenceStrings(this.boundGetString_,o);}
5625static empty(){return new ProfilingDictionaryReader();}
5626get parent(){return this.parent_;}
5627get raw(){if(this.raw_)return this.raw_;this.raw_={};for(const[name,group]of this.groups.entries()){this.raw_[name]=group;}
5628return this.raw_;}
5629get inflated(){if(this.inflated_)return this.inflated_;this.inflated_={};for(const[name,group]of this.groups.entries()){this.inflated_[name]=this.inflateGroup(group);}
5630return this.inflated_;}
5631getNewMap(name){return this.maps.get(name)||new Map();}
5632getMapValue(mapName,id){let value=this.getNewMap(mapName).get(id);if(value===undefined&&this.parent){value=this.parent.getMapValue(mapName,id);}
5633return value;}
5634getString(id){const value=this.getMapValue('strings',id);if(value===undefined)return undefined;return value.string;}
5635hasMap(name){if(this.maps.has(name))return true;if(this.parent===undefined)return false;return this.parent.hasMap(name);}
5636inflateGroup(group){return group.map(this.inflateEntry.bind(this));}
5637inflateEntry(entry){const inflatedEntry={};for(const[name,value]of Object.entries(entry)){let inflatedValue;if(this.hasMap(name)){const id=value;inflatedValue=this.deferenceStrings_(this.getMapValue(name,id));}else{inflatedValue=value;}
5638inflatedEntry[singularize(name)]=inflatedValue;}
5639return this.deferenceStrings_(inflatedEntry);}
5640expandData(data){const mapsJson=data.maps||{};const groupsJson=data.allocators||{};const metadataPairs=getMetadataPairs(data);const metadata=createMetadata(metadataPairs);const opt_startTime=metadata.get('startTime');const maps=createMaps(mapsJson);const groups=createGroups(groupsJson,opt_startTime);return new ProfilingDictionaryReader(metadata,maps,groups,this);}
5641expandEvent(event){return this.expandData(event.args.data);}}
5642return{ProfilingDictionaryReader,singularize,deferenceStringsForTest:deferenceStrings,};});'use strict';tr.exportTo('tr.model.source_info',function(){function SourceInfo(file,opt_line,opt_column){this.file_=file;this.line_=opt_line||-1;this.column_=opt_column||-1;}
5643SourceInfo.prototype={get file(){return this.file_;},get line(){return this.line_;},get column(){return this.column_;},get domain(){if(!this.file_)return undefined;const domain=this.file_.match(/(.*:\/\/[^:\/]*)/i);return domain?domain[1]:undefined;},toString(){let str='';if(this.file_){str+=this.file_;}
5644if(this.line_>0){str+=':'+this.line_;}
5645if(this.column_>0){str+=':'+this.column_;}
5646return str;}};return{SourceInfo,};});'use strict';tr.exportTo('tr.model.source_info',function(){function JSSourceInfo(file,line,column,isNative,scriptId,state){tr.model.source_info.SourceInfo.call(this,file,line,column);this.isNative_=isNative;this.scriptId_=scriptId;this.state_=state;}
5647JSSourceInfo.prototype={__proto__:tr.model.source_info.SourceInfo.prototype,get state(){return this.state_;},get isNative(){return this.isNative_;},get scriptId(){return this.scriptId_;},toString(){const str=this.isNative_?'[native v8] ':'';return str+
5648tr.model.source_info.SourceInfo.prototype.toString.call(this);}};const JSSourceState={COMPILED:'compiled',OPTIMIZABLE:'optimizable',OPTIMIZED:'optimized',UNKNOWN:'unknown',};return{JSSourceInfo,JSSourceState,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeEntry(address,size,name,scriptId){this.id_=tr.b.GUID.allocateSimple();this.address_=address;this.size_=size;const rePrefix=/^(\w*:)?([*~]?)(.*)$/m;const tokens=rePrefix.exec(name);const prefix=tokens[1];let state=tokens[2];const body=tokens[3];if(state==='*'){state=tr.model.source_info.JSSourceState.OPTIMIZED;}else if(state==='~'){state=tr.model.source_info.JSSourceState.OPTIMIZABLE;}else if(state===''){state=tr.model.source_info.JSSourceState.COMPILED;}else{state=tr.model.source_info.JSSourceState.UNKNOWN;}
5649let rawName;let rawUrl;if(prefix==='Script:'){rawName='';rawUrl=body;}else{const spacePos=body.lastIndexOf(' ');rawName=spacePos!==-1?body.substr(0,spacePos):body;rawUrl=spacePos!==-1?body.substr(spacePos+1):'';}
5650function splitLineAndColumn(url){const lineColumnRegEx=/(?::(\d+))?(?::(\d+))?$/;const lineColumnMatch=lineColumnRegEx.exec(url);let lineNumber;let columnNumber;if(typeof(lineColumnMatch[1])==='string'){lineNumber=parseInt(lineColumnMatch[1],10);lineNumber=isNaN(lineNumber)?undefined:lineNumber-1;}
5651if(typeof(lineColumnMatch[2])==='string'){columnNumber=parseInt(lineColumnMatch[2],10);columnNumber=isNaN(columnNumber)?undefined:columnNumber-1;}
5652return{url:url.substring(0,url.length-lineColumnMatch[0].length),lineNumber,columnNumber};}
5653const nativeSuffix=' native';const isNative=rawName.endsWith(nativeSuffix);this.name_=isNative?rawName.slice(0,-nativeSuffix.length):rawName;const urlData=splitLineAndColumn(rawUrl);const url=urlData.url||'';const line=urlData.lineNumber||0;const column=urlData.columnNumber||0;this.sourceInfo_=new tr.model.source_info.JSSourceInfo(url,line,column,isNative,scriptId,state);}
5654TraceCodeEntry.prototype={get id(){return this.id_;},get sourceInfo(){return this.sourceInfo_;},get name(){return this.name_;},set address(address){this.address_=address;},get address(){return this.address_;},set size(size){this.size_=size;},get size(){return this.size_;}};return{TraceCodeEntry,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeMap(){this.banks_=new Map();}
5655TraceCodeMap.prototype={addEntry(addressHex,size,name,scriptId){const entry=new tr.e.importer.TraceCodeEntry(this.getAddress_(addressHex),size,name,scriptId);this.addEntry_(addressHex,entry);},moveEntry(oldAddressHex,newAddressHex,size){const entry=this.getBank_(oldAddressHex).removeEntry(this.getAddress_(oldAddressHex));if(!entry)return;entry.address=this.getAddress_(newAddressHex);entry.size=size;this.addEntry_(newAddressHex,entry);},lookupEntry(addressHex){return this.getBank_(addressHex).lookupEntry(this.getAddress_(addressHex));},addEntry_(addressHex,entry){this.getBank_(addressHex).addEntry(entry);},getAddress_(addressHex){const bankSizeHexDigits=13;addressHex=addressHex.slice(2);return parseInt(addressHex.slice(-bankSizeHexDigits),16);},getBank_(addressHex){addressHex=addressHex.slice(2);const bankSizeHexDigits=13;const maxHexDigits=16;const bankName=addressHex.slice(-maxHexDigits,-bankSizeHexDigits);let bank=this.banks_.get(bankName);if(!bank){bank=new TraceCodeBank();this.banks_.set(bankName,bank);}
5656return bank;}};function TraceCodeBank(){this.entries_=[];}
5657TraceCodeBank.prototype={removeEntry(address){if(this.entries_.length===0)return undefined;const index=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},address);const entry=this.entries_[index];if(!entry||entry.address!==address)return undefined;this.entries_.splice(index,1);return entry;},lookupEntry(address){const index=tr.b.math.findHighIndexInSortedArray(this.entries_,function(e){return address-e.address;})-1;const entry=this.entries_[index];return entry&&address<entry.address+entry.size?entry:undefined;},addEntry(newEntry){if(this.entries_.length===0){this.entries_.push(newEntry);}
5658const endAddress=newEntry.address+newEntry.size;const lastIndex=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},endAddress);let index;for(index=lastIndex-1;index>=0;--index){const entry=this.entries_[index];const entryEndAddress=entry.address+entry.size;if(entryEndAddress<=newEntry.address)break;}
5659++index;this.entries_.splice(index,lastIndex-index,newEntry);}};return{TraceCodeMap,};});'use strict';tr.exportTo('tr.importer',function(){function ContextProcessor(model){this.model_=model;this.activeContexts_=[];this.stackPerType_={};this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.seenSnapshots_={};}
5660ContextProcessor.prototype={enterContext(contextType,scopedId){const newActiveContexts=[this.getOrCreateContext_(contextType,scopedId),];for(const oldContext of this.activeContexts_){if(oldContext.type===contextType){this.pushContext_(oldContext);}else{newActiveContexts.push(oldContext);}}
5661this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},leaveContext(contextType,scopedId){this.leaveContextImpl_(context=>context.type===contextType&&context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},destroyContext(scopedId){for(const stack of Object.values(this.stackPerType_)){let newLength=0;for(let i=0;i<stack.length;++i){if(stack[i].snapshot.scope!==scopedId.scope||stack[i].snapshot.idRef!==scopedId.id){stack[newLength++]=stack[i];}}
5662stack.length=newLength;}
5663this.leaveContextImpl_(context=>context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},leaveContextImpl_(predicate){const newActiveContexts=[];for(const oldContext of this.activeContexts_){if(predicate(oldContext)){const previousContext=this.popContext_(oldContext.type);if(previousContext){newActiveContexts.push(previousContext);}}else{newActiveContexts.push(oldContext);}}
5664this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},getOrCreateContext_(contextType,scopedId){const context={type:contextType,snapshot:{scope:scopedId.scope,idRef:scopedId.id}};const key=this.getContextKey_(context);if(key in this.contextCache_){return this.contextCache_[key];}
5665this.contextCache_[key]=context;const snapshotKey=this.getSnapshotKey_(scopedId);this.seenSnapshots_[snapshotKey]=true;return context;},pushContext_(context){if(!(context.type in this.stackPerType_)){this.stackPerType_[context.type]=[];}
5666this.stackPerType_[context.type].push(context);},popContext_(contextType){if(!(contextType in this.stackPerType_)){return undefined;}
5667return this.stackPerType_[contextType].pop();},getContextKey_(context){return[context.type,context.snapshot.scope,context.snapshot.idRef].join('\x00');},getSnapshotKey_(scopedId){return[scopedId.scope,scopedId.idRef].join('\x00');},get activeContexts(){if(this.cachedEntryForActiveContexts_===undefined){let key=[];for(const context of this.activeContexts_){key.push(this.getContextKey_(context));}
5668key.sort();key=key.join('\x00');if(key in this.contextSetCache_){this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}else{this.activeContexts_.sort(function(a,b){const keyA=this.getContextKey_(a);const keyB=this.getContextKey_(b);if(keyA<keyB){return-1;}
5669if(keyA>keyB){return 1;}
5670return 0;}.bind(this));this.contextSetCache_[key]=Object.freeze(this.activeContexts_);this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}}
5671return this.cachedEntryForActiveContexts_;},invalidateContextCacheForSnapshot(scopedId){const snapshotKey=this.getSnapshotKey_(scopedId);if(!(snapshotKey in this.seenSnapshots_))return;this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.activeContexts_=this.activeContexts_.map(function(context){if(context.snapshot.scope!==scopedId.scope||context.snapshot.idRef!==scopedId.id){return context;}
5672return{type:context.type,snapshot:{scope:context.snapshot.scope,idRef:context.snapshot.idRef}};});this.seenSnapshots_={};},};return{ContextProcessor,};});'use strict';tr.exportTo('tr.model',function(){function Annotation(){this.guid_=tr.b.GUID.allocateSimple();this.view_=undefined;}
5673Annotation.fromDictIfPossible=function(args){if(args.typeName===undefined){throw new Error('Missing typeName argument');}
5674const typeInfo=Annotation.findTypeInfoMatching(function(typeInfo){return typeInfo.metadata.typeName===args.typeName;});if(typeInfo===undefined)return undefined;return typeInfo.constructor.fromDict(args);};Annotation.fromDict=function(){throw new Error('Not implemented');};Annotation.prototype={get guid(){return this.guid_;},onRemove(){},toDict(){throw new Error('Not implemented');},getOrCreateView(viewport){if(!this.view_){this.view_=this.createView_(viewport);}
5675return this.view_;},createView_(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(Annotation,options);Annotation.addEventListener('will-register',function(e){if(!e.typeInfo.constructor.hasOwnProperty('fromDict')){throw new Error('Must have fromDict method');}
5676if(!e.typeInfo.metadata.typeName){throw new Error('Registered Annotations must provide typeName');}});return{Annotation,};});'use strict';tr.exportTo('tr.model',function(){function YComponent(stableId,yPercentOffset){this.stableId=stableId;this.yPercentOffset=yPercentOffset;}
5677YComponent.prototype={toDict(){return{stableId:this.stableId,yPercentOffset:this.yPercentOffset};}};function Location(xWorld,yComponents){this.xWorld_=xWorld;this.yComponents_=yComponents;}
5678Location.fromViewCoordinates=function(viewport,viewX,viewY){const dt=viewport.currentDisplayTransform;const xWorld=dt.xViewToWorld(viewX);const yComponents=[];let elem=document.elementFromPoint(viewX+viewport.modelTrackContainer.canvas.offsetLeft,viewY+viewport.modelTrackContainer.canvas.offsetTop);while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(viewY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));}
5679elem=elem.parentElement;}
5680if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.fromStableIdAndTimestamp=function(viewport,stableId,ts){const xWorld=ts;const yComponents=[];const containerToTrack=viewport.containerToTrackMap;let elem=containerToTrack.getTrackByStableId(stableId);if(!elem)return;const firstY=elem.getBoundingClientRect().top;while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(firstY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));}
5681elem=elem.parentElement;}
5682if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.prototype={get xWorld(){return this.xWorld_;},getContainingTrack(viewport){const containerToTrack=viewport.containerToTrackMap;for(const i in this.yComponents_){const yComponent=this.yComponents_[i];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined)return track;}},toViewCoordinates(viewport){const dt=viewport.currentDisplayTransform;const containerToTrack=viewport.containerToTrackMap;const viewX=dt.xWorldToView(this.xWorld_);let viewY=-1;for(const index in this.yComponents_){const yComponent=this.yComponents_[index];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined){const boundRect=track.getBoundingClientRect();viewY=yComponent.yPercentOffset*boundRect.height+boundRect.top;break;}}
5683return{viewX,viewY};},toDict(){return{xWorld:this.xWorld_,yComponents:this.yComponents_};}};return{Location,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function AnnotationView(viewport,annotation){}
5684AnnotationView.prototype={draw(ctx){throw new Error('Not implemented');}};return{AnnotationView,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function RectAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;}
5685RectAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const startCoords=this.annotation_.startLocation.toViewCoordinates(this.viewport_);const endCoords=this.annotation_.endLocation.toViewCoordinates(this.viewport_);let startY=startCoords.viewY-ctx.canvas.getBoundingClientRect().top;const sizeY=endCoords.viewY-startCoords.viewY;if(startY+sizeY<0){startY=sizeY;}else if(startY<0){startY=0;}
5686ctx.fillStyle=this.annotation_.fillStyle;ctx.fillRect(startCoords.viewX,startY,endCoords.viewX-startCoords.viewX,sizeY);}};return{RectAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function RectAnnotation(start,end){tr.model.Annotation.apply(this,arguments);this.startLocation_=start;this.endLocation_=end;this.fillStyle='rgba(255, 180, 0, 0.3)';}
5687RectAnnotation.fromDict=function(dict){const args=dict.args;const startLoc=new tr.model.Location(args.start.xWorld,args.start.yComponents);const endLoc=new tr.model.Location(args.end.xWorld,args.end.yComponents);return new tr.model.RectAnnotation(startLoc,endLoc);};RectAnnotation.prototype={__proto__:tr.model.Annotation.prototype,get startLocation(){return this.startLocation_;},get endLocation(){return this.endLocation_;},toDict(){return{typeName:'rect',args:{start:this.startLocation.toDict(),end:this.endLocation.toDict()}};},createView_(viewport){return new tr.ui.annotations.RectAnnotationView(viewport,this);}};tr.model.Annotation.register(RectAnnotation,{typeName:'rect'});return{RectAnnotation,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function CommentBoxAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;this.textArea_=undefined;this.styleWidth=250;this.styleHeight=50;this.fontSize=10;this.rightOffset=50;this.topOffset=25;}
5688CommentBoxAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,removeTextArea(){Polymer.dom(Polymer.dom(this.textArea_).parentNode).removeChild(this.textArea_);},draw(ctx){const coords=this.annotation_.location.toViewCoordinates(this.viewport_);if(coords.viewX<0){if(this.textArea_){this.textArea_.style.visibility='hidden';}
5689return;}
5690if(!this.textArea_){this.textArea_=document.createElement('textarea');this.textArea_.style.position='absolute';this.textArea_.readOnly=true;this.textArea_.value=this.annotation_.text;this.textArea_.style.zIndex=1;Polymer.dom(Polymer.dom(ctx.canvas).parentNode).appendChild(this.textArea_);}
5691this.textArea_.style.width=this.styleWidth+'px';this.textArea_.style.height=this.styleHeight+'px';this.textArea_.style.fontSize=this.fontSize+'px';this.textArea_.style.visibility='visible';this.textArea_.style.left=coords.viewX+ctx.canvas.getBoundingClientRect().left+
5692this.rightOffset+'px';this.textArea_.style.top=coords.viewY-ctx.canvas.getBoundingClientRect().top-
5693this.topOffset+'px';ctx.strokeStyle='rgb(0, 0, 0)';ctx.lineWidth=2;ctx.beginPath();tr.ui.b.drawLine(ctx,coords.viewX,coords.viewY-ctx.canvas.getBoundingClientRect().top,coords.viewX+this.rightOffset,coords.viewY-this.topOffset-
5694ctx.canvas.getBoundingClientRect().top);ctx.stroke();}};return{CommentBoxAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function CommentBoxAnnotation(location,text){tr.model.Annotation.apply(this,arguments);this.location=location;this.text=text;}
5695CommentBoxAnnotation.fromDict=function(dict){const args=dict.args;const location=new tr.model.Location(args.location.xWorld,args.location.yComponents);return new tr.model.CommentBoxAnnotation(location,args.text);};CommentBoxAnnotation.prototype={__proto__:tr.model.Annotation.prototype,onRemove(){this.view_.removeTextArea();},toDict(){return{typeName:'comment_box',args:{text:this.text,location:this.location.toDict()}};},createView_(viewport){return new tr.ui.annotations.CommentBoxAnnotationView(viewport,this);}};tr.model.Annotation.register(CommentBoxAnnotation,{typeName:'comment_box'});return{CommentBoxAnnotation,};});'use strict';tr.exportTo('tr.model',function(){function ScopedId(scope,id,pid){if(scope===undefined){throw new Error('Scope should be defined. Use \''+
5696tr.model.OBJECT_DEFAULT_SCOPE+'\' as the default scope.');}
5697this.scope=scope;this.id=id;this.pid=pid;}
5698ScopedId.prototype={toString(){const pidStr=this.pid===undefined?'':'pid: '+this.pid+', ';return'{'+pidStr+'scope: '+this.scope+', id: '+this.id+'}';},toStringWithDelimiter(delim){return(this.pid===undefined?'':this.pid)+delim+
5699this.scope+delim+this.id;}};return{ScopedId,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function XMarkerAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;}
5700XMarkerAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const viewX=dt.xWorldToView(this.annotation_.timestamp);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,ctx.canvas.height);ctx.strokeStyle=this.annotation_.strokeStyle;ctx.stroke();}};return{XMarkerAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function XMarkerAnnotation(timestamp){tr.model.Annotation.apply(this,arguments);this.timestamp=timestamp;this.strokeStyle='rgba(0, 0, 255, 0.5)';}
5701XMarkerAnnotation.fromDict=function(dict){return new XMarkerAnnotation(dict.args.timestamp);};XMarkerAnnotation.prototype={__proto__:tr.model.Annotation.prototype,toDict(){return{typeName:'xmarker',args:{timestamp:this.timestamp}};},createView_(viewport){return new tr.ui.annotations.XMarkerAnnotationView(viewport,this);}};tr.model.Annotation.register(XMarkerAnnotation,{typeName:'xmarker'});return{XMarkerAnnotation,};});'use strict';tr.exportTo('tr.e.importer',function(){const Base64=tr.b.Base64;const deepCopy=tr.b.deepCopy;const ColorScheme=tr.b.ColorScheme;const HeapDumpTraceEventImporter=tr.e.importer.HeapDumpTraceEventImporter;const LegacyHeapDumpTraceEventImporter=tr.e.importer.LegacyHeapDumpTraceEventImporter;const StreamingEventExpander=tr.e.importer.StreamingEventExpander;const ProfilingDictionaryReader=tr.e.importer.ProfilingDictionaryReader;function getEventColor(event,opt_customName){if(event.cname){return ColorScheme.getColorIdForReservedName(event.cname);}else if(opt_customName||event.name){return ColorScheme.getColorIdForGeneralPurposeString(opt_customName||event.name);}}
5702function isLegacyChromeClockSyncEvent(event){return event.name!==undefined&&event.name.startsWith(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX)&&((event.ph==='S')||(event.ph==='F'));}
5703const PRODUCER='producer';const CONSUMER='consumer';const STEP='step';const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER=[undefined,BACKGROUND,LIGHT,DETAILED];const GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX='global/';const LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX='ClockSyncEvent.';const BYTE_STAT_NAME_MAP={'pc':'privateCleanResident','pd':'privateDirtyResident','sc':'sharedCleanResident','sd':'sharedDirtyResident','pss':'proportionalResident','sw':'swapped'};const WEAK_MEMORY_ALLOCATOR_DUMP_FLAG=1<<0;const OBJECT_TYPE_NAME_PATTERNS=[{prefix:'const char *WOW::getStringWithTypeName() [T = ',suffix:']'},{prefix:'const char* WOW::getStringWithTypeName() [with T = ',suffix:']'},{prefix:'const char *__cdecl WOW::getStringWithTypeName<',suffix:'>(void)'}];const SUBTRACE_FIELDS=new Set(['powerTraceAsString','systemTraceEvents',]);const NON_METADATA_FIELDS=new Set(['displayTimeUnit','samples','stackFrames','traceAnnotations','traceEvents',...SUBTRACE_FIELDS]);function TraceEventImporter(model,eventData){this.hasEvents_=undefined;this.importPriority=1;this.model_=model;this.events_=undefined;this.sampleEvents_=undefined;this.stackFrameEvents_=undefined;this.stackFrameTree_=new tr.model.ProfileTree();this.subtraces_=[];this.eventsWereFromString_=false;this.softwareMeasuredCpuCount_=undefined;this.allAsyncEvents_=[];this.allFlowEvents_=[];this.allObjectEvents_=[];this.contextProcessorPerThread={};this.traceEventSampleStackFramesByName_={};this.v8ProcessCodeMaps_={};this.v8ProcessRootStackFrame_={};this.v8SamplingData_=[];this.profileTrees_=new Map();this.profileInfo_=new Map();this.legacyChromeClockSyncStartEvent_=undefined;this.legacyChromeClockSyncFinishEvent_=undefined;this.allMemoryDumpEvents_={};this.heapProfileExpander=new ProfilingDictionaryReader();this.objectTypeNameMap_={};this.clockDomainId_=tr.model.ClockDomainId.UNKNOWN_CHROME_LEGACY;this.toModelTime_=undefined;if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();if(eventData[0]==='['){eventData=eventData.replace(/\s*,\s*$/,'');if(eventData[eventData.length-1]!==']'){eventData=eventData+']';}}
5704this.events_=JSON.parse(eventData);this.eventsWereFromString_=true;}else{this.events_=eventData;}
5705if(this.events_.traceEvents){const container=this.events_;this.events_=this.events_.traceEvents;for(const subtraceField of SUBTRACE_FIELDS){if(container[subtraceField]){this.storeSubtrace_(container[subtraceField]);}}
5706this.storeSamples_(container.samples);this.storeStackFrames_(container.stackFrames);this.storeDisplayTimeUnit_(container.displayTimeUnit);this.storeTraceAnnotations_(container.traceAnnotations);this.storeMetadata_(container);}else if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',function(e){return oboe.drop;}).node('!.powerTraceAsString',this.storeSubtrace_.bind(this)).node('!.systemTraceEvents',this.storeSubtrace_.bind(this)).node('!.samples',this.storeSamples_.bind(this)).node('!.stackFrames',this.storeStackFrames_.bind(this)).node('!.displayTimeUnit',this.storeDisplayTimeUnit_.bind(this)).node('!.traceAnnotations',this.storeTraceAnnotations_.bind(this)).done(this.storeMetadata_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());}
5707parser.finish();}}
5708TraceEventImporter.canImport=function(eventData){if(eventData instanceof tr.b.TraceStream){if(eventData.isBinary)return false;eventData=eventData.header;}
5709if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();return eventData[0]==='{'||eventData[0]==='[';}
5710if(eventData instanceof Array&&eventData.length&&eventData[0].ph){return true;}
5711if(eventData.traceEvents){if(eventData.traceEvents instanceof Array){if(eventData.traceEvents.length&&eventData.traceEvents[0].ph){return true;}
5712if(eventData.samples&&eventData.samples.length&&eventData.stackFrames!==undefined){return true;}}}
5713return false;};TraceEventImporter.scopedIdForEvent_=function(event){const scope=event.scope||tr.model.OBJECT_DEFAULT_SCOPE;let pid=undefined;if(event.id!==undefined){if(event.id2!==undefined){throw new Error('Event has both id and id2');}
5714pid=tr.model.LOCAL_ID_PHASES.has(event.ph)?event.pid:undefined;return new tr.model.ScopedId(scope,event.id,pid);}else if(event.id2!==undefined){if(event.id2.global!==undefined){return new tr.model.ScopedId(scope,event.id2.global);}else if(event.id2.local!==undefined){return new tr.model.ScopedId(scope,event.id2.local,event.pid);}
5715throw new Error('Event that uses id2 must have either a global or local ID');}
5716return undefined;};TraceEventImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'TraceEventImporter';},extractSubtraces(){const subtraces=this.subtraces_;this.subtraces_=[];return subtraces;},deepCopyIfNeeded_(obj){if(obj===undefined)obj={};if(this.eventsWereFromString_)return obj;return deepCopy(obj);},deepCopyAlways_(obj){if(obj===undefined)obj={};return deepCopy(obj);},processAsyncEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allAsyncEvents_.push({sequenceNumber:this.allAsyncEvents_.length,event,thread});},processFlowEvent(event,opt_slice){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allFlowEvents_.push({refGuid:tr.b.GUID.getLastSimpleGuid(),sequenceNumber:this.allFlowEvents_.length,event,slice:opt_slice,thread});},processCounterEvent(event){let ctrName;if(event.id!==undefined){ctrName=event.name+'['+event.id+']';}else{ctrName=event.name;}
5717const ctr=this.model_.getOrCreateProcess(event.pid).getOrCreateCounter(event.cat,ctrName);const reservedColorId=event.cname?getEventColor(event):undefined;if(ctr.numSeries===0){for(const seriesName in event.args){const colorId=reservedColorId||getEventColor(event,ctr.name+'.'+seriesName);ctr.addSeries(new tr.model.CounterSeries(seriesName,colorId));}
5718if(ctr.numSeries===0){this.model_.importWarning({type:'counter_parse_error',message:'Expected counter '+event.name+' to have at least one argument to use as a value.'});delete ctr.parent.counters[ctr.name];return;}}
5719const ts=this.toModelTimeFromUs_(event.ts);ctr.series.forEach(function(series){const val=event.args[series.name]?event.args[series.name]:0;series.addCounterSample(ts,val);});},processObjectEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allObjectEvents_.push({sequenceNumber:this.allObjectEvents_.length,event,thread});if(thread.guid in this.contextProcessorPerThread){const processor=this.contextProcessorPerThread[thread.guid];const scopedId=TraceEventImporter.scopedIdForEvent_(event);if(event.ph==='D'){processor.destroyContext(scopedId);}
5720processor.invalidateContextCacheForSnapshot(scopedId);}},processContextEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(!(thread.guid in this.contextProcessorPerThread)){this.contextProcessorPerThread[thread.guid]=new tr.importer.ContextProcessor(this.model_);}
5721const scopedId=TraceEventImporter.scopedIdForEvent_(event);const contextType=event.name;const processor=this.contextProcessorPerThread[thread.guid];if(event.ph==='('){processor.enterContext(contextType,scopedId);}else if(event.ph===')'){processor.leaveContext(contextType,scopedId);}else{this.model_.importWarning({type:'unknown_context_phase',message:'Unknown context event phase: '+event.ph+'.'});}},setContextsFromThread_(thread,slice){if(thread.guid in this.contextProcessorPerThread){slice.contexts=this.contextProcessorPerThread[thread.guid].activeContexts;}},processDurationEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const ts=this.toModelTimeFromUs_(event.ts);if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'duration_parse_error',message:'Timestamps are moving backward.'});return;}
5722if(event.ph==='B'){const slice=thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));slice.startStackFrame=this.getStackFrameForEvent_(event);this.setContextsFromThread_(thread,slice);}else if(event.ph==='I'||event.ph==='i'||event.ph==='R'){if(event.s!==undefined&&event.s!=='t'){throw new Error('This should never happen');}
5723thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts));slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=undefined;}else{if(!thread.sliceGroup.openSliceCount){this.model_.importWarning({type:'duration_parse_error',message:'E phase event without a matching B phase event.'});return;}
5724const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts),getEventColor(event));if(event.name&&slice.title!==event.name){this.model_.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+
5725slice.title+' in openSlice, and is '+
5726event.name+' in endSlice'});}
5727slice.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(slice.args,event.args,slice.title);}},mergeArgsInto_(dstArgs,srcArgs,eventName){for(const arg in srcArgs){if(dstArgs[arg]!==undefined){this.model_.importWarning({type:'arg_merge_error',message:'Different phases of '+eventName+' provided values for argument '+arg+'.'+' The last provided value will be used.'});}
5728dstArgs[arg]=this.deepCopyIfNeeded_(srcArgs[arg]);}},processCompleteEvent(event){if(event.cat!==undefined&&event.cat.indexOf('trace_event_overhead')>-1){return undefined;}
5729const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(event.flow_out){if(event.flow_in){event.flowPhase=STEP;}else{event.flowPhase=PRODUCER;}}else if(event.flow_in){event.flowPhase=CONSUMER;}
5730const slice=thread.sliceGroup.pushCompleteSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.maybeToModelTimeFromUs_(event.dur),this.maybeToModelTimeFromUs_(event.tts),this.maybeToModelTimeFromUs_(event.tdur),this.deepCopyIfNeeded_(event.args),event.argsStripped,getEventColor(event),event.bind_id);slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=this.getStackFrameForEvent_(event,true);this.setContextsFromThread_(thread,slice);return slice;},processJitCodeEvent(event){if(this.v8ProcessCodeMaps_[event.pid]===undefined){this.v8ProcessCodeMaps_[event.pid]=new tr.e.importer.TraceCodeMap();}
5731const map=this.v8ProcessCodeMaps_[event.pid];const data=event.args.data;if(event.name==='JitCodeMoved'){map.moveEntry(data.code_start,data.new_code_start,data.code_len);}else{map.addEntry(data.code_start,data.code_len,data.name,data.script_id);}},processMetadataEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;}
5732if(event.argsStripped)return;if(event.name==='process_name'){const process=this.model_.getOrCreateProcess(event.pid);process.name=event.args.name;}else if(event.name==='process_labels'){const process=this.model_.getOrCreateProcess(event.pid);const labels=event.args.labels.split(',');for(let i=0;i<labels.length;i++){process.addLabelIfNeeded(labels[i]);}}else if(event.name==='process_uptime_seconds'){const process=this.model_.getOrCreateProcess(event.pid);process.uptime_seconds=event.args.uptime;}else if(event.name==='process_sort_index'){const process=this.model_.getOrCreateProcess(event.pid);process.sortIndex=event.args.sort_index;}else if(event.name==='thread_name'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.name=event.args.name;}else if(event.name==='thread_sort_index'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.sortIndex=event.args.sort_index;}else if(event.name==='num_cpus'){let n=event.args.number;if(this.softwareMeasuredCpuCount_!==undefined){n=Math.max(n,this.softwareMeasuredCpuCount_);}
5733this.softwareMeasuredCpuCount_=n;}else if(event.name==='stackFrames'){const stackFrames=event.args.stackFrames;if(stackFrames===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No stack frames found in a \''+event.name+'\' metadata event'});}else{this.importStackFrames_(stackFrames,'p'+event.pid+':');}}else if(event.name==='typeNames'){const objectTypeNameMap=event.args.typeNames;if(objectTypeNameMap===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No mapping from object type IDs to names found in a \''+
5734event.name+'\' metadata event'});}else{this.importObjectTypeNameMap_(objectTypeNameMap,event.pid);}}else if(event.name==='TraceConfig'){this.model_.metadata.push({name:'TraceConfig',value:event.args.value});}else{this.model_.importWarning({type:'metadata_parse_error',message:'Unrecognized metadata name: '+event.name});}},processInstantEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;}
5735if(event.s==='t'||event.s===undefined){this.processDurationEvent(event);return;}
5736let constructor;switch(event.s){case'g':constructor=tr.model.GlobalInstantEvent;break;case'p':constructor=tr.model.ProcessInstantEvent;break;default:this.model_.importWarning({type:'instant_parse_error',message:'I phase event with unknown "s" field value.'});return;}
5737const instantEvent=new constructor(event.cat,event.name,getEventColor(event),this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args));switch(instantEvent.type){case tr.model.InstantEventType.GLOBAL:this.model_.instantEvents.push(instantEvent);break;case tr.model.InstantEventType.PROCESS:{const process=this.model_.getOrCreateProcess(event.pid);process.instantEvents.push(instantEvent);break;}
5738default:throw new Error('Unknown instant event type: '+event.s);}},getOrCreateProfileTree_(sampleType,id){if(!this.profileTrees_.has(sampleType)){this.profileTrees_.set(sampleType,new Map());}
5739const profileTreeMap=this.profileTrees_.get(sampleType);if(profileTreeMap.has(id)){return profileTreeMap.get(id);}
5740const profileTree=new tr.model.ProfileTree();profileTreeMap.set(id,profileTree);const info=this.profileInfo_.get(id);if(info!==undefined){profileTree.startTime=info.startTime;profileTree.pid=info.pid;profileTree.tid=info.tid;}
5741return profileTree;},processSample(event){if(event.args===undefined||event.args.data===undefined){return;}
5742if(event.id===undefined){throw new Error('No event ID in sample');}
5743const data=event.args.data;if(data.startTime!==undefined){this.profileInfo_.set(event.id,{startTime:data.startTime,pid:event.pid,tid:event.tid});}
5744const timeDeltas=data.timeDeltas;for(const sampleType in data){if(sampleType==='timeDeltas'||sampleType==='startTime'){continue;}
5745if(data[sampleType].samples&&timeDeltas&&data[sampleType].samples.length!==timeDeltas.length){throw new Error('samples and timeDeltas array should have same length');}
5746const profileTree=this.getOrCreateProfileTree_(sampleType,event.id);const nodes=data[sampleType].nodes;const samples=data[sampleType].samples;if(nodes!==undefined){for(const node of nodes){const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);const profileNode=ProfileNodeType.constructFromObject(profileTree,node);if(profileNode===undefined){continue;}
5747profileTree.add(profileNode);}}
5748if(samples!==undefined){const thread=this.model_.getOrCreateProcess(profileTree.pid).getOrCreateThread(profileTree.tid);for(let i=0,len=samples.length;i<len;++i){const node=profileTree.getNode(samples[i]);profileTree.endTime+=timeDeltas[i];const start=this.toModelTimeFromUs_(profileTree.endTime);this.model_.samples.push(new tr.model.Sample(start,node.sampleTitle,node,thread));}}}},processLegacyV8Sample(event){const data=event.args.data;const sampleType='legacySample';const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);if(data.vm_state==='js'&&!data.stack.length)return;const profileTree=this.getOrCreateProfileTree_(sampleType,event.pid);if(profileTree.getNode(-1)===undefined){profileTree.add(new ProfileNodeType(-1,{url:'',scriptId:-1,functionName:'unknown'},undefined));}
5749let node=undefined;if(data.stack.length>0&&this.v8ProcessCodeMaps_[event.pid]){const map=this.v8ProcessCodeMaps_[event.pid];data.stack.reverse();let parentNode=undefined;for(let i=0;i<data.stack.length;i++){const entry=map.lookupEntry(data.stack[i]);if(entry===undefined){node=profileTree.getNode(-1);}else{node=profileTree.getNode(entry.id);if(node===undefined){const sourceInfo=entry.sourceInfo;node=new ProfileNodeType(entry.id,{functionName:entry.name,url:entry.sourceInfo.file,lineNumber:sourceInfo.line!==-1?sourceInfo.line:undefined,columnNumber:sourceInfo.column!==-1?sourceInfo.column:undefined,scriptid:entry.sourceInfo.scriptId},parentNode);profileTree.add(node);}}
5750parentNode=node;}}else{node=profileTree.getNode(data.vm_state);if(node===undefined){node=new ProfileNodeType(data.vm_state,{url:'',functionName:data.vm_state},undefined);profileTree.add(node);}}
5751const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.model_.samples.push(new tr.model.Sample(this.toModelTimeFromUs_(event.ts),node.sampleTitle,node,thread));},processTraceSampleEvent(event){if(event.name==='V8Sample'||event.name.startsWith('Profile')){this.v8SamplingData_.push(event);return;}
5752let node=this.stackFrameTree_.getNode(event.name);if(node===undefined&&event.sf!==undefined){node=this.stackFrameTree_.getNode('g'+event.sf);}
5753if(node===undefined){let id=event.name;if(event.sf){id='g'+event.sf;}
5754const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');node=this.stackFrameTree_.add(new ProfileNodeType(id,{functionName:event.name},undefined));}
5755const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),'Trace Event Sample',node,thread,undefined,1,this.deepCopyIfNeeded_(event.args));this.setContextsFromThread_(thread,sample);this.model_.samples.push(sample);},processMemoryDumpEvent(event){if(event.ph!=='v'){throw new Error('Invalid memory dump event phase "'+event.ph+'".');}
5756const dumpId=event.id;if(dumpId===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase \''+event.ph+'\') without a dump ID.'});return;}
5757const pid=event.pid;if(pid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase\''+event.ph+'\', dump ID \''+
5758dumpId+'\') without a PID.'});return;}
5759const allEvents=this.allMemoryDumpEvents_;let dumpIdEvents=allEvents[dumpId];if(dumpIdEvents===undefined){allEvents[dumpId]=dumpIdEvents={};}
5760let processEvents=dumpIdEvents[pid];if(processEvents===undefined){dumpIdEvents[pid]=processEvents=[];}
5761processEvents.push(event);},processClockSyncEvent(event){if(event.ph!=='c'){throw new Error('Invalid clock sync event phase "'+event.ph+'".');}
5762const syncId=event.args.sync_id;if(syncId===undefined){this.model_.importWarning({type:'clock_sync_parse_error',message:'Clock sync at time '+event.ts+' without an ID.'});return;}
5763if(event.args&&event.args.issue_ts!==undefined){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.args.issue_ts),tr.b.Unit.timestampFromUs(event.ts));}else{this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.ts));}},processLegacyChromeClockSyncEvent(event){if(event.ph==='S'){this.legacyChromeClockSyncStartEvent_=event;}else if(event.ph==='F'){this.legacyChromeClockSyncFinishEvent_=event;}
5764if(this.legacyChromeClockSyncStartEvent_===undefined||this.legacyChromeClockSyncFinishEvent_===undefined){return;}
5765const startSyncId=this.legacyChromeClockSyncStartEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);const finishSyncId=this.legacyChromeClockSyncFinishEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);if(startSyncId!==finishSyncId){throw new Error('Inconsistent clock sync ID of legacy Chrome clock sync events');}
5766this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,startSyncId,tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncStartEvent_.ts),tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncFinishEvent_.ts));},processV8Events(){this.v8SamplingData_.sort(function(a,b){if(a.ts!==b.ts)return a.ts-b.ts;if(a.ph==='M'||a.ph==='I'){return-1;}else if(b.ph==='M'||b.ph==='I'){return 1;}
5767return 0;});const length=this.v8SamplingData_.length;for(let i=0;i<length;++i){const event=this.v8SamplingData_[i];if(event.ph==='M'||event.ph==='I'){this.processJitCodeEvent(event);}else if(event.ph==='P'){if(event.name.startsWith('Profile')){this.processSample(event);}else{this.processLegacyV8Sample(event);}}}},importClockSyncMarkers(){if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.importClockSyncMarker_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());}
5768parser.finish();}else{for(let i=0;i<this.events_.length;i++){this.importClockSyncMarker_(this.events_[i]);}}},importClockSyncMarker_(event){const isLegacyChromeClockSync=isLegacyChromeClockSyncEvent(event);if(event.ph!=='c'&&!isLegacyChromeClockSync)return;const eventSizeInBytes=this.model_.importOptions.trackDetailedModelStats?JSON.stringify(event).length:undefined;this.model_.stats.willProcessBasicTraceEvent('clock_sync',event.cat,event.name,event.ts,eventSizeInBytes);if(isLegacyChromeClockSync){this.processLegacyChromeClockSyncEvent(event);}else{this.processClockSyncEvent(event);}},importEvents(){this.hasEvents_=false;if(this.stackFrameEvents_){this.importStackFrames_(this.stackFrameEvents_,'g');}
5769if(this.traceAnnotations_)this.importAnnotations_();if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.processEvent_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());}
5770parser.finish();}else{for(let eI=0;eI<this.events_.length;eI++){this.processEvent_(this.events_[eI]);}}
5771this.processV8Events();for(const frame of Object.values(this.v8ProcessRootStackFrame_)){frame.removeAllChildren();}},storeSubtrace_(subtrace){this.subtraces_.push(subtrace);return oboe.drop;},storeSamples_(samples){this.sampleEvents_=samples;return oboe.drop;},storeStackFrames_(stackFrames){this.stackFrameEvents_=stackFrames;return oboe.drop;},storeDisplayTimeUnit_(unitName){if(!unitName)return;const unit=tr.b.TimeDisplayModes[unitName];if(unit===undefined){throw new Error('Unit '+unitName+' is not supported.');}
5772this.model_.intrinsicTimeUnit=unit;return oboe.drop;},storeTraceAnnotations_(traceAnnotations){this.traceAnnotations_=traceAnnotations;return oboe.drop;},storeMetadata_(container){for(const fieldName of Object.keys(container)){if(NON_METADATA_FIELDS.has(fieldName))continue;this.model_.metadata.push({name:fieldName,value:container[fieldName]});if(fieldName!=='metadata')continue;const metadata=container[fieldName];if(metadata['highres-ticks']){this.model_.isTimeHighResolution=metadata['highres-ticks'];}
5773if(metadata['clock-domain']){this.clockDomainId_=metadata['clock-domain'];}}
5774return oboe.drop;},processEvent_(event){this.hasEvents_=true;const importOptions=this.model_.importOptions;const trackDetailedModelStats=importOptions.trackDetailedModelStats;const modelStats=this.model_.stats;if(event.args==='__stripped__'){event.argsStripped=true;event.args=undefined;}
5775let eventSizeInBytes=undefined;if(trackDetailedModelStats){eventSizeInBytes=JSON.stringify(event).length;}
5776switch(event.ph){case'B':case'E':modelStats.willProcessBasicTraceEvent('begin_end (non-compact)',event.cat,event.name,event.ts,eventSizeInBytes);this.processDurationEvent(event);break;case'X':{modelStats.willProcessBasicTraceEvent('begin_end (compact)',event.cat,event.name,event.ts,eventSizeInBytes);const slice=this.processCompleteEvent(event);if(slice!==undefined&&event.bind_id!==undefined){this.processFlowEvent(event,slice);}
5777break;}
5778case'b':case'e':case'n':case'S':case'F':case'T':case'p':modelStats.willProcessBasicTraceEvent('async',event.cat,event.name,event.ts,eventSizeInBytes);this.processAsyncEvent(event);break;case'I':case'i':case'R':modelStats.willProcessBasicTraceEvent('instant',event.cat,event.name,event.ts,eventSizeInBytes);this.processInstantEvent(event);break;case'P':modelStats.willProcessBasicTraceEvent('samples',event.cat,event.name,event.ts,eventSizeInBytes);this.processTraceSampleEvent(event);break;case'C':modelStats.willProcessBasicTraceEvent('counters',event.cat,event.name,event.ts,eventSizeInBytes);this.processCounterEvent(event);break;case'M':modelStats.willProcessBasicTraceEvent('metadata',event.cat,event.name,event.ts,eventSizeInBytes);this.processMetadataEvent(event);break;case'N':case'D':case'O':modelStats.willProcessBasicTraceEvent('objects',event.cat,event.name,event.ts,eventSizeInBytes);this.processObjectEvent(event);break;case's':case't':case'f':modelStats.willProcessBasicTraceEvent('flows',event.cat,event.name,event.ts,eventSizeInBytes);this.processFlowEvent(event);break;case'v':modelStats.willProcessBasicTraceEvent('memory_dumps',event.cat,event.name,event.ts,eventSizeInBytes);this.processMemoryDumpEvent(event);break;case'(':case')':this.processContextEvent(event);break;case'c':break;default:modelStats.willProcessBasicTraceEvent('unknown',event.cat,event.name,event.ts,eventSizeInBytes);this.model_.importWarning({type:'parse_error',message:'Unrecognized event phase: '+
5779event.ph+' ('+event.name+')'});}
5780return oboe.drop;},importStackFrames_(rawStackFrames,idPrefix){const model=this.model_;for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const fullId=idPrefix+id;const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const stackFrame=new tr.model.StackFrame(undefined,fullId,rawStackFrame.name,ColorScheme.getColorIdForGeneralPurposeString(textForColor));model.addStackFrame(stackFrame);}
5781for(const id in rawStackFrames){const fullId=idPrefix+id;const stackFrame=model.stackFrames[fullId];if(stackFrame===undefined){throw new Error('Internal error');}
5782const rawStackFrame=rawStackFrames[id];const parentId=rawStackFrame.parent;let parentStackFrame;if(parentId===undefined){parentStackFrame=undefined;}else{const parentFullId=idPrefix+parentId;parentStackFrame=model.stackFrames[parentFullId];if(parentStackFrame===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentFullId+' for stack frame \''+stackFrame.name+'\' (ID '+fullId+').'});}}
5783stackFrame.parentFrame=parentStackFrame;}
5784const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');if(idPrefix==='g'){for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const node=this.stackFrameTree_.add(new ProfileNodeType('g'+id,{functionName:rawStackFrame.name},undefined));node.colorId=ColorScheme.getColorIdForGeneralPurposeString(textForColor);node.parentId=rawStackFrame.parent;}
5785for(const id in rawStackFrames){const node=this.stackFrameTree_.getNode('g'+id);const parentId=node.parentId;let parentNode=undefined;if(parentId!==undefined){parentNode=this.stackFrameTree_.getNode('g'+parentId);if(parentNode===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentId+' for stack frame \''+node.name+'\' (ID '+node.id+').'});}
5786node.parentNode=parentNode;}}}},importObjectTypeNameMap_(rawObjectTypeNameMap,pid){if(pid in this.objectTypeNameMap_){this.model_.importWarning({type:'metadata_parse_error',message:'Mapping from object type IDs to names provided for pid='+
5787pid+' multiple times.'});return;}
5788let objectTypeNamePrefix=undefined;let objectTypeNameSuffix=undefined;const objectTypeNameMap={};for(const objectTypeId in rawObjectTypeNameMap){const rawObjectTypeName=rawObjectTypeNameMap[objectTypeId];if(objectTypeNamePrefix===undefined){for(let i=0;i<OBJECT_TYPE_NAME_PATTERNS.length;i++){const pattern=OBJECT_TYPE_NAME_PATTERNS[i];if(rawObjectTypeName.startsWith(pattern.prefix)&&rawObjectTypeName.endsWith(pattern.suffix)){objectTypeNamePrefix=pattern.prefix;objectTypeNameSuffix=pattern.suffix;break;}}}
5789if(objectTypeNamePrefix!==undefined&&rawObjectTypeName.startsWith(objectTypeNamePrefix)&&rawObjectTypeName.endsWith(objectTypeNameSuffix)){objectTypeNameMap[objectTypeId]=rawObjectTypeName.substring(objectTypeNamePrefix.length,rawObjectTypeName.length-objectTypeNameSuffix.length);}else{objectTypeNameMap[objectTypeId]=rawObjectTypeName;}}
5790this.objectTypeNameMap_[pid]=objectTypeNameMap;},importAnnotations_(){for(const id in this.traceAnnotations_){const annotation=tr.model.Annotation.fromDictIfPossible(this.traceAnnotations_[id]);if(!annotation){this.model_.importWarning({type:'annotation_warning',message:'Unrecognized traceAnnotation typeName \"'+
5791this.traceAnnotations_[id].typeName+'\"'});continue;}
5792this.model_.addAnnotation(annotation);}},finalizeImport(){if(this.softwareMeasuredCpuCount_!==undefined){this.model_.kernel.softwareMeasuredCpuCount=this.softwareMeasuredCpuCount_;}
5793this.createAsyncSlices_();this.createFlowSlices_();this.createExplicitObjects_();this.createImplicitObjects_();this.createMemoryDumps_();},getStackFrameForEvent_(event,opt_lookForEndEvent){let sf;let stack;if(opt_lookForEndEvent){sf=event.esf;stack=event.estack;}else{sf=event.sf;stack=event.stack;}
5794if(stack!==undefined&&sf!==undefined){this.model_.importWarning({type:'stack_frame_and_stack_error',message:'Event at '+event.ts+' cannot have both a stack and a stackframe.'});return undefined;}
5795if(stack!==undefined){return this.model_.resolveStackToStackFrame_(event.pid,stack);}
5796if(sf===undefined)return undefined;const stackFrame=this.model_.stackFrames['g'+sf];if(stackFrame===undefined){this.model_.importWarning({type:'sample_import_error',message:'No frame for '+sf});return;}
5797return stackFrame;},resolveStackToStackFrame_(pid,stack){return undefined;},importSampleData(){if(!this.sampleEvents_)return;const m=this.model_;const events=this.sampleEvents_;if(this.hasEvents_===undefined){throw new Error('importEvents is not run before importSampleData');}else if(!this.hasEvents_){for(let i=0;i<events.length;i++){const event=events[i];m.getOrCreateProcess(event.tid).getOrCreateThread(event.tid);}}
5798const threadsByTid={};m.getAllThreads().forEach(function(t){threadsByTid[t.tid]=t;});for(let i=0;i<events.length;i++){const event=events[i];const thread=threadsByTid[event.tid];if(thread===undefined){m.importWarning({type:'sample_import_error',message:'Thread '+events.tid+'not found'});continue;}
5799let cpu;if(event.cpu!==undefined){cpu=m.kernel.getOrCreateCpu(event.cpu);}
5800const leafNode=this.stackFrameTree_.getNode('g'+event.sf);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),event.name,leafNode,thread,cpu,event.weight);m.samples.push(sample);}},createAsyncSlices_(){if(this.allAsyncEvents_.length===0)return;this.allAsyncEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const legacyEvents=[];const nestableAsyncEventsByKey={};const nestableMeasureAsyncEventsByKey={};for(let i=0;i<this.allAsyncEvents_.length;i++){const asyncEventState=this.allAsyncEvents_[i];const event=asyncEventState.event;if(event.ph==='S'||event.ph==='F'||event.ph==='T'||event.ph==='p'){legacyEvents.push(asyncEventState);continue;}
5801if(event.cat===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'cat parameter.'});continue;}
5802if(event.name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'name parameter.'});continue;}
5803const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require an '+'id parameter.'});continue;}
5804if(event.cat==='blink.user_timing'){const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(event.name);if(matched!==null){const key=matched[1]+':'+event.cat;event.args=JSON.parse(Base64.atob(matched[3])||'{}');if(nestableMeasureAsyncEventsByKey[key]===undefined){nestableMeasureAsyncEventsByKey[key]=[];}
5805nestableMeasureAsyncEventsByKey[key].push(asyncEventState);continue;}}
5806const key=event.cat+':'+id.toStringWithDelimiter(':');if(nestableAsyncEventsByKey[key]===undefined){nestableAsyncEventsByKey[key]=[];}
5807nestableAsyncEventsByKey[key].push(asyncEventState);}
5808this.createLegacyAsyncSlices_(legacyEvents);this.createNestableAsyncSlices_(nestableMeasureAsyncEventsByKey);this.createNestableAsyncSlices_(nestableAsyncEventsByKey);},createLegacyAsyncSlices_(legacyEvents){if(legacyEvents.length===0)return;legacyEvents.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const asyncEventStatesByNameThenID={};for(let i=0;i<legacyEvents.length;i++){const asyncEventState=legacyEvents[i];const event=asyncEventState.event;const name=event.name;if(name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require a name '+' parameter.'});continue;}
5809const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require an id parameter.'});continue;}
5810const key=id.toStringWithDelimiter(':');if(event.ph==='S'){if(asyncEventStatesByNameThenID[name]===undefined){asyncEventStatesByNameThenID[name]={};}
5811if(asyncEventStatesByNameThenID[name][key]){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', a slice of the same id '+id+' was alrady open.'});continue;}
5812asyncEventStatesByNameThenID[name][key]=[];asyncEventStatesByNameThenID[name][key].push(asyncEventState);}else{if(asyncEventStatesByNameThenID[name]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' was open.'});continue;}
5813if(asyncEventStatesByNameThenID[name][key]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' with id='+id+' was open.'});continue;}
5814const events=asyncEventStatesByNameThenID[name][key];events.push(asyncEventState);if(event.ph==='F'){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,name);const slice=new asyncSliceConstructor(events[0].event.cat,name,getEventColor(events[0].event),this.toModelTimeFromUs_(events[0].event.ts),tr.b.concatenateObjects(events[0].event.args,events[events.length-1].event.args),this.toModelTimeFromUs_(event.ts-events[0].event.ts),true,undefined,undefined,events[0].event.argsStripped);slice.startThread=events[0].thread;slice.endThread=asyncEventState.thread;slice.id=key;const stepType=events[1].event.ph;let isValid=true;for(let j=1;j<events.length-1;++j){if(events[j].event.ph==='T'||events[j].event.ph==='p'){isValid=this.assertStepTypeMatches_(stepType,events[j]);if(!isValid)break;}
5815if(events[j].event.ph==='S'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+
5816name+' with id='+id+' had a step before the start event.'});continue;}
5817if(events[j].event.ph==='F'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+
5818name+' with id='+id+' had a step after the finish event.'});continue;}
5819const startIndex=j+(stepType==='T'?0:-1);const endIndex=startIndex+1;let subName=name;if(!events[j].event.argsStripped&&(events[j].event.ph==='T'||events[j].event.ph==='p')){subName=subName+':'+events[j].event.args.step;}
5820const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,subName);const subSlice=new asyncSliceConstructor(events[0].event.cat,subName,getEventColor(event,subName+j),this.toModelTimeFromUs_(events[startIndex].event.ts),this.deepCopyIfNeeded_(events[j].event.args),this.toModelTimeFromUs_(events[endIndex].event.ts-events[startIndex].event.ts),undefined,undefined,events[startIndex].event.argsStripped);subSlice.startThread=events[startIndex].thread;subSlice.endThread=events[endIndex].thread;subSlice.id=key;slice.subSlices.push(subSlice);}
5821if(isValid){slice.startThread.asyncSliceGroup.push(slice);}
5822delete asyncEventStatesByNameThenID[name][key];}}}},createNestableAsyncSlices_(nestableEventsByKey){for(const key in nestableEventsByKey){const eventStateEntries=nestableEventsByKey[key];const parentStack=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'){let parentIndex=-1;for(let k=parentStack.length-1;k>=0;--k){if(parentStack[k].event.name===eventStateEntry.event.name){parentIndex=k;break;}}
5823if(parentIndex===-1){eventStateEntry.finished=false;}else{parentStack[parentIndex].end=eventStateEntry;while(parentIndex<parentStack.length){parentStack.pop();}}}
5824if(parentStack.length>0){eventStateEntry.parentEntry=parentStack[parentStack.length-1];}
5825if(eventStateEntry.event.ph==='b'){parentStack.push(eventStateEntry);}}
5826const topLevelSlices=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'&&eventStateEntry.finished===undefined){continue;}
5827let startState=undefined;let endState=undefined;let sliceArgs=eventStateEntry.event.args||{};let sliceError=undefined;const id=TraceEventImporter.scopedIdForEvent_(eventStateEntry.event);if(eventStateEntry.event.ph==='n'){startState=eventStateEntry;endState=eventStateEntry;}else if(eventStateEntry.event.ph==='b'){if(eventStateEntry.end===undefined){eventStateEntry.end=eventStateEntries[eventStateEntries.length-1];sliceError='Slice has no matching END. End time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async BEGIN event at '+
5828eventStateEntry.event.ts+' with name='+
5829eventStateEntry.event.name+' and id='+id+' was unmatched.'});}else{function concatenateArguments(args1,args2){if(args1.params===undefined||args2.params===undefined){return tr.b.concatenateObjects(args1,args2);}
5830const args3={};args3.params=tr.b.concatenateObjects(args1.params,args2.params);return tr.b.concatenateObjects(args1,args2,args3);}
5831const endArgs=eventStateEntry.end.event.args||{};sliceArgs=concatenateArguments(sliceArgs,endArgs);}
5832startState=eventStateEntry;endState=eventStateEntry.end;}else{sliceError='Slice has no matching BEGIN. Start time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async END event at '+
5833eventStateEntry.event.ts+' with name='+
5834eventStateEntry.event.name+' and id='+id+' was unmatched.'});startState=eventStateEntries[0];endState=eventStateEntry;}
5835const isTopLevel=(eventStateEntry.parentEntry===undefined);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(eventStateEntry.event.cat,eventStateEntry.event.name);let threadStart=undefined;let threadDuration=undefined;if(startState.event.tts&&startState.event.use_async_tts){threadStart=this.toModelTimeFromUs_(startState.event.tts);if(endState.event.tts){const threadEnd=this.toModelTimeFromUs_(endState.event.tts);threadDuration=threadEnd-threadStart;}}
5836const slice=new asyncSliceConstructor(eventStateEntry.event.cat,eventStateEntry.event.name,getEventColor(endState.event),this.toModelTimeFromUs_(startState.event.ts),sliceArgs,this.toModelTimeFromUs_(endState.event.ts-startState.event.ts),isTopLevel,threadStart,threadDuration,startState.event.argsStripped);slice.startThread=startState.thread;slice.endThread=endState.thread;slice.startStackFrame=this.getStackFrameForEvent_(startState.event);slice.endStackFrame=this.getStackFrameForEvent_(endState.event);slice.id=key;if(sliceError!==undefined){slice.error=sliceError;}
5837eventStateEntry.slice=slice;if(isTopLevel){topLevelSlices.push(slice);}else if(eventStateEntry.parentEntry.slice!==undefined){eventStateEntry.parentEntry.slice.subSlices.push(slice);}}
5838for(let si=0;si<topLevelSlices.length;si++){topLevelSlices[si].startThread.asyncSliceGroup.push(topLevelSlices[si]);}}},assertStepTypeMatches_(stepType,event){if(stepType!==event.event.ph){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+
5839event.event.name+' with id='+
5840TraceEventImporter.scopedIdForEvent_(event.event)+' had both begin and end steps, which is not allowed.'});return false;}
5841return true;},validateFlowEvent_(event){if(event.name===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require a name parameter.'});return false;}
5842if(event.ph==='s'||event.ph==='f'||event.ph==='t'){if(event.id===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require an id parameter.'});return false;}
5843return true;}
5844if(event.bind_id){if(event.flow_in===undefined&&event.flow_out===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow producer or consumer require flow_in or flow_out.'});return false;}
5845return true;}
5846return false;},createFlowSlices_(){if(this.allFlowEvents_.length===0)return;const createFlowEvent=function(thread,event,opt_slice){let startSlice;let flowId;let flowStartTs;if(event.bind_id){startSlice=opt_slice;flowId=event.bind_id;flowStartTs=this.toModelTimeFromUs_(event.ts+event.dur);}else{const ts=this.toModelTimeFromUs_(event.ts);startSlice=thread.sliceGroup.findSliceAtTs(ts);if(startSlice===undefined)return undefined;flowId=event.id;flowStartTs=ts;}
5847const flowEvent=new tr.model.FlowEvent(event.cat,flowId,event.name,getEventColor(event),flowStartTs,this.deepCopyAlways_(event.args));flowEvent.startSlice=startSlice;flowEvent.startStackFrame=this.getStackFrameForEvent_(event);flowEvent.endStackFrame=undefined;startSlice.outFlowEvents.push(flowEvent);return flowEvent;}.bind(this);const finishFlowEventWith=function(flowEvent,thread,event,refGuid,bindToParent,opt_slice){let endSlice;if(event.bind_id){endSlice=opt_slice;}else{const ts=this.toModelTimeFromUs_(event.ts);if(bindToParent){endSlice=thread.sliceGroup.findSliceAtTs(ts);}else{endSlice=thread.sliceGroup.findNextSliceAfter(ts,refGuid);}
5848if(endSlice===undefined)return false;}
5849endSlice.inFlowEvents.push(flowEvent);flowEvent.endSlice=endSlice;flowEvent.duration=this.toModelTimeFromUs_(event.ts)-flowEvent.start;flowEvent.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(flowEvent.args,event.args,flowEvent.title);return true;}.bind(this);const processFlowConsumer=function(flowIdToEvent,sliceGuidToEvent,event,slice){let flowEvent=flowIdToEvent[event.bind_id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Flow consumer '+event.bind_id+' does not have '+'a flow producer'});return false;}else if(flowEvent.endSlice){const flowProducer=flowEvent.startSlice;flowEvent=createFlowEvent(undefined,sliceGuidToEvent[flowProducer.guid],flowProducer);}
5850const refGuid=undefined;const ok=finishFlowEventWith(flowEvent,undefined,event,refGuid,undefined,slice);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'Flow consumer '+event.bind_id+' does not end '+'at an actual slice, so cannot be created.'});return false;}
5851return true;}.bind(this);const processFlowProducer=function(flowIdToEvent,flowStatus,event,slice){if(flowIdToEvent[event.bind_id]&&flowStatus[event.bind_id]){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' already seen'});return false;}
5852const flowEvent=createFlowEvent(undefined,event,slice);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' does not start'+'a flow'});return false;}
5853flowIdToEvent[event.bind_id]=flowEvent;}.bind(this);this.allFlowEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const flowIdToEvent={};const sliceGuidToEvent={};const flowStatus={};for(let i=0;i<this.allFlowEvents_.length;++i){const data=this.allFlowEvents_[i];const refGuid=data.refGuid;const event=data.event;const thread=data.thread;if(!this.validateFlowEvent_(event))continue;if(event.bind_id){const slice=data.slice;sliceGuidToEvent[slice.guid]=event;if(event.flowPhase===PRODUCER){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;}
5854flowStatus[event.bind_id]=true;}else{if(!processFlowConsumer(flowIdToEvent,sliceGuidToEvent,event,slice)){continue;}
5855flowStatus[event.bind_id]=false;if(event.flowPhase===STEP){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;}
5856flowStatus[event.bind_id]=true;}}
5857continue;}
5858let flowEvent;if(event.ph==='s'){if(flowIdToEvent[event.id]){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' already seen when '+'encountering start of flow event.'});continue;}
5859flowEvent=createFlowEvent(thread,event);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' does not start '+'at an actual slice, so cannot be created.'});continue;}
5860flowIdToEvent[event.id]=flowEvent;}else if(event.ph==='t'||event.ph==='f'){flowEvent=flowIdToEvent[event.id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Found flow phase '+event.ph+' for id: '+event.id+' but no flow start found.'});continue;}
5861let bindToParent=event.ph==='t';if(event.ph==='f'){if(event.bp===undefined){if(event.cat.indexOf('input')>-1){bindToParent=true;}else if(event.cat.indexOf('ipc.flow')>-1){bindToParent=true;}}else{if(event.bp!=='e'){this.model_.importWarning({type:'flow_slice_bind_point_error',message:'Flow event with invalid binding point (event.bp).'});continue;}
5862bindToParent=true;}}
5863const ok=finishFlowEventWith(flowEvent,thread,event,refGuid,bindToParent);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'event id '+event.id+' does not end '+'at an actual slice, so cannot be created.'});}
5864flowIdToEvent[event.id]=undefined;if(ok&&event.ph==='t'){flowEvent=createFlowEvent(thread,event);flowIdToEvent[event.id]=flowEvent;}}}},createExplicitObjects_(){if(this.allObjectEvents_.length===0)return;const processEvent=function(objectEventState){const event=objectEventState.event;const scopedId=TraceEventImporter.scopedIdForEvent_(event);const thread=objectEventState.thread;if(event.name===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an name parameter.'});}
5865if(scopedId===undefined||scopedId.id===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an id parameter.'});}
5866const process=thread.parent;const ts=this.toModelTimeFromUs_(event.ts);let instance;if(event.ph==='N'){try{instance=process.objects.idWasCreated(scopedId,event.cat,event.name,ts);}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing create of '+
5867scopedId+' at ts='+ts+': '+e});return;}}else if(event.ph==='O'){if(event.args.snapshot===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+scopedId+' at ts='+ts+': '+'Snapshots must have args: {snapshot: ...}'});return;}
5868let snapshot;try{const args=this.deepCopyIfNeeded_(event.args.snapshot);let cat;if(args.cat){cat=args.cat;delete args.cat;}else{cat=event.cat;}
5869let baseTypename;if(args.base_type){baseTypename=args.base_type;delete args.base_type;}else{baseTypename=undefined;}
5870snapshot=process.objects.addSnapshot(scopedId,cat,event.name,ts,args,baseTypename);snapshot.snapshottedOnThread=thread;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing snapshot of '+
5871scopedId+' at ts='+ts+': '+e});return;}
5872instance=snapshot.objectInstance;}else if(event.ph==='D'){try{process.objects.idWasDeleted(scopedId,event.cat,event.name,ts);const instanceMap=process.objects.getOrCreateInstanceMap_(scopedId);instance=instanceMap.lastInstance;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing delete of '+
5873scopedId+' at ts='+ts+': '+e});return;}}
5874if(instance){instance.colorId=getEventColor(event,instance.typeName);}}.bind(this);this.allObjectEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const allObjectEvents=this.allObjectEvents_;for(let i=0;i<allObjectEvents.length;i++){const objectEventState=allObjectEvents[i];try{processEvent.call(this,objectEventState);}catch(e){this.model_.importWarning({type:'object_parse_error',message:e.message});}}},createImplicitObjects_(){for(const proc of Object.values(this.model_.processes)){this.createImplicitObjectsForProcess_(proc);}},createImplicitObjectsForProcess_(process){function processField(referencingObject,referencingObjectFieldName,referencingObjectFieldValue,containingSnapshot){if(!referencingObjectFieldValue)return;if(referencingObjectFieldValue instanceof
5875tr.model.ObjectSnapshot){return null;}
5876if(referencingObjectFieldValue.id===undefined)return;const implicitSnapshot=referencingObjectFieldValue;const rawId=implicitSnapshot.id;const m=/(.+)\/(.+)/.exec(rawId);if(!m){throw new Error('Implicit snapshots must have names.');}
5877delete implicitSnapshot.id;const name=m[1];const id=m[2];let res;let cat;if(implicitSnapshot.cat!==undefined){cat=implicitSnapshot.cat;}else{cat=containingSnapshot.objectInstance.category;}
5878let baseTypename;if(implicitSnapshot.base_type){baseTypename=implicitSnapshot.base_type;}else{baseTypename=undefined;}
5879const scope=containingSnapshot.objectInstance.scopedId.scope;try{res=process.objects.addSnapshot(new tr.model.ScopedId(scope,id),cat,name,containingSnapshot.ts,implicitSnapshot,baseTypename);}catch(e){this.model_.importWarning({type:'object_snapshot_parse_error',message:'While processing implicit snapshot of '+
5880rawId+' at ts='+containingSnapshot.ts+': '+e});return;}
5881res.objectInstance.hasImplicitSnapshots=true;res.containingSnapshot=containingSnapshot;res.snapshottedOnThread=containingSnapshot.snapshottedOnThread;referencingObject[referencingObjectFieldName]=res;if(!(res instanceof tr.model.ObjectSnapshot)){throw new Error('Created object must be instanceof snapshot');}
5882return res.args;}
5883function iterObject(object,func,containingSnapshot,thisArg){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){const res=func.call(thisArg,object,i,object[i],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[i],func,containingSnapshot,thisArg);}}
5884return;}
5885for(const key in object){const res=func.call(thisArg,object,key,object[key],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[key],func,containingSnapshot,thisArg);}}}
5886process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(snapshot){if(snapshot.args.id!==undefined){throw new Error('args cannot have an id field inside it');}
5887iterObject(snapshot.args,processField,snapshot,this);},this);},this);},createMemoryDumps_(){for(const dumpId in this.allMemoryDumpEvents_){this.createGlobalMemoryDump_(this.allMemoryDumpEvents_[dumpId],dumpId);}},createGlobalMemoryDump_(dumpIdEvents,dumpId){const globalRange=new tr.b.math.Range();for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){globalRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}}
5888if(globalRange.isEmpty){throw new Error('Internal error: Global memory dump without events');}
5889const globalMemoryDump=new tr.model.GlobalMemoryDump(this.model_,globalRange.min);globalMemoryDump.duration=globalRange.range;this.model_.globalMemoryDumps.push(globalMemoryDump);const globalMemoryAllocatorDumpsByFullName={};const levelsOfDetail={};const allMemoryAllocatorDumpsByGuid={};for(const pid in dumpIdEvents){this.createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,dumpIdEvents[pid],pid,dumpId);}
5890globalMemoryDump.levelOfDetail=levelsOfDetail.global;globalMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(globalMemoryAllocatorDumpsByFullName);this.parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId);},createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,processEvents,pid,dumpId){const processRange=new tr.b.math.Range();for(let i=0;i<processEvents.length;i++){processRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}
5891if(processRange.isEmpty){throw new Error('Internal error: Process memory dump without events');}
5892const process=this.model_.getOrCreateProcess(pid);const processMemoryDump=new tr.model.ProcessMemoryDump(globalMemoryDump,process,processRange.min);processMemoryDump.duration=processRange.range;process.memoryDumps.push(processMemoryDump);globalMemoryDump.processMemoryDumps[pid]=processMemoryDump;const processMemoryAllocatorDumpsByFullName={};for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'\'dumps\' field not found in a process memory dump'+' event for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
5893this.parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId);this.parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId);}
5894if(levelsOfDetail.process===undefined){levelsOfDetail.process=processMemoryDump.vmRegions?DETAILED:LIGHT;}
5895if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'global',levelsOfDetail.process)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for global memory'+' dump (dump ID='+dumpId+').'});}
5896processMemoryDump.levelOfDetail=levelsOfDetail.process;delete levelsOfDetail.process;processMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(processMemoryAllocatorDumpsByFullName);},parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId){const rawTotals=dumps.process_totals;if(rawTotals===undefined)return;if(processMemoryDump.totals!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Process totals provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5897const totals={};let platformSpecificTotals=undefined;for(const rawTotalName in rawTotals){const rawTotalValue=rawTotals[rawTotalName];if(rawTotalValue===undefined)continue;if(rawTotalName==='resident_set_bytes'){totals.residentBytes=parseInt(rawTotalValue,16);continue;}
5898if(rawTotalName==='peak_resident_set_bytes'){totals.peakResidentBytes=parseInt(rawTotalValue,16);continue;}
5899if(rawTotalName==='is_peak_rss_resetable'){totals.arePeakResidentBytesResettable=!!rawTotalValue;continue;}
5900if(platformSpecificTotals===undefined){platformSpecificTotals={};totals.platformSpecific=platformSpecificTotals;}
5901platformSpecificTotals[rawTotalName]=parseInt(rawTotalValue,16);}
5902if(totals.peakResidentBytes===undefined&&totals.arePeakResidentBytesResettable!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field peak_resident_set_bytes found'+' but is_peak_rss_resetable not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});}
5903if(totals.arePeakResidentBytesResettable!==undefined&&totals.peakResidentBytes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field is_peak_rss_resetable found'+' but peak_resident_set_bytes not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});}
5904processMemoryDump.totals=totals;},parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId){const rawProcessMmaps=dumps.process_mmaps;if(rawProcessMmaps===undefined)return;const rawVmRegions=rawProcessMmaps.vm_regions;if(rawVmRegions===undefined)return;if(processMemoryDump.vmRegions!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'VM regions provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5905const vmRegions=new Array(rawVmRegions.length);for(let i=0;i<rawVmRegions.length;i++){const rawVmRegion=rawVmRegions[i];const byteStats={};const rawByteStats=rawVmRegion.bs;for(const rawByteStatName in rawByteStats){const rawByteStatValue=rawByteStats[rawByteStatName];if(rawByteStatValue===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Byte stat \''+rawByteStatName+'\' of VM region '+
5906i+' ('+rawVmRegion.mf+') in process memory dump for '+'PID='+pid+' and dump ID='+dumpId+' does not have a value.'});continue;}
5907const byteStatName=BYTE_STAT_NAME_MAP[rawByteStatName];if(byteStatName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown byte stat name \''+rawByteStatName+'\' ('+
5908rawByteStatValue+') of VM region '+i+' ('+
5909rawVmRegion.mf+') in process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
5910byteStats[byteStatName]=parseInt(rawByteStatValue,16);if(byteStatName==='proportionalResident'&&byteStats[byteStatName]===0){byteStats[byteStatName]=undefined;}}
5911vmRegions[i]=new tr.model.VMRegion(parseInt(rawVmRegion.sa,16),parseInt(rawVmRegion.sz,16),rawVmRegion.pf,rawVmRegion.mf,byteStats);}
5912processMemoryDump.vmRegions=tr.model.VMRegionClassificationNode.fromRegions(vmRegions);},parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId){const idPrefix='p'+pid+':';let importer;if(dumps.heaps){const processTypeMap=this.objectTypeNameMap_[pid];if(processTypeMap===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing mapping from object type IDs to names.'});}
5913importer=new LegacyHeapDumpTraceEventImporter(this.model_,processMemoryDump,processTypeMap,idPrefix,dumpId,dumps.heaps);}else if(dumps.heaps_v2){const data=dumps.heaps_v2;this.heapProfileExpander=this.heapProfileExpander.expandData(data);this.addNewStackFramesFromExpander_(this.heapProfileExpander,idPrefix);importer=new HeapDumpTraceEventImporter(this.heapProfileExpander,this.model_.stackFrames,processMemoryDump,idPrefix,this.model_);}
5914if(!importer)return;const heapDumps=importer.parse();if(!heapDumps)return;if(processMemoryDump.heapDumps!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Heap dumps provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5915if(Object.keys(heapDumps).length>0){processMemoryDump.heapDumps=heapDumps;}},addNewStackFramesFromExpander_(expander,idPrefix){const nodeMap=expander.getNewMap('nodes');const newStackFrames={};for(const[id,stackFrame]of nodeMap.entries()){if(!this.model_.stackFrames[idPrefix+id]){newStackFrames[id]={id,name:expander.getString(stackFrame.name_sid),};if(stackFrame.parent)newStackFrames[id].parent=stackFrame.parent;}}
5916this.importStackFrames_(newStackFrames,idPrefix);},parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId){const rawLevelOfDetail=dumps.level_of_detail;let level;switch(rawLevelOfDetail){case'background':level=BACKGROUND;break;case'light':level=LIGHT;break;case'detailed':level=DETAILED;break;case undefined:level=undefined;break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'unknown raw level of detail \''+rawLevelOfDetail+'\' of process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5917if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'process',level)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for process memory'+' dump for PID='+pid+' (dump ID='+dumpId+').'});}},updateMemoryDumpLevelOfDetail_(levelsOfDetail,scope,level){if(!(scope in levelsOfDetail)||level===levelsOfDetail[scope]){levelsOfDetail[scope]=level;return true;}
5918if(MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(level)>MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(levelsOfDetail[scope])){levelsOfDetail[scope]=level;}
5919return false;},parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId){const rawAllocatorDumps=dumps.allocators;if(rawAllocatorDumps===undefined)return;for(let fullName in rawAllocatorDumps){const rawAllocatorDump=rawAllocatorDumps[fullName];const guid=rawAllocatorDump.guid;if(guid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' for PID='+pid+' and dump ID='+dumpId+' does not have a GUID.'});}
5920const flags=rawAllocatorDump.flags||0;const isWeakDump=!!(flags&WEAK_MEMORY_ALLOCATOR_DUMP_FLAG);let containerMemoryDump;let dstIndex;if(fullName.startsWith(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX)){fullName=fullName.substring(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX.length);containerMemoryDump=globalMemoryDump;dstIndex=globalMemoryAllocatorDumpsByFullName;}else{containerMemoryDump=processMemoryDump;dstIndex=processMemoryAllocatorDumpsByFullName;}
5921let allocatorDump=allMemoryAllocatorDumpsByGuid[guid];if(allocatorDump===undefined){if(fullName in dstIndex){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple GUIDs provided for'+' memory allocator dump '+fullName+': '+
5922dstIndex[fullName].guid+', '+guid+' (ignored) for'+' PID='+pid+' and dump ID='+dumpId+'.'});continue;}
5923allocatorDump=new tr.model.MemoryAllocatorDump(containerMemoryDump,fullName,guid);allocatorDump.weak=isWeakDump;dstIndex[fullName]=allocatorDump;if(guid!==undefined){allMemoryAllocatorDumpsByGuid[guid]=allocatorDump;}}else{if(allocatorDump.containerMemoryDump!==containerMemoryDump){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
5924dumpId+' dumped in different contexts.'});continue;}
5925if(allocatorDump.fullName!==fullName){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump with GUID='+guid+' for PID='+
5926pid+' and dump ID='+dumpId+' has multiple names: '+
5927allocatorDump.fullName+', '+fullName+' (ignored).'});continue;}
5928if(!isWeakDump){allocatorDump.weak=false;}}
5929let attributes=rawAllocatorDump.attrs;if(attributes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+' does not have attributes.'});attributes={};}
5930for(const attrName in attributes){const attrArgs=attributes[attrName];const attrType=attrArgs.type;const attrValue=attrArgs.value;switch(attrType){case'scalar':{if(attrName in allocatorDump.numerics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for scalar attribute '+
5931attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
5932dumpId+'.'});break;}
5933const unit=attrArgs.units==='bytes'?tr.b.Unit.byName.sizeInBytes_smallerIsBetter:tr.b.Unit.byName.unitlessNumber_smallerIsBetter;const value=parseInt(attrValue,16);allocatorDump.addNumeric(attrName,new tr.b.Scalar(unit,value));break;}
5934case'string':if(attrName in allocatorDump.diagnostics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for string attribute '+
5935attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
5936dumpId+'.'});break;}
5937allocatorDump.addDiagnostic(attrName,attrValue);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown type provided for attribute '+attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+': '+
5938attrType});break;}}}},inferMemoryAllocatorDumpTree_(memoryAllocatorDumpsByFullName){const rootAllocatorDumps=[];const fullNames=Object.keys(memoryAllocatorDumpsByFullName);fullNames.sort();for(let i=0;i<fullNames.length;i++){let fullName=fullNames[i];let allocatorDump=memoryAllocatorDumpsByFullName[fullName];while(true){const lastSlashIndex=fullName.lastIndexOf('/');if(lastSlashIndex===-1){rootAllocatorDumps.push(allocatorDump);break;}
5939const parentFullName=fullName.substring(0,lastSlashIndex);let parentAllocatorDump=memoryAllocatorDumpsByFullName[parentFullName];let parentAlreadyExisted=true;if(parentAllocatorDump===undefined){parentAlreadyExisted=false;parentAllocatorDump=new tr.model.MemoryAllocatorDump(allocatorDump.containerMemoryDump,parentFullName);if(allocatorDump.weak!==false){parentAllocatorDump.weak=undefined;}
5940memoryAllocatorDumpsByFullName[parentFullName]=parentAllocatorDump;}
5941allocatorDump.parent=parentAllocatorDump;parentAllocatorDump.children.push(allocatorDump);if(parentAlreadyExisted){if(!allocatorDump.weak){while(parentAllocatorDump!==undefined&&parentAllocatorDump.weak===undefined){parentAllocatorDump.weak=false;parentAllocatorDump=parentAllocatorDump.parent;}}
5942break;}
5943fullName=parentFullName;allocatorDump=parentAllocatorDump;}}
5944for(const fullName in memoryAllocatorDumpsByFullName){const allocatorDump=memoryAllocatorDumpsByFullName[fullName];if(allocatorDump.weak===undefined){allocatorDump.weak=true;}}
5945return rootAllocatorDumps;},parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId){for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined)continue;const rawEdges=dumps.allocators_graph;if(rawEdges===undefined)continue;for(let j=0;j<rawEdges.length;j++){const rawEdge=rawEdges[j];const sourceGuid=rawEdge.source;const sourceDump=allMemoryAllocatorDumpsByGuid[sourceGuid];if(sourceDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing source memory allocator dump (GUID='+
5946sourceGuid+').'});continue;}
5947const targetGuid=rawEdge.target;const targetDump=allMemoryAllocatorDumpsByGuid[targetGuid];if(targetDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing target memory allocator dump (GUID='+
5948targetGuid+').'});continue;}
5949const importance=rawEdge.importance;const edge=new tr.model.MemoryAllocatorDumpLink(sourceDump,targetDump,importance);switch(rawEdge.type){case'ownership':if(sourceDump.owns!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+sourceDump.fullName+' (GUID='+sourceGuid+') already owns a memory'+' allocator dump ('+
5950sourceDump.owns.target.fullName+').'});}else{sourceDump.owns=edge;targetDump.ownedBy.push(edge);}
5951break;case'retention':sourceDump.retains.push(edge);targetDump.retainedBy.push(edge);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Invalid edge type: '+rawEdge.type+' (PID='+pid+', dump ID='+dumpId+', source='+sourceGuid+', target='+targetGuid+', importance='+importance+').'});}}}}},toModelTimeFromUs_(ts){if(!this.toModelTime_){this.toModelTime_=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);}
5952return this.toModelTime_(tr.b.Unit.timestampFromUs(ts));},maybeToModelTimeFromUs_(ts){if(ts===undefined){return undefined;}
5953return this.toModelTimeFromUs_(ts);}};tr.importer.Importer.register(TraceEventImporter);return{TraceEventImporter,};});'use strict';tr.exportTo('tr.e.measure',function(){const AsyncSlice=tr.model.AsyncSlice;function MeasureAsyncSlice(){this.groupTitle_='Ungrouped Measure';const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(arguments[1]);if(matched!==null){arguments[1]=matched[2];this.groupTitle_=matched[1];}
5954AsyncSlice.apply(this,arguments);}
5955MeasureAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return this.groupTitle_;},get title(){return this.title_;},set title(title){this.title_=title;}};AsyncSlice.subTypes.register(MeasureAsyncSlice,{categoryParts:['blink.user_timing']});return{MeasureAsyncSlice,};});'use strict';tr.exportTo('tr.e.net',function(){const AsyncSlice=tr.model.AsyncSlice;function NetAsyncSlice(){AsyncSlice.apply(this,arguments);this.url_=undefined;this.byteCount_=undefined;this.isTitleComputed_=false;this.isUrlComputed_=false;}
5956NetAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return'NetLog';},get title(){if(this.isTitleComputed_||!this.isTopLevel){return this.title_;}
5957if(this.url!==undefined&&this.url.length>0){this.title_=this.url;}else if(this.args!==undefined&&this.args.source_type!==undefined){this.title_=this.args.source_type;}
5958this.isTitleComputed_=true;return this.title_;},set title(title){this.title_=title;},get url(){if(this.isUrlComputed_){return this.url_;}
5959if(this.args!==undefined&&this.args.params!==undefined&&this.args.params.url!==undefined){this.url_=this.args.params.url;}else if(this.subSlices!==undefined&&this.subSlices.length>0){for(let i=0;i<this.subSlices.length&&!this.url_;i++){if(this.subSlices[i].url!==undefined){this.url_=this.subSlices[i].url;}}}
5960this.isUrlComputed_=true;return this.url_;},get byteCount(){if(this.byteCount_!==undefined){return this.byteCount_;}
5961this.byteCount_=0;if((this.originalTitle==='URL_REQUEST_JOB_FILTERED_BYTES_READ'||this.originalTitle==='URL_REQUEST_JOB_BYTES_READ')&&this.args!==undefined&&this.args.params!==undefined&&this.args.params.byte_count!==undefined){this.byteCount_=this.args.params.byte_count;}
5962for(let i=0;i<this.subSlices.length;i++){this.byteCount_+=this.subSlices[i].byteCount;}
5963return this.byteCount_;}};AsyncSlice.subTypes.register(NetAsyncSlice,{categoryParts:['netlog','disabled-by-default-netlog']});return{NetAsyncSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function Activity(name,category,range,args){tr.model.TimedEvent.call(this,range.min);this.title=name;this.category=category;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(name);this.duration=range.duration;this.args=args;this.name=name;}
5964Activity.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};return{Activity,};});'use strict';tr.exportTo('tr.e.importer.android',function(){const Importer=tr.importer.Importer;const ACTIVITY_STATE={NONE:'none',CREATED:'created',STARTED:'started',RESUMED:'resumed',PAUSED:'paused',STOPPED:'stopped',DESTROYED:'destroyed'};const activityMap={};function EventLogImporter(model,events){this.model_=model;this.events_=events;this.importPriority=3;}
5965const eventLogActivityRE=new RegExp('(\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d+)'+'\\s+(\\d+)\\s+(\\d+)\\s+([A-Z])\\s*'+'(am_\\w+)\\s*:(.*)');const amCreateRE=new RegExp('\s*\\[.*,.*,.*,(.*),.*,.*,.*,.*\\]');const amFocusedRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amProcStartRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,.*,activity,(.*)\\]');const amOnResumeRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amOnPauseRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amLaunchTimeRE=new RegExp('\s*\\[\\d+,\\d+,(.*),(\\d+),(\\d+)');const amDestroyRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,(.*)\\]');EventLogImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;}
5966if(/^<!DOCTYPE html>/.test(events))return false;return eventLogActivityRE.test(events);};EventLogImporter.prototype={__proto__:Importer.prototype,get importerName(){return'EventLogImporter';},get model(){return this.model_;},getFullActivityName(component){const componentSplit=component.split('/');if(componentSplit[1].startsWith('.')){return componentSplit[0]+componentSplit[1];}
5967return componentSplit[1];},getProcName(component){const componentSplit=component.split('/');return componentSplit[0];},findOrCreateActivity(activityName){if(activityName in activityMap){return activityMap[activityName];}
5968const activity={state:ACTIVITY_STATE.NONE,name:activityName};activityMap[activityName]=activity;return activity;},deleteActivity(activityName){delete activityMap[activityName];},handleCreateActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.CREATED;activity.createdTs=ts;},handleFocusActivity(ts,procName,activityName){const activity=this.findOrCreateActivity(activityName);activity.lastFocusedTs=ts;},handleProcStartForActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.procStartTs=ts;},handleOnResumeCalled(ts,pid,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.RESUMED;activity.lastResumeTs=ts;activity.pid=pid;},handleOnPauseCalled(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.PAUSED;activity.lastPauseTs=ts;if(ts>this.model_.bounds.min&&ts<this.model_.bounds.max){this.addActivityToProcess(activity);}},handleLaunchTime(ts,activityName,launchTime){const activity=this.findOrCreateActivity(activityName);activity.launchTime=launchTime;},handleDestroyActivity(ts,activityName){this.deleteActivity(activityName);},addActivityToProcess(activity){if(activity.pid===undefined)return;const process=this.model_.getOrCreateProcess(activity.pid);const range=tr.b.math.Range.fromExplicitRange(Math.max(this.model_.bounds.min,activity.lastResumeTs),activity.lastPauseTs);const newActivity=new tr.model.Activity(activity.name,'Android Activity',range,{created:activity.createdTs,procstart:activity.procStartTs,lastfocus:activity.lastFocusedTs});process.activities.push(newActivity);},parseAmLine_(line){let match=eventLogActivityRE.exec(line);if(!match)return;const firstRealtimeTs=this.model_.bounds.min-
5969this.model_.realtime_to_monotonic_offset_ms;const year=new Date(firstRealtimeTs).getFullYear();const ts=match[1].substring(0,5)+'-'+year+' '+
5970match[1].substring(5,match[1].length);const monotonicTs=Date.parse(ts)+
5971this.model_.realtime_to_monotonic_offset_ms;const pid=match[2];const action=match[5];const data=match[6];if(action==='am_create_activity'){match=amCreateRE.exec(data);if(match&&match.length>=2){this.handleCreateActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_focused_activity'){match=amFocusedRE.exec(data);if(match&&match.length>=2){this.handleFocusActivity(monotonicTs,this.getProcName(match[1]),this.getFullActivityName(match[1]));}}else if(action==='am_proc_start'){match=amProcStartRE.exec(data);if(match&&match.length>=2){this.handleProcStartForActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_on_resume_called'){match=amOnResumeRE.exec(data);if(match&&match.length>=2){this.handleOnResumeCalled(monotonicTs,pid,match[1]);}}else if(action==='am_on_paused_called'){match=amOnPauseRE.exec(data);if(match&&match.length>=2){this.handleOnPauseCalled(monotonicTs,match[1]);}}else if(action==='am_activity_launch_time'){match=amLaunchTimeRE.exec(data);this.handleLaunchTime(monotonicTs,this.getFullActivityName(match[1]),match[2]);}else if(action==='am_destroy_activity'){match=amDestroyRE.exec(data);if(match&&match.length===2){this.handleDestroyActivity(monotonicTs,this.getFullActivityName(match[1]));}}},importEvents(){if(isNaN(this.model_.realtime_to_monotonic_offset_ms)){this.model_.importWarning({type:'eveng_log_clock_sync',message:'Need a trace_event_clock_sync to map realtime to import.'});return;}
5972this.model_.updateBounds();const lines=this.events_.split('\n');lines.forEach(this.parseAmLine_,this);for(const activityName in activityMap){const activity=activityMap[activityName];if(activity.state===ACTIVITY_STATE.RESUMED){activity.lastPauseTs=this.model_.bounds.max;this.addActivityToProcess(activity);}}}};Importer.register(EventLogImporter);return{EventLogImporter,};});'use strict';tr.exportTo('tr.e.importer.android.process_data',function(){const Importer=tr.importer.Importer;const PROCESS_DUMP_HEADER='PROCESS DUMP';function ProcessDataImporter(model,processData){this.model_=model;this.processDataLines=processData.split('\n');this.importPriority=3;}
5973ProcessDataImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;}
5974if(events.split('\n')[0]===PROCESS_DUMP_HEADER){return true;}
5975return false;};ProcessDataImporter.prototype={__proto__:Importer.prototype,get importerName(){return'ProcessDataImporter';},get model(){return this.model_;},parseEventData(data){const allDumpedProcesses={};let parseProcesses=false;let parseThreads=false;let legacy=false;for(let i=1;i<data.length;i++){const cols=data[i].split(/\s+/);if(cols[0].startsWith('USER')){if(parseProcesses){parseProcesses=false;parseThreads=true;}else{parseThreads=false;parseProcesses=true;}
5976const colCount=cols.length;if(parseProcesses&&colCount===9){legacy=false;}else if(parseProcesses&&colCount===8){legacy=true;}
5977continue;}
5978if(parseProcesses){const pid=Number(cols[1]);if(allDumpedProcesses[pid]===undefined){allDumpedProcesses[pid]={};}
5979allDumpedProcesses[pid]={'name':cols[8],pid,'comm':cols[9]};continue;}
5980if(parseThreads){let pid;let tid;let name;if(legacy){pid=Number(cols[1]);if(allDumpedProcesses[pid]!==undefined){tid=pid;}else{tid=pid;pid=Number(cols[2]);}
5981name=cols.slice(8).join(' ');}else{pid=Number(cols[1]);tid=Number(cols[2]);name=cols.slice(3).join(' ');}
5982if(allDumpedProcesses[pid]===undefined)continue;if(allDumpedProcesses[pid].threads===undefined){allDumpedProcesses[pid].threads={};}
5983allDumpedProcesses[pid].threads[tid]={tid,name};continue;}}
5984return allDumpedProcesses;},importEvents(){const allDumpedProcesses=this.parseEventData(this.processDataLines);const modelProcesses=this.model_.getAllProcesses();for(let i=0;i<modelProcesses.length;i++){const modelProcess=modelProcesses[i];const pid=modelProcess.pid;const dumpedProcess=allDumpedProcesses[pid];if(dumpedProcess===undefined){continue;}
5985modelProcess.name=dumpedProcess.name;const processDumpThreads=dumpedProcess.threads;if(processDumpThreads!==undefined){for(const tid in modelProcess.threads){const modelThread=modelProcess.threads[tid];if(Number(pid)===Number(tid)){modelThread.name='UI thread';}else if(modelThread.name==='<...>'){if(processDumpThreads[tid]!==undefined){modelThread.name=processDumpThreads[tid].name;}}}}}}};Importer.register(ProcessDataImporter);return{ProcessDataImporter,};});'use strict';tr.exportTo('tr.e.importer.battor',function(){function BattorImporter(model,events){this.importPriority=3;this.model_=model;this.samples_=[];this.syncTimestampsById_=new Map();this.parseTrace_(events);}
5986const battorDataLineRE=new RegExp('^(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)'+'(?:\\s+<(\\S+)>)?$');const battorHeaderLineRE=/^# BattOr/;BattorImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;}
5987return battorHeaderLineRE.test(events);};BattorImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'BattorImporter';},get model(){return this.model_;},importClockSyncMarkers(){for(const[syncId,ts]of this.syncTimestampsById_){this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.BATTOR,syncId,ts);}},importEvents(){if(this.model_.device.powerSeries){this.model_.importWarning({type:'import_error',message:'Power counter exists, can not import BattOr power trace.'});return;}
5988const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(tr.model.ClockDomainId.BATTOR);const powerSeries=this.model_.device.powerSeries=new tr.model.PowerSeries(this.model_.device);for(let i=0;i<this.samples_.length;i++){const sample=this.samples_[i];powerSeries.addPowerSample(modelTimeTransformer(sample.ts),sample.powerInW);}},parseTrace_(trace){const lines=trace.split('\n');for(let line of lines){line=line.trim();if(line.length===0)continue;if(line.startsWith('#'))continue;const groups=battorDataLineRE.exec(line);if(!groups){this.model_.importWarning({type:'parse_error',message:'Unrecognized line in BattOr trace: '+line});continue;}
5989const ts=parseFloat(groups[1]);const voltageInV=tr.b.convertUnit(parseFloat(groups[2]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const currentInA=tr.b.convertUnit(parseFloat(groups[3]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const syncId=groups[4];if(syncId){this.syncTimestampsById_.set(syncId,ts);}
5990if(voltageInV<0||currentInA<0){this.model_.importWarning({type:'parse_error',message:'The following line in the BattOr trace has a negative '+'voltage or current, neither of which are allowed: '+line+'. A common cause of this is that the device is charging '+'while the trace is being recorded.'});continue;}
5991this.samples_.push(new Sample(ts,voltageInV,currentInA));}}};function Sample(ts,voltageInV,currentInA){this.ts=ts;this.voltageInV=voltageInV;this.currentInA=currentInA;}
5992Sample.prototype={get powerInW(){return this.voltageInV*this.currentInA;}};tr.importer.Importer.register(BattorImporter);return{BattorImporter,};});'use strict';tr.exportTo('tr.e.importer.ddms',function(){const kPid=0;const kCategory='java';const kMethodLutEndMarker='\n*end\n';const kThreadsStart='\n*threads\n';const kMethodsStart='\n*methods\n';const kTraceMethodEnter=0x00;const kTraceMethodExit=0x01;const kTraceUnroll=0x02;const kTraceMethodActionMask=0x03;const kTraceHeaderLength=32;const kTraceMagicValue=0x574f4c53;const kTraceVersionSingleClock=2;const kTraceVersionDualClock=3;const kTraceRecordSizeSingleClock=10;const kTraceRecordSizeDualClock=14;function Reader(stringPayload){this.position_=0;this.data_=JSZip.utils.transformTo('uint8array',stringPayload);}
5993Reader.prototype={__proto__:Object.prototype,uint8(){const result=this.data_[this.position_];this.position_+=1;return result;},uint16(){let result=0;result+=this.uint8();result+=this.uint8()<<8;return result;},uint32(){let result=0;result+=this.uint8();result+=this.uint8()<<8;result+=this.uint8()<<16;result+=this.uint8()<<24;return result;},uint64(){const low=this.uint32();const high=this.uint32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},seekTo(position){this.position_=position;},hasMore(){return this.position_<this.data_.length;}};function DdmsImporter(model,data){this.importPriority=3;this.model_=model;this.data_=data;}
5994DdmsImporter.canImport=function(data){if(typeof(data)==='string'||data instanceof String){const header=data.slice(0,1000);return header.startsWith('*version\n')&&header.indexOf('\nvm=')>=0&&header.indexOf(kThreadsStart)>=0;}
5995return false;};DdmsImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'DdmsImporter';},get model(){return this.model_;},importEvents(){const divider=this.data_.indexOf(kMethodLutEndMarker)+
5996kMethodLutEndMarker.length;this.metadata_=this.data_.slice(0,divider);this.methods_={};this.parseThreads();this.parseMethods();const traceReader=new Reader(this.data_.slice(divider));const magic=traceReader.uint32();if(magic!==kTraceMagicValue){throw Error('Failed to match magic value');}
5997this.version_=traceReader.uint16();if(this.version_!==kTraceVersionDualClock){throw Error('Unknown version');}
5998const dataOffest=traceReader.uint16();const startDateTime=traceReader.uint64();const recordSize=traceReader.uint16();traceReader.seekTo(dataOffest);while(traceReader.hasMore()){this.parseTraceEntry(traceReader);}},parseTraceEntry(reader){const tid=reader.uint16();const methodPacked=reader.uint32();const cpuSinceStart=reader.uint32();const wallClockSinceStart=reader.uint32();let method=methodPacked&~kTraceMethodActionMask;const action=methodPacked&kTraceMethodActionMask;const thread=this.getTid(tid);method=this.getMethodName(method);if(action===kTraceMethodEnter){thread.sliceGroup.beginSlice(kCategory,method,wallClockSinceStart,undefined,cpuSinceStart);}else if(thread.sliceGroup.openSliceCount){thread.sliceGroup.endSlice(wallClockSinceStart,cpuSinceStart);}},parseThreads(){let threads=this.metadata_.slice(this.metadata_.indexOf(kThreadsStart)+
5999kThreadsStart.length);threads=threads.slice(0,threads.indexOf('\n*'));threads=threads.split('\n');threads.forEach(this.parseThread.bind(this));},parseThread(threadLine){const tid=threadLine.slice(0,threadLine.indexOf('\t'));const thread=this.getTid(parseInt(tid));thread.name=threadLine.slice(threadLine.indexOf('\t')+1);},getTid(tid){return this.model_.getOrCreateProcess(kPid).getOrCreateThread(tid);},parseMethods(){let methods=this.metadata_.slice(this.metadata_.indexOf(kMethodsStart)+
6000kMethodsStart.length);methods=methods.slice(0,methods.indexOf('\n*'));methods=methods.split('\n');methods.forEach(this.parseMethod.bind(this));},parseMethod(methodLine){const data=methodLine.split('\t');const methodId=parseInt(data[0]);const methodName=data[1]+'.'+data[2]+data[3];this.addMethod(methodId,methodName);},addMethod(methodId,methodName){this.methods_[methodId]=methodName;},getMethodName(methodId){return this.methods_[methodId];}};tr.importer.Importer.register(DdmsImporter);return{DdmsImporter,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){function Parser(importer){this.importer=importer;this.model=importer.model;}
6001Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function AndroidParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));importer.registerEventHandler('0:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6002function parseArgs(argsString){const args={};if(argsString){const argsArray=argsString.split(';');for(let i=0;i<argsArray.length;++i){const parts=argsArray[i].split('=');if(parts[0]){args[parts.shift()]=parts.join('=');}}}
6003return args;}
6004AndroidParser.prototype={__proto__:Parser.prototype,openAsyncSlice(thread,category,name,cookie,ts,args){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts,args);const key=category+':'+name+':'+cookie;slice.id=cookie;slice.startThread=thread;if(!this.openAsyncSlices){this.openAsyncSlices={};}
6005this.openAsyncSlices[key]=slice;},closeAsyncSlice(thread,category,name,cookie,ts,args){if(!this.openAsyncSlices){return;}
6006const key=category+':'+name+':'+cookie;const slice=this.openAsyncSlices[key];if(!slice){return;}
6007for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the S and F events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the F event will be used.'});}
6008slice.args[arg]=args[arg];}
6009slice.endThread=thread;slice.duration=ts-slice.start;slice.startThread.asyncSliceGroup.push(slice);delete this.openAsyncSlices[key];},traceMarkWriteAndroidEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=eventBase.details.split('|');switch(eventData[0]){case'B':{const ppid=parseInt(eventData[1]);const title=eventData[2];const args=parseArgs(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6010this.ppids_[pid]=ppid;thread.sliceGroup.beginSlice(category,title,ts,args);break;}
6011case'E':{const ppid=this.ppids_[pid];if(ppid===undefined){break;}
6012const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);if(!thread.sliceGroup.openSliceCount){break;}
6013const slice=thread.sliceGroup.endSlice(ts);const args=parseArgs(eventData[3]);for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the B and E events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the E event will be used.'});}
6014slice.args[arg]=args[arg];}
6015break;}
6016case'C':{const ppid=parseInt(eventData[1]);const name=eventData[2];const value=parseInt(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const ctr=this.model_.getOrCreateProcess(ppid).getOrCreateCounter(category,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries(value,ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6017ctr.series.forEach(function(series){series.addCounterSample(ts,value);});break;}
6018case'S':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.openAsyncSlice(thread,category,name,cookie,ts,args);break;}
6019case'F':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.closeAsyncSlice(thread,category,name,cookie,ts,args);break;}
6020default:return false;}
6021return true;}};Parser.register(AndroidParser);return{AndroidParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;const binderTransRE=new RegExp('transaction=(\\d+) dest_node=(\\d+) '+'dest_proc=(\\d+) dest_thread=(\\d+) '+'reply=(\\d+) flags=(0x[0-9a-fA-F]+) '+'code=(0x[0-9a-fA-F]+)');const binderTransReceivedRE=/transaction=(\d+)/;function isBinderThread(name){return(name.indexOf('Binder')>-1);}
6022const TF_ONE_WAY=0x01;const TF_ROOT_OBJECT=0x04;const TF_STATUS_CODE=0x08;const TF_ACCEPT_FDS=0x10;const NO_FLAGS=0;function binderFlagsToHuman(num){const flag=parseInt(num,16);let str='';if(flag&TF_ONE_WAY){str+='this is a one-way call: async, no return; ';}
6023if(flag&TF_ROOT_OBJECT){str+='contents are the components root object; ';}
6024if(flag&TF_STATUS_CODE){str+='contents are a 32-bit status code; ';}
6025if(flag&TF_ACCEPT_FDS){str+='allow replies with file descriptors; ';}
6026if(flag===NO_FLAGS){str+='No Flags Set';}
6027return str;}
6028function isReplyToOrigin(calling,called){return(called.dest_proc===calling.calling_pid||called.dest_thread===calling.calling_pid);}
6029function binderCodeToHuman(code){return'Java Layer Dependent';}
6030function doInternalSlice(trans,slice,ts){if(slice.subSlices.length!==0){slice.subSlices[0].start=ts;return slice.subSlices[0];}
6031const kthread=trans.calling_kthread.thread;const internalSlice=kthread.sliceGroup.pushCompleteSlice('binder',slice.title,ts,.001,0,0,slice.args);internalSlice.title=slice.title;internalSlice.id=slice.id;internalSlice.colorId=slice.colorId;slice.subSlices.push(internalSlice);return internalSlice;}
6032function generateBinderArgsForSlice(trans,cThreadName){return{'Transaction Id':trans.transaction_key,'Destination Node':trans.dest_node,'Destination Process':trans.dest_proc,'Destination Thread':trans.dest_thread,'Destination Name':cThreadName,'Reply transaction?':trans.is_reply_transaction,'Flags':trans.flags+' '+
6033binderFlagsToHuman(trans.flags),'Code':trans.code+' '+
6034binderCodeToHuman(trans.code),'Calling PID':trans.calling_pid,'Calling tgid':trans.calling_kthread.thread.parent.pid};}
6035function BinderTransaction(events,callingPid,callingTs,callingKthread){this.transaction_key=parseInt(events[1]);this.dest_node=parseInt(events[2]);this.dest_proc=parseInt(events[3]);this.dest_thread=parseInt(events[4]);this.is_reply_transaction=parseInt(events[5])===1?true:false;this.expect_reply=((this.is_reply_transaction===false)&&(parseInt(events[6],16)&TF_ONE_WAY)===0);this.flags=events[6];this.code=events[7];this.calling_pid=callingPid;this.calling_ts=callingTs;this.calling_kthread=callingKthread;}
6036function BinderParser(importer){Parser.call(this,importer);importer.registerEventHandler('binder_locked',BinderParser.prototype.binderLocked.bind(this));importer.registerEventHandler('binder_unlock',BinderParser.prototype.binderUnlock.bind(this));importer.registerEventHandler('binder_lock',BinderParser.prototype.binderLock.bind(this));importer.registerEventHandler('binder_transaction',BinderParser.prototype.binderTransaction.bind(this));importer.registerEventHandler('binder_transaction_received',BinderParser.prototype.binderTransactionReceived.bind(this));this.model_=importer.model;this.kthreadlookup={};this.importer_=importer;this.transWaitingRecv={};this.syncTransWaitingCompletion={};this.recursiveSyncTransWaitingCompletion_ByPID={};this.receivedTransWaitingConversion={};}
6037BinderParser.prototype={__proto__:Parser.prototype,binderLock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventName.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);kthread.binderAttemptLockTS=ts;kthread.binderOpenTsA=ts;return true;},binderLocked(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const binderThread=isBinderThread(eventBase.threadName);const name=eventBase.threadName;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);this.doNameMappings(pid,tgid,name);const rthread=kthread.thread;kthread.binderLockAquiredTS=ts;if(kthread.binderAttemptLockTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,name,kthread);rthread.sliceGroup.pushCompleteSlice('binder','binder lock waiting',kthread.binderAttemptLockTS,ts-kthread.binderAttemptLockTS,0,0,args);kthread.binderAttemptLockTS=undefined;return true;},binderUnlock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);if(kthread.binderLockAquiredTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,eventBase.threadName,kthread);kthread.thread.sliceGroup.pushCompleteSlice('binder','binder lock held',kthread.binderLockAquiredTS,ts-kthread.binderLockAquiredTS,0,0,args);kthread.binderLockAquiredTS=undefined;return true;},binderTransaction(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventBase.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const trans=new BinderTransaction(event,pid,ts,kthread);const args=generateBinderArgsForSlice(trans,eventBase.threadName);const priorReceive=this.getPriorReceiveOnPID(pid);if(priorReceive!==false){return this.modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event);}
6038const recursiveTrans=this.getRecursiveTransactionNeedingCompletion(pid);if(recursiveTrans!==false){return this.modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args);}
6039const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);slice.colorId=ColorScheme.getColorIdForGeneralPurposeString(ts.toString());trans.slice=slice;if(trans.expect_reply){slice.title='binder transaction';}else{slice.title='binder transaction async';}
6040this.addTransactionWaitingForRecv(trans.transaction_key,trans);return true;},binderTransactionReceived(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransReceivedRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const transactionkey=parseInt(event[1]);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const syncComplete=this.getSyncTransNeedsCompletion(transactionkey);if(syncComplete!==false){const syncTrans=syncComplete[0];const syncSlice=syncTrans.slice;const responseTrans=syncComplete[1];const responseSlice=responseTrans.slice;syncSlice.duration=ts-syncSlice.start;const syncInternal=doInternalSlice(syncTrans,syncSlice,ts);const responseTs=responseSlice.start+responseSlice.duration;const responseInternal=doInternalSlice(responseTrans,responseSlice,responseTs);if(responseSlice.outFlowEvents.length===0||syncSlice.inFlowEvents.length===0){const flow=this.generateFlow(responseInternal,syncInternal,responseTrans,syncTrans);syncSlice.inFlowEvents.push(flow);responseSlice.outFlowEvents.push(flow);this.model_.flowEvents.push(flow);}
6041for(let i=1;i<syncSlice.inFlowEvents.length;i++){syncSlice.inFlowEvents[i].duration=ts-syncSlice.inFlowEvents[i].start;}
6042return true;}
6043const trForRecv=this.getTransactionWaitingForRecv(transactionkey);if(trForRecv!==false){if(!trForRecv.expect_reply){const args=generateBinderArgsForSlice(trForRecv,eventBase.threadName);const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder Async recv',ts,.03,0,0,args);const fakeEvent=[0,0,0,0,0,0,0];const fakeTrans=new BinderTransaction(fakeEvent,pid,ts,kthread);const flow=this.generateFlow(trForRecv.slice,slice,trForRecv,fakeTrans);this.model_.flowEvents.push(flow);trForRecv.slice.title='binder transaction async';trForRecv.slice.duration=.03;return true;}
6044trForRecv.slice.title='binder transaction';this.setCurrentReceiveOnPID(pid,[ts,trForRecv]);return true;}
6045return false;},modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args){const recursiveSlice=recursiveTrans[1].slice;const origSlice=recursiveTrans[0].slice;recursiveSlice.duration=ts-recursiveSlice.start;trans.slice=recursiveSlice;if(trans.is_reply_transaction){origSlice.duration=ts-origSlice.start;this.addSyncTransNeedingCompletion(trans.transaction_key,recursiveTrans);if(isReplyToOrigin(recursiveTrans[0],trans)){this.removeRecursiveTransaction(pid);}}else{const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);trans.slice=slice;this.addTransactionWaitingForRecv(trans.transaction_key,trans);}
6046return true;},modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event){const calleeSlice=priorReceive[1].slice;const calleeTrans=priorReceive[1];const recvTs=priorReceive[0];let slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',recvTs,ts-recvTs,0,0,args);const flow=this.generateFlow(calleeSlice,slice,calleeTrans,trans);this.model_.flowEvents.push(flow);trans.slice=slice;if(trans.is_reply_transaction){slice.title='binder reply';this.addSyncTransNeedingCompletion(trans.transaction_key,[calleeTrans,trans]);}else{slice.title='binder reply';const trans1=new BinderTransaction(event,pid,ts,kthread);slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder transaction',recvTs,(ts-recvTs),0,0,args);if(!trans.expect_reply){slice.title='binder transaction async';slice.duration=.03;}else{}
6047trans1.slice=slice;this.addRecursiveSyncTransNeedingCompletion(pid,[calleeTrans,trans]);this.addTransactionWaitingForRecv(trans.transaction_key,trans1);}
6048return true;},getRecursiveTransactionNeedingCompletion(pid){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){return false;}
6049const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0)return false;return this.recursiveSyncTransWaitingCompletion_ByPID[pid][len-1];},addRecursiveSyncTransNeedingCompletion(pid,tuple){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){this.recursiveSyncTransWaitingCompletion_ByPID[pid]=[];}
6050this.recursiveSyncTransWaitingCompletion_ByPID[pid].push(tuple);},removeRecursiveTransaction(pid){const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0){delete this.recursiveSyncTransWaitingCompletion_ByPID[pid];return;}
6051this.recursiveSyncTransWaitingCompletion_ByPID[pid].splice(len-1,1);},setCurrentReceiveOnPID(pid,tuple){if(this.receivedTransWaitingConversion[pid]===undefined){this.receivedTransWaitingConversion[pid]=[];}
6052this.receivedTransWaitingConversion[pid].push(tuple);},getPriorReceiveOnPID(pid){if(this.receivedTransWaitingConversion[pid]===undefined){return false;}
6053const len=this.receivedTransWaitingConversion[pid].length;if(len===0)return false;return this.receivedTransWaitingConversion[pid].splice(len-1,1)[0];},addSyncTransNeedingCompletion(transactionkey,tuple){const dict=this.syncTransWaitingCompletion;dict[transactionkey]=tuple;},getSyncTransNeedsCompletion(transactionkey){const ret=this.syncTransWaitingCompletion[transactionkey];if(ret===undefined)return false;delete this.syncTransWaitingCompletion[transactionkey];return ret;},getTransactionWaitingForRecv(transactionkey){const ret=this.transWaitingRecv[transactionkey];if(ret===undefined)return false;delete this.transWaitingRecv[transactionkey];return ret;},addTransactionWaitingForRecv(transactionkey,transaction){this.transWaitingRecv[transactionkey]=transaction;},generateFlow(from,to,fromTrans,toTrans){const title='Transaction from : '+
6054this.pid2name(fromTrans.calling_pid)+' From PID: '+fromTrans.calling_pid+' to pid: '+
6055toTrans.calling_pid+' Thread Name: '+this.pid2name(toTrans.calling_pid);const ts=from.start;const flow=new tr.model.FlowEvent('binder','binder',title,1,ts,[]);flow.startSlice=from;flow.endSlice=to;flow.start=from.start;flow.duration=to.start-ts;from.outFlowEvents.push(flow);to.inFlowEvents.push(flow);return flow;},generateArgsForSlice(tgid,pid,name,kthread){return{'Thread Name':name,pid,'gid':tgid};},pid2name(pid){return this.kthreadlookup[pid];},doNameMappings(pid,tgid,name){this.registerPidName(pid,name);this.registerPidName(tgid,name);},registerPidName(pid,name){if(this.pid2name(pid)===undefined){this.kthreadlookup[pid]=name;}}};Parser.register(BinderParser);return{BinderParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function BusParser(importer){Parser.call(this,importer);importer.registerEventHandler('memory_bus_usage',BusParser.prototype.traceMarkWriteBusEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6056BusParser.prototype={__proto__:Parser.prototype,traceMarkWriteBusEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const re=new RegExp('bus=(\\S+) rw_bytes=(\\d+) r_bytes=(\\d+) '+'w_bytes=(\\d+) cycles=(\\d+) ns=(\\d+)');const event=re.exec(eventBase.details);const name=event[1];const rwBytes=parseInt(event[2]);const rBytes=parseInt(event[3]);const wBytes=parseInt(event[4]);const cycles=parseInt(event[5]);const ns=parseInt(event[6]);const sec=tr.b.convertUnit(ns,tr.b.UnitPrefixScale.METRIC.NANO,tr.b.UnitPrefixScale.METRIC.NONE);const readBandwidthInBps=rBytes/sec;const readBandwidthInMiBps=tr.b.convertUnit(readBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);const writeBandwidthInBps=wBytes/sec;const writeBandwidthInMiBps=tr.b.convertUnit(writeBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);let ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' read');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6057ctr.series.forEach(function(series){series.addCounterSample(ts,readBandwidthInMiBps);});ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' write');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6058ctr.series.forEach(function(series){series.addCounterSample(ts,writeBandwidthInMiBps);});return true;}};Parser.register(BusParser);return{BusParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ClockParser(importer){Parser.call(this,importer);importer.registerEventHandler('clock_set_rate',ClockParser.prototype.traceMarkWriteClockEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6059ClockParser.prototype={__proto__:Parser.prototype,traceMarkWriteClockEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const event=/(\S+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);const name=event[1];const rate=parseInt(event[2]);const ctr=this.model_.kernel.getOrCreateCounter(null,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6060ctr.series.forEach(function(series){series.addCounterSample(ts,rate);});return true;}};Parser.register(ClockParser);return{ClockParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function CpufreqParser(importer){Parser.call(this,importer);importer.registerEventHandler('cpufreq_interactive_up',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_down',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_already',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_notyet',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_setspeed',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_target',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_boost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_unboost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));}
6061function splitData(input){const data={};const args=input.split(/\s+/);const len=args.length;for(let i=0;i<len;i++){const item=args[i].split('=');data[item[0]]=parseInt(item[1]);}
6062return data;}
6063CpufreqParser.prototype={__proto__:Parser.prototype,cpufreqSlice(ts,eventName,cpu,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqBoostSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq_boost');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqUpDownEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqTargetEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqBoostUnboostEvent(eventName,cpuNumber,pid,ts,eventBase){this.cpufreqBoostSlice(ts,eventName,{type:eventBase.details});return true;}};Parser.register(CpufreqParser);return{CpufreqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DiskParser(importer){Parser.call(this,importer);importer.registerEventHandler('f2fs_write_begin',DiskParser.prototype.f2fsWriteBeginEvent.bind(this));importer.registerEventHandler('f2fs_write_end',DiskParser.prototype.f2fsWriteEndEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_enter',DiskParser.prototype.f2fsSyncFileEnterEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_exit',DiskParser.prototype.f2fsSyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_sync_file_enter',DiskParser.prototype.ext4SyncFileEnterEvent.bind(this));importer.registerEventHandler('ext4_sync_file_exit',DiskParser.prototype.ext4SyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_da_write_begin',DiskParser.prototype.ext4WriteBeginEvent.bind(this));importer.registerEventHandler('ext4_da_write_end',DiskParser.prototype.ext4WriteEndEvent.bind(this));importer.registerEventHandler('block_rq_issue',DiskParser.prototype.blockRqIssueEvent.bind(this));importer.registerEventHandler('block_rq_complete',DiskParser.prototype.blockRqCompleteEvent.bind(this));}
6064DiskParser.prototype={__proto__:Parser.prototype,openAsyncSlice(ts,category,threadName,pid,key,name){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts);slice.startThread=kthread.thread;if(!kthread.openAsyncSlices){kthread.openAsyncSlices={};}
6065kthread.openAsyncSlices[key]=slice;},closeAsyncSlice(ts,category,threadName,pid,key,args){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);if(kthread.openAsyncSlices){const slice=kthread.openAsyncSlices[key];if(slice){slice.duration=ts-slice.start;slice.args=args;slice.endThread=kthread.thread;slice.subSlices=[new tr.model.AsyncSlice(category,slice.title,slice.colorId,slice.start,slice.args,slice.duration)];kthread.thread.asyncSliceGroup.push(slice);delete kthread.openAsyncSlices[key];}}},f2fsWriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), flags = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'f2fs_write');return true;},f2fsWriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), copied = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4WriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) flags (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,'ext4_write');return true;},ext4WriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) copied (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},f2fsSyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), pino = (\\d+), i_mode = (\\S+), '+'i_size = (\\d+), i_nlink = (\\d+), i_blocks = (\\d+), i_advise = (\\d+)').exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const key=device+'-'+inode;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'fsync');return true;},f2fsSyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), checkpoint is (\\S+), '+'datasync = (\\d+), ret = (\\d+)').exec(eventBase.details.replace('not needed','not_needed'));if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[5]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4SyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) parent (\d+) datasync (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const datasync=(event[4]==='1')||(event[4]===1);const key=device+'-'+inode;const action=datasync?'fdatasync':'fsync';this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,action);return true;},ext4SyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) ret (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[3]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},blockRqIssueEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\d+ \\(.*\\) (\\d+) \\+ (\\d+) \\[.*\\]').exec(eventBase.details);if(!event)return false;let action;switch(event[3]){case'D':action='discard';break;case'W':action='write';break;case'R':action='read';break;case'N':action='none';break;default:action='unknown';break;}
6066if(event[2]){action+=' flush';}
6067if(event[4]==='F'){action+=' fua';}
6068if(event[5]==='A'){action+=' ahead';}
6069if(event[6]==='S'){action+=' sync';}
6070if(event[7]==='M'){action+=' meta';}
6071const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const key=device+'-'+sector+'-'+numSectors;this.openAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,action);return true;},blockRqCompleteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\(.*\\) (\\d+) \\+ (\\d+) \\[(.*)\\]').exec(eventBase.details);if(!event)return false;const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const error=parseInt(event[10]);const key=device+'-'+sector+'-'+numSectors;this.closeAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,{device,sector,numSectors,error});return true;}};Parser.register(DiskParser);return{DiskParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DrmParser(importer){Parser.call(this,importer);importer.registerEventHandler('drm_vblank_event',DrmParser.prototype.vblankEvent.bind(this));}
6072DrmParser.prototype={__proto__:Parser.prototype,drmVblankSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('drm_vblank');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},vblankEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/crtc=(\d+), seq=(\d+)/.exec(eventBase.details);if(!event)return false;const crtc=parseInt(event[1]);const seq=parseInt(event[2]);this.drmVblankSlice(ts,'vblank:'+crtc,{crtc,seq});return true;}};Parser.register(DrmParser);return{DrmParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ExynosParser(importer){Parser.call(this,importer);importer.registerEventHandler('exynos_busfreq_target_int',ExynosParser.prototype.busfreqTargetIntEvent.bind(this));importer.registerEventHandler('exynos_busfreq_target_mif',ExynosParser.prototype.busfreqTargetMifEvent.bind(this));importer.registerEventHandler('exynos_page_flip_state',ExynosParser.prototype.pageFlipStateEvent.bind(this));}
6073ExynosParser.prototype={__proto__:Parser.prototype,exynosBusfreqSample(name,ts,frequency){const targetCpu=this.importer.getOrCreateCpu(0);const counter=targetCpu.getOrCreateCounter('',name);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries('frequency',ColorScheme.getColorIdForGeneralPurposeString(counter.name+'.'+'frequency')));}
6074counter.series.forEach(function(series){series.addCounterSample(ts,frequency);});},busfreqTargetIntEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('INT Frequency',ts,parseInt(event[1]));return true;},busfreqTargetMifEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('MIF Frequency',ts,parseInt(event[1]));return true;},exynosPageFlipStateOpenSlice(ts,pipe,fb,state){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');kthread.openSliceTS=ts;kthread.openSlice=state;},exynosPageFlipStateCloseSlice(ts,pipe,fb,args){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);}
6075kthread.openSlice=undefined;},pageFlipStateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/pipe=(\d+), fb=(\d+), state=(.*)/.exec(eventBase.details);if(!event)return false;const pipe=parseInt(event[1]);const fb=parseInt(event[2]);const state=event[3];this.exynosPageFlipStateCloseSlice(ts,pipe,fb,{pipe,fb});if(state!=='flipped'){this.exynosPageFlipStateOpenSlice(ts,pipe,fb,state);}
6076return true;}};Parser.register(ExynosParser);return{ExynosParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function GestureParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:log',GestureParser.prototype.logEvent.bind(this));importer.registerEventHandler('tracing_mark_write:SyncInterpret',GestureParser.prototype.syncEvent.bind(this));importer.registerEventHandler('tracing_mark_write:HandleTimer',GestureParser.prototype.timerEvent.bind(this));}
6077GestureParser.prototype={__proto__:Parser.prototype,gestureOpenSlice(title,ts,opt_args){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;thread.sliceGroup.beginSlice('touchpad_gesture',title,ts,opt_args);},gestureCloseSlice(title,ts){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;if(thread.sliceGroup.openSliceCount){const slice=thread.sliceGroup.mostRecentlyOpenedPartialSlice;if(slice.title!==title){this.importer.model.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+
6078slice.title+' in openSlice, and is '+
6079title+' in endSlice'});}else{thread.sliceGroup.endSlice(ts);}}},logEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('GestureLog',ts,{name:innerEvent[2]});break;case'end':this.gestureCloseSlice('GestureLog',ts);}
6080return true;},syncEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('SyncInterpret',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('SyncInterpret',ts);}
6081return true;},timerEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('HandleTimer',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('HandleTimer',ts);}
6082return true;}};Parser.register(GestureParser);return{GestureParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I2cParser(importer){Parser.call(this,importer);importer.registerEventHandler('i2c_write',I2cParser.prototype.i2cWriteEvent.bind(this));importer.registerEventHandler('i2c_read',I2cParser.prototype.i2cReadEvent.bind(this));importer.registerEventHandler('i2c_reply',I2cParser.prototype.i2cReplyEvent.bind(this));importer.registerEventHandler('i2c_result',I2cParser.prototype.i2cResultEvent.bind(this));}
6083const i2cWriteReplyRE=new RegExp('i2c-(\\d+) #(\\d+) a=([\\da-fA-F]+) f=([\\da-fA-F]+) l=(\\d+) '+'(\\[[\\da-fA-F\\-]+\\])');const i2cReadRE=/i2c-(\d+) #(\d+) a=([\da-fA-F]+) f=([\da-fA-F]+) l=(\d+)/;const i2cResultRE=/i2c-(\d+) n=(\d+) ret=(\d+)/;I2cParser.prototype={__proto__:Parser.prototype,i2cWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c write';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cReadEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cReadRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c read';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength};return true;},i2cReplyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c reply';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cResultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cResultRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const numMessages=event[2];const ret=event[3];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);const args=thread.lastEntryArgs;if(args!==undefined){args['Number of messages']=numMessages;args.Return=ret;}
6084pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle=undefined;thread.lastEntryTs=undefined;thread.lastEntryArgs=undefined;return true;},};function pushLastSliceIfNeeded(thread,id,currentTs){if(thread.lastEntryTs!==undefined){const duration=currentTs-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',thread.lastEntryTitle,ColorScheme.getColorIdForGeneralPurposeString(id),thread.lastEntryTs,thread.lastEntryArgs,duration);thread.thread.sliceGroup.pushSlice(slice);}}
6085Parser.register(I2cParser);return{I2cParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I915Parser(importer){Parser.call(this,importer);importer.registerEventHandler('i915_gem_object_create',I915Parser.prototype.gemObjectCreateEvent.bind(this));importer.registerEventHandler('i915_gem_object_bind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_unbind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_change_domain',I915Parser.prototype.gemObjectChangeDomainEvent.bind(this));importer.registerEventHandler('i915_gem_object_pread',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_pwrite',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_fault',I915Parser.prototype.gemObjectFaultEvent.bind(this));importer.registerEventHandler('i915_gem_object_clflush',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_object_destroy',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_ring_dispatch',I915Parser.prototype.gemRingDispatchEvent.bind(this));importer.registerEventHandler('i915_gem_ring_flush',I915Parser.prototype.gemRingFlushEvent.bind(this));importer.registerEventHandler('i915_gem_request',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_add',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_complete',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_retire',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_begin',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_end',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_begin',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_end',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_reg_rw',I915Parser.prototype.regRWEvent.bind(this));importer.registerEventHandler('i915_flip_request',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('i915_flip_complete',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('intel_gpu_freq_change',I915Parser.prototype.gpuFrequency.bind(this));}
6086I915Parser.prototype={__proto__:Parser.prototype,i915FlipOpenSlice(ts,obj,plane){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');kthread.openSliceTS=ts;kthread.openSlice='flip:'+obj+'/'+plane;},i915FlipCloseSlice(ts,args){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);}
6087kthread.openSlice=undefined;},i915GemObjectSlice(ts,eventName,obj,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem');kthread.openSlice=eventName+':'+obj;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915GemRingSlice(ts,eventName,dev,ring,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem_ring');kthread.openSlice=eventName+':'+dev+'.'+ring;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915RegSlice(ts,eventName,reg,args){const kthread=this.importer.getOrCreatePseudoThread('i915_reg');kthread.openSlice=eventName+':'+reg;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915FreqChangeSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gpu_freq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},gemObjectCreateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const size=parseInt(event[2]);this.i915GemObjectSlice(ts,eventName,obj,{obj,size});return true;},gemObjectBindEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=event[2];const size=parseInt(event[3]);this.i915ObjectGemSlice(ts,eventName+':'+obj,{obj,offset,size});return true;},gemObjectChangeDomainEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), read=(\w+=>\w+), write=(\w+=>\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const read=event[2];const write=event[3];this.i915GemObjectSlice(ts,eventName,obj,{obj,read,write});return true;},gemObjectPreadWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\d+), len=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=parseInt(event[2]);const len=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,offset,len});return true;},gemObjectFaultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), (\w+) index=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const type=event[2];const index=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,type,index});return true;},gemObjectDestroyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];this.i915GemObjectSlice(ts,eventName,obj,{obj});return true;},gemRingDispatchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingFlushEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\w+), invalidate=(\w+), flush=(\w+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const invalidate=event[3];const flush=event[4];this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,invalidate,flush});return true;},gemRequestEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring});return true;},regRWEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/(\w+) reg=(\w+), len=(\d+), val=(\(\w+, \w+\))/.exec(eventBase.details);if(!event)return false;const rw=event[1];const reg=event[2];const len=event[3];const data=event[3];this.i915RegSlice(ts,rw,reg,{rw,reg,len,data});return true;},flipEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/plane=(\d+), obj=(\w+)/.exec(eventBase.details);if(!event)return false;const plane=parseInt(event[1]);const obj=event[2];if(eventName==='i915_flip_request'){this.i915FlipOpenSlice(ts,obj,plane);}else{this.i915FlipCloseSlice(ts,{obj,plane});}
6088return true;},gpuFrequency(eventName,cpuNumver,pid,ts,eventBase){const event=/new_freq=(\d+)/.exec(eventBase.details);if(!event)return false;const freq=parseInt(event[1]);this.i915FreqChangeSlice(ts,eventName,{freq});return true;}};Parser.register(I915Parser);return{I915Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function IrqParser(importer){Parser.call(this,importer);importer.registerEventHandler('irq_handler_entry',IrqParser.prototype.irqHandlerEntryEvent.bind(this));importer.registerEventHandler('irq_handler_exit',IrqParser.prototype.irqHandlerExitEvent.bind(this));importer.registerEventHandler('softirq_raise',IrqParser.prototype.softirqRaiseEvent.bind(this));importer.registerEventHandler('softirq_entry',IrqParser.prototype.softirqEntryEvent.bind(this));importer.registerEventHandler('softirq_exit',IrqParser.prototype.softirqExitEvent.bind(this));importer.registerEventHandler('ipi_entry',IrqParser.prototype.ipiEntryEvent.bind(this));importer.registerEventHandler('ipi_exit',IrqParser.prototype.ipiExitEvent.bind(this));}
6089const irqHandlerEntryRE=/irq=(\d+) name=(.+)/;const irqHandlerExitRE=/irq=(\d+) ret=(.+)/;const softirqRE=/vec=(\d+) \[action=(.+)\]/;const ipiHandlerExitRE=/\((.+)\)/;IrqParser.prototype={__proto__:Parser.prototype,irqHandlerEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerEntryRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const name=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;thread.irqName=name;return true;},irqHandlerExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerExitRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const ret=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IRQ ('+thread.irqName+')',ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{ret},duration);thread.thread.sliceGroup.pushSlice(slice);}
6090thread.lastEntryTs=undefined;thread.irqName=undefined;return true;},softirqRaiseEvent(eventName,cpuNumber,pid,ts,eventBase){return true;},softirqEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},softirqExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const vec=parseInt(event[1]);const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',action,ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{vec},duration);thread.thread.sliceGroup.pushSlice(slice);}
6091thread.lastEntryTs=undefined;return true;},ipiEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},ipiExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=ipiHandlerExitRE.exec(eventBase.details);if(!event)return false;const ipiName=event[1];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IPI ('+ipiName+')',ColorScheme.getColorIdForGeneralPurposeString(ipiName),thread.lastEntryTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);}
6092thread.lastEntryTs=undefined;return true;}};Parser.register(IrqParser);return{IrqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const LinuxPerfParser=tr.e.importer.linux_perf.Parser;function KernelFuncParser(importer){LinuxPerfParser.call(this,importer);importer.registerEventHandler('graph_ent',KernelFuncParser.prototype.traceKernelFuncEnterEvent.bind(this));importer.registerEventHandler('graph_ret',KernelFuncParser.prototype.traceKernelFuncReturnEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6093const TestExports={};const funcEnterRE=new RegExp('func=(.+)');TestExports.funcEnterRE=funcEnterRE;KernelFuncParser.prototype={__proto__:LinuxPerfParser.prototype,traceKernelFuncEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=funcEnterRE.exec(eventBase.details);if(!eventData)return false;if(eventBase.tgid===undefined){return false;}
6094const tgid=parseInt(eventBase.tgid);const name=eventData[1];const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6095const slice=slices.beginSlice(null,name,ts,{});return true;},traceKernelFuncReturnEvent(eventName,cpuNumber,pid,ts,eventBase){if(eventBase.tgid===undefined){return false;}
6096const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6097if(slices.openSliceCount>0){slices.endSlice(ts);}
6098return true;}};LinuxPerfParser.register(KernelFuncParser);return{KernelFuncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function MaliParser(importer){Parser.call(this,importer);importer.registerEventHandler('mali_dvfs_event',MaliParser.prototype.dvfsEventEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_clock',MaliParser.prototype.dvfsSetClockEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_voltage',MaliParser.prototype.dvfsSetVoltageEvent.bind(this));this.addJMCounter('mali_hwc_MESSAGES_SENT','Messages Sent');this.addJMCounter('mali_hwc_MESSAGES_RECEIVED','Messages Received');this.addJMCycles('mali_hwc_GPU_ACTIVE','GPU Active');this.addJMCycles('mali_hwc_IRQ_ACTIVE','IRQ Active');for(let i=0;i<7;i++){const jobStr='JS'+i;const jobHWCStr='mali_hwc_'+jobStr;this.addJMCounter(jobHWCStr+'_JOBS',jobStr+' Jobs');this.addJMCounter(jobHWCStr+'_TASKS',jobStr+' Tasks');this.addJMCycles(jobHWCStr+'_ACTIVE',jobStr+' Active');this.addJMCycles(jobHWCStr+'_WAIT_READ',jobStr+' Wait Read');this.addJMCycles(jobHWCStr+'_WAIT_ISSUE',jobStr+' Wait Issue');this.addJMCycles(jobHWCStr+'_WAIT_DEPEND',jobStr+' Wait Depend');this.addJMCycles(jobHWCStr+'_WAIT_FINISH',jobStr+' Wait Finish');}
6099this.addTilerCounter('mali_hwc_TRIANGLES','Triangles');this.addTilerCounter('mali_hwc_QUADS','Quads');this.addTilerCounter('mali_hwc_POLYGONS','Polygons');this.addTilerCounter('mali_hwc_POINTS','Points');this.addTilerCounter('mali_hwc_LINES','Lines');this.addTilerCounter('mali_hwc_VCACHE_HIT','VCache Hit');this.addTilerCounter('mali_hwc_VCACHE_MISS','VCache Miss');this.addTilerCounter('mali_hwc_FRONT_FACING','Front Facing');this.addTilerCounter('mali_hwc_BACK_FACING','Back Facing');this.addTilerCounter('mali_hwc_PRIM_VISIBLE','Prim Visible');this.addTilerCounter('mali_hwc_PRIM_CULLED','Prim Culled');this.addTilerCounter('mali_hwc_PRIM_CLIPPED','Prim Clipped');this.addTilerCounter('mali_hwc_WRBUF_HIT','Wrbuf Hit');this.addTilerCounter('mali_hwc_WRBUF_MISS','Wrbuf Miss');this.addTilerCounter('mali_hwc_WRBUF_LINE','Wrbuf Line');this.addTilerCounter('mali_hwc_WRBUF_PARTIAL','Wrbuf Partial');this.addTilerCounter('mali_hwc_WRBUF_STALL','Wrbuf Stall');this.addTilerCycles('mali_hwc_ACTIVE','Tiler Active');this.addTilerCycles('mali_hwc_INDEX_WAIT','Index Wait');this.addTilerCycles('mali_hwc_INDEX_RANGE_WAIT','Index Range Wait');this.addTilerCycles('mali_hwc_VERTEX_WAIT','Vertex Wait');this.addTilerCycles('mali_hwc_PCACHE_WAIT','Pcache Wait');this.addTilerCycles('mali_hwc_WRBUF_WAIT','Wrbuf Wait');this.addTilerCycles('mali_hwc_BUS_READ','Bus Read');this.addTilerCycles('mali_hwc_BUS_WRITE','Bus Write');this.addTilerCycles('mali_hwc_TILER_UTLB_STALL','Tiler UTLB Stall');this.addTilerCycles('mali_hwc_TILER_UTLB_HIT','Tiler UTLB Hit');this.addFragCycles('mali_hwc_FRAG_ACTIVE','Active');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES','Primitives');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES_DROPPED','Primitives Dropped');this.addFragCycles('mali_hwc_FRAG_CYCLE_DESC','Descriptor Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_PLR','PLR Processing??');this.addFragCycles('mali_hwc_FRAG_CYCLES_VERT','Vertex Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_TRISETUP','Triangle Setup');this.addFragCycles('mali_hwc_FRAG_CYCLES_RAST','Rasterization???');this.addFragCounter('mali_hwc_FRAG_THREADS','Threads');this.addFragCounter('mali_hwc_FRAG_DUMMY_THREADS','Dummy Threads');this.addFragCounter('mali_hwc_FRAG_QUADS_RAST','Quads Rast');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_TEST','Quads EZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_KILLED','Quads EZS Killed');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_TEST','Quads LZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_KILLED','Quads LZS Killed');this.addFragCycles('mali_hwc_FRAG_CYCLE_NO_TILE','No Tiles');this.addFragCounter('mali_hwc_FRAG_NUM_TILES','Tiles');this.addFragCounter('mali_hwc_FRAG_TRANS_ELIM','Transactions Eliminated');this.addComputeCycles('mali_hwc_COMPUTE_ACTIVE','Active');this.addComputeCounter('mali_hwc_COMPUTE_TASKS','Tasks');this.addComputeCounter('mali_hwc_COMPUTE_THREADS','Threads Started');this.addComputeCycles('mali_hwc_COMPUTE_CYCLES_DESC','Waiting for Descriptors');this.addTripipeCycles('mali_hwc_TRIPIPE_ACTIVE','Active');this.addArithCounter('mali_hwc_ARITH_WORDS','Instructions (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_REG','Reg scheduling stalls (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_L0','L0 cache miss stalls (/Pipes)');this.addArithCounter('mali_hwc_ARITH_FRAG_DEPEND','Frag dep check failures (/Pipes)');this.addLSCounter('mali_hwc_LS_WORDS','Instruction Words Completed');this.addLSCounter('mali_hwc_LS_ISSUES','Full Pipeline Issues');this.addLSCounter('mali_hwc_LS_RESTARTS','Restarts (unpairable insts)');this.addLSCounter('mali_hwc_LS_REISSUES_MISS','Pipeline reissue (cache miss/uTLB)');this.addLSCounter('mali_hwc_LS_REISSUES_VD','Pipeline reissue (varying data)');this.addLSCounter('mali_hwc_LS_REISSUE_ATTRIB_MISS','Pipeline reissue (attribute cache miss)');this.addLSCounter('mali_hwc_LS_REISSUE_NO_WB','Writeback not used');this.addTexCounter('mali_hwc_TEX_WORDS','Words');this.addTexCounter('mali_hwc_TEX_BUBBLES','Bubbles');this.addTexCounter('mali_hwc_TEX_WORDS_L0','Words L0');this.addTexCounter('mali_hwc_TEX_WORDS_DESC','Words Desc');this.addTexCounter('mali_hwc_TEX_THREADS','Threads');this.addTexCounter('mali_hwc_TEX_RECIRC_FMISS','Recirc due to Full Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_DESC','Recirc due to Desc Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_MULTI','Recirc due to Multipass');this.addTexCounter('mali_hwc_TEX_RECIRC_PMISS','Recirc due to Partial Cache Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_CONF','Recirc due to Cache Conflict');this.addLSCCounter('mali_hwc_LSC_READ_HITS','Read Hits');this.addLSCCounter('mali_hwc_LSC_READ_MISSES','Read Misses');this.addLSCCounter('mali_hwc_LSC_WRITE_HITS','Write Hits');this.addLSCCounter('mali_hwc_LSC_WRITE_MISSES','Write Misses');this.addLSCCounter('mali_hwc_LSC_ATOMIC_HITS','Atomic Hits');this.addLSCCounter('mali_hwc_LSC_ATOMIC_MISSES','Atomic Misses');this.addLSCCounter('mali_hwc_LSC_LINE_FETCHES','Line Fetches');this.addLSCCounter('mali_hwc_LSC_DIRTY_LINE','Dirty Lines');this.addLSCCounter('mali_hwc_LSC_SNOOPS','Snoops');this.addAXICounter('mali_hwc_AXI_TLB_STALL','Address channel stall');this.addAXICounter('mali_hwc_AXI_TLB_MISS','Cache Miss');this.addAXICounter('mali_hwc_AXI_TLB_TRANSACTION','Transactions');this.addAXICounter('mali_hwc_LS_TLB_MISS','LS Cache Miss');this.addAXICounter('mali_hwc_LS_TLB_HIT','LS Cache Hit');this.addAXICounter('mali_hwc_AXI_BEATS_READ','Read Beats');this.addAXICounter('mali_hwc_AXI_BEATS_WRITE','Write Beats');this.addMMUCounter('mali_hwc_MMU_TABLE_WALK','Page Table Walks');this.addMMUCounter('mali_hwc_MMU_REPLAY_MISS','Cache Miss from Replay Buffer');this.addMMUCounter('mali_hwc_MMU_REPLAY_FULL','Replay Buffer Full');this.addMMUCounter('mali_hwc_MMU_NEW_MISS','Cache Miss on New Request');this.addMMUCounter('mali_hwc_MMU_HIT','Cache Hit');this.addMMUCycles('mali_hwc_UTLB_STALL','UTLB Stalled');this.addMMUCycles('mali_hwc_UTLB_REPLAY_MISS','UTLB Replay Miss');this.addMMUCycles('mali_hwc_UTLB_REPLAY_FULL','UTLB Replay Full');this.addMMUCycles('mali_hwc_UTLB_NEW_MISS','UTLB New Miss');this.addMMUCycles('mali_hwc_UTLB_HIT','UTLB Hit');this.addL2Counter('mali_hwc_L2_READ_BEATS','Read Beats');this.addL2Counter('mali_hwc_L2_WRITE_BEATS','Write Beats');this.addL2Counter('mali_hwc_L2_ANY_LOOKUP','Any Lookup');this.addL2Counter('mali_hwc_L2_READ_LOOKUP','Read Lookup');this.addL2Counter('mali_hwc_L2_SREAD_LOOKUP','Shareable Read Lookup');this.addL2Counter('mali_hwc_L2_READ_REPLAY','Read Replayed');this.addL2Counter('mali_hwc_L2_READ_SNOOP','Read Snoop');this.addL2Counter('mali_hwc_L2_READ_HIT','Read Cache Hit');this.addL2Counter('mali_hwc_L2_CLEAN_MISS','CleanUnique Miss');this.addL2Counter('mali_hwc_L2_WRITE_LOOKUP','Write Lookup');this.addL2Counter('mali_hwc_L2_SWRITE_LOOKUP','Shareable Write Lookup');this.addL2Counter('mali_hwc_L2_WRITE_REPLAY','Write Replayed');this.addL2Counter('mali_hwc_L2_WRITE_SNOOP','Write Snoop');this.addL2Counter('mali_hwc_L2_WRITE_HIT','Write Cache Hit');this.addL2Counter('mali_hwc_L2_EXT_READ_FULL','ExtRD with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_READ_HALF','ExtRD with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_FULL','ExtWR with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_HALF','ExtWR with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_READ','External Read (ExtRD)');this.addL2Counter('mali_hwc_L2_EXT_READ_LINE','ExtRD (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE','External Write (ExtWR)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_LINE','ExtWR (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_SMALL','ExtWR (burst size <64B)');this.addL2Counter('mali_hwc_L2_EXT_BARRIER','External Barrier');this.addL2Counter('mali_hwc_L2_EXT_AR_STALL','Address Read stalls');this.addL2Counter('mali_hwc_L2_EXT_R_BUF_FULL','Response Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_RD_BUF_FULL','Read Data Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_R_RAW','RAW hazard stalls');this.addL2Counter('mali_hwc_L2_EXT_W_STALL','Write Data stalls');this.addL2Counter('mali_hwc_L2_EXT_W_BUF_FULL','Write Data Buffer full');this.addL2Counter('mali_hwc_L2_EXT_R_W_HAZARD','WAW or WAR hazard stalls');this.addL2Counter('mali_hwc_L2_TAG_HAZARD','Tag hazard replays');this.addL2Cycles('mali_hwc_L2_SNOOP_FULL','Snoop buffer full');this.addL2Cycles('mali_hwc_L2_REPLAY_FULL','Replay buffer full');importer.registerEventHandler('tracing_mark_write:mali_driver',MaliParser.prototype.maliDDKEvent.bind(this));this.model_=importer.model_;}
6100MaliParser.prototype={__proto__:Parser.prototype,maliDDKOpenSlice(pid,tid,ts,func,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);const funcArgs=/^([\w\d_]*)(?:\(\))?:?\s*(.*)$/.exec(func);thread.sliceGroup.beginSlice('gpu-driver',funcArgs[1],ts,{'args':funcArgs[2],blockinfo});},maliDDKCloseSlice(pid,tid,ts,args,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);if(!thread.sliceGroup.openSliceCount){return;}
6101thread.sliceGroup.endSlice(ts);},autoDetectLineRE(line){const lineREWithThread=/^\s*\(([\w\-]*)\)\s*(\w+):\s*([\w\\\/\.\-]*@\d*):?\s*(.*)$/;if(lineREWithThread.test(line)){return lineREWithThread;}
6102const lineRENoThread=/^s*()(\w+):\s*([\w\\\/.\-]*):?\s*(.*)$/;if(lineRENoThread.test(line)){return lineRENoThread;}
6103return null;},lineRE:null,maliDDKEvent(eventName,cpuNumber,pid,ts,eventBase){if(this.lineRE===null){this.lineRE=this.autoDetectLineRE(eventBase.details);if(this.lineRE===null)return false;}
6104const maliEvent=this.lineRE.exec(eventBase.details);const tid=(maliEvent[1]===''?'mali':maliEvent[1]);switch(maliEvent[2]){case'cros_trace_print_enter':this.maliDDKOpenSlice(pid,tid,ts,maliEvent[4],maliEvent[3]);break;case'cros_trace_print_exit':this.maliDDKCloseSlice(pid,tid,ts,[],maliEvent[3]);}
6105return true;},dvfsSample(counterName,seriesName,ts,s){const value=parseInt(s);const counter=this.model_.kernel.getOrCreateCounter('DVFS',counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));}
6106counter.series.forEach(function(series){series.addCounterSample(ts,value);});},dvfsEventEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/utilization=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Utilization','utilization',ts,event[1]);return true;},dvfsSetClockEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Frequency','frequency',ts,event[1]);return true;},dvfsSetVoltageEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/voltage=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Voltage','voltage',ts,event[1]);return true;},hwcSample(cat,counterName,seriesName,ts,eventBase){const event=/val=(\d+)/.exec(eventBase.details);if(!event)return false;const value=parseInt(event[1]);const counter=this.model_.kernel.getOrCreateCounter(cat,counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));}
6107counter.series.forEach(function(series){series.addCounterSample(ts,value);});return true;},jmSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:jm','JM: '+ctrName,seriesName,ts,eventBase);},addJMCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'count',ts,eventBase);}
6108this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addJMCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'cycles',ts,eventBase);}
6109this.importer.registerEventHandler(hwcEventName,handler.bind(this));},tilerSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:tiler','Tiler: '+ctrName,seriesName,ts,eventBase);},addTilerCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'count',ts,eventBase);}
6110this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTilerCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'cycles',ts,eventBase);}
6111this.importer.registerEventHandler(hwcEventName,handler.bind(this));},fragSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:fragment','Fragment: '+ctrName,seriesName,ts,eventBase);},addFragCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'count',ts,eventBase);}
6112this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addFragCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'cycles',ts,eventBase);}
6113this.importer.registerEventHandler(hwcEventName,handler.bind(this));},computeSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:compute','Compute: '+ctrName,seriesName,ts,eventBase);},addComputeCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'count',ts,eventBase);}
6114this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addComputeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'cycles',ts,eventBase);}
6115this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTripipeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:shader','Tripipe: '+hwcTitle,'cycles',ts,eventBase);}
6116this.importer.registerEventHandler(hwcEventName,handler.bind(this));},arithSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:arith','Arith: '+ctrName,seriesName,ts,eventBase);},addArithCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'count',ts,eventBase);}
6117this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addArithCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'cycles',ts,eventBase);}
6118this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:ls','LS: '+hwcTitle,'count',ts,eventBase);}
6119this.importer.registerEventHandler(hwcEventName,handler.bind(this));},textureSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:texture','Texture: '+ctrName,seriesName,ts,eventBase);},addTexCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.textureSample(hwcTitle,'count',ts,eventBase);}
6120this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:lsc','LSC: '+hwcTitle,'count',ts,eventBase);}
6121this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addAXICounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:axi','AXI: '+hwcTitle,'count',ts,eventBase);}
6122this.importer.registerEventHandler(hwcEventName,handler.bind(this));},mmuSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:mmu','MMU: '+ctrName,seriesName,ts,eventBase);},addMMUCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'count',ts,eventBase);}
6123this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addMMUCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'cycles',ts,eventBase);}
6124this.importer.registerEventHandler(hwcEventName,handler.bind(this));},l2Sample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:l2','L2: '+ctrName,seriesName,ts,eventBase);},addL2Counter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'count',ts,eventBase);}
6125this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addL2Cycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'cycles',ts,eventBase);}
6126this.importer.registerEventHandler(hwcEventName,handler.bind(this));}};Parser.register(MaliParser);return{MaliParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function MemReclaimParser(importer){Parser.call(this,importer);importer.registerEventHandler('mm_vmscan_kswapd_wake',MemReclaimParser.prototype.kswapdWake.bind(this));importer.registerEventHandler('mm_vmscan_kswapd_sleep',MemReclaimParser.prototype.kswapdSleep.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_begin',MemReclaimParser.prototype.reclaimBegin.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_end',MemReclaimParser.prototype.reclaimEnd.bind(this));}
6127const kswapdWakeRE=/nid=(\d+) order=(\d+)/;const kswapdSleepRE=/nid=(\d+)/;const reclaimBeginRE=/order=(\d+) may_writepage=\d+ gfp_flags=(.+)/;const reclaimEndRE=/nr_reclaimed=(\d+)/;MemReclaimParser.prototype={__proto__:Parser.prototype,kswapdWake(eventName,cpuNumber,pid,ts,eventBase){const event=kswapdWakeRE.exec(eventBase.details);if(!event)return false;const tgid=parseInt(eventBase.tgid);const nid=parseInt(event[1]);const order=parseInt(event[2]);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){if(order>kthread.order){kthread.order=order;}}else{kthread.openSliceTS=ts;kthread.order=order;}
6128return true;},kswapdSleep(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim',eventBase.threadName,kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order});}
6129kthread.openSliceTS=undefined;kthread.order=undefined;return true;},reclaimBegin(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimBeginRE.exec(eventBase.details);if(!event)return false;const order=parseInt(event[1]);const gfp=event[2];const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);kthread.openSliceTS=ts;kthread.order=order;kthread.gfp=gfp;return true;},reclaimEnd(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimEndRE.exec(eventBase.details);if(!event)return false;const nrReclaimed=parseInt(event[1]);const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS!==undefined){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim','direct reclaim',kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order,gfp:kthread.gfp,nr_reclaimed:nrReclaimed});}
6130kthread.openSliceTS=undefined;kthread.order=undefined;kthread.gfp=undefined;return true;}};Parser.register(MemReclaimParser);return{MemReclaimParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function PowerParser(importer){Parser.call(this,importer);importer.registerEventHandler('power_start',PowerParser.prototype.powerStartEvent.bind(this));importer.registerEventHandler('power_frequency',PowerParser.prototype.powerFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency',PowerParser.prototype.cpuFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency_limits',PowerParser.prototype.cpuFrequencyLimitsEvent.bind(this));importer.registerEventHandler('cpu_idle',PowerParser.prototype.cpuIdleEvent.bind(this));}
6131PowerParser.prototype={__proto__:Parser.prototype,cpuStateSlice(ts,targetCpuNumber,eventType,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);if(eventType!=='1'){this.importer.model.importWarning({type:'parse_error',message:'Don\'t understand power_start events of '+'type '+eventType});return;}
6132const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));}
6133powerCounter.series.forEach(function(series){series.addCounterSample(ts,cpuState);});},cpuIdleSlice(ts,targetCpuNumber,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name)));}
6134const val=(cpuState!==4294967295?cpuState+1:0);powerCounter.series.forEach(function(series){series.addCounterSample(ts,val);});},cpuFrequencySlice(ts,targetCpuNumber,powerState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));}
6135powerCounter.series.forEach(function(series){series.addCounterSample(ts,powerState);});},cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency Limits');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('Min Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Min Frequency')));powerCounter.addSeries(new tr.model.CounterSeries('Max Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Max Frequency')));}
6136powerCounter.series.forEach(function(series){if(series.name==='Min Frequency'){series.addCounterSample(ts,minFreq);}
6137if(series.name==='Max Frequency'){series.addCounterSample(ts,maxFreq);}});},powerStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const cpuState=parseInt(event[2]);this.cpuStateSlice(ts,targetCpuNumber,event[1],cpuState);return true;},powerFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const powerState=parseInt(event[2]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const powerState=parseInt(event[1]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyLimitsEvent(eventName,cpu,pid,ts,eventBase){const event=/min=(\d+) max=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const minFreq=parseInt(event[1]);const maxFreq=parseInt(event[2]);this.cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq);return true;},cpuIdleEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const cpuState=parseInt(event[1]);this.cpuIdleSlice(ts,targetCpuNumber,cpuState);return true;}};Parser.register(PowerParser);return{PowerParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function RegulatorParser(importer){Parser.call(this,importer);importer.registerEventHandler('regulator_enable',RegulatorParser.prototype.regulatorEnableEvent.bind(this));importer.registerEventHandler('regulator_enable_delay',RegulatorParser.prototype.regulatorEnableDelayEvent.bind(this));importer.registerEventHandler('regulator_enable_complete',RegulatorParser.prototype.regulatorEnableCompleteEvent.bind(this));importer.registerEventHandler('regulator_disable',RegulatorParser.prototype.regulatorDisableEvent.bind(this));importer.registerEventHandler('regulator_disable_complete',RegulatorParser.prototype.regulatorDisableCompleteEvent.bind(this));importer.registerEventHandler('regulator_set_voltage',RegulatorParser.prototype.regulatorSetVoltageEvent.bind(this));importer.registerEventHandler('regulator_set_voltage_complete',RegulatorParser.prototype.regulatorSetVoltageCompleteEvent.bind(this));this.model_=importer.model_;}
6138const regulatorEnableRE=/name=(.+)/;const regulatorDisableRE=/name=(.+)/;const regulatorSetVoltageCompleteRE=/name=(\S+), val=(\d+)/;RegulatorParser.prototype={__proto__:Parser.prototype,getCtr_(ctrName,valueName){const ctr=this.model_.kernel.getOrCreateCounter(null,'vreg '+ctrName+' '+valueName);if(ctr.series[0]===undefined){ctr.addSeries(new tr.model.CounterSeries(valueName,ColorScheme.getColorIdForGeneralPurposeString(ctrName+'.'+valueName)));}
6139return ctr;},regulatorEnableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorEnableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,1);return true;},regulatorEnableDelayEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorEnableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorDisableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorDisableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,0);return true;},regulatorDisableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageCompleteEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorSetVoltageCompleteRE.exec(eventBase.details);if(!event)return false;const name=event[1];const voltage=parseInt(event[2]);const ctr=this.getCtr_(name,'voltage');ctr.series[0].addCounterSample(ts,voltage);return true;}};Parser.register(RegulatorParser);return{RegulatorParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function SchedParser(importer){Parser.call(this,importer);importer.registerEventHandler('sched_switch',SchedParser.prototype.schedSwitchEvent.bind(this));importer.registerEventHandler('sched_wakeup',SchedParser.prototype.schedWakeupEvent.bind(this));importer.registerEventHandler('sched_blocked_reason',SchedParser.prototype.schedBlockedEvent.bind(this));importer.registerEventHandler('sched_cpu_hotplug',SchedParser.prototype.schedCpuHotplugEvent.bind(this));}
6140const TestExports={};const schedSwitchRE=new RegExp('prev_comm=(.+) prev_pid=(\\d+) prev_prio=(\\d+) '+'prev_state=(\\S\\+?|\\S\\|\\S) ==> '+'next_comm=(.+) next_pid=(\\d+) next_prio=(\\d+)');const schedBlockedRE=new RegExp('pid=(\\d+) iowait=(\\d) caller=(.+)');TestExports.schedSwitchRE=schedSwitchRE;const schedWakeupRE=/comm=(.+) pid=(\d+) prio=(\d+)(?: success=\d+)? target_cpu=(\d+)/;TestExports.schedWakeupRE=schedWakeupRE;SchedParser.prototype={__proto__:Parser.prototype,schedSwitchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedSwitchRE.exec(eventBase.details);if(!event)return false;const prevState=event[4];const nextComm=event[5];const nextPid=parseInt(event[6]);const nextPrio=parseInt(event[7]);if(eventBase.tgid!==undefined){const tgid=parseInt(eventBase.tgid);const process=this.importer.model_.getOrCreateProcess(tgid);if(!process.getThread(pid)){const thread=process.getOrCreateThread(pid);thread.name=eventBase.threadName;}}
6141const nextThread=this.importer.threadsByLinuxPid[nextPid];let nextName;if(nextThread){nextName=nextThread.userFriendlyName;}else{nextName=nextComm;}
6142const cpu=this.importer.getOrCreateCpu(cpuNumber);cpu.switchActiveThread(ts,{stateWhenDescheduled:prevState},nextPid,nextName,{comm:nextComm,tid:nextPid,prio:nextPrio});return true;},schedWakeupEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedWakeupRE.exec(eventBase.details);if(!event)return false;const fromPid=pid;const comm=event[1];pid=parseInt(event[2]);const prio=parseInt(event[3]);this.importer.markPidRunnable(ts,pid,comm,prio,fromPid);return true;},schedCpuHotplugEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/cpu (\d+) (.+) error=(\d+)/.exec(eventBase.details);if(!event)return false;cpuNumber=event[1];const state=event[2];const targetCpu=this.importer.getOrCreateCpu(cpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Cpu Hotplug');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('State',tr.b.ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'State')));}
6143powerCounter.series.forEach(function(series){if(series.name==='State'){series.addCounterSample(ts,state.localeCompare('offline')?0:1);}});return true;},schedBlockedEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedBlockedRE.exec(eventBase.details);if(!event)return false;pid=parseInt(event[1]);const iowait=parseInt(event[2]);const caller=event[3];this.importer.addPidBlockedReason(ts,pid,iowait,caller);return true;}};Parser.register(SchedParser);return{SchedParser,_SchedParserTestExports:TestExports};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function SyncParser(importer){Parser.call(this,importer);importer.registerEventHandler('sync_timeline',SyncParser.prototype.timelineEvent.bind(this));importer.registerEventHandler('sync_wait',SyncParser.prototype.syncWaitEvent.bind(this));importer.registerEventHandler('sync_pt',SyncParser.prototype.syncPtEvent.bind(this));this.model_=importer.model_;}
6144const syncTimelineRE=/name=(\S+) value=(\S*)/;const syncWaitRE=/(\S+) name=(\S+) state=(\d+)/;const syncPtRE=/name=(\S+) value=(\S*)/;SyncParser.prototype={__proto__:Parser.prototype,timelineEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncTimelineRE.exec(eventBase.details);if(!event)return false;const thread=this.importer.getOrCreatePseudoThread(event[1]);if(thread.lastActiveTs!==undefined){const duration=ts-thread.lastActiveTs;let value=thread.lastActiveValue;if(value===undefined)value=' ';const slice=new tr.model.ThreadSlice('',value,ColorScheme.getColorIdForGeneralPurposeString(value),thread.lastActiveTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);}
6145thread.lastActiveTs=ts;thread.lastActiveValue=event[2];return true;},syncWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncWaitRE.exec(eventBase.details);if(!event)return false;if(eventBase.tgid===undefined){return false;}
6146const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6147const name='fence_wait("'+event[2]+'")';if(event[1]==='begin'){const slice=slices.beginSlice(null,name,ts,{'Start state':event[3]});}else if(event[1]==='end'){if(slices.openSliceCount>0){slices.endSlice(ts);}}else{return false;}
6148return true;},syncPtEvent(eventName,cpuNumber,pid,ts,eventBase){return!!syncPtRE.exec(eventBase.details);}};Parser.register(SyncParser);return{SyncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function WorkqueueParser(importer){Parser.call(this,importer);importer.registerEventHandler('workqueue_execute_start',WorkqueueParser.prototype.executeStartEvent.bind(this));importer.registerEventHandler('workqueue_execute_end',WorkqueueParser.prototype.executeEndEvent.bind(this));importer.registerEventHandler('workqueue_queue_work',WorkqueueParser.prototype.executeQueueWork.bind(this));importer.registerEventHandler('workqueue_activate_work',WorkqueueParser.prototype.executeActivateWork.bind(this));}
6149const workqueueExecuteStartRE=/work struct (.+): function (\S+)/;const workqueueExecuteEndRE=/work struct (.+)/;WorkqueueParser.prototype={__proto__:Parser.prototype,executeStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteStartRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);kthread.openSliceTS=ts;kthread.openSlice=event[2];return true;},executeEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteEndRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,{},ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);}
6150kthread.openSlice=undefined;return true;},executeQueueWork(eventName,cpuNumber,pid,ts,eventBase){return true;},executeActivateWork(eventName,cpuNumber,pid,ts,eventBase){return true;}};Parser.register(WorkqueueParser);return{WorkqueueParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID='linux_clock_monotonic_to_ftrace_global';function FTraceImporter(model,events){this.importPriority=2;this.model_=model;this.events_=events;this.wakeups_=[];this.blockedReasons_=[];this.kernelThreadStates_={};this.buildMapFromLinuxPidsToThreads_();this.lines_=[];this.pseudoThreadCounter=1;this.parsers_=[];this.eventHandlers_={};this.haveClockSyncedMonotonicToGlobal_=false;this.clockDomainId_=tr.model.ClockDomainId.LINUX_FTRACE_GLOBAL;}
6151const TestExports={};const lineREWithTGID=new RegExp('^\\s*(.+)-(\\d+)\\s+\\(\\s*(\\d+|-+)\\)\\s\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithTGID=function(line){const groups=lineREWithTGID.exec(line);if(!groups)return groups;let tgid=groups[3];if(tgid[0]==='-')tgid=undefined;return{threadName:groups[1],pid:groups[2],tgid,cpuNumber:groups[4],timestamp:groups[5],eventName:groups[6],details:groups[7]};};TestExports.lineParserWithTGID=lineParserWithTGID;const lineREWithIRQInfo=new RegExp('^\\s*(.+)-(\\d+)\\s+\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithIRQInfo=function(line){const groups=lineREWithIRQInfo.exec(line);if(!groups)return groups;return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithIRQInfo=lineParserWithIRQInfo;const lineREWithLegacyFmt=/^\s*(.+)-(\d+)\s+\[(\d+)\]\s*(\d+\.\d+):\s+(\S+):\s(.*)$/;const lineParserWithLegacyFmt=function(line){const groups=lineREWithLegacyFmt.exec(line);if(!groups){return groups;}
6152return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithLegacyFmt=lineParserWithLegacyFmt;const traceEventClockSyncRE=/trace_event_clock_sync: parent_ts=(\d+\.?\d*)/;TestExports.traceEventClockSyncRE=traceEventClockSyncRE;const realTimeClockSyncRE=/trace_event_clock_sync: realtime_ts=(\d+)/;const genericClockSyncRE=/trace_event_clock_sync: name=([\w\-]+)/;const pseudoKernelPID=0;function autoDetectLineParser(line){if(line[0]==='{')return false;if(lineREWithTGID.test(line))return lineParserWithTGID;if(lineREWithIRQInfo.test(line))return lineParserWithIRQInfo;if(lineREWithLegacyFmt.test(line))return lineParserWithLegacyFmt;return undefined;}
6153TestExports.autoDetectLineParser=autoDetectLineParser;FTraceImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)events=events.header;if(!(typeof(events)==='string'||events instanceof String)){return false;}
6154if(FTraceImporter._extractEventsFromSystraceHTML(events,false).ok){return true;}
6155if(FTraceImporter._extractEventsFromSystraceMultiHTML(events,false).ok){return true;}
6156if(/^# tracer:/.test(events))return true;const lineBreakIndex=events.indexOf('\n');if(lineBreakIndex>-1)events=events.substring(0,lineBreakIndex);if(autoDetectLineParser(events))return true;return false;};FTraceImporter._extractEventsFromSystraceHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!/^<!DOCTYPE html>/.test(header))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);if(!r.advanceToLineMatching(/^  <script>$/))return failure;if(!r.advanceToLineMatching(/^  var linuxPerfData = "\\$/))return failure;const eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^  <\/script>$/))return failure;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;function endsWith(str,suffix){return str.indexOf(suffix,str.length-suffix.length)!==-1;}
6157function stripSuffix(str,suffix){if(!endsWith(str,suffix))return str;return str.substring(str,str.length-suffix.length);}
6158let events=[];if(produceResult){for(let i=0;i<rawEvents.length;i++){let event=rawEvents[i];event=stripSuffix(event,'\\n\\');events.push(event);}}else{events=[rawEvents[rawEvents.length-1]];}
6159const oldLastEvent=events[events.length-1];const newLastEvent=stripSuffix(oldLastEvent,'\\n";');if(newLastEvent===oldLastEvent)return failure;events[events.length-1]=newLastEvent;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine};};FTraceImporter._extractEventsFromSystraceMultiHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!(new RegExp('^<!DOCTYPE HTML>','i').test(header)))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);let events=[];let eventsBeginAtLine;while(!/^# tracer:/.test(events)){if(!r.advanceToLineMatching(/^  <script class="trace-data" type="application\/text">$/)){return failure;}
6160eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^  <\/script>$/))return failure;events=r.endSavingLinesAndGetResult();events=events.slice(1,events.length-1);}
6161if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine,};};FTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'FTraceImporter';},get model(){return this.model_;},importClockSyncMarkers(){this.lazyInit_();this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;if(eventName!=='tracing_mark_write'&&eventName!=='0')return;if(traceEventClockSyncRE.exec(eventBase.details)||genericClockSyncRE.exec(eventBase.details)){this.traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase);}else if(realTimeClockSyncRE.exec(eventBase.details)){const match=realTimeClockSyncRE.exec(eventBase.details);this.model_.realtime_to_monotonic_offset_ms=ts-match[1];}}.bind(this));},importEvents(){const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);this.importCpuData_(modelTimeTransformer);this.buildMapFromLinuxPidsToThreads_();this.buildPerThreadCpuSlicesFromCpuState_();},registerEventHandler(eventName,handler){this.eventHandlers_[eventName]=handler;},getOrCreateCpu(cpuNumber){return this.model_.kernel.getOrCreateCpu(cpuNumber);},getOrCreateKernelThread(kernelThreadName,pid,tid){if(!this.kernelThreadStates_[kernelThreadName]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[kernelThreadName]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;}
6162return this.kernelThreadStates_[kernelThreadName];},getOrCreateBinderKernelThread(kernelThreadName,pid,tid){const key=kernelThreadName+pid+tid;if(!this.kernelThreadStates_[key]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[key]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;}
6163return this.kernelThreadStates_[key];},getOrCreatePseudoThread(threadName){let thread=this.kernelThreadStates_[threadName];if(!thread){thread=this.getOrCreateKernelThread(threadName,pseudoKernelPID,this.pseudoThreadCounter);this.pseudoThreadCounter++;}
6164return thread;},markPidRunnable(ts,pid,comm,prio,fromPid){this.wakeups_.push({ts,tid:pid,fromTid:fromPid});},addPidBlockedReason(ts,pid,iowait,caller){this.blockedReasons_.push({ts,tid:pid,iowait,caller});},buildMapFromLinuxPidsToThreads_(){this.threadsByLinuxPid={};this.model_.getAllThreads().forEach(function(thread){this.threadsByLinuxPid[thread.tid]=thread;}.bind(this));},buildPerThreadCpuSlicesFromCpuState_(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;for(const cpuNumber in this.model_.kernel.cpus){const cpu=this.model_.kernel.cpus[cpuNumber];for(let i=0;i<cpu.slices.length;i++){const cpuSlice=cpu.slices[i];const thread=this.threadsByLinuxPid[cpuSlice.args.tid];if(!thread)continue;cpuSlice.threadThatWasRunning=thread;if(!thread.tempCpuSlices){thread.tempCpuSlices=[];}
6165thread.tempCpuSlices.push(cpuSlice);}}
6166for(const i in this.wakeups_){const wakeup=this.wakeups_[i];const thread=this.threadsByLinuxPid[wakeup.tid];if(!thread)continue;thread.tempWakeups=thread.tempWakeups||[];thread.tempWakeups.push(wakeup);}
6167for(const i in this.blockedReasons_){const reason=this.blockedReasons_[i];const thread=this.threadsByLinuxPid[reason.tid];if(!thread)continue;thread.tempBlockedReasons=thread.tempBlockedReasons||[];thread.tempBlockedReasons.push(reason);}
6168this.model_.getAllThreads().forEach(function(thread){if(thread.tempCpuSlices===undefined)return;const origSlices=thread.tempCpuSlices;delete thread.tempCpuSlices;origSlices.sort(function(x,y){return x.start-y.start;});const wakeups=thread.tempWakeups||[];delete thread.tempWakeups;wakeups.sort(function(x,y){return x.ts-y.ts;});const reasons=thread.tempBlockedReasons||[];delete thread.tempBlockedReasons;reasons.sort(function(x,y){return x.ts-y.ts;});const slices=[];if(origSlices.length){const slice=origSlices[0];if(wakeups.length&&wakeups[0].ts<slice.start){const wakeup=wakeups.shift();const wakeupDuration=slice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));}
6169const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',slice.start,{},slice.duration);runningSlice.cpuOnWhichThreadWasRunning=slice.cpu;slices.push(runningSlice);}
6170let wakeup=undefined;for(let i=1;i<origSlices.length;i++){const prevSlice=origSlices[i-1];const nextSlice=origSlices[i];let midDuration=nextSlice.start-prevSlice.end;while(wakeups.length&&wakeups[0].ts<nextSlice.start){const w=wakeups.shift();if(wakeup===undefined&&w.ts>prevSlice.end){wakeup=w;}}
6171let blockedReason=undefined;while(reasons.length&&reasons[0].ts<prevSlice.end){const r=reasons.shift();}
6172if(wakeup!==undefined&&reasons.length&&reasons[0].ts<wakeup.ts){blockedReason=reasons.shift();}
6173const pushSleep=function(state){if(wakeup!==undefined){midDuration=wakeup.ts-prevSlice.end;}
6174if(blockedReason!==undefined){const args={'kernel callsite when blocked:':blockedReason.caller};if(blockedReason.iowait){switch(state){case SCHEDULING_STATE.UNINTR_SLEEP:state=SCHEDULING_STATE.UNINTR_SLEEP_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;default:}}
6175slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,args,midDuration));}else{slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,{},midDuration));}
6176if(wakeup!==undefined){const wakeupDuration=nextSlice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));wakeup=undefined;}};if(prevSlice.args.stateWhenDescheduled==='S'){pushSleep(SCHEDULING_STATE.SLEEPING);}else if(prevSlice.args.stateWhenDescheduled==='R'||prevSlice.args.stateWhenDescheduled==='R+'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP);}else if(prevSlice.args.stateWhenDescheduled==='T'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.STOPPED,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='t'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.DEBUG,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='Z'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.ZOMBIE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='X'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.EXIT_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='x'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.TASK_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='K'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKE_KILL,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='W'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKING,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D|K'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL);}else if(prevSlice.args.stateWhenDescheduled==='D|W'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKING);}else{slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.UNKNOWN,'',prevSlice.end,{},midDuration));this.model_.importWarning({type:'parse_error',message:'Unrecognized sleep state: '+
6177prevSlice.args.stateWhenDescheduled});}
6178const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',nextSlice.start,{},nextSlice.duration);runningSlice.cpuOnWhichThreadWasRunning=prevSlice.cpu;slices.push(runningSlice);}
6179thread.timeSlices=slices;},this);},createParsers_(){const allTypeInfos=tr.e.importer.linux_perf.Parser.getAllRegisteredTypeInfos();const parsers=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);return parsers;},registerDefaultHandlers_(){this.registerEventHandler('tracing_mark_write',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('0',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('tracing_mark_write:trace_event_clock_sync',function(){return true;});this.registerEventHandler('0:trace_event_clock_sync',function(){return true;});},traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase){let event=/name=(\w+?)\s(.+)/.exec(eventBase.details);if(event){const name=event[1];const pieces=event[2].split(' ');const args={perfTs:ts};for(let i=0;i<pieces.length;i++){const parts=pieces[i].split('=');if(parts.length!==2){throw new Error('omgbbq');}
6180args[parts[0]]=parts[1];}
6181this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,name,ts);return true;}
6182event=/name=([\w\-]+)/.exec(eventBase.details);if(event){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,event[1],ts);return true;}
6183event=/parent_ts=(\d+\.?\d*)/.exec(eventBase.details);if(!event)return false;let monotonicTs=event[1]*1000;if(monotonicTs===0)monotonicTs=ts;if(this.haveClockSyncedMonotonicToGlobal_){return true;}
6184this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,ts);this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.LINUX_CLOCK_MONOTONIC,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,monotonicTs);this.haveClockSyncedMonotonicToGlobal_=true;return true;},traceMarkingWriteEvent_(eventName,cpuNumber,pid,ts,eventBase,threadName){eventBase.details=eventBase.details.replace(/\\n.*$/,'');const event=/^\s*(\w+):\s*(.*)$/.exec(eventBase.details);if(!event){const tag=eventBase.details.substring(0,2);if(tag==='B|'||tag==='E'||tag==='E|'||tag==='X|'||tag==='C|'||tag==='S|'||tag==='F|'){eventBase.subEventName='android';}else{return false;}}else{eventBase.subEventName=event[1];eventBase.details=event[2];}
6185const writeEventName=eventName+':'+eventBase.subEventName;const handler=this.eventHandlers_[writeEventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown trace_marking_write event '+writeEventName});return true;}
6186return handler(writeEventName,cpuNumber,pid,ts,eventBase,threadName);},importCpuData_(modelTimeTransformer){this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;const handler=this.eventHandlers_[eventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown event '+eventName+' ('+text+')'});return;}
6187ts=modelTimeTransformer(ts);if(!handler(eventName,cpuNumber,pid,ts,eventBase)){this.model_.importWarning({type:'parse_error',message:'Malformed '+eventName+' event ('+text+')'});}}.bind(this));},parseLines_(){let extractResult=FTraceImporter._extractEventsFromSystraceHTML(this.events_,true);if(!extractResult.ok){extractResult=FTraceImporter._extractEventsFromSystraceMultiHTML(this.events_,true);}
6188let lineParser=undefined;if(extractResult.ok){for(const line of extractResult.lines){lineParser=this.parseLine_(line,lineParser);}}else{const r=new tr.importer.SimpleLineReader(this.events_);for(const line of r){lineParser=this.parseLine_(line,lineParser);}}},parseLine_(line,lineParser){line=line.trim();if(line.length===0)return lineParser;if(/^#/.test(line)){const clockType=/^# clock_type=([A-Z_]+)$/.exec(line);if(clockType){this.clockDomainId_=clockType[1];}
6189return lineParser;}
6190if(!lineParser){lineParser=autoDetectLineParser(line);if(!lineParser){this.model_.importWarning({type:'parse_error',message:'Cannot parse line: '+line});return lineParser;}}
6191const eventBase=lineParser(line);if(!eventBase){this.model_.importWarning({type:'parse_error',message:'Unrecognized line: '+line});return lineParser;}
6192this.lines_.push([line,eventBase,parseInt(eventBase.cpuNumber),parseInt(eventBase.pid),parseFloat(eventBase.timestamp)*1000]);return lineParser;},forEachLine_(handler){for(let i=0;i<this.lines_.length;++i){const line=this.lines_[i];handler.apply(this,line);}},lazyInit_(){this.parsers_=this.createParsers_();this.registerDefaultHandlers_();this.parseLines_();}};tr.importer.Importer.register(FTraceImporter);return{FTraceImporter,_FTraceImporterTestExports:TestExports};});'use strict';function filterDuplicateTimestamps(timestamps){const dedupedTimestamps=[];let lastTs=0;for(const ts of timestamps){if(ts-lastTs>=1){dedupedTimestamps.push(ts);lastTs=ts;}}
6193return dedupedTimestamps;}
6194tr.exportTo('tr.e.audits',function(){const VSYNC_COUNTER_PRECISIONS={'android.VSYNC-app':15,'android.VSYNC':15};const VSYNC_SLICE_PRECISIONS={'RenderWidgetHostViewAndroid::OnVSync':5,'VSYNC':10,'vblank':10,'DisplayLinkMac::GetVSyncParameters':5};const BEGIN_FRAME_SLICE_PRECISION={'DisplayScheduler::BeginFrame':10};function VSyncAuditor(model){tr.c.Auditor.call(this,model);}
6195VSyncAuditor.prototype={__proto__:tr.c.Auditor.prototype,runAnnotate(){this.model.device.vSyncTimestamps=this.findVSyncTimestamps(this.model);},findVSyncTimestamps(model){let times=[];let maxPrecision=Number.NEGATIVE_INFINITY;let maxTitle=undefined;function useInstead(title,precisions){const precision=precisions[title];if(precision===undefined)return false;if(title===maxTitle)return true;if(precision<=maxPrecision){if(precision===maxPrecision){model.importWarning({type:'VSyncAuditor',message:'Encountered two different VSync events ('+
6196maxTitle+', '+title+') with the same precision, '+'ignoring the newer one ('+title+')',showToUser:false,});}
6197return false;}
6198maxPrecision=precision;maxTitle=title;times=[];return true;}
6199for(const pid in model.processes){const process=model.processes[pid];for(const cid in process.counters){if(useInstead(cid,VSYNC_COUNTER_PRECISIONS)){const counter=process.counters[cid];for(let i=0;i<counter.series.length;i++){const series=counter.series[i];Array.prototype.push.apply(times,series.timestamps);}}}
6200for(const tid in process.threads){const thread=process.threads[tid];for(let i=0;i<thread.sliceGroup.slices.length;i++){const slice=thread.sliceGroup.slices[i];if(useInstead(slice.title,VSYNC_SLICE_PRECISIONS)){times.push(slice.start);}else if(useInstead(slice.title,BEGIN_FRAME_SLICE_PRECISION)&&slice.args.args&&slice.args.args.frame_time_us){times.push(slice.args.args.frame_time_us/1000.0);}}}}
6201times.sort(function(x,y){return x-y;});return filterDuplicateTimestamps(times);}};tr.c.Auditor.register(VSyncAuditor);return{VSyncAuditor,};});'use strict';tr.exportTo('tr.importer',function(){function EmptyImporter(events){this.importPriority=0;}
6202EmptyImporter.canImport=function(eventData){if(eventData instanceof Array&&eventData.length===0){return true;}
6203if(typeof(eventData)==='string'||eventData instanceof String){return eventData.length===0;}
6204return false;};EmptyImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EmptyImporter';}};tr.importer.Importer.register(EmptyImporter);return{EmptyImporter,};});'use strict';tr.exportTo('tr.model.um',function(){function AnimationExpectation(parentModel,initiatorTitle,start,duration){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.frameEvents_=undefined;}
6205AnimationExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:AnimationExpectation,get frameEvents(){if(this.frameEvents_){return this.frameEvents_;}
6206this.frameEvents_=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){this.frameEvents_.push(event);}},this);return this.frameEvents_;}};tr.model.um.UserExpectation.subTypes.register(AnimationExpectation,{stageTitle:'Animation',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_animation')});return{AnimationExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function ProtoExpectation(type,initiatorType){this.type=type;this.initiatorType=initiatorType;this.start=Infinity;this.end=-Infinity;this.associatedEvents=new tr.model.EventSet();this.isAnimationBegin=false;}
6207ProtoExpectation.RESPONSE_TYPE='r';ProtoExpectation.ANIMATION_TYPE='a';ProtoExpectation.IGNORED_TYPE='ignored';const INITIATOR_HIERARCHY=[tr.model.um.INITIATOR_TYPE.PINCH,tr.model.um.INITIATOR_TYPE.FLING,tr.model.um.INITIATOR_TYPE.MOUSE_WHEEL,tr.model.um.INITIATOR_TYPE.SCROLL,tr.model.um.INITIATOR_TYPE.VIDEO,tr.model.um.INITIATOR_TYPE.WEBGL,tr.model.um.INITIATOR_TYPE.CSS,tr.model.um.INITIATOR_TYPE.MOUSE,tr.model.um.INITIATOR_TYPE.KEYBOARD,tr.model.um.INITIATOR_TYPE.TAP,tr.model.um.INITIATOR_TYPE.TOUCH];function combineInitiatorTypes(title1,title2){for(const item of INITIATOR_HIERARCHY){if(title1===item||title2===item)return item;}
6208throw new Error('Invalid titles in combineInitiatorTypes');}
6209ProtoExpectation.prototype={get isValid(){return this.end>this.start;},containsTypeNames(typeNames){return this.associatedEvents.some(x=>typeNames.indexOf(x.typeName)>=0);},containsSliceTitle(title){return this.associatedEvents.some(x=>title===x.title);},createInteractionRecord(model){if(this.type!==ProtoExpectation.IGNORED_TYPE&&!this.isValid){model.importWarning({type:'ProtoExpectation',message:'Please file a bug with this trace. '+this.debug(),showToUser:true});return undefined;}
6210const duration=this.end-this.start;let ir=undefined;switch(this.type){case ProtoExpectation.RESPONSE_TYPE:ir=new tr.model.um.ResponseExpectation(model,this.initiatorType,this.start,duration,this.isAnimationBegin);break;case ProtoExpectation.ANIMATION_TYPE:ir=new tr.model.um.AnimationExpectation(model,this.initiatorType,this.start,duration);break;}
6211if(!ir)return undefined;ir.sourceEvents.addEventSet(this.associatedEvents);function pushAssociatedEvents(event){ir.associatedEvents.push(event);if(event.associatedEvents){ir.associatedEvents.addEventSet(event.associatedEvents);}}
6212this.associatedEvents.forEach(function(event){pushAssociatedEvents(event);if(event.subSlices){event.subSlices.forEach(pushAssociatedEvents);}});return ir;},merge(other){this.initiatorType=combineInitiatorTypes(this.initiatorType,other.initiatorType);this.associatedEvents.addEventSet(other.associatedEvents);this.start=Math.min(this.start,other.start);this.end=Math.max(this.end,other.end);if(other.isAnimationBegin){this.isAnimationBegin=true;}},pushEvent(event){this.start=Math.min(this.start,event.start);this.end=Math.max(this.end,event.end);this.associatedEvents.push(event);},containsTimestampInclusive(timestamp){return(this.start<=timestamp)&&(timestamp<=this.end);},intersects(other){return(other.start<this.end)&&(other.end>this.start);},isNear(event,threshold){return(this.end+threshold)>event.start;},debug(){let debugString=this.type+'(';debugString+=parseInt(this.start)+' ';debugString+=parseInt(this.end);this.associatedEvents.forEach(function(event){debugString+=' '+event.typeName;});return debugString+')';}};return{ProtoExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const ProtoExpectation=tr.importer.ProtoExpectation;const INITIATOR_TYPE=tr.model.um.INITIATOR_TYPE;const INPUT_TYPE=tr.e.cc.INPUT_EVENT_TYPE_NAMES;const KEYBOARD_TYPE_NAMES=[INPUT_TYPE.CHAR,INPUT_TYPE.KEY_DOWN_RAW,INPUT_TYPE.KEY_DOWN,INPUT_TYPE.KEY_UP];const MOUSE_RESPONSE_TYPE_NAMES=[INPUT_TYPE.CLICK,INPUT_TYPE.CONTEXT_MENU];const MOUSE_WHEEL_TYPE_NAMES=[INPUT_TYPE.MOUSE_WHEEL];const MOUSE_DRAG_TYPE_NAMES=[INPUT_TYPE.MOUSE_DOWN,INPUT_TYPE.MOUSE_MOVE,INPUT_TYPE.MOUSE_UP];const TAP_TYPE_NAMES=[INPUT_TYPE.TAP,INPUT_TYPE.TAP_CANCEL,INPUT_TYPE.TAP_DOWN];const PINCH_TYPE_NAMES=[INPUT_TYPE.PINCH_BEGIN,INPUT_TYPE.PINCH_END,INPUT_TYPE.PINCH_UPDATE];const FLING_TYPE_NAMES=[INPUT_TYPE.FLING_CANCEL,INPUT_TYPE.FLING_START];const TOUCH_TYPE_NAMES=[INPUT_TYPE.TOUCH_END,INPUT_TYPE.TOUCH_MOVE,INPUT_TYPE.TOUCH_START];const SCROLL_TYPE_NAMES=[INPUT_TYPE.SCROLL_BEGIN,INPUT_TYPE.SCROLL_END,INPUT_TYPE.SCROLL_UPDATE];const ALL_HANDLED_TYPE_NAMES=[].concat(KEYBOARD_TYPE_NAMES,MOUSE_RESPONSE_TYPE_NAMES,MOUSE_WHEEL_TYPE_NAMES,MOUSE_DRAG_TYPE_NAMES,PINCH_TYPE_NAMES,TAP_TYPE_NAMES,FLING_TYPE_NAMES,TOUCH_TYPE_NAMES,SCROLL_TYPE_NAMES);const RENDERER_FLING_TITLE='InputHandlerProxy::HandleGestureFling::started';const PLAYBACK_EVENT_TITLE='VideoPlayback';const CSS_ANIMATION_TITLE='Animation';const INPUT_MERGE_THRESHOLD_MS=200;const ANIMATION_MERGE_THRESHOLD_MS=32;const MOUSE_WHEEL_THRESHOLD_MS=40;const MOUSE_MOVE_THRESHOLD_MS=40;function compareEvents(x,y){if(x.start!==y.start){return x.start-y.start;}
6213if(x.end!==y.end){return x.end-y.end;}
6214if(x.guid&&y.guid){return x.guid-y.guid;}
6215return 0;}
6216function forEventTypesIn(events,typeNames,cb,opt_this){events.forEach(function(event){if(typeNames.indexOf(event.typeName)>=0){cb.call(opt_this,event);}});}
6217function causedFrame(event){return event.associatedEvents.some(x=>x.title===tr.model.helpers.IMPL_RENDERING_STATS);}
6218function getSortedFrameEventsByProcess(modelHelper){const frameEventsByPid={};for(const[pid,rendererHelper]of
6219Object.entries(modelHelper.rendererHelpers)){frameEventsByPid[pid]=rendererHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds);}
6220return frameEventsByPid;}
6221function getSortedInputEvents(modelHelper){const inputEvents=[];const browserProcess=modelHelper.browserHelper.process;const mainThread=browserProcess.findAtMostOneThreadNamed('CrBrowserMain');for(const slice of mainThread.asyncSliceGroup.getDescendantEvents()){if(!slice.isTopLevel)continue;if(!(slice instanceof tr.e.cc.InputLatencyAsyncSlice))continue;if(isNaN(slice.start)||isNaN(slice.duration)||isNaN(slice.end)){continue;}
6222inputEvents.push(slice);}
6223return inputEvents.sort(compareEvents);}
6224function findProtoExpectations(modelHelper,sortedInputEvents){const protoExpectations=[];const handlers=[handleKeyboardEvents,handleMouseResponseEvents,handleMouseWheelEvents,handleMouseDragEvents,handleTapResponseEvents,handlePinchEvents,handleFlingEvents,handleTouchEvents,handleScrollEvents,handleCSSAnimations,handleWebGLAnimations,handleVideoAnimations];handlers.forEach(function(handler){protoExpectations.push.apply(protoExpectations,handler(modelHelper,sortedInputEvents));});protoExpectations.sort(compareEvents);return protoExpectations;}
6225function handleKeyboardEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,KEYBOARD_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.KEYBOARD);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;}
6226function handleMouseResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,MOUSE_RESPONSE_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;}
6227function handleMouseWheelEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let prevEvent_=undefined;forEventTypesIn(sortedInputEvents,MOUSE_WHEEL_TYPE_NAMES,function(event){const prevEvent=prevEvent_;prevEvent_=event;if(currentPE&&(prevEvent.start+MOUSE_WHEEL_THRESHOLD_MS)>=event.start){if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6228return;}
6229currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);});return protoExpectations;}
6230function handleMouseDragEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let mouseDownEvent=undefined;forEventTypesIn(sortedInputEvents,MOUSE_DRAG_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.MOUSE_DOWN:if(causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);}else{mouseDownEvent=event;}
6231break;case INPUT_TYPE.MOUSE_MOVE:if(!causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}else if(!currentPE||!currentPE.isNear(event,MOUSE_MOVE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);mouseDownEvent=undefined;}
6232protoExpectations.push(currentPE);}else{if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}
6233break;case INPUT_TYPE.MOUSE_UP:if(!mouseDownEvent){const pe=new ProtoExpectation(causedFrame(event)?ProtoExpectation.RESPONSE_TYPE:ProtoExpectation.IGNORED_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6234if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);}
6235currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6236mouseDownEvent=undefined;currentPE=undefined;break;}});if(mouseDownEvent){currentPE=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);currentPE.pushEvent(mouseDownEvent);protoExpectations.push(currentPE);}
6237return protoExpectations;}
6238function handleTapResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;forEventTypesIn(sortedInputEvents,TAP_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TAP_DOWN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;case INPUT_TYPE.TAP:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6239currentPE=undefined;break;case INPUT_TYPE.TAP_CANCEL:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6240if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6241currentPE=undefined;break;}});return protoExpectations;}
6242function handlePinchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;const modelBounds=modelHelper.model.bounds;forEventTypesIn(sortedInputEvents,PINCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.PINCH_BEGIN:if(currentPE&&currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);break;}
6243currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.PINCH_UPDATE:if(!currentPE||((currentPE.type===ProtoExpectation.RESPONSE_TYPE)&&sawFirstUpdate)||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstUpdate=true;}
6244break;case INPUT_TYPE.PINCH_END:if(currentPE){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
6245currentPE=undefined;break;}});return protoExpectations;}
6246function handleFlingEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;function isRendererFling(event){return event.title===RENDERER_FLING_TITLE;}
6247const browserHelper=modelHelper.browserHelper;const flingEvents=browserHelper.getAllAsyncSlicesMatching(isRendererFling);forEventTypesIn(sortedInputEvents,FLING_TYPE_NAMES,function(event){flingEvents.push(event);});flingEvents.sort(compareEvents);flingEvents.forEach(function(event){if(event.title===RENDERER_FLING_TITLE){if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6248return;}
6249switch(event.typeName){case INPUT_TYPE.FLING_START:if(currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: FlingStart',showToUser:true});currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);currentPE.end=0;protoExpectations.push(currentPE);}
6250break;case INPUT_TYPE.FLING_CANCEL:if(currentPE){currentPE.pushEvent(event);currentPE.end=event.start;currentPE=undefined;}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
6251break;}});if(currentPE&&!currentPE.end){currentPE.end=modelHelper.model.bounds.max;}
6252return protoExpectations;}
6253function handleTouchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstMove=false;forEventTypesIn(sortedInputEvents,TOUCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TOUCH_START:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstMove=false;}
6254break;case INPUT_TYPE.TOUCH_MOVE:if(!currentPE){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;}
6255if((sawFirstMove&&(currentPE.type===ProtoExpectation.RESPONSE_TYPE))||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){const prevEnd=currentPE.end;currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.start=prevEnd;protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstMove=true;}
6256break;case INPUT_TYPE.TOUCH_END:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6257if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
6258currentPE=undefined;break;}});return protoExpectations;}
6259function handleScrollEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;forEventTypesIn(sortedInputEvents,SCROLL_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.SCROLL_BEGIN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.SCROLL_UPDATE:if(currentPE){if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)&&((currentPE.type===ProtoExpectation.ANIMATION_TYPE)||!sawFirstUpdate)){currentPE.pushEvent(event);sawFirstUpdate=true;}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6260break;case INPUT_TYPE.SCROLL_END:if(!currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: ScrollEnd',showToUser:true});const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6261currentPE.pushEvent(event);break;}});return protoExpectations;}
6262function handleVideoAnimations(modelHelper,sortedInputEvents){const events=[];for(const pid in modelHelper.rendererHelpers){for(const tid in modelHelper.rendererHelpers[pid].process.threads){for(const asyncSlice of
6263modelHelper.rendererHelpers[pid].process.threads[tid].asyncSliceGroup.slices){if(asyncSlice.title===PLAYBACK_EVENT_TITLE){events.push(asyncSlice);}}}}
6264events.sort(tr.importer.compareEvents);const protoExpectations=[];for(const event of events){const currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.VIDEO);currentPE.start=event.start;currentPE.end=event.end;currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6265return protoExpectations;}
6266function handleCSSAnimations(modelHelper,sortedInputEvents){const animationEvents=modelHelper.browserHelper.getAllAsyncSlicesMatching(function(event){return((event.title===CSS_ANIMATION_TITLE)&&event.isTopLevel&&(event.duration>0));});const animationRanges=[];function pushAnimationRange(start,end,animation){const range=tr.b.math.Range.fromExplicitRange(start,end);range.animation=animation;animationRanges.push(range);}
6267animationEvents.forEach(function(animation){if(animation.subSlices.length===0){pushAnimationRange(animation.start,animation.end,animation);}else{let start=undefined;animation.subSlices.forEach(function(sub){if((sub.args.data.state==='running')&&(start===undefined)){start=sub.start;}else if((sub.args.data.state==='paused')||(sub.args.data.state==='idle')||(sub.args.data.state==='finished')){if(start===undefined){start=modelHelper.model.bounds.min;}
6268pushAnimationRange(start,sub.start,animation);start=undefined;}});if(start!==undefined){pushAnimationRange(start,animation.end,animation);}}});return animationRanges.map(function(range){const protoExpectation=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.CSS);protoExpectation.start=range.min;protoExpectation.end=range.max;protoExpectation.associatedEvents.push(range.animation);return protoExpectation;});}
6269function findWebGLEvents(modelHelper,mailboxEvents,animationEvents){for(const event of modelHelper.model.getDescendantEvents()){if(event.title==='DrawingBuffer::prepareMailbox'){mailboxEvents.push(event);}else if(event.title==='PageAnimator::serviceScriptedAnimations'){animationEvents.push(event);}}}
6270function findMailboxEventsNearAnimationEvents(mailboxEvents,animationEvents){if(animationEvents.length===0)return[];mailboxEvents.sort(compareEvents);animationEvents.sort(compareEvents);const animationIterator=animationEvents[Symbol.iterator]();let animationEvent=animationIterator.next().value;const filteredEvents=[];for(const event of mailboxEvents){while(animationEvent&&(animationEvent.start<(event.start-ANIMATION_MERGE_THRESHOLD_MS))){animationEvent=animationIterator.next().value;}
6271if(!animationEvent)break;if(animationEvent.start<(event.start+ANIMATION_MERGE_THRESHOLD_MS)){filteredEvents.push(event);}}
6272return filteredEvents;}
6273function createProtoExpectationsFromMailboxEvents(mailboxEvents){const protoExpectations=[];let currentPE=undefined;for(const event of mailboxEvents){if(currentPE===undefined||!currentPE.isNear(event,ANIMATION_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.WEBGL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);}}
6274return protoExpectations;}
6275function handleWebGLAnimations(modelHelper,sortedInputEvents){const prepareMailboxEvents=[];const scriptedAnimationEvents=[];findWebGLEvents(modelHelper,prepareMailboxEvents,scriptedAnimationEvents);const webGLMailboxEvents=findMailboxEventsNearAnimationEvents(prepareMailboxEvents,scriptedAnimationEvents);return createProtoExpectationsFromMailboxEvents(webGLMailboxEvents);}
6276function postProcessProtoExpectations(modelHelper,protoExpectations){protoExpectations=findFrameEventsForAnimations(modelHelper,protoExpectations);protoExpectations=mergeIntersectingResponses(protoExpectations);protoExpectations=mergeIntersectingAnimations(protoExpectations);protoExpectations=fixResponseAnimationStarts(protoExpectations);protoExpectations=fixTapResponseTouchAnimations(protoExpectations);return protoExpectations;}
6277function mergeIntersectingResponses(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.RESPONSE_TYPE)continue;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if(!otherPE.intersects(pe))continue;const typeNames=pe.associatedEvents.map(function(event){return event.typeName;});if(otherPE.containsTypeNames(typeNames))continue;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
6278return newPEs;}
6279function mergeIntersectingAnimations(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.ANIMATION_TYPE)continue;const isCSS=pe.initiatorType===INITIATOR_TYPE.CSS;const isFling=pe.containsTypeNames([INPUT_TYPE.FLING_START]);const isVideo=pe.initiatorType===INITIATOR_TYPE.VIDEO;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if((isCSS&&otherPE.initiatorType!==INITIATOR_TYPE.CSS)||isFling!==otherPE.containsTypeNames([INPUT_TYPE.FLING_START])||isVideo&&otherPE.initiatorType!==INITIATOR_TYPE.VIDEO){continue;}
6280if(isCSS){if(!pe.isNear(otherPE,ANIMATION_MERGE_THRESHOLD_MS)){continue;}}else if(!otherPE.intersects(pe)){continue;}
6281pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
6282return newPEs;}
6283function fixResponseAnimationStarts(protoExpectations){protoExpectations.forEach(function(ape){if(ape.type!==ProtoExpectation.ANIMATION_TYPE){return;}
6284protoExpectations.forEach(function(rpe){if(rpe.type!==ProtoExpectation.RESPONSE_TYPE){return;}
6285if(!ape.containsTimestampInclusive(rpe.end)){return;}
6286if(ape.containsTimestampInclusive(rpe.start)){return;}
6287ape.start=rpe.end;});});return protoExpectations;}
6288function fixTapResponseTouchAnimations(protoExpectations){function isTapResponse(pe){return(pe.type===ProtoExpectation.RESPONSE_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TAP]);}
6289function isTouchAnimation(pe){return(pe.type===ProtoExpectation.ANIMATION_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TOUCH_MOVE])&&!pe.containsTypeNames([INPUT_TYPE.SCROLL_UPDATE,INPUT_TYPE.PINCH_UPDATE]);}
6290const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);const peIsTapResponse=isTapResponse(pe);const peIsTouchAnimation=isTouchAnimation(pe);if(!peIsTapResponse&&!peIsTouchAnimation){continue;}
6291for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(!otherPE.intersects(pe))continue;if(peIsTapResponse&&!isTouchAnimation(otherPE))continue;if(peIsTouchAnimation&&!isTapResponse(otherPE))continue;pe.type=ProtoExpectation.RESPONSE_TYPE;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
6292return newPEs;}
6293function findFrameEventsForAnimations(modelHelper,protoExpectations){const newPEs=[];const frameEventsByPid=getSortedFrameEventsByProcess(modelHelper);for(const pe of protoExpectations){if(pe.type!==ProtoExpectation.ANIMATION_TYPE){newPEs.push(pe);continue;}
6294const frameEvents=[];for(const pid of Object.keys(modelHelper.rendererHelpers)){const range=tr.b.math.Range.fromExplicitRange(pe.start,pe.end);frameEvents.push.apply(frameEvents,range.filterArray(frameEventsByPid[pid],e=>e.start));}
6295if(frameEvents.length===0&&!(pe.initiatorType===INITIATOR_TYPE.WEBGL)){pe.type=ProtoExpectation.IGNORED_TYPE;newPEs.push(pe);continue;}
6296pe.associatedEvents.addEventSet(frameEvents);newPEs.push(pe);}
6297return newPEs;}
6298function checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations){const handledEvents=[];protoExpectations.forEach(function(protoExpectation){protoExpectation.associatedEvents.forEach(function(event){if((event.title===CSS_ANIMATION_TITLE)&&(event.subSlices.length>0)){return;}
6299if((handledEvents.indexOf(event)>=0)&&(event.title!==tr.model.helpers.IMPL_RENDERING_STATS)){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});return;}
6300handledEvents.push(event);});});sortedInputEvents.forEach(function(event){if(handledEvents.indexOf(event)<0){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});}});}
6301function findInputExpectations(modelHelper){const sortedInputEvents=getSortedInputEvents(modelHelper);let protoExpectations=findProtoExpectations(modelHelper,sortedInputEvents);protoExpectations=postProcessProtoExpectations(modelHelper,protoExpectations);checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations);const expectations=[];protoExpectations.forEach(function(protoExpectation){const ir=protoExpectation.createInteractionRecord(modelHelper.model);if(ir){expectations.push(ir);}});return expectations;}
6302return{findInputExpectations,compareEvents,CSS_ANIMATION_TITLE,};});'use strict';tr.exportTo('tr.model.um',function(){const LOAD_SUBTYPE_NAMES={SUCCESSFUL:'Successful',FAILED:'Failed',};const DOES_LOAD_SUBTYPE_NAME_EXIST={};for(const key in LOAD_SUBTYPE_NAMES){DOES_LOAD_SUBTYPE_NAME_EXIST[LOAD_SUBTYPE_NAMES[key]]=true;}
6303function LoadExpectation(parentModel,initiatorTitle,start,duration){if(!DOES_LOAD_SUBTYPE_NAME_EXIST[initiatorTitle]){throw new Error(initiatorTitle+' is not in LOAD_SUBTYPE_NAMES');}
6304tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.renderProcess=undefined;this.renderMainThread=undefined;this.routingId=undefined;this.parentRoutingId=undefined;this.loadFinishedEvent=undefined;}
6305LoadExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:LoadExpectation};tr.model.um.UserExpectation.subTypes.register(LoadExpectation,{stageTitle:'Load',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_load')});return{LOAD_SUBTYPE_NAMES,LoadExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const NAVIGATION_START='NavigationTiming navigationStart';const FIRST_CONTENTFUL_PAINT_TITLE='firstContentfulPaint';function findLoadExpectations(modelHelper){const events=[];for(const event of modelHelper.model.getDescendantEvents()){if((event.title===NAVIGATION_START)||(event.title===FIRST_CONTENTFUL_PAINT_TITLE)){events.push(event);}}
6306events.sort(tr.importer.compareEvents);const loads=[];let startEvent=undefined;for(const event of events){if(event.title===NAVIGATION_START){startEvent=event;}else if(event.title===FIRST_CONTENTFUL_PAINT_TITLE){if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,event.start-startEvent.start));startEvent=undefined;}}}
6307if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,modelHelper.model.bounds.max-startEvent.start));}
6308return loads;}
6309return{findLoadExpectations,};});'use strict';tr.exportTo('tr.model.um',function(){function StartupExpectation(parentModel,start,duration){tr.model.um.UserExpectation.call(this,parentModel,'',start,duration);}
6310StartupExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:StartupExpectation};tr.model.um.UserExpectation.subTypes.register(StartupExpectation,{stageTitle:'Startup',colorId:tr.b.ColorScheme.getColorIdForReservedName('startup')});return{StartupExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function getAllFrameEvents(modelHelper){const frameEvents=[];frameEvents.push.apply(frameEvents,modelHelper.browserHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));for(const renderer of Object.values(modelHelper.rendererHelpers)){frameEvents.push.apply(frameEvents,renderer.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));}
6311return frameEvents.sort(tr.importer.compareEvents);}
6312function getStartupEvents(modelHelper){function isStartupSlice(slice){return slice.title==='BrowserMainLoop::CreateThreads';}
6313const events=modelHelper.browserHelper.getAllAsyncSlicesMatching(isStartupSlice);const deduper=new tr.model.EventSet();events.forEach(function(event){const sliceGroup=event.parentContainer.sliceGroup;const slice=sliceGroup&&sliceGroup.findFirstSlice();if(slice){deduper.push(slice);}});return deduper.toArray();}
6314function findStartupExpectations(modelHelper){const openingEvents=getStartupEvents(modelHelper);const closingEvents=getAllFrameEvents(modelHelper);const startups=[];openingEvents.forEach(function(openingEvent){closingEvents.forEach(function(closingEvent){if(openingEvent.closingEvent)return;if(closingEvent.openingEvent)return;if(closingEvent.start<=openingEvent.start)return;if(openingEvent.parentContainer.parent.pid!==closingEvent.parentContainer.parent.pid){return;}
6315openingEvent.closingEvent=closingEvent;closingEvent.openingEvent=openingEvent;const se=new tr.model.um.StartupExpectation(modelHelper.model,openingEvent.start,closingEvent.end-openingEvent.start);se.associatedEvents.push(openingEvent);se.associatedEvents.push(closingEvent);startups.push(se);});});return startups;}
6316return{findStartupExpectations,};});'use strict';tr.exportTo('tr.model',function(){function getAssociatedEvents(irs){const allAssociatedEvents=new tr.model.EventSet();irs.forEach(function(ir){ir.associatedEvents.forEach(function(event){if(event instanceof tr.model.FlowEvent)return;allAssociatedEvents.push(event);});});return allAssociatedEvents;}
6317function getUnassociatedEvents(model,associatedEvents){const unassociatedEvents=new tr.model.EventSet();for(const proc of model.getAllProcesses()){for(const thread of Object.values(proc.threads)){for(const event of thread.sliceGroup.getDescendantEvents()){if(!associatedEvents.contains(event)){unassociatedEvents.push(event);}}}}
6318return unassociatedEvents;}
6319function getTotalCpuDuration(events){let cpuMs=0;events.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;}
6320function getIRCoverageFromModel(model){const associatedEvents=getAssociatedEvents(model.userModel.expectations);if(!associatedEvents.length)return undefined;const unassociatedEvents=getUnassociatedEvents(model,associatedEvents);const associatedCpuMs=getTotalCpuDuration(associatedEvents);const unassociatedCpuMs=getTotalCpuDuration(unassociatedEvents);const totalEventCount=associatedEvents.length+unassociatedEvents.length;const totalCpuMs=associatedCpuMs+unassociatedCpuMs;let coveredEventsCpuTimeRatio=undefined;if(totalCpuMs!==0){coveredEventsCpuTimeRatio=associatedCpuMs/totalCpuMs;}
6321return{associatedEventsCount:associatedEvents.length,unassociatedEventsCount:unassociatedEvents.length,associatedEventsCpuTimeMs:associatedCpuMs,unassociatedEventsCpuTimeMs:unassociatedCpuMs,coveredEventsCountRatio:associatedEvents.length/totalEventCount,coveredEventsCpuTimeRatio};}
6322return{getIRCoverageFromModel,getAssociatedEvents,getUnassociatedEvents,};});'use strict';tr.exportTo('tr.model.um',function(){function IdleExpectation(parentModel,start,duration){const initiatorTitle='';tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);}
6323IdleExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:IdleExpectation};tr.model.um.UserExpectation.subTypes.register(IdleExpectation,{stageTitle:'Idle',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_idle')});return{IdleExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const INSIGNIFICANT_MS=1;class UserModelBuilder{constructor(model){this.model=model;this.modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);}
6324static supportsModelHelper(modelHelper){return modelHelper.browserHelper!==undefined;}
6325buildUserModel(){if(!this.modelHelper||!this.modelHelper.browserHelper)return;try{for(const ue of this.findUserExpectations()){this.model.userModel.expectations.push(ue);}
6326this.model.userModel.segments.push(...this.findSegments());}catch(error){this.model.importWarning({type:'UserModelBuilder',message:error,showToUser:true});}}
6327findSegments(){let timestamps=new Set();for(const expectation of this.model.userModel.expectations){timestamps.add(expectation.start);timestamps.add(expectation.end);}
6328timestamps=[...timestamps];timestamps.sort((x,y)=>x-y);const segments=[];for(let i=0;i<timestamps.length-1;++i){const segment=new tr.model.um.Segment(timestamps[i],timestamps[i+1]-timestamps[i]);segments.push(segment);const segmentRange=tr.b.math.Range.fromExplicitRange(segment.start,segment.end);for(const expectation of this.model.userModel.expectations){const expectationRange=tr.b.math.Range.fromExplicitRange(expectation.start,expectation.end);if(segmentRange.intersectsRangeExclusive(expectationRange)){segment.expectations.push(expectation);}}}
6329return segments;}
6330findUserExpectations(){const expectations=[];expectations.push.apply(expectations,tr.importer.findStartupExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findLoadExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findInputExpectations(this.modelHelper));expectations.push.apply(expectations,this.findIdleExpectations(expectations));this.collectUnassociatedEvents_(expectations);return expectations;}
6331collectUnassociatedEvents_(expectations){const vacuumUEs=[];for(const expectation of expectations){if(expectation instanceof tr.model.um.IdleExpectation||expectation instanceof tr.model.um.LoadExpectation||expectation instanceof tr.model.um.StartupExpectation){vacuumUEs.push(expectation);}}
6332if(vacuumUEs.length===0)return;const allAssociatedEvents=tr.model.getAssociatedEvents(expectations);const unassociatedEvents=tr.model.getUnassociatedEvents(this.model,allAssociatedEvents);for(const event of unassociatedEvents){if(!(event instanceof tr.model.ThreadSlice))continue;if(!event.isTopLevel)continue;for(let index=0;index<vacuumUEs.length;++index){const expectation=vacuumUEs[index];if((event.start>=expectation.start)&&(event.start<expectation.end)){expectation.associatedEvents.addEventSet(event.entireHierarchy);break;}}}}
6333findIdleExpectations(otherUEs){if(this.model.bounds.isEmpty)return;const emptyRanges=tr.b.math.findEmptyRangesBetweenRanges(tr.b.math.convertEventsToRanges(otherUEs),this.model.bounds);const expectations=[];const model=this.model;for(const range of emptyRanges){if(range.max<(range.min+INSIGNIFICANT_MS))continue;expectations.push(new tr.model.um.IdleExpectation(model,range.min,range.max-range.min));}
6334return expectations;}}
6335function createCustomizeModelLinesFromModel(model){const modelLines=[];modelLines.push('      audits.addEvent(model.browserMain,');modelLines.push('          {title: \'model start\', start: 0, end: 1});');const typeNames={};for(const typeName in tr.e.cc.INPUT_EVENT_TYPE_NAMES){typeNames[tr.e.cc.INPUT_EVENT_TYPE_NAMES[typeName]]=typeName;}
6336let modelEvents=new tr.model.EventSet();for(const ue of model.userModel.expectations){modelEvents.addEventSet(ue.sourceEvents);}
6337modelEvents=modelEvents.toArray();modelEvents.sort(tr.importer.compareEvents);for(const event of modelEvents){const startAndEnd='start: '+parseInt(event.start)+', '+'end: '+parseInt(event.end)+'});';if(event instanceof tr.e.cc.InputLatencyAsyncSlice){modelLines.push('      audits.addInputEvent(model, INPUT_TYPE.'+
6338typeNames[event.typeName]+',');}else if(event.title==='RenderFrameImpl::didCommitProvisionalLoad'){modelLines.push('      audits.addCommitLoadEvent(model,');}else if(event.title==='InputHandlerProxy::HandleGestureFling::started'){modelLines.push('      audits.addFlingAnimationEvent(model,');}else if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){modelLines.push('      audits.addFrameEvent(model,');}else if(event.title===tr.importer.CSS_ANIMATION_TITLE){modelLines.push('      audits.addEvent(model.rendererMain, {');modelLines.push('        title: \'Animation\', '+startAndEnd);return;}else{throw new Error('You must extend createCustomizeModelLinesFromModel()'+'to support this event:\n'+event.title+'\n');}
6339modelLines.push('          {'+startAndEnd);}
6340modelLines.push('      audits.addEvent(model.browserMain,');modelLines.push('          {'+'title: \'model end\', '+'start: '+(parseInt(model.bounds.max)-1)+', '+'end: '+parseInt(model.bounds.max)+'});');return modelLines;}
6341function createExpectedUELinesFromModel(model){const expectedLines=[];const ueCount=model.userModel.expectations.length;for(let index=0;index<ueCount;++index){const expectation=model.userModel.expectations[index];let ueString='      {';ueString+='title: \''+expectation.title+'\', ';ueString+='start: '+parseInt(expectation.start)+', ';ueString+='end: '+parseInt(expectation.end)+', ';ueString+='eventCount: '+expectation.sourceEvents.length;ueString+='}';if(index<(ueCount-1))ueString+=',';expectedLines.push(ueString);}
6342return expectedLines;}
6343function createUEFinderTestCaseStringFromModel(model){const filename=window.location.hash.substr(1);let testName=filename.substr(filename.lastIndexOf('/')+1);testName=testName.substr(0,testName.indexOf('.'));try{const testLines=[];testLines.push('  /*');testLines.push('    This test was generated from');testLines.push('    '+filename+'');testLines.push('   */');testLines.push('  test(\''+testName+'\', function() {');testLines.push('    const verifier = new UserExpectationVerifier();');testLines.push('    verifier.customizeModelCallback = function(model) {');testLines.push.apply(testLines,createCustomizeModelLinesFromModel(model));testLines.push('    };');testLines.push('    verifier.expectedUEs = [');testLines.push.apply(testLines,createExpectedUELinesFromModel(model));testLines.push('    ];');testLines.push('    verifier.verify();');testLines.push('  });');return testLines.join('\n');}catch(error){return error;}}
6344return{UserModelBuilder,createUEFinderTestCaseStringFromModel,};});'use strict';tr.exportTo('tr.ui.b',function(){function decorate(source,constr){let elements;if(typeof source==='string'){elements=Polymer.dom(tr.doc).querySelectorAll(source);}else{elements=[source];}
6345for(let i=0,el;el=elements[i];i++){if(!(el instanceof constr)){constr.decorate(el);}}}
6346function define(className,opt_parentConstructor,opt_tagNS){if(typeof className==='function'){throw new Error('Passing functions as className is deprecated. Please '+'use (className, opt_parentConstructor) to subclass');}
6347className=className.toLowerCase();if(opt_parentConstructor&&!opt_parentConstructor.tagName){throw new Error('opt_parentConstructor was not '+'created by tr.ui.b.define');}
6348let tagName=className;let tagNS=undefined;if(opt_parentConstructor){if(opt_tagNS){throw new Error('Must not specify tagNS if parentConstructor is given');}
6349let parent=opt_parentConstructor;while(parent&&parent.tagName){tagName=parent.tagName;tagNS=parent.tagNS;parent=parent.parentConstructor;}}else{tagNS=opt_tagNS;}
6350function f(){if(opt_parentConstructor&&f.prototype.__proto__!==opt_parentConstructor.prototype){throw new Error(className+' prototye\'s __proto__ field is messed up. '+'It MUST be the prototype of '+opt_parentConstructor.tagName);}
6351let el;if(tagNS===undefined){el=tr.doc.createElement(tagName);}else{el=tr.doc.createElementNS(tagNS,tagName);}
6352f.decorate.call(this,el,arguments);return el;}
6353f.decorate=function(el){el.__proto__=f.prototype;el.decorate.apply(el,arguments[1]);el.constructor=f;};f.className=className;f.tagName=tagName;f.tagNS=tagNS;f.parentConstructor=(opt_parentConstructor?opt_parentConstructor:undefined);f.toString=function(){if(!f.parentConstructor){return f.tagName;}
6354return f.parentConstructor.toString()+'::'+f.className;};return f;}
6355function elementIsChildOf(el,potentialParent){if(el===potentialParent)return false;let cur=el;while(Polymer.dom(cur).parentNode){if(cur===potentialParent)return true;cur=Polymer.dom(cur).parentNode;}
6356return false;}
6357return{decorate,define,elementIsChildOf,};});'use strict';tr.exportTo('tr.b.math',function(){function Rect(){this.x=0;this.y=0;this.width=0;this.height=0;}
6358Rect.fromXYWH=function(x,y,w,h){const rect=new Rect();rect.x=x;rect.y=y;rect.width=w;rect.height=h;return rect;};Rect.fromArray=function(ary){if(ary.length!==4){throw new Error('ary.length must be 4');}
6359const rect=new Rect();rect.x=ary[0];rect.y=ary[1];rect.width=ary[2];rect.height=ary[3];return rect;};Rect.prototype={__proto__:Object.prototype,get left(){return this.x;},get top(){return this.y;},get right(){return this.x+this.width;},get bottom(){return this.y+this.height;},toString(){return'Rect('+this.x+', '+this.y+', '+
6360this.width+', '+this.height+')';},toArray(){return[this.x,this.y,this.width,this.height];},clone(){const rect=new Rect();rect.x=this.x;rect.y=this.y;rect.width=this.width;rect.height=this.height;return rect;},enlarge(pad){const rect=new Rect();this.enlargeFast(rect,pad);return rect;},enlargeFast(out,pad){out.x=this.x-pad;out.y=this.y-pad;out.width=this.width+2*pad;out.height=this.height+2*pad;return out;},size(){return{width:this.width,height:this.height};},scale(s){const rect=new Rect();this.scaleFast(rect,s);return rect;},scaleSize(s){return Rect.fromXYWH(this.x,this.y,this.width*s,this.height*s);},scaleFast(out,s){out.x=this.x*s;out.y=this.y*s;out.width=this.width*s;out.height=this.height*s;return out;},translate(v){const rect=new Rect();this.translateFast(rect,v);return rect;},translateFast(out,v){out.x=this.x+v[0];out.y=this.x+v[1];out.width=this.width;out.height=this.height;return out;},asUVRectInside(containingRect){const rect=new Rect();rect.x=(this.x-containingRect.x)/containingRect.width;rect.y=(this.y-containingRect.y)/containingRect.height;rect.width=this.width/containingRect.width;rect.height=this.height/containingRect.height;return rect;},intersects(that){let ok=true;ok&=this.x<that.right;ok&=this.right>that.x;ok&=this.y<that.bottom;ok&=this.bottom>that.y;return ok;},equalTo(rect){return rect&&(this.x===rect.x)&&(this.y===rect.y)&&(this.width===rect.width)&&(this.height===rect.height);}};return{Rect,};});'use strict';tr.exportTo('tr.ui.b',function(){function instantiateTemplate(selector,doc){doc=doc||document;const el=Polymer.dom(doc).querySelector(selector);if(!el){throw new Error('Element not found');}
6361return doc.importNode(el.content,true);}
6362function windowRectForElement(element){const position=[element.offsetLeft,element.offsetTop];const size=[element.offsetWidth,element.offsetHeight];let node=element.offsetParent;while(node){position[0]+=node.offsetLeft;position[1]+=node.offsetTop;node=node.offsetParent;}
6363return tr.b.math.Rect.fromXYWH(position[0],position[1],size[0],size[1]);}
6364function scrollIntoViewIfNeeded(el){const pr=el.parentElement.getBoundingClientRect();const cr=el.getBoundingClientRect();if(cr.top<pr.top){el.scrollIntoView(true);}else if(cr.bottom>pr.bottom){el.scrollIntoView(false);}}
6365function extractUrlString(url){let extracted=url.replace(/url\((.*)\)/,'$1');extracted=extracted.replace(/\"(.*)\"/,'$1');return extracted;}
6366function toThreeDigitLocaleString(value){return value.toLocaleString(undefined,{minimumFractionDigits:3,maximumFractionDigits:3});}
6367function isUnknownElementName(name){return document.createElement(name)instanceof HTMLUnknownElement;}
6368return{isUnknownElementName,toThreeDigitLocaleString,instantiateTemplate,windowRectForElement,scrollIntoViewIfNeeded,extractUrlString,};});'use strict';tr.exportTo('tr.ui.b',function(){if(tr.isHeadless)return{};const THIS_DOC=document.currentScript.ownerDocument;const Overlay=tr.ui.b.define('overlay');Overlay.prototype={__proto__:HTMLDivElement.prototype,decorate(){Polymer.dom(this).classList.add('overlay');this.parentEl_=this.ownerDocument.body;this.visible_=false;this.userCanClose_=true;this.onKeyDown_=this.onKeyDown_.bind(this);this.onClick_=this.onClick_.bind(this);this.onFocusIn_=this.onFocusIn_.bind(this);this.onDocumentClick_=this.onDocumentClick_.bind(this);this.onClose_=this.onClose_.bind(this);this.addEventListener('visible-change',tr.ui.b.Overlay.prototype.onVisibleChange_.bind(this),true);const createShadowRoot=this.createShadowRoot||this.webkitCreateShadowRoot;this.shadow_=createShadowRoot.call(this);Polymer.dom(this.shadow_).appendChild(tr.ui.b.instantiateTemplate('#overlay-template',THIS_DOC));this.closeBtn_=Polymer.dom(this.shadow_).querySelector('close-button');this.closeBtn_.addEventListener('click',this.onClose_);Polymer.dom(this.shadow_).querySelector('overlay-frame').addEventListener('click',this.onClick_);this.observer_=new WebKitMutationObserver(this.didButtonBarMutate_.bind(this));this.observer_.observe(Polymer.dom(this.shadow_).querySelector('button-bar'),{childList:true});Object.defineProperty(this,'title',{get(){return Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent;},set(title){Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent=title;}});},set userCanClose(userCanClose){this.userCanClose_=userCanClose;this.closeBtn_.style.display=userCanClose?'block':'none';},get buttons(){return Polymer.dom(this.shadow_).querySelector('button-bar');},get visible(){return this.visible_;},set visible(newValue){if(this.visible_===newValue)return;this.visible_=newValue;const e=new tr.b.Event('visible-change');this.dispatchEvent(e);},onVisibleChange_(){this.visible_?this.show_():this.hide_();},show_(){Polymer.dom(this.parentEl_).appendChild(this);if(this.userCanClose_){this.addEventListener('keydown',this.onKeyDown_.bind(this));this.addEventListener('click',this.onDocumentClick_.bind(this));this.closeBtn_.addEventListener('click',this.onClose_);}
6369this.parentEl_.addEventListener('focusin',this.onFocusIn_);this.tabIndex=0;const elList=Polymer.dom(this).querySelectorAll('button, input, list, select, a');if(elList.length>0){if(elList[0]===this.closeBtn_){if(elList.length>1)return elList[1].focus();}else{return elList[0].focus();}}
6370this.focus();},hide_(){Polymer.dom(this.parentEl_).removeChild(this);this.parentEl_.removeEventListener('focusin',this.onFocusIn_);if(this.closeBtn_){this.closeBtn_.removeEventListener('click',this.onClose_);}
6371document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('click',this.onDocumentClick_);},onClose_(e){this.visible=false;if((e.type!=='keydown')||(e.type==='keydown'&&e.keyCode===27)){e.stopPropagation();}
6372e.preventDefault();tr.b.dispatchSimpleEvent(this,'closeclick');},onFocusIn_(e){if(e.target===this)return;tr.b.timeout(0).then(()=>this.focus());e.preventDefault();e.stopPropagation();},didButtonBarMutate_(e){const hasButtons=this.buttons.children.length>0;if(hasButtons){Polymer.dom(this.shadow_).querySelector('button-bar').style.display=undefined;}else{Polymer.dom(this.shadow_).querySelector('button-bar').style.display='none';}},onKeyDown_(e){if(e.keyCode===9&&e.shiftKey&&e.target===this){e.preventDefault();return;}
6373if(e.keyCode!==27)return;this.onClose_(e);},onClick_(e){e.stopPropagation();},onDocumentClick_(e){if(!this.userCanClose_)return;this.onClose_(e);}};Overlay.showError=function(msg,opt_err){const o=new Overlay();o.title='Error';Polymer.dom(o).textContent=msg;if(opt_err){const e=tr.b.normalizeException(opt_err);const stackDiv=document.createElement('pre');Polymer.dom(stackDiv).textContent=e.stack;stackDiv.style.paddingLeft='8px';stackDiv.style.margin=0;Polymer.dom(o).appendChild(stackDiv);}
6374const b=document.createElement('button');Polymer.dom(b).textContent='OK';b.addEventListener('click',function(){o.visible=false;});Polymer.dom(o.buttons).appendChild(b);o.visible=true;return o;};return{Overlay,};});'use strict';tr.exportTo('tr.importer',function(){const Timing=tr.b.Timing;function ImportOptions(){this.shiftWorldToZero=true;this.pruneEmptyContainers=true;this.showImportWarnings=true;this.trackDetailedModelStats=false;this.customizeModelCallback=undefined;const auditorTypes=tr.c.Auditor.getAllRegisteredTypeInfos();this.auditorConstructors=auditorTypes.map(function(typeInfo){return typeInfo.constructor;});}
6375function Import(model,opt_options){if(model===undefined){throw new Error('Must provide model to import into.');}
6376this.importing_=false;this.importOptions_=opt_options||new ImportOptions();this.model_=model;this.model_.importOptions=this.importOptions_;}
6377Import.prototype={__proto__:Object.prototype,importTraces(traces){const progressMeter={update(msg){}};tr.b.Task.RunSynchronously(this.createImportTracesTask(progressMeter,traces));},importTracesWithProgressDialog(traces){if(tr.isHeadless){throw new Error('Cannot use this method in headless mode.');}
6378const overlay=tr.ui.b.Overlay();overlay.title='Importing...';overlay.userCanClose=false;overlay.msgEl=document.createElement('div');Polymer.dom(overlay).appendChild(overlay.msgEl);overlay.msgEl.style.margin='20px';overlay.update=function(msg){Polymer.dom(this.msgEl).textContent=msg;};overlay.visible=true;const promise=tr.b.Task.RunWhenIdle(this.createImportTracesTask(overlay,traces));promise.then(function(){overlay.visible=false;},function(err){overlay.visible=false;});return promise;},createImportTracesTask(progressMeter,traces){const importStartTimeMs=performance.now();if(this.importing_){throw new Error('Already importing.');}
6379this.importing_=true;const importTask=new tr.b.Task(function prepareImport(){progressMeter.update('I will now import your traces for you...');},this);let lastTask=importTask;const importers=[];function addImportStage(title,callback){lastTask=lastTask.after(()=>progressMeter.update(title));lastTask.updatesUi=true;lastTask=lastTask.after(callback);}
6380function addStageForEachImporter(title,callback){lastTask=lastTask.after((task)=>{importers.forEach((importer,index)=>{const uiSubTask=task.subTask(()=>{progressMeter.update(`${title} ${index + 1} of ${importers.length}`);});uiSubTask.updatesUi=true;task.subTask(()=>callback(importer));});});}
6381addImportStage('Creating importers...',()=>{traces=traces.slice(0);progressMeter.update('Creating importers...');for(let i=0;i<traces.length;++i){importers.push(this.createImporter_(traces[i]));}
6382for(let i=0;i<importers.length;i++){const subtraces=importers[i].extractSubtraces();for(let j=0;j<subtraces.length;j++){try{traces.push(subtraces[j]);importers.push(this.createImporter_(subtraces[j]));}catch(error){this.model_.importWarning({type:error.name,message:error.message,showToUser:true,});continue;}}}
6383if(traces.length&&!this.hasEventDataDecoder_(importers)){throw new Error('Could not find an importer for the provided eventData.');}
6384importers.sort(function(x,y){return x.importPriority-y.importPriority;});});addStageForEachImporter('Importing clock sync markers',importer=>importer.importClockSyncMarkers());addStageForEachImporter('Importing',importer=>importer.importEvents());if(this.importOptions_.customizeModelCallback){addImportStage('Customizing',()=>{this.importOptions_.customizeModelCallback(this.model_);});}
6385addStageForEachImporter('Importing sample data',importer=>importer.importSampleData());addImportStage('Autoclosing open slices...',()=>{this.model_.autoCloseOpenSlices();this.model_.createSubSlices();});addStageForEachImporter('Finalizing import',importer=>importer.finalizeImport());addImportStage('Initializing objects (step 1/2)...',()=>this.model_.preInitializeObjects());if(this.importOptions_.pruneEmptyContainers){addImportStage('Pruning empty containers...',()=>this.model_.pruneEmptyContainers());}
6386addImportStage('Merging kernel with userland...',()=>this.model_.mergeKernelWithUserland());let auditors=[];addImportStage('Adding arbitrary data to model...',()=>{auditors=this.importOptions_.auditorConstructors.map(auditorConstructor=>new auditorConstructor(this.model_));auditors.forEach((auditor)=>{auditor.runAnnotate();auditor.installUserFriendlyCategoryDriverIfNeeded();});});addImportStage('Computing final world bounds...',()=>{this.model_.computeWorldBounds(this.importOptions_.shiftWorldToZero);});addImportStage('Building flow event map...',()=>this.model_.buildFlowEventIntervalTree());addImportStage('Joining object refs...',()=>this.model_.joinRefs());addImportStage('Cleaning up undeleted objects...',()=>this.model_.cleanupUndeletedObjects());addImportStage('Sorting memory dumps...',()=>this.model_.sortMemoryDumps());addImportStage('Finalizing memory dump graphs...',()=>this.model_.finalizeMemoryGraphs());addImportStage('Initializing objects (step 2/2)...',()=>this.model_.initializeObjects());addImportStage('Building event indices...',()=>this.model_.buildEventIndices());addImportStage('Building UserModel...',()=>{const userModelBuilder=new tr.importer.UserModelBuilder(this.model_);userModelBuilder.buildUserModel();});addImportStage('Sorting user expectations...',()=>this.model_.userModel.sortExpectations());addImportStage('Running auditors...',()=>{auditors.forEach(auditor=>auditor.runAudit());});addImportStage('Updating alerts...',()=>this.model_.sortAlerts());addImportStage('Update bounds...',()=>this.model_.updateBounds());addImportStage('Looking for warnings...',()=>{if(!this.model_.isTimeHighResolution){this.model_.importWarning({type:'low_resolution_timer',message:'Trace time is low resolution, trace may be unusable.',showToUser:true});}});lastTask.after(()=>{this.importing_=false;this.model_.stats.traceImportDurationMs=performance.now()-importStartTimeMs;});return importTask;},createImporter_(eventData){const importerConstructor=tr.importer.Importer.findImporterFor(eventData);if(!importerConstructor){throw new Error('Couldn\'t create an importer for the provided '+'eventData.');}
6387return new importerConstructor(this.model_,eventData);},hasEventDataDecoder_(importers){for(let i=0;i<importers.length;++i){if(!importers[i].isTraceDataContainer())return true;}
6388return false;}};return{ImportOptions,Import,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8GCStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.liveObjects_=JSON.parse(this.args.live);delete this.args.live;this.deadObjects_=JSON.parse(this.args.dead);delete this.args.dead;}
6389V8GCStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get liveObjects(){return this.liveObjects_;},get deadObjects(){return this.deadObjects_;}};ThreadSlice.subTypes.register(V8GCStatsThreadSlice,{categoryParts:['disabled-by-default-v8.gc_stats'],name:'v8 gc stats slice',pluralName:'v8 gc stats slices'});return{V8GCStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ICStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.icStats_=undefined;if(this.args['ic-stats']){this.icStats_=this.args['ic-stats'].data;delete this.args['ic-stats'];}}
6390V8ICStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get icStats(){return this.icStats_;}};ThreadSlice.subTypes.register(V8ICStatsThreadSlice,{categoryParts:['disabled-by-default-v8.ic_stats'],name:'v8 ic stats slice',pluralName:'v8 ic stats slices'});return{V8ICStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ThreadSlice(){ThreadSlice.apply(this,arguments);this.runtimeCallStats_=undefined;}
6391V8ThreadSlice.prototype={__proto__:ThreadSlice.prototype,get runtimeCallStats(){if('runtime-call-stats'in this.args){this.runtimeCallStats_=this.args['runtime-call-stats'];delete this.args['runtime-call-stats'];}
6392return this.runtimeCallStats_;}};ThreadSlice.subTypes.register(V8ThreadSlice,{categoryParts:['v8','disabled-by-default-v8.runtime_stats'],name:'v8 slice',pluralName:'v8 slices'});return{V8ThreadSlice,};});'use strict';tr.exportTo('tr.e.cc',function(){function PictureAsImageData(picture,errorOrImageData){this.picture_=picture;if(errorOrImageData instanceof ImageData){this.error_=undefined;this.imageData_=errorOrImageData;}else{this.error_=errorOrImageData;this.imageData_=undefined;}}
6393PictureAsImageData.Pending=function(picture){return new PictureAsImageData(picture,undefined);};PictureAsImageData.prototype={get picture(){return this.picture_;},get error(){return this.error_;},get imageData(){return this.imageData_;},isPending(){return this.error_===undefined&&this.imageData_===undefined;},asCanvas(){if(!this.imageData_)return;const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.imageData_.width;canvas.height=this.imageData_.height;ctx.putImageData(this.imageData_,0,0);return canvas;}};return{PictureAsImageData,};});'use strict';tr.exportTo('tr.e.cc',function(){const convertedNameCache={};function convertNameToJSConvention(name){if(name in convertedNameCache){return convertedNameCache[name];}
6394if(name[0]==='_'||name[name.length-1]==='_'){convertedNameCache[name]=name;return name;}
6395const words=name.split('_');if(words.length===1){convertedNameCache[name]=words[0];return words[0];}
6396for(let i=1;i<words.length;i++){words[i]=words[i][0].toUpperCase()+words[i].substring(1);}
6397convertedNameCache[name]=words.join('');return convertedNameCache[name];}
6398function convertObjectFieldNamesToJSConventions(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){delete object[fieldName];object[newFieldName]=fieldValue;return newFieldName;});}
6399function convertQuadSuffixedTypesToQuads(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){});}
6400function convertObject(object){convertObjectFieldNamesToJSConventions(object);convertQuadSuffixedTypesToQuads(object);}
6401function moveRequiredFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined){throw Error('Expected field '+key+' not found in args');}
6402if(object[key]!==undefined){throw Error('Field '+key+' already in object');}
6403object[key]=object.args[key];delete object.args[key];}}
6404function moveOptionalFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined)continue;if(object[key]!==undefined){throw Error('Field '+key+' already in object');}
6405object[key]=object.args[key];delete object.args[key];}}
6406function preInitializeObject(object){preInitializeObjectInner(object.args,false);}
6407function preInitializeObjectInner(object,hasRecursed){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){preInitializeObjectInner(object[i],true);}
6408return;}
6409if(hasRecursed&&(object instanceof tr.model.ObjectSnapshot||object instanceof tr.model.ObjectInstance)){return;}
6410for(let key in object){const newKey=convertNameToJSConvention(key);if(newKey!==key){const value=object[key];delete object[key];object[newKey]=value;key=newKey;}
6411if(/Quad$/.test(key)&&!(object[key]instanceof tr.b.math.Quad)){let q;try{q=tr.b.math.Quad.from8Array(object[key]);}catch(e){}
6412object[key]=q;continue;}
6413if(/Rect$/.test(key)&&!(object[key]instanceof tr.b.math.Rect)){let r;try{r=tr.b.math.Rect.fromArray(object[key]);}catch(e){}
6414object[key]=r;}
6415preInitializeObjectInner(object[key],true);}}
6416return{preInitializeObject,convertNameToJSConvention,moveRequiredFieldsFromArgsToToplevel,moveOptionalFieldsFromArgsToToplevel,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const PictureCount=0;const OPS_TIMING_ITERATIONS=3;function Picture(skp64,layerRect){this.skp64_=skp64;this.layerRect_=layerRect;this.guid_=tr.b.GUID.allocateSimple();}
6417Picture.prototype={get canSave(){return true;},get layerRect(){return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){return this.skp64_;},getOps(){if(!PictureSnapshot.CanGetOps()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;}
6418const ops=window.chrome.skiaBenchmarking.getOps({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!ops){console.error('Failed to get picture ops.');}
6419return ops;},getOpTimings(){if(!PictureSnapshot.CanGetOpTimings()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;}
6420const opTimings=window.chrome.skiaBenchmarking.getOpTimings({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!opTimings){console.error('Failed to get picture op timings.');}
6421return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;}
6422if(opTimings[iteration].cmd_times.length!==ops.length){return ops;}}
6423for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);}
6424ops[opIndex].cmd_time=min;}
6425return ops;},rasterize(params,rasterCompleteCallback){if(!PictureSnapshot.CanRasterize()||!PictureSnapshot.CanGetOps()){rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,tr.e.cc.PictureSnapshot.HowToEnablePictureDebugging()));return;}
6426const raster=window.chrome.skiaBenchmarking.rasterize({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}},{stop:params.stopIndex===undefined?-1:params.stopIndex,overdraw:!!params.showOverdraw,params:{}});if(raster){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=raster.width;canvas.height=raster.height;const imageData=ctx.createImageData(raster.width,raster.height);imageData.data.set(new Uint8ClampedArray(raster.data));rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,imageData));}else{const error='Failed to rasterize picture. '+'Your recording may be from an old Chrome version. '+'The SkPicture format is not backward compatible.';rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,error));}}};function LayeredPicture(pictures){this.guid_=tr.b.GUID.allocateSimple();this.pictures_=pictures;this.layerRect_=undefined;}
6427LayeredPicture.prototype={__proto__:Picture.prototype,get canSave(){return false;},get typeName(){return'cc::LayeredPicture';},get layerRect(){if(this.layerRect_!==undefined){return this.layerRect_;}
6428this.layerRect_={x:0,y:0,width:0,height:0};for(let i=0;i<this.pictures_.length;++i){const rect=this.pictures_[i].layerRect;this.layerRect_.x=Math.min(this.layerRect_.x,rect.x);this.layerRect_.y=Math.min(this.layerRect_.y,rect.y);this.layerRect_.width=Math.max(this.layerRect_.width,rect.x+rect.width);this.layerRect_.height=Math.max(this.layerRect_.height,rect.y+rect.height);}
6429return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){throw new Error('Not available with a LayeredPicture.');},getOps(){let ops=[];for(let i=0;i<this.pictures_.length;++i){ops=ops.concat(this.pictures_[i].getOps());}
6430return ops;},getOpTimings(){const opTimings=this.pictures_[0].getOpTimings();for(let i=1;i<this.pictures_.length;++i){const timings=this.pictures_[i].getOpTimings();opTimings.cmd_times=opTimings.cmd_times.concat(timings.cmd_times);opTimings.total_time+=timings.total_time;}
6431return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;}}
6432for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);}
6433ops[opIndex].cmd_time=min;}
6434return ops;},rasterize(params,rasterCompleteCallback){this.picturesAsImageData_=[];const rasterCallback=function(pictureAsImageData){this.picturesAsImageData_.push(pictureAsImageData);if(this.picturesAsImageData_.length!==this.pictures_.length){return;}
6435const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.layerRect.width;canvas.height=this.layerRect.height;for(let i=0;i<this.picturesAsImageData_.length;++i){ctx.putImageData(this.picturesAsImageData_[i].imageData,this.pictures_[i].layerRect.x,this.pictures_[i].layerRect.y);}
6436this.picturesAsImageData_=[];rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,ctx.getImageData(this.layerRect.x,this.layerRect.y,this.layerRect.width,this.layerRect.height)));}.bind(this);for(let i=0;i<this.pictures_.length;++i){this.pictures_[i].rasterize(params,rasterCallback);}}};function PictureSnapshot(){ObjectSnapshot.apply(this,arguments);}
6437PictureSnapshot.HasSkiaBenchmarking=function(){return tr.isExported('chrome.skiaBenchmarking');};PictureSnapshot.CanRasterize=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6438if(!window.chrome.skiaBenchmarking.rasterize){return false;}
6439return true;};PictureSnapshot.CanGetOps=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6440if(!window.chrome.skiaBenchmarking.getOps){return false;}
6441return true;};PictureSnapshot.CanGetOpTimings=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6442if(!window.chrome.skiaBenchmarking.getOpTimings){return false;}
6443return true;};PictureSnapshot.CanGetInfo=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6444if(!window.chrome.skiaBenchmarking.getInfo){return false;}
6445return true;};PictureSnapshot.HowToEnablePictureDebugging=function(){if(tr.isHeadless){return'Pictures only work in chrome';}
6446const usualReason=['For pictures to show up, you need to have Chrome running with ','--enable-skia-benchmarking. Please restart chrome with this flag ','and try again.'].join('');if(!tr.isExported('global.chrome.skiaBenchmarking')){return usualReason;}
6447if(!global.chrome.skiaBenchmarking.rasterize){return'Your chrome is old';}
6448if(!global.chrome.skiaBenchmarking.getOps){return'Your chrome is old: skiaBenchmarking.getOps not found';}
6449if(!global.chrome.skiaBenchmarking.getOpTimings){return'Your chrome is old: skiaBenchmarking.getOpTimings not found';}
6450if(!global.chrome.skiaBenchmarking.getInfo){return'Your chrome is old: skiaBenchmarking.getInfo not found';}
6451return'Rasterizing is on';};PictureSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.rasterResult_=undefined;},initialize(){if(this.args.alias){this.args=this.args.alias.args;}
6452if(!this.args.params.layerRect){throw new Error('Missing layer rect');}
6453this.layerRect_=this.args.params.layerRect;this.picture_=new Picture(this.args.skp64,this.args.params.layerRect);},set picture(picture){this.picture_=picture;},get canSave(){return this.picture_.canSave;},get layerRect(){return this.layerRect_?this.layerRect_:this.picture_.layerRect;},get guid(){return this.picture_.guid;},getBase64SkpData(){return this.picture_.getBase64SkpData();},getOps(){return this.picture_.getOps();},getOpTimings(){return this.picture_.getOpTimings();},tagOpsWithTimings(ops){return this.picture_.tagOpsWithTimings(ops);},rasterize(params,rasterCompleteCallback){this.picture_.rasterize(params,rasterCompleteCallback);}};ObjectSnapshot.subTypes.register(PictureSnapshot,{typeNames:['cc::Picture']});return{PictureSnapshot,Picture,LayeredPicture,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function DisplayItemList(skp64,layerRect){tr.e.cc.Picture.apply(this,arguments);}
6454DisplayItemList.prototype={__proto__:tr.e.cc.Picture.prototype};function DisplayItemListSnapshot(){tr.e.cc.PictureSnapshot.apply(this,arguments);}
6455DisplayItemListSnapshot.prototype={__proto__:tr.e.cc.PictureSnapshot.prototype,initialize(){tr.e.cc.PictureSnapshot.prototype.initialize.call(this);this.displayItems_=this.args.params.items;},get items(){return this.displayItems_;}};ObjectSnapshot.subTypes.register(DisplayItemListSnapshot,{typeNames:['cc::DisplayItemList']});return{DisplayItemListSnapshot,DisplayItemList,};});'use strict';tr.exportTo('tr.b.math',function(){function BBox2(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;}
6456BBox2.prototype={__proto__:Object.prototype,reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addBBox2(bbox2){if(bbox2.isEmpty)return;this.addVec2(bbox2.min_);this.addVec2(bbox2.max_);},clone(){const bbox=new BBox2();bbox.addBBox2(this);return bbox;},addXY(x,y){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,x,y);vec2.set(this.min_,x,y);this.isEmpty_=false;return;}
6457this.max_[0]=Math.max(this.max_[0],x);this.max_[1]=Math.max(this.max_[1],y);this.min_[0]=Math.min(this.min_[0],x);this.min_[1]=Math.min(this.min_[1],y);},addVec2(value){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,value[0],value[1]);vec2.set(this.min_,value[0],value[1]);this.isEmpty_=false;return;}
6458this.max_[0]=Math.max(this.max_[0],value[0]);this.max_[1]=Math.max(this.max_[1],value[1]);this.min_[0]=Math.min(this.min_[0],value[0]);this.min_[1]=Math.min(this.min_[1],value[1]);},addQuad(quad){this.addVec2(quad.p1);this.addVec2(quad.p2);this.addVec2(quad.p3);this.addVec2(quad.p4);},get minVec2(){if(this.isEmpty_)return undefined;return this.min_;},get maxVec2(){if(this.isEmpty_)return undefined;return this.max_;},get sizeAsVec2(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');}
6459const size=vec2.create();vec2.subtract(size,this.max_,this.min_);return size;},get size(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');}
6460return{width:this.max_[0]-this.min_[0],height:this.max_[1]-this.min_[1]};},get width(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');}
6461return this.max_[0]-this.min_[0];},get height(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');}
6462return this.max_[1]-this.min_[1];},toString(){if(this.isEmpty_)return'empty';return'min=('+this.min_[0]+','+this.min_[1]+') '+'max=('+this.max_[0]+','+this.max_[1]+')';},asRect(){return tr.b.math.Rect.fromXYWH(this.min_[0],this.min_[1],this.max_[0]-this.min_[0],this.max_[1]-this.min_[1]);}};return{BBox2,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants={};constants.ACTIVE_TREE=0;constants.PENDING_TREE=1;constants.HIGH_PRIORITY_BIN=0;constants.LOW_PRIORITY_BIN=1;constants.SEND_BEGIN_FRAME_EVENT='ThreadProxy::ScheduledActionSendBeginMainFrame';constants.BEGIN_MAIN_FRAME_EVENT='ThreadProxy::BeginMainFrame';return{constants};});'use strict';tr.exportTo('tr.e.cc',function(){function Region(){this.rects=[];}
6463Region.fromArray=function(array){if(array.length%4!==0){throw new Error('Array must consist be a multiple of 4 in length');}
6464const r=new Region();for(let i=0;i<array.length;i+=4){r.rects.push(tr.b.math.Rect.fromXYWH(array[i],array[i+1],array[i+2],array[i+3]));}
6465return r;};Region.fromArrayOrUndefined=function(array){if(array===undefined)return new Region();return Region.fromArray(array);};Region.prototype={__proto__:Region.prototype,rectIntersects(r){for(let i=0;i<this.rects.length;i++){if(this.rects[i].intersects(r))return true;}
6466return false;},addRect(r){this.rects.push(r);}};return{Region,};});'use strict';tr.exportTo('tr.e.cc',function(){function TileCoverageRect(rect,tile){this.geometryRect=rect;this.tile=tile;}
6467return{TileCoverageRect,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerImplSnapshot(){ObjectSnapshot.apply(this,arguments);}
6468LayerImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeImpl_=undefined;this.parentLayer=undefined;},initialize(){this.invalidation=new tr.e.cc.Region();this.annotatedInvalidation=new tr.e.cc.Region();this.unrecordedRegion=new tr.e.cc.Region();this.pictures=[];tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['layerId','layerQuad']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['children','maskLayer','replicaLayer','idealContentsScale','geometryContentsScale','layoutRects','usingGpuRasterization']);this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;this.bounds=tr.b.math.Rect.fromXYWH(0,0,this.args.bounds.width,this.args.bounds.height);if(this.args.animationBounds){this.animationBoundsRect=tr.b.math.Rect.fromXYWH(this.args.animationBounds[0],this.args.animationBounds[1],this.args.animationBounds[3],this.args.animationBounds[4]);}
6469if(this.children){for(let i=0;i<this.children.length;i++){this.children[i].parentLayer=this;}}
6470if(this.maskLayer){this.maskLayer.parentLayer=this;}
6471if(this.replicaLayer){this.replicaLayer.parentLayer=this;}
6472if(!this.geometryContentsScale){this.geometryContentsScale=1.0;}
6473if(!this.idealContentsScale){this.idealContentsScale=1.0;}
6474this.touchEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.touchEventHandlerRegion);this.wheelEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.wheelEventHandlerRegion);this.nonFastScrollableRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.nonFastScrollableRegion);},get layerTreeImpl(){if(this.layerTreeImpl_){return this.layerTreeImpl_;}
6475if(this.parentLayer){return this.parentLayer.layerTreeImpl;}
6476return undefined;},set layerTreeImpl(layerTreeImpl){this.layerTreeImpl_=layerTreeImpl;},get activeLayer(){if(this.layerTreeImpl.whichTree===constants.ACTIVE_TREE){return this;}
6477const activeTree=this.layerTreeImpl.layerTreeHostImpl.activeTree;return activeTree.findLayerWithId(this.layerId);},get pendingLayer(){if(this.layerTreeImpl.whichTree===constants.PENDING_TREE){return this;}
6478const pendingTree=this.layerTreeImpl.layerTreeHostImpl.pendingTree;return pendingTree.findLayerWithId(this.layerId);}};function PictureLayerImplSnapshot(){LayerImplSnapshot.apply(this,arguments);}
6479PictureLayerImplSnapshot.prototype={__proto__:LayerImplSnapshot.prototype,initialize(){LayerImplSnapshot.prototype.initialize.call(this);if(this.args.invalidation){this.invalidation=tr.e.cc.Region.fromArray(this.args.invalidation);delete this.args.invalidation;}
6480if(this.args.annotatedInvalidationRects){this.annotatedInvalidation=new tr.e.cc.Region();for(let i=0;i<this.args.annotatedInvalidationRects.length;++i){const annotatedRect=this.args.annotatedInvalidationRects[i];const rect=annotatedRect.geometryRect;rect.reason=annotatedRect.reason;this.annotatedInvalidation.addRect(rect);}
6481delete this.args.annotatedInvalidationRects;}
6482if(this.args.unrecordedRegion){this.unrecordedRegion=tr.e.cc.Region.fromArray(this.args.unrecordedRegion);delete this.args.unrecordedRegion;}
6483if(this.args.pictures){this.pictures=this.args.pictures;this.pictures.sort(function(a,b){return a.ts-b.ts;});}
6484this.tileCoverageRects=[];if(this.args.coverageTiles){for(let i=0;i<this.args.coverageTiles.length;++i){const rect=this.args.coverageTiles[i].geometryRect.scale(this.idealContentsScale);const tile=this.args.coverageTiles[i].tile;this.tileCoverageRects.push(new tr.e.cc.TileCoverageRect(rect,tile));}
6485delete this.args.coverageTiles;}}};ObjectSnapshot.subTypes.register(PictureLayerImplSnapshot,{typeName:'cc::PictureLayerImpl'});ObjectSnapshot.subTypes.register(LayerImplSnapshot,{typeNames:['cc::LayerImpl','cc::DelegatedRendererLayerImpl','cc::HeadsUpDisplayLayerImpl','cc::IOSurfaceLayerImpl','cc::NinePatchLayerImpl','cc::PictureImageLayerImpl','cc::ScrollbarLayerImpl','cc::SolidColorLayerImpl','cc::SolidColorScrollbarLayerImpl','cc::SurfaceLayerImpl','cc::TextureLayerImpl','cc::TiledLayerImpl','cc::VideoLayerImpl','cc::PaintedScrollbarLayerImpl','ClankPatchLayer','TabBorderLayer','CounterLayer']});return{LayerImplSnapshot,PictureLayerImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerTreeImplSnapshot(){ObjectSnapshot.apply(this,arguments);}
6486LayerTreeImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeHostImpl=undefined;this.whichTree=undefined;this.sourceFrameNumber=undefined;},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['renderSurfaceLayerList']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['rootLayer','layers']);if(this.args.sourceFrameNumber){this.sourceFrameNumber=this.args.sourceFrameNumber;}
6487if(this.rootLayer){this.rootLayer.layerTreeImpl=this;}else{for(let i=0;i<this.layers.length;i++){this.layers[i].layerTreeImpl=this;}}
6488if(this.args.swapPromiseTraceIds&&this.args.swapPromiseTraceIds.length){this.tracedInputLatencies=[];const ownProcess=this.objectInstance.parent;const modelHelper=ownProcess.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper){this._initializeTracedInputLatencies(modelHelper);}}},_initializeTracedInputLatencies(modelHelper){const latencyEvents=modelHelper.browserHelper.getLatencyEventsInRange(modelHelper.model.bounds);latencyEvents.forEach(function(event){for(let i=0;i<this.args.swapPromiseTraceIds.length;i++){if(!event.args.data||!event.args.data.trace_id){continue;}
6489if(parseInt(event.args.data.trace_id)===this.args.swapPromiseTraceIds[i]){this.tracedInputLatencies.push(event);}}},this);},get hasSourceFrameBeenDrawnBefore(){if(this.whichTree===tr.e.cc.constants.PENDING_TREE){return false;}
6490if(this.sourceFrameNumber===undefined)return;const thisLTHI=this.layerTreeHostImpl;const thisLTHIIndex=thisLTHI.objectInstance.snapshots.indexOf(thisLTHI);const prevLTHIIndex=thisLTHIIndex-1;if(prevLTHIIndex<0||prevLTHIIndex>=thisLTHI.objectInstance.snapshots.length){return false;}
6491const prevLTHI=thisLTHI.objectInstance.snapshots[prevLTHIIndex];if(!prevLTHI.activeTree)return false;if(prevLTHI.activeTree.sourceFrameNumber===undefined)return;return prevLTHI.activeTree.sourceFrameNumber===this.sourceFrameNumber;},get otherTree(){const other=this.whichTree===constants.ACTIVE_TREE?constants.PENDING_TREE:constants.ACTIVE_TREE;return this.layerTreeHostImpl.getTree(other);},get gpuMemoryUsageInBytes(){let totalBytes=0;this.iterLayers(function(layer){if(layer.gpuMemoryUsageInBytes!==undefined){totalBytes+=layer.gpuMemoryUsageInBytes;}});return totalBytes;},iterLayers(func,thisArg){const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;func.call(thisArg,layer,depth,isMask,isReplica);if(layer.children){for(let i=0;i<layer.children.length;i++){visitLayer(layer.children[i],depth+1);}}
6492if(layer.maskLayer){visitLayer(layer.maskLayer,depth+1,true,false);}
6493if(layer.replicaLayer){visitLayer(layer.replicaLayer,depth+1,false,true);}}
6494if(this.rootLayer){visitLayer(this.rootLayer,0,false,false);}else{for(let i=0;i<this.layers.length;i++){visitLayer(this.layers[i],0,false,false);}}},findLayerWithId(id){let foundLayer=undefined;function visitLayer(layer){if(layer.layerId===id){foundLayer=layer;}}
6495this.iterLayers(visitLayer);return foundLayer;}};ObjectSnapshot.subTypes.register(LayerTreeImplSnapshot,{typeName:'cc::LayerTreeImpl'});return{LayerTreeImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayerTreeHostImplSnapshot(){ObjectSnapshot.apply(this,arguments);}
6496LayerTreeHostImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['deviceViewportSize','activeTree']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['pendingTree']);if(this.args.activeTiles!==undefined){this.activeTiles=this.args.activeTiles;delete this.args.activeTiles;}else if(this.args.tiles!==undefined){this.activeTiles=this.args.tiles;delete this.args.tiles;}
6497if(!this.activeTiles){this.activeTiles=[];}
6498this.activeTree.layerTreeHostImpl=this;this.activeTree.whichTree=constants.ACTIVE_TREE;if(this.pendingTree){this.pendingTree.layerTreeHostImpl=this;this.pendingTree.whichTree=constants.PENDING_TREE;}},getContentsScaleNames(){const scales={};for(let i=0;i<this.activeTiles.length;++i){const tile=this.activeTiles[i];scales[tile.contentsScale]=tile.resolution;}
6499return scales;},getTree(whichTree){if(whichTree===constants.ACTIVE_TREE){return this.activeTree;}
6500if(whichTree===constants.PENDING_TREE){return this.pendingTree;}
6501throw new Exception('Unknown tree type + '+whichTree);},get tilesHaveGpuMemoryUsageInfo(){if(this.tilesHaveGpuMemoryUsageInfo_!==undefined){return this.tilesHaveGpuMemoryUsageInfo_;}
6502for(let i=0;i<this.activeTiles.length;i++){if(this.activeTiles[i].gpuMemoryUsageInBytes===undefined){continue;}
6503this.tilesHaveGpuMemoryUsageInfo_=true;return true;}
6504this.tilesHaveGpuMemoryUsageInfo_=false;return false;},get gpuMemoryUsageInBytes(){if(!this.tilesHaveGpuMemoryUsageInfo)return;let usage=0;for(let i=0;i<this.activeTiles.length;i++){const u=this.activeTiles[i].gpuMemoryUsageInBytes;if(u!==undefined)usage+=u;}
6505return usage;},get userFriendlyName(){let frameNumber;if(!this.activeTree){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{if(this.activeTree.sourceFrameNumber===undefined){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{frameNumber=this.activeTree.sourceFrameNumber;}}
6506return'cc::LayerTreeHostImpl frame '+frameNumber;}};ObjectSnapshot.subTypes.register(LayerTreeHostImplSnapshot,{typeName:'cc::LayerTreeHostImpl'});function LayerTreeHostImplInstance(){ObjectInstance.apply(this,arguments);this.allLayersBBox_=undefined;}
6507LayerTreeHostImplInstance.prototype={__proto__:ObjectInstance.prototype,get allContentsScales(){if(this.allContentsScales_){return this.allContentsScales_;}
6508const scales={};for(const tileID in this.allTileHistories_){const tileHistory=this.allTileHistories_[tileID];scales[tileHistory.contentsScale]=true;}
6509this.allContentsScales_=Object.keys(scales);return this.allContentsScales_;},get allLayersBBox(){if(this.allLayersBBox_){return this.allLayersBBox_;}
6510const bbox=new tr.b.math.BBox2();function handleTree(tree){tree.renderSurfaceLayerList.forEach(function(layer){bbox.addQuad(layer.layerQuad);});}
6511this.snapshots.forEach(function(lthi){handleTree(lthi.activeTree);if(lthi.pendingTree){handleTree(lthi.pendingTree);}});this.allLayersBBox_=bbox;return this.allLayersBBox_;}};ObjectInstance.subTypes.register(LayerTreeHostImplInstance,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshot,LayerTreeHostImplInstance,};});'use strict';tr.exportTo('tr.e.cc',function(){const tileTypes={highRes:'highRes',lowRes:'lowRes',extraHighRes:'extraHighRes',extraLowRes:'extraLowRes',missing:'missing',culled:'culled',solidColor:'solidColor',picture:'picture',directPicture:'directPicture',unknown:'unknown'};const tileBorder={highRes:{color:'rgba(80, 200, 200, 0.7)',width:1},lowRes:{color:'rgba(212, 83, 192, 0.7)',width:2},extraHighRes:{color:'rgba(239, 231, 20, 0.7)',width:2},extraLowRes:{color:'rgba(93, 186, 18, 0.7)',width:2},missing:{color:'rgba(255, 0, 0, 0.7)',width:1},culled:{color:'rgba(160, 100, 0, 0.8)',width:1},solidColor:{color:'rgba(128, 128, 128, 0.7)',width:1},picture:{color:'rgba(64, 64, 64, 0.7)',width:1},directPicture:{color:'rgba(127, 255, 0, 1.0)',width:1},unknown:{color:'rgba(0, 0, 0, 1.0)',width:2}};return{tileTypes,tileBorder};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function TileSnapshot(){ObjectSnapshot.apply(this,arguments);}
6512TileSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['layerId','contentsScale','contentRect']);if(this.args.managedState){this.resolution=this.args.managedState.resolution;this.isSolidColor=this.args.managedState.isSolidColor;this.isUsingGpuMemory=this.args.managedState.isUsingGpuMemory;this.hasResource=this.args.managedState.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;}else{this.resolution=this.args.resolution;this.isSolidColor=this.args.drawInfo.isSolidColor;this.isUsingGpuMemory=this.args.isUsingGpuMemory;this.hasResource=this.args.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;}
6513if(this.contentRect){this.layerRect=this.contentRect.scale(1.0/this.contentsScale);}
6514if(this.isSolidColor){this.type_=tr.e.cc.tileTypes.solidColor;}else if(!this.hasResource){this.type_=tr.e.cc.tileTypes.missing;}else if(this.resolution==='HIGH_RESOLUTION'){this.type_=tr.e.cc.tileTypes.highRes;}else if(this.resolution==='LOW_RESOLUTION'){this.type_=tr.e.cc.tileTypes.lowRes;}else{this.type_=tr.e.cc.tileTypes.unknown;}},getTypeForLayer(layer){let type=this.type_;if(type===tr.e.cc.tileTypes.unknown){if(this.contentsScale<layer.idealContentsScale){type=tr.e.cc.tileTypes.extraLowRes;}else if(this.contentsScale>layer.idealContentsScale){type=tr.e.cc.tileTypes.extraHighRes;}}
6515return type;}};ObjectSnapshot.subTypes.register(TileSnapshot,{typeName:'cc::Tile'});return{TileSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const Location=tr.model.Location;function UIState(location,scaleX){this.location_=location;this.scaleX_=scaleX;}
6516UIState.fromUserFriendlyString=function(model,viewport,stateString){const navByFinderPattern=/^(-?\d+(\.\d+)?)@(.+)x(\d+(\.\d+)?)$/g;const match=navByFinderPattern.exec(stateString);if(!match)return;const timestamp=parseFloat(match[1]);const stableId=match[3];const scaleX=parseFloat(match[4]);if(scaleX<=0){throw new Error('Invalid ScaleX value in UI State string.');}
6517if(!viewport.containerToTrackMap.getTrackByStableId(stableId)){throw new Error('Invalid StableID given in UI State String.');}
6518const loc=tr.model.Location.fromStableIdAndTimestamp(viewport,stableId,timestamp);return new UIState(loc,scaleX);};UIState.prototype={get location(){return this.location_;},get scaleX(){return this.scaleX_;},toUserFriendlyString(viewport){const timestamp=this.location_.xWorld;const stableId=this.location_.getContainingTrack(viewport).eventContainer.stableId;const scaleX=this.scaleX_;return timestamp.toFixed(5)+'@'+stableId+'x'+scaleX.toFixed(5);},toDict(){return{location:this.location_.toDict(),scaleX:this.scaleX_};}};return{UIState,};});'use strict';tr.exportTo('tr.ui.b',function(){const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;function BrushingState(){this.guid_=tr.b.GUID.allocateSimple();this.selection_=new EventSet();this.findMatches_=new EventSet();this.analysisViewRelatedEvents_=new EventSet();this.analysisLinkHoveredEvents_=new EventSet();this.appliedToModel_=undefined;this.viewSpecificBrushingStates_={};}
6519BrushingState.prototype={get guid(){return this.guid_;},clone(){const that=new BrushingState();that.selection_=this.selection_;that.findMatches_=this.findMatches_;that.analysisViewRelatedEvents_=this.analysisViewRelatedEvents_;that.analysisLinkHoveredEvents_=this.analysisLinkHoveredEvents_;that.viewSpecificBrushingStates_=this.viewSpecificBrushingStates_;return that;},equals(that){if(!this.selection_.equals(that.selection_)){return false;}
6520if(!this.findMatches_.equals(that.findMatches_)){return false;}
6521if(!this.analysisViewRelatedEvents_.equals(that.analysisViewRelatedEvents_)){return false;}
6522if(!this.analysisLinkHoveredEvents_.equals(that.analysisLinkHoveredEvents_)){return false;}
6523return true;},get selectionOfInterest(){if(this.selection_.length){return this.selection_;}
6524if(this.highlight_.length){return this.highlight_;}
6525if(this.analysisViewRelatedEvents_.length){return this.analysisViewRelatedEvents_;}
6526if(this.analysisLinkHoveredEvents_.length){return this.analysisLinkHoveredEvents_;}
6527return this.selection_;},get selection(){return this.selection_;},set selection(selection){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6528if(selection===undefined){selection=new EventSet();}
6529this.selection_=selection;},get findMatches(){return this.findMatches_;},set findMatches(findMatches){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6530if(findMatches===undefined){findMatches=new EventSet();}
6531this.findMatches_=findMatches;},get analysisViewRelatedEvents(){return this.analysisViewRelatedEvents_;},set analysisViewRelatedEvents(analysisViewRelatedEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6532if(analysisViewRelatedEvents===undefined){analysisViewRelatedEvents=new EventSet();}
6533this.analysisViewRelatedEvents_=analysisViewRelatedEvents;},get analysisLinkHoveredEvents(){return this.analysisLinkHoveredEvents_;},set analysisLinkHoveredEvents(analysisLinkHoveredEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6534if(analysisLinkHoveredEvents===undefined){analysisLinkHoveredEvents=new EventSet();}
6535this.analysisLinkHoveredEvents_=analysisLinkHoveredEvents;},get isAppliedToModel(){return this.appliedToModel_!==undefined;},get viewSpecificBrushingStates(){return this.viewSpecificBrushingStates_;},set viewSpecificBrushingStates(viewSpecificBrushingStates){this.viewSpecificBrushingStates_=viewSpecificBrushingStates;},get dimmedEvents_(){const dimmedEvents=new EventSet();dimmedEvents.addEventSet(this.findMatches);dimmedEvents.addEventSet(this.analysisViewRelatedEvents_);return dimmedEvents;},get brightenedEvents_(){const brightenedEvents=new EventSet();brightenedEvents.addEventSet(this.selection_);brightenedEvents.addEventSet(this.analysisLinkHoveredEvents_);return brightenedEvents;},applyToEventSelectionStates(model){this.appliedToModel_=model;const dimmedEvents=this.dimmedEvents_;if(model){const newDefaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);const currentDefaultState=tr.b.getFirstElement(model.getDescendantEvents()).selectionState;if(currentDefaultState!==newDefaultState){for(const e of model.getDescendantEvents()){e.selectionState=newDefaultState;}}}
6536let score;for(const e of dimmedEvents){score=0;if(this.findMatches_.contains(e)){score++;}
6537if(this.analysisViewRelatedEvents_.contains(e)){score++;}
6538e.selectionState=SelectionState.getFromDimmingLevel(score);}
6539for(const e of this.brightenedEvents_){score=0;if(this.selection_.contains(e)){score++;}
6540if(this.analysisLinkHoveredEvents_.contains(e)){score++;}
6541e.selectionState=SelectionState.getFromBrighteningLevel(score);}},transferModelOwnershipToClone(that){if(!this.appliedToModel_){throw new Error('Not applied');}
6542that.appliedToModel_=this.appliedToModel_;this.appliedToModel_=undefined;},unapplyFromEventSelectionStates(){if(!this.appliedToModel_){throw new Error('Not applied');}
6543const model=this.appliedToModel_;this.appliedToModel_=undefined;const dimmedEvents=this.dimmedEvents_;const defaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);for(const e of this.brightenedEvents_){e.selectionState=defaultState;}
6544for(const e of dimmedEvents){e.selectionState=defaultState;}
6545return defaultState;}};return{BrushingState,};});'use strict';tr.exportTo('tr.ui.b',function(){function Animation(){}
6546Animation.prototype={canTakeOverFor(existingAnimation){throw new Error('Not implemented');},takeOverFor(existingAnimation,newStartTimestamp,target){throw new Error('Not implemented');},start(timestamp,target){throw new Error('Not implemented');},didStopEarly(timestamp,target,willBeTakenOverByAnotherAnimation){},tick(timestamp,target){throw new Error('Not implemented');}};return{Animation,};});'use strict';tr.exportTo('tr.ui.b',function(){function AnimationController(){tr.b.EventTarget.call(this);this.target_=undefined;this.activeAnimation_=undefined;this.tickScheduled_=false;}
6547AnimationController.prototype={__proto__:tr.b.EventTarget.prototype,get target(){return this.target_;},set target(target){if(this.activeAnimation_){throw new Error('Cannot change target while animation is running.');}
6548if(target.cloneAnimationState===undefined||typeof target.cloneAnimationState!=='function'){throw new Error('target must have a cloneAnimationState function');}
6549this.target_=target;},get activeAnimation(){return this.activeAnimation_;},get hasActiveAnimation(){return!!this.activeAnimation_;},queueAnimation(animation,opt_now){if(this.target_===undefined){throw new Error('Cannot queue animations without a target');}
6550let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();}
6551if(this.activeAnimation_){const done=this.activeAnimation_.tick(now,this.target_);if(done){this.activeAnimation_=undefined;}}
6552if(this.activeAnimation_){if(animation.canTakeOverFor(this.activeAnimation_)){this.activeAnimation_.didStopEarly(now,this.target_,true);animation.takeOverFor(this.activeAnimation_,now,this.target_);}else{this.activeAnimation_.didStopEarly(now,this.target_,false);}}
6553this.activeAnimation_=animation;this.activeAnimation_.start(now,this.target_);if(this.tickScheduled_)return;this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);},cancelActiveAnimation(opt_now){if(!this.activeAnimation_)return;let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();}
6554this.activeAnimation_.didStopEarly(now,this.target_,false);this.activeAnimation_=undefined;},tickActiveAnimation_(frameBeginTime){this.tickScheduled_=false;if(!this.activeAnimation_)return;if(this.target_===undefined){this.activeAnimation_.didStopEarly(frameBeginTime,this.target_,false);return;}
6555const oldTargetState=this.target_.cloneAnimationState();const done=this.activeAnimation_.tick(frameBeginTime,this.target_);if(done){this.activeAnimation_=undefined;}
6556if(this.activeAnimation_){this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);}
6557if(oldTargetState){const e=new tr.b.Event('didtick');e.oldTargetState=oldTargetState;this.dispatchEvent(e,false,false);}}};return{AnimationController,};});'use strict';tr.exportTo('tr.b',function(){function Settings(){return Settings;}
6558if(tr.b.unittest&&tr.b.unittest.TestRunner){tr.b.unittest.TestRunner.addEventListener('tr-unittest-will-run',function(){if(tr.isHeadless){Settings.setAlternativeStorageInstance(new HeadlessStorage());}else{Settings.setAlternativeStorageInstance(global.sessionStorage);global.sessionStorage.clear();}});}
6559function SessionSettings(){return SessionSettings;}
6560function AddStaticStorageFunctionsToClass_(inputClass,storage){inputClass.storage_=storage;inputClass.get=function(key,opt_default,opt_namespace){key=inputClass.namespace_(key,opt_namespace);const rawVal=inputClass.storage_.getItem(key);if(rawVal===null||rawVal===undefined){return opt_default;}
6561try{return JSON.parse(rawVal).value;}catch(e){inputClass.storage_.removeItem(key);return opt_default;}};inputClass.set=function(key,value,opt_namespace){if(value===undefined){throw new Error('Settings.set: value must not be undefined');}
6562const v=JSON.stringify({value});inputClass.storage_.setItem(inputClass.namespace_(key,opt_namespace),v);};inputClass.keys=function(opt_namespace){const result=[];opt_namespace=opt_namespace||'';for(let i=0;i<inputClass.storage_.length;i++){const key=inputClass.storage_.key(i);if(inputClass.isnamespaced_(key,opt_namespace)){result.push(inputClass.unnamespace_(key,opt_namespace));}}
6563return result;};inputClass.isnamespaced_=function(key,opt_namespace){return key.indexOf(inputClass.normalize_(opt_namespace))===0;};inputClass.namespace_=function(key,opt_namespace){return inputClass.normalize_(opt_namespace)+key;};inputClass.unnamespace_=function(key,opt_namespace){return key.replace(inputClass.normalize_(opt_namespace),'');};inputClass.normalize_=function(opt_namespace){return inputClass.NAMESPACE+(opt_namespace?opt_namespace+'.':'');};inputClass.setAlternativeStorageInstance=function(instance){inputClass.storage_=instance;};inputClass.getAlternativeStorageInstance=function(){if(!tr.isHeadless&&inputClass.storage_===localStorage){return undefined;}
6564return inputClass.storage_;};inputClass.NAMESPACE='trace-viewer';}
6565function HeadlessStorage(){this.length=0;this.hasItem_={};this.items_={};this.itemsAsArray_=undefined;}
6566HeadlessStorage.prototype={key(index){return this.itemsAsArray[index];},get itemsAsArray(){if(this.itemsAsArray_!==undefined){return this.itemsAsArray_;}
6567const itemsAsArray=[];for(const k in this.items_){itemsAsArray.push(k);}
6568this.itemsAsArray_=itemsAsArray;return this.itemsAsArray_;},getItem(key){if(!this.hasItem_[key]){return null;}
6569return this.items_[key];},removeItem(key){if(!this.hasItem_[key]){return;}
6570const value=this.items_[key];delete this.hasItem_[key];delete this.items_[key];this.length--;this.itemsAsArray_=undefined;return value;},setItem(key,value){if(this.hasItem_[key]){this.items_[key]=value;return;}
6571this.items_[key]=value;this.hasItem_[key]=true;this.length++;this.itemsAsArray_=undefined;return value;}};if(tr.isHeadless){AddStaticStorageFunctionsToClass_(Settings,new HeadlessStorage());AddStaticStorageFunctionsToClass_(SessionSettings,new HeadlessStorage());}else{AddStaticStorageFunctionsToClass_(Settings,localStorage);AddStaticStorageFunctionsToClass_(SessionSettings,sessionStorage);}
6572return{Settings,SessionSettings,};});'use strict';tr.exportTo('tr.ui.b',function(){function createSpan(opt_dictionary){let ownerDocument=document;if(opt_dictionary&&opt_dictionary.ownerDocument){ownerDocument=opt_dictionary.ownerDocument;}
6573const spanEl=ownerDocument.createElement('span');if(opt_dictionary){if(opt_dictionary.className){spanEl.className=opt_dictionary.className;}
6574if(opt_dictionary.textContent){Polymer.dom(spanEl).textContent=opt_dictionary.textContent;}
6575if(opt_dictionary.tooltip){spanEl.title=opt_dictionary.tooltip;}
6576if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(spanEl);}
6577if(opt_dictionary.bold){spanEl.style.fontWeight='bold';}
6578if(opt_dictionary.italic){spanEl.style.fontStyle='italic';}
6579if(opt_dictionary.marginLeft){spanEl.style.marginLeft=opt_dictionary.marginLeft;}
6580if(opt_dictionary.marginRight){spanEl.style.marginRight=opt_dictionary.marginRight;}
6581if(opt_dictionary.backgroundColor){spanEl.style.backgroundColor=opt_dictionary.backgroundColor;}
6582if(opt_dictionary.color){spanEl.style.color=opt_dictionary.color;}}
6583return spanEl;}
6584function createLink(opt_args){let ownerDocument=document;if(opt_args&&opt_args.ownerDocument){ownerDocument=opt_args.ownerDocument;}
6585const linkEl=ownerDocument.createElement('a');if(opt_args){if(opt_args.href)linkEl.href=opt_args.href;if(opt_args.tooltip)linkEl.title=opt_args.tooltip;if(opt_args.color)linkEl.style.color=opt_args.color;if(opt_args.bold)linkEl.style.fontWeight='bold';if(opt_args.italic)linkEl.style.fontStyle='italic';if(opt_args.className)linkEl.className=opt_args.className;if(opt_args.parent)Polymer.dom(opt_args.parent).appendChild(linkEl);if(opt_args.marginLeft)linkEl.style.marginLeft=opt_args.marginLeft;if(opt_args.marginRight)linkEl.style.marginRight=opt_args.marginRight;if(opt_args.backgroundColor){linkEl.style.backgroundColor=opt_args.backgroundColor;}
6586if(opt_args.textContent){Polymer.dom(linkEl).textContent=opt_args.textContent;}}
6587return linkEl;}
6588function createDiv(opt_dictionary){const divEl=document.createElement('div');if(opt_dictionary){if(opt_dictionary.className){divEl.className=opt_dictionary.className;}
6589if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(divEl);}
6590if(opt_dictionary.textContent){Polymer.dom(divEl).textContent=opt_dictionary.textContent;}
6591if(opt_dictionary.maxWidth){divEl.style.maxWidth=opt_dictionary.maxWidth;}}
6592return divEl;}
6593function createScopedStyle(styleContent){const styleEl=document.createElement('style');styleEl.scoped=true;Polymer.dom(styleEl).innerHTML=styleContent;return styleEl;}
6594function valuesEqual(a,b){if(a instanceof Array&&b instanceof Array){return a.length===b.length&&JSON.stringify(a)===JSON.stringify(b);}
6595return a===b;}
6596function createSelector(targetEl,targetElProperty,settingsKey,defaultValue,items,opt_namespace){let defaultValueIndex;for(let i=0;i<items.length;i++){const item=items[i];if(valuesEqual(item.value,defaultValue)){defaultValueIndex=i;break;}}
6597if(defaultValueIndex===undefined){throw new Error('defaultValue must be in the items list');}
6598const selectorEl=document.createElement('select');selectorEl.addEventListener('change',onChange);for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);}
6599function onChange(e){const value=selectorEl.selectedOptions[0].targetPropertyValue;tr.b.Settings.set(settingsKey,value,opt_namespace);targetEl[targetElProperty]=value;}
6600const oldSetter=targetEl.__lookupSetter__('selectedIndex');selectorEl.__defineGetter__('selectedValue',function(v){return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(valuesEqual(value,v)){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;onChange();}
6601return;}}
6602throw new Error('Not a valid value');});const initialValue=tr.b.Settings.get(settingsKey,defaultValue,opt_namespace);let didSet=false;for(let i=0;i<selectorEl.children.length;i++){if(valuesEqual(selectorEl.children[i].targetPropertyValue,initialValue)){didSet=true;targetEl[targetElProperty]=initialValue;selectorEl.selectedIndex=i;break;}}
6603if(!didSet){selectorEl.selectedIndex=defaultValueIndex;targetEl[targetElProperty]=defaultValue;}
6604return selectorEl;}
6605function createEditCategorySpan(optionGroupEl,targetEl){const spanEl=createSpan({className:'edit-categories'});Polymer.dom(spanEl).textContent='Edit categories';Polymer.dom(spanEl).classList.add('labeled-option');spanEl.addEventListener('click',function(){targetEl.onClickEditCategories();});return spanEl;}
6606function createOptionGroup(targetEl,targetElProperty,settingsKey,defaultValue,items){function onChange(){let value=[];if(this.value.length){value=this.value.split(',');}
6607tr.b.Settings.set(settingsKey,value);targetEl[targetElProperty]=value;}
6608const optionGroupEl=createSpan({className:'labeled-option-group'});const initialValue=tr.b.Settings.get(settingsKey,defaultValue);for(let i=0;i<items.length;++i){const item=items[i];const id='category-preset-'+item.label.replace(/ /g,'-');const radioEl=document.createElement('input');radioEl.type='radio';Polymer.dom(radioEl).setAttribute('id',id);Polymer.dom(radioEl).setAttribute('name','category-presets-group');Polymer.dom(radioEl).setAttribute('value',item.value);radioEl.addEventListener('change',onChange.bind(radioEl,targetEl,targetElProperty,settingsKey));if(valuesEqual(initialValue,item.value)){radioEl.checked=true;}
6609const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=item.label;Polymer.dom(labelEl).setAttribute('for',id);const spanEl=createSpan({className:'labeled-option'});Polymer.dom(spanEl).appendChild(radioEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=radioEl.checked!==(!!opt_bool);if(!changed)return;radioEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return radioEl.checked;});Polymer.dom(optionGroupEl).appendChild(spanEl);}
6610Polymer.dom(optionGroupEl).appendChild(createEditCategorySpan(optionGroupEl,targetEl));if(!initialValue.length){Polymer.dom(optionGroupEl).classList.add('categories-expanded');}
6611targetEl[targetElProperty]=initialValue;return optionGroupEl;}
6612let nextCheckboxId=1;function createCheckBox(targetEl,targetElProperty,settingsKey,defaultValue,label,opt_changeCb){const buttonEl=document.createElement('input');buttonEl.type='checkbox';let initialValue=defaultValue;if(settingsKey!==undefined){initialValue=tr.b.Settings.get(settingsKey,defaultValue);buttonEl.checked=!!initialValue;}
6613if(targetEl){targetEl[targetElProperty]=initialValue;}
6614function onChange(){if(settingsKey!==undefined){tr.b.Settings.set(settingsKey,buttonEl.checked);}
6615if(targetEl){targetEl[targetElProperty]=buttonEl.checked;}
6616if(opt_changeCb){opt_changeCb.call();}}
6617buttonEl.addEventListener('change',onChange);const id='#checkbox-'+nextCheckboxId++;const spanEl=createSpan({className:'labeled-checkbox'});Polymer.dom(buttonEl).setAttribute('id',id);const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=label;Polymer.dom(labelEl).setAttribute('for',id);Polymer.dom(spanEl).appendChild(buttonEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=buttonEl.checked!==(!!opt_bool);if(!changed)return;buttonEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return buttonEl.checked;});return spanEl;}
6618function createButton(label,opt_callback,opt_this){const buttonEl=document.createElement('input');buttonEl.type='button';buttonEl.value=label;function onClick(){opt_callback.call(opt_this||buttonEl);}
6619if(opt_callback){buttonEl.addEventListener('click',onClick);}
6620return buttonEl;}
6621function createTextInput(targetEl,targetElProperty,settingsKey,defaultValue){const initialValue=tr.b.Settings.get(settingsKey,defaultValue);const el=document.createElement('input');el.type='text';function onChange(e){tr.b.Settings.set(settingsKey,el.value);targetEl[targetElProperty]=el.value;}
6622el.addEventListener('input',onChange);el.value=initialValue;targetEl[targetElProperty]=initialValue;return el;}
6623function isElementAttachedToDocument(el){let cur=el;while(Polymer.dom(cur).parentNode){cur=Polymer.dom(cur).parentNode;}
6624return(cur===el.ownerDocument||cur.nodeName==='#document-fragment');}
6625function asHTMLOrTextNode(value,opt_ownerDocument){if(value instanceof Node){return value;}
6626const ownerDocument=opt_ownerDocument||document;return ownerDocument.createTextNode(value);}
6627return{createSpan,createLink,createDiv,createScopedStyle,createSelector,createOptionGroup,createCheckBox,createButton,createTextInput,isElementAttachedToDocument,asHTMLOrTextNode,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCacheDict=new Map();const elidedTitleCache=new ElidedTitleCache();function ElidedTitleCache(){this.textWidthMap=new Map();}
6628ElidedTitleCache.prototype={get(ctx,pixWidth,title,width,sliceDuration){let elidedDict=elidedTitleCacheDict.get(title);if(!elidedDict){elidedDict=new Map();elidedTitleCacheDict.set(title,elidedDict);}
6629let elidedDictForPixWidth=elidedDict.get(pixWidth);if(!elidedDictForPixWidth){elidedDict.set(pixWidth,new Map());elidedDictForPixWidth=elidedDict.get(pixWidth);}
6630let stringWidthPair=elidedDictForPixWidth.get(sliceDuration);if(stringWidthPair===undefined){let newtitle=title;let elided=false;while(this.labelWidthWorld(ctx,newtitle,pixWidth)>sliceDuration){if(newtitle.length*0.75<1)break;newtitle=newtitle.substring(0,newtitle.length*0.75);elided=true;}
6631if(elided&&newtitle.length>3){newtitle=newtitle.substring(0,newtitle.length-3)+'...';}
6632stringWidthPair=new ElidedStringWidthPair(newtitle,this.labelWidth(ctx,newtitle));elidedDictForPixWidth.set(sliceDuration,stringWidthPair);}
6633return stringWidthPair;},quickMeasureText_(ctx,text){let w=this.textWidthMap.get(text);if(!w){w=ctx.measureText(text).width;this.textWidthMap.set(text,w);}
6634return w;},labelWidth(ctx,title){return this.quickMeasureText_(ctx,title)+2;},labelWidthWorld(ctx,title,pixWidth){return this.labelWidth(ctx,title)*pixWidth;}};function ElidedStringWidthPair(string,width){this.string=string;this.width=width;}
6635return{ElidedTitleCache,};});'use strict';tr.exportTo('tr.ui.b',function(){const ColorScheme=tr.b.ColorScheme;const colors=ColorScheme.colors;const colorsAsStrings=ColorScheme.colorsAsStrings;const SelectionState=tr.model.SelectionState;const EventPresenter={getSelectableItemColorAsString(item){const offset=this.getColorIdOffset_(item);const colorId=ColorScheme.getVariantColorId(item.colorId,offset);return colorsAsStrings[colorId];},getColorIdOffset_(event){return event.selectionState;},getTextColor(event){if(event.selectionState===SelectionState.DIMMED){return'rgb(60,60,60)';}
6636return'rgb(0,0,0)';},getSliceColorId(slice){const offset=this.getColorIdOffset_(slice);return ColorScheme.getVariantColorId(slice.colorId,offset);},getSliceAlpha(slice,async){let alpha=1;if(async){alpha*=0.3;}
6637return alpha;},getInstantSliceColor(instant){const offset=this.getColorIdOffset_(instant);const colorId=ColorScheme.getVariantColorId(instant.colorId,offset);return colors[colorId].toStringWithAlphaOverride(1.0);},getObjectInstanceColor(instance){const offset=this.getColorIdOffset_(instance);const colorId=ColorScheme.getVariantColorId(instance.colorId,offset);return colors[colorId].toStringWithAlphaOverride(0.25);},getObjectSnapshotColor(snapshot){const offset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getVariantColorId(colorId,offset);return colors[colorId];},getCounterSeriesColor(colorId,selectionState,opt_alphaMultiplier){const event={selectionState};const offset=this.getColorIdOffset_(event);const c=colors[ColorScheme.getVariantColorId(colorId,offset)];return c.toStringWithAlphaOverride(opt_alphaMultiplier!==undefined?opt_alphaMultiplier:1.0);},getBarSnapshotColor(snapshot,offset){const snapshotOffset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getAnotherColorId(colorId,offset);colorId=ColorScheme.getVariantColorId(colorId,snapshotOffset);return colors[colorId].toStringWithAlphaOverride(1.0);}};return{EventPresenter,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCache=new tr.ui.b.ElidedTitleCache();const ColorScheme=tr.b.ColorScheme;const colorsAsStrings=ColorScheme.colorsAsStrings;const EventPresenter=tr.ui.b.EventPresenter;const blackColorId=ColorScheme.getColorIdForReservedName('black');const THIN_SLICE_HEIGHT=4;const SLICE_WAITING_WIDTH_DRAW_THRESHOLD=3;const SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD=1;const SHOULD_ELIDE_TEXT=true;function drawLine(ctx,x1,y1,x2,y2){ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);}
6638function drawTriangle(ctx,x1,y1,x2,y2,x3,y3){ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.lineTo(x3,y3);ctx.closePath();}
6639function drawArrow(ctx,x1,y1,x2,y2,arrowLength,arrowWidth){const dx=x2-x1;const dy=y2-y1;const len=Math.sqrt(dx*dx+dy*dy);const perc=(len-arrowLength)/len;const bx=x1+perc*dx;const by=y1+perc*dy;const ux=dx/len;const uy=dy/len;const ax=uy*arrowWidth;const ay=-ux*arrowWidth;ctx.beginPath();drawLine(ctx,x1,y1,x2,y2);ctx.stroke();drawTriangle(ctx,bx+ax,by+ay,x2,y2,bx-ax,by-ay);ctx.fill();}
6640function drawSlices(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,async){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);const height=viewHeight*pixelRatio;let darkRectHeight=THIN_SLICE_HEIGHT*pixelRatio;if(height<darkRectHeight){darkRectHeight=0;}
6641const lightRectHeight=height-darkRectHeight;ctx.save();dt.applyTransformToCanvas(ctx);const rect=new tr.ui.b.FastRectRenderer(ctx,2*pixWidth,2*pixWidth,colorsAsStrings);rect.setYandH(0,height);const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);let hadTopLevel=false;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}}
6642const colorId=EventPresenter.getSliceColorId(slice);const alpha=EventPresenter.getSliceAlpha(slice,async);const lightAlpha=alpha*0.70;if(async&&slice.isTopLevel){rect.setYandH(3,height-3);hadTopLevel=true;}else{rect.setYandH(0,height);}
6643if(!slice.cpuDuration){rect.fillRect(x,w,colorId,alpha);continue;}
6644let activeWidth=w*(slice.cpuDuration/slice.duration);let waitingWidth=w-activeWidth;if(activeWidth<SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=0;waitingWidth=w;}
6645if(waitingWidth<SLICE_WAITING_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=w;waitingWidth=0;}
6646if(activeWidth>0){rect.fillRect(x,activeWidth,colorId,alpha);}
6647if(waitingWidth>0){rect.setYandH(0,lightRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,lightAlpha);rect.setYandH(lightRectHeight,darkRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,alpha);rect.setYandH(0,height);}}
6648rect.flush();if(async&&hadTopLevel){rect.setYandH(2,1);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;if(!slice.isTopLevel)continue;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}}
6649rect.fillRect(x,w,blackColorId,0.7);}
6650rect.flush();}
6651ctx.restore();}
6652function drawInstantSlicesAsLines(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,lineWidthInPixels){const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.lineWidth=pixWidth*lineWidthInPixels*pixelRatio;dt.applyTransformToCanvas(ctx);ctx.beginPath();const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start;},viewLWorld);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;ctx.strokeStyle=EventPresenter.getInstantSliceColor(slice);ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,height);ctx.stroke();}
6653ctx.restore();}
6654function drawLabels(ctx,dt,viewLWorld,viewRWorld,slices,async,fontSize,yOffset){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.textAlign='center';ctx.textBaseline='top';ctx.font=(fontSize*pixelRatio)+'px sans-serif';if(async){ctx.font='italic '+ctx.font;}
6655const cY=yOffset*pixelRatio;const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);const quickDiscardThresshold=pixWidth*20;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];if(slice.start>viewRWorld)break;if(slice.duration<=quickDiscardThresshold)continue;const title=slice.title+
6656(slice.didNotFinish?' (Did Not Finish)':'');let drawnTitle=title;let drawnWidth=elidedTitleCache.labelWidth(ctx,drawnTitle);const fullLabelWidth=elidedTitleCache.labelWidthWorld(ctx,drawnTitle,pixWidth);if(SHOULD_ELIDE_TEXT&&fullLabelWidth>slice.duration){const elidedValues=elidedTitleCache.get(ctx,pixWidth,drawnTitle,drawnWidth,slice.duration);drawnTitle=elidedValues.string;drawnWidth=elidedValues.width;}
6657if(drawnWidth*pixWidth<slice.duration){ctx.fillStyle=EventPresenter.getTextColor(slice);const cX=dt.xWorldToView(slice.start+0.5*slice.duration);ctx.fillText(drawnTitle,cX,cY,drawnWidth);}}
6658ctx.restore();}
6659return{drawSlices,drawInstantSlicesAsLines,drawLabels,drawLine,drawTriangle,drawArrow,elidedTitleCache_:elidedTitleCache,THIN_SLICE_HEIGHT,};});'use strict';tr.exportTo('tr.ui',function(){function TimelineDisplayTransform(opt_that){if(opt_that){this.set(opt_that);return;}
6660this.scaleX=1;this.panX=0;this.panY=0;}
6661TimelineDisplayTransform.prototype={set(that){this.scaleX=that.scaleX;this.panX=that.panX;this.panY=that.panY;},clone(){return new TimelineDisplayTransform(this);},equals(that){let eq=true;if(that===undefined||that===null){return false;}
6662eq&=this.panX===that.panX;eq&=this.panY===that.panY;eq&=this.scaleX===that.scaleX;return!!eq;},almostEquals(that){let eq=true;if(that===undefined||that===null){return false;}
6663eq&=Math.abs(this.panX-that.panX)<0.001;eq&=Math.abs(this.panY-that.panY)<0.001;eq&=Math.abs(this.scaleX-that.scaleX)<0.001;return!!eq;},incrementPanXInViewUnits(xDeltaView){this.panX+=this.xViewVectorToWorld(xDeltaView);},xPanWorldPosToViewPos(worldX,viewX,viewWidth){if(typeof viewX==='string'){if(viewX==='left'){viewX=0;}else if(viewX==='center'){viewX=viewWidth/2;}else if(viewX==='right'){viewX=viewWidth-1;}else{throw new Error('viewX must be left|center|right or number.');}}
6664this.panX=(viewX/this.scaleX)-worldX;},xPanWorldBoundsIntoView(worldMin,worldMax,viewWidth){if(this.xWorldToView(worldMin)<0){this.xPanWorldPosToViewPos(worldMin,'left',viewWidth);}else if(this.xWorldToView(worldMax)>viewWidth){this.xPanWorldPosToViewPos(worldMax,'right',viewWidth);}},xSetWorldBounds(worldMin,worldMax,viewWidth){const worldWidth=worldMax-worldMin;const scaleX=viewWidth/worldWidth;const panX=-worldMin;this.setPanAndScale(panX,scaleX);},setPanAndScale(p,s){this.scaleX=s;this.panX=p;},xWorldToView(x){return(x+this.panX)*this.scaleX;},xWorldVectorToView(x){return x*this.scaleX;},xViewToWorld(x){return(x/this.scaleX)-this.panX;},xViewVectorToWorld(x){return x/this.scaleX;},applyTransformToCanvas(ctx){ctx.transform(this.scaleX,0,0,1,this.panX*this.scaleX,0);}};return{TimelineDisplayTransform,};});'use strict';tr.exportTo('tr.ui',function(){function SnapIndicator(y,height){this.y=y;this.height=height;}
6665function TimelineInterestRange(vp){this.viewport_=vp;this.range_=new tr.b.math.Range();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;}
6666TimelineInterestRange.prototype={get isEmpty(){return this.range_.isEmpty;},reset(){this.range_.reset();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;this.viewport_.dispatchChangeEvent();},get min(){return this.range_.min;},set min(min){this.range_.min=min;this.viewport_.dispatchChangeEvent();},get max(){return this.range_.max;},set max(max){this.range_.max=max;this.viewport_.dispatchChangeEvent();},set(range){this.range_.reset();this.range_.addRange(range);this.viewport_.dispatchChangeEvent();},setMinAndMax(min,max){this.range_.min=min;this.range_.max=max;this.viewport_.dispatchChangeEvent();},get range(){return this.range_.range;},asRangeObject(){const range=new tr.b.math.Range();range.addRange(this.range_);return range;},get leftSelected(){return this.leftSelected_;},set leftSelected(leftSelected){if(this.leftSelected_===leftSelected)return;this.leftSelected_=leftSelected;this.viewport_.dispatchChangeEvent();},get rightSelected(){return this.rightSelected_;},set rightSelected(rightSelected){if(this.rightSelected_===rightSelected)return;this.rightSelected_=rightSelected;this.viewport_.dispatchChangeEvent();},get leftSnapIndicator(){return this.leftSnapIndicator_;},set leftSnapIndicator(leftSnapIndicator){this.leftSnapIndicator_=leftSnapIndicator;this.viewport_.dispatchChangeEvent();},get rightSnapIndicator(){return this.rightSnapIndicator_;},set rightSnapIndicator(rightSnapIndicator){this.rightSnapIndicator_=rightSnapIndicator;this.viewport_.dispatchChangeEvent();},draw(ctx,viewLWorld,viewRWorld){if(this.range_.isEmpty)return;const dt=this.viewport_.currentDisplayTransform;const markerLWorld=this.min;const markerRWorld=this.max;const markerLView=Math.round(dt.xWorldToView(markerLWorld));const markerRView=Math.round(dt.xWorldToView(markerRWorld));ctx.fillStyle='rgba(0, 0, 0, 0.2)';if(markerLWorld>viewLWorld){ctx.fillRect(dt.xWorldToView(viewLWorld),0,markerLView,ctx.canvas.height);}
6667if(markerRWorld<viewRWorld){ctx.fillRect(markerRView,0,dt.xWorldToView(viewRWorld),ctx.canvas.height);}
6668const pixelRatio=window.devicePixelRatio||1;ctx.lineWidth=Math.round(pixelRatio);if(this.range_.range>0){this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_);this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.max,this.rightSelected_);}else{this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_||this.rightSelected_);}
6669ctx.lineWidth=1;},drawLine_(ctx,viewLWorld,viewRWorld,height,ts,selected){if(ts<viewLWorld||ts>=viewRWorld)return;const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(ts));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,height);if(selected){ctx.strokeStyle='rgb(255, 0, 0)';}else{ctx.strokeStyle='rgb(0, 0, 0)';}
6670ctx.stroke();ctx.restore();},drawIndicators(ctx,viewLWorld,viewRWorld){if(this.leftSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.min,this.leftSnapIndicator_,this.leftSelected_);}
6671if(this.rightSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.max,this.rightSnapIndicator_,this.rightSelected_);}},drawIndicator_(ctx,viewLWorld,viewRWorld,xWorld,si,selected){const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(xWorld));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);const pixelRatio=window.devicePixelRatio||1;const viewY=si.y*devicePixelRatio;const viewHeight=si.height*devicePixelRatio;const arrowSize=4*pixelRatio;if(selected){ctx.fillStyle='rgb(255, 0, 0)';}else{ctx.fillStyle='rgb(0, 0, 0)';}
6672tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY,viewX+arrowSize*0.75,viewY,viewX,viewY+arrowSize);ctx.fill();tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY+viewHeight,viewX+arrowSize*0.75,viewY+viewHeight,viewX,viewY+viewHeight-arrowSize);ctx.fill();ctx.restore();}};return{SnapIndicator,TimelineInterestRange,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ContainerToTrackMap(){this.stableIdToTrackMap_={};}
6673ContainerToTrackMap.prototype={addContainer(container,track){if(!track){throw new Error('Must provide a track.');}
6674this.stableIdToTrackMap_[container.stableId]=track;},clear(){this.stableIdToTrackMap_={};},getTrackByStableId(stableId){return this.stableIdToTrackMap_[stableId];}};return{ContainerToTrackMap,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function EventToTrackMap(){}
6675EventToTrackMap.prototype={addEvent(event,track){if(!track){throw new Error('Must provide a track.');}
6676this[event.guid]=track;}};return{EventToTrackMap,};});'use strict';tr.exportTo('tr.ui',function(){const TimelineDisplayTransform=tr.ui.TimelineDisplayTransform;const TimelineInterestRange=tr.ui.TimelineInterestRange;const IDEAL_MAJOR_MARK_DISTANCE_PX=150;const MAJOR_MARK_ROUNDING_FACTOR=100000;class AnimationControllerProxy{constructor(target){this.target_=target;}
6677get panX(){return this.target_.currentDisplayTransform_.panX;}
6678set panX(panX){this.target_.currentDisplayTransform_.panX=panX;}
6679get panY(){return this.target_.currentDisplayTransform_.panY;}
6680set panY(panY){this.target_.currentDisplayTransform_.panY=panY;}
6681get scaleX(){return this.target_.currentDisplayTransform_.scaleX;}
6682set scaleX(scaleX){this.target_.currentDisplayTransform_.scaleX=scaleX;}
6683cloneAnimationState(){return this.target_.currentDisplayTransform_.clone();}
6684xPanWorldPosToViewPos(xWorld,xView){this.target_.currentDisplayTransform_.xPanWorldPosToViewPos(xWorld,xView,this.target_.modelTrackContainer_.canvas.clientWidth);}}
6685function TimelineViewport(parentEl){this.parentEl_=parentEl;this.modelTrackContainer_=undefined;this.currentDisplayTransform_=new TimelineDisplayTransform();this.initAnimationController_();this.showFlowEvents_=false;this.highlightVSync_=false;this.highDetails_=false;this.gridTimebase_=0;this.gridStep_=1000/60;this.gridEnabled_=false;this.hasCalledSetupFunction_=false;this.onResize_=this.onResize_.bind(this);this.onModelTrackControllerScroll_=this.onModelTrackControllerScroll_.bind(this);this.timeMode_=TimelineViewport.TimeMode.TIME_IN_MS;this.majorMarkWorldPositions_=[];this.majorMarkUnit_=undefined;this.interestRange_=new TimelineInterestRange(this);this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.containerToTrackMap=new tr.ui.tracks.ContainerToTrackMap();this.dispatchChangeEvent=this.dispatchChangeEvent.bind(this);}
6686TimelineViewport.TimeMode={TIME_IN_MS:0,REVISIONS:1};TimelineViewport.prototype={__proto__:tr.b.EventTarget.prototype,get isAttachedToDocumentOrInTestMode(){if(this.parentEl_===undefined)return;return tr.ui.b.isElementAttachedToDocument(this.parentEl_);},onResize_(){this.dispatchChangeEvent();},dispatchChangeEvent(){tr.b.dispatchSimpleEvent(this,'change');},detach(){window.removeEventListener('resize',this.dispatchChangeEvent);},initAnimationController_(){this.dtAnimationController_=new tr.ui.b.AnimationController();this.dtAnimationController_.addEventListener('didtick',function(e){this.onCurentDisplayTransformChange_(e.oldTargetState);}.bind(this));this.dtAnimationController_.target=new AnimationControllerProxy(this);},get currentDisplayTransform(){return this.currentDisplayTransform_;},setDisplayTransformImmediately(displayTransform){this.dtAnimationController_.cancelActiveAnimation();const oldDisplayTransform=this.dtAnimationController_.target.cloneAnimationState();this.currentDisplayTransform_.set(displayTransform);this.onCurentDisplayTransformChange_(oldDisplayTransform);},queueDisplayTransformAnimation(animation){if(!(animation instanceof tr.ui.b.Animation)){throw new Error('animation must be instanceof tr.ui.b.Animation');}
6687this.dtAnimationController_.queueAnimation(animation);},onCurentDisplayTransformChange_(oldDisplayTransform){if(this.modelTrackContainer_){this.currentDisplayTransform.panY=tr.b.math.clamp(this.currentDisplayTransform.panY,0,this.modelTrackContainer_.scrollHeight-
6688this.modelTrackContainer_.clientHeight);}
6689const changed=!this.currentDisplayTransform.equals(oldDisplayTransform);const yChanged=this.currentDisplayTransform.panY!==oldDisplayTransform.panY;if(yChanged){this.modelTrackContainer_.scrollTop=this.currentDisplayTransform.panY;}
6690if(changed){this.dispatchChangeEvent();}},onModelTrackControllerScroll_(e){if(this.dtAnimationController_.activeAnimation&&this.dtAnimationController_.activeAnimation.affectsPanY){this.dtAnimationController_.cancelActiveAnimation();}
6691const panY=this.modelTrackContainer_.scrollTop;this.currentDisplayTransform_.panY=panY;},get modelTrackContainer(){return this.modelTrackContainer_;},set modelTrackContainer(m){if(this.modelTrackContainer_){this.modelTrackContainer_.removeEventListener('scroll',this.onModelTrackControllerScroll_);}
6692this.modelTrackContainer_=m;this.modelTrackContainer_.addEventListener('scroll',this.onModelTrackControllerScroll_);},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;this.dispatchChangeEvent();},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;this.dispatchChangeEvent();},get highDetails(){return this.highDetails_;},set highDetails(highDetails){this.highDetails_=highDetails;this.dispatchChangeEvent();},get gridEnabled(){return this.gridEnabled_;},set gridEnabled(enabled){if(this.gridEnabled_===enabled)return;this.gridEnabled_=enabled&&true;this.dispatchChangeEvent();},get gridTimebase(){return this.gridTimebase_;},set gridTimebase(timebase){if(this.gridTimebase_===timebase)return;this.gridTimebase_=timebase;this.dispatchChangeEvent();},get gridStep(){return this.gridStep_;},get interestRange(){return this.interestRange_;},get majorMarkWorldPositions(){return this.majorMarkWorldPositions_;},get majorMarkUnit(){switch(this.timeMode_){case TimelineViewport.TimeMode.TIME_IN_MS:return tr.b.Unit.byName.timeInMsAutoFormat;case TimelineViewport.TimeMode.REVISIONS:return tr.b.Unit.byName.count;default:throw new Error('Cannot get Unit for unsupported time mode '+this.timeMode_);}},get timeMode(){return this.timeMode_;},set timeMode(mode){this.timeMode_=mode;this.dispatchChangeEvent();},updateMajorMarkData(viewLWorld,viewRWorld){const pixelRatio=window.devicePixelRatio||1;const dt=this.currentDisplayTransform;const idealMajorMarkDistancePix=IDEAL_MAJOR_MARK_DISTANCE_PX*pixelRatio;const idealMajorMarkDistanceWorld=dt.xViewVectorToWorld(idealMajorMarkDistancePix);const majorMarkDistanceWorld=tr.b.math.preferredNumberLargerThanMin(idealMajorMarkDistanceWorld);const firstMajorMark=Math.floor(viewLWorld/majorMarkDistanceWorld)*majorMarkDistanceWorld;this.majorMarkWorldPositions_=[];for(let curX=firstMajorMark;curX<viewRWorld;curX+=majorMarkDistanceWorld){this.majorMarkWorldPositions_.push(Math.floor(MAJOR_MARK_ROUNDING_FACTOR*curX)/MAJOR_MARK_ROUNDING_FACTOR);}},drawMajorMarkLines(ctx){ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();for(const majorMark of this.majorMarkWorldPositions_){const x=this.currentDisplayTransform.xWorldToView(majorMark);tr.ui.b.drawLine(ctx,x,0,x,ctx.canvas.height);}
6693ctx.strokeStyle='#ddd';ctx.stroke();ctx.restore();},drawGridLines(ctx,viewLWorld,viewRWorld){if(!this.gridEnabled)return;const dt=this.currentDisplayTransform;let x=this.gridTimebase;ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();while(x<viewRWorld){if(x>=viewLWorld){const vx=Math.floor(dt.xWorldToView(x));tr.ui.b.drawLine(ctx,vx,0,vx,ctx.canvas.height);}
6694x+=this.gridStep;}
6695ctx.strokeStyle='rgba(255, 0, 0, 0.25)';ctx.stroke();ctx.restore();},getShiftedSelection(selection,offset){const newSelection=new tr.model.EventSet();for(const event of selection){if(event instanceof tr.model.FlowEvent){if(offset>0){newSelection.push(event.endSlice);}else if(offset<0){newSelection.push(event.startSlice);}else{}
6696continue;}
6697const track=this.trackForEvent(event);track.addEventNearToProvidedEventToSelection(event,offset,newSelection);}
6698if(newSelection.length===0)return undefined;return newSelection;},rebuildEventToTrackMap(){this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.modelTrackContainer_.addEventsToTrackMap(this.eventToTrackMap_);},rebuildContainerToTrackMap(){this.containerToTrackMap.clear();this.modelTrackContainer_.addContainersToTrackMap(this.containerToTrackMap);},trackForEvent(event){return this.eventToTrackMap_[event.guid];}};return{TimelineViewport,};});'use strict';tr.exportTo('tr.c',function(){const BrushingState=tr.ui.b.BrushingState;const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;const Viewport=tr.ui.TimelineViewport;function BrushingStateController(timelineView){tr.b.EventTarget.call(this);this.timelineView_=timelineView;this.currentBrushingState_=new BrushingState();this.onPopState_=this.onPopState_.bind(this);this.historyEnabled_=false;this.selections_={};}
6699BrushingStateController.prototype={__proto__:tr.b.EventTarget.prototype,dispatchChangeEvent_(){const e=new tr.b.Event('change',false,false);this.dispatchEvent(e);},get model(){if(!this.timelineView_){return undefined;}
6700return this.timelineView_.model;},get trackView(){if(!this.timelineView_){return undefined;}
6701return this.timelineView_.trackView;},get viewport(){if(!this.timelineView_){return undefined;}
6702if(!this.timelineView_.trackView){return undefined;}
6703return this.timelineView_.trackView.viewport;},get historyEnabled(){return this.historyEnabled_;},set historyEnabled(historyEnabled){this.historyEnabled_=!!historyEnabled;if(historyEnabled){window.addEventListener('popstate',this.onPopState_);}else{window.removeEventListener('popstate',this.onPopState_);}},modelWillChange(){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();}},modelDidChange(){this.selections_={};this.currentBrushingState_=new BrushingState();this.currentBrushingState_.applyToEventSelectionStates(this.model);const e=new tr.b.Event('model-changed',false,false);this.dispatchEvent(e);this.dispatchChangeEvent_();},onUserInitiatedSelectionChange_(){const selection=this.selection;if(this.historyEnabled){this.selections_[selection.guid]=selection;const state={selection_guid:selection.guid};window.history.pushState(state,document.title);}},onPopState_(e){if(e.state===null)return;const selection=this.selections_[e.state.selection_guid];if(selection){const newState=this.currentBrushingState_.clone();newState.selection=selection;this.currentBrushingState=newState;}
6704e.stopPropagation();},get selection(){return this.currentBrushingState_.selection;},get findMatches(){return this.currentBrushingState_.findMatches;},get selectionOfInterest(){return this.currentBrushingState_.selectionOfInterest;},get currentBrushingState(){return this.currentBrushingState_;},set currentBrushingState(newBrushingState){if(newBrushingState.isAppliedToModel){throw new Error('Cannot apply this state, it is applied');}
6705const hasValueChanged=!this.currentBrushingState_.equals(newBrushingState);if(newBrushingState!==this.currentBrushingState_&&!hasValueChanged){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.transferModelOwnershipToClone(newBrushingState);}
6706this.currentBrushingState_=newBrushingState;return;}
6707if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();}
6708this.currentBrushingState_=newBrushingState;this.currentBrushingState_.applyToEventSelectionStates(this.model);this.dispatchChangeEvent_();},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const timelineView=this.timelineView_.trackView;if(!timelineView){return new tr.b.Task();}
6709return timelineView.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);},findTextChangedTo(allPossibleMatches){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.findMatches=allPossibleMatches;this.currentBrushingState=newBrushingState;},findFocusChangedTo(currentFocus){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=currentFocus;this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},findTextCleared(){if(this.xNavStringMarker_!==undefined){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;}
6710if(this.guideLineAnnotation_!==undefined){this.model.removeAnnotation(this.guideLineAnnotation_);this.guideLineAnnotation_=undefined;}
6711const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=new EventSet();newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},uiStateFromString(string){return tr.ui.b.UIState.fromUserFriendlyString(this.model,this.viewport,string);},navToPosition(uiState,showNavLine){this.trackView.navToPosition(uiState,showNavLine);},changeSelectionFromTimeline(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},showScriptControlSelection(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;},changeSelectionFromRequestSelectionChangeEvent(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},changeAnalysisViewRelatedEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisViewRelatedEvents=eventSet;this.currentBrushingState=newBrushingState;},changeAnalysisLinkHoveredEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisLinkHoveredEvents=eventSet;this.currentBrushingState=newBrushingState;},getViewSpecificBrushingState(viewId){return this.currentBrushingState.viewSpecificBrushingStates[viewId];},changeViewSpecificBrushingState(viewId,newState){const oldStates=this.currentBrushingState_.viewSpecificBrushingStates;const newStates={};for(const id in oldStates){newStates[id]=oldStates[id];}
6712if(newState===undefined){delete newStates[viewId];}else{newStates[viewId]=newState;}
6713const newBrushingState=this.currentBrushingState_.clone();newBrushingState.viewSpecificBrushingStates=newStates;this.currentBrushingState=newBrushingState;}};BrushingStateController.getControllerForElement=function(element){if(tr.isHeadless){throw new Error('Unsupported');}
6714let currentElement=element;while(currentElement){if(currentElement.brushingStateController){return currentElement.brushingStateController;}
6715if(currentElement.parentElement){currentElement=currentElement.parentElement;continue;}
6716let currentNode=currentElement;while(Polymer.dom(currentNode).parentNode){currentNode=Polymer.dom(currentNode).parentNode;}
6717currentElement=currentNode.host;}
6718return undefined;};return{BrushingStateController,};});'use strict';Polymer({is:'tr-ui-a-analysis-link',properties:{href:{type:String}},listeners:{'click':'onClicked_','mouseenter':'onMouseEnter_','mouseleave':'onMouseLeave_'},ready(){this.selection_=undefined;},attached(){this.controller_=tr.c.BrushingStateController.getControllerForElement(this);},detached(){this.clearHighlight_();this.controller_=undefined;},set color(c){this.style.color=c;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;Polymer.dom(this).textContent=selection.userFriendlyName;},setSelectionAndContent(selection,opt_textContent){this.selection_=selection;if(opt_textContent){Polymer.dom(this).textContent=opt_textContent;}},getCurrentSelection_(){if(typeof this.selection_==='function'){return this.selection_();}
6719return this.selection_;},setHighlight_(opt_eventSet){if(this.controller_){this.controller_.changeAnalysisLinkHoveredEvents(opt_eventSet);}},clearHighlight_(opt_eventSet){this.setHighlight_();},onClicked_(clickEvent){if(!this.selection_)return;clickEvent.stopPropagation();const event=new tr.model.RequestSelectionChangeEvent();event.selection=this.getCurrentSelection_();this.dispatchEvent(event);},onMouseEnter_(){this.setHighlight_(this.getCurrentSelection_());},onMouseLeave_(){this.clearHighlight_();}});'use strict';tr.exportTo('tr.ui.b',function(){const TableFormat={};TableFormat.SelectionMode={NONE:0,ROW:1,CELL:2};TableFormat.HighlightStyle={DEFAULT:0,NONE:1,LIGHT:2,DARK:3};TableFormat.ColumnAlignment={LEFT:0,RIGHT:1};return{TableFormat,};});'use strict';(function(){const RIGHT_ARROW=String.fromCharCode(0x25b6);const UNSORTED_ARROW=String.fromCharCode(0x25BF);const ASCENDING_ARROW=String.fromCharCode(0x25B4);const DESCENDING_ARROW=String.fromCharCode(0x25BE);const SelectionMode=tr.ui.b.TableFormat.SelectionMode;const HighlightStyle=tr.ui.b.TableFormat.HighlightStyle;const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table',created(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.customizeTableRowCallback_=undefined;this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;this.computedFontSizePx_=undefined;},ready(){this.$.body.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.$.body.addEventListener('focus',this.onFocus_.bind(this),true);},clear(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;Polymer.dom(this).textContent='';this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;},set zebra(zebra){if(zebra){this.setAttribute('zebra',true);}else{this.removeAttribute('zebra');}},get zebra(){return this.getAttribute('zebra');},get showHeader(){return this.showHeader_;},set showHeader(showHeader){this.showHeader_=showHeader;this.scheduleRebuildHeaders_();},set subRowsPropertyName(name){this.subRowsPropertyName_=name;},set defaultExpansionStateCallback(cb){this.defaultExpansionStateCallback_=cb;this.scheduleRebuildBody_();},set customizeTableRowCallback(cb){this.customizeTableRowCallback_=cb;this.scheduleRebuildBody_();},get emptyValue(){return this.emptyValue_;},set emptyValue(emptyValue){const previousEmptyValue=this.emptyValue_;this.emptyValue_=emptyValue;if(this.tableRows_.length===0&&emptyValue!==previousEmptyValue){this.scheduleRebuildBody_();}},set tableColumns(columns){let columnsWithExpandButtons=[];for(let i=0;i<columns.length;i++){if(columns[i].showExpandButtons){columnsWithExpandButtons.push(i);}}
6720if(columnsWithExpandButtons.length===0){columnsWithExpandButtons=[0];}
6721for(let i=0;i<columns.length;i++){const colInfo=columns[i];if(colInfo.width===undefined)continue;const hasExpandButton=columnsWithExpandButtons.includes(i);const w=colInfo.width;if(w){if(/\d+px/.test(w)){continue;}else if(/\d+%/.test(w)){if(hasExpandButton){throw new Error('Columns cannot be %-sized and host '+' an expand button');}}else{throw new Error('Unrecognized width string');}}}
6722let sortIndex=undefined;const currentSortColumn=this.tableColumns[this.sortColumnIndex_];if(currentSortColumn){for(const[i,column]of columns.entries()){if(currentSortColumn.title===column.title){sortIndex=i;break;}}}
6723this.tableColumns_=columns;this.headerCells_=[];this.columnsWithExpandButtons_=columnsWithExpandButtons;this.scheduleRebuildHeaders_();this.sortColumnIndex=sortIndex;this.tableRows=this.tableRows_;},get tableColumns(){return this.tableColumns_;},set tableRows(rows){this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableRows_=rows;this.tableRowsInfo_=new WeakMap();this.scheduleRebuildBody_();},get tableRows(){return this.tableRows_;},set footerRows(rows){this.tableFooterRows_=rows;this.tableFooterRowsInfo_=new WeakMap();this.scheduleRebuildFooter_();},get footerRows(){return this.tableFooterRows_;},get userCanModifySortOrder(){return this.userCanModifySortOrder_;},set userCanModifySortOrder(userCanModifySortOrder){const newUserCanModifySortOrder=!!userCanModifySortOrder;if(newUserCanModifySortOrder===this.userCanModifySortOrder_){return;}
6724this.userCanModifySortOrder_=newUserCanModifySortOrder;this.scheduleRebuildHeaders_();},set sortColumnIndex(number){if(number===this.sortColumnIndex_)return;if(number!==undefined){if(this.tableColumns_.length<=number){throw new Error('Column number '+number+' is out of bounds.');}
6725if(!this.tableColumns_[number].cmp){throw new Error('Column '+number+' does not have a comparator.');}}
6726this.sortColumnIndex_=number;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();},get sortColumnIndex(){return this.sortColumnIndex_;},set sortDescending(value){const newValue=!!value;if(newValue!==this.sortDescending_){this.sortDescending_=newValue;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();}},get sortDescending(){return this.sortDescending_;},updateHeaderArrows_(){for(let i=0;i<this.headerCells_.length;i++){const headerCell=this.headerCells_[i];const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(!this.tableColumns_[i].cmp||(!this.userCanModifySortOrder_&&!isColumnCurrentlySorted)){headerCell.sideContent='';continue;}
6727if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;headerCell.sideContentDisabled=false;continue;}
6728headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;headerCell.sideContentDisabled=!this.userCanModifySortOrder_;}},generateHeaderColumns_(){const selectedTableColumnIndex=this.selectedTableColumnIndex;Polymer.dom(this.$.cols).textContent='';for(let i=0;i<this.tableColumns_.length;++i){const colElement=document.createElement('col');if(i===selectedTableColumnIndex){colElement.setAttribute('selected',true);}
6729Polymer.dom(this.$.cols).appendChild(colElement);}
6730this.headerCells_=[];Polymer.dom(this.$.head).textContent='';if(!this.showHeader_)return;const tr=this.appendNewElement_(this.$.head,'tr');for(let i=0;i<this.tableColumns_.length;i++){const td=this.appendNewElement_(tr,'td');const headerCell=document.createElement('tr-ui-b-table-header-cell');headerCell.column=this.tableColumns_[i];if(this.tableColumns_[i].cmp){const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(isColumnCurrentlySorted){headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;if(!this.userCanModifySortOrder_){headerCell.sideContentDisabled=true;}}
6731if(this.userCanModifySortOrder_){Polymer.dom(td).classList.add('sensitive');if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;}
6732headerCell.tapCallback=this.createSortCallback_(i);}}
6733Polymer.dom(td).appendChild(headerCell);this.headerCells_.push(headerCell);}},applySizes_(){if(this.tableRows_.length===0&&!this.showHeader)return;let rowToRemoveSizing;let rowToSize;if(this.showHeader){rowToSize=Polymer.dom(this.$.head).children[0];rowToRemoveSizing=Polymer.dom(this.$.body).children[0];}else{rowToSize=Polymer.dom(this.$.body).children[0];rowToRemoveSizing=Polymer.dom(this.$.head).children[0];}
6734for(let i=0;i<this.tableColumns_.length;i++){if(rowToRemoveSizing&&Polymer.dom(rowToRemoveSizing).children[i]){const tdToRemoveSizing=Polymer.dom(rowToRemoveSizing).children[i];tdToRemoveSizing.style.minWidth='';tdToRemoveSizing.style.width='';}
6735const td=Polymer.dom(rowToSize).children[i];let delta;if(this.columnsWithExpandButtons_.includes(i)){td.style.paddingLeft=this.basicIndentation_+'px';delta=this.basicIndentation_+'px';}else{delta=undefined;}
6736function calc(base,delta){if(delta){return'calc('+base+' - '+delta+')';}
6737return base;}
6738const w=this.tableColumns_[i].width;if(w){if(/\d+px/.test(w)){td.style.minWidth=calc(w,delta);}else if(/\d+%/.test(w)){td.style.width=w;}else{throw new Error('Unrecognized width string: '+w);}}}},createSortCallback_(columnNumber){return function(){if(!this.userCanModifySortOrder_)return;const previousIndex=this.sortColumnIndex;this.sortColumnIndex=columnNumber;if(previousIndex!==columnNumber){this.sortDescending=false;}else{this.sortDescending=!this.sortDescending;}}.bind(this);},generateTableRowNodes_(tableSection,userRows,rowInfoMap,indentation,lastAddedRow,parentRowInfo){if(this.sortColumnIndex_!==undefined&&tableSection===this.$.body){userRows=userRows.slice();userRows.sort(function(rowA,rowB){let c=this.tableColumns_[this.sortColumnIndex_].cmp(rowA,rowB);if(this.sortDescending_){c=-c;}
6739return c;}.bind(this));}
6740for(let i=0;i<userRows.length;i++){const userRow=userRows[i];const rowInfo=this.getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo);const htmlNode=this.getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation);if(lastAddedRow===undefined){Polymer.dom(tableSection).insertBefore(htmlNode,Polymer.dom(tableSection).firstChild);}else{const nextSiblingOfLastAdded=Polymer.dom(lastAddedRow).nextSibling;Polymer.dom(tableSection).insertBefore(htmlNode,nextSiblingOfLastAdded);}
6741lastAddedRow=htmlNode;if(!rowInfo.isExpanded)continue;lastAddedRow=this.generateTableRowNodes_(tableSection,userRow[this.subRowsPropertyName_],rowInfoMap,indentation+1,lastAddedRow,rowInfo);}
6742return lastAddedRow;},getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo){let rowInfo=undefined;if(rowInfoMap.has(userRow)){rowInfo=rowInfoMap.get(userRow);}else{rowInfo={userRow,htmlNode:undefined,parentRowInfo};rowInfoMap.set(userRow,rowInfo);}
6743rowInfo.isExpanded=this.getExpandedForUserRow_(userRow);return rowInfo;},customizeTableRow_(userRow,trElement){if(!this.customizeTableRowCallback_)return;this.customizeTableRowCallback_(userRow,trElement);},get basicIndentation_(){if(this.computedFontSizePx_===undefined){this.computedFontSizePx_=parseInt(getComputedStyle(this).fontSize)||16;}
6744return this.computedFontSizePx_-2;},getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation){if(rowInfo.htmlNode){this.customizeTableRow_(rowInfo.userRow,rowInfo.htmlNode);return rowInfo.htmlNode;}
6745const INDENT_SPACE=indentation*16;const INDENT_SPACE_NO_BUTTON=indentation*16+this.basicIndentation_;const trElement=this.ownerDocument.createElement('tr');rowInfo.htmlNode=trElement;rowInfo.indentation=indentation;trElement.rowInfo=rowInfo;this.customizeTableRow_(rowInfo.userRow,trElement);const isBodyRow=tableSection===this.$.body;const isExpandableRow=rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length;for(let i=0;i<this.tableColumns_.length;){const td=this.appendNewElement_(trElement,'td');td.columnIndex=i;const column=this.tableColumns_[i];const value=column.value(rowInfo.userRow);const colSpan=column.colSpan?column.colSpan:1;td.style.colSpan=colSpan;switch(column.align){case undefined:case ColumnAlignment.LEFT:break;case ColumnAlignment.RIGHT:td.style.textAlign='right';break;default:throw new Error('Invalid alignment of column at index='+i+': '+column.align);}
6746if(this.doesColumnIndexSupportSelection(i)){Polymer.dom(td).classList.add('supports-selection');}
6747if(this.columnsWithExpandButtons_.includes(i)){if(rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length>0){td.style.paddingLeft=INDENT_SPACE+'px';td.style.display='flex';const expandButton=this.appendNewElement_(td,'expand-button');Polymer.dom(expandButton).textContent=RIGHT_ARROW;if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');}}else{td.style.paddingLeft=INDENT_SPACE_NO_BUTTON+'px';}}
6748if(value!==undefined){Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(value,this.ownerDocument));}
6749td.addEventListener('click',function(i,clickEvent){clickEvent.preventDefault();if(!isBodyRow&&!isExpandableRow)return;clickEvent.stopPropagation();if(clickEvent.target.tagName==='EXPAND-BUTTON'){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);return;}
6750if(isBodyRow&&this.selectionMode_!==SelectionMode.NONE){let shouldSelect=false;let shouldFocus=false;switch(this.selectionMode_){case SelectionMode.ROW:shouldSelect=this.selectedTableRowInfo_!==rowInfo;shouldFocus=true;break;case SelectionMode.CELL:if(this.doesColumnIndexSupportSelection(i)){shouldSelect=this.selectedTableRowInfo_!==rowInfo||this.selectedColumnIndex_!==i;shouldFocus=true;}
6751break;default:throw new Error('Invalid selection mode '+
6752this.selectionMode_);}
6753if(shouldFocus){this.focus();}
6754if(shouldSelect){this.didTableRowInfoGetClicked_(rowInfo,i);return;}}
6755if(isExpandableRow){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);}}.bind(this,i));if(isBodyRow){td.addEventListener('dblclick',function(i,e){e.stopPropagation();this.dispatchStepIntoEvent_(rowInfo,i);}.bind(this,i));}
6756i+=colSpan;}
6757return rowInfo.htmlNode;},removeSubNodes_(tableSection,rowInfo,rowInfoMap){if(rowInfo.userRow[this.subRowsPropertyName_]===undefined)return;for(let i=0;i<rowInfo.userRow[this.subRowsPropertyName_].length;i++){const subRow=rowInfo.userRow[this.subRowsPropertyName_][i];const subRowInfo=rowInfoMap.get(subRow);if(!subRowInfo)continue;const subNode=subRowInfo.htmlNode;if(subNode&&Polymer.dom(subNode).parentNode===tableSection){Polymer.dom(tableSection).removeChild(subNode);this.removeSubNodes_(tableSection,subRowInfo,rowInfoMap);}}},scheduleRebuildHeaders_(){this.headerDirty_=true;this.scheduleRebuild_();},scheduleRebuildBody_(){this.bodyDirty_=true;this.scheduleRebuild_();},scheduleRebuildFooter_(){this.footerDirty_=true;this.scheduleRebuild_();},scheduleRebuild_(){if(this.rebuildPending_)return;this.rebuildPending_=true;setTimeout(function(){this.rebuildPending_=false;this.rebuild();}.bind(this),0);},rebuildIfNeeded_(){this.rebuild();},rebuild(){const wasBodyOrHeaderDirty=this.headerDirty_||this.bodyDirty_;if(this.headerDirty_){this.generateHeaderColumns_();this.headerDirty_=false;}
6758if(this.bodyDirty_){Polymer.dom(this.$.body).textContent='';this.generateTableRowNodes_(this.$.body,this.tableRows_,this.tableRowsInfo_,0,undefined,undefined);if(this.tableRows_.length===0&&this.emptyValue_!==undefined){const trElement=this.ownerDocument.createElement('tr');Polymer.dom(this.$.body).appendChild(trElement);Polymer.dom(trElement).classList.add('empty-row');const td=this.ownerDocument.createElement('td');Polymer.dom(trElement).appendChild(td);td.colSpan=this.tableColumns_.length;const emptyValue=this.emptyValue_;Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(emptyValue,this.ownerDocument));}
6759this.bodyDirty_=false;}
6760if(wasBodyOrHeaderDirty)this.applySizes_();if(this.footerDirty_){Polymer.dom(this.$.foot).textContent='';this.generateTableRowNodes_(this.$.foot,this.tableFooterRows_,this.tableFooterRowsInfo_,0,undefined,undefined);if(this.tableFooterRowsInfo_.length){Polymer.dom(this.$.body).classList.add('has-footer');}else{Polymer.dom(this.$.body).classList.remove('has-footer');}
6761this.footerDirty_=false;}},appendNewElement_(parent,tagName){const element=parent.ownerDocument.createElement(tagName);Polymer.dom(parent).appendChild(element);return element;},getExpandedForTableRow(userRow){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');}
6762return rowInfo.isExpanded;},getExpandedForUserRow_(userRow){if(userRow[this.subRowsPropertyName_]===undefined){return false;}
6763if(userRow[this.subRowsPropertyName_].length===0){return false;}
6764if(userRow.isExpanded){return true;}
6765if((userRow.isExpanded!==undefined)&&(userRow.isExpanded===false)){return false;}
6766const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo&&rowInfo.isExpanded){return true;}
6767if(this.defaultExpansionStateCallback_===undefined){return false;}
6768let parentUserRow=undefined;if(rowInfo&&rowInfo.parentRowInfo){parentUserRow=rowInfo.parentRowInfo.userRow;}
6769return this.defaultExpansionStateCallback_(userRow,parentUserRow);},setExpandedForTableRow(userRow,expanded){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');}
6770return this.setExpandedForUserRow_(this.$.body,this.tableRowsInfo_,userRow,expanded);},setExpandedForUserRow_(tableSection,rowInfoMap,userRow,expanded){this.rebuildIfNeeded_();const rowInfo=rowInfoMap.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');}
6771const wasExpanded=rowInfo.isExpanded;rowInfo.isExpanded=!!expanded;if(rowInfo.htmlNode===undefined)return;if(rowInfo.htmlNode.parentElement!==tableSection){return;}
6772const expandButton=Polymer.dom(rowInfo.htmlNode).querySelector('expand-button');if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');const lastAddedRow=rowInfo.htmlNode;if(rowInfo.userRow[this.subRowsPropertyName_]){this.generateTableRowNodes_(tableSection,rowInfo.userRow[this.subRowsPropertyName_],rowInfoMap,rowInfo.indentation+1,lastAddedRow,rowInfo);}}else{Polymer.dom(expandButton).classList.remove('button-expanded');this.removeSubNodes_(tableSection,rowInfo,rowInfoMap);}
6773if(wasExpanded!==rowInfo.isExpanded){const e=new tr.b.Event('row-expanded-changed');e.row=rowInfo.userRow;this.dispatchEvent(e);}
6774this.maybeUpdateSelectedRow_();},get selectionMode(){return this.selectionMode_;},set selectionMode(selectionMode){if(!tr.b.dictionaryContainsValue(SelectionMode,selectionMode)){throw new Error('Invalid selection mode '+selectionMode);}
6775this.rebuildIfNeeded_();this.selectionMode_=selectionMode;this.didSelectionStateChange_();},get rowHighlightStyle(){return this.rowHighlightStyle_;},set rowHighlightStyle(rowHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,rowHighlightStyle)){throw new Error('Invalid row highlight style '+rowHighlightStyle);}
6776this.rebuildIfNeeded_();this.rowHighlightStyle_=rowHighlightStyle;this.didSelectionStateChange_();},get resolvedRowHighlightStyle(){if(this.rowHighlightStyle_!==HighlightStyle.DEFAULT){return this.rowHighlightStyle_;}
6777switch(this.selectionMode_){case SelectionMode.NONE:return HighlightStyle.NONE;case SelectionMode.ROW:return HighlightStyle.DARK;case SelectionMode.CELL:return HighlightStyle.LIGHT;default:throw new Error('Invalid selection mode '+selectionMode);}},get cellHighlightStyle(){return this.cellHighlightStyle_;},set cellHighlightStyle(cellHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,cellHighlightStyle)){throw new Error('Invalid cell highlight style '+cellHighlightStyle);}
6778this.rebuildIfNeeded_();this.cellHighlightStyle_=cellHighlightStyle;this.didSelectionStateChange_();},get resolvedCellHighlightStyle(){if(this.cellHighlightStyle_!==HighlightStyle.DEFAULT){return this.cellHighlightStyle_;}
6779switch(this.selectionMode_){case SelectionMode.NONE:case SelectionMode.ROW:return HighlightStyle.NONE;case SelectionMode.CELL:return HighlightStyle.DARK;default:throw new Error('Invalid selection mode '+selectionMode);}},setHighlightStyle_(highlightAttribute,resolvedHighlightStyle){switch(resolvedHighlightStyle){case HighlightStyle.NONE:Polymer.dom(this.$.body).removeAttribute(highlightAttribute);break;case HighlightStyle.LIGHT:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'light');break;case HighlightStyle.DARK:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'dark');break;default:throw new Error('Invalid resolved highlight style '+
6780resolvedHighlightStyle);}},didSelectionStateChange_(){this.setHighlightStyle_('row-highlight-style',this.resolvedRowHighlightStyle);this.setHighlightStyle_('cell-highlight-style',this.resolvedCellHighlightStyle);this.removeSelectedState_();switch(this.selectionMode_){case SelectionMode.ROW:Polymer.dom(this.$.body).setAttribute('selection-mode','row');Polymer.dom(this.$.body).setAttribute('tabindex',0);this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:Polymer.dom(this.$.body).setAttribute('selection-mode','cell');Polymer.dom(this.$.body).setAttribute('tabindex',0);if(this.selectedTableRowInfo_&&this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){this.selectedTableRowInfo_=undefined;}else{this.selectedColumnIndex_=i;}}
6781break;case SelectionMode.NONE:Polymer.dom(this.$.body).removeAttribute('selection-mode');Polymer.dom(this.$.body).removeAttribute('tabindex');this.$.body.blur();this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
6782this.maybeUpdateSelectedRow_();},maybeUpdateSelectedRow_(){if(this.selectedTableRowInfo_===undefined)return;function isVisible(rowInfo){if(!rowInfo.htmlNode)return false;return!!rowInfo.htmlNode.parentElement;}
6783if(isVisible(this.selectedTableRowInfo_)){this.updateSelectedState_();return;}
6784this.removeSelectedState_();let curRowInfo=this.selectedTableRowInfo_;while(curRowInfo&&!isVisible(curRowInfo)){curRowInfo=curRowInfo.parentRowInfo;}
6785this.selectedTableRowInfo_=curRowInfo;if(this.selectedTableRowInfo_){this.updateSelectedState_();}else{this.selectedColumnIndex_=undefined;}},didTableRowInfoGetClicked_(rowInfo,columnIndex){switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.CELL:if(!this.doesColumnIndexSupportSelection(columnIndex)){return;}
6786if(this.selectedColumnIndex!==columnIndex){this.selectedColumnIndex=columnIndex;}
6787case SelectionMode.ROW:if(this.selectedTableRowInfo_!==rowInfo){this.selectedTableRow=rowInfo.userRow;}}},dispatchStepIntoEvent_(rowInfo,columnIndex){const e=new tr.b.Event('step-into');e.tableRow=rowInfo.userRow;e.tableColumn=this.tableColumns_[columnIndex];e.columnIndex=columnIndex;this.dispatchEvent(e);},get selectedCell(){const row=this.selectedTableRow;const columnIndex=this.selectedColumnIndex;if(row===undefined||columnIndex===undefined||this.tableColumns_.length<=columnIndex){return undefined;}
6788const column=this.tableColumns_[columnIndex];return{row,column,value:column.value(row)};},get selectedTableColumnIndex(){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(cols[i].getAttribute('selected')){return i;}}
6789return undefined;},set selectedTableColumnIndex(selectedIndex){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(i===selectedIndex){cols[i].setAttribute('selected',true);}else{cols[i].removeAttribute('selected');}}},get selectedTableRow(){if(!this.selectedTableRowInfo_)return undefined;return this.selectedTableRowInfo_.userRow;},set selectedTableRow(userRow){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');}
6790let rowInfo;if(userRow===undefined){rowInfo=undefined;}else{rowInfo=this.tableRowsInfo_.get(userRow);if(!rowInfo){throw new Error('Row has not been seen, must expand its parents.');}}
6791const e=this.prepareToChangeSelection_();if(!rowInfo){this.selectedColumnIndex_=undefined;}else{switch(this.selectionMode_){case SelectionMode.ROW:this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:if(this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){throw new Error('Cannot find a selectable column.');}
6792this.selectedColumnIndex_=i;}
6793break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}}
6794this.selectedTableRowInfo_=rowInfo;this.updateSelectedState_();this.dispatchEvent(e);},prepareToChangeSelection_(){const e=new tr.b.Event('selection-changed');const previousSelectedRowInfo=this.selectedTableRowInfo_;if(previousSelectedRowInfo){e.previousSelectedTableRow=previousSelectedRowInfo.userRow;}else{e.previousSelectedTableRow=undefined;}
6795this.removeSelectedState_();return e;},removeSelectedState_(){this.setSelectedState_(false);},updateSelectedState_(){this.setSelectedState_(true);},setSelectedState_(select){if(this.selectedTableRowInfo_===undefined)return;const rowNode=this.selectedTableRowInfo_.htmlNode;if(select){Polymer.dom(rowNode).setAttribute('selected',true);}else{Polymer.dom(rowNode).removeAttribute('selected');}
6796const cellNode=Polymer.dom(rowNode).children[this.selectedColumnIndex_];if(!cellNode)return;if(select){Polymer.dom(cellNode).setAttribute('selected',true);}else{Polymer.dom(cellNode).removeAttribute('selected');}},doesColumnIndexSupportSelection(columnIndex){const columnInfo=this.tableColumns_[columnIndex];const scs=columnInfo.supportsCellSelection;if(scs===false)return false;return true;},getFirstSelectableColumnIndex_(){for(let i=0;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){return i;}}
6797return-1;},getSelectableNodeGivenTableRowNode_(htmlNode){switch(this.selectionMode_){case SelectionMode.ROW:return htmlNode;case SelectionMode.CELL:return Polymer.dom(htmlNode).children[this.selectedColumnIndex_];default:throw new Error('Invalid selection mode '+this.selectionMode_);}},get selectedColumnIndex(){if(this.selectionMode_!==SelectionMode.CELL){return undefined;}
6798return this.selectedColumnIndex_;},set selectedColumnIndex(selectedColumnIndex){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');}
6799if(selectedColumnIndex<0||selectedColumnIndex>=this.tableColumns_.length){throw new Error('Invalid index');}
6800if(!this.doesColumnIndexSupportSelection(selectedColumnIndex)){throw new Error('Selection is not supported on this column');}
6801const e=this.prepareToChangeSelection_();if(this.selectedColumnIndex_===undefined){this.selectedTableRowInfo_=undefined;}else if(!this.selectedTableRowInfo_){if(this.tableRows_.length===0){throw new Error('No available row to be selected');}
6802this.selectedTableRowInfo_=this.tableRowsInfo_.get(this.tableRows_[0]);}
6803this.selectedColumnIndex_=selectedColumnIndex;this.updateSelectedState_();this.dispatchEvent(e);},onKeyDown_(e){if(this.selectionMode_===SelectionMode.NONE)return;const CODE_TO_COMMAND_NAMES={13:'ENTER',32:'SPACE',37:'ARROW_LEFT',38:'ARROW_UP',39:'ARROW_RIGHT',40:'ARROW_DOWN'};const cmdName=CODE_TO_COMMAND_NAMES[e.keyCode];if(cmdName===undefined)return;e.stopPropagation();e.preventDefault();this.performKeyCommand_(cmdName);},onFocus_(e){if(this.selectionMode_===SelectionMode.NONE||this.selectedTableRow||this.tableRows_.length===0){return;}
6804if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
6805this.selectedTableRow=this.tableRows_[0];},focus(){this.$.body.focus();this.onFocus_();},blur(){this.$.body.blur();},get isFocused(){return this.root.activeElement===this.$.body;},performKeyCommand_(cmdName){this.rebuildIfNeeded_();switch(cmdName){case'ARROW_UP':this.selectPreviousOrFirstRowIfPossible_();return;case'ARROW_DOWN':this.selectNextOrFirstRowIfPossible_();return;case'ARROW_RIGHT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.expandRowAndSelectChildRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheRightIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
6806case'ARROW_LEFT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.collapseRowOrSelectParentRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheLeftIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
6807case'SPACE':this.toggleRowExpansionStateIfPossible_();return;case'ENTER':this.stepIntoSelectionIfPossible_();return;default:throw new Error('Unrecognized command '+cmdName);}},selectPreviousOrFirstRowIfPossible_(){const prev=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.previousElementSibling:this.$.body.firstChild;if(!prev)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
6808tr.ui.b.scrollIntoViewIfNeeded(prev);this.selectedTableRow=prev.rowInfo.userRow;},selectNextOrFirstRowIfPossible_(){this.getFirstSelectableColumnIndex_;const next=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.nextElementSibling:this.$.body.firstChild;if(!next)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
6809tr.ui.b.scrollIntoViewIfNeeded(next);this.selectedTableRow=next.rowInfo.userRow;},expandRowAndSelectChildRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;}
6810if(!selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,true);}
6811this.selectedTableRow=selectedRowInfo.htmlNode.nextElementSibling.rowInfo.userRow;},collapseRowOrSelectParentRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo)return;if(selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,false);}else{const parentRowInfo=selectedRowInfo.parentRowInfo;if(parentRowInfo){this.selectedTableRow=parentRowInfo.userRow;}}},selectNextSelectableCellToTheRightIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;}
6812for(let i=this.selectedColumnIndex_+1;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},selectNextSelectableCellToTheLeftIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;}
6813for(let i=this.selectedColumnIndex_-1;i>=0;i--){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},toggleRowExpansionStateIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;}
6814this.setExpandedForTableRow(selectedRowInfo.userRow,!selectedRowInfo.isExpanded);},stepIntoSelectionIfPossible_(){if(!this.selectedTableRowInfo_)return;this.dispatchStepIntoEvent_(this.selectedTableRowInfo_,this.selectedColumnIndex_);},dispatchSortingChangedEvent_(){const e=new tr.b.Event('sort-column-changed');e.sortColumnIndex=this.sortColumnIndex_;e.sortDescending=this.sortDescending_;this.dispatchEvent(e);}});})();'use strict';const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table-header-cell',created(){this.tapCallback_=undefined;this.cellTitle_='';this.align_=undefined;this.selectable_=false;this.column_=undefined;},ready(){this.addEventListener('click',this.onTap_.bind(this));},set column(column){this.column_=column;this.align=column.align;this.cellTitle=column.title;},get column(){return this.column_;},set cellTitle(value){this.cellTitle_=value;const titleNode=tr.ui.b.asHTMLOrTextNode(this.cellTitle_,this.ownerDocument);this.$.title.innerText='';Polymer.dom(this.$.title).appendChild(titleNode);},get cellTitle(){return this.cellTitle_;},set align(align){switch(align){case undefined:case ColumnAlignment.LEFT:this.style.justifyContent='';break;case ColumnAlignment.RIGHT:this.style.justifyContent='flex-end';break;default:throw new Error('Invalid alignment of column (title=\''+
6815this.cellTitle_+'\'): '+align);}
6816this.align_=align;},get align(){return this.align_;},clearSideContent(){Polymer.dom(this.$.side).textContent='';},set sideContent(content){Polymer.dom(this.$.side).textContent=content;this.$.side.style.display=content?'inline':'none';},get sideContent(){return Polymer.dom(this.$.side).textContent;},set sideContentDisabled(sideContentDisabled){this.$.side.classList.toggle('disabled',sideContentDisabled);},get sideContentDisabled(){return this.$.side.classList.contains('disabled');},set tapCallback(callback){this.style.cursor='pointer';this.tapCallback_=callback;},get tapCallback(){return this.tapCallback_;},onTap_(){if(this.tapCallback_){this.tapCallback_();}}});'use strict';tr.exportTo('tr.b.math',function(){class RunningStatistics{constructor(){this.mean_=0;this.count_=0;this.max_=-Infinity;this.min_=Infinity;this.sum_=0;this.variance_=0;this.meanlogs_=0;}
6817get count(){return this.count_;}
6818get geometricMean(){if(this.meanlogs_===undefined)return 0;return Math.exp(this.meanlogs_);}
6819get mean(){if(this.count_===0)return undefined;return this.mean_;}
6820get max(){return this.max_;}
6821get min(){return this.min_;}
6822get sum(){return this.sum_;}
6823get variance(){if(this.count_===0)return undefined;if(this.count_===1)return 0;return this.variance_/(this.count_-1);}
6824get stddev(){if(this.count_===0)return undefined;return Math.sqrt(this.variance);}
6825add(x){this.count_++;this.max_=Math.max(this.max_,x);this.min_=Math.min(this.min_,x);this.sum_+=x;if(x<=0){this.meanlogs_=undefined;}else if(this.meanlogs_!==undefined){this.meanlogs_+=(Math.log(Math.abs(x))-this.meanlogs_)/this.count;}
6826if(this.count_===1){this.mean_=x;this.variance_=0;}else{const oldMean=this.mean_;const oldVariance=this.variance_;if(oldMean===Infinity||oldMean===-Infinity){this.mean_=this.sum_/this.count_;}else{this.mean_=oldMean+(x-oldMean)/this.count_;}
6827this.variance_=oldVariance+(x-oldMean)*(x-this.mean_);}}
6828merge(other){const result=new RunningStatistics();result.count_=this.count_+other.count_;result.sum_=this.sum_+other.sum_;result.min_=Math.min(this.min_,other.min_);result.max_=Math.max(this.max_,other.max_);if(result.count===0){result.mean_=0;result.variance_=0;result.meanlogs_=0;}else{result.mean_=result.sum/result.count;const deltaMean=(this.mean||0)-(other.mean||0);result.variance_=this.variance_+other.variance_+
6829(this.count*other.count*deltaMean*deltaMean/result.count);if(this.meanlogs_===undefined||other.meanlogs_===undefined){result.meanlogs_=undefined;}else{result.meanlogs_=(this.count*this.meanlogs_+
6830other.count*other.meanlogs_)/result.count;}}
6831return result;}
6832asDict(){if(!this.count){return[];}
6833return[this.count_,this.max_,this.meanlogs_,this.mean_,this.min_,this.sum_,this.variance_,];}
6834static fromDict(dict){const result=new RunningStatistics();if(dict.length!==7){return result;}
6835[result.count_,result.max_,result.meanlogs_,result.mean_,result.min_,result.sum_,result.variance_,]=dict;return result;}}
6836return{RunningStatistics,};});'use strict';tr.exportTo('tr.v.d',function(){class Diagnostic{constructor(){this.guid_=undefined;}
6837clone(){return new this.constructor();}
6838canAddDiagnostic(otherDiagnostic){return false;}
6839addDiagnostic(otherDiagnostic){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');}
6840get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();}
6841return this.guid_;}
6842set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');}
6843this.guid_=guid;}
6844asDictOrReference(){if(this.guid_!==undefined){return this.guid_;}
6845return this.asDict();}
6846asDict(){const result={type:this.constructor.name};if(this.guid_!==undefined){result.guid=this.guid_;}
6847this.asDictInto_(result);return result;}
6848asDictInto_(d){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');}
6849static fromDict(d){const typeInfo=Diagnostic.findTypeInfoWithName(d.type);if(!typeInfo){throw new Error('Unrecognized diagnostic type: '+d.type);}
6850const diagnostic=typeInfo.constructor.fromDict(d);if(d.guid!==undefined)diagnostic.guid=d.guid;return diagnostic;}}
6851const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Diagnostic;tr.b.decorateExtensionRegistry(Diagnostic,options);Diagnostic.addEventListener('will-register',function(e){const constructor=e.typeInfo.constructor;if(!(constructor.fromDict instanceof Function)||(constructor.fromDict===Diagnostic.fromDict)||(constructor.fromDict.length!==1)){throw new Error('Diagnostics must define fromDict(d)');}});return{Diagnostic,};});'use strict';tr.exportTo('tr.v.d',function(){class Breakdown extends tr.v.d.Diagnostic{constructor(){super();this.values_=new Map();this.colorScheme=undefined;}
6852clone(){const clone=new Breakdown();clone.colorScheme=this.colorScheme;clone.addDiagnostic(this);return clone;}
6853canAddDiagnostic(otherDiagnostic){return((otherDiagnostic instanceof Breakdown)&&(otherDiagnostic.colorScheme===this.colorScheme));}
6854addDiagnostic(otherDiagnostic){for(const[name,value]of otherDiagnostic){this.set(name,this.get(name)+value);}
6855return this;}
6856set(name,value){if(typeof name!=='string'||typeof value!=='number'){throw new Error('Breakdown maps from strings to numbers');}
6857this.values_.set(name,value);}
6858get(name){return this.values_.get(name)||0;}*[Symbol.iterator](){for(const pair of this.values_){yield pair;}}
6859asDictInto_(d){d.values={};for(const[name,value]of this){d.values[name]=tr.b.numberToJson(value);}
6860if(this.colorScheme){d.colorScheme=this.colorScheme;}}
6861static fromDict(d){const breakdown=new Breakdown();for(const[name,value]of Object.entries(d.values)){breakdown.set(name,tr.b.numberFromJson(value));}
6862if(d.colorScheme){breakdown.colorScheme=d.colorScheme;}
6863return breakdown;}}
6864tr.v.d.Diagnostic.register(Breakdown,{elementName:'tr-v-ui-breakdown-span'});return{Breakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class BuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterName_=info.displayMasterName||'';this.displayBotName_=info.displayBotName||'';this.buildbotMasterName_=info.buildbotMasterName||'';this.buildbotName_=info.buildbotName||'';this.buildNumber_=info.buildNumber||0;this.logUri_=info.logUri||'';}
6865addToHistogram(hist){hist.diagnostics.set(BuildbotInfo.NAME,this);}
6866clone(){const clone=new tr.v.d.MergedBuildbotInfo();clone.addDiagnostic(this);return clone;}
6867asDictInto_(d){d.displayMasterName=this.displayMasterName;d.displayBotName=this.displayBotName;d.buildbotMasterName=this.buildbotMasterName;d.buildbotName=this.buildbotName;d.buildNumber=this.buildNumber;d.logUri=this.logUri;}
6868get displayMasterName(){return this.displayMasterName_;}
6869get displayBotName(){return this.displayBotName_;}
6870get buildbotMasterName(){return this.buildbotMasterName_;}
6871get buildbotName(){return this.buildbotName_;}
6872get buildNumber(){return this.buildNumber_;}
6873get logUri(){return this.logUri_;}
6874static fromDict(d){return new BuildbotInfo(d);}
6875static getFromHistogram(hist){return hist.diagnostics.get(BuildbotInfo.NAME);}
6876static getField(hist,fieldName,defaultValue){const buildbot=BuildbotInfo.getFromHistogram(hist);if(!(buildbot instanceof tr.v.d.BuildbotInfo)||!buildbot[fieldName]){return defaultValue;}
6877return buildbot[fieldName];}}
6878BuildbotInfo.NAME='buildbot';tr.v.d.Diagnostic.register(BuildbotInfo,{elementName:'tr-v-ui-buildbot-info-span'});return{BuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Generic extends tr.v.d.Diagnostic{constructor(value){super();this.value=value;}
6879clone(){const clone=new tr.v.d.CollectedGeneric();clone.addDiagnostic(this);return clone;}
6880asDictInto_(d){d.value=this.value;}
6881static fromDict(d){return new Generic(d.value);}}
6882tr.v.d.Diagnostic.register(Generic,{elementName:'tr-v-ui-generic-diagnostic-span'});return{Generic,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedGeneric extends tr.v.d.Generic{constructor(){super([]);}
6883canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.Generic;}
6884addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof CollectedGeneric){this.value.push(...otherDiagnostic.value);}else{this.value.push(otherDiagnostic.value);}}}
6885tr.v.d.Diagnostic.register(CollectedGeneric,{elementName:'tr-v-ui-generic-diagnostic-span'});return{CollectedGeneric,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedRelatedEventSet extends tr.v.d.Diagnostic{constructor(){super();this.eventSetsByCanonicalUrl_=new Map();}
6886asDictInto_(d){d.events={};for(const[canonicalUrl,eventSet]of this){d.events[canonicalUrl]=[];for(const event of eventSet){d.events[canonicalUrl].push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}}
6887static fromDict(d){const result=new CollectedRelatedEventSet();for(const[canonicalUrl,events]of Object.entries(d.events)){result.eventSetsByCanonicalUrl_.set(canonicalUrl,events.map(e=>new tr.v.d.EventRef(e)));}
6888return result;}
6889get size(){return this.eventSetsByCanonicalUrl_.size;}
6890get(canonicalUrl){return this.eventSetsByCanonicalUrl_.get(canonicalUrl);}*[Symbol.iterator](){for(const[canonicalUrl,eventSet]of this.eventSetsByCanonicalUrl_){yield[canonicalUrl,eventSet];}}
6891canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.RelatedEventSet||otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet;}
6892addEventSetForCanonicalUrl(canonicalUrl,events){let myEventSet=this.eventSetsByCanonicalUrl_.get(canonicalUrl);if(myEventSet===undefined){myEventSet=new Set();this.eventSetsByCanonicalUrl_.set(canonicalUrl,myEventSet);}
6893for(const event of events){myEventSet.add(event);}}
6894addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet){for(const[canonicalUrl,otherEventSet]of otherDiagnostic){this.addEventSetForCanonicalUrl(canonicalUrl,otherEventSet);}
6895return;}
6896if(!otherDiagnostic.canonicalUrl)return;this.addEventSetForCanonicalUrl(otherDiagnostic.canonicalUrl,otherDiagnostic);}}
6897tr.v.d.Diagnostic.register(CollectedRelatedEventSet,{elementName:'tr-v-ui-collected-related-event-set-span'});return{CollectedRelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){class DeviceInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromeVersion_=info.chromeVersion||'';this.osName_=info.osName||'';this.osVersion_=info.osVersion||'';this.gpuInfo_=info.gpuInfo||undefined;this.arch_=info.arch||undefined;this.ram_=info.ram||0;}
6898addToHistogram(hist){hist.diagnostics.set(DeviceInfo.NAME,this);}
6899static getFromHistogram(hist){return hist.diagnostics.get(DeviceInfo.NAME);}
6900clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;}
6901asDictInto_(d){d.chromeVersion=this.chromeVersion;d.osName=this.osName;d.osVersion=this.osVersion;d.gpuInfo=this.gpuInfo;d.arch=this.arch;d.ram=this.ram;}
6902static fromDict(d){return new DeviceInfo(d);}
6903get chromeVersion(){return this.chromeVersion_;}
6904get osName(){return this.osName_;}
6905get osVersion(){return this.osVersion_;}
6906get gpuInfo(){return this.gpuInfo_;}
6907get arch(){return this.arch_;}
6908get ram(){return this.ram_;}}
6909DeviceInfo.NAME='device';tr.v.d.Diagnostic.register(DeviceInfo,{elementName:'tr-v-ui-device-info-span'});return{DeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class DiagnosticRef{constructor(guid){this.guid=guid;}
6910asDict(){return this.guid;}}
6911return{DiagnosticRef,};});'use strict';tr.exportTo('tr.v.d',function(){class GroupingPath extends tr.v.d.Diagnostic{constructor(groupingPath){super();this.groupingPath_=groupingPath;}
6912clone(){return new GroupingPath(Array.from(this.groupingPath_));}
6913addToHistogram(hist){hist.diagnostics.set(GroupingPath.NAME,this);}
6914static getFromHistogram(hist){return hist.diagnostics.get(GroupingPath.NAME);}
6915equals(other){return 0===tr.b.compareArrays(this.groupingPath_,other.groupingPath_,(x,y)=>x.localeCompare(y));}
6916asDictInto_(d){d.groupingPath=this.groupingPath_;}
6917static fromDict(d){return new GroupingPath(d.groupingPath);}}
6918GroupingPath.NAME='grouping path';tr.v.d.Diagnostic.register(GroupingPath);return{GroupingPath,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedBuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterNames_=new Set();this.displayBotNames_=new Set();this.buildbotMasterNames_=new Set();this.buildbotNames_=new Set();this.buildNumbers_=new Set();this.logUris_=new Set();}
6919clone(){const clone=new MergedBuildbotInfo();clone.addDiagnostic(this);return clone;}
6920addToHistogram(hist){hist.diagnostics.set(tr.v.d.BuildbotInfo.NAME,this);}
6921equals(other){if(!(other instanceof MergedBuildbotInfo))return false;if(!tr.b.setsEqual(this.displayMasterNames,other.displayMasterNames)){return false;}
6922if(!tr.b.setsEqual(this.displayBotNames,other.displayBotNames)){return false;}
6923if(!tr.b.setsEqual(this.buildbotMasterNames,other.buildbotMasterNames)){return false;}
6924if(!tr.b.setsEqual(this.buildbotNames,other.buildbotNames)){return false;}
6925if(!tr.b.setsEqual(this.buildNumbers,other.buildNumbers))return false;if(!tr.b.setsEqual(this.logUris,other.logUris))return false;return true;}
6926canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedBuildbotInfo||otherDiagnostic instanceof tr.v.d.BuildbotInfo;}
6927addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedBuildbotInfo){for(const name of otherDiagnostic.displayMasterNames){this.displayMasterNames.add(name);}
6928for(const name of otherDiagnostic.displayBotNames){this.displayBotNames.add(name);}
6929for(const name of otherDiagnostic.buildbotMasterNames){this.buildbotMasterNames.add(name);}
6930for(const name of otherDiagnostic.buildbotNames){this.buildbotNames.add(name);}
6931for(const name of otherDiagnostic.buildNumbers){this.buildNumbers.add(name);}
6932for(const name of otherDiagnostic.logUris){this.logUris.add(name);}
6933return this;}
6934if(otherDiagnostic.displayMasterName){this.displayMasterNames.add(otherDiagnostic.displayMasterName);}
6935if(otherDiagnostic.displayBotName){this.displayBotNames.add(otherDiagnostic.displayBotName);}
6936if(otherDiagnostic.buildbotMasterName){this.buildbotMasterNames.add(otherDiagnostic.buildbotMasterName);}
6937if(otherDiagnostic.buildbotName){this.buildbotNames.add(otherDiagnostic.buildbotName);}
6938if(otherDiagnostic.buildNumber){this.buildNumbers.add(otherDiagnostic.buildNumber);}
6939if(otherDiagnostic.logUri){this.logUris.add(otherDiagnostic.logUri);}
6940return this;}
6941asDictInto_(d){d.displayMasterNames=Array.from(this.displayMasterNames);d.displayBotNames=Array.from(this.displayBotNames);d.buildbotMasterNames=Array.from(this.buildbotMasterNames);d.buildbotNames=Array.from(this.buildbotNames);d.buildNumbers=Array.from(this.buildNumbers);d.logUris=Array.from(this.logUris);}
6942get displayMasterNames(){return this.displayMasterNames_;}
6943get displayBotNames(){return this.displayBotNames_;}
6944get buildbotMasterNames(){return this.buildbotMasterNames_;}
6945get buildbotNames(){return this.buildbotNames_;}
6946get buildNumbers(){return this.buildNumbers_;}
6947get logUris(){return this.logUris_;}
6948static fromDict(d){const info=new MergedBuildbotInfo();for(const name of d.displayMasterNames){info.displayMasterNames.add(name);}
6949for(const name of d.displayBotNames){info.displayBotNames.add(name);}
6950for(const name of d.buildbotMasterNames){info.buildbotMasterNames.add(name);}
6951for(const name of d.buildbotNames){info.buildbotNames.add(name);}
6952for(const name of d.buildNumbers){info.buildNumbers.add(name);}
6953for(const name of d.logUris){info.logUris.add(name);}
6954return info;}}
6955tr.v.d.Diagnostic.register(MergedBuildbotInfo,{elementName:'tr-v-ui-merged-buildbot-info-span'});return{MergedBuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedDeviceInfo extends tr.v.d.Diagnostic{constructor(){super();this.chromeVersions_=new Set();this.osNames_=new Set();this.osVersions_=new Set();}
6956clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;}
6957addToHistogram(hist){hist.diagnostics.set(tr.v.d.DeviceInfo.NAME,this);}
6958canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedDeviceInfo||otherDiagnostic instanceof tr.v.d.DeviceInfo;}
6959addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedDeviceInfo){for(const name of otherDiagnostic.osNames){this.osNames.add(name);}
6960for(const name of otherDiagnostic.osVersions){this.osVersions.add(name);}
6961for(const name of otherDiagnostic.chromeVersions){this.chromeVersions.add(name);}
6962return this;}
6963if(otherDiagnostic.osName){this.osNames.add(otherDiagnostic.osName);}
6964if(otherDiagnostic.osVersion){this.osVersions.add(otherDiagnostic.osVersion);}
6965if(otherDiagnostic.chromeVersion){this.chromeVersions.add(otherDiagnostic.chromeVersion);}
6966return this;}
6967equals(other){if(!(other instanceof MergedDeviceInfo))return false;if(!tr.b.setsEqual(this.chromeVersions,other.chromeVersions)){return false;}
6968if(!tr.b.setsEqual(this.osVersions,other.osVersions))return false;if(!tr.b.setsEqual(this.osNames,other.osNames))return false;return true;}
6969asDictInto_(d){d.chromeVersions=Array.from(this.chromeVersions);d.osNames=Array.from(this.osNames);d.osVersions=Array.from(this.osVersions);}
6970static fromDict(d){const info=new MergedDeviceInfo();for(const chromeVersion of d.chromeVersions){info.chromeVersions.add(chromeVersion);}
6971for(const osName of d.osNames){info.osNames.add(osName);}
6972for(const osVersion of d.osVersions){info.osVersions.add(osVersion);}
6973return info;}
6974get chromeVersions(){return this.chromeVersions_;}
6975get osNames(){return this.osNames_;}
6976get osVersions(){return this.osVersions_;}}
6977tr.v.d.Diagnostic.register(MergedDeviceInfo,{elementName:'tr-v-ui-merged-device-info-span'});return{MergedDeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){const REPO_NAMES=['chromium','v8','catapult','angle','skia','webrtc'];class MergedRevisionInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromiumCommitPositions_=new Set(info.chromiumCommitPositions||[]);this.v8CommitPositions_=new Set(info.v8CommitPositions||[]);this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];}
6978clone(){const clone=new MergedRevisionInfo();clone.addDiagnostic(this);return clone;}
6979addToHistogram(hist){hist.diagnostics.set(tr.v.d.RevisionInfo.NAME,this);}
6980canAddDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){return otherDiagnostic instanceof tr.v.d.RevisionInfo||otherDiagnostic instanceof MergedRevisionInfo;}
6981addDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){if(otherDiagnostic instanceof MergedRevisionInfo){for(const pos of otherDiagnostic.chromiumCommitPositions){this.chromiumCommitPositions.add(pos);}
6982for(const pos of otherDiagnostic.v8CommitPositions){this.v8CommitPositions.add(pos);}
6983for(const repo of REPO_NAMES){for(const otherRevs of otherDiagnostic[repo]){let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}}
6984if(!found){this[repo].push(otherRevs);}}}
6985return this;}
6986if(otherDiagnostic.chromiumCommitPosition!==undefined){this.chromiumCommitPositions.add(otherDiagnostic.chromiumCommitPosition);}
6987if(otherDiagnostic.v8CommitPosition!==undefined){this.v8CommitPositions.add(otherDiagnostic.v8CommitPosition);}
6988for(const repo of REPO_NAMES){const otherRevs=otherDiagnostic[repo];let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}}
6989if(!found){this[repo].push(otherRevs);}}
6990return this;}
6991asDictInto_(d){d.chromiumCommitPositions=this.chromiumCommitPositions;d.v8CommitPositions=this.v8CommitPositions;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;}
6992static fromDict(d){return new MergedRevisionInfo(d);}
6993get chromiumCommitPositions(){return this.chromiumCommitPositions_;}
6994get v8CommitPositions(){return this.v8CommitPositions_;}
6995get chromium(){return this.chromium_;}
6996get v8(){return this.v8_;}
6997get catapult(){return this.catapult_;}
6998get angle(){return this.angle_;}
6999get skia(){return this.skia_;}
7000get webrtc(){return this.webrtc_;}}
7001tr.v.d.Diagnostic.register(MergedRevisionInfo,{elementName:'tr-v-ui-merged-revision-info-span'});return{MergedRevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedTelemetryInfo extends tr.v.d.Diagnostic{constructor(){super();this.benchmarkNames_=new Set();this.benchmarkStartsMs_=new Set();this.labels_=new Set();this.legacyTIRLabels_=new Set();this.storyDisplayNames_=new Set();this.storyGroupingKeys_=new Map();this.storysetRepeatCounters_=new Set();}
7002clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;}
7003addToHistogram(hist){hist.diagnostics.set(tr.v.d.TelemetryInfo.NAME,this);}
7004equals(other){if(!(other instanceof MergedTelemetryInfo))return false;if(!tr.b.setsEqual(this.benchmarkNames,other.benchmarkNames)){return false;}
7005if(!tr.b.setsEqual(this.labels,other.labels))return false;if(!tr.b.setsEqual(this.storyDisplayNames,other.storyDisplayNames)){return false;}
7006if(!tr.b.setsEqual(this.legacyTIRLabels,other.legacyTIRLabels)){return false;}
7007if(!tr.b.setsEqual(this.storysetRepeatCounters,other.storysetRepeatCounters)){return false;}
7008if(!tr.b.setsEqual(this.benchmarkStartsMs,other.benchmarkStartsMs)){return false;}
7009if(!tr.b.setsEqual(new Set(this.storyGroupingKeys.keys()),new Set(other.storyGroupingKeys.keys()))){return false;}
7010for(const[k,vs]of this.storyGroupingKeys){if(!tr.b.setsEqual(vs,other.storyGroupingKeys.get(k))){return false;}}
7011return true;}
7012canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedTelemetryInfo||otherDiagnostic instanceof tr.v.d.TelemetryInfo;}
7013addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedTelemetryInfo){for(const name of otherDiagnostic.benchmarkNames){this.benchmarkNames.add(name);}
7014for(const t of otherDiagnostic.benchmarkStartsMs){this.benchmarkStartsMs.add(t);}
7015for(const name of otherDiagnostic.labels){this.labels.add(name);}
7016for(const name of otherDiagnostic.legacyTIRLabels){this.legacyTIRLabels.add(name);}
7017for(const name of otherDiagnostic.storyDisplayNames){this.storyDisplayNames.add(name);}
7018for(const name of otherDiagnostic.storysetRepeatCounters){this.storysetRepeatCounters.add(name);}
7019for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){for(const subValue of value){this.storyGroupingKeys.get(name).add(subValue);}}else{this.storyGroupingKeys.set(name,new Set(value));}}
7020return;}
7021if(otherDiagnostic.benchmarkName){this.benchmarkNames.add(otherDiagnostic.benchmarkName);}
7022if(otherDiagnostic.benchmarkStart!==undefined){this.benchmarkStartsMs.add(otherDiagnostic.benchmarkStart.getTime());}
7023if(otherDiagnostic.label){this.labels.add(otherDiagnostic.label);}
7024if(otherDiagnostic.legacyTIRLabel){this.legacyTIRLabels.add(otherDiagnostic.legacyTIRLabel);}
7025if(otherDiagnostic.storyDisplayName){this.storyDisplayNames.add(otherDiagnostic.storyDisplayName);}
7026for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){this.storyGroupingKeys.get(name).add(value);}else{this.storyGroupingKeys.set(name,new Set([value]));}}
7027if(otherDiagnostic.storysetRepeatCounter!==undefined){this.storysetRepeatCounters.add(otherDiagnostic.storysetRepeatCounter);}}
7028asDictInto_(d){if(this.benchmarkNames.size){d.benchmarkNames=Array.from(this.benchmarkNames);}
7029if(this.benchmarkStartsMs.size){d.benchmarkStartsMs=Array.from(this.benchmarkStartsMs);}
7030if(this.labels.size){d.labels=Array.from(this.labels);}
7031if(this.legacyTIRLabels.size){d.legacyTIRLabels=this.legacyTIRLabels;}
7032if(this.storyDisplayNames.size){d.storyDisplayNames=Array.from(this.storyDisplayNames);}
7033if(this.storyGroupingKeys.size){d.storyGroupingKeys={};for(const[name,values]of this.storyGroupingKeys){d.storyGroupingKeys[name]=Array.from(values);}}
7034if(this.storysetRepeatCounters.size){d.storysetRepeatCounters=Array.from(this.storysetRepeatCounters);}}
7035static fromDict(d){const info=new MergedTelemetryInfo();for(const n of d.benchmarkNames||[]){info.benchmarkNames_.add(n);}
7036for(const n of d.benchmarkStartsMs||[]){info.benchmarkStartsMs_.add(n);}
7037for(const n of d.labels||[]){info.labels_.add(n);}
7038for(const n of d.legacyTIRLabels||[]){info.legacyTIRLabels_.add(n);}
7039for(const n of d.storyDisplayNames||[]){info.storyDisplayNames_.add(n);}
7040for(const[name,values]of Object.entries(d.storyGroupingKeys||{})){info.storyGroupingKeys_.set(name,new Set(values));}
7041for(const n of d.storysetRepeatCounters||[]){info.storysetRepeatCounters_.add(n);}
7042return info;}
7043get displayLabel(){if(this.labels.size){return Array.from(this.labels).join('\n');}
7044return Array.from(this.benchmarkNames).concat(this.benchmarkStartStrings).join('\n');}
7045get benchmarkNames(){return this.benchmarkNames_;}
7046get labels(){return this.labels_;}
7047get legacyTIRLabels(){return this.legacyTIRLabels_;}
7048get storyGroupingKeys(){return this.storyGroupingKeys_;}
7049get storyDisplayNames(){return this.storyDisplayNames_;}
7050get storysetRepeatCounters(){return this.storysetRepeatCounters_;}
7051get storysetRepeatCounterLabel(){return'storyset repeat '+Array.from(this.storysetRepeatCounters).join(',');}
7052get benchmarkStartsMs(){return this.benchmarkStartsMs_;}
7053get benchmarkStarts(){const startsMs=Array.from(this.benchmarkStartsMs);startsMs.sort((x,y)=>x-y);return startsMs.map(t=>new Date(t));}
7054get benchmarkStartStrings(){return this.benchmarkStarts.map(tr.b.formatDate);}
7055static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)||!telemetry[fieldName]){return defaultValue;}
7056return telemetry[fieldName];}
7057static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)){return storyGroupingKey+': undefined';}
7058return storyGroupingKey+': '+
7059telemetry.storyGroupingKeys[storyGroupingKey];}
7060static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>MergedTelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}}
7061tr.v.d.Diagnostic.register(MergedTelemetryInfo,{elementName:'tr-v-ui-merged-telemetry-info-span'});return{MergedTelemetryInfo,};});'use strict';tr.exportTo('tr.v.d.',function(){class Ownership extends tr.v.d.Diagnostic{constructor(emails,component){super();this.emails=emails||[];if(typeof(component)==='string'){this.component=component;}}
7062asDictInto_(d){if(this.component!==undefined){d.component=this.component;}
7063d.emails=this.emails;}
7064clone(){return new Ownership(this.emails,this.component);}
7065static fromDict(d){return new Ownership(d.emails,d.component);}}
7066tr.v.d.Diagnostic.register(Ownership);return{Ownership,};});'use strict';tr.exportTo('tr.v.d',function(){class EventRef{constructor(event){this.stableId=event.stableId;this.title=event.title;this.start=event.start;this.duration=event.duration;this.end=this.start+this.duration;this.guid=tr.b.GUID.allocateSimple();}}
7067return{EventRef,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedEventSet extends tr.v.d.Diagnostic{constructor(opt_events){super();this.eventsByStableId_=new Map();this.canonicalUrl_=undefined;if(opt_events){if(opt_events instanceof tr.model.EventSet||opt_events instanceof Array){for(const event of opt_events){this.add(event);}}else{this.add(opt_events);}}}
7068clone(){const clone=new tr.v.d.CollectedRelatedEventSet();clone.addDiagnostic(this);return clone;}
7069add(event){this.eventsByStableId_.set(event.stableId,event);}
7070has(event){return this.eventsByStableId_.has(event.stableId);}
7071get length(){return this.eventsByStableId_.size;}*[Symbol.iterator](){for(const event of this.eventsByStableId_.values()){yield event;}}
7072get canonicalUrl(){return this.canonicalUrl_;}
7073resolve(model,opt_required){for(const[stableId,value]of this.eventsByStableId_){if(!(value instanceof tr.v.d.EventRef))continue;const event=model.getEventByStableId(stableId);if(event instanceof tr.model.Event){this.eventsByStableId_.set(stableId,event);}else if(opt_required){throw new Error('Unable to find Event '+stableId);}}}
7074asDictInto_(d){d.events=[];for(const event of this){d.events.push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}
7075static fromDict(d){return new RelatedEventSet(d.events.map(event=>new tr.v.d.EventRef(event)));}}
7076tr.v.d.Diagnostic.register(RelatedEventSet,{elementName:'tr-v-ui-related-event-set-span'});return{RelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){function HistogramRef(guid){this.guid=guid;}
7077return{HistogramRef};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramMap extends tr.v.d.Diagnostic{constructor(){super();this.histogramsByName_=new Map();}
7078canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramMap;}
7079addDiagnostic(otherDiagnostic){}
7080mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const[name,otherRelatedHist]of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.set(name,relatedHist);}}}
7081get(name){return this.histogramsByName_.get(name);}
7082set(name,hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+
7083hist);}
7084this.histogramsByName_.set(name,hist);}
7085add(hist){this.set(hist.name,hist);}
7086get length(){return this.histogramsByName_.size;}*[Symbol.iterator](){for(const pair of this.histogramsByName_){yield pair;}}
7087resolve(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.HistogramRef))continue;const guid=value.guid;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByName_.set(name,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}}
7088asDictInto_(d){d.values={};for(const[name,hist]of this){d.values[name]=hist.guid;}}
7089static fromDict(d){const map=new RelatedHistogramMap();for(const[name,guid]of Object.entries(d.values)){map.set(name,new tr.v.d.HistogramRef(guid));}
7090return map;}}
7091tr.v.d.Diagnostic.register(RelatedHistogramMap,{elementName:'tr-v-ui-related-histogram-map-span'});return{RelatedHistogramMap,};});'use strict';tr.exportTo('tr.v.d',function(){const COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER='ChromeUserFriendlyCategory';class RelatedHistogramBreakdown extends tr.v.d.RelatedHistogramMap{constructor(){super();this.colorScheme=undefined;}
7092clone(){const clone=new RelatedHistogramBreakdown();clone.colorScheme=this.colorScheme;return clone;}
7093canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramBreakdown&&otherDiagnostic.colorScheme===this.colorScheme;}
7094set(name,hist){if(!(hist instanceof tr.v.d.HistogramRef)){if(!(hist instanceof tr.v.Histogram)){throw new Error('RelatedHistogramBreakdown can only contain Histograms');}
7095if((this.length>0)&&(hist.unit!==tr.b.getFirstElement(this)[1].unit)){throw new Error('Units mismatch',tr.b.getFirstElement(this)[1].unit,hist.unit);}}
7096tr.v.d.RelatedHistogramMap.prototype.set.call(this,name,hist);}
7097asDictInto_(d){tr.v.d.RelatedHistogramMap.prototype.asDictInto_.call(this,d);if(this.colorScheme)d.colorScheme=this.colorScheme;}
7098static fromDict(d){const diagnostic=new RelatedHistogramBreakdown();for(const[name,guid]of Object.entries(d.values)){diagnostic.set(name,new tr.v.d.HistogramRef(guid));}
7099if(d.colorScheme)diagnostic.colorScheme=d.colorScheme;return diagnostic;}
7100static buildFromEvents(histograms,namePrefix,events,categoryForEvent,unit,opt_sampleForEvent,opt_binBoundaries,opt_this){const sampleForEvent=opt_sampleForEvent||((event)=>event.cpuSelfTime);const diagnostic=new RelatedHistogramBreakdown();for(const event of events){const sample=sampleForEvent.call(opt_this,event);if(sample===undefined)continue;const eventCategory=categoryForEvent.call(opt_this,event);let hist=diagnostic.get(eventCategory);if(hist===undefined){hist=new tr.v.Histogram(namePrefix+eventCategory,unit,opt_binBoundaries);histograms.addHistogram(hist);diagnostic.set(eventCategory,hist);}
7101hist.addSample(sample,{relatedEvents:new tr.v.d.RelatedEventSet([event])});}
7102return diagnostic;}}
7103tr.v.d.Diagnostic.register(RelatedHistogramBreakdown,{elementName:'tr-v-ui-breakdown-span'});return{COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER,RelatedHistogramBreakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramSet extends tr.v.d.Diagnostic{constructor(opt_histograms){super();this.histogramsByGuid_=new Map();if(opt_histograms){for(const hist of opt_histograms){this.add(hist);}}}
7104canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramSet;}
7105addDiagnostic(otherDiagnostic){}
7106mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const otherRelatedHist of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){if(this.has(relatedHist))continue;const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.add(relatedHist);}}}
7107add(hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+
7108hist);}
7109if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Tried to add same hist twice');}
7110this.histogramsByGuid_.set(hist.guid,hist);}
7111has(hist){return this.histogramsByGuid_.has(hist.guid);}
7112get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const[guid,hist]of this.histogramsByGuid_){yield hist;}}
7113resolve(histograms,opt_required){for(const[guid,value]of this.histogramsByGuid_){if(!(value instanceof tr.v.d.HistogramRef))continue;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByGuid_.set(guid,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}}
7114asDictInto_(d){d.guids=[];for(const hist of this){d.guids.push(hist.guid);}}
7115static fromDict(d){return new RelatedHistogramSet(d.guids.map(guid=>new tr.v.d.HistogramRef(guid)));}}
7116tr.v.d.Diagnostic.register(RelatedHistogramSet,{elementName:'tr-v-ui-related-histogram-set-span'});return{RelatedHistogramSet,};});'use strict';tr.exportTo('tr.v.d',function(){class RevisionInfo extends tr.v.d.Diagnostic{constructor(info){super();this.chromiumCommitPosition_=info.chromiumCommitPosition||undefined;this.v8CommitPosition_=info.v8CommitPosition||undefined;this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];}
7117addToHistogram(hist){hist.diagnostics.set(RevisionInfo.NAME,this);}
7118clone(){const clone=new tr.v.d.MergedRevisionInfo();clone.addDiagnostic(this);return clone;}
7119asDictInto_(d){d.chromiumCommitPosition=this.chromiumCommitPosition;d.v8CommitPosition=this.v8CommitPosition;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;}
7120static fromDict(d){return new RevisionInfo(d);}
7121get chromiumCommitPosition(){return this.chromiumCommitPosition_;}
7122get v8CommitPosition(){return this.v8CommitPosition_;}
7123get chromium(){return this.chromium_;}
7124get v8(){return this.v8_;}
7125get catapult(){return this.catapult_;}
7126get angle(){return this.angle_;}
7127get skia(){return this.skia_;}
7128get webrtc(){return this.webrtc_;}}
7129RevisionInfo.NAME='revisions';tr.v.d.Diagnostic.register(RevisionInfo,{elementName:'tr-v-ui-revision-info-span'});return{RevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Scalar extends tr.v.d.Diagnostic{constructor(value){super();if(!(value instanceof tr.b.Scalar)){throw new Error('expected Scalar');}
7130this.value=value;}
7131clone(){return new Scalar(this.value);}
7132asDictInto_(d){d.value=this.value.asDict();}
7133static fromDict(d){return new Scalar(tr.b.Scalar.fromDict(d.value));}}
7134tr.v.d.Diagnostic.register(Scalar,{elementName:'tr-v-ui-scalar-diagnostic-span'});return{Scalar,};});'use strict';tr.exportTo('tr.v.d',function(){class TagMap extends tr.v.d.Diagnostic{constructor(opt_info){super();this.tagsToStoryDisplayNames_=new Map();if(opt_info){for(const[tag,storyDisplayNames]of Object.entries(opt_info.tagsToStoryDisplayNames||{})){this.tagsToStoryDisplayNames.set(tag,new Set(storyDisplayNames));}}}
7135clone(){const clone=new TagMap();clone.addDiagnostic(this);return clone;}
7136addToHistogram(hist){hist.diagnostics.set(tr.v.d.TagMap.NAME,this);}
7137equals(other){if(!(other instanceof TagMap))return false;const keys1=new Set(this.tagsToStoryDisplayNames.keys());const keys2=new Set(other.tagsToStoryDisplayNames.keys());if(!tr.b.setsEqual(keys1,keys2)){return false;}
7138for(const key of keys1){if(!tr.b.setsEqual(this.tagsToStoryDisplayNames.get(key),other.tagsToStoryDisplayNames.get(key))){return false;}}
7139return true;}
7140canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof TagMap;}
7141addDiagnostic(otherDiagnostic){for(const[name,storyDisplayNames]of
7142otherDiagnostic.tagsToStoryDisplayNames){if(!this.tagsToStoryDisplayNames.has(name)){this.tagsToStoryDisplayNames.set(name,new Set());}
7143for(const t of storyDisplayNames){this.tagsToStoryDisplayNames.get(name).add(t);}}
7144return this;}
7145asDictInto_(d){d.tagsToStoryDisplayNames={};for(const[name,value]of this.tagsToStoryDisplayNames){d.tagsToStoryDisplayNames[name]=Array.from(value);}}
7146get tagsToStoryDisplayNames(){return this.tagsToStoryDisplayNames_;}
7147static fromDict(d){const info=new TagMap();for(const[name,values]of
7148Object.entries(d.tagsToStoryDisplayNames||{})){info.tagsToStoryDisplayNames.set(name,new Set(values));}
7149return info;}}
7150TagMap.NAME='tagmap';tr.v.d.Diagnostic.register(TagMap);return{TagMap,};});'use strict';tr.exportTo('tr.v.d',function(){class TelemetryInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();this.benchmarkName_='';this.benchmarkStart_=undefined;this.label_='';this.legacyTIRLabel_='';this.storyDisplayName_='';this.storyGroupingKeys_=new Map();this.storysetRepeatCounter_=undefined;this.canonicalUrl_='';if(opt_info){this.addInfo(opt_info);}}
7151clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;}
7152addInfo(info){if(info.benchmarkName){this.benchmarkName_=info.benchmarkName;}
7153if(info.benchmarkStartMs!==undefined){this.benchmarkStart_=new Date(info.benchmarkStartMs);}
7154if(info.label){this.label_=info.label;}
7155if(info.storyDisplayName){this.storyDisplayName_=info.storyDisplayName;}
7156for(const[name,value]of Object.entries(info.storyGroupingKeys||{})){this.storyGroupingKeys_.set(name,value);}
7157if(info.storysetRepeatCounter!==undefined){this.storysetRepeatCounter_=info.storysetRepeatCounter;}
7158if(info.legacyTIRLabel){this.legacyTIRLabel_=info.legacyTIRLabel;}
7159if(info.canonicalUrl){this.canonicalUrl_=info.canonicalUrl;}}
7160addToHistogram(hist){hist.diagnostics.set(TelemetryInfo.NAME,this);}
7161static getFromHistogram(hist){return hist.diagnostics.get(TelemetryInfo.NAME)||hist.diagnostics.get('iteration');}
7162asDictInto_(d){d.benchmarkName=this.benchmarkName;if(this.benchmarkStart){d.benchmarkStartMs=this.benchmarkStart.getTime();}
7163d.label=this.label;d.storyDisplayName=this.storyDisplayName;if(this.storyGroupingKeys.size>0){d.storyGroupingKeys={};for(const[name,value]of this.storyGroupingKeys){d.storyGroupingKeys[name]=value;}}
7164d.storysetRepeatCounter=this.storysetRepeatCounter;d.legacyTIRLabel=this.legacyTIRLabel;d.canonicalUrl=this.canonicalUrl;}
7165static fromDict(d){const info=new TelemetryInfo();info.addInfo(d);return info;}
7166get displayLabel(){if(this.label)return this.label;return this.benchmarkName+'\n'+this.benchmarkStartString;}
7167get benchmarkName(){return this.benchmarkName_;}
7168get label(){return this.label_;}
7169get legacyTIRLabel(){return this.legacyTIRLabel_;}
7170set legacyTIRLabel(tir){this.legacyTIRLabel_=tir;}
7171get storyGroupingKeys(){return this.storyGroupingKeys_;}
7172get storyDisplayName(){return this.storyDisplayName_;}
7173get storysetRepeatCounter(){return this.storysetRepeatCounter_;}
7174get storysetRepeatCounterLabel(){return'storyset repeat '+this.storysetRepeatCounter;}
7175get canonicalUrl(){return this.canonicalUrl_;}
7176get benchmarkStart(){return this.benchmarkStart_;}
7177get benchmarkStartString(){if(this.benchmarkStart_===undefined)return'';return tr.b.formatDate(this.benchmarkStart);}
7178static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)||!telemetry[fieldName]){return defaultValue;}
7179return telemetry[fieldName];}
7180static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)){return storyGroupingKey+': undefined';}
7181return storyGroupingKey+': '+
7182telemetry.storyGroupingKeys.get(storyGroupingKey);}
7183static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>TelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}}
7184TelemetryInfo.NAME='telemetry';tr.v.d.Diagnostic.register(TelemetryInfo,{elementName:'tr-v-ui-telemetry-info-span'});return{TelemetryInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class UnmergeableDiagnosticSet extends tr.v.d.Diagnostic{constructor(diagnostics){super();this._diagnostics=diagnostics;}
7185clone(){const clone=new tr.v.d.UnmergeableDiagnosticSet();clone.addDiagnostic(this);return clone;}
7186canAddDiagnostic(otherDiagnostic){return true;}
7187addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subOtherDiagnostic of otherDiagnostic){const clone=subOtherDiagnostic.clone();this.addDiagnostic(clone);}
7188return;}
7189for(let i=0;i<this._diagnostics.length;++i){if(this._diagnostics[i].canAddDiagnostic(otherDiagnostic)){this._diagnostics[i].addDiagnostic(otherDiagnostic);return;}}
7190const clone=otherDiagnostic.clone();this._diagnostics.push(clone);}
7191mergeRelationships(otherDiagnostic,parentHist,otherParentHist){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subDiagnostic of otherDiagnostic){this.mergeRelationships(subDiagnostic,parentHist,otherParentHist);}
7192return;}
7193for(const subDiagnostic of this){if(!(subDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)){continue;}
7194subDiagnostic.mergeRelationships(otherDiagnostic,parentHist,otherParentHist);}}
7195get length(){return this._diagnostics.length;}*[Symbol.iterator](){for(const diagnostic of this._diagnostics)yield diagnostic;}
7196asDictInto_(d){d.diagnostics=this._diagnostics.map(d=>d.asDictOrReference());}
7197static fromDict(d){return new UnmergeableDiagnosticSet(d.diagnostics.map(d=>((typeof d==='string')?new tr.v.d.DiagnosticRef(d):tr.v.d.Diagnostic.fromDict(d))));}}
7198tr.v.d.Diagnostic.register(UnmergeableDiagnosticSet,{elementName:'tr-v-ui-unmergeable-diagnostic-set-span'});return{UnmergeableDiagnosticSet,};});'use strict';tr.exportTo('tr.v.d',function(){const MERGED_FROM_DIAGNOSTIC_KEY='merged from';const MERGED_TO_DIAGNOSTIC_KEY='merged to';class DiagnosticMap extends Map{set(name,diagnostic){if(typeof(name)!=='string'){throw new Error('name must be string, not '+name);}
7199if(!(diagnostic instanceof tr.v.d.Diagnostic)&&!(diagnostic instanceof tr.v.d.DiagnosticRef)){throw new Error('Must be instanceof Diagnostic: '+diagnostic);}
7200Map.prototype.set.call(this,name,diagnostic);}
7201addDicts(dict){for(const[name,diagnosticDict]of Object.entries(dict)){if(typeof diagnosticDict==='string'){this.set(name,new tr.v.d.DiagnosticRef(diagnosticDict));}else{this.set(name,tr.v.d.Diagnostic.fromDict(diagnosticDict));}}}
7202resolveSharedDiagnostics(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.DiagnosticRef)){continue;}
7203const guid=value.guid;const diagnostic=histograms.lookupDiagnostic(guid);if(diagnostic instanceof tr.v.d.Diagnostic){this.set(name,diagnostic);}else if(opt_required){throw new Error('Unable to find shared Diagnostic '+guid);}}}
7204asDict(){const dict={};for(const[name,diagnostic]of this){dict[name]=diagnostic.asDictOrReference();}
7205return dict;}
7206static fromDict(d){const diagnostics=new DiagnosticMap();diagnostics.addDicts(d);return diagnostics;}
7207static fromObject(obj){const diagnostics=new DiagnosticMap();for(const[name,diagnostic]of Object.entries(obj)){diagnostics.set(name,diagnostic);}
7208return diagnostics;}
7209addDiagnostics(other){for(const[name,otherDiagnostic]of other){if(name===MERGED_FROM_DIAGNOSTIC_KEY||name===MERGED_TO_DIAGNOSTIC_KEY||name===tr.v.d.GroupingPath){continue;}
7210const myDiagnostic=this.get(name);if(myDiagnostic!==undefined&&myDiagnostic.canAddDiagnostic(otherDiagnostic)){myDiagnostic.addDiagnostic(otherDiagnostic);continue;}
7211const clone=otherDiagnostic.clone();if(myDiagnostic===undefined){this.set(name,clone);continue;}
7212this.set(name,new tr.v.d.UnmergeableDiagnosticSet([myDiagnostic,clone]));}}
7213mergeRelationships(parentHist){for(const[name,diagnostic]of this){if(!(diagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(diagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(diagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;}
7214for(const otherHist of this.get(MERGED_FROM_DIAGNOSTIC_KEY)){const otherDiagnostic=otherHist.diagnostics.get(name);if(!(otherDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(otherDiagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;}
7215diagnostic.mergeRelationships(otherDiagnostic,parentHist,otherHist);}}}}
7216return{DiagnosticMap,MERGED_FROM_DIAGNOSTIC_KEY,MERGED_TO_DIAGNOSTIC_KEY,};});'use strict';tr.exportTo('tr.v',function(){const MAX_DIAGNOSTIC_MAPS=16;const DEFAULT_SAMPLE_VALUES_PER_BIN=10;const DEFAULT_REBINNED_COUNT=40;const DEFAULT_BOUNDARIES_FOR_UNIT=new Map();const DELTA=String.fromCharCode(916);const Z_SCORE_NAME='z-score';const P_VALUE_NAME='p-value';const U_STATISTIC_NAME='U';function percentToString(percent,opt_force3){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');}
7217if(percent===0)return'000';if(percent===1)return'100';let str=percent.toString();if(str[1]!=='.'){throw new Error('Unexpected percent');}
7218str=str+'0'.repeat(Math.max(4-str.length,0));if(str.length>4){if(opt_force3){str=str.slice(0,4);}else{str=str.slice(0,4)+'_'+str.slice(4);}}
7219return'0'+str.slice(2);}
7220function percentFromString(s){return parseFloat(s[0]+'.'+s.substr(1).replace(/_/g,''));}
7221class HistogramBin{constructor(range){this.range=range;this.count=0;this.diagnosticMaps=[];}
7222addSample(value){this.count+=1;}
7223addDiagnosticMap(diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.diagnosticMaps,this.count,diagnostics,MAX_DIAGNOSTIC_MAPS);}
7224addBin(other){if(!this.range.equals(other.range)){throw new Error('Merging incompatible Histogram bins.');}
7225tr.b.math.Statistics.mergeSampledStreams(this.diagnosticMaps,this.count,other.diagnosticMaps,other.count,MAX_DIAGNOSTIC_MAPS);this.count+=other.count;}
7226fromDict(dict){this.count=dict[0];if(dict.length>1){for(const map of dict[1]){this.diagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}}
7227asDict(){if(!this.diagnosticMaps.length){return[this.count];}
7228return[this.count,this.diagnosticMaps.map(d=>d.asDict())];}}
7229const DEFAULT_SUMMARY_OPTIONS=new Map([['avg',true],['count',true],['geometricMean',false],['max',true],['min',true],['nans',false],['std',true],['sum',true],]);class Histogram{constructor(name,unit,opt_binBoundaries){let binBoundaries=opt_binBoundaries;if(!binBoundaries){const baseUnit=unit.baseUnit?unit.baseUnit:unit;binBoundaries=DEFAULT_BOUNDARIES_FOR_UNIT.get(baseUnit.unitName);}
7230this.guid_=undefined;this.binBoundariesDict_=binBoundaries.asDict();this.allBins=binBoundaries.bins.slice();this.description='';this.diagnostics=new tr.v.d.DiagnosticMap();this.maxNumSampleValues_=this.defaultMaxNumSampleValues_;this.name_=name;this.nanDiagnosticMaps=[];this.numNans=0;this.running_=undefined;this.sampleValues_=[];this.shortName=undefined;this.summaryOptions=new Map(DEFAULT_SUMMARY_OPTIONS);this.summaryOptions.set('percentile',[]);this.summaryOptions.set('iprs',[]);this.unit=unit;}
7231static create(name,unit,samples,opt_options){const options=opt_options||{};const hist=new Histogram(name,unit,options.binBoundaries);if(options.description)hist.description=options.description;if(options.shortName)hist.shortName=options.shortName;if(options.summaryOptions){let summaryOptions=options.summaryOptions;if(!(summaryOptions instanceof Map)){summaryOptions=Object.entries(summaryOptions);}
7232for(const[name,value]of summaryOptions){hist.summaryOptions.set(name,value);}}
7233if(options.diagnostics!==undefined){let diagnostics=options.diagnostics;if(!(diagnostics instanceof Map)){diagnostics=Object.entries(diagnostics);}
7234for(const[name,diagnostic]of diagnostics){hist.diagnostics.set(name,diagnostic);}}
7235if(!(samples instanceof Array))samples=[samples];for(const sample of samples){if(typeof sample==='object'){hist.addSample(sample.value,sample.diagnostics);}else{hist.addSample(sample);}}
7236return hist;}
7237get running(){return this.running_;}
7238get maxNumSampleValues(){return this.maxNumSampleValues_;}
7239set maxNumSampleValues(n){this.maxNumSampleValues_=n;tr.b.math.Statistics.uniformlySampleArray(this.sampleValues_,this.maxNumSampleValues_);}
7240get name(){return this.name_;}
7241get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();}
7242return this.guid_;}
7243set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');}
7244this.guid_=guid;}
7245static fromDict(dict){const hist=new Histogram(dict.name,tr.b.Unit.fromJSON(dict.unit),HistogramBinBoundaries.fromDict(dict.binBoundaries));hist.guid=dict.guid;if(dict.shortName){hist.shortName=dict.shortName;}
7246if(dict.description){hist.description=dict.description;}
7247if(dict.diagnostics){hist.diagnostics.addDicts(dict.diagnostics);}
7248if(dict.allBins){if(dict.allBins.length!==undefined){for(let i=0;i<dict.allBins.length;++i){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(dict.allBins[i]);}}else{for(const[i,binDict]of Object.entries(dict.allBins)){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(binDict);}}}
7249if(dict.running){hist.running_=tr.b.math.RunningStatistics.fromDict(dict.running);}
7250if(dict.summaryOptions){if(dict.summaryOptions.iprs){dict.summaryOptions.iprs=dict.summaryOptions.iprs.map(r=>tr.b.math.Range.fromExplicitRange(r[0],r[1]));}
7251hist.customizeSummaryOptions(dict.summaryOptions);}
7252if(dict.maxNumSampleValues!==undefined){hist.maxNumSampleValues=dict.maxNumSampleValues;}
7253if(dict.sampleValues){hist.sampleValues_=dict.sampleValues;}
7254if(dict.numNans){hist.numNans=dict.numNans;}
7255if(dict.nanDiagnostics){for(const map of dict.nanDiagnostics){hist.nanDiagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}
7256return hist;}
7257get numValues(){return this.running_?this.running_.count:0;}
7258get average(){return this.running_?this.running_.mean:undefined;}
7259get standardDeviation(){return this.running_?this.running_.stddev:undefined;}
7260get geometricMean(){return this.running_?this.running_.geometricMean:0;}
7261get sum(){return this.running_?this.running_.sum:0;}
7262get min(){return this.running_?this.running_.min:Infinity;}
7263get max(){return this.running_?this.running_.max:-Infinity;}
7264getDifferenceSignificance(other,opt_alpha){if(this.unit!==other.unit){throw new Error('Cannot compare Histograms with different units');}
7265if(this.unit.improvementDirection===tr.b.ImprovementDirection.DONT_CARE){return tr.b.math.Statistics.Significance.DONT_CARE;}
7266if(!(other instanceof Histogram)){throw new Error('Unable to compute a p-value');}
7267const testResult=tr.b.math.Statistics.mwu(this.sampleValues,other.sampleValues,opt_alpha);return testResult.significance;}
7268getApproximatePercentile(percent){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');}
7269if(this.numValues===0)return undefined;if(this.allBins.length===1){const sortedSampleValues=this.sampleValues.slice().sort((x,y)=>x-y);return sortedSampleValues[Math.floor((sortedSampleValues.length-1)*percent)];}
7270let valuesToSkip=Math.floor((this.numValues-1)*percent);for(const bin of this.allBins){valuesToSkip-=bin.count;if(valuesToSkip>=0)continue;if(bin.range.min===-Number.MAX_VALUE){return bin.range.max;}
7271if(bin.range.max===Number.MAX_VALUE){return bin.range.min;}
7272return bin.range.center;}
7273return this.allBins[this.allBins.length-1].range.min;}
7274getBinIndexForValue(value){const i=tr.b.math.findHighIndexInSortedArray(this.allBins,b=>((value<b.range.max)?-1:1));if(0<=i&&i<this.allBins.length)return i;return this.allBins.length-1;}
7275getBinForValue(value){return this.allBins[this.getBinIndexForValue(value)];}
7276addSample(value,opt_diagnostics){if(opt_diagnostics&&!(opt_diagnostics instanceof tr.v.d.DiagnosticMap)){opt_diagnostics=tr.v.d.DiagnosticMap.fromObject(opt_diagnostics);}
7277if(typeof(value)!=='number'||isNaN(value)){this.numNans++;if(opt_diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.nanDiagnosticMaps,this.numNans,opt_diagnostics,MAX_DIAGNOSTIC_MAPS);}}else{if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();}
7278this.running_.add(value);const binIndex=this.getBinIndexForValue(value);let bin=this.allBins[binIndex];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[binIndex]=bin;}
7279bin.addSample(value);if(opt_diagnostics){bin.addDiagnosticMap(opt_diagnostics);}}
7280tr.b.math.Statistics.uniformlySampleStream(this.sampleValues_,this.numValues+this.numNans,value,this.maxNumSampleValues);}
7281sampleValuesInto(samples){for(const sampleValue of this.sampleValues){samples.push(sampleValue);}}
7282canAddHistogram(other){if(this.unit!==other.unit){return false;}
7283if(this.binBoundariesDict_===other.binBoundariesDict_){return true;}
7284if(this.binBoundariesDict_.length!==other.binBoundariesDict_.length){return false;}
7285for(let i=0;i<this.binBoundariesDict_.length;++i){const slice=this.binBoundariesDict_[i];const otherSlice=other.binBoundariesDict_[i];if(slice instanceof Array){if(!(otherSlice instanceof Array)){return false;}
7286if(slice[0]!==otherSlice[0]||!tr.b.math.approximately(slice[1],otherSlice[1])||slice[2]!==otherSlice[2]){return false;}}else{if(otherSlice instanceof Array){return false;}
7287if(!tr.b.math.approximately(slice,otherSlice)){return false;}}}
7288return true;}
7289addHistogram(other){if(!this.canAddHistogram(other)){throw new Error('Merging incompatible Histograms');}
7290tr.b.math.Statistics.mergeSampledStreams(this.nanDiagnosticMaps,this.numNans,other.nanDiagnosticMaps,other.numNans,MAX_DIAGNOSTIC_MAPS);tr.b.math.Statistics.mergeSampledStreams(this.sampleValues,this.numValues+this.numNans,other.sampleValues,other.numValues+other.numNans,(this.maxNumSampleValues+other.maxNumSampleValues)/2);this.numNans+=other.numNans;if(other.running_!==undefined){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();}
7291this.running_=this.running_.merge(other.running_);}
7292for(let i=0;i<this.allBins.length;++i){let bin=this.allBins[i];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[i]=bin;}
7293bin.addBin(other.allBins[i]);}
7294let mergedFrom=this.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(!mergedFrom){mergedFrom=new tr.v.d.RelatedHistogramSet();this.diagnostics.set(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY,mergedFrom);}
7295mergedFrom.add(other);let mergedTo=other.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(!mergedTo){mergedTo=new tr.v.d.RelatedHistogramSet();other.diagnostics.set(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY,mergedTo);}
7296mergedTo.add(this);this.diagnostics.addDiagnostics(other.diagnostics);for(const[stat,option]of other.summaryOptions){if(stat==='percentile'){const percentiles=this.summaryOptions.get(stat);for(const percent of option){if(!percentiles.includes(percent))percentiles.push(percent);}}else if(stat==='iprs'){const thisIprs=this.summaryOptions.get(stat);for(const ipr of option){let found=false;for(const thisIpr of thisIprs){found=ipr.equals(thisIpr);if(found)break;}
7297if(!found)thisIprs.push(ipr);}}else if(option&&!this.summaryOptions.get(stat)){this.summaryOptions.set(stat,true);}}}
7298customizeSummaryOptions(summaryOptions){for(const[key,value]of Object.entries(summaryOptions)){this.summaryOptions.set(key,value);}}
7299getStatisticScalar(statName,opt_referenceHistogram,opt_mwu){if(statName==='avg'){if(this.running_===undefined)return undefined;return new tr.b.Scalar(this.unit,this.average);}
7300if(statName==='std'){if(this.standardDeviation===undefined)return undefined;return new tr.b.Scalar(this.unit,this.standardDeviation);}
7301if(statName==='geometricMean'){return new tr.b.Scalar(this.unit,this.geometricMean);}
7302if(statName==='min'||statName==='max'||statName==='sum'){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();}
7303return new tr.b.Scalar(this.unit,this.running_[statName]);}
7304if(statName==='nans'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numNans);}
7305if(statName==='count'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numValues);}
7306if(statName.substr(0,4)==='pct_'){const percent=percentFromString(statName.substr(4));if(this.numValues===0)return undefined;const percentile=this.getApproximatePercentile(percent);return new tr.b.Scalar(this.unit,percentile);}
7307if(statName.substr(0,4)==='ipr_'){let lower=percentFromString(statName.substr(4,3));let upper=percentFromString(statName.substr(8));if(lower>=upper){throw new Error('Invalid inter-percentile range: '+statName);}
7308lower=this.getApproximatePercentile(lower);upper=this.getApproximatePercentile(upper);return new tr.b.Scalar(this.unit,upper-lower);}
7309if(!this.canCompare(opt_referenceHistogram)){throw new Error('Cannot compute '+statName+' when histograms are not comparable');}
7310const suffix=tr.b.Unit.nameSuffixForImprovementDirection(this.unit.improvementDirection);const deltaIndex=statName.indexOf(DELTA);if(deltaIndex>=0){const baseStatName=statName.substr(deltaIndex+1);const thisStat=this.getStatisticScalar(baseStatName);const otherStat=opt_referenceHistogram.getStatisticScalar(baseStatName);const deltaValue=thisStat.value-otherStat.value;if(statName[0]==='%'){return new tr.b.Scalar(tr.b.Unit.byName['normalizedPercentageDelta'+suffix],deltaValue/otherStat.value);}
7311return new tr.b.Scalar(thisStat.unit.correspondingDeltaUnit,deltaValue);}
7312if(statName===Z_SCORE_NAME){return new tr.b.Scalar(tr.b.Unit.byName['sigmaDelta'+suffix],(this.average-opt_referenceHistogram.average)/opt_referenceHistogram.standardDeviation);}
7313const mwu=opt_mwu||tr.b.math.Statistics.mwu(this.sampleValues,opt_referenceHistogram.sampleValues);if(statName===P_VALUE_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.p);}
7314if(statName===U_STATISTIC_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.U);}
7315throw new Error('Unrecognized statistic name: '+statName);}
7316get statisticsNames(){const statisticsNames=new Set();for(const[statName,option]of this.summaryOptions){if(statName==='percentile'){for(const pctile of option){statisticsNames.add('pct_'+tr.v.percentToString(pctile));}}else if(statName==='iprs'){for(const range of option){statisticsNames.add('ipr_'+tr.v.percentToString(range.min,true)+'_'+tr.v.percentToString(range.max,true));}}else if(option){statisticsNames.add(statName);}}
7317return statisticsNames;}
7318canCompare(other){return other instanceof Histogram&&this.unit===other.unit&&this.numValues>0&&other.numValues>0;}
7319getAvailableStatisticName(statName,opt_referenceHist){if(this.canCompare(opt_referenceHist))return statName;if(statName===Z_SCORE_NAME||statName===P_VALUE_NAME||statName===U_STATISTIC_NAME){return'avg';}
7320const deltaIndex=statName.indexOf(DELTA);if(deltaIndex<0)return statName;return statName.substr(deltaIndex+1);}
7321static getDeltaStatisticsNames(statNames){const deltaNames=[];for(const statName of statNames){deltaNames.push(`${DELTA}${statName}`);deltaNames.push(`%${DELTA}${statName}`);}
7322return deltaNames.concat([Z_SCORE_NAME,P_VALUE_NAME,U_STATISTIC_NAME]);}
7323get statisticsScalars(){const results=new Map();for(const statName of this.statisticsNames){const scalar=this.getStatisticScalar(statName);if(scalar===undefined)continue;results.set(statName,scalar);}
7324return results;}
7325get sampleValues(){return this.sampleValues_;}
7326clone(){const binBoundaries=HistogramBinBoundaries.fromDict(this.binBoundariesDict_);const hist=new Histogram(this.name,this.unit,binBoundaries);for(const[stat,option]of this.summaryOptions){if(stat==='percentile'||stat==='iprs'){hist.summaryOptions.set(stat,Array.from(option));}else{hist.summaryOptions.set(stat,option);}}
7327hist.addHistogram(this);return hist;}
7328rebin(newBoundaries){const rebinned=new tr.v.Histogram(this.name,this.unit,newBoundaries);rebinned.description=this.description;for(const sample of this.sampleValues){rebinned.addSample(sample);}
7329rebinned.running_=this.running_;for(const[name,diagnostic]of this.diagnostics){rebinned.diagnostics.set(name,diagnostic);}
7330for(const[stat,option]of this.summaryOptions){if(stat==='percentile'){rebinned.summaryOptions.set(stat,Array.from(option));}else{rebinned.summaryOptions.set(stat,option);}}
7331return rebinned;}
7332asDict(){const dict={};dict.name=this.name;dict.unit=this.unit.asJSON();dict.guid=this.guid;if(this.binBoundariesDict_!==undefined){dict.binBoundaries=this.binBoundariesDict_;}
7333if(this.shortName){dict.shortName=this.shortName;}
7334if(this.description){dict.description=this.description;}
7335if(this.diagnostics.size){dict.diagnostics=this.diagnostics.asDict();}
7336if(this.maxNumSampleValues!==this.defaultMaxNumSampleValues_){dict.maxNumSampleValues=this.maxNumSampleValues;}
7337if(this.numNans){dict.numNans=this.numNans;}
7338if(this.nanDiagnosticMaps.length){dict.nanDiagnostics=this.nanDiagnosticMaps.map(dm=>dm.asDict());}
7339if(this.numValues){dict.sampleValues=this.sampleValues.slice();dict.running=this.running_.asDict();dict.allBins=this.allBinsAsDict_();}
7340const summaryOptions={};let anyOverriddenSummaryOptions=false;for(const[name,value]of this.summaryOptions){let option;if(name==='percentile'){if(value.length===0)continue;option=Array.from(value);}else if(name==='iprs'){if(value.length===0)continue;option=value.map(r=>[r.min,r.max]);}else if(value===DEFAULT_SUMMARY_OPTIONS.get(name)){continue;}else{option=value;}
7341summaryOptions[name]=option;anyOverriddenSummaryOptions=true;}
7342if(anyOverriddenSummaryOptions){dict.summaryOptions=summaryOptions;}
7343return dict;}
7344allBinsAsDict_(){const numBins=this.allBins.length;let emptyBins=0;for(let i=0;i<numBins;++i){if(this.allBins[i].count===0){++emptyBins;}}
7345if(emptyBins===numBins){return undefined;}
7346if(emptyBins>(numBins/2)){const allBinsDict={};for(let i=0;i<numBins;++i){const bin=this.allBins[i];if(bin.count>0){allBinsDict[i]=bin.asDict();}}
7347return allBinsDict;}
7348const allBinsArray=[];for(let i=0;i<numBins;++i){allBinsArray.push(this.allBins[i].asDict());}
7349return allBinsArray;}
7350get defaultMaxNumSampleValues_(){return DEFAULT_SAMPLE_VALUES_PER_BIN*Math.max(this.allBins.length,DEFAULT_REBINNED_COUNT);}}
7351Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS={count:false,max:false,min:false,std:false,sum:false,};const HISTOGRAM_BIN_BOUNDARIES_CACHE=new Map();class HistogramBinBoundaries{static createLinear(min,max,numBins){return new HistogramBinBoundaries(min).addLinearBins(max,numBins);}
7352static createExponential(min,max,numBins){return new HistogramBinBoundaries(min).addExponentialBins(max,numBins);}
7353static createWithBoundaries(binBoundaries){const builder=new HistogramBinBoundaries(binBoundaries[0]);for(const boundary of binBoundaries.slice(1)){builder.addBinBoundary(boundary);}
7354return builder;}
7355constructor(minBinBoundary){this.builder_=[minBinBoundary];this.range_=new tr.b.math.Range();this.range_.addValue(minBinBoundary);this.binRanges_=undefined;this.bins_=undefined;}
7356get range(){return this.range_;}
7357asDict(){if(this.builder_.length===1&&this.builder_[0]===Number.MAX_VALUE){return undefined;}
7358return this.builder_;}
7359pushBuilderSlice_(slice){this.builder_.push(slice);this.builder_=this.builder_.slice();}
7360static fromDict(dict){if(dict===undefined){return HistogramBinBoundaries.SINGULAR;}
7361const cacheKey=JSON.stringify(dict);if(HISTOGRAM_BIN_BOUNDARIES_CACHE.has(cacheKey)){return HISTOGRAM_BIN_BOUNDARIES_CACHE.get(cacheKey);}
7362const binBoundaries=new HistogramBinBoundaries(dict[0]);for(const slice of dict.slice(1)){if(!(slice instanceof Array)){binBoundaries.addBinBoundary(slice);continue;}
7363switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:binBoundaries.addLinearBins(slice[1],slice[2]);break;case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:binBoundaries.addExponentialBins(slice[1],slice[2]);break;default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}}
7364HISTOGRAM_BIN_BOUNDARIES_CACHE.set(cacheKey,binBoundaries);return binBoundaries;}
7365get bins(){if(this.bins_===undefined){this.buildBins_();}
7366return this.bins_;}
7367buildBins_(){this.bins_=this.binRanges.map(r=>new HistogramBin(r));}
7368get binRanges(){if(this.binRanges_===undefined){this.buildBinRanges_();}
7369return this.binRanges_;}
7370buildBinRanges_(){if(typeof this.builder_[0]!=='number'){throw new Error('Invalid start of builder_');}
7371this.binRanges_=[];let prevBoundary=this.builder_[0];if(prevBoundary>-Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(-Number.MAX_VALUE,prevBoundary));}
7372for(const slice of this.builder_.slice(1)){if(!(slice instanceof Array)){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,slice));prevBoundary=slice;continue;}
7373const nextMaxBinBoundary=slice[1];const binCount=slice[2];const sliceMinBinBoundary=prevBoundary;switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:{const binWidth=(nextMaxBinBoundary-prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary+i*binWidth;this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;}
7374break;}
7375case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:{const binExponentWidth=Math.log(nextMaxBinBoundary/prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary*Math.exp(i*binExponentWidth);this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;}
7376break;}
7377default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}
7378this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,nextMaxBinBoundary));prevBoundary=nextMaxBinBoundary;}
7379if(prevBoundary<Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,Number.MAX_VALUE));}}
7380addBinBoundary(nextMaxBinBoundary){if(nextMaxBinBoundary<=this.range.max){throw new Error('The added max bin boundary must be larger than '+'the current max boundary');}
7381this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_(nextMaxBinBoundary);this.range.addValue(nextMaxBinBoundary);return this;}
7382addLinearBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');}
7383if(nextMaxBinBoundary<=this.range.max){throw new Error('The new max bin boundary must be greater than '+'the previous max bin boundary');}
7384this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.LINEAR,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}
7385addExponentialBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');}
7386if(this.range.max<=0){throw new Error('Current max bin boundary must be positive');}
7387if(this.range.max>=nextMaxBinBoundary){throw new Error('The last added max boundary must be greater than '+'the current max boundary boundary');}
7388this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}}
7389HistogramBinBoundaries.SLICE_TYPE={LINEAR:0,EXPONENTIAL:1,};HistogramBinBoundaries.SINGULAR=new HistogramBinBoundaries(Number.MAX_VALUE);DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeDurationInMs.unitName,HistogramBinBoundaries.createExponential(1e-3,1e6,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeStampInMs.unitName,HistogramBinBoundaries.createLinear(0,1e10,1e3));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.normalizedPercentage.unitName,HistogramBinBoundaries.createLinear(0,1.0,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sizeInBytes.unitName,HistogramBinBoundaries.createExponential(1,1e12,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.energyInJoules.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.powerInWatts.unitName,HistogramBinBoundaries.createExponential(1e-3,1,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.unitlessNumber.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.count.unitName,HistogramBinBoundaries.createExponential(1,1e3,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sigma.unitName,HistogramBinBoundaries.createLinear(-5,5,50));return{DEFAULT_REBINNED_COUNT,DELTA,Histogram,HistogramBinBoundaries,P_VALUE_NAME,U_STATISTIC_NAME,Z_SCORE_NAME,percentFromString,percentToString,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-scalar-context-controller',created(){this.host_=undefined;this.groupToContext_=new Map();this.dirtyGroups_=new Set();},attached(){if(this.host_){throw new Error('Scalar context controller is already attached to a host');}
7390const host=findParentOrHost(this);if(host.__scalarContextController){throw new Error('Multiple scalar context controllers attached to this host');}
7391host.__scalarContextController=this;this.host_=host;},detached(){if(!this.host_){throw new Error('Scalar context controller is not attached to a host');}
7392if(this.host_.__scalarContextController!==this){throw new Error('Scalar context controller is not attached to its host');}
7393delete this.host_.__scalarContextController;this.host_=undefined;},getContext(group){return this.groupToContext_.get(group);},onScalarSpanAdded(group,span){let context=this.groupToContext_.get(group);if(context===undefined){context={spans:new Set(),range:new tr.b.math.Range()};this.groupToContext_.set(group,context);}
7394if(context.spans.has(span)){throw new Error('Scalar span already registered with group: '+group);}
7395context.spans.add(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanRemoved(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);}
7396context.spans.delete(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanUpdated(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);}
7397this.markGroupDirtyAndScheduleUpdate_(group);},markGroupDirtyAndScheduleUpdate_(group){const alreadyDirty=this.dirtyGroups_.size>0;this.dirtyGroups_.add(group);if(!alreadyDirty){tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContext,this);}},updateContext(){const groups=this.dirtyGroups_;if(groups.size===0)return;this.dirtyGroups_=new Set();for(const group of groups){this.updateGroup_(group);}
7398const event=new tr.b.Event('context-updated');event.groups=groups;this.dispatchEvent(event);},updateGroup_(group){const context=this.groupToContext_.get(group);if(context.spans.size===0){this.groupToContext_.delete(group);return;}
7399context.range.reset();for(const span of context.spans){context.range.addValue(span.value);}}});function getScalarContextControllerForElement(element){while(element){if(element.__scalarContextController){return element.__scalarContextController;}
7400element=findParentOrHost(element);}
7401return undefined;}
7402function findParentOrHost(node){if(node.parentElement){return node.parentElement;}
7403while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;}
7404return node.host;}
7405return{getScalarContextControllerForElement,};});'use strict';tr.exportTo('tr.v.ui',function(){function createScalarSpan(value,opt_config){if(value===undefined)return'';const config=opt_config||{};const ownerDocument=config.ownerDocument||document;const span=ownerDocument.createElement('tr-v-ui-scalar-span');let numericValue;if(value instanceof tr.b.Scalar){span.value=value;numericValue=value.value;}else if(value instanceof tr.v.Histogram){numericValue=value.average;if(numericValue===undefined)return'';span.setValueAndUnit(numericValue,value.unit);}else{const unit=config.unit;if(unit===undefined){throw new Error('Unit must be provided in config when value is a number');}
7406span.setValueAndUnit(value,unit);numericValue=value;}
7407if(config.context){span.context=config.context;}
7408if(config.customContextRange){span.customContextRange=config.customContextRange;}
7409if(config.leftAlign){span.leftAlign=true;}
7410if(config.inline){span.inline=true;}
7411if(config.significance!==undefined){span.significance=config.significance;}
7412if(config.contextGroup!==undefined){span.contextGroup=config.contextGroup;}
7413return span;}
7414return{createScalarSpan,};});'use strict';Polymer({is:'tr-v-ui-scalar-span',properties:{contextGroup:{type:String,reflectToAttribute:true,observer:'contextGroupChanged_'}},created(){this.value_=undefined;this.unit_=undefined;this.context_=undefined;this.warning_=undefined;this.significance_=tr.b.math.Statistics.Significance.DONT_CARE;this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;this.onContextUpdated_=this.onContextUpdated_.bind(this);this.customContextRange_=undefined;},get significance(){return this.significance_;},set significance(s){this.significance_=s;this.updateContents_();},set contentTextDecoration(deco){this.$.content.style.textDecoration=deco;},get value(){return this.value_;},set value(value){if(value instanceof tr.b.Scalar){this.value_=value.value;this.unit_=value.unit;}else{this.value_=value;}
7415this.updateContents_();if(this.hasContext_(this.contextGroup)){this.contextController_.onScalarSpanUpdated(this.contextGroup,this);}else{this.updateSparkline_();}},get contextController_(){if(this.shouldSearchForContextController_){this.lazyContextController_=tr.v.ui.getScalarContextControllerForElement(this);this.shouldSearchForContextController_=false;}
7416return this.lazyContextController_;},hasContext_(contextGroup){return!!(contextGroup&&this.contextController_);},contextGroupChanged_(newContextGroup,oldContextGroup){this.detachFromContextControllerIfPossible_(oldContextGroup);if(!this.attachToContextControllerIfPossible_(newContextGroup)){this.onContextUpdated_();}},attachToContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return false;this.contextController_.addEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanAdded(contextGroup,this);return true;},detachFromContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return;this.contextController_.removeEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanRemoved(contextGroup,this);},attached(){tr.b.Unit.addEventListener('display-mode-changed',this.updateContents_.bind(this));this.shouldSearchForContextController_=true;this.attachToContextControllerIfPossible_(this.contextGroup);},detached(){tr.b.Unit.removeEventListener('display-mode-changed',this.updateContents_.bind(this));this.detachFromContextControllerIfPossible_(this.contextGroup);this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;},onContextUpdated_(){this.updateSparkline_();},get context(){return this.context_;},set context(context){this.context_=context;this.updateContents_();},get unit(){return this.unit_;},set unit(unit){this.unit_=unit;this.updateContents_();this.updateSparkline_();},setValueAndUnit(value,unit){this.value_=value;this.unit_=unit;this.updateContents_();},get customContextRange(){return this.customContextRange_;},set customContextRange(customContextRange){this.customContextRange_=customContextRange;this.updateSparkline_();},get inline(){return Polymer.dom(this).classList.contains('inline');},set inline(inline){if(inline){Polymer.dom(this).classList.add('inline');}else{Polymer.dom(this).classList.remove('inline');}},get leftAlign(){return Polymer.dom(this).classList.contains('left-align');},set leftAlign(leftAlign){if(leftAlign){Polymer.dom(this).classList.add('left-align');}else{Polymer.dom(this).classList.remove('left-align');}},updateSparkline_(){Polymer.dom(this.$.sparkline).classList.remove('positive');Polymer.dom(this.$.sparkline).classList.remove('better');Polymer.dom(this.$.sparkline).classList.remove('worse');Polymer.dom(this.$.sparkline).classList.remove('same');this.$.sparkline.style.display='none';this.$.sparkline.style.left='0';this.$.sparkline.style.width='0';let range=this.customContextRange_;if(!range&&this.hasContext_(this.contextGroup)){const context=this.contextController_.getContext(this.contextGroup);if(context){range=context.range;}}
7417if(!range||range.isEmpty)return;const leftPoint=Math.min(range.min,0);const rightPoint=Math.max(range.max,0);const pointDistance=rightPoint-leftPoint;if(pointDistance===0){return;}
7418this.$.sparkline.style.display='block';let left;let width;if(this.value>0){width=Math.min(this.value,rightPoint);left=-leftPoint;Polymer.dom(this.$.sparkline).classList.add('positive');}else if(this.value<=0){width=-Math.max(this.value,leftPoint);left=(-leftPoint)-width;}
7419this.$.sparkline.style.left=this.buildSparklineStyle_(left/pointDistance,false);this.$.sparkline.style.width=this.buildSparklineStyle_(width/pointDistance,true);const changeClass=this.changeClassName_;if(changeClass){Polymer.dom(this.$.sparkline).classList.add(changeClass);}},buildSparklineStyle_(ratio,isWidth){let position='calc('+ratio+' * (100% - 1px)';if(isWidth){position+=' + 1px';}
7420position+=')';return position;},updateContents_(){Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).classList.remove('better');Polymer.dom(this.$.content).classList.remove('worse');Polymer.dom(this.$.content).classList.remove('same');this.$.insignificant.style.display='';this.$.significantly_better.style.display='';this.$.significantly_worse.style.display='';if(this.unit_===undefined)return;this.$.content.title='';Polymer.dom(this.$.content).textContent=this.unit_.format(this.value,this.context);this.updateDelta_();},updateDelta_(){let changeClass=this.changeClassName_;if(!changeClass){this.$.significance.style.display='none';return;}
7421this.$.significance.style.display='inline';let title;switch(changeClass){case'better':title='improvement';break;case'worse':title='regression';break;case'same':title='no change';break;default:throw new Error('Unknown change class: '+changeClass);}
7422Polymer.dom(this.$.content).classList.add(changeClass);switch(this.significance){case tr.b.math.Statistics.Significance.DONT_CARE:break;case tr.b.math.Statistics.Significance.INSIGNIFICANT:if(changeClass!=='same')title='insignificant '+title;this.$.insignificant.style.display='inline';changeClass='same';break;case tr.b.math.Statistics.Significance.SIGNIFICANT:if(changeClass==='same'){throw new Error('How can no change be significant?');}
7423this.$['significantly_'+changeClass].style.display='inline';title='significant '+title;break;default:throw new Error('Unknown significance '+this.significance);}
7424this.$.significance.title=title;this.$.content.title=title;},get changeClassName_(){if(!this.unit_||!this.unit_.isDelta)return undefined;switch(this.unit_.improvementDirection){case tr.b.ImprovementDirection.DONT_CARE:return undefined;case tr.b.ImprovementDirection.BIGGER_IS_BETTER:if(this.value===0)return'same';return this.value>0?'better':'worse';case tr.b.ImprovementDirection.SMALLER_IS_BETTER:if(this.value===0)return'same';return this.value<0?'better':'worse';default:throw new Error('Unknown improvement direction: '+
7425this.unit_.improvementDirection);}},get warning(){return this.warning_;},set warning(warning){this.warning_=warning;const warningEl=this.$.warning;if(this.warning_){warningEl.title=warning;warningEl.style.display='inline';}else{warningEl.title='';warningEl.style.display='';}},get timestamp(){return this.value;},set timestamp(timestamp){if(timestamp instanceof tr.b.u.TimeStamp){this.value=timestamp;return;}
7426this.setValueAndUnit(timestamp,tr.b.u.Units.timeStampInMs);},get duration(){return this.value;},set duration(duration){if(duration instanceof tr.b.u.TimeDuration){this.value=duration;return;}
7427this.setValueAndUnit(duration,tr.b.u.Units.timeDurationInMs);}});'use strict';const URL_REGEX=/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/;function isTable(object){if(!(object instanceof Array)||(object.length<2))return false;for(const colName in object[0]){if(typeof colName!=='string')return false;}
7428for(let i=0;i<object.length;++i){if(!(object[i]instanceof Object))return false;for(const colName in object[i]){if(i&&(object[0][colName]===undefined))return false;const cellType=typeof object[i][colName];if(cellType!=='string'&&cellType!=='number')return false;}
7429if(i){for(const colName in object[0]){if(object[i][colName]===undefined)return false;}}}
7430return true;}
7431Polymer({is:'tr-ui-a-generic-object-view',ready(){this.object_=undefined;},get object(){return this.object_;},set object(object){this.object_=object;this.updateContents_();},updateContents_(){Polymer.dom(this.$.content).textContent='';this.appendElementsForType_('',this.object_,0,0,5,'');},appendElementsForType_(label,object,indent,depth,maxDepth,suffix){if(depth>maxDepth){this.appendSimpleText_(label,indent,'<recursion limit reached>',suffix);return;}
7432if(object===undefined){this.appendSimpleText_(label,indent,'undefined',suffix);return;}
7433if(object===null){this.appendSimpleText_(label,indent,'null',suffix);return;}
7434if(!(object instanceof Object)){const type=typeof object;if(type!=='string'){return this.appendSimpleText_(label,indent,object,suffix);}
7435let objectReplaced=false;if((object[0]==='{'&&object[object.length-1]==='}')||(object[0]==='['&&object[object.length-1]===']')){try{object=JSON.parse(object);objectReplaced=true;}catch(e){}}
7436if(!objectReplaced){if(object.includes('\n')){const lines=object.split('\n');lines.forEach(function(line,i){let text;let ioff;let ll;let ss;if(i===0){text='"'+line;ioff=0;ll=label;ss='';}else if(i<lines.length-1){text=line;ioff=1;ll='';ss='';}else{text=line+'"';ioff=1;ll='';ss=suffix;}
7437const el=this.appendSimpleText_(ll,indent+ioff*label.length+ioff,text,ss);el.style.whiteSpace='pre';return el;},this);return;}
7438if(object.match(URL_REGEX)){const link=document.createElement('a');link.href=object;link.textContent=object;this.appendElementWithLabel_(label,indent,link,suffix);return;}
7439this.appendSimpleText_(label,indent,'"'+object+'"',suffix);return;}}
7440if(object instanceof tr.model.ObjectSnapshot){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;}
7441if(object instanceof tr.model.ObjectInstance){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;}
7442if(object instanceof tr.b.math.Rect){this.appendSimpleText_(label,indent,object.toString(),suffix);return;}
7443if(object instanceof tr.b.Scalar){const el=this.ownerDocument.createElement('tr-v-ui-scalar-span');el.value=object;el.inline=true;this.appendElementWithLabel_(label,indent,el,suffix);return;}
7444if(object instanceof Array){this.appendElementsForArray_(label,object,indent,depth,maxDepth,suffix);return;}
7445this.appendElementsForObject_(label,object,indent,depth,maxDepth,suffix);},appendElementsForArray_(label,object,indent,depth,maxDepth,suffix){if(object.length===0){this.appendSimpleText_(label,indent,'[]',suffix);return;}
7446if(isTable(object)){const table=document.createElement('tr-ui-b-table');const columns=[];for(const colName of Object.keys(object[0])){let allStrings=true;let allNumbers=true;for(let i=0;i<object.length;++i){if(typeof(object[i][colName])!=='string'){allStrings=false;}
7447if(typeof(object[i][colName])!=='number'){allNumbers=false;}
7448if(!allStrings&&!allNumbers)break;}
7449const column={title:colName};column.value=function(row){return row[colName];};if(allStrings){column.cmp=function(x,y){return x[colName].localeCompare(y[colName]);};}else if(allNumbers){column.cmp=function(x,y){return x[colName]-y[colName];};}
7450columns.push(column);}
7451table.tableColumns=columns;table.tableRows=object;this.appendElementWithLabel_(label,indent,table,suffix);table.rebuild();return;}
7452this.appendElementsForType_(label+'[',object[0],indent,depth+1,maxDepth,object.length>1?',':']'+suffix);for(let i=1;i<object.length;i++){this.appendElementsForType_('',object[i],indent+label.length+1,depth+1,maxDepth,i<object.length-1?',':']'+suffix);}
7453return;},appendElementsForObject_(label,object,indent,depth,maxDepth,suffix){const keys=Object.keys(object);if(keys.length===0){this.appendSimpleText_(label,indent,'{}',suffix);return;}
7454this.appendElementsForType_(label+'{'+keys[0]+': ',object[keys[0]],indent,depth,maxDepth,keys.length>1?',':'}'+suffix);for(let i=1;i<keys.length;i++){this.appendElementsForType_(keys[i]+': ',object[keys[i]],indent+label.length+1,depth+1,maxDepth,i<keys.length-1?',':'}'+suffix);}},appendElementWithLabel_(label,indent,dataElement,suffix){const row=document.createElement('div');const indentSpan=document.createElement('span');indentSpan.style.whiteSpace='pre';for(let i=0;i<indent;i++){Polymer.dom(indentSpan).textContent+=' ';}
7455Polymer.dom(row).appendChild(indentSpan);const labelSpan=document.createElement('span');Polymer.dom(labelSpan).textContent=label;Polymer.dom(row).appendChild(labelSpan);Polymer.dom(row).appendChild(dataElement);const suffixSpan=document.createElement('span');Polymer.dom(suffixSpan).textContent=suffix;Polymer.dom(row).appendChild(suffixSpan);row.dataElement=dataElement;Polymer.dom(this.$.content).appendChild(row);},appendSimpleText_(label,indent,text,suffix){const el=this.ownerDocument.createElement('span');Polymer.dom(el).textContent=text;this.appendElementWithLabel_(label,indent,el,suffix);return el;}});'use strict';Polymer({is:'tr-ui-a-generic-object-view-with-label',ready(){this.labelEl_=document.createElement('div');this.genericObjectView_=document.createElement('tr-ui-a-generic-object-view');Polymer.dom(this.root).appendChild(this.labelEl_);Polymer.dom(this.root).appendChild(this.genericObjectView_);},get label(){return Polymer.dom(this.labelEl_).textContent;},set label(label){Polymer.dom(this.labelEl_).textContent=label;},get object(){return this.genericObjectView_.object;},set object(object){this.genericObjectView_.object=object;}});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectSnapshotView=tr.ui.b.define('object-snapshot-view');ObjectSnapshotView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectSnapshot_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectSnapshot=obj;},get modelEvent(){return this.objectSnapshot;},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(i){this.objectSnapshot_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectSnapshotView;options.defaultMetadata={showInstances:true,showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectSnapshotView,options);return{ObjectSnapshotView,};});'use strict';Polymer({is:'tr-ui-b-drag-handle',created(){this.lastMousePos_=0;this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.target_=undefined;this.horizontal=true;this.observer_=new WebKitMutationObserver(this.didTargetMutate_.bind(this));this.targetSizesByModeKey_={};},get modeKey_(){return this.target_.className===''?'.':this.target_.className;},get target(){return this.target_;},set target(target){this.observer_.disconnect();this.target_=target;if(!this.target_)return;this.observer_.observe(this.target_,{attributes:true,attributeFilter:['class']});},get horizontal(){return this.horizontal_;},set horizontal(h){this.horizontal_=h;if(this.horizontal_){this.className='horizontal-drag-handle';}else{this.className='vertical-drag-handle';}},get vertical(){return!this.horizontal_;},set vertical(v){this.horizontal=!v;},forceMutationObserverFlush_(){const records=this.observer_.takeRecords();if(records.length){this.didTargetMutate_(records);}},didTargetMutate_(e){const modeSize=this.targetSizesByModeKey_[this.modeKey_];if(modeSize!==undefined){this.setTargetSize_(modeSize);return;}
7456this.target_.style[this.targetStyleKey_]='';},get targetStyleKey_(){return this.horizontal_?'height':'width';},getTargetSize_(){const targetStyleKey=this.targetStyleKey_;if(!this.target_.style[targetStyleKey]){this.target_.style[targetStyleKey]=window.getComputedStyle(this.target_)[targetStyleKey];}
7457const size=parseInt(this.target_.style[targetStyleKey]);this.targetSizesByModeKey_[this.modeKey_]=size;return size;},setTargetSize_(s){this.target_.style[this.targetStyleKey_]=s+'px';this.targetSizesByModeKey_[this.modeKey_]=s;tr.b.dispatchSimpleEvent(this,'drag-handle-resize',true,false);},applyDelta_(delta){const curSize=this.getTargetSize_();let newSize;if(this.target_===this.nextElementSibling){newSize=curSize+delta;}else{newSize=curSize-delta;}
7458this.setTargetSize_(newSize);},onMouseMove_(e){const curMousePos=this.horizontal_?e.clientY:e.clientX;const delta=this.lastMousePos_-curMousePos;this.applyDelta_(delta);this.lastMousePos_=curMousePos;e.preventDefault();return true;},onMouseDown_(e){if(!this.target_)return;this.forceMutationObserverFlush_();this.lastMousePos_=this.horizontal_?e.clientY:e.clientX;document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);e.preventDefault();return true;},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);e.preventDefault();}});'use strict';tr.exportTo('tr.ui.b',function(){function HotKey(dict){if(dict.eventType===undefined){throw new Error('eventType must be given');}
7459if(dict.keyCode===undefined&&dict.keyCodes===undefined){throw new Error('keyCode or keyCodes must be given');}
7460if(dict.keyCode!==undefined&&dict.keyCodes!==undefined){throw new Error('Only keyCode or keyCodes can be given');}
7461if(dict.callback===undefined){throw new Error('callback must be given');}
7462this.eventType_=dict.eventType;this.keyCodes_=[];if(dict.keyCode){this.pushKeyCode_(dict.keyCode);}else if(dict.keyCodes){dict.keyCodes.forEach(this.pushKeyCode_,this);}
7463this.useCapture_=!!dict.useCapture;this.callback_=dict.callback;this.thisArg_=dict.thisArg!==undefined?dict.thisArg:undefined;this.helpText_=dict.helpText!==undefined?dict.helpText:undefined;}
7464HotKey.prototype={get eventType(){return this.eventType_;},get keyCodes(){return this.keyCodes_;},get helpText(){return this.helpText_;},call(e){this.callback_.call(this.thisArg_,e);},pushKeyCode_(keyCode){this.keyCodes_.push(keyCode);}};return{HotKey,};});'use strict';Polymer({is:'tv-ui-b-hotkey-controller',created(){this.isAttached_=false;this.globalMode_=false;this.coupledToParentController_=undefined;this.curHost_=undefined;this.childControllers_=[];this.bubblingKeyDownHotKeys_={};this.capturingKeyDownHotKeys_={};this.bubblingKeyPressHotKeys_={};this.capturingKeyPressHotKeys_={};this.onBubblingKeyDown_=this.onKey_.bind(this,false);this.onCapturingKeyDown_=this.onKey_.bind(this,true);this.onBubblingKeyPress_=this.onKey_.bind(this,false);this.onCapturingKeyPress_=this.onKey_.bind(this,true);},attached(){this.isAttached_=true;const host=this.findHost_();if(host.__hotkeyController){throw new Error('Multiple hotkey controllers attached to this host');}
7465host.__hotkeyController=this;this.curHost_=host;let parentElement;if(host.parentElement){parentElement=host.parentElement;}else{parentElement=Polymer.dom(host).parentNode.host;}
7466const parentController=tr.b.getHotkeyControllerForElement(parentElement);if(parentController){this.coupledToParentController_=parentController;parentController.addChildController_(this);return;}
7467host.addEventListener('keydown',this.onBubblingKeyDown_,false);host.addEventListener('keydown',this.onCapturingKeyDown_,true);host.addEventListener('keypress',this.onBubblingKeyPress_,false);host.addEventListener('keypress',this.onCapturingKeyPress_,true);},detached(){this.isAttached_=false;const host=this.curHost_;if(!host)return;delete host.__hotkeyController;this.curHost_=undefined;if(this.coupledToParentController_){this.coupledToParentController_.removeChildController_(this);this.coupledToParentController_=undefined;return;}
7468host.removeEventListener('keydown',this.onBubblingKeyDown_,false);host.removeEventListener('keydown',this.onCapturingKeyDown_,true);host.removeEventListener('keypress',this.onBubblingKeyPress_,false);host.removeEventListener('keypress',this.onCapturingKeyPress_,true);},addChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i!==-1){throw new Error('Controller already registered');}
7469this.childControllers_.push(controller);},removeChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i===-1){throw new Error('Controller not registered');}
7470this.childControllers_.splice(i,1);return controller;},getKeyMapForEventType_(eventType,useCapture){if(eventType==='keydown'){if(!useCapture){return this.bubblingKeyDownHotKeys_;}
7471return this.capturingKeyDownHotKeys_;}
7472if(eventType==='keypress'){if(!useCapture){return this.bubblingKeyPressHotKeys_;}
7473return this.capturingKeyPressHotKeys_;}
7474throw new Error('Unsupported key event');},addHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');}
7475const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(keyMap[keyCode]){throw new Error('Key is already bound for keyCode='+keyCode);}}
7476for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];keyMap[keyCode]=hotKey;}
7477return hotKey;},removeHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');}
7478const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(!keyMap[keyCode]){throw new Error('Key is not bound for keyCode='+keyCode);}
7479keyMap[keyCode]=hotKey;}
7480for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];delete keyMap[keyCode];}
7481return hotKey;},get globalMode(){return this.globalMode_;},set globalMode(globalMode){const wasAttached=this.isAttached_;if(wasAttached){this.detached();}
7482this.globalMode_=!!globalMode;if(wasAttached){this.attached();}},get topmostConroller_(){if(this.coupledToParentController_){return this.coupledToParentController_.topmostConroller_;}
7483return this;},childRequestsGeneralFocus(child){const topmost=this.topmostConroller_;if(topmost.curHost_){if(topmost.curHost_.hasAttribute('tabIndex')){topmost.curHost_.focus();}else{if(document.activeElement){document.activeElement.blur();}}}else{if(document.activeElement){document.activeElement.blur();}}},childRequestsBlur(child){child.blur();const topmost=this.topmostConroller_;if(topmost.curHost_){topmost.curHost_.focus();}},findHost_(){if(this.globalMode_)return document.body;if(this.parentElement)return this.parentElement;if(!Polymer.dom(this).parentNode)return this.host;let node=this.parentNode;while(Polymer.dom(node).parentNode)node=Polymer.dom(node).parentNode;return node.host;},appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e){const localKeyMap=this.getKeyMapForEventType_(e.type,useCapture);const localHotKey=localKeyMap[e.keyCode];if(localHotKey){matchedHotKeys.push(localHotKey);}
7484for(let i=0;i<this.childControllers_.length;i++){const controller=this.childControllers_[i];controller.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);}},onKey_(useCapture,e){if(!useCapture&&e.path[0].tagName==='INPUT')return;let sortedControllers;const matchedHotKeys=[];this.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);if(matchedHotKeys.length===0)return false;if(matchedHotKeys.length>1){throw new Error('More than one hotKey is currently unsupported');}
7485const hotKey=matchedHotKeys[0];let prevented=0;prevented|=hotKey.call(e);return!prevented&&e.defaultPrevented;}});'use strict';tr.exportTo('tr.b',function(){function getHotkeyControllerForElement(refElement){let curElement=refElement;while(curElement){if(curElement.tagName==='tv-ui-b-hotkey-controller'){return curElement;}
7486if(curElement.__hotkeyController){return curElement.__hotkeyController;}
7487if(curElement.parentElement){curElement=curElement.parentElement;continue;}
7488curElement=findHost(curElement);}
7489return undefined;}
7490function findHost(initialNode){let node=initialNode;while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;}
7491return node.host;}
7492return{getHotkeyControllerForElement,};});'use strict';Polymer({is:'tr-ui-b-info-bar',ready(){this.messageEl_=this.$.message;this.buttonsEl_=this.$.buttons;this.message='';},get message(){return Polymer.dom(this.messageEl_).textContent;},set message(message){Polymer.dom(this.messageEl_).textContent=message;},get visible(){return!this.hidden;},set visible(visible){this.hidden=!visible;},removeAllButtons(){Polymer.dom(this.buttonsEl_).textContent='';},addButton(text,clickCallback){const button=document.createElement('button');Polymer.dom(button).textContent=text;button.addEventListener('click',clickCallback);Polymer.dom(this.buttonsEl_).appendChild(button);return button;}});'use strict';tr.exportTo('tr.ui.b',function(){const ContainerThatDecoratesItsChildren=tr.ui.b.define('div');ContainerThatDecoratesItsChildren.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.observer_=new WebKitMutationObserver(this.didMutate_.bind(this));this.observer_.observe(this,{childList:true});Object.defineProperty(this,'textContent',{get:undefined,set:this.onSetTextContent_});},appendChild(x){HTMLDivElement.prototype.appendChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},insertBefore(x,y){HTMLDivElement.prototype.insertBefore.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},removeChild(x){HTMLDivElement.prototype.removeChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},replaceChild(x,y){HTMLDivElement.prototype.replaceChild.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},onSetTextContent_(textContent){if(textContent!==''){throw new Error('textContent can only be set to \'\'.');}
7493this.clear();},clear(){while(Polymer.dom(this).lastChild){HTMLDivElement.prototype.removeChild.call(this,Polymer.dom(this).lastChild);}
7494this.didMutate_(this.observer_.takeRecords());},didMutate_(records){this.beginDecorating_();for(let i=0;i<records.length;i++){const addedNodes=records[i].addedNodes;if(addedNodes){for(let j=0;j<addedNodes.length;j++){this.decorateChild_(addedNodes[j]);}}
7495const removedNodes=records[i].removedNodes;if(removedNodes){for(let j=0;j<removedNodes.length;j++){this.undecorateChild_(removedNodes[j]);}}}
7496this.doneDecoratingForNow_();},decorateChild_(child){throw new Error('Not implemented');},undecorateChild_(child){throw new Error('Not implemented');},beginDecorating_(){},doneDecoratingForNow_(){}};return{ContainerThatDecoratesItsChildren,};});'use strict';tr.exportTo('tr.ui.b',function(){const ListView=tr.ui.b.define('x-list-view',tr.ui.b.ContainerThatDecoratesItsChildren);ListView.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);Polymer.dom(this).classList.add('x-list-view');this.onItemClicked_=this.onItemClicked_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.tabIndex=0;this.addEventListener('keydown',this.onKeyDown_);this.selectionChanged_=false;},decorateChild_(item){Polymer.dom(item).classList.add('list-item');item.addEventListener('click',this.onItemClicked_,true);Object.defineProperty(item,'selected',{configurable:true,get:()=>item.hasAttribute('selected'),set:value=>{const oldSelection=this.selectedElement;if(oldSelection&&oldSelection!==item&&value){Polymer.dom(this.selectedElement).removeAttribute('selected');}
7497if(value){Polymer.dom(item).setAttribute('selected','selected');}else{Polymer.dom(item).removeAttribute('selected');}
7498const newSelection=this.selectedElement;if(newSelection!==oldSelection){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},});},undecorateChild_(item){this.selectionChanged_|=item.selected;Polymer.dom(item).classList.remove('list-item');item.removeEventListener('click',this.onItemClicked_);delete item.selected;},beginDecorating_(){this.selectionChanged_=false;},doneDecoratingForNow_(){if(this.selectionChanged_){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},get selectedElement(){const el=Polymer.dom(this).querySelector('.list-item[selected]');if(!el)return undefined;return el;},set selectedElement(el){if(!el){if(this.selectedElement){this.selectedElement.selected=false;}
7499return;}
7500if(el.parentElement!==this){throw new Error('Can only select elements that are children of this list view');}
7501el.selected=true;},getElementByIndex(index){return Polymer.dom(this).querySelector('.list-item:nth-child('+index+')');},clear(){const changed=this.selectedElement!==undefined;tr.ui.b.ContainerThatDecoratesItsChildren.prototype.clear.call(this);if(changed){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},onItemClicked_(e){const currentSelectedElement=this.selectedElement;if(currentSelectedElement){Polymer.dom(currentSelectedElement).removeAttribute('selected');}
7502let element=e.target;while(element.parentElement!==this){element=element.parentElement;}
7503if(element!==currentSelectedElement){Polymer.dom(element).setAttribute('selected','selected');}
7504tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onKeyDown_(e){if(this.selectedElement===undefined)return;if(e.keyCode===38){const prev=Polymer.dom(this.selectedElement).previousSibling;if(prev){prev.selected=true;tr.ui.b.scrollIntoViewIfNeeded(prev);e.preventDefault();return true;}}else if(e.keyCode===40){const next=Polymer.dom(this.selectedElement).nextSibling;if(next){next.selected=true;tr.ui.b.scrollIntoViewIfNeeded(next);e.preventDefault();return true;}}},addItem(textContent){const item=document.createElement('div');Polymer.dom(item).textContent=textContent;Polymer.dom(this).appendChild(item);return item;}};return{ListView,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE={};MOUSE_SELECTOR_MODE.SELECTION=0x1;MOUSE_SELECTOR_MODE.PANSCAN=0x2;MOUSE_SELECTOR_MODE.ZOOM=0x4;MOUSE_SELECTOR_MODE.TIMING=0x8;MOUSE_SELECTOR_MODE.ROTATE=0x10;MOUSE_SELECTOR_MODE.ALL_MODES=0x1F;const MOUSE_SELECTOR_MODE_INFOS={};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.PANSCAN]={mode:MOUSE_SELECTOR_MODE.PANSCAN,title:'pan',eventNames:{enter:'enterpan',begin:'beginpan',update:'updatepan',end:'endpan',exit:'exitpan'},activeBackgroundPosition:'-30px -10px',defaultBackgroundPosition:'0 -10px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION]={mode:MOUSE_SELECTOR_MODE.SELECTION,title:'selection',eventNames:{enter:'enterselection',begin:'beginselection',update:'updateselection',end:'endselection',exit:'exitselection'},activeBackgroundPosition:'-30px -40px',defaultBackgroundPosition:'0 -40px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ZOOM]={mode:MOUSE_SELECTOR_MODE.ZOOM,title:'zoom',eventNames:{enter:'enterzoom',begin:'beginzoom',update:'updatezoom',end:'endzoom',exit:'exitzoom'},activeBackgroundPosition:'-30px -70px',defaultBackgroundPosition:'0 -70px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.TIMING]={mode:MOUSE_SELECTOR_MODE.TIMING,title:'timing',eventNames:{enter:'entertiming',begin:'begintiming',update:'updatetiming',end:'endtiming',exit:'exittiming'},activeBackgroundPosition:'-30px -100px',defaultBackgroundPosition:'0 -100px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ROTATE]={mode:MOUSE_SELECTOR_MODE.ROTATE,title:'rotate',eventNames:{enter:'enterrotate',begin:'beginrotate',update:'updaterotate',end:'endrotate',exit:'exitrotate'},activeBackgroundPosition:'-30px -130px',defaultBackgroundPosition:'0 -130px'};return{MOUSE_SELECTOR_MODE_INFOS,MOUSE_SELECTOR_MODE,};});'use strict';Polymer({is:'tr-ui-b-mouse-mode-icon',properties:{modeName:{type:String,reflectToAttribute:true,observer:'modeNameChanged'},},created(){this.active_=false;this.acceleratorKey_=undefined;},ready(){this.updateContents_();},get mode(){return tr.ui.b.MOUSE_SELECTOR_MODE[this.modeName];},set mode(mode){const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];const modeName=tr.b.findFirstKeyInDictMatching(tr.ui.b.MOUSE_SELECTOR_MODE,function(modeName,candidateMode){return candidateMode===mode;});if(modeName===undefined){throw new Error('Unknown mode');}
7505this.modeName=modeName;},modeNameChanged(){this.updateContents_();},get active(){return this.active_;},set active(active){this.active_=!!active;if(this.active_){Polymer.dom(this).classList.add('active');}else{Polymer.dom(this).classList.remove('active');}
7506this.updateContents_();},get acceleratorKey(){return this.acceleratorKey_;},set acceleratorKey(acceleratorKey){this.acceleratorKey_=acceleratorKey;this.updateContents_();},updateContents_(){if(this.modeName===undefined)return;const mode=this.mode;if(mode===undefined){throw new Error('Invalid mode');}
7507const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];if(!modeInfo){throw new Error('Invalid mode');}
7508let title=modeInfo.title;if(this.acceleratorKey_){title=title+' ('+this.acceleratorKey_+')';}
7509this.title=title;let bp;if(this.active_){bp=modeInfo.activeBackgroundPosition;}else{bp=modeInfo.defaultBackgroundPosition;}
7510this.style.backgroundPosition=bp;}});'use strict';tr.exportTo('tr.ui.b',function(){function MouseTracker(opt_targetElement){this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.targetElement=opt_targetElement;}
7511MouseTracker.prototype={get targetElement(){return this.targetElement_;},set targetElement(targetElement){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);}
7512this.targetElement_=targetElement;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},onMouseDown_(e){if(e.button!==0)return true;e=this.remakeEvent_(e,'mouse-tracker-start');this.targetElement_.dispatchEvent(e);document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);this.targetElement_.addEventListener('blur',this.onMouseUp_);this.savePreviousUserSelect_=document.body.style['-webkit-user-select'];document.body.style['-webkit-user-select']='none';e.preventDefault();return true;},onMouseMove_(e){e=this.remakeEvent_(e,'mouse-tracker-move');this.targetElement_.dispatchEvent(e);},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);this.targetElement_.removeEventListener('blur',this.onMouseUp_);document.body.style['-webkit-user-select']=this.savePreviousUserSelect_;e=this.remakeEvent_(e,'mouse-tracker-end');this.targetElement_.dispatchEvent(e);},remakeEvent_(e,newType){const remade=new tr.b.Event(newType,true,true);remade.x=e.x;remade.y=e.y;remade.offsetX=e.offsetX;remade.offsetY=e.offsetY;remade.clientX=e.clientX;remade.clientY=e.clientY;return remade;}};function trackMouseMovesUntilMouseUp(mouseMoveHandler,opt_mouseUpHandler,opt_keyUpHandler){function cleanupAndDispatchToMouseUp(e){document.removeEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.removeEventListener('keyup',opt_keyUpHandler);}
7513document.removeEventListener('mouseup',cleanupAndDispatchToMouseUp);if(opt_mouseUpHandler){opt_mouseUpHandler(e);}}
7514document.addEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.addEventListener('keyup',opt_keyUpHandler);}
7515document.addEventListener('mouseup',cleanupAndDispatchToMouseUp);}
7516return{MouseTracker,trackMouseMovesUntilMouseUp,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE=tr.ui.b.MOUSE_SELECTOR_MODE;const MOUSE_SELECTOR_MODE_INFOS=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS;const MIN_MOUSE_SELECTION_DISTANCE=4;const MODIFIER={SHIFT:0x1,SPACE:0x2,CMD_OR_CTRL:0x4};function isCmdOrCtrlPressed(event){if(tr.isMac)return event.metaKey;return event.ctrlKey;}
7517Polymer({is:'tr-ui-b-mouse-mode-selector',created(){this.supportedModeMask_=MOUSE_SELECTOR_MODE.ALL_MODES;this.initialRelativeMouseDownPos_={x:0,y:0};this.defaultMode_=MOUSE_SELECTOR_MODE.PANSCAN;this.settingsKey_=undefined;this.mousePos_={x:0,y:0};this.mouseDownPos_={x:0,y:0};this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.onKeyUp_=this.onKeyUp_.bind(this);this.mode_=undefined;this.modeToKeyCodeMap_={};this.modifierToModeMap_={};this.targetElement_=undefined;this.modeBeforeAlternativeModeActivated_=null;this.isInteracting_=false;this.isClick_=false;},ready(){this.buttonsEl_=Polymer.dom(this.root).querySelector('.buttons');this.dragHandleEl_=Polymer.dom(this.root).querySelector('.drag-handle');this.supportedModeMask=MOUSE_SELECTOR_MODE.ALL_MODES;this.dragHandleEl_.addEventListener('mousedown',this.onDragHandleMouseDown_.bind(this));this.buttonsEl_.addEventListener('mouseup',this.onButtonMouseUp_);this.buttonsEl_.addEventListener('mousedown',this.onButtonMouseDown_);this.buttonsEl_.addEventListener('click',this.onButtonPress_.bind(this));},attached(){document.addEventListener('keydown',this.onKeyDown_);document.addEventListener('keyup',this.onKeyUp_);},detached(){document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('keyup',this.onKeyUp_);},get targetElement(){return this.targetElement_;},set targetElement(target){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);}
7518this.targetElement_=target;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},get defaultMode(){return this.defaultMode_;},set defaultMode(defaultMode){this.defaultMode_=defaultMode;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(!this.settingsKey_)return;let mode=tr.b.Settings.get(this.settingsKey_+'.mode',undefined);if(MOUSE_SELECTOR_MODE_INFOS[mode]===undefined){mode=undefined;}
7519if((mode&this.supportedModeMask_)===0){mode=undefined;}
7520if(!mode)mode=this.defaultMode_;this.mode=mode;const pos=tr.b.Settings.get(this.settingsKey_+'.pos',undefined);if(pos)this.pos=pos;},get supportedModeMask(){return this.supportedModeMask_;},set supportedModeMask(supportedModeMask){if(this.mode&&(supportedModeMask&this.mode)===0){throw new Error('supportedModeMask must include current mode.');}
7521function createButtonForMode(mode){return button;}
7522this.supportedModeMask_=supportedModeMask;Polymer.dom(this.buttonsEl_).textContent='';for(const modeName in MOUSE_SELECTOR_MODE){if(modeName==='ALL_MODES')continue;const mode=MOUSE_SELECTOR_MODE[modeName];if((this.supportedModeMask_&mode)===0)continue;const button=document.createElement('tr-ui-b-mouse-mode-icon');button.mode=mode;Polymer.dom(button).classList.add('tool-button');Polymer.dom(this.buttonsEl_).appendChild(button);}},getButtonForMode_(mode){for(let i=0;i<this.buttonsEl_.children.length;i++){const buttonEl=this.buttonsEl_.children[i];if(buttonEl.mode===mode){return buttonEl;}}
7523return undefined;},get mode(){return this.currentMode_;},set mode(newMode){if(newMode!==undefined){if(typeof newMode!=='number'){throw new Error('Mode must be a number');}
7524if((newMode&this.supportedModeMask_)===0){throw new Error('Cannot switch to this mode, it is not supported');}
7525if(MOUSE_SELECTOR_MODE_INFOS[newMode]===undefined){throw new Error('Unrecognized mode');}}
7526let modeInfo;if(this.currentMode_===newMode)return;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=false;if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end);this.dispatchEvent(mouseEvent);}
7527modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.exit,true);}
7528this.currentMode_=newMode;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=true;this.mouseDownPos_.x=this.mousePos_.x;this.mouseDownPos_.y=this.mousePos_.y;modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];if(!this.isInAlternativeMode_){tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.enter,true);}
7529if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin);this.dispatchEvent(mouseEvent);}}
7530if(this.settingsKey_&&!this.isInAlternativeMode_){tr.b.Settings.set(this.settingsKey_+'.mode',this.mode);}},setKeyCodeForMode(mode,keyCode){if((mode&this.supportedModeMask_)===0){throw new Error('Mode not supported');}
7531this.modeToKeyCodeMap_[mode]=keyCode;if(!this.buttonsEl_)return;const buttonEl=this.getButtonForMode_(mode);if(buttonEl){buttonEl.acceleratorKey=String.fromCharCode(keyCode);}},setCurrentMousePosFromEvent_(e){this.mousePos_.x=e.clientX;this.mousePos_.y=e.clientY;},createEvent_(eventName,sourceEvent){const event=new tr.b.Event(eventName,true);event.clientX=this.mousePos_.x;event.clientY=this.mousePos_.y;event.deltaX=this.mousePos_.x-this.mouseDownPos_.x;event.deltaY=this.mousePos_.y-this.mouseDownPos_.y;event.mouseDownX=this.mouseDownPos_.x;event.mouseDownY=this.mouseDownPos_.y;event.didPreventDefault=false;event.preventDefault=function(){event.didPreventDefault=true;if(sourceEvent){sourceEvent.preventDefault();}};event.stopPropagation=function(){sourceEvent.stopPropagation();};event.stopImmediatePropagation=function(){throw new Error('Not implemented');};return event;},onMouseDown_(e){if(e.button!==0)return;this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin,e);if(this.mode===MOUSE_SELECTOR_MODE.SELECTION){mouseEvent.appendSelection=isCmdOrCtrlPressed(e);}
7532this.dispatchEvent(mouseEvent);this.isInteracting_=true;this.isClick_=true;tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_,this.onMouseUp_);},onMouseMove_(e){this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.update,e);this.dispatchEvent(mouseEvent);if(this.isInteracting_){this.checkIsClick_(e);}},onMouseUp_(e){if(e.button!==0)return;const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end,e);mouseEvent.isClick=this.isClick_;this.dispatchEvent(mouseEvent);if(this.isClick_&&!mouseEvent.didPreventDefault){this.dispatchClickEvents_(e);}
7533this.isInteracting_=false;this.updateAlternativeModeState_(e);},onButtonMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonMouseUp_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonPress_(e){this.modeBeforeAlternativeModeActivated_=undefined;this.mode=e.target.mode;e.preventDefault();},onKeyDown_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=true;}
7534this.updateAlternativeModeState_(e);},onKeyUp_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=false;}
7535let didHandleKey=false;for(const[modeStr,keyCode]of Object.entries(this.modeToKeyCodeMap_)){if(e.keyCode===keyCode){this.modeBeforeAlternativeModeActivated_=undefined;const mode=parseInt(modeStr);this.mode=mode;didHandleKey=true;}}
7536if(didHandleKey){e.preventDefault();e.stopPropagation();return;}
7537this.updateAlternativeModeState_(e);},updateAlternativeModeState_(e){const shiftPressed=e.shiftKey;const spacePressed=this.spacePressed_;const cmdOrCtrlPressed=isCmdOrCtrlPressed(e);const smm=this.supportedModeMask_;let newMode;let isNewModeAnAlternativeMode=false;if(shiftPressed&&(this.modifierToModeMap_[MODIFIER.SHIFT]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SHIFT];isNewModeAnAlternativeMode=true;}else if(spacePressed&&(this.modifierToModeMap_[MODIFIER.SPACE]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SPACE];isNewModeAnAlternativeMode=true;}else if(cmdOrCtrlPressed&&(this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL];isNewModeAnAlternativeMode=true;}else{if(this.isInAlternativeMode_){newMode=this.modeBeforeAlternativeModeActivated_;isNewModeAnAlternativeMode=false;}else{newMode=undefined;}}
7538if(this.mode===newMode||newMode===undefined)return;if(isNewModeAnAlternativeMode){this.modeBeforeAlternativeModeActivated_=this.mode;}
7539this.mode=newMode;},get isInAlternativeMode_(){return!!this.modeBeforeAlternativeModeActivated_;},setModifierForAlternateMode(mode,modifier){this.modifierToModeMap_[modifier]=mode;},get pos(){return{x:parseInt(this.style.left),y:parseInt(this.style.top)};},set pos(pos){pos=this.constrainPositionToBounds_(pos);this.style.left=pos.x+'px';this.style.top=pos.y+'px';if(this.settingsKey_){tr.b.Settings.set(this.settingsKey_+'.pos',this.pos);}},constrainPositionToBounds_(pos){const parent=this.offsetParent||document.body;const parentRect=tr.ui.b.windowRectForElement(parent);const top=0;const bottom=parentRect.height-this.offsetHeight;const left=0;const right=parentRect.width-this.offsetWidth;const res={};res.x=Math.max(pos.x,left);res.x=Math.min(res.x,right);res.y=Math.max(pos.y,top);res.y=Math.min(res.y,bottom);return res;},onDragHandleMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();const mouseDownPos={x:e.clientX-this.offsetLeft,y:e.clientY-this.offsetTop};tr.ui.b.trackMouseMovesUntilMouseUp(function(e){const pos={};pos.x=e.clientX-mouseDownPos.x;pos.y=e.clientY-mouseDownPos.y;this.pos=pos;}.bind(this));},checkIsClick_(e){if(!this.isInteracting_||!this.isClick_)return;const deltaX=this.mousePos_.x-this.mouseDownPos_.x;const deltaY=this.mousePos_.y-this.mouseDownPos_.y;const minDist=MIN_MOUSE_SELECTION_DISTANCE;if(deltaX*deltaX+deltaY*deltaY>minDist*minDist){this.isClick_=false;}},dispatchClickEvents_(e){if(!this.isClick_)return;const modeInfo=MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION];const eventNames=modeInfo.eventNames;let mouseEvent=this.createEvent_(eventNames.begin);mouseEvent.appendSelection=isCmdOrCtrlPressed(e);this.dispatchEvent(mouseEvent);mouseEvent=this.createEvent_(eventNames.end);this.dispatchEvent(mouseEvent);}});return{MIN_MOUSE_SELECTION_DISTANCE,MODIFIER,};});'use strict';(function(){const DETAILS_SPLIT_REGEX=/^(\S*)\s*([\S\s]*)$/;Polymer({is:'tr-ui-e-chrome-cc-display-item-list-item',created(){Polymer.dom(this).setAttribute('name','');Polymer.dom(this).setAttribute('rawDetails','');Polymer.dom(this).setAttribute('richDetails',undefined);Polymer.dom(this).setAttribute('data_',undefined);},get data(){return this.data_;},set data(data){this.data_=data;if(!data){this.name='DATA MISSING';this.rawDetails='';this.richDetails=undefined;}else if(typeof data==='string'){const match=data.match(DETAILS_SPLIT_REGEX);this.name=match[1];this.rawDetails=match[2];this.richDetails=undefined;}else{this.name=data.name;this.rawDetails='';this.richDetails=data;}},stopPropagation(e){e.stopPropagation();},_computeIf(richDetails){return richDetails&&richDetails.skp64;},_computeHref(richDetails){return'data:application/octet-stream;base64,'+richDetails.skp64;}});})();'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function Selection(){this.selectionToSetIfClicked=undefined;}
7540Selection.prototype={get specicifity(){throw new Error('Not implemented');},get associatedLayerId(){throw new Error('Not implemented');},get associatedRenderPassId(){throw new Error('Not implemented');},get highlightsByLayerId(){return{};},createAnalysis(){throw new Error('Not implemented');},findEquivalent(lthi){throw new Error('Not implemented');}};function RenderPassSelection(renderPass,renderPassId){if(!renderPass||(renderPassId===undefined)){throw new Error('Render pass (with id) is required');}
7541this.renderPass_=renderPass;this.renderPassId_=renderPassId;}
7542RenderPassSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return undefined;},get associatedRenderPassId(){return this.renderPassId_;},get renderPass(){return this.renderPass_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='RenderPass '+this.renderPassId_;dataView.object=this.renderPass_.args;return dataView;},get title(){return this.renderPass_.objectInstance.typeName;}};function LayerSelection(layer){if(!layer){throw new Error('Layer is required');}
7543this.layer_=layer;}
7544LayerSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return this.layer_.layerId;},get associatedRenderPassId(){return undefined;},get layer(){return this.layer_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='Layer '+this.layer_.layerId;if(this.layer_.usingGpuRasterization){dataView.label+=' (GPU-rasterized)';}
7545dataView.object=this.layer_.args;return dataView;},get title(){return this.layer_.objectInstance.typeName;},findEquivalent(lthi){const layer=lthi.activeTree.findLayerWithId(this.layer_.layerId)||lthi.pendingTree.findLayerWithId(this.layer_.layerId);if(!layer)return undefined;return new LayerSelection(layer);}};function TileSelection(tile,opt_data){this.tile_=tile;this.data_=opt_data||{};}
7546TileSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.tile_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.tile_.layerId]=[{colorKey:this.tile_.objectInstance.typeName,rect:this.tile_.layerRect}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Tile '+this.tile_.objectInstance.id+' on layer '+
7547this.tile_.layerId;if(this.data_){analysis.object={moreInfo:this.data_,tileArgs:this.tile_.args};}else{analysis.object=this.tile_.args;}
7548return analysis;},findEquivalent(lthi){const tileInstance=this.tile_.tileInstance;if(lthi.ts<tileInstance.creationTs||lthi.ts>=tileInstance.deletionTs){return undefined;}
7549const tileSnapshot=tileInstance.getSnapshotAt(lthi.ts);if(!tileSnapshot)return undefined;return new TileSelection(tileSnapshot);}};function LayerRectSelection(layer,rectType,rect,opt_data){this.layer_=layer;this.rectType_=rectType;this.rect_=rect;this.data_=opt_data!==undefined?opt_data:rect;}
7550LayerRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.layer_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.layer_.layerId]=[{colorKey:this.rectType_,rect:this.rect_}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label=this.rectType_+' on layer '+this.layer_.layerId;analysis.object=this.data_;return analysis;},findEquivalent(lthi){return undefined;}};function AnimationRectSelection(layer,rect){this.layer_=layer;this.rect_=rect;}
7551AnimationRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 0;},get associatedLayerId(){return this.layer_.layerId;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Animation Bounds of layer '+this.layer_.layerId;analysis.object=this.rect_;return analysis;}};return{Selection,RenderPassSelection,LayerSelection,TileSelection,LayerRectSelection,AnimationRectSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const ANNOTATION='Comment';const BEGIN_ANNOTATION='BeginCommentGroup';const END_ANNOTATION='EndCommentGroup';const ANNOTATION_ID='ID: ';const ANNOTATION_CLASS='CLASS: ';const ANNOTATION_TAG='TAG: ';const constants=tr.e.cc.constants;const PictureOpsListView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-list-view');PictureOpsListView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.opsList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.opsList_);this.selectedOp_=undefined;this.selectedOpIndex_=undefined;this.opsList_.addEventListener('selection-changed',this.onSelectionChanged_.bind(this));this.picture_=undefined;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.updateContents_();},updateContents_(){this.opsList_.clear();if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);ops=this.opsTaggedWithAnnotations_(ops);for(let i=0;i<ops.length;i++){const op=ops[i];const item=document.createElement('div');item.opIndex=op.opIndex;Polymer.dom(item).textContent=i+') '+op.cmd_string;if(op.elementInfo.tag||op.elementInfo.id||op.elementInfo.class){const elementInfo=document.createElement('span');Polymer.dom(elementInfo).classList.add('elementInfo');const tag=op.elementInfo.tag?op.elementInfo.tag:'unknown';const id=op.elementInfo.id?'id='+op.elementInfo.id:undefined;const className=op.elementInfo.class?'class='+
7552op.elementInfo.class:undefined;Polymer.dom(elementInfo).textContent='<'+tag+(id?' ':'')+
7553(id?id:'')+(className?' ':'')+
7554(className?className:'')+'>';Polymer.dom(item).appendChild(elementInfo);}
7555if(op.info.length>0){const infoItem=document.createElement('div');Polymer.dom(infoItem).textContent=JSON.stringify(op.info);Polymer.dom(item).appendChild(infoItem);}
7556if(op.cmd_time&&op.cmd_time>=0.0001){const time=document.createElement('span');Polymer.dom(time).classList.add('time');const rounded=op.cmd_time.toFixed(4);Polymer.dom(time).textContent='('+rounded+'ms)';Polymer.dom(item).appendChild(time);}
7557Polymer.dom(this.opsList_).appendChild(item);}},onSelectionChanged_(e){let beforeSelectedOp=true;if(this.opsList_.selectedElement===this.selectedOp_){this.opsList_.selectedElement=undefined;beforeSelectedOp=false;this.selectedOpIndex_=undefined;}
7558this.selectedOp_=this.opsList_.selectedElement;const ops=this.opsList_.children;for(let i=0;i<ops.length;i++){const op=ops[i];if(op===this.selectedOp_){beforeSelectedOp=false;this.selectedOpIndex_=op.opIndex;}else if(beforeSelectedOp){Polymer.dom(op).setAttribute('beforeSelection','beforeSelection');}else{Polymer.dom(op).removeAttribute('beforeSelection');}}
7559tr.b.dispatchSimpleEvent(this,'selection-changed',false);},get numOps(){return this.opsList_.children.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(s){this.selectedOpIndex_=s;if(s===undefined){this.opsList_.selectedElement=this.selectedOp_;this.onSelectionChanged_();}else{if(s<0)throw new Error('Invalid index');if(s>=this.numOps)throw new Error('Invalid index');this.opsList_.selectedElement=this.opsList_.getElementByIndex(s+1);tr.ui.b.scrollIntoViewIfNeeded(this.opsList_.selectedElement);}},opsTaggedWithAnnotations_(ops){const annotationGroups=[];const opsWithoutAnnotations=[];for(let opIndex=0;opIndex<ops.length;opIndex++){const op=ops[opIndex];op.opIndex=opIndex;switch(op.cmd_string){case BEGIN_ANNOTATION:annotationGroups.push([]);break;case END_ANNOTATION:annotationGroups.pop();break;case ANNOTATION:annotationGroups[annotationGroups.length-1].push(op);break;default:{const annotations=[];let elementInfo={};annotationGroups.forEach(function(annotationGroup){elementInfo={};annotationGroup.forEach(function(annotation){annotation.info.forEach(function(info){if(info.includes(ANNOTATION_TAG)){elementInfo.tag=info.substring(info.indexOf(ANNOTATION_TAG)+
7560ANNOTATION_TAG.length).toLowerCase();}else if(info.includes(ANNOTATION_ID)){elementInfo.id=info.substring(info.indexOf(ANNOTATION_ID)+
7561ANNOTATION_ID.length);}else if(info.includes(ANNOTATION_CLASS)){elementInfo.class=info.substring(info.indexOf(ANNOTATION_CLASS)+
7562ANNOTATION_CLASS.length);}
7563annotations.push(info);});});});op.annotations=annotations;op.elementInfo=elementInfo;opsWithoutAnnotations.push(op);}}}
7564return opsWithoutAnnotations;}};return{PictureOpsListView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const DisplayItemDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-debugger');DisplayItemDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-display-item-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.trackMouse_();this.displayItemInfo_=Polymer.dom(this).querySelector('display-item-info');this.displayItemInfo_.addEventListener('click',this.onDisplayItemInfoClick_.bind(this),false);this.displayItemListView_=new tr.ui.b.ListView();this.displayItemListView_.addEventListener('selection-changed',this.onDisplayItemListSelection_.bind(this));Polymer.dom(this.displayItemInfo_).appendChild(this.displayItemListView_);this.displayListFilename_=Polymer.dom(this).querySelector('.dlfilename');this.displayListExportButton_=Polymer.dom(this).querySelector('.dlexport');this.displayListExportButton_.addEventListener('click',this.onExportDisplayListClicked_.bind(this));this.skpFilename_=Polymer.dom(this).querySelector('.skpfilename');this.skpExportButton_=Polymer.dom(this).querySelector('.skpexport');this.skpExportButton_.addEventListener('click',this.onExportSkPictureClicked_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).insertBefore(this.infoBar_,this.rasterCanvas_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;this.pictureOpsListView_=new tr.ui.e.chrome.cc.PictureOpsListView();Polymer.dom(rightPanel).insertBefore(this.pictureOpsListView_,this.rasterArea_);this.pictureOpsListDragHandle_=document.createElement('tr-ui-b-drag-handle');this.pictureOpsListDragHandle_.horizontal=false;this.pictureOpsListDragHandle_.target=this.pictureOpsListView_;Polymer.dom(rightPanel).insertBefore(this.pictureOpsListDragHandle_,this.rasterArea_);},get picture(){return this.picture_;},set displayItemList(displayItemList){this.displayItemList_=displayItemList;this.picture=this.displayItemList_;this.displayItemListView_.clear();this.displayItemList_.items.forEach(function(item){const listItem=document.createElement('tr-ui-e-chrome-cc-display-item-list-item');listItem.data=item;Polymer.dom(this.displayItemListView_).appendChild(listItem);}.bind(this));},set picture(picture){this.picture_=picture;const showOpsList=picture&&picture!==this.displayItemList_;this.updateDrawOpsList_(showOpsList);if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;}
7565const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);let width=parseInt(style.width);let height=parseInt(style.height);if(this.picture_){width=Math.max(width,this.picture_.layerRect.width);height=Math.max(height,this.picture_.layerRect.height);}
7566return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+
7567this.picture_.layerRect.width+' x '+
7568this.picture_.layerRect.height+')';}
7569if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;}
7570this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;}
7571if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;}
7572this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.picture_||!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({showOverdraw:false},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},onDisplayItemListSelection_(e){const selected=this.displayItemListView_.selectedElement;if(!selected){this.picture=this.displayItemList_;return;}
7573const index=Array.prototype.indexOf.call(this.displayItemListView_.children,selected);const displayItem=this.displayItemList_.items[index];if(displayItem&&displayItem.skp64){this.picture=new tr.e.cc.Picture(displayItem.skp64,this.displayItemList_.layerRect);}else{this.picture=undefined;}},onDisplayItemInfoClick_(e){if(e&&e.target===this.displayItemInfo_){this.displayItemListView_.selectedElement=undefined;}},updateDrawOpsList_(showOpsList){if(showOpsList){this.pictureOpsListView_.picture=this.picture_;if(this.pictureOpsListView_.numOps>0){Polymer.dom(this.pictureOpsListView_).classList.add('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.add('hasPictureOps');}}else{Polymer.dom(this.pictureOpsListView_).classList.remove('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.remove('hasPictureOps');}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};},saveFile_(filename,rawData){if(!rawData)return;const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);}
7574const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.URL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=filename;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},onExportDisplayListClicked_(){const rawData=JSON.stringify(this.displayItemList_.items);this.saveFile_(this.displayListFilename_.value,rawData);},onExportSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());this.saveFile_(this.skpFilename_.value,rawData);}};return{DisplayItemDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const DisplayItemSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-list-view',tr.ui.analysis.ObjectSnapshotView);DisplayItemSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-display-item-list-view');this.displayItemDebugger_=new tr.ui.e.chrome.cc.DisplayItemDebugger();Polymer.dom(this).appendChild(this.displayItemDebugger_);},updateContents(){if(this.objectSnapshot_&&this.displayItemDebugger_){this.displayItemDebugger_.displayItemList=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(DisplayItemSnapshotView,{typeNames:['cc::DisplayItemList'],showInstances:false});return{DisplayItemSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const RENDER_PASS_QUADS=Math.max(constants.ACTIVE_TREE,constants.PENDING_TREE)+1;const LayerPicker=tr.ui.b.define('tr-ui-e-chrome-cc-layer-picker');LayerPicker.prototype={__proto__:HTMLUnknownElement.prototype,decorate(){this.lthi_=undefined;this.controls_=document.createElement('top-controls');this.renderPassQuads_=false;this.itemList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.itemList_);this.itemList_.addEventListener('selection-changed',this.onItemSelectionChanged_.bind(this));Polymer.dom(this.controls_).appendChild(tr.ui.b.createSelector(this,'whichTree','layerPicker.whichTree',constants.ACTIVE_TREE,[{label:'Active tree',value:constants.ACTIVE_TREE},{label:'Pending tree',value:constants.PENDING_TREE},{label:'Render pass quads',value:RENDER_PASS_QUADS}]));this.showPureTransformLayers_=false;const showPureTransformLayers=tr.ui.b.createCheckBox(this,'showPureTransformLayers','layerPicker.showPureTransformLayers',false,'Transform layers');Polymer.dom(showPureTransformLayers).classList.add('show-transform-layers');showPureTransformLayers.title='When checked, pure transform layers are shown';Polymer.dom(this.controls_).appendChild(showPureTransformLayers);},get lthiSnapshot(){return this.lthiSnapshot_;},set lthiSnapshot(lthiSnapshot){this.lthiSnapshot_=lthiSnapshot;this.updateContents_();},get whichTree(){return this.renderPassQuads_?constants.ACTIVE_TREE:this.whichTree_;},set whichTree(whichTree){this.whichTree_=whichTree;this.renderPassQuads_=(whichTree===RENDER_PASS_QUADS);this.updateContents_();tr.b.dispatchSimpleEvent(this,'selection-change',false);},get layerTreeImpl(){if(this.lthiSnapshot===undefined)return undefined;return this.lthiSnapshot.getTree(this.whichTree);},get isRenderPassQuads(){return this.renderPassQuads_;},get showPureTransformLayers(){return this.showPureTransformLayers_;},set showPureTransformLayers(show){if(this.showPureTransformLayers_===show)return;this.showPureTransformLayers_=show;this.updateContents_();},getRenderPassInfos_(){if(!this.lthiSnapshot_)return[];const renderPassInfo=[];if(!this.lthiSnapshot_.args.frame||!this.lthiSnapshot_.args.frame.renderPasses){return renderPassInfo;}
7575const renderPasses=this.lthiSnapshot_.args.frame.renderPasses;for(let i=0;i<renderPasses.length;++i){const info={renderPass:renderPasses[i],depth:0,id:i,name:'cc::RenderPass'};renderPassInfo.push(info);}
7576return renderPassInfo;},getLayerInfos_(){if(!this.lthiSnapshot_)return[];const tree=this.lthiSnapshot_.getTree(this.whichTree_);if(!tree)return[];const layerInfos=[];const showPureTransformLayers=this.showPureTransformLayers_;function isPureTransformLayer(layer){if(layer.args.compositingReasons&&layer.args.compositingReasons.length!==1&&layer.args.compositingReasons[0]!=='No reasons given'){return false;}
7577if(layer.args.drawsContent)return false;return true;}
7578const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;const info={layer,depth};if(layer.args.drawsContent){info.name=layer.objectInstance.name;}else{info.name='cc::LayerImpl';}
7579if(layer.usingGpuRasterization){info.name+=' (G)';}
7580info.isMaskLayer=isMask;info.replicaLayer=isReplica;if(showPureTransformLayers||!isPureTransformLayer(layer)){layerInfos.push(info);}}
7581tree.iterLayers(visitLayer);return layerInfos;},updateContents_(){if(this.renderPassQuads_){this.updateRenderPassContents_();}else{this.updateLayerContents_();}},updateRenderPassContents_(){this.itemList_.clear();let selectedRenderPassId;if(this.selection_&&this.selection_.associatedRenderPassId){selectedRenderPassId=this.selection_.associatedRenderPassId;}
7582const renderPassInfos=this.getRenderPassInfos_();renderPassInfos.forEach(function(renderPassInfo){const renderPass=renderPassInfo.renderPass;const id=renderPassInfo.id;const item=this.createElementWithDepth_(renderPassInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=renderPassInfo.name+' '+id;item.renderPass=renderPass;item.renderPassId=id;Polymer.dom(this.itemList_).appendChild(item);if(id===selectedRenderPassId){renderPass.selectionState=tr.model.SelectionState.SELECTED;}},this);},updateLayerContents_(){this.changingItemSelection_=true;try{this.itemList_.clear();let selectedLayerId;if(this.selection_&&this.selection_.associatedLayerId){selectedLayerId=this.selection_.associatedLayerId;}
7583const layerInfos=this.getLayerInfos_();layerInfos.forEach(function(layerInfo){const layer=layerInfo.layer;const id=layer.layerId;const item=this.createElementWithDepth_(layerInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=layerInfo.name+' '+id;const notesEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());if(layerInfo.isMaskLayer){Polymer.dom(notesEl).textContent+='(mask)';}
7584if(layerInfo.isReplicaLayer){Polymer.dom(notesEl).textContent+='(replica)';}
7585if((layer.gpuMemoryUsageInBytes!==undefined)&&(layer.gpuMemoryUsageInBytes>0)){const gpuUsageStr=tr.b.Unit.byName.sizeInBytes.format(layer.gpuMemoryUsageInBytes);Polymer.dom(notesEl).textContent+=' ('+gpuUsageStr+' MiB)';}
7586item.layer=layer;Polymer.dom(this.itemList_).appendChild(item);if(layer.layerId===selectedLayerId){layer.selectionState=tr.model.SelectionState.SELECTED;item.selected=true;}},this);}finally{this.changingItemSelection_=false;}},createElementWithDepth_(depth){const item=document.createElement('div');const indentEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());indentEl.style.whiteSpace='pre';for(let i=0;i<depth;i++){Polymer.dom(indentEl).textContent=Polymer.dom(indentEl).textContent+' ';}
7587return item;},onItemSelectionChanged_(e){if(this.changingItemSelection_)return;if(this.renderPassQuads_){this.onRenderPassSelected_(e);}else{this.onLayerSelected_(e);}
7588tr.b.dispatchSimpleEvent(this,'selection-change',false);},onRenderPassSelected_(e){let selectedRenderPass;let selectedRenderPassId;if(this.itemList_.selectedElement){selectedRenderPass=this.itemList_.selectedElement.renderPass;selectedRenderPassId=this.itemList_.selectedElement.renderPassId;}
7589if(selectedRenderPass){this.selection_=new tr.ui.e.chrome.cc.RenderPassSelection(selectedRenderPass,selectedRenderPassId);}else{this.selection_=undefined;}},onLayerSelected_(e){let selectedLayer;if(this.itemList_.selectedElement){selectedLayer=this.itemList_.selectedElement.layer;}
7590if(selectedLayer){this.selection_=new tr.ui.e.chrome.cc.LayerSelection(selectedLayer);}else{this.selection_=undefined;}},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.updateContents_();}};return{LayerPicker,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function RenderPassSnapshot(){ObjectSnapshot.apply(this,arguments);}
7591RenderPassSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['quadList']);}};ObjectSnapshot.subTypes.register(RenderPassSnapshot,{typeName:'cc::RenderPass'});return{RenderPassSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const deg2rad=tr.b.math.deg2rad;const constants={DEFAULT_SCALE:0.5,DEFAULT_EYE_DISTANCE:10000,MINIMUM_DISTANCE:1000,MAXIMUM_DISTANCE:100000,FOV:15,RESCALE_TIMEOUT_MS:200,MAXIMUM_TILT:80,SETTINGS_NAMESPACE:'tr.ui_camera'};const Camera=tr.ui.b.define('camera');Camera.prototype={__proto__:HTMLUnknownElement.prototype,decorate(eventSource){this.eventSource_=eventSource;this.eventSource_.addEventListener('beginpan',this.onPanBegin_.bind(this));this.eventSource_.addEventListener('updatepan',this.onPanUpdate_.bind(this));this.eventSource_.addEventListener('endpan',this.onPanEnd_.bind(this));this.eventSource_.addEventListener('beginzoom',this.onZoomBegin_.bind(this));this.eventSource_.addEventListener('updatezoom',this.onZoomUpdate_.bind(this));this.eventSource_.addEventListener('endzoom',this.onZoomEnd_.bind(this));this.eventSource_.addEventListener('beginrotate',this.onRotateBegin_.bind(this));this.eventSource_.addEventListener('updaterotate',this.onRotateUpdate_.bind(this));this.eventSource_.addEventListener('endrotate',this.onRotateEnd_.bind(this));this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];this.pixelRatio_=window.devicePixelRatio||1;},get modelViewMatrix(){const mvMatrix=mat4.create();mat4.lookAt(mvMatrix,this.eye_,this.gazeTarget_,[0,1,0]);return mvMatrix;},get projectionMatrix(){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const aspectRatio=rect.width/rect.height;const matrix=mat4.create();mat4.perspective(matrix,deg2rad(constants.FOV),aspectRatio,1,100000);return matrix;},set canvas(c){this.canvas_=c;},set deviceRect(rect){this.deviceRect_=rect;},get stackingDistanceDampening(){const gazeVector=[this.gazeTarget_[0]-this.eye_[0],this.gazeTarget_[1]-this.eye_[1],this.gazeTarget_[2]-this.eye_[2]];vec3.normalize(gazeVector,gazeVector);return 1+gazeVector[2];},loadCameraFromSettings(settings){this.eye_=settings.get('eye',this.eye_,constants.SETTINGS_NAMESPACE);this.gazeTarget_=settings.get('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);this.rotation_=settings.get('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);this.dispatchRenderEvent_();},saveCameraToSettings(settings){settings.set('eye',this.eye_,constants.SETTINGS_NAMESPACE);settings.set('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);settings.set('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);},resetCamera(){this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];const settings=tr.b.SessionSettings();const keys=settings.keys(constants.SETTINGS_NAMESPACE);if(keys.length!==0){this.loadCameraFromSettings(settings);return;}
7592if(this.deviceRect_){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);this.eye_[0]=this.deviceRect_.width/2;this.eye_[1]=this.deviceRect_.height/2;this.gazeTarget_[0]=this.deviceRect_.width/2;this.gazeTarget_[1]=this.deviceRect_.height/2;}
7593this.saveCameraToSettings(settings);this.dispatchRenderEvent_();},updatePanByDelta(delta){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const eyeVector=[this.eye_[0]-this.gazeTarget_[0],this.eye_[1]-this.gazeTarget_[1],this.eye_[2]-this.gazeTarget_[2]];const length=vec3.length(eyeVector);vec3.normalize(eyeVector,eyeVector);const halfFov=constants.FOV/2;const multiplier=2.0*length*Math.tan(deg2rad(halfFov))/rect.height;const up=[0,1,0];const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec3.transformMat4(up,up,rotMatrix);const right=[0,0,0];vec3.cross(right,eyeVector,up);vec3.normalize(right,right);for(let i=0;i<3;++i){this.gazeTarget_[i]+=delta[0]*multiplier*right[i]-delta[1]*multiplier*up[i];this.eye_[i]=this.gazeTarget_[i]+length*eyeVector[i];}
7594if(Math.abs(this.gazeTarget_[2])>1e-6){const gazeVector=[-eyeVector[0],-eyeVector[1],-eyeVector[2]];const newLength=tr.b.math.clamp(-this.eye_[2]/gazeVector[2],constants.MINIMUM_DISTANCE,constants.MAXIMUM_DISTANCE);for(let i=0;i<3;++i){this.gazeTarget_[i]=this.eye_[i]+newLength*gazeVector[i];}}
7595this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateZoomByDelta(delta){let deltaY=delta[1];deltaY=tr.b.math.clamp(deltaY,-50,50);let scale=1.0-deltaY/100.0;const eyeVector=[0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const length=vec3.length(eyeVector);if(length*scale<constants.MINIMUM_DISTANCE){scale=constants.MINIMUM_DISTANCE/length;}else if(length*scale>constants.MAXIMUM_DISTANCE){scale=constants.MAXIMUM_DISTANCE/length;}
7596vec3.scale(eyeVector,eyeVector,scale);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateRotateByDelta(delta){delta[0]*=0.5;delta[1]*=0.5;if(Math.abs(this.rotation_[0]+delta[1])>constants.MAXIMUM_TILT){return;}
7597if(Math.abs(this.rotation_[1]-delta[0])>constants.MAXIMUM_TILT){return;}
7598const eyeVector=[0,0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[0]),[1,0,0]);mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[1]),[0,1,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);this.rotation_[0]+=delta[1];this.rotation_[1]-=delta[0];mat4.identity(rotMatrix);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},onPanBegin_(e){this.panning_=true;this.lastMousePosition_=this.getMousePosition_(e);},onPanUpdate_(e){if(!this.panning_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updatePanByDelta(delta);},onPanEnd_(e){this.panning_=false;},onZoomBegin_(e){this.zooming_=true;const p=this.getMousePosition_(e);this.lastMousePosition_=p;this.zoomPoint_=p;},onZoomUpdate_(e){if(!this.zooming_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateZoomByDelta(delta);},onZoomEnd_(e){this.zooming_=false;this.zoomPoint_=undefined;},onRotateBegin_(e){this.rotating_=true;this.lastMousePosition_=this.getMousePosition_(e);},onRotateUpdate_(e){if(!this.rotating_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateRotateByDelta(delta);},onRotateEnd_(e){this.rotating_=false;},getMousePosition_(e){const rect=tr.ui.b.windowRectForElement(this.canvas_);return[(e.clientX-rect.x)*this.pixelRatio_,(e.clientY-rect.y)*this.pixelRatio_];},getMouseDelta_(e,p){const newP=this.getMousePosition_(e);return[newP[0]-p[0],newP[1]-p[1]];},dispatchRenderEvent_(){tr.b.dispatchSimpleEvent(this,'renderrequired',false,false);}};return{Camera,};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;const constants={};constants.IMAGE_LOAD_RETRY_TIME_MS=500;constants.SUBDIVISION_MINIMUM=1;constants.SUBDIVISION_RECURSION_DEPTH=3;constants.SUBDIVISION_DEPTH_THRESHOLD=100;constants.FAR_PLANE_DISTANCE=10000;function drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2){const tmpP0=[p0[0],p0[1]];const tmpP1=[p1[0],p1[1]];const tmpP2=[p2[0],p2[1]];const tmpT0=[t0[0],t0[1]];const tmpT1=[t1[0],t1[1]];const tmpT2=[t2[0],t2[1]];ctx.beginPath();ctx.moveTo(tmpP0[0],tmpP0[1]);ctx.lineTo(tmpP1[0],tmpP1[1]);ctx.lineTo(tmpP2[0],tmpP2[1]);ctx.closePath();tmpP1[0]-=tmpP0[0];tmpP1[1]-=tmpP0[1];tmpP2[0]-=tmpP0[0];tmpP2[1]-=tmpP0[1];tmpT1[0]-=tmpT0[0];tmpT1[1]-=tmpT0[1];tmpT2[0]-=tmpT0[0];tmpT2[1]-=tmpT0[1];const det=1/(tmpT1[0]*tmpT2[1]-tmpT2[0]*tmpT1[1]);const a=(tmpT2[1]*tmpP1[0]-tmpT1[1]*tmpP2[0])*det;const b=(tmpT2[1]*tmpP1[1]-tmpT1[1]*tmpP2[1])*det;const c=(tmpT1[0]*tmpP2[0]-tmpT2[0]*tmpP1[0])*det;const d=(tmpT1[0]*tmpP2[1]-tmpT2[0]*tmpP1[1])*det;const e=tmpP0[0]-a*tmpT0[0]-c*tmpT0[1];const f=tmpP0[1]-b*tmpT0[0]-d*tmpT0[1];ctx.save();ctx.transform(a,b,c,d,e,f);ctx.clip();ctx.drawImage(img,0,0);ctx.restore();}
7599function drawTriangleSub(ctx,img,p0,p1,p2,t0,t1,t2,opt_recursionDepth){const depth=opt_recursionDepth||0;let subdivisionIndex=0;if(depth<constants.SUBDIVISION_MINIMUM){subdivisionIndex=7;}else if(depth<constants.SUBDIVISION_RECURSION_DEPTH){if(Math.abs(p0[2]-p1[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=1;}
7600if(Math.abs(p0[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=2;}
7601if(Math.abs(p1[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=4;}}
7602const p01=vec4.create();const p02=vec4.create();const p12=vec4.create();const t01=vec2.create();const t02=vec2.create();const t12=vec2.create();for(let i=0;i<2;++i){p0[i]*=p0[2];p1[i]*=p1[2];p2[i]*=p2[2];}
7603for(let i=0;i<4;++i){p01[i]=(p0[i]+p1[i])/2;p02[i]=(p0[i]+p2[i])/2;p12[i]=(p1[i]+p2[i])/2;}
7604for(let i=0;i<2;++i){p0[i]/=p0[2];p1[i]/=p1[2];p2[i]/=p2[2];p01[i]/=p01[2];p02[i]/=p02[2];p12[i]/=p12[2];}
7605for(let i=0;i<2;++i){t01[i]=(t0[i]+t1[i])/2;t02[i]=(t0[i]+t2[i])/2;t12[i]=(t1[i]+t2[i])/2;}
7606switch(subdivisionIndex){case 1:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 2:drawTriangleSub(ctx,img,p0,p1,p02,t0,t1,t02,depth+1);drawTriangleSub(ctx,img,p1,p02,p2,t1,t02,t2,depth+1);break;case 3:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p02,p01,p2,t02,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 4:drawTriangleSub(ctx,img,p0,p12,p2,t0,t12,t2,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);break;case 5:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p2,p01,p12,t2,t01,t12,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);break;case 6:drawTriangleSub(ctx,img,p0,p12,p02,t0,t12,t02,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;case 7:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p01,p12,p02,t01,t12,t02,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;default:drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2);break;}}
7607const tmpVec4=vec4.create();function transform(transformed,point,matrix,viewport){vec4.set(tmpVec4,point[0],point[1],0,1);vec4.transformMat4(tmpVec4,tmpVec4,matrix);let w=tmpVec4[3];if(w<1e-6)w=1e-6;transformed[0]=((tmpVec4[0]/w)+1)*viewport.width/2;transformed[1]=((tmpVec4[1]/w)+1)*viewport.height/2;transformed[2]=w;}
7608function drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(quad.imageData){quadCanvas.width=quad.imageData.width;quadCanvas.height=quad.imageData.height;quadCanvas.getContext('2d').putImageData(quad.imageData,0,0);const quadBBox=new tr.b.math.BBox2();quadBBox.addQuad(quad);const iw=quadCanvas.width;const ih=quadCanvas.height;drawTriangleSub(ctx,quadCanvas,p1,p2,p4,[0,0],[iw,0],[0,ih]);drawTriangleSub(ctx,quadCanvas,p2,p3,p4,[iw,0],[iw,ih],[0,ih]);}
7609if(quad.backgroundColor){ctx.fillStyle=quad.backgroundColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.fill();}}
7610function drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.save();if(quad.borderColor){ctx.strokeStyle=quad.borderColor;}else{ctx.strokeStyle='rgb(128,128,128)';}
7611if(quad.shadowOffset){ctx.shadowColor='rgb(0, 0, 0)';ctx.shadowOffsetX=quad.shadowOffset[0];ctx.shadowOffsetY=quad.shadowOffset[1];if(quad.shadowBlur){ctx.shadowBlur=quad.shadowBlur;}}
7612if(quad.borderWidth){ctx.lineWidth=quad.borderWidth;}else{ctx.lineWidth=1;}
7613ctx.stroke();ctx.restore();}
7614function drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(!quad.upperBorderColor)return;ctx.lineWidth=8;ctx.strokeStyle=quad.upperBorderColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.stroke();}
7615function drawProjectedQuadToContext(passNumber,quad,p1,p2,p3,p4,ctx,quadCanvas){if(passNumber===0){drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===1){drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===2){drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else{throw new Error('Invalid pass number');}}
7616const tmpP1=vec3.create();const tmpP2=vec3.create();const tmpP3=vec3.create();const tmpP4=vec3.create();function transformAndProcessQuads(matrix,viewport,quads,numPasses,handleQuadFunc,opt_arg1,opt_arg2){for(let passNumber=0;passNumber<numPasses;passNumber++){for(let i=0;i<quads.length;i++){const quad=quads[i];transform(tmpP1,quad.p1,matrix,viewport);transform(tmpP2,quad.p2,matrix,viewport);transform(tmpP3,quad.p3,matrix,viewport);transform(tmpP4,quad.p4,matrix,viewport);handleQuadFunc(passNumber,quad,tmpP1,tmpP2,tmpP3,tmpP4,opt_arg1,opt_arg2);}}}
7617const QuadStackView=tr.ui.b.define('quad-stack-view');QuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.className='quad-stack-view';const node=tr.ui.b.instantiateTemplate('#quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.updateHeaderVisibility_();this.canvas_=Polymer.dom(this).querySelector('#canvas');this.chromeImages_={left:Polymer.dom(this).querySelector('#chrome-left'),mid:Polymer.dom(this).querySelector('#chrome-mid'),right:Polymer.dom(this).querySelector('#chrome-right')};const stackingDistanceSlider=Polymer.dom(this).querySelector('#stacking-distance-slider');stackingDistanceSlider.value=tr.b.Settings.get('quadStackView.stackingDistance',45);stackingDistanceSlider.addEventListener('change',this.onStackingDistanceChange_.bind(this));stackingDistanceSlider.addEventListener('input',this.onStackingDistanceChange_.bind(this));this.trackMouse_();this.camera_=new tr.ui.b.Camera(this.mouseModeSelector_);this.camera_.addEventListener('renderrequired',this.onRenderRequired_.bind(this));this.cameraWasReset_=false;this.camera_.canvas=this.canvas_;this.viewportRect_=tr.b.math.Rect.fromXYWH(0,0,0,0);this.pixelRatio_=window.devicePixelRatio||1;},updateHeaderVisibility_(){if(this.headerText){Polymer.dom(this).querySelector('#header').style.display='';}else{Polymer.dom(this).querySelector('#header').style.display='none';}},get headerText(){return Polymer.dom(this).querySelector('#header').textContent;},set headerText(headerText){Polymer.dom(this).querySelector('#header').textContent=headerText;this.updateHeaderVisibility_();},onStackingDistanceChange_(e){tr.b.Settings.set('quadStackView.stackingDistance',this.stackingDistance);this.scheduleRender();e.stopPropagation();},get stackingDistance(){return Polymer.dom(this).querySelector('#stacking-distance-slider').value;},get mouseModeSelector(){return this.mouseModeSelector_;},get camera(){return this.camera_;},set quads(q){this.quads_=q;this.scheduleRender();},set deviceRect(rect){if(!rect||rect.equalTo(this.deviceRect_))return;this.deviceRect_=rect;this.camera_.deviceRect=rect;this.chromeQuad_=undefined;},resize(){if(!this.offsetParent)return true;const width=parseInt(window.getComputedStyle(this.offsetParent).width);const height=parseInt(window.getComputedStyle(this.offsetParent).height);const rect=tr.b.math.Rect.fromXYWH(0,0,width,height);if(rect.equalTo(this.viewportRect_))return false;this.viewportRect_=rect;this.style.width=width+'px';this.style.height=height+'px';this.canvas_.style.width=width+'px';this.canvas_.style.height=height+'px';this.canvas_.width=this.pixelRatio_*width;this.canvas_.height=this.pixelRatio_*height;if(!this.cameraWasReset_){this.camera_.resetCamera();this.cameraWasReset_=true;}
7618return true;},readyToDraw(){if(!this.chromeImages_.left.src){let leftContent=window.getComputedStyle(this.chromeImages_.left).backgroundImage;leftContent=tr.ui.b.extractUrlString(leftContent);let midContent=window.getComputedStyle(this.chromeImages_.mid).backgroundImage;midContent=tr.ui.b.extractUrlString(midContent);let rightContent=window.getComputedStyle(this.chromeImages_.right).backgroundImage;rightContent=tr.ui.b.extractUrlString(rightContent);this.chromeImages_.left.src=leftContent;this.chromeImages_.mid.src=midContent;this.chromeImages_.right.src=rightContent;}
7619return(this.chromeImages_.left.height>0)&&(this.chromeImages_.mid.height>0)&&(this.chromeImages_.right.height>0);},get chromeQuad(){if(this.chromeQuad_)return this.chromeQuad_;const chromeCanvas=document.createElement('canvas');const offsetY=this.chromeImages_.left.height;chromeCanvas.width=this.deviceRect_.width;chromeCanvas.height=this.deviceRect_.height+offsetY;const leftWidth=this.chromeImages_.left.width;const midWidth=this.chromeImages_.mid.width;const rightWidth=this.chromeImages_.right.width;const chromeCtx=chromeCanvas.getContext('2d');chromeCtx.drawImage(this.chromeImages_.left,0,0);chromeCtx.save();chromeCtx.translate(leftWidth,0);const s=(this.deviceRect_.width-leftWidth-rightWidth)/midWidth;chromeCtx.scale(s,1);chromeCtx.drawImage(this.chromeImages_.mid,0,0);chromeCtx.restore();chromeCtx.drawImage(this.chromeImages_.right,leftWidth+s*midWidth,0);const chromeRect=tr.b.math.Rect.fromXYWH(this.deviceRect_.x,this.deviceRect_.y-offsetY,this.deviceRect_.width,this.deviceRect_.height+offsetY);const chromeQuad=tr.b.math.Quad.fromRect(chromeRect);chromeQuad.stackingGroupId=this.maxStackingGroupId_+1;chromeQuad.imageData=chromeCtx.getImageData(0,0,chromeCanvas.width,chromeCanvas.height);chromeQuad.shadowOffset=[0,0];chromeQuad.shadowBlur=5;chromeQuad.borderWidth=3;this.chromeQuad_=chromeQuad;return this.chromeQuad_;},scheduleRender(){if(this.redrawScheduled_)return false;this.redrawScheduled_=true;tr.b.requestAnimationFrame(this.render,this);},onRenderRequired_(e){this.scheduleRender();},stackTransformAndProcessQuads_(numPasses,handleQuadFunc,includeChromeQuad,opt_arg1,opt_arg2){const mv=this.camera_.modelViewMatrix;const p=this.camera_.projectionMatrix;const viewport=tr.b.math.Rect.fromXYWH(0,0,this.canvas_.width,this.canvas_.height);const quadStacks=[];for(let i=0;i<this.quads_.length;++i){const quad=this.quads_[i];const stackingId=quad.stackingGroupId||0;while(stackingId>=quadStacks.length){quadStacks.push([]);}
7620quadStacks[stackingId].push(quad);}
7621const mvp=mat4.create();this.maxStackingGroupId_=quadStacks.length;const effectiveStackingDistance=this.stackingDistance*this.camera_.stackingDistanceDampening;mat4.multiply(mvp,p,mv);for(let i=0;i<quadStacks.length;++i){transformAndProcessQuads(mvp,viewport,quadStacks[i],numPasses,handleQuadFunc,opt_arg1,opt_arg2);mat4.translate(mv,mv,[0,0,effectiveStackingDistance]);mat4.multiply(mvp,p,mv);}
7622if(includeChromeQuad&&this.deviceRect_){transformAndProcessQuads(mvp,viewport,[this.chromeQuad],numPasses,drawProjectedQuadToContext,opt_arg1,opt_arg2);}},render(){this.redrawScheduled_=false;if(!this.readyToDraw()){setTimeout(this.scheduleRender.bind(this),constants.IMAGE_LOAD_RETRY_TIME_MS);return;}
7623if(!this.quads_)return;const canvasCtx=this.canvas_.getContext('2d');if(!this.resize()){canvasCtx.clearRect(0,0,this.canvas_.width,this.canvas_.height);}
7624const quadCanvas=document.createElement('canvas');this.stackTransformAndProcessQuads_(3,drawProjectedQuadToContext,true,canvasCtx,quadCanvas);quadCanvas.width=0;},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.canvas_;this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION|tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN|tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM|tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN;this.mouseModeSelector_.pos={x:0,y:100};Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.settingsKey='quadStackView.mouseModeSelector';this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN,tr.ui.b.MODIFIER.SPACE);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM,tr.ui.b.MODIFIER.CMD_OR_CTRL);this.mouseModeSelector_.addEventListener('updateselection',this.onSelectionUpdate_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onSelectionUpdate_.bind(this));},extractRelativeMousePosition_(e){const br=this.canvas_.getBoundingClientRect();return[this.pixelRatio_*(e.clientX-this.canvas_.offsetLeft-br.left),this.pixelRatio_*(e.clientY-this.canvas_.offsetTop-br.top)];},onSelectionUpdate_(e){const mousePos=this.extractRelativeMousePosition_(e);const res=[];function handleQuad(passNumber,quad,p1,p2,p3,p4){if(tr.b.math.pointInImplicitQuad(mousePos,p1,p2,p3,p4)){res.push(quad);}}
7625this.stackTransformAndProcessQuads_(1,handleQuad,false);e=new tr.b.Event('selectionchange');e.quads=res;this.dispatchEvent(e);}};return{QuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const ColorScheme=tr.b.ColorScheme;const THIS_DOC=document.currentScript.ownerDocument;const TILE_HEATMAP_TYPE={};TILE_HEATMAP_TYPE.NONE='none';TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY='scheduledPriority';TILE_HEATMAP_TYPE.USING_GPU_MEMORY='usingGpuMemory';const cc=tr.ui.e.chrome.cc;function createTileRectsSelectorBaseOptions(){return[{label:'None',value:'none'},{label:'Coverage Rects',value:'coverage'}];}
7626const LayerTreeQuadStackView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-quad-stack-view');LayerTreeQuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.isRenderPassQuads_=false;this.pictureAsImageData_={};this.messages_=[];this.controls_=document.createElement('top-controls');this.infoBar_=document.createElement('tr-ui-b-info-bar');this.quadStackView_=new tr.ui.b.QuadStackView();this.quadStackView_.addEventListener('selectionchange',this.onQuadStackViewSelectionChange_.bind(this));this.extraHighlightsByLayerId_=undefined;this.inputEventImageData_=undefined;const m=tr.ui.b.MOUSE_SELECTOR_MODE;const mms=this.quadStackView_.mouseModeSelector;mms.settingsKey='tr.e.cc.layerTreeQuadStackView.mouseModeSelector';mms.setKeyCodeForMode(m.SELECTION,'Z'.charCodeAt(0));mms.setKeyCodeForMode(m.PANSCAN,'X'.charCodeAt(0));mms.setKeyCodeForMode(m.ZOOM,'C'.charCodeAt(0));mms.setKeyCodeForMode(m.ROTATE,'V'.charCodeAt(0));const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.infoBar_);Polymer.dom(this).appendChild(this.quadStackView_);this.tileRectsSelector_=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',createTileRectsSelectorBaseOptions());Polymer.dom(this.controls_).appendChild(this.tileRectsSelector_);const tileHeatmapText=tr.ui.b.createSpan({textContent:'Tile heatmap:'});Polymer.dom(this.controls_).appendChild(tileHeatmapText);const tileHeatmapSelector=tr.ui.b.createSelector(this,'tileHeatmapType','layerView.tileHeatmapType',TILE_HEATMAP_TYPE.NONE,[{label:'None',value:TILE_HEATMAP_TYPE.NONE},{label:'Scheduled Priority',value:TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY},{label:'Is using GPU memory',value:TILE_HEATMAP_TYPE.USING_GPU_MEMORY}]);Polymer.dom(this.controls_).appendChild(tileHeatmapSelector);const showOtherLayersCheckbox=tr.ui.b.createCheckBox(this,'showOtherLayers','layerView.showOtherLayers',true,'Other layers/passes');showOtherLayersCheckbox.title='When checked, show all layers, selected or not.';Polymer.dom(this.controls_).appendChild(showOtherLayersCheckbox);const showInvalidationsCheckbox=tr.ui.b.createCheckBox(this,'showInvalidations','layerView.showInvalidations',true,'Invalidations');showInvalidationsCheckbox.title='When checked, compositing invalidations are highlighted in red';Polymer.dom(this.controls_).appendChild(showInvalidationsCheckbox);const showUnrecordedRegionCheckbox=tr.ui.b.createCheckBox(this,'showUnrecordedRegion','layerView.showUnrecordedRegion',true,'Unrecorded area');showUnrecordedRegionCheckbox.title='When checked, unrecorded areas are highlighted in yellow';Polymer.dom(this.controls_).appendChild(showUnrecordedRegionCheckbox);const showBottlenecksCheckbox=tr.ui.b.createCheckBox(this,'showBottlenecks','layerView.showBottlenecks',true,'Bottlenecks');showBottlenecksCheckbox.title='When checked, scroll bottlenecks are highlighted';Polymer.dom(this.controls_).appendChild(showBottlenecksCheckbox);const showLayoutRectsCheckbox=tr.ui.b.createCheckBox(this,'showLayoutRects','layerView.showLayoutRects',false,'Layout rects');showLayoutRectsCheckbox.title='When checked, shows rects for regions where layout happened';Polymer.dom(this.controls_).appendChild(showLayoutRectsCheckbox);const showContentsCheckbox=tr.ui.b.createCheckBox(this,'showContents','layerView.showContents',true,'Contents');showContentsCheckbox.title='When checked, show the rendered contents inside the layer outlines';Polymer.dom(this.controls_).appendChild(showContentsCheckbox);const showAnimationBoundsCheckbox=tr.ui.b.createCheckBox(this,'showAnimationBounds','layerView.showAnimationBounds',false,'Animation Bounds');showAnimationBoundsCheckbox.title='When checked, show a border around'+' a layer showing the extent of its animation.';Polymer.dom(this.controls_).appendChild(showAnimationBoundsCheckbox);const showInputEventsCheckbox=tr.ui.b.createCheckBox(this,'showInputEvents','layerView.showInputEvents',true,'Input events');showInputEventsCheckbox.title='When checked, input events are '+'displayed as circles.';Polymer.dom(this.controls_).appendChild(showInputEventsCheckbox);this.whatRasterizedLink_=document.createElement('a');Polymer.dom(this.whatRasterizedLink_).classList.add('what-rasterized');Polymer.dom(this.whatRasterizedLink_).textContent='What rasterized?';this.whatRasterizedLink_.addEventListener('click',this.onWhatRasterizedLinkClicked_.bind(this));Polymer.dom(this).appendChild(this.whatRasterizedLink_);},get layerTreeImpl(){return this.layerTreeImpl_;},set isRenderPassQuads(newValue){this.isRenderPassQuads_=newValue;},set layerTreeImpl(layerTreeImpl){if(this.layerTreeImpl_===layerTreeImpl)return;this.layerTreeImpl_=layerTreeImpl;this.selection=undefined;},get extraHighlightsByLayerId(){return this.extraHighlightsByLayerId_;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.extraHighlightsByLayerId_=extraHighlightsByLayerId;this.scheduleUpdateContents_();},get showOtherLayers(){return this.showOtherLayers_;},set showOtherLayers(show){this.showOtherLayers_=show;this.updateContents_();},get showAnimationBounds(){return this.showAnimationBounds_;},set showAnimationBounds(show){this.showAnimationBounds_=show;this.updateContents_();},get showInputEvents(){return this.showInputEvents_;},set showInputEvents(show){this.showInputEvents_=show;this.updateContents_();},get showContents(){return this.showContents_;},set showContents(show){this.showContents_=show;this.updateContents_();},get showInvalidations(){return this.showInvalidations_;},set showInvalidations(show){this.showInvalidations_=show;this.updateContents_();},get showUnrecordedRegion(){return this.showUnrecordedRegion_;},set showUnrecordedRegion(show){this.showUnrecordedRegion_=show;this.updateContents_();},get showBottlenecks(){return this.showBottlenecks_;},set showBottlenecks(show){this.showBottlenecks_=show;this.updateContents_();},get showLayoutRects(){return this.showLayoutRects_;},set showLayoutRects(show){this.showLayoutRects_=show;this.updateContents_();},get howToShowTiles(){return this.howToShowTiles_;},set howToShowTiles(val){if(val!=='none'&&val!=='coverage'&&isNaN(parseFloat(val))){throw new Error('howToShowTiles requires "none" or "coverage" or a number');}
7627this.howToShowTiles_=val;this.updateContents_();},get tileHeatmapType(){return this.tileHeatmapType_;},set tileHeatmapType(val){this.tileHeatmapType_=val;this.updateContents_();},get selection(){return this.selection_;},set selection(selection){if(this.selection===selection)return;this.selection_=selection;tr.b.dispatchSimpleEvent(this,'selection-change');this.updateContents_();},regenerateContent(){this.updateTilesSelector_();this.updateContents_();},loadDataForImageElement_(image,callback){const imageContent=window.getComputedStyle(image).backgroundImage;image.src=tr.ui.b.extractUrlString(imageContent);image.onload=function(){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=image.width;canvas.height=image.height;ctx.drawImage(image,0,0);const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);callback(imageData);};},onQuadStackViewSelectionChange_(e){const selectableQuads=e.quads.filter(function(q){return q.selectionToSetIfClicked!==undefined;});if(selectableQuads.length===0){this.selection=undefined;return;}
7628selectableQuads.sort(function(x,y){const z=x.stackingGroupId-y.stackingGroupId;if(z!==0)return z;return x.selectionToSetIfClicked.specicifity-
7629y.selectionToSetIfClicked.specicifity;});const quadToSelect=selectableQuads[selectableQuads.length-1];this.selection=quadToSelect.selectionToSetIfClicked;},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_,this);},updateContents_(){if(!this.layerTreeImpl_){this.quadStackView_.headerText='No tree';this.quadStackView_.quads=[];return;}
7630const status=this.computePictureLoadingStatus_();if(!status.picturesComplete)return;const lthi=this.layerTreeImpl_.layerTreeHostImpl;const lthiInstance=lthi.objectInstance;const worldViewportRect=tr.b.math.Rect.fromXYWH(0,0,lthi.deviceViewportSize.width,lthi.deviceViewportSize.height);this.quadStackView_.deviceRect=worldViewportRect;if(this.isRenderPassQuads_){this.quadStackView_.quads=this.generateRenderPassQuads();}else{this.quadStackView_.quads=this.generateLayerQuads();}
7631this.updateWhatRasterizedLinkState_();let message='';if(lthi.tilesHaveGpuMemoryUsageInfo){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;const otherTreeUsageInBytes=lthi.gpuMemoryUsageInBytes-
7632thisTreeUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(otherTreeUsageInBytes){message+=', '+
7633tr.b.convertUnit(otherTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on the other tree';}}else{if(this.layerTreeImpl_){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(this.layerTreeImpl_.otherTree){message+=', ??? MiB on other tree. ';}}}
7634if(lthi.args.tileManagerBasicState){const tmgs=lthi.args.tileManagerBasicState.globalState;message+=' (softMax='+
7635tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+
7636tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+
7637tmgs.memoryLimitPolicy+')';}else{const thread=lthi.snapshottedOnThread;const didManageTilesSlices=thread.sliceGroup.slices.filter(s=>{if(s.category!=='tr.e.cc')return false;if(s.title!=='DidManage')return false;if(s.end>lthi.ts)return false;return true;});didManageTilesSlices.sort(function(x,y){return x.end-y.end;});if(didManageTilesSlices.length>0){const newest=didManageTilesSlices[didManageTilesSlices.length-1];const tmgs=newest.args.state.global_state;message+=' (softMax='+
7638tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+
7639tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+
7640tmgs.memoryLimitPolicy+')';}}
7641if(this.layerTreeImpl_.otherTree){message+=' (Another tree exists)';}
7642if(message.length){this.quadStackView_.headerText=message;}else{this.quadStackView_.headerText=undefined;}
7643this.updateInfoBar_(status.messages);},updateTilesSelector_(){const data=createTileRectsSelectorBaseOptions();if(this.layerTreeImpl_){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const scaleNames=lthi.getContentsScaleNames();for(const scale in scaleNames){data.push({label:'Scale '+scale+' ('+scaleNames[scale]+')',value:scale});}}
7644const newSelector=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',data);this.controls_.replaceChild(newSelector,this.tileRectsSelector_);this.tileRectsSelector_=newSelector;},computePictureLoadingStatus_(){const layers=this.layers;const status={messages:[],picturesComplete:true};if(this.showContents){let hasPendingRasterizeImage=false;let firstPictureError=undefined;let hasMissingLayerRect=false;let hasUnresolvedPictureRef=false;for(let i=0;i<layers.length;i++){const layer=layers[i];for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(picture.idRef){hasUnresolvedPictureRef=true;continue;}
7645if(!picture.layerRect){hasMissingLayerRect=true;continue;}
7646const pictureAsImageData=this.pictureAsImageData_[picture.guid];if(!pictureAsImageData){hasPendingRasterizeImage=true;this.pictureAsImageData_[picture.guid]=tr.e.cc.PictureAsImageData.Pending(this);picture.rasterize({stopIndex:undefined},function(pictureImageData){const picture_=pictureImageData.picture;this.pictureAsImageData_[picture_.guid]=pictureImageData;this.scheduleUpdateContents_();}.bind(this));continue;}
7647if(pictureAsImageData.isPending()){hasPendingRasterizeImage=true;continue;}
7648if(pictureAsImageData.error){if(!firstPictureError){firstPictureError=pictureAsImageData.error;}
7649break;}}}
7650if(hasPendingRasterizeImage){status.picturesComplete=false;}else{if(hasUnresolvedPictureRef){status.messages.push({header:'Missing picture',details:'Your trace didn\'t have pictures for every layer. '+'Old chrome versions had this problem'});}
7651if(hasMissingLayerRect){status.messages.push({header:'Missing layer rect',details:'Your trace may be corrupt or from a very old '+'Chrome revision.'});}
7652if(firstPictureError){status.messages.push({header:'Cannot rasterize',details:firstPictureError});}}}
7653if(this.showInputEvents&&this.layerTreeImpl.tracedInputLatencies&&this.inputEventImageData_===undefined){const image=Polymer.dom(this).querySelector('#input-event');if(!image.src){this.loadDataForImageElement_(image,function(imageData){this.inputEventImageData_=imageData;this.updateContentsPending_=false;this.scheduleUpdateContents_();}.bind(this));}
7654status.picturesComplete=false;}
7655return status;},get selectedRenderPass(){if(this.selection){return this.selection.renderPass_;}},get selectedLayer(){if(this.selection){const selectedLayerId=this.selection.associatedLayerId;return this.layerTreeImpl_.findLayerWithId(selectedLayerId);}},get renderPasses(){let renderPasses=this.layerTreeImpl.layerTreeHostImpl.args.frame.renderPasses;if(!this.showOtherLayers){const selectedRenderPass=this.selectedRenderPass;if(selectedRenderPass){renderPasses=[selectedRenderPass];}}
7656return renderPasses;},get layers(){let layers=this.layerTreeImpl.renderSurfaceLayerList;if(!this.showOtherLayers){const selectedLayer=this.selectedLayer;if(selectedLayer){layers=[selectedLayer];}}
7657return layers;},appendImageQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(!picture.layerRect)continue;const unitRect=picture.layerRect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);const pictureData=this.pictureAsImageData_[picture.guid];if(this.showContents&&pictureData&&pictureData.imageData){iq.imageData=pictureData.imageData;iq.borderColor='rgba(0,0,0,0)';}else{iq.imageData=undefined;}
7658iq.stackingGroupId=layerQuad.stackingGroupId;quads.push(iq);}},appendAnimationQuads_(quads,layer,layerQuad){if(!layer.animationBoundsRect)return;const rect=layer.animationBoundsRect;const abq=tr.b.math.Quad.fromRect(rect);abq.backgroundColor='rgba(164,191,48,0.5)';abq.borderColor='rgba(205,255,0,0.75)';abq.borderWidth=3.0;abq.stackingGroupId=layerQuad.stackingGroupId;abq.selectionToSetIfClicked=new cc.AnimationRectSelection(layer,rect);quads.push(abq);},appendInvalidationQuads_(quads,layer,layerQuad){if(layer.layerTreeImpl.hasSourceFrameBeenDrawnBefore)return;for(let ir=0;ir<layer.annotatedInvalidation.rects.length;ir++){const rect=layer.annotatedInvalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';if(rect.reason==='renderer insertion'){iq.backgroundColor='rgba(0, 255, 128, 0.1)';}
7659iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect ('+rect.reason+')',rect,rect);quads.push(iq);}
7660if(layer.annotatedInvalidation.rects.length===0){for(let ir=0;ir<layer.invalidation.rects.length;ir++){const rect=layer.invalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect',rect,rect);quads.push(iq);}}},appendUnrecordedRegionQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.unrecordedRegion.rects.length;ir++){const rect=layer.unrecordedRegion.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(240, 230, 140, 0.3)';iq.borderColor='rgba(240, 230, 140, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Unrecorded area',rect,rect);quads.push(iq);}},appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId){function processRegion(region,label,borderColor){const backgroundColor=borderColor.clone();backgroundColor.a=0.4*(borderColor.a||1.0);if(!region||!region.rects)return;for(let ir=0;ir<region.rects.length;ir++){const rect=region.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor=backgroundColor.toString();iq.borderColor=borderColor.toString();iq.borderWidth=4.0;iq.stackingGroupId=stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,rect);quads.push(iq);}}
7661processRegion(layer.touchEventHandlerRegion,'Touch listener',tr.b.Color.fromString('rgb(228, 226, 27)'));processRegion(layer.wheelEventHandlerRegion,'Wheel listener',tr.b.Color.fromString('rgb(176, 205, 29)'));processRegion(layer.nonFastScrollableRegion,'Repaints on scroll',tr.b.Color.fromString('rgb(213, 134, 32)'));},appendTileCoverageRectQuads_(quads,layer,layerQuad,heatmapType){if(!layer.tileCoverageRects)return;const tiles=[];for(let ct=0;ct<layer.tileCoverageRects.length;++ct){const tile=layer.tileCoverageRects[ct].tile;if(tile!==undefined)tiles.push(tile);}
7662const lthi=this.layerTreeImpl_.layerTreeHostImpl;const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);let heatIndex=0;for(let ct=0;ct<layer.tileCoverageRects.length;++ct){let rect=layer.tileCoverageRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const tile=layer.tileCoverageRects[ct].tile;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;let type=tr.e.cc.tileTypes.missing;if(tile){type=tile.getTypeForLayer(layer);quad.backgroundColor=heatmapResult[heatIndex].color;++heatIndex;}
7663quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;let label;if(tile){label='coverageRect';}else{label='checkerboard coverageRect';}
7664quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,layer.tileCoverageRects[ct]);quads.push(quad);}},appendLayoutRectQuads_(quads,layer,layerQuad){if(!layer.layoutRects){return;}
7665for(let ct=0;ct<layer.layoutRects.length;++ct){let rect=layer.layoutRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;quad.borderColor='rgba(0, 0, 200, 0.7)';quad.borderWidth=2;const label='Layout rect';quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect);quads.push(quad);}},getValueForHeatmap_(tile,heatmapType){if(heatmapType===TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY){return tile.scheduledPriority===0?undefined:tile.scheduledPriority;}else if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){if(tile.isSolidColor)return 0.5;return tile.isUsingGpuMemory?0:1;}},getMinMaxForHeatmap_(tiles,heatmapType){const range=new tr.b.math.Range();if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){range.addValue(0);range.addValue(1);return range;}
7666for(let i=0;i<tiles.length;++i){const value=this.getValueForHeatmap_(tiles[i],heatmapType);if(value===undefined)continue;range.addValue(value);}
7667if(range.range===0){range.addValue(1);}
7668return range;},computeHeatmapColors_(tiles,minMax,heatmapType){const min=minMax.min;const max=minMax.max;const color=function(value){let hue=120*(1-(value-min)/(max-min));if(hue<0)hue=0;return'hsla('+hue+', 100%, 50%, 0.5)';};const values=[];for(let i=0;i<tiles.length;++i){const tile=tiles[i];const value=this.getValueForHeatmap_(tile,heatmapType);const res={value,color:value!==undefined?color(value):undefined};values.push(res);}
7669return values;},appendTilesWithScaleQuads_(quads,layer,layerQuad,scale,heatmapType){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const tiles=[];for(let i=0;i<lthi.activeTiles.length;++i){const tile=lthi.activeTiles[i];if(Math.abs(tile.contentsScale-scale)>1e-6){continue;}
7670if(layer.layerId!==tile.layerId)continue;tiles.push(tile);}
7671const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);for(let i=0;i<tiles.length;++i){const tile=tiles[i];const rect=tile.layerRect;if(!tile.layerRect)continue;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;const type=tile.getTypeForLayer(layer);quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;quad.backgroundColor=heatmapResult[i].color;const data={tileType:type};if(heatmapType!==TILE_HEATMAP_TYPE.NONE){data[heatmapType]=heatmapResult[i].value;}
7672quad.selectionToSetIfClicked=new cc.TileSelection(tile,data);quads.push(quad);}},appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights){highlights.forEach(function(highlight){const rect=highlight.rect;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);let colorId=ColorScheme.getColorIdForGeneralPurposeString(highlight.colorKey);const offset=ColorScheme.properties.brightenedOffsets[0];colorId=ColorScheme.getVariantColorId(colorId,offset);const color=ColorScheme.colors[colorId];const quadForDrawing=quad.clone();quadForDrawing.backgroundColor=color.withAlpha(0.5).toString();quadForDrawing.borderColor=color.withAlpha(1.0).darken().toString();quadForDrawing.stackingGroupId=layerQuad.stackingGroupId;quads.push(quadForDrawing);},this);},generateRenderPassQuads(){if(!this.layerTreeImpl.layerTreeHostImpl.args.frame)return[];const renderPasses=this.renderPasses;if(!renderPasses)return[];const quads=[];for(let i=0;i<renderPasses.length;++i){const quadList=renderPasses[i].quadList;for(let j=0;j<quadList.length;++j){const drawQuad=quadList[j];const quad=drawQuad.rectAsTargetSpaceQuad.clone();quad.borderColor='rgb(170, 204, 238)';quad.borderWidth=2;quad.stackingGroupId=i;quads.push(quad);}}
7673return quads;},generateLayerQuads(){this.updateContentsPending_=false;const layers=this.layers;const quads=[];let nextStackingGroupId=0;const alreadyVisitedLayerIds={};let selectionHighlightsByLayerId;if(this.selection){selectionHighlightsByLayerId=this.selection.highlightsByLayerId;}else{selectionHighlightsByLayerId={};}
7674const extraHighlightsByLayerId=this.extraHighlightsByLayerId||{};for(let i=1;i<=layers.length;i++){const layer=layers[layers.length-i];alreadyVisitedLayerIds[layer.layerId]=true;if(layer.objectInstance.name==='cc::NinePatchLayerImpl'){continue;}
7675const layerQuad=layer.layerQuad.clone();if(layer.usingGpuRasterization){const pixelRatio=window.devicePixelRatio||1;layerQuad.borderWidth=2.0*pixelRatio;layerQuad.borderColor='rgba(154,205,50,0.75)';}else{layerQuad.borderColor='rgba(0,0,0,0.75)';}
7676layerQuad.stackingGroupId=nextStackingGroupId++;layerQuad.selectionToSetIfClicked=new cc.LayerSelection(layer);layerQuad.layer=layer;if(this.showOtherLayers&&this.selectedLayer===layer){layerQuad.upperBorderColor='rgb(156,189,45)';}
7677if(this.showAnimationBounds){this.appendAnimationQuads_(quads,layer,layerQuad);}
7678this.appendImageQuads_(quads,layer,layerQuad);quads.push(layerQuad);if(this.showInvalidations){this.appendInvalidationQuads_(quads,layer,layerQuad);}
7679if(this.showUnrecordedRegion){this.appendUnrecordedRegionQuads_(quads,layer,layerQuad);}
7680if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,layerQuad.stackingGroupId);}
7681if(this.showLayoutRects){this.appendLayoutRectQuads_(quads,layer,layerQuad);}
7682if(this.howToShowTiles==='coverage'){this.appendTileCoverageRectQuads_(quads,layer,layerQuad,this.tileHeatmapType);}else if(this.howToShowTiles!=='none'){this.appendTilesWithScaleQuads_(quads,layer,layerQuad,this.howToShowTiles,this.tileHeatmapType);}
7683let highlights;highlights=extraHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);}
7684highlights=selectionHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);}}
7685this.layerTreeImpl.iterLayers(function(layer,depth,isMask,isReplica){if(!this.showOtherLayers&&this.selectedLayer!==layer)return;if(alreadyVisitedLayerIds[layer.layerId])return;const layerQuad=layer.layerQuad;const stackingGroupId=nextStackingGroupId++;if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId);}},this);const tracedInputLatencies=this.layerTreeImpl.tracedInputLatencies;if(this.showInputEvents&&tracedInputLatencies){for(let i=0;i<tracedInputLatencies.length;i++){const coordinatesArray=tracedInputLatencies[i].args.data.coordinates;for(let j=0;j<coordinatesArray.length;j++){const inputQuad=tr.b.math.Quad.fromXYWH(coordinatesArray[j].x-25,coordinatesArray[j].y-25,50,50);inputQuad.borderColor='rgba(0, 0, 0, 0)';inputQuad.imageData=this.inputEventImageData_;quads.push(inputQuad);}}}
7686return quads;},updateInfoBar_(infoBarMessages){if(infoBarMessages.length){this.infoBar_.removeAllButtons();this.infoBar_.message='Some problems were encountered...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent='';infoBarMessages.forEach(function(message){const title=document.createElement('h3');Polymer.dom(title).textContent=message.header;const details=document.createElement('div');Polymer.dom(details).textContent=message.details;Polymer.dom(overlay).appendChild(title);Polymer.dom(overlay).appendChild(details);});overlay.visible=true;e.stopPropagation();return false;});this.infoBar_.visible=true;}else{this.infoBar_.removeAllButtons();this.infoBar_.message='';this.infoBar_.visible=false;}},getWhatRasterized_(){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const renderProcess=lthi.objectInstance.parent;const tasks=[];for(const event of renderProcess.getDescendantEvents()){if(!(event instanceof tr.model.Slice))continue;const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined)continue;if(tile.containingSnapshot===lthi){tasks.push(event);}}
7687return tasks;},updateWhatRasterizedLinkState_(){const tasks=this.getWhatRasterized_();if(tasks.length){Polymer.dom(this.whatRasterizedLink_).textContent=tasks.length+' raster tasks';this.whatRasterizedLink_.style.display='';}else{Polymer.dom(this.whatRasterizedLink_).textContent='';this.whatRasterizedLink_.style.display='none';}},onWhatRasterizedLinkClicked_(){const tasks=this.getWhatRasterized_();const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(tasks);this.dispatchEvent(event);}};return{LayerTreeQuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const LayerView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-view');LayerView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.layerTreeQuadStackView_=new tr.ui.e.chrome.cc.LayerTreeQuadStackView();this.dragBar_=document.createElement('tr-ui-b-drag-handle');this.analysisEl_=document.createElement('tr-ui-e-chrome-cc-layer-view-analysis');this.analysisEl_.addEventListener('requestSelectionChange',this.onRequestSelectionChangeFromAnalysisEl_.bind(this));this.dragBar_.target=this.analysisEl_;Polymer.dom(this).appendChild(this.layerTreeQuadStackView_);Polymer.dom(this).appendChild(this.dragBar_);Polymer.dom(this).appendChild(this.analysisEl_);this.layerTreeQuadStackView_.addEventListener('selection-change',function(){this.layerTreeQuadStackViewSelectionChanged_();}.bind(this));this.layerTreeQuadStackViewSelectionChanged_();},get layerTreeImpl(){return this.layerTreeQuadStackView_.layerTreeImpl;},set layerTreeImpl(newValue){return this.layerTreeQuadStackView_.layerTreeImpl=newValue;},set isRenderPassQuads(newValue){return this.layerTreeQuadStackView_.isRenderPassQuads=newValue;},get selection(){return this.layerTreeQuadStackView_.selection;},set selection(newValue){this.layerTreeQuadStackView_.selection=newValue;},regenerateContent(){this.layerTreeQuadStackView_.regenerateContent();},layerTreeQuadStackViewSelectionChanged_(){const selection=this.layerTreeQuadStackView_.selection;if(selection){this.dragBar_.style.display='';this.analysisEl_.style.display='';Polymer.dom(this.analysisEl_).textContent='';const layer=selection.layer;if(layer&&layer.args&&layer.args.pictures){Polymer.dom(this.analysisEl_).appendChild(this.createPictureBtn_(layer.args.pictures));}
7688const analysis=selection.createAnalysis();Polymer.dom(this.analysisEl_).appendChild(analysis);}else{this.dragBar_.style.display='none';this.analysisEl_.style.display='none';const analysis=Polymer.dom(this.analysisEl_).firstChild;if(analysis){Polymer.dom(this.analysisEl_).removeChild(analysis);}
7689this.layerTreeQuadStackView_.style.height=window.getComputedStyle(this).height;}
7690tr.b.dispatchSimpleEvent(this,'selection-change');},createPictureBtn_(pictures){if(!(pictures instanceof Array)){pictures=[pictures];}
7691const link=document.createElement('tr-ui-a-analysis-link');link.selection=function(){const layeredPicture=new tr.e.cc.LayeredPicture(pictures);const snapshot=new tr.e.cc.PictureSnapshot(layeredPicture);snapshot.picture=layeredPicture;const selection=new tr.model.EventSet();selection.push(snapshot);return selection;};Polymer.dom(link).textContent='View in Picture Debugger';return link;},onRequestSelectionChangeFromAnalysisEl_(e){if(!(e.selection instanceof tr.ui.e.chrome.cc.Selection)){return;}
7692e.stopPropagation();this.selection=e.selection;},get extraHighlightsByLayerId(){return this.layerTreeQuadStackView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerTreeQuadStackView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};return{LayerView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const LayerTreeHostImplSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-host-impl-snapshot-view',tr.ui.analysis.ObjectSnapshotView);LayerTreeHostImplSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-lthi-s-view');this.selection_=undefined;this.layerPicker_=new tr.ui.e.chrome.cc.LayerPicker();this.layerPicker_.addEventListener('selection-change',this.onLayerPickerSelectionChanged_.bind(this));this.layerView_=new tr.ui.e.chrome.cc.LayerView();this.layerView_.addEventListener('selection-change',this.onLayerViewSelectionChanged_.bind(this));this.dragHandle_=document.createElement('tr-ui-b-drag-handle');this.dragHandle_.horizontal=false;this.dragHandle_.target=this.layerView_;Polymer.dom(this).appendChild(this.layerPicker_);Polymer.dom(this).appendChild(this.dragHandle_);Polymer.dom(this).appendChild(this.layerView_);this.onLayerViewSelectionChanged_();this.onLayerPickerSelectionChanged_();},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(objectSnapshot){this.objectSnapshot_=objectSnapshot;const lthi=this.objectSnapshot;let layerTreeImpl;if(lthi){layerTreeImpl=lthi.getTree(this.layerPicker_.whichTree);}
7693this.layerPicker_.lthiSnapshot=lthi;this.layerView_.layerTreeImpl=layerTreeImpl;this.layerView_.regenerateContent();if(!this.selection_)return;this.selection=this.selection_.findEquivalent(lthi);},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.layerPicker_.selection=selection;this.layerView_.selection=selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerPickerSelectionChanged_(){this.selection_=this.layerPicker_.selection;this.layerView_.selection=this.selection;this.layerView_.layerTreeImpl=this.layerPicker_.layerTreeImpl;this.layerView_.isRenderPassQuads=this.layerPicker_.isRenderPassQuads;this.layerView_.regenerateContent();tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerViewSelectionChanged_(){this.selection_=this.layerView_.selection;this.layerPicker_.selection=this.selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},get extraHighlightsByLayerId(){return this.layerView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};tr.ui.analysis.ObjectSnapshotView.register(LayerTreeHostImplSnapshotView,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=40;const AXIS_PADDING_LEFT=60;const AXIS_PADDING_RIGHT=35;const AXIS_PADDING_TOP=25;const AXIS_PADDING_BOTTOM=45;const AXIS_LABEL_PADDING=5;const AXIS_TICK_SIZE=10;const LABEL_PADDING=5;const LABEL_INTERLEAVE_OFFSET=15;const BAR_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartSummaryView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-summary-view');PictureOpsChartSummaryView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureDataProcessed_=false;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.opsTimingData_=[];this.chartWidth_=0;this.chartHeight_=0;this.requiresRedraw_=true;this.currentBarMouseOverTarget_=null;this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));},get requiresRedraw(){return this.requiresRedraw_;},set requiresRedraw(requiresRedraw){this.requiresRedraw_=requiresRedraw;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureDataProcessed_=false;if(Polymer.dom(this).classList.contains('hidden'))return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},hide(){Polymer.dom(this).classList.add('hidden');},show(){Polymer.dom(this).classList.remove('hidden');if(this.pictureDataProcessed_)return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=null;const x=e.offsetX;const y=e.offsetY;const chartLeft=CHART_PADDING_LEFT;const chartRight=this.chartWidth_-CHART_PADDING_RIGHT;const chartTop=AXIS_PADDING_TOP;const chartBottom=this.chartHeight_-AXIS_PADDING_BOTTOM;const chartInnerWidth=chartRight-chartLeft;if(x>chartLeft&&x<chartRight&&y>chartTop&&y<chartBottom){this.currentBarMouseOverTarget_=Math.floor((x-chartLeft)/chartInnerWidth*this.opsTimingData_.length);this.currentBarMouseOverTarget_=tr.b.math.clamp(this.currentBarMouseOverTarget_,0,this.opsTimingData_.length-1);}
7694if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget)return;this.drawChartContents_();},updateChartContents(){if(this.requiresRedraw){this.updateChartDimensions_();}
7695this.drawChartContents_();},updateChartDimensions_(){this.chartWidth_=this.offsetWidth;this.chartHeight_=this.offsetHeight;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);},processPictureData_(){this.resetOpsTimingData_();this.pictureDataProcessed_=true;if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);if(ops[0].cmd_time===undefined)return;this.collapseOpsToTimingBuckets_(ops);},drawChartContents_(){this.clearChartContents_();if(this.opsTimingData_.length===0){this.showNoTimingDataMessage_();return;}
7696this.drawChartAxes_();this.drawBars_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===null)return;this.drawTooltip_();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();},drawTooltip_(){const tooltipData=this.opsTimingData_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const tooltipWidth=110;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT-
7697CHART_PADDING_LEFT;const barWidth=chartInnerWidth/this.opsTimingData_.length;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.textBaseline='top';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText('Total: '+tooltipTime+'ms',left+8,top+22);},drawBars_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-CHART_PADDING_LEFT-CHART_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const barWidth=Math.floor(width/len);let opData;let opTiming;let opHeight;let opLabel;let barLeft;for(let b=0;b<len;b++){opData=this.opsTimingData_[b];opTiming=opData.cmd_time/max;opHeight=Math.round(Math.max(1,opTiming*height));opLabel=opData.cmd_string;barLeft=CHART_PADDING_LEFT+b*barWidth;this.chartCtx_.fillStyle=this.getOpColor_(opLabel);this.chartCtx_.fillRect(barLeft+BAR_PADDING,AXIS_PADDING_TOP+
7698height-opHeight,barWidth-2*BAR_PADDING,opHeight);}},getOpColor_(opName){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;return'hsl('+hue+', 30%, 50%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},drawChartAxes_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const totalBarWidth=this.chartWidth_-CHART_PADDING_LEFT-
7699CHART_PADDING_RIGHT;const barWidth=Math.floor(totalBarWidth/len);const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.moveTo(0,0);this.chartCtx_.lineTo(0,height);this.chartCtx_.lineTo(width,height);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);}
7700this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.save();this.chartCtx_.translate(CHART_PADDING_LEFT+Math.round(barWidth*0.5),AXIS_PADDING_TOP+height+LABEL_PADDING);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='top';let labelTickLeft;let labelTickBottom;for(let l=0;l<len;l++){labelTickLeft=Math.round(l*barWidth);labelTickBottom=l%2*LABEL_INTERLEAVE_OFFSET;this.chartCtx_.save();this.chartCtx_.moveTo(labelTickLeft,-LABEL_PADDING);this.chartCtx_.lineTo(labelTickLeft,labelTickBottom);this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.fillText(this.opsTimingData_[l].cmd_string,labelTickLeft,labelTickBottom);}
7701this.chartCtx_.restore();this.chartCtx_.restore();},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);},collapseOpsToTimingBuckets_(ops){const opsTimingDataIndexHash_={};const timingData=this.opsTimingData_;let op;let opIndex;for(let i=0;i<ops.length;i++){op=ops[i];if(op.cmd_time===undefined)continue;opIndex=opsTimingDataIndexHash_[op.cmd_string]||null;if(opIndex===null){timingData.push({cmd_time:0,cmd_string:op.cmd_string});opIndex=timingData.length-1;opsTimingDataIndexHash_[op.cmd_string]=opIndex;}
7702timingData[opIndex].cmd_time+=op.cmd_time;}
7703timingData.sort(this.sortTimingBucketsByOpTimeDescending_);this.collapseTimingBucketsToOther_(4);},collapseTimingBucketsToOther_(count){const timingData=this.opsTimingData_;const otherSource=timingData.splice(count,timingData.length-count);let otherDestination=null;if(!otherSource.length)return;timingData.push({cmd_time:0,cmd_string:'Other'});otherDestination=timingData[timingData.length-1];for(let i=0;i<otherSource.length;i++){otherDestination.cmd_time+=otherSource[i].cmd_time;}},sortTimingBucketsByOpTimeDescending_(a,b){return b.cmd_time-a.cmd_time;},resetOpsTimingData_(){this.opsTimingData_.length=0;}};return{PictureOpsChartSummaryView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const BAR_PADDING=1;const BAR_WIDTH=5;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=30;const CHART_PADDING_BOTTOM=35;const CHART_PADDING_TOP=20;const AXIS_PADDING_LEFT=55;const AXIS_PADDING_RIGHT=30;const AXIS_PADDING_BOTTOM=35;const AXIS_PADDING_TOP=20;const AXIS_TICK_SIZE=5;const AXIS_LABEL_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-view');PictureOpsChartView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureOps_=undefined;this.opCosts_=undefined;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.selectedOpIndex_=undefined;this.chartWidth_=0;this.chartHeight_=0;this.dimensionsHaveChanged_=true;this.currentBarMouseOverTarget_=undefined;this.ninetyFifthPercentileCost_=0;this.totalOpCost_=0;this.chart_.addEventListener('click',this.onClick_.bind(this));this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));this.usePercentileScale_=false;this.usePercentileScaleCheckbox_=tr.ui.b.createCheckBox(this,'usePercentileScale','PictureOpsChartView.usePercentileScale',false,'Limit to 95%-ile');Polymer.dom(this.usePercentileScaleCheckbox_).classList.add('use-percentile-scale');Polymer.dom(this).appendChild(this.usePercentileScaleCheckbox_);},get dimensionsHaveChanged(){return this.dimensionsHaveChanged_;},set dimensionsHaveChanged(dimensionsHaveChanged){this.dimensionsHaveChanged_=dimensionsHaveChanged;},get usePercentileScale(){return this.usePercentileScale_;},set usePercentileScale(usePercentileScale){this.usePercentileScale_=usePercentileScale;this.drawChartContents_();},get numOps(){return this.opCosts_.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(selectedOpIndex){if(selectedOpIndex<0)throw new Error('Invalid index');if(selectedOpIndex>=this.numOps)throw new Error('Invalid index');this.selectedOpIndex_=selectedOpIndex;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureOps_=picture.tagOpsWithTimings(picture.getOps());this.currentBarMouseOverTarget_=undefined;this.processPictureData_();this.dimensionsHaveChanged=true;},processPictureData_(){if(this.pictureOps_===undefined)return;let totalOpCost=0;this.opCosts_=this.pictureOps_.map(function(op){totalOpCost+=op.cmd_time;return op.cmd_time;});this.opCosts_.sort();const ninetyFifthPercentileCostIndex=Math.floor(this.opCosts_.length*0.95);this.ninetyFifthPercentileCost_=this.opCosts_[ninetyFifthPercentileCostIndex];this.maxCost_=this.opCosts_[this.opCosts_.length-1];this.totalOpCost_=totalOpCost;},extractBarIndex_(e){let index=undefined;if(this.pictureOps_===undefined||this.pictureOps_.length===0){return index;}
7704const x=e.offsetX;const y=e.offsetY;const totalBarWidth=(BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length;const chartLeft=CHART_PADDING_LEFT;const chartTop=0;const chartBottom=this.chartHeight_-CHART_PADDING_BOTTOM;const chartRight=chartLeft+totalBarWidth;if(x<chartLeft||x>chartRight||y<chartTop||y>chartBottom){return index;}
7705index=Math.floor((x-chartLeft)/totalBarWidth*this.pictureOps_.length);index=tr.b.math.clamp(index,0,this.pictureOps_.length-1);return index;},onClick_(e){const barClicked=this.extractBarIndex_(e);if(barClicked===undefined)return;if(barClicked===this.selectedOpIndex){this.selectedOpIndex=undefined;}else{this.selectedOpIndex=barClicked;}
7706e.preventDefault();tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=this.extractBarIndex_(e);if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget){return;}
7707this.drawChartContents_();},scrollSelectedItemIntoViewIfNecessary(){if(this.selectedOpIndex===undefined){return;}
7708const width=this.offsetWidth;const left=this.scrollLeft;const right=left+width;const targetLeft=CHART_PADDING_LEFT+
7709(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;if(targetLeft>left&&targetLeft<right){return;}
7710this.scrollLeft=(targetLeft-width*0.5);},updateChartContents(){if(this.dimensionsHaveChanged){this.updateChartDimensions_();}
7711this.drawChartContents_();},updateChartDimensions_(){if(!this.pictureOps_)return;let width=CHART_PADDING_LEFT+CHART_PADDING_RIGHT+
7712((BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length);if(width<this.offsetWidth){width=this.offsetWidth;}
7713this.chartWidth_=width;this.chartHeight_=this.getBoundingClientRect().height;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);this.dimensionsHaveChanged=false;},drawChartContents_(){this.clearChartContents_();if(this.pictureOps_===undefined||this.pictureOps_.length===0||this.pictureOps_[0].cmd_time===undefined){this.showNoTimingDataMessage_();return;}
7714this.drawSelection_();this.drawBars_();this.drawChartAxes_();this.drawLinesAtTickMarks_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===undefined){return;}
7715this.drawTooltip_();},drawSelection_(){if(this.selectedOpIndex===undefined){return;}
7716const width=(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;this.chartCtx_.fillStyle='rgb(223, 235, 230)';this.chartCtx_.fillRect(CHART_PADDING_LEFT,CHART_PADDING_TOP,width,this.chartHeight_-CHART_PADDING_TOP-CHART_PADDING_BOTTOM);},drawChartAxes_(){const min=this.opCosts_[0];const max=this.opCosts_[this.opCosts_.length-1];const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.beginPath();this.chartCtx_.moveTo(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.lineTo(AXIS_PADDING_LEFT,this.chartHeight_-
7717AXIS_PADDING_BOTTOM);this.chartCtx_.lineTo(this.chartWidth_-AXIS_PADDING_RIGHT,this.chartHeight_-AXIS_PADDING_BOTTOM);this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';this.chartCtx_.beginPath();for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);}
7718this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.restore();},drawLinesAtTickMarks_(){const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT+0.5,AXIS_PADDING_TOP+0.5);this.chartCtx_.beginPath();this.chartCtx_.strokeStyle='rgba(0,0,0,0.05)';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(width,tickYPosition);this.chartCtx_.stroke();}
7719this.chartCtx_.restore();this.chartCtx_.closePath();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.beginPath();this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();this.chartCtx_.closePath();},drawTooltip_(){const tooltipData=this.pictureOps_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const toolTipTimePercentage=((tooltipData.cmd_time/this.totalOpCost_)*100).toFixed(2);const tooltipWidth=120;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT-
7720CHART_PADDING_LEFT;const barWidth=BAR_WIDTH+BAR_PADDING;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textAlign='left';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText(tooltipTime+'ms ('+
7721toolTipTimePercentage+'%)',left+8,top+22);},drawBars_(){let op;let opColor=0;let opHeight=0;const opWidth=BAR_WIDTH+BAR_PADDING;let opHover=false;const bottom=this.chartHeight_-CHART_PADDING_BOTTOM;const maxHeight=this.chartHeight_-CHART_PADDING_BOTTOM-
7722CHART_PADDING_TOP;let maxValue;if(this.usePercentileScale){maxValue=this.ninetyFifthPercentileCost_;}else{maxValue=this.maxCost_;}
7723for(let b=0;b<this.pictureOps_.length;b++){op=this.pictureOps_[b];opHeight=Math.round((op.cmd_time/maxValue)*maxHeight);opHeight=Math.max(opHeight,1);opHover=(b===this.currentBarMouseOverTarget_);opColor=this.getOpColor_(op.cmd_string,opHover);if(b===this.selectedOpIndex){this.chartCtx_.fillStyle='#FFFF00';}else{this.chartCtx_.fillStyle=opColor;}
7724this.chartCtx_.fillRect(CHART_PADDING_LEFT+b*opWidth,bottom-opHeight,BAR_WIDTH,opHeight);}},getOpColor_(opName,hover){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;const saturation=30;const lightness=hover?'75%':'50%';return'hsl('+hue+', '+saturation+'%, '+lightness+'%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);}};return{PictureOpsChartView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const PictureDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-picture-debugger');PictureDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-picture-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.showOverdraw_=false;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.filename_=Polymer.dom(this).querySelector('.filename');this.drawOpsChartSummaryView_=new tr.ui.e.chrome.cc.PictureOpsChartSummaryView();this.drawOpsChartView_=new tr.ui.e.chrome.cc.PictureOpsChartView();this.drawOpsChartView_.addEventListener('selection-changed',this.onChartBarClicked_.bind(this));this.exportButton_=Polymer.dom(this).querySelector('.export');this.exportButton_.addEventListener('click',this.onSaveAsSkPictureClicked_.bind(this));this.trackMouse_();const overdrawCheckbox=tr.ui.b.createCheckBox(this,'showOverdraw','pictureView.showOverdraw',false,'Show overdraw');const chartCheckbox=tr.ui.b.createCheckBox(this,'showSummaryChart','pictureView.showSummaryChart',false,'Show timing summary');const pictureInfo=Polymer.dom(this).querySelector('picture-info');Polymer.dom(pictureInfo).appendChild(overdrawCheckbox);Polymer.dom(pictureInfo).appendChild(chartCheckbox);this.drawOpsView_=new tr.ui.e.chrome.cc.PictureOpsListView();this.drawOpsView_.addEventListener('selection-changed',this.onChangeDrawOps_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');Polymer.dom(leftPanel).appendChild(this.drawOpsChartSummaryView_);Polymer.dom(leftPanel).appendChild(this.drawOpsView_);const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');rightPanel.replaceChild(this.drawOpsChartView_,Polymer.dom(rightPanel).querySelector('tr-ui-e-chrome-cc-picture-ops-chart-view'));this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).appendChild(this.infoBar_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;const hkc=document.createElement('tv-ui-b-hotkey-controller');hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'h'.charCodeAt(0),callback(e){this.moveSelectedOpBy(-1);e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'l'.charCodeAt(0),callback(e){this.moveSelectedOpBy(1);e.stopPropagation();}}));Polymer.dom(this).appendChild(hkc);this.mutationObserver_=new MutationObserver(this.onMutation_.bind(this));this.mutationObserver_.observe(leftPanel,{attributes:true});},onMutation_(mutations){for(let m=0;m<mutations.length;m++){if(mutations[m].attributeName==='style'){this.drawOpsChartSummaryView_.requiresRedraw=true;this.drawOpsChartSummaryView_.updateChartContents();this.drawOpsChartView_.dimensionsHaveChanged=true;this.drawOpsChartView_.updateChartContents();break;}}},onSaveAsSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);}
7725const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.webkitURL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=this.filename_.value;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},get picture(){return this.picture_;},set picture(picture){this.drawOpsView_.picture=picture;this.drawOpsChartView_.picture=picture;this.drawOpsChartSummaryView_.picture=picture;this.picture_=picture;this.exportButton_.disabled=!this.picture_.canSave;if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;}
7726const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);const width=Math.max(parseInt(style.width),this.picture_.layerRect.width);const height=Math.max(parseInt(style.height),this.picture_.layerRect.height);return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+
7727this.picture_.layerRect.width+' x '+
7728this.picture_.layerRect.height+')';}
7729this.drawOpsChartView_.updateChartContents();this.drawOpsChartView_.scrollSelectedItemIntoViewIfNecessary();if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;}
7730this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;}
7731if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;}
7732this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({stopIndex:this.drawOpsView_.selectedOpIndex,showOverdraw:this.showOverdraw_},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},moveSelectedOpBy(increment){if(this.selectedOpIndex===undefined){this.selectedOpIndex=0;return;}
7733this.selectedOpIndex=tr.b.math.clamp(this.selectedOpIndex+increment,0,this.numOps);},get numOps(){return this.drawOpsView_.numOps;},get selectedOpIndex(){return this.drawOpsView_.selectedOpIndex;},set selectedOpIndex(index){this.drawOpsView_.selectedOpIndex=index;this.drawOpsChartView_.selectedOpIndex=index;},onChartBarClicked_(e){this.drawOpsView_.selectedOpIndex=this.drawOpsChartView_.selectedOpIndex;},onChangeDrawOps_(e){this.rasterize_();this.scheduleUpdateContents_();this.drawOpsChartView_.selectedOpIndex=this.drawOpsView_.selectedOpIndex;},set showOverdraw(v){this.showOverdraw_=v;this.rasterize_();},set showSummaryChart(chartShouldBeVisible){if(chartShouldBeVisible){this.drawOpsChartSummaryView_.show();}else{this.drawOpsChartSummaryView_.hide();}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};}};return{PictureDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const PictureSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-snapshot-view',tr.ui.analysis.ObjectSnapshotView);PictureSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-picture-snapshot-view');this.pictureDebugger_=new tr.ui.e.chrome.cc.PictureDebugger();Polymer.dom(this).appendChild(this.pictureDebugger_);},updateContents(){if(this.objectSnapshot_&&this.pictureDebugger_){this.pictureDebugger_.picture=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(PictureSnapshotView,{typeNames:['cc::Picture','cc::LayeredPicture'],showInstances:false});return{PictureSnapshotView,};});'use strict';tr.exportTo('tr.e.cc',function(){const knownRasterTaskNames=['TileManager::RunRasterTask','RasterWorkerPoolTaskImpl::RunRasterOnThread','RasterWorkerPoolTaskImpl::Raster','RasterTaskImpl::Raster','cc::RasterTask','RasterTask'];const knownAnalysisTaskNames=['TileManager::RunAnalyzeTask','RasterWorkerPoolTaskImpl::RunAnalysisOnThread','RasterWorkerPoolTaskImpl::Analyze','RasterTaskImpl::Analyze','cc::AnalyzeTask','AnalyzeTask'];function getTileFromRasterTaskSlice(slice){if(!(isSliceDoingRasterization(slice)||isSliceDoingAnalysis(slice))){return undefined;}
7734let tileData;if(slice.args.data){tileData=slice.args.data;}else{tileData=slice.args.tileData;}
7735if(tileData===undefined)return undefined;if(tileData.tile_id)return tileData.tile_id;const tile=tileData.tileId;if(!(tile instanceof tr.e.cc.TileSnapshot)){return undefined;}
7736return tileData.tileId;}
7737function isSliceDoingRasterization(slice){return knownRasterTaskNames.includes(slice.title);}
7738function isSliceDoingAnalysis(slice){return knownAnalysisTaskNames.includes(slice.title);}
7739return{getTileFromRasterTaskSlice,isSliceDoingRasterization,isSliceDoingAnalysis};});'use strict';tr.exportTo('tr.ui.analysis',function(){const AnalysisSubView={set tabLabel(label){Polymer.dom(this).setAttribute('tab-label',label);},get tabLabel(){return this.getAttribute('tab-label');},get requiresTallView(){return false;},get relatedEventsToHighlight(){return undefined;},set selection(selection){throw new Error('Not implemented!');},get selection(){throw new Error('Not implemented!');}};const allTypeInfosByEventProto=new Map();let onlyRootTypeInfosByEventProto=undefined;let eventProtoToRootTypeInfoMap=undefined;function AnalysisSubViewTypeInfo(eventConstructor,options){if(options.multi===undefined){throw new Error('missing field: multi');}
7740if(options.title===undefined){throw new Error('missing field: title');}
7741this.eventConstructor=eventConstructor;this.singleTagName=undefined;this.singleTitle=undefined;this.multiTagName=undefined;this.multiTitle=undefined;this.childrenTypeInfos_=undefined;}
7742AnalysisSubViewTypeInfo.prototype={get childrenTypeInfos(){return this.childrenTypeInfos_;},resetchildrenTypeInfos(){this.childrenTypeInfos_=[];}};AnalysisSubView.register=function(tagName,eventConstructor,options){let typeInfo=allTypeInfosByEventProto.get(eventConstructor.prototype);if(typeInfo===undefined){typeInfo=new AnalysisSubViewTypeInfo(eventConstructor,options);allTypeInfosByEventProto.set(typeInfo.eventConstructor.prototype,typeInfo);onlyRootTypeInfosByEventProto=undefined;}
7743if(!options.multi){if(typeInfo.singleTagName!==undefined){throw new Error('SingleTagName already set');}
7744typeInfo.singleTagName=tagName;typeInfo.singleTitle=options.title;}else{if(typeInfo.multiTagName!==undefined){throw new Error('MultiTagName already set');}
7745typeInfo.multiTagName=tagName;typeInfo.multiTitle=options.title;}
7746return typeInfo;};function rebuildRootSubViewTypeInfos(){onlyRootTypeInfosByEventProto=new Map();allTypeInfosByEventProto.forEach(function(typeInfo){typeInfo.resetchildrenTypeInfos();});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let lastEventProto=eventPrototype;let curEventProto=eventPrototype.__proto__;while(true){if(!allTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=allTypeInfosByEventProto.get(lastEventProto);const rootEventProto=lastEventProto;const isNew=onlyRootTypeInfosByEventProto.has(rootEventProto);onlyRootTypeInfosByEventProto.set(rootEventProto,rootTypeInfo);break;}
7747lastEventProto=curEventProto;curEventProto=curEventProto.__proto__;}});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;const parentEventProto=eventPrototype.__proto__;const parentTypeInfo=allTypeInfosByEventProto.get(parentEventProto);if(!parentTypeInfo)return;parentTypeInfo.childrenTypeInfos.push(typeInfo);});eventProtoToRootTypeInfoMap=new Map();allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let curEventProto=eventPrototype;while(true){if(onlyRootTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=onlyRootTypeInfosByEventProto.get(curEventProto);eventProtoToRootTypeInfoMap.set(eventPrototype,rootTypeInfo);break;}
7748curEventProto=curEventProto.__proto__;}});}
7749function findLowestTypeInfoForEvents(thisTypeInfo,events){if(events.length===0)return thisTypeInfo;const event0=tr.b.getFirstElement(events);let candidateSubTypeInfo;for(let i=0;i<thisTypeInfo.childrenTypeInfos.length;i++){const childTypeInfo=thisTypeInfo.childrenTypeInfos[i];if(event0 instanceof childTypeInfo.eventConstructor){candidateSubTypeInfo=childTypeInfo;break;}}
7750if(!candidateSubTypeInfo)return thisTypeInfo;let allMatch=true;for(const event of events){if(event instanceof candidateSubTypeInfo.eventConstructor)continue;allMatch=false;break;}
7751if(!allMatch){return thisTypeInfo;}
7752return findLowestTypeInfoForEvents(candidateSubTypeInfo,events);}
7753const primaryEventProtoToTypeInfoMap=new Map();function getRootTypeInfoForEvent(event){const curProto=event.__proto__;const typeInfo=primaryEventProtoToTypeInfoMap.get(curProto);if(typeInfo)return typeInfo;return getRootTypeInfoForEventSlow(event);}
7754function getRootTypeInfoForEventSlow(event){let typeInfo;let curProto=event.__proto__;while(true){if(curProto===Object.prototype){throw new Error('No view registered for '+event.toString());}
7755typeInfo=onlyRootTypeInfosByEventProto.get(curProto);if(typeInfo){primaryEventProtoToTypeInfoMap.set(event.__proto__,typeInfo);return typeInfo;}
7756curProto=curProto.__proto__;}}
7757AnalysisSubView.getEventsOrganizedByTypeInfo=function(selection){if(onlyRootTypeInfosByEventProto===undefined){rebuildRootSubViewTypeInfos();}
7758const eventsByRootTypeInfo=tr.b.groupIntoMap(selection,function(event){return getRootTypeInfoForEvent(event);},this,tr.model.EventSet);const eventsByLowestTypeInfo=new Map();eventsByRootTypeInfo.forEach(function(events,typeInfo){const lowestTypeInfo=findLowestTypeInfoForEvents(typeInfo,events);eventsByLowestTypeInfo.set(lowestTypeInfo,events);});return eventsByLowestTypeInfo;};return{AnalysisSubView,AnalysisSubViewTypeInfo,};});Polymer({is:'tr-ui-a-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView]});'use strict';Polymer({is:'tr-ui-a-stack-frame',ready(){this.stackFrame_=undefined;this.$.table.tableColumns=[];this.$.table.showHeader=true;},get stackFrame(){return this.stackFrame_;},set stackFrame(stackFrame){const table=this.$.table;this.stackFrame_=stackFrame;if(stackFrame===undefined){table.tableColumns=[];table.tableRows=[];table.rebuild();return;}
7759let hasName=false;let hasTitle=false;table.tableRows=stackFrame.stackTrace;table.tableRows.forEach(function(row){hasName|=row.name!==undefined;hasTitle|=row.title!==undefined;});const cols=[];if(hasName){cols.push({title:'Name',value(row){return row.name;}});}
7760if(hasTitle){cols.push({title:'Title',value(row){return row.title;}});}
7761table.tableColumns=cols;table.rebuild();},tableForTesting(){return this.$.table;}});'use strict';Polymer({is:'tr-ui-a-single-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],properties:{isFlow:{type:Boolean,value:false}},ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');}
7762this.setSelectionWithoutErrorChecks(selection);},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;this.updateContents_();},getFlowEventRows_(event){const rows=this.getEventRowsHelper_(event);rows.splice(0,0,{name:'ID',value:event.id});function createLinkTo(slice){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(slice);});Polymer.dom(linkEl).textContent=slice.userFriendlyName;return linkEl;}
7763rows.push({name:'From',value:createLinkTo(event.startSlice)});rows.push({name:'To',value:createLinkTo(event.endSlice)});return rows;},getEventRowsHelper_(event){const rows=[];if(event.error){rows.push({name:'Error',value:event.error});}
7764if(event.title){rows.push({name:'Title',value:event.title});}
7765if(event.category){rows.push({name:'Category',value:event.category});}
7766if(event.model!==undefined){const ufc=event.model.getUserFriendlyCategoryFromEvent(event);if(ufc!==undefined){rows.push({name:'User Friendly Category',value:ufc});}}
7767if(event.name){rows.push({name:'Name',value:event.name});}
7768rows.push({name:'Start',value:tr.v.ui.createScalarSpan(event.start,{unit:tr.b.Unit.byName.timeStampInMs})});if(event.duration){rows.push({name:'Wall Duration',value:tr.v.ui.createScalarSpan(event.duration,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7769if(event.cpuDuration){rows.push({name:'CPU Duration',value:tr.v.ui.createScalarSpan(event.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7770if(event.subSlices!==undefined&&event.subSlices.length!==0){if(event.selfTime){rows.push({name:'Self Time',value:tr.v.ui.createScalarSpan(event.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7771if(event.cpuSelfTime){const cpuSelfTimeEl=tr.v.ui.createScalarSpan(event.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs});if(event.cpuSelfTime>event.selfTime){cpuSelfTimeEl.warning=' Note that CPU Self Time is larger than Self Time. '+'This is a known limitation of this system, which occurs '+'due to several subslices, rounding issues, and imprecise '+'time at which we get cpu- and real-time.';}
7772rows.push({name:'CPU Self Time',value:cpuSelfTimeEl});}}
7773if(event.durationInUserTime){rows.push({name:'Duration (U)',value:tr.v.ui.createScalarSpan(event.durationInUserTime,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7774function createStackFrameEl(sf){const sfEl=document.createElement('tr-ui-a-stack-frame');sfEl.stackFrame=sf;return sfEl;}
7775if(event.startStackFrame&&event.endStackFrame){if(event.startStackFrame===event.endStackFrame){rows.push({name:'Start+End Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else{rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}}else if(event.startStackFrame){rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else if(event.endStackFrame){rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}
7776if(event.info){const descriptionEl=tr.ui.b.createDiv({textContent:event.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(event.info.docLinks){event.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}}
7777if(event.associatedAlerts.length){const alertSubRows=[];event.associatedAlerts.forEach(function(alert){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(alert);},alert.info.description);alertSubRows.push({name:alert.title,value:linkEl});});rows.push({name:'Alerts',value:'',isExpanded:true,subRows:alertSubRows});}
7778return rows;},getEventRows_(event){if(this.isFlow){return this.getFlowEventRows_(event);}
7779return this.getEventRowsHelper_(event);},addArgsToRows_(rows,args){let n=0;for(const argName in args){n+=1;}
7780if(n>0){const subRows=[];for(const argName in args){n+=1;}
7781if(n>0){const subRows=[];for(const argName in args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=args[argName];subRows.push({name:argName,value:argView});}
7782rows.push({name:'Args',value:'',isExpanded:true,subRows});}}},addContextsToRows_(rows,contexts){if(contexts.length){const subRows=contexts.map(function(context){const contextView=document.createElement('tr-ui-a-generic-object-view');contextView.object=context;return{name:'Context',value:contextView};});rows.push({name:'Contexts',value:'',isExpanded:true,subRows});}},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;}
7783const event=tr.b.getOnlyElement(this.currentSelection_);const rows=this.getEventRows_(event);if(event.argsStripped){rows.push({name:'Args',value:'Stripped'});}else{this.addArgsToRows_(rows,event.args);}
7784this.addContextsToRows_(rows,event.contexts);const customizeRowsEvent=new tr.b.Event('customize-rows');customizeRowsEvent.rows=rows;this.dispatchEvent(customizeRowsEvent);this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-e-chrome-cc-raster-task-view',created(){this.selection_=undefined;},set selection(selection){this.selection_=selection;this.updateContents_();},updateColumns_(hadCpuDurations){const timeSpanConfig={unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument};const columns=[{title:'Layer',value(row){if(row.isTotals)return'Totals';if(row.layer){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.ui.e.chrome.cc.LayerSelection(costs.layer);},'Layer '+row.layerId);return linkEl;}
7785return'Layer '+row.layerId;},width:'250px'},{title:'Num Tiles',value(row){return row.numTiles;},cmp(a,b){return a.numTiles-b.numTiles;}},{title:'Num Analysis Tasks',value(row){return row.numAnalysisTasks;},cmp(a,b){return a.numAnalysisTasks-b.numAnalysisTasks;}},{title:'Num Raster Tasks',value(row){return row.numRasterTasks;},cmp(a,b){return a.numRasterTasks-b.numRasterTasks;}},{title:'Wall Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.duration,timeSpanConfig);},cmp(a,b){return a.duration-b.duration;}}];if(hadCpuDurations){columns.push({title:'CPU Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,timeSpanConfig);},cmp(a,b){return a.cpuDuration-b.cpuDuration;}});}
7786let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';}
7787for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;}
7788this.$.content.tableColumns=columns;this.$.content.sortColumnIndex=columns.length-1;},updateContents_(){const table=this.$.content;if(this.selection_.length===0){this.$.link.setSelectionAndContent(undefined,'');table.tableRows=[];table.footerRows=[];table.rebuild();return;}
7789const lthi=tr.e.cc.getTileFromRasterTaskSlice(tr.b.getFirstElement(this.selection_)).containingSnapshot;this.$.link.setSelectionAndContent(function(){return new tr.model.EventSet(lthi);},lthi.userFriendlyName);const costsByLayerId={};function getCurrentCostsForLayerId(tile){const layerId=tile.layerId;const lthi=tile.containingSnapshot;let layer;if(lthi.activeTree){layer=lthi.activeTree.findLayerWithId(layerId);}
7790if(layer===undefined&&lthi.pendingTree){layer=lthi.pendingTree.findLayerWithId(layerId);}
7791if(costsByLayerId[layerId]===undefined){costsByLayerId[layerId]={layerId,layer,numTiles:0,numAnalysisTasks:0,numRasterTasks:0,duration:0,cpuDuration:0};}
7792return costsByLayerId[layerId];}
7793let totalDuration=0;let totalCpuDuration=0;let totalNumAnalyzeTasks=0;let totalNumRasterizeTasks=0;let hadCpuDurations=false;const tilesThatWeHaveSeen={};this.selection_.forEach(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);const curCosts=getCurrentCostsForLayerId(tile);if(!tilesThatWeHaveSeen[tile.objectInstance.id]){tilesThatWeHaveSeen[tile.objectInstance.id]=true;curCosts.numTiles+=1;}
7794if(tr.e.cc.isSliceDoingAnalysis(slice)){curCosts.numAnalysisTasks+=1;totalNumAnalyzeTasks+=1;}else{curCosts.numRasterTasks+=1;totalNumRasterizeTasks+=1;}
7795curCosts.duration+=slice.duration;totalDuration+=slice.duration;if(slice.cpuDuration!==undefined){curCosts.cpuDuration+=slice.cpuDuration;totalCpuDuration+=slice.cpuDuration;hadCpuDurations=true;}});this.updateColumns_(hadCpuDurations);table.tableRows=Object.values(costsByLayerId);table.rebuild();table.footerRows=[{isTotals:true,numTiles:Object.keys(tilesThatWeHaveSeen).length,numAnalysisTasks:totalNumAnalyzeTasks,numRasterTasks:totalNumRasterizeTasks,duration:totalDuration,cpuDuration:totalCpuDuration}];}});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function RasterTaskSelection(selection){tr.ui.e.chrome.cc.Selection.call(this);const whySupported=RasterTaskSelection.whySuported(selection);if(!whySupported.ok){throw new Error('Fail: '+whySupported.why);}
7796this.slices_=tr.b.asArray(selection);this.tiles_=this.slices_.map(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);if(tile===undefined){throw new Error('This should never happen due to .supports check.');}
7797return tile;});}
7798RasterTaskSelection.whySuported=function(selection){if(!(selection instanceof tr.model.EventSet)){return{ok:false,why:'Must be selection'};}
7799if(selection.length===0){return{ok:false,why:'Selection must be non empty'};}
7800let referenceSnapshot=undefined;for(const event of selection){if(!(event instanceof tr.model.Slice)){return{ok:false,why:'Not a slice'};}
7801const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined){return{ok:false,why:'No tile found'};}
7802if(!referenceSnapshot){referenceSnapshot=tile.containingSnapshot;}else{if(tile.containingSnapshot!==referenceSnapshot){return{ok:false,why:'Raster tasks are from different compositor instances'};}}}
7803return{ok:true};};RasterTaskSelection.supports=function(selection){return RasterTaskSelection.whySuported(selection).ok;};RasterTaskSelection.prototype={__proto__:tr.ui.e.chrome.cc.Selection.prototype,get specicifity(){return 3;},get associatedLayerId(){const tile0=this.tiles_[0];const allSameLayer=this.tiles_.every(function(tile){tile.layerId===tile0.layerId;});if(allSameLayer){return tile0.layerId;}
7804return undefined;},get extraHighlightsByLayerId(){const highlights={};this.tiles_.forEach(function(tile,i){if(highlights[tile.layerId]===undefined){highlights[tile.layerId]=[];}
7805const slice=this.slices_[i];highlights[tile.layerId].push({colorKey:slice.title,rect:tile.layerRect});},this);return highlights;},createAnalysis(){const sel=new tr.model.EventSet();this.slices_.forEach(function(slice){sel.push(slice);});let analysis;if(sel.length===1){analysis=document.createElement('tr-ui-a-single-event-sub-view');}else{analysis=document.createElement('tr-ui-e-chrome-cc-raster-task-view');}
7806analysis.selection=sel;return analysis;},findEquivalent(lthi){return undefined;},get containingSnapshot(){return this.tiles_[0].containingSnapshot;}};return{RasterTaskSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const TileSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-tile-snapshot-view',tr.ui.analysis.ObjectSnapshotView);TileSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-tile-snapshot-view');this.layerTreeView_=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();Polymer.dom(this).appendChild(this.layerTreeView_);},updateContents(){const tile=this.objectSnapshot_;const layerTreeHostImpl=tile.containingSnapshot;if(!layerTreeHostImpl)return;this.layerTreeView_.objectSnapshot=layerTreeHostImpl;this.layerTreeView_.selection=new tr.ui.e.chrome.cc.TileSelection(tile);}};tr.ui.analysis.ObjectSnapshotView.register(TileSnapshotView,{typeName:'cc::Tile',showInTrackView:false});return{TileSnapshotView,};});'use strict';tr.exportTo('tr.e.gpu',function(){const AsyncSlice=tr.model.AsyncSlice;function GpuAsyncSlice(){AsyncSlice.apply(this,arguments);}
7807GpuAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){if(this.args.channel){if(this.category==='disabled-by-default-gpu.device'){return'Device.'+this.args.channel;}
7808return'Service.'+this.args.channel;}
7809return this.title;}};AsyncSlice.subTypes.register(GpuAsyncSlice,{categoryParts:['disabled-by-default-gpu.device','disabled-by-default-gpu.service']});return{GpuAsyncSlice,};});'use strict';tr.exportTo('tr.e.gpu',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function StateSnapshot(){ObjectSnapshot.apply(this,arguments);}
7810StateSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){this.screenshot_=undefined;},initialize(){if(this.args.screenshot){this.screenshot_=this.args.screenshot;}},get screenshot(){return this.screenshot_;}};ObjectSnapshot.subTypes.register(StateSnapshot,{typeName:'gpu::State'});return{StateSnapshot,};});'use strict';tr.exportTo('tr.ui.e.chrome.gpu',function(){const StateSnapshotView=tr.ui.b.define('tr-ui-e-chrome-gpu-state-snapshot-view',tr.ui.analysis.ObjectSnapshotView);StateSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-gpu-state-snapshot-view');this.screenshotImage_=document.createElement('img');Polymer.dom(this).appendChild(this.screenshotImage_);},updateContents(){if(this.objectSnapshot_&&this.objectSnapshot_.screenshot){this.screenshotImage_.src='data:image/png;base64,'+
7811this.objectSnapshot_.screenshot;}}};tr.ui.analysis.ObjectSnapshotView.register(StateSnapshotView,{typeName:'gpu::State'});return{StateSnapshotView,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-layout-tree-sub-view',behaviors:['tr-ui-a-sub-view'],set selection(selection){this.currentSelection_=selection;this.updateContents_();},get selection(){return this.currentSelection_;},updateContents_(){this.set('$.content.textContent','');if(!this.currentSelection_)return;const columns=[{title:'Tag/Name',value(layoutObject){return layoutObject.tag||':'+layoutObject.name;}},{title:'htmlId',value(layoutObject){return layoutObject.htmlId||'';}},{title:'classNames',value(layoutObject){return layoutObject.classNames||'';}},{title:'reasons',value(layoutObject){return layoutObject.needsLayoutReasons.join(', ');}},{title:'width',value(layoutObject){return layoutObject.absoluteRect.width;}},{title:'height',value(layoutObject){return layoutObject.absoluteRect.height;}},{title:'absX',value(layoutObject){return layoutObject.absoluteRect.left;}},{title:'absY',value(layoutObject){return layoutObject.absoluteRect.top;}},{title:'relX',value(layoutObject){return layoutObject.relativeRect.left;}},{title:'relY',value(layoutObject){return layoutObject.relativeRect.top;}},{title:'float',value(layoutObject){return layoutObject.isFloat?'float':'';}},{title:'positioned',value(layoutObject){return layoutObject.isPositioned?'positioned':'';}},{title:'relative',value(layoutObject){return layoutObject.isRelativePositioned?'relative':'';}},{title:'sticky',value(layoutObject){return layoutObject.isStickyPositioned?'sticky':'';}},{title:'anonymous',value(layoutObject){return layoutObject.isAnonymous?'anonymous':'';}},{title:'row',value(layoutObject){if(layoutObject.tableRow===undefined){return'';}
7812return layoutObject.tableRow;}},{title:'col',value(layoutObject){if(layoutObject.tableCol===undefined){return'';}
7813return layoutObject.tableCol;}},{title:'rowSpan',value(layoutObject){if(layoutObject.tableRowSpan===undefined){return'';}
7814return layoutObject.tableRowSpan;}},{title:'colSpan',value(layoutObject){if(layoutObject.tableColSpan===undefined){return'';}
7815return layoutObject.tableColSpan;}},{title:'address',value(layoutObject){return layoutObject.id.toString(16);}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.defaultExpansionStateCallback=function(layoutObject,parentLayoutObject){return true;};table.subRowsPropertyName='childLayoutObjects';table.tableColumns=columns;table.tableRows=this.currentSelection_.map(function(snapshot){return snapshot.rootLayoutObject;});table.rebuild();Polymer.dom(this.$.content).appendChild(table);},});return{};});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:false,title:'Layout Tree',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:true,title:'Layout Trees',});'use strict';tr.exportTo('tr.ui.behaviors',function(){const SidePanel={get rangeOfInterest(){throw new Error('Not implemented');},set rangeOfInterest(rangeOfInterest){throw new Error('Not implemented');},get selection(){throw new Error('Not implemented');},set selection(selection){throw new Error('Not implemented');},get model(){throw new Error('Not implemented');},set model(model){throw new Error('Not implemented');},supportsModel(m){throw new Error('Not implemented');}};return{SidePanel,};});'use strict';tr.exportTo('tr.ui.side_panel',function(){function SidePanelRegistry(){}
7816const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(SidePanelRegistry,options);return{SidePanelRegistry,};});'use strict';tr.exportTo('tr.ui.e.s',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const FrameTreeNodeSnapshot=tr.e.chrome.FrameTreeNodeSnapshot;const RenderFrameSnapshot=tr.e.chrome.RenderFrameSnapshot;const TopLevelSnapshot=tr.e.chrome.TopLevelSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;const FrameTreeNodeInstance=tr.e.chrome.FrameTreeNodeInstance;const RenderFrameInstance=tr.e.chrome.RenderFrameInstance;const TopLevelInstance=tr.e.chrome.TopLevelInstance;function Row(context){this.subRows=undefined;this.contexts=[];this.type=undefined;this.renderer='N/A';this.url=undefined;this.time=0;this.eventsOfInterest=new tr.model.EventSet();if(context===undefined)return;this.type=context.objectInstance.blameContextType;this.contexts.push(context);if(context instanceof FrameTreeNodeSnapshot){if(context.renderFrame){this.contexts.push(context.renderFrame);this.renderer=context.renderFrame.objectInstance.parent.pid;}}else if(context instanceof RenderFrameSnapshot){if(context.frameTreeNode){this.contexts.push(context.frameTreeNode);}
7817this.renderer=context.objectInstance.parent.pid;}else if(context instanceof TopLevelSnapshot){this.renderer=context.objectInstance.parent.pid;}else{throw new Error('Unknown context type');}
7818this.eventsOfInterest.addEventSet(this.contexts);this.url=context.url;}
7819const groupFunctions={none:rows=>rows,tree(rows,rowMap){const getParentRow=function(row){let pivot;row.contexts.forEach(function(context){if(context instanceof tr.e.chrome.FrameTreeNodeSnapshot){pivot=context;}});if(pivot&&pivot.parentContext){return rowMap[pivot.parentContext.guid];}
7820return undefined;};const rootRows=[];rows.forEach(function(row){const parentRow=getParentRow(row);if(parentRow===undefined){rootRows.push(row);return;}
7821if(parentRow.subRows===undefined){parentRow.subRows=[];}
7822parentRow.subRows.push(row);});const aggregateAllDescendants=function(row){if(!row.subRows){if(getParentRow(row)){row.type='Subframe';}
7823return row;}
7824const result=new Row();result.type='Frame Tree';result.renderer=row.renderer;result.url=row.url;result.subRows=[row];row.subRows.forEach(subRow=>result.subRows.push(aggregateAllDescendants(subRow)));result.subRows.forEach(function(subRow){result.time+=subRow.time;result.eventsOfInterest.addEventSet(subRow.eventsOfInterest);});row.subRows=undefined;return result;};return rootRows.map(rootRow=>aggregateAllDescendants(rootRow));}};Polymer({is:'tr-ui-e-s-frame-data-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=new tr.b.math.Range();this.$.table.showHeader=true;this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=this.createFrameDataTableColumns_();this.$.table.addEventListener('selection-changed',function(e){this.selectEventSet_(this.$.table.selectedTableRow.eventsOfInterest);}.bind(this));this.$.select.addEventListener('change',function(e){this.updateContents_();}.bind(this));},selectEventSet_(eventSet){const event=new tr.model.RequestSelectionChangeEvent();event.selection=eventSet;this.dispatchEvent(event);},createFrameDataTableColumns_(){return[{title:'Renderer',value:row=>row.renderer,cmp:(a,b)=>a.renderer-b.renderer},{title:'Type',value:row=>row.type},{title:'Time',value:row=>tr.v.ui.createScalarSpan(row.time,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}),cmp:(a,b)=>a.time-b.time},{title:'URL',value:row=>row.url,cmp:(a,b)=>(a.url||'').localeCompare(b.url||'')}];},createFrameDataTableRows_(){if(!this.model_)return[];const rows=[];const rowMap={};for(const proc of Object.values(this.model_.processes)){proc.objects.iterObjectInstances(function(objectInstance){if(!(objectInstance instanceof BlameContextInstance)){return;}
7825objectInstance.snapshots.forEach(function(snapshot){if(rowMap[snapshot.guid])return;const row=new Row(snapshot);row.contexts.forEach(context=>rowMap[context.guid]=row);rows.push(row);},this);},this);}
7826for(const proc of Object.values(this.model_.processes)){for(const thread of Object.values(proc.threads)){thread.sliceGroup.iterSlicesInTimeRange(function(topLevelSlice){topLevelSlice.contexts.forEach(function(context){if(!context.snapshot.guid||!rowMap[context.snapshot.guid]){return;}
7827const row=rowMap[context.snapshot.guid];row.eventsOfInterest.push(topLevelSlice);row.time+=topLevelSlice.selfTime||0;});},this.currentRangeOfInterest.min,this.currentRangeOfInterest.max);}}
7828const select=this.$.select;const groupOption=select.options[select.selectedIndex].value;const groupFunction=groupFunctions[groupOption];return groupFunction(rows,rowMap);},updateContents_(){this.$.table.tableRows=this.createFrameDataTableRows_();this.$.table.rebuild();},supportsModel(m){if(!m){return{supported:false,reason:'No model available.'};}
7829const ans={supported:false};for(const proc of Object.values(m.processes)){proc.objects.iterObjectInstances(function(instance){if(instance instanceof BlameContextInstance){ans.supported=true;}});}
7830if(!ans.supported){ans.reason='No frame data available';}
7831return ans;},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;}
7832return this.rangeOfInterest_;},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},get selection(){},set selection(_){},get textLabel(){return'Frame Data';},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-frame-data-side-panel');});});'use strict';Polymer({is:'tr-ui-b-chart-legend-key',ready(){this.$.checkbox.addEventListener('change',this.onCheckboxChange_.bind(this));},onCheckboxChange_(){tr.b.dispatchSimpleEvent(this,tr.ui.b.DataSeriesEnableChangeEventType,true,false,{key:Polymer.dom(this).textContent,enabled:this.enabled});},set textContent(t){Polymer.dom(this.$.label).textContent=t;Polymer.dom(this.$.link).textContent=t;this.updateContents_();},set width(w){w-=20;this.$.link.style.width=w+'px';this.$.label.style.width=w+'px';},get textContent(){return Polymer.dom(this.$.label).textContent;},set optional(optional){this.$.checkbox.style.visibility=optional?'visible':'hidden';},get optional(){return this.$.checkbox.style.visibility==='visible';},set enabled(enabled){this.$.checkbox.checked=enabled?'checked':'';},get enabled(){return this.$.checkbox.checked;},set color(c){this.$.label.style.color=c;this.$.link.color=c;},set target(target){this.$.link.setSelectionAndContent(target,Polymer.dom(this.$.label).textContent);this.updateContents_();},get target(){return this.$.link.selection;},set title(title){this.$.link.title=title;},updateContents_(){this.$.link.style.display=this.target?'':'none';this.$.label.style.display=this.target?'none':'';this.$.label.htmlFor=this.optional?'checkbox':'';}});'use strict';(function(window){window.define=function(x){window.d3=x;};window.define.amd=true;})(this);!function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(n){return aa+n in this}function o(n){return n=aa+n,n in this&&delete this[n]}function a(){var n=[];return this.forEach(function(t){n.push(t)}),n}function c(){var n=0;for(var t in this)t.charCodeAt(0)===ca&&++n;return n}function s(){for(var n in this)if(n.charCodeAt(0)===ca)return!1;return!0}function l(){}function f(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function h(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=sa.length;r>e;++e){var u=sa[e]+t;if(u in n)return u}}function g(){}function p(){}function v(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new u;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function d(){Xo.event.preventDefault()}function m(){for(var n,t=Xo.event;n=t.sourceEvent;)t=n;return t}function y(n){for(var t=new p,e=0,r=arguments.length;++e<r;)t[arguments[e]]=v(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Xo.event;u.target=n,Xo.event=u,t[u.type].apply(e,r)}finally{Xo.event=i}}},t}function x(n){return fa(n,da),n}function M(n){return"function"==typeof n?n:function(){return ha(n,this)}}function _(n){return"function"==typeof n?n:function(){return ga(n,this)}}function b(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Xo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function w(n){return n.trim().replace(/\s+/g," ")}function S(n){return new RegExp("(?:^|\\s+)"+Xo.requote(n)+"(?:\\s+|$)","g")}function k(n){return n.trim().split(/^|\s+/)}function E(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=k(n).map(A);var u=n.length;return"function"==typeof t?r:e}function A(n){var t=S(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",w(u+" "+n))):e.setAttribute("class",w(u.replace(t," ")))}}function C(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function N(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function L(n){return"function"==typeof n?n:(n=Xo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function T(n){return{__data__:n}}function q(n){return function(){return va(this,n)}}function z(n){return arguments.length||(n=Xo.ascending),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function R(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function D(n){return fa(n,ya),n}function P(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function U(){var n=this.__transition__;n&&++n.active}function j(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Bo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Xo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=H;a>0&&(n=n.substring(0,a));var s=Ma.get(n);return s&&(n=s,c=F),a?t?u:r:t?g:i}function H(n,t){return function(e){var r=Xo.event;Xo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Xo.event=r}}}function F(n,t){var e=H(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function O(){var n=".dragsuppress-"+ ++ba,t="click"+n,e=Xo.select(Go).on("touchmove"+n,d).on("dragstart"+n,d).on("selectstart"+n,d);if(_a){var r=Jo.style,u=r[_a];r[_a]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),_a&&(r[_a]=u),i&&(e.on(t,function(){d(),o()},!0),setTimeout(o,0))}}function Y(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>wa&&(Go.scrollX||Go.scrollY)){e=Xo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();wa=!(u.f||u.e),e.remove()}return wa?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function I(n){return n>0?1:0>n?-1:0}function Z(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function V(n){return n>1?0:-1>n?Sa:Math.acos(n)}function X(n){return n>1?Ea:-1>n?-Ea:Math.asin(n)}function $(n){return((n=Math.exp(n))-1/n)/2}function B(n){return((n=Math.exp(n))+1/n)/2}function W(n){return((n=Math.exp(2*n))-1)/(n+1)}function J(n){return(n=Math.sin(n/2))*n}function G(){}function K(n,t,e){return new Q(n,t,e)}function Q(n,t,e){this.h=n,this.s=t,this.l=e}function nt(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,gt(u(n+120),u(n),u(n-120))}function tt(n,t,e){return new et(n,t,e)}function et(n,t,e){this.h=n,this.c=t,this.l=e}function rt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),ut(e,Math.cos(n*=Na)*t,Math.sin(n)*t)}function ut(n,t,e){return new it(n,t,e)}function it(n,t,e){this.l=n,this.a=t,this.b=e}function ot(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=ct(u)*Fa,r=ct(r)*Oa,i=ct(i)*Ya,gt(lt(3.2404542*u-1.5371385*r-.4985314*i),lt(-.969266*u+1.8760108*r+.041556*i),lt(.0556434*u-.2040259*r+1.0572252*i))}function at(n,t,e){return n>0?tt(Math.atan2(e,t)*La,Math.sqrt(t*t+e*e),n):tt(0/0,0/0,n)}function ct(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function st(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function lt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ft(n){return gt(n>>16,255&n>>8,255&n)}function ht(n){return ft(n)+""}function gt(n,t,e){return new pt(n,t,e)}function pt(n,t,e){this.r=n,this.g=t,this.b=e}function vt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function dt(n,t,e){var r,u,i,o,a=0,c=0,s=0;if(u=/([a-z]+)\((.*)\)/i.exec(n))switch(i=u[2].split(","),u[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(o=Va.get(n))?t(o.r,o.g,o.b):(null!=n&&"#"===n.charAt(0)&&(r=parseInt(n.substring(1),16),isNaN(r)||(4===n.length?(a=(3840&r)>>4,a=a>>4|a,c=240&r,c=c>>4|c,s=15&r,s=s<<4|s):7===n.length&&(a=(16711680&r)>>16,c=(65280&r)>>8,s=255&r))),t(a,c,s))}function mt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),K(r,u,c)}function yt(n,t,e){n=xt(n),t=xt(t),e=xt(e);var r=st((.4124564*n+.3575761*t+.1804375*e)/Fa),u=st((.2126729*n+.7151522*t+.072175*e)/Oa),i=st((.0193339*n+.119192*t+.9503041*e)/Ya);return ut(116*u-16,500*(r-u),200*(u-i))}function xt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Mt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function _t(n){return"function"==typeof n?n:function(){return n}}function bt(n){return n}function wt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),St(t,e,n,r)}}function St(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Xo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!Go.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Xo.event;Xo.event=n;try{o.progress.call(i,c)}finally{Xo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(s=n,i):s},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Bo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Xo.rebind(i,o,"on"),null==r?i:i.get(kt(r))}function kt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Et(){var n=At(),t=Ct()-n;t>24?(isFinite(t)&&(clearTimeout(Wa),Wa=setTimeout(Et,t)),Ba=0):(Ba=1,Ga(Et))}function At(){var n=Date.now();for(Ja=Xa;Ja;)n>=Ja.t&&(Ja.f=Ja.c(n-Ja.t)),Ja=Ja.n;return n}function Ct(){for(var n,t=Xa,e=1/0;t;)t.f?t=n?n.n=t.n:Xa=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return $a=n,e}function Nt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Lt(n,t){var e=Math.pow(10,3*oa(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Tt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r?function(n){for(var t=n.length,u=[],i=0,o=r[0];t>0&&o>0;)u.push(n.substring(t-=o,t+o)),o=r[i=(i+1)%r.length];return u.reverse().join(e)}:bt;return function(n){var e=Qa.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"",c=e[4]||"",s=e[5],l=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1;switch(h&&(h=+h.substring(1)),(s||"0"===r&&"="===o)&&(s=r="0",o="=",f&&(l-=Math.floor((l-1)/4))),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=nc.get(g)||qt;var y=s&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a;if(0>p){var c=Xo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}}}function qt(n){return n+""}function zt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rt(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new ec(e-1)),1),e}function i(n,e){return t(n=new ec(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{ec=zt;var r=new zt;return r._=n,o(r,t,e)}finally{ec=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Dt(n);return c.floor=c,c.round=Dt(r),c.ceil=Dt(u),c.offset=Dt(i),c.range=a,n}function Dt(n){return function(t,e){try{ec=zt;var r=new zt;return r._=t,n(r,e)._}finally{ec=Date}}}function Pt(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.substring(c,a)),null!=(u=uc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.substring(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&ec!==zt,o=new(i?zt:ec);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+Math.floor(r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,s=e.length;c>a;){if(r>=s)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in uc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.substring(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.substring(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.substring(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.substring(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function s(n,t,r){return e(n,C.X.toString(),t,r)}function l(n,t,e){var r=x.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{ec=zt;var t=new ec;return t._=n,r(t)}finally{ec=Date}}var r=t(n);return e.parse=function(n){try{ec=zt;var t=r.parse(n);return t&&t._}finally{ec=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ee;var x=Xo.map(),M=jt(v),_=Ht(v),b=jt(d),w=Ht(d),S=jt(m),k=Ht(m),E=jt(y),A=Ht(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Ut(n.getDate(),t,2)},e:function(n,t){return Ut(n.getDate(),t,2)},H:function(n,t){return Ut(n.getHours(),t,2)},I:function(n,t){return Ut(n.getHours()%12||12,t,2)},j:function(n,t){return Ut(1+tc.dayOfYear(n),t,3)},L:function(n,t){return Ut(n.getMilliseconds(),t,3)},m:function(n,t){return Ut(n.getMonth()+1,t,2)},M:function(n,t){return Ut(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Ut(n.getSeconds(),t,2)},U:function(n,t){return Ut(tc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Ut(tc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Ut(n.getFullYear()%100,t,2)},Y:function(n,t){return Ut(n.getFullYear()%1e4,t,4)},Z:ne,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Bt,e:Bt,H:Jt,I:Jt,j:Wt,L:Qt,m:$t,M:Gt,p:l,S:Kt,U:Ot,w:Ft,W:Yt,x:c,X:s,y:Zt,Y:It,Z:Vt,"%":te};return t}function Ut(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function jt(n){return new RegExp("^(?:"+n.map(Xo.requote).join("|")+")","i")}function Ht(n){for(var t=new u,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Ft(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ot(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Yt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function It(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Zt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.y=Xt(+r[0]),e+r[0].length):-1}function Vt(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Xt(n){return n+(n>68?1900:2e3)}function $t(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Bt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Wt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Jt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Gt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Kt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Qt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ne(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(oa(t)/60),u=oa(t)%60;return e+Ut(r,"0",2)+Ut(u,"0",2)}function te(n,t,e){oc.lastIndex=0;var r=oc.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function ee(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function re(){}function ue(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function ie(n,t){n&&lc.hasOwnProperty(n.type)&&lc[n.type](n,t)}function oe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function ae(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)oe(n[e],t,1);t.polygonEnd()}function ce(){function n(n,t){n*=Na,t=t*Na/2+Sa/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),s=Math.sin(t),l=i*s,f=u*c+l*Math.cos(a),h=l*o*Math.sin(a);hc.add(Math.atan2(h,f)),r=n,u=c,i=s}var t,e,r,u,i;gc.point=function(o,a){gc.point=n,r=(t=o)*Na,u=Math.cos(a=(e=a)*Na/2+Sa/4),i=Math.sin(a)},gc.lineEnd=function(){n(t,e)}}function se(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function le(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function fe(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function they(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ge(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function ve(n){return[Math.atan2(n[1],n[0]),X(n[2])]}function de(n,t){return oa(n[0]-t[0])<Aa&&oa(n[1]-t[1])<Aa}function me(n,t){n*=Na;var e=Math.cos(t*=Na);ye(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function ye(n,t,e){++pc,dc+=(n-dc)/pc,mc+=(t-mc)/pc,yc+=(e-yc)/pc}function xe(){function n(n,u){n*=Na;var i=Math.cos(u*=Na),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),s=Math.atan2(Math.sqrt((s=e*c-r*a)*s+(s=r*o-t*c)*s+(s=t*a-e*o)*s),t*o+e*a+r*c);vc+=s,xc+=s*(t+(t=o)),Mc+=s*(e+(e=a)),_c+=s*(r+(r=c)),ye(t,e,r)}var t,e,r;kc.point=function(u,i){u*=Na;var o=Math.cos(i*=Na);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),kc.point=n,ye(t,e,r)}}function Me(){kc.point=me}function _e(){function n(n,t){n*=Na;var e=Math.cos(t*=Na),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),s=u*c-i*a,l=i*o-r*c,f=r*a-u*o,h=Math.sqrt(s*s+l*l+f*f),g=r*o+u*a+i*c,p=h&&-V(g)/h,v=Math.atan2(h,g);bc+=p*s,wc+=p*l,Sc+=p*f,vc+=v,xc+=v*(r+(r=o)),Mc+=v*(u+(u=a)),_c+=v*(i+(i=c)),ye(r,u,i)}var t,e,r,u,i;kc.point=function(o,a){t=o,e=a,kc.point=n,o*=Na;var c=Math.cos(a*=Na);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),ye(r,u,i)},kc.lineEnd=function(){n(t,e),kc.lineEnd=Me,kc.point=me}}function be(){return!0}function we(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(de(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ke(e,n,null,!0),s=new ke(e,null,c,!1);c.o=s,i.push(c),o.push(s),c=new ke(r,n,null,!1),s=new ke(r,null,c,!0),c.o=s,i.push(c),o.push(s)}}),o.sort(t),Se(i),Se(o),i.length){for(var a=0,c=e,s=o.length;s>a;++a)o[a].e=c=!c;for(var l,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;l=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,s=l.length;s>a;++a)u.point((f=l[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){l=g.p.z;for(var a=l.length-1;a>=0;--a)u.point((f=l[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,l=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Se(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ke(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ee(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function s(){y.point=o,d.lineEnd()}function l(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){l(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r){if(1&t){n=e[0];var u,r=n.length-1,o=-1;for(i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);return i.lineEnd(),void 0}r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Ae))}}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:s,polygonStart:function(){y.point=l,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=s,g=Xo.merge(g);var n=Le(m,p);g.length?we(g,Ne,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=Ce(),M=t(x);return y}}function Ae(n){return n.length>1}function Ce(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:g,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ne(n,t){return((n=n.x)[0]<0?n[1]-Ea-Aa:Ea-n[1])-((t=t.x)[0]<0?t[1]-Ea-Aa:Ea-t[1])}function Le(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;hc.reset();for(var a=0,c=t.length;c>a;++a){var s=t[a],l=s.length;if(l)for(var f=s[0],h=f[0],g=f[1]/2+Sa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===l&&(d=0),n=s[d];var m=n[0],y=n[1]/2+Sa/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Sa,k=p*x;if(hc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*ka:_,S^h>=e^m>=e){var E=fe(se(f),se(n));pe(E);var A=fe(u,E);pe(A);var C=(S^_>=0?-1:1)*X(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Aa>i||Aa>i&&0>hc)^1&o}function Te(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Sa:-Sa,c=oa(i-e);oa(c-Sa)<Aa?(n.point(e,r=(r+o)/2>0?Ea:-Ea),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Sa&&(oa(e-u)<Aa&&(e-=u*Aa),oa(i-a)<Aa&&(i-=a*Aa),r=qe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function qe(n,t,e,r){var u,i,o=Math.sin(n-e);return oa(o)>Aa?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function ze(n,t,e,r){var u;if(null==n)u=e*Ea,r.point(-Sa,u),r.point(0,u),r.point(Sa,u),r.point(Sa,0),r.point(Sa,-u),r.point(0,-u),r.point(-Sa,-u),r.point(-Sa,0),r.point(-Sa,u);else if(oa(n[0]-t[0])>Aa){var i=n[0]<t[0]?Sa:-Sa;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function Re(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,s,l;return{lineStart:function(){s=c=!1,l=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Sa:-Sa),h):0;if(!e&&(s=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(de(e,g)||de(p,g))&&(p[0]+=Aa,p[1]+=Aa,v=t(p[0],p[1]))),v!==c)l=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(l=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&de(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return l|(s&&c)<<1}}}function r(n,t,e){var r=se(n),u=se(t),o=[1,0,0],a=fe(r,u),c=le(a,a),s=a[0],l=c-s*s;if(!l)return!e&&n;var f=i*c/l,h=-i*s/l,g=fe(o,a),p=ge(o,f),v=ge(a,h);they(p,v);var d=g,m=le(p,d),y=le(d,d),x=m*m-y*(le(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ge(d,(-m-M)/y);if(they(_,p),_=ve(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=oa(A-Sa)<Aa,N=C||Aa>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(oa(_[0]-w)<Aa?k:E):k<=_[1]&&_[1]<=E:A>Sa^(w<=_[0]&&_[0]<=S)){var L=ge(d,(-m+M)/y);return they(L,p),[_,ve(L)]}}}function u(t,e){var r=o?n:Sa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=oa(i)>Aa,c=cr(n,6*Na);return Ee(t,e,c,o?[0,-n]:[-Sa,n-Sa])}function De(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,s=o.y,l=a.x,f=a.y,h=0,g=1,p=l-c,v=f-s;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-s,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-s,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:s+h*v}),1>g&&(u.b={x:c+g*p,y:s+g*v}),u}}}}}}function Pe(n,t,e,r){function u(r,u){return oa(r[0]-n)<Aa?u>0?0:3:oa(r[0]-e)<Aa?u>0?2:1:oa(r[1]-t)<Aa?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,s=a[0];c>o;++o)i=a[o],s[1]<=r?i[1]>r&&Z(s,i,n)>0&&++t:i[1]<=r&&Z(s,i,n)<0&&--t,s=i;return 0!==t}function s(i,a,c,s){var l=0,f=0;if(null==i||(l=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do s.point(0===l||3===l?n:e,l>1?r:t);while((l=(l+c+4)%4)!==f)}else s.point(a[0],a[1])}function l(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){l(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Ac,Math.min(Ac,n)),t=Math.max(-Ac,Math.min(Ac,t));var e=l(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=Ce(),C=De(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Xo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),u&&we(v,i,t,s,a),a.polygonEnd()),v=d=m=null}};return N}}function Ue(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function je(n){var t=0,e=Sa/3,r=nr(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Sa/180,e=n[1]*Sa/180):[180*(t/Sa),180*(e/Sa)]},u}function They(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,X((i-(n*n+e*e)*u*u)/(2*u))]},e}function Fe(){function n(n,t){Nc+=u*n-r*t,r=n,u=t}var t,e,r,u;Rc.point=function(i,o){Rc.point=n,t=r=i,e=u=o},Rc.lineEnd=function(){n(t,e)}}function Oe(n,t){Lc>n&&(Lc=n),n>qc&&(qc=n),Tc>t&&(Tc=t),t>zc&&(zc=t)}function Ye(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Ie(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Ie(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Ie(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ze(n,t){dc+=n,mc+=t,++yc}function Ve(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);xc+=o*(t+n)/2,Mc+=o*(e+r)/2,_c+=o,Ze(t=n,e=r)}var t,e;Pc.point=function(r,u){Pc.point=n,Ze(t=r,e=u)}}function Xe(){Pc.point=Ze}function $e(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);xc+=o*(r+n)/2,Mc+=o*(u+t)/2,_c+=o,o=u*n-r*t,bc+=o*(r+n),wc+=o*(u+t),Sc+=3*o,Ze(r=n,u=t)}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,Ze(t=r=i,e=u=o)},Pc.lineEnd=function(){n(t,e)}}function Be(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,ka)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:g};return a}function We(n){function t(n){return(a?r:e)(n)}function e(t){return Ke(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=se([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=s,S.lineEnd=l}function s(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function l(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,s,l,f,h,g,p,v,d,m){var y=l-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=s+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=oa(oa(w)-1)<Aa||oa(r-h)<Aa?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],L=C-t,T=N-e,q=x*L-y*T;(q*q/M>i||oa((y*L+x*T)/M-.5)>.3||o>a*g+c*p+s*v)&&(u(t,e,r,a,c,s,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,l,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Na),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function Je(n){var t=We(function(t,e){return n([t*La,e*La])});return function(n){return tr(t(n))}}function Ge(n){this.stream=n}function Ke(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Qe(n){return nr(function(){return n})()}function nr(n){function t(n){return n=a(n[0]*Na,n[1]*Na),[n[0]*h+c,s-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(s-n[1])/h),n&&[n[0]*La,n[1]*La]}function r(){a=Ue(o=ur(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,s=p+n[1]*h,u()}function u(){return l&&(l.valid=!1,l=null),t}var i,o,a,c,s,l,f=We(function(n,t){return n=i(n,t),[n[0]*h+c,s-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Ec,_=bt,b=null,w=null;return t.stream=function(n){return l&&(l.valid=!1),l=tr(M(o,f(_(n)))),l.valid=!0,l},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Ec):Re((b=+n)*Na),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Pe(n[0][0],n[0][1],n[1][0],n[1][1]):bt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Na,d=n[1]%360*Na,r()):[v*La,d*La]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Na,y=n[1]%360*Na,x=n.length>2?n[2]%360*Na:0,r()):[m*La,y*La,x*La]},Xo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function tr(n){return Ke(n,function(t,e){n.point(t*Na,e*Na)})}function er(n,t){return[n,t]}function rr(n,t){return[n>Sa?n-ka:-Sa>n?n+ka:n,t]}function ur(n,t,e){return n?t||e?Ue(or(n),ar(t,e)):or(n):t||e?ar(t,e):rr}function ir(n){return function(t,e){return t+=n,[t>Sa?t-ka:-Sa>t?t+ka:t,e]}}function or(n){var t=ir(n);return t.invert=ir(-n),t}function ar(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*r+a*u;return[Math.atan2(c*i-l*o,a*r-s*u),X(l*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*i-c*o;return[Math.atan2(c*i+s*o,a*r+l*u),X(l*r-a*u)]},e}function cr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=sr(e,u),i=sr(e,i),(o>0?i>u:u>i)&&(u+=o*ka)):(u=n+o*ka,i=n-.5*c);for(var s,l=u;o>0?l>i:i>l;l-=c)a.point((s=ve([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],s[1])}}function sr(n,t){var e=se(t);e[0]-=n,pe(e);var r=V(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Aa)%(2*Math.PI)}function lr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function fr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function hr(n){return n.source}function gr(n){return n.target}function pr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),s=u*Math.sin(n),l=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(J(r-t)+u*o*J(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*l,u=e*s+t*f,o=e*i+t*a;return[Math.atan2(u,r)*La,Math.atan2(o,Math.sqrt(r*r+u*u))*La]}:function(){return[n*La,t*La]};return p.distance=h,p}function vr(){function n(n,u){var i=Math.sin(u*=Na),o=Math.cos(u),a=oa((n*=Na)-t),c=Math.cos(a);Uc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;jc.point=function(u,i){t=u*Na,e=Math.sin(i*=Na),r=Math.cos(i),jc.point=n},jc.lineEnd=function(){jc.point=jc.lineEnd=g}}function dr(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function mr(n,t){function e(n,t){var e=oa(oa(t)-Ea)<Aa?0:o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Sa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=I(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ea]},e):xr}function yr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return oa(u)<Aa?er:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-I(u)*Math.sqrt(n*n+e*e)]},e)}function xr(n,t){return[n,Math.log(Math.tan(Sa/4+t/2))]}function Mr(n){var t,e=Qe(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Sa*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function _r(n,t){return[Math.log(Math.tan(Sa/4+t/2)),-n]}function br(n){return n[0]}function wr(n){return n[1]}function Sr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&Z(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function kr(n,t){return n[0]-t[0]||n[1]-t[1]}function Er(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Ar(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],s=e[1],l=t[1]-c,f=r[1]-s,h=(a*(c-s)-f*(u-i))/(f*o-a*l);return[u+h*o,c+h*l]}function Cr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Nr(){Jr(this),this.edge=this.site=this.circle=null}function Lr(n){var t=Jc.pop()||new Nr;return t.site=n,t}function Tr(n){Or(n),$c.remove(n),Jc.push(n),Jr(n)}function qr(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Tr(n);for(var c=i;c.circle&&oa(e-c.circle.x)<Aa&&oa(r-c.circle.cy)<Aa;)i=c.P,a.unshift(c),Tr(c),c=i;a.unshift(c),Or(c);for(var s=o;s.circle&&oa(e-s.circle.x)<Aa&&oa(r-s.circle.cy)<Aa;)o=s.N,a.push(s),Tr(s),s=o;a.push(s),Or(s);var l,f=a.length;for(l=1;f>l;++l)s=a[l],c=a[l-1],$r(s.edge,c.site,s.site,u);c=a[0],s=a[f-1],s.edge=Vr(c.site,s.site,null,u),Fr(c),Fr(s)}function zr(n){for(var t,e,r,u,i=n.x,o=n.y,a=$c._;a;)if(r=Rr(a,o)-i,r>Aa)a=a.L;else{if(u=i-Dr(a,o),!(u>Aa)){r>-Aa?(t=a.P,e=a):u>-Aa?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Lr(n);if($c.insert(t,c),t||e){if(t===e)return Or(t),e=Lr(t.site),$c.insert(c,e),c.edge=e.edge=Vr(t.site,c.site),Fr(t),Fr(e),void 0;if(!e)return c.edge=Vr(t.site,c.site),void 0;Or(t),Or(e);var s=t.site,l=s.x,f=s.y,h=n.x-l,g=n.y-f,p=e.site,v=p.x-l,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+l,y:(h*x-v*y)/m+f};$r(e.edge,s,p,M),c.edge=Vr(s,n,null,M),e.edge=Vr(n,p,null,M),Fr(t),Fr(e)}}function Rr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,s=c-t;if(!s)return a;var l=a-r,f=1/i-1/s,h=l/s;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*s)-c+s/2+u-i/2)))/f+r:(r+a)/2}function Dr(n,t){var e=n.N;if(e)return Rr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Pr(n){this.site=n,this.edges=[]}function Ur(n){for(var t,e,r,u,i,o,a,c,s,l,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Xc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)l=a[o].end(),r=l.x,u=l.y,s=a[++o%c].start(),t=s.x,e=s.y,(oa(r-t)>Aa||oa(u-e)>Aa)&&(a.splice(o,0,new Br(Xr(i.site,l,oa(r-f)<Aa&&p-u>Aa?{x:f,y:oa(t-f)<Aa?e:p}:oa(u-p)<Aa&&h-r>Aa?{x:oa(e-p)<Aa?t:h,y:p}:oa(r-h)<Aa&&u-g>Aa?{x:h,y:oa(t-h)<Aa?e:g}:oa(u-g)<Aa&&r-f>Aa?{x:oa(e-g)<Aa?t:f,y:g}:null),i.site,null)),++c)}function jr(n,t){return t.angle-n.angle}function Hr(){Jr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Fr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,s=r.y-a,l=i.x-o,f=i.y-a,h=2*(c*f-s*l);if(!(h>=-Ca)){var g=c*c+s*s,p=l*l+f*f,v=(f*g-s*p)/h,d=(c*p-l*g)/h,f=d+a,m=Gc.pop()||new Hr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Wc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Wc.insert(y,m),y||(Bc=m)}}}}function Or(n){var t=n.circle;t&&(t.P||(Bc=t.N),Wc.remove(t),Gc.push(t),Jr(t),n.circle=null)}function Yr(n){for(var t,e=Vc,r=De(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Ir(t,n)||!r(t)||oa(t.a.x-t.b.x)<Aa&&oa(t.a.y-t.b.y)<Aa)&&(t.a=t.b=null,e.splice(u,1))}function Ir(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],s=t[1][1],l=n.l,f=n.r,h=l.x,g=l.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=s)return}else i={x:d,y:c};e={x:d,y:s}}else{if(i){if(i.y<c)return}else i={x:d,y:s};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=s)return}else i={x:(c-u)/r,y:c};e={x:(s-u)/r,y:s}}else{if(i){if(i.y<c)return}else i={x:(s-u)/r,y:s};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Zr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Vr(n,t,e,r){var u=new Zr(n,t);return Vc.push(u),e&&$r(u,n,t,e),r&&$r(u,t,n,r),Xc[n.i].edges.push(new Br(u,n,t)),Xc[t.i].edges.push(new Br(u,t,n)),u}function Xr(n,t,e){var r=new Zr(n,null);return r.a=t,r.b=e,Vc.push(r),r}function $r(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Br(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function Wr(){this._=null}function Jr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Gr(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Kr(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Qr(n){for(;n.L;)n=n.L;return n}function nu(n,t){var e,r,u,i=n.sort(tu).pop();for(Vc=[],Xc=new Array(n.length),$c=new Wr,Wc=new Wr;;)if(u=Bc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Xc[i.i]=new Pr(i),zr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;qr(u.arc)}t&&(Yr(t),Ur(t));var o={cells:Xc,edges:Vc};return $c=Wc=Vc=Xc=null,o}function tu(n,t){return t.y-n.y||t.x-n.x}function eu(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function ru(n){return n.x}function uu(n){return n.y}function iu(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function ou(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&ou(n,c[0],e,r,o,a),c[1]&&ou(n,c[1],o,r,u,a),c[2]&&ou(n,c[2],e,a,o,i),c[3]&&ou(n,c[3],o,a,u,i)}}function au(n,t){n=Xo.rgb(n),t=Xo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+vt(Math.round(e+i*n))+vt(Math.round(r+o*n))+vt(Math.round(u+a*n))}}function cu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=fu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function su(n,t){return t-=n=+n,function(e){return n+t*e}}function lu(n,t){var e,r,u,i,o,a=0,c=0,s=[],l=[];for(n+="",t+="",Qc.lastIndex=0,r=0;e=Qc.exec(t);++r)e.index&&s.push(t.substring(a,c=e.index)),l.push({i:s.length,x:e[0]}),s.push(null),a=Qc.lastIndex;for(a<t.length&&s.push(t.substring(a)),r=0,i=l.length;(e=Qc.exec(n))&&i>r;++r)if(o=l[r],o.x==e[0]){if(o.i)if(null==s[o.i+1])for(s[o.i-1]+=o.x,s.splice(o.i,1),u=r+1;i>u;++u)l[u].i--;else for(s[o.i-1]+=o.x+s[o.i+1],s.splice(o.i,2),u=r+1;i>u;++u)l[u].i-=2;else if(null==s[o.i+1])s[o.i]=o.x;else for(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1),u=r+1;i>u;++u)l[u].i--;l.splice(r,1),i--,r--}else o.x=su(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=l.pop(),null==s[o.i+1]?s[o.i]=o.x:(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1)),i--;return 1===s.length?null==s[0]?(o=l[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)s[(o=l[r]).i]=o.x(n);return s.join("")}}function fu(n,t){for(var e,r=Xo.interpolators.length;--r>=0&&!(e=Xo.interpolators[r](n,t)););return e}function hu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(fu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function gu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function pu(n){return function(t){return 1-n(1-t)}}function vu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function du(n){return n*n}function mu(n){return n*n*n}function yu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function xu(n){return function(t){return Math.pow(t,n)}}function Mu(n){return 1-Math.cos(n*Ea)}function _u(n){return Math.pow(2,10*(n-1))}function bu(n){return 1-Math.sqrt(1-n*n)}function wu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/ka*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*ka/t)}}function Su(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function ku(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Eu(n,t){n=Xo.hcl(n),t=Xo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return rt(e+i*n,r+o*n,u+a*n)+""}}function Au(n,t){n=Xo.hsl(n),t=Xo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return nt(e+i*n,r+o*n,u+a*n)+""}}function Cu(n,t){n=Xo.lab(n),t=Xo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ot(e+i*n,r+o*n,u+a*n)+""}}function Nu(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Lu(n){var t=[n.a,n.b],e=[n.c,n.d],r=qu(t),u=Tu(t,e),i=qu(zu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*La,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*La:0}function Tu(n,t){return n[0]*t[0]+n[1]*t[1]}function qu(n){var t=Math.sqrt(Tu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function zu(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ru(n,t){var e,r=[],u=[],i=Xo.transform(n),o=Xo.transform(t),a=i.translate,c=o.translate,s=i.rotate,l=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:su(a[0],c[0])},{i:3,x:su(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),s!=l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:su(s,l)})):l&&r.push(r.pop()+"rotate("+l+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:su(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:su(g[0],p[0])},{i:e-2,x:su(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Du(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return(e-n)*t}}function Pu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return Math.max(0,Math.min(1,(e-n)*t))}}function Uu(n){for(var t=n.source,e=n.target,r=Hu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function ju(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Hu(n,t){if(n===t)return n;for(var e=ju(n),r=ju(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Fu(n){n.fixed|=2}function Ou(n){n.fixed&=-7}function Yu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Iu(n){n.fixed&=-5}function Zu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Zu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var s=t*e[n.point.index];n.charge+=n.pointCharge=s,r+=s*n.point.x,u+=s*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Vu(n,t){return Xo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=Wu,n}function Xu(n){return n.children}function $u(n){return n.value}function Bu(n,t){return t.value-n.value}function Wu(n){return Xo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function Ju(n){return n.x}function Gu(n){return n.y}function Ku(n,t,e){n.y0=t,n.y=e}function Qu(n){return Xo.range(n.length)}function ni(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ti(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function ei(n){return n.reduce(ri,0)}function ri(n,t){return n+t[1]}function ui(n,t){return ii(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function ii(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function oi(n){return[Xo.min(n),Xo.max(n)]}function ai(n,t){return n.parent==t.parent?1:2}function ci(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function si(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function li(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i<u;)t(r=li(e[i],t),n)>0&&(n=r);return n}function fi(n,t){return n.x-t.x}function hi(n,t){return t.x-n.x}function gi(n,t){return n.depth-t.depth}function pi(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c<o;)i=u[c],e(i,a),a=i;t(n,r)}e(n,null)}function vi(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function di(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function mi(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function yi(n,t){return n.value-t.value}function xi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Mi(n,t){n._pack_next=t,t._pack_prev=n}function _i(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function bi(n){function t(n){l=Math.min(n.x-n.r,l),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(s=e.length)){var e,r,u,i,o,a,c,s,l=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,t(r),s>1&&(u=e[1],u.x=u.r,u.y=0,t(u),s>2))for(i=e[2],Ei(r,u,i),t(i),xi(r,i),r._pack_prev=i,xi(i,u),u=r._pack_next,o=3;s>o;o++){Ei(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(_i(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!_i(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?Mi(r,u=a):Mi(r=c,u),o--):(xi(r,i),u=i,t(i))}var m=(l+f)/2,y=(h+g)/2,x=0;for(o=0;s>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Si)}}function wi(n){n._pack_next=n._pack_prev=n}function Si(n){delete n._pack_next,delete n._pack_prev}function ki(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)ki(u[i],t,e,r)}function Ei(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+s*i,e.y=n.y+c*i-s*u}else e.x=n.x+r,e.y=n.y}function Ai(n){return 1+Xo.max(n,function(n){return n.y})}function Ci(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Ni(n){var t=n.children;return t&&t.length?Ni(t[0]):n}function Li(n){var t,e=n.children;return e&&(t=e.length)?Li(e[t-1]):n}function Ti(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function qi(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function zi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ri(n){return n.rangeExtent?n.rangeExtent():zi(n.range())}function Di(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Pi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Ui(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ls}function ji(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Xo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Hi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?ji:Di,c=r?Pu:Du;return o=u(n,t,c,e),a=u(t,n,c,fu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Nu)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Ii(n,t)},i.tickFormat=function(t,e){return Zi(n,t,e)},i.nice=function(t){return Oi(n,t),u()},i.copy=function(){return Hi(n,t,e,r)},u()}function Fi(n,t){return Xo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Oi(n,t){return Pi(n,Ui(Yi(n,t)[2]))}function Yi(n,t){null==t&&(t=10);var e=zi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Ii(n,t){return Xo.range.apply(Xo,Yi(n,t))}function Zi(n,t,e){var r=Yi(n,t);return Xo.format(e?e.replace(Qa,function(n,t,e,u,i,o,a,c,s,l){return[t,e,u,i,o,a,c,s||"."+Xi(l,r),l].join("")}):",."+Vi(r[2])+"f")}function Vi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Xi(n,t){var e=Vi(t[2]);return n in fs?Math.abs(e-Vi(Math.max(Math.abs(t[0]),Math.abs(t[1]))))+ +("e"!==n):e-2*("%"===n)}function $i(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Pi(r.map(u),e?Math:gs);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=zi(r),o=[],a=n[0],c=n[1],s=Math.floor(u(a)),l=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(l-s)){if(e){for(;l>s;s++)for(var h=1;f>h;h++)o.push(i(s)*h);o.push(i(s))}else for(o.push(i(s));s++<l;)for(var h=f-1;h>0;h--)o.push(i(s)*h);for(s=0;o[s]<a;s++);for(l=o.length;o[l-1]>c;l--);o=o.slice(s,l)}return o},o.tickFormat=function(n,t){if(!arguments.length)return hs;arguments.length<2?t=hs:"function"!=typeof t&&(t=Xo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return $i(n.copy(),t,e,r)},Fi(o,n)}function Bi(n,t,e){function r(t){return n(u(t))}var u=Wi(t),i=Wi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Ii(e,n)},r.tickFormat=function(n,t){return Zi(e,n,t)},r.nice=function(n){return r.domain(Oi(e,n))},r.exponent=function(o){return arguments.length?(u=Wi(t=o),i=Wi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Bi(n.copy(),t,e)},Fi(r,n)}function Wi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ji(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return Xo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++a<c;)i.has(o=r[a])||i.set(o,n.push(o));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(o=n,a=0,t={t:"range",a:arguments},e):o},e.rangePoints=function(u,i){arguments.length<2&&(i=0);var c=u[0],s=u[1],l=(s-c)/(Math.max(1,n.length-1)+i);return o=r(n.length<2?(c+s)/2:c+l*i/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=(f-l)/(n.length-i+2*c);return o=r(l+h*c,h),s&&o.reverse(),a=h*(1-i),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=Math.floor((f-l)/(n.length-i+2*c)),g=f-l-(n.length-i)*h;return o=r(l+Math.round(g/2),h),s&&o.reverse(),a=Math.round(h*(1-i)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return zi(t.a[0])},e.copy=function(){return Ji(n,t)},e.domain(n)}function Gi(n,t){function e(){var e=0,i=t.length;for(u=[];++e<i;)u[e-1]=Xo.quantile(n,e/i);return r}function r(n){return isNaN(n=+n)?void 0:t[Xo.bisect(u,n)]}var u;return r.domain=function(t){return arguments.length?(n=t.filter(function(n){return!isNaN(n)}).sort(Xo.ascending),e()):n},r.range=function(n){return arguments.length?(t=n,e()):t},r.quantiles=function(){return u},r.invertExtent=function(e){return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?u[e-1]:n[0],e<u.length?u[e]:n[n.length-1]]},r.copy=function(){return Gi(n,t)},e()}function Ki(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return Ki(n,t,e)},u()}function Qi(n,t){function e(e){return e>=e?t[Xo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return Qi(n,t)},e}function no(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Ii(n,t)},t.tickFormat=function(t,e){return Zi(n,t,e)},t.copy=function(){return no(n)},t}function to(n){return n.innerRadius}function eo(n){return n.outerRadius}function ro(n){return n.startAngle}function uo(n){return n.endAngle}function io(n){function t(t){function o(){s.push("M",i(n(l),a))}for(var c,s=[],l=[],f=-1,h=t.length,g=_t(e),p=_t(r);++f<h;)u.call(this,c=t[f],f)?l.push([+g.call(this,c,f),+p.call(this,c,f)]):l.length&&(o(),l=[]);return l.length&&o(),s.length?s.join(""):null}var e=br,r=wr,u=be,i=oo,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=Ms.get(n)||oo).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function oo(n){return n.join("L")}function ao(n){return oo(n)+"Z"}function co(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function lo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function fo(n,t){return n.length<4?oo(n):n[1]+po(n.slice(1,n.length-1),vo(n,t))}function ho(n,t){return n.length<3?oo(n):n[0]+po((n.push(n[0]),n),vo([n[n.length-2]].concat(n,[n[1]]),t))}function go(n,t){return n.length<3?oo(n):n[0]+po(n,vo(n,t))}function po(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return oo(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var s=2;s<t.length;s++,c++)i=n[c],a=t[s],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var l=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+l[0]+","+l[1]}return r}function vo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function mo(n){if(n.length<3)return oo(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",_o(ws,o),",",_o(ws,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),bo(c,o,a);return n.pop(),c.push("L",r),c.join("")}function yo(n){if(n.length<4)return oo(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(_o(ws,i)+","+_o(ws,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),bo(e,i,o);return e.join("")}function xo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[_o(ws,o),",",_o(ws,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),bo(t,o,a);return t.join("")}function Mo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,s=-1;++s<=e;)r=n[s],u=s/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return mo(n)}function _o(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function bo(n,t,e){n.push("C",_o(_s,t),",",_o(_s,e),",",_o(bs,t),",",_o(bs,e),",",_o(ws,t),",",_o(ws,e))}function wo(n,t){return(t[1]-n[1])/(t[0]-n[0])}function So(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=wo(u,i);++t<e;)r[t]=(o+(o=wo(u=i,i=n[t+1])))/2;return r[t]=o,r}function ko(n){for(var t,e,r,u,i=[],o=So(n),a=-1,c=n.length-1;++a<c;)t=wo(n[a],n[a+1]),oa(t)<Aa?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Eo(n){return n.length<3?oo(n):n[0]+po(n,ko(n))}function Ao(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+ys,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Co(n){function t(t){function c(){v.push("M",a(n(m),f),l,s(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=_t(e),_=_t(u),b=e===r?function(){return g}:_t(r),w=u===i?function(){return p}:_t(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=br,r=br,u=0,i=wr,o=be,a=oo,c=a.key,s=a,l="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=Ms.get(n)||oo).key,s=a.reverse||a,l=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function No(n){return n.radius}function Lo(n){return[n.x,n.y]}function To(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+ys;return[e*Math.cos(r),e*Math.sin(r)]}}function qo(){return 64}function zo(){return"circle"}function Ro(n){var t=Math.sqrt(n/Sa);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Do(n,t){return fa(n,Ns),n.id=t,n}function Po(n,t,e,r){var u=n.id;return R(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Uo(n){return null==n&&(n=""),function(){this.textContent=n}}function jo(n,t,e,r){var i=n.__transition__||(n.__transition__={active:0,count:0}),o=i[e];if(!o){var a=r.time;o=i[e]={tween:new u,time:a,ease:r.ease,delay:r.delay,duration:r.duration},++i.count,Xo.timer(function(r){function u(r){return i.active>e?s():(i.active=e,o.event&&o.event.start.call(n,l,t),o.tween.forEach(function(e,r){(r=r.call(n,l,t))&&v.push(r)}),Xo.timer(function(){return p.c=c(r||1)?be:c,1},0,a),void 0)}function c(r){if(i.active!==e)return s();for(var u=r/g,a=f(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,l,t),s()):void 0}function s(){return--i.count?delete i[e]:delete n.__transition__,1}var l=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=Ja,v=[];return p.t=h+a,r>=h?u(r-h):(p.c=u,void 0)},0,a)}}function Ho(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function Fo(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function Oo(n){return n.toISOString()}function Yo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Xo.bisect(js,u);return i==js.length?[t.year,Yi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/js[i-1]<js[i]/u?i-1:i]:[Os,Yi(n,e)[2]]}return r.invert=function(t){return Io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Io(+e+1),t).length}var i=r.domain(),o=zi(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Pi(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=zi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Yo(n.copy(),t,e)},Fi(r,n)}function Io(n){return new Date(n)}function Zo(n){return JSON.parse(n.responseText)}function Vo(n){var t=Wo.createRange();return t.selectNode(Wo.body),t.createContextualFragment(n.responseText)}var Xo={version:"3.4.3"};Date.now||(Date.now=function(){return+new Date});var $o=[].slice,Bo=function(n){return $o.call(n)},Wo=document,Jo=Wo.documentElement,Go=window;try{Bo(Jo.childNodes)[0].nodeType}catch(Ko){Bo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Wo.createElement("div").style.setProperty("opacity",0,"")}catch(Qo){var na=Go.Element.prototype,ta=na.setAttribute,ea=na.setAttributeNS,ra=Go.CSSStyleDeclaration.prototype,ua=ra.setProperty;na.setAttribute=function(n,t){ta.call(this,n,t+"")},na.setAttributeNS=function(n,t,e){ea.call(this,n,t,e+"")},ra.setProperty=function(n,t,e){ua.call(this,n,t+"",e)}}Xo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},Xo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Xo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Xo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Xo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Xo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i<u;)isNaN(e=+n[i])||(r+=e);else for(;++i<u;)isNaN(e=+t.call(n,n[i],i))||(r+=e);return r},Xo.mean=function(t,e){var r,u=t.length,i=0,o=-1,a=0;if(1===arguments.length)for(;++o<u;)n(r=t[o])&&(i+=(r-i)/++a);else for(;++o<u;)n(r=e.call(t,t[o],o))&&(i+=(r-i)/++a);return a?i:void 0},Xo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Xo.median=function(t,e){return arguments.length>1&&(t=t.map(e)),t=t.filter(n),t.length?Xo.quantile(t.sort(Xo.ascending),.5):void 0},Xo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)<e?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;e<n.call(t,t[i],i)?u=i:r=i+1}return r}}};var ia=Xo.bisector(function(n){return n});Xo.bisectLeft=ia.left,Xo.bisect=Xo.bisectRight=ia.right,Xo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Xo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Xo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Xo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=Xo.min(arguments,t),r=new Array(e);++n<e;)for(var u,i=-1,o=r[n]=new Array(u);++i<u;)o[i]=arguments[i][n];return r},Xo.transpose=function(n){return Xo.zip.apply(Xo,n)},Xo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Xo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Xo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Xo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var oa=Math.abs;Xo.range=function(n,t,r){if(arguments.length<3&&(r=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/r)throw new Error("infinite range");var u,i=[],o=e(oa(r)),a=-1;if(n*=o,t*=o,r*=o,0>r)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)<t;)i.push(u/o);return i},Xo.map=function(n){var t=new u;if(n instanceof u)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t},r(u,{has:i,get:function(n){return this[aa+n]},set:function(n,t){return this[aa+n]=t},remove:o,keys:a,values:function(){var n=[];return this.forEach(function(t,e){n.push(e)}),n},entries:function(){var n=[];return this.forEach(function(t,e){n.push({key:t,value:e})}),n},size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1),this[t])}});var aa="\x00",ca=aa.charCodeAt(0);Xo.nest=function(){function n(t,a,c){if(c>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,l,f,h,g=-1,p=a.length,v=o[c++],d=new u;++g<p;)(h=d.get(s=v(l=a[g])))?h.push(l):d.set(s,[l]);return t?(l=t(),f=function(e,r){l.set(e,n(t,r,c))}):(l={},f=function(e,r){l[e]=n(t,r,c)}),d.forEach(f),l}function t(n,e){if(e>=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(Xo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},Xo.set=function(n){var t=new l;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(l,{has:i,add:function(n){return this[aa+n]=!0,n},remove:function(n){return n=aa+n,n in this&&delete this[n]},values:a,size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1))}}),Xo.behavior={},Xo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=f(n,t,t[e]);return n};var sa=["webkit","ms","moz","Moz","o","O"];Xo.dispatch=function(){for(var n=new p,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=v(n);return n},p.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Xo.event=null,Xo.requote=function(n){return n.replace(la,"\\$&")};var la=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,fa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ha=function(n,t){return t.querySelector(n)},ga=function(n,t){return t.querySelectorAll(n)},pa=Jo[h(Jo,"matchesSelector")],va=function(n,t){return pa.call(n,t)};"function"==typeof Sizzle&&(ha=function(n,t){return Sizzle(n,t)[0]||null},ga=Sizzle,va=Sizzle.matchesSelector),Xo.selection=function(){return xa};var da=Xo.selection.prototype=[];da.select=function(n){var t,e,r,u,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,s=r.length;++c<s;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return x(i)},da.selectAll=function(n){var t,e,r=[];n=_(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Bo(n.call(e,e.__data__,a,u))),t.parentNode=e);return x(r)};var ma={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Xo.ns={prefix:ma,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.substring(0,t),n=n.substring(t+1)),ma.hasOwnProperty(e)?{space:ma[e],local:n}:n}},da.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Xo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(b(t,n[t]));return this}return this.each(b(n,t))},da.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=k(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!S(n[u]).test(t))return!1;return!0}for(t in n)this.each(E(t,n[t]));return this}return this.each(E(n,t))},da.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return Go.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(C(n,t,e))},da.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(N(t,n[t]));return this}return this.each(N(n,t))},da.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},da.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},da.append=function(n){return n=L(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},da.insert=function(n,t){return n=L(n),t=M(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},da.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},da.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new u,y=new u,x=[];for(r=-1;++r<a;)d=t.call(i=n[r],i.__data__,r),m.has(d)?v[r]=i:m.set(d,i),x.push(d);for(r=-1;++r<f;)d=t.call(e,o=e[r],r),(i=m.get(d))?(g[r]=i,i.__data__=o):y.has(d)||(p[r]=T(o)),y.set(d,o),m.remove(d);for(r=-1;++r<a;)m.has(x[r])&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],o=e[r],i?(i.__data__=o,g[r]=i):p[r]=T(o);for(;f>r;++r)p[r]=T(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),s.push(g),l.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(n[o]=i.__data__);return n}var c=D([]),s=x([]),l=x([]);if("function"==typeof n)for(;++o<a;)e(r=this[o],n.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],n);return s.enter=function(){return c},s.exit=function(){return l},s},da.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},da.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return x(u)},da.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},da.sort=function(n){n=z.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},da.each=function(n){return R(this,function(t,e,r){n.call(t,t.__data__,e,r)})},da.call=function(n){var t=Bo(arguments);return n.apply(t[0]=this,t),this},da.empty=function(){return!this.node()},da.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},da.size=function(){var n=0;return this.each(function(){++n}),n};var ya=[];Xo.selection.enter=D,Xo.selection.enter.prototype=ya,ya.append=da.append,ya.empty=da.empty,ya.node=da.node,ya.call=da.call,ya.size=da.size,ya.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var s=-1,l=u.length;++s<l;)(i=u[s])?(t.push(r[s]=e=n.call(u.parentNode,i.__data__,s,a)),e.__data__=i.__data__):t.push(null)}return x(o)},ya.insert=function(n,t){return arguments.length<2&&(t=P(this)),da.insert.call(this,n,t)},da.transition=function(){for(var n,t,e=ks||++Ls,r=[],u=Es||{time:Date.now(),ease:yu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,s=a.length;++c<s;)(t=a[c])&&jo(t,c,e,u),n.push(t)}return Do(r,e)},da.interrupt=function(){return this.each(U)},Xo.select=function(n){var t=["string"==typeof n?ha(n,Wo):n];return t.parentNode=Jo,x([t])},Xo.selectAll=function(n){var t=Bo("string"==typeof n?ga(n,Wo):n);return t.parentNode=Jo,x([t])};var xa=Xo.select(Jo);da.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(j(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(j(n,t,e))};var Ma=Xo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ma.forEach(function(n){"on"+n in Wo&&Ma.remove(n)});var _a="onselectstart"in Wo?null:h(Jo.style,"userSelect"),ba=0;Xo.mouse=function(n){return Y(n,m())};var wa=/WebKit/.test(Go.navigator.userAgent)?-1:0;Xo.touches=function(n,t){return arguments.length<2&&(t=m().touches),t?Bo(t).map(function(t){var e=Y(n,t);return e.identifier=t.identifier,e}):[]},Xo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return Xo.event.changedTouches[0].identifier}function e(n,t){return Xo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(l,g),e=n[0]-v[0],r=n[1]-v[1];d|=e|r,v=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(d&&Xo.event.target===h),f({type:"dragend"})}var c,s=this,l=s.parentNode,f=u.of(s,arguments),h=Xo.event.target,g=n(),p=null==g?"drag":"drag-"+g,v=t(l,g),d=0,m=Xo.select(Go).on(e+"."+p,o).on(r+"."+p,a),y=O();i?(c=i.apply(s,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var u=y(n,"drag","dragstart","dragend"),i=null,o=r(g,Xo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},Xo.rebind(n,u,"on")};var Sa=Math.PI,ka=2*Sa,Ea=Sa/2,Aa=1e-6,Ca=Aa*Aa,Na=Sa/180,La=180/Sa,Ta=Math.SQRT2,qa=2,za=4;Xo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=B(v),o=i/(qa*h)*(e*W(Ta*t+v)-$(v));return[r+o*s,u+o*l,i*e/B(Ta*t+v)]}return[r+n*s,u+n*l,i*Math.exp(Ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],s=o-r,l=a-u,f=s*s+l*l,h=Math.sqrt(f),g=(c*c-i*i+za*f)/(2*i*qa*h),p=(c*c-i*i-za*f)/(2*c*qa*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ta;return e.duration=1e3*y,e},Xo.behavior.zoom=function(){function n(n){n.on(A,s).on(Pa+".zoom",f).on(C,h).on("dblclick.zoom",g).on(L,l)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){_&&_.domain(M.range().map(function(n){return(n-S.x)/S.k}).map(M.invert)),w&&w.domain(b.range().map(function(n){return(n-S.y)/S.k}).map(b.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function s(){function n(){l=1,u(Xo.mouse(r),g),a(i)}function e(){f.on(C,Go===r?h:null).on(N,null),p(l&&Xo.event.target===s),c(i)}var r=this,i=T.of(r,arguments),s=Xo.event.target,l=0,f=Xo.select(Go).on(C,n).on(N,e),g=t(Xo.mouse(r)),p=O();U.call(r),o(i)}function l(){function n(){var n=Xo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=Xo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-x){var s=o[0],l=v[s.identifier];r(2*S.k),u(s,l),d(),a(p)}x=c}else if(o.length>1){var s=o[0],f=o[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function i(){for(var n,t,e,i,o=Xo.touches(g),c=0,s=o.length;s>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var l=(l=e[0]-n[0])*l+(l=e[1]-n[1])*l,f=m&&Math.sqrt(l/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}x=null,u(n,t),a(p)}function f(){if(Xo.event.touches.length){for(var t=Xo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}b.on(M,null).on(_,null),w.on(A,s).on(L,l),k(),c(p)}var h,g=this,p=T.of(g,arguments),v={},m=0,y=Xo.event.changedTouches[0].identifier,M="touchmove.zoom-"+y,_="touchend.zoom-"+y,b=Xo.select(Go).on(M,i).on(_,f),w=Xo.select(g).on(A,null).on(L,e),k=O();U.call(g),e(),o(p)}function f(){var n=T.of(this,arguments);m?clearTimeout(m):(U.call(this),o(n)),m=setTimeout(function(){m=null,c(n)},50),d();var e=v||Xo.mouse(this);p||(p=t(e)),r(Math.pow(2,.002*Ra())*S.k),u(e,p),a(n)}function h(){p=null}function g(){var n=T.of(this,arguments),e=Xo.mouse(this),i=t(e),s=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Xo.event.shiftKey?Math.ceil(s)-1:Math.floor(s)+1)),u(e,i),a(n),c(n)}var p,v,m,x,M,_,b,w,S={x:0,y:0,k:1},k=[960,500],E=Da,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",L="touchstart.zoom",T=y(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=T.of(this,arguments),t=S;ks?Xo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Xo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Da:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(_=t,M=t.copy(),S={x:0,y:0,k:1},n):_},n.y=function(t){return arguments.length?(w=t,b=t.copy(),S={x:0,y:0,k:1},n):w},Xo.rebind(n,T,"on")};var Ra,Da=[0,1/0],Pa="onwheel"in Wo?(Ra=function(){return-Xo.event.deltaY*(Xo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Wo?(Ra=function(){return Xo.event.wheelDelta},"mousewheel"):(Ra=function(){return-Xo.event.detail},"MozMousePixelScroll");G.prototype.toString=function(){return this.rgb()+""},Xo.hsl=function(n,t,e){return 1===arguments.length?n instanceof Q?K(n.h,n.s,n.l):dt(""+n,mt,K):K(+n,+t,+e)};var Ua=Q.prototype=new G;Ua.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,this.l/n)},Ua.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,n*this.l)},Ua.rgb=function(){return nt(this.h,this.s,this.l)},Xo.hcl=function(n,t,e){return 1===arguments.length?n instanceof et?tt(n.h,n.c,n.l):n instanceof it?at(n.l,n.a,n.b):at((n=yt((n=Xo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):tt(+n,+t,+e)};var ja=et.prototype=new G;ja.brighter=function(n){return tt(this.h,this.c,Math.min(100,this.l+Ha*(arguments.length?n:1)))},ja.darker=function(n){return tt(this.h,this.c,Math.max(0,this.l-Ha*(arguments.length?n:1)))},ja.rgb=function(){return rt(this.h,this.c,this.l).rgb()},Xo.lab=function(n,t,e){return 1===arguments.length?n instanceof it?ut(n.l,n.a,n.b):n instanceof et?rt(n.l,n.c,n.h):yt((n=Xo.rgb(n)).r,n.g,n.b):ut(+n,+t,+e)};var Ha=18,Fa=.95047,Oa=1,Ya=1.08883,Ia=it.prototype=new G;Ia.brighter=function(n){return ut(Math.min(100,this.l+Ha*(arguments.length?n:1)),this.a,this.b)},Ia.darker=function(n){return ut(Math.max(0,this.l-Ha*(arguments.length?n:1)),this.a,this.b)},Ia.rgb=function(){return ot(this.l,this.a,this.b)},Xo.rgb=function(n,t,e){return 1===arguments.length?n instanceof pt?gt(n.r,n.g,n.b):dt(""+n,gt,nt):gt(~~n,~~t,~~e)};var Za=pt.prototype=new G;Za.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),gt(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):gt(u,u,u)},Za.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),gt(~~(n*this.r),~~(n*this.g),~~(n*this.b))},Za.hsl=function(){return mt(this.r,this.g,this.b)},Za.toString=function(){return"#"+vt(this.r)+vt(this.g)+vt(this.b)};var Va=Xo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Va.forEach(function(n,t){Va.set(n,ft(t))}),Xo.functor=_t,Xo.xhr=wt(bt),Xo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=St(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(l>=s)return o;if(u)return u=!1,i;var t=l;if(34===n.charCodeAt(t)){for(var e=t;e++<s;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}l=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++l):10===r&&(u=!0),n.substring(t+1,e).replace(/""/g,'"')}for(;s>l;){var r=n.charCodeAt(l++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(l)&&(++l,++a);else if(r!==c)continue;return n.substring(t,l-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],s=n.length,l=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new l,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Xo.csv=Xo.dsv(",","text/csv"),Xo.tsv=Xo.dsv("	","text/tab-separated-values");var Xa,$a,Ba,Wa,Ja,Ga=Go[h(Go,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Xo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};$a?$a.n=i:Xa=i,$a=i,Ba||(Wa=clearTimeout(Wa),Ba=1,Ga(Et))},Xo.timer.flush=function(){At(),Ct()},Xo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var Ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Lt);Xo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Xo.round(n,Nt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),Ka[8+e/3]};var Qa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,nc=Xo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Xo.round(n,Nt(n,t))).toFixed(Math.max(0,Math.min(20,Nt(n*(1+1e-15),t))))}}),tc=Xo.time={},ec=Date;zt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){rc.setUTCDate.apply(this._,arguments)},setDay:function(){rc.setUTCDay.apply(this._,arguments)},setFullYear:function(){rc.setUTCFullYear.apply(this._,arguments)},setHours:function(){rc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){rc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){rc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){rc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){rc.setUTCSeconds.apply(this._,arguments)},setTime:function(){rc.setTime.apply(this._,arguments)}};var rc=Date.prototype;tc.year=Rt(function(n){return n=tc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),tc.years=tc.year.range,tc.years.utc=tc.year.utc.range,tc.day=Rt(function(n){var t=new ec(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),tc.days=tc.day.range,tc.days.utc=tc.day.utc.range,tc.dayOfYear=function(n){var t=tc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=tc[n]=Rt(function(n){return(n=tc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});tc[n+"s"]=e.range,tc[n+"s"].utc=e.utc.range,tc[n+"OfYear"]=function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)}}),tc.week=tc.sunday,tc.weeks=tc.sunday.range,tc.weeks.utc=tc.sunday.utc.range,tc.weekOfYear=tc.sundayOfYear;var uc={"-":"",_:" ",0:"0"},ic=/^\s*\d+/,oc=/^%/;Xo.locale=function(n){return{numberFormat:Tt(n),timeFormat:Pt(n)}};var ac=Xo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Xo.format=ac.numberFormat,Xo.geo={},re.prototype={s:0,t:0,add:function(n){ue(n,this.t,cc),ue(cc.s,this.s,this),this.s?this.t+=cc.t:this.s=cc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cc=new re;Xo.geo.stream=function(n,t){n&&sc.hasOwnProperty(n.type)?sc[n.type](n,t):ie(n,t)};var sc={Feature:function(n,t){ie(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)ie(e[r].geometry,t)}},lc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){oe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)oe(e[r],t,0)},Polygon:function(n,t){ae(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ae(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)ie(e[r],t)}};Xo.geo.area=function(n){return fc=0,Xo.geo.stream(n,gc),fc};var fc,hc=new re,gc={sphere:function(){fc+=4*Sa},point:g,lineStart:g,lineEnd:g,polygonStart:function(){hc.reset(),gc.lineStart=ce},polygonEnd:function(){var n=2*hc;fc+=0>n?4*Sa+n:n,gc.lineStart=gc.lineEnd=gc.point=g}};Xo.geo.bounds=function(){function n(n,t){x.push(M=[l=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=se([t*Na,e*Na]);if(m){var u=fe(m,r),i=[u[1],-u[0],0],o=fe(i,u);pe(o),o=ve(o);var c=t-p,s=c>0?1:-1,v=o[0]*La*s,d=oa(c)>180;if(d^(v>s*p&&s*t>v)){var y=o[1]*La;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>s*p&&s*t>v)){var y=-o[1]*La;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t):h>=l?(l>t&&(l=t),t>h&&(h=t)):t>p?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=l,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=oa(r)>180?r+(r>0?360:-360):r}else v=n,d=e;gc.point(n,e),t(n,e)}function i(){gc.lineStart()}function o(){u(v,d),gc.lineEnd(),oa(y)>Aa&&(l=-(h=180)),M[0]=l,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function s(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var l,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,gc.polygonStart()},polygonEnd:function(){gc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>hc?(l=-(h=180),f=-(g=90)):y>Aa?g=90:-Aa>y&&(f=-90),M[0]=l,M[1]=h}};return function(n){g=h=-(l=f=1/0),x=[],Xo.geo.stream(n,_);var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],s(e[0],u)||s(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,l=e[0],h=u[1])}return x=M=null,1/0===l||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[l,f],[h,g]]}}(),Xo.geo.centroid=function(n){pc=vc=dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,kc);var t=bc,e=wc,r=Sc,u=t*t+e*e+r*r;return Ca>u&&(t=xc,e=Mc,r=_c,Aa>vc&&(t=dc,e=mc,r=yc),u=t*t+e*e+r*r,Ca>u)?[0/0,0/0]:[Math.atan2(e,t)*La,X(r/Math.sqrt(u))*La]};var pc,vc,dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc={sphere:g,point:me,lineStart:xe,lineEnd:Me,polygonStart:function(){kc.lineStart=_e},polygonEnd:function(){kc.lineStart=xe}},Ec=Ee(be,Te,ze,[-Sa,-Sa/2]),Ac=1e9;Xo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Pe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Xo.geo.conicEqualArea=function(){return je(They)}).raw=They,Xo.geo.albers=function(){return Xo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Xo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Xo.geo.albers(),o=Xo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Xo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var s=i.scale(),l=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[l-.455*s,f-.238*s],[l+.455*s,f+.238*s]]).stream(c).point,r=o.translate([l-.307*s,f+.201*s]).clipExtent([[l-.425*s+Aa,f+.12*s+Aa],[l-.214*s-Aa,f+.234*s-Aa]]).stream(c).point,u=a.translate([l-.205*s,f+.212*s]).clipExtent([[l-.214*s+Aa,f+.166*s+Aa],[l-.115*s-Aa,f+.234*s-Aa]]).stream(c).point,n},n.scale(1070)};var Cc,Nc,Lc,Tc,qc,zc,Rc={point:g,lineStart:g,lineEnd:g,polygonStart:function(){Nc=0,Rc.lineStart=Fe},polygonEnd:function(){Rc.lineStart=Rc.lineEnd=Rc.point=g,Cc+=oa(Nc/2)}},Dc={point:Oe,lineStart:g,lineEnd:g,polygonStart:g,polygonEnd:g},Pc={point:Ze,lineStart:Ve,lineEnd:Xe,polygonStart:function(){Pc.lineStart=$e},polygonEnd:function(){Pc.point=Ze,Pc.lineStart=Ve,Pc.lineEnd=Xe}};Xo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Xo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Cc=0,Xo.geo.stream(n,u(Rc)),Cc},n.centroid=function(n){return dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,u(Pc)),Sc?[bc/Sc,wc/Sc]:_c?[xc/_c,Mc/_c]:yc?[dc/yc,mc/yc]:[0/0,0/0]},n.bounds=function(n){return qc=zc=-(Lc=Tc=1/0),Xo.geo.stream(n,u(Dc)),[[Lc,Tc],[qc,zc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Je(n):bt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Ye:new Be(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Xo.geo.albersUsa()).context(null)},Xo.geo.transform=function(n){return{stream:function(t){var e=new Ge(t);for(var r in n)e[r]=n[r];return e}}},Ge.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Xo.geo.projection=Qe,Xo.geo.projectionMutator=nr,(Xo.geo.equirectangular=function(){return Qe(er)}).raw=er.invert=er,Xo.geo.rotation=function(n){function t(t){return t=n(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t}return n=ur(n[0]%360*Na,n[1]*Na,n.length>2?n[2]*Na:0),t.invert=function(t){return t=n.invert(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t},t},rr.invert=er,Xo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=ur(-n[0]*Na,-n[1]*Na,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=La,n[1]*=La}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=cr((t=+r)*Na,u*Na),n):t},n.precision=function(r){return arguments.length?(e=cr(t*Na,(u=+r)*Na),n):u},n.angle(90)},Xo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Na,u=n[1]*Na,i=t[1]*Na,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),s=Math.cos(u),l=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=s*l-c*f*a)*e),c*l+s*f*a)},Xo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Xo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Xo.range(Math.ceil(s/m)*m,c,m).map(g)).concat(Xo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return oa(n%d)>Aa}).map(l)).concat(Xo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return oa(n%m)>Aa}).map(f))}var e,r,u,i,o,a,c,s,l,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(s).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],s=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),s>c&&(t=s,s=c,c=t),n.precision(y)):[[i,s],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,l=lr(a,o,90),f=fr(r,e,y),h=lr(s,c,90),g=fr(i,u,y),n):y},n.majorExtent([[-180,-90+Aa],[180,90-Aa]]).minorExtent([[-180,-80-Aa],[180,80+Aa]])},Xo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=hr,u=gr;return n.distance=function(){return Xo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Xo.geo.interpolate=function(n,t){return pr(n[0]*Na,n[1]*Na,t[0]*Na,t[1]*Na)},Xo.geo.length=function(n){return Uc=0,Xo.geo.stream(n,jc),Uc};var Uc,jc={sphere:g,point:g,lineStart:vr,lineEnd:g,polygonStart:g,polygonEnd:g},Hc=dr(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Xo.geo.azimuthalEqualArea=function(){return Qe(Hc)}).raw=Hc;var Fc=dr(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},bt);(Xo.geo.azimuthalEquidistant=function(){return Qe(Fc)}).raw=Fc,(Xo.geo.conicConformal=function(){return je(mr)}).raw=mr,(Xo.geo.conicEquidistant=function(){return je(yr)}).raw=yr;var Oc=dr(function(n){return 1/n},Math.atan);(Xo.geo.gnomonic=function(){return Qe(Oc)}).raw=Oc,xr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ea]},(Xo.geo.mercator=function(){return Mr(xr)}).raw=xr;var Yc=dr(function(){return 1},Math.asin);(Xo.geo.orthographic=function(){return Qe(Yc)}).raw=Yc;var Ic=dr(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Xo.geo.stereographic=function(){return Qe(Ic)}).raw=Ic,_r.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ea]},(Xo.geo.transverseMercator=function(){var n=Mr(_r),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[-n[1],n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},n.rotate([0,0])}).raw=_r,Xo.geom={},Xo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=_t(e),i=_t(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(kr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var s=Sr(a),l=Sr(c),f=l[0]===s[0],h=l[l.length-1]===s[s.length-1],g=[];for(t=s.length-1;t>=0;--t)g.push(n[a[s[t]][2]]);for(t=+f;t<l.length-h;++t)g.push(n[a[l[t]][2]]);return g}var e=br,r=wr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Xo.geom.polygon=function(n){return fa(n,Zc),n};var Zc=Xo.geom.polygon.prototype=[];Zc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Zc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Zc.clip=function(n){for(var t,e,r,u,i,o,a=Cr(n),c=-1,s=this.length-Cr(this),l=this[s-1];++c<s;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Er(o,l,u)?(Er(i,l,u)||n.push(Ar(i,o,l,u)),n.push(o)):Er(i,l,u)&&n.push(Ar(i,o,l,u)),i=o;a&&n.push(n[0]),l=u}return n};var Vc,Xc,$c,Bc,Wc,Jc=[],Gc=[];Pr.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(jr),t.length},Br.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Wr.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=Qr(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(Gr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Kr(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(Kr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Gr(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?Qr(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,Gr(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Kr(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,Gr(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,Kr(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Gr(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,Kr(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Xo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return nu(e(n),a).cells.forEach(function(e,a){var c=e.edges,s=e.site,l=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):s.x>=r&&s.x<=i&&s.y>=u&&s.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];l.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Aa)*Aa,y:Math.round(o(n,t)/Aa)*Aa,i:t}})}var r=br,u=wr,i=r,o=u,a=Kc;return n?t(n):(t.links=function(n){return nu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return nu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(jr),c=-1,s=a.length,l=a[s-1].edge,f=l.l===o?l.r:l.l;++c<s;)u=l,i=f,l=a[c].edge,f=l.l===o?l.r:l.l,r<i.i&&r<f.i&&eu(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=_t(r=n),t):r},t.y=function(n){return arguments.length?(o=_t(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?Kc:n,t):a===Kc?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===Kc?null:a&&a[1]},t)};var Kc=[[-1e6,-1e6],[1e6,1e6]];Xo.geom.delaunay=function(n){return Xo.geom.voronoi().triangles(n)},Xo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,l=n.y;if(null!=c)if(oa(c-e)+oa(l-r)<.01)s(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,s(n,f,c,l,u,i,o,a),s(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else s(n,t,e,r,u,i,o,a)}function s(n,t,e,r,u,o,a,c){var s=.5*(u+a),l=.5*(o+c),f=e>=s,h=r>=l,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=iu()),f?u=s:a=s,h?o=l:c=l,i(n,t,e,r,u,o,a,c)}var l,f,h,g,p,v,d,m,y,x=_t(a),M=_t(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)l=n[g],l.x<v&&(v=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>y&&(y=l.y),f.push(l.x),h.push(l.y);else for(g=0;p>g;++g){var _=+x(l=n[g],g),b=+M(l,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=iu();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){ou(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=l=null,k}var o,a=br,c=wr;return(o=arguments.length)?(a=ru,c=uu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Xo.interpolateRgb=au,Xo.interpolateObject=cu,Xo.interpolateNumber=su,Xo.interpolateString=lu;var Qc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;Xo.interpolate=fu,Xo.interpolators=[function(n,t){var e=typeof t;return("string"===e?Va.has(t)||/^(#|rgb\(|hsl\()/.test(t)?au:lu:t instanceof G?au:"object"===e?Array.isArray(t)?hu:cu:su)(n,t)}],Xo.interpolateArray=hu;var ns=function(){return bt},ts=Xo.map({linear:ns,poly:xu,quad:function(){return du},cubic:function(){return mu},sin:function(){return Mu},exp:function(){return _u},circle:function(){return bu},elastic:wu,back:Su,bounce:function(){return ku}}),es=Xo.map({"in":bt,out:pu,"in-out":vu,"out-in":function(n){return vu(pu(n))}});Xo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=ts.get(e)||ns,r=es.get(r)||bt,gu(r(e.apply(null,$o.call(arguments,1))))},Xo.interpolateHcl=Eu,Xo.interpolateHsl=Au,Xo.interpolateLab=Cu,Xo.interpolateRound=Nu,Xo.transform=function(n){var t=Wo.createElementNS(Xo.ns.prefix.svg,"g");return(Xo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Lu(e?e.matrix:rs)})(n)},Lu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var rs={a:1,b:0,c:0,d:1,e:0,f:0};Xo.interpolateTransform=Ru,Xo.layout={},Xo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Uu(n[e]));return t}},Xo.layout.chord=function(){function n(){var n,s,f,h,g,p={},v=[],d=Xo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(s=0,g=-1;++g<i;)s+=u[h][g];v.push(s),m.push(Xo.range(i)),n+=s}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(ka-l*i)/n,s=0,h=-1;++h<i;){for(f=s,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=s,b=s+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:s,value:(s-f)/n},s+=l}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,s={},l=0;return s.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,s):u},s.padding=function(n){return arguments.length?(l=n,e=r=null,s):l},s.sortGroups=function(n){return arguments.length?(o=n,e=r=null,s):o},s.sortSubgroups=function(n){return arguments.length?(a=n,e=null,s):a},s.sortChords=function(n){return arguments.length?(c=n,e&&t(),s):c},s.chords=function(){return e||n(),e},s.groups=function(){return r||n(),r},s},Xo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var s=t.charge/c;n.px-=i*s,n.py-=o*s}return!0}if(t.point&&c&&p>c){var s=t.pointCharge/c;n.px-=i*s,n.py-=o*s}}return!t.charge}}function t(n){n.px=Xo.event.x,n.py=Xo.event.y,a.resume()}var e,r,u,i,o,a={},c=Xo.dispatch("start","tick","end"),s=[1,1],l=.9,f=us,h=is,g=-30,p=os,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=s[0]/2,M=s[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Zu(t=Xo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*l,a.y-=(a.py-(a.py=a.y))*l);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(s=n,a):s},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(l=+n,a):l},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Xo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,s=o.length;++a<s;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,l=y.length,p=s[0],v=s[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;l>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;l>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;l>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;l>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;l>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Xo.behavior.drag().origin(bt).on("dragstart.force",Fu).on("drag.force",t).on("dragend.force",Ou)),arguments.length?(this.on("mouseover.force",Yu).on("mouseout.force",Iu).call(e),void 0):e},Xo.rebind(a,c,"on")};var us=20,is=1,os=1/0;Xo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(s=c.length)){for(var s,l,f=-1,h=t.children=new Array(s),g=0,p=o+1;++f<s;)l=h[f]=n(c[f],p,a),l.parent=t,g+=l.value;r&&h.sort(r),i&&(t.value=g)}else delete t.children,i&&(t.value=+i.call(e,t,o)||0);return t}function t(n,r){var u=n.children,o=0;if(u&&(a=u.length))for(var a,c=-1,s=r+1;++c<a;)o+=t(u[c],s);else i&&(o=+i.call(e,n,r)||0);return i&&(n.value=o),o}function e(t){var e=[];return n(t,0,e),e}var r=Bu,u=Xu,i=$u;return e.sort=function(n){return arguments.length?(r=n,e):r},e.children=function(n){return arguments.length?(u=n,e):u},e.value=function(n){return arguments.length?(i=n,e):i},e.revalue=function(n){return t(n,0),n},e},Xo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,s=-1;for(r=t.value?r/t.value:0;++s<o;)n(a=i[s],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Xo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Vu(e,r)},Xo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Xo.sum(o),s=Xo.range(i.length);null!=e&&s.sort(e===as?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var l=[];return s.forEach(function(n){var t;l[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),l}var t=Number,e=as,r=0,u=ka;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var as={};Xo.layout.stack=function(){function n(a,c){var s=a.map(function(e,r){return t.call(n,e,r)}),l=s.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,l,c);s=Xo.permute(s,f),l=Xo.permute(l,f);var h,g,p,v=r.call(n,l,c),d=s.length,m=s[0].length;for(g=0;m>g;++g)for(u.call(n,s[0][g],p=v[g],l[0][g][1]),h=1;d>h;++h)u.call(n,s[h][g],p+=l[h-1][g][1],l[h][g][1]);return a}var t=bt,e=Qu,r=ni,u=Ku,i=Ju,o=Gu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:cs.get(t)||Qu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:ss.get(t)||ni,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var cs=Xo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ti),i=n.map(ei),o=Xo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,s=[],l=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],s.push(e)):(c+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(n){return Xo.range(n.length).reverse()},"default":Qu}),ss=Xo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,s,l=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=s=0,e=1;h>e;++e){for(t=0,u=0;l>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];l>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,s>c&&(s=c)}for(e=0;h>e;++e)g[e]-=s;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ni});Xo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],s=n.map(e,this),l=r.call(this,s,i),f=u.call(this,l,s,i),i=-1,h=s.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=s[i],a>=l[0]&&a<=l[1]&&(o=c[Xo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=oi,u=ui;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=_t(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return ii(n,t)}:_t(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Xo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,s,l=r[0],f=l,h=-1;++h<i;)s=r[h],o(s,a),f=c(s,a,f),a=s;vi(n);var g=.5*(l._tree.prelim+s._tree.prelim);t?(u.prelim=t._tree.prelim+e(n,t),u.mod=u.prelim-g):u.prelim=g}else t&&(u.prelim=t._tree.prelim+e(n,t))}function a(n,t){n.x=n._tree.prelim+t;var e=n.children;if(e&&(r=e.length)){var r,u=-1;for(t+=n._tree.mod;++u<r;)a(e[u],t)}}function c(n,t,r){if(t){for(var u,i=n,o=n,a=t,c=n.parent.children[0],s=i._tree.mod,l=o._tree.mod,f=a._tree.mod,h=c._tree.mod;a=si(a),i=ci(i),a&&i;)c=ci(c),o=si(o),o._tree.ancestor=n,u=a._tree.prelim+f-i._tree.prelim-s+e(a,i),u>0&&(di(mi(a,n,r),n,u),s+=u,l+=u),f+=a._tree.mod,s+=i._tree.mod,h+=c._tree.mod,l+=o._tree.mod;a&&!si(o)&&(o._tree.thread=a,o._tree.mod+=f-l),i&&!ci(c)&&(c._tree.thread=i,c._tree.mod+=s-h,r=n)}return r}var s=t.call(this,n,i),l=s[0];pi(l,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(l),a(l,-l._tree.prelim);var f=li(l,hi),h=li(l,fi),g=li(l,gi),p=f.x-e(f,h)/2,v=h.x+e(h,f)/2,d=g.depth||1;return pi(l,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(v-p)*r[0],n.y=n.depth/d*r[1],delete n._tree}),s}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],s=u[1],l=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,pi(a,function(n){n.r=+l(n.value)}),pi(a,bi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/s))/2;pi(a,function(n){n.r+=f}),pi(a,bi),pi(a,function(n){n.r-=f})}return ki(a,c/2,s/2,t?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var t,e=Xo.layout.hierarchy().sort(yi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Vu(n,e)},Xo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],s=0;pi(c,function(n){var t=n.children;t&&t.length?(n.x=Ci(t),n.y=Ai(t)):(n.x=o?s+=e(n,o):0,n.y=0,o=n)});var l=Ni(c),f=Li(c),h=l.x-e(l,f)/2,g=f.x+e(f,l)/2;return pi(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,s=f(e),l=[],h=i.slice(),p=1/0,v="slice"===g?s.dx:"dice"===g?s.dy:"slice-dice"===g?1&e.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(n(h,s.dx*s.dy/e.value),l.area=0;(c=h.length)>0;)l.push(o=h[c-1]),l.area+=o.area,"squarify"!==g||(a=r(l,v))<=p?(h.pop(),p=a):(l.area-=l.pop().area,u(l,v,s,!1),v=Math.min(s.dx,s.dy),l.length=l.area=0,p=1/0);l.length&&(u(l,v,s,!0),l.length=l.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,s=e.y,l=t?c(n.area/t):0;if(t==e.dx){for((r||l>e.dy)&&(l=e.dy);++i<o;)u=n[i],u.x=a,u.y=s,u.dy=l,a+=u.dx=Math.min(e.x+e.dx-a,l?c(u.area/l):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++i<o;)u=n[i],u.x=a,u.y=s,u.dx=l,s+=u.dy=Math.min(e.y+e.dy-s,l?c(u.area/l):0);u.z=!1,u.dy+=e.y+e.dy-s,e.x+=l,e.dx-=l}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=s[0],i.dy=s[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Xo.layout.hierarchy(),c=Math.round,s=[1,1],l=null,f=Ti,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(s=n,i):s},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ti(t):qi(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return qi(t,n)}if(!arguments.length)return l;var r;return f=null==(l=n)?Ti:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Vu(i,a)},Xo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Xo.random.normal.apply(Xo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Xo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Xo.scale={};var ls={floor:bt,ceil:bt};Xo.scale.linear=function(){return Hi([0,1],[0,1],fu,!1)};var fs={s:1,g:1,p:1,r:1,e:1};Xo.scale.log=function(){return $i(Xo.scale.linear().domain([0,1]),10,!0,[1,10])};var hs=Xo.format(".0e"),gs={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Xo.scale.pow=function(){return Bi(Xo.scale.linear(),1,[0,1])},Xo.scale.sqrt=function(){return Xo.scale.pow().exponent(.5)},Xo.scale.ordinal=function(){return Ji([],{t:"range",a:[[]]})},Xo.scale.category10=function(){return Xo.scale.ordinal().range(ps)},Xo.scale.category20=function(){return Xo.scale.ordinal().range(vs)},Xo.scale.category20b=function(){return Xo.scale.ordinal().range(ds)},Xo.scale.category20c=function(){return Xo.scale.ordinal().range(ms)};var ps=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ht),vs=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ht),ds=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ht),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ht);Xo.scale.quantile=function(){return Gi([],[])},Xo.scale.quantize=function(){return Ki(0,1,[0,1])},Xo.scale.threshold=function(){return Qi([.5],[0,1])},Xo.scale.identity=function(){return no([0,1])},Xo.svg={},Xo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+ys,a=u.apply(this,arguments)+ys,c=(o>a&&(c=o,o=a,a=c),a-o),s=Sa>c?"0":"1",l=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=xs?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+s+",0 "+n*l+","+n*f+"Z":"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=to,e=eo,r=ro,u=uo;return n.innerRadius=function(e){return arguments.length?(t=_t(e),n):t},n.outerRadius=function(t){return arguments.length?(e=_t(t),n):e},n.startAngle=function(t){return arguments.length?(r=_t(t),n):r},n.endAngle=function(t){return arguments.length?(u=_t(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+ys;return[Math.cos(i)*n,Math.sin(i)*n]},n};var ys=-Ea,xs=ka-Aa;Xo.svg.line=function(){return io(bt)};var Ms=Xo.map({linear:oo,"linear-closed":ao,step:co,"step-before":so,"step-after":lo,basis:mo,"basis-open":yo,"basis-closed":xo,bundle:Mo,cardinal:go,"cardinal-open":fo,"cardinal-closed":ho,monotone:Eo});Ms.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var _s=[0,2/3,1/3,0],bs=[0,1/3,2/3,0],ws=[0,1/6,2/3,1/6];Xo.svg.line.radial=function(){var n=io(Ao);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},so.reverse=lo,lo.reverse=so,Xo.svg.area=function(){return Co(bt)},Xo.svg.area.radial=function(){var n=Co(Ao);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Xo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),s=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,s)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,s.r,s.p0)+r(s.r,s.p1,s.a1-s.a0)+u(s.r,s.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+ys,l=s.call(n,u,r)+ys;return{r:i,a0:o,a1:l,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(l),i*Math.sin(l)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Sa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=hr,o=gr,a=No,c=ro,s=uo;return n.radius=function(t){return arguments.length?(a=_t(t),n):a},n.source=function(t){return arguments.length?(i=_t(t),n):i},n.target=function(t){return arguments.length?(o=_t(t),n):o},n.startAngle=function(t){return arguments.length?(c=_t(t),n):c},n.endAngle=function(t){return arguments.length?(s=_t(t),n):s},n},Xo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=hr,e=gr,r=Lo;return n.source=function(e){return arguments.length?(t=_t(e),n):t},n.target=function(t){return arguments.length?(e=_t(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Xo.svg.diagonal.radial=function(){var n=Xo.svg.diagonal(),t=Lo,e=n.projection;return n.projection=function(n){return arguments.length?e(To(t=n)):t},n},Xo.svg.symbol=function(){function n(n,r){return(Ss.get(t.call(this,n,r))||Ro)(e.call(this,n,r))}var t=zo,e=qo;return n.type=function(e){return arguments.length?(t=_t(e),n):t},n.size=function(t){return arguments.length?(e=_t(t),n):e},n};var Ss=Xo.map({circle:Ro,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Cs)),e=t*Cs;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Xo.svg.symbolTypes=Ss.keys();var ks,Es,As=Math.sqrt(3),Cs=Math.tan(30*Na),Ns=[],Ls=0;Ns.call=da.call,Ns.empty=da.empty,Ns.node=da.node,Ns.size=da.size,Xo.transition=function(n){return arguments.length?ks?n.transition():n:xa.transition()},Xo.transition.prototype=Ns,Ns.select=function(n){var t,e,r,u=this.id,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],s=-1,l=c.length;++s<l;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?("__data__"in r&&(e.__data__=r.__data__),jo(e,s,u,r.__transition__[u]),t.push(e)):t.push(null)}return Do(i,u)},Ns.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=_(n);for(var c=-1,s=this.length;++c<s;)for(var l=this[c],f=-1,h=l.length;++f<h;)if(r=l[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&jo(u,g,o,i),t.push(u)}return Do(a,o)},Ns.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Do(u,this.id)},Ns.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):R(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Ns.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Ru:fu,a=Xo.ns.qualify(n);return Po(this,"attr."+n,t,a.local?i:u)},Ns.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Xo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Ns.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Go.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=fu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Po(this,"style."+n,t,u)},Ns.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Go.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Ns.text=function(n){return Po(this,"text",n,Uo)},Ns.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Ns.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Xo.ease.apply(Xo,arguments)),R(this,function(e){e.__transition__[t].ease=n}))},Ns.delay=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Ns.duration=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Ns.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Es,u=ks;ks=e,R(this,function(t,r,u){Es=t.__transition__[e],n.call(t,t.__data__,r,u)}),Es=r,ks=u}else R(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Xo.dispatch("start","end"))).on(n,t)});return this},Ns.transition=function(){for(var n,t,e,r,u=this.id,i=++Ls,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],s=0,l=t.length;l>s;s++)(e=t[s])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,jo(e,s,i,r)),n.push(e)}return Do(o,i)},Xo.svg.axis=function(){function n(n){n.each(function(){var n,s=Xo.select(this),l=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):bt:t,p=s.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Aa),d=Xo.transition(p.exit()).style("opacity",Aa).remove(),m=Xo.transition(p).style("opacity",1),y=Ri(f),x=s.selectAll(".domain").data([0]),M=(x.enter().append("path").attr("class","domain"),Xo.transition(x));v.append("line"),v.append("text");var _=v.select("line"),b=m.select("line"),w=p.select("text").text(g),S=v.select("text"),k=m.select("text");switch(r){case"bottom":n=Ho,_.attr("y2",u),S.attr("y",Math.max(u,0)+o),b.attr("x2",0).attr("y2",u),k.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ho,_.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),b.attr("x2",0).attr("y2",-u),k.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=Fo,_.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),b.attr("x2",-u).attr("y2",0),k.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),M.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=Fo,_.attr("x2",u),S.attr("x",Math.max(u,0)+o),b.attr("x2",u).attr("y2",0),k.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),M.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var E=f,A=E.rangeBand()/2;l=f=function(n){return E(n)+A}}else l.rangeBand?l=f:d.call(n,f);v.call(n,l),m.call(n,f)})}var t,e=Xo.scale.linear(),r=Ts,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in qs?t+"":Ts,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Ts="bottom",qs={top:1,right:1,bottom:1,left:1};Xo.svg.brush=function(){function n(i){i.each(function(){var i=Xo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,bt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return zs[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,f=Xo.transition(i),h=Xo.transition(o);c&&(l=Ri(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),e(f)),s&&(l=Ri(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+l[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",l[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Xo.event.keyCode&&(C||(x=null,L[0]-=l[1],L[1]-=f[1],C=2),d())}function p(){32==Xo.event.keyCode&&2==C&&(L[0]+=l[1],L[1]+=f[1],C=0,d())}function v(){var n=Xo.mouse(_),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(Xo.event.altKey?(x||(x=[(l[0]+l[1])/2,(f[0]+f[1])/2]),L[0]=l[+(n[0]<x[0])],L[1]=f[+(n[1]<x[1])]):x=null),E&&m(n,c,0)&&(e(S),u=!0),A&&m(n,s,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,a=Ri(t),c=a[0],s=a[1],p=L[e],v=e?f:l,d=v[1]-v[0];return C&&(c-=p,s-=d+p),r=(e?g:h)?Math.max(c,Math.min(s,n[e])):n[e],C?u=(r+=p)+d:(x&&(p=Math.max(c,Math.min(s,2*x[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Xo.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var x,M,_=this,b=Xo.select(Xo.event.target),w=a.of(_,arguments),S=Xo.select(_),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&s,C=b.classed("extent"),N=O(),L=Xo.mouse(_),T=Xo.select(Go).on("keydown.brush",u).on("keyup.brush",p);if(Xo.event.changedTouches?T.on("touchmove.brush",v).on("touchend.brush",y):T.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),C)L[0]=l[0]-L[0],L[1]=f[0]-L[1];else if(k){var q=+/w$/.test(k),z=+/^n/.test(k);M=[l[1-q]-L[0],f[1-z]-L[1]],L[0]=l[q],L[1]=f[z]}else Xo.event.altKey&&(x=L.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Xo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=y(n,"brushstart","brush","brushend"),c=null,s=null,l=[0,0],f=[0,0],h=!0,g=!0,p=Rs[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:l,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,ks?Xo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,l=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=hu(l,t.x),r=hu(f,t.y);return i=o=null,function(u){l=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Rs[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,p=Rs[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(h=!!t[0],g=!!t[1]):c?h=!!t:s&&(g=!!t),n):c&&s?[h,g]:c?h:s?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=l[0]||r!=l[1])&&(l=[e,r])),s&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],s.invert&&(u=s(u),a=s(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=l[0],r=l[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),s&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],s.invert&&(u=s.invert(u),a=s.invert(a)),u>a&&(h=u,u=a,a=h))),c&&s?[[e,u],[r,a]]:c?[e,r]:s&&[u,a])},n.clear=function(){return n.empty()||(l=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&l[0]==l[1]||!!s&&f[0]==f[1]},Xo.rebind(n,a,"on")};var zs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Rs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ds=tc.format=ac.timeFormat,Ps=Ds.utc,Us=Ps("%Y-%m-%dT%H:%M:%S.%LZ");Ds.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Oo:Us,Oo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Oo.toString=Us.toString,tc.second=Rt(function(n){return new ec(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),tc.seconds=tc.second.range,tc.seconds.utc=tc.second.utc.range,tc.minute=Rt(function(n){return new ec(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),tc.minutes=tc.minute.range,tc.minutes.utc=tc.minute.utc.range,tc.hour=Rt(function(n){var t=n.getTimezoneOffset()/60;return new ec(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),tc.hours=tc.hour.range,tc.hours.utc=tc.hour.utc.range,tc.month=Rt(function(n){return n=tc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),tc.months=tc.month.range,tc.months.utc=tc.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Hs=[[tc.second,1],[tc.second,5],[tc.second,15],[tc.second,30],[tc.minute,1],[tc.minute,5],[tc.minute,15],[tc.minute,30],[tc.hour,1],[tc.hour,3],[tc.hour,6],[tc.hour,12],[tc.day,1],[tc.day,2],[tc.week,1],[tc.month,1],[tc.month,3],[tc.year,1]],Fs=Ds.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",be]]),Os={range:function(n,t,e){return Xo.range(Math.ceil(n/e)*e,+t,e).map(Io)},floor:bt,ceil:bt};Hs.year=tc.year,tc.scale=function(){return Yo(Xo.scale.linear(),Hs,Fs)};var Ys=Hs.map(function(n){return[n[0].utc,n[1]]}),Is=Ps.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",be]]);Ys.year=tc.year.utc,tc.scale.utc=function(){return Yo(Xo.scale.linear(),Ys,Is)},Xo.text=wt(function(n){return n.responseText}),Xo.json=function(n,t){return St(n,"application/json",Zo,t)},Xo.html=function(n,t){return St(n,"text/html",Vo,t)},Xo.xml=wt(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Xo):"object"==typeof module&&module.exports?module.exports=Xo:this.d3=Xo}();'use strict';(function(window){window.define=undefined;}).call(this,this);'use strict';tr.exportTo('tr.ui.b',function(){const DataSeriesEnableChangeEventType='data-series-enabled-change';const THIS_DOC=document.currentScript.ownerDocument;const svgNS='http://www.w3.org/2000/svg';const ColorScheme=tr.b.ColorScheme;function getColorOfKey(key,selected){let id=ColorScheme.getColorIdForGeneralPurposeString(key);if(selected){id+=ColorScheme.properties.brightenedOffsets[0];}
7833return ColorScheme.colorsAsStrings[id];}
7834function getSVGTextSize(parentNode,text,opt_callback,opt_this){const textNode=document.createElementNS('http://www.w3.org/2000/svg','text');textNode.setAttributeNS(null,'x',0);textNode.setAttributeNS(null,'y',0);textNode.setAttributeNS(null,'fill','black');textNode.appendChild(document.createTextNode(text));parentNode.appendChild(textNode);if(opt_callback){opt_callback.call(opt_this||parentNode,textNode);}
7835const width=textNode.getComputedTextLength();const height=textNode.getBBox().height;parentNode.removeChild(textNode);return{width,height};}
7836function DataSeries(key){this.key_=key;this.target_=undefined;this.title_='';this.optional_=false;this.enabled_=true;this.color_=getColorOfKey(key,false);this.highlightedColor_=getColorOfKey(key,true);}
7837DataSeries.prototype={get key(){return this.key_;},get title(){return this.title_;},set title(t){this.title_=t;},get color(){return this.color_;},set color(c){this.color_=c;},get highlightedColor(){return this.highlightedColor_;},set highlightedColor(c){this.highlightedColor_=c;},get optional(){return this.optional_;},set optional(optional){this.optional_=optional;},get enabled(){return this.enabled_;},set enabled(enabled){if(!this.optional&&!enabled){this.optional=true;}
7838this.enabled_=enabled;},get target(){return this.target_;},set target(t){this.target_=t;}};const ChartBase=tr.ui.b.define('svg',undefined,svgNS);ChartBase.prototype={__proto__:HTMLUnknownElement.prototype,getDataSeries(key){if(!this.seriesByKey_.has(key)){this.seriesByKey_.set(key,new DataSeries(key));}
7839return this.seriesByKey_.get(key);},decorate(){Polymer.dom(this).classList.add('chart-base');this.chartTitle_=undefined;this.seriesByKey_=new Map();this.graphWidth_=undefined;this.graphHeight_=undefined;this.margin={top:0,right:0,bottom:0,left:0,};this.hideLegend_=false;const template=Polymer.dom(THIS_DOC).querySelector('#chart-base-template');const svgEl=Polymer.dom(template.content).querySelector('svg');for(let i=0;i<Polymer.dom(svgEl).children.length;i++){Polymer.dom(this).appendChild(Polymer.dom(svgEl.children[i]).cloneNode(true));}
7840this.addEventListener(DataSeriesEnableChangeEventType,this.onDataSeriesEnableChange_.bind(this));},get hideLegend(){return this.hideLegend_;},set hideLegend(h){this.hideLegend_=h;this.updateContents_();},isSeriesEnabled(key){return this.getDataSeries(key).enabled;},onDataSeriesEnableChange_(event){this.getDataSeries(event.key).enabled=event.enabled;this.updateContents_();},get chartTitle(){return this.chartTitle_;},set chartTitle(chartTitle){this.chartTitle_=chartTitle;this.updateContents_();},get chartAreaElement(){return Polymer.dom(this).querySelector('#chart-area');},get graphWidth(){if(this.graphWidth_===undefined)return this.defaultGraphWidth;return this.graphWidth_;},set graphWidth(width){this.graphWidth_=width;this.updateContents_();},get defaultGraphWidth(){return 0;},get graphHeight(){if(this.graphHeight_===undefined)return this.defaultGraphHeight;return this.graphHeight_;},set graphHeight(height){this.graphHeight_=height;this.updateContents_();},get defaultGraphHeight(){return 0;},get totalWidth(){return this.margin.left+this.graphWidth+this.margin.right;},get totalHeight(){return this.margin.top+this.graphHeight+this.margin.bottom;},updateMargins_(){const legendSize=this.computeLegendSize_();this.margin.right=Math.max(this.margin.right,legendSize.width);this.margin.bottom=Math.max(this.margin.bottom,legendSize.height-this.graphHeight);if(this.chartTitle_){const titleSize=getSVGTextSize(this,this.chartTitle_,textNode=>{textNode.style.fontSize='16pt';});this.margin.top=Math.max(this.margin.top,titleSize.height+15);const horizontalOverhangPx=(titleSize.width-this.graphWidth)/2;this.margin.left=Math.max(this.margin.left,horizontalOverhangPx);this.margin.right=Math.max(this.margin.right,horizontalOverhangPx);}},computeLegendSize_(){let width=0;let height=0;if(this.hideLegend)return{width,height};for(const series of this.seriesByKey_.values()){const textSize=getSVGTextSize(this,series.key);width=Math.max(width,textSize.width+20);height+=textSize.height;}
7841return{width,height};},updateDimensions_(){const thisSel=d3.select(this);thisSel.attr('width',this.totalWidth);thisSel.attr('height',this.totalHeight);d3.select(this.chartAreaElement).attr('transform','translate('+this.margin.left+', '+this.margin.top+')');},updateContents_(){this.updateMargins_();this.updateDimensions_();this.updateTitle_();this.updateLegend_();},updateTitle_(){const titleSel=d3.select(this.chartAreaElement).select('#title');if(!this.chartTitle_){titleSel.style('display','none');return;}
7842titleSel.attr('transform','translate('+this.graphWidth*0.5+',-15)').style('display',undefined).style('text-anchor','middle').style('font-size','16pt').attr('class','title').attr('width',this.graphWidth).text(this.chartTitle_);},updateLegend_(){const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.legend').remove();if(this.hideLegend)return;const series=[...this.seriesByKey_.values()].reverse();const legendEntriesSel=chartAreaSel.selectAll('.legend').data(series);legendEntriesSel.enter().append('foreignObject').attr('class','legend').attr('x',this.graphWidth+2).attr('width',this.margin.right).attr('height',18).attr('transform',(series,i)=>'translate(0,'+i*18+')').append('xhtml:body').style('margin',0).append('tr-ui-b-chart-legend-key').property('color',series=>((this.currentHighlightedLegendKey===series.key)?series.highlightedColor:series.color)).property('width',this.margin.right).property('target',series=>series.target).property('title',series=>series.title).property('optional',series=>series.optional).property('enabled',series=>series.enabled).text(series=>series.key);legendEntriesSel.exit().remove();},get highlightedLegendKey(){return this.highlightedLegendKey_;},set highlightedLegendKey(highlightedLegendKey){this.highlightedLegendKey_=highlightedLegendKey;this.updateHighlight_();},get currentHighlightedLegendKey(){if(this.tempHighlightedLegendKey_){return this.tempHighlightedLegendKey_;}
7843return this.highlightedLegendKey_;},pushTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_){throw new Error('push cannot nest');}
7844this.tempHighlightedLegendKey_=key;this.updateHighlight_();},popTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_!==key){throw new Error('pop cannot happen');}
7845this.tempHighlightedLegendKey_=undefined;this.updateHighlight_();},updateHighlight_(){const chartAreaSel=d3.select(this.chartAreaElement);const legendEntriesSel=chartAreaSel.selectAll('.legend');const getDataSeries=chart.getDataSeries.bind(chart);const currentHighlightedLegendKey=chart.currentHighlightedLegendKey;legendEntriesSel.each(function(key){const dataSeries=getDataSeries(key);if(key===currentHighlightedLegendKey){this.style.fill=dataSeries.highlightedColor;this.style.fontWeight='bold';}else{this.style.fill=dataSeries.color;this.style.fontWeight='';}});}};return{ChartBase,DataSeriesEnableChangeEventType,getColorOfKey,getSVGTextSize,};});'use strict';tr.exportTo('tr.ui.b',function(){const D3_Y_AXIS_WIDTH_PX=9;const D3_X_AXIS_HEIGHT_PX=23;function sanitizePower(x,defaultValue){if(!isNaN(x)&&isFinite(x)&&(x!==0))return x;return defaultValue;}
7846const ChartBase2D=tr.ui.b.define('chart-base-2d',tr.ui.b.ChartBase);ChartBase2D.prototype={__proto__:tr.ui.b.ChartBase.prototype,decorate(){super.decorate();Polymer.dom(this).classList.add('chart-base-2d');this.xScale_=d3.scale.linear();this.yScale_=d3.scale.linear();this.isYLogScale_=false;this.yLogScaleMin_=undefined;this.autoDataRange_=new tr.b.math.Range();this.overrideDataRange_=undefined;this.hideXAxis_=false;this.hideYAxis_=false;this.data_=[];this.xAxisLabel_='';this.yAxisLabel_='';this.textHeightPx_=0;d3.select(this.chartAreaElement).append('g').attr('id','brushes');d3.select(this.chartAreaElement).append('g').attr('id','series');this.addEventListener('mousedown',this.onMouseDown_.bind(this));},get xAxisLabel(){return this.xAxisLabel_;},set xAxisLabel(label){this.xAxisLabel_=label;},get yAxisLabel(){return this.yAxisLabel_;},set yAxisLabel(label){this.yAxisLabel_=label;},get hideXAxis(){return this.hideXAxis_;},set hideXAxis(h){this.hideXAxis_=h;this.updateContents_();},get hideYAxis(){return this.hideYAxis_;},set hideYAxis(h){this.hideYAxis_=h;this.updateContents_();},get data(){return this.data_;},set data(data){if(data===undefined){throw new Error('data must be an Array');}
7847this.data_=data;this.updateSeriesKeys_();this.updateDataRange_();this.updateContents_();},set isYLogScale(logScale){if(logScale){this.yScale_=d3.scale.log(10);}else{this.yScale_=d3.scale.linear();}
7848this.isYLogScale_=logScale;},getYScaleMin_(){return this.isYLogScale_?this.yLogScaleMin_:0;},getYScaleDomain_(minValue,maxValue){if(this.overrideDataRange_!==undefined){return[this.dataRange.min,this.dataRange.max];}
7849if(this.isYLogScale_){return[this.getYScaleMin_(),maxValue];}
7850return[Math.min(minValue,this.getYScaleMin_()),maxValue];},getSampleWidth_(data,index,leftSide){let leftIndex;let rightIndex;if(leftSide){leftIndex=Math.max(index-1,0);rightIndex=index;}else{leftIndex=index;rightIndex=Math.min(index+1,data.length-1);}
7851const leftWidth=this.getXForDatum_(data[index],index)-
7852this.getXForDatum_(data[leftIndex],leftIndex);const rightWidth=this.getXForDatum_(data[rightIndex],rightIndex)-
7853this.getXForDatum_(data[index],index);return tr.b.math.Statistics.mean([leftWidth,rightWidth]);},updateSeriesKeys_(){this.data_.forEach(function(datum){Object.keys(datum).forEach(function(key){if(this.isDatumFieldSeries_(key)){this.getDataSeries(key);}},this);},this);},isDatumFieldSeries_(fieldName){return fieldName!=='x';},getXForDatum_(datum,index){return datum.x;},updateMargins_(){this.margin.left=this.hideYAxis?0:this.yAxisWidth;this.margin.bottom=this.hideXAxis?0:this.xAxisHeight;if(this.hideXAxis&&!this.hideYAxis){this.margin.bottom=10;}
7854if(this.hideYAxis&&!this.hideXAxis){this.margin.left=10;}
7855this.margin.top=this.hideYAxis?0:10;if(this.yAxisLabel){this.margin.top+=this.textHeightPx_;}
7856if(this.xAxisLabel){this.margin.right=Math.max(this.margin.right,16+tr.ui.b.getSVGTextSize(this,this.xAxisLabel).width);}
7857super.updateMargins_();},get xAxisHeight(){return D3_X_AXIS_HEIGHT_PX;},computeScaleTickWidth_(scale){if(this.data.length===0)return 0;let tickValues=scale.ticks();let format=scale.tickFormat();if(this.isYLogScale_){const enclosingPowers=this.dataRange.enclosingPowers();tickValues=[sanitizePower(enclosingPowers.min,1),sanitizePower(enclosingPowers.max,10),];format=v=>v.toString();}
7858return D3_Y_AXIS_WIDTH_PX+Math.max(tr.ui.b.getSVGTextSize(this,format(tickValues[0])).width,tr.ui.b.getSVGTextSize(this,format(tickValues[tickValues.length-1])).width);},get yAxisWidth(){return this.computeScaleTickWidth_(this.yScale_);},updateScales_(){if(this.data_.length===0)return;this.xScale_.range([0,this.graphWidth]);this.xScale_.domain(d3.extent(this.data_,this.getXForDatum_.bind(this)));this.yScale_.range([this.graphHeight,0]);this.yScale_.domain([this.dataRange.min,this.dataRange.max]);},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();},updateXAxis_(xAxis){xAxis.selectAll('*').remove();xAxis[0][0].style.opacity=0;if(this.hideXAxis)return;this.drawXAxis_(xAxis);const label=xAxis.append('text').attr('class','label');this.drawXAxisTicks_(xAxis);this.drawXAxisLabel_(label);xAxis[0][0].style.opacity=1;},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.xScale_).orient('bottom'));},drawXAxisLabel_(label){label.attr('x',this.graphWidth+16).attr('y',8).text(this.xAxisLabel);},drawXAxisTicks_(xAxis){let previousRight=undefined;xAxis.selectAll('.tick')[0].forEach(function(tick){const currentLeft=tick.transform.baseVal[0].matrix.e;if((previousRight===undefined)||(currentLeft>(previousRight+3))){const currentWidth=tick.getBBox().width;previousRight=currentLeft+currentWidth;}else{tick.style.opacity=0;}});},set overrideDataRange(range){this.overrideDataRange_=range;},get dataRange(){if(this.overrideDataRange_!==undefined){return this.overrideDataRange_;}
7859return this.autoDataRange_;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;const dataBySeriesKey=this.getDataBySeriesKey_();this.autoDataRange_.reset();for(const[series,values]of Object.entries(dataBySeriesKey)){for(let i=0;i<values.length;i++){this.autoDataRange_.addValue(values[i][series]);}}
7860this.yLogScaleMin_=undefined;if(this.autoDataRange_.min!==undefined){let minValue=this.autoDataRange_.min;if(minValue===0){minValue=1;}
7861const onePowerLess=tr.b.math.lesserPower(minValue/10);this.yLogScaleMin_=onePowerLess;}},updateYAxis_(yAxis){yAxis.selectAll('*').remove();yAxis[0][0].style.opacity=0;if(this.hideYAxis)return;this.drawYAxis_(yAxis);this.drawYAxisTicks_(yAxis);const label=yAxis.append('text').attr('class','label');this.drawYAxisLabel_(label);},drawYAxis_(yAxis){let axisModifier=d3.svg.axis().scale(this.yScale_).orient('left');if(this.isYLogScale_){if(this.yLogScaleMin_===undefined)return;const tickValues=[];const enclosingPowers=this.dataRange.enclosingPowers();const maxPower=sanitizePower(enclosingPowers.max,10);for(let power=sanitizePower(enclosingPowers.min,1);power<=maxPower;power*=10){tickValues.push(power);}
7862axisModifier=axisModifier.tickValues(tickValues).tickFormat(v=>v.toString());}
7863yAxis.call(axisModifier);},drawYAxisLabel_(label){const labelWidthPx=Math.ceil(tr.ui.b.getSVGTextSize(this.chartAreaElement,this.yAxisLabel).width);label.attr('x',-labelWidthPx).attr('y',-8).text(this.yAxisLabel);},drawYAxisTicks_(yAxis){let previousTop=undefined;yAxis.selectAll('.tick')[0].forEach(function(tick){const bbox=tick.getBBox();const currentTop=tick.transform.baseVal[0].matrix.f;const currentBottom=currentTop+bbox.height;if((previousTop===undefined)||(previousTop>(currentBottom+3))){previousTop=currentTop;}else{tick.style.opacity=0;}});yAxis[0][0].style.opacity=1;},updateContents_(){if(this.textHeightPx_===0){this.textHeightPx_=tr.ui.b.getSVGTextSize(this,'Ay').height;}
7864this.updateScales_();super.updateContents_();const chartAreaSel=d3.select(this.chartAreaElement);this.updateXAxis_(chartAreaSel.select('.x.axis'));this.updateYAxis_(chartAreaSel.select('.y.axis'));this.updateBrushContents_(chartAreaSel.select('#brushes'));this.updateDataContents_(chartAreaSel.select('#series'));},updateDataContents_(seriesSel){throw new Error('Not implemented');},getDataBySeriesKey_(){const dataBySeriesKey={};for(const[key,series]of this.seriesByKey_){dataBySeriesKey[key]=[];}
7865this.data_.forEach(function(multiSeriesDatum,index){const x=this.getXForDatum_(multiSeriesDatum,index);d3.keys(multiSeriesDatum).forEach(function(seriesKey){if(seriesKey==='x')return;if(multiSeriesDatum[seriesKey]===undefined)return;if(!this.isDatumFieldSeries_(seriesKey))return;const singleSeriesDatum={x};singleSeriesDatum[seriesKey]=multiSeriesDatum[seriesKey];dataBySeriesKey[seriesKey].push(singleSeriesDatum);},this);},this);return dataBySeriesKey;},getChartPointAtClientPoint_(clientPoint){const rect=this.getBoundingClientRect();return{x:clientPoint.x-rect.left-this.margin.left,y:clientPoint.y-rect.top-this.margin.top};},getDataPointAtChartPoint_(chartPoint){return{x:tr.b.math.clamp(this.xScale_.invert(chartPoint.x),this.xScale_.domain()[0],this.xScale_.domain()[1]),y:tr.b.math.clamp(this.yScale_.invert(chartPoint.y),this.yScale_.domain()[0],this.yScale_.domain()[1])};},getDataPointAtClientPoint_(clientX,clientY){const chartPoint=this.getChartPointAtClientPoint_({x:clientX,y:clientY});return this.getDataPointAtChartPoint_(chartPoint);},prepareDataEvent_(mouseEvent,dataEvent){const dataPoint=this.getDataPointAtClientPoint_(mouseEvent.clientX,mouseEvent.clientY);dataEvent.x=dataPoint.x;dataEvent.y=dataPoint.y;},onMouseDown_(mouseEvent){tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_.bind(this,mouseEvent.button),this.onMouseUp_.bind(this,mouseEvent.button));mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mousedown');dataEvent.button=mouseEvent.button;Polymer.dom(this).classList.add('updating-brushing-state');this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseMove_(button,mouseEvent){if(mouseEvent.buttons!==undefined){mouseEvent.preventDefault();mouseEvent.stopPropagation();}
7866const dataEvent=new tr.b.Event('item-mousemove');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseUp_(button,mouseEvent){mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mouseup');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);Polymer.dom(this).classList.remove('updating-brushing-state');}};return{ChartBase2D,};});'use strict';tr.exportTo('tr.ui.b',function(){const ChartBase2D=tr.ui.b.ChartBase2D;const ChartBase2DBrushX=tr.ui.b.define('chart-base-2d-brush-1d',ChartBase2D);ChartBase2DBrushX.prototype={__proto__:ChartBase2D.prototype,decorate(){super.decorate();this.brushedRange_=new tr.b.math.Range();},set brushedRange(range){this.brushedRange_.reset();this.brushedRange_.addRange(range);this.updateContents_();},get brushedRange(){return tr.b.math.Range.fromDict(this.brushedRange_.toJSON());},computeBrushRangeFromIndices(indexA,indexB){indexA=tr.b.math.clamp(indexA,0,this.data_.length-1);indexB=tr.b.math.clamp(indexB,0,this.data_.length-1);const leftIndex=Math.min(indexA,indexB);const rightIndex=Math.max(indexA,indexB);const brushRange=new tr.b.math.Range();brushRange.addValue(this.getXForDatum_(this.data_[leftIndex],leftIndex)-
7867this.getSampleWidth_(this.data_,leftIndex,true));brushRange.addValue(this.getXForDatum_(this.data_[rightIndex],rightIndex)+
7868this.getSampleWidth_(this.data_,rightIndex,false));return brushRange;},getDataIndex_(dataX){if(this.data.length===0)return undefined;const bisect=d3.bisector(this.getXForDatum_.bind(this)).right;return bisect(this.data_,dataX)-1;},prepareDataEvent_(mouseEvent,dataEvent){ChartBase2D.prototype.prepareDataEvent_.call(this,mouseEvent,dataEvent);dataEvent.index=this.getDataIndex_(dataEvent.x);if(dataEvent.index!==undefined){dataEvent.data=this.data_[dataEvent.index];}},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();const brushes=this.brushedRange_.isEmpty?[]:[this.brushedRange_];const brushRectsSel=brushSel.selectAll('rect').data(brushes);brushRectsSel.enter().append('rect');brushRectsSel.exit().remove();this.drawBrush_(brushRectsSel);},drawBrush_(brushRectsSel){brushRectsSel.attr('x',d=>this.xScale_(d.min)).attr('y',0).attr('width',d=>this.xScale_(d.max)-this.xScale_(d.min)).attr('height',this.graphHeight);}};return{ChartBase2DBrushX,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.define('line-chart',tr.ui.b.ChartBase2DBrushX);LineChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,get defaultGraphWidth(){return 20*this.data_.length;},get defaultGraphHeight(){return 100;},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const dataBySeriesKey=this.getDataBySeriesKey_();const seriesKeys=[...this.seriesByKey_.keys()];const pathsSel=dataSel.selectAll('path').data(seriesKeys);pathsSel.enter().append('path').style('fill','none').style('stroke-width','1.5px').style('stroke',key=>this.getDataSeries(key).color).attr('d',key=>{const line=d3.svg.line().x(d=>this.xScale_(d.x)).y(d=>this.yScale_(this.dataRange.clamp(d[key])));return line(dataBySeriesKey[key]);});pathsSel.exit().remove();}};return{LineChart,};});'use strict';Polymer({is:'tr-ui-e-s-input-latency-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.frametimeType_=tr.model.helpers.IMPL_FRAMETIME_TYPE;this.latencyChart_=undefined;this.frametimeChart_=undefined;this.selectedProcessId_=undefined;this.mouseDownIndex_=undefined;this.curMouseIndex_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;if(this.model_){this.modelHelper_=this.model_.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);}else{this.modelHelper_=undefined;}
7869this.updateToolbar_();this.updateContents_();},get frametimeType(){return this.frametimeType_;},set frametimeType(type){if(this.frametimeType_===type)return;this.frametimeType_=type;this.updateContents_();},get selectedProcessId(){return this.selectedProcessId_;},set selectedProcessId(process){if(this.selectedProcessId_===process)return;this.selectedProcessId_=process;this.updateContents_();},set selection(selection){if(this.latencyChart_===undefined)return;this.latencyChart_.brushedRange=selection.bounds;},setBrushedIndices(mouseDownIndex,curIndex){this.mouseDownIndex_=mouseDownIndex;this.curMouseIndex_=curIndex;this.updateBrushedRange_();},updateBrushedRange_(){if(this.latencyChart_===undefined)return;let r=new tr.b.math.Range();if(this.mouseDownIndex_===undefined){this.latencyChart_.brushedRange=r;return;}
7870r=this.latencyChart_.computeBrushRangeFromIndices(this.mouseDownIndex_,this.curMouseIndex_);this.latencyChart_.brushedRange=r;let latencySlices=[];for(const thread of this.model_.getAllThreads()){for(const event of thread.getDescendantEvents()){if(event.title.indexOf('InputLatency:')===0){latencySlices.push(event);}}}
7871latencySlices=tr.model.helpers.getSlicesIntersectingRange(r,latencySlices);const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(latencySlices);this.latencyChart_.dispatchEvent(event);},registerMouseEventForLatencyChart_(){this.latencyChart_.addEventListener('item-mousedown',function(e){this.mouseDownIndex_=e.index;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mousemove',function(e){if(e.button===undefined)return;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mouseup',function(e){this.curMouseIndex=e.index;this.updateBrushedRange_();}.bind(this));},updateToolbar_(){const browserProcess=this.modelHelper_.browserProcess;const labels=[];if(browserProcess!==undefined){const labelStr='Browser: '+browserProcess.pid;labels.push({label:labelStr,value:browserProcess.pid});}
7872for(const rendererHelper of
7873Object.values(this.modelHelper_.rendererHelpers)){const rendererProcess=rendererHelper.process;const labelStr='Renderer: '+rendererProcess.userFriendlyName;labels.push({label:labelStr,value:rendererProcess.userFriendlyName});}
7874if(labels.length===0)return;this.selectedProcessId_=labels[0].value;const toolbarEl=this.$.toolbar;Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'frametimeType','inputLatencySidePanel.frametimeType',this.frametimeType_,[{label:'Main Thread Frame Times',value:tr.model.helpers.MAIN_FRAMETIME_TYPE},{label:'Impl Thread Frame Times',value:tr.model.helpers.IMPL_FRAMETIME_TYPE}]));Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'selectedProcessId','inputLatencySidePanel.selectedProcessId',this.selectedProcessId_,labels));},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;}
7875return this.rangeOfInterest_;},createLatencyLineChart(data,title,parentNode){const chart=new tr.ui.b.LineChart();Polymer.dom(parentNode).appendChild(chart);let width=600;if(document.body.clientWidth!==undefined){width=document.body.clientWidth*0.5;}
7876chart.graphWidth=width;chart.chartTitle=title;chart.data=data;return chart;},updateContents_(){const resultArea=this.$.result_area;this.latencyChart_=undefined;this.frametimeChart_=undefined;Polymer.dom(resultArea).textContent='';if(this.modelHelper_===undefined)return;const rangeOfInterest=this.currentRangeOfInterest;let chromeProcess;if(this.modelHelper_.rendererHelpers[this.selectedProcessId_]){chromeProcess=this.modelHelper_.rendererHelpers[this.selectedProcessId_];}else{chromeProcess=this.modelHelper_.browserHelper;}
7877const frameEvents=chromeProcess.getFrameEventsInRange(this.frametimeType,rangeOfInterest);const frametimeData=tr.model.helpers.getFrametimeDataFromEvents(frameEvents);const averageFrametime=tr.b.math.Statistics.mean(frametimeData,d=>d.frametime);const latencyEvents=this.modelHelper_.browserHelper.getLatencyEventsInRange(rangeOfInterest);const latencyData=[];latencyEvents.forEach(function(event){if(event.inputLatency===undefined)return;latencyData.push({x:event.start,latency:event.inputLatency/1000});});const averageLatency=tr.b.math.Statistics.mean(latencyData,function(d){return d.latency;});const latencySummaryText=document.createElement('div');Polymer.dom(latencySummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Latency '+averageLatency+' ms',bold:true}));Polymer.dom(resultArea).appendChild(latencySummaryText);const frametimeSummaryText=document.createElement('div');Polymer.dom(frametimeSummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Frame Time '+averageFrametime+' ms',bold:true}));Polymer.dom(resultArea).appendChild(frametimeSummaryText);if(latencyData.length!==0){this.latencyChart_=this.createLatencyLineChart(latencyData,'Latency Over Time',resultArea);this.registerMouseEventForLatencyChart_();}
7878if(frametimeData.length!==0){this.frametimeChart_=this.createLatencyLineChart(frametimeData,'Frame Times',resultArea);}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};}
7879if(!tr.model.helpers.ChromeModelHelper.supportsModel(m)){return{supported:false,reason:'No Chrome browser or renderer process found'};}
7880const modelHelper=m.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper.browserHelper&&modelHelper.browserHelper.hasLatencyEvents){return{supported:true};}
7881return{supported:false,reason:'No InputLatency events trace. Consider enabling '+'benchmark" and "input" category when recording the trace'};},get textLabel(){return'Input Latency';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-input-latency-side-panel');});'use strict';tr.exportTo('tr.e.system_stats',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function SystemStatsSnapshot(objectInstance,ts,args){ObjectSnapshot.apply(this,arguments);this.objectInstance=objectInstance;this.ts=ts;this.args=args;this.stats=args;}
7882SystemStatsSnapshot.prototype={__proto__:ObjectSnapshot.prototype,initialize(){if(this.args.length===0){throw new Error('No system stats snapshot data.');}
7883this.stats_=this.args;},getStats(){return this.stats_;},setStats(stats){this.stats_=stats;}};ObjectSnapshot.subTypes.register(SystemStatsSnapshot,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const constants={HEADING_WIDTH:250};return{constants,};});'use strict';Polymer({is:'tr-ui-b-heading',DOWN_ARROW:String.fromCharCode(0x25BE),RIGHT_ARROW:String.fromCharCode(0x25B8),ready(viewport){this.style.width=(tr.ui.b.constants.HEADING_WIDTH-6)+'px';this.heading_='';this.expanded_=true;this.arrowVisible_=false;this.selectionGenerator_=undefined;this.updateContents_();},get heading(){return this.heading_;},set heading(text){if(this.heading_===text)return;this.heading_=text;this.updateContents_();},set arrowVisible(val){if(this.arrowVisible_===val)return;this.arrowVisible_=!!val;this.updateContents_();},set tooltip(text){this.$.heading.title=text;},set selectionGenerator(generator){if(this.selectionGenerator_===generator)return;this.selectionGenerator_=generator;this.updateContents_();},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=!!expanded;this.updateContents_();},onHeadingDivClicked_(){this.dispatchEvent(new tr.b.Event('heading-clicked',true));},updateContents_(){if(this.arrowVisible_){this.$.arrow.style.display='';}else{this.$.arrow.style.display='none';this.$.heading.style.display=this.expanded_?'':'none';}
7884if(this.arrowVisible_){Polymer.dom(this.$.arrow).textContent=this.expanded_?this.DOWN_ARROW:this.RIGHT_ARROW;}
7885this.$.link.style.display='none';this.$.heading_content.style.display='none';if(this.selectionGenerator_){this.$.link.style.display='inline-block';this.$.link.selection=this.selectionGenerator_;Polymer.dom(this.$.link).textContent=this.heading_;}else{this.$.heading_content.style.display='inline-block';Polymer.dom(this.$.heading_content).textContent=this.heading_;}}});'use strict';tr.exportTo('tr.ui.tracks',function(){const Track=tr.ui.b.define('track',tr.ui.b.ContainerThatDecoratesItsChildren);Track.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(viewport){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);if(viewport===undefined){throw new Error('viewport is required when creating a Track.');}
7886this.viewport_=viewport;Polymer.dom(this).classList.add('track');},get viewport(){return this.viewport_;},get drawingContainer(){if(this instanceof tr.ui.tracks.DrawingContainer)return this;let cur=this.parentElement;while(cur){if(cur instanceof tr.ui.tracks.DrawingContainer)return cur;cur=cur.parentElement;}
7887return undefined;},get eventContainer(){},invalidateDrawingContainer(){const dc=this.drawingContainer;if(dc)dc.invalidate();},context(){if(!Polymer.dom(this).parentNode)return undefined;if(!Polymer.dom(this).parentNode.context){throw new Error('Parent container does not support context() method.');}
7888return Polymer.dom(this).parentNode.context();},decorateChild_(childTrack){},undecorateChild_(childTrack){if(childTrack.detach){childTrack.detach();}},updateContents_(){},drawTrack(type){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.draw(type,viewLWorld,viewRWorld);ctx.restore();},draw(type,viewLWorld,viewRWorld){},addEventsToTrackMap(eventToTrackMap){},addContainersToTrackMap(containerToTrackMap){},addIntersectingEventsInRangeToSelection(loVX,hiVX,loVY,hiVY,selection){const pixelRatio=window.devicePixelRatio||1;const dt=this.viewport.currentDisplayTransform;const viewPixWidthWorld=dt.xViewVectorToWorld(1);const loWX=dt.xViewToWorld(loVX*pixelRatio);const hiWX=dt.xViewToWorld(hiVX*pixelRatio);const clientRect=this.getBoundingClientRect();const a=Math.max(loVY,clientRect.top);const b=Math.min(hiVY,clientRect.bottom);if(a>b)return;this.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){},addClosestInstantEventToSelection(instantEvents,worldX,worldMaxDist,selection){const instantEvent=tr.b.math.findClosestElementInSortedArray(instantEvents,function(x){return x.start;},worldX,worldMaxDist);if(!instantEvent)return;selection.push(instantEvent);}};return{Track,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const EventPresenter=tr.ui.b.EventPresenter;const ObjectInstanceTrack=tr.ui.b.define('object-instance-track',tr.ui.tracks.Track);ObjectInstanceTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-track');this.objectInstances_=[];this.objectSnapshots_=[];this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get objectInstances(){return this.objectInstances_;},set objectInstances(objectInstances){if(!objectInstances||objectInstances.length===0){this.heading='';this.objectInstances_=[];this.objectSnapshots_=[];return;}
7889this.heading=objectInstances[0].typeName;this.objectInstances_=objectInstances;this.objectSnapshots_=[];this.objectInstances_.forEach(function(instance){this.objectSnapshots_.push.apply(this.objectSnapshots_,instance.snapshots);},this);this.objectSnapshots_.sort(function(a,b){return a.ts-b.ts;});},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get snapshotRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=dt.xViewVectorToWorld(height);ctx.save();dt.applyTransformToCanvas(ctx);const objectInstances=this.objectInstances_;let loI=tr.b.math.findLowIndexInSortedArray(objectInstances,function(instance){return instance.deletionTs;},viewLWorld);ctx.strokeStyle='rgb(0,0,0)';for(let i=loI;i<objectInstances.length;++i){const instance=objectInstances[i];const x=instance.creationTs;if(x>viewRWorld)break;const right=instance.deletionTs===Number.MAX_VALUE?viewRWorld:instance.deletionTs;ctx.fillStyle=EventPresenter.getObjectInstanceColor(instance);ctx.fillRect(x,pixelRatio,right-x,height-2*pixelRatio);}
7890ctx.restore();const objectSnapshots=this.objectSnapshots_;loI=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts+snapshotRadiusWorld;},viewLWorld);for(let i=loI;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const x=snapshot.ts;if(x-snapshotRadiusWorld>viewRWorld)break;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getObjectSnapshotColor(snapshot);ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView,0,twoPi);ctx.fill();if(snapshot.selected){ctx.lineWidth=5;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView-1,0,twoPi);ctx.lineWidth=2;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}}
7891ctx.lineWidth=1;let selectionState=SelectionState.NONE;if(objectInstances.length&&objectInstances[0].selectionState===SelectionState.DIMMED){selectionState=SelectionState.DIMMED;}
7892if(selectionState===SelectionState.DIMMED){const width=bounds.width*pixelRatio;ctx.fillStyle='rgba(255,255,255,0.5)';ctx.fillRect(0,0,width,height);ctx.restore();}},addEventsToTrackMap(eventToTrackMap){if(this.objectInstance_!==undefined){this.objectInstance_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}
7893if(this.objectSnapshots_!==undefined){this.objectSnapshots_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){let foundSnapshot=false;function onSnapshot(snapshot){selection.push(snapshot);foundSnapshot=true;}
7894const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=viewPixWidthWorld*snapshotRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.objectSnapshots_,function(x){return x.ts-snapshotRadiusWorld;},function(x){return 2*snapshotRadiusWorld;},loWX,hiWX,onSnapshot);if(foundSnapshot)return;tr.b.math.iterateOverIntersectingIntervals(this.objectInstances_,function(x){return x.creationTs;},function(x){return x.deletionTs-x.creationTs;},loWX,hiWX,(value)=>{selection.push(value);});},addEventNearToProvidedEventToSelection(event,offset,selection){let events;if(event instanceof tr.model.ObjectSnapshot){events=this.objectSnapshots_;}else if(event instanceof tr.model.ObjectInstance){events=this.objectInstances_;}else{throw new Error('Unrecognized event');}
7895const index=events.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<events.length){selection.push(events[newIndex]);return true;}
7896return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectSnapshots_,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ObjectInstanceTrack,options);return{ObjectInstanceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const StackedBarsTrack=tr.ui.b.define('stacked-bars-track',tr.ui.tracks.Track);StackedBarsTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('stacked-bars-track');this.objectInstance_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},addEventsToTrackMap(eventToTrackMap){const objectSnapshots=this.objectInstance_.snapshots;objectSnapshots.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onSnapshot(snapshot){selection.push(snapshot);}
7897const snapshots=this.objectInstance_.snapshots;const maxBounds=this.objectInstance_.parent.model.bounds.max;tr.b.math.iterateOverIntersectingIntervals(snapshots,function(x){return x.ts;},function(x,i){if(i===snapshots.length-1){if(snapshots.length===1){return maxBounds;}
7898return snapshots[i].ts-snapshots[i-1].ts;}
7899return snapshots[i+1].ts-snapshots[i].ts;},loWX,hiWX,onSnapshot);},addEventNearToProvidedEventToSelection(event,offset,selection){if(!(event instanceof tr.model.ObjectSnapshot)){throw new Error('Unrecognized event');}
7900const objectSnapshots=this.objectInstance_.snapshots;const index=objectSnapshots.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<objectSnapshots.length){selection.push(objectSnapshots[newIndex]);return true;}
7901return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectInstance_.snapshots,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};return{StackedBarsTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const EventPresenter=tr.ui.b.EventPresenter;let statCount;const excludedStats={'meminfo':{'pswpin':0,'pswpout':0,'pgmajfault':0},'diskinfo':{'io':0,'io_time':0,'read_time':0,'reads':0,'reads_merged':0,'sectors_read':0,'sectors_written':0,'weighted_io_time':0,'write_time':0,'writes':0,'writes_merged':0},'swapinfo':{}};const SystemStatsInstanceTrack=tr.ui.b.define('tr-ui-e-system-stats-instance-track',tr.ui.tracks.StackedBarsTrack);SystemStatsInstanceTrack.prototype={__proto__:tr.ui.tracks.StackedBarsTrack.prototype,decorate(viewport){tr.ui.tracks.StackedBarsTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('tr-ui-e-system-stats-instance-track');this.objectInstance_=null;},set objectInstances(objectInstances){if(!objectInstances){this.objectInstance_=[];return;}
7902if(objectInstances.length!==1){throw new Error('Bad object instance count.');}
7903this.objectInstance_=objectInstances[0];if(this.objectInstance_!==null){this.computeRates_(this.objectInstance_.snapshots);this.maxStats_=this.computeMaxStats_(this.objectInstance_.snapshots);}},computeRates_(snapshots){for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();let prevSnapshot;if(i===0){prevSnapshot=snapshots[0];}else{prevSnapshot=snapshots[i-1];}
7904const prevStats=prevSnapshot.getStats();let timeIntervalSeconds=(snapshot.ts-prevSnapshot.ts)/1000;if(timeIntervalSeconds===0){timeIntervalSeconds=1;}
7905this.computeRatesRecursive_(prevStats,stats,timeIntervalSeconds);}},computeRatesRecursive_(prevStats,stats,timeIntervalSeconds){for(const statName in stats){if(stats[statName]instanceof Object){this.computeRatesRecursive_(prevStats[statName],stats[statName],timeIntervalSeconds);}else{if(statName==='sectors_read'){stats.bytes_read_per_sec=(stats.sectors_read-
7906prevStats.sectors_read)*512/timeIntervalSeconds;}
7907if(statName==='sectors_written'){stats.bytes_written_per_sec=(stats.sectors_written-
7908prevStats.sectors_written)*512/timeIntervalSeconds;}
7909if(statName==='pgmajfault'){stats.pgmajfault_per_sec=(stats.pgmajfault-
7910prevStats.pgmajfault)/timeIntervalSeconds;}
7911if(statName==='pswpin'){stats.bytes_swpin_per_sec=(stats.pswpin-
7912prevStats.pswpin)*1000/timeIntervalSeconds;}
7913if(statName==='pswpout'){stats.bytes_swpout_per_sec=(stats.pswpout-
7914prevStats.pswpout)*1000/timeIntervalSeconds;}}}},computeMaxStats_(snapshots){const maxStats={};statCount=0;for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();this.computeMaxStatsRecursive_(stats,maxStats,excludedStats);}
7915return maxStats;},computeMaxStatsRecursive_(stats,maxStats,excludedStats){for(const statName in stats){if(stats[statName]instanceof Object){if(!(statName in maxStats)){maxStats[statName]={};}
7916let excludedNested;if(excludedStats&&statName in excludedStats){excludedNested=excludedStats[statName];}else{excludedNested=null;}
7917this.computeMaxStatsRecursive_(stats[statName],maxStats[statName],excludedNested);}else{if(excludedStats&&statName in excludedStats){continue;}
7918if(!(statName in maxStats)){maxStats[statName]=0;statCount++;}
7919if(stats[statName]>maxStats[statName]){maxStats[statName]=stats[statName];}}}},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawStatBars_(viewLWorld,viewRWorld);break;}},drawStatBars_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const width=bounds.width*pixelRatio;const height=(bounds.height*pixelRatio)/statCount;const vp=this.viewport.currentDisplayTransform;const maxStats=this.maxStats_;const objectSnapshots=this.objectInstance_.snapshots;let lowIndex=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts;},viewLWorld);if(lowIndex>0)lowIndex-=1;for(let i=lowIndex;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const trace=snapshot.getStats();const currentY=height;const left=snapshot.ts;if(left>viewRWorld)break;let leftView=vp.xWorldToView(left);if(leftView<0)leftView=0;let right;if(i!==objectSnapshots.length-1){right=objectSnapshots[i+1].ts;}else{if(objectSnapshots.length>1){right=objectSnapshots[i].ts+(objectSnapshots[i].ts-
7920objectSnapshots[i-1].ts);}else{right=this.objectInstance_.parent.model.bounds.max;}}
7921let rightView=vp.xWorldToView(right);if(rightView>width){rightView=width;}
7922leftView=Math.floor(leftView);rightView=Math.floor(rightView);this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,trace,maxStats,currentY);if(i===lowIndex){this.drawStatNames_(leftView,height,currentY,'',maxStats);}}
7923ctx.lineWidth=1;},drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats,maxStats,currentY){const ctx=this.context();for(const statName in maxStats){if(stats[statName]instanceof Object){currentY=this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats[statName],maxStats[statName],currentY);}else{const maxStat=maxStats[statName];ctx.fillStyle=EventPresenter.getBarSnapshotColor(snapshot,Math.round(currentY/height));let barHeight;if(maxStat>0){barHeight=height*Math.max(stats[statName],0)/maxStat;}else{barHeight=0;}
7924ctx.fillRect(leftView,currentY-barHeight,Math.max(rightView-leftView,1),barHeight);currentY+=height;}}
7925return currentY;},drawStatNames_(leftView,height,currentY,prefix,maxStats){const ctx=this.context();ctx.textAlign='end';ctx.font='12px Arial';ctx.fillStyle='#000000';for(const statName in maxStats){if(maxStats[statName]instanceof Object){currentY=this.drawStatNames_(leftView,height,currentY,statName,maxStats[statName]);}else{let fullname=statName;if(prefix!==''){fullname=prefix+' :: '+statName;}
7926ctx.fillText(fullname,leftView-10,currentY-height/4);currentY+=height;}}
7927return currentY;}};tr.ui.tracks.ObjectInstanceTrack.register(SystemStatsInstanceTrack,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsInstanceTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const SystemStatsSnapshotView=tr.ui.b.define('tr-ui-e-system-stats-snapshot-view',tr.ui.analysis.ObjectSnapshotView);SystemStatsSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-system-stats-snapshot-view');},updateContents(){const snapshot=this.objectSnapshot_;if(!snapshot||!snapshot.getStats()){Polymer.dom(this).textContent='No system stats snapshot found.';return;}
7928Polymer.dom(this).textContent='';const stats=snapshot.getStats();Polymer.dom(this).appendChild(this.buildList_(stats));},isFloat(n){return typeof n==='number'&&n%1!==0;},buildList_(stats){const statList=document.createElement('ul');for(const statName in stats){const statText=document.createElement('li');Polymer.dom(statText).textContent=''+statName+': ';Polymer.dom(statList).appendChild(statText);if(stats[statName]instanceof Object){Polymer.dom(statList).appendChild(this.buildList_(stats[statName]));}else{if(this.isFloat(stats[statName])){Polymer.dom(statText).textContent+=stats[statName].toFixed(2);}else{Polymer.dom(statText).textContent+=stats[statName];}}}
7929return statList;}};tr.ui.analysis.ObjectSnapshotView.register(SystemStatsSnapshotView,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const IGNORED_ENTRIES={match:full=>full.startsWith('*CODE_AGE_')};const INSTANCE_TYPE_GROUPS={FIXED_ARRAY_TYPE:{match:full=>full.startsWith('*FIXED_ARRAY_'),realEntry:'FIXED_ARRAY_TYPE',keyToName:key=>key.slice('*FIXED_ARRAY_'.length).slice(0,-('_SUB_TYPE'.length)),nameToKey:name=>'*FIXED_ARRAY_'+name+'_SUB_TYPE'},CODE_TYPE:{match:full=>full.startsWith('*CODE_'),realEntry:'CODE_TYPE',keyToName:key=>key.slice('*CODE_'.length),nameToKey:name=>'*CODE_'+name},JS_OBJECTS:{match:full=>full.startsWith('JS_'),keyToName:key=>key,nameToKey:name=>name},Strings:{match:full=>full.endsWith('STRING_TYPE'),keyToName:key=>key,nameToKey:name=>name}};const DIFF_COLOR={GREEN:'#64DD17',RED:'#D50000'};function computePercentage(valueA,valueB){if(valueA===0)return 0;return valueA/valueB*100;}
7930class DiffEntry{constructor(originalEntry,diffEntry){this.originalEntry_=originalEntry;this.diffEntry_=diffEntry;}
7931get title(){return this.diffEntry_.title;}
7932get overall(){return this.diffEntry_.overall;}
7933get overAllocated(){return this.diffEntry_.overAllocated;}
7934get count(){return this.diffEntry_.count;}
7935get overallPercent(){return this.diffEntry_.overallPercent;}
7936get overAllocatedPercent(){return this.diffEntry_.overAllocatedPercent;}
7937get origin(){return this.originalEntry_;}
7938get diff(){return this.diffEntry_;}
7939get subRows(){return this.diffEntry_.subRows;}}
7940class Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){this.title_=title;this.overall_=overall;this.count_=count;this.overAllocated_=overAllocated;this.histogram_=histogram;this.overAllocatedHistogram_=overAllocatedHistogram;this.bucketSize_=this.histogram_.length;this.overallPercent_=100;this.overAllocatedPercent_=100;}
7941get title(){return this.title_;}
7942get overall(){return this.overall_;}
7943get count(){return this.count_;}
7944get overAllocated(){return this.overAllocated_;}
7945get histogram(){return this.histogram_;}
7946get overAllocatedHistogram(){return this.overAllocatedHistogram_;}
7947get bucketSize(){return this.bucketSize_;}
7948get overallPercent(){return this.overallPercent_;}
7949set overallPercent(value){this.overallPercent_=value;}
7950get overAllocatedPercent(){return this.overAllocatedPercent_;}
7951set overAllocatedPercent(value){this.overAllocatedPercent_=value;}
7952setFromObject(obj){this.count_=obj.count;this.overall_=obj.overall/1024;this.overAllocated_=obj.over_allocated/1024;this.histogram_=obj.histogram;this.overAllocatedHistogram_=obj.over_allocated_histogram;}
7953diff(other){const entry=new Entry(this.title_,other.count_-this.count,other.overall_-this.overall,other.overAllocated_-this.overAllocated,[],[]);entry.overallPercent=computePercentage(entry.overall,this.overall);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated);return new DiffEntry(this,entry);}}
7954class GroupedEntry extends Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){super(title,count,overall,overAllocated,histogram,overAllocatedHistogram);this.histogram_.fill(0);this.overAllocatedHistogram_.fill(0);this.entries_=new Map();}
7955get title(){return this.title_;}
7956set title(value){this.title_=value;}
7957get subRows(){return Array.from(this.entries_.values());}
7958getEntryFromTitle(title){return this.entries_.get(title);}
7959add(entry){this.count_+=entry.count;this.overall_+=entry.overall;this.overAllocated_+=entry.overAllocated;if(this.bucketSize_===entry.bucketSize){for(let i=0;i<this.bucketSize_;++i){this.histogram_[i]+=entry.histogram[i];this.overAllocatedHistogram_[i]+=entry.overAllocatedHistogram[i];}}
7960this.entries_.set(entry.title,entry);}
7961accumulateUnknown(title){let unknownCount=this.count_;let unknownOverall=this.overall_;let unknownOverAllocated=this.overAllocated_;const unknownHistogram=tr.b.deepCopy(this.histogram_);const unknownOverAllocatedHistogram=tr.b.deepCopy(this.overAllocatedHistogram_);for(const entry of this.entries_.values()){unknownCount-=entry.count;unknownOverall-=entry.overall;unknownOverAllocated-=entry.overAllocated;for(let i=0;i<this.bucketSize_;++i){unknownHistogram[i]-=entry.histogram[i];unknownOverAllocatedHistogram[i]-=entry.overAllocatedHistogram[i];}}
7962unknownOverAllocated=unknownOverAllocated<0?0:unknownOverAllocated;this.entries_.set(title,new Entry(title,unknownCount,unknownOverall,unknownOverAllocated,unknownHistogram,unknownOverAllocatedHistogram));}
7963calculatePercentage(){for(const entry of this.entries_.values()){entry.overallPercent=computePercentage(entry.overall,this.overall_);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated_);if(entry instanceof GroupedEntry)entry.calculatePercentage();}}
7964diff(other){let newTitle='';if(this.title_.startsWith('Isolate')){newTitle='Total';}else{newTitle=this.title_;}
7965const result=new GroupedEntry(newTitle,0,0,0,[],[]);for(const entry of this.entries_){const otherEntry=other.getEntryFromTitle(entry[0]);if(otherEntry===undefined)continue;result.add(entry[1].diff(otherEntry));}
7966result.overallPercent=computePercentage(result.overall,this.overall);result.overAllocatedPercent=computePercentage(result.overAllocated,this.overAllocated);return new DiffEntry(this,result);}}
7967function createSelector(targetEl,defaultValue,items,callback){const selectorEl=document.createElement('select');selectorEl.addEventListener('change',callback.bind(targetEl));const defaultOptionEl=document.createElement('option');for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);}
7968selectorEl.__defineGetter__('selectedValue',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;}
7969return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;}
7970return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(value===v){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;callback();}
7971return;}}
7972throw new Error('Not a valid value');});selectorEl.selectedIndex=-1;return selectorEl;}
7973function plusMinus(value,toFixed=3){return(value>0?'+':'')+value.toFixed(toFixed);}
7974function addArrow(value){if(value===0)return value;if(value===Number.NEGATIVE_INFINITY)return'\u2193\u221E';if(value===Number.POSITIVE_INFINITY)return'\u2191\u221E';return(value>0?'\u2191':'\u2193')+Math.abs(value.toFixed(3));}
7975Polymer({is:'tr-ui-e-v8-gc-objects-stats-table',ready(){this.$.diffOption.style.display='none';this.isolateEntries_=[];this.selector1_=undefined;this.selector2_=undefined;},constructDiffTable_(table){this.$.diffTable.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.diffTable.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overall.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overall-b.origin.overall;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overall);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7976return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overallPercent);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7977return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overAllocated.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overAllocated-b.origin.overAllocated;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overAllocated);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7978return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overAllocatedPercent);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7979return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Count',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.count;return spanEl;},cmp(a,b){return a.origin.count-b.origin.count;}},{title:'diff',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.count,0);if(row.count>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.count<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7980return spanEl;},cmp(a,b){return a.count-b.count;}},];},buildOptions_(){const items=[];for(const isolateEntry of this.isolateEntries_){items.push({label:isolateEntry.title,value:isolateEntry});}
7981this.$.diffOption.style.display='inline-block';this.selector1_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector1_);const spanEl=tr.ui.b.createSpan();spanEl.innerText=' VS ';Polymer.dom(this.$.diffOption).appendChild(spanEl);this.selector2_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector2_);},diffOptionChanged_(){const isolateEntry1=this.selector1_.selectedValue;const isolateEntry2=this.selector2_.selectedValue;if(isolateEntry1===undefined||isolateEntry2===undefined){return;}
7982if(isolateEntry1===isolateEntry2){this.$.diffTable.tableRows=[];this.$.diffTable.rebuild();return;}
7983this.$.diffTable.tableRows=[isolateEntry1.diff(isolateEntry2)];this.$.diffTable.rebuild();},constructTable_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overall.toFixed(3);return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocated.toFixed(3);return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Overall Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},cmp(a,b){return a.count-b.count;}},{title:'Overall Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overallPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Overall Allocated Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocatedPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}}];this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;},buildSubEntry_(objects,groupEntry,keyToName){const typeGroup=INSTANCE_TYPE_GROUPS[groupEntry.title];for(const instanceType of typeGroup){const e=objects[instanceType];if(e===undefined)continue;delete objects[instanceType];let title=instanceType;if(keyToName!==undefined)title=keyToName(title);groupEntry.add(new Entry(title,e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));}},buildUnGroupedEntries_(objects,objectEntry,bucketSize){for(const title of Object.getOwnPropertyNames(objects)){const obj=objects[title];const groupedEntry=new GroupedEntry(title,0,0,0,new Array(bucketSize),new Array(bucketSize));groupedEntry.setFromObject(obj);objectEntry.add(groupedEntry);}},createGroupEntries_(groupEntries,objects,bucketSize){for(const groupName of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const groupEntry=new GroupedEntry(groupName,0,0,0,new Array(bucketSize),new Array(bucketSize));if(INSTANCE_TYPE_GROUPS[groupName].realEntry!==undefined){groupEntry.savedRealEntry=objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];delete objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];}
7984groupEntries[groupName]=groupEntry;}},buildGroupEntries_(groupEntries,objectEntry){for(const groupName of Object.getOwnPropertyNames(groupEntries)){const groupEntry=groupEntries[groupName];if(groupEntry.savedRealEntry!==undefined){groupEntry.setFromObject(groupEntry.savedRealEntry);groupEntry.accumulateUnknown('UNKNOWN');delete groupEntry.savedRealEntry;}
7985objectEntry.add(groupEntry);}},buildSubEntriesForGroups_(groupEntries,objects){for(const instanceType of Object.getOwnPropertyNames(objects)){if(IGNORED_ENTRIES.match(instanceType)){delete objects[instanceType];continue;}
7986const e=objects[instanceType];for(const name of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const group=INSTANCE_TYPE_GROUPS[name];if(group.match(instanceType)){groupEntries[name].add(new Entry(group.keyToName(instanceType),e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));delete objects[instanceType];}}}},build_(objects,objectEntry,bucketSize){delete objects.END;const groupEntries={};this.createGroupEntries_(groupEntries,objects,bucketSize);this.buildSubEntriesForGroups_(groupEntries,objects);this.buildGroupEntries_(groupEntries,objectEntry);this.buildUnGroupedEntries_(objects,objectEntry,bucketSize);},set selection(slices){slices.sortEvents(function(a,b){return b.start-a.start;});const previous=undefined;for(const slice of slices){if(!slice instanceof tr.e.v8.V8GCStatsThreadSlice)continue;const liveObjects=slice.liveObjects;const deadObjects=slice.deadObjects;const isolate=liveObjects.isolate;const isolateEntry=new GroupedEntry('Isolate_'+isolate+' at '+slice.start.toFixed(3)+' ms',0,0,0,[],[]);const liveEntry=new GroupedEntry('live objects',0,0,0,[],[]);const deadEntry=new GroupedEntry('dead objects',0,0,0,[],[]);const liveBucketSize=liveObjects.bucket_sizes.length;const deadBucketSize=deadObjects.bucket_sizes.length;this.build_(tr.b.deepCopy(liveObjects.type_data),liveEntry,liveBucketSize);isolateEntry.add(liveEntry);this.build_(tr.b.deepCopy(deadObjects.type_data),deadEntry,deadBucketSize);isolateEntry.add(deadEntry);isolateEntry.calculatePercentage();this.isolateEntries_.push(isolateEntry);}
7987this.updateTable_();if(slices.length>1){this.buildOptions_();this.constructDiffTable_();}},updateTable_(){this.constructTable_();this.$.table.tableRows=this.isolateEntries_;this.$.table.rebuild();},});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:true,title:'V8 GC Stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){const IC_STATS_PROPERTIES=['type','category','scriptName','filePosition','state','isNative','map','propertiesMode','numberOfOwnProperties','instanceType'];class ICStatsEntry{constructor(obj){this.type_=obj.type;if(this.type_.includes('Store')){this.category_='Store';}else if(this.type_.includes('Load')){this.category_='Load';}
7988this.state_=obj.state;if(obj.functionName){this.functionName_=obj.optimized?'*':'~';this.functionName_+=obj.functionName.length===0?'(anonymous function)':obj.functionName;}
7989this.offset_=obj.offset;this.scriptName_=obj.scriptName?obj.scriptName:'unknown';this.isNative_=obj.scriptName&&obj.scriptName.includes('native');this.lineNum_=obj.lineNum?obj.lineNum:'unknown';this.filePosition_=this.scriptName_+':'+this.lineNum_;if(this.functionName_){this.filePosition_+=' '+this.functionName_+'+'+this.offset_;}
7990this.constructor_=obj.constructor?false:true;this.map_=obj.map;if(this.map_){this.propertiesMode_=obj.dict===0?'slow':'fast';}else{this.propertiesMode_='unknown';}
7991this.numberOfOwnProperties_=obj.own;this.instanceType_=obj.instanceType;this.key_=obj.key;}
7992get type(){return this.type_;}
7993get category(){return this.category_;}
7994get state(){return this.state_;}
7995get functionName(){return this.functionName_;}
7996get offset(){return this.offset_;}
7997get scriptName(){return this.scriptName_;}
7998get isNative(){return this.isNative_;}
7999get lineNumber(){return this.lineNum_;}
8000get isConstructor(){return this.constructor_;}
8001get map(){return this.map_;}
8002get propertiesMode(){return this.propertiesMode_;}
8003get numberOfOwnProperties(){return this.numberOfOwnProperties_;}
8004get instanceType(){return this.instanceType_;}
8005get filePosition(){return this.filePosition_;}}
8006class ICStatsEntryGroup{constructor(property,key){this.property_=property;this.key_=key;this.percentage_=0;this.entries_=[];this.subGroup_=undefined;}
8007static groupBy(groups,entries,property){for(const entry of entries){const key=entry[property];let group=groups.get(key);if(!group){group=new ICStatsEntryGroup(property,key);groups.set(key,group);}
8008group.add(entry);}
8009for(const group of groups.values()){group.percentage=group.length/entries.length;}}
8010add(entry){this.entries_.push(entry);}
8011createSubGroup(){if(this.subGroup_)return this.subGroup_;this.subGroup_=new Map();for(const property of IC_STATS_PROPERTIES){if(property===this.property_)continue;const groups=new Map();this.subGroup_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);}
8012return this.subGroup_;}
8013get entries(){return this.entries_;}
8014get key(){return this.key_;}
8015get length(){return this.entries_.length;}
8016get percentage(){return this.percentage_;}
8017set percentage(value){this.percentage_=value;}}
8018class ICStatsCollection{constructor(){this.entries_=[];this.groupedEntries_=new Map();}
8019add(entry){this.entries_.push(entry);}
8020groupBy(property){if(this.groupedEntries_.has(property)){return Array.from(this.groupedEntries_.get(property).values());}
8021const groups=new Map();this.groupedEntries_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);return Array.from(groups.values());}
8022get entries(){return this.entries_;}
8023get length(){return this.entries_.length;}}
8024return{IC_STATS_PROPERTIES,ICStatsEntry,ICStatsEntryGroup,ICStatsCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const PROPERTIES=tr.e.v8.IC_STATS_PROPERTIES.map(x=>{return{label:x,value:x};});const ICStatsEntry=tr.e.v8.ICStatsEntry;const ICStatsEntryGroup=tr.e.v8.ICStatsEntryGroup;const ICStatsCollection=tr.e.v8.ICStatsCollection;Polymer({is:'tr-ui-e-v8-ic-stats-table',ready(){this.icStatsCollection_=new ICStatsCollection();this.groupKey_=PROPERTIES[0].value;this.selector_=tr.ui.b.createSelector(this,'groupKey','v8ICStatsGroupKey',this.groupKey_,PROPERTIES);Polymer.dom(this.$.groupOption).appendChild(this.selector_);},get groupKey(){return this.groupKey_;},set groupKey(key){this.groupKey_=key;if(this.icStatsCollection_.length===0)return;this.updateTable_(this.groupKey_);},constructTable_(table,groupKey){table.tableColumns=[{title:'',value:row=>{let expanded=false;const buttonEl=tr.ui.b.createButton('details',function(){const previousSibling=Polymer.dom(this).parentNode.parentNode;const parentNode=previousSibling.parentNode;if(expanded){const trEls=parentNode.getElementsByClassName('subTable');Array.from(trEls).map(x=>x.parentNode.removeChild(x));expanded=false;return;}
8025expanded=true;const subGroups=row.createSubGroup();const tr=document.createElement('tr');tr.classList.add('subTable');tr.appendChild(document.createElement('td'));const td=document.createElement('td');td.colSpan=3;for(const subGroup of subGroups){const property=subGroup[0];const all=Array.from(subGroup[1].values());const group=all.slice(0,20);const divEl=document.createElement('div');const spanEl=document.createElement('span');const subTableEl=document.createElement('tr-ui-b-table');spanEl.innerText=`Top 20 out of ${all.length}`;spanEl.style.fontWeight='bold';spanEl.style.fontSize='14px';divEl.appendChild(spanEl);this.constructTable_(subTableEl,property);subTableEl.tableRows=group;subTableEl.rebuild();divEl.appendChild(subTableEl);td.appendChild(divEl);}
8026tr.appendChild(td);parentNode.insertBefore(tr,previousSibling.nextSibling);});return buttonEl;}},{title:'Percentage',value(row){const spanEl=document.createElement('span');spanEl.innerText=(row.percentage*100).toFixed(3)+'%';return spanEl;},cmp:(a,b)=>a.percentage-b.percentage},{title:'Count',value(row){const spanEl=document.createElement('span');spanEl.innerText=row.length;return spanEl;},cmp:(a,b)=>a.length-b.length},{title:groupKey,value(row){const spanEl=document.createElement('span');spanEl.innerText=row.key?row.key:'';return spanEl;}}];table.sortColumnIndex=1;table.sortDescending=true;},updateTable_(groupKey){this.constructTable_(this.$.table,groupKey);this.$.table.tableRows=this.icStatsCollection_.groupBy(groupKey);this.$.table.rebuild();},set selection(slices){for(const slice of slices){for(const icStatsObj of slice.icStats){const entry=new ICStatsEntry(icStatsObj);this.icStatsCollection_.add(entry);}}
8027this.$.total.innerText='Total items: '+this.icStatsCollection_.length;this.updateTable_(this.selector_.selectedValue);}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:true,title:'V8 IC stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){class RuntimeStatsEntry{constructor(name,count,time){this.name_=name;this.count_=count;this.time_=time;}
8028get name(){return this.name_;}
8029get count(){return this.count_;}
8030get time(){return this.time_;}
8031addSample(count,time){this.count_+=count;this.time_+=time;}}
8032class RuntimeStatsGroup extends RuntimeStatsEntry{constructor(name,matchRegex){super(name,0,0);this.regex_=matchRegex;this.entries_=new Map();}
8033match(name){return this.regex_&&name.match(this.regex_);}
8034add(entry){const value=this.entries_.get(entry.name);if(value!==undefined){value.addSample(entry.count,entry.time);}else{this.entries_.set(entry.name,entry);}
8035this.count_+=entry.count;this.time_+=entry.time;}
8036get values(){return Array.from(this.entries_.values());}}
8037class RuntimeStatsGroupCollection{constructor(){this.groups_=[new RuntimeStatsGroup('Total'),new RuntimeStatsGroup('IC',/.*IC_.*/),new RuntimeStatsGroup('Optimize',/StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*/),new RuntimeStatsGroup('Compile-Background',/(.*CompileBackground.*)/),new RuntimeStatsGroup('Compile',/(^Compile.*)|(.*_Compile.*)/),new RuntimeStatsGroup('Parse-Background',/.*ParseBackground.*/),new RuntimeStatsGroup('Parse',/.*Parse.*/),new RuntimeStatsGroup('Blink C++',/.*Callback.*/),new RuntimeStatsGroup('API',/.*API.*/),new RuntimeStatsGroup('GC',/GC|AllocateInTargetSpace/),new RuntimeStatsGroup('JavaScript',/JS_Execution/),new RuntimeStatsGroup('V8 C++',/.*/)];}
8038addSlices(slices){for(const slice of slices){if(!(slice instanceof tr.e.v8.V8ThreadSlice))return;let runtimeCallStats;try{runtimeCallStats=JSON.parse(slice.runtimeCallStats);}catch(e){runtimeCallStats=slice.runtimeCallStats;}
8039if(runtimeCallStats===undefined)continue;for(const[name,stat]of Object.entries(runtimeCallStats)){for(let i=1;i<this.groups_.length;++i){if(this.groups_[i].match(name)){if(stat.length!==2)break;const entry=new RuntimeStatsEntry(name,stat[0],stat[1]);this.groups_[0].addSample(stat[0],stat[1]);this.groups_[i].add(entry);break;}}}}}
8040get totalTime(){return this.groups_[0].time;}
8041get totalCount(){return this.groups_[0].count;}
8042get runtimeGroups(){return this.groups_;}}
8043return{RuntimeStatsEntry,RuntimeStatsGroup,RuntimeStatsGroupCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){function handleCodeSearch_(event){if(event.target.parentNode===undefined)return;let name=event.target.parentNode.entryName;let url='https://cs.chromium.org/search/?sq=package:chromium&type=cs&q=';if(name.startsWith('API_'))name=name.substring(4);url+=encodeURIComponent(name)+'+file:src/v8/src';window.open(url,'_blank');}
8044Polymer({is:'tr-ui-e-v8-runtime-call-stats-table',ready(){this.table_=this.$.table;this.totalTime_=0;},constructTable_(totalTime){this.table_.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.table_.tableColumns=[{title:'Name',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.name;if(!(row instanceof tr.e.v8.RuntimeStatsGroup)){typeEl.title='click ? for code search';typeEl.entryName=row.name;const codeSearchEl=document.createElement('span');codeSearchEl.innerText='?';codeSearchEl.style.float='right';codeSearchEl.style.borderRadius='5px';codeSearchEl.style.backgroundColor='#EEE';codeSearchEl.addEventListener('click',handleCodeSearch_.bind(this));typeEl.appendChild(codeSearchEl);}
8045return typeEl;},width:'200px',showExpandButtons:true},{title:'Time',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/1000.0).toFixed(3)+' ms';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}},{title:'Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},width:'100px',cmp(a,b){return a.count-b.count;}},{title:'Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/totalTime*100).toFixed(3)+'%';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}}];this.table_.sortColumnIndex=1;this.table_.sortDescending=true;this.table_.subRowsPropertyName='values';},set slices(slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);if(runtimeGroupCollection.totalTime>0){this.constructTable_(runtimeGroupCollection.totalTime);this.table_.tableRows=runtimeGroupCollection.runtimeGroups;this.table_.rebuild();}}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:true,title:'V8 slices'});'use strict';Polymer({is:'tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:false,title:'V8 GC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:false,title:'V8 IC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:false,title:'V8 slice'});'use strict';tr.exportTo('tr.c',function(){function ScriptingObject(){}
8046ScriptingObject.prototype={onModelChanged(model){}};return{ScriptingObject,};});'use strict';tr.exportTo('tr.c',function(){function ScriptingController(brushingStateController){this.brushingStateController_=brushingStateController;this.scriptObjectNames_=[];this.scriptObjectValues_=[];this.brushingStateController.addEventListener('model-changed',this.onModelChanged_.bind(this));const typeInfos=ScriptingObjectRegistry.getAllRegisteredTypeInfos();typeInfos.forEach(function(typeInfo){this.addScriptObject(typeInfo.metadata.name,typeInfo.constructor);global[typeInfo.metadata.name]=typeInfo.constructor;},this);}
8047function ScriptingObjectRegistry(){}
8048const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ScriptingObjectRegistry,options);ScriptingController.prototype={get brushingStateController(){return this.brushingStateController_;},onModelChanged_(){this.scriptObjectValues_.forEach(function(v){if(v.onModelChanged){v.onModelChanged(this.brushingStateController.model);}},this);},addScriptObject(name,value){this.scriptObjectNames_.push(name);this.scriptObjectValues_.push(value);},executeCommand(command){const f=new Function(this.scriptObjectNames_,'return eval('+command+')');return f.apply(null,this.scriptObjectValues_);}};return{ScriptingController,ScriptingObjectRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function MetricRegistry(){}
8049const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};tr.b.decorateExtensionRegistry(MetricRegistry,options);function camelCaseToHackerString(camelCase){let hackerString='';for(const c of camelCase){const lowered=c.toLocaleLowerCase();if(lowered===c){hackerString+=c;}else{hackerString+='_'+lowered;}}
8050return hackerString;}
8051function getCallStack(){try{throw new Error();}catch(error){return error.stack;}}
8052function getPathsFromStack(stack){return stack.split('\n').map(line=>{line=line.replace(/^ */,'').split(':');if(line.length<4)return'';return line[line.length-3].split('/');}).filter(tr.b.identity);}
8053MetricRegistry.checkFilename=function(metricName,opt_metricPathForTest){if(metricName==='runtimeStatsTotalMetric'||metricName==='v8AndMemoryMetrics'){return;}
8054const expectedFilename=camelCaseToHackerString(metricName)+'.html';const stack=getCallStack();let metricPath=opt_metricPathForTest;if(metricPath===undefined){const paths=getPathsFromStack(stack);const METRIC_STACK_INDEX=5;if(paths.length<=METRIC_STACK_INDEX||paths[METRIC_STACK_INDEX].join('/')===paths[0].join('/')){return;}
8055metricPath=paths[METRIC_STACK_INDEX].slice(paths[METRIC_STACK_INDEX].length-2);}
8056if(!metricPath[1].endsWith('_test.html')&&metricPath[1]!==expectedFilename&&metricPath.join('_')!==expectedFilename){throw new Error('Expected '+metricName+' to be in a file named '+
8057expectedFilename+'; actual: '+metricPath.join('/')+'; stack: '+stack.replace(/\n/g,'\n  '));}};MetricRegistry.addEventListener('will-register',function(e){const metric=e.typeInfo.constructor;if(!(metric instanceof Function)){throw new Error('Metrics must be functions.');}
8058if(!metric.name.endsWith('Metric')&&!metric.name.endsWith('Metrics')){throw new Error('Metric names must end with "Metric" or "Metrics".');}
8059if(metric.length<2){throw new Error('Metrics take a HistogramSet and a Model and '+'optionally an options dictionary.');}
8060MetricRegistry.checkFilename(metric.name);});return{MetricRegistry,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS=2000;const MIN_DRAW_DELAY_IN_MS=80;const MAX_DRAW_DELAY_IN_MS=2000;function findProcess(processName,model){for(const pid in model.processes){const process=model.processes[pid];if(process.name===processName){return process;}}
8061return undefined;}
8062function findThreads(process,threadPrefix){if(process===undefined)return undefined;const threads=[];for(const tid in process.threads){const thread=process.threads[tid];if(thread.name.startsWith(threadPrefix)){threads.push(thread);}}
8063return threads;}
8064function findUIThread(process){if(process===undefined)return undefined;const threads=findThreads(process,'UI Thread');if(threads!==undefined&&threads.length===1){return threads[0];}
8065return process.threads[process.pid];}
8066function findLaunchSlices(model){const launches=[];const binders=findThreads(findProcess('system_server',model),'Binder');for(const binderId in binders){const binder=binders[binderId];for(const sliceId in binder.asyncSliceGroup.slices){const slice=binder.asyncSliceGroup.slices[sliceId];if(slice.title.startsWith('launching:')){launches.push(slice);}}}
8067return launches;}
8068function findDrawSlice(appName,startNotBefore,model){let drawSlice=undefined;const thread=findUIThread(findProcess(appName,model));if(thread===undefined)return undefined;for(const sliceId in thread.sliceGroup.slices){const slice=thread.sliceGroup.slices[sliceId];if(slice.start<startNotBefore+MIN_DRAW_DELAY_IN_MS||slice.start>startNotBefore+MAX_DRAW_DELAY_IN_MS)continue;if(slice.title!=='draw')continue;if(drawSlice===undefined||slice.start<drawSlice.start){drawSlice=slice;}}
8069return drawSlice;}
8070function findInputEventSlice(endNotAfter,model){const endNotBefore=endNotAfter-MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS;let inputSlice=undefined;const systemUi=findUIThread(findProcess('com.android.systemui',model));if(systemUi===undefined)return undefined;for(const sliceId in systemUi.asyncSliceGroup.slices){const slice=systemUi.asyncSliceGroup.slices[sliceId];if(slice.end>endNotAfter||slice.end<endNotBefore)continue;if(slice.title!=='deliverInputEvent')continue;if(inputSlice===undefined||slice.end>inputSlice.end){inputSlice=slice;}}
8071return inputSlice;}
8072function computeStartupTimeInMs(appName,launchSlice,model){let startupStart=launchSlice.start;let startupEnd=launchSlice.end;const drawSlice=findDrawSlice(appName,launchSlice.end,model);if(drawSlice!==undefined){startupEnd=drawSlice.end;}
8073const inputSlice=findInputEventSlice(launchSlice.start,model);if(inputSlice!==undefined){startupStart=inputSlice.start;}
8074return startupEnd-startupStart;}
8075function measureStartup(histograms,model){const launches=findLaunchSlices(model);for(const sliceId in launches){const launchSlice=launches[sliceId];const appName=launchSlice.title.split(': ')[1];const startupMs=computeStartupTimeInMs(appName,launchSlice,model);histograms.createHistogram(`android:systrace:startup:${appName}`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,startupMs);}}
8076function measureThreadStates(histograms,model,rangeOfInterest){for(const pid in model.processes){const process=model.processes[pid];if(process.name===undefined)continue;let hasSlices=false;let timeRunning=0;let timeRunnable=0;let timeSleeping=0;let timeUninterruptible=0;let timeBlockIO=0;let timeUnknown=0;for(const tid in process.threads){const thread=process.threads[tid];if(thread.timeSlices===undefined)continue;for(const sliceId in thread.timeSlices){const slice=thread.timeSlices[sliceId];const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const duration=intersection.duration;if(duration===0)continue;hasSlices=true;if(slice.title==='Running'){timeRunning+=duration;}else if(slice.title==='Runnable'){timeRunnable+=duration;}else if(slice.title==='Sleeping'){timeSleeping+=duration;}else if(slice.title.startsWith('Uninterruptible')){timeUninterruptible+=duration;if(slice.title.includes('Block I/O'))timeBlockIO+=duration;}else{timeUnknown+=duration;}}}
8077if(hasSlices){const wall=rangeOfInterest.max-rangeOfInterest.min;histograms.createHistogram(`android:systrace:threadtime:${process.name}:running`,tr.b.Unit.byName.normalizedPercentage,timeRunning/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:runnable`,tr.b.Unit.byName.normalizedPercentage,timeRunnable/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:sleeping`,tr.b.Unit.byName.normalizedPercentage,timeSleeping/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:blockio`,tr.b.Unit.byName.normalizedPercentage,timeBlockIO/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:uninterruptible`,tr.b.Unit.byName.normalizedPercentage,timeUninterruptible/wall);if(timeUnknown>0){histograms.createHistogram(`android:systrace:threadtime:${process.name}:unknown`,tr.b.Unit.byName.normalizedPercentage,timeUnknown/wall);}}}}
8078function androidSystraceMetric(histograms,model,options){let rangeOfInterest=model.bounds;if(options!==undefined&&options.rangeOfInterest!==undefined){rangeOfInterest=options.rangeOfInterest;}
8079measureStartup(histograms,model);measureThreadStates(histograms,model,rangeOfInterest);}
8080tr.metrics.MetricRegistry.register(androidSystraceMetric,{supportsRangeOfInterest:true});return{androidSystraceMetric,};});'use strict';tr.exportTo('tr.b.math',function(){const PERCENTILE_PRECISION=1e-7;function PiecewiseLinearFunction(){this.pieces=[];}
8081PiecewiseLinearFunction.prototype={push(x1,y1,x2,y2){if(x1>=x2){throw new Error('Invalid segment');}
8082if(this.pieces.length>0&&this.pieces[this.pieces.length-1].x2>x1){throw new Error('Potentially overlapping segments');}
8083if(x1<x2){this.pieces.push(new Piece(x1,y1,x2,y2));}},partBelow(y){return this.pieces.reduce((acc,p)=>(acc+p.partBelow(y)),0);},get min(){return this.pieces.reduce((acc,p)=>Math.min(acc,p.min),Infinity);},get max(){return this.pieces.reduce((acc,p)=>Math.max(acc,p.max),-Infinity);},get average(){let weightedSum=0;let totalWeight=0;this.pieces.forEach(function(piece){weightedSum+=piece.width*piece.average;totalWeight+=piece.width;});if(totalWeight===0)return 0;return weightedSum/totalWeight;},percentile(percent){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');}
8084let lower=this.min;let upper=this.max;const total=this.partBelow(upper);if(total===0)return 0;while(upper-lower>PERCENTILE_PRECISION){const middle=(lower+upper)/2;const below=this.partBelow(middle);if(below/total<percent){lower=middle;}else{upper=middle;}}
8085return(lower+upper)/2;}};function Piece(x1,y1,x2,y2){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;}
8086Piece.prototype={partBelow(y){const width=this.width;if(width===0)return 0;const minY=this.min;const maxY=this.max;if(y>=maxY)return width;if(y<minY)return 0;return(y-minY)/(maxY-minY)*width;},get min(){return Math.min(this.y1,this.y2);},get max(){return Math.max(this.y1,this.y2);},get average(){return(this.y1+this.y2)/2;},get width(){return this.x2-this.x1;}};return{PiecewiseLinearFunction,};});'use strict';tr.exportTo('tr.metrics.v8.utils',function(){const IDLE_TASK_EVENT='SingleThreadIdleTaskRunner::RunTask';const V8_EXECUTE='V8.Execute';const GC_EVENT_PREFIX='V8.GC';const FULL_GC_EVENT='V8.GCCompactor';const LOW_MEMORY_EVENT='V8.GCLowMemoryNotification';const MAJOR_GC_EVENT='MajorGC';const MINOR_GC_EVENT='MinorGC';const TOP_GC_EVENTS={'V8.GCCompactor':'v8-gc-full-mark-compactor','V8.GCFinalizeMC':'v8-gc-latency-mark-compactor','V8.GCFinalizeMCReduceMemory':'v8-gc-memory-mark-compactor','V8.GCIncrementalMarking':'v8-gc-incremental-step','V8.GCIncrementalMarkingFinalize':'v8-gc-incremental-finalize','V8.GCIncrementalMarkingStart':'v8-gc-incremental-start','V8.GCPhantomHandleProcessingCallback':'v8-gc-phantom-handle-callback','V8.GCScavenger':'v8-gc-scavenger'};const LOW_MEMORY_MARK_COMPACTOR='v8-gc-low-memory-mark-compactor';function findParent(event,predicate){let parent=event.parentSlice;while(parent){if(predicate(parent)){return parent;}
8087parent=parent.parentSlice;}
8088return null;}
8089function isIdleTask(event){return event.title===IDLE_TASK_EVENT;}
8090function isLowMemoryEvent(event){return event.title===LOW_MEMORY_EVENT;}
8091function isV8Event(event){return event.title.startsWith('V8.');}
8092function isV8ExecuteEvent(event){return event.title===V8_EXECUTE;}
8093function isTopV8ExecuteEvent(event){return isV8ExecuteEvent(event)&&findParent(isV8ExecuteEvent)===null;}
8094function isGarbageCollectionEvent(event){return event.title&&event.title.startsWith(GC_EVENT_PREFIX)&&event.title!==LOW_MEMORY_EVENT;}
8095function isTopGarbageCollectionEvent(event){return event.title in TOP_GC_EVENTS;}
8096function isForcedGarbageCollectionEvent(event){return findParent(event,isLowMemoryEvent)!==null;}
8097function isSubGarbageCollectionEvent(event){return isGarbageCollectionEvent(event)&&event.parentSlice&&(isTopGarbageCollectionEvent(event.parentSlice)||event.parentSlice.title===MAJOR_GC_EVENT||event.parentSlice.title===MINOR_GC_EVENT);}
8098function isCompileOptimizeEvent(event){return(event.title==='V8.OptimizeCode'||event.title==='V8.RecompileSynchronous'||event.title==='V8.RecompileConcurrent');}
8099function isCompileUnoptimizeEvent(event){return(event.title==='V8.CompileIgnition'||event.title==='V8.CompileUnoptimizedInnerFunctions'||event.title==='V8.Compile'||event.title==='V8.CompileEval'||event.title==='V8.CompileCode'||event.title==='V8.CompileScript');}
8100function isCompileParseEvent(event){return(event.title==='V8.PreParse'||event.title==='V8.ParseFunction'||event.title==='V8.ParseProgram');}
8101function isCompileEvent(event){return tr.b.getCategoryParts(event.category).includes('disabled-by-default-v8.compile');}
8102function isFullMarkCompactorEvent(event){return event.title==='V8.GCCompactor';}
8103function isIncrementalMarkingEvent(event){return event.title.startsWith('V8.GCIncrementalMarking');}
8104function isLatencyMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMC';}
8105function isMemoryMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMCReduceMemory';}
8106function isScavengerEvent(event){return event.title==='V8.GCScavenger';}
8107function topGarbageCollectionEventName(event){if(event.title===FULL_GC_EVENT){if(findParent(event,isLowMemoryEvent)){return LOW_MEMORY_MARK_COMPACTOR;}}
8108return TOP_GC_EVENTS[event.title];}
8109function subGarbageCollectionEventName(event){const topEvent=findParent(event,isTopGarbageCollectionEvent);const prefix=topEvent?topGarbageCollectionEventName(topEvent):'unknown';const name=event.title.replace('V8.GC_MC_','').replace('V8.GC_SCAVENGER_','').replace('V8.GC_','').replace(/_/g,'-').toLowerCase();return prefix+'-'+name;}
8110function groupAndProcessEvents(model,filterCallback,nameCallback,processCallback){const nameToEvents={};for(const event of model.getDescendantEvents()){if(!filterCallback(event))continue;const name=nameCallback(event);nameToEvents[name]=nameToEvents[name]||[];nameToEvents[name].push(event);}
8111for(const[name,events]of Object.entries(nameToEvents)){processCallback(name,events);}}
8112function unionOfIntervals(intervals){if(intervals.length===0)return[];return tr.b.math.mergeRanges(intervals.map(x=>{return{min:x.start,max:x.end};}),1e-6,function(ranges){return{start:ranges.reduce((acc,x)=>Math.min(acc,x.min),ranges[0].min),end:ranges.reduce((acc,x)=>Math.max(acc,x.max),ranges[0].max)};});}
8113function hasV8Stats(globalMemoryDump){let v8stats=undefined;globalMemoryDump.iterateContainerDumps(function(dump){v8stats=v8stats||dump.getMemoryAllocatorDumpByFullName('v8');});return!!v8stats;}
8114function rangeForMemoryDumps(model){const startOfFirstDumpWithV8=model.globalMemoryDumps.filter(hasV8Stats).reduce((start,dump)=>Math.min(start,dump.start),Infinity);if(startOfFirstDumpWithV8===Infinity)return new tr.b.math.Range();return tr.b.math.Range.fromExplicitRange(startOfFirstDumpWithV8,Infinity);}
8115return{findParent,groupAndProcessEvents,isCompileEvent,isCompileOptimizeEvent,isCompileUnoptimizeEvent,isCompileParseEvent,isForcedGarbageCollectionEvent,isFullMarkCompactorEvent,isGarbageCollectionEvent,isIdleTask,isIncrementalMarkingEvent,isLatencyMarkCompactorEvent,isLowMemoryEvent,isMemoryMarkCompactorEvent,isScavengerEvent,isSubGarbageCollectionEvent,isTopGarbageCollectionEvent,isTopV8ExecuteEvent,isV8Event,isV8ExecuteEvent,rangeForMemoryDumps,subGarbageCollectionEventName,topGarbageCollectionEventName,unionOfIntervals,};});'use strict';tr.exportTo('tr.metrics.blink',function(){const BLINK_GC_EVENTS={'BlinkGCMarking':'blink-gc-marking','ThreadState::completeSweep':'blink-gc-complete-sweep','ThreadState::performIdleLazySweep':'blink-gc-idle-lazy-sweep'};function isBlinkGarbageCollectionEvent(event){return event.title in BLINK_GC_EVENTS;}
8116function blinkGarbageCollectionEventName(event){return BLINK_GC_EVENTS[event.title];}
8117function blinkGcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addIdleTimesOfTopEvents(histograms,model);addTotalIdleTimesOfTopEvents(histograms,model);}
8118tr.metrics.MetricRegistry.register(blinkGcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;}
8119function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;}
8120function createPercentage(name,numerator,denominator){const histogram=new tr.v.Histogram(name,percentage_biggerIsBetter);if(denominator===0){histogram.addSample(0);}else{histogram.addSample(numerator/denominator);}
8121return histogram;}
8122function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8123function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8124function addIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){addIdleTimes(histograms,model,name,events);});}
8125function addTotalIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){addIdleTimes(histograms,model,name,events);});}
8126function addIdleTimes(histograms,model,name,events){const cpuDuration=createNumericForIdleTime(name+'_cpu');const insideIdle=createNumericForIdleTime(name+'_inside_idle');const outsideIdle=createNumericForIdleTime(name+'_outside_idle');const idleDeadlineOverrun=createNumericForIdleTime(name+'_idle_deadline_overrun');events.forEach(function(event){const idleTask=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isIdleTask);let inside=0;let overrun=0;if(idleTask){const allottedTime=idleTask.args.allotted_time_ms;if(event.duration>allottedTime){overrun=event.duration-allottedTime;inside=event.cpuDuration*allottedTime/event.duration;}else{inside=event.cpuDuration;}}
8127cpuDuration.addSample(event.cpuDuration);insideIdle.addSample(inside);outsideIdle.addSample(event.cpuDuration-inside);idleDeadlineOverrun.addSample(overrun);});histograms.addHistogram(idleDeadlineOverrun);histograms.addHistogram(outsideIdle);const percentage=createPercentage(name+'_percentage_idle',insideIdle.sum,cpuDuration.sum);histograms.addHistogram(percentage);}
8128return{blinkGcMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function getCpuSnapshotsFromModel(model){const snapshots=[];for(const pid in model.processes){const snapshotInstances=model.processes[pid].objects.getAllInstancesNamed('CPUSnapshots');if(!snapshotInstances)continue;for(const object of snapshotInstances[0].snapshots){snapshots.push(object.args.processes);}}
8129return snapshots;}
8130function getProcessSumsFromSnapshot(snapshot){const processSums=new Map();for(const processData of snapshot){const processName=processData.name;if(!(processSums.has(processName))){processSums.set(processName,{sum:0.0,paths:new Set()});}
8131processSums.get(processName).sum+=parseFloat(processData.pCpu);if(processData.path){processSums.get(processName).paths.add(processData.path);}}
8132return processSums;}
8133function buildNumericsFromSnapshots(snapshots){const processNumerics=new Map();for(const snapshot of snapshots){const processSums=getProcessSumsFromSnapshot(snapshot);for(const[processName,processData]of processSums.entries()){if(!(processNumerics.has(processName))){processNumerics.set(processName,{numeric:new tr.v.Histogram('cpu:percent:'+processName,tr.b.Unit.byName.normalizedPercentage_smallerIsBetter),paths:new Set()});}
8134processNumerics.get(processName).numeric.addSample(processData.sum/100.0);for(const path of processData.paths){processNumerics.get(processName).paths.add(path);}}}
8135return processNumerics;}
8136function cpuProcessMetric(histograms,model){const snapshots=getCpuSnapshotsFromModel(model);const processNumerics=buildNumericsFromSnapshots(snapshots);for(const[processName,processData]of processNumerics){const numeric=processData.numeric;const missingSnapshotCount=snapshots.length-numeric.numValues;for(let i=0;i<missingSnapshotCount;i++){numeric.addSample(0);}
8137numeric.diagnostics.set('paths',new
8138tr.v.d.Generic([...processData.paths]));histograms.addHistogram(numeric);}}
8139tr.metrics.MetricRegistry.register(cpuProcessMetric);return{cpuProcessMetric,};});'use strict';tr.exportTo('tr.metrics',function(){function sampleMetric(histograms,model){const hist=new tr.v.Histogram('foo',tr.b.Unit.byName.sizeInBytes_smallerIsBetter);hist.addSample(9);hist.addSample(91,{bar:new tr.v.d.Generic({hello:42})});for(const expectation of model.userModel.expectations){if(expectation instanceof tr.model.um.ResponseExpectation){}else if(expectation instanceof tr.model.um.AnimationExpectation){}else if(expectation instanceof tr.model.um.IdleExpectation){}else if(expectation instanceof tr.model.um.LoadExpectation){}}
8140const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const[pid,process]of Object.entries(model.processes)){}
8141histograms.addHistogram(hist);}
8142tr.metrics.MetricRegistry.register(sampleMetric);return{sampleMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const HANDLE_INPUT_EVENT_TITLE='WebViewImpl::handleInputEvent';function findPrecedingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>eventA.start)break;}
8143if(eventsBIndex>0){events.set(eventA,eventsB[eventsBIndex-1]);}}
8144return events;}
8145function findFollowingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>=eventA.start)break;}
8146if(eventsBIndex>=0&&eventsBIndex<eventsB.length){events.set(eventA,eventsB[eventsBIndex]);}}
8147return events;}
8148function getSpaNavigationStartCandidates_(rendererHelper,browserHelper){const isNavStartEvent=e=>{if(e.title===HANDLE_INPUT_EVENT_TITLE&&e.args.type==='MouseUp'){return true;}
8149return e.title==='NavigationControllerImpl::GoToIndex';};return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents(),...browserHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavStartEvent);}
8150function getSpaNavigationEvents_(rendererHelper){const isNavEvent=e=>e.category==='blink'&&e.title==='FrameLoader::updateForSameDocumentNavigation';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavEvent);}
8151function getInputLatencyEvents_(browserHelper){const isInputLatencyEvent=e=>e.title==='InputLatency::MouseUp';return browserHelper.getAllAsyncSlicesMatching(isInputLatencyEvent);}
8152function getInputLatencyEventByBindIdMap_(browserHelper){const inputLatencyEventByBindIdMap=new Map();for(const event of getInputLatencyEvents_(browserHelper)){inputLatencyEventByBindIdMap.set(event.args.data.trace_id,event);}
8153return inputLatencyEventByBindIdMap;}
8154function getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper){const mainThread=rendererHelper.mainThread;const spaNavEvents=getSpaNavigationEvents_(rendererHelper);const navStartCandidates=getSpaNavigationStartCandidates_(rendererHelper,browserHelper).sort(tr.importer.compareEvents);const spaNavEventToNavStartCandidateMap=findPrecedingEvents_(spaNavEvents,navStartCandidates);const inputLatencyEventByBindIdMap=getInputLatencyEventByBindIdMap_(browserHelper);const spaNavEventToNavStartEventMap=new Map();for(const[spaNavEvent,navStartCandidate]of
8155spaNavEventToNavStartCandidateMap){if(navStartCandidate.title===HANDLE_INPUT_EVENT_TITLE){const inputLatencySlice=inputLatencyEventByBindIdMap.get(Number(navStartCandidate.parentSlice.bindId));if(inputLatencySlice){spaNavEventToNavStartEventMap.set(spaNavEvent,inputLatencySlice);}}else{spaNavEventToNavStartEventMap.set(spaNavEvent,navStartCandidate);}}
8156return spaNavEventToNavStartEventMap;}
8157function getFirstPaintEvents_(rendererHelper){const isFirstPaintEvent=e=>e.category==='blink'&&e.title==='PaintLayerCompositor::updateIfNeededRecursive';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isFirstPaintEvent);}
8158function getSpaNavigationEventToFirstPaintEventMap_(rendererHelper){const spaNavEvents=getSpaNavigationEvents_(rendererHelper).sort(tr.importer.compareEvents);const firstPaintEvents=getFirstPaintEvents_(rendererHelper).sort(tr.importer.compareEvents);return findFollowingEvents_(spaNavEvents,firstPaintEvents);}
8159function findSpaNavigationsOnRenderer(rendererHelper,browserHelper){const spaNavEventToNavStartMap=getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper);const spaNavEventToFirstPaintEventMap=getSpaNavigationEventToFirstPaintEventMap_(rendererHelper);const spaNavigations=[];for(const[spaNavEvent,navStartEvent]of
8160spaNavEventToNavStartMap){if(spaNavEventToFirstPaintEventMap.has(spaNavEvent)){const firstPaintEvent=spaNavEventToFirstPaintEventMap.get(spaNavEvent);const isNavStartAsyncSlice=navStartEvent instanceof tr.model.AsyncSlice;spaNavigations.push({navStartCandidates:{inputLatencyAsyncSlice:isNavStartAsyncSlice?navStartEvent:undefined,goToIndexSlice:isNavStartAsyncSlice?undefined:navStartEvent},firstPaintEvent,url:spaNavEvent.args.url});}}
8161return spaNavigations;}
8162return{findSpaNavigationsOnRenderer,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function perceptualBlend(ir,index,score){return Math.exp(1-score);}
8163function filterExpectationsByRange(irs,opt_range){const filteredExpectations=[];irs.forEach(function(ir){if(!(ir instanceof tr.model.um.UserExpectation))return;if(!opt_range||opt_range.intersectsExplicitRangeInclusive(ir.start,ir.end)){filteredExpectations.push(ir);}});return filteredExpectations;}
8164return{perceptualBlend,filterExpectationsByRange,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime){if(mainThread===null)return;const breakdownTree={};for(const title of
8165tr.e.chrome.ChromeUserFriendlyCategoryDriver.ALL_TITLES){breakdownTree[title]={total:0,events:{}};}
8166for(const event of mainThread.getDescendantEvents()){const eventStart=getEventStart(event);const eventDuration=getEventDuration(event);const eventSelfTime=getEventSelfTime(event);const eventEnd=eventStart+eventDuration;if(!rangeOfInterest.intersectsExplicitRangeExclusive(eventStart,eventEnd)){continue;}
8167if(eventSelfTime===undefined)continue;const title=tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent(event);let timeIntersectionRatio=0;if(eventDuration>0){timeIntersectionRatio=rangeOfInterest.findExplicitIntersectionDuration(eventStart,eventEnd)/eventDuration;}
8168const v8Runtime=event.args['runtime-call-stat'];if(v8Runtime!==undefined){const v8RuntimeObject=JSON.parse(v8Runtime);for(const runtimeCall in v8RuntimeObject){if(v8RuntimeObject[runtimeCall].length===2){if(breakdownTree.v8_runtime.events[runtimeCall]===undefined){breakdownTree.v8_runtime.events[runtimeCall]=0;}
8169const runtimeTime=tr.b.Unit.timestampFromUs(v8RuntimeObject[runtimeCall][1]*timeIntersectionRatio);breakdownTree.v8_runtime.total+=runtimeTime;breakdownTree.v8_runtime.events[runtimeCall]+=runtimeTime;}}}
8170const approximatedSelfTimeContribution=eventSelfTime*timeIntersectionRatio;breakdownTree[title].total+=approximatedSelfTimeContribution;if(breakdownTree[title].events[event.title]===undefined){breakdownTree[title].events[event.title]=0;}
8171breakdownTree[title].events[event.title]+=approximatedSelfTimeContribution;}
8172return breakdownTree;}
8173function addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEvents,networkEvents,rangeOfInterest){let idleRanges=[rangeOfInterest];const mainThreadEventRanges=tr.b.math.convertEventsToRanges(mainThreadEvents);const networkEventRanges=tr.b.math.convertEventsToRanges(networkEvents);const eventRanges=mainThreadEventRanges.concat(networkEventRanges);eventRanges.sort((a,b)=>a.min-b.min);for(const eventRange of eventRanges){if(!eventRange||eventRange.isEmpty||eventRange.duration<0){throw new Error('Range is invalid');}
8174const newLastIdleRanges=tr.b.math.Range.findDifference(idleRanges[idleRanges.length-1],eventRange);idleRanges.pop();idleRanges=idleRanges.concat(newLastIdleRanges);if(idleRanges.length===0)break;}
8175const totalFreeDuration=tr.b.math.Statistics.sum(idleRanges,range=>range.duration);breakdownTree.idle={total:totalFreeDuration,events:{}};let totalBlockedDuration=rangeOfInterest.duration;for(const component of Object.values(breakdownTree)){totalBlockedDuration-=component.total;}
8176breakdownTree.blocked_on_network={total:totalBlockedDuration,events:{}};}
8177function generateWallClockTimeBreakdownTree(mainThread,networkEvents,rangeOfInterest){function getEventStart(e){return e.start;}
8178function getEventDuration(e){return e.duration;}
8179function getEventSelfTime(e){return e.selfTime;}
8180const breakdownTree=generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime);const mainThreadEventsInRange=tr.model.helpers.getSlicesIntersectingRange(rangeOfInterest,mainThread.sliceGroup.topLevelSlices);addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEventsInRange,networkEvents,rangeOfInterest);return breakdownTree;}
8181function generateCpuTimeBreakdownTree(mainThread,rangeOfInterestCpuTime){function getEventStart(e){return e.cpuStart;}
8182function getEventDuration(e){return e.cpuDuration;}
8183function getEventSelfTime(e){return e.cpuSelfTime;}
8184return generateTimeBreakdownTree(mainThread,rangeOfInterestCpuTime,getEventStart,getEventDuration,getEventSelfTime);}
8185return{generateTimeBreakdownTree,generateWallClockTimeBreakdownTree,generateCpuTimeBreakdownTree,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const RESPONSIVENESS_THRESHOLD_MS=50;const INTERACTIVE_WINDOW_SIZE_MS=5*1000;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const RelatedEventSet=tr.v.d.RelatedEventSet;function getNetworkEventsInRange(process,range){const networkEvents=[];for(const thread of Object.values(process.threads)){const threadHelper=new tr.model.helpers.ChromeThreadHelper(thread);const events=threadHelper.getNetworkEvents();for(const event of events){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){networkEvents.push(event);}}}
8186return networkEvents;}
8187function hasCategoryAndName(event,category,title){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);}
8188function createBreakdownDiagnostic(breakdownTree){const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownTree){breakdownDiagnostic.set(label,breakdownTree[label].total);}
8189return breakdownDiagnostic;}
8190function NavigationStartFinder(rendererHelper){this.navigationStartsForFrameId_={};for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(!hasCategoryAndName(ev,'blink.user_timing','navigationStart')){continue;}
8191const frameIdRef=ev.args.frame;let list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined){this.navigationStartsForFrameId_[frameIdRef]=list=[];}
8192list.unshift(ev);}}
8193NavigationStartFinder.prototype={findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ts){const list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined)return undefined;let eventBeforeTimestamp;for(const ev of list){if(ev.start>ts)continue;if(eventBeforeTimestamp===undefined){eventBeforeTimestamp=ev;}}
8194if(eventBeforeTimestamp===undefined)return undefined;return eventBeforeTimestamp;}};const FIRST_PAINT_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,1e3,20).addLinearBins(3e3,20).addExponentialBins(20e3,20);function createHistogram(name){const histogram=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,FIRST_PAINT_BOUNDARIES);histogram.customizeSummaryOptions({avg:true,count:false,max:true,min:true,std:true,sum:false,});return histogram;}
8195function findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ts){const objects=rendererHelper.process.objects;const frameLoaderInstances=objects.instancesByTypeName_.FrameLoader;if(frameLoaderInstances===undefined)return undefined;let snapshot;for(const instance of frameLoaderInstances){if(!instance.isAliveAt(ts))continue;const maybeSnapshot=instance.getSnapshotAt(ts);if(frameIdRef!==maybeSnapshot.args.frame.id_ref)continue;snapshot=maybeSnapshot;}
8196return snapshot;}
8197function findAllEvents(rendererHelper,category,title){const targetEvents=[];for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,category,title))continue;targetEvents.push(ev);}
8198return targetEvents;}
8199function findFirstMeaningfulPaintCandidates(rendererHelper){const candidatesForFrameId={};for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,'loading','firstMeaningfulPaintCandidate')){continue;}
8200if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;if(frameIdRef===undefined)continue;let list=candidatesForFrameId[frameIdRef];if(list===undefined){candidatesForFrameId[frameIdRef]=list=[];}
8201list.push(ev);}
8202return candidatesForFrameId;}
8203const URL_EXCLUSION=['about:blank','data:text/html,pluginplaceholderdata','data:text/html,chromewebdata'];function shouldIgnoreURL(url){return URL_EXCLUSION.includes(url);}
8204function collectTimeToEvent(category,eventName,rendererHelper,navigationStartFinder){const targetEvents=findAllEvents(rendererHelper,category,eventName);const samples=[];for(const ev of targetEvents){if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ev.start);if(snapshot===undefined||!snapshot.args.isLoadingMainFrame)continue;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))continue;const navigationStartEvent=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartEvent===undefined)continue;const timeToEvent=ev.start-navigationStartEvent.start;samples.push({value:timeToEvent,diagnostics:{url:new tr.v.d.Generic(url)}});}
8205return samples;}
8206function addFirstMeaningfulPaintSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const navStartToFMPRange=tr.b.math.Range.fromExplicitRange(navigationStart.start,fmpMarkerEvent.start);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFMPRange);const timeToFirstMeaningfulPaint=navStartToFMPRange.duration;const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFMPRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:timeToFirstMeaningfulPaint,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});return{firstMeaningfulPaint:fmpMarkerEvent.start,url};}
8207function addFirstMeaningfulPaintCpuTimeSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const navStartToFMPCpuRange=tr.b.math.Range.fromExplicitRange(navigationStart.cpuStart,fmpMarkerEvent.cpuStart);const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const mainThreadCpuTime=getMainThreadCpuTime(rendererHelper,navStartToFMPCpuRange);const breakdownTree=tr.metrics.sh.generateCpuTimeBreakdownTree(rendererHelper.mainThread,navStartToFMPCpuRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:mainThreadCpuTime,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});}
8208function getMainThreadCpuTime(rendererHelper,rangeOfInterest){let mainThreadCpuTime=0;for(const slice of rendererHelper.mainThread.sliceGroup.topLevelSlices){if(!slice.cpuDuration)continue;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.cpuStart,slice.cpuStart+slice.cpuDuration);const intersection=rangeOfInterest.findIntersection(sliceRange);mainThreadCpuTime+=intersection.duration;}
8209return mainThreadCpuTime;}
8210function addFirstInteractiveSample(samples,rendererHelper,navigationStart,firstMeaningfulPaint,url){if(shouldIgnoreURL(url))return;const navigationStartTime=navigationStart.start;let firstInteractive=Infinity;let firstInteractiveCandidate=firstMeaningfulPaint;let lastLongTaskEvent=undefined;for(const ev of[...rendererHelper.mainThread.sliceGroup.childEvents()]){if(ev.start<firstInteractiveCandidate)continue;const interactiveDurationSoFar=ev.start-firstInteractiveCandidate;if(interactiveDurationSoFar>=INTERACTIVE_WINDOW_SIZE_MS){firstInteractive=firstInteractiveCandidate;break;}
8211if(ev.title==='TaskQueueManager::ProcessTaskFromWorkQueue'&&ev.duration>RESPONSIVENESS_THRESHOLD_MS){firstInteractiveCandidate=ev.end-50;lastLongTaskEvent=ev;}}
8212const navStartToFirstInteractiveRange=tr.b.math.Range.fromExplicitRange(navigationStartTime,firstInteractive);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFirstInteractiveRange);const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFirstInteractiveRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);const timeToFirstInteractive=navStartToFirstInteractiveRange.duration;samples.push({value:timeToFirstInteractive,diagnostics:{'Start':new RelatedEventSet(navigationStart),'Last long task':new RelatedEventSet(lastLongTaskEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStartTime,interactive:firstInteractive}),'Breakdown of [navStart, Interactive]':breakdownDiagnostic,}});}
8213function collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder){const firstMeaningfulPaintSamples=[];const firstMeaningfulPaintCpuTimeSamples=[];const firstInteractiveSamples=[];function addSamples(frameIdRef,navigationStart,fmpMarkerEvent){const data=addFirstMeaningfulPaintSample(firstMeaningfulPaintSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);addFirstMeaningfulPaintCpuTimeSample(firstMeaningfulPaintCpuTimeSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);if(data!==undefined){addFirstInteractiveSample(firstInteractiveSamples,rendererHelper,navigationStart,data.firstMeaningfulPaint,data.url);}}
8214const candidatesForFrameId=findFirstMeaningfulPaintCandidates(rendererHelper);for(const frameIdRef in candidatesForFrameId){let navigationStart=undefined;let lastCandidate=undefined;for(const ev of candidatesForFrameId[frameIdRef]){const navigationStartForThisCandidate=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartForThisCandidate===undefined)continue;if(navigationStart!==navigationStartForThisCandidate){if(navigationStart!==undefined&&lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);}
8215navigationStart=navigationStartForThisCandidate;}
8216lastCandidate=ev;}
8217if(lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);}}
8218return{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};}
8219function collectLoadingMetricsForRenderer(rendererHelper){const navigationStartFinder=new NavigationStartFinder(rendererHelper);const firstContentfulPaintSamples=collectTimeToEvent('loading','firstContentfulPaint',rendererHelper,navigationStartFinder);const onLoadSamples=collectTimeToEvent('blink.user_timing','loadEventStart',rendererHelper,navigationStartFinder);const{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder);return{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};}
8220function addSamplesToHistogram(samples,histogram){for(const sample of samples){histogram.addSample(sample.value,sample.diagnostics);}}
8221function loadingMetric(histograms,model){const firstContentfulPaintHistogram=createHistogram('timeToFirstContentfulPaint');firstContentfulPaintHistogram.description='time to first contentful paint';const onLoadHistogram=createHistogram('timeToOnload');onLoadHistogram.description='time to onload. '+'This is temporary metric used for PCv1/v2 correctness checking';const firstMeaningfulPaintHistogram=createHistogram('timeToFirstMeaningfulPaint');firstMeaningfulPaintHistogram.description='time to first meaningful paint';const firstMeaningfulPaintCpuTimeHistogram=createHistogram('cpuTimeToFirstMeaningfulPaint');firstMeaningfulPaintCpuTimeHistogram.description='CPU time to first meaningful paint';const firstInteractiveHistogram=createHistogram('timeToFirstInteractive');firstInteractiveHistogram.description='time to first interactive';const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const pid in chromeHelper.rendererHelpers){const rendererHelper=chromeHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;const{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectLoadingMetricsForRenderer(rendererHelper);addSamplesToHistogram(firstContentfulPaintSamples,firstContentfulPaintHistogram);addSamplesToHistogram(onLoadSamples,onLoadHistogram);addSamplesToHistogram(firstMeaningfulPaintSamples,firstMeaningfulPaintHistogram);addSamplesToHistogram(firstMeaningfulPaintCpuTimeSamples,firstMeaningfulPaintCpuTimeHistogram);addSamplesToHistogram(firstInteractiveSamples,firstInteractiveHistogram);}
8222histograms.addHistogram(firstContentfulPaintHistogram);histograms.addHistogram(onLoadHistogram);histograms.addHistogram(firstMeaningfulPaintHistogram);histograms.addHistogram(firstMeaningfulPaintCpuTimeHistogram);histograms.addHistogram(firstInteractiveHistogram);}
8223tr.metrics.MetricRegistry.register(loadingMetric);return{loadingMetric,getNetworkEventsInRange,collectLoadingMetricsForRenderer,RESPONSIVENESS_THRESHOLD_MS,INTERACTIVE_WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics',function(){const SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY=tr.v.HistogramBinBoundaries.createExponential(1,1000,50);function spaNavigationMetric(histograms,model){const histogram=new tr.v.Histogram('spaNavigationStartToFpDuration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY);histogram.description='Latency between the input event causing'+' a SPA navigation and the first paint event after it';histogram.customizeSummaryOptions({count:false,sum:false,});const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper){return;}
8224const rendererHelpers=modelHelper.rendererHelpers;if(!rendererHelpers){return;}
8225const browserHelper=modelHelper.browserHelper;for(const rendererHelper of Object.values(rendererHelpers)){const spaNavigations=tr.metrics.findSpaNavigationsOnRenderer(rendererHelper,browserHelper);for(const spaNav of spaNavigations){let beginTs=0;if(spaNav.navStartCandidates.inputLatencyAsyncSlice){const beginData=spaNav.navStartCandidates.inputLatencyAsyncSlice.args.data;beginTs=model.convertTimestampToModelTime('traceEventClock',beginData.INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.time);}else{beginTs=spaNav.navStartCandidates.goToIndexSlice.start;}
8226const rangeOfInterest=tr.b.math.Range.fromExplicitRange(beginTs,spaNav.firstPaintEvent.start);const networkEvents=tr.metrics.sh.getNetworkEventsInRange(rendererHelper.process,rangeOfInterest);const breakdownDict=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,rangeOfInterest);const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownDict){breakdownDiagnostic.set(label,parseInt(breakdownDict[label].total*1e3)/1e3);}
8227histogram.addSample(rangeOfInterest.duration,{'Breakdown of [navStart, firstPaint]':breakdownDiagnostic,'Start':new tr.v.d.RelatedEventSet(spaNav.navigationStart),'End':new tr.v.d.RelatedEventSet(spaNav.firstPaintEvent),'Navigation infos':new tr.v.d.Generic({url:spaNav.url,pid:rendererHelper.pid,navStart:beginTs,firstPaint:spaNav.firstPaintEvent.start})});}}
8228histograms.addHistogram(histogram);}
8229tr.metrics.MetricRegistry.register(spaNavigationMetric);return{spaNavigationMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LATENCY_BOUNDS=tr.v.HistogramBinBoundaries.createLinear(0,20,100);function clockSyncLatencyMetric(values,model){const domains=Array.from(model.clockSyncManager.domainsSeen).sort();for(let i=0;i<domains.length;i++){for(let j=i+1;j<domains.length;j++){const latency=model.clockSyncManager.getTimeTransformerError(domains[i],domains[j]);const hist=new tr.v.Histogram('clock_sync_latency_'+
8230domains[i].toLowerCase()+'_to_'+domains[j].toLowerCase(),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,LATENCY_BOUNDS);hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,});hist.description='Clock sync latency for domain '+domains[i]+' to domain '+domains[j];hist.addSample(latency);values.addHistogram(hist);}}}
8231tr.metrics.MetricRegistry.register(clockSyncLatencyMetric);return{clockSyncLatencyMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CPU_TIME_PERCENTAGE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,50,200);function cpuTimeMetric(histograms,model,opt_options){let rangeOfInterest=model.bounds;if(opt_options&&opt_options.rangeOfInterest){rangeOfInterest=opt_options.rangeOfInterest;}else{const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper){const chromeBounds=chromeHelper.chromeBounds;if(chromeBounds){rangeOfInterest=chromeBounds;}}}
8232let allProcessCpuTime=0;for(const pid in model.processes){const process=model.processes[pid];if(tr.model.helpers.ChromeRendererHelper.isTracingProcess(process)){continue;}
8233let processCpuTime=0;for(const tid in process.threads){const thread=process.threads[tid];let threadCpuTime=0;thread.sliceGroup.topLevelSlices.forEach(function(slice){if(slice.duration===0)return;if(!slice.cpuDuration)return;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const fractionOfSliceInsideRangeOfInterest=intersection.duration/slice.duration;threadCpuTime+=slice.cpuDuration*fractionOfSliceInsideRangeOfInterest;});processCpuTime+=threadCpuTime;}
8234allProcessCpuTime+=processCpuTime;}
8235let normalizedAllProcessCpuTime=0;if(rangeOfInterest.duration>0){normalizedAllProcessCpuTime=allProcessCpuTime/rangeOfInterest.duration;}
8236const unit=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const cpuTimeHist=new tr.v.Histogram('cpu_time_percentage',unit,CPU_TIME_PERCENTAGE_BOUNDARIES);cpuTimeHist.description='Percent CPU utilization, normalized against a single core. Can be '+'greater than 100% if machine has multiple cores.';cpuTimeHist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false});cpuTimeHist.addSample(normalizedAllProcessCpuTime);histograms.addHistogram(cpuTimeHist);}
8237tr.metrics.MetricRegistry.register(cpuTimeMetric,{supportsRangeOfInterest:true});return{cpuTimeMetric,};});'use strict';tr.exportTo('tr.v',function(){class HistogramGrouping{constructor(key,callback,opt_label){this.key=key;this.callback=callback;this.label=opt_label||key;HistogramGrouping.KEYS_TO_GROUPINGS.set(key,this);}}
8238HistogramGrouping.KEYS_TO_GROUPINGS=new Map();class HistogramSet{constructor(opt_histograms){this.histogramsByGuid_=new Map();this.sharedDiagnosticsByGuid_=new Map();if(opt_histograms!==undefined){for(const hist of opt_histograms){this.addHistogram(hist);}}}
8239createHistogram(name,unit,samples,opt_options){const hist=tr.v.Histogram.create(name,unit,samples,opt_options);this.addHistogram(hist);return hist;}
8240addHistogram(hist,opt_diagnostics){if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Cannot add same Histogram twice');}
8241if(opt_diagnostics!==undefined){if(!(opt_diagnostics instanceof Map)){opt_diagnostics=Object.entries(opt_diagnostics);}
8242for(const[name,diagnostic]of opt_diagnostics){hist.diagnostics.set(name,diagnostic);}}
8243this.histogramsByGuid_.set(hist.guid,hist);}
8244addSharedDiagnostic(name,diagnostic){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);for(const hist of this){hist.diagnostics.set(name,diagnostic);}}
8245get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const hist of this.histogramsByGuid_.values()){yield hist;}}
8246getHistogramsNamed(name){return[...this].filter(h=>h.name===name);}
8247getHistogramNamed(name){const histograms=this.getHistogramsNamed(name);if(histograms.length===0)return undefined;if(histograms.length>1){throw new Error(`Unexpectedly found multiple histograms named "${name}"`);}
8248return histograms[0];}
8249lookupHistogram(guid){return this.histogramsByGuid_.get(guid);}
8250lookupDiagnostic(guid){return this.sharedDiagnosticsByGuid_.get(guid);}
8251resolveRelatedHistograms(){const handleDiagnosticMap=dm=>{for(const[name,diagnostic]of dm){if((diagnostic instanceof tr.v.d.RelatedHistogramSet)||(diagnostic instanceof tr.v.d.RelatedHistogramMap)){diagnostic.resolve(this);}}};for(const hist of this){hist.diagnostics.resolveSharedDiagnostics(this);handleDiagnosticMap(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){handleDiagnosticMap(dm);}
8252for(const bin of hist.allBins){for(const dm of bin.diagnosticMaps){handleDiagnosticMap(dm);}}}}
8253importDicts(dicts){for(const dict of dicts){if(dict.type&&tr.v.d.Diagnostic.findTypeInfoWithName(dict.type)){this.sharedDiagnosticsByGuid_.set(dict.guid,tr.v.d.Diagnostic.fromDict(dict));}else{this.addHistogram(tr.v.Histogram.fromDict(dict));}}}
8254asDicts(){const dicts=[];for(const diagnostic of this.sharedDiagnosticsByGuid_.values()){dicts.push(diagnostic.asDict());}
8255for(const hist of this){dicts.push(hist.asDict());}
8256return dicts;}
8257get sourceHistograms(){const sourceHistograms=new Map(this.histogramsByGuid_);function deleteSourceHistograms(diagnosticMap){for(const[name,diagnostic]of diagnosticMap){if(diagnostic instanceof tr.v.d.RelatedHistogramSet){for(const relatedHist of diagnostic){sourceHistograms.delete(relatedHist.guid);}}else if(diagnostic instanceof tr.v.d.RelatedHistogramMap){for(const[name,relatedHist]of diagnostic){sourceHistograms.delete(relatedHist.guid);}}}}
8258for(const hist of this){deleteSourceHistograms(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){deleteSourceHistograms(dm);}
8259for(const b of hist.allBins){for(const dm of b.diagnosticMaps){deleteSourceHistograms(dm);}}}
8260return new HistogramSet([...sourceHistograms.values()]);}
8261groupHistogramsRecursively(groupings,opt_skipGroupingCallback){function recurse(histograms,level){if(level===groupings.length){return histograms;}
8262const grouping=groupings[level];const groupedHistograms=tr.b.groupIntoMap(histograms,grouping.callback);if(opt_skipGroupingCallback&&opt_skipGroupingCallback(grouping,groupedHistograms)){return recurse(histograms,level+1);}
8263for(const[key,group]of groupedHistograms){groupedHistograms.set(key,recurse(group,level+1));}
8264return groupedHistograms;}
8265return recurse([...this],0);}
8266deduplicateDiagnostics(){const diagnosticsToCounts=new Map();for(const hist of this){const candidates=[];const telemetryInfo=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(telemetryInfo instanceof tr.v.d.MergedTelemetryInfo){candidates.push(telemetryInfo);}
8267const buildbotInfo=tr.v.d.BuildbotInfo.getFromHistogram(hist);if(buildbotInfo instanceof tr.v.d.MergedBuildbotInfo){candidates.push(buildbotInfo);}
8268const deviceInfo=tr.v.d.DeviceInfo.getFromHistogram(hist);if(deviceInfo instanceof tr.v.d.MergedDeviceInfo){candidates.push(deviceInfo);}
8269for(const diagnostic of candidates){if(diagnostic===undefined)continue;let found=false;for(const[testDiagnostic,count]of diagnosticsToCounts){if(diagnostic.equals(testDiagnostic)){testDiagnostic.addToHistogram(hist);diagnosticsToCounts.set(testDiagnostic,count+1);found=true;break;}}
8270if(!found){diagnosticsToCounts.set(diagnostic,1);}}}
8271for(const[diagnostic,count]of diagnosticsToCounts){if(count>1){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);}}}
8272mergeRelationships(){for(const hist of this){hist.diagnostics.mergeRelationships(hist);}}}
8273HistogramSet.GROUPINGS={HISTOGRAM_NAME:new HistogramGrouping('name',h=>h.name),BENCHMARK_NAME:new HistogramGrouping('benchmark',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkName','')),BENCHMARK_START:new HistogramGrouping('time',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkStartString','')),STORYSET_REPEAT:new HistogramGrouping('storyset_repeat',h=>tr.v.d.TelemetryInfo.getField(h,'storysetRepeatCounterLabel',0),'storyset repeat'),STORY_NAME:new HistogramGrouping('story',h=>tr.v.d.TelemetryInfo.getField(h,'storyDisplayName','')),LEGACY_TIR_LABEL:new HistogramGrouping('tir',h=>tr.v.d.TelemetryInfo.getField(h,'legacyTIRLabel','')),PRIMARY_NAME:new HistogramGrouping('primary',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotMasterName','')),PARTNER_NAME:new HistogramGrouping('bot',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotName','')),BUILD_NUMBER:new HistogramGrouping('build',h=>tr.v.d.BuildbotInfo.getField(h,'buildNumber','')),DISPLAY_LABEL:new HistogramGrouping('label',h=>tr.v.d.TelemetryInfo.getField(h,'displayLabel','Value'))};return{HistogramGrouping,HistogramSet,};});'use strict';tr.exportTo('tr.e.chrome',function(){function hasTitleAndCategory(event,title,category){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);}
8274function getNavStartTimestamps(rendererHelper){const navStartTimestamps=[];for(const e of rendererHelper.mainThread.sliceGroup.childEvents()){if(hasTitleAndCategory(e,'navigationStart','blink.user_timing')){navStartTimestamps.push(e.start);}}
8275return navStartTimestamps;}
8276function getInteractiveTimestamps(model){const interactiveTimestampsMap=new Map();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const timestamps=[];interactiveTimestampsMap.set(rendererHelper.pid,timestamps);const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){timestamps.push(sample.diagnostics['Navigation infos'].value.interactive);}}
8277return interactiveTimestampsMap;}
8278function getPostInteractiveTaskWindows(interactiveTimestamps,navStartTimestamps,traceEndTimestamp){let navStartTsIndex=0;let lastTaskWindowEndTs=undefined;const taskWindows=[];for(const currTTI of interactiveTimestamps){while(navStartTsIndex<navStartTimestamps.length&&navStartTimestamps[navStartTsIndex]<currTTI){navStartTsIndex++;}
8279const taskWindowEndTs=navStartTsIndex<navStartTimestamps.length?navStartTimestamps[navStartTsIndex]:traceEndTimestamp;if(taskWindowEndTs===lastTaskWindowEndTs){throw Error('Encountered two consecutive interactive timestamps '+'with no navigationStart between them. '+'PostInteractiveTaskWindow is not well defined in this case.');}
8280taskWindows.push(tr.b.math.Range.fromExplicitRange(currTTI,taskWindowEndTs));lastTaskWindowEndTs=taskWindowEndTs;}
8281return taskWindows;}
8282function contributionToEQT(window,task){const startInWindow=Math.max(window.min,task.start);const endInWindow=Math.min(window.max,task.end);const durationInWindow=endInWindow-startInWindow;if(durationInWindow<=0)return 0;const probabilityOfTask=durationInWindow/(window.max-window.min);const minQueueingTime=task.end-endInWindow;const maxQueueingTime=task.end-startInWindow;const expectedQueueingTimeDueToTask=(maxQueueingTime+minQueueingTime)/2;return probabilityOfTask*expectedQueueingTimeDueToTask;}
8283function weightedExpectedQueueingTime(window,weightedTasks){let result=0;for(const task of weightedTasks){result+=contributionToEQT(window,task)*task.weight;}
8284return result;}
8285function expectedQueueingTime(window,tasks){return weightedExpectedQueueingTime(window,tasks.map(function(task){return{start:task.start,end:task.end,weight:1};}));}
8286class SlidingWindow{constructor(startTime,windowSize,sortedTasks){this.windowSize_=windowSize;this.sortedTasks_=sortedTasks;this.range_=tr.b.math.Range.fromExplicitRange(startTime,startTime+windowSize);this.firstTaskIndex_=sortedTasks.findIndex(task=>startTime<task.end);if(this.firstTaskIndex_===-1){this.firstTaskIndex_=sortedTasks.length;}
8287this.lastTaskIndex_=-1;while(this.lastTaskIndex_+1<sortedTasks.length&&sortedTasks[this.lastTaskIndex_+1].start<startTime+windowSize){this.lastTaskIndex_++;}
8288this.innerEQT_=0;for(let i=this.firstTaskIndex_+1;i<this.lastTaskIndex_;i++){this.innerEQT_+=contributionToEQT(this.range_,sortedTasks[i]);}}
8289get getEQT(){let firstTaskEQT=0;if(this.firstTaskIndex_<this.sortedTasks_.length){firstTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);}
8290let lastTaskEQT=0;if(this.firstTaskIndex_<this.lastTaskIndex_){lastTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);}
8291return firstTaskEQT+this.innerEQT_+lastTaskEQT;}
8292slide(t){this.range_=tr.b.math.Range.fromExplicitRange(t,t+this.windowSize_);if(this.firstTaskIndex_<this.sortedTasks_.length&&this.sortedTasks_[this.firstTaskIndex_].end<=t){this.firstTaskIndex_++;if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_-=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);}}
8293if(this.lastTaskIndex_+1<this.sortedTasks_.length&&this.sortedTasks_[this.lastTaskIndex_+1].start<t+this.windowSize_){if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_+=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);}
8294this.lastTaskIndex_++;}}}
8295function maxExpectedQueueingTimeInSlidingWindow(startTime,endTime,windowSize,tasks){if(windowSize<=0){throw Error('The window size must be positive number');}
8296if(startTime+windowSize>endTime){throw Error('The sliding window must fit in the specified time range');}
8297const sortedTasks=tasks.slice().sort((a,b)=>a.start-b.start);for(let i=1;i<sortedTasks.length;i++){const PRECISION_MS=0.1;if(sortedTasks[i-1].end>sortedTasks[i].start+PRECISION_MS){throw Error('Tasks must not overlap');}
8298if(sortedTasks[i-1].end>sortedTasks[i].start){const midpoint=(sortedTasks[i-1].end+sortedTasks[i].start)/2;sortedTasks[i-1].end=midpoint;sortedTasks[i].start=midpoint;}}
8299let endpoints=[];endpoints.push(startTime);endpoints.push(endTime-windowSize);for(const task of tasks){endpoints.push(task.start-windowSize);endpoints.push(task.start);endpoints.push(task.end-windowSize);endpoints.push(task.end);}
8300endpoints=endpoints.filter(x=>(startTime<=x&&x+windowSize<=endTime));endpoints.sort((a,b)=>a-b);const slidingWindow=new SlidingWindow(endpoints[0],windowSize,sortedTasks);let maxEQT=0;for(const t of endpoints){slidingWindow.slide(t);maxEQT=Math.max(maxEQT,slidingWindow.getEQT);}
8301return maxEQT;}
8302return{getPostInteractiveTaskWindows,getNavStartTimestamps,getInteractiveTimestamps,expectedQueueingTime,maxExpectedQueueingTimeInSlidingWindow,weightedExpectedQueueingTime};});'use strict';tr.exportTo('tr.metrics.sh',function(){const WINDOW_SIZE_MS=500;const EQT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,WINDOW_SIZE_MS,50);const V8_EVENT_NAMES_TO_FILTERS=new Map([['v8',fromPredicate_(tr.metrics.v8.utils.isV8Event)],['v8:compile',fromPredicate_(tr.metrics.v8.utils.isCompileEvent)],['v8:compile:optimize',fromPredicate_(tr.metrics.v8.utils.isCompileOptimizeEvent)],['v8:compile:parse',fromPredicate_(tr.metrics.v8.utils.isCompileParseEvent)],['v8:compile:compile-unoptimize',filterCompileUnoptimizeAndSubtractParseEvents_],['v8:execute',fromPredicate_(tr.metrics.v8.utils.isV8ExecuteEvent)],['v8:gc',fromPredicate_(tr.metrics.v8.utils.isGarbageCollectionEvent)],['v8:gc:full-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isFullMarkCompactorEvent)],['v8:gc:incremental-marking',fromPredicate_(tr.metrics.v8.utils.isIncrementalMarkingEvent)],['v8:gc:latency-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isLatencyMarkCompactorEvent)],['v8:gc:memory-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isMemoryMarkCompactorEvent)],['v8:gc:scavenger',fromPredicate_(tr.metrics.v8.utils.isScavengerEvent)]]);function fromPredicate_(eventPredicate){return function(slice){const duration=durationOfTopmostSubSlices(slice,eventPredicate);return{start:slice.start,end:slice.start+duration};};}
8303function filterCompileUnoptimizeAndSubtractParseEvents_(slice){const duration=durationOfTopmostSubSlices(slice,tr.metrics.v8.utils.isCompileUnoptimizeEvent,tr.metrics.v8.utils.isCompileParseEvent);return{start:slice.start,end:slice.start+duration};}
8304function containsForcedGC_(slice){return slice.findTopmostSlicesRelativeToThisSlice(tr.metrics.v8.utils.isForcedGarbageCollectionEvent).length>0;}
8305function createHistogramForEQT_(name,description){const histogram=new tr.v.Histogram(name,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,EQT_BOUNDARIES);histogram.customizeSummaryOptions({avg:false,count:false,max:true,min:false,std:false,sum:false,});histogram.description=description;return histogram;}
8306function expectedQueueingTimeMetric(histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer');const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer while the page is interactive');const rendererHelpers=Object.values(chromeHelper.rendererHelpers);const rendererToInteractiveTimestamps=tr.e.chrome.getInteractiveTimestamps(model);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(slice=>{return{start:slice.start,end:slice.end};});totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;}
8307const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));}
8308addV8ContributionToExpectedQueueingTime(totalHistogram,interactiveHistogram,rendererToInteractiveTimestamps,histograms,model);histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);}
8309function addV8ContributionToExpectedQueueingTime(totalEqtHistogram,interactiveEqtHistogram,rendererToInteractiveTimestamps,histograms,model){if(!model.categories.includes('v8'))return;const breakdownForTotal=new tr.v.d.RelatedHistogramMap();const breakdownForInteractive=new tr.v.d.RelatedHistogramMap();for(const[eventName,filterFunction]of V8_EVENT_NAMES_TO_FILTERS){const contribution=contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model);breakdownForTotal.set(eventName,contribution.total);breakdownForInteractive.set(eventName,contribution.interactive);}
8310totalEqtHistogram.diagnostics.set('v8',breakdownForTotal);interactiveEqtHistogram.diagnostics.set('v8',breakdownForInteractive);}
8311function durationOfTopmostSubSlices(slice,predicate,subEventPredicate){let duration=0;for(const sub of slice.findTopmostSlicesRelativeToThisSlice(predicate)){duration+=sub.duration;if(subEventPredicate!==null&&subEventPredicate!==undefined){duration-=durationOfTopmostSubSlices(sub,subEventPredicate);}}
8312return duration;}
8313function contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer. It is computed as the maximum EQT in'+` a ${WINDOW_SIZE_MS}ms sliding window after shrinking top-level`+` tasks to contain only ${eventName} subevents`);const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer while the page is interactive. It is computed'+` as the maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window after`+` shrinking top-level tasks to contain only ${eventName} subevents`);const rendererHelpers=Object.values(chromeHelper.rendererHelpers);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(filterFunction);totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;}
8314const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));}
8315histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);return{total:totalHistogram,interactive:interactiveHistogram};}
8316tr.metrics.MetricRegistry.register(expectedQueueingTimeMetric);return{expectedQueueingTimeMetric,contributionToExpectedQueueingTime,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LONG_TASK_MS=50;const LONGEST_TASK_MS=1000;function iterateLongTopLevelTasksOnThreadInRange(thread,opt_range,cb,opt_this){thread.sliceGroup.topLevelSlices.forEach(function(slice){if(opt_range&&!opt_range.intersectsExplicitRangeInclusive(slice.start,slice.end)){return;}
8317if(slice.duration<LONG_TASK_MS)return;cb.call(opt_this,slice);});}
8318function iterateRendererMainThreads(model,cb,opt_this){const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper!==undefined){Object.values(modelHelper.rendererHelpers).forEach(function(rendererHelper){if(!rendererHelper.mainThread)return;cb.call(opt_this,rendererHelper.mainThread);});}}
8319function longTasksMetric(histograms,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const longTaskHist=new tr.v.Histogram('long tasks',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(LONG_TASK_MS,LONGEST_TASK_MS,40));longTaskHist.description='durations of long tasks';const slices=new tr.model.EventSet();iterateRendererMainThreads(model,function(thread){iterateLongTopLevelTasksOnThreadInRange(thread,rangeOfInterest,function(task){longTaskHist.addSample(task.duration,{relatedEvents:new tr.v.d.RelatedEventSet([task])});slices.push(task);slices.addEventSet(task.descendentSlices);});});histograms.addHistogram(longTaskHist);const sampleForEvent=undefined;const breakdown=tr.v.d.RelatedHistogramBreakdown.buildFromEvents(histograms,'long tasks ',slices,e=>(model.getUserFriendlyCategoryFromEvent(e)||'unknown'),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,sampleForEvent,tr.v.HistogramBinBoundaries.createExponential(1,LONGEST_TASK_MS,40));breakdown.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;longTaskHist.diagnostics.set('category',breakdown);}
8320tr.metrics.MetricRegistry.register(longTasksMetric,{supportsRangeOfInterest:true});return{longTasksMetric,iterateLongTopLevelTasksOnThreadInRange,iterateRendererMainThreads,LONG_TASK_MS,LONGEST_TASK_MS,};});'use strict';tr.exportTo('tr.b',function(){function MultiDimensionalViewNode(title,valueCount){this.title=title;const dimensions=title.length;this.children=new Array(dimensions);for(let i=0;i<dimensions;i++){this.children[i]=new Map();}
8321this.values=new Array(valueCount);for(let v=0;v<valueCount;v++){this.values[v]={self:0,total:0,totalState:NOT_PROVIDED};}}
8322MultiDimensionalViewNode.TotalState={NOT_PROVIDED:0,LOWER_BOUND:1,EXACT:2};const NOT_PROVIDED=MultiDimensionalViewNode.TotalState.NOT_PROVIDED;const LOWER_BOUND=MultiDimensionalViewNode.TotalState.LOWER_BOUND;const EXACT=MultiDimensionalViewNode.TotalState.EXACT;MultiDimensionalViewNode.prototype={get subRows(){return tr.b.mapValues(this.children[0]);}};function MultiDimensionalViewBuilder(dimensions,valueCount){if(typeof(dimensions)!=='number'||dimensions<0){throw new Error('Dimensions must be a non-negative number');}
8323this.dimensions_=dimensions;if(typeof(valueCount)!=='number'||valueCount<0){throw new Error('Number of values must be a non-negative number');}
8324this.valueCount_=valueCount;this.buildRoot_=this.createRootNode_();this.topDownTreeViewRoot_=undefined;this.topDownHeavyViewRoot_=undefined;this.bottomUpHeavyViewNode_=undefined;this.complete_=false;this.maxDimensionDepths_=new Array(dimensions);for(let d=0;d<dimensions;d++){this.maxDimensionDepths_[d]=0;}}
8325MultiDimensionalViewBuilder.ValueKind={SELF:0,TOTAL:1};MultiDimensionalViewBuilder.ViewType={TOP_DOWN_TREE_VIEW:0,TOP_DOWN_HEAVY_VIEW:1,BOTTOM_UP_HEAVY_VIEW:2};MultiDimensionalViewBuilder.prototype={addPath(path,values,valueKind){if(this.buildRoot_===undefined){throw new Error('Paths cannot be added after either view has been built');}
8326if(path.length!==this.dimensions_){throw new Error('Path must be '+this.dimensions_+'-dimensional');}
8327if(values.length!==this.valueCount_){throw new Error('Must provide '+this.valueCount_+' values');}
8328let isTotal;switch(valueKind){case MultiDimensionalViewBuilder.ValueKind.SELF:isTotal=false;break;case MultiDimensionalViewBuilder.ValueKind.TOTAL:isTotal=true;break;default:throw new Error('Invalid value kind: '+valueKind);}
8329let node=this.buildRoot_;for(let d=0;d<path.length;d++){const singleDimensionPath=path[d];const singleDimensionPathLength=singleDimensionPath.length;this.maxDimensionDepths_[d]=Math.max(this.maxDimensionDepths_[d],singleDimensionPathLength);for(let i=0;i<singleDimensionPathLength;i++){node=this.getOrCreateChildNode_(node,d,singleDimensionPath[i]);}}
8330for(let v=0;v<this.valueCount_;v++){const addedValue=values[v];if(addedValue===undefined)continue;const nodeValue=node.values[v];if(isTotal){nodeValue.total+=addedValue;nodeValue.totalState=EXACT;}else{nodeValue.self+=addedValue;nodeValue.totalState=Math.max(nodeValue.totalState,LOWER_BOUND);}}},get complete(){return this.complete_;},set complete(isComplete){if(this.buildRoot_===undefined){throw new Error('Can\'t set complete after any view has been built.');}
8331this.complete_=isComplete;},buildView(viewType){switch(viewType){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW:return this.buildTopDownTreeView();case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:return this.buildTopDownHeavyView();case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return this.buildBottomUpHeavyView();default:throw new Error('Unknown multi-dimensional view type: '+viewType);}},buildTopDownTreeView(){if(this.topDownTreeViewRoot_===undefined){const treeViewRoot=this.buildRoot_;this.buildRoot_=undefined;this.setUpMissingChildRelationships_(treeViewRoot,0);this.finalizeTotalValues_(treeViewRoot,0,new WeakMap());this.topDownTreeViewRoot_=treeViewRoot;}
8332return this.topDownTreeViewRoot_;},buildTopDownHeavyView(){if(this.topDownHeavyViewRoot_===undefined){this.topDownHeavyViewRoot_=this.buildGenericHeavyView_(this.addDimensionToTopDownHeavyViewNode_.bind(this));}
8333return this.topDownHeavyViewRoot_;},buildBottomUpHeavyView(){if(this.bottomUpHeavyViewNode_===undefined){this.bottomUpHeavyViewNode_=this.buildGenericHeavyView_(this.addDimensionToBottomUpHeavyViewNode_.bind(this));}
8334return this.bottomUpHeavyViewNode_;},createRootNode_(){return new MultiDimensionalViewNode(new Array(this.dimensions_),this.valueCount_);},getOrCreateChildNode_(parentNode,dimension,childDimensionTitle){if(dimension<0||dimension>=this.dimensions_){throw new Error('Invalid dimension');}
8335const dimensionChildren=parentNode.children[dimension];let childNode=dimensionChildren.get(childDimensionTitle);if(childNode!==undefined){return childNode;}
8336const childTitle=parentNode.title.slice();childTitle[dimension]=childDimensionTitle;childNode=new MultiDimensionalViewNode(childTitle,this.valueCount_);dimensionChildren.set(childDimensionTitle,childNode);return childNode;},setUpMissingChildRelationships_(node,firstDimensionToSetUp){for(let d=firstDimensionToSetUp;d<this.dimensions_;d++){const currentDimensionChildTitles=new Set(node.children[d].keys());for(let i=0;i<d;i++){for(const previousDimensionChildNode of node.children[i].values()){for(const previousDimensionGrandChildTitle of
8337previousDimensionChildNode.children[d].keys()){currentDimensionChildTitles.add(previousDimensionGrandChildTitle);}}}
8338for(const currentDimensionChildTitle of currentDimensionChildTitles){const currentDimensionChildNode=this.getOrCreateChildNode_(node,d,currentDimensionChildTitle);for(let i=0;i<d;i++){for(const previousDimensionChildNode of
8339node.children[i].values()){const previousDimensionGrandChildNode=previousDimensionChildNode.children[d].get(currentDimensionChildTitle);if(previousDimensionGrandChildNode!==undefined){currentDimensionChildNode.children[i].set(previousDimensionChildNode.title[i],previousDimensionGrandChildNode);}}}
8340this.setUpMissingChildRelationships_(currentDimensionChildNode,d);}}},finalizeTotalValues_(node,firstDimensionToFinalize,dimensionalSelfSumsMap){const dimensionalSelfSums=new Array(this.dimensions_);const minResidual=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++)minResidual[v]=0;const nodeValues=node.values;const nodeSelfSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]=nodeValues[v].self;}
8341for(let d=0;d<this.dimensions_;d++){const childResidualSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){childResidualSums[v]=0;}
8342for(const childNode of node.children[d].values()){if(d>=firstDimensionToFinalize){this.finalizeTotalValues_(childNode,d,dimensionalSelfSumsMap);}
8343const childNodeSelfSums=dimensionalSelfSumsMap.get(childNode);const childNodeValues=childNode.values;for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]+=childNodeSelfSums[d][v];const residual=childNodeValues[v].total-
8344childNodeSelfSums[this.dimensions_-1][v];childResidualSums[v]+=residual;if(this.complete){nodeValues[v].totalState=EXACT;}else if(childNodeValues[v].totalState>NOT_PROVIDED){nodeValues[v].totalState=Math.max(nodeValues[v].totalState,LOWER_BOUND);}}}
8345dimensionalSelfSums[d]=nodeSelfSums.slice();for(let v=0;v<this.valueCount_;v++){minResidual[v]=Math.max(minResidual[v],childResidualSums[v]);}}
8346for(let v=0;v<this.valueCount_;v++){nodeValues[v].total=Math.max(nodeValues[v].total,nodeSelfSums[v]+minResidual[v]);}
8347if(dimensionalSelfSumsMap.has(node)){throw new Error('Internal error: Node finalized more than once');}
8348dimensionalSelfSumsMap.set(node,dimensionalSelfSums);},buildGenericHeavyView_(treeViewNodeHandler){const treeViewRoot=this.buildTopDownTreeView();const heavyViewRoot=this.createRootNode_();heavyViewRoot.values=treeViewRoot.values;const recursionDepthTrackers=new Array(this.dimensions_);for(let d=0;d<this.dimensions_;d++){recursionDepthTrackers[d]=new RecursionDepthTracker(this.maxDimensionDepths_[d],d);}
8349this.addDimensionsToGenericHeavyViewNode_(treeViewRoot,heavyViewRoot,0,recursionDepthTrackers,false,treeViewNodeHandler);this.setUpMissingChildRelationships_(heavyViewRoot,0);return heavyViewRoot;},addDimensionsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,startDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){for(let d=startDimension;d<this.dimensions_;d++){this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,d,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);}},addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){const treeViewChildren=treeViewParentNode.children[currentDimension];const recursionDepthTracker=recursionDepthTrackers[currentDimension];for(const treeViewChildNode of treeViewChildren.values()){recursionDepthTracker.push(treeViewChildNode);treeViewNodeHandler(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive);this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);recursionDepthTracker.pop();}},addDimensionToTopDownHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,1);},addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const currentDimensionRecursive=subTreeDepth<=recursionDepthTracker.recursionDepth;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;const dimensionTitle=treeViewChildNode.title[currentDimension];const heavyViewChildNode=this.getOrCreateChildNode_(heavyViewParentNode,currentDimension,dimensionTitle);this.addNodeValues_(treeViewChildNode,heavyViewChildNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewChildNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToTopDownHeavyViewNode_.bind(this));for(const treeViewGrandChildNode of
8350treeViewChildNode.children[currentDimension].values()){recursionDepthTracker.push(treeViewGrandChildNode);this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewGrandChildNode,heavyViewChildNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth+1);recursionDepthTracker.pop();}},addDimensionToBottomUpHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const bottomIndex=recursionDepthTracker.bottomIndex;const topIndex=recursionDepthTracker.topIndex;const firstNonRecursiveIndex=bottomIndex+recursionDepthTracker.recursionDepth;const viewNodePath=recursionDepthTracker.viewNodePath;const trackerAncestorNode=recursionDepthTracker.trackerAncestorNode;let heavyViewDescendantNode=heavyViewParentNode;for(let i=bottomIndex;i<topIndex;i++){const treeViewAncestorNode=viewNodePath[i];const dimensionTitle=treeViewAncestorNode.title[currentDimension];heavyViewDescendantNode=this.getOrCreateChildNode_(heavyViewDescendantNode,currentDimension,dimensionTitle);const currentDimensionRecursive=i<firstNonRecursiveIndex;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;this.addNodeValues_(treeViewChildNode,heavyViewDescendantNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewDescendantNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToBottomUpHeavyViewNode_.bind(this));}},addNodeValues_(sourceNode,targetNode,addTotal){const targetNodeValues=targetNode.values;const sourceNodeValues=sourceNode.values;for(let v=0;v<this.valueCount_;v++){const targetNodeValue=targetNodeValues[v];const sourceNodeValue=sourceNodeValues[v];targetNodeValue.self+=sourceNodeValue.self;if(addTotal){targetNodeValue.total+=sourceNodeValue.total;if(this.complete){targetNodeValue.totalState=EXACT;}else if(sourceNodeValue.totalState>NOT_PROVIDED){targetNodeValue.totalState=Math.max(targetNodeValue.totalState,LOWER_BOUND);}}}}};function RecursionDepthTracker(maxDepth,dimension){this.titlePath=new Array(maxDepth);this.viewNodePath=new Array(maxDepth);this.bottomIndex=this.topIndex=maxDepth;this.dimension_=dimension;this.currentTrackerNode_=this.createNode_(0,undefined);}
8351RecursionDepthTracker.prototype={push(viewNode){if(this.bottomIndex===0){throw new Error('Cannot push to a full tracker');}
8352const title=viewNode.title[this.dimension_];this.bottomIndex--;this.titlePath[this.bottomIndex]=title;this.viewNodePath[this.bottomIndex]=viewNode;let childTrackerNode=this.currentTrackerNode_.children.get(title);if(childTrackerNode!==undefined){this.currentTrackerNode_=childTrackerNode;return;}
8353const maxLengths=zFunction(this.titlePath,this.bottomIndex);let recursionDepth=0;for(let i=0;i<maxLengths.length;i++){recursionDepth=Math.max(recursionDepth,maxLengths[i]);}
8354childTrackerNode=this.createNode_(recursionDepth,this.currentTrackerNode_);this.currentTrackerNode_.children.set(title,childTrackerNode);this.currentTrackerNode_=childTrackerNode;},pop(){if(this.bottomIndex===this.topIndex){throw new Error('Cannot pop from an empty tracker');}
8355this.titlePath[this.bottomIndex]=undefined;this.viewNodePath[this.bottomIndex]=undefined;this.bottomIndex++;this.currentTrackerNode_=this.currentTrackerNode_.parent;},get recursionDepth(){return this.currentTrackerNode_.recursionDepth;},createNode_(recursionDepth,parent){return{recursionDepth,parent,children:new Map()};}};function zFunction(list,startIndex){const n=list.length-startIndex;if(n===0)return[];const z=new Array(n);z[0]=0;for(let i=1,left=0,right=0;i<n;++i){let maxLength;if(i<=right){maxLength=Math.min(right-i+1,z[i-left]);}else{maxLength=0;}
8356while(i+maxLength<n&&list[startIndex+maxLength]===list[startIndex+i+maxLength]){++maxLength;}
8357if(i+maxLength-1>right){left=i;right=i+maxLength-1;}
8358z[i]=maxLength;}
8359return z;}
8360return{MultiDimensionalViewBuilder,MultiDimensionalViewNode,RecursionDepthTracker,zFunction,};});'use strict';tr.exportTo('tr.b',function(){class FixedColorScheme{constructor(namesToColors){this.namesToColors_=namesToColors;}
8361static fromNames(names){const namesToColors=new Map();const generator=new tr.b.SinebowColorGenerator();for(const name of names){namesToColors.set(name,generator.colorForKey(name));}
8362return new FixedColorScheme(namesToColors);}
8363getColor(name){const color=this.namesToColors_.get(name);if(color===undefined)throw new Error('Unknown color: '+name);return color;}}
8364const MemoryColumnColorScheme=new FixedColorScheme(new Map([['used_memory_column',new tr.b.Color(0,0,255)],['older_used_memory_column',new tr.b.Color(153,204,255)],['tracing_memory_column',new tr.b.Color(153,153,153)]]));function FixedColorSchemeRegistry(){}
8365FixedColorSchemeRegistry.lookUp=function(name){const info=this.findTypeInfoMatching(info=>info.metadata.name===name);if(!info)return undefined;return info.constructor();};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(FixedColorSchemeRegistry,options);return{MemoryColumnColorScheme,FixedColorScheme,FixedColorSchemeRegistry,};});'use strict';tr.exportTo('tr.e.chrome.chrome_processes',function(){const CHROME_PROCESS_NAMES={BROWSER:'browser_process',RENDERER:'renderer_processes',ALL:'all_processes',GPU:'gpu_process',PPAPI:'ppapi_process',UNKNOWN:'unknown_processes',};const PROCESS_COLOR_SCHEME_NAME='ChromeProcessNames';const PROCESS_COLOR_SCHEME=tr.b.FixedColorScheme.fromNames(Object.values(CHROME_PROCESS_NAMES));tr.b.FixedColorSchemeRegistry.register(()=>PROCESS_COLOR_SCHEME,{name:PROCESS_COLOR_SCHEME_NAME,});function canonicalizeName(name){return name.toLowerCase().replace(' ','_');}
8366function canonicalizeProcessName(rawProcessName){if(!rawProcessName)return CHROME_PROCESS_NAMES.UNKNOWN;const baseCanonicalName=canonicalizeName(rawProcessName);switch(baseCanonicalName){case'renderer':return CHROME_PROCESS_NAMES.RENDERER;case'browser':return CHROME_PROCESS_NAMES.BROWSER;}
8367if(Object.values(CHROME_PROCESS_NAMES).includes(baseCanonicalName)){return baseCanonicalName;}
8368throw new Error(`Unknown process name "${baseCanonicalName}".`+' Please add it to |CHROME_PROCESS_NAMES|.');}
8369return{CHROME_PROCESS_NAMES,PROCESS_COLOR_SCHEME,PROCESS_COLOR_SCHEME_NAME,canonicalizeName,canonicalizeProcessName,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const LEVEL_OF_DETAIL_NAMES=new Map();LEVEL_OF_DETAIL_NAMES.set(BACKGROUND,'background');LEVEL_OF_DETAIL_NAMES.set(LIGHT,'light');LEVEL_OF_DETAIL_NAMES.set(DETAILED,'detailed');const HEAP_PROFILER_DETAIL_NAME='heap_profiler';const BOUNDARIES_FOR_UNIT_MAP=new WeakMap();BOUNDARIES_FOR_UNIT_MAP.set(count_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,20,20));BOUNDARIES_FOR_UNIT_MAP.set(sizeInBytes_smallerIsBetter,new tr.v.HistogramBinBoundaries(0).addBinBoundary(1024).addExponentialBins(16*1024*1024*1024,4*24));const CHROME_PROCESS_NAMES=tr.e.chrome.chrome_processes.CHROME_PROCESS_NAMES;function memoryMetric(values,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const browserNameToGlobalDumps=splitGlobalDumpsByBrowserName(model,rangeOfInterest);addGeneralMemoryDumpValues(browserNameToGlobalDumps,values);addDetailedMemoryDumpValues(browserNameToGlobalDumps,values);addMemoryDumpCountValues(browserNameToGlobalDumps,values);}
8370function splitGlobalDumpsByBrowserName(model,opt_rangeOfInterest){const chromeModelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const browserNameToGlobalDumps=new Map();const globalDumpToBrowserHelper=new WeakMap();if(chromeModelHelper){chromeModelHelper.browserHelpers.forEach(function(helper){const globalDumps=skipDumpsThatDoNotIntersectRange(helper.process.memoryDumps.map(d=>d.globalMemoryDump),opt_rangeOfInterest);globalDumps.forEach(function(globalDump){const existingHelper=globalDumpToBrowserHelper.get(globalDump);if(existingHelper!==undefined){throw new Error('Memory dump ID clash across multiple browsers '+'with PIDs: '+existingHelper.pid+' and '+helper.pid);}
8371globalDumpToBrowserHelper.set(globalDump,helper);});makeKeyUniqueAndSet(browserNameToGlobalDumps,tr.e.chrome.chrome_processes.canonicalizeName(helper.browserName),globalDumps);});}
8372const unclassifiedGlobalDumps=skipDumpsThatDoNotIntersectRange(model.globalMemoryDumps.filter(g=>!globalDumpToBrowserHelper.has(g)),opt_rangeOfInterest);if(unclassifiedGlobalDumps.length>0){makeKeyUniqueAndSet(browserNameToGlobalDumps,'unknown_browser',unclassifiedGlobalDumps);}
8373return browserNameToGlobalDumps;}
8374function skipDumpsThatDoNotIntersectRange(dumps,opt_range){if(!opt_range)return dumps;return dumps.filter(d=>opt_range.intersectsExplicitRangeInclusive(d.start,d.end));}
8375const USER_FRIENDLY_BROWSER_NAMES={'chrome':'Chrome','webview':'WebView','unknown_browser':'an unknown browser'};function convertBrowserNameToUserFriendlyName(browserName){for(const baseName in USER_FRIENDLY_BROWSER_NAMES){if(!browserName.startsWith(baseName))continue;const userFriendlyBaseName=USER_FRIENDLY_BROWSER_NAMES[baseName];const suffix=browserName.substring(baseName.length);if(suffix.length===0){return userFriendlyBaseName;}else if(/^\d+$/.test(suffix)){return userFriendlyBaseName+'('+suffix+')';}}
8376return'\''+browserName+'\' browser';}
8377function convertProcessNameToUserFriendlyName(processName,opt_requirePlural){switch(processName){case CHROME_PROCESS_NAMES.BROWSER:return opt_requirePlural?'browser processes':'the browser process';case CHROME_PROCESS_NAMES.RENDERER:return'renderer processes';case CHROME_PROCESS_NAMES.GPU:return opt_requirePlural?'GPU processes':'the GPU process';case CHROME_PROCESS_NAMES.PPAPI:return opt_requirePlural?'PPAPI processes':'the PPAPI process';case CHROME_PROCESS_NAMES.ALL:return'all processes';case CHROME_PROCESS_NAMES.UNKNOWN:return'unknown processes';default:return'\''+processName+'\' processes';}}
8378function makeKeyUniqueAndSet(map,key,value){let uniqueKey=key;let nextIndex=2;while(map.has(uniqueKey)){uniqueKey=key+nextIndex;nextIndex++;}
8379map.set(uniqueKey,value);}
8380function addGeneralMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,gmd=>true,function(processDump,addProcessScalar){addProcessScalar({source:'process_count',property:PROCESS_COUNT,value:1});if(processDump.totals!==undefined){addProcessScalar({source:'reported_by_os',property:RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.residentBytes});addProcessScalar({source:'reported_by_os',property:PEAK_RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.peakResidentBytes});}
8381if(processDump.memoryAllocatorDumps===undefined)return;processDump.memoryAllocatorDumps.forEach(function(rootAllocatorDump){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property,value:rootAllocatorDump.numerics[property.name]});});if(rootAllocatorDump.numerics.allocated_objects_size===undefined){const allocatedObjectsDump=rootAllocatorDump.getDescendantDumpByFullName('allocated_objects');if(allocatedObjectsDump!==undefined){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property:ALLOCATED_OBJECTS_SIZE,value:allocatedObjectsDump.numerics.size});}}});addV8MemoryDumpValues(processDump,addProcessScalar);},function(componentTree){const tracingNode=componentTree.children[1].get('tracing');if(tracingNode===undefined)return;for(let i=0;i<componentTree.values.length;i++){componentTree.values[i].total-=tracingNode.values[i].total;}},values);}
8382function addV8MemoryDumpValues(processDump,addProcessScalar){const v8Dump=processDump.getMemoryAllocatorDumpByFullName('v8');if(v8Dump===undefined)return;v8Dump.children.forEach(function(isolateDump){const mallocDump=isolateDump.getDescendantDumpByFullName('malloc');if(mallocDump!==undefined){addV8ComponentValues(mallocDump,['v8','allocated_by_malloc'],addProcessScalar);}
8383const heapDump=isolateDump.getDescendantDumpByFullName('heap_spaces');if(heapDump!==undefined){addV8ComponentValues(heapDump,['v8','heap'],addProcessScalar);heapDump.children.forEach(function(spaceDump){if(spaceDump.name==='other_spaces')return;addV8ComponentValues(spaceDump,['v8','heap',spaceDump.name],addProcessScalar);});}});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.code_and_metadata_size});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.bytecode_and_metadata_size});}
8384function addV8ComponentValues(componentDump,componentPath,addProcessScalar){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:componentPath,property,value:componentDump.numerics[property.name]});});}
8385const PROCESS_COUNT={unit:count_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){if(componentPath.length>0){throw new Error('Unexpected process count non-empty component path: '+
8386componentPath.join(':'));}
8387return'total number of '+convertProcessNameToUserFriendlyName(processName,true);}};const EFFECTIVE_SIZE={name:'effective_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'effective size',componentPreposition:'of'});}};const ALLOCATED_OBJECTS_SIZE={name:'allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated',totalUserFriendlyPropertyName:'size of all allocated objects',componentPreposition:'by'});}};const SHIM_ALLOCATED_OBJECTS_SIZE={name:'shim_allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated through shim',totalUserFriendlyPropertyName:'size of all allocated objects through shim',componentPreposition:'by'});}};const LOCKED_SIZE={name:'locked_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'locked (pinned) size',componentPreposition:'of'});}};const PEAK_SIZE={name:'peak_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'peak size',componentPreposition:'of'});}};const CODE_AND_METADATA_SIZE={name:'code_and_metadata_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyNamePrefix:'size of',userFriendlyPropertyName:'code and metadata'});}};const CHROME_VALUE_PROPERTIES=[EFFECTIVE_SIZE,ALLOCATED_OBJECTS_SIZE,SHIM_ALLOCATED_OBJECTS_SIZE,LOCKED_SIZE,PEAK_SIZE];function buildChromeValueDescriptionPrefix(componentPath,processName,formatSpec){const nameParts=[];if(componentPath.length===0){nameParts.push('total');if(formatSpec.totalUserFriendlyPropertyName){nameParts.push(formatSpec.totalUserFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);}
8388nameParts.push(formatSpec.userFriendlyPropertyName);}
8389nameParts.push('reported by Chrome for');}else{if(formatSpec.componentPreposition===undefined){if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);}
8390nameParts.push(componentPath.join(':'));nameParts.push(formatSpec.userFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);}
8391nameParts.push(formatSpec.userFriendlyPropertyName);nameParts.push(formatSpec.componentPreposition);if(componentPath[componentPath.length-1]==='allocated_by_malloc'){nameParts.push('objects allocated by malloc for');nameParts.push(componentPath.slice(0,componentPath.length-1).join(':'));}else{nameParts.push(componentPath.join(':'));}}
8392nameParts.push('in');}
8393nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');}
8394const RESIDENT_SIZE={name:'resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'resident set size (RSS)');}};const PEAK_RESIDENT_SIZE={name:'peak_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'peak resident set size');}};const PROPORTIONAL_RESIDENT_SIZE={name:'proportional_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'proportional resident size (PSS)');}};const PRIVATE_DIRTY_SIZE={name:'private_dirty_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'private dirty size');}};function buildOsValueDescriptionPrefix(componentPath,processName,userFriendlyPropertyName){if(componentPath.length>2){throw new Error('OS value component path for \''+
8395userFriendlyPropertyName+'\' too long: '+componentPath.join(':'));}
8396const nameParts=[];if(componentPath.length<2){nameParts.push('total');}
8397nameParts.push(userFriendlyPropertyName);if(componentPath.length>0){switch(componentPath[0]){case'system_memory':if(componentPath.length>1){const userFriendlyComponentName=SYSTEM_VALUE_COMPONENTS[componentPath[1]].userFriendlyName;if(userFriendlyComponentName===undefined){throw new Error('System value sub-component for \''+
8398userFriendlyPropertyName+'\' unknown: '+
8399componentPath.join(':'));}
8400nameParts.push('of',userFriendlyComponentName,'in');}else{nameParts.push('of system memory (RAM) used by');}
8401break;case'gpu_memory':if(componentPath.length>1){nameParts.push('of the',componentPath[1]);nameParts.push('Android memtrack component in');}else{nameParts.push('of GPU memory (Android memtrack) used by');}
8402break;default:throw new Error('OS value component for \''+
8403userFriendlyPropertyName+'\' unknown: '+
8404componentPath.join(':'));}}else{nameParts.push('reported by the OS for');}
8405nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');}
8406function addDetailedMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,g=>g.levelOfDetail===DETAILED,function(processDump,addProcessScalar){for(const[componentName,componentSpec]of
8407Object.entries(SYSTEM_VALUE_COMPONENTS)){const node=getDescendantVmRegionClassificationNode(processDump.vmRegions,componentSpec.classificationPath);const componentPath=['system_memory'];if(componentName)componentPath.push(componentName);addProcessScalar({source:'reported_by_os',component:componentPath,property:PROPORTIONAL_RESIDENT_SIZE,value:node===undefined?0:(node.byteStats.proportionalResident||0)});addProcessScalar({source:'reported_by_os',component:componentPath,property:PRIVATE_DIRTY_SIZE,value:node===undefined?0:(node.byteStats.privateDirtyResident||0)});}
8408const memtrackDump=processDump.getMemoryAllocatorDumpByFullName('gpu/android_memtrack');if(memtrackDump!==undefined){memtrackDump.children.forEach(function(memtrackChildDump){addProcessScalar({source:'reported_by_os',component:['gpu_memory',memtrackChildDump.name],property:PROPORTIONAL_RESIDENT_SIZE,value:memtrackChildDump.numerics.memtrack_pss});});}},function(componentTree){},values);}
8409const SYSTEM_VALUE_COMPONENTS={'':{classificationPath:[],},'java_heap':{classificationPath:['Android','Java runtime','Spaces'],userFriendlyName:'the Java heap'},'ashmem':{classificationPath:['Android','Ashmem'],userFriendlyName:'ashmem'},'native_heap':{classificationPath:['Native heap'],userFriendlyName:'the native heap'},'stack':{classificationPath:['Stack'],userFriendlyName:'the thread stacks'}};function getDescendantVmRegionClassificationNode(node,path){for(let i=0;i<path.length;i++){if(node===undefined)break;node=tr.b.findFirstInArray(node.children,c=>c.title===path[i]);}
8410return node;}
8411function addMemoryDumpCountValues(browserNameToGlobalDumps,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){let totalDumpCount=0;const levelOfDetailNameToDumpCount={};LEVEL_OF_DETAIL_NAMES.forEach(function(levelOfDetailName){levelOfDetailNameToDumpCount[levelOfDetailName]=0;});levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]=0;globalDumps.forEach(function(globalDump){totalDumpCount++;const levelOfDetailName=LEVEL_OF_DETAIL_NAMES.get(globalDump.levelOfDetail);if(levelOfDetailName===undefined){return;}
8412levelOfDetailNameToDumpCount[levelOfDetailName]++;if(globalDump.levelOfDetail===DETAILED){if(detectHeapProfilerInMemoryDump(globalDump)){levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]++;}}});reportMemoryDumpCountAsValue(browserName,undefined,totalDumpCount,values);for(const[levelOfDetailName,levelOfDetailDumpCount]of
8413Object.entries(levelOfDetailNameToDumpCount)){reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values);}});}
8414function detectHeapProfilerInMemoryDump(globalDump){for(const processDump of Object.values(globalDump.processMemoryDumps)){if(processDump.heapDumps&&processDump.heapDumps.malloc){const mallocDump=processDump.heapDumps.malloc;if(mallocDump.entries&&mallocDump.entries.length>0){return true;}}}
8415return false;}
8416function reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values){const nameParts=['memory',browserName,'all_processes','dump_count'];if(levelOfDetailName!==undefined){nameParts.push(levelOfDetailName);}
8417const name=nameParts.join(':');const histogram=new tr.v.Histogram(name,count_smallerIsBetter,BOUNDARIES_FOR_UNIT_MAP.get(count_smallerIsBetter));histogram.addSample(levelOfDetailDumpCount);const userFriendlyLevelOfDetail=(levelOfDetailName||'all').replace('_',' ');histogram.description=['total number of',userFriendlyLevelOfDetail,'memory dumps added by',convertBrowserNameToUserFriendlyName(browserName),'to the trace'].join(' ');values.addHistogram(histogram);}
8418function addMemoryDumpValues(browserNameToGlobalDumps,customGlobalDumpFilter,customProcessDumpValueExtractor,customComponentTreeModifier,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){const filteredGlobalDumps=globalDumps.filter(customGlobalDumpFilter);const sourceToPropertyToBuilder=extractDataFromGlobalDumps(filteredGlobalDumps,customProcessDumpValueExtractor);reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values);});}
8419function extractDataFromGlobalDumps(globalDumps,customProcessDumpValueExtractor){const sourceToPropertyToBuilder=new Map();const dumpCount=globalDumps.length;globalDumps.forEach(function(globalDump,dumpIndex){for(const processDump of Object.values(globalDump.processMemoryDumps)){extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor);}});return sourceToPropertyToBuilder;}
8420function extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor){const rawProcessName=processDump.process.name;const processNamePath=[tr.e.chrome.chrome_processes.canonicalizeProcessName(rawProcessName)];customProcessDumpValueExtractor(processDump,function addProcessScalar(spec){if(spec.value===undefined)return;const component=spec.component||[];function createDetailsForErrorMessage(){return['source=',spec.source,', property=',spec.property.name||'(undefined)',', component=',component.length===0?'(empty)':component.join(':'),' in ',processDump.process.userFriendlyName].join('');}
8421let value;if(spec.value instanceof tr.b.Scalar){value=spec.value.value;if(spec.value.unit!==spec.property.unit){throw new Error('Scalar unit for '+
8422createDetailsForErrorMessage()+' ('+
8423spec.value.unit.unitName+') doesn\'t match the unit of the property ('+
8424spec.property.unit.unitName+')');}}else{value=spec.value;}
8425let propertyToBuilder=sourceToPropertyToBuilder.get(spec.source);if(propertyToBuilder===undefined){propertyToBuilder=new Map();sourceToPropertyToBuilder.set(spec.source,propertyToBuilder);}
8426let builder=propertyToBuilder.get(spec.property);if(builder===undefined){builder=new tr.b.MultiDimensionalViewBuilder(2,dumpCount),propertyToBuilder.set(spec.property,builder);}
8427const values=new Array(dumpCount);values[dumpIndex]=value;builder.addPath([processNamePath,component],values,tr.b.MultiDimensionalViewBuilder.ValueKind.TOTAL);});}
8428function reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values){sourceToPropertyToBuilder.forEach(function(propertyToBuilder,sourceName){propertyToBuilder.forEach(function(builders,property){const tree=builders.buildTopDownTreeView();reportComponentDataAsValues(browserName,sourceName,property,[],[],tree,values,customComponentTreeModifier);});});}
8429function reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,tree,values,customComponentTreeModifier,opt_cachedHistograms){const cachedHistograms=opt_cachedHistograms||new Map();function recurse(processPath,componentPath,node){return reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,node,values,customComponentTreeModifier,cachedHistograms);}
8430function buildHistogram(processPath,componentPath,node){return buildNamedMemoryNumericFromNode(browserName,sourceName,property,processPath.length===0?'all_processes':processPath[0],componentPath,node);}
8431customComponentTreeModifier(tree);const histogram=buildHistogram(processPath,componentPath,tree);if(cachedHistograms.has(histogram.name)){return cachedHistograms.get(histogram.name);}
8432cachedHistograms.set(histogram.name,histogram);const processBreakdown=new tr.v.d.RelatedHistogramBreakdown();processBreakdown.colorScheme=tr.e.chrome.chrome_processes.PROCESS_COLOR_SCHEME_NAME;for(const[childProcessName,childProcessNode]of tree.children[0]){processPath.push(childProcessName);const childProcessHistogram=recurse(processPath,componentPath,childProcessNode);processBreakdown.set(childProcessName,childProcessHistogram);processPath.pop();}
8433const componentBreakdown=new tr.v.d.RelatedHistogramBreakdown();for(const[childComponentName,childComponentNode]of tree.children[1]){componentPath.push(childComponentName);const childComponentHistogram=recurse(processPath,componentPath,childComponentNode);componentBreakdown.set(childComponentName,childComponentHistogram);componentPath.pop();}
8434values.addHistogram(histogram);if(tree.children[0].size>0){histogram.diagnostics.set('processes',processBreakdown);}
8435if(tree.children[1].size>0){histogram.diagnostics.set('components',componentBreakdown);}
8436return histogram;}
8437function getNumericName(browserName,sourceName,propertyName,processName,componentPath){const nameParts=['memory',browserName,processName,sourceName].concat(componentPath);if(propertyName!==undefined)nameParts.push(propertyName);return nameParts.join(':');}
8438function getNumericDescription(property,browserName,processName,componentPath){return[property.buildDescriptionPrefix(componentPath,processName),'in',convertBrowserNameToUserFriendlyName(browserName)].join(' ');}
8439function buildNamedMemoryNumericFromNode(browserName,sourceName,property,processName,componentPath,node){const name=getNumericName(browserName,sourceName,property.name,processName,componentPath);const description=getNumericDescription(property,browserName,processName,componentPath);const numeric=buildMemoryNumericFromNode(name,node,property.unit);numeric.description=description;return numeric;}
8440function buildMemoryNumericFromNode(name,node,unit){const histogram=new tr.v.Histogram(name,unit,BOUNDARIES_FOR_UNIT_MAP.get(unit));node.values.forEach(v=>histogram.addSample(v.total));return histogram;}
8441tr.metrics.MetricRegistry.register(memoryMetric,{supportsRangeOfInterest:true});return{memoryMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CHROME_POWER_GRACE_PERIOD_MS=1;function createEmptyHistogram_(interval,histograms){if(interval.perSecond){return{perSecond:true,energy:histograms.createHistogram(`${interval.name}:power`,tr.b.Unit.byName.powerInWatts_smallerIsBetter,[],{description:`Energy consumption rate for ${interval.description}`,summaryOptions:{avg:true,count:false,max:true,min:true,std:false,sum:false,},}),};}
8442return{perSecond:false,energy:histograms.createHistogram(`${interval.name}:energy`,tr.b.Unit.byName.energyInJoules_smallerIsBetter,[],{description:`Energy consumed in ${interval.description}`,summaryOptions:{avg:false,count:false,max:true,min:true,std:false,sum:true,},}),};}
8443function createHistograms_(data,interval,histograms){if(data.histograms[interval.name]===undefined){data.histograms[interval.name]=createEmptyHistogram_(interval,histograms);}
8444if(data.histograms[interval.name].perSecond){for(const sample of data.model.device.powerSeries.getSamplesWithinRange(interval.bounds.min,interval.bounds.max)){data.histograms[interval.name].energy.addSample(sample.powerInW);}}else{const energyInJ=data.model.device.powerSeries.getEnergyConsumedInJ(interval.bounds.min,interval.bounds.max);data.histograms[interval.name].energy.addSample(energyInJ);}}
8445function getNavigationTTIIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const intervals=[];for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){const info=sample.diagnostics['Navigation infos'].value;intervals.push(tr.b.math.Range.fromExplicitRange(info.start,info.interactive));}}
8446return intervals.sort((x,y)=>x.min-y.min);}
8447function*computeTimeIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const powerSeries=model.device.powerSeries;if(powerSeries===undefined||powerSeries.samples.length===0){return;}
8448yield{bounds:model.bounds,name:'story',description:'user story',perSecond:true};const chromeBounds=computeChromeBounds_(model);if(chromeBounds.isEmpty)return;const powerSeriesBoundsWithGracePeriod=tr.b.math.Range.fromExplicitRange(powerSeries.bounds.min-CHROME_POWER_GRACE_PERIOD_MS,powerSeries.bounds.max+CHROME_POWER_GRACE_PERIOD_MS);if(!powerSeriesBoundsWithGracePeriod.containsRangeExclusive(chromeBounds)){return;}
8449for(const interval of getRailStageIntervals_(model)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};}
8450for(const interval of getLoadingIntervals_(model,chromeBounds)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};}}
8451function*getRailStageIntervals_(model){for(const exp of model.userModel.expectations){const histogramName=exp.title.toLowerCase().replace(' ','_');const energyHist=undefined;if(histogramName.includes('response')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:false};}else if(histogramName.includes('animation')||histogramName.includes('idle')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:true};}}}
8452function*getLoadingIntervals_(model,chromeBounds){const ttiIntervals=getNavigationTTIIntervals_(model);let lastLoadTime=undefined;for(const ttiInterval of ttiIntervals){yield{bounds:ttiInterval,name:'load',description:'page loads',perSecond:false};lastLoadTime=lastLoadTime===undefined?ttiInterval.max:Math.max(lastLoadTime,ttiInterval.max);}
8453if(lastLoadTime!==undefined){yield{bounds:tr.b.math.Range.fromExplicitRange(lastLoadTime,chromeBounds.max),name:'after_load',description:'period after load',perSecond:true};}}
8454function computeChromeBounds_(model){const chromeBounds=new tr.b.math.Range();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper===undefined)return chromeBounds;for(const helper of chromeHelper.browserHelpers){if(helper.mainThread){chromeBounds.addRange(helper.mainThread.bounds);}}
8455for(const pid in chromeHelper.rendererHelpers){if(chromeHelper.rendererHelpers[pid].mainThread){chromeBounds.addRange(chromeHelper.rendererHelpers[pid].mainThread.bounds);}}
8456return chromeBounds;}
8457function powerMetric(histograms,model){const data={model,histograms:{}};for(const interval of computeTimeIntervals_(model)){createHistograms_(data,interval,histograms);}}
8458tr.metrics.MetricRegistry.register(powerMetric);return{powerMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function computeAnimationThroughput(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+
8459animationExpectation.stableId);}
8460const durationInS=tr.b.convertUnit(animationExpectation.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return animationExpectation.frameEvents.length/durationInS;}
8461function computeAnimationframeTimeDiscrepancy(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+
8462animationExpectation.stableId);}
8463let frameTimestamps=animationExpectation.frameEvents;frameTimestamps=frameTimestamps.toArray().map(function(event){return event.start;});const absolute=true;return tr.b.math.Statistics.timestampsDiscrepancy(frameTimestamps,absolute);}
8464function responsivenessMetric(histograms,model,opt_options){const responseNumeric=new tr.v.Histogram('response latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(100,1e3,50));const throughputNumeric=new tr.v.Histogram('animation throughput',tr.b.Unit.byName.unitlessNumber_biggerIsBetter,tr.v.HistogramBinBoundaries.createLinear(10,60,10));const frameTimeDiscrepancyNumeric=new tr.v.Histogram('animation frameTimeDiscrepancy',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,1e3,50).addExponentialBins(1e4,10));const latencyNumeric=new tr.v.Histogram('animation latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,300,60));model.userModel.expectations.forEach(function(ue){if(opt_options&&opt_options.rangeOfInterest&&!opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(ue.start,ue.end)){return;}
8465const sampleDiagnosticMap=tr.v.d.DiagnosticMap.fromObject({relatedEvents:new tr.v.d.RelatedEventSet([ue])});if(ue instanceof tr.model.um.IdleExpectation){return;}else if(ue instanceof tr.model.um.StartupExpectation){return;}else if(ue instanceof tr.model.um.LoadExpectation){}else if(ue instanceof tr.model.um.ResponseExpectation){responseNumeric.addSample(ue.duration,sampleDiagnosticMap);}else if(ue instanceof tr.model.um.AnimationExpectation){if(ue.frameEvents===undefined||ue.frameEvents.length===0){return;}
8466const throughput=computeAnimationThroughput(ue);if(throughput===undefined){throw new Error('Missing throughput for '+
8467ue.stableId);}
8468throughputNumeric.addSample(throughput,sampleDiagnosticMap);const frameTimeDiscrepancy=computeAnimationframeTimeDiscrepancy(ue);if(frameTimeDiscrepancy===undefined){throw new Error('Missing frameTimeDiscrepancy for '+
8469ue.stableId);}
8470frameTimeDiscrepancyNumeric.addSample(frameTimeDiscrepancy,sampleDiagnosticMap);ue.associatedEvents.forEach(function(event){if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){return;}
8471latencyNumeric.addSample(event.duration,sampleDiagnosticMap);});}else{throw new Error('Unrecognized stage for '+ue.stableId);}});[responseNumeric,throughputNumeric,frameTimeDiscrepancyNumeric,latencyNumeric].forEach(function(numeric){numeric.customizeSummaryOptions({avg:true,max:true,min:true,std:true});});histograms.addHistogram(responseNumeric);histograms.addHistogram(throughputNumeric);histograms.addHistogram(frameTimeDiscrepancyNumeric);histograms.addHistogram(latencyNumeric);}
8472tr.metrics.MetricRegistry.register(responsivenessMetric,{supportsRangeOfInterest:true});return{responsivenessMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function webviewStartupMetric(histograms,model){const startupWallHist=new tr.v.Histogram('webview_startup_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupWallHist.description='WebView startup wall time';const startupCPUHist=new tr.v.Histogram('webview_startup_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupCPUHist.description='WebView startup CPU time';const loadWallHist=new tr.v.Histogram('webview_url_load_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadWallHist.description='WebView blank URL load wall time';const loadCPUHist=new tr.v.Histogram('webview_url_load_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadCPUHist.description='WebView blank URL load CPU time';for(const slice of model.getDescendantEvents()){if(!(slice instanceof tr.model.ThreadSlice))continue;if(slice.title==='WebViewStartupInterval'){startupWallHist.addSample(slice.duration);startupCPUHist.addSample(slice.cpuDuration);}
8473if(slice.title==='WebViewBlankUrlLoadInterval'){loadWallHist.addSample(slice.duration);loadCPUHist.addSample(slice.cpuDuration);}}
8474histograms.addHistogram(startupWallHist);histograms.addHistogram(startupCPUHist);histograms.addHistogram(loadWallHist);histograms.addHistogram(loadCPUHist);}
8475tr.metrics.MetricRegistry.register(webviewStartupMetric);return{webviewStartupMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const MEMORY_INFRA_TRACING_CATEGORY='disabled-by-default-memory-infra';const TIME_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1e-3,1e5,30);const BYTE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e9,30);const COUNT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e5,30);const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;function addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes){const memoryDumpCount=model.globalMemoryDumps.length;if(memoryDumpCount===0)return;let totalOverhead=0;let nonMemoryInfraThreadOverhead=0;const overheadByProvider={};for(const process of Object.values(model.processes)){for(const thread of Object.values(process.threads)){for(const slice of Object.values(thread.sliceGroup.slices)){if(slice.category!==MEMORY_INFRA_TRACING_CATEGORY)continue;totalOverhead+=slice.duration;if(thread.name!=='MemoryInfra'){nonMemoryInfraThreadOverhead+=slice.duration;}
8476if(slice.args&&slice.args['dump_provider.name']){const providerName=slice.args['dump_provider.name'];let durationAndCount=overheadByProvider[providerName];if(durationAndCount===undefined){overheadByProvider[providerName]=durationAndCount={duration:0,count:0};}
8477durationAndCount.duration+=slice.duration;durationAndCount.count++;}}}}
8478histograms.createHistogram('memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,totalOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on all threads per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('nonmemory_thread_memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,nonMemoryInfraThreadOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on non-memory-infra threads '+'per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});for(const[providerName,overhead]of Object.entries(overheadByProvider)){histograms.createHistogram(`${providerName}_memory_dump_cpu_overhead`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,overhead.duration/overhead.count,{binBoundaries:TIME_BOUNDARIES,description:`Average CPU overhead of ${providerName} per OnMemoryDump call`,summaryOptions:SUMMARY_OPTIONS,});}
8479const memoryInfraEventsSize=categoryNamesToTotalEventSizes.get(MEMORY_INFRA_TRACING_CATEGORY);const memoryInfraTraceBytesValue=new tr.v.Histogram('total_memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);memoryInfraTraceBytesValue.description='Total trace size of memory-infra dumps in bytes';memoryInfraTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);memoryInfraTraceBytesValue.addSample(memoryInfraEventsSize);histograms.addHistogram(memoryInfraTraceBytesValue);const traceBytesPerDumpValue=new tr.v.Histogram('memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);traceBytesPerDumpValue.description='Average trace size of memory-infra dumps in bytes';traceBytesPerDumpValue.customizeSummaryOptions(SUMMARY_OPTIONS);traceBytesPerDumpValue.addSample(memoryInfraEventsSize/memoryDumpCount);histograms.addHistogram(traceBytesPerDumpValue);}
8480function tracingMetric(histograms,model){histograms.createHistogram('trace_import_duration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,model.stats.traceImportDurationMs,{binBoundaries:TIME_BOUNDARIES,description:'Duration that trace viewer required to import the trace',summaryOptions:SUMMARY_OPTIONS,});if(!model.stats.hasEventSizesinBytes)return;const eventStats=model.stats.allTraceEventStatsInTimeIntervals;eventStats.sort((a,b)=>a.timeInterval-b.timeInterval);const totalTraceBytes=eventStats.reduce((a,b)=>a+b.totalEventSizeinBytes,0);let maxEventCountPerSec=0;let maxEventBytesPerSec=0;const INTERVALS_PER_SEC=Math.floor(1000/model.stats.TIME_INTERVAL_SIZE_IN_MS);let runningEventNumPerSec=0;let runningEventBytesPerSec=0;let start=0;let end=0;while(end<eventStats.length){runningEventNumPerSec+=eventStats[end].numEvents;runningEventBytesPerSec+=eventStats[end].totalEventSizeinBytes;end++;while((eventStats[end-1].timeInterval-
8481eventStats[start].timeInterval)>=INTERVALS_PER_SEC){runningEventNumPerSec-=eventStats[start].numEvents;runningEventBytesPerSec-=eventStats[start].totalEventSizeinBytes;start++;}
8482maxEventCountPerSec=Math.max(maxEventCountPerSec,runningEventNumPerSec);maxEventBytesPerSec=Math.max(maxEventBytesPerSec,runningEventBytesPerSec);}
8483const stats=model.stats.allTraceEventStats;const categoryNamesToTotalEventSizes=(stats.reduce((map,stat)=>(map.set(stat.category,((map.get(stat.category)||0)+
8484stat.totalEventSizeinBytes))),new Map()));const maxCatNameAndBytes=Array.from(categoryNamesToTotalEventSizes.entries()).reduce((a,b)=>((b[1]>=a[1])?b:a));const maxEventBytesPerCategory=maxCatNameAndBytes[1];const categoryWithMaxEventBytes=maxCatNameAndBytes[0];const maxEventCountPerSecValue=new tr.v.Histogram('peak_event_rate',tr.b.Unit.byName.count_smallerIsBetter,COUNT_BOUNDARIES);maxEventCountPerSecValue.description='Max number of events per second';maxEventCountPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventCountPerSecValue.addSample(maxEventCountPerSec);const maxEventBytesPerSecValue=new tr.v.Histogram('peak_event_size_rate',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);maxEventBytesPerSecValue.description='Max event size in bytes per second';maxEventBytesPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventBytesPerSecValue.addSample(maxEventBytesPerSec);const totalTraceBytesValue=new tr.v.Histogram('trace_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);totalTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);totalTraceBytesValue.addSample(totalTraceBytes);const biggestCategory={name:categoryWithMaxEventBytes,size_in_bytes:maxEventBytesPerCategory};totalTraceBytesValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(totalTraceBytesValue);maxEventCountPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventCountPerSecValue);maxEventBytesPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventBytesPerSecValue);addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes);}
8485tr.metrics.MetricRegistry.register(tracingMetric);return{tracingMetric,MEMORY_INFRA_TRACING_CATEGORY,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(4,200,100);function computeExecuteMetrics(histograms,model){const cpuTotalExecution=new tr.v.Histogram('v8_execution_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalExecution.description='cpu total time spent in script execution';const wallTotalExecution=new tr.v.Histogram('v8_execution_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalExecution.description='wall total time spent in script execution';const cpuSelfExecution=new tr.v.Histogram('v8_execution_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfExecution.description='cpu self time spent in script execution';const wallSelfExecution=new tr.v.Histogram('v8_execution_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfExecution.description='wall self time spent in script execution';for(const e of model.findTopmostSlicesNamed('V8.Execute')){cpuTotalExecution.addSample(e.cpuDuration);wallTotalExecution.addSample(e.duration);cpuSelfExecution.addSample(e.cpuSelfTime);wallSelfExecution.addSample(e.selfTime);}
8486histograms.addHistogram(cpuTotalExecution);histograms.addHistogram(wallTotalExecution);histograms.addHistogram(cpuSelfExecution);histograms.addHistogram(wallSelfExecution);}
8487function computeParseLazyMetrics(histograms,model){const cpuSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfParseLazy.description='cpu self time spent performing lazy parsing';const wallSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfParseLazy.description='wall self time spent performing lazy parsing';for(const e of model.findTopmostSlicesNamed('V8.ParseLazyMicroSeconds')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);}
8488for(const e of model.findTopmostSlicesNamed('V8.ParseLazy')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);}
8489histograms.addHistogram(cpuSelfParseLazy);histograms.addHistogram(wallSelfParseLazy);}
8490function computeCompileFullCodeMetrics(histograms,model){const cpuSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileFullCode.description='cpu self time spent performing compiling full code';const wallSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileFullCode.description='wall self time spent performing compiling full code';for(const e of model.findTopmostSlicesNamed('V8.CompileFullCode')){cpuSelfCompileFullCode.addSample(e.cpuSelfTime);wallSelfCompileFullCode.addSample(e.selfTime);}
8491histograms.addHistogram(cpuSelfCompileFullCode);histograms.addHistogram(wallSelfCompileFullCode);}
8492function computeCompileIgnitionMetrics(histograms,model){const cpuSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileIgnition.description='cpu self time spent in compile ignition';const wallSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileIgnition.description='wall self time spent in compile ignition';for(const e of model.findTopmostSlicesNamed('V8.CompileIgnition')){cpuSelfCompileIgnition.addSample(e.cpuSelfTime);wallSelfCompileIgnition.addSample(e.selfTime);}
8493histograms.addHistogram(cpuSelfCompileIgnition);histograms.addHistogram(wallSelfCompileIgnition);}
8494function computeRecompileMetrics(histograms,model){const cpuTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileSynchronous.description='cpu total time spent in synchronous recompilation';const wallTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileSynchronous.description='wall total time spent in synchronous recompilation';const cpuTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileConcurrent.description='cpu total time spent in concurrent recompilation';const wallTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileConcurrent.description='wall total time spent in concurrent recompilation';const cpuTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileOverall.description='cpu total time spent in synchronous or concurrent recompilation';const wallTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileOverall.description='wall total time spent in synchronous or concurrent recompilation';for(const e of model.findTopmostSlicesNamed('V8.RecompileSynchronous')){cpuTotalRecompileSynchronous.addSample(e.cpuDuration);wallTotalRecompileSynchronous.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);}
8495histograms.addHistogram(cpuTotalRecompileSynchronous);histograms.addHistogram(wallTotalRecompileSynchronous);for(const e of model.findTopmostSlicesNamed('V8.RecompileConcurrent')){cpuTotalRecompileConcurrent.addSample(e.cpuDuration);wallTotalRecompileConcurrent.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);}
8496histograms.addHistogram(cpuTotalRecompileConcurrent);histograms.addHistogram(wallTotalRecompileConcurrent);histograms.addHistogram(cpuTotalRecompileOverall);histograms.addHistogram(wallTotalRecompileOverall);}
8497function computeOptimizeCodeMetrics(histograms,model){const cpuTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalOptimizeCode.description='cpu total time spent in code optimization';const wallTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalOptimizeCode.description='wall total time spent in code optimization';for(const e of model.findTopmostSlicesNamed('V8.OptimizeCode')){cpuTotalOptimizeCode.addSample(e.cpuDuration);wallTotalOptimizeCode.addSample(e.duration);}
8498histograms.addHistogram(cpuTotalOptimizeCode);histograms.addHistogram(wallTotalOptimizeCode);}
8499function computeDeoptimizeCodeMetrics(histograms,model){const cpuTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalDeoptimizeCode.description='cpu total time spent in code deoptimization';const wallTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalDeoptimizeCode.description='wall total time spent in code deoptimization';for(const e of model.findTopmostSlicesNamed('V8.DeoptimizeCode')){cpuTotalDeoptimizeCode.addSample(e.cpuDuration);wallTotalDeoptimizeCode.addSample(e.duration);}
8500histograms.addHistogram(cpuTotalDeoptimizeCode);histograms.addHistogram(wallTotalDeoptimizeCode);}
8501function executionMetric(histograms,model){computeExecuteMetrics(histograms,model);computeParseLazyMetrics(histograms,model);computeCompileIgnitionMetrics(histograms,model);computeCompileFullCodeMetrics(histograms,model);computeRecompileMetrics(histograms,model);computeOptimizeCodeMetrics(histograms,model);computeDeoptimizeCodeMetrics(histograms,model);}
8502tr.metrics.MetricRegistry.register(executionMetric);return{executionMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const TARGET_FPS=60;const MS_PER_SECOND=1000;const WINDOW_SIZE_MS=MS_PER_SECOND/TARGET_FPS;function gcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addDurationOfSubEvents(histograms,model);addPercentageInV8ExecuteOfTopEvents(histograms,model);addTotalPercentageInV8Execute(histograms,model);}
8503tr.metrics.MetricRegistry.register(gcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;}
8504function createNumericForSubEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:false,percentile:[0.90]});return n;}
8505function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;}
8506function createPercentage(name,numerator,denominator,unit){const hist=new tr.v.Histogram(name,unit);if(denominator===0){hist.addSample(0);}else{hist.addSample(numerator/denominator);}
8507hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,percentile:[]});return hist;}
8508function isNotForcedTopGarbageCollectionEvent(event){return tr.metrics.v8.utils.isTopGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);}
8509function isNotForcedSubGarbageCollectionEvent(event){return tr.metrics.v8.utils.isSubGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);}
8510function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8511function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8512function addDurationOfSubEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedSubGarbageCollectionEvent,tr.metrics.v8.utils.subGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForSubEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8513function addPercentageInV8ExecuteOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){addPercentageInV8Execute(histograms,model,name,events);});}
8514function addTotalPercentageInV8Execute(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){addPercentageInV8Execute(histograms,model,name,events);});}
8515function addPercentageInV8Execute(histograms,model,name,events){let cpuDurationInV8Execute=0;let cpuDurationTotal=0;events.forEach(function(event){const v8Execute=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isV8ExecuteEvent);if(v8Execute){cpuDurationInV8Execute+=event.cpuDuration;}
8516cpuDurationTotal+=event.cpuDuration;});const percentage=createPercentage(name+'_percentage_in_v8_execute',cpuDurationInV8Execute,cpuDurationTotal,percentage_smallerIsBetter);histograms.addHistogram(percentage);}
8517return{gcMetric,WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const COUNT_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1000000,50);const DURATION_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.1,10000,50);const SUMMARY_OPTIONS={std:false,count:false,sum:false,min:false,max:false,};function computeDomContentLoadedTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let domContentLoadedTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(ev.title==='domContentLoadedEventEnd'&&ev.start>domContentLoadedTime){domContentLoadedTime=ev.start;}}}
8518return domContentLoadedTime;}
8519function computeInteractiveTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let interactiveTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;if(samples.length===0)continue;if(interactiveTime!==0)throw new Error('Too many navigations');interactiveTime=tr.b.getOnlyElement(samples).diagnostics['Navigation infos'].value.interactive;}
8520return interactiveTime;}
8521function convertMicroToMilli_(time){return tr.b.convertUnit(time,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);}
8522function computeRuntimeStats(histograms,slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){const durationSamples=new tr.v.d.RelatedHistogramBreakdown();const countSamples=new tr.v.d.RelatedHistogramBreakdown();for(const entry of runtimeGroup.values){const durationSampleHistogram=histograms.createHistogram(`${entry.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(entry.time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});durationSamples.set(durationSampleHistogram.name,durationSampleHistogram);const countSampleHistogram=histograms.createHistogram(`${entry.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,entry.count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});countSamples.set(countSampleHistogram.name,countSampleHistogram);}
8523histograms.createHistogram(`${runtimeGroup.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,{value:convertMicroToMilli_(runtimeGroup.time),diagnostics:{samples:durationSamples},},{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram(`${runtimeGroup.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,{value:runtimeGroup.count,diagnostics:{samples:countSamples},},{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});}}
8524function runtimeStatsMetric(histograms,model){const interactiveTime=computeInteractiveTime_(model);const domContentLoadedTime=computeDomContentLoadedTime_(model);const endTime=Math.max(interactiveTime,domContentLoadedTime);const slices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice&&event.start<=endTime);computeRuntimeStats(histograms,slices);}
8525function addDurationHistogram(railStageName,runtimeGroupName,sampleValue,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(sampleValue),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(durationRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const durationHistogramMap=new tr.v.d.RelatedHistogramMap();durationHistogramMap.set(railStageName,durationHistogram);durationRelatedHistsByGroupName.set(runtimeGroupName,durationHistogramMap);}else{durationRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,durationHistogram);}}
8526function addCountHistogram(railStageName,runtimeGroupName,sampleValue,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:count`,tr.b.Unit.byName.count_smallerIsBetter,sampleValue,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(countRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const countHistogramMap=new tr.v.d.RelatedHistogramMap();countHistogramMap.set(railStageName,countHistogram);countRelatedHistsByGroupName.set(runtimeGroupName,countHistogramMap);}else{countRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,countHistogram);}}
8527function addTotalDurationHistogram(histogramName,time,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${histogramName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const durationRelatedHistogram=durationRelatedHistsByGroupName.get(histogramName);if(durationRelatedHistogram!==undefined){durationHistogram.diagnostics.set('RAIL stages',durationRelatedHistogram);}}
8528function addTotalCountHistogram(histogramName,count,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${histogramName}:count`,tr.b.Unit.byName.count_smallerIsBetter,count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const countRelatedHistogram=countRelatedHistsByGroupName.get(histogramName);if(countRelatedHistogram!==undefined){countHistogram.diagnostics.set('RAIL stages',countRelatedHistogram);}}
8529function computeRuntimeStatsBucketOnUE(histograms,slices,v8SlicesBucketOnUEMap){const durationRelatedHistsByGroupName=new Map();const countRelatedHistsByGroupName=new Map();for(const[name,slicesUE]of v8SlicesBucketOnUEMap){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slicesUE);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addDurationHistogram(name,runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;}
8530addCountHistogram(name,runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}}
8531addDurationHistogram(name,'V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addCountHistogram(name,'V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);}
8532const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addTotalDurationHistogram(runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;}
8533addTotalCountHistogram(runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}}
8534addTotalDurationHistogram('V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addTotalCountHistogram('V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);}
8535function runtimeStatsTotalMetric(histograms,model){const v8ThreadSlices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice).sort((e1,e2)=>e1.start-e2.start);const v8SlicesBucketOnUEMap=new Map();for(const expectation of model.userModel.expectations){const slices=expectation.range.filterArray(v8ThreadSlices,event=>event.start);if(slices.length===0)continue;const lastSlice=slices[slices.length-1];if(!expectation.range.intersectsRangeExclusive(lastSlice.range)){slices.pop();}
8536if(v8SlicesBucketOnUEMap.get(expectation.stageTitle)===undefined){v8SlicesBucketOnUEMap.set(expectation.stageTitle,slices);}else{const totalSlices=v8SlicesBucketOnUEMap.get(expectation.stageTitle).concat(slices);v8SlicesBucketOnUEMap.set(expectation.stageTitle,totalSlices);}}
8537computeRuntimeStatsBucketOnUE(histograms,v8ThreadSlices,v8SlicesBucketOnUEMap);}
8538tr.metrics.MetricRegistry.register(runtimeStatsTotalMetric);tr.metrics.MetricRegistry.register(runtimeStatsMetric);return{runtimeStatsMetric,runtimeStatsTotalMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){function v8AndMemoryMetrics(histograms,model){tr.metrics.v8.executionMetric(histograms,model);tr.metrics.v8.gcMetric(histograms,model);tr.metrics.sh.memoryMetric(histograms,model,{rangeOfInterest:tr.metrics.v8.utils.rangeForMemoryDumps(model)});}
8539tr.metrics.MetricRegistry.register(v8AndMemoryMetrics);return{v8AndMemoryMetrics,};});'use strict';tr.exportTo('tr.metrics.webrtc',function(){const DISPLAY_HERTZ=60.0;const VSYNC_DURATION_US=1e6/DISPLAY_HERTZ;const SEVERITY=3;const FROZEN_FRAME_VSYNC_COUNT_THRESHOLD=6;const WEB_MEDIA_PLAYER_UPDATE_TITLE='WebMediaPlayerMS::UpdateCurrentFrame';const IDEAL_RENDER_INSTANT_NAME='Ideal Render Instant';const ACTUAL_RENDER_BEGIN_NAME='Actual Render Begin';const ACTUAL_RENDER_END_NAME='Actual Render End';const STREAM_ID_NAME='Serial';const REQUIRED_EVENT_ARGS_NAMES=[IDEAL_RENDER_INSTANT_NAME,ACTUAL_RENDER_BEGIN_NAME,ACTUAL_RENDER_END_NAME,STREAM_ID_NAME];const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const unitlessNumber_biggerIsBetter=tr.b.Unit.byName.unitlessNumber_biggerIsBetter;function isValidEvent(event){if(event.title!==WEB_MEDIA_PLAYER_UPDATE_TITLE||!event.args){return false;}
8540for(const parameter of REQUIRED_EVENT_ARGS_NAMES){if(!(parameter in event.args)){return false;}}
8541return true;}
8542function webrtcRenderingMetric(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isValidEvent,event=>event.args[STREAM_ID_NAME],(streamName,events)=>getTimeStats(histograms,streamName,events));}
8543tr.metrics.MetricRegistry.register(webrtcRenderingMetric);function getTimeStats(histograms,streamName,events){const frameHist=getFrameDistribution(histograms,events);addFpsFromFrameDistribution(histograms,frameHist);addFreezingScore(histograms,frameHist);const driftTimeStats=getDriftStats(events);histograms.createHistogram('WebRTCRendering_drift_time',timeDurationInMs_smallerIsBetter,driftTimeStats.driftTime,{summaryOptions:{count:false,min:false,percentile:[0.75,0.9],},});histograms.createHistogram('WebRTCRendering_rendering_length_error',percentage_smallerIsBetter,driftTimeStats.renderingLengthError,{summaryOptions:SUMMARY_OPTIONS,});const smoothnessStats=getSmoothnessStats(driftTimeStats.driftTime);histograms.createHistogram('WebRTCRendering_percent_badly_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentBadlyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_percent_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_smoothness_score',percentage_biggerIsBetter,smoothnessStats.smoothnessScore,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_out_of_sync',count_smallerIsBetter,smoothnessStats.framesOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_badly_out_of_sync',count_smallerIsBetter,smoothnessStats.framesSeverelyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});}
8544const FRAME_DISTRIBUTION_BIN_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(1,50,49);function getFrameDistribution(histograms,events){const cadence=tr.b.runLengthEncoding(events.map(e=>e.args[IDEAL_RENDER_INSTANT_NAME]));return histograms.createHistogram('WebRTCRendering_frame_distribution',count_smallerIsBetter,cadence.map(ticks=>ticks.count),{binBoundaries:FRAME_DISTRIBUTION_BIN_BOUNDARIES,summaryOptions:{percentile:[0.75,0.9],},});}
8545function addFpsFromFrameDistribution(histograms,frameHist){let numberFrames=0;let numberVsyncs=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberFrames+=count;numberVsyncs+=ticks*count;}
8546const meanRatio=numberVsyncs/numberFrames;histograms.createHistogram('WebRTCRendering_fps',unitlessNumber_biggerIsBetter,DISPLAY_HERTZ/meanRatio,{summaryOptions:SUMMARY_OPTIONS,});}
8547function frozenPenaltyWeight(numberFrozenFrames){const penalty={5:1,6:5,7:15,8:25};return penalty[numberFrozenFrames]||(8*(numberFrozenFrames-4));}
8548function addFreezingScore(histograms,frameHist){let numberVsyncs=0;let freezingScore=0;let frozenFramesCount=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberVsyncs+=ticks*count;if(ticks>=FROZEN_FRAME_VSYNC_COUNT_THRESHOLD){frozenFramesCount+=count*(ticks-1);freezingScore+=count*frozenPenaltyWeight(ticks-1);}}
8549freezingScore=1-freezingScore/numberVsyncs;if(freezingScore<0){freezingScore=0;}
8550histograms.createHistogram('WebRTCRendering_frozen_frames_count',count_smallerIsBetter,frozenFramesCount,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_freezing_score',percentage_biggerIsBetter,freezingScore,{summaryOptions:SUMMARY_OPTIONS,});}
8551function getDriftStats(events){const driftTime=[];const discrepancy=[];let oldIdealRender=0;let expectedIdealRender=0;for(const event of events){const currentIdealRender=event.args[IDEAL_RENDER_INSTANT_NAME];expectedIdealRender+=VSYNC_DURATION_US;if(currentIdealRender===oldIdealRender){continue;}
8552const actualRenderBegin=event.args[ACTUAL_RENDER_BEGIN_NAME];driftTime.push(actualRenderBegin-currentIdealRender);discrepancy.push(Math.abs(currentIdealRender-expectedIdealRender));expectedIdealRender=currentIdealRender;oldIdealRender=currentIdealRender;}
8553const discrepancySum=tr.b.math.Statistics.sum(discrepancy)-
8554discrepancy[0];const lastIdealRender=events[events.length-1].args[IDEAL_RENDER_INSTANT_NAME];const firstIdealRender=events[0].args[IDEAL_RENDER_INSTANT_NAME];const idealRenderSpan=lastIdealRender-firstIdealRender;const renderingLengthError=discrepancySum/idealRenderSpan;return{driftTime,renderingLengthError};}
8555function getSmoothnessStats(driftTimes){const meanDriftTime=tr.b.math.Statistics.mean(driftTimes);const normDriftTimes=driftTimes.map(driftTime=>Math.abs(driftTime-meanDriftTime));const framesSeverelyOutOfSync=normDriftTimes.filter(driftTime=>driftTime>2*VSYNC_DURATION_US).length;const framesOutOfSync=normDriftTimes.filter(driftTime=>driftTime>VSYNC_DURATION_US).length;const percentBadlyOutOfSync=framesSeverelyOutOfSync/driftTimes.length;const percentOutOfSync=framesOutOfSync/driftTimes.length;const framesOutOfSyncOnlyOnce=framesOutOfSync-framesSeverelyOutOfSync;let smoothnessScore=1-(framesOutOfSyncOnlyOnce+
8556SEVERITY*framesSeverelyOutOfSync)/driftTimes.length;if(smoothnessScore<0){smoothnessScore=0;}
8557return{framesOutOfSync,framesSeverelyOutOfSync,percentBadlyOutOfSync,percentOutOfSync,smoothnessScore};}
8558return{webrtcRenderingMetric,};});'use strict';Polymer({is:'tr-ui-a-alert-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},getRowsForSingleAlert_(alert){const rows=[];for(const argName in alert.args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=alert.args[argName];rows.push({name:argName,value:argView});}
8559if(alert.associatedEvents.length){alert.associatedEvents.forEach(function(event,i){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.title);let valueString='';if(event instanceof tr.model.TimedEvent){valueString='took '+event.duration.toFixed(2)+'ms';}
8560rows.push({name:linkEl,value:valueString});});}
8561const descriptionEl=tr.ui.b.createDiv({textContent:alert.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(alert.info.docLinks){alert.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}
8562return rows;},getRowsForAlerts_(alerts){if(alerts.length===1){const rows=[{name:'Alert',value:tr.b.getOnlyElement(alerts).title}];const detailRows=this.getRowsForSingleAlert_(tr.b.getOnlyElement(alerts));rows.push.apply(rows,detailRows);return rows;}
8563return alerts.map(function(alert){return{name:'Alert',value:alert.title,isExpanded:alerts.size<10,subRows:this.getRowsForSingleAlert_(alert)};},this);},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;}
8564const alerts=this.currentSelection_;this.$.table.tableRows=this.getRowsForAlerts_(alerts);this.$.table.rebuild();},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const result=new tr.model.EventSet();for(const event of this.currentSelection_){result.addEventSet(event.associatedEvents);}
8565return result;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:false,title:'Alert',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:true,title:'Alerts',});'use strict';tr.exportTo('tr.ui.analysis',function(){const NO_BREAK_SPACE=String.fromCharCode(160);const RIGHTWARDS_ARROW=String.fromCharCode(8594);const COLLATOR=new Intl.Collator(undefined,{numeric:true});function TitleColumn(title){this.title=title;}
8566TitleColumn.prototype={supportsCellSelection:false,value(row){const formattedTitle=this.formatTitle(row);const contexts=row.contexts;if(contexts===undefined||contexts.length===0){return formattedTitle;}
8567const firstContext=contexts[0];const lastContext=contexts[contexts.length-1];let changeDefinedContextCount=0;for(let i=1;i<contexts.length;i++){if((contexts[i]===undefined)!==(contexts[i-1]===undefined)){changeDefinedContextCount++;}}
8568let color=undefined;let prefix=undefined;if(!firstContext&&lastContext){color='red';prefix='+++';}else if(firstContext&&!lastContext){color='green';prefix='---';}
8569if(changeDefinedContextCount>1){color='purple';}
8570if(color===undefined&&prefix===undefined){return formattedTitle;}
8571const titleEl=document.createElement('span');if(prefix!==undefined){const prefixEl=tr.ui.b.createSpan({textContent:prefix});prefixEl.style.fontFamily='monospace';Polymer.dom(titleEl).appendChild(prefixEl);Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(NO_BREAK_SPACE));}
8572if(color!==undefined){titleEl.style.color=color;}
8573Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedTitle));return titleEl;},formatTitle(row){return row.title;},cmp(rowA,rowB){return COLLATOR.compare(rowA.title,rowB.title);}};function MemoryColumn(name,cellPath,aggregationMode){this.name=name;this.cellPath=cellPath;this.shouldSetContextGroup=false;this.aggregationMode=aggregationMode;}
8574MemoryColumn.fromRows=function(rows,config){const cellNames=new Set();function gatherCellNames(rows){rows.forEach(function(row){if(row===undefined)return;const fieldCells=row[config.cellKey];if(fieldCells!==undefined){for(const[fieldName,fieldCell]of Object.entries(fieldCells)){if(fieldCell===undefined||fieldCell.fields===undefined){continue;}
8575cellNames.add(fieldName);}}
8576const subRows=row.subRows;if(subRows!==undefined){gatherCellNames(subRows);}});}
8577gatherCellNames(rows);const positions=[];cellNames.forEach(function(cellName){const cellPath=[config.cellKey,cellName];const matchingRule=MemoryColumn.findMatchingRule(cellName,config.rules);const constructor=matchingRule.columnConstructor;const column=new constructor(cellName,cellPath,config.aggregationMode);column.shouldSetContextGroup=!!config.shouldSetContextGroup;positions.push({importance:matchingRule.importance,column});});positions.sort(function(a,b){if(a.importance===b.importance){return COLLATOR.compare(a.column.name,b.column.name);}
8578return b.importance-a.importance;});return positions.map(function(position){return position.column;});};MemoryColumn.spaceEqually=function(columns){const columnWidth=(100/columns.length).toFixed(3)+'%';columns.forEach(function(column){column.width=columnWidth;});};MemoryColumn.findMatchingRule=function(name,rules){for(let i=0;i<rules.length;i++){const rule=rules[i];if(MemoryColumn.nameMatchesCondition(name,rule.condition)){return rule;}}
8579return undefined;};MemoryColumn.nameMatchesCondition=function(name,condition){if(condition===undefined)return true;if(typeof(condition)==='string')return name===condition;return condition.test(name);};MemoryColumn.AggregationMode={DIFF:0,MAX:1};MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER='at some selected timestamps';MemoryColumn.prototype={get title(){return this.name;},cell(row){let cell=row;const cellPath=this.cellPath;for(let i=0;i<cellPath.length;i++){if(cell===undefined)return undefined;cell=cell[cellPath[i]];}
8580return cell;},aggregateCells(row,subRows){},fields(row){const cell=this.cell(row);if(cell===undefined)return undefined;return cell.fields;},value(row){const fields=this.fields(row);if(this.hasAllRelevantFieldsUndefined(fields))return'';const contexts=row.contexts;const color=this.color(fields,contexts);const infos=[];this.addInfos(fields,contexts,infos);const formattedFields=this.formatFields(fields);if((color===undefined||formattedFields==='')&&infos.length===0){return formattedFields;}
8581const fieldEl=document.createElement('span');fieldEl.style.display='flex';fieldEl.style.alignItems='center';fieldEl.style.justifyContent='flex-end';Polymer.dom(fieldEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedFields));infos.forEach(function(info){const infoEl=document.createElement('span');infoEl.style.paddingLeft='4px';infoEl.style.cursor='help';infoEl.style.fontWeight='bold';Polymer.dom(infoEl).textContent=info.icon;if(info.color!==undefined){infoEl.style.color=info.color;}
8582infoEl.title=info.message;Polymer.dom(fieldEl).appendChild(infoEl);},this);if(color!==undefined){fieldEl.style.color=color;}
8583return fieldEl;},hasAllRelevantFieldsUndefined(fields){if(fields===undefined)return true;switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return fields[0]===undefined&&fields[fields.length-1]===undefined;case MemoryColumn.AggregationMode.MAX:default:return fields.every(function(field){return field===undefined;});}},color(fields,contexts){return undefined;},formatFields(fields){if(fields.length===1){return this.formatSingleField(fields[0]);}
8584return this.formatMultipleFields(fields);},formatSingleField(field){throw new Error('Not implemented');},formatMultipleFields(fields){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.formatMultipleFieldsDiff(fields[0],fields[fields.length-1]);case MemoryColumn.AggregationMode.MAX:return this.formatMultipleFieldsMax(fields);default:return tr.ui.b.createSpan({textContent:'(unsupported aggregation mode)',italic:true});}},formatMultipleFieldsDiff(firstField,lastField){throw new Error('Not implemented');},formatMultipleFieldsMax(fields){return this.formatSingleField(this.getMaxField(fields));},cmp(rowA,rowB){const fieldsA=this.fields(rowA);const fieldsB=this.fields(rowB);if(fieldsA!==undefined&&fieldsB!==undefined&&fieldsA.length!==fieldsB.length){throw new Error('Different number of fields');}
8585const undefinedA=this.hasAllRelevantFieldsUndefined(fieldsA);const undefinedB=this.hasAllRelevantFieldsUndefined(fieldsB);if(undefinedA&&undefinedB)return 0;if(undefinedA)return-1;if(undefinedB)return 1;return this.compareFields(fieldsA,fieldsB);},compareFields(fieldsA,fieldsB){if(fieldsA.length===1){return this.compareSingleFields(fieldsA[0],fieldsB[0]);}
8586return this.compareMultipleFields(fieldsA,fieldsB);},compareSingleFields(fieldA,fieldB){throw new Error('Not implemented');},compareMultipleFields(fieldsA,fieldsB){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.compareMultipleFieldsDiff(fieldsA[0],fieldsA[fieldsA.length-1],fieldsB[0],fieldsB[fieldsB.length-1]);case MemoryColumn.AggregationMode.MAX:return this.compareMultipleFieldsMax(fieldsA,fieldsB);default:return 0;}},compareMultipleFieldsDiff(firstFieldA,lastFieldA,firstFieldB,lastFieldB){throw new Error('Not implemented');},compareMultipleFieldsMax(fieldsA,fieldsB){return this.compareSingleFields(this.getMaxField(fieldsA),this.getMaxField(fieldsB));},getMaxField(fields){return fields.reduce(function(accumulator,field){if(field===undefined){return accumulator;}
8587if(accumulator===undefined||this.compareSingleFields(field,accumulator)>0){return field;}
8588return accumulator;}.bind(this),undefined);},addInfos(fields,contexts,infos){},getImportance(importanceRules){if(importanceRules.length===0)return 0;const matchingRule=MemoryColumn.findMatchingRule(this.name,importanceRules);if(matchingRule!==undefined){return matchingRule.importance;}
8589let minImportance=importanceRules[0].importance;for(let i=1;i<importanceRules.length;i++){minImportance=Math.min(minImportance,importanceRules[i].importance);}
8590return minImportance-1;}};function StringMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);}
8591StringMemoryColumn.prototype={__proto__:MemoryColumn.prototype,formatSingleField(string){return string;},formatMultipleFieldsDiff(firstString,lastString){if(firstString===undefined){const spanEl=tr.ui.b.createSpan({color:'red'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('+'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;}else if(lastString===undefined){const spanEl=tr.ui.b.createSpan({color:'green'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('-'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));return spanEl;}else if(firstString===lastString){return this.formatSingleField(firstString);}
8592const spanEl=tr.ui.b.createSpan({color:'DarkOrange'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(' '+RIGHTWARDS_ARROW+' '));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;},compareSingleFields(stringA,stringB){return COLLATOR.compare(stringA,stringB);},compareMultipleFieldsDiff(firstStringA,lastStringA,firstStringB,lastStringB){if(firstStringA===undefined&&firstStringB!==undefined){return 1;}
8593if(firstStringA!==undefined&&firstStringB===undefined){return-1;}
8594if(firstStringA===undefined&&firstStringB===undefined){return this.compareSingleFields(lastStringA,lastStringB);}
8595if(lastStringA===undefined&&lastStringB!==undefined){return-1;}
8596if(lastStringA!==undefined&&lastStringB===undefined){return 1;}
8597if(lastStringA===undefined&&lastStringB===undefined){return this.compareSingleFields(firstStringB,firstStringA);}
8598const areStringsAEqual=firstStringA===lastStringA;const areStringsBEqual=firstStringB===lastStringB;if(areStringsAEqual&&areStringsBEqual)return 0;if(areStringsAEqual)return-1;if(areStringsBEqual)return 1;return 0;}};function NumericMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);}
8599NumericMemoryColumn.DIFF_EPSILON=0.0001;NumericMemoryColumn.prototype={__proto__:MemoryColumn.prototype,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,aggregateCells(row,subRows){const subRowCells=subRows.map(this.cell,this);let hasDefinedSubRowNumeric=false;let timestampCount=undefined;subRowCells.forEach(function(subRowCell){if(subRowCell===undefined)return;const subRowNumerics=subRowCell.fields;if(subRowNumerics===undefined)return;if(timestampCount===undefined){timestampCount=subRowNumerics.length;}else if(timestampCount!==subRowNumerics.length){throw new Error('Sub-rows have different numbers of timestamps');}
8600if(hasDefinedSubRowNumeric){return;}
8601hasDefinedSubRowNumeric=subRowNumerics.some(function(numeric){return numeric!==undefined;});});if(!hasDefinedSubRowNumeric){return;}
8602const cellPath=this.cellPath;let rowCell=row;for(let i=0;i<cellPath.length;i++){const nextStepName=cellPath[i];let nextStep=rowCell[nextStepName];if(nextStep===undefined){if(i<cellPath.length-1){nextStep={};}else{nextStep=new MemoryCell(undefined);}
8603rowCell[nextStepName]=nextStep;}
8604rowCell=nextStep;}
8605if(rowCell.fields===undefined){rowCell.fields=new Array(timestampCount);}else if(rowCell.fields.length!==timestampCount){throw new Error('Row has a different number of timestamps than sub-rows');}
8606for(let i=0;i<timestampCount;i++){if(rowCell.fields[i]!==undefined)continue;rowCell.fields[i]=tr.model.MemoryAllocatorDump.aggregateNumerics(subRowCells.map(function(subRowCell){if(subRowCell===undefined||subRowCell.fields===undefined){return undefined;}
8607return subRowCell.fields[i];}));}},formatSingleField(numeric){return tr.v.ui.createScalarSpan(numeric,{context:this.getFormattingContext(numeric.unit),contextGroup:this.shouldSetContextGroup?this.name:undefined,inline:true,});},getFormattingContext(unit){return undefined;},formatMultipleFieldsDiff(firstNumeric,lastNumeric){return this.formatSingleField(this.getDiffField_(firstNumeric,lastNumeric));},compareSingleFields(numericA,numericB){return numericA.value-numericB.value;},compareMultipleFieldsDiff(firstNumericA,lastNumericA,firstNumericB,lastNumericB){return this.getDiffFieldValue_(firstNumericA,lastNumericA)-
8608this.getDiffFieldValue_(firstNumericB,lastNumericB);},getDiffField_(firstNumeric,lastNumeric){const definedNumeric=firstNumeric||lastNumeric;return new tr.b.Scalar(definedNumeric.unit.correspondingDeltaUnit,this.getDiffFieldValue_(firstNumeric,lastNumeric));},getDiffFieldValue_(firstNumeric,lastNumeric){const firstValue=firstNumeric===undefined?0:firstNumeric.value;const lastValue=lastNumeric===undefined?0:lastNumeric.value;const diff=lastValue-firstValue;return Math.abs(diff)<NumericMemoryColumn.DIFF_EPSILON?0:diff;}};function MemoryCell(fields){this.fields=fields;}
8609MemoryCell.extractFields=function(cell){if(cell===undefined)return undefined;return cell.fields;};const RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT=10;function expandTableRowsRecursively(table){let currentLevelRows=table.tableRows;let totalVisibleRowCount=currentLevelRows.length;while(currentLevelRows.length>0){let nextLevelRowCount=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;nextLevelRowCount+=subRows.length;});if(totalVisibleRowCount+nextLevelRowCount>RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT){break;}
8610const nextLevelRows=new Array(nextLevelRowCount);let nextLevelRowIndex=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;table.setExpandedForTableRow(currentLevelRow,true);subRows.forEach(function(subRow){nextLevelRows[nextLevelRowIndex++]=subRow;});});totalVisibleRowCount+=nextLevelRowCount;currentLevelRows=nextLevelRows;}}
8611function aggregateTableRowCellsRecursively(row,columns,opt_predicate){const subRows=row.subRows;if(subRows===undefined||subRows.length===0)return;subRows.forEach(function(subRow){aggregateTableRowCellsRecursively(subRow,columns,opt_predicate);});if(opt_predicate===undefined||opt_predicate(row.contexts)){aggregateTableRowCells(row,subRows,columns);}}
8612function aggregateTableRowCells(row,subRows,columns){columns.forEach(function(column){if(!(column instanceof MemoryColumn))return;column.aggregateCells(row,subRows);});}
8613function createCells(timeToValues,valueFieldsGetter,opt_this){opt_this=opt_this||this;const fieldNameToFields=tr.b.invertArrayOfDicts(timeToValues,valueFieldsGetter,opt_this);return tr.b.mapItems(fieldNameToFields,function(fieldName,fields){return new tr.ui.analysis.MemoryCell(fields);});}
8614function createWarningInfo(message){return{message,icon:String.fromCharCode(9888),color:'red'};}
8615function DetailsNumericMemoryColumn(name,cellPath,aggregationMode){NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8616DetailsNumericMemoryColumn.prototype={__proto__:NumericMemoryColumn.prototype,getFormattingContext(unit){if(unit.baseUnit===tr.b.Unit.byName.sizeInBytes){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.KIBI};}
8617return undefined;}};return{TitleColumn,MemoryColumn,StringMemoryColumn,NumericMemoryColumn,MemoryCell,expandTableRowsRecursively,aggregateTableRowCellsRecursively,aggregateTableRowCells,createCells,createWarningInfo,DetailsNumericMemoryColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const LATIN_SMALL_LETTER_F_WITH_HOOK=String.fromCharCode(0x0192);const CIRCLED_LATIN_CAPITAL_LETTER_T=String.fromCharCode(0x24C9);const HeapDetailsRowDimension={ROOT:{},STACK_FRAME:{label:'Stack frame',symbol:LATIN_SMALL_LETTER_F_WITH_HOOK,color:'heap_dump_stack_frame'},OBJECT_TYPE:{label:'Object type',symbol:CIRCLED_LATIN_CAPITAL_LETTER_T,color:'heap_dump_object_type'}};function HeapDetailsTitleColumn(title){tr.ui.analysis.TitleColumn.call(this,title);}
8618HeapDetailsTitleColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.dimension===HeapDetailsRowDimension.ROOT){return row.title;}
8619const symbolEl=document.createElement('span');Polymer.dom(symbolEl).textContent=row.dimension.symbol;symbolEl.title=row.dimension.label;symbolEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString(row.dimension.color);symbolEl.style.paddingRight='4px';symbolEl.style.cursor='help';symbolEl.style.fontWeight='bold';const titleEl=document.createElement('span');Polymer.dom(titleEl).appendChild(symbolEl);Polymer.dom(titleEl).appendChild(document.createTextNode(row.title));return titleEl;}};function AllocationCountColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8620AllocationCountColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,getFormattingContext(unit){return{minimumFractionDigits:0};}};const HEAP_DETAILS_COLUMN_RULES=[{condition:'Size',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Count',importance:1,columnConstructor:AllocationCountColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];return{HeapDetailsRowDimension,HeapDetailsTitleColumn,AllocationCountColumn,HEAP_DETAILS_COLUMN_RULES,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const RebuildableBehavior={rebuild(){if(!this.paneDirty_){return;}
8621this.paneDirty_=false;this.onRebuild_();},scheduleRebuild_(){if(this.paneDirty_)return;this.paneDirty_=true;tr.b.requestAnimationFrame(this.rebuild.bind(this));},onRebuild_(){}};return{RebuildableBehavior,};});'use strict';Polymer({is:'tr-ui-b-tab-view',properties:{label_:{type:String,value:()=>''},selectedSubView_:Object,subViews_:{type:Array,value:()=>[]},tabsHidden:{type:Boolean,value:false,observer:'tabsHiddenChanged_'}},ready(){this.$.tabs.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.updateFocusability_();},set label(newLabel){this.set('label_',newLabel);},get tabs(){return this.get('subViews_');},get selectedSubView(){return this.selectedSubView_;},set selectedSubView(subView){if(subView===this.selectedSubView_)return;if(this.selectedSubView_){Polymer.dom(this.$.subView).removeChild(this.selectedSubView_);const oldInput=this.root.getElementById(this.computeRadioId_(this.selectedSubView_));if(oldInput){oldInput.checked=false;}}
8622this.set('selectedSubView_',subView);if(subView){Polymer.dom(this.$.subView).appendChild(subView);const newInput=this.root.getElementById(this.computeRadioId_(subView));if(newInput){newInput.checked=true;}}
8623this.fire('selected-tab-change');},clearSubViews(){this.splice('subViews_',0,this.subViews_.length);this.selectedSubView=undefined;this.updateFocusability_();},addSubView(subView){this.push('subViews_',subView);if(!this.selectedSubView_)this.selectedSubView=subView;this.updateFocusability_();},resetSubViews(subViews){this.splice('subViews_',0,this.subViews_.length);if(subViews.length){for(const subView of subViews){this.push('subViews_',subView);}
8624this.selectedSubView=subViews[0];}else{this.selectedSubView=undefined;}
8625this.updateFocusability_();},onTabChanged_(event){this.selectedSubView=event.model.item;},isChecked_(subView){return this.selectedSubView_===subView;},tabsHiddenChanged_(){this.updateFocusability_();},onKeyDown_(e){if(this.tabsHidden)return;let keyHandled=false;switch(e.keyCode){case 37:keyHandled=this.selectPreviousTabIfPossible();break;case 39:keyHandled=this.selectNextTabIfPossible();break;}
8626if(!keyHandled)return;e.stopPropagation();e.preventDefault();},selectNextTabIfPossible(){return this.selectTabByOffsetIfPossible_(1);},selectPreviousTabIfPossible(){return this.selectTabByOffsetIfPossible_(-1);},selectTabByOffsetIfPossible_(offset){if(!this.selectedSubView_)return false;const currentIndex=this.subViews_.indexOf(this.selectedSubView_);const newSubView=this.tabs[currentIndex+offset];if(!newSubView)return false;this.selectedSubView=newSubView;return true;},shouldBeFocusable_(){return!this.tabsHidden&&this.subViews_.length>0;},updateFocusability_(){if(this.shouldBeFocusable_()){Polymer.dom(this.$.tabs).setAttribute('tabindex',0);}else{Polymer.dom(this.$.tabs).removeAttribute('tabindex');}},computeRadioId_(subView){return subView.tagName+'-'+subView.tabLabel.replace(/ /g,'-');}});'use strict';tr.exportTo('tr.ui.analysis',function(){const RESONABLE_NUMBER_OF_ROWS=200;const TabUiState={NO_LONG_TAIL:0,HIDING_LONG_TAIL:1,SHOWING_LONG_TAIL:2,};function EmptyFillerColumn(){}
8627EmptyFillerColumn.prototype={title:'',value(){return'';},};Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.displayedNode_=undefined;this.dimensionToTab_=new Map();},ready(){this.scheduleRebuild_();this.root.addEventListener('keydown',this.onKeyDown_.bind(this),true);},get displayedNode(){return this.displayedNode_;},set displayedNode(node){this.displayedNode_=node;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;for(const tab of this.$.tabs.tabs){tab.aggregationMode=aggregationMode;}},onRebuild_(){const previouslySelectedTab=this.$.tabs.selectedSubView;let previouslySelectedTabFocused=false;let previouslySelectedDimension=undefined;if(previouslySelectedTab){previouslySelectedTabFocused=previouslySelectedTab.isFocused;previouslySelectedDimension=previouslySelectedTab.dimension;}
8628for(const tab of this.$.tabs.tabs){tab.nodes=undefined;}
8629this.$.tabs.clearSubViews();if(this.displayedNode_===undefined){this.$.tabs.label='No heap node provided.';return;}
8630for(const[dimension,children]of this.displayedNode_.childNodes){if(!this.dimensionToTab_.has(dimension)){this.dimensionToTab_.set(dimension,document.createElement('tr-ui-a-memory-dump-heap-details-breakdown-view-tab'));}
8631const tab=this.dimensionToTab_.get(dimension);tab.aggregationMode=this.aggregationMode_;tab.dimension=dimension;tab.nodes=children;this.$.tabs.addSubView(tab);tab.rebuild();if(dimension===previouslySelectedDimension){this.$.tabs.selectedSubView=tab;if(previouslySelectedTabFocused){tab.focus();}}}
8632if(this.$.tabs.tabs.length>0){this.$.tabs.label='Break selected node further by:';}else{this.$.tabs.label='Selected node cannot be broken down any further.';}},onKeyDown_(keyEvent){if(!this.displayedNode_)return;let keyHandled=false;switch(keyEvent.keyCode){case 8:{if(!this.displayedNode_.parentNode)break;const viewEvent=new tr.b.Event('enter-node');viewEvent.node=this.displayedNode_.parentNode;this.dispatchEvent(viewEvent);keyHandled=true;break;}
8633case 37:case 39:{const wasFocused=this.$.tabs.selectedSubView.isFocused;keyHandled=keyEvent.keyCode===37?this.$.tabs.selectPreviousTabIfPossible():this.$.tabs.selectNextTabIfPossible();if(wasFocused&&keyHandled){this.$.tabs.selectedSubView.focus();}}}
8634if(!keyHandled)return;keyEvent.stopPropagation();keyEvent.preventDefault();}});Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view-tab',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.dimension_=undefined;this.nodes_=undefined;this.aggregationMode_=undefined;this.displayLongTail_=false;},ready(){this.$.table.addEventListener('step-into',function(tableEvent){const viewEvent=new tr.b.Event('enter-node');viewEvent.node=tableEvent.tableRow;this.dispatchEvent(viewEvent);}.bind(this));},get displayLongTail(){return this.displayLongTail_;},set displayLongTail(newValue){if(this.displayLongTail===newValue)return;this.displayLongTail_=newValue;this.scheduleRebuild_();},get dimension(){return this.dimension_;},set dimension(dimension){this.dimension_=dimension;this.scheduleRebuild_();},get nodes(){return this.nodes_;},set nodes(nodes){this.nodes_=nodes;this.scheduleRebuild_();},get nodes(){return this.nodes_||[];},get dimensionLabel_(){if(this.dimension_===undefined)return'(undefined)';return this.dimension_.label;},get tabLabel(){let nodeCount=0;if(this.nodes_){nodeCount=this.nodes_.length;}
8635return this.dimensionLabel_+' ('+nodeCount+')';},get tabIcon(){if(this.dimension_===undefined||this.dimension_===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return undefined;}
8636return{text:this.dimension_.symbol,style:'color: '+tr.b.ColorScheme.getColorForReservedNameAsString(this.dimension_.color)+';'};},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},focus(){this.$.table.focus();},blur(){this.$.table.blur();},get isFocused(){return this.$.table.isFocused;},onRebuild_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.emptyValue='Cannot break down by '+
8637this.dimensionLabel_.toLowerCase()+' any further.';const[state,rows]=this.getRows_();const total=this.nodes.length;const displayed=rows.length;const hidden=total-displayed;this.updateInfoBar_(state,[total,displayed,hidden]);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);if(this.$.table.sortColumnIndex===undefined){this.$.table.sortColumnIndex=0;this.$.table.sortDescending=false;}
8638this.$.table.rebuild();},createColumns_(rows){const titleColumn=new tr.ui.analysis.HeapDetailsTitleColumn(this.dimensionLabel_);titleColumn.width='400px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});if(numericColumns.length===0){numericColumns.push(new EmptyFillerColumn());}
8639tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);const columns=[titleColumn].concat(numericColumns);return columns;},getRows_(){let rows=this.nodes;if(rows.length<=RESONABLE_NUMBER_OF_ROWS){return[TabUiState.NO_LONG_TAIL,rows];}else if(this.displayLongTail){return[TabUiState.SHOWING_LONG_TAIL,rows];}
8640const absSize=row=>Math.max(row.cells.Size.fields[0].value);rows.sort((a,b)=>absSize(b)-absSize(a));rows=rows.slice(0,RESONABLE_NUMBER_OF_ROWS);return[TabUiState.HIDING_LONG_TAIL,rows];},updateInfoBar_(state,rowStats){if(state===TabUiState.SHOWING_LONG_TAIL){this.longTailVisibleInfoBar_(rowStats);}else if(state===TabUiState.HIDING_LONG_TAIL){this.longTailHiddenInfoBar_(rowStats);}else{this.hideInfoBar_();}},longTailVisibleInfoBar_(rowStats){const[total,visible,hidden]=rowStats;const couldHide=total-RESONABLE_NUMBER_OF_ROWS;this.$.info.message='Showing '+total+' rows. This may be slow.';this.$.info.removeAllButtons();const buttonText='Hide '+couldHide+' rows.';this.$.info.addButton(buttonText,()=>this.displayLongTail=false);this.$.info.visible=true;},longTailHiddenInfoBar_(rowStats){const[total,visible,hidden]=rowStats;this.$.info.message='Hiding the smallest '+hidden+' rows.';this.$.info.removeAllButtons();this.$.info.addButton('Show all.',()=>this.displayLongTail=true);this.$.info.visible=true;},hideInfoBar_(){this.$.info.visible=false;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS=String.fromCharCode(0x21B3);function HeapDetailsPathColumn(title){tr.ui.analysis.HeapDetailsTitleColumn.call(this,title);}
8641HeapDetailsPathColumn.prototype={__proto__:tr.ui.analysis.HeapDetailsTitleColumn.prototype,formatTitle(row){const title=tr.ui.analysis.HeapDetailsTitleColumn.prototype.formatTitle.call(this,row);if(row.dimension===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return title;}
8642const arrowEl=document.createElement('span');Polymer.dom(arrowEl).textContent=DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS;arrowEl.style.paddingRight='2px';arrowEl.style.fontWeight='bold';arrowEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString('heap_dump_child_node_arrow');const rowEl=document.createElement('span');Polymer.dom(rowEl).appendChild(arrowEl);Polymer.dom(rowEl).appendChild(tr.ui.b.asHTMLOrTextNode(title));return rowEl;}};Polymer({is:'tr-ui-a-memory-dump-heap-details-path-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.selectedNode_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.addEventListener('selection-changed',function(event){this.selectedNode_=this.$.table.selectedTableRow;this.didSelectedNodeChange_();}.bind(this));},didSelectedNodeChange_(){this.dispatchEvent(new tr.b.Event('selected-node-changed'));},get selectedNode(){return this.selectedNode_;},set selectedNode(node){this.selectedNode_=node;this.didSelectedNodeChange_();this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},onRebuild_(){if(this.selectedNode_===undefined){this.$.table.clear();return;}
8643if(this.$.table.tableRows.includes(this.selectedNode_)){this.$.table.selectedTableRow=this.selectedNode_;return;}
8644this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.userCanModifySortOrder=false;const rows=this.createRows_(this.selectedNode_);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);this.$.table.selectedTableRow=rows[rows.length-1];},createRows_(node){const rows=[];while(node){rows.push(node);node=node.parentNode;}
8645rows.reverse();return rows;},createColumns_(rows){const titleColumn=new HeapDetailsPathColumn('Current path');titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);return[titleColumn].concat(numericColumns);}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const StackedPaneImpl={set childPaneBuilder(childPaneBuilder){this.childPaneBuilder_=childPaneBuilder;this.dispatchEvent(new tr.b.Event('request-child-pane-change'));},get childPaneBuilder(){return this.childPaneBuilder_;},appended(){this.rebuild();}};const StackedPane=[tr.ui.analysis.RebuildableBehavior,StackedPaneImpl];return{StackedPane,};});Polymer({is:'tr-ui-a-stacked-pane',behaviors:[tr.ui.analysis.StackedPane]});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;const TotalState=tr.b.MultiDimensionalViewNode.TotalState;function HeapDumpTreeNode(stackFrameNodes,dimension,title,heavyView,parentNode){this.dimension=dimension;this.title=title;this.parentNode=parentNode;this.heavyView_=heavyView;this.stackFrameNodes_=stackFrameNodes;this.lazyCells_=undefined;this.lazyChildNodes_=undefined;}
8646HeapDumpTreeNode.prototype={get minDisplayedTotalState_(){if(this.heavyView_){return TotalState.LOWER_BOUND;}
8647return TotalState.EXACT;},get childNodes(){if(!this.lazyChildNodes_){this.lazyChildNodes_=new Map();this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.STACK_FRAME,0);this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.OBJECT_TYPE,1);this.releaseStackFrameNodesIfPossible_();}
8648return this.lazyChildNodes_;},get cells(){if(!this.lazyCells_){this.addCells_();this.releaseStackFrameNodesIfPossible_();}
8649return this.lazyCells_;},releaseStackFrameNodesIfPossible_(){if(this.lazyCells_&&this.lazyChildNodes_){this.stackFrameNodes_=undefined;}},addDimensionChildNodes_(dimension,dimensionIndex){const dimensionChildTitleToStackFrameNodes=tr.b.invertArrayOfDicts(this.stackFrameNodes_,node=>this.convertStackFrameNodeDimensionToChildDict_(node,dimensionIndex));const dimensionChildNodes=[];for(const[childTitle,childStackFrameNodes]of
8650Object.entries(dimensionChildTitleToStackFrameNodes)){dimensionChildNodes.push(new HeapDumpTreeNode(childStackFrameNodes,dimension,childTitle,this.heavyView_,this));}
8651this.lazyChildNodes_.set(dimension,dimensionChildNodes);},convertStackFrameNodeDimensionToChildDict_(stackFrameNode,dimensionIndex){const childDict={};let displayedChildrenTotalSize=0;let displayedChildrenTotalCount=0;let hasDisplayedChildren=false;let allDisplayedChildrenHaveDisplayedCounts=true;for(const child of stackFrameNode.children[dimensionIndex].values()){if(child.values[0].totalState<this.minDisplayedTotalState_){continue;}
8652if(child.values[1].totalState<this.minDisplayedTotalState_){allDisplayedChildrenHaveDisplayedCounts=false;}
8653childDict[child.title[dimensionIndex]]=child;displayedChildrenTotalSize+=child.values[0].total;displayedChildrenTotalCount+=child.values[1].total;hasDisplayedChildren=true;}
8654const nodeTotalSize=stackFrameNode.values[0].total;const nodeTotalCount=stackFrameNode.values[1].total;const hasUnclassifiedSizeOrCount=displayedChildrenTotalSize<nodeTotalSize||displayedChildrenTotalCount<nodeTotalCount;if(!this.heavyView_&&hasUnclassifiedSizeOrCount&&hasDisplayedChildren){const otherTitle=stackFrameNode.title.slice();otherTitle[dimensionIndex]='<other>';const otherNode=new tr.b.MultiDimensionalViewNode(otherTitle,2);childDict[otherTitle[dimensionIndex]]=otherNode;otherNode.values[0].total=nodeTotalSize-displayedChildrenTotalSize;otherNode.values[0].totalState=this.minDisplayedTotalState_;otherNode.values[1].total=nodeTotalCount-displayedChildrenTotalCount;otherNode.values[1].totalState=allDisplayedChildrenHaveDisplayedCounts?this.minDisplayedTotalState_:TotalState.NOT_PROVIDED;}
8655return childDict;},addCells_(){this.lazyCells_=tr.ui.analysis.createCells(this.stackFrameNodes_,function(stackFrameNode){const size=stackFrameNode.values[0].total;const numerics={'Size':new Scalar(sizeInBytes_smallerIsBetter,size)};const countValue=stackFrameNode.values[1];if(countValue.totalState>=this.minDisplayedTotalState_){const count=countValue.total;numerics.Count=new Scalar(count_smallerIsBetter,count);}
8656return numerics;},this);}};Polymer({is:'tr-ui-a-memory-dump-heap-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.heapDumps_=undefined;this.viewMode_=undefined;this.aggregationMode_=undefined;this.cachedBuilders_=new Map();},ready(){this.$.info_bar.message='Note: Values displayed in the heavy view '+'are lower bounds (except for the root).';Polymer.dom(this.$.view_mode_container).appendChild(tr.ui.b.createSelector(this,'viewMode','memoryDumpHeapDetailsPane.viewMode',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]));this.$.drag_handle.target=this.$.path_view;this.$.drag_handle.horizontal=false;this.$.path_view.addEventListener('selected-node-changed',(function(e){this.$.breakdown_view.displayedNode=this.$.path_view.selectedNode;}).bind(this));this.$.breakdown_view.addEventListener('enter-node',(function(e){this.$.path_view.selectedNode=e.node;}).bind(this));},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},get heapDumps(){return this.heapDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.$.path_view.aggregationMode=aggregationMode;this.$.breakdown_view.aggregationMode=aggregationMode;},get aggregationMode(){return this.aggregationMode_;},set viewMode(viewMode){this.viewMode_=viewMode;this.scheduleRebuild_();},get viewMode(){return this.viewMode_;},get heavyView(){switch(this.viewMode){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return true;default:return false;}},onRebuild_(){if(this.heapDumps_===undefined||this.heapDumps_.length===0){this.$.info_text.style.display='block';this.$.split_view.style.display='none';this.$.view_mode_container.style.display='none';this.$.info_bar.hidden=true;this.$.path_view.selectedNode=undefined;return;}
8657this.$.info_text.style.display='none';this.$.split_view.style.display='flex';this.$.view_mode_container.style.display='block';this.$.info_bar.hidden=!this.heavyView;this.$.path_view.selectedNode=this.createHeapTree_();this.$.path_view.rebuild();this.$.breakdown_view.rebuild();},createHeapTree_(){const definedHeapDump=tr.b.findFirstInArray(this.heapDumps_);if(definedHeapDump===undefined)return undefined;const rootRowTitle=definedHeapDump.allocatorName;const stackFrameTrees=this.createStackFrameTrees_(this.heapDumps_);return new HeapDumpTreeNode(stackFrameTrees,tr.ui.analysis.HeapDetailsRowDimension.ROOT,rootRowTitle,this.heavyView);},createStackFrameTrees_(heapDumps){const builders=heapDumps.map(heapDump=>this.createBuilder_(heapDump));const views=builders.map(builder=>{if(builder===undefined)return undefined;return builder.buildView(this.viewMode);});return views;},createBuilder_(heapDump){if(heapDump===undefined)return undefined;if(this.cachedBuilders_.has(heapDump)){return this.cachedBuilders_.get(heapDump);}
8658const dimensions=2;const valueCount=2;const builder=new MultiDimensionalViewBuilder(dimensions,valueCount);for(const entry of heapDump.entries){const leafStackFrame=entry.leafStackFrame;const stackTracePath=leafStackFrame===undefined?[]:leafStackFrame.getUserFriendlyStackTrace().reverse();const objectTypeName=entry.objectTypeName;const objectTypeNamePath=objectTypeName===undefined?[]:[objectTypeName];const valueKind=entry.valuesAreTotals?MultiDimensionalViewBuilder.ValueKind.TOTAL:MultiDimensionalViewBuilder.ValueKind.SELF;builder.addPath([stackTracePath,objectTypeNamePath],[entry.size,entry.count],valueKind);}
8659builder.complete=heapDump.isComplete;this.cachedBuilders_.set(heapDump,builder);return builder;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const URL_TO_SIZE_VS_EFFECTIVE_SIZE='https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra/README.md#effective_size-vs_size';const SUBALLOCATION_CONTEXT=true;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;const LEFTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FD);const RIGHTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FE);const EN_DASH=String.fromCharCode(0x2013);const CIRCLED_LATIN_SMALL_LETTER_I=String.fromCharCode(0x24D8);function AllocatorDumpNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Component');}
8660AllocatorDumpNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(!row.suballocation){return row.title;}
8661return tr.ui.b.createSpan({textContent:row.title,italic:true,tooltip:row.fullNames===undefined?undefined:row.fullNames.join(', ')});}};function getAndUpdateEntry(map,name,createdCallback){let entry=map.get(name);if(entry===undefined){entry={count:0};createdCallback(entry);map.set(name,entry);}
8662entry.count++;return entry;}
8663function SizeInfoMessageBuilder(){this.parts_=[];this.indent_=0;}
8664SizeInfoMessageBuilder.prototype={append(){this.parts_.push.apply(this.parts_,Array.prototype.slice.apply(arguments));},appendMap(map,hasPluralSuffix,emptyText,itemCallback,opt_this){opt_this=opt_this||this;if(map.size===0){if(emptyText){this.append(emptyText);}}else if(map.size===1){this.parts_.push(' ');const key=map.keys().next().value;itemCallback.call(opt_this,key,map.get(key));}else{if(hasPluralSuffix){this.parts_.push('s');}
8665this.parts_.push(':');this.indent_++;for(const key of map.keys()){this.parts_.push('\n',' '.repeat(3*(this.indent_-1)),' - ');itemCallback.call(opt_this,key,map.get(key));}
8666this.indent_--;}},appendImportanceRange(range){this.append(' (importance: ');if(range.min===range.max){this.append(range.min);}else{this.append(range.min,EN_DASH,range.max);}
8667this.append(')');},appendSizeIfDefined(size){if(size!==undefined){this.append(' (',tr.b.Unit.byName.sizeInBytes.format(size),')');}},appendSomeTimestampsQuantifier(){this.append(' ',tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER);},build(){return this.parts_.join('');}};function EffectiveSizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8668EffectiveSizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory used by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;const ownerNameToEntry=new Map();const ownedNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;}
8669dump.ownedBy.forEach(function(ownerLink){const ownerDump=ownerLink.source;this.getAndUpdateOwnershipEntry_(ownerNameToEntry,ownerDump,ownerLink);},this);const ownedLink=dump.owns;if(ownedLink!==undefined){const ownedDump=ownedLink.target;const ownedEntry=this.getAndUpdateOwnershipEntry_(ownedNameToEntry,ownedDump,ownedLink,true);const sharerNameToEntry=ownedEntry.sharerNameToEntry;ownedDump.ownedBy.forEach(function(sharerLink){const sharerDump=sharerLink.source;if(sharerDump===dump)return;this.getAndUpdateOwnershipEntry_(sharerNameToEntry,sharerDump,sharerLink);},this);}}
8670if(ownerNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shared by');messageBuilder.appendMap(ownerNameToEntry,false,undefined,function(ownerName,ownerEntry){messageBuilder.append(ownerName);if(ownerEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}
8671messageBuilder.appendImportanceRange(ownerEntry.importanceRange);},this);infos.push({message:messageBuilder.build(),icon:LEFTWARDS_OPEN_HEADED_ARROW,color:'green'});}
8672if(ownedNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shares');messageBuilder.appendMap(ownedNameToEntry,false,undefined,function(ownedName,ownedEntry){messageBuilder.append(ownedName);const ownedCount=ownedEntry.count;if(ownedCount<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}
8673messageBuilder.appendImportanceRange(ownedEntry.importanceRange);messageBuilder.append(' with');messageBuilder.appendMap(ownedEntry.sharerNameToEntry,false,' no other dumps',function(sharerName,sharerEntry){messageBuilder.append(sharerName);if(sharerEntry.count<ownedCount){messageBuilder.appendSomeTimestampsQuantifier();}
8674messageBuilder.appendImportanceRange(sharerEntry.importanceRange);},this);},this);infos.push({message:messageBuilder.build(),icon:RIGHTWARDS_OPEN_HEADED_ARROW,color:'green'});}},getAndUpdateOwnershipEntry_(map,dump,link,opt_withSharerNameToEntry){const entry=getAndUpdateEntry(map,dump.quantifiedName,function(newEntry){newEntry.importanceRange=new tr.b.math.Range();if(opt_withSharerNameToEntry){newEntry.sharerNameToEntry=new Map();}});entry.importanceRange.addValue(link.importance||0);return entry;}};function SizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8675SizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory requested by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;this.addOverlapInfo_(numerics,memoryAllocatorDumps,infos);this.addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos);},addOverlapInfo_(numerics,memoryAllocatorDumps,infos){const siblingNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;}
8676const ownedBySiblingSizes=dump.ownedBySiblingSizes;for(const siblingDump of ownedBySiblingSizes.keys()){const siblingName=siblingDump.name;getAndUpdateEntry(siblingNameToEntry,siblingName,function(newEntry){if(numerics.length===1){newEntry.size=ownedBySiblingSizes.get(siblingDump);}});}}
8677if(siblingNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('overlaps with its sibling');messageBuilder.appendMap(siblingNameToEntry,true,undefined,function(siblingName,siblingEntry){messageBuilder.append('\'',siblingName,'\'');messageBuilder.appendSizeIfDefined(siblingEntry.size);if(siblingEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}},this);infos.push({message:messageBuilder.build(),icon:CIRCLED_LATIN_SMALL_LETTER_I,color:'blue'});}},addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos){const infoTypeToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;}
8678dump.infos.forEach(function(dumpInfo){getAndUpdateEntry(infoTypeToEntry,dumpInfo.type,function(newEntry){if(numerics.length===1){newEntry.providedSize=dumpInfo.providedSize;newEntry.dependencySize=dumpInfo.dependencySize;}});});}
8679for(const infoType of infoTypeToEntry.keys()){const entry=infoTypeToEntry.get(infoType);const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('provided size');messageBuilder.appendSizeIfDefined(entry.providedSize);let dependencyName;switch(infoType){case PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:dependencyName='the aggregated size of the children';break;case PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:dependencyName='the size of the largest owner';break;default:dependencyName='an unknown dependency';break;}
8680messageBuilder.append(' was less than ',dependencyName);messageBuilder.appendSizeIfDefined(entry.dependencySize);if(entry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}
8681infos.push(tr.ui.analysis.createWarningInfo(messageBuilder.build()));}}};const NUMERIC_COLUMN_RULES=[{condition:tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME,importance:10,columnConstructor:EffectiveSizeColumn},{condition:tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME,importance:9,columnConstructor:SizeColumn},{condition:'page_size',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:/size/,importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const DIAGNOSTIC_COLUMN_RULES=[{importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];Polymer({is:'tr-ui-a-memory-dump-allocator-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.memoryAllocatorDumps_=undefined;this.heapDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.scheduleRebuild_();},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.memoryAllocatorDumps_===undefined||this.memoryAllocatorDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();this.childPaneBuilder=undefined;return;}
8682this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);rows.forEach(function(rootRow){tr.ui.analysis.aggregateTableRowCellsRecursively(rootRow,columns,function(contexts){return contexts!==undefined&&contexts.some(function(context){return context===SUBALLOCATION_CONTEXT;});});});this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);if(this.heapDumps_===undefined){this.childPaneBuilder=undefined;}else{this.childPaneBuilder=function(){const pane=document.createElement('tr-ui-a-memory-dump-heap-details-pane');pane.heapDumps=this.heapDumps_;pane.aggregationMode=this.aggregationMode_;return pane;}.bind(this);}},createRows_(){return[this.createAllocatorRowRecursively_(this.memoryAllocatorDumps_)];},createAllocatorRowRecursively_(dumps){const definedDump=tr.b.findFirstInArray(dumps);const title=definedDump.name;const fullName=definedDump.fullName;const numericCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.numerics;});const diagnosticCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.diagnostics;});let suballocatedBy=undefined;if(title.startsWith('__')){for(let i=0;i<dumps.length;i++){const dump=dumps[i];if(dump===undefined||dump.ownedBy.length===0){continue;}
8683const ownerDump=dump.ownedBy[0].source;if(dump.ownedBy.length>1||dump.children.length>0||ownerDump.containerMemoryDump!==dump.containerMemoryDump){suballocatedBy=undefined;break;}
8684if(suballocatedBy===undefined){suballocatedBy=ownerDump.fullName;}else if(suballocatedBy!==ownerDump.fullName){suballocatedBy=undefined;break;}}}
8685const row={title,fullNames:[fullName],contexts:dumps,numericCells,diagnosticCells,suballocatedBy};const childDumpNameToDumps=tr.b.invertArrayOfDicts(dumps,function(dump){return tr.b.arrayToDict(dump.children,function(child){return child.name;});});const subRows=[];let suballocationClassificationRootNode=undefined;for(const childDumps of Object.values(childDumpNameToDumps)){const childRow=this.createAllocatorRowRecursively_(childDumps);if(childRow.suballocatedBy===undefined){subRows.push(childRow);}else{suballocationClassificationRootNode=this.classifySuballocationRow_(childRow,suballocationClassificationRootNode);}}
8686if(suballocationClassificationRootNode!==undefined){const suballocationRow=this.createSuballocationRowRecursively_('suballocations',suballocationClassificationRootNode);subRows.push(suballocationRow);}
8687if(subRows.length>0){row.subRows=subRows;}
8688return row;},classifySuballocationRow_(suballocationRow,rootNode){if(rootNode===undefined){rootNode={children:{},row:undefined};}
8689const suballocationLevels=suballocationRow.suballocatedBy.split('/');let currentNode=rootNode;for(let i=0;i<suballocationLevels.length;i++){const suballocationLevel=suballocationLevels[i];let nextNode=currentNode.children[suballocationLevel];if(nextNode===undefined){currentNode.children[suballocationLevel]=nextNode={children:{},row:undefined};}
8690currentNode=nextNode;}
8691const existingRow=currentNode.row;if(existingRow!==undefined){for(let i=0;i<suballocationRow.contexts.length;i++){const newContext=suballocationRow.contexts[i];if(newContext===undefined)continue;if(existingRow.contexts[i]!==undefined){throw new Error('Multiple suballocations with the same owner name');}
8692existingRow.contexts[i]=newContext;['numericCells','diagnosticCells'].forEach(function(cellKey){const suballocationCells=suballocationRow[cellKey];if(suballocationCells===undefined)return;for(const[cellName,cell]of Object.entries(suballocationCells)){if(cell===undefined)continue;const fields=cell.fields;if(fields===undefined)continue;const field=fields[i];if(field===undefined)continue;let existingCells=existingRow[cellKey];if(existingCells===undefined){existingCells={};existingRow[cellKey]=existingCells;}
8693let existingCell=existingCells[cellName];if(existingCell===undefined){existingCell=new tr.ui.analysis.MemoryCell(new Array(fields.length));existingCells[cellName]=existingCell;}
8694existingCell.fields[i]=field;}});}
8695existingRow.fullNames.push.apply(existingRow.fullNames,suballocationRow.fullNames);}else{currentNode.row=suballocationRow;}
8696return rootNode;},createSuballocationRowRecursively_(name,node){const childCount=Object.keys(node.children).length;if(childCount===0){if(node.row===undefined){throw new Error('Suballocation node must have a row or children');}
8697const row=node.row;row.title=name;row.suballocation=true;return row;}
8698const subRows=Object.values(tr.b.mapItems(node.children,this.createSuballocationRowRecursively_,this));if(node.row!==undefined){const row=node.row;row.title='<unspecified>';row.suballocation=true;subRows.unshift(row);}
8699const contexts=new Array(subRows[0].contexts.length);for(let i=0;i<subRows.length;i++){subRows[i].contexts.forEach(function(subContext,index){if(subContext!==undefined){contexts[index]=SUBALLOCATION_CONTEXT;}});}
8700return{title:name,suballocation:true,contexts,subRows};},createColumns_(rows){const titleColumn=new AllocatorDumpNameColumn();titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'numericCells',aggregationMode:this.aggregationMode_,rules:NUMERIC_COLUMN_RULES});const diagnosticColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'diagnosticCells',aggregationMode:this.aggregationMode_,rules:DIAGNOSTIC_COLUMN_RULES});const fieldColumns=numericColumns.concat(diagnosticColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{SUBALLOCATION_CONTEXT,AllocatorDumpNameColumn,EffectiveSizeColumn,SizeColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const CONSTANT_COLUMN_RULES=[{condition:'Start address',importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];const VARIABLE_COLUMN_RULES=[{condition:'Virtual size',importance:7,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Protection flags',importance:6,columnConstructor:tr.ui.analysis.StringMemoryColumn},{condition:'PSS',importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private dirty',importance:4,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private clean',importance:3,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared dirty',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared clean',importance:1,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Swapped',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const BYTE_STAT_COLUMN_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','privateCleanResident':'Private clean','sharedDirtyResident':'Shared dirty','sharedCleanResident':'Shared clean','swapped':'Swapped'};function hexString(address,is64BitAddress){if(address===undefined)return undefined;const hexPadding=is64BitAddress?'0000000000000000':'00000000';return(hexPadding+address.toString(16)).substr(-hexPadding.length);}
8701function pruneEmptyRuleRows(row){if(row.subRows===undefined||row.subRows.length===0)return;if(row.subRows[0].rule===undefined){return;}
8702row.subRows.forEach(pruneEmptyRuleRows);row.subRows=row.subRows.filter(function(subRow){return subRow.subRows.length>0;});}
8703Polymer({is:'tr-ui-a-memory-dump-vm-regions-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.vmRegions_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set vmRegions(vmRegions){this.vmRegions_=vmRegions;this.scheduleRebuild_();},get vmRegions(){return this.vmRegions_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.vmRegions_===undefined||this.vmRegions_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;}
8704this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_(this.vmRegions_);const columns=this.createColumns_(rows);this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);},createRows_(timeToVmRegionTree){const is64BitAddress=timeToVmRegionTree.some(function(vmRegionTree){if(vmRegionTree===undefined)return false;return vmRegionTree.someRegion(function(region){if(region.startAddress===undefined)return false;return region.startAddress>=4294967296;});});return[this.createClassificationNodeRow(timeToVmRegionTree,is64BitAddress)];},createClassificationNodeRow(timeToNode,is64BitAddress){const definedNode=tr.b.findFirstInArray(timeToNode);const childNodeIdToTimeToNode=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const children=node.children;if(children===undefined)return undefined;const childMap={};children.forEach(function(childNode){if(!childNode.hasRegions)return;childMap[childNode.title]=childNode;});return childMap;}));const childNodeSubRows=childNodeIdToTimeToNode.map(function(timeToChildNode){return this.createClassificationNodeRow(timeToChildNode,is64BitAddress);},this);const regionIdToTimeToRegion=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const regions=node.regions;if(regions===undefined)return undefined;return tr.b.arrayToDict(regions,function(region){return region.uniqueIdWithinProcess;});}));const regionSubRows=regionIdToTimeToRegion.map(function(timeToRegion){return this.createRegionRow_(timeToRegion,is64BitAddress);},this);const subRows=childNodeSubRows.concat(regionSubRows);return{title:definedNode.title,contexts:timeToNode,variableCells:this.createVariableCells_(timeToNode),subRows};},createRegionRow_(timeToRegion,is64BitAddress){const definedRegion=tr.b.findFirstInArray(timeToRegion);return{title:definedRegion.mappedFile,contexts:timeToRegion,constantCells:this.createConstantCells_(definedRegion,is64BitAddress),variableCells:this.createVariableCells_(timeToRegion)};},createConstantCells_(definedRegion,is64BitAddress){return tr.ui.analysis.createCells([definedRegion],function(region){const startAddress=region.startAddress;if(startAddress===undefined)return undefined;return{'Start address':hexString(startAddress,is64BitAddress)};});},createVariableCells_(timeToRegion){return tr.ui.analysis.createCells(timeToRegion,function(region){const fields={};const sizeInBytes=region.sizeInBytes;if(sizeInBytes!==undefined){fields['Virtual size']=new Scalar(sizeInBytes_smallerIsBetter,sizeInBytes);}
8705const protectionFlags=region.protectionFlagsToString;if(protectionFlags!==undefined){fields['Protection flags']=protectionFlags;}
8706for(const[byteStatName,columnName]of
8707Object.entries(BYTE_STAT_COLUMN_MAP)){const byteStat=region.byteStats[byteStatName];if(byteStat===undefined)continue;fields[columnName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);}
8708return fields;});},createColumns_(rows){const titleColumn=new tr.ui.analysis.TitleColumn('Mapped file');titleColumn.width='200px';const constantColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'constantCells',aggregationMode:undefined,rules:CONSTANT_COLUMN_RULES});const variableColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'variableCells',aggregationMode:this.aggregationMode_,rules:VARIABLE_COLUMN_RULES});const fieldColumns=constantColumns.concat(variableColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{};});'use strict';Polymer({is:'tr-ui-b-color-legend',ready(){const blackSquareCharCode=9632;this.$.square.innerText=String.fromCharCode(blackSquareCharCode);this.label_=undefined;this.compoundEventSelectionState_=tr.model.CompoundEventSelectionState.NOT_SELECTED;},set compoundEventSelectionState(compoundEventSelectionState){this.compoundEventSelectionState_=compoundEventSelectionState;},get label(){return this.label_;},set label(label){if(label===undefined){this.setLabelAndColorId(undefined,undefined);return;}
8709const colorId=tr.b.ColorScheme.getColorIdForGeneralPurposeString(label);this.setLabelAndColorId(label,colorId);},setLabelAndColorId(label,colorId){this.label_=label;Polymer.dom(this.$.label).textContent='';Polymer.dom(this.$.label).appendChild(tr.ui.b.asHTMLOrTextNode(label));if(colorId===undefined){this.$.square.style.color='initial';}else{this.$.square.style.color=tr.b.ColorScheme.colorsAsStrings[colorId];}}});'use strict';Polymer({is:'tr-ui-b-view-specific-brushing-state',get viewId(){return this.getAttribute('view-id');},set viewId(viewId){Polymer.dom(this).setAttribute('view-id',viewId);},get(){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');}
8710const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return undefined;return brushingStateController.getViewSpecificBrushingState(viewId);},set(state){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');}
8711const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return;brushingStateController.changeViewSpecificBrushingState(viewId,state);}});'use strict';tr.exportTo('tr.ui.analysis',function(){const MemoryColumnColorScheme=tr.b.MemoryColumnColorScheme;const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX='_bytes';const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const SOME_TIMESTAMPS_INFO_QUANTIFIER=tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER;const RIGHTWARDS_ARROW_WITH_HOOK=String.fromCharCode(0x21AA);const RIGHTWARDS_ARROW_FROM_BAR=String.fromCharCode(0x21A6);const GREATER_THAN_OR_EQUAL_TO=String.fromCharCode(0x2265);const UNMARRIED_PARTNERSHIP_SYMBOL=String.fromCharCode(0x26AF);const TRIGRAM_FOR_HEAVEN=String.fromCharCode(0x2630);function lazyMap(list,fn,opt_this){opt_this=opt_this||this;let result=undefined;list.forEach(function(item,index){const value=fn.call(opt_this,item,index);if(value===undefined)return;if(result===undefined){result=new Array(list.length);}
8712result[index]=value;});return result;}
8713function ProcessNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Process');}
8714ProcessNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.contexts===undefined){return row.title;}
8715const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=row.title;return titleEl;}};function UsedMemoryColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8716UsedMemoryColumn.COLOR=MemoryColumnColorScheme.getColor('used_memory_column').toString();UsedMemoryColumn.OLDER_COLOR=MemoryColumnColorScheme.getColor('older_used_memory_column').toString();UsedMemoryColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:UsedMemoryColumn.COLOR});},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},color(numerics,processMemoryDumps){return UsedMemoryColumn.COLOR;},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const vmRegions=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.mostRecentVmRegions;});if(vmRegions===undefined)return undefined;return function(){const pane=document.createElement('tr-ui-a-memory-dump-vm-regions-details-pane');pane.vmRegions=vmRegions;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function PeakMemoryColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);}
8717PeakMemoryColumn.prototype={__proto__:UsedMemoryColumn.prototype,addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let resettableValueCount=0;let nonResettableValueCount=0;for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;if(processMemoryDumps[i].arePeakResidentBytesResettable){resettableValueCount++;}else{nonResettableValueCount++;}}
8718if(resettableValueCount>0&&nonResettableValueCount>0){infos.push(tr.ui.analysis.createWarningInfo('Both resettable and '+'non-resettable peak RSS values were provided by the process'));}else if(resettableValueCount>0){infos.push({icon:RIGHTWARDS_ARROW_WITH_HOOK,message:'Peak RSS since previous memory dump.'});}else{infos.push({icon:RIGHTWARDS_ARROW_FROM_BAR,message:'Peak RSS since process startup. Finer grained '+'peaks require a Linux kernel version '+
8719GREATER_THAN_OR_EQUAL_TO+' 4.0.'});}}};function ByteStatColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);}
8720ByteStatColumn.prototype={__proto__:UsedMemoryColumn.prototype,color(numerics,processMemoryDumps){if(processMemoryDumps===undefined){return UsedMemoryColumn.COLOR;}
8721const allOlderValues=processMemoryDumps.every(function(processMemoryDump){if(processMemoryDump===undefined)return true;return!processMemoryDump.hasOwnVmRegions;});if(allOlderValues){return UsedMemoryColumn.OLDER_COLOR;}
8722return UsedMemoryColumn.COLOR;},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let olderValueCount=0;for(let i=0;i<numerics.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump!==undefined&&!processMemoryDump.hasOwnVmRegions){olderValueCount++;}}
8723if(olderValueCount===0){return;}
8724const infoQuantifier=olderValueCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Older value'+infoQuantifier+' (only heavy (purple) memory dumps contain memory maps).',icon:UNMARRIED_PARTNERSHIP_SYMBOL});}};UsedMemoryColumn.RULES=[{condition:'Total resident',importance:10,columnConstructor:UsedMemoryColumn},{condition:'Peak total resident',importance:9,columnConstructor:PeakMemoryColumn},{condition:'PSS',importance:8,columnConstructor:ByteStatColumn},{condition:'Private dirty',importance:7,columnConstructor:ByteStatColumn},{condition:'Swapped',importance:6,columnConstructor:ByteStatColumn},{importance:0,columnConstructor:UsedMemoryColumn}];UsedMemoryColumn.TOTALS_MAP={'residentBytes':'Total resident','peakResidentBytes':'Peak total resident'};UsedMemoryColumn.BYTE_STAT_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','swapped':'Swapped'};function AllocatorColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8725AllocatorColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=this.name;return titleEl;},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let heapDumpCount=0;let missingSizeCount=0;for(let i=0;i<processMemoryDumps.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump===undefined)continue;const heapDumps=processMemoryDump.heapDumps;if(heapDumps!==undefined&&heapDumps[this.name]!==undefined){heapDumpCount++;}
8726const allocatorDump=processMemoryDump.getMemoryAllocatorDumpByFullName(this.name);if(allocatorDump!==undefined&&allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME]===undefined){missingSizeCount++;}}
8727if(heapDumpCount>0){const infoQuantifier=heapDumpCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Heap dump provided'+infoQuantifier+'.',icon:TRIGRAM_FOR_HEAVEN});}
8728if(missingSizeCount>0){const infoQuantifier=missingSizeCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push(tr.ui.analysis.createWarningInfo('Size was not provided'+infoQuantifier+'.'));}},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const memoryAllocatorDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.getMemoryAllocatorDumpByFullName(this.name);},this);if(memoryAllocatorDumps===undefined)return undefined;const heapDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined||pmd.heapDumps===undefined)return undefined;return pmd.heapDumps[this.name];},this);return function(){const pane=document.createElement('tr-ui-a-memory-dump-allocator-details-pane');pane.memoryAllocatorDumps=memoryAllocatorDumps;pane.heapDumps=heapDumps;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function TracingColumn(name,cellPath,aggregationMode){AllocatorColumn.call(this,name,cellPath,aggregationMode);}
8729TracingColumn.COLOR=MemoryColumnColorScheme.getColor('tracing_memory_column').toString();TracingColumn.prototype={__proto__:AllocatorColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:TracingColumn.COLOR});},color(numerics,processMemoryDumps){return TracingColumn.COLOR;}};AllocatorColumn.RULES=[{condition:'tracing',importance:0,columnConstructor:TracingColumn},{importance:1,columnConstructor:AllocatorColumn}];Polymer({is:'tr-ui-a-memory-dump-overview-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.processMemoryDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.CELL;this.$.table.addEventListener('selection-changed',function(tableEvent){tableEvent.stopPropagation();this.changeChildPane_();}.bind(this));},set processMemoryDumps(processMemoryDumps){this.processMemoryDumps_=processMemoryDumps;this.scheduleRebuild_();},get processMemoryDumps(){return this.processMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},get selectedMemoryCell(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;}
8730const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];const selectedMemoryCell=selectedColumn.cell(selectedTableRow);return selectedMemoryCell;},changeChildPane_(){this.storeSelection_();this.childPaneBuilder=this.determineChildPaneBuilderFromSelection_();},determineChildPaneBuilderFromSelection_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;}
8731const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];return selectedColumn.getChildPaneBuilder(selectedTableRow.contexts);},onRebuild_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;}
8732this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);const footerRows=this.createFooterRows_(rows,columns);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.tableColumns=columns;this.$.table.rebuild();this.restoreSelection_();},createRows_(){const timeToPidToProcessMemoryDump=this.processMemoryDumps_;const pidToTimeToProcessMemoryDump=tr.b.invertArrayOfDicts(timeToPidToProcessMemoryDump);return Object.values(tr.b.mapItems(pidToTimeToProcessMemoryDump,function(pid,timeToDump){const process=tr.b.findFirstInArray(timeToDump).process;const usedMemoryCells=tr.ui.analysis.createCells(timeToDump,function(dump){const sizes={};const totals=dump.totals;if(totals!==undefined){for(const[totalName,cellName]of
8733Object.entries(UsedMemoryColumn.TOTALS_MAP)){const total=totals[totalName];if(total===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,total);}
8734const platformSpecific=totals.platformSpecific;if(platformSpecific!==undefined){for(const[name,size]of
8735Object.entries(platformSpecific)){let newName=name;if(name.endsWith(PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX)){newName=name.substring(0,name.length-
8736PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX.length);}
8737newName=newName.replace('_',' ').trim();newName=newName.charAt(0).toUpperCase()+
8738newName.slice(1);sizes[newName]=new Scalar(sizeInBytes_smallerIsBetter,size);}}}
8739const vmRegions=dump.mostRecentVmRegions;if(vmRegions!==undefined){for(const[byteStatName,cellName]of
8740Object.entries(UsedMemoryColumn.BYTE_STAT_MAP)){const byteStat=vmRegions.byteStats[byteStatName];if(byteStat===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);}}
8741return sizes;});const allocatorCells=tr.ui.analysis.createCells(timeToDump,function(dump){const memoryAllocatorDumps=dump.memoryAllocatorDumps;if(memoryAllocatorDumps===undefined)return undefined;const sizes={};memoryAllocatorDumps.forEach(function(allocatorDump){let rootDisplayedSizeNumeric=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(rootDisplayedSizeNumeric===undefined){rootDisplayedSizeNumeric=new Scalar(sizeInBytes_smallerIsBetter,0);}
8742sizes[allocatorDump.fullName]=rootDisplayedSizeNumeric;});return sizes;});return{title:process.userFriendlyName,contexts:timeToDump,usedMemoryCells,allocatorCells};}));},createFooterRows_(rows,columns){if(rows.length<=1)return[];const totalRow={title:'Total'};tr.ui.analysis.aggregateTableRowCells(totalRow,rows,columns);return[totalRow];},createColumns_(rows){const titleColumn=new ProcessNameColumn();titleColumn.width='200px';const usedMemorySizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'usedMemoryCells',aggregationMode:this.aggregationMode_,rules:UsedMemoryColumn.RULES});const allocatorSizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'allocatorCells',aggregationMode:this.aggregationMode_,rules:AllocatorColumn.RULES});const sizeColumns=usedMemorySizeColumns.concat(allocatorSizeColumns);tr.ui.analysis.MemoryColumn.spaceEqually(sizeColumns);const columns=[titleColumn].concat(sizeColumns);return columns;},storeSelection_(){let selectedRowTitle;const selectedRow=this.$.table.selectedTableRow;if(selectedRow!==undefined){selectedRowTitle=selectedRow.title;}
8743let selectedColumnName;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex!==undefined){const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];selectedColumnName=selectedColumn.name;}
8744this.$.state.set({rowTitle:selectedRowTitle,columnName:selectedColumnName});},restoreSelection_(){const settings=this.$.state.get();if(settings===undefined||settings.rowTitle===undefined||settings.columnName===undefined){return;}
8745const selectedColumnName=settings.columnName;const selectedColumnIndex=tr.b.findFirstIndexInArray(this.$.table.tableColumns,function(column){return column.name===selectedColumnName;});if(selectedColumnIndex<0)return;const selectedRowTitle=settings.rowTitle;const selectedRow=tr.b.findFirstInArray(this.$.table.tableRows,function(row){return row.title===selectedRowTitle;});if(selectedRow===undefined)return;this.$.table.selectedTableRow=selectedRow;this.$.table.selectedColumnIndex=selectedColumnIndex;}});return{ProcessNameColumn,UsedMemoryColumn,PeakMemoryColumn,ByteStatColumn,AllocatorColumn,TracingColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-memory-dump-header-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.containerMemoryDumps_=undefined;},ready(){Polymer.dom(this.$.aggregation_mode_container).appendChild(tr.ui.b.createSelector(this,'aggregationMode','memoryDumpHeaderPane.aggregationMode',tr.ui.analysis.MemoryColumn.AggregationMode.DIFF,[{label:'Diff',value:tr.ui.analysis.MemoryColumn.AggregationMode.DIFF},{label:'Max',value:tr.ui.analysis.MemoryColumn.AggregationMode.MAX}]));},set containerMemoryDumps(containerMemoryDumps){this.containerMemoryDumps_=containerMemoryDumps;this.scheduleRebuild_();},get containerMemoryDumps(){return this.containerMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){this.updateLabel_();this.updateAggregationModeSelector_();this.changeChildPane_();},updateLabel_(){Polymer.dom(this.$.label).textContent='';if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){Polymer.dom(this.$.label).textContent='No memory dumps selected';return;}
8746const containerDumpCount=this.containerMemoryDumps_.length;const isMultiSelection=containerDumpCount>1;Polymer.dom(this.$.label).appendChild(document.createTextNode('Selected '+containerDumpCount+' memory dump'+
8747(isMultiSelection?'s':'')+' in '+this.containerMemoryDumps_[0].containerName+' at '));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[0].start)));if(isMultiSelection){const ELLIPSIS=String.fromCharCode(8230);Polymer.dom(this.$.label).appendChild(document.createTextNode(ELLIPSIS));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[containerDumpCount-1].start)));}},updateAggregationModeSelector_(){let displayStyle;if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=1){displayStyle='none';}else{displayStyle='initial';}
8748this.$.aggregation_mode_container.style.display=displayStyle;},changeChildPane_(){this.childPaneBuilder=function(){if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){return undefined;}
8749const overviewPane=document.createElement('tr-ui-a-memory-dump-overview-pane');overviewPane.processMemoryDumps=this.containerMemoryDumps_.map(function(containerDump){return containerDump.processMemoryDumps;});overviewPane.aggregationMode=this.aggregationMode;return overviewPane;}.bind(this);}});return{};});'use strict';Polymer({is:'tr-ui-a-stacked-pane-view',setPaneBuilder(paneBuilder,opt_parentPane){const paneContainer=this.$.pane_container;if(opt_parentPane){if(!(opt_parentPane instanceof HTMLElement)){throw new Error('Parent pane must be an HTML element');}
8750if(opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane must be a child of the pane container');}}
8751while(Polymer.dom(paneContainer).lastElementChild!==null&&Polymer.dom(paneContainer).lastElementChild!==opt_parentPane){const removedPane=Polymer.dom(this.$.pane_container).lastElementChild;const listener=this.listeners_.get(removedPane);if(listener===undefined){throw new Error('No listener associated with pane');}
8752this.listeners_.delete(removedPane);removedPane.removeEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).removeChild(removedPane);}
8753if(opt_parentPane&&opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane was removed from the pane container');}
8754if(!paneBuilder)return;const pane=paneBuilder();if(!pane)return;if(!(pane instanceof HTMLElement)){throw new Error('Pane must be an HTML element');}
8755const listener=function(event){this.setPaneBuilder(pane.childPaneBuilder,pane);}.bind(this);if(!this.listeners_){this.listeners_=new WeakMap();}
8756this.listeners_.set(pane,listener);pane.addEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).appendChild(pane);pane.appended();},rebuild(){let currentPane=Polymer.dom(this.$.pane_container).firstElementChild;while(currentPane){currentPane.rebuild();currentPane=currentPane.nextElementSibling;}},get panesForTesting(){const panes=[];let currentChild=Polymer.dom(this.$.pane_container).firstElementChild;while(currentChild){panes.push(currentChild);currentChild=currentChild.nextElementSibling;}
8757return panes;}});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-container-memory-dump-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],set selection(selection){if(selection===undefined){this.currentSelection_=undefined;this.dumpsByContainerName_=undefined;this.updateContents_();return;}
8758selection.forEach(function(event){if(!(event instanceof tr.model.ContainerMemoryDump)){throw new Error('Memory dump sub-view only supports container memory dumps');}});this.currentSelection_=selection;this.dumpsByContainerName_=tr.b.groupIntoMap(this.currentSelection_.toArray(),dump=>dump.containerName);for(const dumps of this.dumpsByContainerName_.values()){dumps.sort((a,b)=>a.start-b.start);}
8759this.updateContents_();},get selection(){return this.currentSelection_;},get requiresTallView(){return true;},updateContents_(){Polymer.dom(this.$.content).textContent='';if(this.dumpsByContainerName_===undefined)return;const containerNames=Array.from(this.dumpsByContainerName_.keys());if(containerNames.length===0)return;if(containerNames.length>1){this.buildViewForMultipleContainerNames_();}else{this.buildViewForSingleContainerName_();}},buildViewForSingleContainerName_(){const containerMemoryDumps=tr.b.getFirstElement(this.dumpsByContainerName_.values());const dumpView=this.ownerDocument.createElement('tr-ui-a-stacked-pane-view');Polymer.dom(this.$.content).appendChild(dumpView);dumpView.setPaneBuilder(function(){const headerPane=document.createElement('tr-ui-a-memory-dump-header-pane');headerPane.containerMemoryDumps=containerMemoryDumps;return headerPane;});},buildViewForMultipleContainerNames_(){const ownerDocument=this.ownerDocument;const rows=[];for(const[containerName,dumps]of this.dumpsByContainerName_){rows.push({containerName,subRows:dumps,isExpanded:true,});}
8760rows.sort(function(a,b){return a.containerName.localeCompare(b.containerName);});const columns=[{title:'Dump',value(row){if(row.subRows===undefined){return this.singleDumpValue_(row);}
8761return this.groupedDumpValue_(row);},singleDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet([row]));Polymer.dom(linkEl).appendChild(tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument}));return linkEl;},groupedDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(row.subRows));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.subRows.length+' memory dump'+
8762(row.subRows.length===1?'':'s')+' in '}));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.containerName,bold:true}));return linkEl;}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.tableColumns=columns;table.tableRows=rows;table.showHeader=false;table.rebuild();Polymer.dom(this.$.content).appendChild(table);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:false,title:'Global Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:true,title:'Global Memory Dumps',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:false,title:'Process Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:true,title:'Process Memory Dumps',});return{};});'use strict';(function(){const COUNTER_SAMPLE_TABLE_COLUMNS=[{title:'Counter',width:'150px',value(row){return row.counter;}},{title:'Series',width:'150px',value(row){return row.series;}},{title:'Time',width:'150px',value(row){return row.start;}},{title:'Value',width:'100%',value(row){return row.value;}}];Polymer({is:'tr-ui-a-counter-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=COUNTER_SAMPLE_TABLE_COLUMNS;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){this.$.table.tableRows=this.selection?this.getRows_(this.selection.toArray()):[];this.$.table.rebuild();},getRows_(samples){const samplesByCounter=tr.b.groupIntoMap(samples,sample=>sample.series.counter.guid);const rows=[];for(const counterSamples of samplesByCounter.values()){const samplesBySeries=tr.b.groupIntoMap(counterSamples,sample=>sample.series.guid);for(const seriesSamples of samplesBySeries.values()){const seriesRows=this.getRowsForSamples_(seriesSamples);seriesRows[0].counter=seriesSamples[0].series.counter.name;seriesRows[0].series=seriesSamples[0].series.name;if(seriesRows.length>1){seriesRows[0].subRows=seriesRows.slice(1);seriesRows[0].isExpanded=true;}
8763rows.push(seriesRows[0]);}}
8764return rows;},getRowsForSamples_(samples){return samples.map(function(sample){return{start:sample.timestamp,value:sample.value};});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:false,title:'Counter Sample',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:true,title:'Counter Samples',});})();'use strict';tr.exportTo('tr.ui.analysis',function(){function MultiEventSummary(title,events){this.title=title;this.duration_=undefined;this.selfTime_=undefined;this.events_=events;this.cpuTimesComputed_=false;this.cpuSelfTime_=undefined;this.cpuDuration_=undefined;this.maxDuration_=undefined;this.maxCpuDuration_=undefined;this.maxSelfTime_=undefined;this.maxCpuSelfTime_=undefined;this.untotallableArgs_=[];this.totalledArgs_=undefined;}
8765MultiEventSummary.prototype={set title(title){if(title==='Totals'){this.totalsRow=true;}
8766this.title_=title;},get title(){return this.title_;},get duration(){if(this.duration_===undefined){this.duration_=tr.b.math.Statistics.sum(this.events_,function(event){return event.duration;});}
8767return this.duration_;},get cpuSelfTime(){this.computeCpuTimesIfNeeded_();return this.cpuSelfTime_;},get cpuDuration(){this.computeCpuTimesIfNeeded_();return this.cpuDuration_;},computeCpuTimesIfNeeded_(){if(this.cpuTimesComputed_)return;this.cpuTimesComputed_=true;let cpuSelfTime=0;let cpuDuration=0;let hasCpuData=false;for(const event of this.events_){if(event.cpuDuration!==undefined){cpuDuration+=event.cpuDuration;hasCpuData=true;}
8768if(event.cpuSelfTime!==undefined){cpuSelfTime+=event.cpuSelfTime;hasCpuData=true;}}
8769if(hasCpuData){this.cpuDuration_=cpuDuration;this.cpuSelfTime_=cpuSelfTime;}},get selfTime(){if(this.selfTime_===undefined){this.selfTime_=0;for(const event of this.events_){if(event.selfTime!==undefined){this.selfTime_+=event.selfTime;}}}
8770return this.selfTime_;},get events(){return this.events_;},get numEvents(){return this.events_.length;},get numAlerts(){if(this.numAlerts_===undefined){this.numAlerts_=tr.b.math.Statistics.sum(this.events_,event=>event.associatedAlerts.length);}
8771return this.numAlerts_;},get untotallableArgs(){this.updateArgsIfNeeded_();return this.untotallableArgs_;},get totalledArgs(){this.updateArgsIfNeeded_();return this.totalledArgs_;},get maxDuration(){if(this.maxDuration_===undefined){this.maxDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.duration;});}
8772return this.maxDuration_;},get maxCpuDuration(){if(this.maxCpuDuration_===undefined){this.maxCpuDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuDuration;});}
8773return this.maxCpuDuration_;},get maxSelfTime(){if(this.maxSelfTime_===undefined){this.maxSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.selfTime;});}
8774return this.maxSelfTime_;},get maxCpuSelfTime(){if(this.maxCpuSelfTime_===undefined){this.maxCpuSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuSelfTime;});}
8775return this.maxCpuSelfTime_;},updateArgsIfNeeded_(){if(this.totalledArgs_!==undefined)return;const untotallableArgs={};const totalledArgs={};for(const event of this.events_){for(const argName in event.args){const argVal=event.args[argName];const type=typeof argVal;if(type!=='number'){untotallableArgs[argName]=true;delete totalledArgs[argName];continue;}
8776if(untotallableArgs[argName]){continue;}
8777if(totalledArgs[argName]===undefined){totalledArgs[argName]=0;}
8778totalledArgs[argName]+=argVal;}}
8779this.untotallableArgs_=Object.keys(untotallableArgs);this.totalledArgs_=totalledArgs;}};return{MultiEventSummary,};});'use strict';Polymer({is:'tr-ui-a-multi-event-summary-table',ready(){this.showTotals_=false;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;this.eventsByTitle_=undefined;},updateTableColumns_(rows,maxValues){let hasCpuData=false;let hasAlerts=false;rows.forEach(function(row){if(row.cpuDuration!==undefined){hasCpuData=true;}
8780if(row.cpuSelfTime!==undefined){hasCpuData=true;}
8781if(row.numAlerts){hasAlerts=true;}});const ownerDocument=this.ownerDocument;const columns=[];columns.push({title:'Name',value(row){if(row.title==='Totals')return'Totals';const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(row.events);},row.title);return linkEl;},width:'350px',cmp(rowA,rowB){return rowA.title.localeCompare(rowB.title);}});if(this.eventsHaveDuration_){columns.push({title:'Wall Duration',value(row){return tr.v.ui.createScalarSpan(row.duration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.duration-rowB.duration;}});}
8782if(this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Duration',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuDuration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuDuration-rowB.cpuDuration;}});}
8783if(this.eventsHaveSubRows_&&this.eventsHaveDuration_){columns.push({title:'Self time',value(row){return tr.v.ui.createScalarSpan(row.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.selfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.selfTime-rowB.selfTime;}});}
8784if(this.eventsHaveSubRows_&&this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Self Time',value(row){return tr.v.ui.createScalarSpan(row.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuSelfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuSelfTime-rowB.cpuSelfTime;}});}
8785if(this.eventsHaveDuration_){columns.push({title:'Average '+(hasCpuData?'CPU':'Wall')+' Duration',value(row){const totalDuration=hasCpuData?row.cpuDuration:row.duration;return tr.v.ui.createScalarSpan(totalDuration/row.numEvents,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){if(hasCpuData){return rowA.cpuDuration/rowA.numEvents-
8786rowB.cpuDuration/rowB.numEvents;}
8787return rowA.duration/rowA.numEvents-
8788rowB.duration/rowB.numEvents;}});}
8789columns.push({title:'Occurrences',value(row){return row.numEvents;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numEvents-rowB.numEvents;}});let alertsColumnIndex;if(hasAlerts){columns.push({title:'Num Alerts',value(row){return row.numAlerts;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numAlerts-rowB.numAlerts;}});alertsColumnIndex=columns.length-1;}
8790let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';}
8791for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;}
8792this.$.table.tableColumns=columns;if(hasAlerts){this.$.table.sortColumnIndex=alertsColumnIndex;this.$.table.sortDescending=true;}},configure(config){if(config.eventsByTitle===undefined){throw new Error('Required: eventsByTitle');}
8793if(config.showTotals!==undefined){this.showTotals_=config.showTotals;}else{this.showTotals_=true;}
8794if(config.eventsHaveDuration!==undefined){this.eventsHaveDuration_=config.eventsHaveDuration;}else{this.eventsHaveDuration_=true;}
8795if(config.eventsHaveSubRows!==undefined){this.eventsHaveSubRows_=config.eventsHaveSubRows;}else{this.eventsHaveSubRows_=true;}
8796this.eventsByTitle_=config.eventsByTitle;this.updateContents_();},get showTotals(){return this.showTotals_;},set showTotals(showTotals){this.showTotals_=showTotals;this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;this.updateContents_();},get eventsByTitle(){return this.eventsByTitle_;},set eventsByTitle(eventsByTitle){this.eventsByTitle_=eventsByTitle;this.updateContents_();},get selectionBounds(){return this.selectionBounds_;},set selectionBounds(selectionBounds){this.selectionBounds_=selectionBounds;this.updateContents_();},updateContents_(){let eventsByTitle;if(this.eventsByTitle_!==undefined){eventsByTitle=this.eventsByTitle_;}else{eventsByTitle=[];}
8797const allEvents=new tr.model.EventSet();const rows=[];for(const[title,eventsOfSingleTitle]of Object.entries(eventsByTitle)){for(const event of eventsOfSingleTitle)allEvents.push(event);const row=new tr.ui.analysis.MultiEventSummary(title,eventsOfSingleTitle);rows.push(row);}
8798this.updateTableColumns_(rows);this.$.table.tableRows=rows;const maxValues={duration:undefined,selfTime:undefined,cpuSelfTime:undefined,cpuDuration:undefined};if(this.eventsHaveDuration){for(const column in maxValues){maxValues[column]=tr.b.math.Statistics.max(rows,function(event){return event[column];});}}
8799const footerRows=[];if(this.showTotals_){const multiEventSummary=new tr.ui.analysis.MultiEventSummary('Totals',allEvents);footerRows.push(multiEventSummary);}
8800this.updateTableColumns_(rows,maxValues);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-selection-summary-table',created(){this.selection_=new tr.b.math.Range();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{title:'Name',value(row){return row.title;},width:'350px'},{title:'Value',width:'100%',value(row){return row.value;}}];},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},updateContents_(){const selection=this.selection_;const rows=[];let hasRange;if(this.selection_&&(!selection.bounds.isEmpty)){hasRange=true;}else{hasRange=false;}
8801rows.push({title:'Selection start',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.min,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}):'<empty>'});rows.push({title:'Selection extent',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.range,{unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument}):'<empty>'});this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-b-radio-picker',created(){this.needsInit_=true;this.settingsKey_=undefined;this.isReady_=false;this.radioButtons_=undefined;this.selectedKey_=undefined;},ready(){this.isReady_=true;this.maybeInit_();this.maybeRenderRadioButtons_();},get vertical(){return this.getAttribute('vertical');},set vertical(vertical){if(vertical){this.setAttribute('vertical',true);}else{this.removeAttribute('vertical');}},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){if(!this.needsInit_){throw new Error('Already initialized.');}
8802this.settingsKey_=settingsKey;this.maybeInit_();},maybeInit_(){if(!this.needsInit_)return;if(this.settingsKey_===undefined)return;this.needsInit_=false;this.select(tr.b.Settings.get(this.settingsKey_));},set items(items){this.radioButtons_={};items.forEach(function(e){if(e.key in this.radioButtons_){throw new Error(e.key+' already exists');}
8803const radioButton=document.createElement('div');const input=document.createElement('input');const label=document.createElement('label');input.type='radio';input.id=e.label;input.addEventListener('click',function(){this.select(e.key);}.bind(this));Polymer.dom(label).innerHTML=e.label;label.htmlFor=e.label;label.style.display='inline';Polymer.dom(radioButton).appendChild(input);Polymer.dom(radioButton).appendChild(label);this.radioButtons_[e.key]=input;}.bind(this));this.maybeInit_();this.maybeRenderRadioButtons_();},maybeRenderRadioButtons_(){if(!this.isReady_)return;if(this.radioButtons_===undefined)return;for(const key in this.radioButtons_){Polymer.dom(this.$.container).appendChild(this.radioButtons_[key].parentElement);}
8804if(this.selectedKey_!==undefined){this.select(this.selectedKey_);}},select(key){if(key===undefined||key===this.selectedKey_){return;}
8805if(this.radioButtons_===undefined){this.selectedKey_=key;return;}
8806if(!(key in this.radioButtons_)){throw new Error(key+' does not exists');}
8807if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=false;}
8808this.selectedKey_=key;tr.b.Settings.set(this.settingsKey_,this.selectedKey_);if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=true;}
8809this.dispatchEvent(new tr.b.Event('change',false));},get selectedKey(){return this.selectedKey_;},});'use strict';tr.exportTo('tr.ui.b',function(){const ColumnChart=tr.ui.b.define('column-chart',tr.ui.b.ChartBase2DBrushX);ColumnChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,decorate(){super.decorate();this.xCushion_=1;this.isStacked_=false;this.enableHoverBox=true;},set isStacked(stacked){this.isStacked_=true;this.updateContents_();},get isStacked(){return this.isStacked_;},get defaultGraphHeight(){return 100;},get defaultGraphWidth(){return 10*this.data_.length;},updateScales_(){if(this.data_.length===0)return;let xDifferences=0;let currentX=undefined;let previousX=undefined;this.data_.forEach(function(datum,index){previousX=currentX;currentX=this.getXForDatum_(datum,index);if(previousX!==undefined){xDifferences+=currentX-previousX;}},this);this.xScale_.range([0,this.graphWidth]);const domain=d3.extent(this.data_,this.getXForDatum_.bind(this));if(this.data_.length>1){this.xCushion_=xDifferences/(this.data_.length-1);}
8810this.xScale_.domain([domain[0],domain[1]+this.xCushion_]);this.yScale_.range([this.graphHeight,0]);this.yScale_.domain(this.getYScaleDomain_(this.dataRange.min,this.dataRange.max));},updateDataRange_(){if(!this.isStacked){super.updateDataRange_();return;}
8811this.autoDataRange_.reset();this.autoDataRange_.addValue(0);for(const datum of this.data_){let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined){continue;}
8812sum+=datum[key];}
8813this.autoDataRange_.addValue(sum);}},getStackedRectsForDatum_(datum,index){const stacks=[];let bottom=this.yScale_.range()[0];let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;}
8814sum+=this.dataRange.clamp(datum[key]);const heightPx=bottom-this.yScale_(sum);bottom-=heightPx;stacks.push({key,value:datum[key],color:this.getDataSeries(key).color,heightPx,topPx:bottom,underflow:sum<this.dataRange.min,overflow:sum>this.dataRange.max,});}
8815return stacks;},getRectsForDatum_(datum,index){if(this.isStacked){return this.getStackedRectsForDatum_(datum,index);}
8816const stacks=[];for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;}
8817const clampedValue=this.dataRange.clamp(datum[key]);const topPx=this.yScale_(Math.max(clampedValue,this.getYScaleMin_()));stacks.push({key,value:datum[key],topPx,heightPx:this.yScale_.range()[0]-topPx,color:this.getDataSeries(key).color,underflow:datum[key]<this.dataRange.min,overflow:datum[key]>this.dataRange.max,});}
8818stacks.sort(function(a,b){return b.topPx-a.topPx;});return stacks;},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width+5;keyHeightPx=16;}
8819const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width+5;const valueHeightPx=16;const hoverLeftPx=rect.leftPx+(rect.widthPx/2);chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',rect.topPx).attr('width',Math.max(keyWidthPx,valueWidthPx)).attr('height',keyHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx-3).text(rect.key);}
8820chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx+valueHeightPx-3).text(rect.value);},clearHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseleave');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);d3.select(this.chartAreaElement).selectAll('.hover').remove();},drawRect_(rect,sel){sel=sel.data([rect]);sel.enter().append('rect').attr('fill',rect.color).attr('x',rect.leftPx).attr('y',rect.topPx).attr('width',rect.widthPx).attr('height',rect.heightPx).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawUnderflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',this.graphHeight).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',0);sel.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const chartAreaSel=d3.select(this.chartAreaElement);const seriesKeys=[...this.seriesByKey_.keys()];const rectsSel=dataSel.selectAll('path');this.data_.forEach(function(datum,index){const currentX=this.getXForDatum_(datum,index);let width=undefined;if(index<(this.data_.length-1)){const nextX=this.getXForDatum_(this.data_[index+1],index+1);width=nextX-currentX;}else{width=this.xCushion_;}
8821for(const rect of this.getRectsForDatum_(datum,index)){rect.datum=datum;rect.index=index;rect.leftPx=this.xScale_(currentX);rect.rightPx=this.xScale_(currentX+width);rect.widthPx=rect.rightPx-rect.leftPx;this.drawRect_(rect,rectsSel);if(rect.underflow){this.drawUnderflow_(rect,rectsSel);}
8822if(rect.overflow){this.drawOverflow_(rect,rectsSel);}}},this);}};return{ColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const MIN_GUIDELINE_HEIGHT_PX=3;const CHECKBOX_WIDTH_PX=18;const NameColumnChart=tr.ui.b.define('name-column-chart',tr.ui.b.ColumnChart);NameColumnChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},updateMargins_(){super.updateMargins_();let xAxisTickOverhangPx=0;for(let i=0;i<this.data_.length;++i){const datum=this.data_[i];xAxisTickOverhangPx=Math.max(xAxisTickOverhangPx,this.xScale_(i)+tr.ui.b.getSVGTextSize(this,datum.x).width-
8823this.graphWidth);}
8824this.margin.right=Math.max(this.margin.right,xAxisTickOverhangPx);},getXForDatum_(datum,index){return index;},get xAxisTickOffset(){return 0.5;},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;const nameTexts=xAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('transform',(d,index)=>'translate(0, '+
8825this.textHeightPx_*(this.data_.length-index)+')').attr('x',(d,index)=>this.xScale_(index)).attr('y',d=>this.graphHeight).text(d=>d.x);nameTexts.exit().remove();const guideLines=xAxis.selectAll('line.guide').data(this.data_);guideLines.enter().append('line').attr('x1',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('x2',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('y1',()=>this.graphHeight).attr('y2',(d,index)=>this.graphHeight+Math.max(MIN_GUIDELINE_HEIGHT_PX,(this.textHeightPx_*(this.data_.length-index-1))));}};return{NameColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.LineChart;const NameLineChart=tr.ui.b.define('name-line-chart',LineChart);NameLineChart.prototype={__proto__:LineChart.prototype,getXForDatum_(datum,index){return index;},get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},get xAxisTickOffset(){return 0;},updateMargins_(){tr.ui.b.NameColumnChart.prototype.updateMargins_.call(this);},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length-1)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();}};return{NameLineChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BoxChart=tr.ui.b.define('box-chart',tr.ui.b.NameLineChart);BoxChart.prototype={__proto__:tr.ui.b.NameLineChart.prototype,get hideLegend(){return true;},updateDataRange_(){if(this.overrideDataRange_!==undefined){return;}
8826this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateScales_(){super.updateScales_();this.xScale_.domain([0,this.data_.length]);},get xAxisTickOffset(){return 0.5;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const boxesSel=dataSel.selectAll('path');for(let index=0;index<this.data_.length;++index){const datum=this.data_[index];const color=datum.color||'black';let sel=boxesSel.data([datum]);sel.enter().append('rect').attr('fill',color).attr('x',this.xScale_(index+0.2)).attr('width',this.xScale_(index+0.8)-this.xScale_(index+0.2)).attr('y',this.yScale_(datum.percentile_75)).attr('height',this.yScale_(datum.percentile_25)-
8827this.yScale_(datum.percentile_75));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index)).attr('x2',this.xScale_(index+1)).attr('y1',this.yScale_(datum.percentile_50)).attr('y2',this.yScale_(datum.percentile_50));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_0)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_100));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.5)).attr('x2',this.xScale_(index+0.5)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();}}};return{BoxChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BarChart=tr.ui.b.define('bar-chart',tr.ui.b.ColumnChart);BarChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,decorate(){super.decorate();this.verticalScale_=undefined;this.horizontalScale_=undefined;},updateScales_(){super.updateScales_();this.yScale_.range([this.graphWidth,0]);this.xScale_.range([0,this.graphHeight]);this.verticalScale_=this.isYLogScale_?d3.scale.log(10):d3.scale.linear();this.verticalScale_.domain(this.xScale_.domain());this.verticalScale_.range([this.graphHeight,0]);this.horizontalScale_=d3.scale.linear();this.horizontalScale_.domain(this.yScale_.domain());this.horizontalScale_.range([0,this.graphWidth]);},get defaultGraphHeight(){return Math.max(20,10*this.data_.length);},get defaultGraphWidth(){return 100;},get barHeight(){return this.graphHeight/this.data.length;},drawBrush_(brushRectsSel){brushRectsSel.attr('x',0).attr('width',this.graphWidth).attr('y',d=>this.verticalScale_(d.max)).attr('height',d=>this.verticalScale_(d.min)-this.verticalScale_(d.max));},getDataPointAtChartPoint_(chartPoint){const flippedPoint={x:this.graphHeight-chartPoint.y,y:this.graphWidth-chartPoint.x};return super.getDataPointAtChartPoint_(flippedPoint);},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.horizontalScale_).orient('bottom'));},get yAxisWidth(){return this.computeScaleTickWidth_(this.verticalScale_);},drawYAxis_(yAxis){const axisModifier=d3.svg.axis().scale(this.verticalScale_).orient('left');yAxis.call(axisModifier);},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;let xWidthPx=0;let xHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width;keyHeightPx=this.textHeightPx_;}
8828if(this.data.length>1){xWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,''+rect.datum.x).width;xHeightPx=this.textHeightPx_;}
8829const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width;const valueHeightPx=this.textHeightPx_;const hoverWidthPx=Math.min(Math.max(keyWidthPx,xWidthPx,valueWidthPx)+5,Math.max(50,rect.widthPx));const hoverTopPx=rect.topPx+(rect.heightPx/2);const hoverLeftPx=rect.leftPx+rect.widthPx-hoverWidthPx;chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',hoverTopPx).attr('width',hoverWidthPx).attr('height',keyHeightPx+xHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx-3).text(rect.key);}
8830if(this.data.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx+valueHeightPx-3).text(''+rect.datum.x);}
8831chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+xHeightPx+keyHeightPx+valueHeightPx-3).text(rect.value);},flipRect_(rect){return{datum:rect.datum,index:rect.index,key:rect.key,value:rect.value,color:rect.color,topPx:this.graphHeight-rect.leftPx-rect.widthPx,leftPx:this.graphWidth-rect.topPx-rect.heightPx,widthPx:rect.heightPx,heightPx:rect.widthPx,underflow:rect.underflow,overflow:rect.overflow,};},drawRect_(rect,sel){super.drawRect_(this.flipRect_(rect),sel);},drawUnderflow_(rect,rectsSel){let sel=rectsSel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',0).attr('y',this.graphHeight-rect.leftPx+
88323+(rect.widthPx/2));sel.exit().remove();sel=rectsSel.data([rect]);sel.enter().append('rect').attr('fill','rgba(0, 0, 0, 0)').attr('x',0).attr('y',this.graphHeight-rect.leftPx-rect.widthPx).attr('width',10).attr('height',rect.widthPx).on('mouseenter',()=>this.drawHoverValueBox_(this.flipRect_(rect))).on('mouseleave',()=>this.clearHoverValueBox_(rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',this.graphWidth).attr('y',this.graphHeight-rect.leftPx+
88333+(rect.widthPx/2));sel.exit().remove();}};return{BarChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const NameBarChart=tr.ui.b.define('name-bar-chart',tr.ui.b.BarChart);const Y_AXIS_PADDING=2;NameBarChart.prototype={__proto__:tr.ui.b.BarChart.prototype,getDataPointAtChartPoint_(chartPoint){return{x:tr.ui.b.BarChart.prototype.getDataPointAtChartPoint_.call(this,chartPoint).x,y:parseInt(Math.floor((this.graphHeight-chartPoint.y)/this.barHeight))};},getXForDatum_(datum,index){return index;},get yAxisWidth(){if(this.data.length===0)return 0;return Y_AXIS_PADDING+tr.b.math.Statistics.max(this.data_,d=>tr.ui.b.getSVGTextSize(this,d.x).width);},get defaultGraphHeight(){return(3+this.textHeightPx_)*this.data.length;},updateYAxis_(yAxis){if(tr.ui.b.getSVGTextSize(this,'test').width===0){tr.b.requestAnimationFrame(()=>this.updateYAxis_(yAxis));return;}
8834yAxis.selectAll('*').remove();const nameTexts=yAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('x',d=>-(tr.ui.b.getSVGTextSize(this,d.x).width+Y_AXIS_PADDING)).attr('y',(d,index)=>this.verticalScale_(index)).text(d=>d.x);nameTexts.exit().remove();let previousTop=undefined;for(const text of nameTexts[0]){const bbox=text.getBBox();if((previousTop===undefined)||(previousTop>(bbox.y+bbox.height))){previousTop=bbox.y;}else{text.style.opacity=0;}}}};return{NameBarChart,};});'use strict';const DEFAULT_COLOR_SCHEME=new tr.b.SinebowColorGenerator();class BreakdownTableSummaryRow{constructor(displayElement,histogramNames){this.displayElement_=displayElement;this.histogramNames_=histogramNames;this.keySpan_=undefined;}
8835get numberValue(){return undefined;}
8836get keySpan(){if(this.keySpan_===undefined){if(this.histogramNames_.length){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent(this.histogramNames_,'Select All');}else{this.keySpan_='Sum';}}
8837return this.keySpan_;}
8838get displayElement(){return this.displayElement_;}
8839get stringPercent(){return'100%';}}
8840class BreakdownTableRow{constructor(name,value,color){this.name_=name;this.value=value;if(!this.isHistogram&&typeof value!=='number'){throw new Error('unsupported value '+value);}
8841this.tableSum_=undefined;this.keySpan_=undefined;this.color_=color;const hsl=this.color.toHSL();hsl.l*=0.85;this.highlightedColor_=tr.b.Color.fromHSL(hsl);}
8842get isHistogram(){return this.value instanceof tr.v.Histogram;}
8843get name(){return this.name_;}
8844get color(){return this.color_;}
8845get highlightedColor(){return this.highlightedColor_;}
8846get keySpan(){if(this.keySpan_===undefined){if(this.isHistogram){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent([this.value.name],this.name);this.keySpan_.color=this.color;this.keySpan_.title=this.value.name;}else{this.keySpan_=document.createElement('span');this.keySpan_.innerText=this.name;this.keySpan_.style.color=this.color;}}
8847return this.keySpan_;}
8848get numberValue(){if(this.isHistogram)return this.value.sum;if(!isNaN(this.value)&&(this.value!==Infinity)&&(this.value!==-Infinity)&&(this.value>0))return this.value;return undefined;}
8849get stringValue(){if(this.numberValue===undefined)return this.value.toString();return this.numberValue.toString();}
8850set tableSum(s){this.tableSum_=s;}
8851get stringPercent(){if(this.tableSum_===undefined)return'';const num=this.numberValue;if(num===undefined)return'';return Math.floor(num*100.0/this.tableSum_)+'%';}
8852get displayElement(){if(this.numberValue===undefined)return this.value.toString();if(this.isHistogram){return tr.v.ui.createScalarSpan(this.numberValue,{unit:this.value.unit,});}
8853return this.numberValue;}
8854compare(other){if(this.numberValue===undefined){if(other.numberValue===undefined){return this.name.localeCompare(other.name);}
8855return 1;}
8856if(other.numberValue===undefined){return-1;}
8857if(this.numberValue===other.numberValue){return this.name.localeCompare(other.name);}
8858return other.numberValue-this.numberValue;}}
8859Polymer({is:'tr-v-ui-breakdown-span',created(){this.diagnostic_=undefined;this.chart_=new tr.ui.b.ColumnChart();this.chart_.graphHeight=130;this.chart_.isStacked=true;this.chart_.hideXAxis=true;this.chart_.hideLegend=true;this.chart_.enableHoverBox=false;this.chart_.addEventListener('rect-mouseenter',event=>this.onRectMouseEnter_(event));this.chart_.addEventListener('rect-mouseleave',event=>this.onRectMouseLeave_(event));},onRectMouseEnter_(event){for(const row of this.$.table.tableRows){if(row.name===event.rect.key){row.keySpan.parentNode.nextSibling.style.background=event.rect.color;row.keySpan.scrollIntoViewIfNeeded();}else{row.keySpan.parentNode.nextSibling.style.background='';}}},onRectMouseLeave_(event){for(const row of this.$.table.tableRows){row.keySpan.parentNode.nextSibling.style.background='';}},ready(){Polymer.dom(this.$.container).appendChild(this.chart_);this.$.table.zebra=true;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row.keySpan,},{value:row=>row.displayElement,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},{value:row=>row.stringPercent,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},];},attached(){if(this.diagnostic_)this.updateContents_();},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;if(this.isAttached)this.updateContents_();},updateContents_(){this.$.container.style.display='none';this.$.table.style.display='none';this.$.empty.style.display='block';if(!this.diagnostic_){this.chart_.data=[];return;}
8860let colorScheme=undefined;if(this.diagnostic.colorScheme===tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER){colorScheme=(name)=>{let cat=name.split(' ');cat=cat[cat.length-1];return tr.e.chrome.ChromeUserFriendlyCategoryDriver.getColor(cat);};}else if(this.diagnostic.colorScheme!==undefined){colorScheme=(name)=>tr.b.FixedColorSchemeRegistry.lookUp(this.diagnostic.colorScheme).getColor(name);}else{colorScheme=(name)=>DEFAULT_COLOR_SCHEME.colorForKey(name);}
8861const tableRows=[];let tableSum=0;const histogramNames=[];let unit=undefined;for(const[name,value]of this.diagnostic){const row=new BreakdownTableRow(name,value,colorScheme(name));tableRows.push(row);if(row.numberValue!==undefined)tableSum+=row.numberValue;if(row.isHistogram){histogramNames.push(value.name);if(unit===undefined)unit=value.unit;}}
8862tableRows.sort((x,y)=>x.compare(y));if(tableSum>0){let summaryDisplayElement=tableSum;if(unit!==undefined){summaryDisplayElement=unit.format(tableSum);}
8863tableRows.unshift(new BreakdownTableSummaryRow(summaryDisplayElement,histogramNames));}
8864const chartData={x:0};for(const row of tableRows){if(row.numberValue===undefined)continue;row.tableSum=tableSum;chartData[row.name]=row.numberValue;const dataSeries=this.chart_.getDataSeries(row.name);dataSeries.color=row.color;dataSeries.highlightedColor=row.highlightedColor;}
8865if(tableRows.length>0){this.$.table.style.display='block';this.$.empty.style.display='none';this.$.table.tableRows=tableRows;this.$.table.rebuild();}
8866if(Object.keys(chartData).length>1){this.$.container.style.display='block';this.$.empty.style.display='none';this.chart_.data=[chartData];}}});'use strict';Polymer({is:'tr-v-ui-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8867const rows=[];if(this.diagnostic.displayMasterName){rows.push(['primary',this.diagnostic.displayMasterName]);}
8868if(this.diagnostic.buildbotMasterName){rows.push(['primary',this.diagnostic.buildbotMasterName]);}
8869if(this.diagnostic.displayBotName){rows.push(['bot',this.diagnostic.displayBotName]);}
8870if(this.diagnostic.buildbotName){rows.push(['bot',this.diagnostic.buildbotName]);}
8871if(this.diagnostic.buildNumber){rows.push(['build number',this.diagnostic.buildNumber]);}
8872if(this.diagnostic.logUri){const anchor=document.createElement('a');anchor.href=this.diagnostic.logUri;anchor.innerText=this.diagnostic.logUri;rows.push(['log',anchor]);}
8873this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-collected-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const[canonicalUrl,events]of this.diagnostic){const link=document.createElement('a');if(events.length===1){const event=tr.b.getOnlyElement(events);link.textContent=event.title+' '+
8874tr.b.Unit.byName.timeDurationInMs.format(event.duration);}else{link.textContent=events.length+' events';}
8875link.href=canonicalUrl;Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';Polymer({is:'tr-v-ui-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row[0];},},{value(row){return row[1];}}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8876const rows=[];if(this.diagnostic.chromeVersion){rows.push(['chrome version',this.diagnostic.chromeVersion]);}
8877if(this.diagnostic.osName){rows.push(['OS name',this.diagnostic.osName]);}
8878if(this.diagnostic.osVersion){rows.push(['OS version',this.diagnostic.osVersion]);}
8879if(this.diagnostic.gpuInfo){rows.push(['GPU',JSON.stringify(this.diagnostic.gpuInfo)]);}
8880if(this.diagnostic.arch){rows.push(['arch',this.diagnostic.arch]);}
8881if(this.diagnostic.ram){rows.push(['ram',tr.b.Unit.byName.sizeInBytes.format(this.diagnostic.ram)]);}
8882this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-generic-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.generic.object=undefined;return;}
8883this.$.generic.object=this.diagnostic.value;}});'use strict';Polymer({is:'tr-v-ui-merged-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8884const rows=[];if(this.diagnostic.displayMasterNames.size){rows.push(['primarys',Array.from(this.diagnostic.displayMasterNames).join(', ')]);}
8885if(this.diagnostic.displayBotNames.size){rows.push(['bots',Array.from(this.diagnostic.displayBotNames).join(', ')]);}
8886if(this.diagnostic.buildNumbers.size){rows.push(['builds',Array.from(this.diagnostic.buildNumbers).join(', ')]);}
8887for(const logUri of this.diagnostic.logUris){const anchor=document.createElement('a');anchor.href=logUri;anchor.innerText=logUri;rows.push(['log',anchor]);}
8888this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8889const rows=[];if(this.diagnostic.chromeVersions.size){rows.push(['chrome versions',Array.from(this.diagnostic.chromeVersions).join(', ')]);}
8890if(this.diagnostic.osNames.size){rows.push(['os names',Array.from(this.diagnostic.osNames).join(', ')]);}
8891if(this.diagnostic.osVersions.size){rows.push(['os versions',Array.from(this.diagnostic.osVersions).join(', ')]);}
8892this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const valueSpan=document.createElement('span');for(const revs of revisions){const anchor=document.createElement('a');anchor.innerText=revs[0];if(revs.length===1){anchor.href=host+'+/'+revs[0];}else{anchor.innerText+='..'+revs[1];anchor.href=host+'+log/'+revs[0]+'..'+revs[1];}
8893anchor.addEventListener('click',event=>{event.stopPropagation();});valueSpan.appendChild(anchor);valueSpan.appendChild(document.createTextNode(' '));}
8894rows.push([label,valueSpan]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8895const rows=[];if(this.diagnostic.chromiumCommitPosition){const positions=Array.from(this.diagnostic.chromiumCommitPositions);positions.sort((x,y)=>x-y);rows.push(['chromiumCommitPositions',positions.join(', ')]);}
8896if(this.diagnostic.v8CommitPosition){const positions=Array.from(this.diagnostic.v8CommitPositions);rows.push(['v8CommitPositions',positions.join(', ')]);}
8897this.buildRow_(rows,'chromium',this.diagnostic.chromium,tr.v.ui.CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,tr.v.ui.V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,tr.v.ui.CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,tr.v.ui.ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,tr.v.ui.SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,tr.v.ui.WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},onShow_(){this.$.show.style.display='none';this.$.hide.style.display='block';this.$.table.style.display='table';},onHide_(){this.$.show.style.display='block';this.$.hide.style.display='none';this.$.table.style.display='none';},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8898const rows=[];if(this.diagnostic.benchmarkNames.size){rows.push(['benchmark names',Array.from(this.diagnostic.benchmarkNames).join(', ')]);}
8899if(this.diagnostic.benchmarkStarts.length){rows.push(['benchmark starts',this.diagnostic.benchmarkStartStrings.join(', ')]);}
8900if(this.diagnostic.storyDisplayNames.size){rows.push(['stories',Array.from(this.diagnostic.storyDisplayNames).join(', ')]);}
8901if(this.diagnostic.storysetRepeatCounters.size){rows.push(['storyset repeats',Array.from(this.diagnostic.storysetRepeatCounters).join(', ')]);}
8902if(this.diagnostic.labels.size){rows.push(['label',Array.from(this.diagnostic.labels).join(', ')]);}
8903if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=Array.from(value);}
8904gov.object=obj;rows.push(['grouping keys',gov]);}
8905this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const events=new tr.model.EventSet([...this.diagnostic]);const link=document.createElement('tr-ui-a-analysis-link');let label=events.length+' events';if(events.length===1){const event=tr.b.getOnlyElement(events);label=event.title+' ';label+=tr.b.Unit.byName.timeDurationInMs.format(event.duration);}
8906link.setSelectionAndContent(events,label);Polymer.dom(this).appendChild(link);}});'use strict';Polymer({is:'tr-v-ui-related-histogram-map-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const rows=[];const histogramNames=new Set();for(const[name,hist]of this.diagnostic){histogramNames.add(hist.name);}
8907if(histogramNames.size>1){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(Array.from(histogramNames),'Select All');rows.push([link,'']);}
8908for(const[name,hist]of this.diagnostic){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent([hist.name],name);const scalarSpan=tr.v.ui.createScalarSpan(hist);rows.push([link,scalarSpan]);}
8909this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-related-histogram-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},addLink_(selection,content){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(selection,content);Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));},updateContents_(){Polymer.dom(this).textContent='';const histogramNames=new Set();for(const hist of this.diagnostic){histogramNames.add(hist.name);}
8910if(histogramNames.size>1){this.addLink_(Array.from(histogramNames),'Select All');}
8911for(const hist of this.diagnostic){this.addLink_([hist.name],hist.name);}}});'use strict';tr.exportTo('tr.v.ui',function(){const CHROMIUM_REVISION_HOST='https://chromium.googlesource.com/chromium/src/';const V8_REVISION_HOST='https://chromium.googlesource.com/v8/v8.git/';const CATAPULT_REVISION_HOST='https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/';const ANGLE_REVISION_HOST='https://chromium.googlesource.com/angle/angle/';const SKIA_REVISION_HOST='https://chromium.googlesource.com/skia/';const WEBRTC_REVISION_HOST='https://chromium.googlesource.com/external/webrtc/';Polymer({is:'tr-v-ui-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const anchor=document.createElement('a');anchor.innerText=revisions[0];if(revisions.length===1){anchor.href=host+'+/'+revisions[0];}else{anchor.innerText+='..'+revisions[1];anchor.href=host+'+log/'+revisions[0]+'..'+revisions[1];}
8912anchor.addEventListener('click',event=>{event.stopPropagation();});rows.push([label,anchor]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8913const rows=[];if(this.diagnostic.chromiumCommitPosition){rows.push(['chromiumCommitPosition',this.diagnostic.chromiumCommitPosition]);}
8914if(this.diagnostic.v8CommitPosition){rows.push(['v8CommitPosition',this.diagnostic.v8CommitPosition]);}
8915this.buildRow_(rows,'chromium',this.diagnostic.chromium,CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});return{CHROMIUM_REVISION_HOST,V8_REVISION_HOST,CATAPULT_REVISION_HOST,ANGLE_REVISION_HOST,SKIA_REVISION_HOST,WEBRTC_REVISION_HOST,};});'use strict';Polymer({is:'tr-v-ui-scalar-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){this.$.scalar.setValueAndUnit(this.diagnostic.value.value,this.diagnostic.value.unit);}});'use strict';Polymer({is:'tr-v-ui-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8916const rows=[];if(this.diagnostic.benchmarkName){rows.push(['benchmark name',this.diagnostic.benchmarkName]);}
8917if(this.diagnostic.benchmarkStart){rows.push(['benchmark start',this.diagnostic.benchmarkStartString]);}
8918if(this.diagnostic.storyDisplayName){rows.push(['story',this.diagnostic.storyDisplayName]);}
8919if(this.diagnostic.storysetRepeatCounter!==undefined){rows.push(['storyset repeat',this.diagnostic.storysetRepeatCounter]);}
8920if(this.diagnostic.label){rows.push(['label',this.diagnostic.label]);}
8921if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=value;}
8922gov.object=obj;rows.push(['grouping keys',gov]);}
8923this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-unmergeable-diagnostic-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const diagnostic of this.diagnostic){Polymer.dom(this).appendChild(tr.v.ui.createDiagnosticSpan(diagnostic));Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';tr.exportTo('tr.v.ui',function(){function findElementNameForDiagnostic(diagnostic){let typeInfo=undefined;let curProto=diagnostic.constructor.prototype;while(curProto){typeInfo=tr.v.d.Diagnostic.findTypeInfo(curProto.constructor);if(typeInfo&&typeInfo.metadata.elementName)break;typeInfo=undefined;curProto=curProto.__proto__;}
8924if(typeInfo===undefined){throw new Error(diagnostic.constructor.name+' or a base class must have a registered elementName');}
8925const tagName=typeInfo.metadata.elementName;if(tr.ui.b.isUnknownElementName(tagName)){throw new Error('Element not registered: '+tagName);}
8926return tagName;}
8927function createDiagnosticSpan(diagnostic){const tagName=findElementNameForDiagnostic(diagnostic);const span=document.createElement(tagName);span.diagnostic=diagnostic;return span;}
8928return{createDiagnosticSpan,};});'use strict';Polymer({is:'tr-v-ui-diagnostic-map-table',created(){this.diagnosticMaps_=undefined;},set diagnosticMaps(maps){this.diagnosticMaps_=maps;this.updateContents_();},updateContents_(){if(this.diagnosticMaps_===undefined||this.diagnosticMaps_.length===0){this.$.table.tableRows=[];this.$.table.tableColumns=[];return;}
8929const columnTitles=new Set();for(const map of this.diagnosticMaps_){for(const[name,diagnostic]of map){if(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)continue;if(diagnostic instanceof tr.v.d.CollectedRelatedEventSet)continue;if(diagnostic instanceof tr.v.d.GroupingPath)continue;columnTitles.add(name);}}
8930const columns=[];function makeColumn(title){return{title,value(map){const diagnostic=map.get(title);if(!diagnostic)return'';return tr.v.ui.createDiagnosticSpan(diagnostic);}};}
8931for(const title of columnTitles){columns.push(makeColumn(title));}
8932this.$.table.tableColumns=columns;this.$.table.tableRows=this.diagnosticMaps_;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.b',function(){class Serializable{constructor(){Object.defineProperty(this,'properties_',{configurable:false,enumerable:false,value:new Map(),});}
8933define(name,initialValue){if(this[name]!==undefined){throw new Error(`"${name}" is already defined.`);}
8934if(name[name.length-1]==='_'){throw new Error(`"${name}" cannot end with an underscore.`);}
8935this.properties_.set(name,initialValue);Object.defineProperty(this,name,{configurable:false,enumerable:true,get:()=>this.properties_.get(name),set:value=>this.setProperty_(name,value),});}
8936setProperty_(name,value){this.properties_.set(name,value);}
8937clone(){return Serializable.fromDict(this.asDict());}
8938asDict(){function visit(obj){if(obj instanceof Serializable)return obj.asDict();if(obj instanceof Set)return Array.from(obj);if(obj instanceof Array)return obj.map(visit);if(!(obj instanceof Map))return obj;const result={};for(const[name,value]of obj){result[name]=visit(value);}
8939return result;}
8940const dict={type:this.constructor.name};for(const[name,value]of this.properties_){dict[name.replace(/_$/,'')]=visit(value);}
8941return dict;}
8942static fromDict(dict){function visit(d){if(d instanceof Array)return d.map(visit);if(!(d instanceof Object))return d;if(typeof d.type==='string')return Serializable.fromDict(d);const result=new Map();for(const[name,value]of Object.entries(d)){result.set(name,visit(value));}
8943return result;}
8944const typeInfo=Serializable.findTypeInfoWithName(dict.type);const result=new typeInfo.constructor();for(const[name,value]of Object.entries(dict)){result[name]=visit(value);}
8945return result;}}
8946const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Serializable;tr.b.decorateExtensionRegistry(Serializable,options);return{Serializable,};});'use strict';tr.exportTo('tr.b',function(){class ViewState extends tr.b.Serializable{constructor(){super();tr.b.EventTarget.decorate(this);}
8947setProperty_(name,value){this.update(new Map([[name,value]]));}
8948async updateFromViewState(other){await this.update(other.properties_);}
8949async update(delta){if(!(delta instanceof Map))delta=new Map(Object.entries(delta));const actualDelta={};for(const[name,current]of delta){const previous=this[name];if(previous===current)continue;actualDelta[name]={previous,current};tr.b.Serializable.prototype.setProperty_.call(this,name,current);}
8950if(Object.keys(actualDelta).length===0)return;await tr.b.dispatchSimpleEventAsync(this,this.updateEventName_,{delta:actualDelta});}
8951get updateEventName_(){return this.constructor.name+'.update';}
8952addUpdateListener(listener){this.addEventListener(this.updateEventName_,listener);}
8953removeUpdateListener(listener){this.removeEventListener(this.updateEventName_,listener);}}
8954return{ViewState,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetViewState extends tr.b.ViewState{constructor(){super();this.define('searchQuery','');this.define('referenceDisplayLabel','');this.define('displayStatisticName','');this.define('showAll',false);this.define('groupings',[]);this.define('sortColumnIndex',0);this.define('sortDescending',false);this.define('constrainNameColumn',true);this.define('tableRowStates',new Map());}}
8955tr.b.ViewState.register(HistogramSetViewState);class HistogramSetTableRowState extends tr.b.ViewState{constructor(){super();this.define('isExpanded',false);this.define('isOverviewed',false);this.define('cells',new Map());this.define('subRows',new Map());}
8956asCompactDict(){const result={};if(this.isExpanded)result.e='1';if(this.isOverviewed)result.o='1';const cells={};for(const[name,cell]of this.cells){const cellDict=cell.asCompactDict();if(cellDict===undefined)continue;cells[name]=cellDict;}
8957if(Object.keys(cells).length>0)result.c=cells;const subRows={};for(const[name,row]of this.subRows){const rowDict=row.asCompactDict();if(rowDict===undefined)continue;subRows[name]=rowDict;}
8958if(Object.keys(subRows).length>0)result.r=subRows;if(Object.keys(result).length===0)return undefined;return result;}
8959async updateFromCompactDict(dict){await this.update({isExpanded:dict.e==='1',isOverviewed:dict.o==='1',});for(const[name,cellDict]of Object.entries(dict.c||{})){const cell=this.cells.get(name);if(cell===undefined)continue;await cell.updateFromCompactDict(cellDict);}
8960for(const[name,subRowDict]of Object.entries(dict.r||{})){const subRow=this.subRows.get(name);if(subRow===undefined)continue;await subRow.updateFromCompactDict(subRowDict);}}*walk(){yield this;for(const row of this.subRows.values())yield*row.walk();}
8961static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}}
8962tr.b.ViewState.register(HistogramSetTableRowState);class HistogramSetTableCellState extends tr.b.ViewState{constructor(){super();this.define('isOpen',false);this.define('brushedBinRange',new tr.b.math.Range());this.define('mergeSampleDiagnostics',true);}
8963asCompactDict(){const result={};if(this.isOpen)result.o='1';if(!this.mergeSampleDiagnostics)result.m='0';if(!this.brushedBinRange.isEmpty){result.b=this.brushedBinRange.min+'_'+this.brushedBinRange.max;}
8964if(Object.keys(result).length===0)return undefined;return result;}
8965async updateFromCompactDict(dict){let binRange=this.brushedBinRange;if(dict.b){let[bMin,bMax]=dict.b.split('_');bMin=parseInt(bMin);bMax=parseInt(bMax);if(bMin!==binRange.min||bMax!==binRange.max){binRange=tr.b.math.Range.fromExplicitRange(bMin,bMax);}}
8966await this.update({isOpen:dict.o==='1',brushedBinRange:binRange,mergeSampleDiagnostics:dict.m!=='0',});}}
8967tr.b.ViewState.register(HistogramSetTableCellState);return{HistogramSetTableCellState,HistogramSetTableRowState,HistogramSetViewState,};});'use strict';Polymer({is:'tr-v-ui-scalar-map-table',created(){this.scalarMap_=new Map();this.significance_=new Map();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row.name;}},{value(row){const span=tr.v.ui.createScalarSpan(row.value);if(row.significance!==undefined){span.significance=row.significance;}else if(row.anyRowsHaveSignificance){span.style.marginRight='18px';}
8968span.style.whiteSpace='nowrap';return span;}}];},get scalarMap(){return this.scalarMap_;},set scalarMap(map){this.scalarMap_=map;this.updateContents_();},setSignificanceForKey(key,significance){this.significance_.set(key,significance);this.updateContents_();},updateContents_(){const rows=[];for(const[key,scalar]of this.scalarMap){rows.push({name:key,value:scalar,significance:this.significance_.get(key),anyRowsHaveSignificance:(this.significance_.size>0)});}
8969this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.v.ui',function(){const DEFAULT_BAR_HEIGHT_PX=5;const TRUNCATE_BIN_MARGIN=0.15;const IGNORE_DELTA_STATISTICS_NAMES=[`${tr.v.DELTA}min`,`%${tr.v.DELTA}min`,`${tr.v.DELTA}max`,`%${tr.v.DELTA}max`,`${tr.v.DELTA}sum`,`%${tr.v.DELTA}sum`,`${tr.v.DELTA}count`,`%${tr.v.DELTA}count`,];Polymer({is:'tr-v-ui-histogram-span',created(){this.viewStateListener_=this.onViewStateUpdate_.bind(this);this.viewState=new tr.v.ui.HistogramSetTableCellState();this.histogram_=undefined;this.referenceHistogram_=undefined;this.graphWidth_=undefined;this.graphHeight_=undefined;this.mouseDownBin_=undefined;this.prevBrushedBinRange_=new tr.b.math.Range();this.canMergeSampleDiagnostics_=true;},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState){this.viewState.removeUpdateListener(this.viewStateListener_);}
8970this.viewState_=vs;this.viewState.addUpdateListener(this.viewStateListener_);if(this.isAttached)this.updateContents_();},onViewStateUpdate_(event){if(event.delta.brushedBinRange){this.brushedBinRange=this.viewState.brushedBinRange;}
8971if(event.delta.mergeSampleDiagnostics){this.mergeSampleDiagnostics=this.canMergeSampleDiagnostics&&this.viewState.mergeSampleDiagnostics;}},ready(){this.$.drag_handle.target=this.$.container;this.$.drag_handle.addEventListener('drag-handle-resize',this.onResize_.bind(this));},attached(){if(this.histogram_!==undefined)this.updateContents_();},get canMergeSampleDiagnostics(){return this.canMergeSampleDiagnostics_;},set canMergeSampleDiagnostics(merge){this.canMergeSampleDiagnostics_=merge;this.$.merge_sample_diagnostics_container.style.display=(merge?'':'none');},onResize_(event){event.stopPropagation();let heightPx=parseInt(this.$.container.style.height);if(heightPx<this.defaultGraphHeight){heightPx=this.defaultGraphHeight;this.$.container.style.height=this.defaultGraphHeight+'px';}
8972this.chart_.graphHeight=heightPx-(this.chart_.margin.top+
8973this.chart_.margin.bottom);},get graphWidth(){return this.graphWidth_||this.defaultGraphWidth;},set graphWidth(width){this.graphWidth_=width;},get graphHeight(){return this.graphHeight_||this.defaultGraphHeight;},set graphHeight(height){this.graphHeight_=height;},get barHeight(){return this.chart_.barHeight;},set barHeight(px){this.graphHeight=this.computeChartHeight_(px);},computeChartHeight_(barHeightPx){return(this.chart_.margin.top+
8974this.chart_.margin.bottom+
8975(barHeightPx*this.histogram.allBins.length));},get defaultGraphHeight(){if(this.histogram&&this.histogram.allBins.length===1){return 150;}
8976return this.computeChartHeight_(DEFAULT_BAR_HEIGHT_PX);},get defaultGraphWidth(){if(this.histogram.allBins.length===1){return 100;}
8977return 300;},get brushedBins(){const bins=[];if(this.histogram&&!this.brushedBinRange.isEmpty){for(let i=this.brushedBinRange.min;i<this.brushedBinRange.max;++i){bins.push(this.histogram.allBins[i]);}}
8978return bins;},get brushedBinRange(){return this.viewState.brushedBinRange;},set brushedBinRange(r){if(this.chart_===undefined)return;const current=this.brushedBinRange;if(r.min===current.min&&r.max===current.max)return;this.chart_.brushedRange=r;this.viewState.brushedBinRange=r;this.updateDiagnostics_();},get mergeSampleDiagnostics(){return this.canMergeSampleDiagnostics&&this.$.merge_sample_diagnostics.checked;},set mergeSampleDiagnostics(m){this.$.merge_sample_diagnostics.checked=m;},updateBrushedRange_(binIndex){const brushedBinRange=new tr.b.math.Range();brushedBinRange.addValue(tr.b.math.clamp(this.mouseDownBinIndex_,0,this.histogram.allBins.length-1));brushedBinRange.addValue(tr.b.math.clamp(binIndex,0,this.histogram.allBins.length-1));brushedBinRange.max+=1;this.brushedBinRange=brushedBinRange;},onMouseDown_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;}
8979this.prevBrushedBinRange_=this.brushedBinRange;this.mouseDownBinIndex_=chartEvent.y;this.updateBrushedRange_(chartEvent.y);},onMouseMove_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;}
8980this.updateBrushedRange_(chartEvent.y);},onMouseUp_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;}
8981this.updateBrushedRange_(chartEvent.y);if(this.prevBrushedBinRange_.range===1&&this.brushedBinRange.range===1&&this.prevBrushedBinRange_.min===this.brushedBinRange.min){tr.b.Timing.instant('histogram-span','clearBrushedBins');this.brushedBinRange=new tr.b.math.Range();}else{tr.b.Timing.instant('histogram-span','brushBins');}
8982this.mouseDownBinIndex_=undefined;},updateDiagnostics_(){let maps=[];for(const bin of this.brushedBins){for(const map of bin.diagnosticMaps){maps.push(map);}}
8983if(maps.length===0){this.$.sample_diagnostics_container.style.display='none';return;}
8984if(this.mergeSampleDiagnostics!==this.viewState.mergeSampleDiagnostics){tr.b.Timing.instant('histogram-span',(this.mergeSampleDiagnostics?'merge':'split')+'SampleDiagnostics');this.viewState.mergeSampleDiagnostics=this.mergeSampleDiagnostics;}
8985if(this.mergeSampleDiagnostics){const merged=new tr.v.d.DiagnosticMap();for(const map of maps){merged.addDiagnostics(map);}
8986maps=[merged];}
8987this.$.sample_diagnostics_container.style.display='block';this.$.sample_diagnostics.diagnosticMaps=maps;},get histogram(){return this.histogram_;},set histogram(histogram){if(histogram===this.histogram_)return;this.histogram_=histogram;if(this.isAttached)this.updateContents_();},get referenceHistogram(){return this.referenceHistogram_;},set referenceHistogram(histogram){if(histogram===this.referenceHistogram_){return;}
8988this.referenceHistogram_=histogram;if(this.histogram)this.updateContents_();},getDeltaScalars_(statNames,scalarMap){if(!this.histogram.canCompare(this.referenceHistogram))return;const mwu=tr.b.math.Statistics.mwu(this.histogram.sampleValues,this.referenceHistogram.sampleValues);for(const deltaStatName of tr.v.Histogram.getDeltaStatisticsNames(statNames)){if(IGNORE_DELTA_STATISTICS_NAMES.includes(deltaStatName))continue;const scalar=this.histogram.getStatisticScalar(deltaStatName,this.referenceHistogram,mwu);if(scalar===undefined)continue;scalarMap.set(deltaStatName,scalar);}
8989if(this.histogram.unit.improvementDirection!==tr.b.ImprovementDirection.DONT_CARE){this.$.stats.setSignificanceForKey(`${tr.v.DELTA}avg`,mwu.significance);}},set isYLogScale(logScale){this.chart_.isYLogScale=logScale;},updateContents_(){this.$.chart.style.display='none';this.$.drag_handle.style.display='none';this.$.sample_diagnostics_container.style.display='none';this.$.container.style.justifyContent='';this.brushedBinRange=new tr.b.math.Range();while(Polymer.dom(this.$.chart).lastChild){Polymer.dom(this.$.chart).removeChild(Polymer.dom(this.$.chart).lastChild);}
8990if(!this.histogram)return;this.$.container.style.display='';const scalarMap=new Map();this.getDeltaScalars_(this.histogram.statisticsNames,scalarMap);for(const[name,scalar]of this.histogram.statisticsScalars){scalarMap.set(name,scalar);}
8991this.$.stats.scalarMap=scalarMap;if(this.histogram.diagnostics.size>0){const diagnosticMap=new tr.v.d.DiagnosticMap();for(const[key,diagnostic]of this.histogram.diagnostics){if(key!==tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY&&key!==tr.v.d.MERGED_TO_DIAGNOSTIC_KEY){diagnosticMap.set(key,diagnostic);}}
8992this.$.histogram_diagnostics.diagnosticMaps=[diagnosticMap];this.$.histogram_diagnostics.style.display='block';}else{this.$.histogram_diagnostics.style.display='none';}
8993if(this.histogram.numValues<=1){this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();this.$.container.style.justifyContent='flex-end';return;}
8994this.$.chart.style.display='block';this.$.drag_handle.style.display='block';if(this.histogram.allBins.length===1){if(this.histogram.min!==this.histogram.max){this.chart_=new tr.ui.b.BoxChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.hideXAxis=true;this.chart_.data=[{x:'',color:'blue',percentile_0:this.histogram.running.min,percentile_25:this.histogram.getApproximatePercentile(0.25),percentile_50:this.histogram.getApproximatePercentile(0.5),percentile_75:this.histogram.getApproximatePercentile(0.75),percentile_100:this.histogram.running.max,}];}
8995this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();return;}
8996this.chart_=new tr.ui.b.NameBarChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.addEventListener('item-mousedown',this.onMouseDown_.bind(this));this.chart_.addEventListener('item-mousemove',this.onMouseMove_.bind(this));this.chart_.addEventListener('item-mouseup',this.onMouseUp_.bind(this));this.chart_.hideLegend=true;this.chart_.getDataSeries('y').color='blue';this.chart_.xAxisLabel='#';this.chart_.brushedRange=this.brushedBinRange;this.updateDiagnostics_();const chartData=[];const binCounts=[];for(const bin of this.histogram.allBins){let x=bin.range.min;if(x===-Number.MAX_VALUE){x='<'+new tr.b.Scalar(this.histogram.unit,bin.range.max).toString();}else{x=new tr.b.Scalar(this.histogram.unit,x).toString();}
8997chartData.push({x,y:bin.count});binCounts.push(bin.count);}
8998binCounts.sort((x,y)=>y-x);const dataRange=tr.b.math.Range.fromExplicitRange(0,binCounts[0]);if(binCounts[1]>0&&binCounts[0]>(binCounts[1]*2)){dataRange.max=binCounts[1]*(1+TRUNCATE_BIN_MARGIN);}
8999if(binCounts[2]>0&&binCounts[1]>(binCounts[2]*2)){dataRange.max=binCounts[2]*(1+TRUNCATE_BIN_MARGIN);}
9000this.chart_.overrideDataRange=dataRange;this.chart_.data=chartData;}});});'use strict';tr.exportTo('tr.ui.analysis',function(){const EVENT_FIELD=[{key:'start',label:'Start'},{key:'cpuDuration',label:'CPU Duration'},{key:'duration',label:'Duration'},{key:'cpuSelfTime',label:'CPU Self Time'},{key:'selfTime',label:'Self Time'}];function buildDiagnostics_(slice){const diagnostics={};for(const item of EVENT_FIELD){const fieldName=item.key;if(slice[fieldName]===undefined)continue;diagnostics[fieldName]=new tr.v.d.Scalar(new tr.b.Scalar(tr.b.Unit.byName.timeDurationInMs,slice[fieldName]));}
9001diagnostics.args=new tr.v.d.Generic(slice.args);diagnostics.event=new tr.v.d.RelatedEventSet(slice);return diagnostics;}
9002Polymer({is:'tr-ui-a-multi-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;},ready(){this.$.radioPicker.style.display='none';this.$.radioPicker.items=EVENT_FIELD;this.$.radioPicker.select('cpuSelfTime');this.$.radioPicker.addEventListener('change',()=>{if(this.isAttached)this.updateContents_();});this.$.histogramSpan.graphWidth=400;this.$.histogramSpan.canMergeSampleDiagnostics=false;this.$.histogramContainer.style.display='none';},attached(){if(this.currentSelection_!==undefined)this.updateContents_();},set selection(selection){if(selection.length<=1){throw new Error('Only supports multiple items');}
9003this.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;if(this.isAttached)this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;if(this.isAttached)this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;if(this.isAttached)this.updateContents_();},buildHistogram_(selectedKey){let leftBoundary=Number.MAX_VALUE;let rightBoundary=tr.b.math.Statistics.percentile(this.currentSelection_,0.95,function(value){leftBoundary=Math.min(leftBoundary,value[selectedKey]);return value[selectedKey];});if(leftBoundary===rightBoundary)rightBoundary+=1;const histogram=new tr.v.Histogram('',tr.b.Unit.byName.timeDurationInMs,tr.v.HistogramBinBoundaries.createLinear(leftBoundary,rightBoundary,Math.ceil(Math.sqrt(this.currentSelection_.length))));histogram.customizeSummaryOptions({sum:false});for(const slice of this.currentSelection_){histogram.addSample(slice[selectedKey],buildDiagnostics_(slice));}
9004return histogram;},updateContents_(){const selection=this.currentSelection_;if(!selection)return;const eventsByTitle=selection.getEventsOrganizedByTitle();const numTitles=Object.keys(eventsByTitle).length;this.$.eventSummaryTable.configure({showTotals:numTitles>1,eventsByTitle,eventsHaveDuration:this.eventsHaveDuration_,eventsHaveSubRows:this.eventsHaveSubRows_});this.$.selectionSummaryTable.selection=this.currentSelection_;if(numTitles===1){this.$.radioPicker.style.display='block';this.$.histogramContainer.style.display='flex';this.$.histogramSpan.histogram=this.buildHistogram_(this.$.radioPicker.selectedKey);if(this.$.histogramSpan.histogram.numValues===0){this.$.histogramContainer.style.display='none';}}else{this.$.radioPicker.style.display='none';this.$.histogramContainer.style.display='none';}}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const FLOW_IN=0x1;const FLOW_OUT=0x2;const FLOW_IN_OUT=FLOW_IN|FLOW_OUT;function FlowClassifier(){this.numEvents_=0;this.eventsByGUID_={};}
9005FlowClassifier.prototype={getFS_(event){let fs=this.eventsByGUID_[event.guid];if(fs===undefined){this.numEvents_++;fs={state:0,event};this.eventsByGUID_[event.guid]=fs;}
9006return fs;},addInFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_IN;return event;},addOutFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_OUT;return event;},hasEvents(){return this.numEvents_>0;},get inFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN){selection.push(fs.event);}}
9007return selection;},get outFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_OUT){selection.push(fs.event);}}
9008return selection;},get internalFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN_OUT){selection.push(fs.event);}}
9009return selection;}};return{FlowClassifier,};});'use strict';function*getEventInFlowEvents(event){if(!event.inFlowEvents)return;yield*event.inFlowEvents;}
9010function*getEventOutFlowEvents(event){if(!event.outFlowEvents)return;yield*event.outFlowEvents;}
9011function*getEventAncestors(event){if(!event.enumerateAllAncestors)return;yield*event.enumerateAllAncestors();}
9012function*getEventDescendents(event){if(!event.enumerateAllDescendents)return;yield*event.enumerateAllDescendents();}
9013Polymer({is:'tr-ui-a-related-events',ready(){this.eventGroups_=[];this.cancelFunctions_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;}
9014return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;}
9015return linkEl;}}];},hasRelatedEvents(){return(this.eventGroups_&&this.eventGroups_.length>0);},setRelatedEvents(eventSet){this.cancelAllTasks_();this.eventGroups_=[];this.addRuntimeCallStats_(eventSet);this.addOverlappingV8ICStats_(eventSet);this.addV8GCObjectStats_(eventSet);this.addV8Slices_(eventSet);this.addConnectedFlows_(eventSet);this.addConnectedEvents_(eventSet);this.addOverlappingSamples_(eventSet);this.updateContents_();},addConnectedFlows_(eventSet){const classifier=new tr.ui.analysis.FlowClassifier();eventSet.forEach(function(slice){if(slice.inFlowEvents){slice.inFlowEvents.forEach(function(flow){classifier.addInFlow(flow);});}
9016if(slice.outFlowEvents){slice.outFlowEvents.forEach(function(flow){classifier.addOutFlow(flow);});}});if(!classifier.hasEvents())return;const addToEventGroups=function(type,flowEvent){this.eventGroups_.push({type,selection:new tr.model.EventSet(flowEvent),name:flowEvent.title});};classifier.inFlowEvents.forEach(addToEventGroups.bind(this,'Incoming flow'));classifier.outFlowEvents.forEach(addToEventGroups.bind(this,'Outgoing flow'));classifier.internalFlowEvents.forEach(addToEventGroups.bind(this,'Internal flow'));},cancelAllTasks_(){this.cancelFunctions_.forEach(function(cancelFunction){cancelFunction();});this.cancelFunctions_=[];},addConnectedEvents_(eventSet){this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Preceding events','Add all events that have led to the selected one(s), connected by '+'flow arrows or by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventAncestors(event);if(event.startSlice){yield event.startSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Following events','Add all events that have been caused by the selected one(s), '+'connected by flow arrows or by call stack.',eventSet,function*(event){yield*getEventOutFlowEvents(event);yield*getEventDescendents(event);if(event.endSlice){yield event.endSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('All connected events','Add all events connected to the selected one(s) by flow arrows or '+'by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventOutFlowEvents(event);yield*getEventAncestors(event);yield*getEventDescendents(event);if(event.startSlice){yield event.startSlice;}
9017if(event.endSlice){yield event.endSlice;}}.bind(this)));},createEventsLinkIfNeeded_(title,tooltip,events,connectedFn){events=new tr.model.EventSet(events);const eventsToProcess=new Set(events);let wasChanged=false;let task;let isCanceled=false;function addEventsUntilTimeout(){if(isCanceled)return;const timeout=window.performance.now()+8;while(eventsToProcess.size>0&&window.performance.now()<=timeout){const nextEvent=tr.b.getFirstElement(eventsToProcess);eventsToProcess.delete(nextEvent);for(const eventToAdd of connectedFn(nextEvent)){if(!events.contains(eventToAdd)){events.push(eventToAdd);eventsToProcess.add(eventToAdd);wasChanged=true;}}}
9018if(eventsToProcess.size>0){const newTask=new tr.b.Task(addEventsUntilTimeout.bind(this),this);task.after(newTask);task=newTask;return;}
9019if(!wasChanged)return;this.eventGroups_.push({type:title,tooltip,selection:events});this.updateContents_();}
9020function cancelTask(){isCanceled=true;}
9021task=new tr.b.Task(addEventsUntilTimeout.bind(this),this);tr.b.Task.RunWhenIdle(task);return cancelTask;},addOverlappingSamples_(eventSet){const samples=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.samples){continue;}
9022const candidates=slice.parentContainer.samples;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSamples=range.filterArray(candidates,function(value){return value.start;});for(const sample of filteredSamples){samples.push(sample);}}
9023if(samples.length>0){this.eventGroups_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected slice(s).',selection:samples});}},addV8Slices_(eventSet){const v8Slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'){v8Slices.push(slice);}}
9024if(v8Slices.length>0){this.eventGroups_.push({type:'V8 Slices',tooltip:'All V8 slices in the selected slice(s).',selection:v8Slices});}},addRuntimeCallStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'&&slice.runtimeCallStats){slices.push(slice);}}
9025if(slices.length>0){this.eventGroups_.push({type:'Runtime call stats table',tooltip:'All V8 slices containing runtime call stats table in the selected slice(s).',selection:slices});}},addV8GCObjectStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.title==='V8.GC_Objects_Stats'){slices.push(slice);}}
9026if(slices.length>0){this.eventGroups_.push({type:'V8 GC stats table',tooltip:'All V8 GC statistics slices in the selected set.',selection:slices});}},addOverlappingV8ICStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.sliceGroup){continue;}
9027const sliceGroup=slice.parentContainer.sliceGroup.slices;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSlices=range.filterArray(sliceGroup,value=>value.start);const icSlices=filteredSlices.filter(x=>x.title==='V8.ICStats');for(const icSlice of icSlices){slices.push(icSlice);}}
9028if(slices.length>0){this.eventGroups_.push({type:'Overlapping V8 IC stats',tooltip:'All V8 IC statistics overlapping the selected set.',selection:slices});}},updateContents_(){const table=this.$.table;if(this.eventGroups_===undefined){table.tableRows=[];}else{table.tableRows=this.eventGroups_.slice();}
9029table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},get relatedEventsToHighlight(){if(!this.$.content.selection)return undefined;const selection=new tr.model.EventSet();this.$.content.selection.forEach(function(asyncEvent){if(!asyncEvent.associatedEvents)return;asyncEvent.associatedEvents.forEach(function(event){selection.push(event);});});if(selection.length)return selection;return undefined;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-async-slice-sub-view',tr.model.AsyncSlice,{multi:true,title:'Async Slices',});'use strict';Polymer({is:'tr-ui-a-multi-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-cpu-slice-sub-view',tr.model.CpuSlice,{multi:true,title:'CPU Slices',});'use strict';Polymer({is:'tr-ui-a-multi-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveDuration=false;this.$.content.eventsHaveSubRows=false;},set selection(selection){this.$.content.selection=selection;},get selection(){return this.$.content.selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-flow-event-sub-view',tr.model.FlowEvent,{multi:true,title:'Flow Events',});'use strict';Polymer({is:'tr-ui-a-multi-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(frameEvent){frameEvent.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-frame-sub-view',tr.model.Frame,{multi:true,title:'Frames',});'use strict';Polymer({is:'tr-ui-a-multi-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this.$.content).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});'use strict';Polymer({is:'tr-ui-a-multi-object-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;const objectEvents=tr.b.asArray(selection).sort(tr.b.math.Range.compareByMinTimes);const timeSpanConfig={unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument};const table=this.$.content;table.tableColumns=[{title:'First',value(event){if(event instanceof tr.model.ObjectSnapshot){return tr.v.ui.createScalarSpan(event.ts,timeSpanConfig);}
9030const spanEl=document.createElement('span');Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.creationTs,timeSpanConfig));Polymer.dom(spanEl).appendChild(tr.ui.b.createSpan({textContent:'-',marginLeft:'4px',marginRight:'4px'}));if(event.deletionTs!==Number.MAX_VALUE){Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.deletionTs,timeSpanConfig));}
9031return spanEl;},width:'200px'},{title:'Second',value(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(event);},event.userFriendlyName);return linkEl;},width:'100%'}];table.tableRows=objectEvents;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectInstance,{multi:true,title:'Object Instances',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectSnapshot,{multi:true,title:'Object Snapshots',});'use strict';const EventSet=tr.model.EventSet;const CHART_TITLE='Power (W) by ms since vertical sync';Polymer({is:'tr-ui-a-frame-power-usage-chart',ready(){this.chart_=undefined;this.samples_=new EventSet();this.vSyncTimestamps_=[];},attached(){if(this.samples_)this.updateContents_();},get chart(){return this.chart_;},get samples(){return this.samples_;},get vSyncTimestamps(){return this.vSyncTimestamps_;},setData(samples,vSyncTimestamps){this.samples_=(samples===undefined)?new EventSet():samples;this.vSyncTimestamps_=(vSyncTimestamps===undefined)?[]:vSyncTimestamps;if(this.isAttached)this.updateContents_();},updateContents_(){this.clearChart_();const data=this.getDataForLineChart_();if(data.length===0)return;this.chart_=new tr.ui.b.LineChart();Polymer.dom(this.$.content).appendChild(this.chart_);this.chart_.chartTitle=CHART_TITLE;this.chart_.data=data;},clearChart_(){const content=this.$.content;while(Polymer.dom(content).firstChild){Polymer.dom(content).removeChild(Polymer.dom(content).firstChild);}
9032this.chart_=undefined;},getDataForLineChart_(){const sortedSamples=this.sortSamplesByTimestampAscending_(this.samples);const vSyncTimestamps=this.vSyncTimestamps.slice();let lastVSyncTimestamp=undefined;const points=[];let frameNumber=0;sortedSamples.forEach(function(sample){while(vSyncTimestamps.length>0&&vSyncTimestamps[0]<=sample.start){lastVSyncTimestamp=vSyncTimestamps.shift();frameNumber++;}
9033if(lastVSyncTimestamp===undefined)return;const point={x:sample.start-lastVSyncTimestamp};point['f'+frameNumber]=sample.powerInW;points.push(point);});return points;},sortSamplesByTimestampAscending_(samples){return samples.toArray().sort(function(smpl1,smpl2){return smpl1.start-smpl2.start;});}});'use strict';Polymer({is:'tr-ui-a-power-sample-summary-table',ready(){this.$.table.tableColumns=[{title:'Min power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.min);}},{title:'Max power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.max);}},{title:'Time-weighted average',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.timeWeightedAverageInW);}},{title:'Energy consumed',width:'100px',value(row){return tr.b.Unit.byName.energyInJoules.format(row.energyConsumedInJ);}},{title:'Sample count',width:'100%',value(row){return row.sampleCount;}}];this.samples=new tr.model.EventSet();},get samples(){return this.samples_;},set samples(samples){if(samples===this.samples)return;this.samples_=(samples===undefined)?new tr.model.EventSet():samples;this.updateContents_();},updateContents_(){if(this.samples.length===0){this.$.table.tableRows=[];}else{this.$.table.tableRows=[{min:this.getMin(),max:this.getMax(),timeWeightedAverageInW:this.getTimeWeightedAverageInW(),energyConsumedInJ:this.getEnergyConsumedInJ(),sampleCount:this.samples.length}];}
9034this.$.table.rebuild();},getMin(){return Math.min.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getMax(){return Math.max.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getTimeWeightedAverageInW(){const energyConsumedInJ=this.getEnergyConsumedInJ();if(energyConsumedInJ==='N/A')return'N/A';const durationInS=tr.b.convertUnit(this.samples.bounds.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return energyConsumedInJ/durationInS;},getEnergyConsumedInJ(){if(this.samples.length<2)return'N/A';const bounds=this.samples.bounds;const series=tr.b.getFirstElement(this.samples).series;return series.getEnergyConsumedInJ(bounds.min,bounds.max);}});'use strict';Polymer({is:'tr-ui-a-multi-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){const samples=this.selection;const vSyncTimestamps=(!samples?[]:tr.b.getFirstElement(samples).series.device.vSyncTimestamps);this.$.summaryTable.samples=samples;this.$.chart.setData(this.selection,vSyncTimestamps);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-power-sample-sub-view',tr.model.PowerSample,{multi:true,title:'Power Samples',});'use strict';(function(){const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;Polymer({is:'tr-ui-a-multi-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.viewOption_=undefined;this.selection_=undefined;},ready(){const viewSelector=tr.ui.b.createSelector(this,'viewOption','tracing.ui.analysis.multi_sample_sub_view',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]);Polymer.dom(this.$.control).appendChild(viewSelector);this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},get viewOption(){return this.viewOption_;},set viewOption(viewOption){this.viewOption_=viewOption;this.updateContents_();},createSamplingSummary_(selection,viewOption){const builder=new MultiDimensionalViewBuilder(1,1);const samples=selection.filter(event=>event instanceof tr.model.Sample);samples.forEach(function(sample){builder.addPath([sample.userFriendlyStack.reverse()],[1],MultiDimensionalViewBuilder.ValueKind.SELF);});return builder.buildView(viewOption);},processSampleRows_(rows){for(const row of rows){let title=row.title[0];let results=/(.*) (Deoptimized reason: .*)/.exec(title);if(results!==null){row.deoptReason=results[2];title=results[1];}
9035results=/(.*) url: (.*)/.exec(title);if(results!==null){row.functionName=results[1];row.url=results[2];if(row.functionName===''){row.functionName='(anonymous function)';}
9036if(row.url===''){row.url='unknown';}}else{row.functionName=title;row.url='unknown';}
9037this.processSampleRows_(row.subRows);}},updateContents_(){if(this.selection===undefined){this.$.table.tableColumns=[];this.$.table.tableRows=[];this.$.table.rebuild();return;}
9038const samplingData=this.createSamplingSummary_(this.selection,this.viewOption);const total=samplingData.values[0].total;const columns=[this.createPercentColumn_('Total',total),this.createSamplesColumn_('Total'),this.createPercentColumn_('Self',total),this.createSamplesColumn_('Self'),{title:'Function Name',value(row){if(row.deoptReason!==undefined){const spanEl=tr.ui.b.createSpan({italic:true,color:'#F44336',tooltip:row.deoptReason});spanEl.innerText=row.functionName;return spanEl;}
9039return row.functionName;},width:'150px',cmp:(a,b)=>a.functionName.localeCompare(b.functionName),showExpandButtons:true},{title:'Location',value(row){return row.url;},width:'250px',cmp:(a,b)=>a.url.localeCompare(b.url),}];this.processSampleRows_(samplingData.subRows);this.$.table.tableColumns=columns;this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;this.$.table.tableRows=samplingData.subRows;this.$.table.rebuild();},createPercentColumn_(title,samplingDataTotal){const field=title.toLowerCase();return{title:title+' percent',value(row){return tr.v.ui.createScalarSpan(row.values[0][field]/samplingDataTotal,{customContextRange:tr.b.math.Range.PERCENT_RANGE,unit:tr.b.Unit.byName.normalizedPercentage,context:{minimumFractionDigits:2,maximumFractionDigits:2},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};},createSamplesColumn_(title){const field=title.toLowerCase();return{title:title+' samples',value(row){return tr.v.ui.createScalarSpan(row.values[0][field],{unit:tr.b.Unit.byName.unitlessNumber,context:{maximumFractionDigits:0},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-sample-sub-view',tr.model.Sample,{multi:true,title:'Samples',});})();'use strict';Polymer({is:'tr-ui-a-multi-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.selection_=undefined;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;if(tr.isExported('tr.ui.e.chrome.cc.RasterTaskSelection')){if(tr.ui.e.chrome.cc.RasterTaskSelection.supports(selection)){const ltvSelection=new tr.ui.e.chrome.cc.RasterTaskSelection(selection);const ltv=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();ltv.objectSnapshot=ltvSelection.containingSnapshot;ltv.selection=ltvSelection;ltv.extraHighlightsByLayerId=ltvSelection.extraHighlightsByLayerId;Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).appendChild(ltv);this.requiresTallView_=true;return;}}
9040Polymer.dom(this.$.content).textContent='';const mesv=document.createElement('tr-ui-a-multi-event-sub-view');mesv.selection=selection;Polymer.dom(this.$.content).appendChild(mesv);const relatedEvents=document.createElement('tr-ui-a-related-events');relatedEvents.setRelatedEvents(selection);if(relatedEvents.hasRelatedEvents()){Polymer.dom(this.$.content).appendChild(relatedEvents);}},get requiresTallView(){if(this.$.content.children.length===0)return false;const childTagName=this.$.content.children[0].tagName;if(childTagName==='TR-UI-A-MULTI-EVENT-SUB-VIEW'){return false;}
9041return true;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-slice-sub-view',tr.model.ThreadSlice,{multi:true,title:'Slices',});'use strict';Polymer({is:'tr-ui-a-multi-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:true,title:'Thread Timeslices',});'use strict';Polymer({is:'tr-ui-a-user-expectation-related-samples-table',ready(){this.samples_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;}
9042return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;}
9043return linkEl;}}];},hasRelatedSamples(){return(this.samples_&&this.samples_.length>0);},set selection(eventSet){this.samples_=[];const samples=new tr.model.EventSet;eventSet.forEach(function(ue){samples.addEventSet(ue.associatedSamples);}.bind(this));if(samples.length>0){this.samples_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected user expectation(s).',selection:samples});}
9044this.updateContents_();},updateContents_(){const table=this.$.table;if(this.samples_&&this.samples_.length>0){table.tableRows=this.samples_.slice();}else{table.tableRows=[];}
9045table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-interaction-record-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(ir){ir.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:true,title:'User Expectations',});'use strict';Polymer({is:'tr-ui-a-single-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');}
9046this.$.content.setSelectionWithoutErrorChecks(selection);this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},getEventRows_(event){const rows=this.__proto__.__proto__.getEventRows_(event);rows.splice(0,0,{name:'ID',value:event.id});return rows;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-async-slice-sub-view',tr.model.AsyncSlice,{multi:false,title:'Async Slice',});'use strict';Polymer({is:'tr-ui-a-single-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const cpuSlice=tr.b.getOnlyElement(selection);if(!(cpuSlice instanceof tr.model.CpuSlice)){throw new Error('Only supports thread time slices');}
9047this.currentSelection_=selection;const thread=cpuSlice.threadThatWasRunning;const root=Polymer.dom(this.root);if(thread){Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;}else{root.querySelector('#process-name').parentElement.style.display='none';Polymer.dom(root.querySelector('#thread-name')).textContent=cpuSlice.title;}
9048root.querySelector('#start').setValueAndUnit(cpuSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(cpuSlice.duration,tr.b.Unit.byName.timeDurationInMs);const runningThreadEl=root.querySelector('#running-thread');const timeSlice=cpuSlice.getAssociatedTimeslice();if(!timeSlice){runningThreadEl.parentElement.style.display='none';}else{const threadLink=document.createElement('tr-ui-a-analysis-link');threadLink.selection=new tr.model.EventSet(timeSlice);Polymer.dom(threadLink).textContent='Click to select';runningThreadEl.parentElement.style.display='';Polymer.dom(runningThreadEl).textContent='';Polymer.dom(runningThreadEl).appendChild(threadLink);}
9049root.querySelector('#args').object=cpuSlice.args;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-cpu-slice-sub-view',tr.model.CpuSlice,{multi:false,title:'CPU Slice',});'use strict';function createAnalysisLinkTo(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.userFriendlyName);return linkEl;}
9050Polymer({is:'tr-ui-a-single-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],listeners:{'singleEventSubView.customize-rows':'onCustomizeRows_'},set selection(selection){this.currentSelection_=selection;this.$.singleEventSubView.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},onCustomizeRows_(e){const event=tr.b.getOnlyElement(this.currentSelection_);const rows=e.rows;rows.unshift({name:'ID',value:event.id});rows.push({name:'From',value:createAnalysisLinkTo(event.startSlice)});rows.push({name:'To',value:createAnalysisLinkTo(event.endSlice)});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-flow-event-sub-view',tr.model.FlowEvent,{multi:false,title:'Flow Event',});'use strict';Polymer({is:'tr-ui-a-single-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.$.asv.selection=tr.b.getOnlyElement(selection).associatedAlerts;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-frame-sub-view',tr.model.Frame,{multi:false,title:'Frame',});'use strict';Polymer({is:'tr-ui-a-single-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-single-event-sub-view');realView.setSelectionWithoutErrorChecks(selection);Polymer.dom(this.$.content).appendChild(realView);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-instant-event-sub-view',tr.model.InstantEvent,{multi:false,title:'Instant Event',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-instant-event-sub-view',tr.model.InstantEvent,{multi:true,title:'Instant Events',});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectInstanceView=tr.ui.b.define('object-instance-view');ObjectInstanceView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectInstance_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectInstance=obj;},get modelEvent(){return this.objectInstance;},get objectInstance(){return this.objectInstance_;},set objectInstance(i){this.objectInstance_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectInstanceView;options.defaultMetadata={showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectInstanceView,options);return{ObjectInstanceView,};});'use strict';Polymer({is:'tr-ui-a-single-object-instance-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.$.content.children.length===0){return false;}
9051if(this.$.content.children[0]instanceof
9052tr.ui.analysis.ObjectInstanceView){return this.$.content.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const instance=tr.b.getOnlyElement(selection);if(!(instance instanceof tr.model.ObjectInstance)){throw new Error('Only supports object instances');}
9053Polymer.dom(this.$.content).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectInstanceView.getTypeInfo(instance.category,instance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this.$.content).appendChild(customView);customView.modelEvent=instance;}else{this.appendGenericAnalysis_(instance);}},appendGenericAnalysis_(instance){let html='';html+='<div class="title">'+
9054instance.typeName+' '+
9055instance.id+'</div>\n';html+='<table>';html+='<tr>';html+='<tr><td>creationTs:</td><td>'+
9056instance.creationTs+'</td></tr>\n';if(instance.deletionTs!==Number.MAX_VALUE){html+='<tr><td>deletionTs:</td><td>'+
9057instance.deletionTs+'</td></tr>\n';}else{html+='<tr><td>deletionTs:</td><td>not deleted</td></tr>\n';}
9058html+='<tr><td>snapshots:</td><td id="snapshots"></td></tr>\n';html+='</table>';Polymer.dom(this.$.content).innerHTML=html;const snapshotsEl=Polymer.dom(this.$.content).querySelector('#snapshots');instance.snapshots.forEach(function(snapshot){const snapshotLink=document.createElement('tr-ui-a-analysis-link');snapshotLink.selection=new tr.model.EventSet(snapshot);Polymer.dom(snapshotsEl).appendChild(snapshotLink);});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-instance-sub-view',tr.model.ObjectInstance,{multi:false,title:'Object Instance',});'use strict';Polymer({is:'tr-ui-a-single-object-snapshot-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.children.length===0){return false;}
9059if(this.children[0]instanceof tr.ui.analysis.ObjectSnapshotView){return this.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const snapshot=tr.b.getOnlyElement(selection);if(!(snapshot instanceof tr.model.ObjectSnapshot)){throw new Error('Only supports object instances');}
9060Polymer.dom(this).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectSnapshotView.getTypeInfo(snapshot.objectInstance.category,snapshot.objectInstance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this).appendChild(customView);customView.modelEvent=snapshot;}else{this.appendGenericAnalysis_(snapshot);}},appendGenericAnalysis_(snapshot){const instance=snapshot.objectInstance;Polymer.dom(this).textContent='';const titleEl=document.createElement('div');Polymer.dom(titleEl).classList.add('title');Polymer.dom(titleEl).appendChild(document.createTextNode('Snapshot of '));Polymer.dom(this).appendChild(titleEl);const instanceLinkEl=document.createElement('tr-ui-a-analysis-link');instanceLinkEl.selection=new tr.model.EventSet(instance);Polymer.dom(titleEl).appendChild(instanceLinkEl);Polymer.dom(titleEl).appendChild(document.createTextNode(' @ '));Polymer.dom(titleEl).appendChild(tr.v.ui.createScalarSpan(snapshot.ts,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument,inline:true,}));const tableEl=document.createElement('table');Polymer.dom(this).appendChild(tableEl);const rowEl=document.createElement('tr');Polymer.dom(tableEl).appendChild(rowEl);const labelEl=document.createElement('td');Polymer.dom(labelEl).textContent='args:';Polymer.dom(rowEl).appendChild(labelEl);const argsEl=document.createElement('td');argsEl.id='args';Polymer.dom(rowEl).appendChild(argsEl);const objectViewEl=document.createElement('tr-ui-a-generic-object-view');objectViewEl.object=snapshot.args;Polymer.dom(argsEl).appendChild(objectViewEl);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-snapshot-sub-view',tr.model.ObjectSnapshot,{multi:false,title:'Object Snapshot',});'use strict';Polymer({is:'tr-ui-a-power-sample-table',ready(){this.$.table.tableColumns=[{title:'Time',width:'100px',value(row){return tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs});}},{title:'Power',width:'100%',value(row){return tr.v.ui.createScalarSpan(row.powerInW,{unit:tr.b.Unit.byName.powerInWatts});}}];this.sample=undefined;},get sample(){return this.sample_;},set sample(sample){this.sample_=sample;this.updateContents_();},updateContents_(){if(this.sample===undefined){this.$.table.tableRows=[];}else{this.$.table.tableRows=[this.sample];}
9061this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-single-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){if(this.selection.length!==1){throw new Error('Cannot pass multiple samples to sample table.');}
9062this.$.samplesTable.sample=tr.b.getOnlyElement(this.selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-power-sample-sub-view',tr.model.PowerSample,{multi:false,title:'Power Sample',});'use strict';Polymer({is:'tr-ui-a-single-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.tableColumns=[{title:'',value:row=>row.title,width:'100px'},{title:'',value:row=>row.value,width:'100%'}];this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;if(this.currentSelection_===undefined){this.$.content.tableRows=[];return;}
9063const sample=tr.b.getOnlyElement(this.currentSelection_);const table=this.$.content;const rows=[];rows.push({title:'Title',value:sample.title});rows.push({title:'Sample time',value:tr.v.ui.createScalarSpan(sample.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument})});const callStackTableEl=document.createElement('tr-ui-b-table');callStackTableEl.tableRows=sample.getNodesAsArray().reverse();callStackTableEl.tableColumns=[{title:'function name',value:row=>row.functionName||'(anonymous function)'},{title:'location',value:row=>row.url}];callStackTableEl.rebuild();rows.push({title:'Call stack',value:callStackTableEl});table.tableRows=rows;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-sample-sub-view',tr.model.Sample,{multi:false,title:'Sample',});'use strict';Polymer({is:'tr-ui-a-single-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-slice-sub-view',tr.model.ThreadSlice,{multi:false,title:'Slice',});'use strict';Polymer({is:'tr-ui-a-single-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const timeSlice=tr.b.getOnlyElement(selection);if(!(timeSlice instanceof tr.model.ThreadTimeSlice)){throw new Error('Only supports thread time slices');}
9064this.currentSelection_=selection;const thread=timeSlice.thread;const root=Polymer.dom(this.root);Polymer.dom(root.querySelector('#state')).textContent=timeSlice.title;const stateColor=tr.b.ColorScheme.colorsAsStrings[timeSlice.colorId];root.querySelector('#state').style.backgroundColor=stateColor;Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;root.querySelector('#start').setValueAndUnit(timeSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(timeSlice.duration,tr.b.Unit.byName.timeDurationInMs);const onCpuEl=root.querySelector('#on-cpu');Polymer.dom(onCpuEl).textContent='';const runningInsteadEl=root.querySelector('#running-instead');if(timeSlice.cpuOnWhichThreadWasRunning){Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(timeSlice.getAssociatedCpuSlice());Polymer.dom(cpuLink).textContent=timeSlice.cpuOnWhichThreadWasRunning.userFriendlyName;Polymer.dom(onCpuEl).appendChild(cpuLink);}else{Polymer.dom(onCpuEl.parentElement).removeChild(onCpuEl);const cpuSliceThatTookCpu=timeSlice.getCpuSliceThatTookCpu();if(cpuSliceThatTookCpu){const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(cpuSliceThatTookCpu);if(cpuSliceThatTookCpu.thread){Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.thread.userFriendlyName;}else{Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.title;}
9065Polymer.dom(runningInsteadEl).appendChild(cpuLink);}else{Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);}}
9066const argsEl=root.querySelector('#args');if(Object.keys(timeSlice.args).length>0){const argsView=document.createElement('tr-ui-a-generic-object-view');argsView.object=timeSlice.args;argsEl.parentElement.style.display='';Polymer.dom(argsEl).textContent='';Polymer.dom(argsEl).appendChild(argsView);}else{argsEl.parentElement.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:false,title:'Thread Timeslice',});'use strict';Polymer({is:'tr-ui-a-single-user-expectation-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.$.realView.addEventListener('customize-rows',this.onCustomizeRows_.bind(this));this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;},onCustomizeRows_(event){const ue=tr.b.getOnlyElement(this.selection);if(ue.rawCpuMs){event.rows.push({name:'Total CPU',value:tr.v.ui.createScalarSpan(ue.totalCpuMs,{unit:tr.b.Unit.byName.timeDurationInMs})});}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:false,title:'User Expectation',});'use strict';(function(){const EventRegistry=tr.model.EventRegistry;function getTabStripLabel(numEvents){if(numEvents===0){return'Nothing selected. Tap stuff.';}else if(numEvents===1){return'1 item selected.';}
9067return numEvents+' items selected.';}
9068function createSubView(subViewTypeInfo,selection){let tagName;if(selection.length===1){tagName=subViewTypeInfo.singleTagName;}else{tagName=subViewTypeInfo.multiTagName;}
9069if(tagName===undefined){throw new Error('No view registered for '+
9070subViewTypeInfo.eventConstructor.name);}
9071const subView=document.createElement(tagName);let title;if(selection.length===1){title=subViewTypeInfo.singleTitle;}else{title=subViewTypeInfo.multiTitle;}
9072title+=' ('+selection.length+')';subView.tabLabel=title;subView.selection=selection;return subView;}
9073Polymer({is:'tr-ui-a-analysis-view',ready(){this.brushingStateController_=undefined;this.lastSelection_=undefined;this.tabView_=document.createElement('tr-ui-b-tab-view');this.tabView_.addEventListener('selected-tab-change',this.onSelectedSubViewChanged_.bind(this));Polymer.dom(this).appendChild(this.tabView_);},set tallMode(value){Polymer.dom(this).classList.toggle('tall-mode',value);},get tallMode(){return Polymer.dom(this).classList.contains('tall-mode');},get tabView(){return this.tabView_;},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_.bind(this));}
9074this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_.bind(this));}
9075this.onSelectionChanged_();},get selection(){return this.brushingStateController_.selection;},onSelectionChanged_(e){if(this.lastSelection_&&this.selection.equals(this.lastSelection_)){return;}
9076this.lastSelection_=this.selection;this.tallMode=false;this.tabView_.label=getTabStripLabel(this.selection.length);const eventsByBaseTypeName=this.selection.getEventsOrganizedByBaseType(true);const ASV=tr.ui.analysis.AnalysisSubView;const eventsByTagName=ASV.getEventsOrganizedByTypeInfo(this.selection);const newSubViews=[];eventsByTagName.forEach(function(events,typeInfo){newSubViews.push(createSubView(typeInfo,events));});this.tabView_.resetSubViews(newSubViews);},onSelectedSubViewChanged_(){const selectedSubView=this.tabView_.selectedSubView;if(!selectedSubView){this.tallMode=false;this.maybeChangeRelatedEvents_(undefined);return;}
9077this.tallMode=selectedSubView.requiresTallView;this.maybeChangeRelatedEvents_(selectedSubView.relatedEventsToHighlight);},maybeChangeRelatedEvents_(events){if(this.brushingStateController){this.brushingStateController.changeAnalysisViewRelatedEvents(events);}}});})();'use strict';Polymer({is:'tr-ui-b-dropdown',ready(){this.$.outer.tabIndex=0;},get iconElement(){return this.$.icon;},onOuterKeyDown_(e){if(e.keyCode===' '.charCodeAt(0)){this.toggle_();e.preventDefault();e.stopPropagation();}},onOuterClick_(e){const or=this.$.outer.getBoundingClientRect();let inside=true;inside&=e.clientX>=or.left;inside&=e.clientX<or.right;inside&=e.clientY>=or.top;inside&=e.clientY<or.bottom;if(!inside)return;e.preventDefault();this.toggle_();},toggle_(){if(!this.isOpen){this.show();}else{this.close();}},show(){if(this.isOpen)return;Polymer.dom(this.$.outer).classList.add('open');const ddr=this.$.outer.getBoundingClientRect();const rW=Math.max(ddr.width,150);this.$.dialog.style.minWidth=rW+'px';this.$.dialog.showModal();const ddw=this.$.outer.getBoundingClientRect().width;const w=this.$.dialog.getBoundingClientRect().width;this.$.dialog.style.top=ddr.bottom-1+'px';this.$.dialog.style.left=ddr.left+'px';},onDialogClick_(e){if(!this.isOpen)return;if(e.srcElement!==this.$.dialog)return;e.preventDefault();this.close();},onDialogCancel_(e){e.preventDefault();this.close();},close(){if(!this.isOpen)return;this.$.dialog.close();Polymer.dom(this.$.outer).classList.remove('open');this.$.outer.focus();},get isOpen(){return this.$.dialog.hasAttribute('open');}});'use strict';tr.exportTo('tr.ui.b',function(){const FaviconsByHue={blue:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAlrklEQVR4Ae2dCXwdVb3H5265yc3SpEk3ukEXCqVUBLT4Wm19oFKtaN0fKijy9CMguPBarIJsIiA8qsjTh7SllAoFeVBaEARkLV1ooXtL0yRdkqZp9u3uy/v/5uY/OZm75y659+acdnLOnP385zv/+58zZ2YMinTplIAhzsoDceaT2RKUQLwHIMFqh0V2ll0kn4XA6byv9/Vw834kX19e7keRQCzhRyk6bJJYRvD1YTXuhRdeqDj77LPPtNls400mU7HRaCzFFggEVJ/iSqhsicFgKIXUKL6bvB6fz9fj9/u7Kb4bPjaK67Xb7Q0HDhw49IUvfKEd2XUb7WpxHIYvXRgJ8AELkzRso1gmKrwkBfjG7373u5Zly5ZNKS8vn2G1Ws80m83YphPI0wnQUemQFp0IzQR9tdfrxXbI5XId6ujo+PCuu+6qXbNmjYfa9NMmngDoBmt+hIe944M53AUhwqwCvXTp0qJrr732opKSkk8XFhZ+imC+gIAryAZB0QnlJuB3OJ3Ot3p6el5/6KGHttxzzz0O6pse+GEP+3AGnKE2EhgG0tAFt99++4WkoT9tsVgW0DaH4guzAeg4+uD0eDxbaXuDNPzrt9xyy3bS8G4qB8BF6OOoKr+yDDfAB0B91VVXFf72t7+9lLT05QUFBZfQoYWtnA+ux+12v0ra/W+/+tWvXlq5cqWTBjUsYR8OgDPU8KGtjR9++OHHx4wZ8+2ioqKv0X4lbfnsWh0Ox9+bmprWzpgxYxsNFBpd1Op5bcbkM+AMtgr11q1bTz/zzDP/gy4Qv02zGtPzmehIY6MZmmq6UF176NChJ+bMmXOkD3QR9khFczY+HwEXwTbV1NTMI229FCYIXSTm43gTho8uUgMwYUir3zN16tR3qAIfbXkJej4dcIxF1dbkm44ePfqZqqqqpTT7MZf2pYsgAZqN2dTS0nLP5MmTX6EsDDrDHqFU7kTnA+Aa2BMmTDBv2bLliyNHjlxCZsgFuXMYhr6nZL7saGtru/eiiy7aUF9f76UeAfKcBz2XAUffVbgJbAuB/Y3KysoldONl5tDjkrs9oBtL+1tbWwH6UwS6/mZSzg0sVwHXTJG9e/deOGXKlOWksS/MOelncYdJo2+vra396axZs7ZTN0XTJYt7Hdq1XANc1dg0DNOqVatGLl68+DZa/3E1XTwCeOn6JLCly6ncU9+mNLnBZRLOYPAHHI5H2l5/8TdHbl3SRjUx6DkztZgrgKOfDLf5xIkT36moqLiLzJG0rAFJAomsKDp1W51S74IZnSIX8DcrXV3LlK/Oe5xqZPsckGc96LkAOPpowrZ79+5ZNK31BzkzQtKI4qxvV0dJTSLJ592kHKu7QfnPxXupFmhzbFkNeTb/tGsae/bs2Va6wr/lrLPO2izhTgLQZIuaaMp1yvTNyvNbb1HomFB1ZtrAUNYqymztGMNt2rhx44T58+evohs1n0r2+AyX8mnT4KIAvZ63lA82f1/55TX1FJ21tnk2As4zJObq6urP0BTgCmlri2TFDmcEcHQDtnlz4w+Uyz+Hm0Rsm2PuPGtcNpkomtZesGBBYXNz8210d+05CXfWsBLaEQNd5I+e8JyyYettCh0zyoBrpawyWbJFg2twv/jiixPnzZu3mhZFzQ2VqIyJRwIZ0+BiZzyeTcqebVcqS350nKKzxmTJBsDRB3WWZN++fXPpps060tpVouxkODEJDAng6GIg0KI0Hv+mcsXnN9FeVsyyDLWJwnCbadXfomnTpm2UcCcGc1blNhiqlNMmblT+9soi6hdmWKC4hlSJDiXgaBsCsNDKvysnTpz4JIWLaJMupyVgKFLGjHtSefrNK2kYFtpwjIeMs6FqWIOb7kr+Yty4cX+m2+0446XLBwkESHuPrPqz8uymX9BwhhTyoQBchZseQiigdcj30grAO+SDCPlAtW4MeLikdMQdyvqt9yp0rCl1SDR5pgFX4V64cGERvdhmRWlp6XU6scjdfJNAcfF1ysqNK5Q5C2F+ZhzyTF4AqHCPGjXKSjdwHqUHfr+ab8cyW8YzZLMo0QTgcj2jfO/S7ynNzS7KxtOI0UqkJC1TGlyFm3pccPDgwfsk3Ck5drlVidX6VWXFxvvAAG0Z0+SZAJzhtjQ2Ni6ld5D8KLeOjOxtyiRgK/6R8uy7S6m+jF14phtwmEBow3L8+PGr6FnJm1MmLFlRbkqgtOxm5am3rgITtIGNtJrJ6QQcHcdPkYUuKL9MsybLKSydlICijKxcrjz+0pdJFKzJ0wZ5ugBnuM27du2aT7ffV9JUIGCXTkqAJEAsjJ2wQlm1fj7tpPWOZzoAB9yo1/zSSy/NoLdJraMwFsdLJyUgSqBQGX/GOuX+FTMoEpCDmZRr8nQBbqIHgovnzp27mtaWlImjkmEpAU0CYGPmR1crF19cTHH4hU854KmuECcMOmo9derUAyNGjLiawtJlWAJZOQ8eTQb27keUyz7xM8qS8jnyVGpwNk0s+/fv/4qEO9oRlWkDJGArvVpZ89JXKC7lMyupApzhNm/YsGH6GWec8eCAAcgdKYFYEhhz2oPK3X+ZTtlSao+nEnDzxWRL0eNmj0q7O9bRlOkhEoA9ft6cR5WPq/Y4IE+J+ZyKSjS7m56jvK+srEzeqQw5epmNyDkbXBRPT8//Kl++6EaKSok9nqwG10yTHTt2fJpWB0q4xYMlw4lLoJhu5z/y3KepYEpMlWQBV7U3mSXFNN99H71YPfEByRJSAqIEwND4yfcpFyzgqcOkGE2mMGtvy2OPPXY9vZjnTLGfMiwlMGgJWCxnKktv/QmVT3pWZbCAM9zmxx9//IzRo0fj0STppARSJ4HykTcqN//3GVRhUqZKMoCrC6no6Zy7yTSxpW5ksiYpAZKA0WhTPj73dxRKakHWYABn7W3Zs2cPvjH5eXlApATSIoGi4i8oK56/tA9ysAr2EnKDARxlzJdddlkJ3dC5N6HWZGYpgUQlMH7SvbRWpYSKsamSUA2JAs7a2/ynP/3pOvrc9eSEWpOZpQQSlYDZPFn54a/xcDoDnpAWTxRw5DfRJ7DL6HUPP060rzK/lMCgJFA+8sfKZd/CqlRc9yXEbCKZWXtbli1b9gN6EX3loDorC0kJJCoBk6lS+ebVP6BiCU8bJgI48ppxU2fs2LHXJNpHmV9KICkJVFZdo3zsY7j5w6ZKXNXFCzhrb/PDDz/8HbK9x8ZVu8wkJZAqCZjNY5Wf3vkdqo4Bj8sWjxdw5DPRt3KKTjvtNNxhkk5KIPMSqBz1E2Xq7ITekBUP4Ky9LevWrfsGae9JmR+ZbFFKgCRgLpik3HL3NygUty0eD+Cq9h4/fnwBbTdIQUsJDKkERo+9QSkr47ubMfmNlQHaG5v56aef/ndaUDVtSAcnG5cSMFumKXc/fDGYpI35jCiXeADH3KOZ7lp+Sy6HjShHmZApCWA57dgJ3wKTtIFNQB7RxQIc6abLL7+cniEesTBiLTJBSiCTEiguWah8/isjqEkAHpXhaIk4M5BuXrp06ZfoOUtcvUonJTD0EjCaipSvff9L1JGYU4bRAEeaCjh9P+fr0jwZ+uMqe9AnAZgpo0Z/nfYY8IgcR0qA9sZmeuCBBybZbLZ/66taelIC2SEBKzF5zTJMWbMdDl5DXDTAVe29aNGib5D2jpQvpEIZISWQEQkYicm5C0QtnjDg6uwJPY72tYx0WDYiJZCoBMorGXDW4iE1hNPMOBMQb1qzZs0MmvueHlJKRmS1BCZYYZoOA2exTFd+dT/eTsuzKSFaPJwkNMDPO++8+fLiMvdA+Z8JJcqPN+9RGnocoZ0PBELjFF2cbjdYIEykvq4wWehd4APb05dBari4gaWCe/p8AT+uFOdT4j7aoJTB7oAGowFurqqqmicBV5QPmgLKX3b7lVbHANmRLLPVVSjnGT6hzFRa44dHHEqIHhQThXC8+YQiqQ66K9rnvakoD1O9DPiAJvSAo8vYjMXFxWZ6U9VFA3IP052fv+5VGntzBW4+SCYl4KtQ/L3tpCBJ0+WpC/hKLgKrvb29DDj41Q4WIvUOcaZHH310lslkGqlPHI77uQd38CgZTBbSVBVKXk+CGYwjS758/ywwS1sIz/oI1uCmmTNnflKaJ7l/OmuQG3migQ9xnvg0W2gaN/2TfYDzoLQDFw5wVYOT/T1XAq7JKacDKuS2csVg1B/unB6W2nkwaiiumEs7rMEBueZEG5zpN9Gt+QKyv+douWQg5yXAkPvtHYO78MxiCZisJXNsVRML7C3HndRN5li1w/WnNPaNDz744Ll0ZpRm8Zhk1wYhAYacjPJBlM7eIgHFUFryxZvPpR6q/Io9DavBJ0yYcJY0T0Qx5U84CDnNrtjb82dQZHqZysefRQPaRltEDc4JRlr7PS1/Ri9HopeAwWRWjLYKQiF/NLnBWgpmocGZY3XYoomCBOybaPXgNKnBVfnk7R8V8qLyvIAcrBoLiqaCXdoYcvXYMeB8KmPfSIBPUVPln7yWQD/kjEEOD7fABsBVfvtGoTIdYoOPHDnSXFhYODmHhyq7noAEgpCPUPyOTiql3QBMoIbsyGo0F04uInYdbW3RTZRbb711AnXZmh3dlr3IhAQYcpooz0RzaWmDTk1r0YLrwS4GwRaJuoMGmXrjOeecI5fHQiLDzKmQF9ILXFXIGYfc8q2jZ4JdBlyFnE9ZHolx1KhR8gJzmMHNw9Ugz8U7nrijWToyZCZFtMEBu7GoqGgiD1j6w08CKuTWUsXv6s65O56GApVdlWM+cnoNbqB3D+JzEdINYwkw5DlnkxvNYJetEdVEETU4Ioy0RLZEzoEPY7r7hh6EvIQ0eQ/FZP/sCpilPgNwKG0VbgyFdzTqCXC8ZFw6KQEAoxgLS3NoPbkR7GosIyxqcBxSgwQcYpCOJWDAOnIrKUbS5AH9M5GcKUt8OiEZcK1HbIMjQiVfAq7JRgb6JADIDQR5tpuuAaMGuGaisAbXIiTgkutwEujX5L2UnJ02uSEIOHdfZVpqcBaH9GNKIKjJQ6yAmOUylYHsa+6cprBZg3MfpA3OkpB+WAkENXmxEnDbs2+e3KABrvU9RINTih56LbMMSAlAAqomL7BRQFOU2SGYgMouOqV1jGHWIrxer50+8iofV8uOQ5a1vVA1OUEecOPtWdlhkxsUH/2saE5lmufBtVifz4erCOmkBGJKIKjJ8V0ETT/GLJPODAG/X8+uOg+O0087BaHB09kJWXd+SSCoyYuUgIceaB/qeXL/AA2uci3a4JB8QGrw/AIwE6NRNbmlcMht8oBftT40ZY2xsw2OsJogAYcopEtUAqomt5Am9w6dJg8ENPNagzysBs/2W7KJCl/mz4wE8OYsg3loNLnKbNAG1+DGqFmDI1LdpA2eGRjytRX19XAEecDr6kMqcyM1BNTrR41ltCxqcAYc6yOlkxIYtASCmhyP9WZ2doVmUXhtL1hWHWtw3lccDkcb1H22L6zROiwDWSmBoCa39mnyDHSRmPV7nG36lliDs1r3t7e31+kzyX0pgcFIQNPkGbrj6be3gV287Z95Vk0U7MCpkdXV1bXyIjMoEPk3eQmokJsKglOIAD1tm6J4Wo7UMsd9PQ+wBse+CvgzzzwjAe+TjvRSIwGGnB4qS02F4WohE8W58zk94CGzKP6XX3652+VyNdN6lFHh6pFxUgKDkQAgDygWxeDzDKZ47DJeV3PvvtfpVQChJgoKs80C+8Xf09NzRJopEIt0qZQAIFfou0GpXoUIVv0uxxHqq8ov+cxzyDShmsFut9elcmCyLikBloAKuZEm71Jsi/vdKrMi4GqTbIMz8cjgw0yK1OB8SKSfagkMgDwVlZMGDzg6oJR9tIFh5lmzwdEMR/pPnjxZiwjppATSJQHVJg/QRaffm3wT9Gvg624GswPgRsXhNLh//fr1u2nRFYCXTkogbRJQbybCXEl2diXgCzh2bthNFQHwAZAz4BgEgEaijz4C29zZ2VkjzRSIRbp0SiAIOT7MgCnExDeyThS/s7uma+vaZqpANFHUbusBZ8i9ra2tWyXgqozknzRLQIMcF56JOiLc19O6lYrB1hmgvVGVCDj2VQ1Ovq+mpmaLBBwikS4TElAhx7vJE55dIWhb6rZQH6G9WYNrXRYBh/ZmDe5buXLlVj85LacMSAmkWQIa5Im0Q4x2bXkUGpzhZo7VWsIBrp4JGzZsaCc7/KDU4olIW+ZNVgL9kMe2x4P2d+dB+86X8NFP1uARAUffWIPDnvHSdOE2CTjEIl0mJRCEPA57nAj3dzXj468qr+SzDa51V9TgiGTAcTZ4yQ7fLAHXZCUDGZSABnlUm5wgba3dDFZpE00Uraf6Bx5YveNM8C5fvnzbJZdc4iwuLqYH7Yavq+ytURq70rRIKIvEGlmZAYswDjZCRBchLUJ0ULeGqYzaQL8AfEj/PA5nz8u/Zw3O2ntAC+EAR0bVnnn33Xe7Gxsb35gyZcqlxhR9mGj/oU7liWfrlPZOd5jRZGfUbK9bmUnPGIYIeEB3B8i1PyUKBHTo+vPFEYrcfpR6orYfR6NZmiUQ8Cs9XU1vbDiyEysI2f5myLVe6wFHAqSlanDyPTt37nz+9NNPTxngv/3DHqW5lV4tkGPO67ErPi+9pgw/mYAGfjyO8zJo+vL6dH2dmc6vb1/fP31/9Pn1+7HK69P15fXt9eUP+LxKR/OB5yk7flrFOfABNehtcCSKgHuvu+66t2n5bGtk7TGgvpg7uQg3BmW22BSTGa8pIwehx+s4L3wxzOXFOM4j+sjHecSwmEcMi3nEsJhHDIt5ENY75IXjMhxWI+P4E6u8Pp3bYV/fHsWDRb/f1Vq3b9XblBzxAhNFowEOte+hlYWO+vr6f6QKcDSaq06F3FQYdeUEow9fDGfLmMU+ieFI/RPziOFU5Y9UT/T4gOJ2tP/D7e7Bmz+hwcNeYKKOcIAjHiaKZqa8+uqr6+l9KYgf9g6QG/sgxwHXbxAQgyCG9fmGal/skxiO1B8xjxhOVf5I9USLV8j+7mjd/Rz1RzRPwGuIiwQ4zBScFaDas3Tp0r0dHR2HpRYPyo8hD+7Jv5mUABj0eeyHjx58Yh+1y4CDVTAb4qIBzpCjEjfNiW+Qd+775dcPeTRdI9NCf+OSlQl98M3RvAFM0sbmCVhNCHAcSah8TYuvXr16PT2MjAql65OAapPjXXzRnP4iCnk5Llw5ToMvhsPlzYU4cQxiOFLfxTxiuC+/3+/xNB9/cz3tito7rHmCIpE0ONJwRrAd7l61alXjkSNHXpBaHKLpd5hZMfELJ3FA9Buy8oESw/p8vC/mEcOcnmu+OAYxHGkcYh4xTPlx38DtaHnhZP3rjZQEDR5xehBF4eIFXDVT1q5d+whp8YhnS7DK4fdXhdyEd/FJl04J+ANef3PDpkeoDTZPkgIcfR2gxe+7776aY8eO/VNq8dDD2A95sjamLE8/eSTggRsuLj2Otn821D5fQ4lxaW8cpWgaHOnQ1pqZQmHXU0899VePxxPWoEeB4ewYchwadhzmw4V4jhPDnJ6oL9YhhuOtRywjhuMtr88n1iGGOZ8YJ4Y5PZKv+H2BthOb/0pl8F5mEfCoFkUswNEHVICLTdVMufPOOw+QFn9TanGIJtTBHjeSucIHCjkQZsfhSOmcL14/2fqSLa/vZ6z6YqXr68M+1p24nK1vHq3++wHaZfMETEaFG2XjARzaWgOcwq4XX3zxYdLiKC9dGAkw5Pqf2czso0OMkRhGXG5u9N5vpb3p/YdpAKy9AR+YjGlJxAs4a3GcPa4lS5bsOnHixGapxUkaEVwQcnqrasYdw80wowMcl/HOJN0gtLfb1bH5yMHHd1FlDDhr75QAjk6yFsdVKyB3bty48UE5owLRRHYa5JgSY8dhniZDPMeJYU5P1BfrEMOR6hHzIBzLcV8j1aePR31cRgxzPjFODPel+xWvv6N5x4OUhCWoYA8MxqW9KV9cJgryAXBocQbcdeONN+6kd4k/J9eoQDyRnQq5se+Fk3yg2UcxDvcdULUmjotcbeQULhtvffr8XC6Sj5a5TORe9KdwXq5PXz5KOn0WUHH2nnyudt/qnVSMtXfMqcH+xuMHHGVYi6sXm2jwpptuWk4PJrfLNSqiSEPDGuShSTImggTUNSdee/uxA2uXUxaGO27bm6uNxwbnvKzF8fOABp2vvfZa89atW/8oLzhZRJF9zVyJnEWmCBKgb14qPZ01f2xv3o03VsE8AXNx295cVSKAo4yoxVXIFy9e/Aw91rZLXnCySCP7Jpo+NNLnPMQvHXAYfjz/UDuXEcNcVowTw5yeal9sQwxHakfMI4bF/HhiyuPq2LV/293PUB6GO2HtjfoHA7g4o4LGnWvWrLnL6XT6pKkCkUZ3gNxAL4HnA4rcCMfrOG+k8rHS420n3nyJthcrPxgK+D2+5oa37qI+qHyRj4vLhLU3xpAo4CjDgOOMUrX4HXfcse/AgQPr6I20SJcuhgQYcvVijS++pN938RpQHD0n1h378Cms99Zrb7CXkBsM4GiAIVenDGnfccMNNzzU0tLSKE2V+OSvmiuYXZFOkwDmvD2e7saa/X99iCLxOBoAF7W3ljfewGABZ1ucpw2d7733XusTTzxxE33+xCNNlfjED3vcqELON2WGr0+WCS03cXtaTmy6qbutppUkyHAnNO+tl/xgAUc9DLmmxWnacAeB/hDdANK3I/cjSCAIebi3d0QokKfRZHcrvZ01D9XtW72DhqjX3mBtUC5ZwGGqaFqcws5LL7109dGjR9+WN4DiPx7DHXLc0HE5Wt7es/m21WCob4PiTOimTjiJJwM46gPg2PiCE2ee/Wc/+9lvyB5vkvY4SSNO12+uxFkgT7LB7vZ6uptq9678DQ3JThsYggkAppgvCg7OJQs4WkUnMH2CMw6dc9ANoJNPPvnkL8ke90p7nCQSpzPS9CFscryHbzhsEEvA7/a2NLzzy46WXSdpV+WH/KQuLFEvu1QAzrY4mypqJ+lVE9u3bdv2Z9jjEnIWd2wfkBsM+W+T9813093K6j/X7l+9nSQjwp3UhaUo5VQAjvoY8gGmysKFC1fSgqxX3G6ckNLFKwEVcu3rY/k5swK729Hb9Mqed29fSXLRmyawCAZ9YSnKOVWAo06GHDTjQgGdti9atOjXdNH5noScpJGAU00VI74+ln+OXv2gOJ0t7x3cduevaXQqJ+TztGDK4IbkUg24aI+rkNNXIrquuOKKG+kBiYNyURZEHr/LR8j99OFXt6v94KH377/R4WjtImkAcBFuMJQS7Q1Jp0NFoHNiBw0Eube2tnbT/PnzFzz3UtMIA76mJV1cEjAYcIhInLgTkuMOZonH3XW8dvdff9zZur+JhtNLGwMO8zal2hviSgfgqBduAOhki7u6u7u3NHWO+yxNidkk5EEhxfM3CHmfSHN0zQq98Fjxunta6w+v+9GphneO0Wj0cKdUc7Nc0wW4qG608AcffNBrMlvfLx0x5XMGo7lAQs6HIbbfLytNnLELZUkOrO2mF2b2nDz64rX1hzccpG7p4YbmBuApd+kCHB3lI8G+2vnOlr0dBYVV+4tKxl1MswWW/gOX8rHlXYUsq+C8ChaeZv8/vOqYvo5hb2l48+d1+9fiNrwId8rmuyMd7HQCLrYJyDXQ20/tOGUxF+6wlU1aYDQWFPGBEwvIcHgJ9MtKE2f4jFkQq9rcnu72xrp//OTIgccx181wY8477XBDBJkGXAO9o2VPm+JzbioZMXWewVRQ2n/g0C3poklgoKyyc57cTxeUXnfHCVrXfU1D7fr9NJ4e2gA4w530OpNoMuK0TAGO9ljlaJB3tVd3u1yNb5ZVzPy40Wyt7L+Y4u5JP5IE+iFnsUbKmfl4zHN7nG3VdXtWXNvU8GYd9QBgZxxujDyTgKM9OAZc9e1dDY6ejoOvl1fNnm0yFY1TaApR/QhoMK/8G0UCGuQGEmUWKHK83jhA89z0gvoPDu1cfn1b864T1H29WZIRzc1iyzTgA+CmTqj7Lkeru6156xsVoy+cQk+fn44DJyHnQxTd1yBXRRk9bzpTsSrQ7/MoLvvJN/a/d9uSno5jLdQew40bOVghmFG4Md5MA4424UJA97rtvub6f71VPupcq9lSNttgNBLj8oZQUFzR/w6UU+ZVOeD2eV2B3u7ax/a9e/PvXI7OTuqxCDcuKDMON6Q2VICjbYacJ/jpHYte/8mjr35gtVUdLCwaPYfmyunDlFKbQ1ixXBByiDRzTl0RGPBiPXd7S8Pbyw68d+/TdAz5YlK8QzkkcEMSQwk42mfI4Wugt53c3uB0nHyttHz6THo4dywOnjRZIK7ojiHPxOw4lg4EYJI4mnfW7V95ff3h9bupd9DarLlhkohTgZk9+/pElS2AA27eVOjt3fW9p4699kr5qFkmc0HZR6TJ0nfEYngDzZUYmQeZrN6ZhEnSeXj1nk2/vr2nsw5vn4LGZrj1i6cG2VLyxYYacIyAz2zW4hro9HPnO3nstZ2FhZX7Cm1j5tCDAEWkyqU2j3HctV+7FJvjWE+CWRKvt6utpeGtX+7f/vv/6zNJGG7McfPFZNpuv8cY/oDkbAAcHRIhF0FXw21N2084HfWv2UonjaHPhEwJaikJ+oAjqdvRINfFD2ZXfSILF5I+Fz2kUP/akT0rlhyv2bCX6mKNDcD1N3CgqIbc4RzPJof+YOoEJx7eioNPl+FDlHSxqdgQnj77h5+oGPeJXxQUlE3Cg7qZ+EmmdnPWYYYjGRec/nMrbnfnsbaT2+6v2f3wZqoPJghDzVOAvNwVDbLCSqbplJTNNsAxKP5hBeR4OBGfSQDkDHpRYWFFyYzzf/Gd4oqpV5JGt+IZxlRqLGorr1zwmdjEmOMZEp/X4erpqFld/f4Djzud7ZghgabGBrDZ1sYsCa/lTqwhKphOly0min6MLCT42KAV2Kbzeb1Ob9Pxf+32utteLSqZOJ4++jRJmi16Efbv95/8rDsi++pzFX3mCM1kvXPkw7X/Vbd31eskc3H6D9pbhBvHJ7mfiv7upjSUjRpcHCD6xyYLa3PW6DBbVM0+4/yffKq88iPXmq0jJuOdf/J2vyjC/nBQk/fviyHRzva6u462N+96qHrng29RHtbUrLUx9cc3bljpsEISq8yKcLYDzkIC5Aw6bHNAzva5CrnZbC6c/pHrLykbefYVZmv5NAk6iy66PwBsV8fhrrYDj1Xv+uOr9GYyBpt9ntcWbe2s1NriiHMFcPSZtTlAhzZn0AE4ww7fOuP86z45ovLcKyzWkecEL0RN0kYnwYguaGP78MJLetl8277O1j2Pffj+n96mPAAZG8BmHxobYPMdSYCdtVqb+qa5XAKcO40+49qBQYc2Z42uAk77qj919tUfqxh1wZXWosrz6cEKslxQbPhOLwZNFKz4I7D9broL2fp+e/OO1TW7H3mPBMNgi75ojgBqvpCkYG64XAQckkW/sYlmCzQ6Ty2KoBeccc53Z5eP/uiXrIWjFpjNRTaD+no0FM1/2DWo6cIRb3D1eh12l7P5jY5TH6yv27cGt9cBsQg1wtDWvIl2dk5obeq75nIVcB4AQ86gs+nCoLNmV7V8YcnY4ikzvr3ANuKMz1mLqi4k0E3q+7nVu6OoIn+cOv9NUyJ4+ACfBKG3t263d9a9XPvh2jecPSdxg4a1M4BmyBlqnvaD1s4ZcyTc0ct1wHlMetBhi7CNziYM+6qmrzrtwtHjJi/6rK1k/OfoiblpAJ1hz0XNzpoai6AANTafu/uwvafh5cajG//ZcmL7KZIJA8xwiz7SoK1ZY+c02DQO1eUL4OJ4grZH0E6HRmetDsAZetE3T5q6eHr5mPPmWQurzjcXls8i0K20VFcx4iWYeA9JFpoyA4CmJatYI0JQu7zOjr0uZ8v7HU073zlW82w1dR7aGPAC5nA+0llj8z2HnDNFaAxhXb4BzoMMUtlvo0Ojs1bXA69qdEqHby4sLLeOm7p4Vln5tAsshRXnFxSMOJseirbgAhXPjAZvmrDYgn7/jRRuPjV+EGLUxbzRBSKWqdJ7RnChGKBPftAt9AMeZ/v7XR2HdzTWPLvX6eyAycFQA2jeGHBOY23NGhuNcEMUzA/HRyo/RhM6ChF0aHbRVhe1O0POceybiovH28ZNW/SR4pJJ55oLiieZzLZJJottPFY2BoHHWnWAT1Wr0owkUn18JJYoHv9xUQiQNd/roJfnNPi89mNed++x3p5jexoPb9zV29uAu4qAlDUx+ww2fI6Dz0CL9nWkzlD23HZ6qef2aKL3HmNl84VBZ83OQEfyOR98lDWOnjB3dFnFOZOttjGTLIWlk81m20RaMlBpUEw2Ay2QoRPARg1SffQXF7F9vtpFaOEgxbSrhuhDAV57gBZ+BBSf3e9ztXq99uMeZ/dRl73pWFf7vqOn6jfBhmYoRe0rwhsuLOZlu5p9tTv5/Gc4Ac7HEWMWN4ZW9AE6Q83Q8z6fHKKvQq+r10DmjrmoZEKx1Ta6yGItK7aYy7AiUvF4u+weV1evy37K4eip7yWzAmBCi4obwwyfta7oI8xAM8TYF/NwWbHevNXWNPYQNxwBF4Uggo4wg8q+CL0IuAg350Ec18H1oi0xjH3RMXiI4zBrVwZcDyxDy1DzPudnn+tjX2x32IQhfOmCEmBZMJDwGXQxLMYBbqSxz5AjDg4+b7wPH9DBMXz6fUCKOEAs+gwv+0gTw9jHBsd+cG+Y/uUDMUyHH3XYLBsGNJIvQq3PgwbEesQGGUDRR1i/Mez6eHEf9WJfOp0EWPi6aLkbQQIsLwYZ2aLFiekRqhwAJkPK8KJMtLhIdcr4PgnwwZECSU4Cejnq91G7Po7BFVvWx+n3xbwyHIcE/h9VLWRYHWXC/QAAAABJRU5ErkJggg==',green:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAltklEQVR4Ae2dCXQcxZnHR3NoNDp8SD7kU7bxFXCchBhMYoLNmhCcOBBykGw2gYTkPV6AhGXD2sTZJQcJG3jsgw3hscuCsTEsOAQW1sbY+MAHxpYtHzI+5EOy5UMStnWPZkZzab9/j75WTWt6NKO5Z6r82lVdXV1d9e/ffPq6uro7zyBDIhXIi7DyngjLyWJRKhDpCYiy2pwoztrpxSwCb+d1bayFm9f1Yu3+cj2MAgOJH2bXnNnEGiHWppW8d999d/inPvWp6YWFheNMJlOR0WgswdLT06PElFdM+xbn5eWVQDXK76TI7vP57H6/v5PyOxFjobwuh8Nx4dixYye+9rWvtaK4ZqFVNY/TiGUIoQCfsBCbcjaLNVHgJRUQG3/4wx9ali1bNmXYsGEzrFbrdLPZjGUagTyNAB2ZCLXoh3CJoD/p9XqxnOju7j7R1tZ2/LHHHqtbtWqVh47pp0X8AaAZbPmRzvnAJzPXhRBhVoBeunSp7b777ruuuLj4xoKCghsI5s8TcPnpIBT9oNwE/D6Xy7Xdbrd/8Oyzz+5+/PHHndQ2LfA5D3suA85QGwmMPLLQ+b///e/nkIW+0WKxLKBlLuUXpAPQEbTB5fF4KmnZShb+g0ceeaSKLLyb9gPgIvQRVJVdRXIN8CCo77777oI//vGPt5CV/n5+fv5NdGrhK2dDsLvd7k1k3f/n17/+9frly5e7qFM5CXsuAM5QI4a1Nh4/fvza0aNH/4PNZvs2rZfRks2h2el0/u2TTz55dcaMGXuoo7DoolXPajcmmwFnsBWoKysrJ02fPv3v6QLxH2hUY1o2E63XNxqhOUkXqq+eOHHitblz557pBV2EXW/XjM3PRsBFsE21tbXXk7VeCheELhKzsb9Rw0cXqT1wYciqP37FFVd8SBX4aMlK0LPphKMvirWm2FRfX//lESNGLKXRj3m0LoOOAjQas/Py5cuPV1RUbKQiDDrDrrNX5mRnA+Aq2OPHjzfv3r3766WlpUvIDfl85pyG1LeU3Jd9LS0tT1x33XVrzp8/76UWAfKMBz2TAUfbFbgJbAuBfUdZWdkSuvFyZepxydwW0I2lo83NzQD9rwS69mZSxnUsUwFXXZHDhw/PmTJlytNksedknPpp3GCy6FV1dXX/OGvWrCpqpui6pHGr+zct0wBXLDZ1w/TSSy+V3n777b+j+R8/pYtHAC9DrwIO9xHD5c5XDF5fS0ya0MWo3+nwvrBx47nfLLlvKypj0DNmaDFTAEc7GW5zQ0PDD4YPH/4YuSMJmQMSExVpsPPxhjsMHt/FuLWkp8dwqb3dt2zhnD2vUKXsnwPytAc9EwBHG01YDh06NIuGtf5DjoyQGmHC4XMLwmwd/Caft2fnmXr3A3d8Zf9hqgXWHEtaQ57Of9pViz179mwrXeE/MnPmzF0S7sEDGuueJnPevCuusO76sPq6R2bPHm2l+sy0gKG0NZTp2jCG27R27drx8+fPf4lu1NwQ6wnKlf0TZcFF/bwe//Z9uxw/vvfuj89Tftr65ukIOI+QmE+ePPllGgJ8UfraIloDp5MBOFoB37zxQvdPvr5gP24SsW+OsfO0CenkoqhWe8GCBQWXLl36Hd1de1vCnTas9GtIXp5h5LgJ1re3H7z2dwsWjMTUYlwrpZXLki4WXIV73bp1E66//vqVNClK3mLvh1RkGcmy4GJr3B7/zkOVXXfd86PD5yg/bVyWdAAcbVBGSY4cOTKPbtqsJqs9QhRPpqNTIBWAo4U0l+1yw1nXd29duH8nrabFKEuqXRSG20yz/hZPnTp1rYQ7OpjTqTRNUhwxtsK69t3tcxZTuzDCAsOVUiOaSsBxbAhgoZl/d02YMOF1SttokSGDFSCabeVj819/v3LOXdQNCy04xynjLFUHVuGmu5K/HDNmzHN0ux2/eBmyQoEe84gRluc2V13zS+pOSiFPBeAK3PQQQj7NQ36CZgA+Kh9EyAqqgzpBQ4h5w4aZH6URlidwrmljSix5sgFX4F60aJGNXmzzYklJyf1BqsiVrFOgqNh0/5ubJr24aFEp3M+kQ57MCwAF7pEjR1rpBs4KeuD3W1l3NtOkQ6kaRQnXfZfL/+Y3bqz7Ed3f6KZyPIwYbpe4bEuWBVfgphbn19TUPCnhjsu5y6hKCgqM33pr4+QnwQAtSbPkyQCc4bY0NjYupXeQ3JNRZ0Y2Nm4KFBab7tlSdc1SqjBpF56JBhwuEI5hOXfu3N30rOS/xk0tWVFGKjB0mPlfN1bOuRtM0AI2EuomJxJwNBx/iix0QfkNupJ+mtIySAUMpSPyn16z5fPfICnYkicM8kQBznCbq6ur59Pt9+U0FAjYZZAK4J6+aczE/BffWn/1fJIjoXc8EwE44Ea95vXr18+gt0mtpjQmx8sgFVAVIEgKJkzJX/2fq66aQZmAHMzE3ZInCnATPRBcNG/evJU0t2SI2iuZkAoIChiNeUM+O6d45cLbxxVRNv7Cxx3weFeIHwwaar148eJTQ4cO/SmlZUiyAuk4Dh5Ogs5O3wsLPrfnQSoT9zHyeFpw/FhQn+Xo0aPflHCHO6Vym6hASYnpp29v+dw3wQ4tYChuhjdegDPc5jVr1kybPHnyM2IHZFoqMJAC48Zbn/nzi1dNo3Jx9cfjCbh54cKFRfS42Qrpdw90OuV2rQLwx6/9QvGKhQsVfxyQx8WKx6MS/EgUv5vmGTw5ZMgQeadSe/aSvJ5pPrgoj73D91/zr97zEOXFxR+P1YKrrsm+fftupNmBEm7xbMl01AoUlRjvWb1u9o20Y1xclVgBV6w3uSVFNN79JL3LLuoOyR2kAqICYKhisu3JBQvG8tBhTIzGsjNbb8vLL7/8C3oxz3SxoTItFRisAhaLcfqyP435Oe0f86jKYAFnuM2vvPLK5FGjRuHRJBmkAnFToLTM8tCfnpk5mSqMyVWJBXBcWFro6Zw/0Z+Vwrj1TFYkFSAFwNQX5w/5N0rGNCFrMICz9bZ8/PHH+MbkV+UZkQokQoGiQtPX/rb+M7f0Qg5WwV5UYTCAYx/zrbfeWkw3dJ6I6miysFQgSgXGV9ieWHjrqGLajV2VqGqIFnC23ua//OUv99PnriuiOposLBWIUgGLJa9iya8q8HA6Ax6VFY8WcJQ30Sewh9DrHn4WZVtlcanAoBQYXmr62fe+NwGzUnHdFxWz0RRm621ZtmzZT+hF9GWDaq3cSSoQpQImU17ZnfeO+gntFvWwYTSAo6wZN3XKy8vvjbKNsrhUICYFykZa7r1mwUjc/GFXJaL6IgWcrbf5+eef/wH53uUR1S4LSQXipIDZklf+m99N/AFVx4BH5ItHCjjKmehbObaxY8fiDpMMUoGkK0BW/OezZxdH9YasSABn621ZvXr1HWS9Jya9Z/KAUgFSID8/b+KjT02/g5IR++KRAK5Y73HjxuXT8oBUWiqQSgVGlVseoCnZfHdzQH4HKgDrjcX8xhtv/B1NqJqays7JY0sFLPl5U59bVbEQTNLCfOoKEwngGHs0013L78npsLo6yg1JUgAMjhlb8D0wSQvYBOS6YSDAsd30/e9/n54hHrpItxa5QSqQRAWKh5gWffWbY4bSIQF4WIbDbcQvA9vNS5cuvY2es8TVqwxSgZQrYDQabHffU34bNWTAIcNwgGObAjh9P+c70j1J+XmVDehVACyOLs//Dq0y4Loc621g59301FNPTSwsLPyiVFcqkE4K2ArzvvjPv52GIWv2w0P64uEAV6z34sWL76BfjF65dOqzbEsOKQAm5/9diWjFowZcGT2hx9G+nUO6ya5mkAL0WBsDzla8X+tDWWa+uDStWrVqBo19T+u3l8xIawUsplFp3b54NY7mik/703/MxNtpeTSlnxWHk64NKuCf/exn58uLS6086b8+3Pqg4WDNHw0O5yf9Gkuf9+sX6N3twXmaVWwMkUWv+Q7eLVShHk1mv310Kg9Vrt/h/PStQoN/PlVxhBYYa7AbVCwc4PQxzxHXS8ANhkZ7jaGq8W8Gh6ed9MuM4C2ebrD7Jhp6CIJsDr481/UGw4nnqY8MeFB3tYDjF6BY8KKiIjO9qeq6oNI5urL+1L8bOt2XM673PrPf4OjwZDXk/p6e68BqV1cXAx5kxUP54MgzrVixYpbJZCrNuLOagAZnItyQwWQ2GgppXlKeEec8OwON75V+/YErZlHv2A8P6qieBTddeeWVX5LuSZBWGbnCkDs7PQa/PyO7EL7RZI5HTCj+EhXaTwt7IKpfprXgintCBU3kf8+TgIfXNlO2AnJbicVAt7izLoBR2xDLPOoYW/CgP1eiBWf6TXRrPp/877lZp0YOd4ghhyUPNUKRydJYbaa5IyYU5l8+53BRP5hjxYprf9NYNz7zzDOfpl9GSSZ3Wra9vwIMORm9rArUn5Kbfzzt09QphV+xcyEt+Pjx42dK90SUKXvSDDksedYEwnrYyIKZ1J89tOhacN5gpLnfU7Om87Ij/RRgyLPJiFlsZjALC84cK/1GBgdswLqJZg9OzabOcwdl3KcAIC8oNuMtrn2ZGZpCHyxW0xXU/H4Xmgw49xLrRgJ8Sob2VTY7CgVUyLNgnLwXcIXfXgkUpvv54KWlpeaCgoKKKHSSRTNYAQXyIrPB1eXVzOLIrE5ZrcaK0lKbuaXFCbDZYCsuCfcEmcbf/va34ym2cqaMs18BhjyTZ/3TmKB17ncngV1Y8X6AM/XGq65SPsaZ/WdV9jBIAUBuLSSfnPFgIjIoHj2pCFO7xR6oFpy7YRw5cqS8wAw69bmz0gc5cMiwQE0uKrH0G0kRfXDFQbfZbBMyrGuyuXFUQIGc3p/Q7fSRT65O6YjjERJXVX6hCewqHPNRsILAFjyP3j2Iz0XIkMMKBCA3ZdwQosloBLsqyziFogXHBiNNkS3OhrFRdE6GwSsAyPPJkrvJkmeCHVeYNeUBcPbBlc7ziko9AY6XjMsgFVDmkysXnqAjAwIN54NdlWWkRQuOLuRJwCGDDKyA0ZRnsNrM5JOn/zi5yZzHgHPz1VEUZCjkS8BVbWSiVwGGXCEkjVUxGlXA1b85bMHVDAl4Gp/BFDaNIXe7vGk7uEL+iOheK0zzKAqkkxY8hQBlwqEBeX4BJmilZ2uNRuX6UeGYW8gWnNelD85KyDikAgy5uzv9xslNRvUiU217PwtOW7TQq4VlQioABRTIrTQzNc1MeU9eD9gNacHVPzper9dBH3mVj6tJlsMqwJB7yJKnyzg5vTXAITRaYZrHwdV8n8/Xpa7IhFQgjAKAnOZhp83gSo/foGVXGQfHD1D9EcKCh+mT3CQVCFKAIfe6yZKrFAUVSdqK39cjsqtwLfrgaEiPtOBJOx9ZcyBAbs7H3JUUd8mnWPCgn5l4QalskICn+CRl6OEVyMld8brp9VkpMuU9fj+7KCrkIS14v9fpZqjostnJVYDuJJIlJ6RSYMrBrK9HAVyFG71nC45MZZE+eHKhyLajMeQ+jz/phtzvy4MPrrIMbUULzoDbs0102Z/kKgDITRZj0g253+8Huwy40mm24KoCTqezBeZezglXJZGJQSgAyA0EOSx5MgLcfp+7p0V7LLbgTL2/tbX1tLaQXJcKDEYBtuSD2Xcw+zg6u8EuflHMs+KiYAVByTx58mSdvMgMCCL/j12BpEFO9Laed9Yxx70t72ELjnUF8DfffFMC3quOjOKjAEOeyMEVfOyqevtFLeD9RlH8GzZs6Ozu7r5E81FGxqd7shapAI1mwCen5zz93sT45H5Pz6UTey52ktb9XBTor1jv3o1+u91+RropkEWGeCoAyI0EebyHV8Bqt8t7htoKuEMCjn4AcqWAw+E4jQwZpALxVkCBnG7tK5DDZ4nT4nb5wawIuNJ09sFFC+7DSIq04PE+tbI+VoAhj5dPjiHCbrsXgNNTGMEWXBwHVyFvamqq48bIWCqQCAUAeQ8ZcJoBGHP1+KF0NHvALCw4c6zUG8qC+995551DNOkq9iPH3HRZQTYrgJuJmKQVa6CvOffUfNhwiOoRXRSFXwYcx0AGCvjoI7CX2tvba6WbAllkSKQCsUKuXGB2eWsr37twidopuihKs7WAM+Te5ubmSgl4Ik+trJsVYMgHMz0E/ndXm6eS6qI3E+m7KHwsxYLTiq+2tna3BJxlkXGiFQDceDe5EiMd6UIPzLU0OneD2d4FDKtBz4L7li9fXkmzs4IKq3vJhFQgAQow5NFUTYT696w5DwsuuieK/416QgGu/BLWrFnTSn54jbTi0cgty8aqgAo5rj0HWHB7vtvhqTnyUVMrlWYLDrhDAo62YQOsNvwZLw0X7pGAkxIyJFWBgHsy8CHhf9tb3Pj4q8IrxWBXhRs1iBYc6ww4fg1e8sN3ScAhiwzJVoAhJ1dc/2YnNaq5oWsXRQBcdFHU5oo3epAJwBly79NPP73npptuchUVFRWoe+RgwnXRZmh3YBQqu4OuMQuyiX0a6GQHCuhs1D1GX7VBKVhp7APgtfvSS4dcm1bUsQVn6x105FCAo6Diz3z00UedjY2NW6dMmXKL0ag19kHtiHil9nyj4b2dVYaOLvEVFhHvnpKCXs9XDUa3m44dpF1QW7TiB23UWdHdR+cw8DlDBlCgE/S30A5h9tOpLubsaG/r6JWnJ+gNrtbmrRdO7sYMQva/GXK1nVrAsQGaoCDMvufgwYP/N2nSpLgB/sJb6w0tHWhTZgV3t4teidBNjYbkkEhPem2/uCyjpt1fu127f7LLa4+vbZ+2Pdry2vWB9tdu1+6vPV6gvN/vMzTUHv8/Ku2hBaz2gxs1hTLLqIEB995///07aPpss661QS1RhEyEG93LtxbQKxH4+7gQPdLAZRGLad5fzOMyYoxyXEZMi2XEtFhGTItlxLRYBmltQFkE3ofTSmYE/w20v3Y7H4dj7fECrorP42mu2rZhB23VvcDEnuEAh9n30MxC5/nz59+LF+A4aKaGAOT5wbxpO6M9X9jOedqyqVjntujxo21Tostrjxfheldnx3tuu91JxWHBQ15goqpQgCMfFpytuGfTpk3v0PtSkJ/zAZBbLL2QMyRiDIUYCjEtlkllWmyTmNZrk1hGTMervF49YfL99JbNpvrat6k5onsCXvsFPcDhpuBXofjhS5cuPdzW1nZKWvGAfhaGvJ+cMiPRCoBBj8t16tCOTUfoWAw4WAWz/UKoi0wUQmGGHJW4aUx8TVlZ2YP0DR9sz/kAyBG8HsgjQ7IUAOD2jvY1dDwMa0F8hjsk4HoWHO2FyVet+MqVK9+hh5Hl2YQyvQGQm/PJXQkXcKcCge9YcFrJDPFftOVDVJFWWdH2Z4Dy9PpjT92R/e9QH8EiPAwwGtI9oXxdHxzb8ItgP9z90ksvNZ45c+ZdOf8K0vQFC42sKJAzwNoYRfmkiWltOV4Xy4hp3p5psdgHMa3XD7GMmKbyALKrs/3dMx8faKQkLDgAB6MhrTflRww4fi3uV1999QWy4rq/FlSYi0GB3GLJxa4ntc9+r9d/5tjHL9BB2T2JCXA0PsiKP/nkk7Vnz559X1rx/ueVIQ9z8a+OJMsygYGmaHTAXVdnZ+f7x/bsqO0FfEC4cZbC+eDYDmutuimU7v7rX//63x6PR/dPAnbK1QDITcoQYq/fDSHwp5hjMR3I7b9d70+3Xj7XPdj6Yt1f266B6htou7a+3nW6c9lTf/Lwf9PuuJ0suidhPYqBAEdzUAEcecVN+cMf/nCMrPg2acUhTf9goYtOk5ncFT5RKII0B07rbedykcax1hfr/tp2DlTfQNu19dE6Rk4c9o5th3d+cIxW2T0Je3HJ1UQCOKy1Cjilu9etW/c8WXGuQ8YaBVTINflydXAK+H007+TUyedpb7begA9MDuhJRAo4W3H8erqXLFlS3dDQsEtacVJDJ0jIdYSJMhvW29nVuevAtvXVtCsDztY7LoCjSWzF4dgDctfatWufkSMqkEY/AHIzja5gLjMHTgcm9AfyOQ9lOM3bo43FOsS0Xj1iGaQHCtG2D/XxPmKa2yPmiWne3uP3+Zvqjj9D21y0gD0wGJH1pnIDXmSiDAIAD7rYfOihhw7Su8TflnNUFH10/zPTRafJbFZOMp9ojrETp/mEinm6lYbZEG192vLcDr042vZp69fuH247psR2tDS/XbVl/UHaj613RKMnLFEkLgqXZSuuXGzigA8//PDT9GByK/6MyKCvAEOuX0Ju0SoAprzd3a3VO9Y/TdsY7oh9b64vWsDZF8cBXZs3b75UWVn5Z3nByXLqxwHI5c0gfYWCt8B6Nzde+HPj6dN4VhDuCZiL2Pfm2qIBHPuIVlyB/Pbbb3+THmurlhecLKl+DH9cHULkYuyfI45kwX68j5jmfcU8Mc3b4x2LxxDTescRy4hpoTwezXN1dVVvfeuVN6kIwx219Ub1gwGcrbhysYkGrFq16jGXy+WTrgokDR8UyE00iZNPKIojHWngsnr7D7Q90uNEWi7a4w1QHgz5vF5f3ZEDj1ETADdfXEZtvdGFaAHHPgw4flGKFX/00UePHDt2bDW9kRbbZRhAAYYcWMslWAMDPcxgb768mm7qYL631nqDvajCYADHARhytuLOBx544NnLly83SlclMv0BuZFGV2ToU6CH4HY7nI37Nr/3LOXicTSt9e4rHGFqsICzL66Oi+/du7f5tddee5g+f+KRrkpk6pvplr4CObsbORwDKBpy9pyuqX74YkN9M60y3FGNe2uVHyzgqIchV604DRvuI9CfpRtA2uPIdR0FFMjlU1L0pQcvjZo0PHvggw37SCqt9QZrgwqxAg5XRbXilHbdcsstK+vr63fIG0CRnw+GPFf9cbpbaejqaNuxZfXylWCod+G7lmAsJYDjDOLgWPiCE788x4MPPvgb8sc/kf44qRFhCECeez45/O5up/OTqo3v/oakwuvOwBBcADDFfFFycCEWC85HRCMwfIJfHBrnpBtATa+//vqvyB/3Sn+cFIkw4Ja+URxCzHKfHGaZ/tJ76SmdX9FrIJpoVeGHYrDEw4KUHHyIB+BoJxrDrorSSHrVRNWePXuegz8uIY/8BCmQG7P/zQVgAn735aYLz+3fsq6KFBLhjunCUlQ7HoCjPoY8yFVZtGjRcpqQtdGtvLhSPKxMh1MgYMkBefZ65TRJ0NDZ1rpxy2vLl1NHta4JDCaYijnEC3A0hCHnURU02rF48eJ/oYvOvRLy6M6ViVwVoymepye64yeytI8sd1dH+94tb6z4FzDSu/CwYNzgRh/iqSAAF/1xNNhBX4nouPPOOx+iByRq5KQsSB55YMizyRXHiEm3vbNm99o3HnJ2dHSQGgBchBsMxcV6Q+lEOHtonNjAPILcW1dXt3P+/PkLPth/eGgePqclQ0QK4L3synvBs2BKMmYIuhz2c/s2rf1ZY33tJyRAFy0MONzbuFpvCJwIwFEvQhDo5It3d3Z27naYCm6mGXWFPNE9UFT+H04B/vhAgPHM9Mv9fvpglNPZfGjnpntOHzl0lvqrhTuulpv1TBTgogVX0wcOHOiix7j2Dx899is0HJYvIefTMHCc1/uFjUwckcL9EHphpv34gY/uq9nzUU0IuGG5AXjcQ6IAR0MZbI6VxjfV17UVlQw5OqR0xEKah2GRkEd+TlXIIW2GGHK86tjtcjnqjx74pwNb38dteNFyx228W0/FRAIuHhOQq6BfqD1+0WIp2Dds1KgFNCRmkz65KFX4tAp5Bvjk8LndDkfriQN7fn5g6waMdTPcGPNOONxQMtmAq6DTnasWn8e1s7R8wvVkyEv4xKFRMoRXQDUIiiGnz16n4b8eGud2d9kbqnd+cC+9bu0o9chOCwBnuHEzJyF+N9WrhmQBjgOyBVchv9xwobOro3XbqPGTrjVZLGV8MaW2TiZ0FQhATlKyqrolk78B49z0HsGT+zatua/uyMHT1AKAnXS40fNkAo7jITDgStx++aKz+cLZD8onTZ1NryEeA59c+uUBoQb6X4UcBdPAJ8dwJt5CRTMDD+xY88YvGs+caqCWad2SpFhu1i7ZgAfBTY1Q1umdz+7zp45uHXfFjCn0AstJeUYJOZ+ggWLVXUmxKcesQHqWkm6/t2zd+saKJW0Xmy5T2xlu3MjBDMGkwg3tkg04jonQD3S60vbVVh/cPmbyFGu+rXA2+eRkyGGWZBhIAdYpYMST75H30Bg3fcqlp62p4eWNry7/N3rVWju1WYQbF5RJhxu6pQpwHJsh5wsN+nit13+quupA4ZChNSVDh881mkw0wiKtOcQaKEAnCJrMoMwIpJESj6Orlaa8Ltv2v6++QeeQLybFO5QpgRtapBJwHJ8hR6yCfuFUzQX6U7d5RPn4K8kvL5cuC6QaOKiQJ8EfJ2/bgItJR3vbwb1b1v3iaOX2Q9RCWG223HBJxKHAZP/+FMHSBXDAzYsCPV18dp06eGBjecVkk7Ww6DPSZVHO14D/sbsyYMEYCuDOpNfj7mlpOL9yw6oXf996sQFvn4LFZri1k6diOFpsu6YacLSef9lsxVXQ6c+d79ShqoN05/NI0TByWYxwWWjAQPrmYc96nz7xNeWBhxRofNvpbDl7rPpX2/73f97qdUkYboxx88Vkwm6/h+28ZmM6AI4miZCLoCvp86eON9ibWzYPHVk+mlyWKXBZMC7WdyI1vZKrvdqwrLEJArAxSoJvgna0XNpctXntkqOVHx6mWtliA3DtDRwYqpQHkJJOAe3BXFr88PCmSist+OKqjZZCpK+55bYvVEy78pcFRcUT8eRL3zAZbZWhnwIAM5bAw3/dXfaz9SeO/vve99fsovrggjDUPATI011xwPj8smJpeO++6QY4mhUwzwHI8Zg5vrQKyBl0W0FJSfENt/39D0pHj73LYrVayXWR1pwE0guBGYjRMaeOkNBDtc1NDSs/XLP6FVdnJ0ZIYKmxAGz2tTFKwnO5ozsQ7ZjIkC4uiraPLBJiLLAK7NP5vG63t/bQvkMOR8emoWWjx9Fr0CZKt0UrYd96nyvHtkM/xhwudkfsra0fHtz6/j/v2/zuB6S5OPwH6y3CjfMT25+KvubGNZWOFlzsINrHLgtbc7bocFsUyz7vq9+6oXzK9PsKCgsraE6L4rb0nVSxutxOByx5aA3Yz/aRn+1yOOobT598dte6N7dTabbUbLUx9Mc3btjosEEKXXkKc9MdcJYGkDPo8M0BOfvnCuRms7lg7uJv31Q+ruJOa1HxVLzcEv65BJ0lDB0z2LiAJD/7VNOF+pcr1/5tE72uhMHmmMe1RV87La222NNMARxtZmsO0GHNGXQAzrAjtn5x0Te/VD556p0FxSVX4Y1RmIorQSdlhKCAjfFsL1lse+eRptOnXv7ovbd2UBGAjAVgcwyLDbD5jiTATlurTW1TQyYBzo1Gm3HtwKDDmrNFVwCndSW+5uavXzNu8oy7CocMuRpfVgi8hiF3hxcDLgpm/GFilMfg6OjYf+H08ZU0MrKXNGOwxVh0RwA1X0hSMjNCJgIOZdFuLKLbAovOQ4si6PlXz7959tipM28rKhm2wGzNL8TrGHLlopShxoQo3Fr3drsdXZ1tWxtO1byzf9v7uL0OiEWokYa15kX0szPCalPb1ZCpgHMHGHIGnV0XBp0tu2Lli4eNKPrc/C8vKC0v/0phybA5NI5uogldivuSbePpGAkB3JifjU+CODrbqlqamjYc2LZxq73tMm7QsHUG0Aw5Q83DfrDaGeOOMBRinOmAc1+0oPONInZfxFix9BOmXjVq+py5Nw8rG/kVmp47lV+XFvDVM8+NUS11H9R0S91xqq350oYTVZXvnzt15CKJxQAz3GKMbbDWbLEzGmwRDE5nQ8ygIwbksOhs1QE54NbG5qu+cMO0cZOmXW8bMvTqgsLiWQS7FW95hc+ersAHA+1XXmRJlrqbXqxz2NnRvv/CmZMfHtm1/ST1F9YY8ALmUDG2s8WGC5IVYFM/lJAtFpz7wzH6xbADdF4AuBZ4xaJTvrKtoLjYOuvaL80qGzPx8wVDSq622Yo/ZTSbLLhbqjwzqsxPp9JKCMiXqBGaAMQ4UMD1xU0Y8jsMmM2HJ9ZpLprH6bQfc3V07m9uPLvv8J4dh112O1wOhhpA88KA8za21myxldqpfFaFbAWcT5IIOvx00VcXrTtDznkcm4aWlRXOuGbeZ4aXjfm0xVYwMT/fOtFsLRhnwsMYyvCjUQG/76KVD62NtVIHoNWWUiAmoHFRCJAVX5pi+oKdk+zzBbe7+6zH6Trb2tz48fG9O6vbm5txVxGQsiXmmMFGzHmIGWjRvw7dGCqc6UGreqb3J1z70VcAzjFbddGVYbC1sVhW+aFUzPzMqNETJ1YUDyubaLUVVeRbrRNMFnOZyWguzAvAj9fToZ6AmwPLjxUKCk1EMltoir30OJOjhyD2+b0On8fb7O7uPtft7Kq3tzWf/eTs2fr6mmr40AylaH1FeEOlxbLsfnCstCeb/2PNs7mP2r6hz+ICeNmycwwwGWqGnde5jBgjjUWsN4/cHfPQ0lFF9PidzVpUWFRgK8KMSIPL2eXo7qLRuvZWZ3vLxS5yKwAmuwgcM8yI2eqKMdIMNEOMdbEM78t1ckzFciPkIuDimQ0CkjYwqByL8IuAY7u4jcujPqS5XkoGpbEuBhE4TrN1ZcC1wDK0DDWvc3mOuT6OxePmTDrXARdPNGvBcCLWgsvrDDEgRzmOOT9UXTgW5wM6BIZPuw5IkQeIxZjh5RjbxDTWsSBwHFjL0f9Z8BztfthuszaIwy0i1NpyOIBYj3hABlCMkdYuDLs2X1xHvViXQaMAi6/Jlqs6CrBeDDKKhcsTt+tUGQQmQ8rwYp9weXp1yvxeBfjkSEFiU0Cro3YdtWvzGFzxyNo87bpYVqYjUOD/AZrbm7Ts1rpFAAAAAElFTkSuQmCC',red:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAk/0lEQVR4Ae2dCZxUxZ3Hq8/pnhkGmOEQuQS5VCTxWHEDBlyNkciakMMkxujGuOvHO24IKCae0UQlKwmyroocoqtozGpA4oFiVAQU5IaRcchwDsPczNF39/5/b+bfVL/p7ume6bur+DyqXt31r2//5//q1XvPIJRLpgQMMVYeiDGfyhanBGKdgDirzYvsLLtIPguB0/lc7+vh5vNIvr68Oo8ige6EH6Vo3iSxjODrw1rcm2++2f+MM84YV1hYONRkMhUZjcY+OAKBgOZTXDGVLTYYDH0gNYpvIa/V5/O1+v3+FopvgY+D4tra29uP7N27d98VV1zRiOy6g06DcRyGr1wYCfCEhUnK2yiWiQYvSQG+8ac//all3rx5o/v16ze+oKBgnNlsxjGWQB5LgA5MhrToh1BL0Fd4vV4c+1wu176mpqYvHnnkkf0rVqzwUJt+OuQfALrBmh/hvHc8mfkuCBlmDei5c+fab7nllguLi4svttlsXyeYzyPgrJkgKPpBuQn4LU6n88PW1tZ1ixYt2vjoo486qG964PMe9nwGnKE2EhgG0tDWBx988HzS0BdbLJbpdEymeFsmAB1DH5wej2cTHR+Qhl937733biYN76ZyAFyGPoaqcitLvgEeAvX1119ve/jhhy8nLX211Wq9lKYWtnIuuFa3272WtPv/3nPPPW8tWbLESYPKS9jzAXCGGj60tfGLL764YPDgwT+x2+3fp/MyOnLZ1Tscjj/X1NS8OH78+E9poNDoslbPaTMmlwFnsDWoN23adNq4ceN+TBeIP6FVjbG5THSksdEKTQVdqL64b9++lyZPnlzVCboMe6SiWRufi4DLYJsqKyunkraeCxOELhJzcbxxw0cXqQGYMKTVHz399NM/pgp8dOQk6Lk04RiLpq3JNx04cOAbAwYMmEurH1PoXLkIEqDVmPV1dXWPjhw58l3KwqAz7BFKZU90LgAeBHvYsGHmjRs3/mtpaekcMkPOy55pSH9PyXzZ0tDQ8NiFF1646vDhw17qESDPetCzGXD0XYObwLYQ2FeVlZXNoRsvZ6Yfl+ztAd1Y2lNfXw/QXyHQ9TeTsm5g2Qp40BTZtWvX+aNHj15AGvv8rJN+BneYNPrm/fv3/2LixImbqZuy6ZLBve7atWwDXNPYNAzT0qVLS2fNmvUA7f+4gS4eAbxynRIwHN8ozDseFQZHTW9l4m/3BBa/8nnDfT97vKqBKmPQs2ZpMVsARz8ZbvPRo0ev6d+//yNkjiRlD0hvqUh3ecsrpwtD2+GEdcMfELUNbWLewNniBaqU7XNAnvGgZwPg6KMJx44dOybSstYf1coISSOKsy4tiJLa8ySPX6wvrxN3TLpX7KJaoM1xZDTkmfynPaixJ02aVEBX+PdOmDBhg4K754D2tqTFKKacPVhsOPEnce+kSQK/IjMdYChjFWWmdozhNq1evXrYtGnTltKNmq/3doLypXyyNLgsP49XfPhOpfjZzCcEbKGMtc0zEXBeITFXVFR8g5YAn1O2toxW9+FUAI5ewDY/UC9+PvrXAjeJ2DbH2nnGuEwyUYJae/r06bba2toH6O7a6wrujGGlS0eMBjFw1ADxetMT4oHpZ2lbi3GtlFEmS6Zo8CDca9asGT516tTltClK3WLvglRsEanS4HJvXF6x/v0vxHXfWigOUXzGmCyZADj6oK2S7N69ewrdtFlJWnuALDwVjk8C6QAcPSSTpa6iTvxwwm/EejrNiFWWdJsoDLeZdv3NHDNmzGoFd3wwZ1JuMlkGjBsoVlf9TsykfmGFBYorrUo0nYCjbQjAQjv/rhs+fPjLFLbToVwWS4Boto/sL14++ri4joZhoQNznDbO0tVwEG66K/nLIUOGPEW32/GLVy43JGAeUiKeqvsv8UsaTlohTwfgGtz0EIKV9iE/RjsAH1IPIuQG1SGjCAhDWaF4qHmBeGzwYIG3EaRFk6cacA3uGTNm2OnFNs/16dPn1hChqJOck0CJTdxaeY94bsZkzfxMOeSpvADQ4B44cGAB3cBZRg/8fi/nZjNDBpSuVZRow3d4xGsjHxT/VlsrXJSPlxGjFUlIWqo0uAY39dhaXl4+X8GdkLnLqkrsFvE90uTzwQAdKdPkqQCc4bZUV1fPpXeQ3JhVM6M6mzAJ9LGJG+v/IOZShSm78Ew24DCB0Ibl0KFD19Ozkr9JmLRURVkpgdIi8Zvqx8X1YIIOsJFUMzmZgKPj+FNkoQvK79CqyQIKK6ckIE4pEQsqHxbfIVGwJk8a5MkCnOE2b9++fRrdfl9CS4GAXTklATwiYRpVJp7bfb+YRuJI6h3PZAAOuFGv+a233hpPb5NaSeHkPGJCFSuXnRIgSGwTBomVb/2nGE8jAORgJuGaPFmAm+iB4KIpU6Ysp70lJdk5BarXyZaA0ShKLh4tls+6QBRRW/gLn3DAE10hfjDoaMHx48ef6Nu37w0UVi7FEsjEdfBoImh2iMX97hR3Up6Er5EnUoPjx4L6LHv27PmugjvalKo0WQJ97eKGLx8U3wU7dIChhCneRAHOcJtXrVo1dtSoUQvlAaiwkkB3EqAngxauuk2MpXwJtccTCbj5kksuKaLHzZYpu7u76VTpegnAHr9svFh2yQTNHgfkCdHiiagEPxLN7qbnKOeXlJSoO5X62UvxebbZ4LJ4yB5/muzx2RSXEHu8txo8aJps2bLlYtodqOCWZ0uF45YA7T68cfu94mIqmBBTpbeAa9qbzJIiWu+eTy9Wj3tAqoCSgCwBIETr4/OnjwsuHfaK0d4UZu1tef7552+nF/OMkzuqwkoCPZWA1SzGvXS9uI3K93pVpaeAM9zmF154YdSgQYPwaJJySgIJk8DgvmL2C/8hRlGFvTJVegM4Liwt9HTO78k0KUzYyFRFSgIkATJVCq88S/yOgr3akNUTwFl7W3bu3IlvTH5LzYiSQDIk0KdAXEEbsi7vhBysgr24XE8ARxnzlVdeWUw3dB6LqzWVWUkgTgmMHSgeu3Ky9oFeNlXiqiFewFl7m5988slb6XPXI+NqTWVWEohTAhaTGPnMLIGH0xnwuLR4vIAjv4k+gV1Cr3u4Kc6+quxKAj2SwIA+4qbrpwjsSsV1X1zMxpOZtbdl3rx5P6cX0Zf1qLeqkJJAnBIwmUTZ/TPFz6lY3MuG8QCOvGbc1DnllFNujrOPKruSQK8kQG/Kuple0Yx942yqxFRfrICz9jY/88wz15DtfUpMtatMSgIJkoDZJE5Z9mNxDVXHgMdki8cKOPKZ6Fs59lNPPRV3mJRTEki5BIb0FbdNOj2+N2TFAjhrb8vKlSuvIu09IuUjUw0qCZAErBYx4i/XiasoGLMtHgvgmvYeOnSolY47lKSVBNIpgWH9xR0lJcG7m93y210GaG8c5ldfffVfaEPVmHQOTrWtJEAbsca8f7O4BEzSwXxGFEwsgGPt0Ux3LX+ktsNGlKNKSJEEsJ121CDxIzBJB9gE5BFdd4Aj3XT11VfTM8R9Z0SsRSUoCaRQAn0LxIyrvyb6UpMAPCrD0RLxy0C6ee7cud+m5yzV50VIGMqlXwL0/Kb9nsvEt6kn3S4ZRgMcaRrg9P2cHyjzJP0Tq3rQIQGYKSP6iR/QGQMekeNICdDeOExPPPHEiMLCwq91VK3+VxLIDAkUWcXXnrhaYMma7XDw2sVFA1zT3jNnzryKtHekfF0qVBFKAqmQABFpnDUxRIvHDbi2ekKPo30/FR1WbSgJxCuBwcVBwFmLd6kinGbGLwHxphUrVoynte+xXUqpiIyWQKBoWEb3L1GdozXxsS/9u/Z2Wl5N6aLFYaTrXRDwr371q9PUxaVePJl/3nzef4uaN28S7hNHunQ2EOgSRa/r1rkuEXild1enr6unecJVHktd9OlwaOJp1LPddEApg92QotEANw8YMGCqApwktmen8K9cIURTI8kv810BdXGI72JR73LR9+ND5jvzOx9nD80u11QhVj1DxRjwkBr0gOMXoGnwoqIiM72p6sKQ3Hl64nv0fhGoPZ5Vo8ff7P5+v2jw+Eil5S7kfQKBC8FqW1sbAx6ixRGpd4gzLVu2bKLJZCrVJ+bjebbBzXNkoTsipfRQo0HTWRybWz7BWvqHkYMn0qjYDg8ZoB5w1uCmM8888yJlnoTIKitPGHIj3R3hyc0lHwCPLbRdRB4A56EF5yoc4Igzkf09RQEelFNWBwB5f3okJhfnE2MqNZumgFk6wC4gDzoZcKbfRLfmrWR/Tw7mUoGsl0Ao5DzVueEXmUyThxcW8heUeVDanMmAIwLnxoULF55Nv4w+Wg71X85IgCE3AoEccjScPr8ZderZNCSNX3lo8ioKk28aNmzYhFz8cyYPPF/DHZAbRKPXmzNrK6B6qM0ygbxP6WCOtaUjWYNzgpH2fo/JVwDyYdxmUuH9zWZN3eXKePuYjGAWPDPH2tD0GhwZTLR7cIzS4Jp8cvY/QN6PIG/KAU0OVouMxtPBLh0MuTZ3rMFBPRzOjQT4aO1M/ZfTEmDIc8Emt5s0wDV+OydNY5oBR5ym2ktLS802m21kTs+sGlxQAoC8r4nMFZp9DQAGIct8m9EwstRuh0XCw9DGqAfceP/992MrGrYzKJcnEjgJOdjIUhcQBbcPHQx2wXRwIGyDM/XGs846S22PzdI57k23AXkJmbAnfNm5dwUAn1mkbe3+ohNwRAVYgwcBHzhwoLrA7A0pWVxWg5xe5Wo8qQCzZjQAuNRs7rKSwhocAwHsRrvdPhwnyuWnBAB5H9LkLZomzy4ZFJmNYFfjmHuu1+AGevdgMScqPz8loEGuafLsGr/ZYAC7bI3A1x6751EgwkhbZIvVGjiLJH99QF5Mmrw1SzQ5mKVFcAAOpa3BjdnjkyD1BDheMq6ckoDQNDntQsQSYjY4ghzsBllGWLbBMQaDAhxiUI4lYCLNWEzmiqbJM/zBIKvByIBz9zUNzica+QpwFofyWQIMObGe0c4kAgx4sKeswYMRCvCMnsO0dY4hb/P5M/YZT7NJ0+AsI41pXkVBJCKUicLiUX4XCQDyIhNWyYP6sEuedEZE0+DcLwU4S0L5YSXAkLdrmjxslrRFGmOxwal3bLakraOq4cyWACAv1DR5ZvWTVlHArmaJcM/YRAn+zfF6ve2cqHwlgUgSYMi7rDNTASYs1b7PH5DZ1Zjm/gXH4fP52oInKqAkEEUCgJz2YWeMRU6Xv3p2NZWO1c3gCqfS4FFmVCV1kQBD7qS3aKX7LXE+v1/W4BrXbKJwxwNKg7MolB+rBAC5jd69Ql5anS8goMGDyhqdkS8otQQFeFrnKGsb1zQ5Qa5p8jSNwm8ImihByMNq8EC6/9akSUCq2d5JAK+H0zR576rpUWkwSyuXETW4Zq9QzQFlg/dIvqpQpwQYche9vDvVb7X1BgRs8CDL6JKswbUEAry1s6/KUxLokQQAeQFtQUz1HU96FzrYZcC1vss2uBbhcDgaoO7VnvAeza0q1CmBDsiFcPlTIxJQ7aTXoetbYw3O1PsbGxv/oc+kzpUEeiKBk5q8J6XjL9Pk9YBd/KSYZ81EwQmcFllRUbFfXWR2CET933sJAHKrZq4k9w4nelrldOwnLwg3wqzBka4lvPbaawpwSEO5hEkgCHkS18kB72v1zXrAg+vgTL3/7bffbnG5XLVms3lgwkaoKsp7CQByC0nBo+nRxIvD7ffXrjve1EI1dzFR0FoQcGRobW2tUmYKxKJcIiWgQU6gJ1qRg9U2X6CK+gq4wwKOcQByLUN7e/s/EKGckkCiJQDI6fUOCd9x2O7zgVkZcK3rbIPLGtyHlRSlwRM9tao+loAMOcf1xge8TT4vAPfREaLB5XXwIOTHjh3b35sGVVklge4kAMhhqngTsC0E9dR6fGA2BG70IZwG97/xxhs7aNMVgFdOSSBpEsDNxA5zpXdWuY/MjVW1zTuoowA8BHIGHIMA0Ej00Udga5ubmyuVmQKxKJdMCQByE/ENfd6Tf6C2xR+ofPFITS31UzZRtG7rAWfIvfX19ZsU4MmcWlU3SyAIeQ8UOYCt93g3keelI0R7o34ZcJxrGpx8X2Vl5UYFOESiXCokAMgBI3lxHTDkqxyujVQU2ps1eLDLMuD4MbAG9y1ZsmSTn1wwpwooCSRZAgx5PM3Qg3L+JTX10OAMN3OsVRMOcO2XsGrVqkayw8uVFo9H3CpvbyXAkMNa6e7AQ6DNXl/5W8fqGyk7a/CIgKNvrMFhz3hpufBTBTjEolwqJQDIAXd3DrDWuj34+KvGK/lsgweLyhockQw4fg1essM3KMCDslKBFEqAIY+mxdGdynbPBvIAuGyiIElz8o0eRLB6xy/Bu2DBgk8vvfRSZ1FRkU3Lnaf/VRaVCM/xmpwffSRlBijCuUjxyBsxLUJCpMfbkB39AvD6/jn8fufjh46wBmftHdJCOMCRUbNnPvnkk5bq6uoPRo8efbmRnphOhGvbWiGO/c9fhaeuORHVpaQOt+8rwlmCb7uHyC6k7UgpUctEKBStTEijnSf6iZfzRGhCyxJvO3K96Q7T42mi2nnig21N5dhByPY3Qx7snh5wJEAmmgYn37Nt27a/nnbaaQkDfP+dTwp3dT3aySrn9HtEu9+r2YYQUCw2IgbIeRk0lOO4cOmIk12q88ttI8x9jdR/fX79eXfl9en68pHG7w34xW5nzV8pv4cOeQ08pIpwahltMuDeW2+99SPaPlsfTUuE1NjNSTbCjSEVGS2i0NihD2KFG+U4L3w5jDQ4OY7zyL6cRw7LeeSwnEcOy3nksJwHYb1DXjguw2EtMob/uiuvT+d22Ne3h3iw6Az46he37PyITiNeYKJsNMCh9j20s9Bx+PDhvyUKcDSarQ6Q2wnyaNf4nMa3nTFWjsuEcXNfYu1fsvP3RCbQwLU+598a3W4HBaHBw15gou5wgCMeGpy1uGft2rVv0OskEJ/3DpDbjCYNWoZE9iEghkIOy3nSGZb7JIcj9UnOI4cTlT9SPdHiAeZ2Z93r5MnmCaK7uEiA40eCXwWo9sydO3dXU1PTl0qLd8iPIe84U/+nUgJgsC3g+XJJ8+7d1C4DDlbBbBcX7iITmZCZIUclbloTX1VWVnYnfcMH6XnvADmcKwDZKpcqCUBN13jbVpHnpoPNE+a1SzciaXBkRF1BLb58+fI36GFkVKhcpwQ0Td7lS4xKPMmUgFv4PG+3HXmD2pC1d1jzBP2IBjh+FSgIM8W9dOnS6qqqqjfV/iuShuSwsmJTkEsSSV4Qa9+1Pseb77ZWVVMr0OBgE4yC1bAuVsA1M+XFF19cTFo84q8lbAt5EKkgT80kuwMB/7q2I4upNTZPegU4eh2ixefPn1958ODBd5QW7zqhDHm0q3+V1nMJkPIW9f72d149UVHZCXi3cGOWomlwpENbB80UCrteeeWVZz0eT8Q/CSiUr64DciwhnnQcjnbjArk5PV6fy3KL+va6q6+35fX1d1dfd+n6+vjcL/yBjx3Vz1J5Fx2yeRLVougOcPQHFeBiUzNTfvvb3+4lLf53pcUhmq4ON4IKDB2QY3Lg2JfDPHFyHMLxOq67p/X1try+v93V1126vj6cd9jezr+vaCrfS6dsnoDJqHCjbCyAQ1sHAaewa82aNc+QFkd55cJIQA85w5cKH91hiORwKtpOVhs+4nij89gzNB7W3oAPTHZrScQKOGtx/Hpcc+bM2X706NENSouTNCI4QG4lTZ5qx3AzbGif41Ldl0S0B+1d73dtWNy4ezvVx4Cz9k4I4Ogna3EY9oDcuXr16oVqRQWiiexOavKTiOEyC44vtzisRXbGcxznicfnsrHWp8/P5SL5+v531zd9/fry3aV7aOVkk+P4QsrnpAPsgcGYtDfli8lEQT4ADi3OgLtmz569jd4l/rraowLxRHY2TZPjY6kd/5CTJ1kOR0qPXHP4FK471vr0+blcJF/uc/gehMbq69eXj5buoy2xR31trz/duGMblWPtHdPqCfciFhOF87IW1y420eBdd921gB5MblR7VFhE4X2GPHyqig0ngY49J97GxU27FlA6wx2z7c11xgs42+Jo0Pnee+/Vbtq06U/qgpPFGdkH5FhdUS42CeD5qb2exj997qzFG6tgnoC5mG1vbiUewFFG1uIa5LNmzXqNHmvbri44WaSR/QLaZstLiJyLrXP4sRwox2XkMJeV4+Qwpyfal9uQw5HakfPIYTk/tHej37X9vuMbX6M8DHfc2hv19wRw1uLaxSY6sGLFikecTifegYg6lYsiAUCO1RWeUGRFOFbHeSOV7y491nZizRdve93lB0Nu+qD8O22HH6E+AG6+uIxbe2MM8QKOMgw4flGaFn/ooYd27927dyW9kRbpynUjgSDkeP+HOkJkEKBfwCF/68oXmvdgv7dee4O9uFxPAEcDDDlrcccdd9yxqK6urlqZKrHJH5BbeqRfYqs/G3NhzftEwF39ZNPORdR/PI6m195xD6ungLMtzsuGzs8++6z+pZdeuos+f0JLl8pUiWUmGHL82c73A69hcwm/5/3WQ3eVOxrw2gWGO651b73cewo46mHIg1qclg23EOiL6AaQvh11HkECgNysNDltdPKLfe6GRU837d5CotJr7x5rzN4CDlMlqMUp7Lz88suXHzhw4CN1AygC0WGi8x1y3NCp8To++lXN+uVgqPPgu5ZgLC2AY6rQOA6+4MQvr/3OO++8j+zxGmWPkzRidJq5YuiNvomxoQzLBru72e+pWdS46z7qWjsdYAgmAJhivijYM5cIiaITWD7BLw6dc9ANoGMvv/zy3WSP0zeGevzjo6ryy2H50EKQR7pNnmvx0MvugN/7vuPw3Vucx47RbGv8kA+WeFmwVxAkAnAQjM6wqaJ1kl41sfnTTz99Cva4gjz2OQLk+DBTrjswAbt7r6fhqacbdm6m8cpw9+rCUpZdIgBHfQx5iKkyY8aMJbQh6123Gz9I5WKVwElNnrurK16C+4i39d05NeuXkFz0pgkUZkL+9CcKcMwdQw6acaGATrfPnDnz13TR+ZmCnKQRh4OpYs5Rm9yjXVS2f3ZX3YZfk0g0TsjnZcGEwQ1xJxpw2R7XIKevRJy49tprZ9MDEuVqUxZEHrtjyHNpjRwrJvU+R/nDjZtn13scJ0gaAFyGGwwlRHtD0snY3obOyR00EOTe/fv3r582bdr0pmXv9MVXbpWLTQImklWHQGWRxlY203IB7kaf69CC5p037XDU4osCbXQw4DBvE6q9Mf5kAI564UJAJ1vc1dLSsnFUZctltKOuUEHeIaRY/gfkcBBotq6k+KnzJwKe+mUnym9c13roIA1FD3dCNTfkBZcswGV1Ewxv3bq1rcBk+Xycpd836c+vVUHeMQmx/M+yCgozlkIZkoe2mYrWgKf19ROVt/y55cty6pYebmhuAJ5wlyzA0VGeC/a1zm9z1jaVme17hluKL6HVAgtPXMJHloMVsqxCBJrh4+yA292+tv3Ifz7btAu34WW4E7beHUkMyQRcbhNzEpyXTY5jx+kJly2jrSXTSZPbeeLkAiocXgIsq6Aww2fLiFjY3Cf8nsbX2/bf9mzjLqx1M9xY80463BBCqgEPgr7VWdvQbvCuH28tnUo2eR+eOHRKuegSCMqKTHOY55l44F0mDQHn0eXNX9z8yomKPTSiVjoAOMONmzlJsbup3qBLFeBokJVOEPJyV2PLUW/738+2DbjAZjCV8cVUsHcqEFECgDwoyIi50pOAde46n6NiYePuW9a2HfgH9QJgpxxujD6VgKM9OJ4XzT/gOeHY7W5Yd65t0CS70TRE24nRuWrQkV39H0kCDHmmrK1gZnH7/ZjXsfWRhs23b3HUHKW+682SlGhullmqAQ+Bmzqhndd6He5PHDUfTC48ZXShwXyagpynp3ufzRUIMp0OuwLpWUq6/d72wd21G+fsdzfVUX8YbtzIwQ7BlMINeaQacLQJ1wX0Fr/b9zfnwQ/PKxhUUGKyTjIJo4Enr6OI+j+SBGQ5YcU81Qfgdga8gQpP0/O/qP/4d41eB77yK8ONC8qUww15pQtwtM2Q84VGwEsbyN9srdo60FRYPsRin2wxmOzYS4AHc5WLLoGT5kr0fIlMxY5AvL+k2e9ufK/98Lz7aje9SnPIF5PyHcq0wI2xphNwtM+Qww+CvsFRfaTa2/beuILSM+0G0ynKZIGounephJxNkhpf+7aFjTtvp5WSHdRDaG3W3DBJ5KVAzHHKXaYADrj50KCv8rS0rXFUvXtOwSBTX5P1K8pkiY0NNleSSRNu3sAkKfc0L7+j9sMH97ua8fYpaGyGW795KrbOJyFXugHHkHgu4DPkmjanP3e+Na1V2waa7buHmAsn0/ZRu7YXQ5ksUVE4adIlducKcU0mCW7euBvWOo7c/UDtxr90miQMN9a4+WIyabffow5el5gJgKNLMuQy6Fp4g+PY0cNksoyylgymz4SM7nioS9nmurkMOT0JeUh0j05ga/toiuj78OKQr/W9RY3b57x64stdVBlrbACuv4EDJZV2l2lXb+gPrivxw8OXVgvosNFhp6MQ4TvKzvnni+yn/rLUaB2BJ1/4TzKlKRdGArCVe+PY1m70uw9+7Kz+wx/rt26g+mCCMNS8BMjbXbW/vr1pM5FlMw1wjA19wgHI8SVmKx2AnEG39zfbiu8vu+CasdZ+19HHWAvM2ESqzBYSUXgHDRwv5rxC0ub3uCrI1n6w/tMXGr1OrJBAU+MA2GxrY5WE93LH2xQVTZ7LFBNFP0IWEnwc0Aps0/mcfq/3rbYDO+r9zrUjLMVDaePWCGW26EV48px//Kw5ovl4wxSbI/Ty+Y+fa97zq0WNO9aRzOXlP2hvGW7MT0aYJCdH3RHCWDPZoX9ssrA2Z40Os0XT7HMGnP/1C2yDbulrtI7E64nx7lae1EweXKr7Bq0cybGd7SI7m9a1D3zmqln0WN3nH1J+1tSstbH0xzduWOlErjhSgymKz3TAWQyAnEGHbQ7I2T7XIDebzba7+p1z6STbgGv7GwvGKNBZdNF9GWx6J/eXO5x1z/++aetaejMZg80+r2vLtnZGam15xNkCOPrM2hygQ5sz6ACcYYdf8Kuy8y86zz7g2jKj7SwFOkkkjJPBJlNv9xZH3fOP12/+iLICZBwAm31obIDNdyQBdsZqbepb0GUT4Nxp9BnXDgw6tDlrdA1wOtf828rO+afJtkHXDTLZz7XiNQxUBIXz1XwB1KASa9n0Rilx3Of4fJPz+PKF9Vs/o2gGW/ZlcwRQ84UkBbPDZSPgkKzGKfmy2QKNzkuLMujWG0rPmnRhwZBvDzbbp9sN5kLAni8XpQy1n9AG1I6At51edPnBRlf1G4sbduP2OiCWoUYY2poP2c7OCq1NfQ+6bAWcB4D+A3IGnU0XBp01u6blh5qLi27od8b0Mdb+3xxosp9PoJvwch3Anmvr6Vi/BtRegprA9tX6HJu/dDe+vbhp7wf0RincoGHtDKAZcoaal/2gtbPGHKG+dnHZDjgPSA86TBi20dmEYV/T9FMKTx00q3j0ZSOsfb5ZYrCO0UyYLNbssqbuhBpfS/jyoLvl7f9r3f/O+vajx0kmDDDDLftIg7ZmjZ3VYNM4NJcrgMvjgTbHuAA5NDprdQDO0Mu++Yf9xo2dXDB4Kmn1c/uZCibShWkBPi+CR+gy1ZSRgcbmJzxJQ0t8riafaxdp6883uWo+Xtm0r4LGDG0MeAFzOB/prLFhguQE2DQOzeUa4PK4WKsDdD4Ath54TaNTvJbWz2wr+FHfsRMnWErPG2iyndvfVHAGwW7BBSqA7/jX0QwLL1kXrYAYjg1f+LhMBNC4UCSoPfSmqL21Pufn5Z6GLS83V+xq8jphcjDUAJoPBpzTWFuzxu6ongrkkuM5yqUxyWPB+Bh0va0ua3eGnOPYNw21FRX+oHDcV06zlpxdQvtfCg2mEYVGy1CrMNpZw7Mvwy93AmG9oBlafT6GGPYzQGbfLfyOdr/nSHvAd5B28x2scp/Y+Wr7vu1HnG24qwhIWROzz2DD5zj4DLRsX0fqDmXPbqeXe3aPJnrvGXT2WavLpgyDrfflvNoP5eLiYYMmWctGDjEVj+hrtowsMliG01cayugppEK6k2qnbWCFlNGMxhh81vRsXkAbgywizUuvWWinW+QOT8DX7vL76tsCnkPNXs+Bal/rwR3u+gPrWg/DhmYoZe0rwxsuLOdl84P96BLLgdR8Apynq4O5DqWKMOAFtLIPwBlqhp3P9Xk14DvrCKmbzB3zSGtx0RBjob2fuaCoj8GKHZGiJeBub/K62qr97Y4D7tY2MisAZofyPukzzPBZ68o+wgw0Q4xzOQ+X1ddN2fLD5SPg8syGAEkJMqx6kGXA9WlcDvUhzPWiLTmMc9kxeIjjMGtXBlwPLEPLUPM552ef62NfbjdvwhC+ch0SYFkwkPD14PI5QwzokY99jg9XF1rheEAHx/DpzwEp4gCx7DO87CNNDuMcBxz7HWd5+j8LPE+HH3XYLBv40Q4Zan0+NCDXIzfIAMo+wvqDYdfHy+eoF+fK6STAwtdFq9MIEmB5McjIFi1OTo9QZQiYDCnDizLR4iLVqeI7JcCTowTSOwno5ag/R+36OAZXblkfpz+X86pwDBL4fwN/IZwMBwH5AAAAAElFTkSuQmCC',yellow:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAC4CAYAAAChOH1KAAAlaElEQVR4Ae2dCZhUxbXHTy+zL8ywDDsSVhEVJQoCkoSIIr4kvohLxO2ZfC8an0mQrCQm+uJ7qHkv5hE/xSQaNokBogkxigaUuLDIpsiOMA4MOwyz7zPd7/yLOZfqnu7p7umeXut83+2qW7du3apTv3v63Lr31rWRkUhowOZViPc6Nutpbq/8WPVO8173sYtJ6kgDusI7yme2nYdTdIZQj0NH1vrgwYNtc+bMyb344otzCgsL87KysnLT0tKym5ub6+rr62vKy8urd+7cWfv444/XlJSUAGSB2VfoKw3HM9KBBqQzOsiSspsEXgmhCMTtDGT2TTfdNDwvL28kQzvC6XSOcDgcQ2w2Wzfenme323M5nuN2uwPql/O5OF+dy+Wq4X2rOV7Z2tpa3NLSsp9Pgv3V1dX7XnnllU/4RKnj7S5edNARl4WjRnQNBFS+njnJ4wKxHtp37NgxpG/fvlPY6l7CAI/kZTgv/YMBN1L64hPAzcAf5eUTXvax9d9x/PjxtZdcckkxH0OAF8gljNThE7acVIdbQLZzDyJuX7du3YChQ4dOycnJ+QJb5M+zFR4Qr73L1v4IW/h3amtr/3nw4MG1kyZNOsJ1FdglBOwpKakItwfQTz31VN4dd9wxnd2LL7J1/hzDPCxRSWDYD7BVf5fdmbeXLl26avbs2dXcFsCdkqCnCtwCNEL7gAEDnBs2bPh8QUHBnenp6TdyWi4vySY1TU1NKysqKl6cMGHCO0eOHGnhBuqQJ71FT3a4FczcqQgdu3btGtWvX787MzMzv8YWun+y0eyvPWzRjzY0NPzp2LFjL44ePXoP52vlRbfo/nZN6PRkhdvyoX/7299245GNe9iHvoMvBC9P6N6KQOX5gvRD9tGX8gjMovvuu6+SixRrjjCpJJngRluwAGz78uXLu0+dOvXbDPW3eL2QFyOeGihnyOevWbPm6VtvvfUsbwLcAnpSuCzJALcH1KtXr+4zduzYWbm5uf/OnZWMvrQnouGv1bD8ftu2bf937bXXnmgDPCkgT3S4lZXmDrGvX79+0EUXXTSbRz3u5fXM8Ps85Upo4FGWBbt3735q4sSJh7n1YskRJqQkKtyoN8B2vPzyyz2uueaaX2RnZ9/NN1bSE7IX4qjSfMOoqa6ubvFbb7318xkzZpRx1XDxKZY8jmoauCqJBjfqi8WB4bzNmzf/W/fu3R/j9R6Bm5o6OWyuErK1fMiKwuhfJ8VNZWUVtT/77MTHFrYNI8oIS8L444kEt7ggju3bt182bNiweXwHcXwnuy5pdwPYzrofMdiR8SaaW9wffFLc+N3RE/7xEStNrHhkCu/iXkgEuFFHBfb8+fMLb7vttkf4YvGb7II4u1g3CVm8vXEpORtfiGzdbbaWmpqW3724ou4/v/WDj8u5cMAd965KvMMt1tp56NCh24qKip7gmy99IttzyVWao3ERYekKcbnpxKmy5h/3HbVpGZcvdzzj1ooDnngUnHQOLI8++mhBZWXlC3369FlowI5tV9lt1KdPz7SFdaUTXnj00REF0kccxqWRjMdKWWBv2rTpUn7YfwnfWRwZ225NnKN3peXWtdDion0799TedfkXPvqY0+GLywWnni2m8Xiz3KgPLLbz6NGj3xgzZsw7BuyY8uH34E47jRxzUc47J/eN/wb6ixf0W1zxFC+VEWvtnDt3biE/ybagZ8+ez7CysngxEqcasNkoq6i785m6w1ctmDt3GB5xEMjjwiOIh0qgDjjJMG49hp9ae5Gt9fA47c+4r1a03BJvRbS43J/s3FN3R5ubIhebMR0Tj7XlFoudtm/fvmsuvfTSNQZsb2wSY91ptw0fMzrnrYObr7iGa5zGC9yUmBrPWMItYGOY7xZ+W/wvrIw8XowkqAa4Q/M+MzjjL0d2jL+FmxBzFyVWcOO4OLPT+AH6b/ELuAs5bp4LYSUkujDg6f37Ohee3ncVHjUWCx4TzmJxUAE7/eTJk4/06NHjKb7bGIt6JDpH8Vt/N9l7dnc8dfaTcY9wJWG0YjKSEm2oFNh80ZhRVlb2NL/D+KP47SFTs3A1UFiQ9qOakglPjx7dKyMWgEcTbgX2+PHjs3j6hCX8fMjXw1We2T/+NZCTY//65jeGLRk/vjuGdaNqwaN1NavA5salnz179jl+9evO+O+WxKxhrIYCA2mrtq71xdwLNt7P+Zp4kacLA+0W1vZoWG4BO4197McM2GH1V8LunJPtuLP84FWPcQOidpHZ1XCjfCxppaWl32Ef+6GE7R1T8bA1UJDveOjUnvHfAQ+8CBthl+uvgK6EGy6PAru4uPj23r17z/VXCZOeOhro1cs5t3T7uNu5xQJ4l7nGXQU3KqzGsfmF0+v79+8/P5oTR6YOKgnYUjfZ+vdLm7/vg7HXtwEOTroE8K6AWyy2kx9ZHTdkyJAlbY1IwJ4wVe4KDTAgacMHZy3Z9vbl47h83MkEhxEHvCvgRpnOefPmFfF49lLMU83rRowGPDRgs1POpRdlLZ33xJAi3iCAe+QJdyXSZ4sCmyuVwY+truA5RKaFW0Gzf2gaiNehQH+tqKt3vZkzaAOeRWnkRZ4m9Jc9pPRIWm6cKMrPPnz48HcN2CH1Q8pmzs6yTzux+8rvsgJkiDBiBjdScAvY8LOv4hd58UyBEaOBoDRQ1DPtEfa/r+LMEX2SMFJwoxzHE0880Yv97AXsZ6OSRowGgtIAeLl0VNaCJx4d0ot3wL9/RLiMxF8AKgKY4WcvY3dkOseNxEgDieZz62qqq29dlTNo422cFhH/O9wzBCeHgptfOHjAgK13lYmHqoHsLMf0ozvHPcD7yehJWMY3HLgtsBcvXnwB34F8ONTGmPxGA94a6FuU9vDiZy6+gNPDBjxcuNXoyA033PA4+01mLmzvnjLrIWuA36jP/dcb8h7nHcMePeks3JbV3rp167X8sVF8NMmI0UBENJCXa7/xo3fGXsuFhWW9Ows39nNed911uRdeeOEvI9IiU4jRgKaBi0Zk/vK663rDGxDAta3BRTsDt2W1n3/++Vk8jfDQ4A5lchkNBK+BNKdt6OJfD5rFewjcIV9chgq3BTZ/UGkY36wxz2cH318mZ4ga4Js7Dy1fMHpYZwHvDNzqIpI/1fEkX0Sab8+E2GEme/AasNltmdO/kP8k79Gpi8tQ4Las9rvvvjuBXxe7LvhqmpxGA53TQE6O7bp1r4+RW/PgNWj3JFS4ldXmW+zfY6vdudqavYwGQtAAOONb89/nXUK23sHCbVnt119//TKelmFqCPUzWY0GwtJAbq596j9eueQyLiSki8tQ4IbVdl555ZWzOTRmO6zuMjuHpgGbbfxlOeAOcIPDoPgLBm7LavM3H0fl5+d/KbSKmdxGA+FrID/P/qWXXxw1iksK2noHC7ey2pMnT8bQXzD7hN8aU4LRgIcGbPYpV3UDf0Fb70CgitV2LFq0aAhb7RkexzMrRgNR1ADPezJj0fyLhvAhYWzBbofuSbBwO6dOnfogX7miUCNGAzHRAA+cOP5lSt6DfPCgXJNg4HawO5LDs0XdFJMWmYMaDWgaKChw3DR5ck/MqBDwwrIjuMUlwTQN0/lzHvjuoBGjgZhqwG6ngmfnDsTbXgGtd0dwY5u6kBwwYMCt5qZNTPvUHLxNA+BwYP/0W3lVLiz9MuxvA6w2FsecOXN68fPaX2wr2wRGAzHXQF6O44tzZlsvEwur7erVEdzY5rz77rtv5s9S49anEaOBuNCA3W5L+/rt3W/mynTomnQEt3JJ+JvrmA3IiNFAXGmgX1FawC+m+YJbzLxjyZIlI/mNdtzTN2I0EFcayMqyXfbS7y4cyZWSURNw6yH+4MYOjokTJ95iLiQ99BX3K271Tx331Qy7guBy0vg8WG/FKoft4IbP4i3IpPztwsLCz3tvNOvxrYEW23iqKPs9VxKfnUlc4fncPSrvtUpYb2lygU+/frc33JZLcs899xSwS3KpxxFSdMVWv4dsle+Qzd0c9xqAGevm/AJVVBSTy+ViCDwhQQN8JLVLc1P7/bz39VXOuTye+/rK5zvNcz+U1ZG4XO5Lb5teWbBs1QHMUCXsWoV4w42yYLUd99133yQ2/dBVSoutbhc5997MmkscS4hOK2hxU1mlb7h9daj3f7r3uq99Yp3GJ67jnqktk5atopVcF3Dr0UnecKNNCu5+/fpNNv42m4PyN8jWdDTW/Rjy8TF22yPLTWeriFyWLQu5mLjeAbD26eaezMHfeQG3SLJaiwRdsK7g5icAJ+kbUjVuc+OziYkpPD0Cdc/nDk0EM9xJFedn2ybyrvizEnatknS4oQIsjlmzZvXMzs6+0MplIgmrAQHcwT0tHZxMYXaGe9QDX03vCW55kaap/vIFt33mzJlXt2VUmcxPYmsAgBfmsWkD4Nz9SbbYvnq1G7yC5Q7hRgYH35W82vjbiQ20d+11wL23JfI6OO1TSIBbXBMArsTbciu4eU4Sc1dSNJREoQKcZ9+DBY+U4F8AIv8GEleJUfrJyiTw2g5uGS0R2hXcPL79mSjVyxwmyhpwwkXJdVNFTeRGUQRwNEXiEkajedkZBF4FblUN/nHr5zDi9p/85Cd92NSzh2YkWTUAwAtgwcWkJXhD+UTKm3VLWh9uhmJYmiNwo5lY7Pw8yXDZaMLk1YAArkZRuOdhaRN5mXSxDdyCZ2FZrUgPKrj55s1QczEpKknuEIB347cRYcGFiEQMUf++3V1DubcEbtVx7Sw3v3UzLLm71LRO14AADqudyJKbaQO3ArdqjQ434naeB3CIsdyJ3M2h110Aj+QoSui16Pwe4DUnm4ZwCYphDhXcGC2Rcxahg0dKkMlIimkAgOdnu6mqzvdTg/Gujqx0G7jFiInFM0iHIME+atSo9MzMzAEqxfyknAbOAc4gMBWJdnGZke4eMOozmengmBcFuA63bdq0aYV4jDDletU02NIAAM/LOge3lZgYEceUMa2FXFWAbcEtKzaen4RHP42kugYE8M6Mg8uFqVh+6FLSfOlVtnU2v+yHcFCRG/xaPOt3KG29evUyN2989UAKpgHwXH4evKZee0A6SD0IsMgucQl9FaFvk7iEgfLr27vnucGvwK38E9lu42FAY7lFGyYkZcGz2YkFLgkg+TkOsdyqtjJaomjnZ7gN3AnQidGsosOhWXDrHZdo1iC4YwHgzEzfbglKsBm4g1NkquUSwGsb4neYEG5MTjp5WG6P0RIeBswxN3BSDd3g2gvAc/irox35wsGV1DW5UK/0DDemNlZeCI5ijQkikT91jY1GjAZ8asAX4AI7Qj3us4BOJOpl6nFfRaU77AI3Ntv00RK+gDBw+1KaSTuvgXOAu6mOZwqRuUcEOuSSuITn9+x8TC9L4hLqpTqdynIjCdbbc+6t1tbWFiQaMRroSAMAnF/MpXoA3lHGKG9rddk8+BWfG9WwNTU11fqaoSjKdTSHSwANAPCsjDYTGQf1xb9IYzPVclWU1UaVdLipoaEBG40YDQSlAR1wuYrzDlGQRZuPUmWb937+1r3L0/fnuQM9+NXhdhu4fWjfJHWoAQtwocwrtyQHC6vX7u1WvctDBkmrb7YBbstTErhVQl1dHb82asRoIDQNAHA8j+frIi+0ksLLzRe5wq/iGaMlQrq7oqLCw6yHdyizdypp4JwFd1MDzz4noyjRbD9OrMpaD8vtlqFAAO4uLy8X8qNZL3OsJNEAf6uGLfg5wKPdJMBdXuMCv4plHF/cElWX06dPV5vREqUK89NJDZwDPPouCv4tTpVTtV5tgVvRvnv37hoDt64eE++MBgB4Bs+hDGvqvaA8pIlIXPIhXdIkjx7KNskvIa4q9xyyA24Py40ViHvlypXVPNbNMzobMRoITwMW4F7FeMOJzZKmxwVa71DPg7hIczNVvba+SdwSJFszTgntbh4xKTHWW1RmwnA0AMDTYcG5kK5ccAXLIyUlfBiLY9Rb3BLEscFVW1tbghUjRgOR0IAFuOaKRKJc7zJqG2wlnObiRTwRBbfQjg0uHg781Fhu1oSRiGkAgKfxuJy3ixGpdVS0qtb9KQeKYQ4V02K5BXA3j5gUI7MRo4FIakAAj2SZelmnKuggr1scYxvg1hNaecTkoLHcUI2RSGtAAI+UxZZyUM89h1wwyviamcWzWG5sVyZ94cKFn/L3CxE3YjQQcQ0AcCfPjAMwIyVMq2vhasenXJ5iWMoVuIV2165duxp4xOSYZDCh0UCkNaADLtY3nLC+yXZs14EmfsPTuqAEz9ZoiQU3p7XW1NQY1wTaMdJlGsC7urDg4Qpc6JoGN/xtuCSw3MKyB9xi0l0nTpzYbPzucNVu9g+kAQE8lDFwlOnh0TDKJ8tsmznZ4pfjHpYb+yABGVq3bNmywbjdUImRrtYAAHeE4IML2HJC4OvIW/e3buB66pZbVbudz41MP/3pT3fziwvmNnxX96wpX2kAgHd2ZtnGFqr68QuO3eCWF59uCQ5iWe7q6uqms2fPbjWuCdRiJBoaEMBDORb4LKugLYwrvmGuw62KEcuNFQtujrccO3bsAwO30pH5iZIGBPBgR05QrWNltk0c4K33gHADcGRq2bBhw3rjd7MmjERVAwAccAcj8LfX7Wxdz3kFbvCLRYleDOIYnOEX9tWca93OnDmznmd+7aFypuiP48jjhMVIdDUQjNdQVecuK7iheSLXrJIXPO7KM6ko46wAl9fMOE0Rj0Q1YsJhC8O9mT+Vfb09Ub8EhFaFKc2taVReYRmDMEszu4eigY4Ad7HZPnyKMAQoVtvjYhLH0eHGusCNHVr27du3euDAgRGF21axm2zH1pLN3Yzjxb3YG89Qel02PzIM3bUXf9jjtSdf4i8def3s4veFW39l+StHHaODjaGW5zd/R8fw08pQy2ppddOuva2rGVPFKrdN4EYzlehuCRKwDuB5Pk/KGzlyZM/169e/z5/vi8gXFwC28x9fZrDh1ieOVNW7cBcscSqcAjWtbXRXf/l/K6/ed6rpDDcXr5fh9jtAtzrKl+XGRtDXzJa77siRI6tHjBhxUyRcE9vhV8lWe4SLTizJR3XZLtRiwMlIzDWAx/qOn6HV+04Rf1iQ4AKAV3Brgc1x6/Y74iIw71hwFjTxqMlKniBTtoUV2lyJS0c+f+GLJzc3EgcaYI+EthyilVwVAAVOhVmP2unj3LJBLLfyZe6///5NVVVVRzty7mXHZA8BeC6PJcF3M0tsdADbzF94OPq9P5OMb4NTsdweCPqDWwCHyW8uKSl5zcB9Tm95fDWSg8FSIzHRAC48SyvoNT64YpNDARvMeogvuJEBZh474axo5ikf/trM784bOacBATzYO2kmH1t5/quLxNLCCK/aSX8Fl7yI1Qav7cQf3DgLLL/7ySefLC4rK9turPd5/QHwbOODn1dIFGKw2uW1tP3/3qZiPpzub7ez2qhOMHDj7GjasWPHSy1qSBG7GYEGlAVnwI3/HR0dtLK53XWCXmLVC9hgE0Y4JLg5v9oBO8L8N82cOfM1nvah1FhvqOa85BoLfl4ZXRiD1a6sp9L7lil/G3CDS79goyr+LDe24Wyw/G5+9axh+/btf4jUsCAOkCwigEfCpzRl+PbN8ZDUzhP0h5oadbNG97d9Wm2wFQhuAVxZ729+85t/raysPGmsd/vTEoBn8dRhRiKvAWW1G+jk7OXqQlKstt9REqlBR3AjD8w+CgHcjUePHq3duXPnImO9WRs+xFhw31Y33H8jWO29J2jR0Qr1QSc8+QcewSX49CuB4IblRgHqopLDxm9/+9sr+E2dMmO9fesUY+DGgvvWTWdSYbVrmqjsxytpBfjjRS4mO/S3caxAcCOPWG8FOD9vUrVnz54XjfWGanyLAG5GUcIfRcFzJPtP0ov7jhPe6RWwA1pt9EwwcIv1Vn4379M4Z86cl9h6VxrrDRX6FgW4GQf3rZwgU2G1qxup8ud/V8N/YrXBYUCrjUMEAzfyifVWvvfGjRvLN2/e/LS5awnV+Bfc5MnCOHiE7s6lWjktTN22Unp6awmVs5aD9rWlR4KF29t6N8yYMWMFT96z07xnKar0HQLwTDOK4ls5HaTCHTlVTTvvWqR8bTyrLaMkQVltFB0s3MjrYb358yL1y5Ytm8vzm7iMewL1+BcB3PjgwfnguMPC85G4Xt5Gc3nShnrWbMhWG70RCtztrPfDDz/88f79+/9sLi79gy1bBHBZN6F/DeA2+4Ez9OdfvE4fc65OWW2UHgrcyC/WG38ROJsavv/97/+Gb8ufNdYb6ulY4H/DRUk13zmU9kKDlY109sd/pd9wFGDLhWRQIyTYXyRUuGG9cRAMC+Kg9e+9914ZX2D+mt0UXjUSSAMAPMP75b5AO6XQ9iama0sJ/XrjQSrjZotLAt7AHfgLWkKFGwUL4GrkhNfr+eJyJd+93Gbck+D0LoCHYtFSIS/uRJ6oom23v6BeIROwwVnIYKMnOgs33BPrriXHG+bNm/cIv45WY0ZPoNbAIoAHznk+By5IIXJhKnGV2JYuaXpe2R4o1PfR4/720/PocX/5O0rH6EhlA9U88096hPPp7gg4A28hWW0cqzNwYz/xvS3r/dxzzx1cvXr1L3j0hOfZCLkeKDPlBP43XBSAEcwCBQlEelz21dP0uGwPFOr76HF/++l59Li//P7S20ZHaO0++sXv31cfbvK22uAtZOks3DgQDijWG2da/V133fXm3r17l5ubO1BPcALA01PcB29mp4OnaVj+jcX0JmsNYMsIiVjt4JTplSscuGGeAbhYb1So7pZbbvnV8ePH9xr/20vTHaxaFpxNWyr41nob4WefrKG9dy6kX4EfXsQlAVfgq9NuQAS+SsKHPy829rt5gquWDydMmPCVjIyMdMzaKWI/8S5hMdJeA+r7MNyN6GwR0Zy/v/NIp+O4ckw9LsfR0/S4bA81xAx1VQ1U+8s19K1/7qVjXGYtL7Dc8oCUpg0cMTQJx3LjSDi4t3tSN3/+fPjfjxn/O7TOyGAXJQ2f0ODdsEAkPLfWtb9yLH/HD7Q9lNrhsqyBnY639tJjv39X+dlitQXssKw26hIu3ChDABf3BGdeHfvfq/jR2BVm/BsqCl4E8OD3SMycGM/ec4JW3LuYVnELADa4wb2TsN0RLkNJJOBGQTjLMBbpAfj06dOfLC4uft8ADhUFLwAcF5m6b5pMcVxAlpyl9298jp5krXiDDY7AU9gSKbhREVhwffSkjt+3rLn55pt/WFpa+rEZQQmtrwA3XJRkE4B9pJw+/trz9MPKOjVhvLc7Ao4iIpGGW/xv/L2o0ZMDBw5U8HyDD/HjscUteEDXSNAaEMCTxWrjgaiT1VT84Ev00IFTVMGKELDBiwz7RQzurrYNqqKHDh1q4tvzGyZfmHVNbsUHufz5byNBasDRZn7kvpiuOokj9LXgEJJHj/vKK/kk7Ex+7KOLlIUQdyBP19CJOa/Q/W/soSOchJERwB1RP5vLs6Qr4PZ55vHFZb2r1b1lXNHRa/muXKYB3OqDgBFfgOvg+CtAz6PHuyo/jqEvOA7WYbF5GrSKX71NDyzaQAc4SYb88O+O67SI+dlcliVdATcKB+CyyMFsH+w6WsnTAO+8pD9dx4CnGcBFNYFDAVwfBw+8V+xzAGyeKar+D+vpu798k7ZzjWCtxR3Rh/0iXtmugluvqECO0MbPD5zpmUs7RvamKQx4Rgp/S0rXUVBxAVwpkk1ivPviAPtsPVUv2Uizfvaq+jgToBarDbBhsdGcLpFowo0GqIas3kOnud0fjBlAk/nWc450Wpe0MMkKFV3BB9ddgHiLtzC27GOfmvcWPTj3DfqIuwFQY4ErolvshIab22KdnWiIasyGYqrkZwreu/ICmsivYBVIpyGzkY41IP92cpHZce7ob23icY/jVXToZ3+jB55fR59wDfCNSN1iR3xkxFcro2G55bhyhlqAf3yEanccp7WfG05j+XszRQAcf7VGAmsgHgHHyQawedqzXQ8up/949WNrVEQHO2J3IANpKZpwS10EbhV+eoYaV++lt68dRaPyM2mAAVzUFDgUwJEz1v436oBb6p+W0cZbX6CHNn1KpzkJUMPP1h+GYo/U+ifnaNdJtOHWwZZGus/UUMufPqS114+mfvkZNNxpLHjQPS6Ax9JFwRh2Hdtjnqzy9WnP0k9Ky9QNmpiCDQVGG27pNB1yxF31jeT63Xu07ooLqLx3N7oy3UFO6TjZyYS+NaAPqUbbgquhvkZq5FGwX13/ND3L/YgPnsLH9jXch76OmsQKbjRQQd0WWrAv30r7bXbaOLIPXZHppG7GTQmOBQ/AeZeuHj1B7/HEOXSikg4/vZZmzV5Ba/mwsNbiX8uoiNygQR9HVWIJtzQUjYaLYrkp6w5QOfvhb04aSn3YDx9m3BRRVcehAN7VFCk3hAfz9p6kN29fQD9Y+REd4poJ2GKx9TuPXV0ln4qJNdxotPeiQD9dTc3sprw39gI60zufxsFNkb9cny0xiUoDMtrUFTTBr1e30huo8e399D/TfkPPcj9V8oF1/1qeFRGLHbOeiTXcaLj0g1hvPXSv2EqfuG20bngRXc43fAod/H8rHRgzrcX5gS39tOlKjEI4IcDGmzPHKql43ts0i7/g+y6rQe44yoiIgC19GFNNwTWLF0FdcLJh4cf1Cd/p5Q9SqyW7ex7lLL2X7vjsILq3WyZ/vIBzWZ3ImYy01wDch3AFUOMZbJ5TpH7rYVrAs64uPVvtYan1N2hgrbGIwQr38GHtHw+WW28AlCKLnP0IW+ubyLX0A9pxqIzWXNib+vLk7oPlYtNArqvwfDwcvYgLUsu2eP9pemfOSvrBwyvpHe4HuCAyGgKwvZ/siwuwoYV4styojwieYsaCGT14dj1lxfl7YZYlz3j2drr6Xy6m2T3zqD+PqpAZNmTt+BGAiiVYgcWHC8L3H46+toOeenAZvc/7wuUAzAI01vVnRCLwP8ElRlDiFW40EXUTwAVyAG4tA3tR3oI76J4xA+mOvHTKgKtiIIfq2kswcANquCDVTdTIj0YsvXcpLSo9rcatYZ31RaDmU8Aa5Wp/0BinxDPcUA3qhwXuEwCHLw5LbgGO+MyraNCDk+nuEb1pOrsr6TyyYiBnxXiLP8ABNW6dswvStP8UrXrmPVr8x410mPfXgUYcUGOID1CLbx3CfwLvFUWJd7hFFagnrLhALq4KLjoF9IyvXkb9Zk+lmSOK6Cv8XfZMfl7cQC4a9BECatyIqW6gBob6b0+toT/+5SM1OQ5cDgEbcd0FAdRwQeIWaq6bkkSBG5VFXQVyWHFxVQC4QK7iU4ZTr4e/RLeN7kdfzcugXAU57xnOBRYfIykE1htv8yioG6lm1zH6y3/9nZat/UQ96CQgA2yJ+3JB4h5sdFYiwS1wCeDe/jjAFosOa57+2c9Q4X9/mW4Z3Zdm8J3OQszJJ3c7Uwl0AI0Fkw80sFPBU5iV7zpOL//0VVqx9VP1pTAALEAjrltq8asTwlpz3S1JRLil8gI5XBUs8MdlfFwgV8AX5lHW4zfSxCsG0vUDu9NEfnY8Xax5Ml+Awu0QK13bRE2lZ2n9llJ6g4f11pdXW4+h6hYacfjUcus8YVwQrnM7SWS40RjUXyAXn1wgB+ACucTTxw2mbj+cRlNH9aZp/QroYobcpmZ3QkFcUiJbdLHQ8Bnw0gC7Hu5jFbRzDz8Dwi/nrtlUom6VwzLLIhYa6zrUsNJiqRPCBeH6tpNEh1sa5AtyfXQFcAN6gVydAHdNoAF3j6PpQ3rQlIIcGoxRFoCubg5x5niHXYcZz3wAaIx6VNRSSXEZrV28iVYt2UBHuCkCrkCNdT0O10OsdMJDzW1Rkixw6+0R0MVd0V0WuQgV0MXKO798CRV9bRxdMbQHje3TjS7n0Za+cF0wdq7DjgPFwroDZIgCmkPAjDHpttGO4/zo6YcHy2jbnzbRlld30CnOAmB1qAVoPR1Ay4IjyMLRxJdkg1vvEbQNroq4KwI7ABeovUNsQz7nzHHU78YxdMWQnjSWn0q8LDuNemIObVyQAnbrwpQzQ3Tg9fi5rYF/BV7klLgijX9wIQiYEeKtcn7r5czJKvqo+AxtW7mdtvxxkxq+E+urwytwSyh5BGgu0XI/AlcywXIkM9zSFWLJBXSEFsQcB+BYF+glriBvS7dPGU6FUy+iwcOKaFBRPg3qlkUD89NpIFv4fmzdnQAez1OLK6POLK91bBPLq0IGFxd8AjHSsN5mlVt4/PlYVROV8qQ2paeq6DDPr3d4zW4q4WE7fAsdYAJWAVbiANk7DpiRJjAjVIflMGkFfZAqgrbqC+AF6Ahl8QU20mS7vo86WXIzyfm1K6jfZQNpQEEm5fP0w1lZaZTNw47Z7L9ns4XPZl8+i61+NsOdwQA3svWtY9+4ni1xHfvJdTw8V1fPS2Mz1Vc0UNVHpXTkT1voWE2DB5AAFFCK1RVgBWR9Xc8j+wjMEnJRyS2pBLfekzrkiCtQOdThFaB9wS0nhYRShne5so5jIy4CwCACmncolhWQCpwIJS7wAmyJ+8rrXS5nTx3RFZ46rfZsqQCohwK7Hgr4HaXpZUgcR9PjWBfo9LikIRSQBWZ93V8a0vUyJI5jpKRA6UY8NSAgeoeAGmmBQu/9UDrSvAXwQQRCPRRQA4X6PhI/V6r59al0oxZPDQisSPUVlzQ9lLx6iLi3AEiIHgqk3qHk886rCjA/7TWADjESugZ0vUncO5RSJV3W9VBAlTRZ9w6xXdIkrwkDaKAjxQfY1WwOoIFQdGvADaDMzmz+f6SMYEX4z7hMAAAAAElFTkSuQmCC'};return{FaviconsByHue,};});'use strict';Polymer({is:'tr-ui-b-info-bar-group',ready(){this.messages_=[];},clearMessages(){this.messages_=[];this.updateContents_();},addMessage(text,opt_buttons){opt_buttons=opt_buttons||[];for(let i=0;i<opt_buttons.length;i++){if(opt_buttons[i].buttonText===undefined){throw new Error('buttonText must be provided');}
9078if(opt_buttons[i].onClick===undefined){throw new Error('onClick must be provided');}}
9079this.messages_.push({text,buttons:opt_buttons||[]});this.updateContents_();},updateContents_(){Polymer.dom(this.$.messages).textContent='';this.messages_.forEach(function(message){const bar=document.createElement('tr-ui-b-info-bar');bar.message=message.text;bar.visible=true;message.buttons.forEach(function(button){bar.addButton(button.buttonText,button.onClick);},this);Polymer.dom(this.$.messages).appendChild(bar);},this);}});'use strict';Polymer({is:'tr-ui-b-toolbar-button'});'use strict';tr.exportTo('tr.ui',function(){const Task=tr.b.Task;function FindController(brushingStateController){this.brushingStateController_=brushingStateController;this.filterHits_=[];this.currentHitIndex_=-1;this.activePromise_=Promise.resolve();this.activeTask_=undefined;}
9080FindController.prototype={__proto__:Object.prototype,get model(){return this.brushingStateController_.model;},get brushingStateController(){return this.brushingStateController_;},enqueueOperation_(operation){let task;if(operation instanceof tr.b.Task){task=operation;}else{task=new tr.b.Task(operation,this);}
9081if(this.activeTask_){this.activeTask_=this.activeTask_.enqueue(task);}else{this.activeTask_=task;this.activePromise_=Task.RunWhenIdle(this.activeTask_);this.activePromise_.then(function(){this.activePromise_=undefined;this.activeTask_=undefined;}.bind(this));}},startFiltering(filterText){const sc=this.brushingStateController_;if(!sc)return;this.enqueueOperation_(function(){this.filterHits_=[];this.currentHitIndex_=-1;}.bind(this));let stateFromString;try{stateFromString=sc.uiStateFromString(filterText);}catch(e){this.enqueueOperation_(function(){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=e.message;overlay.title='UI State Navigation Error';overlay.visible=true;});return this.activePromise_;}
9082if(stateFromString!==undefined){this.enqueueOperation_(sc.navToPosition.bind(this,stateFromString,true));}else{if(filterText.length===0){this.enqueueOperation_(sc.findTextCleared.bind(sc));}else{const filter=new tr.c.FullTextFilter(filterText);const filterHitSet=new tr.model.EventSet();this.enqueueOperation_(sc.addAllEventsMatchingFilterToSelectionAsTask(filter,filterHitSet));this.enqueueOperation_(function(){this.filterHits_=filterHitSet.toArray();sc.findTextChangedTo(filterHitSet);}.bind(this));}}
9083return this.activePromise_;},get filterHits(){return this.filterHits_;},get currentHitIndex(){return this.currentHitIndex_;},find_(dir){const firstHit=this.currentHitIndex_===-1;if(firstHit&&dir<0){this.currentHitIndex_=0;}
9084const N=this.filterHits.length;this.currentHitIndex_=(this.currentHitIndex_+dir+N)%N;if(!this.brushingStateController_)return;this.brushingStateController_.findFocusChangedTo(new tr.model.EventSet(this.filterHits[this.currentHitIndex]));},findNext(){this.find_(1);},findPrevious(){this.find_(-1);}};return{FindController,};});'use strict';tr.exportTo('tr.ui.b',function(){function TimingTool(viewport,targetElement){this.viewport_=viewport;this.onMouseMove_=this.onMouseMove_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.targetElement_=targetElement;this.isMovingLeftEdge_=false;}
9085TimingTool.prototype={onEnterTiming(e){this.targetElement_.addEventListener('mousemove',this.onMouseMove_);this.targetElement_.addEventListener('dblclick',this.onDblClick_);},onBeginTiming(e){if(!this.isTouchPointInsideTrackBounds_(e.clientX,e.clientY)){return;}
9086const pt=this.getSnappedToEventPosition_(e);this.mouseDownAt_(pt.x,pt.y);this.updateSnapIndicators_(pt);},updateSnapIndicators_(pt){if(!pt.snapped)return;const ir=this.viewport_.interestRange;if(ir.min===pt.x){ir.leftSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);}
9087if(ir.max===pt.x){ir.rightSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);}},onUpdateTiming(e){const pt=this.getSnappedToEventPosition_(e);this.mouseMoveAt_(pt.x,pt.y,true);this.updateSnapIndicators_(pt);},onEndTiming(e){this.mouseUp_();},onExitTiming(e){this.targetElement_.removeEventListener('mousemove',this.onMouseMove_);this.targetElement_.removeEventListener('dblclick',this.onDblClick_);},onMouseMove_(e){if(e.button)return;const worldX=this.getWorldXFromEvent_(e);this.mouseMoveAt_(worldX,e.clientY,false);},onDblClick_(e){},isTouchPointInsideTrackBounds_(clientX,clientY){if(!this.viewport_||!this.viewport_.modelTrackContainer||!this.viewport_.modelTrackContainer.canvas){return false;}
9088const canvas=this.viewport_.modelTrackContainer.canvas;const canvasRect=canvas.getBoundingClientRect();if(clientX>=canvasRect.left&&clientX<=canvasRect.right&&clientY>=canvasRect.top&&clientY<=canvasRect.bottom){return true;}
9089return false;},mouseDownAt_(worldX,y){const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(ir.isEmpty){ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;return;}
9090if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.min=worldX;this.isMovingLeftEdge_=true;return;}
9091if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.rightSelected=true;ir.max=worldX;this.isMovingLeftEdge_=false;return;}
9092ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;},mouseMoveAt_(worldX,y,mouseDown){if(mouseDown){this.updateMovingEdge_(worldX);return;}
9093const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.rightSelected=false;return;}
9094if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.leftSelected=false;ir.rightSelected=true;return;}
9095ir.leftSelected=false;ir.rightSelected=false;return;},updateMovingEdge_(newWorldX){const ir=this.viewport_.interestRange;let a=ir.min;let b=ir.max;if(this.isMovingLeftEdge_){a=newWorldX;}else{b=newWorldX;}
9096if(a<=b){ir.setMinAndMax(a,b);}else{ir.setMinAndMax(b,a);}
9097if(ir.min===newWorldX){this.isMovingLeftEdge_=true;ir.leftSelected=true;ir.rightSelected=false;}else{this.isMovingLeftEdge_=false;ir.leftSelected=false;ir.rightSelected=true;}},mouseUp_(){const dt=this.viewport_.currentDisplayTransform;const ir=this.viewport_.interestRange;ir.leftSelected=false;ir.rightSelected=false;const pixelRatio=window.devicePixelRatio||1;const minWidthValue=dt.xViewVectorToWorld(2*pixelRatio);if(ir.range<minWidthValue){ir.reset();}},getWorldXFromEvent_(e){const pixelRatio=window.devicePixelRatio||1;const canvas=this.viewport_.modelTrackContainer.canvas;const worldOffset=canvas.getBoundingClientRect().left;const viewX=(e.clientX-worldOffset)*pixelRatio;return this.viewport_.currentDisplayTransform.xViewToWorld(viewX);},getSnappedToEventPosition_(e){const pixelRatio=window.devicePixelRatio||1;const EVENT_SNAP_RANGE=16*pixelRatio;const modelTrackContainer=this.viewport_.modelTrackContainer;const modelTrackContainerRect=modelTrackContainer.getBoundingClientRect();const viewport=this.viewport_;const dt=viewport.currentDisplayTransform;const worldMaxDist=dt.xViewVectorToWorld(EVENT_SNAP_RANGE);const worldX=this.getWorldXFromEvent_(e);const mouseY=e.clientY;const selection=new tr.model.EventSet();modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,mouseY,mouseY,selection);if(!selection.length){modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,modelTrackContainerRect.top,modelTrackContainerRect.bottom,selection);}
9098let minDistX=worldMaxDist;let minDistY=Infinity;const pixWidth=dt.xViewVectorToWorld(1);const result={x:worldX,y:mouseY-modelTrackContainerRect.top,height:0,snapped:false};const eventBounds=new tr.b.math.Range();for(const event of selection){const track=viewport.trackForEvent(event);const trackRect=track.getBoundingClientRect();eventBounds.reset();event.addBoundsToRange(eventBounds);let eventX;if(Math.abs(eventBounds.min-worldX)<Math.abs(eventBounds.max-worldX)){eventX=eventBounds.min;}else{eventX=eventBounds.max;}
9099const distX=eventX-worldX;const eventY=trackRect.top;const eventHeight=trackRect.height;const distY=Math.abs(eventY+eventHeight/2-mouseY);if((distX<=minDistX||Math.abs(distX-minDistX)<pixWidth)&&distY<minDistY){minDistX=distX;minDistY=distY;result.x=eventX;result.y=eventY+
9100modelTrackContainer.scrollTop-modelTrackContainerRect.top;result.height=eventHeight;result.snapped=true;}}
9101return result;}};return{TimingTool,};});'use strict';tr.exportTo('tr.ui',function(){const kDefaultPanAnimationDurationMs=100.0;const lerp=tr.b.math.lerp;function TimelineDisplayTransformPanAnimation(deltaX,deltaY,opt_durationMs){this.deltaX=deltaX;this.deltaY=deltaY;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;}
9102this.startPanX=undefined;this.startPanY=undefined;this.startTimeMs=undefined;}
9103TimelineDisplayTransformPanAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.deltaY!==0;},canTakeOverFor(existingAnimation){return existingAnimation instanceof TimelineDisplayTransformPanAnimation;},takeOverFor(existing,timestamp,target){const remainingDeltaXOnExisting=existing.goalPanX-target.panX;const remainingDeltaYOnExisting=existing.goalPanY-target.panY;let remainingTimeOnExisting=timestamp-(existing.startTimeMs+existing.durationMs);remainingTimeOnExisting=Math.max(remainingTimeOnExisting,0);this.deltaX+=remainingDeltaXOnExisting;this.deltaY+=remainingDeltaYOnExisting;this.durationMs+=remainingTimeOnExisting;},start(timestamp,target){this.startTimeMs=timestamp;this.startPanX=target.panX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.panX=lerp(percentDone,this.startPanX,this.goalPanX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalPanY);}
9104return timestamp>=this.startTimeMs+this.durationMs;},get goalPanX(){return this.startPanX+this.deltaX;},get goalPanY(){return this.startPanY+this.deltaY;}};function TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,goalFocalPointY,zoomInRatioX,opt_durationMs){this.goalFocalPointXWorld=goalFocalPointXWorld;this.goalFocalPointXView=goalFocalPointXView;this.goalFocalPointY=goalFocalPointY;this.zoomInRatioX=zoomInRatioX;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;}
9105this.startTimeMs=undefined;this.startScaleX=undefined;this.goalScaleX=undefined;this.startPanY=undefined;}
9106TimelineDisplayTransformZoomToAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.startPanY!==this.goalFocalPointY;},canTakeOverFor(existingAnimation){return false;},takeOverFor(existingAnimation,timestamp,target){this.goalScaleX=target.scaleX*this.zoomInRatioX;},start(timestamp,target){this.startTimeMs=timestamp;this.startScaleX=target.scaleX;this.goalScaleX=this.zoomInRatioX*target.scaleX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.scaleX=lerp(percentDone,this.startScaleX,this.goalScaleX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalFocalPointY);}
9107target.xPanWorldPosToViewPos(this.goalFocalPointXWorld,this.goalFocalPointXView);return timestamp>=this.startTimeMs+this.durationMs;}};return{TimelineDisplayTransformPanAnimation,TimelineDisplayTransformZoomToAnimation,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const DrawType={GENERAL_EVENT:1,INSTANT_EVENT:2,BACKGROUND:3,GRID:4,FLOW_ARROWS:5,MARKERS:6,HIGHLIGHTS:7,ANNOTATIONS:8};const MAX_OVERSIZE_MULTIPLE=3.0;const REDRAW_SLOP=(MAX_OVERSIZE_MULTIPLE-1)/2;const DrawingContainer=tr.ui.b.define('drawing-container',tr.ui.tracks.Track);DrawingContainer.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('drawing-container');this.canvas_=document.createElement('canvas');this.canvas_.className='drawing-container-canvas';this.canvas_.style.left=tr.ui.b.constants.HEADING_WIDTH+'px';Polymer.dom(this).appendChild(this.canvas_);this.ctx_=this.canvas_.getContext('2d');this.offsetY_=0;this.viewportChange_=this.viewportChange_.bind(this);this.viewport.addEventListener('change',this.viewportChange_);window.addEventListener('resize',this.windowResized_.bind(this));this.addEventListener('scroll',this.scrollChanged_.bind(this));},get canvas(){return this.canvas_;},context(){return this.ctx_;},viewportChange_(){this.invalidate();},windowResized_(){this.invalidate();},scrollChanged_(){if(this.updateOffsetY_()){this.invalidate();}},invalidate(){if(this.rafPending_)return;this.rafPending_=true;tr.b.requestPreAnimationFrame(this.preDraw_,this);},preDraw_(){this.rafPending_=false;this.updateCanvasSizeIfNeeded_();tr.b.requestAnimationFrameInThisFrameIfPossible(this.draw_,this);},draw_(){this.ctx_.clearRect(0,0,this.canvas_.width,this.canvas_.height);const typesToDraw=[DrawType.BACKGROUND,DrawType.HIGHLIGHTS,DrawType.GRID,DrawType.INSTANT_EVENT,DrawType.GENERAL_EVENT,DrawType.MARKERS,DrawType.ANNOTATIONS,DrawType.FLOW_ARROWS];for(const idx in typesToDraw){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;}
9108this.children[i].drawTrack(typesToDraw[idx]);}}
9109const pixelRatio=window.devicePixelRatio||1;const bounds=this.canvas_.getBoundingClientRect();const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.viewport.drawGridLines(this.ctx_,viewLWorld,viewRWorld);},updateOffsetY_(){const maxYDelta=window.innerHeight*REDRAW_SLOP;let newOffset=this.scrollTop-maxYDelta;if(Math.abs(newOffset-this.offsetY_)<=maxYDelta)return false;const maxOffset=this.scrollHeight-
9110this.canvas_.getBoundingClientRect().height;newOffset=Math.max(0,Math.min(newOffset,maxOffset));if(newOffset!==this.offsetY_){this.offsetY_=newOffset;return true;}
9111return false;},updateCanvasSizeIfNeeded_(){const visibleChildTracks=tr.b.asArray(this.children).filter(this.visibleFilter_);if(visibleChildTracks.length===0){return;}
9112const thisBounds=this.getBoundingClientRect();const firstChildTrackBounds=visibleChildTracks[0].getBoundingClientRect();const lastChildTrackBounds=visibleChildTracks[visibleChildTracks.length-1].getBoundingClientRect();const innerWidth=firstChildTrackBounds.width-
9113tr.ui.b.constants.HEADING_WIDTH;const innerHeight=Math.min(lastChildTrackBounds.bottom-firstChildTrackBounds.top,Math.floor(window.innerHeight*MAX_OVERSIZE_MULTIPLE));const pixelRatio=window.devicePixelRatio||1;if(this.canvas_.width!==innerWidth*pixelRatio){this.canvas_.width=innerWidth*pixelRatio;this.canvas_.style.width=innerWidth+'px';}
9114if(this.canvas_.height!==innerHeight*pixelRatio){this.canvas_.height=innerHeight*pixelRatio;this.canvas_.style.height=innerHeight+'px';}
9115if(this.canvas_.top!==this.offsetY_){this.canvas_.top=this.offsetY_;this.canvas_.style.top=this.offsetY_+'px';}},visibleFilter_(element){if(!(element instanceof tr.ui.tracks.Track))return false;return window.getComputedStyle(element).display!=='none';},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;}
9116const trackClientRect=this.children[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.children[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}}
9117tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;}
9118this.children[i].addEventsToTrackMap(eventToTrackMap);}}};return{DrawingContainer,DrawType,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;function ProxySelectableItem(modelItem){SelectableItem.call(this,modelItem);}
9119ProxySelectableItem.prototype={__proto__:SelectableItem.prototype,get selectionState(){const modelItem=this.modelItem_;if(modelItem===undefined){return SelectionState.NONE;}
9120return modelItem.selectionState;}};return{ProxySelectableItem,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const LetterDotTrack=tr.ui.b.define('letter-dot-track',tr.ui.tracks.Track);LetterDotTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('letter-dot-track');this.items_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get items(){return this.items_;},set items(items){this.items_=items;this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get dumpRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){if(this.items_===undefined)return;switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const dumpRadiusView=this.dumpRadiusView;const itemRadiusWorld=dt.xViewVectorToWorld(height);const items=this.items_;const loI=tr.b.math.findLowIndexInSortedArray(items,function(item){return item.start;},viewLWorld);const oldFont=ctx.font;ctx.font='400 '+Math.floor(9*pixelRatio)+'px Arial';ctx.strokeStyle='rgb(0,0,0)';ctx.textBaseline='middle';ctx.textAlign='center';const drawItems=function(selected){for(let i=loI;i<items.length;++i){const item=items[i];const x=item.start;if(x-itemRadiusWorld>viewRWorld)break;if(item.selected!==selected)continue;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getSelectableItemColorAsString(item);ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView+0.5,0,twoPi);ctx.fill();if(item.selected){ctx.lineWidth=3;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView,0,twoPi);ctx.lineWidth=1.5;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}
9121ctx.fillStyle='rgb(255, 255, 255)';ctx.fillText(item.dotLetter,xView,halfHeight);}};drawItems(false);drawItems(true);ctx.lineWidth=1;ctx.font=oldFont;},addEventsToTrackMap(eventToTrackMap){if(this.items_===undefined)return;this.items_.forEach(function(item){item.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){if(this.items_===undefined)return;const itemRadiusWorld=viewPixWidthWorld*this.dumpRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.items_,function(x){return x.start-itemRadiusWorld;},function(x){return 2*itemRadiusWorld;},loWX,hiWX,function(item){item.addToSelection(selection);}.bind(this));},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.items_===undefined)return;const items=this.items_;const index=tr.b.findFirstIndexInArray(items,function(item){return item.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex>=0&&newIndex<items.length){items[newIndex].addToSelection(selection);return true;}
9122return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.items_===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.items_,function(x){return x.start;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};function LetterDot(modelItem,dotLetter,colorId,start){tr.model.ProxySelectableItem.call(this,modelItem);this.dotLetter=dotLetter;this.colorId=colorId;this.start=start;}
9123LetterDot.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{LetterDotTrack,LetterDot,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AlertTrack=tr.ui.b.define('alert-track',tr.ui.tracks.LetterDotTrack);AlertTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Alerts';this.alerts_=undefined;},get alerts(){return this.alerts_;},set alerts(alerts){this.alerts_=alerts;if(alerts===undefined){this.items=undefined;return;}
9124this.items=this.alerts_.map(function(alert){return new tr.ui.tracks.LetterDot(alert,String.fromCharCode(9888),alert.colorId,alert.start);});}};return{AlertTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Task=tr.b.Task;const ContainerTrack=tr.ui.b.define('container-track',tr.ui.tracks.Track);ContainerTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);},detach(){Polymer.dom(this).textContent='';},get tracks_(){const tracks=[];for(let i=0;i<this.children.length;i++){if(this.children[i]instanceof tr.ui.tracks.Track){tracks.push(this.children[i]);}}
9125return tracks;},drawTrack(type){this.tracks_.forEach(function(track){track.drawTrack(type);});},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);}}
9126tr.ui.tracks.Track.prototype.addIntersectingEventsInRangeToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(const track of this.tracks_){track.addEventsToTrackMap(eventToTrackMap);}},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.tracks_.length;i++){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);}},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const task=new Task();for(let i=0;i<this.tracks_.length;i++){task.subTask(function(i){return function(){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);};}(i),this);}
9127return task;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}}
9128tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addContainersToTrackMap(containerToTrackMap){this.tracks_.forEach(function(track){track.addContainersToTrackMap(containerToTrackMap);});},clearTracks_(){this.tracks_.forEach(function(track){Polymer.dom(this).removeChild(track);},this);}};return{ContainerTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartPoint(modelItem,x,y,opt_yBase){tr.model.ProxySelectableItem.call(this,modelItem);this.x=x;this.y=y;this.dotLetter=undefined;this.yBase=opt_yBase;}
9129ChartPoint.prototype={__proto__:tr.model.ProxySelectableItem.prototype,};return{ChartPoint,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const ChartSeriesType={LINE:0,AREA:1};const DEFAULT_RENDERING_CONFIG={chartType:ChartSeriesType.LINE,selectedPointSize:4,unselectedPointSize:3,solidSelectedDots:false,colorId:0,lineWidth:1,skipDistance:1,unselectedPointDensityTransparent:0.10,unselectedPointDensityOpaque:0.05,backgroundOpacity:0.5,stepGraph:true};const LAST_POINT_WIDTH=16;const DOT_LETTER_RADIUS_PX=7;const DOT_LETTER_RADIUS_PADDING_PX=0.5;const DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX=3;const DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX=1.5;const DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX=1;const DOT_LETTER_FONT_WEIGHT=400;const DOT_LETTER_FONT_SIZE_PX=9;const DOT_LETTER_FONT='Arial';const ChartSeriesComponent={BACKGROUND:0,LINE:1,DOTS:2};function ChartSeries(points,seriesYAxis,opt_renderingConfig){this.points=points;this.seriesYAxis=seriesYAxis;this.useRenderingConfig_(opt_renderingConfig);}
9130ChartSeries.prototype={useRenderingConfig_(opt_renderingConfig){const config=opt_renderingConfig||{};for(const[key,defaultValue]of
9131Object.entries(DEFAULT_RENDERING_CONFIG)){let value=config[key];if(value===undefined){value=defaultValue;}
9132this[key+'_']=value;}
9133this.topPadding=this.bottomPadding=Math.max(this.selectedPointSize_,this.unselectedPointSize_)/2;},get range(){const range=new tr.b.math.Range();this.points.forEach(function(point){range.addValue(point.y);},this);return range;},draw(ctx,transform,highDetails){if(this.points===undefined||this.points.length===0){return;}
9134if(this.chartType_===ChartSeriesType.AREA){this.drawComponent_(ctx,transform,ChartSeriesComponent.BACKGROUND,highDetails);}
9135if(this.chartType_===ChartSeriesType.LINE||highDetails){this.drawComponent_(ctx,transform,ChartSeriesComponent.LINE,highDetails);}
9136this.drawComponent_(ctx,transform,ChartSeriesComponent.DOTS,highDetails);},drawComponent_(ctx,transform,component,highDetails){let extraPixels=0;if(component===ChartSeriesComponent.DOTS){extraPixels=Math.max(this.selectedPointSize_,this.unselectedPointSize_);}
9137const pixelRatio=transform.pixelRatio;const leftViewX=transform.leftViewX-extraPixels*pixelRatio;const rightViewX=transform.rightViewX+extraPixels*pixelRatio;const leftTimestamp=transform.leftTimestamp-extraPixels;const rightTimestamp=transform.rightTimestamp+extraPixels;const firstVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},leftTimestamp);let lastVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},rightTimestamp);if(lastVisibleIndex>=this.points.length||this.points[lastVisibleIndex].x>rightTimestamp){lastVisibleIndex--;}
9138const viewSkipDistance=this.skipDistance_*pixelRatio;let selectedCircleRadius;let letterDotRadius;let squareSize;let squareHalfSize;let squareOpacity;let unselectedSeriesColor;let currentStateSeriesColor;ctx.save();ctx.font=DOT_LETTER_FONT_WEIGHT+' '+
9139Math.floor(DOT_LETTER_FONT_SIZE_PX*pixelRatio)+'px '+
9140DOT_LETTER_FONT;ctx.textBaseline='middle';ctx.textAlign='center';switch(component){case ChartSeriesComponent.DOTS:{selectedCircleRadius=(this.selectedPointSize_/2)*pixelRatio;letterDotRadius=Math.max(selectedCircleRadius,DOT_LETTER_RADIUS_PX*pixelRatio);squareSize=this.unselectedPointSize_*pixelRatio;squareHalfSize=squareSize/2;unselectedSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);if(!highDetails){squareOpacity=0;break;}
9141const visibleIndexRange=lastVisibleIndex-firstVisibleIndex;if(visibleIndexRange<=0){squareOpacity=1;break;}
9142const visibleViewXRange=transform.worldXToViewX(this.points[lastVisibleIndex].x)-
9143transform.worldXToViewX(this.points[firstVisibleIndex].x);if(visibleViewXRange===0){squareOpacity=1;break;}
9144const density=visibleIndexRange/visibleViewXRange;const clampedDensity=tr.b.math.clamp(density,this.unselectedPointDensityOpaque_,this.unselectedPointDensityTransparent_);const densityRange=this.unselectedPointDensityTransparent_-
9145this.unselectedPointDensityOpaque_;squareOpacity=(this.unselectedPointDensityTransparent_-clampedDensity)/densityRange;break;}
9146case ChartSeriesComponent.LINE:ctx.strokeStyle=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);ctx.lineWidth=this.lineWidth_*pixelRatio;break;case ChartSeriesComponent.BACKGROUND:break;default:throw new Error('Invalid component: '+component);}
9147let previousViewX=undefined;let previousViewY=undefined;let previousViewYBase=undefined;let lastSelectionState=undefined;let baseSteps=undefined;const startIndex=Math.max(firstVisibleIndex-1,0);let currentViewX;for(let i=startIndex;i<this.points.length;i++){const currentPoint=this.points[i];currentViewX=transform.worldXToViewX(currentPoint.x);if(currentViewX>rightViewX){if(previousViewX!==undefined){previousViewX=currentViewX=rightViewX;if(component===ChartSeriesComponent.BACKGROUND||component===ChartSeriesComponent.LINE){ctx.lineTo(currentViewX,previousViewY);}}
9148break;}
9149if(i+1<this.points.length){const nextPoint=this.points[i+1];const nextViewX=transform.worldXToViewX(nextPoint.x);if(previousViewX!==undefined&&nextViewX-previousViewX<=viewSkipDistance&&nextViewX<rightViewX){continue;}
9150if(currentViewX<leftViewX){currentViewX=leftViewX;}}
9151if(previousViewX!==undefined&&currentViewX-previousViewX<viewSkipDistance){currentViewX=previousViewX+viewSkipDistance;}
9152const currentViewY=Math.round(transform.worldYToViewY(currentPoint.y));let currentViewYBase;if(currentPoint.yBase===undefined){currentViewYBase=transform.outerBottomViewY;}else{currentViewYBase=Math.round(transform.worldYToViewY(currentPoint.yBase));}
9153const currentSelectionState=currentPoint.selectionState;if(currentSelectionState!==lastSelectionState){const opacity=currentSelectionState===SelectionState.SELECTED?1:squareOpacity;currentStateSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,opacity);}
9154switch(component){case ChartSeriesComponent.DOTS:if(currentPoint.dotLetter){ctx.fillStyle=unselectedSeriesColor;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius+DOT_LETTER_RADIUS_PADDING_PX,0,2*Math.PI);ctx.fill();if(currentSelectionState===SelectionState.SELECTED){ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('olive');ctx.stroke();ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius,0,2*Math.PI);ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('yellow');ctx.stroke();}else{ctx.lineWidth=DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.stroke();}
9155ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('white');ctx.fillText(currentPoint.dotLetter,currentViewX,currentViewY);}else{ctx.strokeStyle=unselectedSeriesColor;ctx.lineWidth=pixelRatio;if(currentSelectionState===SelectionState.SELECTED){if(this.solidSelectedDots_){ctx.fillStyle=ctx.strokeStyle;}else{ctx.fillStyle=currentStateSeriesColor;}
9156ctx.beginPath();ctx.arc(currentViewX,currentViewY,selectedCircleRadius,0,2*Math.PI);ctx.fill();ctx.stroke();}else if(squareOpacity>0){ctx.fillStyle=currentStateSeriesColor;ctx.fillRect(currentViewX-squareHalfSize,currentViewY-squareHalfSize,squareSize,squareSize);}}
9157break;case ChartSeriesComponent.LINE:if(previousViewX===undefined){ctx.beginPath();ctx.moveTo(currentViewX,currentViewY);}else if(this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);}
9158ctx.lineTo(currentViewX,currentViewY);break;case ChartSeriesComponent.BACKGROUND:if(previousViewX!==undefined&&this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);}else{ctx.lineTo(currentViewX,currentViewY);}
9159if(currentSelectionState!==lastSelectionState){if(previousViewX!==undefined){let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;}
9160ctx.closePath();ctx.fill();}
9161ctx.beginPath();ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,this.backgroundOpacity_);ctx.moveTo(currentViewX,currentViewYBase);baseSteps=[];}
9162if(currentViewYBase!==previousViewYBase||currentSelectionState!==lastSelectionState){baseSteps.push({viewX:currentViewX,viewY:currentViewYBase});}
9163ctx.lineTo(currentViewX,currentViewY);break;default:throw new Error('Not reachable');}
9164previousViewX=currentViewX;previousViewY=currentViewY;previousViewYBase=currentViewYBase;lastSelectionState=currentSelectionState;}
9165if(previousViewX!==undefined){switch(component){case ChartSeriesComponent.DOTS:break;case ChartSeriesComponent.LINE:ctx.stroke();break;case ChartSeriesComponent.BACKGROUND:{let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;}
9166ctx.closePath();ctx.fill();break;}
9167default:throw new Error('Not reachable');}}
9168ctx.restore();},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){const points=this.points;function getPointWidth(point,i){if(i===points.length-1){return LAST_POINT_WIDTH*viewPixWidthWorld;}
9169const nextPoint=points[i+1];return nextPoint.x-point.x;}
9170function selectPoint(point){point.addToSelection(selection);}
9171tr.b.math.iterateOverIntersectingIntervals(this.points,function(point){return point.x;},getPointWidth,loWX,hiWX,selectPoint);},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.points===undefined)return false;const index=tr.b.findFirstIndexInArray(this.points,function(point){return point.modelItem===event;},this);if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.points.length)return false;this.points[newIndex].addToSelection(selection);return true;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.points===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.points,function(point){return point.x;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};return{ChartSeries,ChartSeriesType,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const IDEAL_MAJOR_MARK_HEIGHT_PX=30;const AXIS_LABLE_MARGIN_PX=10;const AXIS_LABLE_FONT_SIZE_PX=9;const AXIS_LABLE_FONT='Arial';function ChartSeriesYAxis(opt_min,opt_max){this.guid_=tr.b.GUID.allocateSimple();this.bounds=new tr.b.math.Range();if(opt_min!==undefined)this.bounds.addValue(opt_min);if(opt_max!==undefined)this.bounds.addValue(opt_max);}
9172ChartSeriesYAxis.prototype={get guid(){return this.guid_;},valueToUnitRange(value){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');}
9173const bounds=this.bounds;if(bounds.range===0)return 0;return(value-bounds.min)/bounds.range;},unitRangeToValue(unitRange){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');}
9174return unitRange*this.bounds.range+this.bounds.min;},autoSetFromSeries(series,opt_config){const range=new tr.b.math.Range();series.forEach(function(s){range.addRange(s.range);},this);this.autoSetFromRange(range,opt_config);},autoSetFromRange(range,opt_config){if(range.isEmpty)return;const bounds=this.bounds;if(bounds.isEmpty){bounds.addRange(range);return;}
9175if(!opt_config)return;const useRangeMin=(opt_config.expandMin&&range.min<bounds.min||opt_config.shrinkMin&&range.min>bounds.min);const useRangeMax=(opt_config.expandMax&&range.max>bounds.max||opt_config.shrinkMax&&range.max<bounds.max);if(!useRangeMin&&!useRangeMax)return;if(useRangeMin&&useRangeMax){bounds.min=range.min;bounds.max=range.max;return;}
9176if(useRangeMin){bounds.min=Math.min(range.min,bounds.max);}else{bounds.max=Math.max(range.max,bounds.min);}},majorMarkHeightWorld_(transform,pixelRatio){const idealMajorMarkHeightPx=IDEAL_MAJOR_MARK_HEIGHT_PX*pixelRatio;const idealMajorMarkHeightWorld=transform.vectorToWorldDistance(idealMajorMarkHeightPx);return tr.b.math.preferredNumberLargerThanMin(idealMajorMarkHeightWorld);},draw(ctx,transform,showYAxisLabels,showYGridLines){if(!showYAxisLabels&&!showYGridLines)return;const pixelRatio=transform.pixelRatio;const viewTop=transform.outerTopViewY;const worldTop=transform.viewYToWorldY(viewTop);const viewBottom=transform.outerBottomViewY;const viewHeight=viewBottom-viewTop;const viewLeft=transform.leftViewX;const viewRight=transform.rightViewX;const labelLeft=transform.leftYLabel;ctx.save();ctx.lineWidth=pixelRatio;ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.textAlign='left';ctx.textBaseline='center';ctx.font=(AXIS_LABLE_FONT_SIZE_PX*pixelRatio)+'px '+AXIS_LABLE_FONT;ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');tr.ui.b.drawLine(ctx,viewLeft,viewTop,viewLeft,viewBottom,viewLeft);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('grey');const majorMarkHeight=this.majorMarkHeightWorld_(transform,pixelRatio);const maxMajorMark=Math.max(transform.viewYToWorldY(viewTop),Math.abs(transform.viewYToWorldY(viewBottom)));for(let curWorldY=0;curWorldY<=maxMajorMark;curWorldY+=majorMarkHeight){const roundedUnitValue=Math.floor(curWorldY*1000000)/1000000;const curViewYPositive=transform.worldYToViewY(curWorldY);if(curViewYPositive>=viewTop){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYPositive-AXIS_LABLE_MARGIN_PX);}
9177if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYPositive,viewRight,curViewYPositive);}}
9178const curViewYNegative=transform.worldYToViewY(-1*curWorldY);if(curViewYNegative<=viewBottom){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYNegative-AXIS_LABLE_MARGIN_PX);}
9179if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYNegative,viewRight,curViewYNegative);}}}
9180ctx.stroke();ctx.restore();}};return{ChartSeriesYAxis,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartTransform(displayTransform,axis,trackWidth,trackHeight,topPadding,bottomPadding,pixelRatio){this.pixelRatio=pixelRatio;this.leftViewX=0;this.rightViewX=trackWidth;this.leftTimestamp=displayTransform.xViewToWorld(this.leftViewX);this.rightTimestamp=displayTransform.xViewToWorld(this.rightViewX);this.displayTransform_=displayTransform;this.outerTopViewY=0;this.innerTopViewY=topPadding;this.innerBottomViewY=trackHeight-bottomPadding;this.outerBottomViewY=trackHeight;this.axis_=axis;this.innerHeight_=this.innerBottomViewY-this.innerTopViewY;}
9181ChartTransform.prototype={worldXToViewX(worldX){return this.displayTransform_.xWorldToView(worldX);},viewXToWorldX(viewX){return this.displayTransform_.xViewToWorld(viewX);},vectorToWorldDistance(viewY){return this.axis_.bounds.range*Math.abs(viewY/this.innerHeight_);},viewYToWorldY(viewY){return this.axis_.unitRangeToValue(1-(viewY-this.innerTopViewY)/this.innerHeight_);},worldYToViewY(worldY){const innerHeightCoefficient=1-this.axis_.valueToUnitRange(worldY);return innerHeightCoefficient*this.innerHeight_+this.innerTopViewY;}};return{ChartTransform,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ChartTrack=tr.ui.b.define('chart-track',tr.ui.tracks.Track);ChartTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('chart-track');this.series_=undefined;this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;this.showYAxisLabels_=undefined;this.showGridLines_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get series(){return this.series_;},set series(series){this.series_=series;this.calculateAxisDataAndPadding_();this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get showYAxisLabels(){return this.showYAxisLabels_;},set showYAxisLabels(showYAxisLabels){this.showYAxisLabels_=showYAxisLabels;this.invalidateDrawingContainer();},get showGridLines(){return this.showGridLines_;},set showGridLines(showGridLines){this.showGridLines_=showGridLines;this.invalidateDrawingContainer();},get hasVisibleContent(){return!!this.series&&this.series.length>0;},calculateAxisDataAndPadding_(){if(!this.series_){this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;return;}
9182const axisGuidToAxisData={};let topPadding=0;let bottomPadding=0;this.series_.forEach(function(series){const seriesYAxis=series.seriesYAxis;const axisGuid=seriesYAxis.guid;if(!(axisGuid in axisGuidToAxisData)){axisGuidToAxisData[axisGuid]={axis:seriesYAxis,series:[]};if(!this.axes_)this.axes_=[];this.axes_.push(seriesYAxis);}
9183axisGuidToAxisData[axisGuid].series.push(series);topPadding=Math.max(topPadding,series.topPadding);bottomPadding=Math.max(bottomPadding,series.bottomPadding);},this);this.axisGuidToAxisData_=axisGuidToAxisData;this.topPadding_=topPadding;this.bottomPadding_=bottomPadding;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawChart_(viewLWorld,viewRWorld);break;}},drawChart_(viewLWorld,viewRWorld){if(!this.series_)return;const ctx=this.context();const displayTransform=this.viewport.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const highDetails=this.viewport.highDetails;const width=bounds.width*pixelRatio;const height=bounds.height*pixelRatio;const topPadding=this.topPadding_*pixelRatio;const bottomPadding=this.bottomPadding_*pixelRatio;ctx.save();ctx.beginPath();ctx.rect(0,0,width,height);ctx.clip();if(this.axes_){if((this.showGridLines_||this.showYAxisLabels_)&&this.axes_.length>1){throw new Error('Only one axis allowed when showing grid lines.');}
9184for(const yAxis of this.axes_){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,yAxis,width,height,topPadding,bottomPadding,pixelRatio);yAxis.draw(ctx,chartTransform,this.showYAxisLabels_,this.showGridLines_);}}
9185for(const series of this.series){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,series.seriesYAxis,width,height,topPadding,bottomPadding,pixelRatio);series.draw(ctx,chartTransform,highDetails);}
9186ctx.restore();},addEventsToTrackMap(eventToTrackMap){this.series_.forEach(function(series){series.points.forEach(function(point){point.addToTrackMap(eventToTrackMap,this);},this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){this.series_.forEach(function(series){series.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},this);},addEventNearToProvidedEventToSelection(event,offset,selection){let foundItem=false;this.series_.forEach(function(series){foundItem=foundItem||series.addEventNearToProvidedEventToSelection(event,offset,selection);},this);return foundItem;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.series_.forEach(function(series){series.addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);},this);},autoSetAllAxes(opt_config){for(const axisData of Object.values(this.axisGuidToAxisData_)){const seriesYAxis=axisData.axis;const series=axisData.series;seriesYAxis.autoSetFromSeries(series,opt_config);}},autoSetAxis(seriesYAxis,opt_config){const series=this.axisGuidToAxisData_[seriesYAxis.guid].series;seriesYAxis.autoSetFromSeries(series,opt_config);}};return{ChartTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const CpuUsageTrack=tr.ui.b.define('cpu-usage-track',ChartTrack);CpuUsageTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);this.classList.add('cpu-usage-track');this.heading='CPU usage';this.cpuUsageSeries_=undefined;},initialize(model){if(model!==undefined){this.cpuUsageSeries_=model.device.cpuUsageSeries;}else{this.cpuUsageSeries_=undefined;}
9187this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return!!this.cpuUsageSeries_&&this.cpuUsageSeries_.samples.length>0;},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.series_,this);},buildChartSeries_(yAxis,color){if(!this.hasVisibleContent)return[];yAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const usageSamples=this.cpuUsageSeries_.samples;const pts=new Array(usageSamples.length+1);for(let i=0;i<usageSamples.length;i++){pts[i]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[i].start,usageSamples[i].usage);}
9188pts[usageSamples.length]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[usageSamples.length-1].start,0);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:color};return[new tr.ui.tracks.ChartSeries(pts,yAxis,renderingConfig)];},};return{CpuUsageTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const PowerSeriesTrack=tr.ui.b.define('power-series-track',ChartTrack);PowerSeriesTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('power-series-track');this.heading='Power';this.powerSeries_=undefined;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return(this.powerSeries_&&this.powerSeries_.samples.length>0);},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.powerSeries_,this);},buildChartSeries_(){if(!this.hasVisibleContent)return[];const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const pts=this.powerSeries_.samples.map(function(smpl){return new tr.ui.tracks.ChartPoint(smpl,smpl.start,smpl.powerInW);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:ColorScheme.getColorIdForGeneralPurposeString(this.heading)};return[new tr.ui.tracks.ChartSeries(pts,seriesYAxis,renderingConfig)];}};return{PowerSeriesTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SpacingTrack=tr.ui.b.define('spacing-track',tr.ui.tracks.Track);SpacingTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('spacing-track');this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},addAllEventsMatchingFilterToSelection(filter,selection){}};return{SpacingTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ContainerTrack=tr.ui.tracks.ContainerTrack;const DeviceTrack=tr.ui.b.define('device-track',ContainerTrack);DeviceTrack.prototype={__proto__:ContainerTrack.prototype,decorate(viewport){ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('device-track');this.device_=undefined;this.powerSeriesTrack_=undefined;},get device(){return this.device_;},set device(device){this.device_=device;this.updateContents_();},get powerSeriesTrack(){return this.powerSeriesTrack_;},get hasVisibleContent(){return(this.powerSeriesTrack_&&this.powerSeriesTrack_.hasVisibleContent);},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.device,this);},addEventsToTrackMap(eventToTrackMap){this.tracks_.forEach(function(track){track.addEventsToTrackMap(eventToTrackMap);});},appendPowerSeriesTrack_(){this.powerSeriesTrack_=new tr.ui.tracks.PowerSeriesTrack(this.viewport);this.powerSeriesTrack_.powerSeries=this.device.powerSeries;if(this.powerSeriesTrack_.hasVisibleContent){Polymer.dom(this).appendChild(this.powerSeriesTrack_);Polymer.dom(this).appendChild(new tr.ui.tracks.SpacingTrack(this.viewport));}},updateContents_(){this.clearTracks_();this.appendPowerSeriesTrack_();}};return{DeviceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;function extractGlobalMemoryDumpUsedSizes(globalMemoryDump,addSize){for(const[pid,pmd]of
9189Object.entries(globalMemoryDump.processMemoryDumps)){const mostRecentVmRegions=pmd.mostRecentVmRegions;if(mostRecentVmRegions===undefined)continue;addSize(pid,mostRecentVmRegions.byteStats.proportionalResident||0,pmd.process.userFriendlyName);}}
9190function extractProcessMemoryDumpAllocatorSizes(processMemoryDump,addSize){const allocatorDumps=processMemoryDump.memoryAllocatorDumps;if(allocatorDumps===undefined)return;allocatorDumps.forEach(function(allocatorDump){if(allocatorDump.fullName==='tracing')return;const allocatorSize=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(allocatorSize===undefined)return;const allocatorSizeValue=allocatorSize.value;if(allocatorSizeValue===undefined)return;addSize(allocatorDump.fullName,allocatorSizeValue);});}
9191function extractGlobalMemoryDumpAllocatorSizes(globalMemoryDump,addSize){for(const pmd of Object.values(globalMemoryDump.processMemoryDumps)){extractProcessMemoryDumpAllocatorSizes(pmd,addSize);}}
9192function buildMemoryChartSeries(memoryDumps,dumpSizeExtractor){const dumpCount=memoryDumps.length;const idToTimestampToPoint={};const idToName={};memoryDumps.forEach(function(dump,index){dumpSizeExtractor(dump,function addSize(id,size,opt_name){let timestampToPoint=idToTimestampToPoint[id];if(timestampToPoint===undefined){idToTimestampToPoint[id]=timestampToPoint=new Array(dumpCount);for(let i=0;i<dumpCount;i++){const modelItem=memoryDumps[i];timestampToPoint[i]=new tr.ui.tracks.ChartPoint(modelItem,modelItem.start,0);}}
9193timestampToPoint[index].y+=size;if(opt_name!==undefined)idToName[id]=opt_name;});});const ids=Object.keys(idToTimestampToPoint);if(ids.length===0)return undefined;ids.sort();for(let i=0;i<dumpCount;i++){let baseSize=0;for(let j=ids.length-1;j>=0;j--){const point=idToTimestampToPoint[ids[j]][i];point.yBase=baseSize;point.y+=baseSize;baseSize=point.y;}}
9194const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0);const series=ids.map(function(id){const colorId=ColorScheme.getColorIdForGeneralPurposeString(idToName[id]||id);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId,backgroundOpacity:0.8};return new tr.ui.tracks.ChartSeries(idToTimestampToPoint[id],seriesYAxis,renderingConfig);});series.reverse();return series;}
9195function buildMemoryLetterDots(memoryDumps){const backgroundMemoryColorId=ColorScheme.getColorIdForReservedName('background_memory_dump');const lightMemoryColorId=ColorScheme.getColorIdForReservedName('light_memory_dump');const detailedMemoryColorId=ColorScheme.getColorIdForReservedName('detailed_memory_dump');return memoryDumps.map(function(memoryDump){let memoryColorId;switch(memoryDump.levelOfDetail){case BACKGROUND:memoryColorId=backgroundMemoryColorId;break;case DETAILED:memoryColorId=detailedMemoryColorId;break;case LIGHT:default:memoryColorId=lightMemoryColorId;}
9196return new tr.ui.tracks.LetterDot(memoryDump,'M',memoryColorId,memoryDump.start);});}
9197function buildGlobalUsedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpUsedSizes);}
9198function buildProcessAllocatedMemoryChartSeries(processMemoryDumps){return buildMemoryChartSeries(processMemoryDumps,extractProcessMemoryDumpAllocatorSizes);}
9199function buildGlobalAllocatedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpAllocatorSizes);}
9200return{buildMemoryLetterDots,buildGlobalUsedMemoryChartSeries,buildProcessAllocatedMemoryChartSeries,buildGlobalAllocatedMemoryChartSeries,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const USED_MEMORY_TRACK_HEIGHT=50;const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const GlobalMemoryDumpTrack=tr.ui.b.define('global-memory-dump-track',tr.ui.tracks.ContainerTrack);GlobalMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendDumpDotsTrack_();this.appendUsedMemoryTrack_();this.appendAllocatedMemoryTrack_();},appendDumpDotsTrack_(){const items=tr.ui.tracks.buildMemoryLetterDots(this.memoryDumps_);if(!items)return;const track=new tr.ui.tracks.LetterDotTrack(this.viewport);track.heading='Memory Dumps';track.items=items;Polymer.dom(this).appendChild(track);},appendUsedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalUsedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per process';track.height=USED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{GlobalMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.b',function(){function FastRectRenderer(ctx,minRectSize,maxMergeDist,pallette){this.ctx_=ctx;this.minRectSize_=minRectSize;this.maxMergeDist_=maxMergeDist;this.pallette_=pallette;}
9201FastRectRenderer.prototype={y_:0,h_:0,merging_:false,mergeStartX_:0,mergeCurRight_:0,mergedColorId_:0,mergedAlpha_:0,setYandH(y,h){if(this.y_===y&&this.h_===h){return;}
9202this.flush();this.y_=y;this.h_=h;},fillRect(x,w,colorId,alpha){const r=x+w;if(w<this.minRectSize_){if(r-this.mergeStartX_>this.maxMergeDist_){this.flush();}
9203if(!this.merging_){this.merging_=true;this.mergeStartX_=x;this.mergeCurRight_=r;this.mergedColorId_=colorId;this.mergedAlpha_=alpha;}else{this.mergeCurRight_=r;if(this.mergedAlpha_<alpha||(this.mergedAlpha_===alpha&&this.mergedColorId_<colorId)){this.mergedAlpha_=alpha;this.mergedColorId_=colorId;}}}else{if(this.merging_){this.flush();}
9204this.ctx_.fillStyle=this.pallette_[colorId];this.ctx_.globalAlpha=alpha;this.ctx_.fillRect(x,this.y_,w,this.h_);}},flush(){if(this.merging_){this.ctx_.fillStyle=this.pallette_[this.mergedColorId_];this.ctx_.globalAlpha=this.mergedAlpha_;this.ctx_.fillRect(this.mergeStartX_,this.y_,this.mergeCurRight_-this.mergeStartX_,this.h_);this.merging_=false;}}};return{FastRectRenderer,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const RectTrack=tr.ui.b.define('rect-track',tr.ui.tracks.Track);RectTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('rect-track');this.asyncStyle_=false;this.rects_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},set selectionGenerator(generator){this.heading_.selectionGenerator=generator;},set expanded(expanded){this.heading_.expanded=!!expanded;},set arrowVisible(arrowVisible){this.heading_.arrowVisible=!!arrowVisible;},get expanded(){return this.heading_.expanded;},get asyncStyle(){return this.asyncStyle_;},set asyncStyle(v){this.asyncStyle_=!!v;},get rects(){return this.rects_;},set rects(rects){this.rects_=rects||[];this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get hasVisibleContent(){return this.rects_.length>0;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawRects_(viewLWorld,viewRWorld);break;}},drawRects_(viewLWorld,viewRWorld){const ctx=this.context();ctx.save();const bounds=this.getBoundingClientRect();tr.ui.b.drawSlices(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.rects_,this.asyncStyle_);ctx.restore();if(bounds.height<=6)return;let fontSize;let yOffset;if(bounds.height<15){fontSize=6;yOffset=1.0;}else{fontSize=10;yOffset=2.5;}
9205tr.ui.b.drawLabels(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,this.rects_,this.asyncStyle_,fontSize,yOffset);},addEventsToTrackMap(eventToTrackMap){if(this.rects_===undefined||this.rects_===null){return;}
9206this.rects_.forEach(function(rect){rect.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onRect(rect){rect.addToSelection(selection);}
9207onRect=onRect.bind(this);const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.rects_,function(x){return x.start;},function(x){return x.duration===0?x.duration+instantEventWidth:x.duration;},loWX,hiWX,onRect);},addEventNearToProvidedEventToSelection(event,offset,selection){const index=tr.b.findFirstIndexInArray(this.rects_,function(rect){return rect.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.rects_.length)return false;this.rects_[newIndex].addToSelection(selection);return true;},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.rects_.length;++i){const modelItem=this.rects_[i].modelItem;if(!modelItem)continue;if(filter.matchSlice(modelItem)){selection.push(modelItem);}}},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const rect=tr.b.math.findClosestIntervalInSortedIntervals(this.rects_,function(x){return x.start;},function(x){return x.end;},worldX,worldMaxDist);if(!rect)return;rect.addToSelection(selection);}};function Rect(modelItem,title,colorId,start,duration){tr.model.ProxySelectableItem.call(this,modelItem);this.title=title;this.colorId=colorId;this.start=start;this.duration=duration;this.end=start+duration;}
9208Rect.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{RectTrack,Rect,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceTrack=tr.ui.b.define('slice-track',tr.ui.tracks.RectTrack);SliceTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get slices(){return this.rects;},set slices(slices){this.rects=slices;}};return{SliceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CpuTrack=tr.ui.b.define('cpu-track',tr.ui.tracks.ContainerTrack);CpuTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('cpu-track');this.detailedMode_=true;},get cpu(){return this.cpu_;},set cpu(cpu){this.cpu_=cpu;this.updateContents_();},get detailedMode(){return this.detailedMode_;},set detailedMode(detailedMode){this.detailedMode_=detailedMode;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(value){this.tooltip_=value;this.updateContents_();},get hasVisibleContent(){if(this.cpu_===undefined)return false;const cpu=this.cpu_;if(cpu.slices.length)return true;if(cpu.samples&&cpu.samples.length)return true;if(Object.keys(cpu.counters).length>0)return true;return false;},updateContents_(){this.detach();if(!this.cpu_)return;const slices=this.cpu_.slices;if(slices.length){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;track.heading=this.cpu_.userFriendlyName+':';Polymer.dom(this).appendChild(track);}
9209if(this.detailedMode_){this.appendSamplesTracks_();for(const counterName in this.cpu_.counters){const counter=this.cpu_.counters[counterName];const track=new tr.ui.tracks.CounterTrack(this.viewport);track.heading=this.cpu_.userFriendlyName+' '+
9210counter.name+':';track.counter=counter;Polymer.dom(this).appendChild(track);}}},appendSamplesTracks_(){const samples=this.cpu_.samples;if(samples===undefined||samples.length===0){return;}
9211const samplesByTitle={};samples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];}
9212samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SliceTrack(this.viewport);samplesTrack.group=this.cpu_;samplesTrack.slices=samples;samplesTrack.heading=this.cpu_.userFriendlyName+': '+
9213sampleTitle;samplesTrack.tooltip=this.cpu_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.slices.length;i++){selection.push(samplesTrack.slices[i]);}
9214return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);}};return{CpuTrack,};});'use strict';tr.exportTo('tr.model',function(){const Settings=tr.b.Settings;function ModelSettings(model){this.model=model;this.objectsByKey_=[];this.nonuniqueKeys_=[];this.buildObjectsByKeyMap_();this.removeNonuniqueKeysFromSettings_();this.ephemeralSettingsByGUID_={};}
9215ModelSettings.prototype={buildObjectsByKeyMap_(){const objects=[];this.model.iterateAllPersistableObjects(function(o){objects.push(o);});const objectsByKey={};const NONUNIQUE_KEY='nonuniqueKey';for(let i=0;i<objects.length;i++){const object=objects[i];const objectKey=object.getSettingsKey();if(!objectKey)continue;if(objectsByKey[objectKey]===undefined){objectsByKey[objectKey]=object;continue;}
9216objectsByKey[objectKey]=NONUNIQUE_KEY;}
9217const nonuniqueKeys={};Object.keys(objectsByKey).forEach(function(objectKey){if(objectsByKey[objectKey]!==NONUNIQUE_KEY){return;}
9218delete objectsByKey[objectKey];nonuniqueKeys[objectKey]=true;});this.nonuniqueKeys=nonuniqueKeys;this.objectsByKey_=objectsByKey;},removeNonuniqueKeysFromSettings_(){const settings=Settings.get('trace_model_settings',{});let settingsChanged=false;Object.keys(settings).forEach(function(objectKey){if(!this.nonuniqueKeys[objectKey]){return;}
9219settingsChanged=true;delete settings[objectKey];},this);if(settingsChanged){Settings.set('trace_model_settings',settings);}},hasUniqueSettingKey(object){const objectKey=object.getSettingsKey();if(!objectKey)return false;return this.objectsByKey_[objectKey]!==undefined;},getSettingFor(object,objectLevelKey,defaultValue){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){const settings=this.getEphemeralSettingsFor_(object);const ephemeralValue=settings[objectLevelKey];if(ephemeralValue!==undefined){return ephemeralValue;}
9220return defaultValue;}
9221const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};}
9222const value=settings[objectKey][objectLevelKey];if(value!==undefined){return value;}
9223return defaultValue;},setSettingFor(object,objectLevelKey,value){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){this.getEphemeralSettingsFor_(object)[objectLevelKey]=value;return;}
9224const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};}
9225if(settings[objectKey][objectLevelKey]===value){return;}
9226settings[objectKey][objectLevelKey]=value;Settings.set('trace_model_settings',settings);},getEphemeralSettingsFor_(object){if(object.guid===undefined){throw new Error('Only objects with GUIDs can be persisted');}
9227if(this.ephemeralSettingsByGUID_[object.guid]===undefined){this.ephemeralSettingsByGUID_[object.guid]={};}
9228return this.ephemeralSettingsByGUID_[object.guid];}};return{ModelSettings,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CounterTrack=tr.ui.b.define('counter-track',tr.ui.tracks.ChartTrack);CounterTrack.prototype={__proto__:tr.ui.tracks.ChartTrack.prototype,decorate(viewport){tr.ui.tracks.ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('counter-track');},get counter(){return this.chart;},set counter(counter){this.heading=counter.name+': ';this.series=CounterTrack.buildChartSeriesFromCounter(counter);this.autoSetAllAxes({expandMax:true});},getModelEventFromItem(chartValue){return chartValue;}};CounterTrack.buildChartSeriesFromCounter=function(counter){const numSeries=counter.series.length;const totals=counter.totals;const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const chartSeries=counter.series.map(function(series,seriesIndex){const chartPoints=series.samples.map(function(sample,sampleIndex){const total=totals[sampleIndex*numSeries+seriesIndex];return new tr.ui.tracks.ChartPoint(sample,sample.timestamp,total);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:series.color};return new tr.ui.tracks.ChartSeries(chartPoints,seriesYAxis,renderingConfig);});chartSeries.reverse();return chartSeries;};return{CounterTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const startCompare=function(x,y){return x.start-y.start;};const FrameTrack=tr.ui.b.define('frame-track',tr.ui.tracks.LetterDotTrack);FrameTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Frames';this.frames_=undefined;this.items=undefined;},get frames(){return this.frames_;},set frames(frames){this.frames_=frames;if(frames===undefined)return;this.frames_=this.frames_.slice();this.frames_.sort(startCompare);this.items=this.frames_.map(function(frame){return new FrameDot(frame);});}};function FrameDot(frame){tr.ui.tracks.LetterDot.call(this,frame,'F',frame.colorId,frame.start);}
9229FrameDot.prototype={__proto__:tr.ui.tracks.LetterDot.prototype};return{FrameTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const MultiRowTrack=tr.ui.b.define('multi-row-track',tr.ui.tracks.ContainerTrack);MultiRowTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.tooltip_='';this.heading_='';this.groupingSource_=undefined;this.itemsToGroup_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=1;this.itemsGroupedOnLastUpdateContents_=undefined;this.currentSubRows_=[];this.expanded_=true;},get itemsToGroup(){return this.itemsToGroup_;},setItemsToGroup(itemsToGroup,opt_groupingSource){this.itemsToGroup_=itemsToGroup;this.groupingSource_=opt_groupingSource;this.updateContents_();this.updateExpandedStateFromGroupingSource_();},get heading(){return this.heading_;},set heading(h){this.heading_=h;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(t){this.tooltip_=t;this.updateContents_();},get subRows(){return this.currentSubRows_;},get hasVisibleContent(){return this.children.length>0;},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=expanded;this.expandedStateChanged_();},onHeadingClicked_(e){if(this.subRows.length<=1)return;this.expanded=!this.expanded;if(this.groupingSource_){const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);modelSettings.setSettingFor(this.groupingSource_,'expanded',this.expanded);}
9230e.stopPropagation();},updateExpandedStateFromGroupingSource_(){if(this.groupingSource_){const numSubRows=this.subRows.length;const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);if(numSubRows>1){let defaultExpanded;if(numSubRows>this.defaultToCollapsedWhenSubRowCountMoreThan){defaultExpanded=false;}else{defaultExpanded=true;}
9231this.expanded=modelSettings.getSettingFor(this.groupingSource_,'expanded',defaultExpanded);}else{this.expanded=undefined;}}},expandedStateChanged_(){const minH=Math.max(2,Math.ceil(18/this.children.length));const h=(this.expanded_?18:minH)+'px';for(let i=0;i<this.children.length;i++){this.children[i].height=h;if(i===0){this.children[i].arrowVisible=true;}
9232this.children[i].expanded=this.expanded;}
9233if(this.children.length===1){this.children[0].expanded=true;this.children[0].arrowVisible=false;}},updateContents_(){tr.ui.tracks.ContainerTrack.prototype.updateContents_.call(this);if(!this.itemsToGroup_){this.updateHeadingAndTooltip_();this.currentSubRows_=[];return;}
9234if(this.areArrayContentsSame_(this.itemsGroupedOnLastUpdateContents_,this.itemsToGroup_)){this.updateHeadingAndTooltip_();return;}
9235this.itemsGroupedOnLastUpdateContents_=this.itemsToGroup_;this.detach();if(!this.itemsToGroup_.length){this.currentSubRows_=[];return;}
9236const subRows=this.buildSubRows_(this.itemsToGroup_);this.currentSubRows_=subRows;for(let srI=0;srI<subRows.length;srI++){const subRow=subRows[srI];if(!subRow.length)continue;const track=this.addSubTrack_(subRow);track.addEventListener('heading-clicked',this.onHeadingClicked_.bind(this));}
9237this.updateHeadingAndTooltip_();this.expandedStateChanged_();},updateHeadingAndTooltip_(){if(!Polymer.dom(this).firstChild)return;Polymer.dom(this).firstChild.heading=this.heading_;Polymer.dom(this).firstChild.tooltip=this.tooltip_;},buildSubRows_(itemsToGroup){throw new Error('Not implemented');},addSubTrack_(subRowItems){throw new Error('Not implemented');},areArrayContentsSame_(a,b){if(!a||!b)return false;if(!a.length||!b.length)return false;if(a.length!==b.length)return false;for(let i=0;i<a.length;++i){if(a[i]!==b[i])return false;}
9238return true;}};return{MultiRowTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectInstanceGroupTrack=tr.ui.b.define('object-instance-group-track',tr.ui.tracks.MultiRowTrack);ObjectInstanceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-group-track');this.objectInstances_=undefined;},get objectInstances(){return this.itemsToGroup;},set objectInstances(objectInstances){this.setItemsToGroup(objectInstances);},addSubTrack_(objectInstances){const hasMultipleRows=this.subRows.length>1;const track=new tr.ui.tracks.ObjectInstanceTrack(this.viewport);track.objectInstances=objectInstances;Polymer.dom(this).appendChild(track);return track;},buildSubRows_(objectInstances){objectInstances.sort(function(x,y){return x.creationTs-y.creationTs;});const subRows=[];for(let i=0;i<objectInstances.length;i++){const objectInstance=objectInstances[i];let found=false;for(let j=0;j<subRows.length;j++){const subRow=subRows[j];const lastItemInSubRow=subRow[subRow.length-1];if(objectInstance.creationTs>=lastItemInSubRow.deletionTs){found=true;subRow.push(objectInstance);break;}}
9239if(!found){subRows.push([objectInstance]);}}
9240return subRows;},updateHeadingAndTooltip_(){}};return{ObjectInstanceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AsyncSliceGroupTrack=tr.ui.b.define('async-slice-group-track',tr.ui.tracks.MultiRowTrack);AsyncSliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('async-slice-group-track');this.group_=undefined;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);track.asyncStyle=true;return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices,opt_skipSort){if(!opt_skipSort){slices.sort(function(x,y){return x.start-y.start;});}
9241const findLevel=function(sliceToPut,rows,n){if(n>=rows.length){return true;}
9242const subRow=rows[n];const lastSliceInSubRow=subRow[subRow.length-1];if(sliceToPut.start>=lastSliceInSubRow.end){if(sliceToPut.subSlices===undefined||sliceToPut.subSlices.length===0){return true;}
9243for(const subSlice of sliceToPut.subSlices){if(!findLevel(subSlice,rows,n+1)){return false;}}
9244return true;}
9245return false;};const subRows=[];for(const slice of slices){let found=false;let index=subRows.length;for(let j=0;j<subRows.length;j++){if(findLevel(slice,subRows,j)){found=true;index=j;break;}}
9246if(!found){subRows.push([]);}
9247subRows[index].push(slice);const fitSubSlicesRecursively=function(subSlices,level,rows){if(subSlices===undefined||subSlices.length===0){return;}
9248if(level===rows.length){rows.push([]);}
9249for(const subSlice of subSlices){rows[level].push(subSlice);fitSubSlicesRecursively(subSlice.subSlices,level+1,rows);}};fitSubSlicesRecursively(slice.subSlices,index+1,subRows);}
9250return subRows;}};return{AsyncSliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SampleTrack=tr.ui.b.define('sample-track',tr.ui.tracks.RectTrack);SampleTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get samples(){return this.rects;},set samples(samples){this.rects=samples;}};return{SampleTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceGroupTrack=tr.ui.b.define('slice-group-track',tr.ui.tracks.MultiRowTrack);SliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('slice-group-track');this.group_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=100;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices){const precisionUnit=this.group.model.intrinsicTimeUnit;if(!slices.length)return[];const ops=[];for(let i=0;i<slices.length;i++){if(slices[i].subSlices){slices[i].subSlices.splice(0,slices[i].subSlices.length);}
9251ops.push(i);}
9252ops.sort(function(ix,iy){const x=slices[ix];const y=slices[iy];if(x.start!==y.start)return x.start-y.start;return ix-iy;});const subRows=[[]];this.badSlices_=[];for(let i=0;i<ops.length;i++){const op=ops[i];const slice=slices[op];let inserted=false;for(let j=subRows.length-1;j>=0;j--){if(subRows[j].length===0)continue;const insertedSlice=subRows[j][subRows[j].length-1];if(slice.start<insertedSlice.start){this.badSlices_.push(slice);inserted=true;}
9253if(insertedSlice.bounds(slice,precisionUnit)){while(subRows.length<=j+1){subRows.push([]);}
9254subRows[j+1].push(slice);if(insertedSlice.subSlices){insertedSlice.subSlices.push(slice);}
9255inserted=true;break;}}
9256if(inserted)continue;subRows[0].push(slice);}
9257return subRows;}};return{SliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ThreadTrack=tr.ui.b.define('thread-track',tr.ui.tracks.ContainerTrack);ThreadTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('thread-track');this.heading_=document.createElement('tr-ui-b-heading');},get thread(){return this.thread_;},set thread(thread){this.thread_=thread;this.updateContents_();},get hasVisibleContent(){return this.tracks_.length>0;},get hasSlices(){return this.thread_.asyncSliceGroup.length>0||this.thread_.sliceGroup.length>0;},get hasTimeSlices(){return this.thread_.timeSlices;},get eventContainer(){return this.thread;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.thread,this);},updateContents_(){this.detach();if(!this.thread_)return;this.heading_.heading=this.thread_.userFriendlyName;this.heading_.tooltip=this.thread_.userFriendlyDetails;if(this.thread_.asyncSliceGroup.length){this.appendAsyncSliceTracks_();}
9258this.appendThreadSamplesTracks_();let needsHeading=false;if(this.thread_.timeSlices){const timeSlicesTrack=new tr.ui.tracks.SliceTrack(this.viewport);timeSlicesTrack.heading='';timeSlicesTrack.height=tr.ui.b.THIN_SLICE_HEIGHT+'px';timeSlicesTrack.slices=this.thread_.timeSlices;if(timeSlicesTrack.hasVisibleContent){needsHeading=true;Polymer.dom(this).appendChild(timeSlicesTrack);}}
9259if(this.thread_.sliceGroup.length){const track=new tr.ui.tracks.SliceGroupTrack(this.viewport);track.heading=this.thread_.userFriendlyName;track.tooltip=this.thread_.userFriendlyDetails;track.group=this.thread_.sliceGroup;if(track.hasVisibleContent){needsHeading=false;Polymer.dom(this).appendChild(track);}}
9260if(needsHeading){Polymer.dom(this).appendChild(this.heading_);}},appendAsyncSliceTracks_(){const subGroups=this.thread_.asyncSliceGroup.viewSubGroups;subGroups.forEach(function(subGroup){const asyncTrack=new tr.ui.tracks.AsyncSliceGroupTrack(this.viewport);const title=subGroup.slices[0].viewSubGroupTitle;asyncTrack.group=subGroup;asyncTrack.heading=title;if(asyncTrack.hasVisibleContent){Polymer.dom(this).appendChild(asyncTrack);}},this);},appendThreadSamplesTracks_(){const threadSamples=this.thread_.samples;if(threadSamples===undefined||threadSamples.length===0){return;}
9261const samplesByTitle={};threadSamples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];}
9262samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SampleTrack(this.viewport);samplesTrack.group=this.thread_;samplesTrack.samples=samples;samplesTrack.heading=this.thread_.userFriendlyName+': '+
9263sampleTitle;samplesTrack.tooltip=this.thread_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.samples.length;i++){selection.push(samplesTrack.samples[i]);}
9264return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);},collapsedDidChange(collapsed){if(collapsed){let h=parseInt(this.tracks[0].height);for(let i=0;i<this.tracks.length;++i){if(h>2){this.tracks[i].height=Math.floor(h)+'px';}else{this.tracks[i].style.display='none';}
9265h=h*0.5;}}else{for(let i=0;i<this.tracks.length;++i){this.tracks[i].height=this.tracks[0].height;this.tracks[i].style.display='';}}}};return{ThreadTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const OtherThreadsTrack=tr.ui.b.define('other-threads-track',tr.ui.tracks.OtherThreadsTrack);const SpacingTrack=tr.ui.tracks.SpacingTrack;OtherThreadsTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.header_=document.createElement('tr-ui-b-heading');this.header_.addEventListener('click',this.onHeaderClick_.bind(this));this.header_.heading='Other Threads';this.header_.tooltip='Threads with only scheduling information';this.header_.arrowVisible=true;this.threads_=[];this.expanded=false;this.collapsible_=true;},set threads(threads){this.threads_=threads;this.updateContents_();},set collapsible(collapsible){this.collapsible_=collapsible;this.updateContents_();},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},get expanded(){return this.header_.expanded;},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;this.header_.expanded=expanded;this.viewport_.dispatchChangeEvent();this.updateContents_();},updateContents_(){this.detach();if(this.collapsible_){Polymer.dom(this).appendChild(this.header_);}
9266if(this.expanded||!this.collapsible_){for(const thread of this.threads_){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}}};return{OtherThreadsTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ProcessSummaryTrack=tr.ui.b.define('process-summary-track',tr.ui.tracks.RectTrack);ProcessSummaryTrack.buildRectsFromProcess=function(process){if(!process)return[];const ops=[];const pushOp=function(isStart,time,slice){ops.push({isStart,time,slice});};for(const tid in process.threads){const sliceGroup=process.threads[tid].sliceGroup;sliceGroup.topLevelSlices.forEach(function(slice){pushOp(true,slice.start,undefined);pushOp(false,slice.end,undefined);});sliceGroup.slices.forEach(function(slice){if(slice.important){pushOp(true,slice.start,slice);pushOp(false,slice.end,slice);}});}
9267ops.sort(function(a,b){return a.time-b.time;});const rects=[];const genericColorId=ColorScheme.getColorIdForReservedName('generic_work');const pushRect=function(start,end,slice){rects.push(new tr.ui.tracks.Rect(slice,slice?slice.title:'',slice?slice.colorId:genericColorId,start,end-start));};let depth=0;let currentSlice=undefined;let lastStart=undefined;ops.forEach(function(op){depth+=op.isStart?1:-1;if(currentSlice){if(!op.isStart&&op.slice===currentSlice){pushRect(lastStart,op.time,currentSlice);lastStart=depth>=1?op.time:undefined;currentSlice=undefined;}}else{if(op.isStart){if(depth===1){lastStart=op.time;currentSlice=op.slice;}else if(op.slice){if(op.time!==lastStart){pushRect(lastStart,op.time,undefined);lastStart=op.time;}
9268currentSlice=op.slice;}}else{if(depth===0){pushRect(lastStart,op.time,undefined);lastStart=undefined;}}}});return rects;};ProcessSummaryTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get process(){return this.process_;},set process(process){this.process_=process;this.rects=ProcessSummaryTrack.buildRectsFromProcess(process);}};return{ProcessSummaryTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectSnapshotView=tr.ui.analysis.ObjectSnapshotView;const ObjectInstanceView=tr.ui.analysis.ObjectInstanceView;const SpacingTrack=tr.ui.tracks.SpacingTrack;const ProcessTrackBase=tr.ui.b.define('process-track-base',tr.ui.tracks.ContainerTrack);ProcessTrackBase.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.processBase_=undefined;Polymer.dom(this).classList.add('process-track-base');Polymer.dom(this).classList.add('expanded');this.processNameEl_=tr.ui.b.createSpan();Polymer.dom(this.processNameEl_).classList.add('process-track-name');this.headerEl_=tr.ui.b.createDiv({className:'process-track-header'});Polymer.dom(this.headerEl_).appendChild(this.processNameEl_);this.headerEl_.addEventListener('click',this.onHeaderClick_.bind(this));Polymer.dom(this).appendChild(this.headerEl_);},get processBase(){return this.processBase_;},set processBase(processBase){this.processBase_=processBase;if(this.processBase_){const modelSettings=new tr.model.ModelSettings(this.processBase_.model);const defaultValue=this.processBase_.important;this.expanded=modelSettings.getSettingFor(this.processBase_,'expanded',defaultValue);}
9269this.updateContents_();},get expanded(){return Polymer.dom(this).classList.contains('expanded');},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;Polymer.dom(this).classList.toggle('expanded');this.viewport_.dispatchChangeEvent();if(!this.processBase_)return;const modelSettings=new tr.model.ModelSettings(this.processBase_.model);modelSettings.setSettingFor(this.processBase_,'expanded',expanded);this.updateContents_();this.viewport.rebuildEventToTrackMap();this.viewport.rebuildContainerToTrackMap();},get hasVisibleContent(){if(this.expanded){return this.children.length>1;}
9270return true;},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},updateContents_(){this.clearTracks_();if(!this.processBase_)return;Polymer.dom(this.processNameEl_).textContent=this.processBase_.userFriendlyName;this.headerEl_.title=this.processBase_.userFriendlyDetails;this.willAppendTracks_();if(this.expanded){this.appendMemoryDumpTrack_();this.appendObjectInstanceTracks_();this.appendCounterTracks_();this.appendFrameTrack_();this.appendThreadTracks_();}else{this.appendSummaryTrack_();}
9271this.didAppendTracks_();},willAppendTracks_(){},didAppendTracks_(){},appendMemoryDumpTrack_(){},appendSummaryTrack_(){const track=new tr.ui.tracks.ProcessSummaryTrack(this.viewport);track.process=this.process;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendFrameTrack_(){const frames=this.process?this.process.frames:undefined;if(!frames||!frames.length)return;const track=new tr.ui.tracks.FrameTrack(this.viewport);track.frames=frames;Polymer.dom(this).appendChild(track);},appendObjectInstanceTracks_(){const instancesByTypeName=this.processBase_.objects.getAllInstancesByTypeName();const instanceTypeNames=Object.keys(instancesByTypeName);instanceTypeNames.sort();let didAppendAtLeastOneTrack=false;instanceTypeNames.forEach(function(typeName){const allInstances=instancesByTypeName[typeName];let instanceViewInfo=ObjectInstanceView.getTypeInfo(undefined,typeName);let snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(instanceViewInfo&&!instanceViewInfo.metadata.showInTrackView){instanceViewInfo=undefined;}
9272if(snapshotViewInfo&&!snapshotViewInfo.metadata.showInTrackView){snapshotViewInfo=undefined;}
9273const hasViewInfo=instanceViewInfo||snapshotViewInfo;const visibleInstances=[];for(let i=0;i<allInstances.length;i++){const instance=allInstances[i];if(instance.snapshots.length===0)continue;if(instance.hasImplicitSnapshots&&!hasViewInfo)continue;visibleInstances.push(instance);}
9274if(visibleInstances.length===0)return;let trackConstructor=tr.ui.tracks.ObjectInstanceTrack.getConstructor(undefined,typeName);if(!trackConstructor){snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(snapshotViewInfo&&snapshotViewInfo.metadata.showInstances){trackConstructor=tr.ui.tracks.ObjectInstanceGroupTrack;}else{trackConstructor=tr.ui.tracks.ObjectInstanceTrack;}}
9275const track=new trackConstructor(this.viewport);track.objectInstances=visibleInstances;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;},this);if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}},appendCounterTracks_(){const counters=Object.values(this.processBase.counters);counters.sort(tr.model.Counter.compare);counters.forEach(function(counter){const track=new tr.ui.tracks.CounterTrack(this.viewport);track.counter=counter;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}.bind(this));},appendThreadTracks_(){const threads=Object.values(this.processBase.threads);threads.sort(tr.model.Thread.compare);const otherThreads=[];let hasVisibleThreads=false;threads.forEach(function(thread){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;if(track.hasSlices){hasVisibleThreads=true;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}else if(track.hasTimeSlices){otherThreads.push(thread);}}.bind(this));if(otherThreads.length>0){const track=new tr.ui.tracks.OtherThreadsTrack(this.viewport);track.threads=otherThreads;track.collapsible=otherThreads.length>1&&hasVisibleThreads;Polymer.dom(this).appendChild(track);}}};return{ProcessTrackBase,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Cpu=tr.model.Cpu;const CpuTrack=tr.ui.tracks.cpu_track;const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const SpacingTrack=tr.ui.tracks.SpacingTrack;const KernelTrack=tr.ui.b.define('kernel-track',ProcessTrackBase);KernelTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){ProcessTrackBase.prototype.decorate.call(this,viewport);},set kernel(kernel){this.processBase=kernel;},get kernel(){return this.processBase;},get eventContainer(){return this.kernel;},get hasVisibleContent(){return this.children.length>1;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.kernel,this);},willAppendTracks_(){const cpus=Object.values(this.kernel.cpus);cpus.sort(tr.model.Cpu.compare);let didAppendAtLeastOneTrack=false;for(let i=0;i<cpus.length;++i){const cpu=cpus[i];const track=new tr.ui.tracks.CpuTrack(this.viewport);track.detailedMode=this.expanded;track.cpu=cpu;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;}
9276if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}};return{KernelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const InteractionTrack=tr.ui.b.define('interaction-track',tr.ui.tracks.MultiRowTrack);InteractionTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);this.heading='Interactions';this.subRows_=[];},set model(model){this.setItemsToGroup(model.userModel.expectations,{guid:tr.b.GUID.allocateSimple(),model,getSettingsKey(){return undefined;}});},buildSubRows_(slices){if(this.subRows_.length){return this.subRows_;}
9277this.subRows_.push.apply(this.subRows_,tr.ui.tracks.AsyncSliceGroupTrack.prototype.buildSubRows_.call({},slices,true));return this.subRows_;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;}};return{InteractionTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const ProcessMemoryDumpTrack=tr.ui.b.define('process-memory-dump-track',tr.ui.tracks.ContainerTrack);ProcessMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendAllocatedMemoryTrack_();},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildProcessAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{ProcessMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const ProcessTrack=tr.ui.b.define('process-track',ProcessTrackBase);ProcessTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){tr.ui.tracks.ProcessTrackBase.prototype.decorate.call(this,viewport);},drawTrack(type){switch(type){case tr.ui.tracks.DrawType.INSTANT_EVENT:{if(!this.processBase.instantEvents||this.processBase.instantEvents.length===0){break;}
9278const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.processBase.instantEvents,2);ctx.restore();break;}
9279case tr.ui.tracks.DrawType.BACKGROUND:this.drawBackground_();return;}
9280tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawBackground_(){const ctx=this.context();const canvasBounds=ctx.canvas.getBoundingClientRect();const pixelRatio=window.devicePixelRatio||1;let draw=false;ctx.fillStyle='#eee';for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)||(this.children[i]instanceof tr.ui.tracks.SpacingTrack)){continue;}
9281draw=!draw;if(!draw)continue;const bounds=this.children[i].getBoundingClientRect();ctx.fillRect(0,pixelRatio*(bounds.top-canvasBounds.top),ctx.canvas.width,pixelRatio*bounds.height);}},set process(process){this.processBase=process;},get process(){return this.processBase;},get eventContainer(){return this.process;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.process,this);},appendMemoryDumpTrack_(){const processMemoryDumps=this.process.memoryDumps;if(processMemoryDumps.length){const pmdt=new tr.ui.tracks.ProcessMemoryDumpTrack(this.viewport_);pmdt.memoryDumps=processMemoryDumps;Polymer.dom(this).appendChild(pmdt);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);}
9282const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.processBase.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.processBase.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ProcessTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const ModelTrack=tr.ui.b.define('model-track',tr.ui.tracks.ContainerTrack);ModelTrack.VSYNC_HIGHLIGHT_ALPHA=0.1;ModelTrack.VSYNC_DENSITY_TRANSPARENT=0.20;ModelTrack.VSYNC_DENSITY_OPAQUE=0.10;ModelTrack.VSYNC_DENSITY_RANGE=ModelTrack.VSYNC_DENSITY_TRANSPARENT-ModelTrack.VSYNC_DENSITY_OPAQUE;ModelTrack.generateStripes_=function(times,minTime,maxTime){if(times.length===0)return[];const lowIndex=tr.b.math.findLowIndexInSortedArray(times,tr.b.identity,minTime);let highIndex=lowIndex-1;while(times[highIndex+1]<=maxTime){highIndex++;}
9283const stripes=[];for(let i=lowIndex-(lowIndex%2);i<=highIndex;i+=2){const left=i<lowIndex?minTime:times[i];const right=i+1>highIndex?maxTime:times[i+1];stripes.push(tr.b.math.Range.fromExplicitRange(left,right));}
9284return stripes;};ModelTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('model-track');this.upperMode_=false;this.annotationViews_=[];this.vSyncTimes_=[];},get upperMode(){return this.upperMode_;},set upperMode(upperMode){this.upperMode_=upperMode;this.updateContents_();},detach(){tr.ui.tracks.ContainerTrack.prototype.detach.call(this);},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();this.model_.addEventListener('annotationChange',this.updateAnnotations_.bind(this));},get hasVisibleContent(){return this.children.length>0;},updateContents_(){Polymer.dom(this).textContent='';if(!this.model_)return;if(this.upperMode_){this.updateContentsForUpperMode_();}else{this.updateContentsForLowerMode_();}},updateContentsForUpperMode_(){},updateContentsForLowerMode_(){if(this.model_.userModel.expectations.length>1){const mrt=new tr.ui.tracks.InteractionTrack(this.viewport_);mrt.model=this.model_;Polymer.dom(this).appendChild(mrt);}
9285if(this.model_.alerts.length){const at=new tr.ui.tracks.AlertTrack(this.viewport_);at.alerts=this.model_.alerts;Polymer.dom(this).appendChild(at);}
9286if(this.model_.globalMemoryDumps.length){const gmdt=new tr.ui.tracks.GlobalMemoryDumpTrack(this.viewport_);gmdt.memoryDumps=this.model_.globalMemoryDumps;Polymer.dom(this).appendChild(gmdt);}
9287this.appendDeviceTrack_();this.appendCpuUsageTrack_();this.appendKernelTrack_();const processes=this.model_.getAllProcesses();processes.sort(tr.model.Process.compare);for(let i=0;i<processes.length;++i){const process=processes[i];const track=new tr.ui.tracks.ProcessTrack(this.viewport);track.process=process;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);}
9288this.viewport_.rebuildEventToTrackMap();this.viewport_.rebuildContainerToTrackMap();this.vSyncTimes_=this.model_.device.vSyncTimestamps;this.updateAnnotations_();},getContentBounds(){return this.model.bounds;},addAnnotation(annotation){this.model.addAnnotation(annotation);},removeAnnotation(annotation){this.model.removeAnnotation(annotation);},updateAnnotations_(){this.annotationViews_=[];const annotations=this.model_.getAllAnnotations();for(let i=0;i<annotations.length;i++){this.annotationViews_.push(annotations[i].getOrCreateView(this.viewport_));}
9289this.invalidateDrawingContainer();},addEventsToTrackMap(eventToTrackMap){if(!this.model_)return;const tracks=this.children;for(let i=0;i<tracks.length;++i){tracks[i].addEventsToTrackMap(eventToTrackMap);}
9290if(this.instantEvents===undefined)return;const vp=this.viewport_;this.instantEvents.forEach(function(ev){eventToTrackMap.addEvent(ev,this);}.bind(this));},appendDeviceTrack_(){const device=this.model.device;const track=new tr.ui.tracks.DeviceTrack(this.viewport);track.device=this.model.device;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendKernelTrack_(){const kernel=this.model.kernel;const track=new tr.ui.tracks.KernelTrack(this.viewport);track.kernel=this.model.kernel;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},drawTrack(type){const ctx=this.context();if(!this.model_)return;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);switch(type){case tr.ui.tracks.DrawType.GRID:this.viewport.drawMajorMarkLines(ctx);ctx.restore();return;case tr.ui.tracks.DrawType.FLOW_ARROWS:if(this.model_.flowIntervalTree.size===0){ctx.restore();return;}
9291this.drawFlowArrows_(viewLWorld,viewRWorld);ctx.restore();return;case tr.ui.tracks.DrawType.INSTANT_EVENT:if(!this.model_.instantEvents||this.model_.instantEvents.length===0){break;}
9292tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.model_.instantEvents,4);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(ctx,viewLWorld,viewRWorld);this.viewport.interestRange.drawIndicators(ctx,viewLWorld,viewRWorld);}
9293ctx.restore();return;case tr.ui.tracks.DrawType.HIGHLIGHTS:this.drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,bounds.height);ctx.restore();return;case tr.ui.tracks.DrawType.ANNOTATIONS:for(let i=0;i<this.annotationViews_.length;i++){this.annotationViews_[i].draw(ctx);}
9294ctx.restore();return;}
9295ctx.restore();tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawFlowArrows_(viewLWorld,viewRWorld){const ctx=this.context();const dt=this.viewport.currentDisplayTransform;dt.applyTransformToCanvas(ctx);const pixWidth=dt.xViewVectorToWorld(1);ctx.strokeStyle='rgba(0, 0, 0, 0.4)';ctx.fillStyle='rgba(0, 0, 0, 0.4)';ctx.lineWidth=pixWidth>1.0?1:pixWidth;const events=this.model_.flowIntervalTree.findIntersection(viewLWorld,viewRWorld);const onlyHighlighted=!this.viewport.showFlowEvents;const canvasBounds=ctx.canvas.getBoundingClientRect();for(let i=0;i<events.length;++i){if(onlyHighlighted&&events[i].selectionState!==SelectionState.SELECTED&&events[i].selectionState!==SelectionState.HIGHLIGHTED){continue;}
9296this.drawFlowArrow_(ctx,events[i],canvasBounds,pixWidth);}},drawFlowArrow_(ctx,flowEvent,canvasBounds,pixWidth){const pixelRatio=window.devicePixelRatio||1;const startTrack=this.viewport.trackForEvent(flowEvent.startSlice);const endTrack=this.viewport.trackForEvent(flowEvent.endSlice);if(startTrack===undefined||endTrack===undefined)return;const startBounds=startTrack.getBoundingClientRect();const endBounds=endTrack.getBoundingClientRect();if(flowEvent.selectionState===SelectionState.SELECTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.HIGHLIGHTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.DIMMED){ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.2)';}else{let hasBoost=false;const startSlice=flowEvent.startSlice;hasBoost|=startSlice.selectionState===SelectionState.SELECTED;hasBoost|=startSlice.selectionState===SelectionState.HIGHLIGHTED;const endSlice=flowEvent.endSlice;hasBoost|=endSlice.selectionState===SelectionState.SELECTED;hasBoost|=endSlice.selectionState===SelectionState.HIGHLIGHTED;if(hasBoost){ctx.shadowBlur=1;ctx.shadowColor='rgba(255, 0, 0, 0.4)';ctx.shadowOffsety=2;ctx.strokeStyle='rgba(255, 0, 0, 0.4)';}else{ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.4)';}}
9297const startSize=startBounds.left+startBounds.top+
9298startBounds.bottom+startBounds.right;const endSize=endBounds.left+endBounds.top+
9299endBounds.bottom+endBounds.right;if(startSize===0&&endSize===0)return;const startY=this.calculateTrackY_(startTrack,canvasBounds);const endY=this.calculateTrackY_(endTrack,canvasBounds);const pixelStartY=pixelRatio*startY;const pixelEndY=pixelRatio*endY;const half=(flowEvent.end-flowEvent.start)/2;ctx.beginPath();ctx.moveTo(flowEvent.start,pixelStartY);ctx.bezierCurveTo(flowEvent.start+half,pixelStartY,flowEvent.start+half,pixelEndY,flowEvent.end,pixelEndY);ctx.stroke();const arrowWidth=5*pixWidth*pixelRatio;const distance=flowEvent.end-flowEvent.start;if(distance<=(2*arrowWidth))return;const tipX=flowEvent.end;const tipY=pixelEndY;const arrowHeight=(endBounds.height/4)*pixelRatio;tr.ui.b.drawTriangle(ctx,tipX,tipY,tipX-arrowWidth,tipY-arrowHeight,tipX-arrowWidth,tipY+arrowHeight);ctx.fill();},drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,viewHeight){if(!this.viewport_.highlightVSync){return;}
9300const stripes=ModelTrack.generateStripes_(this.vSyncTimes_,viewLWorld,viewRWorld);if(stripes.length===0){return;}
9301const vSyncHighlightColor=new tr.b.Color(ColorScheme.getColorForReservedNameAsString('vsync_highlight_color'));const stripeRange=stripes[stripes.length-1].max-stripes[0].min;const stripeDensity=stripeRange?stripes.length/(dt.scaleX*stripeRange):0;const clampedStripeDensity=tr.b.math.clamp(stripeDensity,ModelTrack.VSYNC_DENSITY_OPAQUE,ModelTrack.VSYNC_DENSITY_TRANSPARENT);const opacity=(ModelTrack.VSYNC_DENSITY_TRANSPARENT-clampedStripeDensity)/ModelTrack.VSYNC_DENSITY_RANGE;if(opacity===0){return;}
9302const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;ctx.fillStyle=vSyncHighlightColor.toStringWithAlphaOverride(ModelTrack.VSYNC_HIGHLIGHT_ALPHA*opacity);for(let i=0;i<stripes.length;i++){const xLeftView=dt.xWorldToView(stripes[i].min);const xRightView=dt.xWorldToView(stripes[i].max);ctx.fillRect(xLeftView,0,xRightView-xLeftView,height);}},calculateTrackY_(track,canvasBounds){const bounds=track.getBoundingClientRect();const size=bounds.left+bounds.top+bounds.bottom+bounds.right;if(size===0){return this.calculateTrackY_(Polymer.dom(track).parentNode,canvasBounds);}
9303return bounds.top-canvasBounds.top+(bounds.height/2);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);}
9304const instantEventWidth=3*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.model_.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.model_.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ModelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const XAxisTrack=tr.ui.b.define('x-axis-track',tr.ui.tracks.Track);XAxisTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('x-axis-track');this.strings_secs_=[];this.strings_msecs_=[];this.strings_usecs_=[];this.strings_nsecs_=[];this.viewportChange_=this.viewportChange_.bind(this);viewport.addEventListener('change',this.viewportChange_);const heading=document.createElement('tr-ui-b-heading');heading.arrowVisible=false;Polymer.dom(this).appendChild(heading);},detach(){tr.ui.tracks.Track.prototype.detach.call(this);this.viewport.removeEventListener('change',this.viewportChange_);},viewportChange_(){if(this.viewport.interestRange.isEmpty){Polymer.dom(this).classList.remove('tall-mode');}else{Polymer.dom(this).classList.add('tall-mode');}},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GRID:this.drawGrid_(viewLWorld,viewRWorld);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(this.context(),viewLWorld,viewRWorld);}
9305break;}},drawGrid_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const canvasBounds=ctx.canvas.getBoundingClientRect();const trackBounds=this.getBoundingClientRect();const width=canvasBounds.width*pixelRatio;const height=trackBounds.height*pixelRatio;const hasInterestRange=!this.viewport.interestRange.isEmpty;const xAxisHeightPx=hasInterestRange?(height*2)/5:height;const vp=this.viewport;const dt=vp.currentDisplayTransform;vp.updateMajorMarkData(viewLWorld,viewRWorld);const majorMarkDistanceWorld=vp.majorMarkWorldPositions.length>1?vp.majorMarkWorldPositions[1]-vp.majorMarkWorldPositions[0]:0;const numTicksPerMajor=5;const minorMarkDistanceWorld=majorMarkDistanceWorld/numTicksPerMajor;const minorMarkDistancePx=dt.xWorldVectorToView(minorMarkDistanceWorld);const minorTickHeight=Math.floor(xAxisHeightPx*0.25);ctx.save();ctx.lineWidth=Math.round(pixelRatio);const crispLineCorrection=(ctx.lineWidth%2)/2;ctx.translate(crispLineCorrection,-crispLineCorrection);ctx.fillStyle='rgb(0, 0, 0)';ctx.strokeStyle='rgb(0, 0, 0)';ctx.textAlign='left';ctx.textBaseline='top';ctx.font=(9*pixelRatio)+'px sans-serif';const tickLabels=[];ctx.beginPath();for(let i=0;i<vp.majorMarkWorldPositions.length;i++){const curXWorld=vp.majorMarkWorldPositions[i];const curXView=dt.xWorldToView(curXWorld);const displayText=vp.majorMarkUnit.format(curXWorld,{deltaValue:majorMarkDistanceWorld});ctx.fillText(displayText,curXView+(2*pixelRatio),0);tr.ui.b.drawLine(ctx,curXView,0,curXView,xAxisHeightPx);if(minorMarkDistancePx){for(let j=1;j<numTicksPerMajor;++j){const xView=Math.floor(curXView+minorMarkDistancePx*j);tr.ui.b.drawLine(ctx,xView,xAxisHeightPx-minorTickHeight,xView,xAxisHeightPx);}}}
9306ctx.strokeStyle='rgb(0, 0, 0)';tr.ui.b.drawLine(ctx,0,height,width,height);ctx.stroke();if(!hasInterestRange)return;tr.ui.b.drawLine(ctx,0,xAxisHeightPx,width,xAxisHeightPx);ctx.stroke();let displayDistance;const displayTextColor='rgb(0,0,0)';const arrowSpacing=10*pixelRatio;const arrowColor='rgb(128,121,121)';const arrowPosY=xAxisHeightPx*1.75;const arrowWidthView=3*pixelRatio;const arrowLengthView=10*pixelRatio;const spaceForArrowsView=2*(arrowWidthView+arrowSpacing);ctx.textBaseline='middle';ctx.font=(14*pixelRatio)+'px sans-serif';const textPosY=arrowPosY;const interestRange=vp.interestRange;if(interestRange.range===0){const markerWorld=interestRange.min;const markerView=dt.xWorldToView(markerWorld);const textToDraw=vp.majorMarkUnit.format(markerWorld);let textLeftView=markerView+4*pixelRatio;const textWidthView=ctx.measureText(textToDraw).width;if(textLeftView+textWidthView>width){textLeftView=markerView-4*pixelRatio-textWidthView;}
9307ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);return;}
9308const leftMarker=interestRange.min;const rightMarker=interestRange.max;const leftMarkerView=dt.xWorldToView(leftMarker);const rightMarkerView=dt.xWorldToView(rightMarker);const distanceBetweenMarkers=interestRange.range;const distanceBetweenMarkersView=dt.xWorldVectorToView(distanceBetweenMarkers);const positionInMiddleOfMarkersView=leftMarkerView+(distanceBetweenMarkersView/2);const textToDraw=vp.majorMarkUnit.format(distanceBetweenMarkers);const textWidthView=ctx.measureText(textToDraw).width;const spaceForArrowsAndTextView=textWidthView+spaceForArrowsView+arrowSpacing;let textLeftView=positionInMiddleOfMarkersView-textWidthView/2;const textRightView=textLeftView+textWidthView;if(spaceForArrowsAndTextView>distanceBetweenMarkersView){textLeftView=rightMarkerView+2*arrowSpacing;if(textLeftView+textWidthView>width){textLeftView=leftMarkerView-2*arrowSpacing-textWidthView;}
9309ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);ctx.strokeStyle=arrowColor;ctx.beginPath();tr.ui.b.drawLine(ctx,leftMarkerView,arrowPosY,rightMarkerView,arrowPosY);ctx.stroke();ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftMarkerView-1.5*arrowSpacing,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightMarkerView+1.5*arrowSpacing,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}else if(spaceForArrowsView<=distanceBetweenMarkersView){let leftArrowStart;let rightArrowStart;if(spaceForArrowsAndTextView<=distanceBetweenMarkersView){ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);leftArrowStart=textLeftView-arrowSpacing;rightArrowStart=textRightView+arrowSpacing;}else{leftArrowStart=positionInMiddleOfMarkersView;rightArrowStart=positionInMiddleOfMarkersView;}
9310ctx.strokeStyle=arrowColor;ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftArrowStart,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightArrowStart,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}
9311ctx.restore();},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){},addAllEventsMatchingFilterToSelection(filter,selection){}};return{XAxisTrack,};});'use strict';Polymer({is:'tr-ui-timeline-track-view',ready(){this.displayTransform_=new tr.ui.TimelineDisplayTransform();this.model_=undefined;this.timelineView_=undefined;this.pollIfViewportAttachedInterval_=undefined;this.viewport_=new tr.ui.TimelineViewport(this);this.viewportDisplayTransformAtMouseDown_=undefined;this.brushingStateController_=undefined;this.rulerTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.rulerTrackContainer_);this.rulerTrackContainer_.invalidate();this.rulerTrack_=new tr.ui.tracks.XAxisTrack(this.viewport_);Polymer.dom(this.rulerTrackContainer_).appendChild(this.rulerTrack_);this.upperModelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);this.upperModelTrack_.upperMode=true;Polymer.dom(this.rulerTrackContainer_).appendChild(this.upperModelTrack_);this.modelTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.modelTrackContainer_);this.modelTrackContainer_.style.display='block';this.modelTrackContainer_.invalidate();this.viewport_.modelTrackContainer=this.modelTrackContainer_;this.modelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);Polymer.dom(this.modelTrackContainer_).appendChild(this.modelTrack_);this.timingTool_=new tr.ui.b.TimingTool(this.viewport_,this);this.initMouseModeSelector();this.hideDragBox_();this.initHintText_();this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.addEventListener('dblclick',this.onDblClick_);this.onMouseWheel_=this.onMouseWheel_.bind(this);this.addEventListener('mousewheel',this.onMouseWheel_);this.onMouseDown_=this.onMouseDown_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.onMouseMove_=this.onMouseMove_.bind(this);this.addEventListener('mousemove',this.onMouseMove_);this.onTouchStart_=this.onTouchStart_.bind(this);this.addEventListener('touchstart',this.onTouchStart_);this.onTouchMove_=this.onTouchMove_.bind(this);this.addEventListener('touchmove',this.onTouchMove_);this.onTouchEnd_=this.onTouchEnd_.bind(this);this.addEventListener('touchend',this.onTouchEnd_);this.addHotKeys_();this.mouseViewPosAtMouseDown_={x:0,y:0};this.lastMouseViewPos_={x:0,y:0};this.lastTouchViewPositions_=[];this.alert_=undefined;this.isPanningAndScanning_=false;this.isZooming_=false;},initMouseModeSelector(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this;Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.addEventListener('beginpan',this.onBeginPanScan_.bind(this));this.mouseModeSelector_.addEventListener('updatepan',this.onUpdatePanScan_.bind(this));this.mouseModeSelector_.addEventListener('endpan',this.onEndPanScan_.bind(this));this.mouseModeSelector_.addEventListener('beginselection',this.onBeginSelection_.bind(this));this.mouseModeSelector_.addEventListener('updateselection',this.onUpdateSelection_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onEndSelection_.bind(this));this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));this.mouseModeSelector_.addEventListener('entertiming',this.timingTool_.onEnterTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('begintiming',this.timingTool_.onBeginTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('updatetiming',this.timingTool_.onUpdateTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('endtiming',this.timingTool_.onEndTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('exittiming',this.timingTool_.onExitTiming.bind(this.timingTool_));const m=tr.ui.b.MOUSE_SELECTOR_MODE;this.mouseModeSelector_.supportedModeMask=m.SELECTION|m.PANSCAN|m.ZOOM|m.TIMING;this.mouseModeSelector_.settingsKey='timelineTrackView.mouseModeSelector';this.mouseModeSelector_.setKeyCodeForMode(m.PANSCAN,'2'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.SELECTION,'1'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.ZOOM,'3'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.TIMING,'4'.charCodeAt(0));this.mouseModeSelector_.setModifierForAlternateMode(m.SELECTION,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(m.PANSCAN,tr.ui.b.MODIFIER.SPACE);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);}
9312this.brushingStateController_=brushingStateController;if(this.brushingStateController_){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);}},set timelineView(view){this.timelineView_=view;},onSelectionChanged_(){this.showHintText_('Press \'m\' to mark current selection');this.viewport_.dispatchChangeEvent();},set selection(selection){throw new Error('DO NOT CALL THIS');},set highlight(highlight){throw new Error('DO NOT CALL THIS');},detach(){this.modelTrack_.detach();this.upperModelTrack_.detach();if(this.pollIfViewportAttachedInterval_){window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;}
9313this.viewport_.detach();},get viewport(){return this.viewport_;},get model(){return this.model_;},set model(model){if(!model){throw new Error('Model cannot be undefined');}
9314const modelInstanceChanged=this.model_!==model;this.model_=model;this.modelTrack_.model=model;this.upperModelTrack_.model=model;if(modelInstanceChanged){this.pollIfViewportAttachedInterval_=window.setInterval(this.pollIfViewportAttached_.bind(this),250);}},get hasVisibleContent(){return this.modelTrack_.hasVisibleContent||this.upperModelTrack_.hasVisibleContent;},pollIfViewportAttached_(){if(!this.viewport_.isAttachedToDocumentOrInTestMode||this.viewport_.clientWidth===0){return;}
9315window.addEventListener('resize',this.viewport_.dispatchChangeEvent);window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;this.setInitialViewport_();},setInitialViewport_(){this.modelTrackContainer_.updateCanvasSizeIfNeeded_();const w=this.modelTrackContainer_.canvas.width;let min;let range;if(this.model_.bounds.isEmpty){min=0;range=1000;}else if(this.model_.bounds.range===0){min=this.model_.bounds.min;range=1000;}else{min=this.model_.bounds.min;range=this.model_.bounds.range;}
9316const boost=range*0.15;this.displayTransform_.set(this.viewport_.currentDisplayTransform);this.displayTransform_.xSetWorldBounds(min-boost,min+range+boost,w);this.viewport_.setDisplayTransformImmediately(this.displayTransform_);},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const modelTrack=this.modelTrack_;const firstT=modelTrack.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);const lastT=firstT.after(function(){this.upperModelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);},this);return firstT;},onMouseMove_(e){if(this.isZooming_)return;this.storeLastMousePos_(e);},onTouchStart_(e){this.storeLastTouchPositions_(e);this.focusElements_();},onTouchMove_(e){e.preventDefault();this.onUpdateTransformForTouch_(e);},onTouchEnd_(e){this.storeLastTouchPositions_(e);this.focusElements_();},addHotKeys_(){this.addKeyDownHotKeys_();this.addKeyPressHotKeys_();},addKeyPressHotKey(dict){dict.eventType='keypress';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);},addKeyPressHotKeys_(){this.addKeyPressHotKey({keyCodes:['w'.charCodeAt(0),','.charCodeAt(0)],callback(e){this.zoomBy_(1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['s'.charCodeAt(0),'o'.charCodeAt(0)],callback(e){this.zoomBy_(1/1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'g'.charCodeAt(0),callback(e){this.onGridToggle_(true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'G'.charCodeAt(0),callback(e){this.onGridToggle_(false);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['W'.charCodeAt(0),'<'.charCodeAt(0)],callback(e){this.zoomBy_(10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['S'.charCodeAt(0),'O'.charCodeAt(0)],callback(e){this.zoomBy_(1/10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'a'.charCodeAt(0),callback(e){this.queueSmoothPan_(this.viewWidth_*0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['d'.charCodeAt(0),'e'.charCodeAt(0)],callback(e){this.queueSmoothPan_(this.viewWidth_*-0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'A'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'D'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*-0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'0'.charCodeAt(0),callback(e){this.setInitialViewport_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'f'.charCodeAt(0),callback(e){this.zoomToSelection();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'m'.charCodeAt(0),callback(e){this.setCurrentSelectionAsInterestRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'p'.charCodeAt(0),callback(e){this.selectPowerSamplesInCurrentTimeRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'h'.charCodeAt(0),callback(e){this.toggleHighDetails_();e.stopPropagation();}});},get viewWidth_(){return this.modelTrackContainer_.canvas.clientWidth;},addKeyDownHotKeys_(){const addBinding=function(dict){dict.eventType='keydown';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);}.bind(this);addBinding({keyCode:37,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,-1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(this.viewWidth_*0.3,0);}
9317e.preventDefault();e.stopPropagation();}});addBinding({keyCode:39,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(-this.viewWidth_*0.3,0);}
9318e.preventDefault();e.stopPropagation();}});},onDblClick_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;}
9319const curSelection=this.brushingStateController_.selection;if(!curSelection.length||!tr.b.getOnlyElement(curSelection).title){return;}
9320const selection=new tr.model.EventSet();const filter=new tr.c.ExactTitleFilter(tr.b.getOnlyElement(curSelection).title);this.modelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);this.brushingStateController.changeSelectionFromTimeline(selection);},onMouseWheel_(e){if(!e.altKey)return;const delta=e.wheelDelta/120;const zoomScale=Math.pow(1.5,delta);this.zoomBy_(zoomScale);e.preventDefault();},onMouseDown_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;}
9321if(e.target!==this.rulerTrack_)return;this.dragBeginEvent_=undefined;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;}
9322const dt=this.viewport_.currentDisplayTransform;tr.ui.b.trackMouseMovesUntilMouseUp(function(e){if(e.target===this.rulerTrack_)return;const relativePosition=this.extractRelativeMousePosition_(e);const loc=tr.model.Location.fromViewCoordinates(this.viewport_,relativePosition.x,relativePosition.y);if(!loc)return;if(this.guideLineAnnotation_===undefined){this.guideLineAnnotation_=new tr.model.XMarkerAnnotation(loc.xWorld);this.model.addAnnotation(this.guideLineAnnotation_);}else{this.guideLineAnnotation_.timestamp=loc.xWorld;this.modelTrackContainer_.invalidate();}
9323const state=new tr.ui.b.UIState(loc,this.viewport_.currentDisplayTransform.scaleX);this.timelineView_.setFindCtlText(state.toUserFriendlyString(this.viewport_));}.bind(this),undefined,function onKeyUpDuringDrag(){if(this.dragBeginEvent_){this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);}}.bind(this));},queueSmoothPan_(viewDeltaX,deltaY){const deltaX=this.viewport_.currentDisplayTransform.xViewVectorToWorld(viewDeltaX);const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,deltaY);this.viewport_.queueDisplayTransformAnimation(animation);},zoomBy_(scale,smooth){if(scale<=0){return;}
9324smooth=!!smooth;const vp=this.viewport_;const pixelRatio=window.devicePixelRatio||1;const goalFocalPointXView=this.lastMouseViewPos_.x*pixelRatio;const goalFocalPointXWorld=vp.currentDisplayTransform.xViewToWorld(goalFocalPointXView);if(smooth){const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,vp.currentDisplayTransform.panY,scale);vp.queueDisplayTransformAnimation(animation);}else{this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=scale;this.displayTransform_.xPanWorldPosToViewPos(goalFocalPointXWorld,goalFocalPointXView,this.viewWidth_);vp.setDisplayTransformImmediately(this.displayTransform_);}},zoomToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;if(!bounds.range)return;const worldCenter=bounds.center;const viewCenter=this.modelTrackContainer_.canvas.width/2;const adjustedWorldRange=bounds.range*1.25;const newScale=this.modelTrackContainer_.canvas.width/adjustedWorldRange;const zoomInRatio=newScale/this.viewport_.currentDisplayTransform.scaleX;const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);},panToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;const worldCenter=bounds.center;const viewWidth=this.viewWidth_;const dt=this.viewport_.currentDisplayTransform;if(false&&!bounds.range){if(dt.xWorldToView(bounds.center)<0||dt.xWorldToView(bounds.center)>viewWidth){this.displayTransform_.set(dt);this.displayTransform_.xPanWorldPosToViewPos(worldCenter,'center',viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);}
9325return;}
9326this.displayTransform_.set(dt);this.displayTransform_.xPanWorldBoundsIntoView(bounds.min,bounds.max,viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);},navToPosition(uiState,showNavLine){const location=uiState.location;const scaleX=uiState.scaleX;const track=location.getContainingTrack(this.viewport_);const worldCenter=location.xWorld;const viewCenter=this.modelTrackContainer_.canvas.width/5;const zoomInRatio=scaleX/this.viewport_.currentDisplayTransform.scaleX;track.scrollIntoViewIfNeeded();const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);if(!showNavLine)return;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);}
9327this.xNavStringMarker_=new tr.model.XMarkerAnnotation(worldCenter);this.model.addAnnotation(this.xNavStringMarker_);},selectPowerSamplesInCurrentTimeRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(this.model.device.powerSeries&&!selectionBounds.empty){const events=this.model.device.powerSeries.getSamplesWithinRange(selectionBounds.min,selectionBounds.max);const selection=new tr.model.EventSet(events);this.brushingStateController_.changeSelectionFromTimeline(selection);}},setCurrentSelectionAsInterestRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(selectionBounds.empty){this.viewport_.interestRange.reset();return;}
9328if(this.viewport_.interestRange.min===selectionBounds.min&&this.viewport_.interestRange.max===selectionBounds.max){this.viewport_.interestRange.reset();}else{this.viewport_.interestRange.set(selectionBounds);}},toggleHighDetails_(){this.viewport_.highDetails=!this.viewport_.highDetails;},hideDragBox_(){this.$.drag_box.style.left='-1000px';this.$.drag_box.style.top='-1000px';this.$.drag_box.style.width=0;this.$.drag_box.style.height=0;},setDragBoxPosition_(xStart,yStart,xEnd,yEnd){const loY=Math.min(yStart,yEnd);const hiY=Math.max(yStart,yEnd);const loX=Math.min(xStart,xEnd);const hiX=Math.max(xStart,xEnd);const modelTrackRect=this.modelTrack_.getBoundingClientRect();const dragRect={left:loX,top:loY,width:hiX-loX,height:hiY-loY};dragRect.right=dragRect.left+dragRect.width;dragRect.bottom=dragRect.top+dragRect.height;const modelTrackContainerRect=this.modelTrackContainer_.getBoundingClientRect();const clipRect={left:modelTrackContainerRect.left,top:modelTrackContainerRect.top,right:modelTrackContainerRect.right,bottom:modelTrackContainerRect.bottom};const headingWidth=window.getComputedStyle(Polymer.dom(this).querySelector('tr-ui-b-heading')).width;const trackTitleWidth=parseInt(headingWidth);clipRect.left=clipRect.left+trackTitleWidth;const intersectRect_=function(r1,r2){if(r2.left>r1.right||r2.right<r1.left||r2.top>r1.bottom||r2.bottom<r1.top){return false;}
9329const results={};results.left=Math.max(r1.left,r2.left);results.top=Math.max(r1.top,r2.top);results.right=Math.min(r1.right,r2.right);results.bottom=Math.min(r1.bottom,r2.bottom);results.width=results.right-results.left;results.height=results.bottom-results.top;return results;};const finalDragBox=intersectRect_(clipRect,dragRect);this.$.drag_box.style.left=finalDragBox.left+'px';this.$.drag_box.style.width=finalDragBox.width+'px';this.$.drag_box.style.top=finalDragBox.top+'px';this.$.drag_box.style.height=finalDragBox.height+'px';this.$.drag_box.style.whiteSpace='nowrap';const pixelRatio=window.devicePixelRatio||1;const canv=this.modelTrackContainer_.canvas;const dt=this.viewport_.currentDisplayTransform;const loWX=dt.xViewToWorld((loX-canv.offsetLeft)*pixelRatio);const hiWX=dt.xViewToWorld((hiX-canv.offsetLeft)*pixelRatio);Polymer.dom(this.$.drag_box).textContent=tr.b.Unit.byName.timeDurationInMs.format(hiWX-loWX);const e=new tr.b.Event('selectionChanging');e.loWX=loWX;e.hiWX=hiWX;this.dispatchEvent(e);},onGridToggle_(left){const selection=this.brushingStateController_.selection;const tb=left?selection.bounds.min:selection.bounds.max;if(this.viewport_.gridEnabled&&this.viewport_.gridSide===left&&this.viewport_.gridInitialTimebase===tb){this.viewport_.gridside=undefined;this.viewport_.gridEnabled=false;this.viewport_.gridInitialTimebase=undefined;return;}
9330const numIntervalsSinceStart=Math.ceil((tb-this.model_.bounds.min)/this.viewport_.gridStep_);this.viewport_.gridEnabled=true;this.viewport_.gridSide=left;this.viewport_.gridInitialTimebase=tb;this.viewport_.gridTimebase=tb-
9331(numIntervalsSinceStart+1)*this.viewport_.gridStep_;},storeLastMousePos_(e){this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);},storeLastTouchPositions_(e){this.lastTouchViewPositions_=this.extractRelativeTouchPositions_(e);},extractRelativeMousePosition_(e){const canv=this.modelTrackContainer_.canvas;return{x:e.clientX-canv.offsetLeft,y:e.clientY-canv.offsetTop};},extractRelativeTouchPositions_(e){const canv=this.modelTrackContainer_.canvas;const touches=[];for(let i=0;i<e.touches.length;++i){touches.push({x:e.touches[i].clientX-canv.offsetLeft,y:e.touches[i].clientY-canv.offsetTop});}
9332return touches;},storeInitialMouseDownPos_(e){const position=this.extractRelativeMousePosition_(e);this.mouseViewPosAtMouseDown_.x=position.x;this.mouseViewPosAtMouseDown_.y=position.y;},focusElements_(){this.$.hotkey_controller.childRequestsGeneralFocus(this);},storeInitialInteractionPositionsAndFocus_(e){this.storeInitialMouseDownPos_(e);this.storeLastMousePos_(e);this.focusElements_();},onBeginPanScan_(e){const vp=this.viewport_;this.viewportDisplayTransformAtMouseDown_=vp.currentDisplayTransform.clone();this.isPanningAndScanning_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdatePanScan_(e){if(!this.isPanningAndScanning_)return;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDeltaView=pixelRatio*(this.lastMouseViewPos_.x-
9333this.mouseViewPosAtMouseDown_.x);const yDelta=this.lastMouseViewPos_.y-
9334this.mouseViewPosAtMouseDown_.y;this.displayTransform_.set(this.viewportDisplayTransformAtMouseDown_);this.displayTransform_.incrementPanXInViewUnits(xDeltaView);this.displayTransform_.panY-=yDelta;this.viewport_.setDisplayTransformImmediately(this.displayTransform_);e.preventDefault();e.stopPropagation();this.storeLastMousePos_(e);},onEndPanScan_(e){this.isPanningAndScanning_=false;this.storeLastMousePos_(e);if(!e.isClick){e.preventDefault();}},onBeginSelection_(e){const canv=this.modelTrackContainer_.canvas;const rect=this.modelTrack_.getBoundingClientRect();const canvRect=canv.getBoundingClientRect();const inside=rect&&e.clientX>=rect.left&&e.clientX<rect.right&&e.clientY>=rect.top&&e.clientY<rect.bottom&&e.clientX>=canvRect.left&&e.clientX<canvRect.right;if(!inside)return;this.dragBeginEvent_=e;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateSelection_(e){if(!this.dragBeginEvent_)return;this.dragBoxXStart_=this.dragBeginEvent_.clientX;this.dragBoxXEnd_=e.clientX;this.dragBoxYStart_=this.dragBeginEvent_.clientY;this.dragBoxYEnd_=e.clientY;this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);},onEndSelection_(e){e.preventDefault();if(!this.dragBeginEvent_)return;this.hideDragBox_();const eDown=this.dragBeginEvent_;this.dragBeginEvent_=undefined;const loY=Math.min(eDown.clientY,e.clientY);const hiY=Math.max(eDown.clientY,e.clientY);const loX=Math.min(eDown.clientX,e.clientX);const hiX=Math.max(eDown.clientX,e.clientX);const canv=this.modelTrackContainer_.canvas;const worldOffset=canv.getBoundingClientRect().left;const loVX=loX-worldOffset;const hiVX=hiX-worldOffset;const selection=new tr.model.EventSet();if(eDown.appendSelection){const previousSelection=this.brushingStateController_.selection;if(previousSelection!==undefined){selection.addEventSet(previousSelection);}}
9335this.modelTrack_.addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);this.brushingStateController_.changeSelectionFromTimeline(selection);},onBeginZoom_(e){this.isZooming_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const newPosition=this.extractRelativeMousePosition_(e);const zoomScaleValue=1+(this.lastMouseViewPos_.y-
9336newPosition.y)*0.01;this.zoomBy_(zoomScaleValue,false);this.storeLastMousePos_(e);},onEndZoom_(e){this.isZooming_=false;if(!e.isClick){e.preventDefault();}},computeTouchCenter_(positions){let xSum=0;let ySum=0;for(let i=0;i<positions.length;++i){xSum+=positions[i].x;ySum+=positions[i].y;}
9337return{x:xSum/positions.length,y:ySum/positions.length};},computeTouchSpan_(positions){let xMin=Number.MAX_VALUE;let yMin=Number.MAX_VALUE;let xMax=Number.MIN_VALUE;let yMax=Number.MIN_VALUE;for(let i=0;i<positions.length;++i){xMin=Math.min(xMin,positions[i].x);yMin=Math.min(yMin,positions[i].y);xMax=Math.max(xMax,positions[i].x);yMax=Math.max(yMax,positions[i].y);}
9338return Math.sqrt((xMin-xMax)*(xMin-xMax)+
9339(yMin-yMax)*(yMin-yMax));},onUpdateTransformForTouch_(e){const newPositions=this.extractRelativeTouchPositions_(e);const currentPositions=this.lastTouchViewPositions_;const newCenter=this.computeTouchCenter_(newPositions);const currentCenter=this.computeTouchCenter_(currentPositions);const newSpan=this.computeTouchSpan_(newPositions);const currentSpan=this.computeTouchSpan_(currentPositions);const vp=this.viewport_;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDelta=pixelRatio*(newCenter.x-currentCenter.x);const yDelta=newCenter.y-currentCenter.y;const zoomScaleValue=currentSpan>10?newSpan/currentSpan:1;const viewFocus=pixelRatio*newCenter.x;const worldFocus=vp.currentDisplayTransform.xViewToWorld(viewFocus);this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=zoomScaleValue;this.displayTransform_.xPanWorldPosToViewPos(worldFocus,viewFocus,viewWidth);this.displayTransform_.incrementPanXInViewUnits(xDelta);this.displayTransform_.panY-=yDelta;vp.setDisplayTransformImmediately(this.displayTransform_);this.storeLastTouchPositions_(e);},initHintText_(){this.$.hint_text.style.display='none';this.pendingHintTextClearTimeout_=undefined;},showHintText_(text){if(this.pendingHintTextClearTimeout_){window.clearTimeout(this.pendingHintTextClearTimeout_);this.pendingHintTextClearTimeout_=undefined;}
9340this.pendingHintTextClearTimeout_=setTimeout(this.hideHintText_.bind(this),1000);Polymer.dom(this.$.hint_text).textContent=text;this.$.hint_text.style.display='';},hideHintText_(){this.pendingHintTextClearTimeout_=undefined;this.$.hint_text.style.display='none';}});'use strict';Polymer({is:'tr-ui-find-control',filterKeyDown(e){if(e.keyCode===27){const hkc=tr.b.getHotkeyControllerForElement(this);if(hkc){hkc.childRequestsBlur(this);}else{this.blur();}
9341e.preventDefault();e.stopPropagation();return;}else if(e.keyCode===13){if(e.shiftKey){this.findPrevious();}else{this.findNext();}}},filterBlur(e){this.updateHitCountEl();},filterFocus(e){this.$.filter.select();},filterMouseUp(e){e.preventDefault();},get controller(){return this.controller_;},set controller(c){this.controller_=c;this.updateHitCountEl();},focus(){this.$.filter.focus();},get hasFocus(){return this===document.activeElement;},filterTextChanged(){Polymer.dom(this.$.hitCount).textContent='';this.$.spinner.style.visibility='visible';this.$.spinner.style.animation='spin 1s linear infinite';this.controller.startFiltering(this.$.filter.value).then(function(){this.$.spinner.style.visibility='hidden';this.$.spinner.style.animation='';this.updateHitCountEl();}.bind(this));},findNext(){if(this.controller){this.controller.findNext();}
9342this.updateHitCountEl();},findPrevious(){if(this.controller){this.controller.findPrevious();}
9343this.updateHitCountEl();},updateHitCountEl(){if(!this.controller||this.$.filter.value.length===0){Polymer.dom(this.$.hitCount).textContent='';return;}
9344const n=this.controller.filterHits.length;const i=n===0?-1:this.controller.currentHitIndex;Polymer.dom(this.$.hitCount).textContent=(i+1)+' of '+n;},setText(string){this.$.filter.value=string;}});'use strict';tr.exportTo('tr.e.tquery',function(){function Context(){this.event=undefined;this.ancestors=[];}
9345Context.prototype={push(event){const ctx=new Context();ctx.ancestors=this.ancestors.slice();ctx.ancestors.push(event);return ctx;},pop(event){const ctx=new Context();ctx.event=this.ancestors[this.ancestors.length-1];ctx.ancestors=this.ancestors.slice(0,this.ancestors.length-1);return ctx;}};return{Context,};});'use strict';tr.exportTo('tr.e.tquery',function(){function Filter(){tr.c.ScriptingObject.call(this);}
9346Filter.normalizeFilterExpression=function(filterExpression){if(filterExpression instanceof String||typeof(filterExpression)==='string'||filterExpression instanceof RegExp){const filter=new tr.e.tquery.FilterHasTitle(filterExpression);return filter;}
9347return filterExpression;};Filter.prototype={__proto__:tr.c.ScriptingObject.prototype,evaluate(context){throw new Error('Not implemented');},matchValue_(value,expected){if(expected instanceof RegExp){return expected.test(value);}else if(expected instanceof Function){return expected(value);}
9348return value===expected;}};return{Filter,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAllOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];}
9349FilterAllOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(!this.subExpressions[i].evaluate(context)){return false;}}
9350return true;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=[];for(let i=0;i<arguments.length;i++){exprs.push(arguments[i]);}
9351return new FilterAllOf(exprs);},{name:'allOf'});return{FilterAllOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterNot(subExpression){tr.e.tquery.Filter.call(this);this.subExpression=subExpression;}
9352FilterNot.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){return!this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);if(exprs.length!==1){throw new Error('not() must have exactly one subexpression');}
9353return new FilterNot(exprs[0]);},{name:'not'});return{FilterNot,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAnyOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];}
9354FilterAnyOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(this.subExpressions[i].evaluate(context))return true;}
9355return false;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new FilterAnyOf(exprs);},{name:'anyOf'});tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new tr.e.tquery.FilterNot(new FilterAnyOf(exprs));},{name:'noneOf'});return{FilterAnyOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasAncestor(opt_subExpression){this.subExpression=opt_subExpression;}
9356FilterHasAncestor.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(!this.subExpression){return context.ancestors.length>0;}
9357while(context.ancestors.length){context=context.pop();if(this.subExpression.evaluate(context))return true;}
9358return false;}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterHasAncestor(subExpression);},{name:'hasAncestor'});return{FilterHasAncestor,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasDuration(minValueOrExpected,opt_maxValue){if(minValueOrExpected!==undefined&&opt_maxValue!==undefined){this.minValue=minValueOrExpected;this.maxValue=opt_maxValue;}else{this.expected=minValueOrExpected;}}
9359FilterHasDuration.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){if(context.event.duration===undefined)return false;if(this.minValue!==undefined&&this.maxValue!==undefined){return context.event.duration>=this.minValue&&context.event.duration<=this.maxValue;}
9360return this.matchValue_(context.event.duration,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(minValueOrExpected,opt_maxValue){return new FilterHasDuration(minValueOrExpected,opt_maxValue);},{name:'hasDuration'});return{FilterHasDuration,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasTitle(expected){tr.e.tquery.Filter.call(this);this.expected=expected;}
9361FilterHasTitle.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){return this.matchValue_(context.event.title,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(expected){const filter=new tr.e.tquery.FilterHasTitle(expected);return filter;},{name:'hasTitle'});return{FilterHasTitle,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterIsTopLevel(opt_subExpression){this.subExpression=opt_subExpression;}
9362FilterIsTopLevel.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(context.ancestors.length>0)return false;if(!this.subExpression)return true;return this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterIsTopLevel(subExpression);},{name:'isTopLevel'});return{FilterIsTopLevel,};});'use strict';tr.exportTo('tr.e.tquery',function(){function addEventTreeToSelection(selection,event){selection.push(event);if(!event.subSlices)return;event.subSlices.forEach(addEventTreeToSelection.bind(undefined,selection));}
9363function TQuery(model){tr.c.ScriptingObject.call(this);this.model_=model;this.parent_=undefined;this.filterExpression_=undefined;this.selection_=undefined;}
9364TQuery.prototype={__proto__:tr.c.ScriptingObject.prototype,onModelChanged(model){this.model_=model;this.selection_=undefined;},get brushingStateController(){return this.brushingStateController_;},filter(filterExpression){const result=new TQuery(this.model_);result.parent_=this;result.filterExpression_=tr.e.tquery.Filter.normalizeFilterExpression(filterExpression);return result;},createFilterTaskGraph_(){const nodes=[this];while(nodes[nodes.length-1].parent_){nodes.push(nodes[nodes.length-1].parent_);}
9365const rootTask=new tr.b.Task();let lastTask=rootTask;let node;for(let i=nodes.length-1;i>=0;i--){node=nodes[i];if(node.selection_!==undefined)continue;node.selection_=new tr.model.EventSet();if(node.parent_===undefined){lastTask=lastTask.after(this.selectEverythingAsTask_(node.selection_));}else{const prevNode=nodes[i+1];lastTask=this.createFilterTaskForNode_(lastTask,node,prevNode);}}
9366return{rootTask,lastTask,lastNode:node};},createFilterTaskForNode_(lastTask,node,prevNode){return lastTask.after(function(){node.evaluateFilterExpression_(prevNode.selection_,node.selection_);},this);},evaluateFilterExpression_(inputSelection,outputSelection){const seenEvents={};inputSelection.forEach(function(event){const context=new tr.e.tquery.Context();context.event=event;this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}.bind(this));},evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents){const event=context.event;if(inputSelection.contains(event)&&!seenEvents[event.guid]){seenEvents[event.guid]=true;if(!this.filterExpression_||this.filterExpression_.evaluate(context)){outputSelection.push(event);}}
9367if(!event.subSlices)return;context=context.push(event);for(let i=0;i<event.subSlices.length;i++){context.event=event.subSlices[i];this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}},selectEverythingAsTask_(selection){const filterTask=new tr.b.Task();for(const container of this.model_.getDescendantEventContainers()){filterTask.subTask(()=>{for(const event of container.childEvents()){addEventTreeToSelection(selection,event);}},this);}
9368return filterTask;},ready(){return new Promise(function(resolve,reject){const graph=this.createFilterTaskGraph_();graph.lastTask=graph.lastTask.after(function(){resolve(this.selection_);},this);tr.b.Task.RunWhenIdle(graph.rootTask);}.bind(this));},get selection(){if(this.selection_===undefined){const graph=this.createFilterTaskGraph_();tr.b.Task.RunSynchronously(graph.rootTask);}
9369return this.selection_;}};tr.c.ScriptingObjectRegistry.register(new TQuery(),{name:'$t'});return{TQuery,};});'use strict';Polymer({is:'tr-ui-scripting-control',isEnterKey_(event){return event.keyCode!==229&&(event.key==='Enter'||event.keyIdentifier==='Enter');},setFocus_(focused){const promptEl=this.$.prompt;if(focused){promptEl.focus();Polymer.dom(this.$.root).classList.add('focused');if(promptEl.value.length>0){const sel=window.getSelection();sel.collapse(Polymer.dom(promptEl).firstChild,promptEl.value.length);}}else{promptEl.blur();Polymer.dom(this.$.root).classList.remove('focused');const parent=promptEl.parentElement;const nextEl=Polymer.dom(promptEl).nextSibling;promptEl.remove();Polymer.dom(parent).insertBefore(promptEl,nextEl);}},onConsoleFocus(e){e.stopPropagation();this.setFocus_(true);},onConsoleBlur(e){e.stopPropagation();this.setFocus_(false);},promptKeyDown(e){e.stopPropagation();if(!this.isEnterKey_(e))return;e.preventDefault();const promptEl=this.$.prompt;const command=promptEl.value;if(command.length===0)return;promptEl.value='';this.addLine_(String.fromCharCode(187)+' '+command);let result;try{result=this.controller_.executeCommand(command);}catch(e){result=e.stack||e.stackTrace;}
9370if(result instanceof tr.e.tquery.TQuery){result.ready().then(function(selection){this.addLine_(selection.length+' matches');this.controller_.brushingStateController.showScriptControlSelection(selection);}.bind(this));}else{this.addLine_(result);}
9371promptEl.scrollIntoView();},addLine_(line){const historyEl=this.$.history;if(historyEl.innerText.length!==0){historyEl.innerText+='\n';}
9372historyEl.innerText+=line;},promptKeyPress(e){e.stopPropagation();},toggleVisibility(){const root=this.$.root;if(!this.visible){Polymer.dom(root).classList.remove('hidden');this.setFocus_(true);}else{Polymer.dom(root).classList.add('hidden');this.setFocus_(false);}},get hasFocus(){return this===document.activeElement;},get visible(){const root=this.$.root;return!Polymer.dom(root).classList.contains('hidden');},get controller(){return this.controller_;},set controller(c){this.controller_=c;}});'use strict';Polymer({is:'tr-ui-side-panel-container',ready(){this.activePanelContainer_=this.$.active_panel_container;this.tabStrip_=this.$.tab_strip;this.dragHandle_=this.$.side_panel_drag_handle;this.dragHandle_.horizontal=false;this.dragHandle_.target=this.activePanelContainer_;this.rangeOfInterest_=new tr.b.math.Range();this.brushingStateController_=undefined;this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onModelChanged_=this.onModelChanged_.bind(this);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);this.brushingStateController_.removeEventListener('model-changed',this.onModelChanged_);}
9373this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);this.brushingStateController_.addEventListener('model-changed',this.onModelChanged_);}},onSelectionChanged_(){if(this.activePanel){this.activePanel.selection=this.selection;}},get model(){return this.brushingStateController_.model;},onModelChanged_(){this.activePanelType_=undefined;this.updateContents_();},get expanded(){this.hasAttribute('expanded');},get activePanel(){return this.activePanelContainer_.children[0];},get activePanelType(){return this.activePanelType_;},set activePanelType(panelType){if(this.model===undefined){throw new Error('Cannot activate panel without a model');}
9374let panel=undefined;if(panelType){panel=document.createElement(panelType);}
9375if(panel!==undefined&&!panel.supportsModel(this.model)){throw new Error('Cannot activate panel: does not support this model');}
9376if(this.activePanelType){Polymer.dom(this.getLabelElementForPanelType_(this.activePanelType)).removeAttribute('selected');}
9377if(this.activePanelType){this.getLabelElementForPanelType_(this.activePanelType).removeAttribute('selected');}
9378if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);}
9379if(panelType===undefined){Polymer.dom(this).removeAttribute('expanded');this.activePanelType_=undefined;return;}
9380Polymer.dom(this.getLabelElementForPanelType_(panelType)).setAttribute('selected',true);Polymer.dom(this).setAttribute('expanded',true);Polymer.dom(this.activePanelContainer_).appendChild(panel);panel.rangeOfInterest=this.rangeOfInterest_;panel.selection=this.selection_;panel.model=this.model;this.activePanelType_=panelType;},getPanelTypeForConstructor_(constructor){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType.constructor===constructor){return this.tabStrip_.children[i].panelType;}}},getLabelElementForPanelType_(panelType){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType===panelType){return this.tabStrip_.children[i];}}
9381return undefined;},updateContents_(){const previouslyActivePanelType=this.activePanelType;Polymer.dom(this.tabStrip_).textContent='';const supportedPanelTypes=[];for(const panelTypeInfo of
9382tr.ui.side_panel.SidePanelRegistry.getAllRegisteredTypeInfos()){const labelEl=document.createElement('tab-strip-label');const panel=panelTypeInfo.constructor();const panelType=panel.tagName;Polymer.dom(labelEl).textContent=panel.textLabel;labelEl.panelType=panelType;const supported=panel.supportsModel(this.model);if(this.model&&supported.supported){supportedPanelTypes.push(panelType);Polymer.dom(labelEl).setAttribute('enabled',true);labelEl.addEventListener('click',function(panelType){this.activePanelType=this.activePanelType===panelType?undefined:panelType;}.bind(this,panelType));}else{if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);}
9383this.removeAttribute('expanded');}
9384Polymer.dom(this.tabStrip_).appendChild(labelEl);}
9385if(previouslyActivePanelType&&supportedPanelTypes.includes(previouslyActivePanelType)){this.activePanelType=previouslyActivePanelType;Polymer.dom(this).setAttribute('expanded',true);}else{if(this.activePanel){Polymer.dom(this.activePanelContainer_).removeChild(this.activePanel);}
9386Polymer.dom(this).removeAttribute('expanded');}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){if(range===undefined){throw new Error('Must not be undefined');}
9387this.rangeOfInterest_=range;if(this.activePanel){this.activePanel.rangeOfInterest=range;}}});'use strict';Polymer({is:'tr-ui-timeline-view-help-overlay',ready(){const mod=tr.isMac?'cmd ':'ctrl';const spans=Polymer.dom(this.root).querySelectorAll('span.mod');for(let i=0;i<spans.length;i++){Polymer.dom(spans[i]).textContent=mod;}}});'use strict';Polymer({is:'tr-ui-timeline-view-metadata-overlay',created(){this.metadata_=undefined;},ready(){this.$.table.tableColumns=[{title:'name',value:d=>d.name,},{title:'value',value:d=>{const gov=document.createElement('tr-ui-a-generic-object-view');gov.object=d.value;return gov;},}];},get metadata(){return this.metadata_;},set metadata(metadata){this.metadata_=metadata;this.$.table.tableRows=this.metadata_;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-preferred-display-unit',ready(){this.preferredTimeDisplayMode_=undefined;},attached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},detached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},get preferredTimeDisplayMode(){return this.preferredTimeDisplayMode_;},set preferredTimeDisplayMode(v){if(this.preferredTimeDisplayMode_===v)return;this.preferredTimeDisplayMode_=v;tr.b.Unit.didPreferredTimeDisplayUnitChange();}});'use strict';Polymer({is:'tr-ui-timeline-view',attached(){this.async(function(){this.trackViewContainer_=Polymer.dom(this).querySelector('#track_view_container');if(!this.trackViewContainer_){throw new Error('missing trackviewContainer');}});},ready(){this.tabIndex=0;this.titleEl_=this.$.title;this.leftControlsEl_=this.$.left_controls;this.rightControlsEl_=this.$.right_controls;this.collapsingControlsEl_=this.$.collapsing_controls;this.sidePanelContainer_=this.$.side_panel_container;this.brushingStateController_=new tr.c.BrushingStateController(this);this.findCtl_=this.$.view_find_control;this.findCtl_.controller=new tr.ui.FindController(this.brushingStateController_);this.scriptingCtl_=document.createElement('tr-ui-scripting-control');this.scriptingCtl_.controller=new tr.c.ScriptingController(this.brushingStateController_);this.sidePanelContainer_.brushingStateController=this.brushingStateController_;if(window.tr.metrics&&window.tr.metrics.sh&&window.tr.metrics.sh.SystemHealthMetric){this.railScoreSpan_=document.createElement('tr-metrics-ui-sh-system-health-span');Polymer.dom(this.rightControls).appendChild(this.railScoreSpan_);}else{this.railScoreSpan_=undefined;}
9388this.optionsDropdown_=this.$.view_options_dropdown;Polymer.dom(this.optionsDropdown_.iconElement).textContent='View Options';this.showFlowEvents_=false;Polymer.dom(this.optionsDropdown_).appendChild(tr.ui.b.createCheckBox(this,'showFlowEvents','tr.ui.TimelineView.showFlowEvents',false,'Flow events'));this.highlightVSync_=false;this.highlightVSyncCheckbox_=tr.ui.b.createCheckBox(this,'highlightVSync','tr.ui.TimelineView.highlightVSync',false,'Highlight VSync');Polymer.dom(this.optionsDropdown_).appendChild(this.highlightVSyncCheckbox_);this.initMetadataButton_();this.initConsoleButton_();this.initHelpButton_();Polymer.dom(this.collapsingControls).appendChild(this.scriptingCtl_);this.dragEl_=this.$.drag_handle;this.analysisEl_=this.$.analysis;this.analysisEl_.brushingStateController=this.brushingStateController_;this.addEventListener('requestSelectionChange',function(e){const sc=this.brushingStateController_;sc.changeSelectionFromRequestSelectionChangeEvent(e.selection);}.bind(this));this.onViewportChanged_=this.onViewportChanged_.bind(this);this.bindKeyListeners_();this.dragEl_.target=this.analysisEl_;},get globalMode(){return this.hotkeyController.globalMode;},set globalMode(globalMode){globalMode=!!globalMode;this.brushingStateController_.historyEnabled=globalMode;this.hotkeyController.globalMode=globalMode;},get hotkeyController(){return this.$.hkc;},updateDocumentFavicon(){let hue;if(!this.model){hue='blue';}else{hue=this.model.faviconHue;}
9389let faviconData=tr.ui.b.FaviconsByHue[hue];if(faviconData===undefined){faviconData=tr.ui.b.FaviconsByHue.blue;}
9390let link=Polymer.dom(document.head).querySelector('link[rel="shortcut icon"]');if(!link){link=document.createElement('link');link.rel='shortcut icon';Polymer.dom(document.head).appendChild(link);}
9391link.href=faviconData;},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;if(!this.trackView_)return;this.trackView_.viewport.showFlowEvents=showFlowEvents;},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;if(!this.trackView_)return;this.trackView_.viewport.highlightVSync=highlightVSync;},initHelpButton_(){const helpButtonEl=this.$.view_help_button;const dlg=new tr.ui.b.Overlay();dlg.title='Chrome Tracing Help';dlg.visible=false;dlg.appendChild(document.createElement('tr-ui-timeline-view-help-overlay'));function onClick(e){dlg.visible=!dlg.visible;e.stopPropagation();}
9392helpButtonEl.addEventListener('click',onClick.bind(this));},initConsoleButton_(){const toggleEl=this.$.view_console_button;function onClick(e){this.scriptingCtl_.toggleVisibility();e.stopPropagation();return false;}
9393toggleEl.addEventListener('click',onClick.bind(this));},initMetadataButton_(){const showEl=this.$.view_metadata_button;function onClick(e){const dlg=new tr.ui.b.Overlay();dlg.title='Metadata for trace';const metadataOverlay=document.createElement('tr-ui-timeline-view-metadata-overlay');metadataOverlay.metadata=this.model.metadata;Polymer.dom(dlg).appendChild(metadataOverlay);dlg.visible=true;e.stopPropagation();return false;}
9394showEl.addEventListener('click',onClick.bind(this));this.updateMetadataButtonVisibility_();},updateMetadataButtonVisibility_(){const showEl=this.$.view_metadata_button;showEl.style.display=(this.model&&this.model.metadata.length)?'':'none';},get leftControls(){return this.leftControlsEl_;},get rightControls(){return this.rightControlsEl_;},get collapsingControls(){return this.collapsingControlsEl_;},get viewTitle(){return Polymer.dom(this.titleEl_).textContent.substring(Polymer.dom(this.titleEl_).textContent.length-2);},set viewTitle(text){if(text===undefined){Polymer.dom(this.titleEl_).textContent='';this.titleEl_.hidden=true;return;}
9395this.titleEl_.hidden=false;Polymer.dom(this.titleEl_).textContent=text;},get model(){if(this.trackView_){return this.trackView_.model;}
9396return undefined;},set model(model){const modelInstanceChanged=model!==this.model;const modelValid=model&&!model.bounds.isEmpty;const importWarningsEl=Polymer.dom(this.root).querySelector('#import-warnings');Polymer.dom(importWarningsEl).textContent='';if(modelInstanceChanged){if(this.railScoreSpan_){this.railScoreSpan_.model=undefined;}
9397Polymer.dom(this.trackViewContainer_).textContent='';if(this.trackView_){this.trackView_.viewport.removeEventListener('change',this.onViewportChanged_);this.trackView_.brushingStateController=undefined;this.trackView_.detach();this.trackView_=undefined;}
9398this.brushingStateController_.modelWillChange();}
9399if(modelValid&&!this.trackView_){this.trackView_=document.createElement('tr-ui-timeline-track-view');this.trackView_.timelineView=this;this.trackView.brushingStateController=this.brushingStateController_;Polymer.dom(this.trackViewContainer_).appendChild(this.trackView_);this.trackView_.viewport.addEventListener('change',this.onViewportChanged_);}
9400if(modelValid){this.trackView_.model=model;this.trackView_.viewport.showFlowEvents=this.showFlowEvents;this.trackView_.viewport.highlightVSync=this.highlightVSync;if(this.railScoreSpan_){this.railScoreSpan_.model=model;}
9401this.$.display_unit.preferredTimeDisplayMode=model.intrinsicTimeUnit;}
9402if(model){model.importWarningsThatShouldBeShownToUser.forEach(function(importWarning){importWarningsEl.addMessage('Import Warning: '+importWarning.type+': '+
9403importWarning.message);},this);}
9404if(modelInstanceChanged){this.updateMetadataButtonVisibility_();this.brushingStateController_.modelDidChange();this.onViewportChanged_();}},get brushingStateController(){return this.brushingStateController_;},get trackView(){return this.trackView_;},get settings(){if(!this.settings_){this.settings_=new tr.b.Settings();}
9405return this.settings_;},set focusElement(value){throw new Error('This is deprecated. Please set globalMode to true.');},bindKeyListeners_(){const hkc=this.hotkeyController;hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'`'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){this.scriptingCtl_.toggleVisibility();if(!this.scriptingCtl_.hasFocus){this.focus();}
9406e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'/'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){if(this.scriptingCtl_.hasFocus)return;if(this.findCtl_.hasFocus){this.focus();}else{this.findCtl_.focus();}
9407e.preventDefault();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'?'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.$.view_help_button.click();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'v'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.toggleHighlightVSync_();e.stopPropagation();}}));},onViewportChanged_(e){const spc=this.sidePanelContainer_;if(!this.trackView_){spc.rangeOfInterest.reset();return;}
9408const vr=this.trackView_.viewport.interestRange.asRangeObject();if(!spc.rangeOfInterest.equals(vr)){spc.rangeOfInterest=vr;}
9409if(this.railScoreSpan_&&this.model){this.railScoreSpan_.model=this.model;}},toggleHighlightVSync_(){this.highlightVSyncCheckbox_.checked=!this.highlightVSyncCheckbox_.checked;},setFindCtlText(string){this.findCtl_.setText(string);}});'use strict';tr.exportTo('tr.ui.b',function(){function Row(title,data,groupingKeyFuncs,rowStatsConstructor){this.title=title;this.data_=data;if(groupingKeyFuncs===undefined){groupingKeyFuncs=[];}
9410this.groupingKeyFuncs_=groupingKeyFuncs;this.rowStatsConstructor_=rowStatsConstructor;this.subRowsBuilt_=false;this.subRows_=undefined;this.rowStats_=undefined;}
9411Row.prototype={getCurrentGroupingKeyFunc_(){if(this.groupingKeyFuncs_.length===0)return undefined;return this.groupingKeyFuncs_[0];},get data(){return this.data_;},get rowStats(){if(this.rowStats_===undefined){this.rowStats_=new this.rowStatsConstructor_(this);}
9412return this.rowStats_;},rebuildSubRowsIfNeeded_(){if(this.subRowsBuilt_)return;this.subRowsBuilt_=true;const groupingKeyFunc=this.getCurrentGroupingKeyFunc_();if(groupingKeyFunc===undefined){this.subRows_=undefined;return;}
9413const dataByKey={};let hasValues=false;this.data_.forEach(function(datum){const key=groupingKeyFunc(datum);hasValues=hasValues||(key!==undefined);if(dataByKey[key]===undefined){dataByKey[key]=[];}
9414dataByKey[key].push(datum);});if(!hasValues){this.subRows_=undefined;return;}
9415this.subRows_=[];for(const key in dataByKey){const row=new Row(key,dataByKey[key],this.groupingKeyFuncs_.slice(1),this.rowStatsConstructor_);this.subRows_.push(row);}},get isExpanded(){return(this.subRows&&(this.subRows.length>0)&&(this.subRows.length<5));},get subRows(){this.rebuildSubRowsIfNeeded_();return this.subRows_;}};Polymer({is:'tr-ui-b-grouping-table',created(){this.dataToGroup_=undefined;this.groupBy_=undefined;this.rowStatsConstructor_=undefined;},get tableColumns(){return this.$.table.tableColumns;},set tableColumns(tableColumns){this.$.table.tableColumns=tableColumns;},get tableRows(){return this.$.table.tableRows;},get sortColumnIndex(){return this.$.table.sortColumnIndex;},set sortColumnIndex(sortColumnIndex){this.$.table.sortColumnIndex=sortColumnIndex;},get sortDescending(){return this.$.table.sortDescending;},set sortDescending(sortDescending){this.$.table.sortDescending=sortDescending;},get selectionMode(){return this.$.table.selectionMode;},set selectionMode(selectionMode){this.$.table.selectionMode=selectionMode;},get rowHighlightStyle(){return this.$.table.rowHighlightStyle;},set rowHighlightStyle(rowHighlightStyle){this.$.table.rowHighlightStyle=rowHighlightStyle;},get cellHighlightStyle(){return this.$.table.cellHighlightStyle;},set cellHighlightStyle(cellHighlightStyle){this.$.table.cellHighlightStyle=cellHighlightStyle;},get selectedColumnIndex(){return this.$.table.selectedColumnIndex;},set selectedColumnIndex(selectedColumnIndex){this.$.table.selectedColumnIndex=selectedColumnIndex;},get selectedTableRow(){return this.$.table.selectedTableRow;},set selectedTableRow(selectedTableRow){this.$.table.selectedTableRow=selectedTableRow;},get groupBy(){return this.groupBy_;},set groupBy(groupBy){this.groupBy_=groupBy;this.updateContents_();},get dataToGroup(){return this.dataToGroup_;},set dataToGroup(dataToGroup){this.dataToGroup_=dataToGroup;this.updateContents_();},get rowStatsConstructor(){return this.rowStatsConstructor_;},set rowStatsConstructor(rowStatsConstructor){this.rowStatsConstructor_=rowStatsConstructor;this.updateContents_();},rebuild(){this.$.table.rebuild();},updateContents_(){const groupBy=this.groupBy_||[];const dataToGroup=this.dataToGroup_||[];const rowStatsConstructor=this.rowStatsConstructor_||function(){};const superRow=new Row('',dataToGroup,groupBy,rowStatsConstructor);this.$.table.tableRows=superRow.subRows||[];}});return{};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;Polymer({is:'tr-ui-b-grouping-table-groupby-picker-group',created(){this.picker_=undefined;this.group_=undefined;},get picker(){return this.picker_;},set picker(picker){this.picker_=picker;},get group(){return this.group_;},set group(g){this.group_=g;this.$.label.textContent=g.label;},get enabled(){return this.$.enabled.checked;},set enabled(enabled){this.$.enabled.checked=enabled;if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';}},set isFirst(isFirst){this.$.left.style.display=(!this.enabled||isFirst)?'none':'inline';},set isLast(isLast){this.$.right.style.display=(!this.enabled||isLast)?'none':'inline';},moveLeft_(){this.picker.moveLeft_(this);},moveRight_(){this.picker.moveRight_(this);},onEnableChanged_(){if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';}
9416this.picker.onEnableChanged_(this);}});Polymer({is:'tr-ui-b-grouping-table-groupby-picker',created(){this.settingsKey_=undefined;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(this.$.container.children.length){this.restoreSetting_();}},restoreSetting_(){if(this.settingsKey_===undefined)return;this.currentGroupKeys=tr.b.Settings.get(this.settingsKey_,this.currentGroupKeys);},get possibleGroups(){return[...this.$.container.children].map(groupEl=>groupEl.group);},set possibleGroups(possibleGroups){Polymer.dom(this.$.container).textContent='';for(let i=0;i<possibleGroups.length;++i){const groupEl=document.createElement('tr-ui-b-grouping-table-groupby-picker-group');groupEl.picker=this;groupEl.group=possibleGroups[i];Polymer.dom(this.$.container).appendChild(groupEl);}
9417this.restoreSetting_();this.updateFirstLast_();},updateFirstLast_(){const groupEls=this.$.container.children;const enabledGroupEls=[...groupEls].filter(el=>el.enabled);for(let i=0;i<enabledGroupEls.length;++i){enabledGroupEls[i].isFirst=i===0;enabledGroupEls[i].isLast=i===enabledGroupEls.length-1;}},get currentGroupKeys(){return this.currentGroups.map(group=>group.key);},get currentGroups(){const groups=[];for(const groupEl of this.$.container.children){if(groupEl.enabled){groups.push(groupEl.group);}}
9418return groups;},set currentGroupKeys(newKeys){if(!tr.b.compareArrays(this.currentGroupKeys,newKeys,(x,y)=>x.localeCompare(y))){return;}
9419const possibleGroups=new Map();for(const group of this.possibleGroups){possibleGroups.set(group.key,group);}
9420const groupEls=this.$.container.children;let i=0;for(i=0;i<newKeys.length;++i){const group=possibleGroups.get(newKeys[i]);if(group===undefined){newKeys.splice(i,1);--i;continue;}
9421groupEls[i].group=group;groupEls[i].enabled=true;possibleGroups.delete(newKeys[i]);}
9422for(const group of possibleGroups.values()){groupEls[i].group=group;groupEls[i].enabled=false;++i;}
9423this.updateFirstLast_();this.onCurrentGroupsChanged_();},moveLeft_(groupEl){const reference=groupEl.previousSibling;Polymer.dom(this.$.container).removeChild(groupEl);Polymer.dom(this.$.container).insertBefore(groupEl,reference);this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},moveRight_(groupEl){const reference=groupEl.nextSibling.nextSibling;Polymer.dom(this.$.container).removeChild(groupEl);if(reference){Polymer.dom(this.$.container).insertBefore(groupEl,reference);}else{Polymer.dom(this.$.container).appendChild(groupEl);}
9424this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},onCurrentGroupsChanged_(){this.dispatchEvent(new tr.b.Event('current-groups-changed'));tr.b.Settings.set(this.settingsKey_,this.currentGroupKeys);},onEnableChanged_(groupEl){this.updateFirstLast_();this.onCurrentGroupsChanged_();}});return{};});'use strict';(function(){Polymer({is:'tr-ui-sp-file-size-stats-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.selection_=new tr.model.EventSet();this.$.picker.settingsKey='tr-ui-sp-file-size-stats-side-panel-picker';this.$.picker.possibleGroups=[{key:'phase',label:'Event Type',dataFn(eventStat){return eventStat.phase;}},{key:'category',label:'Category',dataFn(eventStat){return eventStat.category;}},{key:'title',label:'Title',dataFn(eventStat){return eventStat.title;}}];if(this.$.picker.currentGroupKeys.length===0){this.$.picker.currentGroupKeys=['phase','title'];}
9425this.$.picker.addEventListener('current-groups-changed',this.updateContents_.bind(this));},get textLabel(){return'File Size Stats';},supportsModel(m){if(!m){return{supported:false,reason:'No stats were collected for this file.'};}
9426if(m.stats.allTraceEventStats.length===0){return{supported:false,reason:'No stats were collected for this file.'};}
9427return{supported:true};},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;},createColumns_(stats){const columns=[{title:'Title',value(row){const titleEl=document.createElement('span');Polymer.dom(titleEl).textContent=row.title;titleEl.style.textOverflow='ellipsis';return titleEl;},cmp(a,b){return a.title.localeCompare(b.title);},width:'400px'},{title:'Num Events',align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,value(row){return row.rowStats.numEvents;},cmp(a,b){return a.rowStats.numEvents-b.rowStats.numEvents;},width:'80px'}];if(stats&&stats.hasEventSizesinBytes){columns.push({title:'Bytes',value(row){const value=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes,row.rowStats.totalEventSizeinBytes);const spanEl=tr.v.ui.createScalarSpan(value);return spanEl;},cmp(a,b){return a.rowStats.totalEventSizeinBytes-
9428b.rowStats.totalEventSizeinBytes;},width:'80px'});}
9429return columns;},updateContents_(){const table=this.$.table;const columns=this.createColumns_(this.model.stats);table.rowStatsConstructor=function ModelStatsRowStats(row){const sum=tr.b.math.Statistics.sum(row.data,function(x){return x.numEvents;});const totalEventSizeinBytes=tr.b.math.Statistics.sum(row.data,x=>x.totalEventSizeinBytes);return{numEvents:sum,totalEventSizeinBytes};};table.tableColumns=columns;table.sortColumnIndex=1;table.sortDescending=true;table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.groupBy=this.$.picker.currentGroups.map(function(group){return group.dataFn;});if(!this.model){table.dataToGroup=[];}else{table.dataToGroup=this.model.stats.allTraceEventStats;}
9430this.$.table.rebuild();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-file-size-stats-side-panel');});})();'use strict';tr.exportTo('tr.mre',function(){const FunctionRegistry={allFunctions_:[],allFunctionsByName_:{},get allFunctions(){return this.allFunctions_;},get allFunctionsByName(){return this.allFunctionsByName_;}};FunctionRegistry.getFunction=function(name){return this.allFunctionsByName_[name];};FunctionRegistry.register=function(func){if(func.name===''){throw new Error('Registered functions must not be anonymous');}
9431if(this.allFunctionsByName[func.name]!==undefined){throw new Error('Function named '+func.name+'is already registered.');}
9432this.allFunctionsByName[func.name]=func;this.allFunctions.push(func);};function ModuleToLoad(href,filename){if((href!==undefined)?(filename!==undefined):(filename===undefined)){throw new Error('ModuleToLoad must specify exactly one of href or '+'filename');}
9433this.href=href;this.filename=filename;}
9434ModuleToLoad.prototype={asDict(){if(this.href!==undefined){return{'href':this.href};}
9435return{'filename':this.filename};},toString(){if(this.href!==undefined){return'ModuleToLoad(href="'+this.href+'")';}
9436return'ModuleToLoad(filename="'+this.filename+'")';}};ModuleToLoad.fromDict=function(moduleDict){return new ModuleToLoad(moduleDict.href,moduleDict.filename);};function FunctionHandle(modulesToLoad,functionName,opt_options){if(!(modulesToLoad instanceof Array)){throw new Error('modulesToLoad in FunctionHandle must be an array');}
9437if(typeof(functionName)!=='string'){throw new Error('functionName in FunctionHandle must be a string');}
9438this.modulesToLoad=modulesToLoad;this.functionName=functionName;this.options_=opt_options;}
9439FunctionHandle.prototype={get options(){return this.options_;},asDict(){return{'modules_to_load':this.modulesToLoad.map(function(m){return m.asDict();}),'function_name':this.functionName,'options':this.options_};},asUserFriendlyString(){const parts=this.modulesToLoad.map(mtl=>mtl.filename);parts.push(this.functionName);parts.push(JSON.stringify(this.options_));return parts.join(',');},hasHrefs(){for(const module in this.modulesToLoad){if(this.modulesToLoad[module].href!==undefined){return true;}}
9440return false;},load(){if(this.hasHrefs()){const err=new Error('FunctionHandle named '+this.functionName+' specifies hrefs, which cannot be loaded.');err.name='FunctionLoadingError';throw err;}
9441for(const module in this.modulesToLoad){const filename=this.modulesToLoad[module].filename;try{HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;}}
9442const func=FunctionRegistry.getFunction(this.functionName);if(func===undefined){const err=new Error('No registered function named '+this.functionName);err.name='FunctionNotDefinedError';throw err;}
9443return func;},toString(){const modulesToLoadStr=this.modulesToLoad.map(function(module){return module.toString();});return'FunctionHandle(modulesToLoad=['+modulesToLoadStr+'], '+'functionName="'+this.functionName+'", options="'+
9444JSON.stringify(this.options_)+'")';}};FunctionHandle.loadFromFilename_=function(filename){try{const numFunctionsBefore=FunctionRegistry.allFunctions.length;HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;}
9445const numFunctionsNow=FunctionRegistry.allFunctions.length;if(numFunctionsNow!==(numFunctionsBefore+1)){const err=new Error(filename+' didn\'t call FunctionRegistry.register');err.name='FunctionNotDefinedError';throw err;}
9446return FunctionRegistry.allFunctions[numFunctionsNow-1];};FunctionHandle.fromDict=function(handleDict){const options=handleDict.options;let modulesToLoad;if(handleDict.modules_to_load!==undefined){modulesToLoad=handleDict.modules_to_load.map(function(module){return ModuleToLoad.fromDict(module);});}
9447return new FunctionHandle(modulesToLoad,handleDict.function_name,options);};return{FunctionHandle,ModuleToLoad,FunctionRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function runMetrics(model,options){if(options===undefined){throw new Error('Options are required.');}
9448const metricNames=options.metrics;if(!metricNames){throw new Error('Metric names should be specified.');}
9449const histograms=new tr.v.HistogramSet();for(const metricName of metricNames){const metric=tr.metrics.MetricRegistry.findTypeInfoWithName(metricName);if(metric===undefined){throw new Error('"'+metricName+'" is not a registered metric.');}
9450metric.constructor(histograms,model,options);}
9451return histograms;}
9452function addTelemetryInfo(histograms,model){const telemetry=new tr.v.d.TelemetryInfo();for(const metadata of model.metadata){if(!metadata.value)continue;if(metadata.value.telemetry){telemetry.addInfo(metadata.value.telemetry);}}
9453histograms.addSharedDiagnostic(tr.v.d.TelemetryInfo.NAME,telemetry);}
9454function metricMapFunction(result,model,options){const histograms=runMetrics(model,options);addTelemetryInfo(histograms,model);result.addPair('histograms',histograms.asDicts());const scalarDicts=[];for(const value of histograms){for(const[statName,scalar]of value.statisticsScalars){scalarDicts.push({name:value.name+'_'+statName,numeric:scalar.asDict(),description:value.description,});}}
9455result.addPair('scalars',scalarDicts);}
9456tr.mre.FunctionRegistry.register(metricMapFunction);return{metricMapFunction,runMetrics,};});'use strict';tr.exportTo('tr.mre',function(){function Failure(job,functionHandleString,traceCanonicalUrl,failureTypeName,description,stack){this.job=job;this.functionHandleString=functionHandleString;this.traceCanonicalUrl=traceCanonicalUrl;this.failureTypeName=failureTypeName;this.description=description;this.stack=stack;}
9457Failure.prototype={asDict(){return{function_handle_string:this.functionHandleString,trace_canonical_url:this.traceCanonicalUrl,type:this.failureTypeName,description:this.description,stack:this.stack};}};Failure.fromDict=function(failureDict){return new Failure(undefined,failureDict.function_handle_string,failureDict.trace_canonical_url,failureDict.type,failureDict.description,failureDict.stack);};return{Failure,};});'use strict';tr.exportTo('tr.mre',function(){class MreResult{constructor(failures,pairs){if(failures===undefined){failures=[];}
9458if(pairs===undefined){pairs={};}
9459this.failures=failures;this.pairs=pairs;}
9460addFailure(failure){this.failures.push(failure);}
9461addPair(key,value){if(key in this.pairs){throw new Error('Key '+key+' already exists in result.');}
9462this.pairs[key]=value;}
9463asDict(){const d={pairs:this.pairs};if(this.failures){d.failures=this.failures.map(function(f){return f.asDict();});}
9464return d;}
9465hadFailures(){return this.failures.length>0;}
9466static fromDict(resultDict){const failures=(resultDict.failures!==undefined)?resultDict.failures.map(tr.mre.Failure.fromDict):undefined;const pairs=resultDict.pairs;return new MreResult(failures,pairs);}}
9467return{MreResult,};});'use strict';tr.exportTo('tr.ui',function(){class NullBrushingStateController extends tr.c.BrushingStateController{constructor(){super(undefined);this.parentController=undefined;}
9468dispatchChangeEvent_(){if(this.parentController)this.parentController.dispatchChangeEvent_();}
9469get model(){if(!this.parentController)return undefined;return this.parentController.model;}
9470get trackView(){if(!this.parentController)return undefined;return this.parentController.trackView;}
9471get viewport(){if(!this.parentController)return undefined;return this.parentController.viewport;}
9472get historyEnabled(){if(!this.parentController)return undefined;return this.parentController.historyEnabled;}
9473set historyEnabled(historyEnabled){if(this.parentController){this.parentController.historyEnabled=historyEnabled;}}
9474modelWillChange(){if(this.parentController)this.parentController.modelWillChange();}
9475modelDidChange(){if(this.parentController)this.parentController.modelDidChange();}
9476onUserInitiatedSelectionChange_(){if(this.parentController){this.parentController.onUserInitiatedSelectionChange_();}}
9477onPopState_(e){if(this.parentController)this.parentController.onPopState_(e);}
9478get selection(){if(!this.parentController)return undefined;return this.parentController.selection;}
9479get findMatches(){if(!this.parentController)return undefined;return this.parentController.findMatches;}
9480get selectionOfInterest(){if(!this.parentController)return undefined;return this.parentController.selectionOfInterest;}
9481get currentBrushingState(){if(!this.parentController)return undefined;return this.parentController.currentBrushingState;}
9482set currentBrushingState(newBrushingState){if(this.parentController){this.parentController.currentBrushingState=newBrushingState;}}
9483addAllEventsMatchingFilterToSelectionAsTask(filter,selection){if(this.parentController){this.parentController.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);}}
9484findTextChangedTo(allPossibleMatches){if(this.parentController){this.parentController.findTextChangedTo(allPossibleMatches);}}
9485findFocusChangedTo(currentFocus){if(this.parentController){this.parentController.findFocusChangedTo(currentFocus);}}
9486findTextCleared(){if(this.parentController){this.parentController.findTextCleared();}}
9487uiStateFromString(string){if(this.parentController){this.parentController.uiStateFromString(string);}}
9488navToPosition(uiState,showNavLine){if(this.parentController){this.parentController.navToPosition(uiState,showNavLine);}}
9489changeSelectionFromTimeline(selection){if(this.parentController){this.parentController.changeSelectionFromTimeline(selection);}}
9490showScriptControlSelection(selection){if(this.parentController){this.parentController.showScriptControlSelection(selection);}}
9491changeSelectionFromRequestSelectionChangeEvent(selection){if(this.parentController){this.parentController.changeSelectionFromRequestSelectionChangeEvent(selection);}}
9492changeAnalysisViewRelatedEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisViewRelatedEvents(eventSet);}}
9493changeAnalysisLinkHoveredEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisLinkHoveredEvents(eventSet);}}
9494getViewSpecificBrushingState(viewId){if(this.parentController){this.parentController.getViewSpecificBrushingState(viewId);}}
9495changeViewSpecificBrushingState(viewId,newState){if(this.parentController){this.parentController.changeViewSpecificBrushingState(viewId,newState);}}}
9496return{NullBrushingStateController,};});'use strict';tr.exportTo('tr.v',function(){const CSV_ITERATION_INFO_NAMES=['benchmarkName','benchmarkStartString','label','osVersion','productVersion','storyDisplayName','storysetRepeatCounter',];class CSVBuilder{constructor(histograms){this.histograms_=histograms;this.table_=[];this.statisticsNames_=new Set();this.iterationInfoNames_=new Set();this.storyGroupingKeys_=new Set();}
9497build(){this.prepare_();this.buildHeader_();for(const hist of this.histograms_){const row=[hist.name,hist.unit.unitString];this.table_.push(row);const stats=hist.statisticsScalars;for(const name of this.statisticsNames_){row.push(stats.has(name)?stats.get(name).value:'');}
9498const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);for(const name of this.iterationInfoNames_){if(iteration===undefined||iteration[name]===undefined){row.push('');}else{row.push(iteration[name]);}}
9499for(const key of this.storyGroupingKeys_){if(iteration===undefined||iteration.storyGroupingKeys.get(key)===undefined){row.push('');}else{row.push(iteration.storyGroupingKeys.get(key));}}}}
9500prepare_(){for(const hist of this.histograms_){for(const name of hist.statisticsNames){this.statisticsNames_.add(name);}
9501const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(iteration===undefined)continue;for(const name of CSV_ITERATION_INFO_NAMES){if(iteration[name]){this.iterationInfoNames_.add(name);}}
9502for(const[key,value]of iteration.storyGroupingKeys){this.storyGroupingKeys_.add(key);}}}
9503buildHeader_(){const header=['name','unit'];for(const name of this.statisticsNames_){header.push(name);}
9504for(const name of this.iterationInfoNames_){header.push(name);}
9505for(const key of this.storyGroupingKeys_){header.push(key);}
9506this.table_.push(header);}
9507toString(){let str='';for(const row of this.table_){for(let i=0;i<row.length;++i){if(i>0){str+=',';}
9508let cell=''+row[i];if(cell.indexOf(',')>=0||cell.indexOf('"')>=0){cell='"'+cell.replace(/"/g,'""')+'"';}
9509str+=cell;}
9510str+='\n';}
9511return str;}}
9512return{CSVBuilder,};});'use strict';tr.exportTo('tr.v',function(){const getDisplayLabel=tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.callback;const DEFAULT_POSSIBLE_GROUPS=[];DEFAULT_POSSIBLE_GROUPS.push(new tr.v.HistogramGrouping(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key,h=>h.shortName||h.name));for(const group of Object.values(tr.v.HistogramSet.GROUPINGS)){if(group!==tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL&&group!==tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME){DEFAULT_POSSIBLE_GROUPS.push(group);}}
9513class HistogramParameterCollector{constructor(){this.statisticNames_=new Set(['avg']);this.labelsToStartTimes_=new Map();this.keysToGroupings_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,g]));this.keysToValues_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,new Set()]));this.keysToValues_.delete(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key);}
9514process(histograms){for(const hist of histograms){for(const statName of hist.statisticsNames){this.statisticNames_.add(statName);}
9515const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);let startTime=0;if(telemetry&&telemetry.benchmarkStart){startTime=telemetry.benchmarkStart.getTime();}
9516const displayLabel=getDisplayLabel(hist);if(this.labelsToStartTimes_.has(displayLabel)){startTime=Math.min(startTime,this.labelsToStartTimes_.get(displayLabel));}
9517this.labelsToStartTimes_.set(displayLabel,startTime);if(!telemetry)continue;for(const[groupingKey,values]of this.keysToValues_){const grouping=this.keysToGroupings_.get(groupingKey);const value=grouping.callback(hist);if(!value)continue;values.add(value);if(values.size>1){this.keysToValues_.delete(groupingKey);}}
9518for(const[key,value]of telemetry.storyGroupingKeys){const groupingKey='storyGroupingKey_'+key;if(this.keysToGroupings_.has(groupingKey))continue;this.keysToGroupings_.set(groupingKey,new tr.v.HistogramGrouping(groupingKey,tr.v.d.TelemetryInfo.makeStoryGroupingKeyLabelGetter(key)));this.keysToValues_.set(groupingKey,new Set([value]));}}}
9519get statisticNames(){return Array.from(this.statisticNames_);}
9520get labels(){const displayLabels=Array.from(this.labelsToStartTimes_.keys());displayLabels.sort((x,y)=>this.labelsToStartTimes_.get(x)-this.labelsToStartTimes_.get(y));return displayLabels;}
9521get possibleGroupings(){for(const[key,values]of this.keysToValues_){if(values.size>=2)continue;this.keysToGroupings_.delete(key);}
9522return Array.from(this.keysToGroupings_.values());}}
9523return{HistogramParameterCollector,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-controls',properties:{searchQuery:{type:String,value:'',observer:'onUserChange_',},showAll:{type:Boolean,value:false,observer:'onUserChange_',},referenceDisplayLabel:{type:String,value:'',observer:'onUserChange_',},displayStatisticName:{type:String,value:'',observer:'onUserChange_',},},created(){this.viewState_=undefined;this.rowListener_=this.onRowViewStateUpdate_.bind(this);this.baseStatisticNames_=[];this.isInOnViewStateUpdate_=false;},ready(){this.$.picker.addEventListener('current-groups-changed',this.onGroupsChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');}
9524this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},async onUserChange_(){if(!this.viewState)return;if(this.isInOnViewStateUpdate_)return;const marks=[];if(this.searchQuery!==this.viewState.searchQuery){marks.push(tr.b.Timing.mark('histogram-set-controls','search'));}
9525if(this.showAll!==this.viewState.showAll){marks.push(tr.b.Timing.mark('histogram-set-controls','showAll'));}
9526if(this.referenceDisplayLabel!==this.viewState.referenceDisplayLabel){marks.push(tr.b.Timing.mark('histogram-set-controls','referenceColumn'));}
9527if(this.displayStatisticName!==this.viewState.displayStatisticName){marks.push(tr.b.Timing.mark('histogram-set-controls','statistic'));}
9528let displayStatisticName=this.displayStatisticName;if(this.viewState.referenceDisplayLabel===''&&this.referenceDisplayLabel!==''&&this.baseStatisticNames.length){displayStatisticName=`${tr.v.DELTA}${this.displayStatisticName}`;}
9529if(this.referenceDisplayLabel===''&&this.viewState.referenceDisplayLabel!==''&&this.baseStatisticNames.length){const deltaIndex=displayStatisticName.indexOf(tr.v.DELTA);if(deltaIndex>=0){displayStatisticName=displayStatisticName.slice(deltaIndex+1);}else if(!this.baseStatisticNames.includes(displayStatisticName)){displayStatisticName='avg';}}
9530await this.viewState.update({searchQuery:this.searchQuery,showAll:this.showAll,referenceDisplayLabel:this.referenceDisplayLabel,displayStatisticName,});if(this.referenceDisplayLabel&&this.statisticNames.length===this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames.concat(tr.v.Histogram.getDeltaStatisticsNames(this.baseStatisticNames));}else if(!this.referenceDisplayLabel&&this.statisticNames.length>this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames;}
9531for(const mark of marks)mark.end();},onViewStateUpdate_(event){this.isInOnViewStateUpdate_=true;if(event.delta.searchQuery){this.searchQuery=this.viewState.searchQuery;}
9532if(event.delta.showAll)this.showAll=this.viewState.showAll;if(event.delta.displayStatisticName){this.displayStatisticName=this.viewState.displayStatisticName;}
9533if(event.delta.referenceDisplayLabel){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;}
9534if(event.delta.groupings){this.$.picker.currentGroupKeys=this.viewState.groupings.map(g=>g.key);}
9535if(event.delta.tableRowStates){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){row.addUpdateListener(this.rowListener_);}
9536const anyShowing=this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';}
9537this.isInOnViewStateUpdate_=false;this.onUserChange_();},onRowViewStateUpdate_(event){if(event.delta.isOverviewed){const anyShowing=event.delta.isOverviewed.current||this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';}
9538if(event.delta.subRows){for(const subRow of event.delta.subRows.previous){subRow.removeUpdateListener(this.rowListener_);}
9539for(const subRow of event.delta.subRows.current){subRow.addUpdateListener(this.rowListener_);}}},onGroupsChanged_(){if(this.$.picker.currentGroups.length===0&&this.$.picker.possibleGroups.length>0){this.$.picker.currentGroupKeys=[this.$.picker.possibleGroups[0].key];}
9540this.viewState.groupings=this.$.picker.currentGroups;},set showAllEnabled(enable){if(!enable)this.$.show_all.checked=true;this.$.show_all.disabled=!enable;},set possibleGroupings(groupings){this.$.picker.possibleGroups=groupings;this.$.picker.style.display=(groupings.length<2)?'none':'block';this.onGroupsChanged_();},set displayLabels(labels){this.$.reference_display_label.style.display=(labels.length<2)?'none':'inline';while(this.$.reference_display_label.children.length>1){this.$.reference_display_label.removeChild(this.$.reference_display_label.lastChild);}
9541for(const displayLabel of labels){const option=document.createElement('option');option.textContent=displayLabel;this.$.reference_display_label.appendChild(option);}
9542if(labels.includes(this.viewState.referenceDisplayLabel)){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;}else{this.viewState.referenceDisplayLabel='';}},get baseStatisticNames(){return this.baseStatisticNames_;},set baseStatisticNames(names){this.baseStatisticNames_=names;this.statisticNames=names;},get statisticNames(){return Array.from(this.$.statistic.options).map(o=>o.value);},set statisticNames(names){this.$.statistic.style.display=(names.length<2)?'none':'inline';while(this.$.statistic.children.length){this.$.statistic.removeChild(this.$.statistic.lastChild);}
9543for(const name of names){const option=document.createElement('option');option.textContent=name;this.$.statistic.appendChild(option);}
9544if(names.includes(this.viewState.displayStatisticName)){this.displayStatisticName=this.viewState.displayStatisticName;this.$.statistic.value=this.displayStatisticName;}else{this.viewState.displayStatisticName=names[0]||'';}},get anyOverviewCharts_(){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){if(row.isOverviewed)return true;}
9545return false;},async toggleOverviewLineCharts_(){const showOverviews=!this.anyOverviewCharts_;const mark=tr.b.Timing.mark('histogram-set-controls',(showOverviews?'show':'hide')+'OverviewCharts');for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){await row.update({isOverviewed:showOverviews});}
9546this.$.hide_overview.style.display=showOverviews?'inline':'none';this.$.show_overview.style.display=showOverviews?'none':'inline';await tr.b.animationFrame();mark.end();},set helpHref(href){this.$.help.href=href;this.$.help.style.display='inline';},set feedbackHref(href){this.$.feedback.href=href;this.$.feedback.style.display='inline';},downloadCSV_(event){this.dispatchEvent(new tr.b.Event('download-csv'));}});return{};});'use strict';tr.exportTo('tr.v',function(){class HistogramSetHierarchy{constructor(name){this.name=name;this.description='';this.depth=0;this.subRows=[];this.columns=new Map();this.overviewDataRange_=undefined;this.mergeRelationshipsForColumn_=new Map();}*walk(){yield this;for(const row of this.subRows)yield*row.walk();}
9547static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}
9548static build(histogramArrayMap){const rootRows=[];HistogramSetHierarchy.buildInternal_(histogramArrayMap,[],rootRows);const histograms=new tr.v.HistogramSet();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}}
9549histograms.deduplicateDiagnostics();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const[name,hist]of row.columns){if(!(hist instanceof tr.v.Histogram))continue;if(!row.mergeRelationshipsForColumn_.get(name))continue;hist.diagnostics.mergeRelationships(hist);}}
9550for(const row of HistogramSetHierarchy.walkAll(rootRows)){if(row.subRows.length)continue;for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;const mergedFrom=hist.diagnostics.get(tr.v.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const other of mergedFrom){other.diagnostics.delete(tr.v.MERGED_TO_DIAGNOSTIC_KEY);}}}}
9551for(const row of HistogramSetHierarchy.walkAll(rootRows)){row.maybeRebin_();}
9552return rootRows;}
9553maybeRebin_(){const dataRange=new tr.b.math.Range();for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;if(hist.allBins.length>1)return;if(hist.numValues===0)continue;dataRange.addValue(hist.min);dataRange.addValue(hist.max);}
9554dataRange.addValue(tr.b.math.lesserWholeNumber(dataRange.min));dataRange.addValue(tr.b.math.greaterWholeNumber(dataRange.max));if(dataRange.min===dataRange.max)return;const boundaries=tr.v.HistogramBinBoundaries.createLinear(dataRange.min,dataRange.max,tr.v.DEFAULT_REBINNED_COUNT);for(const[name,hist]of this.columns){if(!(hist instanceof tr.v.Histogram))continue;this.columns.set(name,hist.rebin(boundaries));}}
9555static mergeHistogramDownHierarchy_(histogram,hierarchy,columnName){let groupingPath=undefined;for(const row of hierarchy){if(groupingPath!==undefined){groupingPath.push(row.name);}else if(row.name===histogram.name){groupingPath=[];}
9556if(!row.description){row.description=histogram.description;}
9557const existing=row.columns.get(columnName);if(existing===undefined){const clone=histogram.clone();if(groupingPath!==undefined){new tr.v.d.GroupingPath(groupingPath).addToHistogram(clone);}
9558row.columns.set(columnName,clone);row.mergeRelationshipsForColumn_.set(columnName,true);continue;}
9559if(existing instanceof tr.v.HistogramSet){existing.addHistogram(histogram);continue;}
9560if(!existing.canAddHistogram(histogram)){const unmergeableHistograms=new tr.v.HistogramSet([histogram]);const mergedFrom=existing.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){unmergeableHistograms.addHistogram(origHist);}}
9561row.columns.set(columnName,unmergeableHistograms);continue;}
9562if(existing.name!==histogram.name){row.mergeRelationshipsForColumn_.set(name,false);}
9563existing.addHistogram(histogram);}}
9564static buildInternal_(histogramArrayMap,hierarchy,rootRows){for(const[name,histograms]of histogramArrayMap){if(histograms instanceof Array){for(const histogram of histograms){HistogramSetHierarchy.mergeHistogramDownHierarchy_(histogram,hierarchy,name);}}else if(histograms instanceof Map){const row=new HistogramSetHierarchy(name);row.depth=hierarchy.length;hierarchy.push(row);HistogramSetHierarchy.buildInternal_(histograms,hierarchy,rootRows);hierarchy.pop();if(hierarchy.length===0){rootRows.push(row);}else{const parentRow=hierarchy[hierarchy.length-1];parentRow.subRows.push(row);}}}}
9565static filter(rows,histograms){const results=[];for(const row of rows){let filteredSubRows=[];if(row.subRows.length>0){filteredSubRows=HistogramSetHierarchy.filter(row.subRows,histograms);if(filteredSubRows.length===0)continue;}else{let found=false;for(const testHist of row.columns.values()){if(testHist instanceof tr.v.HistogramSet){for(const origHist of testHist){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}}
9566if(found)break;continue;}
9567if(!(testHist instanceof tr.v.Histogram)){throw new Error('Cells can only contain Histogram or HistogramSet');}
9568if(histograms.lookupHistogram(testHist.guid)!==undefined){found=true;break;}
9569const mergedFrom=testHist.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}}}
9570if(found)break;}
9571if(!found)continue;}
9572const clone=new HistogramSetHierarchy(row.name);clone.description=row.description;clone.depth=row.depth;clone.subRows=filteredSubRows;clone.columns=row.columns;clone.overviewDataRange_=row.overviewDataRange_;results.push(clone);}
9573return results;}
9574get overviewDataRange(){if(this.overviewDataRange_===undefined){this.overviewDataRange_=new tr.b.math.Range();for(const[displayLabel,hist]of this.columns){if(hist instanceof tr.v.Histogram&&hist.average!==undefined){this.overviewDataRange_.addValue(hist.average);}
9575for(const subRow of this.subRows){const subHist=subRow.columns.get(displayLabel);if(!(subHist instanceof tr.v.Histogram))continue;if(subHist.average===undefined)continue;this.overviewDataRange_.addValue(subHist.average);}}}
9576return this.overviewDataRange_;}}
9577return{HistogramSetHierarchy,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-table-cell',created(){this.viewState_=undefined;this.rootListener_=this.onRootStateUpdate_.bind(this);this.row_=undefined;this.displayLabel_='';this.histogram_=undefined;this.histogramSpan_=undefined;this.overviewChart_=undefined;},ready(){this.addEventListener('click',this.onClick_.bind(this));},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},build(row,displayLabel,viewState){this.row_=row;this.displayLabel_=displayLabel;this.viewState_=viewState;this.histogram_=this.row.columns.get(displayLabel);if(this.viewState){this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));}
9578this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);}
9579this.updateContents_();},get viewState(){return this.viewState_;},get row(){return this.row_;},get histogram(){return this.histogram_;},get referenceHistogram(){const referenceDisplayLabel=this.row.rootViewState.referenceDisplayLabel;if(!referenceDisplayLabel)return undefined;if(referenceDisplayLabel===this.displayLabel_)return undefined;return this.row.columns.get(referenceDisplayLabel);},get isHistogramOpen(){return(this.histogramSpan_!==undefined)&&(this.$.histogram.style.display==='block');},get brushedBinRange(){if(!this.isHistogramOpen)return new tr.b.math.Range();return this.histogramSpan_.brushedBinRange;},set brushedBinRange(r){if(this.histogramSpan_===undefined)return;this.histogramSpan_.brushedBinRange=r;},get mergeSampleDiagnostics(){if(!this.isHistogramOpen)return false;return this.histogramSpan_.mergeSampleDiagnostics;},set mergeSampleDiagnostics(m){if(this.histogramSpan_===undefined)return;this.histogramSpan_.mergeSampleDiagnostics=m;},set isHistogramOpen(open){if(!(this.histogram instanceof tr.v.Histogram)||(this.histogram.numValues===0)){return;}
9580this.$.scalar.style.display=open?'none':'flex';this.$.open_histogram.style.display=open?'none':'block';this.$.close_histogram.style.display=open?'block':'none';this.$.histogram.style.display=open?'block':'none';if(open&&this.histogramSpan_===undefined){this.histogramSpan_=document.createElement('tr-v-ui-histogram-span');this.$.histogram.appendChild(this.histogramSpan_);this.histogramSpan_.viewState=this.viewState;this.histogramSpan_.referenceHistogram=this.referenceHistogram;this.histogramSpan_.histogram=this.histogram;}
9581this.viewState.isOpen=open;},onViewStateUpdate_(event){if(event.delta.isOpen){this.isHistogramOpen=this.viewState.isOpen;}},onRowStateUpdate_(event){if(event.delta.isOverviewed===undefined)return;if(this.row.viewState.isOverviewed){this.showOverview();}else{this.hideOverview();}},onRootStateUpdate_(event){if(event.delta.displayStatisticName||event.delta.referenceDisplayLabel){this.updateContents_();}},onClick_(event){event.stopPropagation();},openHistogram_(){this.isHistogramOpen=true;tr.b.Timing.instant('histogram-set-table-cell','open');},closeHistogram_(){this.isHistogramOpen=false;tr.b.Timing.instant('histogram-set-table-cell','close');},updateContents_(){const isOpen=this.isHistogramOpen;this.$.empty.style.display='none';this.$.unmergeable.style.display='none';this.$.scalar.style.display='none';this.$.histogram.style.display='none';this.$.close_histogram.style.display='none';this.$.open_histogram.style.visibility='hidden';if(!this.histogram){this.$.missing.style.display='block';return;}
9582this.$.missing.style.display='none';if(this.histogram instanceof tr.v.HistogramSet){this.$.unmergeable.style.display='block';return;}
9583if(!(this.histogram instanceof tr.v.Histogram)){throw new Error('Invalid Histogram: '+this.histogram);}
9584if(this.histogram.numValues===0){this.$.empty.style.display='block';return;}
9585this.$.open_histogram.style.display='block';this.$.open_histogram.style.visibility='visible';this.$.scalar.style.display='flex';const referenceHistogram=this.referenceHistogram;if(this.histogramSpan_){this.histogramSpan_.referenceHistogram=referenceHistogram;}
9586if((referenceHistogram instanceof tr.v.Histogram)&&(this.histogram.unit===referenceHistogram.unit)&&(referenceHistogram.numValues>0)){this.$.scalar.significance=this.histogram.getDifferenceSignificance(referenceHistogram);}
9587const statName=this.histogram.getAvailableStatisticName(this.row.rootViewState.displayStatisticName,referenceHistogram);const statisticScalar=this.histogram.getStatisticScalar(statName,referenceHistogram);this.$.scalar.setValueAndUnit(statisticScalar.value,statisticScalar.unit);this.isHistogramOpen=isOpen;},showOverview(){this.$.overview_container.style.display='block';if(this.overviewChart_!==undefined)return;const data=[];let unitString;for(const subRow of this.row.subRows){const subHist=subRow.columns.get(this.displayLabel_);if(!(subHist instanceof tr.v.Histogram))continue;data.push({x:subRow.name,y:subHist.average});unitString=subHist.unit.unitString;}
9588if(data.length<2)return;this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;},hideOverview(){this.$.overview_container.style.display='none';}});return{};});'use strict';tr.exportTo('tr.v.ui',function(){const NAME_COLUMN_WIDTH_PX=300;Polymer({is:'tr-v-ui-histogram-set-table-name-cell',created(){this.row_=undefined;this.overviewChart_=undefined;this.cellListener_=this.onCellStateUpdate_.bind(this);this.rootListener_=this.onRootStateUpdate_.bind(this);},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},get row(){return this.row_;},build(row){if(this.row_!==undefined){throw new Error('row must be set exactly once.');}
9589this.row_=row;this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));this.constrainWidth=this.row.rootViewState.constrainNameColumn;if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);}
9590for(const cellState of this.row.viewState.cells.values()){cellState.addUpdateListener(this.cellListener_);}
9591Polymer.dom(this.$.name).textContent=this.row.name;this.title=this.row.name;if(this.row.description){this.title+='\n'+this.row.description;}
9592if(this.row.overviewDataRange.isEmpty||this.row.overviewDataRange.min===this.row.overviewDataRange.max){this.$.show_overview.style.display='none';}
9593let histogramCount=0;for(const cell of this.row.columns.values()){if(cell instanceof tr.v.Histogram&&cell.numValues>0){++histogramCount;}}
9594if(histogramCount<=1){this.$.open_histograms.style.display='none';}},set constrainWidth(constrain){this.$.name.style.maxWidth=constrain?(this.nameWidthPx+'px'):'none';},get nameWidthPx(){return NAME_COLUMN_WIDTH_PX-(16*this.row.depth);},get isOverflowing(){return this.$.name.style.maxWidth!=='none'&&this.$.name.getBoundingClientRect().width===this.nameWidthPx;},get isOverviewed(){return this.$.overview_container.style.display==='block';},set isOverviewed(isOverviewed){if(isOverviewed===this.isOverviewed)return;if(isOverviewed){this.showOverview_();}else{this.hideOverview_();}},hideOverview_(opt_event){this.$.overview_container.style.display='none';this.$.hide_overview.style.display='none';this.$.show_overview.style.display='block';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','hideOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},showOverview_(opt_event){this.$.overview_container.style.display='block';if(this.overviewChart_===undefined){const data=[];let unitString=undefined;for(const[displayLabel,hist]of this.row.columns){data.push({x:displayLabel,y:hist.average});unitString=hist.unit.unitString;}
9595if(data.length<2){return;}
9596this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;}
9597this.$.hide_overview.style.display='block';this.$.show_overview.style.display='none';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','showOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},openHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','openHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=true;}
9598this.$.close_histograms.style.display='block';this.$.open_histograms.style.display='none';},closeHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','closeHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=false;}
9599this.$.open_histograms.style.display='block';this.$.close_histograms.style.display='none';},onRootStateUpdate_(event){if(event.delta.constrainNameColumn){this.constrainWidth=this.row.rootViewState.constrainNameColumn;}},onRowStateUpdate_(event){if(event.delta.isOverviewed){this.isOverviewed=this.row.viewState.isOverviewed;}},onCellStateUpdate_(event){if(!event.delta.isOpen)return;let cellCount=0;let openCellCount=0;for(const cell of this.row.cells.values()){if(!(cell.histogram instanceof tr.v.Histogram)||(cell.histogram.numValues===0)){continue;}
9600++cellCount;if(cell.isHistogramOpen)++openCellCount;}
9601if(cellCount<=1)return;const mostlyOpen=openCellCount>(cellCount/2);this.$.open_histograms.style.display=mostlyOpen?'none':'block';this.$.close_histograms.style.display=mostlyOpen?'block':'none';}});return{NAME_COLUMN_WIDTH_PX,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetTableRow{constructor(hierarchy,baseTable,rootViewState){this.hierarchy_=hierarchy;this.baseTable_=baseTable;this.rootViewState_=rootViewState;this.viewState_=new tr.v.ui.HistogramSetTableRowState();this.viewState_.addUpdateListener(this.onViewStateUpdate_.bind(this));this.nameCell_=undefined;this.cells_=new Map();this.subRows_=[];for(const subHierarchy of hierarchy.subRows){const subRow=new HistogramSetTableRow(subHierarchy,baseTable,rootViewState);this.subRows_.push(subRow);this.viewState.subRows.set(subRow.name,subRow.viewState);}
9602for(const columnName of this.columns.keys()){this.viewState.cells.set(columnName,new tr.v.ui.HistogramSetTableCellState());}}
9603get name(){return this.hierarchy_.name;}
9604get depth(){return this.hierarchy_.depth;}
9605get description(){return this.hierarchy_.description;}
9606get columns(){return this.hierarchy_.columns;}
9607get overviewDataRange(){return this.hierarchy_.overviewDataRange;}
9608get rootViewState(){return this.rootViewState_;}
9609get cells(){return this.cells_;}
9610get subRows(){return this.subRows_;}
9611get viewState(){return this.viewState_;}*walk(){yield this;for(const row of this.subRows)yield*row.walk();}
9612static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}
9613get nameCell(){if(this.nameCell_===undefined){this.nameCell_=document.createElement('tr-v-ui-histogram-set-table-name-cell');this.nameCell_.build(this);}
9614return this.nameCell_;}
9615getCell(columnName){if(this.cells.has(columnName))return this.cells.get(columnName);const cell=document.createElement('tr-v-ui-histogram-set-table-cell');cell.build(this,columnName,this.viewState.cells.get(columnName));this.cells.set(columnName,cell);return cell;}
9616compareNames(other){return this.name.localeCompare(other.name);}
9617compareCells(other,displayLabel,referenceDisplayLabel){const cellA=this.columns.get(displayLabel);const cellB=other.columns.get(displayLabel);if(!(cellA instanceof tr.v.Histogram)||!(cellB instanceof tr.v.Histogram)){return undefined;}
9618let referenceCellA;let referenceCellB;if(referenceDisplayLabel&&referenceDisplayLabel!==displayLabel){referenceCellA=this.columns.get(referenceDisplayLabel);referenceCellB=other.columns.get(referenceDisplayLabel);}
9619const statisticA=cellA.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellA);const statisticB=cellB.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellB);const valueA=cellA.getStatisticScalar(statisticA,referenceCellA).value;const valueB=cellB.getStatisticScalar(statisticB,referenceCellB).value;return valueA-valueB;}
9620onViewStateUpdate_(event){if(event.delta.isExpanded){this.baseTable_.setExpandedForTableRow(this,this.viewState.isExpanded);}
9621if(event.delta.subRows){throw new Error('HistogramSetTableRow.subRows must not be reassigned.');}
9622if(event.delta.cells){for(const[displayLabel,cell]of this.cells){if(cell.viewState!==this.viewState.cells.get(displayLabel)){throw new Error('Only HistogramSetTableRow may update cells');}}}}
9623async restoreState(vs){await this.viewState.update({isExpanded:vs.isExpanded,isOverviewed:vs.isOverviewed,});for(const[displayLabel,cell]of this.cells){const previousState=vs.cells.get(displayLabel);if(!previousState)continue;await cell.viewState.updateFromViewState(previousState);}
9624for(const row of this.subRows){const previousState=vs.subRows.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}}}
9625return{HistogramSetTableRow,};});'use strict';tr.exportTo('tr.v.ui',function(){const MIDLINE_HORIZONTAL_ELLIPSIS=String.fromCharCode(0x22ef);function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,'\\$&');}
9626Polymer({is:'tr-v-ui-histogram-set-table',created(){this.viewState_=undefined;this.progress_=()=>Promise.resolve();this.nameColumnTitle_=undefined;this.displayLabels_=[];this.histograms_=undefined;this.sourceHistograms_=undefined;this.groupedHistograms_=undefined;this.hierarchies_=undefined;this.tableRows_=undefined;},ready(){this.$.table.zebra=true;this.addEventListener('sort-column-changed',this.onSortColumnChanged_.bind(this));this.addEventListener('requestSelectionChange',this.onRequestSelectionChange_.bind(this));this.addEventListener('row-expanded-changed',this.onRowExpandedChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');}
9627this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},get histograms(){return this.histograms_;},async build(histograms,sourceHistograms,displayLabels,opt_progress){this.histograms_=histograms;this.sourceHistograms_=sourceHistograms;this.groupedHistograms_=undefined;this.displayLabels_=displayLabels;if(opt_progress!==undefined)this.progress_=opt_progress;if(histograms.length===0){throw new Error('histogram-set-table requires non-empty HistogramSet.');}
9628await this.progress_('Building columns...');this.$.table.tableColumns=[{title:this.buildNameColumnTitle_(),value:row=>row.nameCell,cmp:(a,b)=>a.compareNames(b),}].concat(displayLabels.map(l=>this.buildColumn_(l)));tr.b.Timing.instant('histogram-set-table','columnCount',this.$.table.tableColumns.length);await this.updateContents_();this.fire('display-ready');this.progress_=()=>Promise.resolve();this.checkNameColumnOverflow_(tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows));},buildNameColumnTitle_(){this.nameColumnTitle_=document.createElement('span');this.nameColumnTitle_.style.display='inline-flex';const nameEl=document.createElement('span');nameEl.textContent='Name';this.nameColumnTitle_.appendChild(nameEl);const toggleWidthEl=document.createElement('span');toggleWidthEl.style.fontWeight='bold';toggleWidthEl.style.background='#bbb';toggleWidthEl.style.color='#333';toggleWidthEl.style.padding='0px 3px';toggleWidthEl.style.marginRight='8px';toggleWidthEl.style.display='none';toggleWidthEl.textContent=MIDLINE_HORIZONTAL_ELLIPSIS;toggleWidthEl.addEventListener('click',this.toggleNameColumnWidth_.bind(this));this.nameColumnTitle_.appendChild(toggleWidthEl);return this.nameColumnTitle_;},toggleNameColumnWidth_(opt_event){this.viewState.update({constrainNameColumn:!this.viewState.constrainNameColumn,});if(opt_event!==undefined){opt_event.stopPropagation();opt_event.preventDefault();tr.b.Timing.instant('histogram-set-table','nameColumn'+
9629(this.viewState.constrainNameColumn?'Constrained':'Unconstrained'));}},buildColumn_(displayLabel){const title=document.createElement('span');title.textContent=displayLabel;title.style.whiteSpace='pre';return{title,value:row=>row.getCell(displayLabel),cmp:(rowA,rowB)=>rowA.compareCells(rowB,displayLabel),};},async updateContents_(){if(this.groupedHistograms_===undefined){await this.progress_('Grouping Histograms...');this.groupHistograms_();}
9630if(this.hierarchies_===undefined){await this.progress_('Merging Histograms...');this.hierarchies_=tr.v.HistogramSetHierarchy.build(this.groupedHistograms_);this.tableRows_=undefined;}
9631const tableRowsDirty=this.tableRows_===undefined;const previousRowStates=this.viewState.tableRowStates;if(tableRowsDirty){await this.progress_('Filtering rows...');let filteredHistograms=this.viewState.showAll?this.histograms:this.sourceHistograms_;if(this.viewState.searchQuery){let query=undefined;try{query=new RegExp(this.viewState.searchQuery);}catch(e){}
9632if(query!==undefined){filteredHistograms=new tr.v.HistogramSet([...filteredHistograms].filter(hist=>hist.name.match(query)));}}
9633const filteredHierarchies=tr.v.HistogramSetHierarchy.filter(this.hierarchies_,filteredHistograms);this.tableRows_=filteredHierarchies.map(hierarchy=>new tr.v.ui.HistogramSetTableRow(hierarchy,this.$.table,this.viewState));tr.b.Timing.instant('histogram-set-table','rootRowCount',this.tableRows_.length);const namesToRowStates=new Map();for(const row of this.tableRows_){namesToRowStates.set(row.name,row.viewState);}
9634await this.viewState.update({tableRowStates:namesToRowStates});}
9635await this.progress_('Configuring table...');this.nameColumnTitle_.children[1].style.filter=this.viewState.constrainNameColumn?'invert(100%)':'';const referenceDisplayLabelIndex=this.displayLabels_.indexOf(this.viewState.referenceDisplayLabel);this.$.table.selectedTableColumnIndex=(referenceDisplayLabelIndex<0)?undefined:(1+referenceDisplayLabelIndex);this.$.table.sortColumnIndex=this.viewState.sortColumnIndex;this.$.table.sortDescending=this.viewState.sortDescending;if(tableRowsDirty){await this.progress_('Building DOM...');this.$.table.tableRows=this.tableRows_;for(const row of this.tableRows_){const previousState=previousRowStates.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}}
9636this.$.table.rebuild();},async onRowExpandedChanged_(event){event.row.viewState.isExpanded=this.$.table.getExpandedForTableRow(event.row);tr.b.Timing.instant('histogram-set-table','row'+(event.row.viewState.isExpanded?'Expanded':'Collapsed'));if(this.nameColumnTitle_.children[1].style.display==='block')return;await tr.b.animationFrame();this.checkNameColumnOverflow_(event.row.subRows);},checkNameColumnOverflow_(rows){for(const row of rows){if(!row.nameCell.isOverflowing)continue;const[nameSpan,dots]=this.nameColumnTitle_.children;dots.style.display='block';const labelWidthPx=tr.v.ui.NAME_COLUMN_WIDTH_PX-
9637dots.getBoundingClientRect().width;nameSpan.style.width=labelWidthPx+'px';return;}},groupHistograms_(){const groupings=this.viewState.groupings.slice();groupings.push(tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL);function canSkipGrouping(grouping,groupedHistograms){if(groupedHistograms.size>1)return false;if(grouping.key===groupings[0].key)return false;if(grouping.key===tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.key){return false;}
9638return true;}
9639this.groupedHistograms_=this.histograms.groupHistogramsRecursively(groupings,canSkipGrouping);this.hierarchies_=undefined;},async onViewStateUpdate_(event){if(this.histograms_===undefined)return;if(event.delta.groupings!==undefined){this.groupedHistograms_=undefined;}
9640if(event.delta.searchQuery!==undefined||event.delta.showAll!==undefined){this.tableRows_=undefined;}
9641if(event.delta.displayStatistic!==undefined&&this.$.table.sortColumnIndex>0){this.$.table.sortColumnIndex=undefined;}
9642if(event.delta.referenceDisplayLabel!==undefined||event.delta.displayStatisticName!==undefined){this.$.table.tableRows=this.$.table.tableRows;}
9643if(event.delta.tableRowStates){if(this.tableRows_.length!==this.viewState.tableRowStates.size){throw new Error('Only histogram-set-table may update tableRowStates');}
9644for(const row of this.tableRows_){if(this.viewState.tableRowStates.get(row.name)!==row.viewState){throw new Error('Only histogram-set-table may update tableRowStates');}}}
9645await this.updateContents_();},onSortColumnChanged_(event){tr.b.Timing.instant('histogram-set-table','sortColumn');this.viewState.update({sortColumnIndex:event.sortColumnIndex,sortDescending:event.sortDescending,});},onRequestSelectionChange_(event){if(event.selection instanceof tr.model.EventSet)return;event.stopPropagation();tr.b.Timing.instant('histogram-set-table','selectHistogramNames');let histogramNames=event.selection;histogramNames.sort();histogramNames=histogramNames.map(escapeRegExp).join('|');this.viewState.update({showAll:true,searchQuery:`^(${histogramNames})$`,});},get leafHistograms(){const histograms=new tr.v.HistogramSet();for(const row of
9646tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows)){if(row.subRows.length)continue;for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}}
9647return histograms;}});return{MIDLINE_HORIZONTAL_ELLIPSIS,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-view',created(){this.brushingStateController_=new tr.ui.NullBrushingStateController();this.viewState_=new tr.v.ui.HistogramSetViewState();},ready(){this.$.table.viewState=this.viewState;this.$.controls.viewState=this.viewState;this.$.controls.addEventListener('download-csv',this.downloadCSV_.bind(this));},attached(){this.brushingStateController.parentController=tr.c.BrushingStateController.getControllerForElement(this.parentNode);},get brushingStateController(){return this.brushingStateController_;},get viewState(){return this.viewState_;},set helpHref(href){this.$.controls.helpHref=href;},set feedbackHref(href){this.$.controls.feedbackHref=href;},get histograms(){return this.$.table.histograms;},async build(histograms,opt_progress){const progress=opt_progress||(()=>Promise.resolve());if(histograms===undefined||histograms.length===0){this.$.container.style.display='none';this.$.zero.style.display='block';this.style.display='block';return;}
9648this.$.zero.style.display='none';this.$.container.style.display='block';this.$.container.style.maxHeight=(window.innerHeight-16)+'px';const buildMark=tr.b.Timing.mark('histogram-set-view','build');await progress('Finding important Histograms...');const sourceHistogramsMark=tr.b.Timing.mark('histogram-set-view','sourceHistograms');const sourceHistograms=histograms.sourceHistograms;sourceHistogramsMark.end();this.$.controls.showAllEnabled=(sourceHistograms.length!==histograms.length);await progress('Collecting parameters...');const collectParametersMark=tr.b.Timing.mark('histogram-set-view','collectParameters');const parameterCollector=new tr.v.HistogramParameterCollector();parameterCollector.process(histograms);this.$.controls.baseStatisticNames=parameterCollector.statisticNames;this.$.controls.possibleGroupings=parameterCollector.possibleGroupings;const displayLabels=parameterCollector.labels;this.$.controls.displayLabels=displayLabels;collectParametersMark.end();await this.$.table.build(histograms,sourceHistograms,displayLabels,progress);buildMark.end();},downloadCSV_(){const downloadCSVMark=tr.b.Timing.mark('histogram-set-view','downloadCSV');const anchor=document.createElement('a');const path=window.location.pathname.split('/');const basename=path[path.length-1].split('.')[0]||'histograms';anchor.download=basename+'.csv';const csv=new tr.v.CSVBuilder(this.$.table.leafHistograms);csv.build();const blob=new window.Blob([csv.toString()],{type:'text/csv'});anchor.href=window.URL.createObjectURL(blob);anchor.click();downloadCSVMark.end();}});return{};});'use strict';tr.exportTo('tr.ui',function(){Polymer({is:'tr-ui-sp-metrics-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=undefined;this.metricLatenciesMs_=[];this.metrics_=[];tr.metrics.MetricRegistry.getAllRegisteredTypeInfos().forEach(function(m){if(m.constructor.name==='sampleMetric')return;this.metrics_.push({label:m.constructor.name,value:m.constructor.name});},this);this.settingsKey_='metrics-side-panel-metric-name';this.currentMetricName_='responsivenessMetric';const metricSelector=tr.ui.b.createSelector(this,'currentMetricName_',this.settingsKey_,this.currentMetricName_,this.metrics_);Polymer.dom(this.$.top_left_controls).appendChild(metricSelector);metricSelector.addEventListener('change',this.onMetricChange_.bind(this));this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.recomputeButton_=tr.ui.b.createButton('Recompute',this.onRecompute_,this);Polymer.dom(this.$.top_left_controls).appendChild(this.recomputeButton_);this.$.results.addEventListener('display-ready',()=>{this.$.results.style.display='';});},async build(model){this.model_=model;await this.updateContents_();},get metricLatencyMs(){return tr.b.math.Statistics.mean(this.metricLatenciesMs_);},onMetricChange_(){this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.metricLatenciesMs_=[];this.updateContents_();},onRecompute_(){this.updateContents_();},get textLabel(){return'Metrics';},supportsModel(m){if(!m){return{supported:false,reason:'No model available'};}
9649return{supported:true};},get model(){return this.model_;},set model(model){this.build(model);},get selection(){},set selection(_){},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){this.rangeOfInterest_=range;if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest){if((this.metricLatencyMs===undefined)||(this.metricLatencyMs<100)){this.updateContents_();}else{this.recomputeButton_.style.background='red';}}},async updateContents_(){Polymer.dom(this.$.error).textContent='';this.$.results.style.display='none';if(!this.model_){Polymer.dom(this.$.error).textContent='Missing model';return;}
9650const options={metrics:[this.currentMetricName_]};if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest&&this.rangeOfInterest&&!this.rangeOfInterest.isEmpty){options.rangeOfInterest=this.rangeOfInterest;}
9651const startDate=new Date();let histograms;try{histograms=tr.metrics.runMetrics(this.model_,options);}catch(err){Polymer.dom(this.$.error).textContent=err.message;return;}
9652this.metricLatenciesMs_.push(new Date()-startDate);while(this.metricLatenciesMs_.length>20){this.metricLatenciesMs_.shift();}
9653this.recomputeButton_.style.background='';await this.$.results.build(histograms);}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-metrics-side-panel');});return{};});'use strict';Polymer({is:'tr-ui-e-s-alerts-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.selection_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},set selection(selection){},set rangeOfInterest(rangeOfInterest){},selectAlertsOfType(alertTypeString){const alertsOfType=this.model_.alerts.filter(function(alert){return alert.title===alertTypeString;});const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(alertsOfType);this.dispatchEvent(event);},alertsByType_(alerts){const alertsByType={};alerts.forEach(function(alert){if(!alertsByType[alert.title]){alertsByType[alert.title]=[];}
9654alertsByType[alert.title].push(alert);});return alertsByType;},alertsTableRows_(alertsByType){return Object.keys(alertsByType).map(function(key){return{alertType:key,count:alertsByType[key].length};});},alertsTableColumns_(){return[{title:'Alert type',value(row){return row.alertType;},width:'180px'},{title:'Count',width:'100%',value(row){return row.count;}}];},createAlertsTable_(alerts){const alertsByType=this.alertsByType_(alerts);const table=document.createElement('tr-ui-b-table');table.tableColumns=this.alertsTableColumns_();table.tableRows=this.alertsTableRows_(alertsByType);table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.addEventListener('selection-changed',function(e){const row=table.selectedTableRow;if(row){this.selectAlertsOfType(row.alertType);}}.bind(this));return table;},updateContents_(){Polymer.dom(this.$.result_area).textContent='';if(this.model_===undefined)return;const panel=this.createAlertsTable_(this.model_.alerts);Polymer.dom(this.$.result_area).appendChild(panel);},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};}else if(m.alerts.length===0){return{supported:false,reason:'No alerts in tracing model'};}
9655return{supported:true};},get textLabel(){return'Alerts';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-alerts-side-panel');});
9656</script>
9657<!--CATAPULT_REV=NO_AUTO_UPDATE-->
9658</head>
9659<body>
9660  <tr-ui-timeline-view>
9661    <track-view-container id='track_view_container'></track-view-container>
9662  </tr-ui-timeline-view>
9663
9664  <script>
9665  'use strict';
9666  var timelineViewEl;
9667
9668  function onLoad() {
9669    timelineViewEl = document.querySelector('tr-ui-timeline-view');
9670    timelineViewEl.globalMode = true;
9671
9672    var traceDataEls = document.body.querySelectorAll('.trace-data');
9673    var traces = [];
9674    for (var i = 0; i < traceDataEls.length; i++) {
9675      var traceText = traceDataEls[i].textContent;
9676      // Remove the leading newline.
9677      traceText = traceText.substring(1);
9678      traces.push(traceText);
9679    }
9680
9681    var m = new tr.Model();
9682    var i = new tr.importer.Import(m);
9683    var p = i.importTracesWithProgressDialog(traces);
9684    p.then(
9685      function() {
9686        timelineViewEl.model = m;
9687        timelineViewEl.updateDocumentFavicon();
9688        timelineViewEl.globalMode = true;
9689        timelineViewEl.viewTitle = 'Android System Trace';
9690      },
9691      function(err) {
9692        var overlay = new tr.ui.b.Overlay();
9693        overlay.textContent = tr.b.normalizeException(err).message;
9694        overlay.title = 'Import error';
9695        overlay.visible = true;
9696      });
9697  }
9698  window.addEventListener('load', onLoad);
9699  </script>
9700<!-- BEGIN TRACE -->
9701  <script class="trace-data" type="application/text">
9702PROCESS DUMP
9703USER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM
9704root             1     0   18956   2244 SyS_epoll_wait 5327b0 S init            init
9705root             2     0       0      0 kthreadd 0 S [kthreadd]                 2
9706root             3     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/0]     3
9707root             5     2       0      0 worker_thread 0 S [kworker/0:0H]        5
9708root             6     2       0      0 diag_socket_read 0 S [kworker/u16:0]    6
9709root             7     2       0      0 rcu_gp_kthread 0 S [rcu_preempt]        7
9710root             8     2       0      0 rcu_gp_kthread 0 S [rcu_sched]          8
9711root             9     2       0      0 rcu_gp_kthread 0 S [rcu_bh]             9
9712root            10     2       0      0 rcu_nocb_kthread 0 S [rcuop/0]          1
9713root            11     2       0      0 rcu_nocb_kthread 0 S [rcuos/0]          1
9714root            12     2       0      0 rcu_nocb_kthread 0 S [rcuob/0]          1
9715root            13     2       0      0 smpboot_thread_fn 0 S [migration/0]     1
9716root            14     2       0      0 smpboot_thread_fn 0 S [watchdog/0]      1
9717root            15     2       0      0 smpboot_thread_fn 0 S [watchdog/1]      1
9718root            16     2       0      0 smpboot_thread_fn 0 S [migration/1]     1
9719root            17     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/1]     1
9720root            19     2       0      0 worker_thread 0 S [kworker/1:0H]        1
9721root            20     2       0      0 rcu_nocb_kthread 0 S [rcuop/1]          2
9722root            21     2       0      0 rcu_nocb_kthread 0 S [rcuos/1]          2
9723root            22     2       0      0 rcu_nocb_kthread 0 S [rcuob/1]          2
9724root            23     2       0      0 smpboot_thread_fn 0 S [watchdog/2]      2
9725root            24     2       0      0 smpboot_thread_fn 0 S [migration/2]     2
9726root            25     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/2]     2
9727root            27     2       0      0 worker_thread 0 S [kworker/2:0H]        2
9728root            28     2       0      0 rcu_nocb_kthread 0 S [rcuop/2]          2
9729root            29     2       0      0 rcu_nocb_kthread 0 S [rcuos/2]          2
9730root            30     2       0      0 rcu_nocb_kthread 0 S [rcuob/2]          3
9731root            31     2       0      0 smpboot_thread_fn 0 S [watchdog/3]      3
9732root            32     2       0      0 smpboot_thread_fn 0 S [migration/3]     3
9733root            33     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/3]     3
9734root            35     2       0      0 worker_thread 0 S [kworker/3:0H]        3
9735root            36     2       0      0 rcu_nocb_kthread 0 S [rcuop/3]          3
9736root            37     2       0      0 rcu_nocb_kthread 0 S [rcuos/3]          3
9737root            38     2       0      0 rcu_nocb_kthread 0 S [rcuob/3]          3
9738root            39     2       0      0 smpboot_thread_fn 0 S [watchdog/4]      3
9739root            40     2       0      0 smpboot_thread_fn 0 S [migration/4]     4
9740root            41     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/4]     4
9741root            43     2       0      0 worker_thread 0 S [kworker/4:0H]        4
9742root            44     2       0      0 rcu_nocb_kthread 0 S [rcuop/4]          4
9743root            45     2       0      0 rcu_nocb_kthread 0 S [rcuos/4]          4
9744root            46     2       0      0 rcu_nocb_kthread 0 S [rcuob/4]          4
9745root            47     2       0      0 smpboot_thread_fn 0 S [watchdog/5]      4
9746root            48     2       0      0 smpboot_thread_fn 0 S [migration/5]     4
9747root            49     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/5]     4
9748root            51     2       0      0 worker_thread 0 S [kworker/5:0H]        5
9749root            52     2       0      0 rcu_nocb_kthread 0 S [rcuop/5]          5
9750root            53     2       0      0 rcu_nocb_kthread 0 S [rcuos/5]          5
9751root            54     2       0      0 rcu_nocb_kthread 0 S [rcuob/5]          5
9752root            55     2       0      0 smpboot_thread_fn 0 S [watchdog/6]      5
9753root            56     2       0      0 smpboot_thread_fn 0 S [migration/6]     5
9754root            57     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/6]     5
9755root            59     2       0      0 worker_thread 0 S [kworker/6:0H]        5
9756root            60     2       0      0 rcu_nocb_kthread 0 S [rcuop/6]          6
9757root            61     2       0      0 rcu_nocb_kthread 0 S [rcuos/6]          6
9758root            62     2       0      0 rcu_nocb_kthread 0 S [rcuob/6]          6
9759root            63     2       0      0 smpboot_thread_fn 0 S [watchdog/7]      6
9760root            64     2       0      0 smpboot_thread_fn 0 S [migration/7]     6
9761root            65     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/7]     6
9762root            67     2       0      0 worker_thread 0 S [kworker/7:0H]        6
9763root            68     2       0      0 rcu_nocb_kthread 0 S [rcuop/7]          6
9764root            69     2       0      0 rcu_nocb_kthread 0 S [rcuos/7]          6
9765root            70     2       0      0 rcu_nocb_kthread 0 S [rcuob/7]          7
9766root            71     2       0      0 rescuer_thread 0 S [netns]              7
9767root            72     2       0      0 rescuer_thread 0 S [perf]               7
9768root            73     2       0      0 rescuer_thread 0 S [smd_channel_clo]    7
9769root            74     2       0      0 kthread_worker_fn 0 S [dsps_smd_trans_] 7
9770root            75     2       0      0 kthread_worker_fn 0 S [lpass_smd_trans] 7
9771root            76     2       0      0 kthread_worker_fn 0 S [mpss_smd_trans_] 7
9772root            77     2       0      0 kthread_worker_fn 0 S [wcnss_smd_trans] 7
9773root            78     2       0      0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7
9774root            79     2       0      0 rescuer_thread 0 S [ipa_usb_wq]         7
9775root            81     2       0      0 kthread_worker_fn 0 S [smem_native_mps] 8
9776root            82     2       0      0 kthread_worker_fn 0 S [mpss_smem_glink] 8
9777root            83     2       0      0 kthread_worker_fn 0 S [smem_native_lpa] 8
9778root            84     2       0      0 kthread_worker_fn 0 S [lpass_smem_glin] 8
9779root            85     2       0      0 kthread_worker_fn 0 S [smem_native_dsp] 8
9780root            86     2       0      0 kthread_worker_fn 0 S [dsps_smem_glink] 8
9781root            87     2       0      0 kthread_worker_fn 0 S [smem_native_rpm] 8
9782root            88     2       0      0 kthread_worker_fn 0 S [rpm_smem_glink_] 8
9783root            89     2       0      0 kthread_worker_fn 0 S [smem_native_sps] 8
9784root            90     2       0      0 kthread_worker_fn 0 S [spss_mailbox_gl] 9
9785root            91     2       0      0 watchdog_kthread 0 S [msm_watchdog]     9
9786root            92     2       0      0 rescuer_thread 0 S [deferwq]            9
9787root            94     2       0      0 irq_thread 0 S [irq/126-cpr3]           9
9788root            95     2       0      0 msm_mpm_work_fn 0 D [mpm]               9
9789root            96     2       0      0 diag_socket_read 0 S [kworker/u16:2]    9
9790root            97     2       0      0 watchdog 0 S [khungtaskd]               9
9791root            98     2       0      0 rescuer_thread 0 S [writeback]          9
9792root            99     2       0      0 kcompactd 0 S [kcompactd0]              9
9793root           100     2       0      0 rescuer_thread 0 S [crypto]             1
9794root           101     2       0      0 rescuer_thread 0 S [bioset]             1
9795root           102     2       0      0 rescuer_thread 0 S [kblockd]            1
9796root           103     2       0      0 rescuer_thread 0 S [md]                 1
9797root           104     2       0      0 rescuer_thread 0 S [edac-poller]        1
9798root           105     2       0      0 ion_heap_deferred_free 0 S [system]     1
9799root           106     2       0      0 ion_heap_deferred_free 0 S [easel_mem]  1
9800root           107     2       0      0 rescuer_thread 0 S [devfreq_wq]         1
9801root           108     2       0      0 rescuer_thread 0 S [governor_msm_ad]    1
9802root           110     2       0      0 rescuer_thread 0 S [cfg80211]           1
9803root           111     2       0      0 irq_thread 0 S [irq/134-arm-smm]        1
9804root           112     2       0      0 rescuer_thread 0 S [ipa_power_mgmt]     1
9805root           113     2       0      0 rescuer_thread 0 S [transport_power]    1
9806root           114     2       0      0 rescuer_thread 0 S [ipa_rm_wq]          1
9807root           115     2       0      0 rescuer_thread 0 S [ipa_interrupt_w]    1
9808root           116     2       0      0 irq_thread 0 S [irq/135-arm-smm]        1
9809root           117     2       0      0 irq_thread 0 S [irq/136-arm-smm]        1
9810root           118     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
9811root           119     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
9812root           120     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
9813root           121     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
9814root           147     2       0      0 rescuer_thread 0 S [power_off_alarm]    1
9815root           148     2       0      0 kswapd  0 S [kswapd0]                   1
9816root           149     2       0      0 rescuer_thread 0 S [vmstat]             1
9817root           150     2       0      0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1
9818root           182     2       0      0 rescuer_thread 0 S [ad_calc_wq]         1
9819root           183     2       0      0 dsi_event_thread 0 D [mdss_dsi_event]   1
9820root           184     2       0      0 rescuer_thread 0 S [mdss_dsi_dba]       1
9821root           185     2       0      0 rescuer_thread 0 S [cwb_wq]             1
9822root           186     2       0      0 kthread_worker_fn 0 S [vsync_retire_wo] 1
9823root           187     2       0      0 rescuer_thread 0 S [cwb_wq]             1
9824root           189     2       0      0 rescuer_thread 0 S [glink_ssr_wq]       1
9825root           190     2       0      0 rescuer_thread 0 S [glink_lbsrv]        1
9826root           191     2       0      0 kthread_worker_fn 0 S [spi_wdsp]        1
9827root           192     2       0      0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1
9828root           193     2       0      0 rescuer_thread 0 S [glink_xprt_wq]      1
9829root           194     2       0      0 rescuer_thread 0 S [IPCRTR_mpss_sme]    1
9830root           195     2       0      0 rescuer_thread 0 S [IPCRTR_lpass_sm]    1
9831root           196     2       0      0 rescuer_thread 0 S [IPCRTR_dsps_sme]    1
9832root           197     2       0      0 rescuer_thread 0 S [apr_driver]         1
9833root           198     2       0      0 rescuer_thread 0 S [glink_pkt_wq]       1
9834root           199     2       0      0 rescuer_thread 0 S [mem_share_svc]      1
9835root           200     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    2
9836root           201     2       0      0 rescuer_thread 0 S [msm_ipc_router]     2
9837root           202     2       0      0 irq_thread 0 S [irq/137-arm-smm]        2
9838root           203     2       0      0 rescuer_thread 0 S [qmi_svc_event_w]    2
9839root           204     2       0      0 rescuer_thread 0 S [servloc_wq]         2
9840root           205     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9841root           206     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9842root           207     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9843root           208     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9844root           209     2       0      0 rescuer_thread 0 S [k_hsuart]           2
9845root           210     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
9846root           211     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
9847root           212     2       0      0 add_hwgenerator_randomness 0 S [hwrng]  2
9848root           215     2       0      0 rescuer_thread 0 S [diag_real_time_]    2
9849root           216     2       0      0 rescuer_thread 0 S [diag_wq]            2
9850root           217     2       0      0 rescuer_thread 0 S [DIAG_USB_diag]      2
9851root           218     2       0      0 rescuer_thread 0 S [diag_cntl_wq]       2
9852root           219     2       0      0 rescuer_thread 0 S [diag_dci_wq]        2
9853root           220     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9854root           221     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9855root           222     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9856root           223     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9857root           224     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9858root           225     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9859root           226     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9860root           227     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9861root           228     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9862root           229     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9863root           230     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9864root           231     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9865root           232     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9866root           233     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9867root           234     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9868root           235     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9869root           236     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9870root           237     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9871root           238     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9872root           239     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9873root           240     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
9874root           241     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
9875root           242     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
9876root           243     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
9877root           244     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
9878root           245     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
9879root           246     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
9880root           247     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
9881root           248     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
9882root           249     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
9883root           250     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9884root           251     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9885root           252     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9886root           253     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9887root           254     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9888root           255     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9889root           256     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9890root           257     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9891root           258     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9892root           259     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9893root           260     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9894root           261     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9895root           262     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9896root           263     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9897root           265     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9898root           266     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9899root           267     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9900root           268     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9901root           269     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9902root           270     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9903root           271     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
9904root           272     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
9905root           273     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
9906root           274     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
9907root           275     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
9908root           276     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
9909root           277     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
9910root           278     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
9911root           279     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
9912root           280     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
9913root           281     2       0      0 rescuer_thread 0 S [DIAG_CNTL_SOCKE]    2
9914root           282     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9915root           283     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9916root           284     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9917root           285     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9918root           286     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9919root           287     2       0      0 rescuer_thread 0 S [kgsl-workqueue]     2
9920root           288     2       0      0 rescuer_thread 0 S [kgsl-mementry]      2
9921root           289     2       0      0 kthread_worker_fn 0 S [kgsl_worker_thr] 2
9922root           290     2       0      0 rescuer_thread 0 S [kgsl-events]        2
9923root           291     2       0      0 rescuer_thread 0 S [kgsl_devfreq_wq]    2
9924root           292     2       0      0 rescuer_thread 0 S [bioset]             2
9925root           293     2       0      0 rescuer_thread 0 S [bioset]             2
9926root           294     2       0      0 rescuer_thread 0 S [bioset]             2
9927root           295     2       0      0 rescuer_thread 0 S [bioset]             2
9928root           296     2       0      0 rescuer_thread 0 S [bioset]             2
9929root           297     2       0      0 rescuer_thread 0 S [bioset]             2
9930root           298     2       0      0 rescuer_thread 0 S [bioset]             2
9931root           299     2       0      0 rescuer_thread 0 S [bioset]             2
9932root           300     2       0      0 rescuer_thread 0 S [bioset]             3
9933root           301     2       0      0 rescuer_thread 0 S [bioset]             3
9934root           302     2       0      0 rescuer_thread 0 S [bioset]             3
9935root           303     2       0      0 rescuer_thread 0 S [bioset]             3
9936root           304     2       0      0 rescuer_thread 0 S [bioset]             3
9937root           305     2       0      0 rescuer_thread 0 S [bioset]             3
9938root           307     2       0      0 rescuer_thread 0 S [bioset]             3
9939root           308     2       0      0 rescuer_thread 0 S [bioset]             3
9940root           309     2       0      0 rescuer_thread 0 S [bioset]             3
9941root           310     2       0      0 rescuer_thread 0 S [bioset]             3
9942root           311     2       0      0 rescuer_thread 0 S [bioset]             3
9943root           312     2       0      0 rescuer_thread 0 S [bioset]             3
9944root           313     2       0      0 rescuer_thread 0 S [bioset]             3
9945root           314     2       0      0 rescuer_thread 0 S [bioset]             3
9946root           315     2       0      0 rescuer_thread 0 S [bioset]             3
9947root           316     2       0      0 rescuer_thread 0 S [bioset]             3
9948root           317     2       0      0 rescuer_thread 0 S [bioset]             3
9949root           318     2       0      0 irq_thread 0 S [irq/286-soc:fp_]        3
9950root           319     2       0      0 rescuer_thread 0 S [memory_wq]          3
9951root           320     2       0      0 rescuer_thread 0 S [qcrypto_seq_res]    3
9952root           321     2       0      0 scsi_error_handler 0 S [scsi_eh_0]      3
9953root           322     2       0      0 rescuer_thread 0 S [scsi_tmf_0]         3
9954root           323     2       0      0 rescuer_thread 0 S [ufs_pm_qos_0]       3
9955root           324     2       0      0 rescuer_thread 0 S [ufs_clk_ungatin]    3
9956root           325     2       0      0 rescuer_thread 0 S [ufs_clkscaling_]    3
9957root           326     2       0      0 kthread_worker_fn 0 S [spi1]            3
9958root           327     2       0      0 kthread_worker_fn 0 S [spi2]            3
9959root           328     2       0      0 kthread_worker_fn 0 S [spi10]           3
9960root           329     2       0      0 rescuer_thread 0 S [bond0]              3
9961root           330     2       0      0 rescuer_thread 0 S [sharedmem_qmi_w]    3
9962root           331     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    3
9963root           335     2       0      0 rescuer_thread 0 S [uether]             3
9964root           336     2       0      0 rescuer_thread 0 S [k_ipa_usb]          3
9965root           341     2       0      0 irq_thread 0 S [irq/262-vl53l0_]        3
9966root           342     2       0      0 rescuer_thread 0 S [bioset]             3
9967root           343     2       0      0 rescuer_thread 0 S [bioset]             3
9968root           344     2       0      0 rescuer_thread 0 S [bioset]             3
9969root           345     2       0      0 rescuer_thread 0 S [bioset]             3
9970root           347     2       0      0 rescuer_thread 0 S [bioset]             3
9971root           348     2       0      0 rescuer_thread 0 S [bioset]             3
9972root           349     2       0      0 rescuer_thread 0 S [bioset]             3
9973root           350     2       0      0 rescuer_thread 0 S [bioset]             3
9974root           351     2       0      0 rescuer_thread 0 S [bioset]             3
9975root           355     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
9976root           356     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
9977root           357     2       0      0 rescuer_thread 0 S [msm_cpp_workque]    3
9978root           358     2       0      0 rescuer_thread 0 S [msm_vidc_worker]    3
9979root           359     2       0      0 rescuer_thread 0 S [pm_workerq_venu]    3
9980root           360     2       0      0 irq_thread 0 S [irq/158-arm-smm]        3
9981root           361     2       0      0 irq_thread 0 S [irq/159-arm-smm]        3
9982root           362     2       0      0 irq_thread 0 S [irq/160-arm-smm]        3
9983root           363     2       0      0 irq_thread 0 S [irq/161-arm-smm]        3
9984root           364     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_0] 3
9985root           365     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_1] 3
9986root           366     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_0]   3
9987root           367     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_1]   3
9988root           368     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 3
9989root           370     2       0      0 irq_thread 0 S [irq/500-chg-err]        3
9990root           371     2       0      0 irq_thread 0 S [irq/501-chg-sta]        3
9991root           372     2       0      0 irq_thread 0 S [irq/502-step-ch]        3
9992root           373     2       0      0 irq_thread 0 S [irq/503-step-ch]        3
9993root           374     2       0      0 irq_thread 0 S [irq/504-step-ch]        3
9994root           375     2       0      0 irq_thread 0 S [irq/505-otg-fai]        3
9995root           376     2       0      0 irq_thread 0 S [irq/506-otg-ove]        3
9996root           377     2       0      0 irq_thread 0 S [irq/507-otg-oc-]        3
9997root           378     2       0      0 irq_thread 0 S [irq/508-testmod]        3
9998root           379     2       0      0 irq_thread 0 S [irq/509-bat-tem]        3
9999root           380     2       0      0 irq_thread 0 S [irq/510-bat-ocp]        3
10000root           381     2       0      0 irq_thread 0 S [irq/511-bat-ov]         3
10001root           382     2       0      0 irq_thread 0 S [irq/512-bat-low]        3
10002root           383     2       0      0 irq_thread 0 S [irq/513-bat-the]        3
10003root           384     2       0      0 irq_thread 0 S [irq/514-bat-ter]        3
10004root           385     2       0      0 irq_thread 0 S [irq/515-usbin-c]        3
10005root           386     2       0      0 irq_thread 0 S [irq/516-usbin-l]        3
10006root           387     2       0      0 irq_thread 0 S [irq/517-usbin-u]        3
10007root           388     2       0      0 irq_thread 0 S [irq/518-usbin-o]        3
10008root           389     2       0      0 irq_thread 0 S [irq/519-usbin-p]        3
10009root           390     2       0      0 irq_thread 0 S [irq/520-usbin-s]        3
10010root           391     2       0      0 irq_thread 0 S [irq/521-usbin-i]        3
10011root           392     2       0      0 irq_thread 0 S [irq/522-type-c-]        3
10012root           393     2       0      0 irq_thread 0 S [irq/523-dcin-co]        3
10013root           394     2       0      0 irq_thread 0 S [irq/524-dcin-lt]        3
10014root           395     2       0      0 irq_thread 0 S [irq/525-dcin-uv]        3
10015root           396     2       0      0 irq_thread 0 S [irq/526-dcin-ov]        3
10016root           397     2       0      0 irq_thread 0 S [irq/527-dcin-pl]        3
10017root           398     2       0      0 irq_thread 0 S [irq/528-div2-en]        3
10018root           399     2       0      0 irq_thread 0 S [irq/529-dcin-ic]        3
10019root           400     2       0      0 irq_thread 0 S [irq/532-aicl-fa]        4
10020root           401     2       0      0 irq_thread 0 S [irq/533-aicl-do]        4
10021root           402     2       0      0 irq_thread 0 S [irq/534-high-du]        4
10022root           403     2       0      0 irq_thread 0 S [irq/535-input-c]        4
10023root           404     2       0      0 irq_thread 0 S [irq/536-tempera]        4
10024root           405     2       0      0 irq_thread 0 S [irq/537-switche]        4
10025root           406     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10026root           407     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10027root           409     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10028root           410     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10029root           411     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10030root           412     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10031root           413     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10032root           414     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10033root           415     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10034root           416     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10035root           417     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10036root           418     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10037root           419     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10038root           420     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10039root           421     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10040root           422     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10041root           423     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10042root           424     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10043root           425     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10044root           426     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10045root           427     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10046root           428     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10047root           429     2       0      0 irq_thread 0 S [irq/59-tsens_in]        4
10048root           430     2       0      0 irq_thread 0 S [irq/62-tsens_cr]        4
10049root           431     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10050root           432     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10051root           433     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10052root           434     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10053root           435     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10054root           436     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10055root           437     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10056root           438     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10057root           439     2       0      0 irq_thread 0 S [irq/63-tsens_in]        4
10058root           440     2       0      0 irq_thread 0 S [irq/64-tsens_cr]        4
10059root           441     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10060root           442     2       0      0 irq_thread 0 S [irq/366-limits_]        4
10061root           443     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10062root           444     2       0      0 irq_thread 0 S [irq/367-limits_]        4
10063root           445     2       0      0 rescuer_thread 0 S [dm_bufio_cache]     4
10064root           446     2       0      0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4
10065root           447     2       0      0 irq_thread 0 S [irq/291-bcm1560]        4
10066root           448     2       0      0 irq_thread 0 S [irq/226-bcm1560]        4
10067root           449     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10068root           451     2       0      0 irq_thread 0 S [irq/197-spdm_bw]        4
10069root           452     2       0      0 rescuer_thread 0 S [binder]             4
10070root           453     2       0      0 irq_thread 0 S [irq/144-arm-smm]        4
10071root           454     2       0      0 rescuer_thread 0 S [uaudio_svc]         4
10072root           455     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    4
10073root           456     2       0      0 rescuer_thread 0 S [ipv6_addrconf]      4
10074root           458     2       0      0 irq_thread 0 S [irq/574-adsp]           4
10075root           459     2       0      0 rescuer_thread 0 S [sysmon_wq]          4
10076root           460     2       0      0 irq_thread 0 S [irq/606-slpi]           4
10077root           461     2       0      0 irq_thread 0 S [irq/542-modem]          4
10078root           465     2       0      0 rescuer_thread 0 S [usb_bam_wq]         4
10079root           466     2       0      0 irq_thread 0 S [irq/19-sig-tx]          4
10080root           467     2       0      0 irq_thread 0 S [irq/20-sig-rx]          4
10081root           468     2       0      0 irq_thread 0 S [irq/22-msg-rx]          4
10082root           469     2       0      0 rescuer_thread 0 S [usbpd0]             4
10083root           470     2       0      0 rescuer_thread 0 S [usbpd0]             4
10084root           471     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10085root           472     2       0      0 irq_thread 0 S [irq/734-soc-upd]        4
10086root           473     2       0      0 irq_thread 0 S [irq/735-soc-rea]        4
10087root           474     2       0      0 irq_thread 0 S [irq/736-bsoc-de]        4
10088root           475     2       0      0 irq_thread 0 S [irq/737-msoc-de]        4
10089root           476     2       0      0 irq_thread 0 S [irq/738-msoc-lo]        4
10090root           477     2       0      0 irq_thread 0 S [irq/739-msoc-em]        4
10091root           478     2       0      0 irq_thread 0 S [irq/740-msoc-hi]        4
10092root           479     2       0      0 irq_thread 0 S [irq/741-msoc-fu]        4
10093root           480     2       0      0 irq_thread 0 S [irq/742-vbatt-p]        4
10094root           481     2       0      0 irq_thread 0 S [irq/743-vbatt-l]        4
10095root           482     2       0      0 irq_thread 0 S [irq/744-esr-del]        4
10096root           483     2       0      0 irq_thread 0 S [irq/745-batt-mi]        4
10097root           484     2       0      0 irq_thread 0 S [irq/746-batt-te]        4
10098root           485     2       0      0 irq_thread 0 S [irq/747-ima-rdy]        4
10099root           486     2       0      0 irq_thread 0 S [irq/748-mem-xcp]        4
10100root           487     2       0      0 irq_thread 0 S [irq/749-dma-gra]        4
10101root           489     2       0      0 irq_thread 0 S [irq/54-hs_phy_i]        4
10102root           490     2       0      0 irq_thread 0 S [irq/55-ss_phy_i]        4
10103root           491     2       0      0 irq_thread 0 S [irq/56-msm_dwc3]        4
10104root           494     2       0      0 irq_thread 0 S [irq/36-ARM64 pr]        4
10105root           495     2       0      0 irq_thread 0 S [irq/37-ARM64 se]        4
10106root           496     2       0      0 irq_thread 0 S [irq/39-ARM64 pr]        4
10107root           497     2       0      0 irq_thread 0 S [irq/40-ARM64 se]        4
10108root           498     2       0      0 rescuer_thread 0 S [rq_stats]           4
10109root           499     2       0      0 irq_thread 0 S [irq/145-arm-smm]        4
10110root           500     2       0      0 irq_thread 0 S [irq/146-arm-smm]        5
10111root           501     2       0      0 irq_thread 0 S [irq/147-arm-smm]        5
10112root           502     2       0      0 irq_thread 0 S [irq/148-arm-smm]        5
10113root           503     2       0      0 irq_thread 0 S [irq/149-arm-smm]        5
10114root           504     2       0      0 irq_thread 0 S [irq/150-arm-smm]        5
10115root           505     2       0      0 irq_thread 0 S [irq/151-arm-smm]        5
10116root           506     2       0      0 irq_thread 0 S [irq/152-arm-smm]        5
10117root           507     2       0      0 kthread_worker_fn 0 S [set_state_work]  5
10118root           508     2       0      0 irq_thread 0 S [irq/227-mnh-rea]        5
10119root           510     2       0      0 irq_thread 0 S [irq/751-mnh_pci]        5
10120root           511     2       0      0 irq_thread 0 S [irq/752-mnh_pci]        5
10121root           512     2       0      0 irq_thread 0 S [irq/753-mnh_pci]        5
10122root           513     2       0      0 irq_thread 0 S [irq/754-mnh_pci]        5
10123root           514     2       0      0 irq_thread 0 S [irq/755-mnh_pci]        5
10124root           515     2       0      0 irq_thread 0 S [irq/758-mnh_pci]        5
10125root           516     2       0      0 irq_thread 0 S [irq/759-mnh_pci]        5
10126root           517     2       0      0 irq_thread 0 S [irq/128-arm-smm]        5
10127root           518     2       0      0 rescuer_thread 0 S [sb-1]               5
10128root           519     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5
10129root           520     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl1]  5
10130root           521     2       0      0 rescuer_thread 0 S [sb-3]               5
10131root           522     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5
10132root           523     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl3]  5
10133root           525     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
10134root           526     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
10135root           527     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
10136root           528     2       0      0 irq_thread 0 S [irq/66-lmh-inte]        5
10137root           529     2       0      0 irq_thread 0 S [irq/28-qpnp_fla]        5
10138root           530     2       0      0 irq_thread 0 S [irq/27-qpnp_fla]        5
10139root           531     2       0      0 irq_thread 0 S [irq/26-qpnp_fla]        5
10140root           532     2       0      0 worker_thread 0 S [kworker/6:1H]        5
10141root           533     2       0      0 worker_thread 0 S [kworker/5:1H]        5
10142root           534     2       0      0 worker_thread 0 S [kworker/7:1H]        5
10143root           535     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
10144root           536     2       0      0 worker_thread 0 S [kworker/4:1H]        5
10145root           537     2       0      0 kjournald2 0 S [jbd2/sdd3-8]            5
10146root           538     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
10147root           539     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
10148root           542     1    6760    772 do_sys_poll 54e580 S init               init
10149root           543     1    6504   1068 do_sys_poll 54e580 S ueventd            init
10150root           545     2       0      0 worker_thread 0 S [kworker/0:1H]        5
10151root           550     2       0      0 irq_thread 0 S [irq/760-synapti]        5
10152root           551     2       0      0 rescuer_thread 0 S [dsx_rebuild_wor]    5
10153root           552     2       0      0 rescuer_thread 0 S [dsx_exp_workque]    5
10154root           556     2       0      0 rescuer_thread 0 S [batt_timer]         5
10155system         566     1   12844   1752 do_wait 7bede320a8 S qseecomd           qseecomd
10156root           567     2       0      0 kthread_worker_fn 0 S [sugov:0]         5
10157root           568     2       0      0 kthread_worker_fn 0 S [sugov:4]         5
10158system         570     1 2128484   4816 binder_ioctl_write_read 7428db1040 S hwservicemanager hwservicemanager
10159logd           571     1   32436  11280 SyS_rt_sigsuspend 7f4ccf3118 S logd     logd
10160system         572     1   11568   1988 binder_ioctl_write_read 7092531040 S servicemanager servicemanager
10161system         573     1   12280   2032 binder_ioctl_write_read 769d032040 S vndservicemanager vndservicemanager
10162system         574   566   18848    628 SyS_rt_sigsuspend 7bede31118 S qseecomd qseecomd
10163root           584     2       0      0 kauditd_thread 0 S [kauditd]            5
10164root           586     1   14496   2612 binder_ioctl_write_read 7f49272040 S android.hardware.boot@1.0-service android.hardware.boot@1.0-service
10165system         587     1   15624   2752 binder_ioctl_write_read 7929071040 S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti
10166system         588     1   15884   2740 binder_ioctl_write_read 7496432040 S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti
10167system         589     1 2128880   2824 binder_ioctl_write_read 7aa5cf0040 S android.hardware.keyprimary@4.0-service android.hardware.keyprimary@4.0-service
10168system         591     1 2190076  20836 SyS_epoll_wait 7d3a2f0f50 S surfaceflinger surfaceflinger
10169system         593     1   47296   5936 binder_ioctl_write_read 79c60f0040 S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service
10170system         594     1   18484   2704 binder_ioctl_write_read 79f41b0040 S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service
10171system         595     1   22124   3160 binder_ioctl_write_read 7c5b5f3040 S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service
10172root           612     2       0      0 kjournald2 0 S [jbd2/sda45-8]           6
10173root           613     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    6
10174system         616     1   23496   1848 futex_wait_queue_me 6ff4460bb0 S time_daemon time_daemon
10175root           617     1   31600   4188 binder_ioctl_write_read 7c864f1040 S vold vold
10176root           619     2       0      0 __mdss_fb_display_thread 0 D [mdss_fb0] 6
10177root           635     2       0      0 irq_thread 0 S [irq/177-arm-smm]        6
10178root           636     2       0      0 irq_thread 0 S [irq/178-arm-smm]        6
10179root           642     2       0      0 rescuer_thread 0 S [dsps_IPCRTR]        6
10180root           643     2       0      0 rescuer_thread 0 S [fwu_workqueue]      6
10181root           647     2       0      0 rescuer_thread 0 S [lpass_IPCRTR]       6
10182root           648     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10183root           663     2       0      0 worker_thread 0 S [kworker/2:1H]        6
10184root           671     2       0      0 diag_socket_read 0 S [kworker/u16:7]    6
10185root           672     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10186root           673     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
10187root           674     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
10188root           675     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10189root           676     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10190root           678     2       0      0 irq_thread 0 S [irq/153-arm-smm]        6
10191root           685     1 2152164   4480 binder_ioctl_write_read 75b8931040 S netd netd
10192root           693   685    9800   1860 pipe_read 7dcd573a78 S iptables-restore iptables
10193root           694   685    9816   1976 pipe_read 7823af2a78 S ip6tables-restore ip6tables
10194root           702     1 4232768  64660 do_sys_poll 726d72f070 S zygote64       app_process64
10195root           703     1 1554860  51192 do_sys_poll f08df828 S zygote           app_process32
10196root           704     2       0      0 rescuer_thread 0 S [cds_recovery_wo]    7
10197root           705     2       0      0 wlan_logging_thread 0 S [wlan_logging_th] 7
10198root           722     2       0      0 rescuer_thread 0 S [at_usb0]            7
10199root           723     2       0      0 rescuer_thread 0 S [at_usb1]            7
10200root           724     2       0      0 rescuer_thread 0 S [qdss]               7
10201root           729     1   14500   3000 SyS_epoll_wait 7e95172f50 S healthd     healthd
10202root           730     1   97112   2512 SyS_rt_sigsuspend 7711df2118 S thermal-engine thermal-engine
10203system         731     1   14152   2980 binder_ioctl_write_read 6fc03b2040 S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service
10204system         732     1   27592   4032 binder_ioctl_write_read 7229ab0040 S vr_hwc vr_hwc
10205audioserver    733     1   33344   8496 binder_ioctl_write_read eb95c790 S android.hardware.audio@2.0-service android.hardware.audio@2.0-service
10206bluetooth      734     1   17192   2472 binder_ioctl_write_read 7c2982f040 S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service
10207root           735     2       0      0 irq_thread 0 S [irq/254-wcd9xxx]        7
10208cameraserver   736     1  175308  46572 binder_ioctl_write_read e8d17790 S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service
10209media          737     1   12964   2520 binder_ioctl_write_read f0d9d790 S android.hardware.cas@1.0-service android.hardware.cas@1.0-service
10210system         738     1 2126332   2824 binder_ioctl_write_read 7f79d33040 S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service
10211media          739     1   15068   2736 binder_ioctl_write_read ec95a790 S android.hardware.drm@1.0-service android.hardware.drm@1.0-service
10212media          740     1   16324   2440 binder_ioctl_write_read f2217790 S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine
10213media          741     1   25876   2876 binder_ioctl_write_read 7479870040 S android.hardware.drm@1.1-service.clearkey android.hardware.drm@1.1-service.clearkey
10214system         742     1   13928   2604 binder_ioctl_write_read 75110b1040 S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo
10215gps            743     1   41836   4768 binder_ioctl_write_read 75ac5f2040 S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti
10216system         744     1   14136   2804 SyS_epoll_wait 7323b71f50 S android.hardware.health@2.0-service.wahoo android.hardware.health@2.0-service.wahoo
10217system         745     1   14168   2608 binder_ioctl_write_read 75ac42f040 S android.hardware.light@2.0-service android.hardware.light@2.0-service
10218system         748     1   14168   2684 binder_ioctl_write_read 7947eb3040 S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service
10219system         756     1   19416   2728 binder_ioctl_write_read 718b570040 S android.hardware.neuralnetworks@1.0-service-hvx android.hardware.neuralnetworks@1.0-service-hvx
10220nfc            759     1 2125748   2668 binder_ioctl_write_read 7b6d2f3040 S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service
10221system         760     1   13908   2556 binder_ioctl_write_read 73fe2ef040 S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service
10222root           761     1   11256   1572 __skb_recv_datagram 71ff530ed8 S oemlock-bridge oemlock-bridge
10223system         773     1   18736   2916 binder_ioctl_write_read 7568871040 S android.hardware.power@1.2-service.wahoo-libperfmgr android.hardware.power@1.2-service.wahoo-libperfmgr
10224system         778     1   70168   3536 binder_ioctl_write_read 72b4db3040 S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service
10225root           787     1   19788   2784 binder_ioctl_write_read 77a0371040 S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo
10226system         793     1   14448   2576 binder_ioctl_write_read 72cb372040 S android.hardware.vibrator@1.2-service.wahoo android.hardware.vibrator@1.2-service.wahoo
10227system         802     1   13780   2532 binder_ioctl_write_read 7827330040 S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo
10228wifi           807     1 2126104   2508 binder_ioctl_write_read 713cc31040 S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service
10229wifi           812     1   17460   2632 binder_ioctl_write_read 7278a70040 S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service
10230ese            813     1   14848   2600 binder_ioctl_write_read 790a0b1040 S esed esed
10231root           816     1   11132   1964 do_sys_poll 78de52f070 S msm_irqbalance msm_irqbalance
10232system         819     1   28116   1948 do_sigtimedwait 72b45ef130 S pm-service pm-service
10233system         825     1   28184   1996 futex_wait_queue_me 7a3c15fbb0 S sensors.qcom sensors.qcom
10234nobody         827     1   50580   1952 do_select 7526bb3088 S rmt_storage      rmt_storage
10235system         828     1   13780   1964 do_sys_poll 7f205f3070 S tftp_server    tftp_server
10236system         829     1   17340   1808 hrtimer_nanosleep 70455b1958 S pd-mapper pd-mapper
10237audioserver    830     1  105732  12620 binder_ioctl_write_read f3d5e790 S audioserver audioserver
10238system         831     1   20132   3336 SyS_epoll_wait 7f62bf2f50 S bufferhubd  bufferhubd
10239root           835     1    9948   1760 SyS_epoll_wait 79a1531f50 S lmkd        lmkd
10240system         836     1   14796   2256 SyS_epoll_wait 74f1f31f50 S performanced performanced
10241system         837     1   22464   3316 binder_ioctl_write_read 7e55a32040 S thermalserviced thermalserviced
10242system         838     1   18656   2732 binder_ioctl_write_read 753d3b1040 S virtual_touchpad virtual_touchpad
10243root           854     2       0      0 do_freq_mitigation 0 S [msm_thermal:fre] 8
10244root           859     2       0      0 do_thermal_monitor 0 S [msm_thermal:the] 8
10245root           865     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    8
10246root           873     2       0      0 rescuer_thread 0 S [modem]              8
10247system         874     1   19824   1876 hrtimer_nanosleep 70e9230958 S pm-proxy pm-proxy
10248root           879     1   11132   1508 do_sys_poll 72e4732070 S subsystem_ramdump subsystem_ramdump
10249nobody         882     1   10724   1328 do_sys_poll 7c2e9f0070 S traced         traced
10250nobody         883     1   10724   1392 do_sys_poll 7c38fb3070 S traced_probes  traced_probes
10251media          884     1   15272   1488 do_sys_poll 71fb172070 S adsprpcd       adsprpcd
10252system         885     1   16940   1780 do_select 7a5adf0088 S imsqmidaemon     imsqmidaemon
10253radio          890     1 2136736   3352 SyS_epoll_wait 749d2eef50 S cnd         cnd
10254root           892     2       0      0 worker_thread 0 S [kworker/3:1H]        8
10255radio          893     1 2224936   4944 __skb_recv_datagram 799ea71ed8 S netmgrd netmgrd
10256radio          897     1   14636   1528 futex_wait_queue_me 71ac21ebb0 S port-bridge port-bridge
10257radio          898     1   23196   2732 futex_wait_queue_me 6fc2adfbb0 S ipacm  ipacm
10258radio          899     1 2131244   2176 do_select 77cb1f1088 S qti              qti
10259cameraserver   900     1   41196   8408 binder_ioctl_write_read f4ad9790 S cameraserver cameraserver
10260drm            901     1   20448   4212 binder_ioctl_write_read f69e2790 S drmserver drmserver
10261incidentd      902     1   22208   3584 SyS_epoll_wait 74750b1f50 S incidentd   incidentd
10262root           903     1   30680   5016 binder_ioctl_write_read 71da631040 S installd installd
10263keystore       904     1 2135744   4904 binder_ioctl_write_read 7810832040 S keystore keystore
10264media          905     1   12236   2696 binder_ioctl_write_read ec697790 S mediadrmserver mediadrmserver
10265mediaex        906     1 2188528  12028 binder_ioctl_write_read 7301372040 S media.extractor mediaextractor
10266media          907     1 2147172   7800 binder_ioctl_write_read 7b8eb2f040 S media.metrics mediametrics
10267media          908     1   81888   7948 binder_ioctl_write_read f16e1790 S mediaserver mediaserver
10268statsd         909     1   26740   4592 SyS_epoll_wait 79c772ff50 S statsd      statsd
10269root           911     1   26400   6084 binder_ioctl_write_read 72667ef040 S storaged storaged
10270wifi           912     1   20180   3996 SyS_epoll_wait 7b337eff50 S wificond    wificond
10271mediacodec     914     1  122448  21140 binder_ioctl_write_read ee31e790 S media.codec android.hardware.media.omx@1.0-service
10272radio          917     1  111948  10660 binder_ioctl_write_read 72b02b0040 S rild rild
10273system         920     1 2165108  11268 SyS_epoll_wait 764ad32f50 S folio_daemon folio_daemon
10274root           921     2       0      0 rescuer_thread 0 S [ipawq15]            9
10275root           922     2       0      0 rescuer_thread 0 S [iparepwq15]         9
10276system         923     1   28496   2728 do_sys_poll 78c99f1070 S cnss-daemon    cnss-daemon
10277gps            924     1   14812   2316 SyS_rt_sigsuspend 7bf85f1118 S loc_launcher loc_launcher
10278system         925     1   18596   2924 do_sys_poll 700daef070 S chre           chre
10279system         926     1 2134120   4416 binder_ioctl_write_read 78699b0040 S gatekeeperd gatekeeperd
10280root           927     1   20516   3176 binder_ioctl_write_read 705e8f2040 S perfprofd perfprofd
10281tombstoned     929     1    9636   1400 SyS_epoll_wait 7e365eff50 S tombstoned  tombstoned
10282root           932     1   27424   4856 SyS_epoll_wait 7a3b232f50 S update_engine update_engine
10283system         935     1   19292   2624 binder_ioctl_write_read 75105b2040 S android.hardware.biometrics.fingerprint@2.1-service.fpc android.hardware.biometrics.fingerprint@2.1-service.fpc
10284root           938     2       0      0 rescuer_thread 0 S [ipawq48]            9
10285root           942     2       0      0 rescuer_thread 0 S [iparepwq48]         9
10286system         950     1 2138472   3920 do_select 7bd7070088 S imsdatadaemon    imsdatadaemon
10287root           969     2       0      0 rescuer_thread 0 S [ipawq13]            9
10288root           985     2       0      0 rescuer_thread 0 S [iparepwq13]         9
10289root          1002     2       0      0 rescuer_thread 0 S [ipa_A7_svc]         1
10290root          1012     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10291root          1016     2       0      0 rescuer_thread 0 S [clnt_req]           1
10292root          1017     2       0      0 rescuer_thread 0 S [clnt_req]           1
10293root          1021     2       0      0 rescuer_thread 0 S [clnt_resp]          1
10294root          1116     2       0      0 rescuer_thread 0 S [wdsp_glink_wq]      1
10295system        1151   702 4764184 273912 SyS_epoll_wait 726d72ef50 S system_server app_process64
10296root          1199     2       0      0 rescuer_thread 0 S [mpss_IPCRTR]        1
10297root          1201     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10298root          1202     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10299root          1219     2       0      0 irq_thread 0 S [irq/157-arm-smm]        1
10300root          1220     2       0      0 irq_thread 0 S [irq/162-arm-smm]        1
10301root          1246     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10302root          1304     2       0      0 worker_thread 0 S [kworker/1:1H]        1
10303root          1305     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10304root          1382     2       0      0 rescuer_thread 0 S [ipawq14]            1
10305root          1383     2       0      0 rescuer_thread 0 S [iparepwq14]         1
10306root          1384     2       0      0 rescuer_thread 0 S [ipawq49]            1
10307root          1385     2       0      0 rescuer_thread 0 S [iparepwq49]         1
10308radio         1452   702 3654372  39876 SyS_epoll_wait 726d72ef50 S com.google.modemservice app_process64
10309u0_a68        1469   702 3783096 117712 SyS_epoll_wait 726d72ef50 S com.android.systemui app_process64
10310u0_a98        1529   702 3777328 123412 SyS_epoll_wait 726d72ef50 S com.breel.wallpapers app_process64
10311gps           1536   924 2130620   2712 futex_wait_queue_me 7ed79a2bb0 S lowi-server lowi-server
10312gps           1538   924   29112   4408 __skb_recv_datagram 736d8b2ed8 S xtra-daemon xtra-daemon
10313radio         1554   702 3655740  41580 SyS_epoll_wait 726d72ef50 S com.qualcomm.qcrilmsgtunnel app_process64
10314system        1651   702 3663924  44380 SyS_epoll_wait 726d72ef50 S .dataservices app_process64
10315radio         1666   702 3655692  40728 SyS_epoll_wait 726d72ef50 S com.qualcomm.qti.telephonyservice app_process64
10316radio         1678   702 3731184  65024 SyS_epoll_wait 726d72ef50 S com.android.phone app_process64
10317u0_a24        1798   702 3661228  44472 SyS_epoll_wait 726d72ef50 S com.google.android.ext.services app_process64
10318root          2107     2       0      0 irq_thread 0 S [irq/35-1008000.]        2
10319nfc           2195   702 3678748  51548 SyS_epoll_wait 726d72ef50 S com.android.nfc app_process64
10320u0_a10        2213   702 3670936  50680 SyS_epoll_wait 726d72ef50 S com.google.intelligence.sense app_process64
10321radio         2224   702 3658520  45112 SyS_epoll_wait 726d72ef50 S com.android.ims.rcsservice app_process64
10322system        2243   702 3655528  38104 SyS_epoll_wait 726d72ef50 S com.google.SSRestartDetector app_process64
10323u0_a19        2279   702 3771824 105368 SyS_epoll_wait 726d72ef50 S com.google.android.apps.nexuslauncher app_process64
10324u0_a125       2305   702 3666628  45328 SyS_epoll_wait 726d72ef50 S com.google.vr.vrcore app_process64
10325u0_a56        2332   702 3674796  54092 SyS_epoll_wait 726d72ef50 S com.google.android.apps.pixelmigrate app_process64
10326u0_a58        2354   702 3670496  51884 SyS_epoll_wait 726d72ef50 S com.google.android.setupwizard app_process64
10327u0_a21        2371   703  983924  40268 SyS_epoll_wait f08df650 S com.google.android.apps.miphone.aiai app_process32
10328u0_a40        2462   702 3948032 112056 SyS_epoll_wait 726d72ef50 S com.google.android.gms app_process64
10329u0_a40        2484   702 3776084  92024 0      726d72f040 S com.google.android.gms.persistent app_process64
10330system        3993   702 3657372  38852 SyS_epoll_wait 726d72ef50 S com.qualcomm.telephony app_process64
10331root          4295     1   22620   1332 do_sys_poll 4ae5b0 S adbd               adbd
10332root         15030     2       0      0 worker_thread 0 S [kworker/4:1]         1
10333u0_a55       16104   702 3655556  44592 SyS_epoll_wait 726d72ef50 S com.android.defcontainer app_process64
10334root         16505     2       0      0 0       0 R [kworker/u17:0]             1
10335root         18709     2       0      0 worker_thread 0 S [kworker/3:3]         1
10336root         19512     2       0      0 worker_thread 0 S [kworker/5:1]         1
10337u0_a30       21587   702 3658124  43108 SyS_epoll_wait 726d72ef50 S com.google.android.apps.turbo app_process64
10338u0_a75       21768   702 3657340  41228 binder_ioctl_write_read 726d72f040 R com.google.android.partnersetup app_process64
10339u0_a40       21787   702 3671796  45760 SyS_epoll_wait 726d72ef50 S com.google.process.gservices app_process64
10340root         23038     2       0      0 worker_thread 0 S [kworker/3:2]         2
10341root         23393     2       0      0 worker_thread 0 S [kworker/5:3]         2
10342root         24384     2       0      0 worker_thread 0 S [kworker/4:2]         2
10343root         24428     2       0      0 worker_thread 0 S [kworker/1:0]         2
10344root         24572     2       0      0 worker_thread 0 S [kworker/6:0]         2
10345u0_a47       24879   702 4318732  48896 SyS_epoll_wait 726d72ef50 S com.verizon.mips.services app_process64
10346root         24931     2       0      0 worker_thread 0 S [kworker/2:1]         2
10347root         25152     2       0      0 worker_thread 0 S [kworker/7:2]         2
10348root         25203     2       0      0 worker_thread 0 S [kworker/0:4]         2
10349root         25230     2       0      0 worker_thread 0 S [kworker/2:0]         2
10350root         25246     2       0      0 worker_thread 0 S [kworker/7:0]         2
10351root         25362     2       0      0 worker_thread 0 S [kworker/u16:4]       2
10352root         25366     2       0      0 worker_thread 0 S [kworker/0:2]         2
10353root         25390     2       0      0 worker_thread 0 S [kworker/1:2]         2
10354root         25518     2       0      0 worker_thread 0 S [kworker/u16:6]       2
10355root         25647     2       0      0 worker_thread 0 S [kworker/6:1]         2
10356root         25664     2       0      0 worker_thread 0 S [kworker/u16:1]       2
10357root         25796     2       0      0 worker_thread 0 S [kworker/0:1]         2
10358root         25814     2       0      0 worker_thread 0 S [kworker/u16:3]       2
10359root         25819     2       0      0 worker_thread 0 S [kworker/3:0]         2
10360root         25823     2       0      0 worker_thread 0 S [kworker/2:2]         2
10361root         25933     2       0      0 worker_thread 0 S [kworker/6:2]         2
10362root         25946     2       0      0 worker_thread 0 S [kworker/1:1]         2
10363root         25950     2       0      0 worker_thread 0 S [kworker/0:3]         2
10364root         25966     2       0      0 worker_thread 0 S [kworker/u16:5]       2
10365root         26081     2       0      0 worker_thread 0 S [kworker/2:3]         2
10366root         26106     2       0      0 worker_thread 0 S [kworker/4:0]         2
10367system       26142   702 3652332  39944 SyS_epoll_wait 726d72ef50 S com.android.keychain app_process64
10368u0_a46       26181   702 3660384  46416 SyS_epoll_wait 726d72ef50 S com.android.documentsui app_process64
10369u0_a8        26208   702 3654392  43232 SyS_epoll_wait 726d72ef50 S android.process.media app_process64
10370u0_a40       26343   702 3662144  44012 SyS_epoll_wait 726d72ef50 S com.google.process.gapps app_process64
10371root         26407     2       0      0 worker_thread 0 S [kworker/5:0]         2
10372u0_a72       26440   702 3663496  41172 SyS_epoll_wait 726d72ef50 S com.android.connectivity.metrics app_process64
10373root         26499     2       0      0 worker_thread 0 S [kworker/7:1]         2
10374root         26509     2       0      0 worker_thread 0 S [kworker/7:3]         2
10375radio        26510   702 3653256  40364 SyS_epoll_wait 726d72ef50 S com.google.android.connectivitymonitor app_process64
10376u0_a131      26648   702 3653188  38916 SyS_epoll_wait 726d72ef50 S com.android.printspooler app_process64
10377root         26706     2       0      0 worker_thread 0 S [kworker/1:3]         2
10378root         26729  4295    9284   1720 SyS_rt_sigsuspend 742baf3118 S sh       sh
10379root         26732 26729    9284    808 SyS_rt_sigsuspend 742baf3118 S sh       sh
10380root         26733 26732   11752   2200 0      745d633a78 R ps                  toybox
10381root         26739  4295    9284   1712 SyS_rt_sigsuspend 70fcfaf118 S sh       sh
10382root         27902     2       0      0 worker_thread 0 S [kworker/u17:2]       2
10383u0_a64       32499   702 3690380  57548 SyS_epoll_wait 726d72ef50 S com.google.android.ims app_process64
10384USER           PID   TID CMD
10385root             1     1 init
10386root             2     2 kthreadd
10387root             3     3 ksoftirqd/0
10388root             5     5 kworker/0:0H
10389root             6     6 kworker/u16:0
10390root             7     7 rcu_preempt
10391root             8     8 rcu_sched
10392root             9     9 rcu_bh
10393root            10    10 rcuop/0
10394root            11    11 rcuos/0
10395root            12    12 rcuob/0
10396root            13    13 migration/0
10397root            14    14 watchdog/0
10398root            15    15 watchdog/1
10399root            16    16 migration/1
10400root            17    17 ksoftirqd/1
10401root            19    19 kworker/1:0H
10402root            20    20 rcuop/1
10403root            21    21 rcuos/1
10404root            22    22 rcuob/1
10405root            23    23 watchdog/2
10406root            24    24 migration/2
10407root            25    25 ksoftirqd/2
10408root            27    27 kworker/2:0H
10409root            28    28 rcuop/2
10410root            29    29 rcuos/2
10411root            30    30 rcuob/2
10412root            31    31 watchdog/3
10413root            32    32 migration/3
10414root            33    33 ksoftirqd/3
10415root            35    35 kworker/3:0H
10416root            36    36 rcuop/3
10417root            37    37 rcuos/3
10418root            38    38 rcuob/3
10419root            39    39 watchdog/4
10420root            40    40 migration/4
10421root            41    41 ksoftirqd/4
10422root            43    43 kworker/4:0H
10423root            44    44 rcuop/4
10424root            45    45 rcuos/4
10425root            46    46 rcuob/4
10426root            47    47 watchdog/5
10427root            48    48 migration/5
10428root            49    49 ksoftirqd/5
10429root            51    51 kworker/5:0H
10430root            52    52 rcuop/5
10431root            53    53 rcuos/5
10432root            54    54 rcuob/5
10433root            55    55 watchdog/6
10434root            56    56 migration/6
10435root            57    57 ksoftirqd/6
10436root            59    59 kworker/6:0H
10437root            60    60 rcuop/6
10438root            61    61 rcuos/6
10439root            62    62 rcuob/6
10440root            63    63 watchdog/7
10441root            64    64 migration/7
10442root            65    65 ksoftirqd/7
10443root            67    67 kworker/7:0H
10444root            68    68 rcuop/7
10445root            69    69 rcuos/7
10446root            70    70 rcuob/7
10447root            71    71 netns
10448root            72    72 perf
10449root            73    73 smd_channel_clo
10450root            74    74 dsps_smd_trans_
10451root            75    75 lpass_smd_trans
10452root            76    76 mpss_smd_trans_
10453root            77    77 wcnss_smd_trans
10454root            78    78 rpm_smd_trans_g
10455root            79    79 ipa_usb_wq
10456root            81    81 smem_native_mps
10457root            82    82 mpss_smem_glink
10458root            83    83 smem_native_lpa
10459root            84    84 lpass_smem_glin
10460root            85    85 smem_native_dsp
10461root            86    86 dsps_smem_glink
10462root            87    87 smem_native_rpm
10463root            88    88 rpm_smem_glink_
10464root            89    89 smem_native_sps
10465root            90    90 spss_mailbox_gl
10466root            91    91 msm_watchdog
10467root            92    92 deferwq
10468root            94    94 irq/126-cpr3
10469root            95    95 mpm
10470root            96    96 kworker/u16:2
10471root            97    97 khungtaskd
10472root            98    98 writeback
10473root            99    99 kcompactd0
10474root           100   100 crypto
10475root           101   101 bioset
10476root           102   102 kblockd
10477root           103   103 md
10478root           104   104 edac-poller
10479root           105   105 system
10480root           106   106 easel_mem
10481root           107   107 devfreq_wq
10482root           108   108 governor_msm_ad
10483root           110   110 cfg80211
10484root           111   111 irq/134-arm-smm
10485root           112   112 ipa_power_mgmt
10486root           113   113 transport_power
10487root           114   114 ipa_rm_wq
10488root           115   115 ipa_interrupt_w
10489root           116   116 irq/135-arm-smm
10490root           117   117 irq/136-arm-smm
10491root           118   118 therm_core:noti
10492root           119   119 therm_core:noti
10493root           120   120 therm_core:noti
10494root           121   121 therm_core:noti
10495root           147   147 power_off_alarm
10496root           148   148 kswapd0
10497root           149   149 vmstat
10498root           150   150 fsnotify_mark
10499root           182   182 ad_calc_wq
10500root           183   183 mdss_dsi_event
10501root           184   184 mdss_dsi_dba
10502root           185   185 cwb_wq
10503root           186   186 vsync_retire_wo
10504root           187   187 cwb_wq
10505root           189   189 glink_ssr_wq
10506root           190   190 glink_lbsrv
10507root           191   191 spi_wdsp
10508root           192   192 wdsp_spi_glink_
10509root           193   193 glink_xprt_wq
10510root           194   194 IPCRTR_mpss_sme
10511root           195   195 IPCRTR_lpass_sm
10512root           196   196 IPCRTR_dsps_sme
10513root           197   197 apr_driver
10514root           198   198 glink_pkt_wq
10515root           199   199 mem_share_svc
10516root           200   200 qmi_hndl0000000
10517root           201   201 msm_ipc_router
10518root           202   202 irq/137-arm-smm
10519root           203   203 qmi_svc_event_w
10520root           204   204 servloc_wq
10521root           205   205 tty_worker_thre
10522root           206   206 tty_worker_thre
10523root           207   207 tty_worker_thre
10524root           208   208 tty_worker_thre
10525root           209   209 k_hsuart
10526root           210   210 msm_serial_hs_0
10527root           211   211 msm_serial_hs_0
10528root           212   212 hwrng
10529root           215   215 diag_real_time_
10530root           216   216 diag_wq
10531root           217   217 DIAG_USB_diag
10532root           218   218 diag_cntl_wq
10533root           219   219 diag_dci_wq
10534root           220   220 DIAG_SMD_MODEM_
10535root           221   221 DIAG_SMD_MODEM_
10536root           222   222 DIAG_SMD_MODEM_
10537root           223   223 DIAG_SMD_MODEM_
10538root           224   224 DIAG_SMD_MODEM_
10539root           225   225 DIAG_SMD_LPASS_
10540root           226   226 DIAG_SMD_LPASS_
10541root           227   227 DIAG_SMD_LPASS_
10542root           228   228 DIAG_SMD_LPASS_
10543root           229   229 DIAG_SMD_LPASS_
10544root           230   230 DIAG_SMD_WCNSS_
10545root           231   231 DIAG_SMD_WCNSS_
10546root           232   232 DIAG_SMD_WCNSS_
10547root           233   233 DIAG_SMD_WCNSS_
10548root           234   234 DIAG_SMD_WCNSS_
10549root           235   235 DIAG_SMD_SENSOR
10550root           236   236 DIAG_SMD_SENSOR
10551root           237   237 DIAG_SMD_SENSOR
10552root           238   238 DIAG_SMD_SENSOR
10553root           239   239 DIAG_SMD_SENSOR
10554root           240   240 DIAG_SMD_DIAG_C
10555root           241   241 DIAG_SMD_DIAG_D
10556root           242   242 DIAG_SMD_DIAG_C
10557root           243   243 DIAG_SMD_DIAG_D
10558root           244   244 DIAG_SMD_DIAG_D
10559root           245   245 DIAG_SMD_CDSP_C
10560root           246   246 DIAG_SMD_CDSP_D
10561root           247   247 DIAG_SMD_CDSP_C
10562root           248   248 DIAG_SMD_CDSP_D
10563root           249   249 DIAG_SMD_CDSP_D
10564root           250   250 DIAG_SOCKMODEM_
10565root           251   251 DIAG_SOCKMODEM_
10566root           252   252 DIAG_SOCKMODEM_
10567root           253   253 DIAG_SOCKMODEM_
10568root           254   254 DIAG_SOCKMODEM_
10569root           255   255 DIAG_SOCKLPASS_
10570root           256   256 DIAG_SOCKLPASS_
10571root           257   257 DIAG_SOCKLPASS_
10572root           258   258 DIAG_SOCKLPASS_
10573root           259   259 DIAG_SOCKLPASS_
10574root           260   260 DIAG_SOCKWCNSS_
10575root           261   261 DIAG_SOCKWCNSS_
10576root           262   262 DIAG_SOCKWCNSS_
10577root           263   263 DIAG_SOCKWCNSS_
10578root           265   265 DIAG_SOCKWCNSS_
10579root           266   266 DIAG_SOCKSENSOR
10580root           267   267 DIAG_SOCKSENSOR
10581root           268   268 DIAG_SOCKSENSOR
10582root           269   269 DIAG_SOCKSENSOR
10583root           270   270 DIAG_SOCKSENSOR
10584root           271   271 DIAG_SOCKDIAG_C
10585root           272   272 DIAG_SOCKDIAG_D
10586root           273   273 DIAG_SOCKDIAG_C
10587root           274   274 DIAG_SOCKDIAG_D
10588root           275   275 DIAG_SOCKDIAG_D
10589root           276   276 DIAG_SOCKCDSP_C
10590root           277   277 DIAG_SOCKCDSP_D
10591root           278   278 DIAG_SOCKCDSP_C
10592root           279   279 DIAG_SOCKCDSP_D
10593root           280   280 DIAG_SOCKCDSP_D
10594root           281   281 DIAG_CNTL_SOCKE
10595root           282   282 DIAG_GLINK_DIAG
10596root           283   283 DIAG_GLINK_DIAG
10597root           284   284 DIAG_GLINK_DIAG
10598root           285   285 DIAG_GLINK_DIAG
10599root           286   286 DIAG_GLINK_DIAG
10600root           287   287 kgsl-workqueue
10601root           288   288 kgsl-mementry
10602root           289   289 kgsl_worker_thr
10603root           290   290 kgsl-events
10604root           291   291 kgsl_devfreq_wq
10605root           292   292 bioset
10606root           293   293 bioset
10607root           294   294 bioset
10608root           295   295 bioset
10609root           296   296 bioset
10610root           297   297 bioset
10611root           298   298 bioset
10612root           299   299 bioset
10613root           300   300 bioset
10614root           301   301 bioset
10615root           302   302 bioset
10616root           303   303 bioset
10617root           304   304 bioset
10618root           305   305 bioset
10619root           307   307 bioset
10620root           308   308 bioset
10621root           309   309 bioset
10622root           310   310 bioset
10623root           311   311 bioset
10624root           312   312 bioset
10625root           313   313 bioset
10626root           314   314 bioset
10627root           315   315 bioset
10628root           316   316 bioset
10629root           317   317 bioset
10630root           318   318 irq/286-soc:fp_
10631root           319   319 memory_wq
10632root           320   320 qcrypto_seq_res
10633root           321   321 scsi_eh_0
10634root           322   322 scsi_tmf_0
10635root           323   323 ufs_pm_qos_0
10636root           324   324 ufs_clk_ungatin
10637root           325   325 ufs_clkscaling_
10638root           326   326 spi1
10639root           327   327 spi2
10640root           328   328 spi10
10641root           329   329 bond0
10642root           330   330 sharedmem_qmi_w
10643root           331   331 qmi_hndl0000000
10644root           335   335 uether
10645root           336   336 k_ipa_usb
10646root           341   341 irq/262-vl53l0_
10647root           342   342 bioset
10648root           343   343 bioset
10649root           344   344 bioset
10650root           345   345 bioset
10651root           347   347 bioset
10652root           348   348 bioset
10653root           349   349 bioset
10654root           350   350 bioset
10655root           351   351 bioset
10656root           355   355 msm_cci_wq
10657root           356   356 msm_cci_wq
10658root           357   357 msm_cpp_workque
10659root           358   358 msm_vidc_worker
10660root           359   359 pm_workerq_venu
10661root           360   360 irq/158-arm-smm
10662root           361   361 irq/159-arm-smm
10663root           362   362 irq/160-arm-smm
10664root           363   363 irq/161-arm-smm
10665root           364   364 rot_commitq_0_0
10666root           365   365 rot_commitq_0_1
10667root           366   366 rot_doneq_0_0
10668root           367   367 rot_doneq_0_1
10669root           368   368 therm_core:noti
10670root           370   370 irq/500-chg-err
10671root           371   371 irq/501-chg-sta
10672root           372   372 irq/502-step-ch
10673root           373   373 irq/503-step-ch
10674root           374   374 irq/504-step-ch
10675root           375   375 irq/505-otg-fai
10676root           376   376 irq/506-otg-ove
10677root           377   377 irq/507-otg-oc-
10678root           378   378 irq/508-testmod
10679root           379   379 irq/509-bat-tem
10680root           380   380 irq/510-bat-ocp
10681root           381   381 irq/511-bat-ov
10682root           382   382 irq/512-bat-low
10683root           383   383 irq/513-bat-the
10684root           384   384 irq/514-bat-ter
10685root           385   385 irq/515-usbin-c
10686root           386   386 irq/516-usbin-l
10687root           387   387 irq/517-usbin-u
10688root           388   388 irq/518-usbin-o
10689root           389   389 irq/519-usbin-p
10690root           390   390 irq/520-usbin-s
10691root           391   391 irq/521-usbin-i
10692root           392   392 irq/522-type-c-
10693root           393   393 irq/523-dcin-co
10694root           394   394 irq/524-dcin-lt
10695root           395   395 irq/525-dcin-uv
10696root           396   396 irq/526-dcin-ov
10697root           397   397 irq/527-dcin-pl
10698root           398   398 irq/528-div2-en
10699root           399   399 irq/529-dcin-ic
10700root           400   400 irq/532-aicl-fa
10701root           401   401 irq/533-aicl-do
10702root           402   402 irq/534-high-du
10703root           403   403 irq/535-input-c
10704root           404   404 irq/536-tempera
10705root           405   405 irq/537-switche
10706root           406   406 therm_core:noti
10707root           407   407 therm_core:noti
10708root           409   409 therm_core:noti
10709root           410   410 therm_core:noti
10710root           411   411 therm_core:noti
10711root           412   412 therm_core:noti
10712root           413   413 therm_core:noti
10713root           414   414 therm_core:noti
10714root           415   415 therm_core:noti
10715root           416   416 therm_core:noti
10716root           417   417 therm_core:noti
10717root           418   418 therm_core:noti
10718root           419   419 therm_core:noti
10719root           420   420 therm_core:noti
10720root           421   421 therm_core:noti
10721root           422   422 therm_core:noti
10722root           423   423 therm_core:noti
10723root           424   424 therm_core:noti
10724root           425   425 therm_core:noti
10725root           426   426 therm_core:noti
10726root           427   427 therm_core:noti
10727root           428   428 therm_core:noti
10728root           429   429 irq/59-tsens_in
10729root           430   430 irq/62-tsens_cr
10730root           431   431 therm_core:noti
10731root           432   432 therm_core:noti
10732root           433   433 therm_core:noti
10733root           434   434 therm_core:noti
10734root           435   435 therm_core:noti
10735root           436   436 therm_core:noti
10736root           437   437 therm_core:noti
10737root           438   438 therm_core:noti
10738root           439   439 irq/63-tsens_in
10739root           440   440 irq/64-tsens_cr
10740root           441   441 therm_core:noti
10741root           442   442 irq/366-limits_
10742root           443   443 therm_core:noti
10743root           444   444 irq/367-limits_
10744root           445   445 dm_bufio_cache
10745root           446   446 cfinteractive
10746root           447   447 irq/291-bcm1560
10747root           448   448 irq/226-bcm1560
10748root           449   449 therm_core:noti
10749root           451   451 irq/197-spdm_bw
10750root           452   452 binder
10751root           453   453 irq/144-arm-smm
10752root           454   454 uaudio_svc
10753root           455   455 qmi_hndl0000000
10754root           456   456 ipv6_addrconf
10755root           458   458 irq/574-adsp
10756root           459   459 sysmon_wq
10757root           460   460 irq/606-slpi
10758root           461   461 irq/542-modem
10759root           465   465 usb_bam_wq
10760root           466   466 irq/19-sig-tx
10761root           467   467 irq/20-sig-rx
10762root           468   468 irq/22-msg-rx
10763root           469   469 usbpd0
10764root           470   470 usbpd0
10765root           471   471 therm_core:noti
10766root           472   472 irq/734-soc-upd
10767root           473   473 irq/735-soc-rea
10768root           474   474 irq/736-bsoc-de
10769root           475   475 irq/737-msoc-de
10770root           476   476 irq/738-msoc-lo
10771root           477   477 irq/739-msoc-em
10772root           478   478 irq/740-msoc-hi
10773root           479   479 irq/741-msoc-fu
10774root           480   480 irq/742-vbatt-p
10775root           481   481 irq/743-vbatt-l
10776root           482   482 irq/744-esr-del
10777root           483   483 irq/745-batt-mi
10778root           484   484 irq/746-batt-te
10779root           485   485 irq/747-ima-rdy
10780root           486   486 irq/748-mem-xcp
10781root           487   487 irq/749-dma-gra
10782root           489   489 irq/54-hs_phy_i
10783root           490   490 irq/55-ss_phy_i
10784root           491   491 irq/56-msm_dwc3
10785root           494   494 irq/36-ARM64 pr
10786root           495   495 irq/37-ARM64 se
10787root           496   496 irq/39-ARM64 pr
10788root           497   497 irq/40-ARM64 se
10789root           498   498 rq_stats
10790root           499   499 irq/145-arm-smm
10791root           500   500 irq/146-arm-smm
10792root           501   501 irq/147-arm-smm
10793root           502   502 irq/148-arm-smm
10794root           503   503 irq/149-arm-smm
10795root           504   504 irq/150-arm-smm
10796root           505   505 irq/151-arm-smm
10797root           506   506 irq/152-arm-smm
10798root           507   507 set_state_work
10799root           508   508 irq/227-mnh-rea
10800root           510   510 irq/751-mnh_pci
10801root           511   511 irq/752-mnh_pci
10802root           512   512 irq/753-mnh_pci
10803root           513   513 irq/754-mnh_pci
10804root           514   514 irq/755-mnh_pci
10805root           515   515 irq/758-mnh_pci
10806root           516   516 irq/759-mnh_pci
10807root           517   517 irq/128-arm-smm
10808root           518   518 sb-1
10809root           519   519 ngd_rx_thread1
10810root           520   520 ngd_notify_sl1
10811root           521   521 sb-3
10812root           522   522 ngd_rx_thread3
10813root           523   523 ngd_notify_sl3
10814root           525   525 therm_core:noti
10815root           526   526 therm_core:noti
10816root           527   527 therm_core:noti
10817root           528   528 irq/66-lmh-inte
10818root           529   529 irq/28-qpnp_fla
10819root           530   530 irq/27-qpnp_fla
10820root           531   531 irq/26-qpnp_fla
10821root           532   532 kworker/6:1H
10822root           533   533 kworker/5:1H
10823root           534   534 kworker/7:1H
10824root           535   535 ext4-rsv-conver
10825root           536   536 kworker/4:1H
10826root           537   537 jbd2/sdd3-8
10827root           538   538 ext4-rsv-conver
10828root           539   539 ext4-rsv-conver
10829root           542   542 init
10830root           543   543 ueventd
10831root           545   545 kworker/0:1H
10832root           550   550 irq/760-synapti
10833root           551   551 dsx_rebuild_wor
10834root           552   552 dsx_exp_workque
10835root           556   556 batt_timer
10836system         566   566 qseecomd
10837root           567   567 sugov:0
10838root           568   568 sugov:4
10839system         570   570 hwservicemanage
10840logd           571   571 logd
10841logd           571   576 logd.daemon
10842logd           571   581 logd.reader
10843logd           571   582 logd.writer
10844logd           571   583 logd.control
10845logd           571   602 logd.klogd
10846logd           571   603 logd.auditd
10847logd           571   974 logd.reader.per
10848system         572   572 servicemanager
10849system         573   573 vndservicemanag
10850system         574   574 qseecomd
10851system         574   575 qseecomd
10852system         574   577 qseecomd
10853system         574   578 qseecomd
10854system         574   579 qseecomd
10855system         574   580 qseecomd
10856root           584   584 kauditd
10857root           586   586 boot@1.0-servic
10858system         587   587 gatekeeper@1.0-
10859system         588   588 keyprimary@3.0-s
10860system         589   589 keyprimary@4.0-s
10861system         589   604 HwBinder:589_1
10862system         591   591 surfaceflinger
10863system         591   620 HwBinder:591_1
10864system         591   623 Binder:591_1
10865system         591   624 Binder:591_2
10866system         591   625 DispSync
10867system         591   626 appEventThread
10868system         591   627 sfEventThread
10869system         591   664 VrEvent
10870system         591   666 VrHwcPost
10871system         591   667 VrDispatch
10872system         591   668 surfaceflinger
10873system         591  1218 Binder:591_3
10874system         591  1671 Binder:591_4
10875system         591  1775 Binder:591_5
10876system         593   593 composer@2.1-se
10877system         593   608 Binder:593_1
10878system         593   609 Binder:593_2
10879system         593   634 SDM_EventThread
10880system         593   649 android.hardwar
10881system         593   651 HWC_UeventThrea
10882system         593   656 HwBinder:593_1
10883system         593   657 HwBinder:593_2
10884system         593   665 HwBinder:593_3
10885system         594   594 configstore@1.0
10886system         594   622 HwBinder:594_1
10887system         594  7100 HwBinder:594_2
10888system         595   595 allocator@2.0-s
10889system         595   610 HwBinder:595_1
10890system         595  1778 HwBinder:595_2
10891system         595  1779 HwBinder:595_3
10892root           612   612 jbd2/sda45-8
10893root           613   613 ext4-rsv-conver
10894system         616   616 time_daemon
10895system         616   629 time_daemon
10896system         616   630 time_daemon
10897system         616   631 time_daemon
10898system         616   632 time_daemon
10899system         616   633 time_daemon
10900system         616  1267 time_daemon
10901root           617   617 Binder:617_2
10902root           617   637 Binder:617_1
10903root           617   638 Binder:617_2
10904root           617   639 Binder:617_3
10905root           617   640 Binder:617_4
10906root           617   641 HwBinder:617_1
10907root           617  1439 Binder:617_5
10908root           619   619 mdss_fb0
10909root           635   635 irq/177-arm-smm
10910root           636   636 irq/178-arm-smm
10911root           642   642 dsps_IPCRTR
10912root           643   643 fwu_workqueue
10913root           647   647 lpass_IPCRTR
10914root           648   648 qmi_hndl0000000
10915root           663   663 kworker/2:1H
10916root           671   671 kworker/u16:7
10917root           672   672 qmi_hndl0000000
10918root           673   673 msm_slim_qmi_cl
10919root           674   674 msm_slim_qmi_cl
10920root           675   675 qmi_hndl0000000
10921root           676   676 qmi_hndl0000000
10922root           678   678 irq/153-arm-smm
10923root           685   685 Binder:685_2
10924root           685   695 netd
10925root           685   706 netd
10926root           685   707 netd
10927root           685   708 netd
10928root           685   709 netd
10929root           685   710 netd
10930root           685   711 netd
10931root           685   712 netd
10932root           685   713 netd
10933root           685   715 Binder:685_1
10934root           685   716 Binder:685_2
10935root           685   717 HwBinder:685_1
10936root           693   693 iptables-restor
10937root           694   694 ip6tables-resto
10938root           702   702 main
10939root           702 26649 ReferenceQueueD
10940root           702 26650 FinalizerDaemon
10941root           702 26651 FinalizerWatchd
10942root           702 26652 HeapTaskDaemon
10943root           703   703 main
10944root           703 26533 ReferenceQueueD
10945root           703 26534 FinalizerDaemon
10946root           703 26535 FinalizerWatchd
10947root           703 26536 HeapTaskDaemon
10948root           704   704 cds_recovery_wo
10949root           705   705 wlan_logging_th
10950root           722   722 at_usb0
10951root           723   723 at_usb1
10952root           724   724 qdss
10953root           729   729 healthd
10954root           730   730 thermal-engine
10955root           730   747 HwBinder:730_1
10956root           730   750 thermal-engine
10957root           730   753 thermal-engine
10958root           730   757 thermal-engine
10959root           730   758 thermal-engine
10960root           730   762 thermal-engine
10961root           730   763 thermal-engine
10962root           730   764 thermal-engine
10963root           730   766 thermal-engine
10964root           730   768 thermal-engine
10965root           730   769 thermal-engine
10966root           730   770 thermal-engine
10967root           730   771 thermal-engine
10968root           730   772 thermal-engine
10969root           730   774 thermal-engine
10970root           730   775 thermal-engine
10971root           730   776 thermal-engine
10972root           730   777 thermal-engine
10973root           730   779 thermal-engine
10974root           730   780 thermal-engine
10975root           730   782 thermal-engine
10976root           730   783 thermal-engine
10977root           730   784 thermal-engine
10978root           730   785 thermal-engine
10979root           730   786 thermal-engine
10980root           730   788 thermal-engine
10981root           730   789 thermal-engine
10982root           730   790 thermal-engine
10983root           730   791 thermal-engine
10984root           730   792 thermal-engine
10985root           730   794 thermal-engine
10986root           730   795 thermal-engine
10987root           730   796 thermal-engine
10988root           730   797 thermal-engine
10989root           730   798 thermal-engine
10990root           730   799 thermal-engine
10991root           730   800 thermal-engine
10992root           730   801 thermal-engine
10993root           730   803 thermal-engine
10994root           730   804 thermal-engine
10995root           730   805 thermal-engine
10996root           730   806 thermal-engine
10997root           730   808 thermal-engine
10998root           730   809 thermal-engine
10999root           730   810 thermal-engine
11000root           730   811 thermal-engine
11001root           730   814 thermal-engine
11002root           730   815 thermal-engine
11003root           730   817 thermal-engine
11004root           730   818 thermal-engine
11005root           730   820 thermal-engine
11006root           730   821 thermal-engine
11007root           730   822 thermal-engine
11008root           730   823 thermal-engine
11009root           730   824 thermal-engine
11010root           730   832 thermal-engine
11011root           730   833 thermal-engine
11012root           730   834 thermal-engine
11013root           730   839 thermal-engine
11014root           730   840 thermal-engine
11015root           730   841 thermal-engine
11016root           730   842 thermal-engine
11017root           730   843 thermal-engine
11018root           730  1244 thermal-engine
11019root           730  1245 thermal-engine
11020system         731   731 allocator@1.0-s
11021system         732   732 vr_hwc
11022system         732   765 Binder:732_1
11023system         732   767 HwBinder:732_1
11024system         732   781 Binder:732_2
11025audioserver    733   733 audio@2.0-servi
11026audioserver    733  1111 audio@2.0-servi
11027audioserver    733  1118 audio@2.0-servi
11028audioserver    733  1119 HwBinder:733_1
11029audioserver    733  1164 HwBinder:733_1
11030audioserver    733  1165 HwBinder:733_2
11031audioserver    733  1347 HwBinder:733_3
11032audioserver    733  2714 HwBinder:733_4
11033audioserver    733  2763 writer
11034audioserver    733 11695 HwBinder:733_5
11035bluetooth      734   734 bluetooth@1.0-s
11036bluetooth      734   746 HwBinder:734_1
11037root           735   735 irq/254-wcd9xxx
11038cameraserver   736   736 provider@2.4-se
11039cameraserver   736  1989 HwBinder:736_1
11040cameraserver   736  1999 CAM_imgTh
11041cameraserver   736  2000 CAM_imgTh
11042cameraserver   736  2001 CAM_imgTh
11043cameraserver   736  2002 CAM_imgTh
11044cameraserver   736  2003 CAM_imgTh
11045cameraserver   736  2004 CAM_imgTh
11046cameraserver   736  2005 CAM_imgTh
11047cameraserver   736  2006 CAM_imgTh
11048cameraserver   736  2007 CAM_imgTh
11049cameraserver   736  2008 CAM_imgTh
11050cameraserver   736  2009 CAM_imgTh
11051cameraserver   736  2010 CAM_imgTh
11052cameraserver   736  2011 CAM_imgTh
11053cameraserver   736  2012 CAM_imgTh
11054cameraserver   736  2013 CAM_imgTh
11055cameraserver   736  2014 CAM_imgTh
11056cameraserver   736  2015 CAM_imgTh
11057cameraserver   736  2016 CAM_imgTh
11058cameraserver   736  2017 CAM_imgTh
11059cameraserver   736  2018 CAM_imgTh
11060cameraserver   736  2030 android.hardwar
11061cameraserver   736  2048 CAM_gyro_sens
11062cameraserver   736  2101 HwBinder:736_1
11063cameraserver   736 14831 HwBinder:736_2
11064cameraserver   736 14832 HwBinder:736_3
11065cameraserver   736 14856 CAM_startsensor
11066cameraserver   736 14857 CAM_startsensor
11067cameraserver   736 21484 HwBinder:736_4
11068media          737   737 cas@1.0-service
11069media          737 23185 HwBinder:737_1
11070media          737 23186 HwBinder:737_2
11071system         738   738 contexthub@1.0-
11072system         738   754 android.hardwar
11073media          739   739 drm@1.0-service
11074media          739   846 HwBinder:739_1
11075media          739 23188 HwBinder:739_2
11076media          739 23190 HwBinder:739_3
11077media          740   740 drm@1.0-service
11078media          740 23189 HwBinder:740_1
11079media          740 23191 HwBinder:740_2
11080media          741   741 drm@1.1-service
11081media          741 23187 HwBinder:741_1
11082media          741 23192 HwBinder:741_2
11083media          741 23193 HwBinder:741_3
11084media          741 23194 HwBinder:741_4
11085system         742   742 dumpstate@1.0-s
11086gps            743   743 gnss@1.0-servic
11087gps            743  1563 Loc_hal
11088gps            743  1614 Loc_hal
11089gps            743  1617 Loc_hal
11090gps            743  1620 Loc_hal
11091gps            743  1630 Loc_hal
11092gps            743  1634 Loc_hal
11093gps            743  1635 Loc_hal
11094gps            743  1637 Loc_hal
11095gps            743  1638 Loc_hal
11096system         744   744 health@2.0-serv
11097system         745   745 light@2.0-servi
11098system         748   748 memtrack@1.0-se
11099system         756   756 neuralnetworks@
11100system         756 23195 HwBinder:756_1
11101system         756 23196 HwBinder:756_2
11102nfc            759   759 nfc@1.0-service
11103system         760   760 oemlock@1.0-ser
11104root           761   761 oemlock-bridge
11105system         773   773 power@1.2-servi
11106system         773   844 NodeLooperThrea
11107system         773   845 android.hardwar
11108system         778   778 sensors@1.0-ser
11109system         778   857 android.hardwar
11110system         778   858 android.hardwar
11111system         778   863 android.hardwar
11112system         778   981 android.hardwar
11113system         778   983 android.hardwar
11114system         778   984 android.hardwar
11115system         778   989 android.hardwar
11116system         778   999 android.hardwar
11117system         778  1000 android.hardwar
11118system         778  1001 android.hardwar
11119system         778  1003 android.hardwar
11120system         778  1004 android.hardwar
11121system         778  1013 android.hardwar
11122system         778  1015 android.hardwar
11123system         778  1022 android.hardwar
11124system         778  1023 android.hardwar
11125system         778  1034 android.hardwar
11126system         778  1035 android.hardwar
11127system         778  1044 android.hardwar
11128system         778  1045 android.hardwar
11129system         778  1048 android.hardwar
11130system         778  1049 android.hardwar
11131system         778  1050 android.hardwar
11132system         778  1051 android.hardwar
11133system         778  1057 android.hardwar
11134system         778  1058 android.hardwar
11135system         778  1060 android.hardwar
11136system         778  1061 android.hardwar
11137system         778  1062 android.hardwar
11138system         778  1063 android.hardwar
11139system         778  1067 android.hardwar
11140system         778  1068 android.hardwar
11141system         778  1073 android.hardwar
11142system         778  1074 android.hardwar
11143system         778  1076 android.hardwar
11144system         778  1077 android.hardwar
11145system         778  1078 android.hardwar
11146system         778  1079 android.hardwar
11147system         778  1083 android.hardwar
11148system         778  1084 android.hardwar
11149system         778  1086 android.hardwar
11150system         778  1087 HwBinder:778_1
11151system         778  1308 sensors@1.0-ser
11152system         778  1309 sensors@1.0-ser
11153system         778  1310 sensors@1.0-ser
11154root           787   787 usb@1.1-service
11155root           787   957 HwBinder:787_1
11156root           787   966 usb@1.1-service
11157root           787  1355 usb@1.1-service
11158system         793   793 vibrator@1.2-se
11159system         802   802 vr@1.0-service.
11160wifi           807   807 offload@1.0-ser
11161wifi           807   855 android.hardwar
11162wifi           812   812 android.hardwar
11163ese            813   813 esed
11164root           816   816 msm_irqbalance
11165system         819   819 pm-service
11166system         819   851 POSIX timer 0
11167system         819   852 POSIX timer 1
11168system         819   853 POSIX timer 2
11169system         819   860 pm-service
11170system         819   861 Binder:819_1
11171system         819   866 Binder:819_2
11172system         819   949 Binder:819_3
11173system         819   960 Binder:819_4
11174system         825   825 sensors.qcom
11175system         825   856 sensors.qcom
11176system         825   864 sensors.qcom
11177system         825   868 sensors.qcom
11178system         825   875 sensors.qcom
11179system         825   876 sensors.qcom
11180system         825   877 sensors.qcom
11181system         825   878 sensors.qcom
11182system         825   880 sensors.qcom
11183system         825   881 sensors.qcom
11184system         825   979 sensors.qcom
11185system         825   980 sensors.qcom
11186nobody         827   827 rmt_storage
11187nobody         827  1205 rmt_storage
11188nobody         827  1206 rmt_storage
11189nobody         827  1207 rmt_storage
11190nobody         827  1208 rmt_storage
11191system         828   828 tftp_server
11192system         829   829 pd-mapper
11193system         829   862 pd-mapper
11194audioserver    830   830 audioserver
11195audioserver    830   977 HwBinder:830_1
11196audioserver    830   988 HwBinder:830_2
11197audioserver    830  1121 ApmTone
11198audioserver    830  1122 ApmAudio
11199audioserver    830  1123 ApmOutput
11200audioserver    830  1124 Binder:830_1
11201audioserver    830  1125 Binder:830_2
11202audioserver    830  1166 HwBinder:830_3
11203audioserver    830  1167 FastMixer
11204audioserver    830  1168 AudioOut_D
11205audioserver    830  1169 FastMixer
11206audioserver    830  1170 AudioOut_15
11207audioserver    830  1171 AudioOut_1D
11208audioserver    830  1172 FastMixer
11209audioserver    830  1173 AudioOut_25
11210audioserver    830  1174 AudioOut_2D
11211audioserver    830  1175 FastMixer
11212audioserver    830  1176 AudioOut_35
11213audioserver    830  1274 soundTrigger cb
11214audioserver    830  1488 Binder:830_3
11215audioserver    830  2212 Binder:830_4
11216audioserver    830  4011 Binder:830_5
11217audioserver    830 12424 Binder:830_6
11218audioserver    830 27475 Binder:830_7
11219audioserver    830  8696 Binder:830_8
11220audioserver    830 11301 Binder:830_9
11221audioserver    830 14272 Binder:830_A
11222audioserver    830  6771 Binder:830_B
11223audioserver    830  2083 Binder:830_C
11224system         831   831 bufferhubd
11225root           835   835 lmkd
11226system         836   836 performanced
11227system         837   837 thermalserviced
11228system         837   867 HwBinder:837_1
11229system         837   869 HwBinder:837_2
11230system         838   838 Binder:838_2
11231system         838   850 Binder:838_1
11232root           854   854 msm_thermal:fre
11233root           859   859 msm_thermal:the
11234root           865   865 qmi_hndl0000000
11235root           873   873 modem
11236system         874   874 pm-proxy
11237system         874   886 Binder:874_1
11238system         874   887 Binder:874_2
11239system         874   888 Binder:874_3
11240root           879   879 subsystem_ramdu
11241nobody         882   882 traced
11242nobody         883   883 traced_probes
11243media          884   884 adsprpcd
11244media          884   910 adsprpcd
11245media          884   913 adsprpcd
11246system         885   885 imsqmidaemon
11247system         885   894 imsqmidaemon
11248radio          890   890 cnd
11249radio          890   939 cnd
11250radio          890   946 HwBinder:890_1
11251radio          890   947 cnd
11252radio          890  1268 cnd
11253radio          890  1292 cnd
11254root           892   892 kworker/3:1H
11255radio          893   893 netmgrd
11256root           893   944 netmgrd
11257radio          893   965 netmgrd
11258radio          893   972 HwBinder:893_1
11259radio          893  1007 netmgrd
11260radio          893  1008 netmgrd
11261radio          893  1009 netmgrd
11262radio          893  1149 netmgrd
11263radio          893  1150 netmgrd
11264radio          893  1269 netmgrd
11265radio          893  1375 netmgrd
11266radio          893  1378 netmgrd
11267radio          893  1379 netmgrd
11268radio          893  1380 netmgrd
11269radio          893  1395 netmgrd
11270radio          893  1396 netmgrd
11271radio          893  1398 netmgrd
11272radio          893  1399 netmgrd
11273radio          893  1415 netmgrd
11274radio          893  1416 netmgrd
11275radio          893  1417 netmgrd
11276radio          893  1418 netmgrd
11277radio          893  1429 netmgrd
11278radio          893  1430 netmgrd
11279radio          893  1431 netmgrd
11280radio          893  1433 netmgrd
11281radio          893  1509 netmgrd
11282radio          893  1517 netmgrd
11283radio          893  1520 netmgrd
11284radio          893  1521 netmgrd
11285radio          893  1602 netmgrd
11286radio          893  1603 netmgrd
11287radio          893  1619 netmgrd
11288radio          893  1621 netmgrd
11289radio          893  1622 netmgrd
11290radio          893  1723 netmgrd
11291radio          893  1726 netmgrd
11292radio          893  1729 netmgrd
11293radio          893  1730 netmgrd
11294radio          893  1819 netmgrd
11295radio          893  1829 netmgrd
11296radio          893  1831 netmgrd
11297radio          893  1886 netmgrd
11298radio          893  1893 netmgrd
11299radio          893  1894 netmgrd
11300radio          893  1895 netmgrd
11301radio          893  1896 netmgrd
11302radio          893  1898 netmgrd
11303radio          893  1900 netmgrd
11304radio          893  1902 netmgrd
11305radio          893  1903 netmgrd
11306radio          893  1906 netmgrd
11307radio          893  1907 netmgrd
11308radio          893  1908 netmgrd
11309radio          893  1909 netmgrd
11310radio          893  1917 netmgrd
11311radio          893  1920 netmgrd
11312radio          893  1921 netmgrd
11313radio          893  1922 netmgrd
11314radio          893  1927 netmgrd
11315radio          893  1928 netmgrd
11316radio          893  1929 netmgrd
11317radio          893  1930 netmgrd
11318radio          893  1940 netmgrd
11319radio          893  1945 netmgrd
11320radio          893  1946 netmgrd
11321radio          893  1947 netmgrd
11322radio          893  1955 netmgrd
11323radio          893  1956 netmgrd
11324radio          893  1957 netmgrd
11325radio          893  1958 netmgrd
11326radio          893  1972 netmgrd
11327radio          893  1973 netmgrd
11328radio          893  1974 netmgrd
11329radio          893  1975 netmgrd
11330radio          893  1978 netmgrd
11331radio          893  1979 netmgrd
11332radio          893  1980 netmgrd
11333radio          893  1981 netmgrd
11334radio          897   897 port-bridge
11335radio          897   915 port-bridge
11336radio          897   916 port-bridge
11337radio          898   898 ipacm
11338radio          898   951 HwBinder:898_1
11339radio          898   952 ipacm
11340radio          898   953 netlink socket
11341radio          898   954 ipa driver ntfy
11342radio          899   899 qti
11343radio          899   928 qti
11344radio          899  3064 qti
11345radio          899  3065 qti
11346radio          899  3066 qti
11347cameraserver   900   900 cameraserver
11348cameraserver   900  1018 HwBinder:900_1
11349cameraserver   900  1043 HwBinder:900_2
11350cameraserver   900  2100 HwBinder:900_3
11351cameraserver   900  2102 Binder:900_1
11352cameraserver   900  2177 Binder:900_2
11353cameraserver   900 14917 Binder:900_3
11354cameraserver   900 14918 Binder:900_4
11355cameraserver   900 14976 Binder:900_5
11356cameraserver   900 20996 Binder:900_6
11357cameraserver   900 16659 Binder:900_7
11358cameraserver   900 22046 Binder:900_8
11359drm            901   901 drmserver
11360drm            901  1024 Binder:901_1
11361drm            901  8440 Binder:901_2
11362incidentd      902   902 Binder:902_2
11363incidentd      902   933 Binder:902_1
11364incidentd      902   936 Binder:902_3
11365root           903   903 Binder:903_2
11366root           903   931 Binder:903_1
11367root           903  1263 Binder:903_3
11368root           903  1287 Binder:903_4
11369root           903  1301 Binder:903_5
11370root           903  1354 Binder:903_6
11371root           903  5120 Binder:903_7
11372root           903  5197 Binder:903_8
11373root           903  5243 Binder:903_9
11374root           903 11678 Binder:903_A
11375root           903 12088 Binder:903_B
11376keystore       904   904 keystore
11377keystore       904   997 HwBinder:904_1
11378media          905   905 mediadrmserver
11379media          905   945 Binder:905_1
11380mediaex        906   906 mediaextractor
11381mediaex        906  1052 Binder:906_1
11382mediaex        906  1977 Binder:906_2
11383mediaex        906  3987 Binder:906_3
11384mediaex        906  1985 Binder:906_4
11385mediaex        906 14515 Binder:906_5
11386mediaex        906 26203 Binder:906_6
11387mediaex        906 12336 Binder:906_7
11388media          907   907 mediametrics
11389media          907  1053 Binder:907_1
11390media          907 14381 Binder:907_2
11391media          907 14382 Binder:907_3
11392media          908   908 mediaserver
11393media          908  1065 Binder:908_1
11394media          908  1518 HwBinder:908_1
11395media          908  1771 Binder:908_2
11396media          908  1772 Binder:908_3
11397media          908  2569 MediaClock
11398media          908  2570 NuPlayerDriver
11399media          908  2572 generic
11400media          908  2704 NuPlayerRendere
11401media          908  2705 NPDecoder
11402media          908  2706 NPDecoder-CL
11403media          908 18653 Binder:908_4
11404media          908 25126 Binder:908_5
11405media          908 28451 Binder:908_6
11406statsd         909   909 Binder:909_2
11407statsd         909   961 Binder:909_1
11408statsd         909   962 Binder:909_2
11409statsd         909   970 Binder:909_3
11410root           911   911 storaged
11411root           911  1036 storaged
11412root           911  1037 Binder:911_1
11413root           911  1038 HwBinder:911_1
11414wifi           912   912 wificond
11415mediacodec     914   914 omx@1.0-service
11416mediacodec     914  1064 Binder:914_1
11417mediacodec     914  1066 Binder:914_2
11418mediacodec     914  1090 HwBinder:914_1
11419mediacodec     914  1091 HwBinder:914_2
11420mediacodec     914  1875 HwBinder:914_2
11421mediacodec     914  1876 HwBinder:914_2
11422mediacodec     914  1970 HwBinder:914_3
11423mediacodec     914  2707 .vorbis.decoder
11424mediacodec     914  2708 OMXCallbackDisp
11425mediacodec     914  2764 HwBinder:914_4
11426mediacodec     914 27073 HwBinder:914_5
11427mediacodec     914 27076 HwBinder:914_6
11428mediacodec     914 27078 HwBinder:914_7
11429mediacodec     914 14333 HwBinder:914_8
11430mediacodec     914 14409 HwBinder:914_9
11431mediacodec     914 14511 HwBinder:914_A
11432mediacodec     914  6795 HwBinder:914_B
11433mediacodec     914  6858 HwBinder:914_C
11434mediacodec     914 14972 HwBinder:914_D
11435mediacodec     914 26212 HwBinder:914_E
11436mediacodec     914 32727 HwBinder:914_F
11437mediacodec     914   332 HwBinder:914_10
11438mediacodec     914 15944 HwBinder:914_11
11439mediacodec     914 15945 HwBinder:914_12
11440mediacodec     914  2823 HwBinder:914_13
11441radio          917   917 rild
11442radio          917  1046 rild
11443radio          917  1055 rild
11444radio          917  1210 Binder:917_1
11445radio          917  1213 rild
11446radio          917  1215 Binder:917_2
11447radio          917  1221 rild
11448radio          917  1222 rild
11449radio          917  1223 HwBinder:917_1
11450radio          917  1224 rild
11451radio          917  1225 rild
11452radio          917  1226 rild
11453radio          917  1228 rild
11454radio          917  1229 rild
11455radio          917  1230 rild
11456radio          917  1231 rild
11457radio          917  1321 rild
11458radio          917  1322 rild
11459radio          917  1323 rild
11460radio          917  1324 rild
11461radio          917  1325 rild
11462radio          917  1326 rild
11463radio          917  1329 rild
11464radio          917  1330 rild
11465radio          917  1332 rild
11466radio          917  1334 rild
11467radio          917  1336 rild
11468radio          917  1349 rild
11469radio          917  1351 rild
11470radio          917  1358 rild
11471radio          917  1360 rild
11472radio          917  1362 rild
11473radio          917  1363 rild
11474radio          917  1364 rild
11475radio          917  1366 rild
11476radio          917  1368 rild
11477radio          917  1369 rild
11478radio          917  1370 rild
11479radio          917  1371 rild
11480radio          917  1373 rild
11481radio          917  1374 rild
11482radio          917  1377 rild
11483system         920   920 folio_daemon
11484root           921   921 ipawq15
11485root           922   922 iparepwq15
11486system         923   923 cnss-daemon
11487system         923   963 cnss-daemon
11488system         923   964 cnss-daemon
11489system         923  1209 Binder:923_1
11490system         923  1212 cnss-daemon
11491system         923  1214 Binder:923_2
11492system         923  1307 cnss-daemon
11493system         923  3731 cnss-daemon
11494gps            924   924 loc_launcher
11495gps            924   955 loc_launcher
11496system         925   925 chre
11497system         925   968 chre
11498system         925   975 chre
11499system         925   976 chre
11500system         925  1189 chre
11501system         925  1190 chre
11502system         926   926 gatekeeperd
11503system         926   987 HwBinder:926_1
11504root           927   927 Binder:927_2
11505root           927   986 Binder:927_1
11506tombstoned     929   929 tombstoned
11507root           932   932 update_engine
11508root           932  1006 HwBinder:932_1
11509system         935   935 fingerprint@2.1
11510system         935  1136 android.hardwar
11511system         935  1137 android.hardwar
11512system         935  1139 HwBinder:935_1
11513root           938   938 ipawq48
11514root           942   942 iparepwq48
11515system         950   950 imsdatadaemon
11516system         950  1019 imsdatadaemon
11517system         950  1040 imsdatadaemon
11518system         950  1041 imsdatadaemon
11519system         950  1042 imsdatadaemon
11520system         950  1270 imsdatadaemon
11521system         950  1290 imsdatadaemon
11522root           969   969 ipawq13
11523root           985   985 iparepwq13
11524root          1002  1002 ipa_A7_svc
11525root          1012  1012 qmi_hndl0000000
11526root          1016  1016 clnt_req
11527root          1017  1017 clnt_req
11528root          1021  1021 clnt_resp
11529root          1116  1116 wdsp_glink_wq
11530system        1151  1151 system_server
11531system        1151  1156 Signal Catcher
11532system        1151  1157 ADB-JDWP Connec
11533system        1151  1158 ReferenceQueueD
11534system        1151  1159 FinalizerDaemon
11535system        1151  1160 FinalizerWatchd
11536system        1151  1161 HeapTaskDaemon
11537system        1151  1162 Binder:1151_1
11538system        1151  1163 Binder:1151_2
11539system        1151  1184 android.bg
11540system        1151  1185 ActivityManager
11541system        1151  1186 android.ui
11542system        1151  1187 ActivityManager
11543system        1151  1188 ActivityManager
11544system        1151  1193 batterystats-wo
11545system        1151  1194 HwBinder:1151_1
11546system        1151  1195 FileObserver
11547system        1151  1196 android.fg
11548system        1151  1197 android.io
11549system        1151  1198 android.display
11550system        1151  1200 CpuTracker
11551system        1151  1203 PowerManagerSer
11552system        1151  1204 BatteryStats_wa
11553system        1151  1216 PackageManager
11554system        1151  1217 PackageManager
11555system        1151  1266 PackageInstalle
11556system        1151  1277 android.anim
11557system        1151  1278 android.anim.lf
11558system        1151  1281 HealthServiceRe
11559system        1151  1282 SensorEventAckR
11560system        1151  1283 SensorService
11561system        1151  1284 AccountManagerS
11562system        1151  1285 SettingsProvide
11563system        1151  1286 AlarmManager
11564system        1151  1289 window_tracing
11565system        1151  1295 UEventObserver
11566system        1151  1296 HwBinder:1151_2
11567system        1151  1297 InputDispatcher
11568system        1151  1298 InputReader
11569system        1151  1299 NetworkWatchlis
11570system        1151  1302 StorageManagerS
11571system        1151  1311 NetdConnector
11572system        1151  1313 NetworkStats
11573system        1151  1314 NetworkPolicy
11574system        1151  1315 tworkPolicy.uid
11575system        1151  1316 WifiService
11576system        1151  1317 WifiStateMachin
11577system        1151  1319 WifiScanningSer
11578system        1151  1320 WifiP2pService
11579system        1151  1327 ConnectivitySer
11580system        1151  1331 roid.pacmanager
11581system        1151  1333 NsdService
11582system        1151  1335 mDnsConnector
11583system        1151  1337 notification-sq
11584system        1151  1339 ranker
11585system        1151  1340 onProviders.ECP
11586system        1151  1341 DeviceStorageMo
11587system        1151  1346 AudioService
11588system        1151  1348 Binder:1151_3
11589system        1151  1352 HwBinder:1151_3
11590system        1151  1356 ConnectivityThr
11591system        1151  1357 pool-3-thread-1
11592system        1151  1359 GraphicsStats-d
11593system        1151  1361 SliceManagerSer
11594system        1151  1365 CameraService_p
11595system        1151  1393 SyncHandler-0
11596system        1151  1397 wifiRttService
11597system        1151  1400 wifiAwareServic
11598system        1151  1402 EthernetService
11599system        1151  1403 TaskSnapshotPer
11600system        1151  1405 PhotonicModulat
11601system        1151  1409 LazyTaskWriterT
11602system        1151  1434 Binder:1151_4
11603system        1151  1435 UsbService host
11604system        1151  1436 Thread-3
11605system        1151  1440 SoundPool
11606system        1151  1441 SoundPoolThread
11607system        1151  1444 NetworkStatsObs
11608system        1151  1480 watchdog
11609system        1151  1516 EmergencyAfford
11610system        1151  1560 NetworkTimeUpda
11611system        1151  1604 Binder:1151_5
11612system        1151  1613 Binder:1151_6
11613system        1151  1618 Binder:1151_7
11614system        1151  1623 Binder:1151_8
11615system        1151  1624 Binder:1151_9
11616system        1151  1752 BluetoothRouteM
11617system        1151  1753 AudioPortEventH
11618system        1151  1756 uteStateMachine
11619system        1151  1757 CallAudioModeSt
11620system        1151  1840 queued-work-loo
11621system        1151  1990 HwBinder:1151_4
11622system        1151  2049 hidl_ssvc_poll
11623system        1151  2103 UsbDebuggingMan
11624system        1151  2173 backup
11625system        1151  2478 Binder:1151_A
11626system        1151  2566 Binder:1151_B
11627system        1151  2568 Binder:1151_C
11628system        1151  2620 Binder:1151_D
11629system        1151  2875 AsyncQueryWorke
11630system        1151  3041 Binder:1151_E
11631system        1151  3581 Binder:1151_F
11632system        1151  3619 Binder:1151_10
11633system        1151  3622 Binder:1151_11
11634system        1151  3754 Binder:1151_12
11635system        1151  4982 Binder:1151_13
11636system        1151  4983 Binder:1151_14
11637system        1151  6432 HwBinder:1151_5
11638system        1151 11249 RenderThread
11639system        1151 17881 Binder:1151_15
11640system        1151 25177 Binder:1151_16
11641system        1151 30445 Binder:1151_17
11642system        1151  6644 Binder:1151_18
11643system        1151 13171 Binder:1151_19
11644system        1151 27982 Binder:1151_1A
11645system        1151  1345 Binder:1151_1B
11646system        1151 13277 Binder:1151_1C
11647system        1151 14267 Binder:1151_1D
11648system        1151 26698 Binder:1151_1E
11649system        1151 26712 Binder:1151_1F
11650system        1151 28773 Binder:1151_20
11651system        1151 26478 pool-4-thread-2
11652root          1199  1199 mpss_IPCRTR
11653root          1201  1201 qmi_hndl0000000
11654root          1202  1202 qmi_hndl0000000
11655root          1219  1219 irq/157-arm-smm
11656root          1220  1220 irq/162-arm-smm
11657root          1246  1246 qmi_hndl0000000
11658root          1304  1304 kworker/1:1H
11659root          1305  1305 qmi_hndl0000000
11660root          1382  1382 ipawq14
11661root          1383  1383 iparepwq14
11662root          1384  1384 ipawq49
11663root          1385  1385 iparepwq49
11664radio         1452  1452 le.modemservice
11665radio         1452  1465 Jit thread pool
11666radio         1452  1467 Signal Catcher
11667radio         1452  1468 ADB-JDWP Connec
11668radio         1452  1470 ReferenceQueueD
11669radio         1452  1472 FinalizerDaemon
11670radio         1452  1474 FinalizerWatchd
11671radio         1452  1476 HeapTaskDaemon
11672radio         1452  1479 Binder:1452_1
11673radio         1452  1481 Binder:1452_2
11674radio         1452  1535 Profile Saver
11675radio         1452  1549 Binder:1452_3
11676radio         1452  1552 ModemService
11677radio         1452  1559 queued-work-loo
11678u0_a68        1469  1469 ndroid.systemui
11679u0_a68        1469  1482 Jit thread pool
11680u0_a68        1469  1483 Signal Catcher
11681u0_a68        1469  1484 ADB-JDWP Connec
11682u0_a68        1469  1486 ReferenceQueueD
11683u0_a68        1469  1487 FinalizerDaemon
11684u0_a68        1469  1489 FinalizerWatchd
11685u0_a68        1469  1490 HeapTaskDaemon
11686u0_a68        1469  1491 Binder:1469_1
11687u0_a68        1469  1492 Binder:1469_2
11688u0_a68        1469  1499 Binder:1469_3
11689u0_a68        1469  1734 smartspace-back
11690u0_a68        1469  1758 pool-1-thread-1
11691u0_a68        1469  1764 SoundPool
11692u0_a68        1469  1765 SoundPoolThread
11693u0_a68        1469  1774 Recents-HighRes
11694u0_a68        1469  1780 Recents-TaskRes
11695u0_a68        1469  1783 recents.fg
11696u0_a68        1469  1789 async_sensor
11697u0_a68        1469  1805 VolumeDialogCon
11698u0_a68        1469  1808 Binder:1469_4
11699u0_a68        1469  1820 SysUiBg
11700u0_a68        1469  1853 queued-work-loo
11701u0_a68        1469  1862 RenderThread
11702u0_a68        1469  1868 ConnectivityThr
11703u0_a68        1469  1869 WifiTracker{9ff
11704u0_a68        1469  1874 TimeTick
11705u0_a68        1469  1911 Keyboard
11706u0_a68        1469  1965 HwBinder:1469_1
11707u0_a68        1469  1971 pool-3-thread-1
11708u0_a68        1469  1995 Binder:1469_5
11709u0_a68        1469  2029 pool-4-thread-1
11710u0_a68        1469  2057 hwuiTask1
11711u0_a68        1469  2058 Thread-2
11712u0_a68        1469  5522 Binder:1469_6
11713u0_a68        1469  6051 FlashlightContr
11714u0_a68        1469 10844 Binder:1469_7
11715u0_a68        1469 10845 Binder:1469_8
11716u0_a68        1469 11688 Binder:1469_9
11717u0_a68        1469 31390 Binder:1469_A
11718u0_a68        1469 21670 Binder:1469_B
11719u0_a68        1469 12671 Binder:1469_C
11720u0_a98        1529  1529 reel.wallpapers
11721u0_a98        1529  1541 Jit thread pool
11722u0_a98        1529  1542 Signal Catcher
11723u0_a98        1529  1544 ADB-JDWP Connec
11724u0_a98        1529  1545 ReferenceQueueD
11725u0_a98        1529  1546 FinalizerDaemon
11726u0_a98        1529  1547 FinalizerWatchd
11727u0_a98        1529  1548 HeapTaskDaemon
11728u0_a98        1529  1550 Binder:1529_1
11729u0_a98        1529  1551 Binder:1529_2
11730u0_a98        1529  1553 Binder:1529_3
11731u0_a98        1529  1592 Profile Saver
11732u0_a98        1529  1852 HwBinder:1529_1
11733u0_a98        1529  1854 GLThread 36
11734u0_a98        1529  1857 SoundPool
11735u0_a98        1529  1858 SoundPoolThread
11736u0_a98        1529  1867 AsynchExecutor-
11737u0_a98        1529  9851 Binder:1529_4
11738gps           1536  1536 lowi-server
11739gps           1536  1579 lowi-server
11740gps           1536  1580 lowi-server
11741gps           1536  1581 lowi-server
11742gps           1536  1582 lowi-server
11743gps           1538  1538 xtra-daemon
11744gps           1538  1600 pcid-lo
11745gps           1538  1606 pcid-lo
11746gps           1538  1608 pcid-lo
11747gps           1538  1610 pcid-lo
11748gps           1538  1615 LocTime
11749gps           1538  1616 LocTime
11750radio         1554  1554 .qcrilmsgtunnel
11751radio         1554  1564 Jit thread pool
11752radio         1554  1565 Signal Catcher
11753radio         1554  1566 ADB-JDWP Connec
11754radio         1554  1567 ReferenceQueueD
11755radio         1554  1568 FinalizerDaemon
11756radio         1554  1569 FinalizerWatchd
11757radio         1554  1570 HeapTaskDaemon
11758radio         1554  1571 Binder:1554_1
11759radio         1554  1572 Binder:1554_2
11760radio         1554  1649 Binder:1554_3
11761radio         1554  1677 Profile Saver
11762radio         1554  1695 HwBinder:1554_1
11763radio         1554  1714 queued-work-loo
11764system        1651  1651 .dataservices
11765system        1651  1657 Jit thread pool
11766system        1651  1658 Signal Catcher
11767system        1651  1659 ADB-JDWP Connec
11768system        1651  1660 ReferenceQueueD
11769system        1651  1661 FinalizerDaemon
11770system        1651  1662 FinalizerWatchd
11771system        1651  1663 HeapTaskDaemon
11772system        1651  1664 Binder:1651_1
11773system        1651  1665 Binder:1651_2
11774system        1651  1673 Binder:1651_3
11775system        1651  1718 Profile Saver
11776system        1651  1721 cneservice_thre
11777system        1651  1724 CNEReceiver
11778system        1651  1728 ConnectivityThr
11779system        1651  1731 MainEventThread
11780system        1651  1733 HwBinder:1651_1
11781system        1651  4118 queued-work-loo
11782radio         1666  1666 elephonyservice
11783radio         1666  1674 Jit thread pool
11784radio         1666  1675 Signal Catcher
11785radio         1666  1676 ADB-JDWP Connec
11786radio         1666  1684 ReferenceQueueD
11787radio         1666  1685 FinalizerDaemon
11788radio         1666  1686 FinalizerWatchd
11789radio         1666  1687 HeapTaskDaemon
11790radio         1666  1688 Binder:1666_1
11791radio         1666  1698 Binder:1666_2
11792radio         1666  1722 Profile Saver
11793radio         1666  2502 Binder:1666_3
11794radio         1666  2504 HwBinder:1666_1
11795radio         1666  2511 queued-work-loo
11796radio         1678  1678 m.android.phone
11797radio         1678  1694 Jit thread pool
11798radio         1678  1696 Signal Catcher
11799radio         1678  1697 ADB-JDWP Connec
11800radio         1678  1699 ReferenceQueueD
11801radio         1678  1700 FinalizerDaemon
11802radio         1678  1702 FinalizerWatchd
11803radio         1678  1703 HeapTaskDaemon
11804radio         1678  1704 Binder:1678_1
11805radio         1678  1706 Binder:1678_2
11806radio         1678  1719 Binder:1678_3
11807radio         1678  1737 Profile Saver
11808radio         1678  1806 HwBinder:1678_1
11809radio         1678  1834 EuiccConnector
11810radio         1678  1837 android.bg
11811radio         1678  1846 queued-work-loo
11812radio         1678  1860 GsmCellBroadcas
11813radio         1678  1861 GsmInboundSmsHa
11814radio         1678  1863 CellBroadcastHa
11815radio         1678  1864 CdmaInboundSmsH
11816radio         1678  1865 CdmaServiceCate
11817radio         1678  1871 DcHandlerThread
11818radio         1678  1877 Binder:1678_4
11819radio         1678  1881 ImsServiceContr
11820radio         1678  1882 NetworkService
11821radio         1678  1883 DataService
11822radio         1678  1899 org.codeaurora.
11823radio         1678  1901 ImsConfigImplHa
11824radio         1678  1937 CellularNetwork
11825radio         1678  1938 CellularDataSer
11826radio         1678  1943 Binder:1678_5
11827radio         1678  2876 ervice.Executor
11828radio         1678  2877 ConnectivityThr
11829radio         1678  4600 AudioTrack
11830radio         1678  4650 Binder:1678_6
11831radio         1678  4900 Binder:1678_7
11832radio         1678  4927 Binder:1678_8
11833radio         1678 21050 Binder:1678_9
11834radio         1678 23491 Binder:1678_A
11835radio         1678 28470 Binder:1678_B
11836radio         1678 18161 Binder:1678_C
11837radio         1678  5303 Binder:1678_D
11838u0_a24        1798  1798 id.ext.services
11839u0_a24        1798  1807 Jit thread pool
11840u0_a24        1798  1809 Signal Catcher
11841u0_a24        1798  1810 ADB-JDWP Connec
11842u0_a24        1798  1814 ReferenceQueueD
11843u0_a24        1798  1815 FinalizerDaemon
11844u0_a24        1798  1816 FinalizerWatchd
11845u0_a24        1798  1817 HeapTaskDaemon
11846u0_a24        1798  1818 Binder:1798_1
11847u0_a24        1798  1827 Binder:1798_2
11848u0_a24        1798  1830 Binder:1798_3
11849u0_a24        1798  1833 Binder:1798_4
11850u0_a24        1798  1838 Profile Saver
11851u0_a24        1798  2218 queued-work-loo
11852root          2107  2107 irq/35-1008000.
11853nfc           2195  2195 com.android.nfc
11854nfc           2195  2200 Jit thread pool
11855nfc           2195  2202 Signal Catcher
11856nfc           2195  2203 ADB-JDWP Connec
11857nfc           2195  2204 ReferenceQueueD
11858nfc           2195  2205 FinalizerDaemon
11859nfc           2195  2206 FinalizerWatchd
11860nfc           2195  2207 HeapTaskDaemon
11861nfc           2195  2208 Binder:2195_1
11862nfc           2195  2209 Binder:2195_2
11863nfc           2195  2220 Profile Saver
11864nfc           2195  2422 HwBinder:2195_1
11865nfc           2195  4468 Binder:2195_3
11866nfc           2195  4821 queued-work-loo
11867nfc           2195  4837 Binder:2195_4
11868nfc           2195  5207 Binder:2195_5
11869nfc           2195 11202 Binder:2195_6
11870nfc           2195 13475 Binder:2195_7
11871nfc           2195 23492 Binder:2195_8
11872nfc           2195  8048 Binder:2195_9
11873nfc           2195  9264 Binder:2195_A
11874nfc           2195 21748 Binder:2195_B
11875nfc           2195 26117 AsyncTask #454
11876nfc           2195 26428 AsyncTask #455
11877u0_a10        2213  2213 elligence.sense
11878u0_a10        2213  2219 Jit thread pool
11879u0_a10        2213  2221 Signal Catcher
11880u0_a10        2213  2222 ADB-JDWP Connec
11881u0_a10        2213  2223 ReferenceQueueD
11882u0_a10        2213  2225 FinalizerDaemon
11883u0_a10        2213  2228 FinalizerWatchd
11884u0_a10        2213  2231 HeapTaskDaemon
11885u0_a10        2213  2233 Binder:2213_1
11886u0_a10        2213  2234 Binder:2213_2
11887u0_a10        2213  2249 Binder:2213_3
11888u0_a10        2213  2286 Profile Saver
11889u0_a10        2213  2364 GoogleApiHandle
11890u0_a10        2213  2400 superpacks-cont
11891u0_a10        2213  2432 Background #0
11892u0_a10        2213  2434 Background #1
11893u0_a10        2213  2458 GAC_Executor[0]
11894u0_a10        2213  3350 Binder:2213_4
11895u0_a10        2213 26442 Primes-1
11896u0_a10        2213 26752 Primes-2
11897radio         2224  2224 .ims.rcsservice
11898radio         2224  2235 Jit thread pool
11899radio         2224  2236 Signal Catcher
11900radio         2224  2237 ADB-JDWP Connec
11901radio         2224  2238 ReferenceQueueD
11902radio         2224  2239 FinalizerDaemon
11903radio         2224  2240 FinalizerWatchd
11904radio         2224  2241 HeapTaskDaemon
11905radio         2224  2244 Binder:2224_1
11906radio         2224  2255 Binder:2224_2
11907radio         2224  2260 Binder:2224_3
11908radio         2224  2292 Profile Saver
11909radio         2224  2349 Listener
11910radio         2224  2390 queued-work-loo
11911radio         2224  2830 EABServiceHandl
11912radio         2224  3513 Binder:2224_4
11913radio         2224 28094 Binder:2224_5
11914system        2243  2243 RestartDetector
11915system        2243  2251 Jit thread pool
11916system        2243  2253 Signal Catcher
11917system        2243  2254 ADB-JDWP Connec
11918system        2243  2256 ReferenceQueueD
11919system        2243  2257 FinalizerDaemon
11920system        2243  2258 FinalizerWatchd
11921system        2243  2259 HeapTaskDaemon
11922system        2243  2261 Binder:2243_1
11923system        2243  2264 Binder:2243_2
11924system        2243  2303 Profile Saver
11925system        2243  3040 Binder:2243_3
11926system        2243  3042 FileObserver
11927system        2243  3043 queued-work-loo
11928u0_a19        2279  2279 s.nexuslauncher
11929u0_a19        2279  2291 Jit thread pool
11930u0_a19        2279  2293 Signal Catcher
11931u0_a19        2279  2294 ADB-JDWP Connec
11932u0_a19        2279  2295 ReferenceQueueD
11933u0_a19        2279  2296 FinalizerDaemon
11934u0_a19        2279  2297 FinalizerWatchd
11935u0_a19        2279  2299 HeapTaskDaemon
11936u0_a19        2279  2302 Binder:2279_1
11937u0_a19        2279  2304 Binder:2279_2
11938u0_a19        2279  2325 Binder:2279_3
11939u0_a19        2279  2345 Profile Saver
11940u0_a19        2279  2352 launcher-loader
11941u0_a19        2279  2353 UiThreadHelper
11942u0_a19        2279  2379 GAC_Executor[0]
11943u0_a19        2279  2380 GoogleApiHandle
11944u0_a19        2279  2402 pool-1-thread-1
11945u0_a19        2279  2405 Recents-HighRes
11946u0_a19        2279  2406 Recents-TaskRes
11947u0_a19        2279  2408 pool-3-thread-1
11948u0_a19        2279  2431 qsb-experiments
11949u0_a19        2279  2456 magnifier pixel
11950u0_a19        2279  2477 smartspace-load
11951u0_a19        2279  2500 reflection-thre
11952u0_a19        2279  2505 GAC_Executor[1]
11953u0_a19        2279  2506 RenderThread
11954u0_a19        2279  2535 remote-ui
11955u0_a19        2279  2558 HwBinder:2279_1
11956u0_a19        2279  2578 file-logger
11957u0_a19        2279  2581 queued-work-loo
11958u0_a19        2279 10277 Binder:2279_4
11959u0_a19        2279 26790 Binder:2279_5
11960u0_a19        2279  4129 Binder:2279_6
11961u0_a125       2305  2305 oogle.vr.vrcore
11962u0_a125       2305  2311 Jit thread pool
11963u0_a125       2305  2312 Signal Catcher
11964u0_a125       2305  2315 ADB-JDWP Connec
11965u0_a125       2305  2318 ReferenceQueueD
11966u0_a125       2305  2320 FinalizerDaemon
11967u0_a125       2305  2321 FinalizerWatchd
11968u0_a125       2305  2322 HeapTaskDaemon
11969u0_a125       2305  2324 Binder:2305_1
11970u0_a125       2305  2326 Binder:2305_2
11971u0_a125       2305  2329 Binder:2305_3
11972u0_a125       2305  2377 Profile Saver
11973u0_a125       2305  2403 GAC_Executor[0]
11974u0_a125       2305  2411 GAC_Executor[1]
11975u0_a125       2305  2437 queued-work-loo
11976u0_a56        2332  2332 ps.pixelmigrate
11977u0_a56        2332  2338 Jit thread pool
11978u0_a56        2332  2339 Signal Catcher
11979u0_a56        2332  2340 ADB-JDWP Connec
11980u0_a56        2332  2341 ReferenceQueueD
11981u0_a56        2332  2342 FinalizerDaemon
11982u0_a56        2332  2343 FinalizerWatchd
11983u0_a56        2332  2344 HeapTaskDaemon
11984u0_a56        2332  2346 Binder:2332_1
11985u0_a56        2332  2358 Binder:2332_2
11986u0_a56        2332  2428 Profile Saver
11987u0_a56        2332  2472 pool-1-thread-1
11988u0_a56        2332  2544 queued-work-loo
11989u0_a56        2332  2695 Binder:2332_3
11990u0_a56        2332  3351 Binder:2332_4
11991u0_a58        2354  2354 oid.setupwizard
11992u0_a58        2354  2361 Jit thread pool
11993u0_a58        2354  2362 Signal Catcher
11994u0_a58        2354  2363 ADB-JDWP Connec
11995u0_a58        2354  2365 ReferenceQueueD
11996u0_a58        2354  2366 FinalizerDaemon
11997u0_a58        2354  2367 FinalizerWatchd
11998u0_a58        2354  2368 HeapTaskDaemon
11999u0_a58        2354  2369 Binder:2354_1
12000u0_a58        2354  2370 Binder:2354_2
12001u0_a58        2354  2401 Binder:2354_3
12002u0_a58        2354  2441 Profile Saver
12003u0_a58        2354  2516 GoogleApiHandle
12004u0_a58        2354  2522 queued-work-loo
12005u0_a58        2354  2543 ConnectivityThr
12006u0_a58        2354  2545 WifiTracker{1b5
12007u0_a58        2354  2760 Binder:2354_4
12008u0_a58        2354  3353 Binder:2354_5
12009u0_a21        2371  2371 ps.miphone.aiai
12010u0_a21        2371  2381 Jit thread pool
12011u0_a21        2371  2404 Signal Catcher
12012u0_a21        2371  2416 ADB-JDWP Connec
12013u0_a21        2371  2418 ReferenceQueueD
12014u0_a21        2371  2419 FinalizerDaemon
12015u0_a21        2371  2420 FinalizerWatchd
12016u0_a21        2371  2421 HeapTaskDaemon
12017u0_a21        2371  2429 Binder:2371_1
12018u0_a21        2371  2442 Binder:2371_2
12019u0_a21        2371  2444 Binder:2371_3
12020u0_a21        2371  2490 Profile Saver
12021u0_a40        2462  2462 gle.android.gms
12022u0_a40        2462  2482 Jit thread pool
12023u0_a40        2462  2483 Signal Catcher
12024u0_a40        2462  2493 ADB-JDWP Connec
12025u0_a40        2462  2494 ReferenceQueueD
12026u0_a40        2462  2495 FinalizerDaemon
12027u0_a40        2462  2496 FinalizerWatchd
12028u0_a40        2462  2497 HeapTaskDaemon
12029u0_a40        2462  2498 Binder:2462_1
12030u0_a40        2462  2499 Binder:2462_2
12031u0_a40        2462  2553 Profile Saver
12032u0_a40        2462  2633 FileObserver
12033u0_a40        2462  2655 GlobalDispatchi
12034u0_a40        2462  2660 GoogleApiHandle
12035u0_a40        2462  2673 Binder:2462_3
12036u0_a40        2462  2685 GlobalScheduler
12037u0_a40        2462  2806 Binder:2462_4
12038u0_a40        2462  2859 queued-work-loo
12039u0_a40        2462  2945 Binder:2462_5
12040u0_a40        2462  3690 Thread-12
12041u0_a40        2462  3691 Thread-13
12042u0_a40        2462  3693 Thread-14
12043u0_a40        2462  3694 Thread-15
12044u0_a40        2462  3695 Thread-16
12045u0_a40        2462  3736 Binder:2462_6
12046u0_a40        2462  3759 highpool[0]
12047u0_a40        2462  3767 highpool[1]
12048u0_a40        2462  3770 AdWorker(Defaul
12049u0_a40        2462  3771 AdWorker(Defaul
12050u0_a40        2462  3788 GAC_Executor[1]
12051u0_a40        2462  3789 Binder:2462_7
12052u0_a40        2462  3790 GAC_Executor[0]
12053u0_a40        2462  3807 ConnectivityThr
12054u0_a40        2462  3864 Binder:2462_8
12055u0_a40        2462  3871 highpool[2]
12056u0_a40        2462  3903 Binder:2462_9
12057u0_a40        2462  3968 Binder:2462_A
12058u0_a40        2462  4217 Binder:2462_B
12059u0_a40        2462  4358 Binder:2462_C
12060u0_a40        2462  4359 Binder:2462_D
12061u0_a40        2462  4652 Binder:2462_E
12062u0_a40        2462  4674 Binder:2462_F
12063u0_a40        2462  4907 highpool[3]
12064u0_a40        2462  4948 pool-60-thread-
12065u0_a40        2462  4949 pool-60-thread-
12066u0_a40        2462  4950 pool-60-thread-
12067u0_a40        2462  4951 pool-60-thread-
12068u0_a40        2462  4956 pool-61-thread-
12069u0_a40        2462  5163 Binder:2462_10
12070u0_a40        2462 15000 MediaTracker bu
12071u0_a40        2462 19659 lowpool[824]
12072u0_a40        2462 19930 lowpool[825]
12073u0_a40        2462 22554 lowpool[827]
12074u0_a40        2462 23272 lowpool[828]
12075u0_a40        2462 26147 peration loader
12076u0_a40        2462 26148 raService] idle
12077u0_a40        2462 26160 ERVICES_CHANGED
12078u0_a40        2462 26161 raService] idle
12079u0_a40        2462 26162 raService] idle
12080u0_a40        2462 26163 raService] idle
12081u0_a40        2462 26164 L_UPDATE_ACTION
12082u0_a40        2462 26165 raService] idle
12083u0_a40        2462 26166 raService] idle
12084u0_a40        2462 26172 AGE_MODULE_APKS
12085u0_a40        2462 26174 Measurement Wor
12086u0_a40        2462 26272 lowpool[829]
12087u0_a40        2462 26282 raService] idle
12088u0_a40        2462 26685 raService] idle
12089u0_a40        2462 26686 ERVICES_CHANGED
12090u0_a40        2462 26695 ERVICES_CHANGED
12091u0_a40        2462 26696 raService] idle
12092u0_a40        2462 26699 raService] idle
12093u0_a40        2462 26701 raService] idle
12094u0_a40        2484  2484 .gms.persistent
12095u0_a40        2484  2510 Jit thread pool
12096u0_a40        2484  2512 Signal Catcher
12097u0_a40        2484  2513 ADB-JDWP Connec
12098u0_a40        2484  2514 ReferenceQueueD
12099u0_a40        2484  2517 FinalizerDaemon
12100u0_a40        2484  2518 FinalizerWatchd
12101u0_a40        2484  2520 HeapTaskDaemon
12102u0_a40        2484  2521 Binder:2484_1
12103u0_a40        2484  2523 Binder:2484_2
12104u0_a40        2484  2548 Binder:2484_3
12105u0_a40        2484  2554 Profile Saver
12106u0_a40        2484  2624 Binder:2484_4
12107u0_a40        2484  2625 Binder:2484_5
12108u0_a40        2484  2627 FileObserver
12109u0_a40        2484  2652 GlobalDispatchi
12110u0_a40        2484  2663 GoogleApiHandle
12111u0_a40        2484  2668 GlobalScheduler
12112u0_a40        2484  2669 GAC_Executor[0]
12113u0_a40        2484  2671 FlpThread
12114u0_a40        2484  2677 queued-work-loo
12115u0_a40        2484  2681 GAC_Executor[1]
12116u0_a40        2484  2807 GeofencerStateM
12117u0_a40        2484  2808 RealContextHub
12118u0_a40        2484  2809 ConnectivityThr
12119u0_a40        2484  2810 highpool[0]
12120u0_a40        2484  2811 highpool[1]
12121u0_a40        2484  2812 highpool[2]
12122u0_a40        2484  2813 highpool[3]
12123u0_a40        2484  2814 GoogleLocationS
12124u0_a40        2484  2816 MSMuxTR-0
12125u0_a40        2484  3792 netscheduler-qu
12126u0_a40        2484  3801 Binder:2484_6
12127u0_a40        2484  3896 Binder:2484_7
12128u0_a40        2484  4204 Binder:2484_8
12129u0_a40        2484  4206 Binder:2484_9
12130u0_a40        2484  4244 Binder:2484_A
12131u0_a40        2484  4675 Binder:2484_B
12132u0_a40        2484  4676 Binder:2484_C
12133u0_a40        2484  4836 Binder:2484_D
12134u0_a40        2484  5240 Binder:2484_E
12135u0_a40        2484  5724 Binder:2484_F
12136u0_a40        2484 10811 Binder:2484_10
12137u0_a40        2484 21417 lowpool[412]
12138u0_a40        2484 17369 lowpool[755]
12139u0_a40        2484 23058 lowpool[761]
12140u0_a40        2484 25069 lowpool[763]
12141u0_a40        2484 25070 lowpool[764]
12142u0_a40        2484 26158 peration loader
12143u0_a40        2484 26168 raService] idle
12144u0_a40        2484 26169 raService] idle
12145u0_a40        2484 26170 raService] idle
12146u0_a40        2484 26171 raService] idle
12147u0_a40        2484 26630 lowpool[765]
12148u0_a40        2484 26631 lowpool[766]
12149system        3993  3993 lcomm.telephony
12150system        3993  3999 Jit thread pool
12151system        3993  4000 Signal Catcher
12152system        3993  4001 ADB-JDWP Connec
12153system        3993  4002 ReferenceQueueD
12154system        3993  4003 FinalizerDaemon
12155system        3993  4004 FinalizerWatchd
12156system        3993  4005 HeapTaskDaemon
12157system        3993  4006 Binder:3993_1
12158system        3993  4007 Binder:3993_2
12159system        3993  4010 Profile Saver
12160system        3993  4013 Binder:3993_3
12161system        3993  4014 Thread-2
12162system        3993  4015 CTSA Inject Thr
12163system        3993  4016 HwBinder:3993_1
12164system        3993  4023 queued-work-loo
12165root          4295  4295 adbd
12166root          4295  4296 usb ffs open
12167root          4295  4343 ->transport
12168root          4295  4344 <-transport
12169root          4295 26730 shell svc 26729
12170root          4295 26749 shell svc 26748
12171root         15030 15030 kworker/4:1
12172u0_a55       16104 16104 id.defcontainer
12173u0_a55       16104 16109 Jit thread pool
12174u0_a55       16104 16110 Signal Catcher
12175u0_a55       16104 16111 ADB-JDWP Connec
12176u0_a55       16104 16112 ReferenceQueueD
12177u0_a55       16104 16113 FinalizerDaemon
12178u0_a55       16104 16114 FinalizerWatchd
12179u0_a55       16104 16116 HeapTaskDaemon
12180u0_a55       16104 16117 Binder:16104_1
12181u0_a55       16104 16118 Binder:16104_2
12182u0_a55       16104 16133 Binder:16104_3
12183u0_a55       16104 16137 Profile Saver
12184u0_a55       16104 16149 queued-work-loo
12185u0_a55       16104 16614 Binder:16104_4
12186root         16505 16505 kworker/u17:0
12187root         18709 18709 kworker/3:3
12188root         19512 19512 kworker/5:1
12189u0_a30       21587 21587 roid.apps.turbo
12190u0_a30       21587 21592 Jit thread pool
12191u0_a30       21587 21593 Signal Catcher
12192u0_a30       21587 21594 ADB-JDWP Connec
12193u0_a30       21587 21595 ReferenceQueueD
12194u0_a30       21587 21596 FinalizerDaemon
12195u0_a30       21587 21597 FinalizerWatchd
12196u0_a30       21587 21598 HeapTaskDaemon
12197u0_a30       21587 21599 Binder:21587_1
12198u0_a30       21587 21600 Binder:21587_2
12199u0_a30       21587 21601 Binder:21587_3
12200u0_a30       21587 21602 Profile Saver
12201u0_a30       21587 22841 Primes-1
12202u0_a30       21587 23127 Primes-2
12203u0_a75       21768 21768 id.partnersetup
12204u0_a75       21768 21774 Jit thread pool
12205u0_a75       21768 21775 Signal Catcher
12206u0_a75       21768 21776 ADB-JDWP Connec
12207u0_a75       21768 21777 ReferenceQueueD
12208u0_a75       21768 21778 FinalizerDaemon
12209u0_a75       21768 21779 FinalizerWatchd
12210u0_a75       21768 21780 HeapTaskDaemon
12211u0_a75       21768 21781 Binder:21768_1
12212u0_a75       21768 21782 Binder:21768_2
12213u0_a75       21768 21783 Binder:21768_3
12214u0_a75       21768 21784 Profile Saver
12215u0_a75       21768 21804 queued-work-loo
12216u0_a75       21768 21807 Binder:21768_4
12217u0_a40       21787 21787 ocess.gservices
12218u0_a40       21787 21792 Jit thread pool
12219u0_a40       21787 21793 Signal Catcher
12220u0_a40       21787 21794 ADB-JDWP Connec
12221u0_a40       21787 21795 ReferenceQueueD
12222u0_a40       21787 21796 FinalizerDaemon
12223u0_a40       21787 21797 FinalizerWatchd
12224u0_a40       21787 21798 HeapTaskDaemon
12225u0_a40       21787 21799 Binder:21787_1
12226u0_a40       21787 21800 Binder:21787_2
12227u0_a40       21787 21801 Binder:21787_3
12228u0_a40       21787 21802 Profile Saver
12229u0_a40       21787 21806 Binder:21787_4
12230u0_a40       21787 22844 Binder:21787_5
12231u0_a40       21787 22845 Binder:21787_6
12232u0_a40       21787 22861 Binder:21787_7
12233u0_a40       21787 22973 Binder:21787_8
12234u0_a40       21787 23042 Binder:21787_9
12235u0_a40       21787 23044 Binder:21787_A
12236u0_a40       21787 23051 Binder:21787_B
12237u0_a40       21787 23109 Binder:21787_C
12238u0_a40       21787 23125 Binder:21787_D
12239u0_a40       21787 23126 Binder:21787_E
12240u0_a40       21787 23177 Binder:21787_F
12241u0_a40       21787 23184 Binder:21787_10
12242root         23038 23038 kworker/3:2
12243root         23393 23393 kworker/5:3
12244root         24384 24384 kworker/4:2
12245root         24428 24428 kworker/1:0
12246root         24572 24572 kworker/6:0
12247u0_a47       24879 24879 n.mips.services
12248u0_a47       24879 24891 Jit thread pool
12249u0_a47       24879 24892 Signal Catcher
12250u0_a47       24879 24893 ADB-JDWP Connec
12251u0_a47       24879 24894 ReferenceQueueD
12252u0_a47       24879 24895 FinalizerDaemon
12253u0_a47       24879 24896 FinalizerWatchd
12254u0_a47       24879 24897 HeapTaskDaemon
12255u0_a47       24879 24898 Binder:24879_1
12256u0_a47       24879 24899 Binder:24879_2
12257u0_a47       24879 24908 Profile Saver
12258u0_a47       24879 24912 queued-work-loo
12259u0_a47       24879 24914 Binder:24879_3
12260u0_a47       24879 26178 Binder:24879_4
12261root         24931 24931 kworker/2:1
12262root         25152 25152 kworker/7:2
12263root         25203 25203 kworker/0:4
12264root         25230 25230 kworker/2:0
12265root         25246 25246 kworker/7:0
12266root         25362 25362 kworker/u16:4
12267root         25366 25366 kworker/0:2
12268root         25390 25390 kworker/1:2
12269root         25518 25518 kworker/u16:6
12270root         25647 25647 kworker/6:1
12271root         25664 25664 kworker/u16:1
12272root         25796 25796 kworker/0:1
12273root         25814 25814 kworker/u16:3
12274root         25819 25819 kworker/3:0
12275root         25823 25823 kworker/2:2
12276root         25933 25933 kworker/6:2
12277root         25946 25946 kworker/1:1
12278root         25950 25950 kworker/0:3
12279root         25966 25966 kworker/u16:5
12280root         26081 26081 kworker/2:3
12281root         26106 26106 kworker/4:0
12282system       26142 26142 ndroid.keychain
12283system       26142 26149 Jit thread pool
12284system       26142 26150 Signal Catcher
12285system       26142 26151 ADB-JDWP Connec
12286system       26142 26152 ReferenceQueueD
12287system       26142 26153 FinalizerDaemon
12288system       26142 26154 FinalizerWatchd
12289system       26142 26155 HeapTaskDaemon
12290system       26142 26156 Binder:26142_1
12291system       26142 26157 Binder:26142_2
12292system       26142 26159 Binder:26142_3
12293system       26142 26176 queued-work-loo
12294u0_a46       26181 26181 oid.documentsui
12295u0_a46       26181 26186 Jit thread pool
12296u0_a46       26181 26187 Signal Catcher
12297u0_a46       26181 26188 ADB-JDWP Connec
12298u0_a46       26181 26189 ReferenceQueueD
12299u0_a46       26181 26190 FinalizerDaemon
12300u0_a46       26181 26191 FinalizerWatchd
12301u0_a46       26181 26192 HeapTaskDaemon
12302u0_a46       26181 26194 Binder:26181_1
12303u0_a46       26181 26195 Binder:26181_2
12304u0_a46       26181 26197 Profile Saver
12305u0_a46       26181 26201 AsyncTask #1
12306u0_a46       26181 26247 AsyncTask #2
12307u0_a46       26181 26263 AsyncTask #3
12308u0_a46       26181 26285 AsyncTask #4
12309u0_a46       26181 26606 Binder:26181_3
12310u0_a8        26208 26208 d.process.media
12311u0_a8        26208 26214 Jit thread pool
12312u0_a8        26208 26215 Signal Catcher
12313u0_a8        26208 26216 ADB-JDWP Connec
12314u0_a8        26208 26217 ReferenceQueueD
12315u0_a8        26208 26218 FinalizerDaemon
12316u0_a8        26208 26219 FinalizerWatchd
12317u0_a8        26208 26220 HeapTaskDaemon
12318u0_a8        26208 26221 Binder:26208_1
12319u0_a8        26208 26222 Binder:26208_2
12320u0_a8        26208 26237 Profile Saver
12321u0_a8        26208 26244 thumbs thread
12322u0_a8        26208 26250 sAsyncHandlerTh
12323u0_a40       26343 26343 e.process.gapps
12324u0_a40       26343 26348 Jit thread pool
12325u0_a40       26343 26349 Signal Catcher
12326u0_a40       26343 26350 ADB-JDWP Connec
12327u0_a40       26343 26351 ReferenceQueueD
12328u0_a40       26343 26352 FinalizerDaemon
12329u0_a40       26343 26353 FinalizerWatchd
12330u0_a40       26343 26354 HeapTaskDaemon
12331u0_a40       26343 26355 Binder:26343_1
12332u0_a40       26343 26356 Binder:26343_2
12333u0_a40       26343 26357 Binder:26343_3
12334u0_a40       26343 26358 Profile Saver
12335u0_a40       26343 26359 RefQueueWorker@
12336u0_a40       26343 26360 Binder:26343_4
12337u0_a40       26343 26714 Binder:26343_5
12338root         26407 26407 kworker/5:0
12339u0_a72       26440 26440 ctivity.metrics
12340u0_a72       26440 26447 Jit thread pool
12341u0_a72       26440 26448 Signal Catcher
12342u0_a72       26440 26449 ADB-JDWP Connec
12343u0_a72       26440 26450 ReferenceQueueD
12344u0_a72       26440 26451 FinalizerDaemon
12345u0_a72       26440 26452 FinalizerWatchd
12346u0_a72       26440 26453 HeapTaskDaemon
12347u0_a72       26440 26454 Binder:26440_1
12348u0_a72       26440 26455 Binder:26440_2
12349u0_a72       26440 26456 Binder:26440_3
12350u0_a72       26440 26458 Profile Saver
12351u0_a72       26440 26459 AsyncTask #1
12352u0_a72       26440 26479 GAC_Executor[0]
12353u0_a72       26440 26710 AsyncTask #2
12354u0_a72       26440 26711 GAC_Executor[1]
12355root         26499 26499 kworker/7:1
12356root         26509 26509 kworker/7:3
12357radio        26510 26510 ectivitymonitor
12358radio        26510 26515 Jit thread pool
12359radio        26510 26516 Signal Catcher
12360radio        26510 26517 ADB-JDWP Connec
12361radio        26510 26518 ReferenceQueueD
12362radio        26510 26520 FinalizerDaemon
12363radio        26510 26521 FinalizerWatchd
12364radio        26510 26523 HeapTaskDaemon
12365radio        26510 26524 Binder:26510_1
12366radio        26510 26525 Binder:26510_2
12367radio        26510 26528 Profile Saver
12368radio        26510 26654 Binder:26510_3
12369u0_a131      26648 26648 id.printspooler
12370u0_a131      26648 26653 Jit thread pool
12371u0_a131      26648 26655 Signal Catcher
12372u0_a131      26648 26656 ADB-JDWP Connec
12373u0_a131      26648 26657 ReferenceQueueD
12374u0_a131      26648 26658 FinalizerDaemon
12375u0_a131      26648 26659 FinalizerWatchd
12376u0_a131      26648 26660 HeapTaskDaemon
12377u0_a131      26648 26661 Binder:26648_1
12378u0_a131      26648 26662 Binder:26648_2
12379u0_a131      26648 26664 Binder:26648_3
12380u0_a131      26648 26667 Profile Saver
12381root         26706 26706 kworker/1:3
12382root         26729 26729 sh
12383root         26732 26732 sh
12384root         26742 26742 ps
12385root         27902 27902 kworker/u17:2
12386u0_a64       32499 32499 gle.android.ims
12387u0_a64       32499 32506 Jit thread pool
12388u0_a64       32499 32507 Signal Catcher
12389u0_a64       32499 32508 ADB-JDWP Connec
12390u0_a64       32499 32509 ReferenceQueueD
12391u0_a64       32499 32510 FinalizerDaemon
12392u0_a64       32499 32511 FinalizerWatchd
12393u0_a64       32499 32512 HeapTaskDaemon
12394u0_a64       32499 32513 Binder:32499_1
12395u0_a64       32499 32514 Binder:32499_2
12396u0_a64       32499 32516 Binder:32499_3
12397u0_a64       32499 32551 Profile Saver
12398u0_a64       32499 32574 GoogleApiHandle
12399u0_a64       32499 32599 ConnectivityThr
12400u0_a64       32499 32619 queued-work-loo
12401u0_a64       32499 32626 GAC_Executor[0]
12402u0_a64       32499   450 Binder:32499_4
12403u0_a64       32499   669 Binder:32499_5
12404u0_a64       32499  9960 Primes-1
12405u0_a64       32499 10177 Binder:32499_6
12406u0_a64       32499 10181 Binder:32499_7
12407u0_a64       32499 10258 Primes-2
12408u0_a64       32499 10858 Binder:32499_8
12409u0_a64       32499 20615 Binder:32499_9
12410u0_a64       32499 20823 Binder:32499_A
12411u0_a64       32499 20963 Binder:32499_B
12412u0_a64       32499 23043 Binder:32499_C
12413u0_a64       32499 23049 Binder:32499_D
12414u0_a64       32499 23748 Binder:32499_E
12415u0_a64       32499 26433 AsyncTask #1541
12416u0_a64       32499 26475 AsyncTask #1542
12417u0_a64       32499 26476 AsyncTask #1543
12418u0_a64       32499 26537 AsyncTask #1544
12419u0_a64       32499 26615 Binder:32499_F
12420USER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM
12421root             1     0   18956   2108 SyS_epoll_wait 5327b0 S init            init
12422root             2     0       0      0 kthreadd 0 S [kthreadd]                 2
12423root             3     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/0]     3
12424root             5     2       0      0 worker_thread 0 S [kworker/0:0H]        5
12425root             6     2       0      0 diag_socket_read 0 S [kworker/u16:0]    6
12426root             7     2       0      0 0       0 S [rcu_preempt]               7
12427root             8     2       0      0 rcu_gp_kthread 0 S [rcu_sched]          8
12428root             9     2       0      0 rcu_gp_kthread 0 S [rcu_bh]             9
12429root            10     2       0      0 rcu_nocb_kthread 0 S [rcuop/0]          1
12430root            11     2       0      0 rcu_nocb_kthread 0 S [rcuos/0]          1
12431root            12     2       0      0 rcu_nocb_kthread 0 S [rcuob/0]          1
12432root            13     2       0      0 smpboot_thread_fn 0 S [migration/0]     1
12433root            14     2       0      0 smpboot_thread_fn 0 S [watchdog/0]      1
12434root            15     2       0      0 smpboot_thread_fn 0 S [watchdog/1]      1
12435root            16     2       0      0 smpboot_thread_fn 0 S [migration/1]     1
12436root            17     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/1]     1
12437root            19     2       0      0 worker_thread 0 S [kworker/1:0H]        1
12438root            20     2       0      0 rcu_nocb_kthread 0 S [rcuop/1]          2
12439root            21     2       0      0 rcu_nocb_kthread 0 S [rcuos/1]          2
12440root            22     2       0      0 rcu_nocb_kthread 0 S [rcuob/1]          2
12441root            23     2       0      0 smpboot_thread_fn 0 S [watchdog/2]      2
12442root            24     2       0      0 smpboot_thread_fn 0 S [migration/2]     2
12443root            25     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/2]     2
12444root            27     2       0      0 worker_thread 0 S [kworker/2:0H]        2
12445root            28     2       0      0 rcu_nocb_kthread 0 S [rcuop/2]          2
12446root            29     2       0      0 rcu_nocb_kthread 0 S [rcuos/2]          2
12447root            30     2       0      0 rcu_nocb_kthread 0 S [rcuob/2]          3
12448root            31     2       0      0 smpboot_thread_fn 0 S [watchdog/3]      3
12449root            32     2       0      0 smpboot_thread_fn 0 S [migration/3]     3
12450root            33     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/3]     3
12451root            35     2       0      0 worker_thread 0 S [kworker/3:0H]        3
12452root            36     2       0      0 rcu_nocb_kthread 0 S [rcuop/3]          3
12453root            37     2       0      0 rcu_nocb_kthread 0 S [rcuos/3]          3
12454root            38     2       0      0 rcu_nocb_kthread 0 S [rcuob/3]          3
12455root            39     2       0      0 smpboot_thread_fn 0 S [watchdog/4]      3
12456root            40     2       0      0 smpboot_thread_fn 0 S [migration/4]     4
12457root            41     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/4]     4
12458root            43     2       0      0 worker_thread 0 S [kworker/4:0H]        4
12459root            44     2       0      0 rcu_nocb_kthread 0 S [rcuop/4]          4
12460root            45     2       0      0 rcu_nocb_kthread 0 S [rcuos/4]          4
12461root            46     2       0      0 rcu_nocb_kthread 0 S [rcuob/4]          4
12462root            47     2       0      0 smpboot_thread_fn 0 S [watchdog/5]      4
12463root            48     2       0      0 smpboot_thread_fn 0 S [migration/5]     4
12464root            49     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/5]     4
12465root            51     2       0      0 worker_thread 0 S [kworker/5:0H]        5
12466root            52     2       0      0 rcu_nocb_kthread 0 S [rcuop/5]          5
12467root            53     2       0      0 rcu_nocb_kthread 0 S [rcuos/5]          5
12468root            54     2       0      0 rcu_nocb_kthread 0 S [rcuob/5]          5
12469root            55     2       0      0 smpboot_thread_fn 0 S [watchdog/6]      5
12470root            56     2       0      0 smpboot_thread_fn 0 S [migration/6]     5
12471root            57     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/6]     5
12472root            59     2       0      0 worker_thread 0 S [kworker/6:0H]        5
12473root            60     2       0      0 rcu_nocb_kthread 0 S [rcuop/6]          6
12474root            61     2       0      0 rcu_nocb_kthread 0 S [rcuos/6]          6
12475root            62     2       0      0 rcu_nocb_kthread 0 S [rcuob/6]          6
12476root            63     2       0      0 smpboot_thread_fn 0 S [watchdog/7]      6
12477root            64     2       0      0 smpboot_thread_fn 0 S [migration/7]     6
12478root            65     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/7]     6
12479root            67     2       0      0 worker_thread 0 S [kworker/7:0H]        6
12480root            68     2       0      0 rcu_nocb_kthread 0 S [rcuop/7]          6
12481root            69     2       0      0 rcu_nocb_kthread 0 S [rcuos/7]          6
12482root            70     2       0      0 rcu_nocb_kthread 0 S [rcuob/7]          7
12483root            71     2       0      0 rescuer_thread 0 S [netns]              7
12484root            72     2       0      0 rescuer_thread 0 S [perf]               7
12485root            73     2       0      0 rescuer_thread 0 S [smd_channel_clo]    7
12486root            74     2       0      0 kthread_worker_fn 0 S [dsps_smd_trans_] 7
12487root            75     2       0      0 kthread_worker_fn 0 S [lpass_smd_trans] 7
12488root            76     2       0      0 kthread_worker_fn 0 S [mpss_smd_trans_] 7
12489root            77     2       0      0 kthread_worker_fn 0 S [wcnss_smd_trans] 7
12490root            78     2       0      0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7
12491root            79     2       0      0 rescuer_thread 0 S [ipa_usb_wq]         7
12492root            81     2       0      0 kthread_worker_fn 0 S [smem_native_mps] 8
12493root            82     2       0      0 kthread_worker_fn 0 S [mpss_smem_glink] 8
12494root            83     2       0      0 kthread_worker_fn 0 S [smem_native_lpa] 8
12495root            84     2       0      0 kthread_worker_fn 0 S [lpass_smem_glin] 8
12496root            85     2       0      0 kthread_worker_fn 0 S [smem_native_dsp] 8
12497root            86     2       0      0 kthread_worker_fn 0 S [dsps_smem_glink] 8
12498root            87     2       0      0 kthread_worker_fn 0 S [smem_native_rpm] 8
12499root            88     2       0      0 kthread_worker_fn 0 S [rpm_smem_glink_] 8
12500root            89     2       0      0 kthread_worker_fn 0 S [smem_native_sps] 8
12501root            90     2       0      0 kthread_worker_fn 0 S [spss_mailbox_gl] 9
12502root            91     2       0      0 watchdog_kthread 0 S [msm_watchdog]     9
12503root            92     2       0      0 rescuer_thread 0 S [deferwq]            9
12504root            94     2       0      0 irq_thread 0 S [irq/126-cpr3]           9
12505root            95     2       0      0 msm_mpm_work_fn 0 D [mpm]               9
12506root            96     2       0      0 diag_socket_read 0 S [kworker/u16:2]    9
12507root            97     2       0      0 watchdog 0 S [khungtaskd]               9
12508root            98     2       0      0 rescuer_thread 0 S [writeback]          9
12509root            99     2       0      0 kcompactd 0 S [kcompactd0]              9
12510root           100     2       0      0 rescuer_thread 0 S [crypto]             1
12511root           101     2       0      0 rescuer_thread 0 S [bioset]             1
12512root           102     2       0      0 rescuer_thread 0 S [kblockd]            1
12513root           103     2       0      0 rescuer_thread 0 S [md]                 1
12514root           104     2       0      0 rescuer_thread 0 S [edac-poller]        1
12515root           105     2       0      0 ion_heap_deferred_free 0 S [system]     1
12516root           106     2       0      0 ion_heap_deferred_free 0 S [easel_mem]  1
12517root           107     2       0      0 rescuer_thread 0 S [devfreq_wq]         1
12518root           108     2       0      0 rescuer_thread 0 S [governor_msm_ad]    1
12519root           110     2       0      0 rescuer_thread 0 S [cfg80211]           1
12520root           111     2       0      0 irq_thread 0 S [irq/134-arm-smm]        1
12521root           112     2       0      0 rescuer_thread 0 S [ipa_power_mgmt]     1
12522root           113     2       0      0 rescuer_thread 0 S [transport_power]    1
12523root           114     2       0      0 rescuer_thread 0 S [ipa_rm_wq]          1
12524root           115     2       0      0 rescuer_thread 0 S [ipa_interrupt_w]    1
12525root           116     2       0      0 irq_thread 0 S [irq/135-arm-smm]        1
12526root           117     2       0      0 irq_thread 0 S [irq/136-arm-smm]        1
12527root           118     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
12528root           119     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
12529root           120     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
12530root           121     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 1
12531root           147     2       0      0 rescuer_thread 0 S [power_off_alarm]    1
12532root           148     2       0      0 kswapd  0 S [kswapd0]                   1
12533root           149     2       0      0 rescuer_thread 0 S [vmstat]             1
12534root           150     2       0      0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1
12535root           182     2       0      0 rescuer_thread 0 S [ad_calc_wq]         1
12536root           183     2       0      0 dsi_event_thread 0 D [mdss_dsi_event]   1
12537root           184     2       0      0 rescuer_thread 0 S [mdss_dsi_dba]       1
12538root           185     2       0      0 rescuer_thread 0 S [cwb_wq]             1
12539root           186     2       0      0 kthread_worker_fn 0 S [vsync_retire_wo] 1
12540root           187     2       0      0 rescuer_thread 0 S [cwb_wq]             1
12541root           189     2       0      0 rescuer_thread 0 S [glink_ssr_wq]       1
12542root           190     2       0      0 rescuer_thread 0 S [glink_lbsrv]        1
12543root           191     2       0      0 kthread_worker_fn 0 S [spi_wdsp]        1
12544root           192     2       0      0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1
12545root           193     2       0      0 rescuer_thread 0 S [glink_xprt_wq]      1
12546root           194     2       0      0 rescuer_thread 0 S [IPCRTR_mpss_sme]    1
12547root           195     2       0      0 rescuer_thread 0 S [IPCRTR_lpass_sm]    1
12548root           196     2       0      0 rescuer_thread 0 S [IPCRTR_dsps_sme]    1
12549root           197     2       0      0 rescuer_thread 0 S [apr_driver]         1
12550root           198     2       0      0 rescuer_thread 0 S [glink_pkt_wq]       1
12551root           199     2       0      0 rescuer_thread 0 S [mem_share_svc]      1
12552root           200     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    2
12553root           201     2       0      0 rescuer_thread 0 S [msm_ipc_router]     2
12554root           202     2       0      0 irq_thread 0 S [irq/137-arm-smm]        2
12555root           203     2       0      0 rescuer_thread 0 S [qmi_svc_event_w]    2
12556root           204     2       0      0 rescuer_thread 0 S [servloc_wq]         2
12557root           205     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12558root           206     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12559root           207     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12560root           208     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12561root           209     2       0      0 rescuer_thread 0 S [k_hsuart]           2
12562root           210     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
12563root           211     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
12564root           212     2       0      0 add_hwgenerator_randomness 0 S [hwrng]  2
12565root           215     2       0      0 rescuer_thread 0 S [diag_real_time_]    2
12566root           216     2       0      0 rescuer_thread 0 S [diag_wq]            2
12567root           217     2       0      0 rescuer_thread 0 S [DIAG_USB_diag]      2
12568root           218     2       0      0 rescuer_thread 0 S [diag_cntl_wq]       2
12569root           219     2       0      0 rescuer_thread 0 S [diag_dci_wq]        2
12570root           220     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12571root           221     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12572root           222     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12573root           223     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12574root           224     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12575root           225     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12576root           226     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12577root           227     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12578root           228     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12579root           229     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12580root           230     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12581root           231     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12582root           232     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12583root           233     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12584root           234     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12585root           235     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12586root           236     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12587root           237     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12588root           238     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12589root           239     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12590root           240     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
12591root           241     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
12592root           242     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
12593root           243     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
12594root           244     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
12595root           245     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
12596root           246     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
12597root           247     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
12598root           248     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
12599root           249     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
12600root           250     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12601root           251     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12602root           252     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12603root           253     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12604root           254     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12605root           255     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12606root           256     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12607root           257     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12608root           258     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12609root           259     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12610root           260     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12611root           261     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12612root           262     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12613root           263     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12614root           265     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12615root           266     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12616root           267     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12617root           268     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12618root           269     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12619root           270     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12620root           271     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
12621root           272     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
12622root           273     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
12623root           274     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
12624root           275     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
12625root           276     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
12626root           277     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
12627root           278     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
12628root           279     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
12629root           280     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
12630root           281     2       0      0 rescuer_thread 0 S [DIAG_CNTL_SOCKE]    2
12631root           282     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12632root           283     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12633root           284     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12634root           285     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12635root           286     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12636root           287     2       0      0 rescuer_thread 0 S [kgsl-workqueue]     2
12637root           288     2       0      0 rescuer_thread 0 S [kgsl-mementry]      2
12638root           289     2       0      0 kthread_worker_fn 0 S [kgsl_worker_thr] 2
12639root           290     2       0      0 rescuer_thread 0 S [kgsl-events]        2
12640root           291     2       0      0 rescuer_thread 0 S [kgsl_devfreq_wq]    2
12641root           292     2       0      0 rescuer_thread 0 S [bioset]             2
12642root           293     2       0      0 rescuer_thread 0 S [bioset]             2
12643root           294     2       0      0 rescuer_thread 0 S [bioset]             2
12644root           295     2       0      0 rescuer_thread 0 S [bioset]             2
12645root           296     2       0      0 rescuer_thread 0 S [bioset]             2
12646root           297     2       0      0 rescuer_thread 0 S [bioset]             2
12647root           298     2       0      0 rescuer_thread 0 S [bioset]             2
12648root           299     2       0      0 rescuer_thread 0 S [bioset]             2
12649root           300     2       0      0 rescuer_thread 0 S [bioset]             3
12650root           301     2       0      0 rescuer_thread 0 S [bioset]             3
12651root           302     2       0      0 rescuer_thread 0 S [bioset]             3
12652root           303     2       0      0 rescuer_thread 0 S [bioset]             3
12653root           304     2       0      0 rescuer_thread 0 S [bioset]             3
12654root           305     2       0      0 rescuer_thread 0 S [bioset]             3
12655root           307     2       0      0 rescuer_thread 0 S [bioset]             3
12656root           308     2       0      0 rescuer_thread 0 S [bioset]             3
12657root           309     2       0      0 rescuer_thread 0 S [bioset]             3
12658root           310     2       0      0 rescuer_thread 0 S [bioset]             3
12659root           311     2       0      0 rescuer_thread 0 S [bioset]             3
12660root           312     2       0      0 rescuer_thread 0 S [bioset]             3
12661root           313     2       0      0 rescuer_thread 0 S [bioset]             3
12662root           314     2       0      0 rescuer_thread 0 S [bioset]             3
12663root           315     2       0      0 rescuer_thread 0 S [bioset]             3
12664root           316     2       0      0 rescuer_thread 0 S [bioset]             3
12665root           317     2       0      0 rescuer_thread 0 S [bioset]             3
12666root           318     2       0      0 irq_thread 0 S [irq/286-soc:fp_]        3
12667root           319     2       0      0 rescuer_thread 0 S [memory_wq]          3
12668root           320     2       0      0 rescuer_thread 0 S [qcrypto_seq_res]    3
12669root           321     2       0      0 scsi_error_handler 0 S [scsi_eh_0]      3
12670root           322     2       0      0 rescuer_thread 0 S [scsi_tmf_0]         3
12671root           323     2       0      0 rescuer_thread 0 S [ufs_pm_qos_0]       3
12672root           324     2       0      0 rescuer_thread 0 S [ufs_clk_ungatin]    3
12673root           325     2       0      0 rescuer_thread 0 S [ufs_clkscaling_]    3
12674root           326     2       0      0 kthread_worker_fn 0 S [spi1]            3
12675root           327     2       0      0 kthread_worker_fn 0 S [spi2]            3
12676root           328     2       0      0 kthread_worker_fn 0 S [spi10]           3
12677root           329     2       0      0 rescuer_thread 0 S [bond0]              3
12678root           330     2       0      0 rescuer_thread 0 S [sharedmem_qmi_w]    3
12679root           331     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    3
12680root           335     2       0      0 rescuer_thread 0 S [uether]             3
12681root           336     2       0      0 rescuer_thread 0 S [k_ipa_usb]          3
12682root           341     2       0      0 irq_thread 0 S [irq/262-vl53l0_]        3
12683root           342     2       0      0 rescuer_thread 0 S [bioset]             3
12684root           343     2       0      0 rescuer_thread 0 S [bioset]             3
12685root           344     2       0      0 rescuer_thread 0 S [bioset]             3
12686root           345     2       0      0 rescuer_thread 0 S [bioset]             3
12687root           347     2       0      0 rescuer_thread 0 S [bioset]             3
12688root           348     2       0      0 rescuer_thread 0 S [bioset]             3
12689root           349     2       0      0 rescuer_thread 0 S [bioset]             3
12690root           350     2       0      0 rescuer_thread 0 S [bioset]             3
12691root           351     2       0      0 rescuer_thread 0 S [bioset]             3
12692root           355     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
12693root           356     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
12694root           357     2       0      0 rescuer_thread 0 S [msm_cpp_workque]    3
12695root           358     2       0      0 rescuer_thread 0 S [msm_vidc_worker]    3
12696root           359     2       0      0 rescuer_thread 0 S [pm_workerq_venu]    3
12697root           360     2       0      0 irq_thread 0 S [irq/158-arm-smm]        3
12698root           361     2       0      0 irq_thread 0 S [irq/159-arm-smm]        3
12699root           362     2       0      0 irq_thread 0 S [irq/160-arm-smm]        3
12700root           363     2       0      0 irq_thread 0 S [irq/161-arm-smm]        3
12701root           364     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_0] 3
12702root           365     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_1] 3
12703root           366     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_0]   3
12704root           367     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_1]   3
12705root           368     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 3
12706root           370     2       0      0 irq_thread 0 S [irq/500-chg-err]        3
12707root           371     2       0      0 irq_thread 0 S [irq/501-chg-sta]        3
12708root           372     2       0      0 irq_thread 0 S [irq/502-step-ch]        3
12709root           373     2       0      0 irq_thread 0 S [irq/503-step-ch]        3
12710root           374     2       0      0 irq_thread 0 S [irq/504-step-ch]        3
12711root           375     2       0      0 irq_thread 0 S [irq/505-otg-fai]        3
12712root           376     2       0      0 irq_thread 0 S [irq/506-otg-ove]        3
12713root           377     2       0      0 irq_thread 0 S [irq/507-otg-oc-]        3
12714root           378     2       0      0 irq_thread 0 S [irq/508-testmod]        3
12715root           379     2       0      0 irq_thread 0 S [irq/509-bat-tem]        3
12716root           380     2       0      0 irq_thread 0 S [irq/510-bat-ocp]        3
12717root           381     2       0      0 irq_thread 0 S [irq/511-bat-ov]         3
12718root           382     2       0      0 irq_thread 0 S [irq/512-bat-low]        3
12719root           383     2       0      0 irq_thread 0 S [irq/513-bat-the]        3
12720root           384     2       0      0 irq_thread 0 S [irq/514-bat-ter]        3
12721root           385     2       0      0 irq_thread 0 S [irq/515-usbin-c]        3
12722root           386     2       0      0 irq_thread 0 S [irq/516-usbin-l]        3
12723root           387     2       0      0 irq_thread 0 S [irq/517-usbin-u]        3
12724root           388     2       0      0 irq_thread 0 S [irq/518-usbin-o]        3
12725root           389     2       0      0 irq_thread 0 S [irq/519-usbin-p]        3
12726root           390     2       0      0 irq_thread 0 S [irq/520-usbin-s]        3
12727root           391     2       0      0 irq_thread 0 S [irq/521-usbin-i]        3
12728root           392     2       0      0 irq_thread 0 S [irq/522-type-c-]        3
12729root           393     2       0      0 irq_thread 0 S [irq/523-dcin-co]        3
12730root           394     2       0      0 irq_thread 0 S [irq/524-dcin-lt]        3
12731root           395     2       0      0 irq_thread 0 S [irq/525-dcin-uv]        3
12732root           396     2       0      0 irq_thread 0 S [irq/526-dcin-ov]        3
12733root           397     2       0      0 irq_thread 0 S [irq/527-dcin-pl]        3
12734root           398     2       0      0 irq_thread 0 S [irq/528-div2-en]        3
12735root           399     2       0      0 irq_thread 0 S [irq/529-dcin-ic]        3
12736root           400     2       0      0 irq_thread 0 S [irq/532-aicl-fa]        4
12737root           401     2       0      0 irq_thread 0 S [irq/533-aicl-do]        4
12738root           402     2       0      0 irq_thread 0 S [irq/534-high-du]        4
12739root           403     2       0      0 irq_thread 0 S [irq/535-input-c]        4
12740root           404     2       0      0 irq_thread 0 S [irq/536-tempera]        4
12741root           405     2       0      0 irq_thread 0 S [irq/537-switche]        4
12742root           406     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12743root           407     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12744root           409     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12745root           410     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12746root           411     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12747root           412     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12748root           413     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12749root           414     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12750root           415     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12751root           416     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12752root           417     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12753root           418     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12754root           419     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12755root           420     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12756root           421     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12757root           422     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12758root           423     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12759root           424     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12760root           425     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12761root           426     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12762root           427     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12763root           428     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12764root           429     2       0      0 irq_thread 0 S [irq/59-tsens_in]        4
12765root           430     2       0      0 irq_thread 0 S [irq/62-tsens_cr]        4
12766root           431     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12767root           432     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12768root           433     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12769root           434     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12770root           435     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12771root           436     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12772root           437     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12773root           438     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12774root           439     2       0      0 irq_thread 0 S [irq/63-tsens_in]        4
12775root           440     2       0      0 irq_thread 0 S [irq/64-tsens_cr]        4
12776root           441     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12777root           442     2       0      0 irq_thread 0 S [irq/366-limits_]        4
12778root           443     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12779root           444     2       0      0 irq_thread 0 S [irq/367-limits_]        4
12780root           445     2       0      0 rescuer_thread 0 S [dm_bufio_cache]     4
12781root           446     2       0      0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4
12782root           447     2       0      0 irq_thread 0 S [irq/291-bcm1560]        4
12783root           448     2       0      0 irq_thread 0 S [irq/226-bcm1560]        4
12784root           449     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12785root           451     2       0      0 irq_thread 0 S [irq/197-spdm_bw]        4
12786root           452     2       0      0 rescuer_thread 0 S [binder]             4
12787root           453     2       0      0 irq_thread 0 S [irq/144-arm-smm]        4
12788root           454     2       0      0 rescuer_thread 0 S [uaudio_svc]         4
12789root           455     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    4
12790root           456     2       0      0 rescuer_thread 0 S [ipv6_addrconf]      4
12791root           458     2       0      0 irq_thread 0 S [irq/574-adsp]           4
12792root           459     2       0      0 rescuer_thread 0 S [sysmon_wq]          4
12793root           460     2       0      0 irq_thread 0 S [irq/606-slpi]           4
12794root           461     2       0      0 irq_thread 0 S [irq/542-modem]          4
12795root           465     2       0      0 rescuer_thread 0 S [usb_bam_wq]         4
12796root           466     2       0      0 irq_thread 0 S [irq/19-sig-tx]          4
12797root           467     2       0      0 irq_thread 0 S [irq/20-sig-rx]          4
12798root           468     2       0      0 irq_thread 0 S [irq/22-msg-rx]          4
12799root           469     2       0      0 rescuer_thread 0 S [usbpd0]             4
12800root           470     2       0      0 rescuer_thread 0 S [usbpd0]             4
12801root           471     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12802root           472     2       0      0 irq_thread 0 S [irq/734-soc-upd]        4
12803root           473     2       0      0 irq_thread 0 S [irq/735-soc-rea]        4
12804root           474     2       0      0 irq_thread 0 S [irq/736-bsoc-de]        4
12805root           475     2       0      0 irq_thread 0 S [irq/737-msoc-de]        4
12806root           476     2       0      0 irq_thread 0 S [irq/738-msoc-lo]        4
12807root           477     2       0      0 irq_thread 0 S [irq/739-msoc-em]        4
12808root           478     2       0      0 irq_thread 0 S [irq/740-msoc-hi]        4
12809root           479     2       0      0 irq_thread 0 S [irq/741-msoc-fu]        4
12810root           480     2       0      0 irq_thread 0 S [irq/742-vbatt-p]        4
12811root           481     2       0      0 irq_thread 0 S [irq/743-vbatt-l]        4
12812root           482     2       0      0 irq_thread 0 S [irq/744-esr-del]        4
12813root           483     2       0      0 irq_thread 0 S [irq/745-batt-mi]        4
12814root           484     2       0      0 irq_thread 0 S [irq/746-batt-te]        4
12815root           485     2       0      0 irq_thread 0 S [irq/747-ima-rdy]        4
12816root           486     2       0      0 irq_thread 0 S [irq/748-mem-xcp]        4
12817root           487     2       0      0 irq_thread 0 S [irq/749-dma-gra]        4
12818root           489     2       0      0 irq_thread 0 S [irq/54-hs_phy_i]        4
12819root           490     2       0      0 irq_thread 0 S [irq/55-ss_phy_i]        4
12820root           491     2       0      0 irq_thread 0 S [irq/56-msm_dwc3]        4
12821root           494     2       0      0 irq_thread 0 S [irq/36-ARM64 pr]        4
12822root           495     2       0      0 irq_thread 0 S [irq/37-ARM64 se]        4
12823root           496     2       0      0 irq_thread 0 S [irq/39-ARM64 pr]        4
12824root           497     2       0      0 irq_thread 0 S [irq/40-ARM64 se]        4
12825root           498     2       0      0 rescuer_thread 0 S [rq_stats]           4
12826root           499     2       0      0 irq_thread 0 S [irq/145-arm-smm]        4
12827root           500     2       0      0 irq_thread 0 S [irq/146-arm-smm]        5
12828root           501     2       0      0 irq_thread 0 S [irq/147-arm-smm]        5
12829root           502     2       0      0 irq_thread 0 S [irq/148-arm-smm]        5
12830root           503     2       0      0 irq_thread 0 S [irq/149-arm-smm]        5
12831root           504     2       0      0 irq_thread 0 S [irq/150-arm-smm]        5
12832root           505     2       0      0 irq_thread 0 S [irq/151-arm-smm]        5
12833root           506     2       0      0 irq_thread 0 S [irq/152-arm-smm]        5
12834root           507     2       0      0 kthread_worker_fn 0 S [set_state_work]  5
12835root           508     2       0      0 irq_thread 0 S [irq/227-mnh-rea]        5
12836root           510     2       0      0 irq_thread 0 S [irq/751-mnh_pci]        5
12837root           511     2       0      0 irq_thread 0 S [irq/752-mnh_pci]        5
12838root           512     2       0      0 irq_thread 0 S [irq/753-mnh_pci]        5
12839root           513     2       0      0 irq_thread 0 S [irq/754-mnh_pci]        5
12840root           514     2       0      0 irq_thread 0 S [irq/755-mnh_pci]        5
12841root           515     2       0      0 irq_thread 0 S [irq/758-mnh_pci]        5
12842root           516     2       0      0 irq_thread 0 S [irq/759-mnh_pci]        5
12843root           517     2       0      0 irq_thread 0 S [irq/128-arm-smm]        5
12844root           518     2       0      0 rescuer_thread 0 S [sb-1]               5
12845root           519     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5
12846root           520     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl1]  5
12847root           521     2       0      0 rescuer_thread 0 S [sb-3]               5
12848root           522     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5
12849root           523     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl3]  5
12850root           525     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
12851root           526     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
12852root           527     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
12853root           528     2       0      0 irq_thread 0 S [irq/66-lmh-inte]        5
12854root           529     2       0      0 irq_thread 0 S [irq/28-qpnp_fla]        5
12855root           530     2       0      0 irq_thread 0 S [irq/27-qpnp_fla]        5
12856root           531     2       0      0 irq_thread 0 S [irq/26-qpnp_fla]        5
12857root           532     2       0      0 worker_thread 0 S [kworker/6:1H]        5
12858root           533     2       0      0 worker_thread 0 S [kworker/5:1H]        5
12859root           534     2       0      0 worker_thread 0 S [kworker/7:1H]        5
12860root           535     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
12861root           536     2       0      0 worker_thread 0 S [kworker/4:1H]        5
12862root           537     2       0      0 kjournald2 0 S [jbd2/sdd3-8]            5
12863root           538     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
12864root           539     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
12865root           542     1    6760    680 do_sys_poll 54e580 S init               init
12866root           543     1    6504    976 do_sys_poll 54e580 S ueventd            init
12867root           545     2       0      0 worker_thread 0 S [kworker/0:1H]        5
12868root           550     2       0      0 irq_thread 0 S [irq/760-synapti]        5
12869root           551     2       0      0 rescuer_thread 0 S [dsx_rebuild_wor]    5
12870root           552     2       0      0 rescuer_thread 0 S [dsx_exp_workque]    5
12871root           556     2       0      0 rescuer_thread 0 S [batt_timer]         5
12872system         566     1   12844   1724 do_wait 7bede320a8 S qseecomd           qseecomd
12873root           567     2       0      0 kthread_worker_fn 0 S [sugov:0]         5
12874root           568     2       0      0 kthread_worker_fn 0 S [sugov:4]         5
12875system         570     1 2128484   4792 binder_ioctl_write_read 7428db1040 S hwservicemanager hwservicemanager
12876logd           571     1   32436  11256 SyS_rt_sigsuspend 7f4ccf3118 S logd     logd
12877system         572     1   11568   1988 binder_ioctl_write_read 7092531040 S servicemanager servicemanager
12878system         573     1   12280   1840 binder_ioctl_write_read 769d032040 S vndservicemanager vndservicemanager
12879system         574   566   18848    596 SyS_rt_sigsuspend 7bede31118 S qseecomd qseecomd
12880root           584     2       0      0 kauditd_thread 0 S [kauditd]            5
12881root           586     1   14496   2604 binder_ioctl_write_read 7f49272040 S android.hardware.boot@1.0-service android.hardware.boot@1.0-service
12882system         587     1   15624   2592 binder_ioctl_write_read 7929071040 S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti
12883system         588     1   15884   2624 binder_ioctl_write_read 7496432040 S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti
12884system         589     1 2128880   2628 binder_ioctl_write_read 7aa5cf0040 S android.hardware.keyprimary@4.0-service android.hardware.keyprimary@4.0-service
12885system         591     1 2190084  20996 SyS_epoll_wait 7d3a2f0f50 S surfaceflinger surfaceflinger
12886system         593     1   47308   5784 binder_ioctl_write_read 79c60f0040 S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service
12887system         594     1   18484   2708 binder_ioctl_write_read 79f41b0040 S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service
12888system         595     1   22124   3156 binder_ioctl_write_read 7c5b5f3040 S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service
12889root           612     2       0      0 kjournald2 0 S [jbd2/sda45-8]           6
12890root           613     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    6
12891system         616     1   23496   1812 futex_wait_queue_me 6ff4460bb0 S time_daemon time_daemon
12892root           617     1   31600   4156 binder_ioctl_write_read 7c864f1040 S vold vold
12893root           619     2       0      0 __mdss_fb_display_thread 0 D [mdss_fb0] 6
12894root           635     2       0      0 irq_thread 0 S [irq/177-arm-smm]        6
12895root           636     2       0      0 irq_thread 0 S [irq/178-arm-smm]        6
12896root           642     2       0      0 rescuer_thread 0 S [dsps_IPCRTR]        6
12897root           643     2       0      0 rescuer_thread 0 S [fwu_workqueue]      6
12898root           647     2       0      0 rescuer_thread 0 S [lpass_IPCRTR]       6
12899root           648     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12900root           663     2       0      0 worker_thread 0 S [kworker/2:1H]        6
12901root           671     2       0      0 diag_socket_read 0 S [kworker/u16:7]    6
12902root           672     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12903root           673     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
12904root           674     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
12905root           675     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12906root           676     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12907root           678     2       0      0 irq_thread 0 S [irq/153-arm-smm]        6
12908root           685     1 2152164   4656 binder_ioctl_write_read 75b8931040 S netd netd
12909root           693   685    9800   1704 pipe_read 7dcd573a78 S iptables-restore iptables
12910root           694   685    9816   1816 pipe_read 7823af2a78 S ip6tables-restore ip6tables
12911root           702     1 4232768  64428 do_sys_poll 726d72f070 S zygote64       app_process64
12912root           703     1 1554860  50068 do_sys_poll f08df828 S zygote           app_process32
12913root           704     2       0      0 rescuer_thread 0 S [cds_recovery_wo]    7
12914root           705     2       0      0 wlan_logging_thread 0 S [wlan_logging_th] 7
12915root           722     2       0      0 rescuer_thread 0 S [at_usb0]            7
12916root           723     2       0      0 rescuer_thread 0 S [at_usb1]            7
12917root           724     2       0      0 rescuer_thread 0 S [qdss]               7
12918root           729     1   14500   2980 SyS_epoll_wait 7e95172f50 S healthd     healthd
12919root           730     1   97112   2464 SyS_rt_sigsuspend 7711df2118 S thermal-engine thermal-engine
12920system         731     1   14152   2980 binder_ioctl_write_read 6fc03b2040 S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service
12921system         732     1   27592   4004 binder_ioctl_write_read 7229ab0040 S vr_hwc vr_hwc
12922audioserver    733     1   33344   8364 binder_ioctl_write_read eb95c790 S android.hardware.audio@2.0-service android.hardware.audio@2.0-service
12923bluetooth      734     1   17192   2460 binder_ioctl_write_read 7c2982f040 S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service
12924root           735     2       0      0 irq_thread 0 S [irq/254-wcd9xxx]        7
12925cameraserver   736     1  175308  43668 binder_ioctl_write_read e8d17790 S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service
12926media          737     1   12964   2448 binder_ioctl_write_read f0d9d790 S android.hardware.cas@1.0-service android.hardware.cas@1.0-service
12927system         738     1 2126332   2808 binder_ioctl_write_read 7f79d33040 S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service
12928media          739     1   15068   2652 binder_ioctl_write_read ec95a790 S android.hardware.drm@1.0-service android.hardware.drm@1.0-service
12929media          740     1   16324   2352 binder_ioctl_write_read f2217790 S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine
12930media          741     1   25876   2636 binder_ioctl_write_read 7479870040 S android.hardware.drm@1.1-service.clearkey android.hardware.drm@1.1-service.clearkey
12931system         742     1   13928   2596 binder_ioctl_write_read 75110b1040 S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo
12932gps            743     1   41836   4144 binder_ioctl_write_read 75ac5f2040 S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti
12933system         744     1   14136   2792 SyS_epoll_wait 7323b71f50 S android.hardware.health@2.0-service.wahoo android.hardware.health@2.0-service.wahoo
12934system         745     1   14168   2600 binder_ioctl_write_read 75ac42f040 S android.hardware.light@2.0-service android.hardware.light@2.0-service
12935system         748     1   14168   2680 binder_ioctl_write_read 7947eb3040 S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service
12936system         756     1   80480   4308 binder_ioctl_write_read 718b570040 S android.hardware.neuralnetworks@1.0-service-hvx android.hardware.neuralnetworks@1.0-service-hvx
12937nfc            759     1 2125748   2652 binder_ioctl_write_read 7b6d2f3040 S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service
12938system         760     1   13908   2544 binder_ioctl_write_read 73fe2ef040 S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service
12939root           761     1   11256   1564 __skb_recv_datagram 71ff530ed8 S oemlock-bridge oemlock-bridge
12940system         773     1   18736   2896 binder_ioctl_write_read 7568871040 S android.hardware.power@1.2-service.wahoo-libperfmgr android.hardware.power@1.2-service.wahoo-libperfmgr
12941system         778     1   70168   3420 binder_ioctl_write_read 72b4db3040 S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service
12942root           787     1   19788   2760 binder_ioctl_write_read 77a0371040 S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo
12943system         793     1   14448   2560 binder_ioctl_write_read 72cb372040 S android.hardware.vibrator@1.2-service.wahoo android.hardware.vibrator@1.2-service.wahoo
12944system         802     1   13780   2524 binder_ioctl_write_read 7827330040 S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo
12945wifi           807     1 2126104   2596 binder_ioctl_write_read 713cc31040 S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service
12946wifi           812     1   17460   2600 binder_ioctl_write_read 7278a70040 S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service
12947ese            813     1   14848   2592 binder_ioctl_write_read 790a0b1040 S esed esed
12948root           816     1   11132   1964 do_sys_poll 78de52f070 S msm_irqbalance msm_irqbalance
12949system         819     1   28116   1848 do_sigtimedwait 72b45ef130 S pm-service pm-service
12950system         825     1   28184   1940 futex_wait_queue_me 7a3c15fbb0 S sensors.qcom sensors.qcom
12951nobody         827     1   50580   1940 do_select 7526bb3088 S rmt_storage      rmt_storage
12952system         828     1   13780   1952 do_sys_poll 7f205f3070 S tftp_server    tftp_server
12953system         829     1   17340   1772 hrtimer_nanosleep 70455b1958 S pd-mapper pd-mapper
12954audioserver    830     1  105732  12004 binder_ioctl_write_read f3d5e790 S audioserver audioserver
12955system         831     1   20132   3332 SyS_epoll_wait 7f62bf2f50 S bufferhubd  bufferhubd
12956root           835     1    9948   1760 SyS_epoll_wait 79a1531f50 S lmkd        lmkd
12957system         836     1   14796   2252 SyS_epoll_wait 74f1f31f50 S performanced performanced
12958system         837     1   22464   3296 binder_ioctl_write_read 7e55a32040 S thermalserviced thermalserviced
12959system         838     1   18656   2732 binder_ioctl_write_read 753d3b1040 S virtual_touchpad virtual_touchpad
12960root           854     2       0      0 do_freq_mitigation 0 S [msm_thermal:fre] 8
12961root           859     2       0      0 do_thermal_monitor 0 S [msm_thermal:the] 8
12962root           865     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    8
12963root           873     2       0      0 rescuer_thread 0 S [modem]              8
12964system         874     1   19824   1808 hrtimer_nanosleep 70e9230958 S pm-proxy pm-proxy
12965root           879     1   11132   1504 do_sys_poll 72e4732070 S subsystem_ramdump subsystem_ramdump
12966nobody         882     1   10724   1312 do_sys_poll 7c2e9f0070 S traced         traced
12967nobody         883     1   10724   1376 do_sys_poll 7c38fb3070 S traced_probes  traced_probes
12968media          884     1   15272   1476 do_sys_poll 71fb172070 S adsprpcd       adsprpcd
12969system         885     1   16940   1752 do_select 7a5adf0088 S imsqmidaemon     imsqmidaemon
12970radio          890     1 2136736   2944 SyS_epoll_wait 749d2eef50 S cnd         cnd
12971root           892     2       0      0 worker_thread 0 S [kworker/3:1H]        8
12972radio          893     1 2224936   4084 __skb_recv_datagram 799ea71ed8 S netmgrd netmgrd
12973radio          897     1   14636   1504 futex_wait_queue_me 71ac21ebb0 S port-bridge port-bridge
12974radio          898     1   23196   2572 futex_wait_queue_me 6fc2adfbb0 S ipacm  ipacm
12975radio          899     1 2131244   1928 do_select 77cb1f1088 S qti              qti
12976cameraserver   900     1   41196   7776 binder_ioctl_write_read f4ad9790 S cameraserver cameraserver
12977drm            901     1   20448   3668 binder_ioctl_write_read f69e2790 S drmserver drmserver
12978incidentd      902     1   22208   3244 SyS_epoll_wait 74750b1f50 S incidentd   incidentd
12979root           903     1   30680   4936 binder_ioctl_write_read 71da631040 S installd installd
12980keystore       904     1 2135744   4528 binder_ioctl_write_read 7810832040 S keystore keystore
12981media          905     1   12236   2412 binder_ioctl_write_read ec697790 S mediadrmserver mediadrmserver
12982mediaex        906     1 2188528  11032 binder_ioctl_write_read 7301372040 S media.extractor mediaextractor
12983media          907     1 2147172   7372 binder_ioctl_write_read 7b8eb2f040 S media.metrics mediametrics
12984media          908     1   81888   7112 binder_ioctl_write_read f16e1790 S mediaserver mediaserver
12985statsd         909     1   26740   4384 SyS_epoll_wait 79c772ff50 S statsd      statsd
12986root           911     1   26400   6004 binder_ioctl_write_read 72667ef040 S storaged storaged
12987wifi           912     1   20180   3640 SyS_epoll_wait 7b337eff50 S wificond    wificond
12988mediacodec     914     1  122448  11668 binder_ioctl_write_read ee31e790 S media.codec android.hardware.media.omx@1.0-service
12989radio          917     1  111948  10012 binder_ioctl_write_read 72b02b0040 S rild rild
12990system         920     1 2165108  10608 SyS_epoll_wait 764ad32f50 S folio_daemon folio_daemon
12991root           921     2       0      0 rescuer_thread 0 S [ipawq15]            9
12992root           922     2       0      0 rescuer_thread 0 S [iparepwq15]         9
12993system         923     1   28496   2004 do_sys_poll 78c99f1070 S cnss-daemon    cnss-daemon
12994gps            924     1   14812   2000 SyS_rt_sigsuspend 7bf85f1118 S loc_launcher loc_launcher
12995system         925     1   18596   2720 do_sys_poll 700daef070 S chre           chre
12996system         926     1 2134120   4260 binder_ioctl_write_read 78699b0040 S gatekeeperd gatekeeperd
12997root           927     1   20516   3032 binder_ioctl_write_read 705e8f2040 S perfprofd perfprofd
12998tombstoned     929     1    9636   1144 SyS_epoll_wait 7e365eff50 S tombstoned  tombstoned
12999root           932     1   27424   4604 SyS_epoll_wait 7a3b232f50 S update_engine update_engine
13000system         935     1   19292   2540 binder_ioctl_write_read 75105b2040 S android.hardware.biometrics.fingerprint@2.1-service.fpc android.hardware.biometrics.fingerprint@2.1-service.fpc
13001root           938     2       0      0 rescuer_thread 0 S [ipawq48]            9
13002root           942     2       0      0 rescuer_thread 0 S [iparepwq48]         9
13003system         950     1 2138472   3232 do_select 7bd7070088 S imsdatadaemon    imsdatadaemon
13004root           969     2       0      0 rescuer_thread 0 S [ipawq13]            9
13005root           985     2       0      0 rescuer_thread 0 S [iparepwq13]         9
13006root          1002     2       0      0 rescuer_thread 0 S [ipa_A7_svc]         1
13007root          1012     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13008root          1016     2       0      0 rescuer_thread 0 S [clnt_req]           1
13009root          1017     2       0      0 rescuer_thread 0 S [clnt_req]           1
13010root          1021     2       0      0 rescuer_thread 0 S [clnt_resp]          1
13011root          1116     2       0      0 rescuer_thread 0 S [wdsp_glink_wq]      1
13012system        1151   702 4777040 279108 SyS_epoll_wait 726d72ef50 S system_server app_process64
13013root          1199     2       0      0 rescuer_thread 0 S [mpss_IPCRTR]        1
13014root          1201     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13015root          1202     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13016root          1219     2       0      0 irq_thread 0 S [irq/157-arm-smm]        1
13017root          1220     2       0      0 irq_thread 0 S [irq/162-arm-smm]        1
13018root          1246     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13019root          1304     2       0      0 worker_thread 0 S [kworker/1:1H]        1
13020root          1305     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13021root          1382     2       0      0 rescuer_thread 0 S [ipawq14]            1
13022root          1383     2       0      0 rescuer_thread 0 S [iparepwq14]         1
13023root          1384     2       0      0 rescuer_thread 0 S [ipawq49]            1
13024root          1385     2       0      0 rescuer_thread 0 S [iparepwq49]         1
13025radio         1452   702 3654372  39588 SyS_epoll_wait 726d72ef50 S com.google.modemservice app_process64
13026u0_a68        1469   702 3784488 107960 SyS_epoll_wait 726d72ef50 S com.android.systemui app_process64
13027u0_a98        1529   702 3776304 122116 SyS_epoll_wait 726d72ef50 S com.breel.wallpapers app_process64
13028gps           1536   924 2130620   2588 futex_wait_queue_me 7ed79a2bb0 S lowi-server lowi-server
13029gps           1538   924   29112   3884 __skb_recv_datagram 736d8b2ed8 S xtra-daemon xtra-daemon
13030radio         1554   702 3655740  41320 SyS_epoll_wait 726d72ef50 S com.qualcomm.qcrilmsgtunnel app_process64
13031system        1651   702 3663924  44044 SyS_epoll_wait 726d72ef50 S .dataservices app_process64
13032radio         1666   702 3655692  40460 SyS_epoll_wait 726d72ef50 S com.qualcomm.qti.telephonyservice app_process64
13033radio         1678   702 3731184  64404 SyS_epoll_wait 726d72ef50 S com.android.phone app_process64
13034u0_a24        1798   702 3661228  44208 SyS_epoll_wait 726d72ef50 S com.google.android.ext.services app_process64
13035root          2107     2       0      0 irq_thread 0 S [irq/35-1008000.]        2
13036nfc           2195   702 3678748  51572 SyS_epoll_wait 726d72ef50 S com.android.nfc app_process64
13037u0_a10        2213   702 3670936  49256 SyS_epoll_wait 726d72ef50 S com.google.intelligence.sense app_process64
13038radio         2224   702 3658520  44856 SyS_epoll_wait 726d72ef50 S com.android.ims.rcsservice app_process64
13039system        2243   702 3655528  37844 SyS_epoll_wait 726d72ef50 S com.google.SSRestartDetector app_process64
13040u0_a19        2279   702 3777816 109604 SyS_epoll_wait 726d72ef50 S com.google.android.apps.nexuslauncher app_process64
13041u0_a125       2305   702 3666628  45068 SyS_epoll_wait 726d72ef50 S com.google.vr.vrcore app_process64
13042u0_a56        2332   702 3674796  53836 SyS_epoll_wait 726d72ef50 S com.google.android.apps.pixelmigrate app_process64
13043u0_a58        2354   702 3670496  50224 SyS_epoll_wait 726d72ef50 S com.google.android.setupwizard app_process64
13044u0_a21        2371   703  983924  39124 SyS_epoll_wait f08df650 S com.google.android.apps.miphone.aiai app_process32
13045u0_a40        2462   702 3930224 103512 SyS_epoll_wait 726d72ef50 S com.google.android.gms app_process64
13046u0_a40        2484   702 3770604  91132 SyS_epoll_wait 726d72ef50 S com.google.android.gms.persistent app_process64
13047system        3993   702 3657372  38572 SyS_epoll_wait 726d72ef50 S com.qualcomm.telephony app_process64
13048root          4295     1   21564   1484 do_sys_poll 4ae5b0 S adbd               adbd
13049root         15030     2       0      0 worker_thread 0 S [kworker/4:1]         1
13050u0_a55       16104   702 3656652  44524 SyS_epoll_wait 726d72ef50 S com.android.defcontainer app_process64
13051root         16505     2       0      0 worker_thread 0 S [kworker/u17:0]       1
13052root         18709     2       0      0 worker_thread 0 S [kworker/3:3]         1
13053root         19512     2       0      0 worker_thread 0 S [kworker/5:1]         1
13054u0_a30       21587   702 3658124  42968 SyS_epoll_wait 726d72ef50 S com.google.android.apps.turbo app_process64
13055u0_a75       21768   702 3657340  40988 SyS_epoll_wait 726d72ef50 S com.google.android.partnersetup app_process64
13056u0_a40       21787   702 3671796  45060 SyS_epoll_wait 726d72ef50 S com.google.process.gservices app_process64
13057root         23038     2       0      0 worker_thread 0 S [kworker/3:2]         2
13058root         23393     2       0      0 worker_thread 0 S [kworker/5:3]         2
13059root         24384     2       0      0 worker_thread 0 S [kworker/4:2]         2
13060root         24428     2       0      0 worker_thread 0 S [kworker/1:0]         2
13061root         24572     2       0      0 worker_thread 0 S [kworker/6:0]         2
13062u0_a47       24879   702 4319796  48404 SyS_epoll_wait 726d72ef50 S com.verizon.mips.services app_process64
13063root         24931     2       0      0 worker_thread 0 S [kworker/2:1]         2
13064root         25152     2       0      0 worker_thread 0 S [kworker/7:2]         2
13065root         25203     2       0      0 worker_thread 0 S [kworker/0:4]         2
13066root         25230     2       0      0 worker_thread 0 S [kworker/2:0]         2
13067root         25246     2       0      0 worker_thread 0 S [kworker/7:0]         2
13068root         25362     2       0      0 worker_thread 0 S [kworker/u16:4]       2
13069root         25366     2       0      0 worker_thread 0 S [kworker/0:2]         2
13070root         25390     2       0      0 worker_thread 0 S [kworker/1:2]         2
13071root         25518     2       0      0 worker_thread 0 S [kworker/u16:6]       2
13072root         25647     2       0      0 0       0 S [kworker/6:1]               2
13073root         25664     2       0      0 worker_thread 0 S [kworker/u16:1]       2
13074root         25796     2       0      0 worker_thread 0 S [kworker/0:1]         2
13075root         25814     2       0      0 worker_thread 0 S [kworker/u16:3]       2
13076root         25819     2       0      0 worker_thread 0 S [kworker/3:0]         2
13077root         25823     2       0      0 worker_thread 0 S [kworker/2:2]         2
13078root         25933     2       0      0 worker_thread 0 S [kworker/6:2]         2
13079root         25946     2       0      0 worker_thread 0 S [kworker/1:1]         2
13080root         25950     2       0      0 worker_thread 0 S [kworker/0:3]         2
13081root         25966     2       0      0 worker_thread 0 S [kworker/u16:5]       2
13082root         26081     2       0      0 worker_thread 0 S [kworker/2:3]         2
13083root         26106     2       0      0 worker_thread 0 S [kworker/4:0]         2
13084system       26142   702 3652332  39880 SyS_epoll_wait 726d72ef50 S com.android.keychain app_process64
13085u0_a46       26181   702 3660768  47288 SyS_epoll_wait 726d72ef50 S com.android.documentsui app_process64
13086u0_a8        26208   702 3655456  43208 SyS_epoll_wait 726d72ef50 S android.process.media app_process64
13087u0_a40       26343   702 3661288  44008 SyS_epoll_wait 726d72ef50 S com.google.process.gapps app_process64
13088root         26407     2       0      0 worker_thread 0 S [kworker/5:0]         2
13089u0_a72       26440   702 3663624  40964 SyS_epoll_wait 726d72ef50 S com.android.connectivity.metrics app_process64
13090root         26499     2       0      0 worker_thread 0 S [kworker/7:1]         2
13091root         26509     2       0      0 worker_thread 0 S [kworker/7:3]         2
13092radio        26510   702 3653384  40400 SyS_epoll_wait 726d72ef50 S com.google.android.connectivitymonitor app_process64
13093u0_a131      26648   702 3656444  38956 SyS_epoll_wait 726d72ef50 S com.android.printspooler app_process64
13094root         26706     2       0      0 worker_thread 0 S [kworker/1:3]         2
13095root         26771     2       0      0 worker_thread 0 S [kworker/u16:8]       2
13096u0_a45       26778   702 3667148  45288 SyS_epoll_wait 726d72ef50 S com.google.android.apps.work.oobconfig app_process64
13097root         26895     2       0      0 worker_thread 0 S [kworker/6:3]         2
13098root         26915     2       0      0 worker_thread 0 S [kworker/5:2]         2
13099u0_a4380     27030   702 3652696  39012 SyS_epoll_wait 726d72ef50 S com.google.android.apps.common.testing.services app_process64
13100root         27090  4295    9284   1716 SyS_rt_sigsuspend 7d477b3118 S sh       sh
13101root         27092 27090    9284    804 SyS_rt_sigsuspend 7d477b3118 S sh       sh
13102root         27093 27092   11752   2200 0      7018ab0a78 R ps                  toybox
13103root         27902     2       0      0 0       0 R [kworker/u17:2]             2
13104u0_a64       32499   702 3690380  57136 SyS_epoll_wait 726d72ef50 S com.google.android.ims app_process64
13105USER           PID   TID CMD
13106root             1     1 init
13107root             2     2 kthreadd
13108root             3     3 ksoftirqd/0
13109root             5     5 kworker/0:0H
13110root             6     6 kworker/u16:0
13111root             7     7 rcu_preempt
13112root             8     8 rcu_sched
13113root             9     9 rcu_bh
13114root            10    10 rcuop/0
13115root            11    11 rcuos/0
13116root            12    12 rcuob/0
13117root            13    13 migration/0
13118root            14    14 watchdog/0
13119root            15    15 watchdog/1
13120root            16    16 migration/1
13121root            17    17 ksoftirqd/1
13122root            19    19 kworker/1:0H
13123root            20    20 rcuop/1
13124root            21    21 rcuos/1
13125root            22    22 rcuob/1
13126root            23    23 watchdog/2
13127root            24    24 migration/2
13128root            25    25 ksoftirqd/2
13129root            27    27 kworker/2:0H
13130root            28    28 rcuop/2
13131root            29    29 rcuos/2
13132root            30    30 rcuob/2
13133root            31    31 watchdog/3
13134root            32    32 migration/3
13135root            33    33 ksoftirqd/3
13136root            35    35 kworker/3:0H
13137root            36    36 rcuop/3
13138root            37    37 rcuos/3
13139root            38    38 rcuob/3
13140root            39    39 watchdog/4
13141root            40    40 migration/4
13142root            41    41 ksoftirqd/4
13143root            43    43 kworker/4:0H
13144root            44    44 rcuop/4
13145root            45    45 rcuos/4
13146root            46    46 rcuob/4
13147root            47    47 watchdog/5
13148root            48    48 migration/5
13149root            49    49 ksoftirqd/5
13150root            51    51 kworker/5:0H
13151root            52    52 rcuop/5
13152root            53    53 rcuos/5
13153root            54    54 rcuob/5
13154root            55    55 watchdog/6
13155root            56    56 migration/6
13156root            57    57 ksoftirqd/6
13157root            59    59 kworker/6:0H
13158root            60    60 rcuop/6
13159root            61    61 rcuos/6
13160root            62    62 rcuob/6
13161root            63    63 watchdog/7
13162root            64    64 migration/7
13163root            65    65 ksoftirqd/7
13164root            67    67 kworker/7:0H
13165root            68    68 rcuop/7
13166root            69    69 rcuos/7
13167root            70    70 rcuob/7
13168root            71    71 netns
13169root            72    72 perf
13170root            73    73 smd_channel_clo
13171root            74    74 dsps_smd_trans_
13172root            75    75 lpass_smd_trans
13173root            76    76 mpss_smd_trans_
13174root            77    77 wcnss_smd_trans
13175root            78    78 rpm_smd_trans_g
13176root            79    79 ipa_usb_wq
13177root            81    81 smem_native_mps
13178root            82    82 mpss_smem_glink
13179root            83    83 smem_native_lpa
13180root            84    84 lpass_smem_glin
13181root            85    85 smem_native_dsp
13182root            86    86 dsps_smem_glink
13183root            87    87 smem_native_rpm
13184root            88    88 rpm_smem_glink_
13185root            89    89 smem_native_sps
13186root            90    90 spss_mailbox_gl
13187root            91    91 msm_watchdog
13188root            92    92 deferwq
13189root            94    94 irq/126-cpr3
13190root            95    95 mpm
13191root            96    96 kworker/u16:2
13192root            97    97 khungtaskd
13193root            98    98 writeback
13194root            99    99 kcompactd0
13195root           100   100 crypto
13196root           101   101 bioset
13197root           102   102 kblockd
13198root           103   103 md
13199root           104   104 edac-poller
13200root           105   105 system
13201root           106   106 easel_mem
13202root           107   107 devfreq_wq
13203root           108   108 governor_msm_ad
13204root           110   110 cfg80211
13205root           111   111 irq/134-arm-smm
13206root           112   112 ipa_power_mgmt
13207root           113   113 transport_power
13208root           114   114 ipa_rm_wq
13209root           115   115 ipa_interrupt_w
13210root           116   116 irq/135-arm-smm
13211root           117   117 irq/136-arm-smm
13212root           118   118 therm_core:noti
13213root           119   119 therm_core:noti
13214root           120   120 therm_core:noti
13215root           121   121 therm_core:noti
13216root           147   147 power_off_alarm
13217root           148   148 kswapd0
13218root           149   149 vmstat
13219root           150   150 fsnotify_mark
13220root           182   182 ad_calc_wq
13221root           183   183 mdss_dsi_event
13222root           184   184 mdss_dsi_dba
13223root           185   185 cwb_wq
13224root           186   186 vsync_retire_wo
13225root           187   187 cwb_wq
13226root           189   189 glink_ssr_wq
13227root           190   190 glink_lbsrv
13228root           191   191 spi_wdsp
13229root           192   192 wdsp_spi_glink_
13230root           193   193 glink_xprt_wq
13231root           194   194 IPCRTR_mpss_sme
13232root           195   195 IPCRTR_lpass_sm
13233root           196   196 IPCRTR_dsps_sme
13234root           197   197 apr_driver
13235root           198   198 glink_pkt_wq
13236root           199   199 mem_share_svc
13237root           200   200 qmi_hndl0000000
13238root           201   201 msm_ipc_router
13239root           202   202 irq/137-arm-smm
13240root           203   203 qmi_svc_event_w
13241root           204   204 servloc_wq
13242root           205   205 tty_worker_thre
13243root           206   206 tty_worker_thre
13244root           207   207 tty_worker_thre
13245root           208   208 tty_worker_thre
13246root           209   209 k_hsuart
13247root           210   210 msm_serial_hs_0
13248root           211   211 msm_serial_hs_0
13249root           212   212 hwrng
13250root           215   215 diag_real_time_
13251root           216   216 diag_wq
13252root           217   217 DIAG_USB_diag
13253root           218   218 diag_cntl_wq
13254root           219   219 diag_dci_wq
13255root           220   220 DIAG_SMD_MODEM_
13256root           221   221 DIAG_SMD_MODEM_
13257root           222   222 DIAG_SMD_MODEM_
13258root           223   223 DIAG_SMD_MODEM_
13259root           224   224 DIAG_SMD_MODEM_
13260root           225   225 DIAG_SMD_LPASS_
13261root           226   226 DIAG_SMD_LPASS_
13262root           227   227 DIAG_SMD_LPASS_
13263root           228   228 DIAG_SMD_LPASS_
13264root           229   229 DIAG_SMD_LPASS_
13265root           230   230 DIAG_SMD_WCNSS_
13266root           231   231 DIAG_SMD_WCNSS_
13267root           232   232 DIAG_SMD_WCNSS_
13268root           233   233 DIAG_SMD_WCNSS_
13269root           234   234 DIAG_SMD_WCNSS_
13270root           235   235 DIAG_SMD_SENSOR
13271root           236   236 DIAG_SMD_SENSOR
13272root           237   237 DIAG_SMD_SENSOR
13273root           238   238 DIAG_SMD_SENSOR
13274root           239   239 DIAG_SMD_SENSOR
13275root           240   240 DIAG_SMD_DIAG_C
13276root           241   241 DIAG_SMD_DIAG_D
13277root           242   242 DIAG_SMD_DIAG_C
13278root           243   243 DIAG_SMD_DIAG_D
13279root           244   244 DIAG_SMD_DIAG_D
13280root           245   245 DIAG_SMD_CDSP_C
13281root           246   246 DIAG_SMD_CDSP_D
13282root           247   247 DIAG_SMD_CDSP_C
13283root           248   248 DIAG_SMD_CDSP_D
13284root           249   249 DIAG_SMD_CDSP_D
13285root           250   250 DIAG_SOCKMODEM_
13286root           251   251 DIAG_SOCKMODEM_
13287root           252   252 DIAG_SOCKMODEM_
13288root           253   253 DIAG_SOCKMODEM_
13289root           254   254 DIAG_SOCKMODEM_
13290root           255   255 DIAG_SOCKLPASS_
13291root           256   256 DIAG_SOCKLPASS_
13292root           257   257 DIAG_SOCKLPASS_
13293root           258   258 DIAG_SOCKLPASS_
13294root           259   259 DIAG_SOCKLPASS_
13295root           260   260 DIAG_SOCKWCNSS_
13296root           261   261 DIAG_SOCKWCNSS_
13297root           262   262 DIAG_SOCKWCNSS_
13298root           263   263 DIAG_SOCKWCNSS_
13299root           265   265 DIAG_SOCKWCNSS_
13300root           266   266 DIAG_SOCKSENSOR
13301root           267   267 DIAG_SOCKSENSOR
13302root           268   268 DIAG_SOCKSENSOR
13303root           269   269 DIAG_SOCKSENSOR
13304root           270   270 DIAG_SOCKSENSOR
13305root           271   271 DIAG_SOCKDIAG_C
13306root           272   272 DIAG_SOCKDIAG_D
13307root           273   273 DIAG_SOCKDIAG_C
13308root           274   274 DIAG_SOCKDIAG_D
13309root           275   275 DIAG_SOCKDIAG_D
13310root           276   276 DIAG_SOCKCDSP_C
13311root           277   277 DIAG_SOCKCDSP_D
13312root           278   278 DIAG_SOCKCDSP_C
13313root           279   279 DIAG_SOCKCDSP_D
13314root           280   280 DIAG_SOCKCDSP_D
13315root           281   281 DIAG_CNTL_SOCKE
13316root           282   282 DIAG_GLINK_DIAG
13317root           283   283 DIAG_GLINK_DIAG
13318root           284   284 DIAG_GLINK_DIAG
13319root           285   285 DIAG_GLINK_DIAG
13320root           286   286 DIAG_GLINK_DIAG
13321root           287   287 kgsl-workqueue
13322root           288   288 kgsl-mementry
13323root           289   289 kgsl_worker_thr
13324root           290   290 kgsl-events
13325root           291   291 kgsl_devfreq_wq
13326root           292   292 bioset
13327root           293   293 bioset
13328root           294   294 bioset
13329root           295   295 bioset
13330root           296   296 bioset
13331root           297   297 bioset
13332root           298   298 bioset
13333root           299   299 bioset
13334root           300   300 bioset
13335root           301   301 bioset
13336root           302   302 bioset
13337root           303   303 bioset
13338root           304   304 bioset
13339root           305   305 bioset
13340root           307   307 bioset
13341root           308   308 bioset
13342root           309   309 bioset
13343root           310   310 bioset
13344root           311   311 bioset
13345root           312   312 bioset
13346root           313   313 bioset
13347root           314   314 bioset
13348root           315   315 bioset
13349root           316   316 bioset
13350root           317   317 bioset
13351root           318   318 irq/286-soc:fp_
13352root           319   319 memory_wq
13353root           320   320 qcrypto_seq_res
13354root           321   321 scsi_eh_0
13355root           322   322 scsi_tmf_0
13356root           323   323 ufs_pm_qos_0
13357root           324   324 ufs_clk_ungatin
13358root           325   325 ufs_clkscaling_
13359root           326   326 spi1
13360root           327   327 spi2
13361root           328   328 spi10
13362root           329   329 bond0
13363root           330   330 sharedmem_qmi_w
13364root           331   331 qmi_hndl0000000
13365root           335   335 uether
13366root           336   336 k_ipa_usb
13367root           341   341 irq/262-vl53l0_
13368root           342   342 bioset
13369root           343   343 bioset
13370root           344   344 bioset
13371root           345   345 bioset
13372root           347   347 bioset
13373root           348   348 bioset
13374root           349   349 bioset
13375root           350   350 bioset
13376root           351   351 bioset
13377root           355   355 msm_cci_wq
13378root           356   356 msm_cci_wq
13379root           357   357 msm_cpp_workque
13380root           358   358 msm_vidc_worker
13381root           359   359 pm_workerq_venu
13382root           360   360 irq/158-arm-smm
13383root           361   361 irq/159-arm-smm
13384root           362   362 irq/160-arm-smm
13385root           363   363 irq/161-arm-smm
13386root           364   364 rot_commitq_0_0
13387root           365   365 rot_commitq_0_1
13388root           366   366 rot_doneq_0_0
13389root           367   367 rot_doneq_0_1
13390root           368   368 therm_core:noti
13391root           370   370 irq/500-chg-err
13392root           371   371 irq/501-chg-sta
13393root           372   372 irq/502-step-ch
13394root           373   373 irq/503-step-ch
13395root           374   374 irq/504-step-ch
13396root           375   375 irq/505-otg-fai
13397root           376   376 irq/506-otg-ove
13398root           377   377 irq/507-otg-oc-
13399root           378   378 irq/508-testmod
13400root           379   379 irq/509-bat-tem
13401root           380   380 irq/510-bat-ocp
13402root           381   381 irq/511-bat-ov
13403root           382   382 irq/512-bat-low
13404root           383   383 irq/513-bat-the
13405root           384   384 irq/514-bat-ter
13406root           385   385 irq/515-usbin-c
13407root           386   386 irq/516-usbin-l
13408root           387   387 irq/517-usbin-u
13409root           388   388 irq/518-usbin-o
13410root           389   389 irq/519-usbin-p
13411root           390   390 irq/520-usbin-s
13412root           391   391 irq/521-usbin-i
13413root           392   392 irq/522-type-c-
13414root           393   393 irq/523-dcin-co
13415root           394   394 irq/524-dcin-lt
13416root           395   395 irq/525-dcin-uv
13417root           396   396 irq/526-dcin-ov
13418root           397   397 irq/527-dcin-pl
13419root           398   398 irq/528-div2-en
13420root           399   399 irq/529-dcin-ic
13421root           400   400 irq/532-aicl-fa
13422root           401   401 irq/533-aicl-do
13423root           402   402 irq/534-high-du
13424root           403   403 irq/535-input-c
13425root           404   404 irq/536-tempera
13426root           405   405 irq/537-switche
13427root           406   406 therm_core:noti
13428root           407   407 therm_core:noti
13429root           409   409 therm_core:noti
13430root           410   410 therm_core:noti
13431root           411   411 therm_core:noti
13432root           412   412 therm_core:noti
13433root           413   413 therm_core:noti
13434root           414   414 therm_core:noti
13435root           415   415 therm_core:noti
13436root           416   416 therm_core:noti
13437root           417   417 therm_core:noti
13438root           418   418 therm_core:noti
13439root           419   419 therm_core:noti
13440root           420   420 therm_core:noti
13441root           421   421 therm_core:noti
13442root           422   422 therm_core:noti
13443root           423   423 therm_core:noti
13444root           424   424 therm_core:noti
13445root           425   425 therm_core:noti
13446root           426   426 therm_core:noti
13447root           427   427 therm_core:noti
13448root           428   428 therm_core:noti
13449root           429   429 irq/59-tsens_in
13450root           430   430 irq/62-tsens_cr
13451root           431   431 therm_core:noti
13452root           432   432 therm_core:noti
13453root           433   433 therm_core:noti
13454root           434   434 therm_core:noti
13455root           435   435 therm_core:noti
13456root           436   436 therm_core:noti
13457root           437   437 therm_core:noti
13458root           438   438 therm_core:noti
13459root           439   439 irq/63-tsens_in
13460root           440   440 irq/64-tsens_cr
13461root           441   441 therm_core:noti
13462root           442   442 irq/366-limits_
13463root           443   443 therm_core:noti
13464root           444   444 irq/367-limits_
13465root           445   445 dm_bufio_cache
13466root           446   446 cfinteractive
13467root           447   447 irq/291-bcm1560
13468root           448   448 irq/226-bcm1560
13469root           449   449 therm_core:noti
13470root           451   451 irq/197-spdm_bw
13471root           452   452 binder
13472root           453   453 irq/144-arm-smm
13473root           454   454 uaudio_svc
13474root           455   455 qmi_hndl0000000
13475root           456   456 ipv6_addrconf
13476root           458   458 irq/574-adsp
13477root           459   459 sysmon_wq
13478root           460   460 irq/606-slpi
13479root           461   461 irq/542-modem
13480root           465   465 usb_bam_wq
13481root           466   466 irq/19-sig-tx
13482root           467   467 irq/20-sig-rx
13483root           468   468 irq/22-msg-rx
13484root           469   469 usbpd0
13485root           470   470 usbpd0
13486root           471   471 therm_core:noti
13487root           472   472 irq/734-soc-upd
13488root           473   473 irq/735-soc-rea
13489root           474   474 irq/736-bsoc-de
13490root           475   475 irq/737-msoc-de
13491root           476   476 irq/738-msoc-lo
13492root           477   477 irq/739-msoc-em
13493root           478   478 irq/740-msoc-hi
13494root           479   479 irq/741-msoc-fu
13495root           480   480 irq/742-vbatt-p
13496root           481   481 irq/743-vbatt-l
13497root           482   482 irq/744-esr-del
13498root           483   483 irq/745-batt-mi
13499root           484   484 irq/746-batt-te
13500root           485   485 irq/747-ima-rdy
13501root           486   486 irq/748-mem-xcp
13502root           487   487 irq/749-dma-gra
13503root           489   489 irq/54-hs_phy_i
13504root           490   490 irq/55-ss_phy_i
13505root           491   491 irq/56-msm_dwc3
13506root           494   494 irq/36-ARM64 pr
13507root           495   495 irq/37-ARM64 se
13508root           496   496 irq/39-ARM64 pr
13509root           497   497 irq/40-ARM64 se
13510root           498   498 rq_stats
13511root           499   499 irq/145-arm-smm
13512root           500   500 irq/146-arm-smm
13513root           501   501 irq/147-arm-smm
13514root           502   502 irq/148-arm-smm
13515root           503   503 irq/149-arm-smm
13516root           504   504 irq/150-arm-smm
13517root           505   505 irq/151-arm-smm
13518root           506   506 irq/152-arm-smm
13519root           507   507 set_state_work
13520root           508   508 irq/227-mnh-rea
13521root           510   510 irq/751-mnh_pci
13522root           511   511 irq/752-mnh_pci
13523root           512   512 irq/753-mnh_pci
13524root           513   513 irq/754-mnh_pci
13525root           514   514 irq/755-mnh_pci
13526root           515   515 irq/758-mnh_pci
13527root           516   516 irq/759-mnh_pci
13528root           517   517 irq/128-arm-smm
13529root           518   518 sb-1
13530root           519   519 ngd_rx_thread1
13531root           520   520 ngd_notify_sl1
13532root           521   521 sb-3
13533root           522   522 ngd_rx_thread3
13534root           523   523 ngd_notify_sl3
13535root           525   525 therm_core:noti
13536root           526   526 therm_core:noti
13537root           527   527 therm_core:noti
13538root           528   528 irq/66-lmh-inte
13539root           529   529 irq/28-qpnp_fla
13540root           530   530 irq/27-qpnp_fla
13541root           531   531 irq/26-qpnp_fla
13542root           532   532 kworker/6:1H
13543root           533   533 kworker/5:1H
13544root           534   534 kworker/7:1H
13545root           535   535 ext4-rsv-conver
13546root           536   536 kworker/4:1H
13547root           537   537 jbd2/sdd3-8
13548root           538   538 ext4-rsv-conver
13549root           539   539 ext4-rsv-conver
13550root           542   542 init
13551root           543   543 ueventd
13552root           545   545 kworker/0:1H
13553root           550   550 irq/760-synapti
13554root           551   551 dsx_rebuild_wor
13555root           552   552 dsx_exp_workque
13556root           556   556 batt_timer
13557system         566   566 qseecomd
13558root           567   567 sugov:0
13559root           568   568 sugov:4
13560system         570   570 hwservicemanage
13561logd           571   571 logd
13562logd           571   576 logd.daemon
13563logd           571   581 logd.reader
13564logd           571   582 logd.writer
13565logd           571   583 logd.control
13566logd           571   602 logd.klogd
13567logd           571   603 logd.auditd
13568logd           571   974 logd.reader.per
13569system         572   572 servicemanager
13570system         573   573 vndservicemanag
13571system         574   574 qseecomd
13572system         574   575 qseecomd
13573system         574   577 qseecomd
13574system         574   578 qseecomd
13575system         574   579 qseecomd
13576system         574   580 qseecomd
13577root           584   584 kauditd
13578root           586   586 boot@1.0-servic
13579system         587   587 gatekeeper@1.0-
13580system         588   588 keyprimary@3.0-s
13581system         589   589 keyprimary@4.0-s
13582system         589   604 HwBinder:589_1
13583system         591   591 surfaceflinger
13584system         591   620 HwBinder:591_1
13585system         591   623 Binder:591_1
13586system         591   624 Binder:591_2
13587system         591   625 DispSync
13588system         591   626 appEventThread
13589system         591   627 sfEventThread
13590system         591   664 VrEvent
13591system         591   666 VrHwcPost
13592system         591   667 VrDispatch
13593system         591   668 surfaceflinger
13594system         591  1218 Binder:591_3
13595system         591  1671 Binder:591_4
13596system         591  1775 Binder:591_5
13597system         593   593 composer@2.1-se
13598system         593   608 Binder:593_1
13599system         593   609 Binder:593_2
13600system         593   634 SDM_EventThread
13601system         593   649 android.hardwar
13602system         593   651 HWC_UeventThrea
13603system         593   656 HwBinder:593_1
13604system         593   657 HwBinder:593_2
13605system         593   665 HwBinder:593_3
13606system         594   594 configstore@1.0
13607system         594   622 HwBinder:594_1
13608system         594  7100 HwBinder:594_2
13609system         595   595 allocator@2.0-s
13610system         595   610 HwBinder:595_1
13611system         595  1778 HwBinder:595_2
13612system         595  1779 HwBinder:595_3
13613root           612   612 jbd2/sda45-8
13614root           613   613 ext4-rsv-conver
13615system         616   616 time_daemon
13616system         616   629 time_daemon
13617system         616   630 time_daemon
13618system         616   631 time_daemon
13619system         616   632 time_daemon
13620system         616   633 time_daemon
13621system         616  1267 time_daemon
13622root           617   617 Binder:617_2
13623root           617   637 Binder:617_1
13624root           617   638 Binder:617_2
13625root           617   639 Binder:617_3
13626root           617   640 Binder:617_4
13627root           617   641 HwBinder:617_1
13628root           617  1439 Binder:617_5
13629root           619   619 mdss_fb0
13630root           635   635 irq/177-arm-smm
13631root           636   636 irq/178-arm-smm
13632root           642   642 dsps_IPCRTR
13633root           643   643 fwu_workqueue
13634root           647   647 lpass_IPCRTR
13635root           648   648 qmi_hndl0000000
13636root           663   663 kworker/2:1H
13637root           671   671 kworker/u16:7
13638root           672   672 qmi_hndl0000000
13639root           673   673 msm_slim_qmi_cl
13640root           674   674 msm_slim_qmi_cl
13641root           675   675 qmi_hndl0000000
13642root           676   676 qmi_hndl0000000
13643root           678   678 irq/153-arm-smm
13644root           685   685 Binder:685_2
13645root           685   695 netd
13646root           685   706 netd
13647root           685   707 netd
13648root           685   708 netd
13649root           685   709 netd
13650root           685   710 netd
13651root           685   711 netd
13652root           685   712 netd
13653root           685   713 netd
13654root           685   715 Binder:685_1
13655root           685   716 Binder:685_2
13656root           685   717 HwBinder:685_1
13657root           693   693 iptables-restor
13658root           694   694 ip6tables-resto
13659root           702   702 main
13660root           702 27031 ReferenceQueueD
13661root           702 27032 FinalizerDaemon
13662root           702 27033 FinalizerWatchd
13663root           702 27034 HeapTaskDaemon
13664root           703   703 main
13665root           703 26533 ReferenceQueueD
13666root           703 26534 FinalizerDaemon
13667root           703 26535 FinalizerWatchd
13668root           703 26536 HeapTaskDaemon
13669root           704   704 cds_recovery_wo
13670root           705   705 wlan_logging_th
13671root           722   722 at_usb0
13672root           723   723 at_usb1
13673root           724   724 qdss
13674root           729   729 healthd
13675root           730   730 thermal-engine
13676root           730   747 HwBinder:730_1
13677root           730   750 thermal-engine
13678root           730   753 thermal-engine
13679root           730   757 thermal-engine
13680root           730   758 thermal-engine
13681root           730   762 thermal-engine
13682root           730   763 thermal-engine
13683root           730   764 thermal-engine
13684root           730   766 thermal-engine
13685root           730   768 thermal-engine
13686root           730   769 thermal-engine
13687root           730   770 thermal-engine
13688root           730   771 thermal-engine
13689root           730   772 thermal-engine
13690root           730   774 thermal-engine
13691root           730   775 thermal-engine
13692root           730   776 thermal-engine
13693root           730   777 thermal-engine
13694root           730   779 thermal-engine
13695root           730   780 thermal-engine
13696root           730   782 thermal-engine
13697root           730   783 thermal-engine
13698root           730   784 thermal-engine
13699root           730   785 thermal-engine
13700root           730   786 thermal-engine
13701root           730   788 thermal-engine
13702root           730   789 thermal-engine
13703root           730   790 thermal-engine
13704root           730   791 thermal-engine
13705root           730   792 thermal-engine
13706root           730   794 thermal-engine
13707root           730   795 thermal-engine
13708root           730   796 thermal-engine
13709root           730   797 thermal-engine
13710root           730   798 thermal-engine
13711root           730   799 thermal-engine
13712root           730   800 thermal-engine
13713root           730   801 thermal-engine
13714root           730   803 thermal-engine
13715root           730   804 thermal-engine
13716root           730   805 thermal-engine
13717root           730   806 thermal-engine
13718root           730   808 thermal-engine
13719root           730   809 thermal-engine
13720root           730   810 thermal-engine
13721root           730   811 thermal-engine
13722root           730   814 thermal-engine
13723root           730   815 thermal-engine
13724root           730   817 thermal-engine
13725root           730   818 thermal-engine
13726root           730   820 thermal-engine
13727root           730   821 thermal-engine
13728root           730   822 thermal-engine
13729root           730   823 thermal-engine
13730root           730   824 thermal-engine
13731root           730   832 thermal-engine
13732root           730   833 thermal-engine
13733root           730   834 thermal-engine
13734root           730   839 thermal-engine
13735root           730   840 thermal-engine
13736root           730   841 thermal-engine
13737root           730   842 thermal-engine
13738root           730   843 thermal-engine
13739root           730  1244 thermal-engine
13740root           730  1245 thermal-engine
13741system         731   731 allocator@1.0-s
13742system         732   732 vr_hwc
13743system         732   765 Binder:732_1
13744system         732   767 HwBinder:732_1
13745system         732   781 Binder:732_2
13746audioserver    733   733 audio@2.0-servi
13747audioserver    733  1111 audio@2.0-servi
13748audioserver    733  1118 audio@2.0-servi
13749audioserver    733  1119 HwBinder:733_1
13750audioserver    733  1164 HwBinder:733_1
13751audioserver    733  1165 HwBinder:733_2
13752audioserver    733  1347 HwBinder:733_3
13753audioserver    733  2714 HwBinder:733_4
13754audioserver    733  2763 writer
13755audioserver    733 11695 HwBinder:733_5
13756bluetooth      734   734 bluetooth@1.0-s
13757bluetooth      734   746 HwBinder:734_1
13758root           735   735 irq/254-wcd9xxx
13759cameraserver   736   736 provider@2.4-se
13760cameraserver   736  1989 HwBinder:736_1
13761cameraserver   736  1999 CAM_imgTh
13762cameraserver   736  2000 CAM_imgTh
13763cameraserver   736  2001 CAM_imgTh
13764cameraserver   736  2002 CAM_imgTh
13765cameraserver   736  2003 CAM_imgTh
13766cameraserver   736  2004 CAM_imgTh
13767cameraserver   736  2005 CAM_imgTh
13768cameraserver   736  2006 CAM_imgTh
13769cameraserver   736  2007 CAM_imgTh
13770cameraserver   736  2008 CAM_imgTh
13771cameraserver   736  2009 CAM_imgTh
13772cameraserver   736  2010 CAM_imgTh
13773cameraserver   736  2011 CAM_imgTh
13774cameraserver   736  2012 CAM_imgTh
13775cameraserver   736  2013 CAM_imgTh
13776cameraserver   736  2014 CAM_imgTh
13777cameraserver   736  2015 CAM_imgTh
13778cameraserver   736  2016 CAM_imgTh
13779cameraserver   736  2017 CAM_imgTh
13780cameraserver   736  2018 CAM_imgTh
13781cameraserver   736  2030 android.hardwar
13782cameraserver   736  2048 CAM_gyro_sens
13783cameraserver   736  2101 HwBinder:736_1
13784cameraserver   736 14831 HwBinder:736_2
13785cameraserver   736 14832 HwBinder:736_3
13786cameraserver   736 14856 CAM_startsensor
13787cameraserver   736 14857 CAM_startsensor
13788cameraserver   736 21484 HwBinder:736_4
13789media          737   737 cas@1.0-service
13790media          737 23185 HwBinder:737_1
13791media          737 23186 HwBinder:737_2
13792system         738   738 contexthub@1.0-
13793system         738   754 android.hardwar
13794media          739   739 drm@1.0-service
13795media          739   846 HwBinder:739_1
13796media          739 23188 HwBinder:739_2
13797media          739 23190 HwBinder:739_3
13798media          740   740 drm@1.0-service
13799media          740 23189 HwBinder:740_1
13800media          740 23191 HwBinder:740_2
13801media          741   741 drm@1.1-service
13802media          741 23187 HwBinder:741_1
13803media          741 23192 HwBinder:741_2
13804media          741 23193 HwBinder:741_3
13805media          741 23194 HwBinder:741_4
13806system         742   742 dumpstate@1.0-s
13807gps            743   743 gnss@1.0-servic
13808gps            743  1563 Loc_hal
13809gps            743  1614 Loc_hal
13810gps            743  1617 Loc_hal
13811gps            743  1620 Loc_hal
13812gps            743  1630 Loc_hal
13813gps            743  1634 Loc_hal
13814gps            743  1635 Loc_hal
13815gps            743  1637 Loc_hal
13816gps            743  1638 Loc_hal
13817system         744   744 health@2.0-serv
13818system         745   745 light@2.0-servi
13819system         748   748 memtrack@1.0-se
13820system         756   756 neuralnetworks@
13821system         756 23195 HwBinder:756_1
13822system         756 23196 HwBinder:756_2
13823system         756 27056 HwBinder:756_2
13824system         756 27057 HwBinder:756_2
13825system         756 27059 HwBinder:756_3
13826nfc            759   759 nfc@1.0-service
13827system         760   760 oemlock@1.0-ser
13828root           761   761 oemlock-bridge
13829system         773   773 power@1.2-servi
13830system         773   844 NodeLooperThrea
13831system         773   845 android.hardwar
13832system         778   778 sensors@1.0-ser
13833system         778   857 android.hardwar
13834system         778   858 android.hardwar
13835system         778   863 android.hardwar
13836system         778   981 android.hardwar
13837system         778   983 android.hardwar
13838system         778   984 android.hardwar
13839system         778   989 android.hardwar
13840system         778   999 android.hardwar
13841system         778  1000 android.hardwar
13842system         778  1001 android.hardwar
13843system         778  1003 android.hardwar
13844system         778  1004 android.hardwar
13845system         778  1013 android.hardwar
13846system         778  1015 android.hardwar
13847system         778  1022 android.hardwar
13848system         778  1023 android.hardwar
13849system         778  1034 android.hardwar
13850system         778  1035 android.hardwar
13851system         778  1044 android.hardwar
13852system         778  1045 android.hardwar
13853system         778  1048 android.hardwar
13854system         778  1049 android.hardwar
13855system         778  1050 android.hardwar
13856system         778  1051 android.hardwar
13857system         778  1057 android.hardwar
13858system         778  1058 android.hardwar
13859system         778  1060 android.hardwar
13860system         778  1061 android.hardwar
13861system         778  1062 android.hardwar
13862system         778  1063 android.hardwar
13863system         778  1067 android.hardwar
13864system         778  1068 android.hardwar
13865system         778  1073 android.hardwar
13866system         778  1074 android.hardwar
13867system         778  1076 android.hardwar
13868system         778  1077 android.hardwar
13869system         778  1078 android.hardwar
13870system         778  1079 android.hardwar
13871system         778  1083 android.hardwar
13872system         778  1084 android.hardwar
13873system         778  1086 android.hardwar
13874system         778  1087 HwBinder:778_1
13875system         778  1308 sensors@1.0-ser
13876system         778  1309 sensors@1.0-ser
13877system         778  1310 sensors@1.0-ser
13878root           787   787 usb@1.1-service
13879root           787   957 HwBinder:787_1
13880root           787   966 usb@1.1-service
13881root           787  1355 usb@1.1-service
13882system         793   793 vibrator@1.2-se
13883system         802   802 vr@1.0-service.
13884wifi           807   807 offload@1.0-ser
13885wifi           807   855 android.hardwar
13886wifi           812   812 android.hardwar
13887ese            813   813 esed
13888root           816   816 msm_irqbalance
13889system         819   819 pm-service
13890system         819   851 POSIX timer 0
13891system         819   852 POSIX timer 1
13892system         819   853 POSIX timer 2
13893system         819   860 pm-service
13894system         819   861 Binder:819_1
13895system         819   866 Binder:819_2
13896system         819   949 Binder:819_3
13897system         819   960 Binder:819_4
13898system         825   825 sensors.qcom
13899system         825   856 sensors.qcom
13900system         825   864 sensors.qcom
13901system         825   868 sensors.qcom
13902system         825   875 sensors.qcom
13903system         825   876 sensors.qcom
13904system         825   877 sensors.qcom
13905system         825   878 sensors.qcom
13906system         825   880 sensors.qcom
13907system         825   881 sensors.qcom
13908system         825   979 sensors.qcom
13909system         825   980 sensors.qcom
13910nobody         827   827 rmt_storage
13911nobody         827  1205 rmt_storage
13912nobody         827  1206 rmt_storage
13913nobody         827  1207 rmt_storage
13914nobody         827  1208 rmt_storage
13915system         828   828 tftp_server
13916system         829   829 pd-mapper
13917system         829   862 pd-mapper
13918audioserver    830   830 audioserver
13919audioserver    830   977 HwBinder:830_1
13920audioserver    830   988 HwBinder:830_2
13921audioserver    830  1121 ApmTone
13922audioserver    830  1122 ApmAudio
13923audioserver    830  1123 ApmOutput
13924audioserver    830  1124 Binder:830_1
13925audioserver    830  1125 Binder:830_2
13926audioserver    830  1166 HwBinder:830_3
13927audioserver    830  1167 FastMixer
13928audioserver    830  1168 AudioOut_D
13929audioserver    830  1169 FastMixer
13930audioserver    830  1170 AudioOut_15
13931audioserver    830  1171 AudioOut_1D
13932audioserver    830  1172 FastMixer
13933audioserver    830  1173 AudioOut_25
13934audioserver    830  1174 AudioOut_2D
13935audioserver    830  1175 FastMixer
13936audioserver    830  1176 AudioOut_35
13937audioserver    830  1274 soundTrigger cb
13938audioserver    830  1488 Binder:830_3
13939audioserver    830  2212 Binder:830_4
13940audioserver    830  4011 Binder:830_5
13941audioserver    830 12424 Binder:830_6
13942audioserver    830 27475 Binder:830_7
13943audioserver    830  8696 Binder:830_8
13944audioserver    830 11301 Binder:830_9
13945audioserver    830 14272 Binder:830_A
13946audioserver    830  6771 Binder:830_B
13947audioserver    830  2083 Binder:830_C
13948system         831   831 bufferhubd
13949root           835   835 lmkd
13950system         836   836 performanced
13951system         837   837 thermalserviced
13952system         837   867 HwBinder:837_1
13953system         837   869 HwBinder:837_2
13954system         838   838 Binder:838_2
13955system         838   850 Binder:838_1
13956root           854   854 msm_thermal:fre
13957root           859   859 msm_thermal:the
13958root           865   865 qmi_hndl0000000
13959root           873   873 modem
13960system         874   874 pm-proxy
13961system         874   886 Binder:874_1
13962system         874   887 Binder:874_2
13963system         874   888 Binder:874_3
13964root           879   879 subsystem_ramdu
13965nobody         882   882 traced
13966nobody         883   883 traced_probes
13967media          884   884 adsprpcd
13968media          884   910 adsprpcd
13969media          884   913 adsprpcd
13970system         885   885 imsqmidaemon
13971system         885   894 imsqmidaemon
13972radio          890   890 cnd
13973radio          890   939 cnd
13974radio          890   946 HwBinder:890_1
13975radio          890   947 cnd
13976radio          890  1268 cnd
13977radio          890  1292 cnd
13978root           892   892 kworker/3:1H
13979radio          893   893 netmgrd
13980root           893   944 netmgrd
13981radio          893   965 netmgrd
13982radio          893   972 HwBinder:893_1
13983radio          893  1007 netmgrd
13984radio          893  1008 netmgrd
13985radio          893  1009 netmgrd
13986radio          893  1149 netmgrd
13987radio          893  1150 netmgrd
13988radio          893  1269 netmgrd
13989radio          893  1375 netmgrd
13990radio          893  1378 netmgrd
13991radio          893  1379 netmgrd
13992radio          893  1380 netmgrd
13993radio          893  1395 netmgrd
13994radio          893  1396 netmgrd
13995radio          893  1398 netmgrd
13996radio          893  1399 netmgrd
13997radio          893  1415 netmgrd
13998radio          893  1416 netmgrd
13999radio          893  1417 netmgrd
14000radio          893  1418 netmgrd
14001radio          893  1429 netmgrd
14002radio          893  1430 netmgrd
14003radio          893  1431 netmgrd
14004radio          893  1433 netmgrd
14005radio          893  1509 netmgrd
14006radio          893  1517 netmgrd
14007radio          893  1520 netmgrd
14008radio          893  1521 netmgrd
14009radio          893  1602 netmgrd
14010radio          893  1603 netmgrd
14011radio          893  1619 netmgrd
14012radio          893  1621 netmgrd
14013radio          893  1622 netmgrd
14014radio          893  1723 netmgrd
14015radio          893  1726 netmgrd
14016radio          893  1729 netmgrd
14017radio          893  1730 netmgrd
14018radio          893  1819 netmgrd
14019radio          893  1829 netmgrd
14020radio          893  1831 netmgrd
14021radio          893  1886 netmgrd
14022radio          893  1893 netmgrd
14023radio          893  1894 netmgrd
14024radio          893  1895 netmgrd
14025radio          893  1896 netmgrd
14026radio          893  1898 netmgrd
14027radio          893  1900 netmgrd
14028radio          893  1902 netmgrd
14029radio          893  1903 netmgrd
14030radio          893  1906 netmgrd
14031radio          893  1907 netmgrd
14032radio          893  1908 netmgrd
14033radio          893  1909 netmgrd
14034radio          893  1917 netmgrd
14035radio          893  1920 netmgrd
14036radio          893  1921 netmgrd
14037radio          893  1922 netmgrd
14038radio          893  1927 netmgrd
14039radio          893  1928 netmgrd
14040radio          893  1929 netmgrd
14041radio          893  1930 netmgrd
14042radio          893  1940 netmgrd
14043radio          893  1945 netmgrd
14044radio          893  1946 netmgrd
14045radio          893  1947 netmgrd
14046radio          893  1955 netmgrd
14047radio          893  1956 netmgrd
14048radio          893  1957 netmgrd
14049radio          893  1958 netmgrd
14050radio          893  1972 netmgrd
14051radio          893  1973 netmgrd
14052radio          893  1974 netmgrd
14053radio          893  1975 netmgrd
14054radio          893  1978 netmgrd
14055radio          893  1979 netmgrd
14056radio          893  1980 netmgrd
14057radio          893  1981 netmgrd
14058radio          897   897 port-bridge
14059radio          897   915 port-bridge
14060radio          897   916 port-bridge
14061radio          898   898 ipacm
14062radio          898   951 HwBinder:898_1
14063radio          898   952 ipacm
14064radio          898   953 netlink socket
14065radio          898   954 ipa driver ntfy
14066radio          899   899 qti
14067radio          899   928 qti
14068radio          899  3064 qti
14069radio          899  3065 qti
14070radio          899  3066 qti
14071cameraserver   900   900 cameraserver
14072cameraserver   900  1018 HwBinder:900_1
14073cameraserver   900  1043 HwBinder:900_2
14074cameraserver   900  2100 HwBinder:900_3
14075cameraserver   900  2102 Binder:900_1
14076cameraserver   900  2177 Binder:900_2
14077cameraserver   900 14917 Binder:900_3
14078cameraserver   900 14918 Binder:900_4
14079cameraserver   900 14976 Binder:900_5
14080cameraserver   900 20996 Binder:900_6
14081cameraserver   900 16659 Binder:900_7
14082cameraserver   900 22046 Binder:900_8
14083drm            901   901 drmserver
14084drm            901  1024 Binder:901_1
14085drm            901  8440 Binder:901_2
14086incidentd      902   902 Binder:902_2
14087incidentd      902   933 Binder:902_1
14088incidentd      902   936 Binder:902_3
14089root           903   903 Binder:903_2
14090root           903   931 Binder:903_1
14091root           903  1263 Binder:903_3
14092root           903  1287 Binder:903_4
14093root           903  1301 Binder:903_5
14094root           903  1354 Binder:903_6
14095root           903  5120 Binder:903_7
14096root           903  5197 Binder:903_8
14097root           903  5243 Binder:903_9
14098root           903 11678 Binder:903_A
14099root           903 12088 Binder:903_B
14100keystore       904   904 keystore
14101keystore       904   997 HwBinder:904_1
14102media          905   905 mediadrmserver
14103media          905   945 Binder:905_1
14104mediaex        906   906 mediaextractor
14105mediaex        906  1052 Binder:906_1
14106mediaex        906  1977 Binder:906_2
14107mediaex        906  3987 Binder:906_3
14108mediaex        906  1985 Binder:906_4
14109mediaex        906 14515 Binder:906_5
14110mediaex        906 26203 Binder:906_6
14111mediaex        906 12336 Binder:906_7
14112media          907   907 mediametrics
14113media          907  1053 Binder:907_1
14114media          907 14381 Binder:907_2
14115media          907 14382 Binder:907_3
14116media          908   908 mediaserver
14117media          908  1065 Binder:908_1
14118media          908  1518 HwBinder:908_1
14119media          908  1771 Binder:908_2
14120media          908  1772 Binder:908_3
14121media          908  2569 MediaClock
14122media          908  2570 NuPlayerDriver
14123media          908  2572 generic
14124media          908  2704 NuPlayerRendere
14125media          908  2705 NPDecoder
14126media          908  2706 NPDecoder-CL
14127media          908 18653 Binder:908_4
14128media          908 25126 Binder:908_5
14129media          908 28451 Binder:908_6
14130statsd         909   909 Binder:909_2
14131statsd         909   961 Binder:909_1
14132statsd         909   962 Binder:909_2
14133statsd         909   970 Binder:909_3
14134root           911   911 storaged
14135root           911  1036 storaged
14136root           911  1037 Binder:911_1
14137root           911  1038 HwBinder:911_1
14138wifi           912   912 wificond
14139mediacodec     914   914 omx@1.0-service
14140mediacodec     914  1064 Binder:914_1
14141mediacodec     914  1066 Binder:914_2
14142mediacodec     914  1090 HwBinder:914_1
14143mediacodec     914  1091 HwBinder:914_2
14144mediacodec     914  1875 HwBinder:914_2
14145mediacodec     914  1876 HwBinder:914_2
14146mediacodec     914  1970 HwBinder:914_3
14147mediacodec     914  2707 .vorbis.decoder
14148mediacodec     914  2708 OMXCallbackDisp
14149mediacodec     914  2764 HwBinder:914_4
14150mediacodec     914 27073 HwBinder:914_5
14151mediacodec     914 27076 HwBinder:914_6
14152mediacodec     914 27078 HwBinder:914_7
14153mediacodec     914 14333 HwBinder:914_8
14154mediacodec     914 14409 HwBinder:914_9
14155mediacodec     914 14511 HwBinder:914_A
14156mediacodec     914  6795 HwBinder:914_B
14157mediacodec     914  6858 HwBinder:914_C
14158mediacodec     914 14972 HwBinder:914_D
14159mediacodec     914 26212 HwBinder:914_E
14160mediacodec     914 32727 HwBinder:914_F
14161mediacodec     914   332 HwBinder:914_10
14162mediacodec     914 15944 HwBinder:914_11
14163mediacodec     914 15945 HwBinder:914_12
14164mediacodec     914  2823 HwBinder:914_13
14165radio          917   917 rild
14166radio          917  1046 rild
14167radio          917  1055 rild
14168radio          917  1210 Binder:917_1
14169radio          917  1213 rild
14170radio          917  1215 Binder:917_2
14171radio          917  1221 rild
14172radio          917  1222 rild
14173radio          917  1223 HwBinder:917_1
14174radio          917  1224 rild
14175radio          917  1225 rild
14176radio          917  1226 rild
14177radio          917  1228 rild
14178radio          917  1229 rild
14179radio          917  1230 rild
14180radio          917  1231 rild
14181radio          917  1321 rild
14182radio          917  1322 rild
14183radio          917  1323 rild
14184radio          917  1324 rild
14185radio          917  1325 rild
14186radio          917  1326 rild
14187radio          917  1329 rild
14188radio          917  1330 rild
14189radio          917  1332 rild
14190radio          917  1334 rild
14191radio          917  1336 rild
14192radio          917  1349 rild
14193radio          917  1351 rild
14194radio          917  1358 rild
14195radio          917  1360 rild
14196radio          917  1362 rild
14197radio          917  1363 rild
14198radio          917  1364 rild
14199radio          917  1366 rild
14200radio          917  1368 rild
14201radio          917  1369 rild
14202radio          917  1370 rild
14203radio          917  1371 rild
14204radio          917  1373 rild
14205radio          917  1374 rild
14206radio          917  1377 rild
14207system         920   920 folio_daemon
14208root           921   921 ipawq15
14209root           922   922 iparepwq15
14210system         923   923 cnss-daemon
14211system         923   963 cnss-daemon
14212system         923   964 cnss-daemon
14213system         923  1209 Binder:923_1
14214system         923  1212 cnss-daemon
14215system         923  1214 Binder:923_2
14216system         923  1307 cnss-daemon
14217system         923  3731 cnss-daemon
14218gps            924   924 loc_launcher
14219gps            924   955 loc_launcher
14220system         925   925 chre
14221system         925   968 chre
14222system         925   975 chre
14223system         925   976 chre
14224system         925  1189 chre
14225system         925  1190 chre
14226system         926   926 gatekeeperd
14227system         926   987 HwBinder:926_1
14228root           927   927 Binder:927_2
14229root           927   986 Binder:927_1
14230tombstoned     929   929 tombstoned
14231root           932   932 update_engine
14232root           932  1006 HwBinder:932_1
14233system         935   935 fingerprint@2.1
14234system         935  1136 android.hardwar
14235system         935  1137 android.hardwar
14236system         935  1139 HwBinder:935_1
14237root           938   938 ipawq48
14238root           942   942 iparepwq48
14239system         950   950 imsdatadaemon
14240system         950  1019 imsdatadaemon
14241system         950  1040 imsdatadaemon
14242system         950  1041 imsdatadaemon
14243system         950  1042 imsdatadaemon
14244system         950  1270 imsdatadaemon
14245system         950  1290 imsdatadaemon
14246root           969   969 ipawq13
14247root           985   985 iparepwq13
14248root          1002  1002 ipa_A7_svc
14249root          1012  1012 qmi_hndl0000000
14250root          1016  1016 clnt_req
14251root          1017  1017 clnt_req
14252root          1021  1021 clnt_resp
14253root          1116  1116 wdsp_glink_wq
14254system        1151  1151 system_server
14255system        1151  1156 Signal Catcher
14256system        1151  1157 ADB-JDWP Connec
14257system        1151  1158 ReferenceQueueD
14258system        1151  1159 FinalizerDaemon
14259system        1151  1160 FinalizerWatchd
14260system        1151  1161 HeapTaskDaemon
14261system        1151  1162 Binder:1151_1
14262system        1151  1163 Binder:1151_2
14263system        1151  1184 android.bg
14264system        1151  1185 ActivityManager
14265system        1151  1186 android.ui
14266system        1151  1187 ActivityManager
14267system        1151  1188 ActivityManager
14268system        1151  1193 batterystats-wo
14269system        1151  1194 HwBinder:1151_1
14270system        1151  1195 FileObserver
14271system        1151  1196 android.fg
14272system        1151  1197 android.io
14273system        1151  1198 android.display
14274system        1151  1200 CpuTracker
14275system        1151  1203 PowerManagerSer
14276system        1151  1204 BatteryStats_wa
14277system        1151  1216 PackageManager
14278system        1151  1217 PackageManager
14279system        1151  1266 PackageInstalle
14280system        1151  1277 android.anim
14281system        1151  1278 android.anim.lf
14282system        1151  1281 HealthServiceRe
14283system        1151  1282 SensorEventAckR
14284system        1151  1283 SensorService
14285system        1151  1284 AccountManagerS
14286system        1151  1285 SettingsProvide
14287system        1151  1286 AlarmManager
14288system        1151  1289 window_tracing
14289system        1151  1295 UEventObserver
14290system        1151  1296 HwBinder:1151_2
14291system        1151  1297 InputDispatcher
14292system        1151  1298 InputReader
14293system        1151  1299 NetworkWatchlis
14294system        1151  1302 StorageManagerS
14295system        1151  1311 NetdConnector
14296system        1151  1313 NetworkStats
14297system        1151  1314 NetworkPolicy
14298system        1151  1315 tworkPolicy.uid
14299system        1151  1316 WifiService
14300system        1151  1317 WifiStateMachin
14301system        1151  1319 WifiScanningSer
14302system        1151  1320 WifiP2pService
14303system        1151  1327 ConnectivitySer
14304system        1151  1331 roid.pacmanager
14305system        1151  1333 NsdService
14306system        1151  1335 mDnsConnector
14307system        1151  1337 notification-sq
14308system        1151  1339 ranker
14309system        1151  1340 onProviders.ECP
14310system        1151  1341 DeviceStorageMo
14311system        1151  1346 AudioService
14312system        1151  1348 Binder:1151_3
14313system        1151  1352 HwBinder:1151_3
14314system        1151  1356 ConnectivityThr
14315system        1151  1357 pool-3-thread-1
14316system        1151  1359 GraphicsStats-d
14317system        1151  1361 SliceManagerSer
14318system        1151  1365 CameraService_p
14319system        1151  1393 SyncHandler-0
14320system        1151  1397 wifiRttService
14321system        1151  1400 wifiAwareServic
14322system        1151  1402 EthernetService
14323system        1151  1403 TaskSnapshotPer
14324system        1151  1405 PhotonicModulat
14325system        1151  1409 LazyTaskWriterT
14326system        1151  1434 Binder:1151_4
14327system        1151  1435 UsbService host
14328system        1151  1436 Thread-3
14329system        1151  1440 SoundPool
14330system        1151  1441 SoundPoolThread
14331system        1151  1444 NetworkStatsObs
14332system        1151  1480 watchdog
14333system        1151  1516 EmergencyAfford
14334system        1151  1560 NetworkTimeUpda
14335system        1151  1604 Binder:1151_5
14336system        1151  1613 Binder:1151_6
14337system        1151  1618 Binder:1151_7
14338system        1151  1623 Binder:1151_8
14339system        1151  1624 Binder:1151_9
14340system        1151  1752 BluetoothRouteM
14341system        1151  1753 AudioPortEventH
14342system        1151  1756 uteStateMachine
14343system        1151  1757 CallAudioModeSt
14344system        1151  1840 queued-work-loo
14345system        1151  1990 HwBinder:1151_4
14346system        1151  2049 hidl_ssvc_poll
14347system        1151  2103 UsbDebuggingMan
14348system        1151  2173 backup
14349system        1151  2478 Binder:1151_A
14350system        1151  2566 Binder:1151_B
14351system        1151  2568 Binder:1151_C
14352system        1151  2620 Binder:1151_D
14353system        1151  2875 AsyncQueryWorke
14354system        1151  3041 Binder:1151_E
14355system        1151  3581 Binder:1151_F
14356system        1151  3619 Binder:1151_10
14357system        1151  3622 Binder:1151_11
14358system        1151  3754 Binder:1151_12
14359system        1151  4982 Binder:1151_13
14360system        1151  4983 Binder:1151_14
14361system        1151  6432 HwBinder:1151_5
14362system        1151 11249 RenderThread
14363system        1151 17881 Binder:1151_15
14364system        1151 25177 Binder:1151_16
14365system        1151 30445 Binder:1151_17
14366system        1151  6644 Binder:1151_18
14367system        1151 13171 Binder:1151_19
14368system        1151 27982 Binder:1151_1A
14369system        1151  1345 Binder:1151_1B
14370system        1151 13277 Binder:1151_1C
14371system        1151 14267 Binder:1151_1D
14372system        1151 26698 Binder:1151_1E
14373system        1151 26712 Binder:1151_1F
14374system        1151 28773 Binder:1151_20
14375system        1151 26478 pool-4-thread-2
14376system        1151 26776 AsyncTask #744
14377system        1151 27084 Instrumentation
14378root          1199  1199 mpss_IPCRTR
14379root          1201  1201 qmi_hndl0000000
14380root          1202  1202 qmi_hndl0000000
14381root          1219  1219 irq/157-arm-smm
14382root          1220  1220 irq/162-arm-smm
14383root          1246  1246 qmi_hndl0000000
14384root          1304  1304 kworker/1:1H
14385root          1305  1305 qmi_hndl0000000
14386root          1382  1382 ipawq14
14387root          1383  1383 iparepwq14
14388root          1384  1384 ipawq49
14389root          1385  1385 iparepwq49
14390radio         1452  1452 le.modemservice
14391radio         1452  1465 Jit thread pool
14392radio         1452  1467 Signal Catcher
14393radio         1452  1468 ADB-JDWP Connec
14394radio         1452  1470 ReferenceQueueD
14395radio         1452  1472 FinalizerDaemon
14396radio         1452  1474 FinalizerWatchd
14397radio         1452  1476 HeapTaskDaemon
14398radio         1452  1479 Binder:1452_1
14399radio         1452  1481 Binder:1452_2
14400radio         1452  1535 Profile Saver
14401radio         1452  1549 Binder:1452_3
14402radio         1452  1552 ModemService
14403radio         1452  1559 queued-work-loo
14404u0_a68        1469  1469 ndroid.systemui
14405u0_a68        1469  1482 Jit thread pool
14406u0_a68        1469  1483 Signal Catcher
14407u0_a68        1469  1484 ADB-JDWP Connec
14408u0_a68        1469  1486 ReferenceQueueD
14409u0_a68        1469  1487 FinalizerDaemon
14410u0_a68        1469  1489 FinalizerWatchd
14411u0_a68        1469  1490 HeapTaskDaemon
14412u0_a68        1469  1491 Binder:1469_1
14413u0_a68        1469  1492 Binder:1469_2
14414u0_a68        1469  1499 Binder:1469_3
14415u0_a68        1469  1734 smartspace-back
14416u0_a68        1469  1758 pool-1-thread-1
14417u0_a68        1469  1764 SoundPool
14418u0_a68        1469  1765 SoundPoolThread
14419u0_a68        1469  1774 Recents-HighRes
14420u0_a68        1469  1780 Recents-TaskRes
14421u0_a68        1469  1783 recents.fg
14422u0_a68        1469  1789 async_sensor
14423u0_a68        1469  1805 VolumeDialogCon
14424u0_a68        1469  1808 Binder:1469_4
14425u0_a68        1469  1820 SysUiBg
14426u0_a68        1469  1853 queued-work-loo
14427u0_a68        1469  1862 RenderThread
14428u0_a68        1469  1868 ConnectivityThr
14429u0_a68        1469  1869 WifiTracker{9ff
14430u0_a68        1469  1874 TimeTick
14431u0_a68        1469  1911 Keyboard
14432u0_a68        1469  1965 HwBinder:1469_1
14433u0_a68        1469  1971 pool-3-thread-1
14434u0_a68        1469  1995 Binder:1469_5
14435u0_a68        1469  2029 pool-4-thread-1
14436u0_a68        1469  2057 hwuiTask1
14437u0_a68        1469  2058 Thread-2
14438u0_a68        1469  5522 Binder:1469_6
14439u0_a68        1469  6051 FlashlightContr
14440u0_a68        1469 10844 Binder:1469_7
14441u0_a68        1469 10845 Binder:1469_8
14442u0_a68        1469 11688 Binder:1469_9
14443u0_a68        1469 31390 Binder:1469_A
14444u0_a68        1469 21670 Binder:1469_B
14445u0_a68        1469 12671 Binder:1469_C
14446u0_a98        1529  1529 reel.wallpapers
14447u0_a98        1529  1541 Jit thread pool
14448u0_a98        1529  1542 Signal Catcher
14449u0_a98        1529  1544 ADB-JDWP Connec
14450u0_a98        1529  1545 ReferenceQueueD
14451u0_a98        1529  1546 FinalizerDaemon
14452u0_a98        1529  1547 FinalizerWatchd
14453u0_a98        1529  1548 HeapTaskDaemon
14454u0_a98        1529  1550 Binder:1529_1
14455u0_a98        1529  1551 Binder:1529_2
14456u0_a98        1529  1553 Binder:1529_3
14457u0_a98        1529  1592 Profile Saver
14458u0_a98        1529  1852 HwBinder:1529_1
14459u0_a98        1529  1854 GLThread 36
14460u0_a98        1529  1857 SoundPool
14461u0_a98        1529  1858 SoundPoolThread
14462u0_a98        1529  1867 AsynchExecutor-
14463u0_a98        1529  9851 Binder:1529_4
14464gps           1536  1536 lowi-server
14465gps           1536  1579 lowi-server
14466gps           1536  1580 lowi-server
14467gps           1536  1581 lowi-server
14468gps           1536  1582 lowi-server
14469gps           1538  1538 xtra-daemon
14470gps           1538  1600 pcid-lo
14471gps           1538  1606 pcid-lo
14472gps           1538  1608 pcid-lo
14473gps           1538  1610 pcid-lo
14474gps           1538  1615 LocTime
14475gps           1538  1616 LocTime
14476radio         1554  1554 .qcrilmsgtunnel
14477radio         1554  1564 Jit thread pool
14478radio         1554  1565 Signal Catcher
14479radio         1554  1566 ADB-JDWP Connec
14480radio         1554  1567 ReferenceQueueD
14481radio         1554  1568 FinalizerDaemon
14482radio         1554  1569 FinalizerWatchd
14483radio         1554  1570 HeapTaskDaemon
14484radio         1554  1571 Binder:1554_1
14485radio         1554  1572 Binder:1554_2
14486radio         1554  1649 Binder:1554_3
14487radio         1554  1677 Profile Saver
14488radio         1554  1695 HwBinder:1554_1
14489radio         1554  1714 queued-work-loo
14490system        1651  1651 .dataservices
14491system        1651  1657 Jit thread pool
14492system        1651  1658 Signal Catcher
14493system        1651  1659 ADB-JDWP Connec
14494system        1651  1660 ReferenceQueueD
14495system        1651  1661 FinalizerDaemon
14496system        1651  1662 FinalizerWatchd
14497system        1651  1663 HeapTaskDaemon
14498system        1651  1664 Binder:1651_1
14499system        1651  1665 Binder:1651_2
14500system        1651  1673 Binder:1651_3
14501system        1651  1718 Profile Saver
14502system        1651  1721 cneservice_thre
14503system        1651  1724 CNEReceiver
14504system        1651  1728 ConnectivityThr
14505system        1651  1731 MainEventThread
14506system        1651  1733 HwBinder:1651_1
14507system        1651  4118 queued-work-loo
14508radio         1666  1666 elephonyservice
14509radio         1666  1674 Jit thread pool
14510radio         1666  1675 Signal Catcher
14511radio         1666  1676 ADB-JDWP Connec
14512radio         1666  1684 ReferenceQueueD
14513radio         1666  1685 FinalizerDaemon
14514radio         1666  1686 FinalizerWatchd
14515radio         1666  1687 HeapTaskDaemon
14516radio         1666  1688 Binder:1666_1
14517radio         1666  1698 Binder:1666_2
14518radio         1666  1722 Profile Saver
14519radio         1666  2502 Binder:1666_3
14520radio         1666  2504 HwBinder:1666_1
14521radio         1666  2511 queued-work-loo
14522radio         1678  1678 m.android.phone
14523radio         1678  1694 Jit thread pool
14524radio         1678  1696 Signal Catcher
14525radio         1678  1697 ADB-JDWP Connec
14526radio         1678  1699 ReferenceQueueD
14527radio         1678  1700 FinalizerDaemon
14528radio         1678  1702 FinalizerWatchd
14529radio         1678  1703 HeapTaskDaemon
14530radio         1678  1704 Binder:1678_1
14531radio         1678  1706 Binder:1678_2
14532radio         1678  1719 Binder:1678_3
14533radio         1678  1737 Profile Saver
14534radio         1678  1806 HwBinder:1678_1
14535radio         1678  1834 EuiccConnector
14536radio         1678  1837 android.bg
14537radio         1678  1846 queued-work-loo
14538radio         1678  1860 GsmCellBroadcas
14539radio         1678  1861 GsmInboundSmsHa
14540radio         1678  1863 CellBroadcastHa
14541radio         1678  1864 CdmaInboundSmsH
14542radio         1678  1865 CdmaServiceCate
14543radio         1678  1871 DcHandlerThread
14544radio         1678  1877 Binder:1678_4
14545radio         1678  1881 ImsServiceContr
14546radio         1678  1882 NetworkService
14547radio         1678  1883 DataService
14548radio         1678  1899 org.codeaurora.
14549radio         1678  1901 ImsConfigImplHa
14550radio         1678  1937 CellularNetwork
14551radio         1678  1938 CellularDataSer
14552radio         1678  1943 Binder:1678_5
14553radio         1678  2876 ervice.Executor
14554radio         1678  2877 ConnectivityThr
14555radio         1678  4600 AudioTrack
14556radio         1678  4650 Binder:1678_6
14557radio         1678  4900 Binder:1678_7
14558radio         1678  4927 Binder:1678_8
14559radio         1678 21050 Binder:1678_9
14560radio         1678 23491 Binder:1678_A
14561radio         1678 28470 Binder:1678_B
14562radio         1678 18161 Binder:1678_C
14563radio         1678  5303 Binder:1678_D
14564u0_a24        1798  1798 id.ext.services
14565u0_a24        1798  1807 Jit thread pool
14566u0_a24        1798  1809 Signal Catcher
14567u0_a24        1798  1810 ADB-JDWP Connec
14568u0_a24        1798  1814 ReferenceQueueD
14569u0_a24        1798  1815 FinalizerDaemon
14570u0_a24        1798  1816 FinalizerWatchd
14571u0_a24        1798  1817 HeapTaskDaemon
14572u0_a24        1798  1818 Binder:1798_1
14573u0_a24        1798  1827 Binder:1798_2
14574u0_a24        1798  1830 Binder:1798_3
14575u0_a24        1798  1833 Binder:1798_4
14576u0_a24        1798  1838 Profile Saver
14577u0_a24        1798  2218 queued-work-loo
14578root          2107  2107 irq/35-1008000.
14579nfc           2195  2195 com.android.nfc
14580nfc           2195  2200 Jit thread pool
14581nfc           2195  2202 Signal Catcher
14582nfc           2195  2203 ADB-JDWP Connec
14583nfc           2195  2204 ReferenceQueueD
14584nfc           2195  2205 FinalizerDaemon
14585nfc           2195  2206 FinalizerWatchd
14586nfc           2195  2207 HeapTaskDaemon
14587nfc           2195  2208 Binder:2195_1
14588nfc           2195  2209 Binder:2195_2
14589nfc           2195  2220 Profile Saver
14590nfc           2195  2422 HwBinder:2195_1
14591nfc           2195  4468 Binder:2195_3
14592nfc           2195  4821 queued-work-loo
14593nfc           2195  4837 Binder:2195_4
14594nfc           2195  5207 Binder:2195_5
14595nfc           2195 11202 Binder:2195_6
14596nfc           2195 13475 Binder:2195_7
14597nfc           2195 23492 Binder:2195_8
14598nfc           2195  8048 Binder:2195_9
14599nfc           2195  9264 Binder:2195_A
14600nfc           2195 21748 Binder:2195_B
14601nfc           2195 26117 AsyncTask #454
14602nfc           2195 26428 AsyncTask #455
14603u0_a10        2213  2213 elligence.sense
14604u0_a10        2213  2219 Jit thread pool
14605u0_a10        2213  2221 Signal Catcher
14606u0_a10        2213  2222 ADB-JDWP Connec
14607u0_a10        2213  2223 ReferenceQueueD
14608u0_a10        2213  2225 FinalizerDaemon
14609u0_a10        2213  2228 FinalizerWatchd
14610u0_a10        2213  2231 HeapTaskDaemon
14611u0_a10        2213  2233 Binder:2213_1
14612u0_a10        2213  2234 Binder:2213_2
14613u0_a10        2213  2249 Binder:2213_3
14614u0_a10        2213  2286 Profile Saver
14615u0_a10        2213  2364 GoogleApiHandle
14616u0_a10        2213  2400 superpacks-cont
14617u0_a10        2213  2432 Background #0
14618u0_a10        2213  2434 Background #1
14619u0_a10        2213  2458 GAC_Executor[0]
14620u0_a10        2213  3350 Binder:2213_4
14621u0_a10        2213 26442 Primes-1
14622u0_a10        2213 26752 Primes-2
14623radio         2224  2224 .ims.rcsservice
14624radio         2224  2235 Jit thread pool
14625radio         2224  2236 Signal Catcher
14626radio         2224  2237 ADB-JDWP Connec
14627radio         2224  2238 ReferenceQueueD
14628radio         2224  2239 FinalizerDaemon
14629radio         2224  2240 FinalizerWatchd
14630radio         2224  2241 HeapTaskDaemon
14631radio         2224  2244 Binder:2224_1
14632radio         2224  2255 Binder:2224_2
14633radio         2224  2260 Binder:2224_3
14634radio         2224  2292 Profile Saver
14635radio         2224  2349 Listener
14636radio         2224  2390 queued-work-loo
14637radio         2224  2830 EABServiceHandl
14638radio         2224  3513 Binder:2224_4
14639radio         2224 28094 Binder:2224_5
14640system        2243  2243 RestartDetector
14641system        2243  2251 Jit thread pool
14642system        2243  2253 Signal Catcher
14643system        2243  2254 ADB-JDWP Connec
14644system        2243  2256 ReferenceQueueD
14645system        2243  2257 FinalizerDaemon
14646system        2243  2258 FinalizerWatchd
14647system        2243  2259 HeapTaskDaemon
14648system        2243  2261 Binder:2243_1
14649system        2243  2264 Binder:2243_2
14650system        2243  2303 Profile Saver
14651system        2243  3040 Binder:2243_3
14652system        2243  3042 FileObserver
14653system        2243  3043 queued-work-loo
14654u0_a19        2279  2279 s.nexuslauncher
14655u0_a19        2279  2291 Jit thread pool
14656u0_a19        2279  2293 Signal Catcher
14657u0_a19        2279  2294 ADB-JDWP Connec
14658u0_a19        2279  2295 ReferenceQueueD
14659u0_a19        2279  2296 FinalizerDaemon
14660u0_a19        2279  2297 FinalizerWatchd
14661u0_a19        2279  2299 HeapTaskDaemon
14662u0_a19        2279  2302 Binder:2279_1
14663u0_a19        2279  2304 Binder:2279_2
14664u0_a19        2279  2325 Binder:2279_3
14665u0_a19        2279  2345 Profile Saver
14666u0_a19        2279  2352 launcher-loader
14667u0_a19        2279  2353 UiThreadHelper
14668u0_a19        2279  2379 GAC_Executor[0]
14669u0_a19        2279  2380 GoogleApiHandle
14670u0_a19        2279  2402 pool-1-thread-1
14671u0_a19        2279  2405 Recents-HighRes
14672u0_a19        2279  2406 Recents-TaskRes
14673u0_a19        2279  2408 pool-3-thread-1
14674u0_a19        2279  2431 qsb-experiments
14675u0_a19        2279  2456 magnifier pixel
14676u0_a19        2279  2477 smartspace-load
14677u0_a19        2279  2500 reflection-thre
14678u0_a19        2279  2505 GAC_Executor[1]
14679u0_a19        2279  2506 RenderThread
14680u0_a19        2279  2535 remote-ui
14681u0_a19        2279  2558 HwBinder:2279_1
14682u0_a19        2279  2578 file-logger
14683u0_a19        2279  2581 queued-work-loo
14684u0_a19        2279 10277 Binder:2279_4
14685u0_a19        2279 26790 Binder:2279_5
14686u0_a19        2279  4129 Binder:2279_6
14687u0_a125       2305  2305 oogle.vr.vrcore
14688u0_a125       2305  2311 Jit thread pool
14689u0_a125       2305  2312 Signal Catcher
14690u0_a125       2305  2315 ADB-JDWP Connec
14691u0_a125       2305  2318 ReferenceQueueD
14692u0_a125       2305  2320 FinalizerDaemon
14693u0_a125       2305  2321 FinalizerWatchd
14694u0_a125       2305  2322 HeapTaskDaemon
14695u0_a125       2305  2324 Binder:2305_1
14696u0_a125       2305  2326 Binder:2305_2
14697u0_a125       2305  2329 Binder:2305_3
14698u0_a125       2305  2377 Profile Saver
14699u0_a125       2305  2403 GAC_Executor[0]
14700u0_a125       2305  2411 GAC_Executor[1]
14701u0_a125       2305  2437 queued-work-loo
14702u0_a56        2332  2332 ps.pixelmigrate
14703u0_a56        2332  2338 Jit thread pool
14704u0_a56        2332  2339 Signal Catcher
14705u0_a56        2332  2340 ADB-JDWP Connec
14706u0_a56        2332  2341 ReferenceQueueD
14707u0_a56        2332  2342 FinalizerDaemon
14708u0_a56        2332  2343 FinalizerWatchd
14709u0_a56        2332  2344 HeapTaskDaemon
14710u0_a56        2332  2346 Binder:2332_1
14711u0_a56        2332  2358 Binder:2332_2
14712u0_a56        2332  2428 Profile Saver
14713u0_a56        2332  2472 pool-1-thread-1
14714u0_a56        2332  2544 queued-work-loo
14715u0_a56        2332  2695 Binder:2332_3
14716u0_a56        2332  3351 Binder:2332_4
14717u0_a58        2354  2354 oid.setupwizard
14718u0_a58        2354  2361 Jit thread pool
14719u0_a58        2354  2362 Signal Catcher
14720u0_a58        2354  2363 ADB-JDWP Connec
14721u0_a58        2354  2365 ReferenceQueueD
14722u0_a58        2354  2366 FinalizerDaemon
14723u0_a58        2354  2367 FinalizerWatchd
14724u0_a58        2354  2368 HeapTaskDaemon
14725u0_a58        2354  2369 Binder:2354_1
14726u0_a58        2354  2370 Binder:2354_2
14727u0_a58        2354  2401 Binder:2354_3
14728u0_a58        2354  2441 Profile Saver
14729u0_a58        2354  2516 GoogleApiHandle
14730u0_a58        2354  2522 queued-work-loo
14731u0_a58        2354  2543 ConnectivityThr
14732u0_a58        2354  2545 WifiTracker{1b5
14733u0_a58        2354  2760 Binder:2354_4
14734u0_a58        2354  3353 Binder:2354_5
14735u0_a21        2371  2371 ps.miphone.aiai
14736u0_a21        2371  2381 Jit thread pool
14737u0_a21        2371  2404 Signal Catcher
14738u0_a21        2371  2416 ADB-JDWP Connec
14739u0_a21        2371  2418 ReferenceQueueD
14740u0_a21        2371  2419 FinalizerDaemon
14741u0_a21        2371  2420 FinalizerWatchd
14742u0_a21        2371  2421 HeapTaskDaemon
14743u0_a21        2371  2429 Binder:2371_1
14744u0_a21        2371  2442 Binder:2371_2
14745u0_a21        2371  2444 Binder:2371_3
14746u0_a21        2371  2490 Profile Saver
14747u0_a40        2462  2462 gle.android.gms
14748u0_a40        2462  2482 Jit thread pool
14749u0_a40        2462  2483 Signal Catcher
14750u0_a40        2462  2493 ADB-JDWP Connec
14751u0_a40        2462  2494 ReferenceQueueD
14752u0_a40        2462  2495 FinalizerDaemon
14753u0_a40        2462  2496 FinalizerWatchd
14754u0_a40        2462  2497 HeapTaskDaemon
14755u0_a40        2462  2498 Binder:2462_1
14756u0_a40        2462  2499 Binder:2462_2
14757u0_a40        2462  2553 Profile Saver
14758u0_a40        2462  2633 FileObserver
14759u0_a40        2462  2655 GlobalDispatchi
14760u0_a40        2462  2660 GoogleApiHandle
14761u0_a40        2462  2673 Binder:2462_3
14762u0_a40        2462  2685 GlobalScheduler
14763u0_a40        2462  2806 Binder:2462_4
14764u0_a40        2462  2859 queued-work-loo
14765u0_a40        2462  2945 Binder:2462_5
14766u0_a40        2462  3690 Thread-12
14767u0_a40        2462  3691 Thread-13
14768u0_a40        2462  3693 Thread-14
14769u0_a40        2462  3694 Thread-15
14770u0_a40        2462  3695 Thread-16
14771u0_a40        2462  3736 Binder:2462_6
14772u0_a40        2462  3759 highpool[0]
14773u0_a40        2462  3767 highpool[1]
14774u0_a40        2462  3770 AdWorker(Defaul
14775u0_a40        2462  3771 AdWorker(Defaul
14776u0_a40        2462  3788 GAC_Executor[1]
14777u0_a40        2462  3789 Binder:2462_7
14778u0_a40        2462  3790 GAC_Executor[0]
14779u0_a40        2462  3807 ConnectivityThr
14780u0_a40        2462  3864 Binder:2462_8
14781u0_a40        2462  3871 highpool[2]
14782u0_a40        2462  3903 Binder:2462_9
14783u0_a40        2462  3968 Binder:2462_A
14784u0_a40        2462  4217 Binder:2462_B
14785u0_a40        2462  4358 Binder:2462_C
14786u0_a40        2462  4359 Binder:2462_D
14787u0_a40        2462  4652 Binder:2462_E
14788u0_a40        2462  4674 Binder:2462_F
14789u0_a40        2462  4907 highpool[3]
14790u0_a40        2462  4948 pool-60-thread-
14791u0_a40        2462  4949 pool-60-thread-
14792u0_a40        2462  4950 pool-60-thread-
14793u0_a40        2462  4951 pool-60-thread-
14794u0_a40        2462  4956 pool-61-thread-
14795u0_a40        2462  5163 Binder:2462_10
14796u0_a40        2462 15000 MediaTracker bu
14797u0_a40        2462 19930 lowpool[825]
14798u0_a40        2462 22554 lowpool[827]
14799u0_a40        2462 23272 lowpool[828]
14800u0_a40        2462 26147 peration loader
14801u0_a40        2462 26174 Measurement Wor
14802u0_a40        2462 26770 lowpool[830]
14803u0_a40        2462 26825 raService] idle
14804u0_a40        2462 26847 lowpool[831]
14805u0_a40        2462 26932 lowpool[832]
14806u0_a40        2484  2484 .gms.persistent
14807u0_a40        2484  2510 Jit thread pool
14808u0_a40        2484  2512 Signal Catcher
14809u0_a40        2484  2513 ADB-JDWP Connec
14810u0_a40        2484  2514 ReferenceQueueD
14811u0_a40        2484  2517 FinalizerDaemon
14812u0_a40        2484  2518 FinalizerWatchd
14813u0_a40        2484  2520 HeapTaskDaemon
14814u0_a40        2484  2521 Binder:2484_1
14815u0_a40        2484  2523 Binder:2484_2
14816u0_a40        2484  2548 Binder:2484_3
14817u0_a40        2484  2554 Profile Saver
14818u0_a40        2484  2624 Binder:2484_4
14819u0_a40        2484  2625 Binder:2484_5
14820u0_a40        2484  2627 FileObserver
14821u0_a40        2484  2652 GlobalDispatchi
14822u0_a40        2484  2663 GoogleApiHandle
14823u0_a40        2484  2668 GlobalScheduler
14824u0_a40        2484  2669 GAC_Executor[0]
14825u0_a40        2484  2671 FlpThread
14826u0_a40        2484  2677 queued-work-loo
14827u0_a40        2484  2681 GAC_Executor[1]
14828u0_a40        2484  2807 GeofencerStateM
14829u0_a40        2484  2808 RealContextHub
14830u0_a40        2484  2809 ConnectivityThr
14831u0_a40        2484  2810 highpool[0]
14832u0_a40        2484  2811 highpool[1]
14833u0_a40        2484  2812 highpool[2]
14834u0_a40        2484  2813 highpool[3]
14835u0_a40        2484  2814 GoogleLocationS
14836u0_a40        2484  2816 MSMuxTR-0
14837u0_a40        2484  3792 netscheduler-qu
14838u0_a40        2484  3801 Binder:2484_6
14839u0_a40        2484  3896 Binder:2484_7
14840u0_a40        2484  4204 Binder:2484_8
14841u0_a40        2484  4206 Binder:2484_9
14842u0_a40        2484  4244 Binder:2484_A
14843u0_a40        2484  4675 Binder:2484_B
14844u0_a40        2484  4676 Binder:2484_C
14845u0_a40        2484  4836 Binder:2484_D
14846u0_a40        2484  5240 Binder:2484_E
14847u0_a40        2484  5724 Binder:2484_F
14848u0_a40        2484 10811 Binder:2484_10
14849u0_a40        2484 21417 lowpool[412]
14850u0_a40        2484 17369 lowpool[755]
14851u0_a40        2484 23058 lowpool[761]
14852u0_a40        2484 25069 lowpool[763]
14853u0_a40        2484 26630 lowpool[765]
14854u0_a40        2484 26831 peration loader
14855u0_a40        2484 26894 raService] idle
14856system        3993  3993 lcomm.telephony
14857system        3993  3999 Jit thread pool
14858system        3993  4000 Signal Catcher
14859system        3993  4001 ADB-JDWP Connec
14860system        3993  4002 ReferenceQueueD
14861system        3993  4003 FinalizerDaemon
14862system        3993  4004 FinalizerWatchd
14863system        3993  4005 HeapTaskDaemon
14864system        3993  4006 Binder:3993_1
14865system        3993  4007 Binder:3993_2
14866system        3993  4010 Profile Saver
14867system        3993  4013 Binder:3993_3
14868system        3993  4014 Thread-2
14869system        3993  4015 CTSA Inject Thr
14870system        3993  4016 HwBinder:3993_1
14871system        3993  4023 queued-work-loo
14872root          4295  4295 adbd
14873root          4295  4296 usb ffs open
14874root          4295  4343 ->transport
14875root          4295  4344 <-transport
14876root          4295 27091 shell svc 27090
14877root         15030 15030 kworker/4:1
14878u0_a55       16104 16104 id.defcontainer
14879u0_a55       16104 16109 Jit thread pool
14880u0_a55       16104 16110 Signal Catcher
14881u0_a55       16104 16111 ADB-JDWP Connec
14882u0_a55       16104 16112 ReferenceQueueD
14883u0_a55       16104 16113 FinalizerDaemon
14884u0_a55       16104 16114 FinalizerWatchd
14885u0_a55       16104 16116 HeapTaskDaemon
14886u0_a55       16104 16117 Binder:16104_1
14887u0_a55       16104 16118 Binder:16104_2
14888u0_a55       16104 16133 Binder:16104_3
14889u0_a55       16104 16137 Profile Saver
14890u0_a55       16104 16149 queued-work-loo
14891u0_a55       16104 16614 Binder:16104_4
14892u0_a55       16104 26801 IntentService[D
14893root         16505 16505 kworker/u17:0
14894root         18709 18709 kworker/3:3
14895root         19512 19512 kworker/5:1
14896u0_a30       21587 21587 roid.apps.turbo
14897u0_a30       21587 21592 Jit thread pool
14898u0_a30       21587 21593 Signal Catcher
14899u0_a30       21587 21594 ADB-JDWP Connec
14900u0_a30       21587 21595 ReferenceQueueD
14901u0_a30       21587 21596 FinalizerDaemon
14902u0_a30       21587 21597 FinalizerWatchd
14903u0_a30       21587 21598 HeapTaskDaemon
14904u0_a30       21587 21599 Binder:21587_1
14905u0_a30       21587 21600 Binder:21587_2
14906u0_a30       21587 21601 Binder:21587_3
14907u0_a30       21587 21602 Profile Saver
14908u0_a30       21587 22841 Primes-1
14909u0_a30       21587 23127 Primes-2
14910u0_a75       21768 21768 id.partnersetup
14911u0_a75       21768 21774 Jit thread pool
14912u0_a75       21768 21775 Signal Catcher
14913u0_a75       21768 21776 ADB-JDWP Connec
14914u0_a75       21768 21777 ReferenceQueueD
14915u0_a75       21768 21778 FinalizerDaemon
14916u0_a75       21768 21779 FinalizerWatchd
14917u0_a75       21768 21780 HeapTaskDaemon
14918u0_a75       21768 21781 Binder:21768_1
14919u0_a75       21768 21782 Binder:21768_2
14920u0_a75       21768 21783 Binder:21768_3
14921u0_a75       21768 21784 Profile Saver
14922u0_a75       21768 21804 queued-work-loo
14923u0_a75       21768 21807 Binder:21768_4
14924u0_a40       21787 21787 ocess.gservices
14925u0_a40       21787 21792 Jit thread pool
14926u0_a40       21787 21793 Signal Catcher
14927u0_a40       21787 21794 ADB-JDWP Connec
14928u0_a40       21787 21795 ReferenceQueueD
14929u0_a40       21787 21796 FinalizerDaemon
14930u0_a40       21787 21797 FinalizerWatchd
14931u0_a40       21787 21798 HeapTaskDaemon
14932u0_a40       21787 21799 Binder:21787_1
14933u0_a40       21787 21800 Binder:21787_2
14934u0_a40       21787 21801 Binder:21787_3
14935u0_a40       21787 21802 Profile Saver
14936u0_a40       21787 21806 Binder:21787_4
14937u0_a40       21787 22844 Binder:21787_5
14938u0_a40       21787 22845 Binder:21787_6
14939u0_a40       21787 22861 Binder:21787_7
14940u0_a40       21787 22973 Binder:21787_8
14941u0_a40       21787 23042 Binder:21787_9
14942u0_a40       21787 23044 Binder:21787_A
14943u0_a40       21787 23051 Binder:21787_B
14944u0_a40       21787 23109 Binder:21787_C
14945u0_a40       21787 23125 Binder:21787_D
14946u0_a40       21787 23126 Binder:21787_E
14947u0_a40       21787 23177 Binder:21787_F
14948u0_a40       21787 23184 Binder:21787_10
14949root         23038 23038 kworker/3:2
14950root         23393 23393 kworker/5:3
14951root         24384 24384 kworker/4:2
14952root         24428 24428 kworker/1:0
14953root         24572 24572 kworker/6:0
14954u0_a47       24879 24879 n.mips.services
14955u0_a47       24879 24891 Jit thread pool
14956u0_a47       24879 24892 Signal Catcher
14957u0_a47       24879 24893 ADB-JDWP Connec
14958u0_a47       24879 24894 ReferenceQueueD
14959u0_a47       24879 24895 FinalizerDaemon
14960u0_a47       24879 24896 FinalizerWatchd
14961u0_a47       24879 24897 HeapTaskDaemon
14962u0_a47       24879 24898 Binder:24879_1
14963u0_a47       24879 24899 Binder:24879_2
14964u0_a47       24879 24908 Profile Saver
14965u0_a47       24879 24912 queued-work-loo
14966u0_a47       24879 24914 Binder:24879_3
14967u0_a47       24879 26178 Binder:24879_4
14968u0_a47       24879 26804 Binder:24879_5
14969root         24931 24931 kworker/2:1
14970root         25152 25152 kworker/7:2
14971root         25203 25203 kworker/0:4
14972root         25230 25230 kworker/2:0
14973root         25246 25246 kworker/7:0
14974root         25362 25362 kworker/u16:4
14975root         25366 25366 kworker/0:2
14976root         25390 25390 kworker/1:2
14977root         25518 25518 kworker/u16:6
14978root         25647 25647 kworker/6:1
14979root         25664 25664 kworker/u16:1
14980root         25796 25796 kworker/0:1
14981root         25814 25814 kworker/u16:3
14982root         25819 25819 kworker/3:0
14983root         25823 25823 kworker/2:2
14984root         25933 25933 kworker/6:2
14985root         25946 25946 kworker/1:1
14986root         25950 25950 kworker/0:3
14987root         25966 25966 kworker/u16:5
14988root         26081 26081 kworker/2:3
14989root         26106 26106 kworker/4:0
14990system       26142 26142 ndroid.keychain
14991system       26142 26149 Jit thread pool
14992system       26142 26150 Signal Catcher
14993system       26142 26151 ADB-JDWP Connec
14994system       26142 26152 ReferenceQueueD
14995system       26142 26153 FinalizerDaemon
14996system       26142 26154 FinalizerWatchd
14997system       26142 26155 HeapTaskDaemon
14998system       26142 26156 Binder:26142_1
14999system       26142 26157 Binder:26142_2
15000system       26142 26159 Binder:26142_3
15001system       26142 26176 queued-work-loo
15002u0_a46       26181 26181 oid.documentsui
15003u0_a46       26181 26186 Jit thread pool
15004u0_a46       26181 26187 Signal Catcher
15005u0_a46       26181 26188 ADB-JDWP Connec
15006u0_a46       26181 26189 ReferenceQueueD
15007u0_a46       26181 26190 FinalizerDaemon
15008u0_a46       26181 26191 FinalizerWatchd
15009u0_a46       26181 26192 HeapTaskDaemon
15010u0_a46       26181 26194 Binder:26181_1
15011u0_a46       26181 26195 Binder:26181_2
15012u0_a46       26181 26197 Profile Saver
15013u0_a46       26181 26201 AsyncTask #1
15014u0_a46       26181 26247 AsyncTask #2
15015u0_a46       26181 26263 AsyncTask #3
15016u0_a46       26181 26285 AsyncTask #4
15017u0_a46       26181 26606 Binder:26181_3
15018u0_a8        26208 26208 d.process.media
15019u0_a8        26208 26214 Jit thread pool
15020u0_a8        26208 26215 Signal Catcher
15021u0_a8        26208 26216 ADB-JDWP Connec
15022u0_a8        26208 26217 ReferenceQueueD
15023u0_a8        26208 26218 FinalizerDaemon
15024u0_a8        26208 26219 FinalizerWatchd
15025u0_a8        26208 26220 HeapTaskDaemon
15026u0_a8        26208 26221 Binder:26208_1
15027u0_a8        26208 26222 Binder:26208_2
15028u0_a8        26208 26237 Profile Saver
15029u0_a8        26208 26244 thumbs thread
15030u0_a8        26208 26250 sAsyncHandlerTh
15031u0_a8        26208 26806 Binder:26208_3
15032u0_a40       26343 26343 e.process.gapps
15033u0_a40       26343 26348 Jit thread pool
15034u0_a40       26343 26349 Signal Catcher
15035u0_a40       26343 26350 ADB-JDWP Connec
15036u0_a40       26343 26351 ReferenceQueueD
15037u0_a40       26343 26352 FinalizerDaemon
15038u0_a40       26343 26353 FinalizerWatchd
15039u0_a40       26343 26354 HeapTaskDaemon
15040u0_a40       26343 26355 Binder:26343_1
15041u0_a40       26343 26356 Binder:26343_2
15042u0_a40       26343 26357 Binder:26343_3
15043u0_a40       26343 26358 Profile Saver
15044u0_a40       26343 26359 RefQueueWorker@
15045u0_a40       26343 26360 Binder:26343_4
15046u0_a40       26343 26714 Binder:26343_5
15047u0_a40       26343 26805 Binder:26343_6
15048root         26407 26407 kworker/5:0
15049u0_a72       26440 26440 ctivity.metrics
15050u0_a72       26440 26447 Jit thread pool
15051u0_a72       26440 26448 Signal Catcher
15052u0_a72       26440 26449 ADB-JDWP Connec
15053u0_a72       26440 26450 ReferenceQueueD
15054u0_a72       26440 26451 FinalizerDaemon
15055u0_a72       26440 26452 FinalizerWatchd
15056u0_a72       26440 26453 HeapTaskDaemon
15057u0_a72       26440 26454 Binder:26440_1
15058u0_a72       26440 26455 Binder:26440_2
15059u0_a72       26440 26456 Binder:26440_3
15060u0_a72       26440 26458 Profile Saver
15061u0_a72       26440 26459 AsyncTask #1
15062u0_a72       26440 26479 GAC_Executor[0]
15063u0_a72       26440 26710 AsyncTask #2
15064u0_a72       26440 26711 GAC_Executor[1]
15065root         26499 26499 kworker/7:1
15066root         26509 26509 kworker/7:3
15067radio        26510 26510 ectivitymonitor
15068radio        26510 26515 Jit thread pool
15069radio        26510 26516 Signal Catcher
15070radio        26510 26517 ADB-JDWP Connec
15071radio        26510 26518 ReferenceQueueD
15072radio        26510 26520 FinalizerDaemon
15073radio        26510 26521 FinalizerWatchd
15074radio        26510 26523 HeapTaskDaemon
15075radio        26510 26524 Binder:26510_1
15076radio        26510 26525 Binder:26510_2
15077radio        26510 26528 Profile Saver
15078radio        26510 26654 Binder:26510_3
15079u0_a131      26648 26648 id.printspooler
15080u0_a131      26648 26653 Jit thread pool
15081u0_a131      26648 26655 Signal Catcher
15082u0_a131      26648 26656 ADB-JDWP Connec
15083u0_a131      26648 26657 ReferenceQueueD
15084u0_a131      26648 26658 FinalizerDaemon
15085u0_a131      26648 26659 FinalizerWatchd
15086u0_a131      26648 26660 HeapTaskDaemon
15087u0_a131      26648 26661 Binder:26648_1
15088u0_a131      26648 26662 Binder:26648_2
15089u0_a131      26648 26664 Binder:26648_3
15090u0_a131      26648 26667 Profile Saver
15091u0_a131      26648 26773 AsyncTask #1
15092u0_a131      26648 26774 Binder:26648_4
15093u0_a131      26648 26775 queued-work-loo
15094root         26706 26706 kworker/1:3
15095root         26771 26771 kworker/u16:8
15096u0_a45       26778 26778 .work.oobconfig
15097u0_a45       26778 26783 Jit thread pool
15098u0_a45       26778 26784 Signal Catcher
15099u0_a45       26778 26785 ADB-JDWP Connec
15100u0_a45       26778 26786 ReferenceQueueD
15101u0_a45       26778 26787 FinalizerDaemon
15102u0_a45       26778 26788 FinalizerWatchd
15103u0_a45       26778 26789 HeapTaskDaemon
15104u0_a45       26778 26791 Binder:26778_1
15105u0_a45       26778 26792 Binder:26778_2
15106u0_a45       26778 26793 Binder:26778_3
15107u0_a45       26778 26794 Profile Saver
15108u0_a45       26778 26796 measurement-1
15109u0_a45       26778 26797 queued-work-loo
15110u0_a45       26778 26800 AsyncTask #1
15111root         26895 26895 kworker/6:3
15112root         26915 26915 kworker/5:2
15113u0_a4380     27030 27030 esting.services
15114u0_a4380     27030 27035 Jit thread pool
15115u0_a4380     27030 27036 Signal Catcher
15116u0_a4380     27030 27037 ADB-JDWP Connec
15117u0_a4380     27030 27038 ReferenceQueueD
15118u0_a4380     27030 27039 FinalizerDaemon
15119u0_a4380     27030 27040 FinalizerWatchd
15120u0_a4380     27030 27041 HeapTaskDaemon
15121u0_a4380     27030 27042 Binder:27030_1
15122u0_a4380     27030 27043 Binder:27030_2
15123u0_a4380     27030 27044 Profile Saver
15124root         27090 27090 sh
15125root         27092 27092 sh
15126root         27094 27094 ps
15127root         27902 27902 kworker/u17:2
15128u0_a64       32499 32499 gle.android.ims
15129u0_a64       32499 32506 Jit thread pool
15130u0_a64       32499 32507 Signal Catcher
15131u0_a64       32499 32508 ADB-JDWP Connec
15132u0_a64       32499 32509 ReferenceQueueD
15133u0_a64       32499 32510 FinalizerDaemon
15134u0_a64       32499 32511 FinalizerWatchd
15135u0_a64       32499 32512 HeapTaskDaemon
15136u0_a64       32499 32513 Binder:32499_1
15137u0_a64       32499 32514 Binder:32499_2
15138u0_a64       32499 32516 Binder:32499_3
15139u0_a64       32499 32551 Profile Saver
15140u0_a64       32499 32574 GoogleApiHandle
15141u0_a64       32499 32599 ConnectivityThr
15142u0_a64       32499 32619 queued-work-loo
15143u0_a64       32499 32626 GAC_Executor[0]
15144u0_a64       32499   450 Binder:32499_4
15145u0_a64       32499   669 Binder:32499_5
15146u0_a64       32499  9960 Primes-1
15147u0_a64       32499 10177 Binder:32499_6
15148u0_a64       32499 10181 Binder:32499_7
15149u0_a64       32499 10258 Primes-2
15150u0_a64       32499 10858 Binder:32499_8
15151u0_a64       32499 20615 Binder:32499_9
15152u0_a64       32499 20823 Binder:32499_A
15153u0_a64       32499 20963 Binder:32499_B
15154u0_a64       32499 23043 Binder:32499_C
15155u0_a64       32499 23049 Binder:32499_D
15156u0_a64       32499 23748 Binder:32499_E
15157u0_a64       32499 26433 AsyncTask #1541
15158u0_a64       32499 26475 AsyncTask #1542
15159u0_a64       32499 26476 AsyncTask #1543
15160u0_a64       32499 26537 AsyncTask #1544
15161u0_a64       32499 26615 Binder:32499_F
15162  </script>
15163  <script class="trace-data" type="application/text">
15164# tracer: nop
15165#
15166# entries-in-buffer/entries-written: 12215/12215   #P:8
15167#
15168#                                      _-----=> irqs-off
15169#                                     / _----=> need-resched
15170#                                    | / _---=> hardirq/softirq
15171#                                    || / _--=> preempt-depth
15172#                                    ||| /     delay
15173#           TASK-PID    TGID   CPU#  ||||    TIMESTAMP  FUNCTION
15174#              | |        |      |   ||||       |         |
15175          atrace-26769 (26769) [005] ...1 1034700.742666: tracing_mark_write: trace_event_clock_sync: parent_ts=1034700.750000
15176          atrace-26769 (26769) [005] ...1 1034700.742671: tracing_mark_write: trace_event_clock_sync: realtime_ts=1535717317366
15177  surfaceflinger-591   (  591) [001] ...1 1034700.747177: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15178  composer@2.1-s-593   (  593) [000] ...1 1034700.747358: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15179  composer@2.1-s-593   (  593) [000] ...1 1034700.747419: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15180  composer@2.1-s-593   (  593) [000] ...1 1034700.747439: tracing_mark_write: B|593|HWDevice::Commit::
15181  composer@2.1-s-593   (  593) [000] ...1 1034700.747557: tracing_mark_write: E|593
15182  composer@2.1-s-593   (  593) [000] ...1 1034700.747584: tracing_mark_write: E|593
15183  composer@2.1-s-593   (  593) [000] ...1 1034700.747614: tracing_mark_write: E|593
15184  surfaceflinger-591   (  591) [001] ...1 1034700.747699: tracing_mark_write: E|591
15185  sensors@1.0-se-778   (  778) [007] ...1 1034700.751232: tracing_mark_write: E|778
15186   SensorService-1283  ( 1151) [002] ...1 1034700.751306: tracing_mark_write: E|1151
15187   SensorService-1283  ( 1151) [002] ...1 1034700.751380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15188  sensors@1.0-se-778   (  778) [007] ...1 1034700.751429: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15189  sensors@1.0-se-778   (  778) [005] ...1 1034700.770547: tracing_mark_write: E|778
15190   SensorService-1283  ( 1151) [002] ...1 1034700.770623: tracing_mark_write: E|1151
15191   SensorService-1283  ( 1151) [002] ...1 1034700.770690: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15192  sensors@1.0-se-778   (  778) [005] ...1 1034700.770747: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15193  surfaceflinger-591   (  591) [002] ...1 1034700.780777: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15194  composer@2.1-s-593   (  593) [000] ...1 1034700.780889: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15195  composer@2.1-s-593   (  593) [000] ...1 1034700.780950: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15196  composer@2.1-s-593   (  593) [000] ...1 1034700.780969: tracing_mark_write: B|593|HWDevice::Commit::
15197  composer@2.1-s-593   (  593) [000] ...1 1034700.781077: tracing_mark_write: E|593
15198  composer@2.1-s-593   (  593) [000] ...1 1034700.781102: tracing_mark_write: E|593
15199  composer@2.1-s-593   (  593) [000] ...1 1034700.781130: tracing_mark_write: E|593
15200  surfaceflinger-591   (  591) [003] ...1 1034700.781209: tracing_mark_write: E|591
15201  sensors@1.0-se-778   (  778) [006] ...1 1034700.789886: tracing_mark_write: E|778
15202   SensorService-1283  ( 1151) [002] ...1 1034700.789972: tracing_mark_write: E|1151
15203   SensorService-1283  ( 1151) [002] ...1 1034700.790041: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15204  sensors@1.0-se-778   (  778) [006] ...1 1034700.790101: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15205  sensors@1.0-se-778   (  778) [006] ...1 1034700.809091: tracing_mark_write: E|778
15206   SensorService-1283  ( 1151) [002] ...1 1034700.809191: tracing_mark_write: E|1151
15207   SensorService-1283  ( 1151) [002] ...1 1034700.809264: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15208  sensors@1.0-se-778   (  778) [006] ...1 1034700.809379: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15209  sensors@1.0-se-778   (  778) [006] ...1 1034700.828355: tracing_mark_write: E|778
15210   SensorService-1283  ( 1151) [002] ...1 1034700.828448: tracing_mark_write: E|1151
15211   SensorService-1283  ( 1151) [002] ...1 1034700.828532: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15212  sensors@1.0-se-778   (  778) [006] ...1 1034700.828620: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15213  surfaceflinger-591   (  591) [002] ...1 1034700.831115: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15214  composer@2.1-s-593   (  593) [000] ...1 1034700.831256: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15215  composer@2.1-s-593   (  593) [000] ...1 1034700.831317: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15216  composer@2.1-s-593   (  593) [000] ...1 1034700.831336: tracing_mark_write: B|593|HWDevice::Commit::
15217  composer@2.1-s-593   (  593) [000] ...1 1034700.831441: tracing_mark_write: E|593
15218  composer@2.1-s-593   (  593) [000] ...1 1034700.831465: tracing_mark_write: E|593
15219  composer@2.1-s-593   (  593) [000] ...1 1034700.831493: tracing_mark_write: E|593
15220  surfaceflinger-591   (  591) [001] ...1 1034700.831569: tracing_mark_write: E|591
15221  sensors@1.0-se-778   (  778) [006] ...1 1034700.847992: tracing_mark_write: E|778
15222   SensorService-1283  ( 1151) [002] ...1 1034700.848113: tracing_mark_write: E|1151
15223   SensorService-1283  ( 1151) [002] ...1 1034700.848226: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15224  sensors@1.0-se-778   (  778) [006] ...1 1034700.848361: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15225  surfaceflinger-591   (  591) [000] ...1 1034700.864832: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15226  composer@2.1-s-593   (  593) [001] ...1 1034700.865026: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15227  composer@2.1-s-593   (  593) [001] ...1 1034700.865105: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15228  composer@2.1-s-593   (  593) [001] ...1 1034700.865127: tracing_mark_write: B|593|HWDevice::Commit::
15229  composer@2.1-s-593   (  593) [001] ...1 1034700.865254: tracing_mark_write: E|593
15230  composer@2.1-s-593   (  593) [001] ...1 1034700.865283: tracing_mark_write: E|593
15231  composer@2.1-s-593   (  593) [001] ...1 1034700.865318: tracing_mark_write: E|593
15232  surfaceflinger-591   (  591) [000] ...1 1034700.865403: tracing_mark_write: E|591
15233  sensors@1.0-se-778   (  778) [005] ...1 1034700.867121: tracing_mark_write: E|778
15234   SensorService-1283  ( 1151) [001] ...1 1034700.867289: tracing_mark_write: E|1151
15235   SensorService-1283  ( 1151) [001] ...1 1034700.867380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15236  sensors@1.0-se-778   (  778) [005] ...1 1034700.867517: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15237  sensors@1.0-se-778   (  778) [005] ...1 1034700.886523: tracing_mark_write: E|778
15238   SensorService-1283  ( 1151) [000] ...1 1034700.886756: tracing_mark_write: E|1151
15239   SensorService-1283  ( 1151) [000] ...1 1034700.886855: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15240  sensors@1.0-se-778   (  778) [005] ...1 1034700.886999: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15241  sensors@1.0-se-778   (  778) [005] ...1 1034700.905600: tracing_mark_write: E|778
15242   SensorService-1283  ( 1151) [000] ...1 1034700.905722: tracing_mark_write: E|1151
15243   SensorService-1283  ( 1151) [000] ...1 1034700.905825: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15244  sensors@1.0-se-778   (  778) [005] ...1 1034700.905938: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15245  surfaceflinger-591   (  591) [000] ...1 1034700.915180: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15246  composer@2.1-s-593   (  593) [001] ...1 1034700.915348: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15247  composer@2.1-s-593   (  593) [001] ...1 1034700.915433: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15248  composer@2.1-s-593   (  593) [001] ...1 1034700.915457: tracing_mark_write: B|593|HWDevice::Commit::
15249  composer@2.1-s-593   (  593) [001] ...1 1034700.915636: tracing_mark_write: E|593
15250  composer@2.1-s-593   (  593) [001] ...1 1034700.915667: tracing_mark_write: E|593
15251  composer@2.1-s-593   (  593) [001] ...1 1034700.915703: tracing_mark_write: E|593
15252  surfaceflinger-591   (  591) [000] ...1 1034700.915793: tracing_mark_write: E|591
15253  sensors@1.0-se-778   (  778) [005] ...1 1034700.924825: tracing_mark_write: E|778
15254   SensorService-1283  ( 1151) [000] ...1 1034700.924961: tracing_mark_write: E|1151
15255   SensorService-1283  ( 1151) [000] ...1 1034700.925071: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15256  sensors@1.0-se-778   (  778) [005] ...1 1034700.925231: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15257  sensors@1.0-se-778   (  778) [005] ...1 1034700.944016: tracing_mark_write: E|778
15258   SensorService-1283  ( 1151) [000] ...1 1034700.944176: tracing_mark_write: E|1151
15259   SensorService-1283  ( 1151) [000] ...1 1034700.944301: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15260  sensors@1.0-se-778   (  778) [005] ...1 1034700.944435: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15261  surfaceflinger-591   (  591) [003] ...1 1034700.948787: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15262  composer@2.1-s-593   (  593) [001] ...1 1034700.948966: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15263  composer@2.1-s-593   (  593) [001] ...1 1034700.949049: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15264  composer@2.1-s-593   (  593) [001] ...1 1034700.949074: tracing_mark_write: B|593|HWDevice::Commit::
15265  composer@2.1-s-593   (  593) [001] ...1 1034700.949214: tracing_mark_write: E|593
15266  composer@2.1-s-593   (  593) [001] ...1 1034700.949248: tracing_mark_write: E|593
15267  composer@2.1-s-593   (  593) [001] ...1 1034700.949285: tracing_mark_write: E|593
15268  surfaceflinger-591   (  591) [003] ...1 1034700.949390: tracing_mark_write: E|591
15269  sensors@1.0-se-778   (  778) [004] ...1 1034700.963554: tracing_mark_write: E|778
15270   SensorService-1283  ( 1151) [000] ...1 1034700.963723: tracing_mark_write: E|1151
15271   SensorService-1283  ( 1151) [000] ...1 1034700.963836: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15272  sensors@1.0-se-778   (  778) [004] ...1 1034700.964014: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15273  sensors@1.0-se-778   (  778) [006] ...1 1034700.982663: tracing_mark_write: E|778
15274   SensorService-1283  ( 1151) [000] ...1 1034700.982834: tracing_mark_write: E|1151
15275   SensorService-1283  ( 1151) [000] ...1 1034700.982939: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15276  sensors@1.0-se-778   (  778) [006] ...1 1034700.983097: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15277  surfaceflinger-591   (  591) [002] ...1 1034700.999028: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15278  composer@2.1-s-593   (  593) [001] ...1 1034700.999209: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15279  composer@2.1-s-593   (  593) [001] ...1 1034700.999285: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15280  composer@2.1-s-593   (  593) [001] ...1 1034700.999309: tracing_mark_write: B|593|HWDevice::Commit::
15281  composer@2.1-s-593   (  593) [001] ...1 1034700.999439: tracing_mark_write: E|593
15282  composer@2.1-s-593   (  593) [001] ...1 1034700.999468: tracing_mark_write: E|593
15283  composer@2.1-s-593   (  593) [001] ...1 1034700.999501: tracing_mark_write: E|593
15284  surfaceflinger-591   (  591) [003] ...1 1034700.999587: tracing_mark_write: E|591
15285  sensors@1.0-se-778   (  778) [006] ...1 1034701.002199: tracing_mark_write: E|778
15286   SensorService-1283  ( 1151) [000] ...1 1034701.002346: tracing_mark_write: E|1151
15287   SensorService-1283  ( 1151) [000] ...1 1034701.002502: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15288  sensors@1.0-se-778   (  778) [006] ...1 1034701.002823: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15289  sensors@1.0-se-778   (  778) [004] ...1 1034701.021074: tracing_mark_write: E|778
15290   SensorService-1283  ( 1151) [000] ...1 1034701.021200: tracing_mark_write: E|1151
15291   SensorService-1283  ( 1151) [000] ...1 1034701.021290: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15292  sensors@1.0-se-778   (  778) [004] ...1 1034701.021397: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15293  surfaceflinger-591   (  591) [002] ...1 1034701.032575: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15294  composer@2.1-s-593   (  593) [001] ...1 1034701.032744: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15295  composer@2.1-s-593   (  593) [001] ...1 1034701.032821: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15296  composer@2.1-s-593   (  593) [001] ...1 1034701.032844: tracing_mark_write: B|593|HWDevice::Commit::
15297  composer@2.1-s-593   (  593) [001] ...1 1034701.032970: tracing_mark_write: E|593
15298  composer@2.1-s-593   (  593) [001] ...1 1034701.033001: tracing_mark_write: E|593
15299  composer@2.1-s-593   (  593) [001] ...1 1034701.033038: tracing_mark_write: E|593
15300  surfaceflinger-591   (  591) [003] ...1 1034701.033137: tracing_mark_write: E|591
15301  sensors@1.0-se-778   (  778) [005] ...1 1034701.040324: tracing_mark_write: E|778
15302   SensorService-1283  ( 1151) [000] ...1 1034701.040460: tracing_mark_write: E|1151
15303   SensorService-1283  ( 1151) [000] ...1 1034701.040556: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15304  sensors@1.0-se-778   (  778) [005] ...1 1034701.040663: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15305  sensors@1.0-se-778   (  778) [005] ...1 1034701.061155: tracing_mark_write: E|778
15306   SensorService-1283  ( 1151) [000] ...1 1034701.061291: tracing_mark_write: E|1151
15307   SensorService-1283  ( 1151) [000] ...1 1034701.061384: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15308  sensors@1.0-se-778   (  778) [005] ...1 1034701.061515: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15309  sensors@1.0-se-778   (  778) [005] ...1 1034701.079090: tracing_mark_write: E|778
15310   SensorService-1283  ( 1151) [000] ...1 1034701.079233: tracing_mark_write: E|1151
15311   SensorService-1283  ( 1151) [000] ...1 1034701.079339: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15312  sensors@1.0-se-778   (  778) [005] ...1 1034701.079466: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15313  surfaceflinger-591   (  591) [003] ...1 1034701.082933: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15314  composer@2.1-s-593   (  593) [001] ...1 1034701.083108: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15315  composer@2.1-s-593   (  593) [001] ...1 1034701.083188: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15316  composer@2.1-s-593   (  593) [001] ...1 1034701.083270: tracing_mark_write: B|593|HWDevice::Commit::
15317  composer@2.1-s-593   (  593) [001] ...1 1034701.083412: tracing_mark_write: E|593
15318  composer@2.1-s-593   (  593) [001] ...1 1034701.083446: tracing_mark_write: E|593
15319  composer@2.1-s-593   (  593) [001] ...1 1034701.083484: tracing_mark_write: E|593
15320  surfaceflinger-591   (  591) [003] ...1 1034701.083582: tracing_mark_write: E|591
15321  sensors@1.0-se-778   (  778) [006] ...1 1034701.098061: tracing_mark_write: E|778
15322   SensorService-1283  ( 1151) [000] ...1 1034701.098200: tracing_mark_write: E|1151
15323   SensorService-1283  ( 1151) [000] ...1 1034701.098287: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15324  sensors@1.0-se-778   (  778) [006] ...1 1034701.098403: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15325  sensors@1.0-se-778   (  778) [006] ...1 1034701.117296: tracing_mark_write: E|778
15326   SensorService-1283  ( 1151) [000] ...1 1034701.117418: tracing_mark_write: E|1151
15327   SensorService-1283  ( 1151) [000] ...1 1034701.117513: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15328  sensors@1.0-se-778   (  778) [006] ...1 1034701.117612: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15329  surfaceflinger-591   (  591) [003] ...1 1034701.133318: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15330  composer@2.1-s-593   (  593) [001] ...1 1034701.133472: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15331  composer@2.1-s-593   (  593) [001] ...1 1034701.133552: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15332  composer@2.1-s-593   (  593) [001] ...1 1034701.133575: tracing_mark_write: B|593|HWDevice::Commit::
15333  composer@2.1-s-593   (  593) [001] ...1 1034701.133703: tracing_mark_write: E|593
15334  composer@2.1-s-593   (  593) [001] ...1 1034701.133734: tracing_mark_write: E|593
15335  composer@2.1-s-593   (  593) [001] ...1 1034701.133768: tracing_mark_write: E|593
15336  surfaceflinger-591   (  591) [003] ...1 1034701.133865: tracing_mark_write: E|591
15337  sensors@1.0-se-778   (  778) [007] ...1 1034701.136531: tracing_mark_write: E|778
15338   SensorService-1283  ( 1151) [000] ...1 1034701.136692: tracing_mark_write: E|1151
15339   SensorService-1283  ( 1151) [000] ...1 1034701.136783: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15340  sensors@1.0-se-778   (  778) [007] ...1 1034701.136867: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15341  sensors@1.0-se-778   (  778) [007] ...1 1034701.155886: tracing_mark_write: E|778
15342   SensorService-1283  ( 1151) [000] ...1 1034701.156028: tracing_mark_write: E|1151
15343   SensorService-1283  ( 1151) [000] ...1 1034701.156147: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15344  HwBinder:778_1-1087  (  778) [004] ...1 1034701.156275: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15345  surfaceflinger-591   (  591) [002] ...1 1034701.166951: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15346  composer@2.1-s-593   (  593) [001] ...1 1034701.167098: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15347  composer@2.1-s-593   (  593) [001] ...1 1034701.167173: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15348  composer@2.1-s-593   (  593) [001] ...1 1034701.167196: tracing_mark_write: B|593|HWDevice::Commit::
15349  composer@2.1-s-593   (  593) [001] ...1 1034701.167318: tracing_mark_write: E|593
15350  composer@2.1-s-593   (  593) [001] ...1 1034701.167346: tracing_mark_write: E|593
15351  composer@2.1-s-593   (  593) [001] ...1 1034701.167379: tracing_mark_write: E|593
15352  surfaceflinger-591   (  591) [003] ...1 1034701.167471: tracing_mark_write: E|591
15353  HwBinder:778_1-1087  (  778) [002] ...1 1034701.175102: tracing_mark_write: E|778
15354   SensorService-1283  ( 1151) [000] ...1 1034701.175218: tracing_mark_write: E|1151
15355   SensorService-1283  ( 1151) [000] ...1 1034701.175316: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15356  HwBinder:778_1-1087  (  778) [002] ...1 1034701.175379: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15357  HwBinder:778_1-1087  (  778) [003] ...1 1034701.194295: tracing_mark_write: E|778
15358   SensorService-1283  ( 1151) [000] ...1 1034701.194421: tracing_mark_write: E|1151
15359   SensorService-1283  ( 1151) [000] ...1 1034701.194516: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15360  HwBinder:778_1-1087  (  778) [003] ...1 1034701.194578: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15361  HwBinder:778_1-1087  (  778) [002] ...1 1034701.214050: tracing_mark_write: E|778
15362   SensorService-1283  ( 1151) [000] ...1 1034701.214154: tracing_mark_write: E|1151
15363   SensorService-1283  ( 1151) [000] ...1 1034701.214247: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15364  HwBinder:778_1-1087  (  778) [002] ...1 1034701.214307: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15365  surfaceflinger-591   (  591) [002] ...1 1034701.217129: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15366  composer@2.1-s-593   (  593) [001] ...1 1034701.217269: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15367  composer@2.1-s-593   (  593) [001] ...1 1034701.217340: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15368  composer@2.1-s-593   (  593) [001] ...1 1034701.217359: tracing_mark_write: B|593|HWDevice::Commit::
15369  composer@2.1-s-593   (  593) [001] ...1 1034701.217464: tracing_mark_write: E|593
15370  composer@2.1-s-593   (  593) [001] ...1 1034701.217489: tracing_mark_write: E|593
15371  composer@2.1-s-593   (  593) [001] ...1 1034701.217518: tracing_mark_write: E|593
15372  surfaceflinger-591   (  591) [003] ...1 1034701.217591: tracing_mark_write: E|591
15373  HwBinder:778_1-1087  (  778) [001] ...1 1034701.232711: tracing_mark_write: E|778
15374   SensorService-1283  ( 1151) [000] ...1 1034701.232803: tracing_mark_write: E|1151
15375   SensorService-1283  ( 1151) [000] ...1 1034701.232883: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15376  HwBinder:778_1-1087  (  778) [001] ...1 1034701.232941: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15377  surfaceflinger-591   (  591) [000] ...1 1034701.250615: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15378  composer@2.1-s-593   (  593) [001] ...1 1034701.250738: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15379  composer@2.1-s-593   (  593) [001] ...1 1034701.250803: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15380  composer@2.1-s-593   (  593) [001] ...1 1034701.250823: tracing_mark_write: B|593|HWDevice::Commit::
15381  composer@2.1-s-593   (  593) [001] ...1 1034701.250928: tracing_mark_write: E|593
15382  composer@2.1-s-593   (  593) [001] ...1 1034701.250953: tracing_mark_write: E|593
15383  composer@2.1-s-593   (  593) [001] ...1 1034701.250990: tracing_mark_write: E|593
15384  surfaceflinger-591   (  591) [000] ...1 1034701.251064: tracing_mark_write: E|591
15385  HwBinder:778_1-1087  (  778) [000] ...1 1034701.252140: tracing_mark_write: E|778
15386   SensorService-1283  ( 1151) [003] ...1 1034701.252225: tracing_mark_write: E|1151
15387   SensorService-1283  ( 1151) [003] ...1 1034701.252297: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15388  HwBinder:778_1-1087  (  778) [000] ...1 1034701.252349: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15389  HwBinder:778_1-1087  (  778) [001] ...1 1034701.271515: tracing_mark_write: E|778
15390   SensorService-1283  ( 1151) [003] ...1 1034701.271610: tracing_mark_write: E|1151
15391   SensorService-1283  ( 1151) [003] ...1 1034701.271697: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15392  HwBinder:778_1-1087  (  778) [001] ...1 1034701.271759: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15393  HwBinder:778_1-1087  (  778) [002] ...1 1034701.290612: tracing_mark_write: E|778
15394   SensorService-1283  ( 1151) [003] ...1 1034701.290719: tracing_mark_write: E|1151
15395   SensorService-1283  ( 1151) [003] ...1 1034701.290822: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15396  HwBinder:778_1-1087  (  778) [002] ...1 1034701.290887: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15397  surfaceflinger-591   (  591) [000] ...1 1034701.301072: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15398  composer@2.1-s-593   (  593) [001] ...1 1034701.301240: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15399  composer@2.1-s-593   (  593) [001] ...1 1034701.301318: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15400  composer@2.1-s-593   (  593) [001] ...1 1034701.301340: tracing_mark_write: B|593|HWDevice::Commit::
15401  composer@2.1-s-593   (  593) [001] ...1 1034701.301461: tracing_mark_write: E|593
15402  composer@2.1-s-593   (  593) [001] ...1 1034701.301488: tracing_mark_write: E|593
15403  composer@2.1-s-593   (  593) [001] ...1 1034701.301521: tracing_mark_write: E|593
15404  surfaceflinger-591   (  591) [000] ...1 1034701.301600: tracing_mark_write: E|591
15405  HwBinder:778_1-1087  (  778) [002] ...1 1034701.309826: tracing_mark_write: E|778
15406   SensorService-1283  ( 1151) [003] ...1 1034701.309964: tracing_mark_write: E|1151
15407   SensorService-1283  ( 1151) [003] ...1 1034701.310055: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15408  HwBinder:778_1-1087  (  778) [002] ...1 1034701.310116: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15409  HwBinder:778_1-1087  (  778) [003] ...1 1034701.329014: tracing_mark_write: E|778
15410   SensorService-1283  ( 1151) [002] ...1 1034701.329126: tracing_mark_write: E|1151
15411   SensorService-1283  ( 1151) [002] ...1 1034701.329220: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15412  HwBinder:778_1-1087  (  778) [003] ...1 1034701.329285: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15413  surfaceflinger-591   (  591) [000] ...1 1034701.334621: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15414  composer@2.1-s-593   (  593) [001] ...1 1034701.334810: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15415  composer@2.1-s-593   (  593) [001] ...1 1034701.334886: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15416  composer@2.1-s-593   (  593) [001] ...1 1034701.334909: tracing_mark_write: B|593|HWDevice::Commit::
15417  composer@2.1-s-593   (  593) [001] ...1 1034701.335033: tracing_mark_write: E|593
15418  composer@2.1-s-593   (  593) [001] ...1 1034701.335064: tracing_mark_write: E|593
15419  composer@2.1-s-593   (  593) [001] ...1 1034701.335098: tracing_mark_write: E|593
15420  surfaceflinger-591   (  591) [000] ...1 1034701.335189: tracing_mark_write: E|591
15421  HwBinder:778_1-1087  (  778) [001] ...1 1034701.348248: tracing_mark_write: E|778
15422   SensorService-1283  ( 1151) [002] ...1 1034701.348348: tracing_mark_write: E|1151
15423   SensorService-1283  ( 1151) [002] ...1 1034701.348439: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15424  HwBinder:778_1-1087  (  778) [001] ...1 1034701.348501: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15425  HwBinder:778_1-1087  (  778) [002] ...1 1034701.367632: tracing_mark_write: E|778
15426   SensorService-1283  ( 1151) [006] ...1 1034701.367775: tracing_mark_write: E|1151
15427   SensorService-1283  ( 1151) [006] ...1 1034701.367880: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15428  HwBinder:778_1-1087  (  778) [002] ...1 1034701.367974: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15429  surfaceflinger-591   (  591) [003] ...1 1034701.384979: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15430  composer@2.1-s-593   (  593) [001] ...1 1034701.385125: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15431  composer@2.1-s-593   (  593) [001] ...1 1034701.385202: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15432  composer@2.1-s-593   (  593) [001] ...1 1034701.385230: tracing_mark_write: B|593|HWDevice::Commit::
15433  composer@2.1-s-593   (  593) [001] ...1 1034701.385358: tracing_mark_write: E|593
15434  composer@2.1-s-593   (  593) [001] ...1 1034701.385388: tracing_mark_write: E|593
15435  composer@2.1-s-593   (  593) [001] ...1 1034701.385474: tracing_mark_write: E|593
15436  surfaceflinger-591   (  591) [003] ...1 1034701.385563: tracing_mark_write: E|591
15437  HwBinder:778_1-1087  (  778) [005] ...1 1034701.386835: tracing_mark_write: E|778
15438   SensorService-1283  ( 1151) [006] ...1 1034701.387005: tracing_mark_write: E|1151
15439   SensorService-1283  ( 1151) [006] ...1 1034701.387156: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15440  HwBinder:778_1-1087  (  778) [005] ...1 1034701.387286: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15441  HwBinder:778_1-1087  (  778) [003] ...1 1034701.405993: tracing_mark_write: E|778
15442   SensorService-1283  ( 1151) [006] ...1 1034701.406111: tracing_mark_write: E|1151
15443   SensorService-1283  ( 1151) [006] ...1 1034701.406221: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15444  HwBinder:778_1-1087  (  778) [003] ...1 1034701.406301: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15445  surfaceflinger-591   (  591) [002] ...1 1034701.418503: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15446  composer@2.1-s-593   (  593) [001] ...1 1034701.418668: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15447  composer@2.1-s-593   (  593) [001] ...1 1034701.418746: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15448  composer@2.1-s-593   (  593) [001] ...1 1034701.418772: tracing_mark_write: B|593|HWDevice::Commit::
15449  composer@2.1-s-593   (  593) [001] ...1 1034701.418901: tracing_mark_write: E|593
15450  composer@2.1-s-593   (  593) [001] ...1 1034701.418931: tracing_mark_write: E|593
15451  composer@2.1-s-593   (  593) [001] ...1 1034701.418965: tracing_mark_write: E|593
15452  surfaceflinger-591   (  591) [003] ...1 1034701.419056: tracing_mark_write: E|591
15453  HwBinder:778_1-1087  (  778) [001] ...1 1034701.425459: tracing_mark_write: E|778
15454   SensorService-1283  ( 1151) [006] ...1 1034701.425664: tracing_mark_write: E|1151
15455   SensorService-1283  ( 1151) [006] ...1 1034701.425786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15456  HwBinder:778_1-1087  (  778) [001] ...1 1034701.425882: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15457  HwBinder:778_1-1087  (  778) [002] ...1 1034701.444540: tracing_mark_write: E|778
15458   SensorService-1283  ( 1151) [006] ...1 1034701.444663: tracing_mark_write: E|1151
15459   SensorService-1283  ( 1151) [006] ...1 1034701.444759: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15460  HwBinder:778_1-1087  (  778) [002] ...1 1034701.444841: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15461  surfaceflinger-591   (  591) [002] ...1 1034701.452056: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15462  composer@2.1-s-593   (  593) [001] ...1 1034701.452205: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15463  composer@2.1-s-593   (  593) [001] ...1 1034701.452282: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15464  composer@2.1-s-593   (  593) [001] ...1 1034701.452303: tracing_mark_write: B|593|HWDevice::Commit::
15465  composer@2.1-s-593   (  593) [001] ...1 1034701.452433: tracing_mark_write: E|593
15466  composer@2.1-s-593   (  593) [001] ...1 1034701.452461: tracing_mark_write: E|593
15467  composer@2.1-s-593   (  593) [001] ...1 1034701.452504: tracing_mark_write: E|593
15468  surfaceflinger-591   (  591) [003] ...1 1034701.452592: tracing_mark_write: E|591
15469  HwBinder:778_1-1087  (  778) [002] ...1 1034701.463825: tracing_mark_write: E|778
15470   SensorService-1283  ( 1151) [006] ...1 1034701.463944: tracing_mark_write: E|1151
15471   SensorService-1283  ( 1151) [006] ...1 1034701.464041: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15472  HwBinder:778_1-1087  (  778) [002] ...1 1034701.464123: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15473  HwBinder:778_1-1087  (  778) [002] ...1 1034701.483062: tracing_mark_write: E|778
15474   SensorService-1283  ( 1151) [006] ...1 1034701.483176: tracing_mark_write: E|1151
15475   SensorService-1283  ( 1151) [006] ...1 1034701.483328: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15476  HwBinder:778_1-1087  (  778) [002] ...1 1034701.483408: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15477  HwBinder:778_1-1087  (  778) [001] ...1 1034701.502223: tracing_mark_write: E|778
15478   SensorService-1283  ( 1151) [006] ...1 1034701.502371: tracing_mark_write: E|1151
15479  surfaceflinger-591   (  591) [000] ...1 1034701.502374: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15480  composer@2.1-s-593   (  593) [001] ...1 1034701.502511: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15481   SensorService-1283  ( 1151) [006] ...1 1034701.502511: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15482  composer@2.1-s-593   (  593) [001] ...1 1034701.502586: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15483  composer@2.1-s-593   (  593) [001] ...1 1034701.502608: tracing_mark_write: B|593|HWDevice::Commit::
15484  HwBinder:778_1-1087  (  778) [000] ...1 1034701.502621: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15485  composer@2.1-s-593   (  593) [001] ...1 1034701.502733: tracing_mark_write: E|593
15486  composer@2.1-s-593   (  593) [001] ...1 1034701.502763: tracing_mark_write: E|593
15487  composer@2.1-s-593   (  593) [001] ...1 1034701.502794: tracing_mark_write: E|593
15488  surfaceflinger-591   (  591) [000] ...1 1034701.502874: tracing_mark_write: E|591
15489  HwBinder:778_1-1087  (  778) [000] ...1 1034701.521717: tracing_mark_write: E|778
15490   SensorService-1283  ( 1151) [006] ...1 1034701.521814: tracing_mark_write: E|1151
15491   SensorService-1283  ( 1151) [006] ...1 1034701.521903: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15492  HwBinder:778_1-1087  (  778) [000] ...1 1034701.521981: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15493  surfaceflinger-591   (  591) [000] ...1 1034701.535898: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15494  composer@2.1-s-593   (  593) [001] ...1 1034701.536035: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15495  composer@2.1-s-593   (  593) [001] ...1 1034701.536113: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15496  composer@2.1-s-593   (  593) [001] ...1 1034701.536135: tracing_mark_write: B|593|HWDevice::Commit::
15497  composer@2.1-s-593   (  593) [001] ...1 1034701.536252: tracing_mark_write: E|593
15498  composer@2.1-s-593   (  593) [001] ...1 1034701.536281: tracing_mark_write: E|593
15499  composer@2.1-s-593   (  593) [001] ...1 1034701.536314: tracing_mark_write: E|593
15500  surfaceflinger-591   (  591) [000] ...1 1034701.536390: tracing_mark_write: E|591
15501  HwBinder:778_1-1087  (  778) [001] ...1 1034701.540815: tracing_mark_write: E|778
15502   SensorService-1283  ( 1151) [006] ...1 1034701.540911: tracing_mark_write: E|1151
15503   SensorService-1283  ( 1151) [006] ...1 1034701.541013: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15504  HwBinder:778_1-1087  (  778) [001] ...1 1034701.541087: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15505  HwBinder:778_1-1087  (  778) [001] ...1 1034701.561092: tracing_mark_write: E|778
15506   SensorService-1283  ( 1151) [006] ...1 1034701.561281: tracing_mark_write: E|1151
15507   SensorService-1283  ( 1151) [006] ...1 1034701.561452: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15508  HwBinder:778_1-1087  (  778) [001] ...1 1034701.561585: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15509  HwBinder:778_1-1087  (  778) [001] ...1 1034701.579523: tracing_mark_write: E|778
15510   SensorService-1283  ( 1151) [006] ...1 1034701.579654: tracing_mark_write: E|1151
15511   SensorService-1283  ( 1151) [006] ...1 1034701.579764: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15512  HwBinder:778_1-1087  (  778) [001] ...1 1034701.579918: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15513  surfaceflinger-591   (  591) [002] ...1 1034701.586800: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15514  composer@2.1-s-593   (  593) [001] ...1 1034701.587083: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15515  composer@2.1-s-593   (  593) [001] ...1 1034701.587239: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15516  composer@2.1-s-593   (  593) [001] ...1 1034701.587287: tracing_mark_write: B|593|HWDevice::Commit::
15517  composer@2.1-s-593   (  593) [001] ...1 1034701.587537: tracing_mark_write: E|593
15518  composer@2.1-s-593   (  593) [001] ...1 1034701.587595: tracing_mark_write: E|593
15519  composer@2.1-s-593   (  593) [001] ...1 1034701.587665: tracing_mark_write: E|593
15520  surfaceflinger-591   (  591) [000] ...1 1034701.587839: tracing_mark_write: E|591
15521  HwBinder:778_1-1087  (  778) [000] ...1 1034701.599066: tracing_mark_write: E|778
15522   SensorService-1283  ( 1151) [006] ...1 1034701.599234: tracing_mark_write: E|1151
15523   SensorService-1283  ( 1151) [006] ...1 1034701.599372: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15524  sensors@1.0-se-778   (  778) [007] ...1 1034701.599562: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15525  sensors@1.0-se-778   (  778) [007] ...1 1034701.618240: tracing_mark_write: E|778
15526   SensorService-1283  ( 1151) [006] ...1 1034701.618378: tracing_mark_write: E|1151
15527   SensorService-1283  ( 1151) [006] ...1 1034701.618521: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15528  sensors@1.0-se-778   (  778) [007] ...1 1034701.618652: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15529  surfaceflinger-591   (  591) [001] ...1 1034701.637024: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15530  composer@2.1-s-593   (  593) [000] ...1 1034701.637326: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15531  sensors@1.0-se-778   (  778) [007] ...1 1034701.637327: tracing_mark_write: E|778
15532   SensorService-1283  ( 1151) [006] ...1 1034701.637455: tracing_mark_write: E|1151
15533  composer@2.1-s-593   (  593) [000] ...1 1034701.637486: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15534  composer@2.1-s-593   (  593) [000] ...1 1034701.637530: tracing_mark_write: B|593|HWDevice::Commit::
15535   SensorService-1283  ( 1151) [006] ...1 1034701.637586: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15536  sensors@1.0-se-778   (  778) [007] ...1 1034701.637722: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15537  composer@2.1-s-593   (  593) [000] ...1 1034701.637779: tracing_mark_write: E|593
15538  composer@2.1-s-593   (  593) [000] ...1 1034701.637834: tracing_mark_write: E|593
15539  composer@2.1-s-593   (  593) [000] ...1 1034701.637899: tracing_mark_write: E|593
15540  surfaceflinger-591   (  591) [001] ...1 1034701.638065: tracing_mark_write: E|591
15541  sensors@1.0-se-778   (  778) [007] ...1 1034701.656855: tracing_mark_write: E|778
15542   SensorService-1283  ( 1151) [006] ...1 1034701.657055: tracing_mark_write: E|1151
15543   SensorService-1283  ( 1151) [006] ...1 1034701.657239: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15544  sensors@1.0-se-778   (  778) [007] ...1 1034701.657401: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15545  surfaceflinger-591   (  591) [000] ...1 1034701.670575: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15546  composer@2.1-s-593   (  593) [001] ...1 1034701.670830: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15547  composer@2.1-s-593   (  593) [001] ...1 1034701.670952: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15548  composer@2.1-s-593   (  593) [001] ...1 1034701.670988: tracing_mark_write: B|593|HWDevice::Commit::
15549  composer@2.1-s-593   (  593) [001] ...1 1034701.671183: tracing_mark_write: E|593
15550  composer@2.1-s-593   (  593) [001] ...1 1034701.671229: tracing_mark_write: E|593
15551  composer@2.1-s-593   (  593) [001] ...1 1034701.671281: tracing_mark_write: E|593
15552  surfaceflinger-591   (  591) [000] ...1 1034701.671423: tracing_mark_write: E|591
15553  sensors@1.0-se-778   (  778) [007] ...1 1034701.675900: tracing_mark_write: E|778
15554   SensorService-1283  ( 1151) [006] ...1 1034701.676074: tracing_mark_write: E|1151
15555   SensorService-1283  ( 1151) [006] ...1 1034701.676207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15556  sensors@1.0-se-778   (  778) [007] ...1 1034701.676331: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15557  sensors@1.0-se-778   (  778) [007] ...1 1034701.695124: tracing_mark_write: E|778
15558   SensorService-1283  ( 1151) [006] ...1 1034701.695233: tracing_mark_write: E|1151
15559   SensorService-1283  ( 1151) [006] ...1 1034701.695338: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15560  sensors@1.0-se-778   (  778) [007] ...1 1034701.695451: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15561  sensors@1.0-se-778   (  778) [007] ...1 1034701.714327: tracing_mark_write: E|778
15562   SensorService-1283  ( 1151) [006] ...1 1034701.714431: tracing_mark_write: E|1151
15563   SensorService-1283  ( 1151) [006] ...1 1034701.714518: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15564  sensors@1.0-se-778   (  778) [007] ...1 1034701.714630: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15565  surfaceflinger-591   (  591) [000] ...1 1034701.720806: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15566  composer@2.1-s-593   (  593) [001] ...1 1034701.721044: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15567  composer@2.1-s-593   (  593) [001] ...1 1034701.721163: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15568  composer@2.1-s-593   (  593) [001] ...1 1034701.721197: tracing_mark_write: B|593|HWDevice::Commit::
15569  composer@2.1-s-593   (  593) [001] ...1 1034701.721379: tracing_mark_write: E|593
15570  composer@2.1-s-593   (  593) [001] ...1 1034701.721424: tracing_mark_write: E|593
15571  composer@2.1-s-593   (  593) [001] ...1 1034701.721473: tracing_mark_write: E|593
15572  surfaceflinger-591   (  591) [000] ...1 1034701.721594: tracing_mark_write: E|591
15573  sensors@1.0-se-778   (  778) [007] ...1 1034701.733502: tracing_mark_write: E|778
15574   SensorService-1283  ( 1151) [006] ...1 1034701.733600: tracing_mark_write: E|1151
15575   SensorService-1283  ( 1151) [006] ...1 1034701.733720: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15576  sensors@1.0-se-778   (  778) [007] ...1 1034701.733830: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15577  sensors@1.0-se-778   (  778) [007] ...1 1034701.752879: tracing_mark_write: E|778
15578   SensorService-1283  ( 1151) [006] ...1 1034701.752983: tracing_mark_write: E|1151
15579   SensorService-1283  ( 1151) [006] ...1 1034701.753070: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15580  sensors@1.0-se-778   (  778) [007] ...1 1034701.753181: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15581  surfaceflinger-591   (  591) [001] ...1 1034701.754422: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15582  composer@2.1-s-593   (  593) [000] ...1 1034701.754710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15583  composer@2.1-s-593   (  593) [000] ...1 1034701.754839: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15584  composer@2.1-s-593   (  593) [000] ...1 1034701.754875: tracing_mark_write: B|593|HWDevice::Commit::
15585  composer@2.1-s-593   (  593) [000] ...1 1034701.755068: tracing_mark_write: E|593
15586  composer@2.1-s-593   (  593) [000] ...1 1034701.755113: tracing_mark_write: E|593
15587  composer@2.1-s-593   (  593) [000] ...1 1034701.755164: tracing_mark_write: E|593
15588  surfaceflinger-591   (  591) [001] ...1 1034701.755293: tracing_mark_write: E|591
15589  sensors@1.0-se-778   (  778) [007] ...1 1034701.772093: tracing_mark_write: E|778
15590   SensorService-1283  ( 1151) [006] ...1 1034701.772196: tracing_mark_write: E|1151
15591   SensorService-1283  ( 1151) [006] ...1 1034701.772305: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15592  sensors@1.0-se-778   (  778) [007] ...1 1034701.772416: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15593  sensors@1.0-se-778   (  778) [007] ...1 1034701.791205: tracing_mark_write: E|778
15594   SensorService-1283  ( 1151) [006] ...1 1034701.791308: tracing_mark_write: E|1151
15595   SensorService-1283  ( 1151) [006] ...1 1034701.791412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15596  sensors@1.0-se-778   (  778) [007] ...1 1034701.791526: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15597  surfaceflinger-591   (  591) [002] ...1 1034701.804741: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15598  composer@2.1-s-593   (  593) [000] ...1 1034701.804979: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15599  composer@2.1-s-593   (  593) [000] ...1 1034701.805100: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15600  composer@2.1-s-593   (  593) [000] ...1 1034701.805134: tracing_mark_write: B|593|HWDevice::Commit::
15601  composer@2.1-s-593   (  593) [000] ...1 1034701.805311: tracing_mark_write: E|593
15602  composer@2.1-s-593   (  593) [000] ...1 1034701.805356: tracing_mark_write: E|593
15603  composer@2.1-s-593   (  593) [000] ...1 1034701.805404: tracing_mark_write: E|593
15604  surfaceflinger-591   (  591) [001] ...1 1034701.805541: tracing_mark_write: E|591
15605  sensors@1.0-se-778   (  778) [007] ...1 1034701.810530: tracing_mark_write: E|778
15606   SensorService-1283  ( 1151) [006] ...1 1034701.810628: tracing_mark_write: E|1151
15607   SensorService-1283  ( 1151) [006] ...1 1034701.810721: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15608  sensors@1.0-se-778   (  778) [007] ...1 1034701.810807: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15609  sensors@1.0-se-778   (  778) [007] ...1 1034701.830285: tracing_mark_write: E|778
15610   SensorService-1283  ( 1151) [006] ...1 1034701.830383: tracing_mark_write: E|1151
15611   SensorService-1283  ( 1151) [006] ...1 1034701.830488: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15612  sensors@1.0-se-778   (  778) [007] ...1 1034701.830565: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15613  surfaceflinger-591   (  591) [002] ...1 1034701.838279: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15614  composer@2.1-s-593   (  593) [000] ...1 1034701.838523: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15615  composer@2.1-s-593   (  593) [000] ...1 1034701.838658: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15616  composer@2.1-s-593   (  593) [000] ...1 1034701.838696: tracing_mark_write: B|593|HWDevice::Commit::
15617  composer@2.1-s-593   (  593) [000] ...1 1034701.838902: tracing_mark_write: E|593
15618  composer@2.1-s-593   (  593) [000] ...1 1034701.838951: tracing_mark_write: E|593
15619  composer@2.1-s-593   (  593) [000] ...1 1034701.839004: tracing_mark_write: E|593
15620  surfaceflinger-591   (  591) [001] ...1 1034701.839151: tracing_mark_write: E|591
15621  sensors@1.0-se-778   (  778) [007] ...1 1034701.849065: tracing_mark_write: E|778
15622   SensorService-1283  ( 1151) [006] ...1 1034701.849208: tracing_mark_write: E|1151
15623   SensorService-1283  ( 1151) [006] ...1 1034701.849354: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15624  sensors@1.0-se-778   (  778) [007] ...1 1034701.849501: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15625  sensors@1.0-se-778   (  778) [007] ...1 1034701.868353: tracing_mark_write: E|778
15626   SensorService-1283  ( 1151) [006] ...1 1034701.868481: tracing_mark_write: E|1151
15627   SensorService-1283  ( 1151) [006] ...1 1034701.868584: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15628  sensors@1.0-se-778   (  778) [007] ...1 1034701.868679: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15629  sensors@1.0-se-778   (  778) [007] ...1 1034701.887473: tracing_mark_write: E|778
15630   SensorService-1283  ( 1151) [006] ...1 1034701.887604: tracing_mark_write: E|1151
15631   SensorService-1283  ( 1151) [006] ...1 1034701.887749: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15632  sensors@1.0-se-778   (  778) [007] ...1 1034701.887858: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15633  surfaceflinger-591   (  591) [000] ...1 1034701.888640: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15634  composer@2.1-s-593   (  593) [001] ...1 1034701.888882: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15635  composer@2.1-s-593   (  593) [001] ...1 1034701.889004: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15636  composer@2.1-s-593   (  593) [001] ...1 1034701.889039: tracing_mark_write: B|593|HWDevice::Commit::
15637  composer@2.1-s-593   (  593) [001] ...1 1034701.889233: tracing_mark_write: E|593
15638  composer@2.1-s-593   (  593) [001] ...1 1034701.889280: tracing_mark_write: E|593
15639  composer@2.1-s-593   (  593) [001] ...1 1034701.889333: tracing_mark_write: E|593
15640  surfaceflinger-591   (  591) [000] ...1 1034701.889457: tracing_mark_write: E|591
15641  sensors@1.0-se-778   (  778) [007] ...1 1034701.906848: tracing_mark_write: E|778
15642   SensorService-1283  ( 1151) [006] ...1 1034701.906979: tracing_mark_write: E|1151
15643   SensorService-1283  ( 1151) [006] ...1 1034701.907115: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15644  sensors@1.0-se-778   (  778) [007] ...1 1034701.907242: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15645  sensors@1.0-se-778   (  778) [007] ...1 1034701.925954: tracing_mark_write: E|778
15646   SensorService-1283  ( 1151) [006] ...1 1034701.926101: tracing_mark_write: E|1151
15647   SensorService-1283  ( 1151) [006] ...1 1034701.926283: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15648  sensors@1.0-se-778   (  778) [007] ...1 1034701.926443: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15649  surfaceflinger-591   (  591) [002] ...1 1034701.939056: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15650  composer@2.1-s-593   (  593) [001] ...1 1034701.939311: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15651  composer@2.1-s-593   (  593) [001] ...1 1034701.939437: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15652  composer@2.1-s-593   (  593) [001] ...1 1034701.939471: tracing_mark_write: B|593|HWDevice::Commit::
15653  composer@2.1-s-593   (  593) [001] ...1 1034701.939662: tracing_mark_write: E|593
15654  composer@2.1-s-593   (  593) [001] ...1 1034701.939707: tracing_mark_write: E|593
15655  composer@2.1-s-593   (  593) [001] ...1 1034701.939759: tracing_mark_write: E|593
15656  surfaceflinger-591   (  591) [000] ...1 1034701.939955: tracing_mark_write: E|591
15657  sensors@1.0-se-778   (  778) [007] ...1 1034701.945403: tracing_mark_write: E|778
15658   SensorService-1283  ( 1151) [006] ...1 1034701.945542: tracing_mark_write: E|1151
15659   SensorService-1283  ( 1151) [006] ...1 1034701.945712: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15660  sensors@1.0-se-778   (  778) [007] ...1 1034701.945849: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15661  sensors@1.0-se-778   (  778) [007] ...1 1034701.965198: tracing_mark_write: E|778
15662   SensorService-1283  ( 1151) [006] ...1 1034701.965328: tracing_mark_write: E|1151
15663   SensorService-1283  ( 1151) [006] ...1 1034701.965489: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15664  sensors@1.0-se-778   (  778) [007] ...1 1034701.965619: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15665  surfaceflinger-591   (  591) [002] ...1 1034701.972617: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15666  composer@2.1-s-593   (  593) [001] ...1 1034701.972862: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15667  composer@2.1-s-593   (  593) [001] ...1 1034701.972980: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15668  composer@2.1-s-593   (  593) [001] ...1 1034701.973016: tracing_mark_write: B|593|HWDevice::Commit::
15669  composer@2.1-s-593   (  593) [001] ...1 1034701.973251: tracing_mark_write: E|593
15670  composer@2.1-s-593   (  593) [001] ...1 1034701.973301: tracing_mark_write: E|593
15671  composer@2.1-s-593   (  593) [001] ...1 1034701.973354: tracing_mark_write: E|593
15672  surfaceflinger-591   (  591) [003] ...1 1034701.973503: tracing_mark_write: E|591
15673  sensors@1.0-se-778   (  778) [007] ...1 1034701.983812: tracing_mark_write: E|778
15674   SensorService-1283  ( 1151) [006] ...1 1034701.983944: tracing_mark_write: E|1151
15675   SensorService-1283  ( 1151) [006] ...1 1034701.984099: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15676  sensors@1.0-se-778   (  778) [007] ...1 1034701.984230: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15677  sensors@1.0-se-778   (  778) [007] ...1 1034702.003062: tracing_mark_write: E|778
15678   SensorService-1283  ( 1151) [006] ...1 1034702.003188: tracing_mark_write: E|1151
15679   SensorService-1283  ( 1151) [006] ...1 1034702.003404: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15680  sensors@1.0-se-778   (  778) [007] ...1 1034702.003537: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15681  sensors@1.0-se-778   (  778) [007] ...1 1034702.022281: tracing_mark_write: E|778
15682   SensorService-1283  ( 1151) [006] ...1 1034702.022418: tracing_mark_write: E|1151
15683   SensorService-1283  ( 1151) [006] ...1 1034702.022583: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15684  sensors@1.0-se-778   (  778) [007] ...1 1034702.022714: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15685  surfaceflinger-591   (  591) [002] ...1 1034702.022978: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15686  composer@2.1-s-593   (  593) [001] ...1 1034702.023288: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15687  composer@2.1-s-593   (  593) [001] ...1 1034702.023419: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15688  composer@2.1-s-593   (  593) [001] ...1 1034702.023457: tracing_mark_write: B|593|HWDevice::Commit::
15689  composer@2.1-s-593   (  593) [001] ...1 1034702.023658: tracing_mark_write: E|593
15690  composer@2.1-s-593   (  593) [001] ...1 1034702.023708: tracing_mark_write: E|593
15691  composer@2.1-s-593   (  593) [001] ...1 1034702.023762: tracing_mark_write: E|593
15692  surfaceflinger-591   (  591) [000] ...1 1034702.023923: tracing_mark_write: E|591
15693  sensors@1.0-se-778   (  778) [007] ...1 1034702.041588: tracing_mark_write: E|778
15694   SensorService-1283  ( 1151) [006] ...1 1034702.041723: tracing_mark_write: E|1151
15695   SensorService-1283  ( 1151) [006] ...1 1034702.041889: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15696  sensors@1.0-se-778   (  778) [007] ...1 1034702.042019: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15697  surfaceflinger-591   (  591) [002] ...1 1034702.056630: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15698  composer@2.1-s-593   (  593) [001] ...1 1034702.056874: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15699  composer@2.1-s-593   (  593) [001] ...1 1034702.056997: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15700  composer@2.1-s-593   (  593) [001] ...1 1034702.057032: tracing_mark_write: B|593|HWDevice::Commit::
15701  composer@2.1-s-593   (  593) [001] ...1 1034702.057219: tracing_mark_write: E|593
15702  composer@2.1-s-593   (  593) [001] ...1 1034702.057262: tracing_mark_write: E|593
15703  composer@2.1-s-593   (  593) [001] ...1 1034702.057312: tracing_mark_write: E|593
15704  surfaceflinger-591   (  591) [000] ...1 1034702.057447: tracing_mark_write: E|591
15705  sensors@1.0-se-778   (  778) [007] ...1 1034702.061158: tracing_mark_write: E|778
15706   SensorService-1283  ( 1151) [006] ...1 1034702.061289: tracing_mark_write: E|1151
15707   SensorService-1283  ( 1151) [006] ...1 1034702.061409: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15708  sensors@1.0-se-778   (  778) [007] ...1 1034702.061537: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15709  sensors@1.0-se-778   (  778) [007] ...1 1034702.080140: tracing_mark_write: E|778
15710   SensorService-1283  ( 1151) [006] ...1 1034702.080262: tracing_mark_write: E|1151
15711   SensorService-1283  ( 1151) [006] ...1 1034702.080421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15712  sensors@1.0-se-778   (  778) [007] ...1 1034702.080548: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15713  sensors@1.0-se-778   (  778) [007] ...1 1034702.099303: tracing_mark_write: E|778
15714   SensorService-1283  ( 1151) [006] ...1 1034702.099433: tracing_mark_write: E|1151
15715   SensorService-1283  ( 1151) [006] ...1 1034702.099597: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15716  sensors@1.0-se-778   (  778) [007] ...1 1034702.099725: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15717  surfaceflinger-591   (  591) [002] ...1 1034702.106865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15718  composer@2.1-s-593   (  593) [001] ...1 1034702.107110: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15719  composer@2.1-s-593   (  593) [001] ...1 1034702.107232: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15720  composer@2.1-s-593   (  593) [001] ...1 1034702.107266: tracing_mark_write: B|593|HWDevice::Commit::
15721  composer@2.1-s-593   (  593) [001] ...1 1034702.107452: tracing_mark_write: E|593
15722  composer@2.1-s-593   (  593) [001] ...1 1034702.107497: tracing_mark_write: E|593
15723  composer@2.1-s-593   (  593) [001] ...1 1034702.107548: tracing_mark_write: E|593
15724  surfaceflinger-591   (  591) [000] ...1 1034702.107676: tracing_mark_write: E|591
15725  sensors@1.0-se-778   (  778) [007] ...1 1034702.118544: tracing_mark_write: E|778
15726   SensorService-1283  ( 1151) [006] ...1 1034702.118667: tracing_mark_write: E|1151
15727   SensorService-1283  ( 1151) [006] ...1 1034702.118877: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15728  sensors@1.0-se-778   (  778) [007] ...1 1034702.119005: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15729  sensors@1.0-se-778   (  778) [007] ...1 1034702.137784: tracing_mark_write: E|778
15730   SensorService-1283  ( 1151) [006] ...1 1034702.137930: tracing_mark_write: E|1151
15731   SensorService-1283  ( 1151) [006] ...1 1034702.138046: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15732  sensors@1.0-se-778   (  778) [007] ...1 1034702.138177: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15733  sensors@1.0-se-778   (  778) [007] ...1 1034702.157333: tracing_mark_write: E|778
15734   SensorService-1283  ( 1151) [006] ...1 1034702.157478: tracing_mark_write: E|1151
15735  surfaceflinger-591   (  591) [000] ...1 1034702.157608: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15736   SensorService-1283  ( 1151) [006] ...1 1034702.157660: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15737  sensors@1.0-se-778   (  778) [007] ...1 1034702.157795: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15738  composer@2.1-s-593   (  593) [001] ...1 1034702.157952: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15739  composer@2.1-s-593   (  593) [001] ...1 1034702.158119: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15740  composer@2.1-s-593   (  593) [001] ...1 1034702.158171: tracing_mark_write: B|593|HWDevice::Commit::
15741  composer@2.1-s-593   (  593) [001] ...1 1034702.158427: tracing_mark_write: E|593
15742  composer@2.1-s-593   (  593) [001] ...1 1034702.158491: tracing_mark_write: E|593
15743  composer@2.1-s-593   (  593) [001] ...1 1034702.158556: tracing_mark_write: E|593
15744  surfaceflinger-591   (  591) [000] ...1 1034702.158714: tracing_mark_write: E|591
15745  sensors@1.0-se-778   (  778) [007] ...1 1034702.176462: tracing_mark_write: E|778
15746   SensorService-1283  ( 1151) [006] ...1 1034702.176658: tracing_mark_write: E|1151
15747   SensorService-1283  ( 1151) [006] ...1 1034702.176821: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15748  sensors@1.0-se-778   (  778) [007] ...1 1034702.176957: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15749  surfaceflinger-591   (  591) [002] ...1 1034702.190767: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15750  composer@2.1-s-593   (  593) [001] ...1 1034702.191050: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15751  composer@2.1-s-593   (  593) [001] ...1 1034702.191190: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15752  composer@2.1-s-593   (  593) [001] ...1 1034702.191231: tracing_mark_write: B|593|HWDevice::Commit::
15753  composer@2.1-s-593   (  593) [001] ...1 1034702.191456: tracing_mark_write: E|593
15754  composer@2.1-s-593   (  593) [001] ...1 1034702.191510: tracing_mark_write: E|593
15755  composer@2.1-s-593   (  593) [001] ...1 1034702.191568: tracing_mark_write: E|593
15756  surfaceflinger-591   (  591) [003] ...1 1034702.191727: tracing_mark_write: E|591
15757  sensors@1.0-se-778   (  778) [007] ...1 1034702.195651: tracing_mark_write: E|778
15758   SensorService-1283  ( 1151) [006] ...1 1034702.195808: tracing_mark_write: E|1151
15759   SensorService-1283  ( 1151) [006] ...1 1034702.195994: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15760  sensors@1.0-se-778   (  778) [007] ...1 1034702.196133: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15761  sensors@1.0-se-778   (  778) [007] ...1 1034702.214964: tracing_mark_write: E|778
15762   SensorService-1283  ( 1151) [006] ...1 1034702.215099: tracing_mark_write: E|1151
15763   SensorService-1283  ( 1151) [006] ...1 1034702.215231: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15764  sensors@1.0-se-778   (  778) [007] ...1 1034702.215362: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15765  sensors@1.0-se-778   (  778) [007] ...1 1034702.234101: tracing_mark_write: E|778
15766   SensorService-1283  ( 1151) [006] ...1 1034702.234249: tracing_mark_write: E|1151
15767   SensorService-1283  ( 1151) [006] ...1 1034702.234397: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15768  sensors@1.0-se-778   (  778) [007] ...1 1034702.234537: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15769  surfaceflinger-591   (  591) [000] ...1 1034702.241152: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15770  composer@2.1-s-593   (  593) [001] ...1 1034702.241476: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15771  composer@2.1-s-593   (  593) [001] ...1 1034702.241627: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15772  composer@2.1-s-593   (  593) [001] ...1 1034702.241671: tracing_mark_write: B|593|HWDevice::Commit::
15773  composer@2.1-s-593   (  593) [001] ...1 1034702.241910: tracing_mark_write: E|593
15774  composer@2.1-s-593   (  593) [001] ...1 1034702.241968: tracing_mark_write: E|593
15775  composer@2.1-s-593   (  593) [001] ...1 1034702.242033: tracing_mark_write: E|593
15776  surfaceflinger-591   (  591) [000] ...1 1034702.242200: tracing_mark_write: E|591
15777  sensors@1.0-se-778   (  778) [007] ...1 1034702.253333: tracing_mark_write: E|778
15778   SensorService-1283  ( 1151) [006] ...1 1034702.253460: tracing_mark_write: E|1151
15779   SensorService-1283  ( 1151) [006] ...1 1034702.253595: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15780  sensors@1.0-se-778   (  778) [007] ...1 1034702.253730: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15781  sensors@1.0-se-778   (  778) [007] ...1 1034702.272683: tracing_mark_write: E|778
15782   SensorService-1283  ( 1151) [006] ...1 1034702.272819: tracing_mark_write: E|1151
15783   SensorService-1283  ( 1151) [006] ...1 1034702.273009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15784  sensors@1.0-se-778   (  778) [007] ...1 1034702.273153: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15785  surfaceflinger-591   (  591) [003] ...1 1034702.274682: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15786  composer@2.1-s-593   (  593) [001] ...1 1034702.274974: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15787  composer@2.1-s-593   (  593) [001] ...1 1034702.275108: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15788  composer@2.1-s-593   (  593) [001] ...1 1034702.275147: tracing_mark_write: B|593|HWDevice::Commit::
15789  composer@2.1-s-593   (  593) [001] ...1 1034702.275365: tracing_mark_write: E|593
15790  composer@2.1-s-593   (  593) [001] ...1 1034702.275415: tracing_mark_write: E|593
15791  composer@2.1-s-593   (  593) [001] ...1 1034702.275473: tracing_mark_write: E|593
15792  surfaceflinger-591   (  591) [003] ...1 1034702.275631: tracing_mark_write: E|591
15793  sensors@1.0-se-778   (  778) [007] ...1 1034702.291903: tracing_mark_write: E|778
15794   SensorService-1283  ( 1151) [006] ...1 1034702.292021: tracing_mark_write: E|1151
15795   SensorService-1283  ( 1151) [006] ...1 1034702.292157: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15796  sensors@1.0-se-778   (  778) [007] ...1 1034702.292294: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15797  health@2.0-ser-744   (  744) [001] ...1 1034702.305794: tracing_mark_write: B|744|HIDL::IHealthInfoCallback::healthInfoChanged::client
15798  health@2.0-ser-744   (  744) [001] ...1 1034702.305942: tracing_mark_write: E|744
15799  health@2.0-ser-744   (  744) [001] ...1 1034702.305955: tracing_mark_write: B|744|HIDL::IHealthInfoCallback::healthInfoChanged::client
15800  health@2.0-ser-744   (  744) [001] ...1 1034702.306020: tracing_mark_write: E|744
15801  HwBinder:911_1-1038  (  911) [000] ...1 1034702.306689: tracing_mark_write: B|911|HIDL::IHealthInfoCallback::healthInfoChanged::server
15802  HwBinder:911_1-1038  (  911) [000] ...1 1034702.306699: tracing_mark_write: E|911
15803  sensors@1.0-se-778   (  778) [007] ...1 1034702.311343: tracing_mark_write: E|778
15804   SensorService-1283  ( 1151) [006] ...1 1034702.311504: tracing_mark_write: E|1151
15805   SensorService-1283  ( 1151) [006] ...1 1034702.311659: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15806  sensors@1.0-se-778   (  778) [007] ...1 1034702.311814: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15807  surfaceflinger-591   (  591) [000] ...1 1034702.324599: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15808  composer@2.1-s-593   (  593) [001] ...1 1034702.324784: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15809  composer@2.1-s-593   (  593) [001] ...1 1034702.324867: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15810  composer@2.1-s-593   (  593) [001] ...1 1034702.324892: tracing_mark_write: B|593|HWDevice::Commit::
15811  composer@2.1-s-593   (  593) [001] ...1 1034702.325026: tracing_mark_write: E|593
15812  composer@2.1-s-593   (  593) [001] ...1 1034702.325058: tracing_mark_write: E|593
15813  composer@2.1-s-593   (  593) [001] ...1 1034702.325097: tracing_mark_write: E|593
15814  surfaceflinger-591   (  591) [000] ...1 1034702.325191: tracing_mark_write: E|591
15815  sensors@1.0-se-778   (  778) [007] ...1 1034702.330435: tracing_mark_write: E|778
15816   SensorService-1283  ( 1151) [006] ...1 1034702.330580: tracing_mark_write: E|1151
15817   SensorService-1283  ( 1151) [006] ...1 1034702.330735: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15818  sensors@1.0-se-778   (  778) [007] ...1 1034702.330874: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15819  surfaceflinger-591   (  591) [000] ...1 1034702.341288: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15820  composer@2.1-s-593   (  593) [001] ...1 1034702.341441: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15821  composer@2.1-s-593   (  593) [001] ...1 1034702.341517: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15822  composer@2.1-s-593   (  593) [001] ...1 1034702.341528: tracing_mark_write: E|593
15823  composer@2.1-s-593   (  593) [001] ...1 1034702.341532: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
15824  composer@2.1-s-593   (  593) [001] ...1 1034702.341831: tracing_mark_write: B|593|HWDevice::Validate::
15825  composer@2.1-s-593   (  593) [001] ...1 1034702.341910: tracing_mark_write: E|593
15826  composer@2.1-s-593   (  593) [001] ...1 1034702.341931: tracing_mark_write: E|593
15827  composer@2.1-s-593   (  593) [001] ...1 1034702.341955: tracing_mark_write: E|593
15828  surfaceflinger-591   (  591) [000] ...1 1034702.342027: tracing_mark_write: E|591
15829  surfaceflinger-591   (  591) [000] ...1 1034702.342101: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15830  composer@2.1-s-593   (  593) [001] ...1 1034702.342142: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15831  composer@2.1-s-593   (  593) [001] ...1 1034702.342151: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15832  composer@2.1-s-593   (  593) [001] ...1 1034702.342163: tracing_mark_write: B|593|HWDevice::Commit::
15833  composer@2.1-s-593   (  593) [001] ...1 1034702.342263: tracing_mark_write: E|593
15834  composer@2.1-s-593   (  593) [001] ...1 1034702.342283: tracing_mark_write: E|593
15835  composer@2.1-s-593   (  593) [001] ...1 1034702.342305: tracing_mark_write: E|593
15836  surfaceflinger-591   (  591) [000] ...1 1034702.342351: tracing_mark_write: E|591
15837  sensors@1.0-se-778   (  778) [007] ...1 1034702.349642: tracing_mark_write: E|778
15838   SensorService-1283  ( 1151) [006] ...1 1034702.349808: tracing_mark_write: E|1151
15839   SensorService-1283  ( 1151) [006] ...1 1034702.350083: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15840  sensors@1.0-se-778   (  778) [007] ...1 1034702.350215: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15841  surfaceflinger-591   (  591) [000] ...1 1034702.359027: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15842  composer@2.1-s-593   (  593) [001] ...1 1034702.359405: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15843  composer@2.1-s-593   (  593) [001] ...1 1034702.359653: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15844  composer@2.1-s-593   (  593) [001] ...1 1034702.359691: tracing_mark_write: E|593
15845  composer@2.1-s-593   (  593) [001] ...1 1034702.359704: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
15846  composer@2.1-s-593   (  593) [001] ...1 1034702.360807: tracing_mark_write: B|593|HWDevice::Validate::
15847  composer@2.1-s-593   (  593) [001] ...1 1034702.360949: tracing_mark_write: E|593
15848  composer@2.1-s-593   (  593) [001] ...1 1034702.360984: tracing_mark_write: E|593
15849  composer@2.1-s-593   (  593) [001] ...1 1034702.361023: tracing_mark_write: E|593
15850  surfaceflinger-591   (  591) [000] ...1 1034702.361135: tracing_mark_write: E|591
15851  surfaceflinger-591   (  591) [000] ...1 1034702.361280: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15852  composer@2.1-s-593   (  593) [001] ...1 1034702.361347: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15853  composer@2.1-s-593   (  593) [001] ...1 1034702.361364: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15854  composer@2.1-s-593   (  593) [001] ...1 1034702.361385: tracing_mark_write: B|593|HWDevice::Commit::
15855  composer@2.1-s-593   (  593) [001] ...1 1034702.361547: tracing_mark_write: E|593
15856  composer@2.1-s-593   (  593) [001] ...1 1034702.361580: tracing_mark_write: E|593
15857  composer@2.1-s-593   (  593) [001] ...1 1034702.361615: tracing_mark_write: E|593
15858  surfaceflinger-591   (  591) [000] ...1 1034702.361681: tracing_mark_write: E|591
15859  sensors@1.0-se-778   (  778) [005] ...1 1034702.368750: tracing_mark_write: E|778
15860   SensorService-1283  ( 1151) [006] ...1 1034702.368888: tracing_mark_write: E|1151
15861   SensorService-1283  ( 1151) [006] ...1 1034702.369014: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15862  sensors@1.0-se-778   (  778) [005] ...1 1034702.369127: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15863  surfaceflinger-591   (  591) [003] ...1 1034702.375212: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15864  composer@2.1-s-593   (  593) [001] ...1 1034702.375442: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15865  composer@2.1-s-593   (  593) [001] ...1 1034702.375550: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15866  composer@2.1-s-593   (  593) [001] ...1 1034702.375567: tracing_mark_write: E|593
15867  composer@2.1-s-593   (  593) [001] ...1 1034702.375573: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
15868  composer@2.1-s-593   (  593) [001] ...1 1034702.376003: tracing_mark_write: B|593|HWDevice::Validate::
15869  composer@2.1-s-593   (  593) [001] ...1 1034702.376117: tracing_mark_write: E|593
15870  composer@2.1-s-593   (  593) [001] ...1 1034702.376149: tracing_mark_write: E|593
15871  composer@2.1-s-593   (  593) [001] ...1 1034702.376182: tracing_mark_write: E|593
15872  surfaceflinger-591   (  591) [003] ...1 1034702.376295: tracing_mark_write: E|591
15873  surfaceflinger-591   (  591) [003] ...1 1034702.376419: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15874  composer@2.1-s-593   (  593) [001] ...1 1034702.376496: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15875  composer@2.1-s-593   (  593) [001] ...1 1034702.376512: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15876  composer@2.1-s-593   (  593) [001] ...1 1034702.376601: tracing_mark_write: B|593|HWDevice::Commit::
15877  composer@2.1-s-593   (  593) [001] ...1 1034702.376771: tracing_mark_write: E|593
15878  composer@2.1-s-593   (  593) [001] ...1 1034702.376809: tracing_mark_write: E|593
15879  composer@2.1-s-593   (  593) [001] ...1 1034702.376848: tracing_mark_write: E|593
15880  surfaceflinger-591   (  591) [003] ...1 1034702.376925: tracing_mark_write: E|591
15881  sensors@1.0-se-778   (  778) [005] ...1 1034702.388062: tracing_mark_write: E|778
15882   SensorService-1283  ( 1151) [006] ...1 1034702.388149: tracing_mark_write: E|1151
15883   SensorService-1283  ( 1151) [006] ...1 1034702.388236: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15884  sensors@1.0-se-778   (  778) [005] ...1 1034702.388312: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15885  sensors@1.0-se-778   (  778) [005] ...1 1034702.407260: tracing_mark_write: E|778
15886   SensorService-1283  ( 1151) [006] ...1 1034702.407381: tracing_mark_write: E|1151
15887   SensorService-1283  ( 1151) [006] ...1 1034702.407492: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15888  sensors@1.0-se-778   (  778) [005] ...1 1034702.407627: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15889  surfaceflinger-591   (  591) [002] ...1 1034702.408667: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15890  composer@2.1-s-593   (  593) [001] ...1 1034702.408873: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15891  composer@2.1-s-593   (  593) [001] ...1 1034702.408984: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15892  composer@2.1-s-593   (  593) [001] ...1 1034702.409017: tracing_mark_write: B|593|HWDevice::Commit::
15893  composer@2.1-s-593   (  593) [001] ...1 1034702.409183: tracing_mark_write: E|593
15894  composer@2.1-s-593   (  593) [001] ...1 1034702.409226: tracing_mark_write: E|593
15895  composer@2.1-s-593   (  593) [001] ...1 1034702.409272: tracing_mark_write: E|593
15896  surfaceflinger-591   (  591) [000] ...1 1034702.409412: tracing_mark_write: E|591
15897  sensors@1.0-se-778   (  778) [005] ...1 1034702.426772: tracing_mark_write: E|778
15898   SensorService-1283  ( 1151) [006] ...1 1034702.426912: tracing_mark_write: E|1151
15899   SensorService-1283  ( 1151) [006] ...1 1034702.427049: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15900  sensors@1.0-se-778   (  778) [005] ...1 1034702.427194: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15901  sensors@1.0-se-778   (  778) [005] ...1 1034702.446043: tracing_mark_write: E|778
15902   SensorService-1283  ( 1151) [006] ...1 1034702.446198: tracing_mark_write: E|1151
15903   SensorService-1283  ( 1151) [006] ...1 1034702.446350: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15904  sensors@1.0-se-778   (  778) [005] ...1 1034702.446643: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15905  surfaceflinger-591   (  591) [003] ...1 1034702.459472: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15906  composer@2.1-s-593   (  593) [001] ...1 1034702.459850: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15907  composer@2.1-s-593   (  593) [001] ...1 1034702.460057: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15908  composer@2.1-s-593   (  593) [001] ...1 1034702.460107: tracing_mark_write: B|593|HWDevice::Commit::
15909  composer@2.1-s-593   (  593) [001] ...1 1034702.460358: tracing_mark_write: E|593
15910  composer@2.1-s-593   (  593) [001] ...1 1034702.460426: tracing_mark_write: E|593
15911  composer@2.1-s-593   (  593) [001] ...1 1034702.460500: tracing_mark_write: E|593
15912  surfaceflinger-591   (  591) [003] ...1 1034702.460685: tracing_mark_write: E|591
15913  sensors@1.0-se-778   (  778) [005] ...1 1034702.465190: tracing_mark_write: E|778
15914   SensorService-1283  ( 1151) [006] ...1 1034702.465330: tracing_mark_write: E|1151
15915   SensorService-1283  ( 1151) [006] ...1 1034702.465468: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15916  sensors@1.0-se-778   (  778) [005] ...1 1034702.465607: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15917  sensors@1.0-se-778   (  778) [005] ...1 1034702.484379: tracing_mark_write: E|778
15918   SensorService-1283  ( 1151) [006] ...1 1034702.484547: tracing_mark_write: E|1151
15919   SensorService-1283  ( 1151) [006] ...1 1034702.484730: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15920  sensors@1.0-se-778   (  778) [005] ...1 1034702.484873: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15921  surfaceflinger-591   (  591) [000] ...1 1034702.492650: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15922  composer@2.1-s-593   (  593) [001] ...1 1034702.492881: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15923  composer@2.1-s-593   (  593) [001] ...1 1034702.493004: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15924  composer@2.1-s-593   (  593) [001] ...1 1034702.493039: tracing_mark_write: B|593|HWDevice::Commit::
15925  composer@2.1-s-593   (  593) [001] ...1 1034702.493275: tracing_mark_write: E|593
15926  composer@2.1-s-593   (  593) [001] ...1 1034702.493320: tracing_mark_write: E|593
15927  composer@2.1-s-593   (  593) [001] ...1 1034702.493372: tracing_mark_write: E|593
15928  surfaceflinger-591   (  591) [000] ...1 1034702.493491: tracing_mark_write: E|591
15929  sensors@1.0-se-778   (  778) [005] ...1 1034702.503604: tracing_mark_write: E|778
15930   SensorService-1283  ( 1151) [006] ...1 1034702.503751: tracing_mark_write: E|1151
15931   SensorService-1283  ( 1151) [006] ...1 1034702.503879: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15932  sensors@1.0-se-778   (  778) [005] ...1 1034702.504003: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15933  sensors@1.0-se-778   (  778) [005] ...1 1034702.522830: tracing_mark_write: E|778
15934   SensorService-1283  ( 1151) [006] ...1 1034702.522945: tracing_mark_write: E|1151
15935   SensorService-1283  ( 1151) [006] ...1 1034702.523065: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15936  sensors@1.0-se-778   (  778) [005] ...1 1034702.523173: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15937  sensors@1.0-se-778   (  778) [005] ...1 1034702.542190: tracing_mark_write: E|778
15938   SensorService-1283  ( 1151) [006] ...1 1034702.542367: tracing_mark_write: E|1151
15939   SensorService-1283  ( 1151) [006] ...1 1034702.542563: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15940  sensors@1.0-se-778   (  778) [005] ...1 1034702.542716: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15941  surfaceflinger-591   (  591) [003] ...1 1034702.543272: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15942  composer@2.1-s-593   (  593) [001] ...1 1034702.543585: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15943  composer@2.1-s-593   (  593) [001] ...1 1034702.543744: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15944  composer@2.1-s-593   (  593) [001] ...1 1034702.543791: tracing_mark_write: B|593|HWDevice::Commit::
15945  composer@2.1-s-593   (  593) [001] ...1 1034702.544034: tracing_mark_write: E|593
15946  composer@2.1-s-593   (  593) [001] ...1 1034702.544092: tracing_mark_write: E|593
15947  composer@2.1-s-593   (  593) [001] ...1 1034702.544155: tracing_mark_write: E|593
15948  surfaceflinger-591   (  591) [003] ...1 1034702.544325: tracing_mark_write: E|591
15949  sensors@1.0-se-778   (  778) [005] ...1 1034702.561472: tracing_mark_write: E|778
15950   SensorService-1283  ( 1151) [006] ...1 1034702.561618: tracing_mark_write: E|1151
15951   SensorService-1283  ( 1151) [006] ...1 1034702.561784: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15952  sensors@1.0-se-778   (  778) [005] ...1 1034702.561924: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15953  surfaceflinger-591   (  591) [001] ...1 1034702.576412: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15954  composer@2.1-s-593   (  593) [000] ...1 1034702.576642: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15955  composer@2.1-s-593   (  593) [000] ...1 1034702.576735: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15956  composer@2.1-s-593   (  593) [000] ...1 1034702.576763: tracing_mark_write: B|593|HWDevice::Commit::
15957  composer@2.1-s-593   (  593) [000] ...1 1034702.576910: tracing_mark_write: E|593
15958  composer@2.1-s-593   (  593) [000] ...1 1034702.576946: tracing_mark_write: E|593
15959  composer@2.1-s-593   (  593) [000] ...1 1034702.576988: tracing_mark_write: E|593
15960  surfaceflinger-591   (  591) [001] ...1 1034702.577102: tracing_mark_write: E|591
15961  sensors@1.0-se-778   (  778) [005] ...1 1034702.580718: tracing_mark_write: E|778
15962   SensorService-1283  ( 1151) [006] ...1 1034702.580887: tracing_mark_write: E|1151
15963   SensorService-1283  ( 1151) [006] ...1 1034702.581130: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15964  sensors@1.0-se-778   (  778) [005] ...1 1034702.581273: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15965  sensors@1.0-se-778   (  778) [005] ...1 1034702.599805: tracing_mark_write: E|778
15966   SensorService-1283  ( 1151) [006] ...1 1034702.599959: tracing_mark_write: E|1151
15967   SensorService-1283  ( 1151) [006] ...1 1034702.600084: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15968  sensors@1.0-se-778   (  778) [005] ...1 1034702.600222: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15969  sensors@1.0-se-778   (  778) [005] ...1 1034702.619285: tracing_mark_write: E|778
15970   SensorService-1283  ( 1151) [006] ...1 1034702.619426: tracing_mark_write: E|1151
15971   SensorService-1283  ( 1151) [006] ...1 1034702.619588: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15972  sensors@1.0-se-778   (  778) [005] ...1 1034702.619733: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15973  surfaceflinger-591   (  591) [002] ...1 1034702.627017: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15974  composer@2.1-s-593   (  593) [000] ...1 1034702.627304: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15975  composer@2.1-s-593   (  593) [000] ...1 1034702.627434: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15976  composer@2.1-s-593   (  593) [000] ...1 1034702.627473: tracing_mark_write: B|593|HWDevice::Commit::
15977  composer@2.1-s-593   (  593) [000] ...1 1034702.627672: tracing_mark_write: E|593
15978  composer@2.1-s-593   (  593) [000] ...1 1034702.627723: tracing_mark_write: E|593
15979  composer@2.1-s-593   (  593) [000] ...1 1034702.627778: tracing_mark_write: E|593
15980  surfaceflinger-591   (  591) [001] ...1 1034702.627951: tracing_mark_write: E|591
15981  sensors@1.0-se-778   (  778) [005] ...1 1034702.638353: tracing_mark_write: E|778
15982   SensorService-1283  ( 1151) [006] ...1 1034702.638460: tracing_mark_write: E|1151
15983   SensorService-1283  ( 1151) [006] ...1 1034702.638591: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15984  sensors@1.0-se-778   (  778) [005] ...1 1034702.638696: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15985  sensors@1.0-se-778   (  778) [005] ...1 1034702.659227: tracing_mark_write: E|778
15986   SensorService-1283  ( 1151) [006] ...1 1034702.659403: tracing_mark_write: E|1151
15987   SensorService-1283  ( 1151) [006] ...1 1034702.659612: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15988  sensors@1.0-se-778   (  778) [005] ...1 1034702.659769: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15989  sensors@1.0-se-778   (  778) [005] ...1 1034702.677022: tracing_mark_write: E|778
15990   SensorService-1283  ( 1151) [006] ...1 1034702.677164: tracing_mark_write: E|1151
15991   SensorService-1283  ( 1151) [006] ...1 1034702.677324: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
15992  sensors@1.0-se-778   (  778) [005] ...1 1034702.677463: tracing_mark_write: B|778|HIDL::ISensors::poll::server
15993  surfaceflinger-591   (  591) [002] ...1 1034702.677766: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
15994  composer@2.1-s-593   (  593) [000] ...1 1034702.678079: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
15995  composer@2.1-s-593   (  593) [000] ...1 1034702.678241: tracing_mark_write: B|593|HWCSession::PresentDisplay::
15996  composer@2.1-s-593   (  593) [000] ...1 1034702.678287: tracing_mark_write: B|593|HWDevice::Commit::
15997  composer@2.1-s-593   (  593) [000] ...1 1034702.678518: tracing_mark_write: E|593
15998  composer@2.1-s-593   (  593) [000] ...1 1034702.678583: tracing_mark_write: E|593
15999  composer@2.1-s-593   (  593) [000] ...1 1034702.678647: tracing_mark_write: E|593
16000  surfaceflinger-591   (  591) [001] ...1 1034702.678838: tracing_mark_write: E|591
16001  sensors@1.0-se-778   (  778) [005] ...1 1034702.696127: tracing_mark_write: E|778
16002   SensorService-1283  ( 1151) [006] ...1 1034702.696252: tracing_mark_write: E|1151
16003   SensorService-1283  ( 1151) [006] ...1 1034702.696367: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16004  sensors@1.0-se-778   (  778) [005] ...1 1034702.696500: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16005  surfaceflinger-591   (  591) [000] ...1 1034702.711384: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16006  composer@2.1-s-593   (  593) [001] ...1 1034702.711730: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16007  composer@2.1-s-593   (  593) [001] ...1 1034702.711903: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16008  composer@2.1-s-593   (  593) [001] ...1 1034702.711952: tracing_mark_write: B|593|HWDevice::Commit::
16009  composer@2.1-s-593   (  593) [001] ...1 1034702.712216: tracing_mark_write: E|593
16010  composer@2.1-s-593   (  593) [001] ...1 1034702.712281: tracing_mark_write: E|593
16011  composer@2.1-s-593   (  593) [001] ...1 1034702.712354: tracing_mark_write: E|593
16012  surfaceflinger-591   (  591) [000] ...1 1034702.712550: tracing_mark_write: E|591
16013  sensors@1.0-se-778   (  778) [007] ...1 1034702.715506: tracing_mark_write: E|778
16014   SensorService-1283  ( 1151) [006] ...1 1034702.715670: tracing_mark_write: E|1151
16015   SensorService-1283  ( 1151) [006] ...1 1034702.715816: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16016  sensors@1.0-se-778   (  778) [007] ...1 1034702.715962: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16017  sensors@1.0-se-778   (  778) [007] ...1 1034702.734620: tracing_mark_write: E|778
16018   SensorService-1283  ( 1151) [006] ...1 1034702.734751: tracing_mark_write: E|1151
16019   SensorService-1283  ( 1151) [006] ...1 1034702.734916: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16020  sensors@1.0-se-778   (  778) [007] ...1 1034702.735070: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16021  sensors@1.0-se-778   (  778) [007] ...1 1034702.754086: tracing_mark_write: E|778
16022   SensorService-1283  ( 1151) [006] ...1 1034702.754231: tracing_mark_write: E|1151
16023   SensorService-1283  ( 1151) [006] ...1 1034702.754405: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16024  sensors@1.0-se-778   (  778) [007] ...1 1034702.754554: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16025  surfaceflinger-591   (  591) [002] ...1 1034702.761369: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16026  composer@2.1-s-593   (  593) [001] ...1 1034702.761658: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16027  composer@2.1-s-593   (  593) [001] ...1 1034702.761806: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16028  composer@2.1-s-593   (  593) [001] ...1 1034702.761851: tracing_mark_write: B|593|HWDevice::Commit::
16029  composer@2.1-s-593   (  593) [001] ...1 1034702.762077: tracing_mark_write: E|593
16030  composer@2.1-s-593   (  593) [001] ...1 1034702.762131: tracing_mark_write: E|593
16031  composer@2.1-s-593   (  593) [001] ...1 1034702.762190: tracing_mark_write: E|593
16032  surfaceflinger-591   (  591) [000] ...1 1034702.762359: tracing_mark_write: E|591
16033  sensors@1.0-se-778   (  778) [007] ...1 1034702.773301: tracing_mark_write: E|778
16034   SensorService-1283  ( 1151) [006] ...1 1034702.773474: tracing_mark_write: E|1151
16035   SensorService-1283  ( 1151) [006] ...1 1034702.773636: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16036  sensors@1.0-se-778   (  778) [007] ...1 1034702.773783: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16037  sensors@1.0-se-778   (  778) [007] ...1 1034702.792568: tracing_mark_write: E|778
16038   SensorService-1283  ( 1151) [006] ...1 1034702.792736: tracing_mark_write: E|1151
16039   SensorService-1283  ( 1151) [006] ...1 1034702.792919: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16040  sensors@1.0-se-778   (  778) [007] ...1 1034702.793062: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16041  surfaceflinger-591   (  591) [000] ...1 1034702.794798: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16042  composer@2.1-s-593   (  593) [001] ...1 1034702.795047: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16043  composer@2.1-s-593   (  593) [001] ...1 1034702.795179: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16044  composer@2.1-s-593   (  593) [001] ...1 1034702.795219: tracing_mark_write: B|593|HWDevice::Commit::
16045  composer@2.1-s-593   (  593) [001] ...1 1034702.795424: tracing_mark_write: E|593
16046  composer@2.1-s-593   (  593) [001] ...1 1034702.795475: tracing_mark_write: E|593
16047  composer@2.1-s-593   (  593) [001] ...1 1034702.795531: tracing_mark_write: E|593
16048  surfaceflinger-591   (  591) [000] ...1 1034702.795675: tracing_mark_write: E|591
16049  sensors@1.0-se-778   (  778) [007] ...1 1034702.811788: tracing_mark_write: E|778
16050   SensorService-1283  ( 1151) [006] ...1 1034702.811939: tracing_mark_write: E|1151
16051   SensorService-1283  ( 1151) [006] ...1 1034702.812073: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16052  sensors@1.0-se-778   (  778) [007] ...1 1034702.812215: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16053  sensors@1.0-se-778   (  778) [007] ...1 1034702.830872: tracing_mark_write: E|778
16054   SensorService-1283  ( 1151) [006] ...1 1034702.831039: tracing_mark_write: E|1151
16055   SensorService-1283  ( 1151) [006] ...1 1034702.831192: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16056  sensors@1.0-se-778   (  778) [007] ...1 1034702.831335: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16057  surfaceflinger-591   (  591) [000] ...1 1034702.845120: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16058  composer@2.1-s-593   (  593) [001] ...1 1034702.845359: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16059  composer@2.1-s-593   (  593) [001] ...1 1034702.845476: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16060  composer@2.1-s-593   (  593) [001] ...1 1034702.845512: tracing_mark_write: B|593|HWDevice::Commit::
16061  composer@2.1-s-593   (  593) [001] ...1 1034702.845694: tracing_mark_write: E|593
16062  composer@2.1-s-593   (  593) [001] ...1 1034702.845736: tracing_mark_write: E|593
16063  composer@2.1-s-593   (  593) [001] ...1 1034702.845785: tracing_mark_write: E|593
16064  surfaceflinger-591   (  591) [000] ...1 1034702.845900: tracing_mark_write: E|591
16065  sensors@1.0-se-778   (  778) [004] ...1 1034702.850337: tracing_mark_write: E|778
16066   SensorService-1283  ( 1151) [006] ...1 1034702.850492: tracing_mark_write: E|1151
16067   SensorService-1283  ( 1151) [006] ...1 1034702.850656: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16068  sensors@1.0-se-778   (  778) [004] ...1 1034702.850796: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16069  sensors@1.0-se-778   (  778) [004] ...1 1034702.869511: tracing_mark_write: E|778
16070   SensorService-1283  ( 1151) [006] ...1 1034702.869638: tracing_mark_write: E|1151
16071   SensorService-1283  ( 1151) [006] ...1 1034702.869804: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16072  sensors@1.0-se-778   (  778) [004] ...1 1034702.870001: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16073  surfaceflinger-591   (  591) [001] ...1 1034702.878789: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16074  composer@2.1-s-593   (  593) [000] ...1 1034702.879088: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16075  composer@2.1-s-593   (  593) [000] ...1 1034702.879233: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16076  composer@2.1-s-593   (  593) [000] ...1 1034702.879276: tracing_mark_write: B|593|HWDevice::Commit::
16077  composer@2.1-s-593   (  593) [000] ...1 1034702.879494: tracing_mark_write: E|593
16078  composer@2.1-s-593   (  593) [000] ...1 1034702.879551: tracing_mark_write: E|593
16079  composer@2.1-s-593   (  593) [000] ...1 1034702.879615: tracing_mark_write: E|593
16080  surfaceflinger-591   (  591) [001] ...1 1034702.879790: tracing_mark_write: E|591
16081  sensors@1.0-se-778   (  778) [004] ...1 1034702.888764: tracing_mark_write: E|778
16082   SensorService-1283  ( 1151) [006] ...1 1034702.888920: tracing_mark_write: E|1151
16083   SensorService-1283  ( 1151) [006] ...1 1034702.889114: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16084  sensors@1.0-se-778   (  778) [004] ...1 1034702.889256: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16085  sensors@1.0-se-778   (  778) [004] ...1 1034702.907889: tracing_mark_write: E|778
16086   SensorService-1283  ( 1151) [006] ...1 1034702.908025: tracing_mark_write: E|1151
16087   SensorService-1283  ( 1151) [006] ...1 1034702.908185: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16088  sensors@1.0-se-778   (  778) [004] ...1 1034702.908318: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16089  sensors@1.0-se-778   (  778) [007] ...1 1034702.927499: tracing_mark_write: E|778
16090   SensorService-1283  ( 1151) [006] ...1 1034702.927658: tracing_mark_write: E|1151
16091   SensorService-1283  ( 1151) [006] ...1 1034702.927806: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16092  sensors@1.0-se-778   (  778) [007] ...1 1034702.927951: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16093  surfaceflinger-591   (  591) [000] ...1 1034702.929010: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16094  composer@2.1-s-593   (  593) [001] ...1 1034702.929257: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16095  composer@2.1-s-593   (  593) [001] ...1 1034702.929393: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16096  composer@2.1-s-593   (  593) [001] ...1 1034702.929432: tracing_mark_write: B|593|HWDevice::Commit::
16097  composer@2.1-s-593   (  593) [001] ...1 1034702.929646: tracing_mark_write: E|593
16098  composer@2.1-s-593   (  593) [001] ...1 1034702.929697: tracing_mark_write: E|593
16099  composer@2.1-s-593   (  593) [001] ...1 1034702.929752: tracing_mark_write: E|593
16100  surfaceflinger-591   (  591) [000] ...1 1034702.929930: tracing_mark_write: E|591
16101  sensors@1.0-se-778   (  778) [007] ...1 1034702.946409: tracing_mark_write: E|778
16102   SensorService-1283  ( 1151) [006] ...1 1034702.946606: tracing_mark_write: E|1151
16103   SensorService-1283  ( 1151) [006] ...1 1034702.946794: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16104  sensors@1.0-se-778   (  778) [007] ...1 1034702.946935: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16105  sensors@1.0-se-778   (  778) [007] ...1 1034702.965694: tracing_mark_write: E|778
16106   SensorService-1283  ( 1151) [006] ...1 1034702.965840: tracing_mark_write: E|1151
16107   SensorService-1283  ( 1151) [006] ...1 1034702.965987: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16108  sensors@1.0-se-778   (  778) [007] ...1 1034702.966131: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16109  surfaceflinger-591   (  591) [002] ...1 1034702.979768: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16110  composer@2.1-s-593   (  593) [001] ...1 1034702.980163: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16111  composer@2.1-s-593   (  593) [001] ...1 1034702.980328: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16112  composer@2.1-s-593   (  593) [001] ...1 1034702.980377: tracing_mark_write: B|593|HWDevice::Commit::
16113  composer@2.1-s-593   (  593) [001] ...1 1034702.980637: tracing_mark_write: E|593
16114  composer@2.1-s-593   (  593) [001] ...1 1034702.980701: tracing_mark_write: E|593
16115  composer@2.1-s-593   (  593) [001] ...1 1034702.980768: tracing_mark_write: E|593
16116  surfaceflinger-591   (  591) [000] ...1 1034702.980973: tracing_mark_write: E|591
16117  sensors@1.0-se-778   (  778) [007] ...1 1034702.985010: tracing_mark_write: E|778
16118   SensorService-1283  ( 1151) [006] ...1 1034702.985143: tracing_mark_write: E|1151
16119   SensorService-1283  ( 1151) [006] ...1 1034702.985274: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16120  sensors@1.0-se-778   (  778) [007] ...1 1034702.985409: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16121  sensors@1.0-se-778   (  778) [007] ...1 1034703.004384: tracing_mark_write: E|778
16122   SensorService-1283  ( 1151) [006] ...1 1034703.004546: tracing_mark_write: E|1151
16123   SensorService-1283  ( 1151) [006] ...1 1034703.004725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16124  sensors@1.0-se-778   (  778) [007] ...1 1034703.004872: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16125  surfaceflinger-591   (  591) [003] ...1 1034703.012985: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16126  composer@2.1-s-593   (  593) [001] ...1 1034703.013299: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16127  composer@2.1-s-593   (  593) [001] ...1 1034703.013442: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16128  composer@2.1-s-593   (  593) [001] ...1 1034703.013481: tracing_mark_write: B|593|HWDevice::Commit::
16129  composer@2.1-s-593   (  593) [001] ...1 1034703.013702: tracing_mark_write: E|593
16130  composer@2.1-s-593   (  593) [001] ...1 1034703.013754: tracing_mark_write: E|593
16131  composer@2.1-s-593   (  593) [001] ...1 1034703.013812: tracing_mark_write: E|593
16132  surfaceflinger-591   (  591) [003] ...1 1034703.013955: tracing_mark_write: E|591
16133  sensors@1.0-se-778   (  778) [007] ...1 1034703.023513: tracing_mark_write: E|778
16134   SensorService-1283  ( 1151) [006] ...1 1034703.023647: tracing_mark_write: E|1151
16135   SensorService-1283  ( 1151) [006] ...1 1034703.023772: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16136  sensors@1.0-se-778   (  778) [007] ...1 1034703.023909: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16137  sensors@1.0-se-778   (  778) [007] ...1 1034703.042546: tracing_mark_write: E|778
16138   SensorService-1283  ( 1151) [006] ...1 1034703.042649: tracing_mark_write: E|1151
16139   SensorService-1283  ( 1151) [006] ...1 1034703.042747: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16140  sensors@1.0-se-778   (  778) [007] ...1 1034703.042846: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16141  sensors@1.0-se-778   (  778) [007] ...1 1034703.062046: tracing_mark_write: E|778
16142   SensorService-1283  ( 1151) [006] ...1 1034703.062219: tracing_mark_write: E|1151
16143   SensorService-1283  ( 1151) [006] ...1 1034703.062408: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16144  sensors@1.0-se-778   (  778) [007] ...1 1034703.062545: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16145  surfaceflinger-591   (  591) [001] ...1 1034703.063123: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16146  composer@2.1-s-593   (  593) [000] ...1 1034703.063382: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16147  composer@2.1-s-593   (  593) [000] ...1 1034703.063493: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16148  composer@2.1-s-593   (  593) [000] ...1 1034703.063526: tracing_mark_write: B|593|HWDevice::Commit::
16149  composer@2.1-s-593   (  593) [000] ...1 1034703.063700: tracing_mark_write: E|593
16150  composer@2.1-s-593   (  593) [000] ...1 1034703.063742: tracing_mark_write: E|593
16151  composer@2.1-s-593   (  593) [000] ...1 1034703.063789: tracing_mark_write: E|593
16152  surfaceflinger-591   (  591) [001] ...1 1034703.063900: tracing_mark_write: E|591
16153  sensors@1.0-se-778   (  778) [007] ...1 1034703.081185: tracing_mark_write: E|778
16154   SensorService-1283  ( 1151) [006] ...1 1034703.081308: tracing_mark_write: E|1151
16155   SensorService-1283  ( 1151) [006] ...1 1034703.081460: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16156  sensors@1.0-se-778   (  778) [007] ...1 1034703.081583: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16157  surfaceflinger-591   (  591) [000] ...1 1034703.096731: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16158  composer@2.1-s-593   (  593) [001] ...1 1034703.096973: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16159  composer@2.1-s-593   (  593) [001] ...1 1034703.097082: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16160  composer@2.1-s-593   (  593) [001] ...1 1034703.097115: tracing_mark_write: B|593|HWDevice::Commit::
16161  composer@2.1-s-593   (  593) [001] ...1 1034703.097291: tracing_mark_write: E|593
16162  composer@2.1-s-593   (  593) [001] ...1 1034703.097333: tracing_mark_write: E|593
16163  composer@2.1-s-593   (  593) [001] ...1 1034703.097381: tracing_mark_write: E|593
16164  surfaceflinger-591   (  591) [000] ...1 1034703.097497: tracing_mark_write: E|591
16165  sensors@1.0-se-778   (  778) [007] ...1 1034703.100754: tracing_mark_write: E|778
16166   SensorService-1283  ( 1151) [006] ...1 1034703.100933: tracing_mark_write: E|1151
16167   SensorService-1283  ( 1151) [006] ...1 1034703.101150: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16168  sensors@1.0-se-778   (  778) [007] ...1 1034703.101304: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16169  sensors@1.0-se-778   (  778) [005] ...1 1034703.119798: tracing_mark_write: E|778
16170   SensorService-1283  ( 1151) [006] ...1 1034703.119981: tracing_mark_write: E|1151
16171   SensorService-1283  ( 1151) [006] ...1 1034703.120111: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16172  sensors@1.0-se-778   (  778) [005] ...1 1034703.120259: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16173  sensors@1.0-se-778   (  778) [005] ...1 1034703.139138: tracing_mark_write: E|778
16174   SensorService-1283  ( 1151) [006] ...1 1034703.139342: tracing_mark_write: E|1151
16175   SensorService-1283  ( 1151) [006] ...1 1034703.139527: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16176  HwBinder:778_1-1087  (  778) [000] ...1 1034703.139742: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16177  surfaceflinger-591   (  591) [001] ...1 1034703.147234: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16178  composer@2.1-s-593   (  593) [000] ...1 1034703.147530: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16179  composer@2.1-s-593   (  593) [000] ...1 1034703.147681: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16180  composer@2.1-s-593   (  593) [000] ...1 1034703.147726: tracing_mark_write: B|593|HWDevice::Commit::
16181  composer@2.1-s-593   (  593) [000] ...1 1034703.147967: tracing_mark_write: E|593
16182  composer@2.1-s-593   (  593) [000] ...1 1034703.148023: tracing_mark_write: E|593
16183  composer@2.1-s-593   (  593) [000] ...1 1034703.148088: tracing_mark_write: E|593
16184  surfaceflinger-591   (  591) [001] ...1 1034703.148234: tracing_mark_write: E|591
16185  HwBinder:778_1-1087  (  778) [001] ...1 1034703.158388: tracing_mark_write: E|778
16186   SensorService-1283  ( 1151) [006] ...1 1034703.158545: tracing_mark_write: E|1151
16187   SensorService-1283  ( 1151) [006] ...1 1034703.158724: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16188  HwBinder:778_1-1087  (  778) [001] ...1 1034703.158862: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16189  surfaceflinger-591   (  591) [001] ...1 1034703.180801: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16190  composer@2.1-s-593   (  593) [000] ...1 1034703.181114: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16191  composer@2.1-s-593   (  593) [000] ...1 1034703.181258: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16192  composer@2.1-s-593   (  593) [000] ...1 1034703.181297: tracing_mark_write: B|593|HWDevice::Commit::
16193  composer@2.1-s-593   (  593) [000] ...1 1034703.181516: tracing_mark_write: E|593
16194  composer@2.1-s-593   (  593) [000] ...1 1034703.181567: tracing_mark_write: E|593
16195  composer@2.1-s-593   (  593) [000] ...1 1034703.181626: tracing_mark_write: E|593
16196  surfaceflinger-591   (  591) [001] ...1 1034703.181777: tracing_mark_write: E|591
16197  HwBinder:778_1-1087  (  778) [003] ...1 1034703.182177: tracing_mark_write: E|778
16198   SensorService-1283  ( 1151) [006] ...1 1034703.182355: tracing_mark_write: E|1151
16199   SensorService-1283  ( 1151) [006] ...1 1034703.182561: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16200  HwBinder:778_1-1087  (  778) [003] ...1 1034703.182707: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16201  HwBinder:778_1-1087  (  778) [001] ...1 1034703.197013: tracing_mark_write: E|778
16202   SensorService-1283  ( 1151) [006] ...1 1034703.197202: tracing_mark_write: E|1151
16203   SensorService-1283  ( 1151) [006] ...1 1034703.197385: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16204  HwBinder:778_1-1087  (  778) [001] ...1 1034703.197533: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16205  HwBinder:778_1-1087  (  778) [001] ...1 1034703.216395: tracing_mark_write: E|778
16206   SensorService-1283  ( 1151) [006] ...1 1034703.216805: tracing_mark_write: E|1151
16207   SensorService-1283  ( 1151) [006] ...1 1034703.217003: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16208  HwBinder:778_1-1087  (  778) [001] ...1 1034703.217196: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16209  surfaceflinger-591   (  591) [001] ...1 1034703.231354: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16210  composer@2.1-s-593   (  593) [000] ...1 1034703.231685: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16211  composer@2.1-s-593   (  593) [000] ...1 1034703.231876: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16212  composer@2.1-s-593   (  593) [000] ...1 1034703.231932: tracing_mark_write: B|593|HWDevice::Commit::
16213  composer@2.1-s-593   (  593) [000] ...1 1034703.232233: tracing_mark_write: E|593
16214  composer@2.1-s-593   (  593) [000] ...1 1034703.232304: tracing_mark_write: E|593
16215  composer@2.1-s-593   (  593) [000] ...1 1034703.232383: tracing_mark_write: E|593
16216  surfaceflinger-591   (  591) [001] ...1 1034703.232587: tracing_mark_write: E|591
16217  HwBinder:778_1-1087  (  778) [001] ...1 1034703.235966: tracing_mark_write: E|778
16218   SensorService-1283  ( 1151) [006] ...1 1034703.236187: tracing_mark_write: E|1151
16219   SensorService-1283  ( 1151) [006] ...1 1034703.236418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16220  HwBinder:778_1-1087  (  778) [001] ...1 1034703.236601: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16221  HwBinder:778_1-1087  (  778) [001] ...1 1034703.254670: tracing_mark_write: E|778
16222   SensorService-1283  ( 1151) [006] ...1 1034703.254859: tracing_mark_write: E|1151
16223   SensorService-1283  ( 1151) [006] ...1 1034703.255033: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16224  HwBinder:778_1-1087  (  778) [001] ...1 1034703.255190: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16225  HwBinder:778_1-1087  (  778) [001] ...1 1034703.274020: tracing_mark_write: E|778
16226   SensorService-1283  ( 1151) [006] ...1 1034703.274251: tracing_mark_write: E|1151
16227   SensorService-1283  ( 1151) [006] ...1 1034703.274465: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16228  HwBinder:778_1-1087  (  778) [001] ...1 1034703.274637: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16229  surfaceflinger-591   (  591) [000] ...1 1034703.281635: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16230  composer@2.1-s-593   (  593) [001] ...1 1034703.281946: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16231  composer@2.1-s-593   (  593) [001] ...1 1034703.282122: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16232  composer@2.1-s-593   (  593) [001] ...1 1034703.282177: tracing_mark_write: B|593|HWDevice::Commit::
16233  composer@2.1-s-593   (  593) [001] ...1 1034703.282455: tracing_mark_write: E|593
16234  composer@2.1-s-593   (  593) [001] ...1 1034703.282521: tracing_mark_write: E|593
16235  composer@2.1-s-593   (  593) [001] ...1 1034703.282598: tracing_mark_write: E|593
16236  surfaceflinger-591   (  591) [000] ...1 1034703.282773: tracing_mark_write: E|591
16237  HwBinder:778_1-1087  (  778) [001] ...1 1034703.293331: tracing_mark_write: E|778
16238   SensorService-1283  ( 1151) [006] ...1 1034703.293522: tracing_mark_write: E|1151
16239   SensorService-1283  ( 1151) [006] ...1 1034703.293693: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16240  HwBinder:778_1-1087  (  778) [001] ...1 1034703.293860: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16241  HwBinder:778_1-1087  (  778) [001] ...1 1034703.312477: tracing_mark_write: E|778
16242   SensorService-1283  ( 1151) [006] ...1 1034703.312725: tracing_mark_write: E|1151
16243   SensorService-1283  ( 1151) [006] ...1 1034703.312942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16244  HwBinder:778_1-1087  (  778) [001] ...1 1034703.313120: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16245  surfaceflinger-591   (  591) [001] ...1 1034703.315273: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16246  composer@2.1-s-593   (  593) [000] ...1 1034703.315613: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16247  composer@2.1-s-593   (  593) [000] ...1 1034703.315820: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16248  composer@2.1-s-593   (  593) [000] ...1 1034703.315881: tracing_mark_write: B|593|HWDevice::Commit::
16249  composer@2.1-s-593   (  593) [000] ...1 1034703.316195: tracing_mark_write: E|593
16250  composer@2.1-s-593   (  593) [000] ...1 1034703.316272: tracing_mark_write: E|593
16251  composer@2.1-s-593   (  593) [000] ...1 1034703.316358: tracing_mark_write: E|593
16252  surfaceflinger-591   (  591) [001] ...1 1034703.316641: tracing_mark_write: E|591
16253  HwBinder:778_1-1087  (  778) [001] ...1 1034703.332408: tracing_mark_write: E|778
16254   SensorService-1283  ( 1151) [006] ...1 1034703.332627: tracing_mark_write: E|1151
16255   SensorService-1283  ( 1151) [006] ...1 1034703.332767: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16256  HwBinder:778_1-1087  (  778) [001] ...1 1034703.332939: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16257  HwBinder:778_1-1087  (  778) [000] ...1 1034703.354105: tracing_mark_write: E|778
16258   SensorService-1283  ( 1151) [006] ...1 1034703.354372: tracing_mark_write: E|1151
16259   SensorService-1283  ( 1151) [006] ...1 1034703.354599: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16260  HwBinder:778_1-1087  (  778) [000] ...1 1034703.354788: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16261  surfaceflinger-591   (  591) [000] ...1 1034703.365891: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16262  composer@2.1-s-593   (  593) [001] ...1 1034703.366296: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16263  composer@2.1-s-593   (  593) [001] ...1 1034703.366512: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16264  composer@2.1-s-593   (  593) [001] ...1 1034703.366665: tracing_mark_write: B|593|HWDevice::Commit::
16265  composer@2.1-s-593   (  593) [001] ...1 1034703.367004: tracing_mark_write: E|593
16266  composer@2.1-s-593   (  593) [001] ...1 1034703.367090: tracing_mark_write: E|593
16267  composer@2.1-s-593   (  593) [001] ...1 1034703.367186: tracing_mark_write: E|593
16268  surfaceflinger-591   (  591) [000] ...1 1034703.367437: tracing_mark_write: E|591
16269  HwBinder:778_1-1087  (  778) [001] ...1 1034703.371125: tracing_mark_write: E|778
16270   SensorService-1283  ( 1151) [006] ...1 1034703.371329: tracing_mark_write: E|1151
16271   SensorService-1283  ( 1151) [006] ...1 1034703.371456: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16272  HwBinder:778_1-1087  (  778) [001] ...1 1034703.371625: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16273  HwBinder:778_1-1087  (  778) [001] ...1 1034703.389748: tracing_mark_write: E|778
16274   SensorService-1283  ( 1151) [006] ...1 1034703.389977: tracing_mark_write: E|1151
16275   SensorService-1283  ( 1151) [006] ...1 1034703.390121: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16276  HwBinder:778_1-1087  (  778) [001] ...1 1034703.390288: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16277  surfaceflinger-591   (  591) [001] ...1 1034703.399464: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16278  composer@2.1-s-593   (  593) [000] ...1 1034703.399853: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16279  composer@2.1-s-593   (  593) [000] ...1 1034703.400123: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16280  composer@2.1-s-593   (  593) [000] ...1 1034703.400185: tracing_mark_write: B|593|HWDevice::Commit::
16281  composer@2.1-s-593   (  593) [000] ...1 1034703.400539: tracing_mark_write: E|593
16282  composer@2.1-s-593   (  593) [000] ...1 1034703.400623: tracing_mark_write: E|593
16283  composer@2.1-s-593   (  593) [000] ...1 1034703.400719: tracing_mark_write: E|593
16284  surfaceflinger-591   (  591) [001] ...1 1034703.400971: tracing_mark_write: E|591
16285  HwBinder:778_1-1087  (  778) [000] ...1 1034703.408687: tracing_mark_write: E|778
16286   SensorService-1283  ( 1151) [006] ...1 1034703.408889: tracing_mark_write: E|1151
16287   SensorService-1283  ( 1151) [006] ...1 1034703.409046: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16288  HwBinder:778_1-1087  (  778) [000] ...1 1034703.409174: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16289  HwBinder:778_1-1087  (  778) [000] ...1 1034703.427803: tracing_mark_write: E|778
16290   SensorService-1283  ( 1151) [006] ...1 1034703.427968: tracing_mark_write: E|1151
16291   SensorService-1283  ( 1151) [006] ...1 1034703.428084: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16292  HwBinder:778_1-1087  (  778) [000] ...1 1034703.428193: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16293  HwBinder:778_1-1087  (  778) [000] ...1 1034703.446861: tracing_mark_write: E|778
16294   SensorService-1283  ( 1151) [006] ...1 1034703.446969: tracing_mark_write: E|1151
16295   SensorService-1283  ( 1151) [006] ...1 1034703.447070: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16296  HwBinder:778_1-1087  (  778) [000] ...1 1034703.447141: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16297  surfaceflinger-591   (  591) [000] ...1 1034703.448791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16298  composer@2.1-s-593   (  593) [001] ...1 1034703.448916: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16299  composer@2.1-s-593   (  593) [001] ...1 1034703.448992: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16300  composer@2.1-s-593   (  593) [001] ...1 1034703.449015: tracing_mark_write: B|593|HWDevice::Commit::
16301  composer@2.1-s-593   (  593) [001] ...1 1034703.449135: tracing_mark_write: E|593
16302  composer@2.1-s-593   (  593) [001] ...1 1034703.449163: tracing_mark_write: E|593
16303  composer@2.1-s-593   (  593) [001] ...1 1034703.449195: tracing_mark_write: E|593
16304  surfaceflinger-591   (  591) [000] ...1 1034703.449269: tracing_mark_write: E|591
16305  HwBinder:778_1-1087  (  778) [000] ...1 1034703.466001: tracing_mark_write: E|778
16306   SensorService-1283  ( 1151) [006] ...1 1034703.466091: tracing_mark_write: E|1151
16307   SensorService-1283  ( 1151) [006] ...1 1034703.466160: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16308  HwBinder:778_1-1087  (  778) [000] ...1 1034703.466226: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16309  surfaceflinger-591   (  591) [002] ...1 1034703.482408: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16310  composer@2.1-s-593   (  593) [001] ...1 1034703.482572: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16311  composer@2.1-s-593   (  593) [001] ...1 1034703.482683: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16312  composer@2.1-s-593   (  593) [001] ...1 1034703.482709: tracing_mark_write: B|593|HWDevice::Commit::
16313  composer@2.1-s-593   (  593) [001] ...1 1034703.482844: tracing_mark_write: E|593
16314  composer@2.1-s-593   (  593) [001] ...1 1034703.482879: tracing_mark_write: E|593
16315  composer@2.1-s-593   (  593) [001] ...1 1034703.482918: tracing_mark_write: E|593
16316  surfaceflinger-591   (  591) [003] ...1 1034703.483021: tracing_mark_write: E|591
16317  HwBinder:778_1-1087  (  778) [000] ...1 1034703.485682: tracing_mark_write: E|778
16318   SensorService-1283  ( 1151) [006] ...1 1034703.485903: tracing_mark_write: E|1151
16319   SensorService-1283  ( 1151) [006] ...1 1034703.486095: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16320  HwBinder:778_1-1087  (  778) [000] ...1 1034703.486241: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16321  HwBinder:778_1-1087  (  778) [000] ...1 1034703.505013: tracing_mark_write: E|778
16322   SensorService-1283  ( 1151) [006] ...1 1034703.505233: tracing_mark_write: E|1151
16323   SensorService-1283  ( 1151) [006] ...1 1034703.505399: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16324  HwBinder:778_1-1087  (  778) [000] ...1 1034703.505545: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16325  HwBinder:778_1-1087  (  778) [000] ...1 1034703.524132: tracing_mark_write: E|778
16326   SensorService-1283  ( 1151) [006] ...1 1034703.524349: tracing_mark_write: E|1151
16327   SensorService-1283  ( 1151) [006] ...1 1034703.524583: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16328  HwBinder:778_1-1087  (  778) [000] ...1 1034703.524772: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16329  surfaceflinger-591   (  591) [002] ...1 1034703.532964: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16330  composer@2.1-s-593   (  593) [001] ...1 1034703.533331: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16331  composer@2.1-s-593   (  593) [001] ...1 1034703.533467: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16332  composer@2.1-s-593   (  593) [001] ...1 1034703.533507: tracing_mark_write: B|593|HWDevice::Commit::
16333  composer@2.1-s-593   (  593) [001] ...1 1034703.533727: tracing_mark_write: E|593
16334  composer@2.1-s-593   (  593) [001] ...1 1034703.533783: tracing_mark_write: E|593
16335  composer@2.1-s-593   (  593) [001] ...1 1034703.533843: tracing_mark_write: E|593
16336  surfaceflinger-591   (  591) [000] ...1 1034703.534012: tracing_mark_write: E|591
16337  HwBinder:778_1-1087  (  778) [001] ...1 1034703.543337: tracing_mark_write: E|778
16338   SensorService-1283  ( 1151) [006] ...1 1034703.543531: tracing_mark_write: E|1151
16339   SensorService-1283  ( 1151) [006] ...1 1034703.543671: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16340  HwBinder:778_1-1087  (  778) [001] ...1 1034703.543796: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16341  HwBinder:778_1-1087  (  778) [001] ...1 1034703.562660: tracing_mark_write: E|778
16342   SensorService-1283  ( 1151) [006] ...1 1034703.562884: tracing_mark_write: E|1151
16343   SensorService-1283  ( 1151) [006] ...1 1034703.563098: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16344  HwBinder:778_1-1087  (  778) [001] ...1 1034703.563305: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16345  HwBinder:778_1-1087  (  778) [000] ...1 1034703.582085: tracing_mark_write: E|778
16346   SensorService-1283  ( 1151) [006] ...1 1034703.582315: tracing_mark_write: E|1151
16347   SensorService-1283  ( 1151) [006] ...1 1034703.582521: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16348  HwBinder:778_1-1087  (  778) [002] ...1 1034703.582686: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16349  surfaceflinger-591   (  591) [000] ...1 1034703.583589: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16350  composer@2.1-s-593   (  593) [001] ...1 1034703.583739: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16351  composer@2.1-s-593   (  593) [001] ...1 1034703.583823: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16352  composer@2.1-s-593   (  593) [001] ...1 1034703.583848: tracing_mark_write: B|593|HWDevice::Commit::
16353  composer@2.1-s-593   (  593) [001] ...1 1034703.583982: tracing_mark_write: E|593
16354  composer@2.1-s-593   (  593) [001] ...1 1034703.584016: tracing_mark_write: E|593
16355  composer@2.1-s-593   (  593) [001] ...1 1034703.584052: tracing_mark_write: E|593
16356  surfaceflinger-591   (  591) [000] ...1 1034703.584143: tracing_mark_write: E|591
16357  HwBinder:778_1-1087  (  778) [001] ...1 1034703.601012: tracing_mark_write: E|778
16358   SensorService-1283  ( 1151) [006] ...1 1034703.601199: tracing_mark_write: E|1151
16359   SensorService-1283  ( 1151) [006] ...1 1034703.601388: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16360  HwBinder:778_1-1087  (  778) [001] ...1 1034703.601525: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16361  surfaceflinger-591   (  591) [002] ...1 1034703.616877: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16362  composer@2.1-s-593   (  593) [001] ...1 1034703.617097: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16363  composer@2.1-s-593   (  593) [001] ...1 1034703.617194: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16364  composer@2.1-s-593   (  593) [001] ...1 1034703.617222: tracing_mark_write: B|593|HWDevice::Commit::
16365  composer@2.1-s-593   (  593) [001] ...1 1034703.617384: tracing_mark_write: E|593
16366  composer@2.1-s-593   (  593) [001] ...1 1034703.617424: tracing_mark_write: E|593
16367  composer@2.1-s-593   (  593) [001] ...1 1034703.617469: tracing_mark_write: E|593
16368  surfaceflinger-591   (  591) [003] ...1 1034703.617594: tracing_mark_write: E|591
16369  HwBinder:778_1-1087  (  778) [001] ...1 1034703.620232: tracing_mark_write: E|778
16370   SensorService-1283  ( 1151) [006] ...1 1034703.620371: tracing_mark_write: E|1151
16371   SensorService-1283  ( 1151) [006] ...1 1034703.620509: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16372  HwBinder:778_1-1087  (  778) [001] ...1 1034703.620622: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16373  HwBinder:778_1-1087  (  778) [002] ...1 1034703.639660: tracing_mark_write: E|778
16374   SensorService-1283  ( 1151) [006] ...1 1034703.639787: tracing_mark_write: E|1151
16375   SensorService-1283  ( 1151) [006] ...1 1034703.640012: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16376  HwBinder:778_1-1087  (  778) [002] ...1 1034703.640160: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16377  HwBinder:778_1-1087  (  778) [001] ...1 1034703.658904: tracing_mark_write: E|778
16378   SensorService-1283  ( 1151) [006] ...1 1034703.659074: tracing_mark_write: E|1151
16379   SensorService-1283  ( 1151) [006] ...1 1034703.659245: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16380  HwBinder:778_1-1087  (  778) [001] ...1 1034703.659393: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16381  surfaceflinger-591   (  591) [000] ...1 1034703.667275: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16382  composer@2.1-s-593   (  593) [001] ...1 1034703.667489: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16383  composer@2.1-s-593   (  593) [001] ...1 1034703.667608: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16384  composer@2.1-s-593   (  593) [001] ...1 1034703.667642: tracing_mark_write: B|593|HWDevice::Commit::
16385  composer@2.1-s-593   (  593) [001] ...1 1034703.667852: tracing_mark_write: E|593
16386  composer@2.1-s-593   (  593) [001] ...1 1034703.667899: tracing_mark_write: E|593
16387  composer@2.1-s-593   (  593) [001] ...1 1034703.667951: tracing_mark_write: E|593
16388  surfaceflinger-591   (  591) [000] ...1 1034703.668089: tracing_mark_write: E|591
16389  HwBinder:778_1-1087  (  778) [001] ...1 1034703.678245: tracing_mark_write: E|778
16390   SensorService-1283  ( 1151) [006] ...1 1034703.678409: tracing_mark_write: E|1151
16391   SensorService-1283  ( 1151) [006] ...1 1034703.678581: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16392  HwBinder:778_1-1087  (  778) [001] ...1 1034703.678722: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16393  HwBinder:778_1-1087  (  778) [001] ...1 1034703.697309: tracing_mark_write: E|778
16394   SensorService-1283  ( 1151) [006] ...1 1034703.697463: tracing_mark_write: E|1151
16395   SensorService-1283  ( 1151) [006] ...1 1034703.697628: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16396  HwBinder:778_1-1087  (  778) [001] ...1 1034703.697768: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16397  surfaceflinger-591   (  591) [000] ...1 1034703.701138: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16398  composer@2.1-s-593   (  593) [001] ...1 1034703.701395: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16399  composer@2.1-s-593   (  593) [001] ...1 1034703.701553: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16400  composer@2.1-s-593   (  593) [001] ...1 1034703.701597: tracing_mark_write: B|593|HWDevice::Commit::
16401  composer@2.1-s-593   (  593) [001] ...1 1034703.701852: tracing_mark_write: E|593
16402  composer@2.1-s-593   (  593) [001] ...1 1034703.701910: tracing_mark_write: E|593
16403  composer@2.1-s-593   (  593) [001] ...1 1034703.701974: tracing_mark_write: E|593
16404  surfaceflinger-591   (  591) [000] ...1 1034703.702153: tracing_mark_write: E|591
16405  HwBinder:778_1-1087  (  778) [001] ...1 1034703.716730: tracing_mark_write: E|778
16406   SensorService-1283  ( 1151) [006] ...1 1034703.716920: tracing_mark_write: E|1151
16407   SensorService-1283  ( 1151) [006] ...1 1034703.717057: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16408  HwBinder:778_1-1087  (  778) [000] ...1 1034703.717234: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16409  HwBinder:778_1-1087  (  778) [001] ...1 1034703.738662: tracing_mark_write: E|778
16410   SensorService-1283  ( 1151) [006] ...1 1034703.738863: tracing_mark_write: E|1151
16411   SensorService-1283  ( 1151) [006] ...1 1034703.739020: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16412  HwBinder:778_1-1087  (  778) [001] ...1 1034703.739164: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16413  surfaceflinger-591   (  591) [000] ...1 1034703.751177: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16414  composer@2.1-s-593   (  593) [001] ...1 1034703.751419: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16415  composer@2.1-s-593   (  593) [001] ...1 1034703.751543: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16416  composer@2.1-s-593   (  593) [001] ...1 1034703.751577: tracing_mark_write: B|593|HWDevice::Commit::
16417  composer@2.1-s-593   (  593) [001] ...1 1034703.751753: tracing_mark_write: E|593
16418  composer@2.1-s-593   (  593) [001] ...1 1034703.751798: tracing_mark_write: E|593
16419  composer@2.1-s-593   (  593) [001] ...1 1034703.751849: tracing_mark_write: E|593
16420  surfaceflinger-591   (  591) [000] ...1 1034703.751959: tracing_mark_write: E|591
16421  HwBinder:778_1-1087  (  778) [000] ...1 1034703.755037: tracing_mark_write: E|778
16422   SensorService-1283  ( 1151) [006] ...1 1034703.755168: tracing_mark_write: E|1151
16423   SensorService-1283  ( 1151) [006] ...1 1034703.755335: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16424  HwBinder:778_1-1087  (  778) [000] ...1 1034703.755460: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16425  HwBinder:778_1-1087  (  778) [001] ...1 1034703.774617: tracing_mark_write: E|778
16426   SensorService-1283  ( 1151) [006] ...1 1034703.774778: tracing_mark_write: E|1151
16427   SensorService-1283  ( 1151) [006] ...1 1034703.774887: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16428  HwBinder:778_1-1087  (  778) [001] ...1 1034703.775015: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16429  HwBinder:778_1-1087  (  778) [001] ...1 1034703.793815: tracing_mark_write: E|778
16430   SensorService-1283  ( 1151) [006] ...1 1034703.794030: tracing_mark_write: E|1151
16431   SensorService-1283  ( 1151) [006] ...1 1034703.794203: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16432  HwBinder:778_1-1087  (  778) [001] ...1 1034703.794352: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16433  surfaceflinger-591   (  591) [000] ...1 1034703.801778: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16434  composer@2.1-s-593   (  593) [001] ...1 1034703.802076: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16435  composer@2.1-s-593   (  593) [001] ...1 1034703.802240: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16436  composer@2.1-s-593   (  593) [001] ...1 1034703.802287: tracing_mark_write: B|593|HWDevice::Commit::
16437  composer@2.1-s-593   (  593) [001] ...1 1034703.802535: tracing_mark_write: E|593
16438  composer@2.1-s-593   (  593) [001] ...1 1034703.802595: tracing_mark_write: E|593
16439  composer@2.1-s-593   (  593) [001] ...1 1034703.802662: tracing_mark_write: E|593
16440  surfaceflinger-591   (  591) [000] ...1 1034703.802812: tracing_mark_write: E|591
16441  HwBinder:778_1-1087  (  778) [001] ...1 1034703.812881: tracing_mark_write: E|778
16442   SensorService-1283  ( 1151) [006] ...1 1034703.813059: tracing_mark_write: E|1151
16443   SensorService-1283  ( 1151) [006] ...1 1034703.813188: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16444  HwBinder:778_1-1087  (  778) [001] ...1 1034703.813397: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16445  HwBinder:778_1-1087  (  778) [002] ...1 1034703.831945: tracing_mark_write: E|778
16446   SensorService-1283  ( 1151) [006] ...1 1034703.832147: tracing_mark_write: E|1151
16447   SensorService-1283  ( 1151) [006] ...1 1034703.832343: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16448  HwBinder:778_1-1087  (  778) [002] ...1 1034703.832478: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16449  surfaceflinger-591   (  591) [000] ...1 1034703.834902: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16450  composer@2.1-s-593   (  593) [001] ...1 1034703.835070: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16451  composer@2.1-s-593   (  593) [001] ...1 1034703.835158: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16452  composer@2.1-s-593   (  593) [001] ...1 1034703.835184: tracing_mark_write: B|593|HWDevice::Commit::
16453  composer@2.1-s-593   (  593) [001] ...1 1034703.835386: tracing_mark_write: E|593
16454  composer@2.1-s-593   (  593) [001] ...1 1034703.835422: tracing_mark_write: E|593
16455  composer@2.1-s-593   (  593) [001] ...1 1034703.835462: tracing_mark_write: E|593
16456  surfaceflinger-591   (  591) [000] ...1 1034703.835569: tracing_mark_write: E|591
16457  HwBinder:778_1-1087  (  778) [002] ...1 1034703.851268: tracing_mark_write: E|778
16458   SensorService-1283  ( 1151) [006] ...1 1034703.851464: tracing_mark_write: E|1151
16459   SensorService-1283  ( 1151) [006] ...1 1034703.851631: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16460  HwBinder:778_1-1087  (  778) [002] ...1 1034703.851763: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16461  HwBinder:778_1-1087  (  778) [000] ...1 1034703.870507: tracing_mark_write: E|778
16462   SensorService-1283  ( 1151) [006] ...1 1034703.870682: tracing_mark_write: E|1151
16463   SensorService-1283  ( 1151) [006] ...1 1034703.870840: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16464  HwBinder:778_1-1087  (  778) [000] ...1 1034703.870965: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16465  surfaceflinger-591   (  591) [000] ...1 1034703.885214: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16466  composer@2.1-s-593   (  593) [001] ...1 1034703.885403: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16467  composer@2.1-s-593   (  593) [001] ...1 1034703.885488: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16468  composer@2.1-s-593   (  593) [001] ...1 1034703.885515: tracing_mark_write: B|593|HWDevice::Commit::
16469  composer@2.1-s-593   (  593) [001] ...1 1034703.885659: tracing_mark_write: E|593
16470  composer@2.1-s-593   (  593) [001] ...1 1034703.885693: tracing_mark_write: E|593
16471  composer@2.1-s-593   (  593) [001] ...1 1034703.885731: tracing_mark_write: E|593
16472  surfaceflinger-591   (  591) [000] ...1 1034703.885825: tracing_mark_write: E|591
16473  HwBinder:778_1-1087  (  778) [001] ...1 1034703.889700: tracing_mark_write: E|778
16474   SensorService-1283  ( 1151) [006] ...1 1034703.889853: tracing_mark_write: E|1151
16475   SensorService-1283  ( 1151) [006] ...1 1034703.890045: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16476  HwBinder:778_1-1087  (  778) [001] ...1 1034703.890167: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16477  HwBinder:778_1-1087  (  778) [000] ...1 1034703.909581: tracing_mark_write: E|778
16478   SensorService-1283  ( 1151) [006] ...1 1034703.909818: tracing_mark_write: E|1151
16479   SensorService-1283  ( 1151) [006] ...1 1034703.910035: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16480  HwBinder:778_1-1087  (  778) [000] ...1 1034703.910341: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16481  surfaceflinger-591   (  591) [000] ...1 1034703.918969: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16482  composer@2.1-s-593   (  593) [001] ...1 1034703.919185: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16483  composer@2.1-s-593   (  593) [001] ...1 1034703.919305: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16484  composer@2.1-s-593   (  593) [001] ...1 1034703.919340: tracing_mark_write: B|593|HWDevice::Commit::
16485  composer@2.1-s-593   (  593) [001] ...1 1034703.919531: tracing_mark_write: E|593
16486  composer@2.1-s-593   (  593) [001] ...1 1034703.919576: tracing_mark_write: E|593
16487  composer@2.1-s-593   (  593) [001] ...1 1034703.919627: tracing_mark_write: E|593
16488  surfaceflinger-591   (  591) [000] ...1 1034703.919740: tracing_mark_write: E|591
16489  HwBinder:778_1-1087  (  778) [001] ...1 1034703.928316: tracing_mark_write: E|778
16490   SensorService-1283  ( 1151) [006] ...1 1034703.928482: tracing_mark_write: E|1151
16491   SensorService-1283  ( 1151) [006] ...1 1034703.928610: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16492  HwBinder:778_1-1087  (  778) [001] ...1 1034703.928741: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16493  HwBinder:778_1-1087  (  778) [001] ...1 1034703.947653: tracing_mark_write: E|778
16494   SensorService-1283  ( 1151) [006] ...1 1034703.947834: tracing_mark_write: E|1151
16495   SensorService-1283  ( 1151) [006] ...1 1034703.948050: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16496  HwBinder:778_1-1087  (  778) [001] ...1 1034703.948190: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16497  HwBinder:778_1-1087  (  778) [000] ...1 1034703.967058: tracing_mark_write: E|778
16498   SensorService-1283  ( 1151) [006] ...1 1034703.967236: tracing_mark_write: E|1151
16499   SensorService-1283  ( 1151) [006] ...1 1034703.967377: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16500  HwBinder:778_1-1087  (  778) [000] ...1 1034703.967515: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16501  surfaceflinger-591   (  591) [000] ...1 1034703.969311: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16502  composer@2.1-s-593   (  593) [001] ...1 1034703.969514: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16503  composer@2.1-s-593   (  593) [001] ...1 1034703.969641: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16504  composer@2.1-s-593   (  593) [001] ...1 1034703.969678: tracing_mark_write: B|593|HWDevice::Commit::
16505  composer@2.1-s-593   (  593) [001] ...1 1034703.969915: tracing_mark_write: E|593
16506  composer@2.1-s-593   (  593) [001] ...1 1034703.969962: tracing_mark_write: E|593
16507  composer@2.1-s-593   (  593) [001] ...1 1034703.970012: tracing_mark_write: E|593
16508  surfaceflinger-591   (  591) [000] ...1 1034703.970133: tracing_mark_write: E|591
16509  HwBinder:778_1-1087  (  778) [000] ...1 1034703.986126: tracing_mark_write: E|778
16510   SensorService-1283  ( 1151) [006] ...1 1034703.986292: tracing_mark_write: E|1151
16511   SensorService-1283  ( 1151) [006] ...1 1034703.986426: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16512  HwBinder:778_1-1087  (  778) [000] ...1 1034703.986598: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16513  surfaceflinger-591   (  591) [000] ...1 1034704.002947: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16514  composer@2.1-s-593   (  593) [001] ...1 1034704.003284: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16515  composer@2.1-s-593   (  593) [001] ...1 1034704.003422: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16516  composer@2.1-s-593   (  593) [001] ...1 1034704.003461: tracing_mark_write: B|593|HWDevice::Commit::
16517  composer@2.1-s-593   (  593) [001] ...1 1034704.003675: tracing_mark_write: E|593
16518  composer@2.1-s-593   (  593) [001] ...1 1034704.003723: tracing_mark_write: E|593
16519  composer@2.1-s-593   (  593) [001] ...1 1034704.003780: tracing_mark_write: E|593
16520  surfaceflinger-591   (  591) [000] ...1 1034704.003899: tracing_mark_write: E|591
16521  HwBinder:778_1-1087  (  778) [000] ...1 1034704.006663: tracing_mark_write: E|778
16522   SensorService-1283  ( 1151) [006] ...1 1034704.006808: tracing_mark_write: E|1151
16523   SensorService-1283  ( 1151) [006] ...1 1034704.006946: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16524  HwBinder:778_1-1087  (  778) [000] ...1 1034704.007069: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16525  HwBinder:778_1-1087  (  778) [001] ...1 1034704.024658: tracing_mark_write: E|778
16526   SensorService-1283  ( 1151) [006] ...1 1034704.024820: tracing_mark_write: E|1151
16527   SensorService-1283  ( 1151) [006] ...1 1034704.024951: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16528  HwBinder:778_1-1087  (  778) [001] ...1 1034704.025077: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16529  HwBinder:778_1-1087  (  778) [000] ...1 1034704.044219: tracing_mark_write: E|778
16530   SensorService-1283  ( 1151) [006] ...1 1034704.044365: tracing_mark_write: E|1151
16531   SensorService-1283  ( 1151) [006] ...1 1034704.044480: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16532  HwBinder:778_1-1087  (  778) [000] ...1 1034704.044585: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16533  surfaceflinger-591   (  591) [002] ...1 1034704.053130: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16534  composer@2.1-s-593   (  593) [001] ...1 1034704.053392: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16535  composer@2.1-s-593   (  593) [001] ...1 1034704.053498: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16536  composer@2.1-s-593   (  593) [001] ...1 1034704.053528: tracing_mark_write: B|593|HWDevice::Commit::
16537  composer@2.1-s-593   (  593) [001] ...1 1034704.053693: tracing_mark_write: E|593
16538  composer@2.1-s-593   (  593) [001] ...1 1034704.053733: tracing_mark_write: E|593
16539  composer@2.1-s-593   (  593) [001] ...1 1034704.053779: tracing_mark_write: E|593
16540  surfaceflinger-591   (  591) [000] ...1 1034704.053913: tracing_mark_write: E|591
16541  HwBinder:778_1-1087  (  778) [000] ...1 1034704.063432: tracing_mark_write: E|778
16542   SensorService-1283  ( 1151) [006] ...1 1034704.063610: tracing_mark_write: E|1151
16543   SensorService-1283  ( 1151) [006] ...1 1034704.063768: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16544  HwBinder:778_1-1087  (  778) [000] ...1 1034704.063907: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16545  HwBinder:778_1-1087  (  778) [003] ...1 1034704.082380: tracing_mark_write: E|778
16546   SensorService-1283  ( 1151) [006] ...1 1034704.082546: tracing_mark_write: E|1151
16547   SensorService-1283  ( 1151) [006] ...1 1034704.082706: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16548  HwBinder:778_1-1087  (  778) [003] ...1 1034704.082837: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16549  surfaceflinger-591   (  591) [001] ...1 1034704.086948: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16550  composer@2.1-s-593   (  593) [000] ...1 1034704.087195: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16551  composer@2.1-s-593   (  593) [000] ...1 1034704.087317: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16552  composer@2.1-s-593   (  593) [000] ...1 1034704.087351: tracing_mark_write: B|593|HWDevice::Commit::
16553  composer@2.1-s-593   (  593) [000] ...1 1034704.087542: tracing_mark_write: E|593
16554  composer@2.1-s-593   (  593) [000] ...1 1034704.087590: tracing_mark_write: E|593
16555  composer@2.1-s-593   (  593) [000] ...1 1034704.087643: tracing_mark_write: E|593
16556  surfaceflinger-591   (  591) [001] ...1 1034704.087782: tracing_mark_write: E|591
16557  HwBinder:778_1-1087  (  778) [000] ...1 1034704.101656: tracing_mark_write: E|778
16558   SensorService-1283  ( 1151) [001] ...1 1034704.101924: tracing_mark_write: E|1151
16559   SensorService-1283  ( 1151) [001] ...1 1034704.102061: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16560  HwBinder:778_1-1087  (  778) [000] ...1 1034704.102161: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16561  HwBinder:778_1-1087  (  778) [001] ...1 1034704.120836: tracing_mark_write: E|778
16562   SensorService-1283  ( 1151) [003] ...1 1034704.121007: tracing_mark_write: E|1151
16563   SensorService-1283  ( 1151) [003] ...1 1034704.121147: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16564  HwBinder:778_1-1087  (  778) [001] ...1 1034704.121239: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16565  surfaceflinger-591   (  591) [002] ...1 1034704.137227: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16566  composer@2.1-s-593   (  593) [000] ...1 1034704.137478: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16567  composer@2.1-s-593   (  593) [000] ...1 1034704.137595: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16568  composer@2.1-s-593   (  593) [000] ...1 1034704.137630: tracing_mark_write: B|593|HWDevice::Commit::
16569  composer@2.1-s-593   (  593) [000] ...1 1034704.137813: tracing_mark_write: E|593
16570  composer@2.1-s-593   (  593) [000] ...1 1034704.137857: tracing_mark_write: E|593
16571  composer@2.1-s-593   (  593) [000] ...1 1034704.137908: tracing_mark_write: E|593
16572  surfaceflinger-591   (  591) [001] ...1 1034704.138038: tracing_mark_write: E|591
16573  HwBinder:778_1-1087  (  778) [000] ...1 1034704.140587: tracing_mark_write: E|778
16574   SensorService-1283  ( 1151) [003] ...1 1034704.140688: tracing_mark_write: E|1151
16575   SensorService-1283  ( 1151) [003] ...1 1034704.140814: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16576  HwBinder:778_1-1087  (  778) [000] ...1 1034704.140890: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16577  HwBinder:778_1-1087  (  778) [000] ...1 1034704.159571: tracing_mark_write: E|778
16578   SensorService-1283  ( 1151) [003] ...1 1034704.159715: tracing_mark_write: E|1151
16579   SensorService-1283  ( 1151) [003] ...1 1034704.159832: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16580  HwBinder:778_1-1087  (  778) [000] ...1 1034704.159946: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16581  HwBinder:778_1-1087  (  778) [000] ...1 1034704.178642: tracing_mark_write: E|778
16582   SensorService-1283  ( 1151) [003] ...1 1034704.178792: tracing_mark_write: E|1151
16583   SensorService-1283  ( 1151) [003] ...1 1034704.178927: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16584  HwBinder:778_1-1087  (  778) [000] ...1 1034704.179020: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16585  surfaceflinger-591   (  591) [003] ...1 1034704.187751: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16586  composer@2.1-s-593   (  593) [000] ...1 1034704.188040: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16587  composer@2.1-s-593   (  593) [000] ...1 1034704.188189: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16588  composer@2.1-s-593   (  593) [000] ...1 1034704.188236: tracing_mark_write: B|593|HWDevice::Commit::
16589  composer@2.1-s-593   (  593) [000] ...1 1034704.188481: tracing_mark_write: E|593
16590  composer@2.1-s-593   (  593) [000] ...1 1034704.188539: tracing_mark_write: E|593
16591  composer@2.1-s-593   (  593) [000] ...1 1034704.188606: tracing_mark_write: E|593
16592  surfaceflinger-591   (  591) [003] ...1 1034704.188771: tracing_mark_write: E|591
16593  HwBinder:778_1-1087  (  778) [000] ...1 1034704.197914: tracing_mark_write: E|778
16594   SensorService-1283  ( 1151) [003] ...1 1034704.198076: tracing_mark_write: E|1151
16595   SensorService-1283  ( 1151) [003] ...1 1034704.198221: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16596  HwBinder:778_1-1087  (  778) [000] ...1 1034704.198317: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16597  HwBinder:778_1-1087  (  778) [000] ...1 1034704.217173: tracing_mark_write: E|778
16598   SensorService-1283  ( 1151) [003] ...1 1034704.217328: tracing_mark_write: E|1151
16599   SensorService-1283  ( 1151) [003] ...1 1034704.217470: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16600  HwBinder:778_1-1087  (  778) [000] ...1 1034704.217609: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16601  surfaceflinger-591   (  591) [000] ...1 1034704.221048: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16602  composer@2.1-s-593   (  593) [001] ...1 1034704.221260: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16603  composer@2.1-s-593   (  593) [001] ...1 1034704.221389: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16604  composer@2.1-s-593   (  593) [001] ...1 1034704.221425: tracing_mark_write: B|593|HWDevice::Commit::
16605  composer@2.1-s-593   (  593) [001] ...1 1034704.221625: tracing_mark_write: E|593
16606  composer@2.1-s-593   (  593) [001] ...1 1034704.221670: tracing_mark_write: E|593
16607  composer@2.1-s-593   (  593) [001] ...1 1034704.221723: tracing_mark_write: E|593
16608  surfaceflinger-591   (  591) [000] ...1 1034704.221843: tracing_mark_write: E|591
16609  HwBinder:778_1-1087  (  778) [000] ...1 1034704.236859: tracing_mark_write: E|778
16610   SensorService-1283  ( 1151) [003] ...1 1034704.237016: tracing_mark_write: E|1151
16611   SensorService-1283  ( 1151) [003] ...1 1034704.237148: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16612  HwBinder:778_1-1087  (  778) [001] ...1 1034704.237247: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16613  HwBinder:778_1-1087  (  778) [001] ...1 1034704.256016: tracing_mark_write: E|778
16614   SensorService-1283  ( 1151) [003] ...1 1034704.256216: tracing_mark_write: E|1151
16615   SensorService-1283  ( 1151) [003] ...1 1034704.256437: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16616  HwBinder:778_1-1087  (  778) [001] ...1 1034704.256602: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16617  surfaceflinger-591   (  591) [002] ...1 1034704.271508: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16618  composer@2.1-s-593   (  593) [001] ...1 1034704.271795: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16619  composer@2.1-s-593   (  593) [001] ...1 1034704.271928: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16620  composer@2.1-s-593   (  593) [001] ...1 1034704.271966: tracing_mark_write: B|593|HWDevice::Commit::
16621  composer@2.1-s-593   (  593) [001] ...1 1034704.272168: tracing_mark_write: E|593
16622  composer@2.1-s-593   (  593) [001] ...1 1034704.272218: tracing_mark_write: E|593
16623  composer@2.1-s-593   (  593) [001] ...1 1034704.272273: tracing_mark_write: E|593
16624  surfaceflinger-591   (  591) [000] ...1 1034704.272429: tracing_mark_write: E|591
16625  HwBinder:778_1-1087  (  778) [000] ...1 1034704.275113: tracing_mark_write: E|778
16626   SensorService-1283  ( 1151) [003] ...1 1034704.275262: tracing_mark_write: E|1151
16627   SensorService-1283  ( 1151) [003] ...1 1034704.275395: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16628  HwBinder:778_1-1087  (  778) [000] ...1 1034704.275478: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16629  HwBinder:778_1-1087  (  778) [000] ...1 1034704.294199: tracing_mark_write: E|778
16630   SensorService-1283  ( 1151) [003] ...1 1034704.294343: tracing_mark_write: E|1151
16631   SensorService-1283  ( 1151) [003] ...1 1034704.294493: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16632  HwBinder:778_1-1087  (  778) [000] ...1 1034704.294584: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16633  surfaceflinger-591   (  591) [002] ...1 1034704.304983: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16634  composer@2.1-s-593   (  593) [001] ...1 1034704.305244: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16635  composer@2.1-s-593   (  593) [001] ...1 1034704.305364: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16636  composer@2.1-s-593   (  593) [001] ...1 1034704.305399: tracing_mark_write: B|593|HWDevice::Commit::
16637  composer@2.1-s-593   (  593) [001] ...1 1034704.305591: tracing_mark_write: E|593
16638  composer@2.1-s-593   (  593) [001] ...1 1034704.305635: tracing_mark_write: E|593
16639  composer@2.1-s-593   (  593) [001] ...1 1034704.305686: tracing_mark_write: E|593
16640  surfaceflinger-591   (  591) [000] ...1 1034704.305821: tracing_mark_write: E|591
16641  HwBinder:778_1-1087  (  778) [000] ...1 1034704.313359: tracing_mark_write: E|778
16642   SensorService-1283  ( 1151) [003] ...1 1034704.313501: tracing_mark_write: E|1151
16643   SensorService-1283  ( 1151) [003] ...1 1034704.313626: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16644  HwBinder:778_1-1087  (  778) [000] ...1 1034704.313710: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16645  HwBinder:778_1-1087  (  778) [002] ...1 1034704.332643: tracing_mark_write: E|778
16646   SensorService-1283  ( 1151) [003] ...1 1034704.332808: tracing_mark_write: E|1151
16647   SensorService-1283  ( 1151) [003] ...1 1034704.332959: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16648  HwBinder:778_1-1087  (  778) [002] ...1 1034704.333059: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16649  HwBinder:778_1-1087  (  778) [002] ...1 1034704.352003: tracing_mark_write: E|778
16650   SensorService-1283  ( 1151) [003] ...1 1034704.352171: tracing_mark_write: E|1151
16651   SensorService-1283  ( 1151) [003] ...1 1034704.352318: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16652  HwBinder:778_1-1087  (  778) [002] ...1 1034704.352460: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16653  surfaceflinger-591   (  591) [000] ...1 1034704.355204: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16654  composer@2.1-s-593   (  593) [001] ...1 1034704.355409: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16655  composer@2.1-s-593   (  593) [001] ...1 1034704.355529: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16656  composer@2.1-s-593   (  593) [001] ...1 1034704.355564: tracing_mark_write: B|593|HWDevice::Commit::
16657  composer@2.1-s-593   (  593) [001] ...1 1034704.355754: tracing_mark_write: E|593
16658  composer@2.1-s-593   (  593) [001] ...1 1034704.355798: tracing_mark_write: E|593
16659  composer@2.1-s-593   (  593) [001] ...1 1034704.355850: tracing_mark_write: E|593
16660  surfaceflinger-591   (  591) [000] ...1 1034704.355966: tracing_mark_write: E|591
16661  HwBinder:778_1-1087  (  778) [000] ...1 1034704.371167: tracing_mark_write: E|778
16662   SensorService-1283  ( 1151) [003] ...1 1034704.371324: tracing_mark_write: E|1151
16663   SensorService-1283  ( 1151) [003] ...1 1034704.371432: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16664  HwBinder:778_1-1087  (  778) [000] ...1 1034704.371511: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16665  surfaceflinger-591   (  591) [000] ...1 1034704.388567: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16666  composer@2.1-s-593   (  593) [001] ...1 1034704.388733: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16667  composer@2.1-s-593   (  593) [001] ...1 1034704.388822: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16668  composer@2.1-s-593   (  593) [001] ...1 1034704.388847: tracing_mark_write: B|593|HWDevice::Commit::
16669  composer@2.1-s-593   (  593) [001] ...1 1034704.389000: tracing_mark_write: E|593
16670  composer@2.1-s-593   (  593) [001] ...1 1034704.389034: tracing_mark_write: E|593
16671  composer@2.1-s-593   (  593) [001] ...1 1034704.389072: tracing_mark_write: E|593
16672  surfaceflinger-591   (  591) [000] ...1 1034704.389171: tracing_mark_write: E|591
16673  HwBinder:778_1-1087  (  778) [000] ...1 1034704.390384: tracing_mark_write: E|778
16674   SensorService-1283  ( 1151) [003] ...1 1034704.390467: tracing_mark_write: E|1151
16675   SensorService-1283  ( 1151) [003] ...1 1034704.390574: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16676  HwBinder:778_1-1087  (  778) [000] ...1 1034704.390639: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16677  HwBinder:778_1-1087  (  778) [000] ...1 1034704.409663: tracing_mark_write: E|778
16678   SensorService-1283  ( 1151) [003] ...1 1034704.409806: tracing_mark_write: E|1151
16679   SensorService-1283  ( 1151) [003] ...1 1034704.410009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16680  HwBinder:778_1-1087  (  778) [000] ...1 1034704.410129: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16681  HwBinder:778_1-1087  (  778) [001] ...1 1034704.429136: tracing_mark_write: E|778
16682   SensorService-1283  ( 1151) [003] ...1 1034704.429346: tracing_mark_write: E|1151
16683   SensorService-1283  ( 1151) [003] ...1 1034704.429526: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16684  HwBinder:778_1-1087  (  778) [001] ...1 1034704.429649: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16685  surfaceflinger-591   (  591) [000] ...1 1034704.439206: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16686  composer@2.1-s-593   (  593) [001] ...1 1034704.439459: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16687  composer@2.1-s-593   (  593) [001] ...1 1034704.439581: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16688  composer@2.1-s-593   (  593) [001] ...1 1034704.439615: tracing_mark_write: B|593|HWDevice::Commit::
16689  composer@2.1-s-593   (  593) [001] ...1 1034704.439814: tracing_mark_write: E|593
16690  composer@2.1-s-593   (  593) [001] ...1 1034704.439862: tracing_mark_write: E|593
16691  composer@2.1-s-593   (  593) [001] ...1 1034704.439981: tracing_mark_write: E|593
16692  surfaceflinger-591   (  591) [000] ...1 1034704.440129: tracing_mark_write: E|591
16693  HwBinder:778_1-1087  (  778) [000] ...1 1034704.448174: tracing_mark_write: E|778
16694   SensorService-1283  ( 1151) [003] ...1 1034704.448323: tracing_mark_write: E|1151
16695   SensorService-1283  ( 1151) [003] ...1 1034704.448451: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16696  HwBinder:778_1-1087  (  778) [000] ...1 1034704.448535: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16697  HwBinder:778_1-1087  (  778) [002] ...1 1034704.467600: tracing_mark_write: E|778
16698   SensorService-1283  ( 1151) [003] ...1 1034704.467786: tracing_mark_write: E|1151
16699   SensorService-1283  ( 1151) [003] ...1 1034704.467939: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16700  HwBinder:778_1-1087  (  778) [002] ...1 1034704.468039: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16701  HwBinder:778_1-1087  (  778) [000] ...1 1034704.486926: tracing_mark_write: E|778
16702   SensorService-1283  ( 1151) [003] ...1 1034704.487071: tracing_mark_write: E|1151
16703   SensorService-1283  ( 1151) [003] ...1 1034704.487203: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16704  HwBinder:778_1-1087  (  778) [000] ...1 1034704.487325: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16705  surfaceflinger-591   (  591) [000] ...1 1034704.489383: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16706  composer@2.1-s-593   (  593) [001] ...1 1034704.489568: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16707  composer@2.1-s-593   (  593) [001] ...1 1034704.489680: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16708  composer@2.1-s-593   (  593) [001] ...1 1034704.489712: tracing_mark_write: B|593|HWDevice::Commit::
16709  composer@2.1-s-593   (  593) [001] ...1 1034704.489917: tracing_mark_write: E|593
16710  composer@2.1-s-593   (  593) [001] ...1 1034704.489958: tracing_mark_write: E|593
16711  composer@2.1-s-593   (  593) [001] ...1 1034704.490004: tracing_mark_write: E|593
16712  surfaceflinger-591   (  591) [000] ...1 1034704.490107: tracing_mark_write: E|591
16713  HwBinder:778_1-1087  (  778) [000] ...1 1034704.505919: tracing_mark_write: E|778
16714   SensorService-1283  ( 1151) [003] ...1 1034704.506054: tracing_mark_write: E|1151
16715   SensorService-1283  ( 1151) [003] ...1 1034704.506154: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16716  HwBinder:778_1-1087  (  778) [000] ...1 1034704.506225: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16717  surfaceflinger-591   (  591) [000] ...1 1034704.523074: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16718  composer@2.1-s-593   (  593) [001] ...1 1034704.523348: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16719  composer@2.1-s-593   (  593) [001] ...1 1034704.523468: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16720  composer@2.1-s-593   (  593) [001] ...1 1034704.523504: tracing_mark_write: B|593|HWDevice::Commit::
16721  composer@2.1-s-593   (  593) [001] ...1 1034704.523694: tracing_mark_write: E|593
16722  composer@2.1-s-593   (  593) [001] ...1 1034704.523741: tracing_mark_write: E|593
16723  composer@2.1-s-593   (  593) [001] ...1 1034704.523794: tracing_mark_write: E|593
16724  surfaceflinger-591   (  591) [000] ...1 1034704.523918: tracing_mark_write: E|591
16725  HwBinder:778_1-1087  (  778) [000] ...1 1034704.527162: tracing_mark_write: E|778
16726   SensorService-1283  ( 1151) [003] ...1 1034704.527289: tracing_mark_write: E|1151
16727   SensorService-1283  ( 1151) [003] ...1 1034704.527418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16728  HwBinder:778_1-1087  (  778) [000] ...1 1034704.527505: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16729  HwBinder:778_1-1087  (  778) [000] ...1 1034704.544689: tracing_mark_write: E|778
16730   SensorService-1283  ( 1151) [003] ...1 1034704.544859: tracing_mark_write: E|1151
16731   SensorService-1283  ( 1151) [003] ...1 1034704.545009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16732  HwBinder:778_1-1087  (  778) [000] ...1 1034704.545110: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16733  HwBinder:778_1-1087  (  778) [001] ...1 1034704.564115: tracing_mark_write: E|778
16734   SensorService-1283  ( 1151) [003] ...1 1034704.564369: tracing_mark_write: E|1151
16735   SensorService-1283  ( 1151) [003] ...1 1034704.564527: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16736  HwBinder:778_1-1087  (  778) [001] ...1 1034704.564611: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16737  surfaceflinger-591   (  591) [000] ...1 1034704.573166: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16738  composer@2.1-s-593   (  593) [001] ...1 1034704.573355: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16739  composer@2.1-s-593   (  593) [001] ...1 1034704.573444: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16740  composer@2.1-s-593   (  593) [001] ...1 1034704.573469: tracing_mark_write: B|593|HWDevice::Commit::
16741  composer@2.1-s-593   (  593) [001] ...1 1034704.573604: tracing_mark_write: E|593
16742  composer@2.1-s-593   (  593) [001] ...1 1034704.573637: tracing_mark_write: E|593
16743  composer@2.1-s-593   (  593) [001] ...1 1034704.573678: tracing_mark_write: E|593
16744  surfaceflinger-591   (  591) [000] ...1 1034704.573784: tracing_mark_write: E|591
16745  HwBinder:778_1-1087  (  778) [000] ...1 1034704.582790: tracing_mark_write: E|778
16746   SensorService-1283  ( 1151) [003] ...1 1034704.582900: tracing_mark_write: E|1151
16747   SensorService-1283  ( 1151) [003] ...1 1034704.583005: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16748  HwBinder:778_1-1087  (  778) [000] ...1 1034704.583073: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16749  HwBinder:778_1-1087  (  778) [000] ...1 1034704.602106: tracing_mark_write: E|778
16750   SensorService-1283  ( 1151) [003] ...1 1034704.602221: tracing_mark_write: E|1151
16751   SensorService-1283  ( 1151) [003] ...1 1034704.602331: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16752  HwBinder:778_1-1087  (  778) [000] ...1 1034704.602399: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16753  HwBinder:778_1-1087  (  778) [000] ...1 1034704.621595: tracing_mark_write: E|778
16754   SensorService-1283  ( 1151) [003] ...1 1034704.621817: tracing_mark_write: E|1151
16755   SensorService-1283  ( 1151) [003] ...1 1034704.622005: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16756  HwBinder:778_1-1087  (  778) [000] ...1 1034704.622119: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16757  surfaceflinger-591   (  591) [000] ...1 1034704.624049: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16758  composer@2.1-s-593   (  593) [001] ...1 1034704.624303: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16759  composer@2.1-s-593   (  593) [001] ...1 1034704.624452: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16760  composer@2.1-s-593   (  593) [001] ...1 1034704.624497: tracing_mark_write: B|593|HWDevice::Commit::
16761  composer@2.1-s-593   (  593) [001] ...1 1034704.624736: tracing_mark_write: E|593
16762  composer@2.1-s-593   (  593) [001] ...1 1034704.624794: tracing_mark_write: E|593
16763  composer@2.1-s-593   (  593) [001] ...1 1034704.624859: tracing_mark_write: E|593
16764  surfaceflinger-591   (  591) [000] ...1 1034704.625017: tracing_mark_write: E|591
16765  HwBinder:778_1-1087  (  778) [000] ...1 1034704.640887: tracing_mark_write: E|778
16766   SensorService-1283  ( 1151) [003] ...1 1034704.641066: tracing_mark_write: E|1151
16767   SensorService-1283  ( 1151) [003] ...1 1034704.641206: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16768  HwBinder:778_1-1087  (  778) [000] ...1 1034704.641300: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16769  surfaceflinger-591   (  591) [001] ...1 1034704.657346: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16770  composer@2.1-s-593   (  593) [000] ...1 1034704.657613: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16771  composer@2.1-s-593   (  593) [000] ...1 1034704.657727: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16772  composer@2.1-s-593   (  593) [000] ...1 1034704.657759: tracing_mark_write: B|593|HWDevice::Commit::
16773  composer@2.1-s-593   (  593) [000] ...1 1034704.657932: tracing_mark_write: E|593
16774  composer@2.1-s-593   (  593) [000] ...1 1034704.657975: tracing_mark_write: E|593
16775  composer@2.1-s-593   (  593) [000] ...1 1034704.658024: tracing_mark_write: E|593
16776  surfaceflinger-591   (  591) [001] ...1 1034704.658146: tracing_mark_write: E|591
16777  HwBinder:778_1-1087  (  778) [000] ...1 1034704.659964: tracing_mark_write: E|778
16778   SensorService-1283  ( 1151) [003] ...1 1034704.660078: tracing_mark_write: E|1151
16779   SensorService-1283  ( 1151) [003] ...1 1034704.660213: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16780  HwBinder:778_1-1087  (  778) [000] ...1 1034704.660290: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16781  HwBinder:778_1-1087  (  778) [000] ...1 1034704.679034: tracing_mark_write: E|778
16782   SensorService-1283  ( 1151) [003] ...1 1034704.679160: tracing_mark_write: E|1151
16783   SensorService-1283  ( 1151) [003] ...1 1034704.679274: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16784  HwBinder:778_1-1087  (  778) [000] ...1 1034704.679349: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16785  HwBinder:778_1-1087  (  778) [001] ...1 1034704.698471: tracing_mark_write: E|778
16786   SensorService-1283  ( 1151) [003] ...1 1034704.698630: tracing_mark_write: E|1151
16787   SensorService-1283  ( 1151) [003] ...1 1034704.698788: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16788  HwBinder:778_1-1087  (  778) [001] ...1 1034704.698894: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16789  surfaceflinger-591   (  591) [000] ...1 1034704.708178: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16790  composer@2.1-s-593   (  593) [001] ...1 1034704.708457: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16791  composer@2.1-s-593   (  593) [001] ...1 1034704.708604: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16792  composer@2.1-s-593   (  593) [001] ...1 1034704.708648: tracing_mark_write: B|593|HWDevice::Commit::
16793  composer@2.1-s-593   (  593) [001] ...1 1034704.708885: tracing_mark_write: E|593
16794  composer@2.1-s-593   (  593) [001] ...1 1034704.708947: tracing_mark_write: E|593
16795  composer@2.1-s-593   (  593) [001] ...1 1034704.709017: tracing_mark_write: E|593
16796  surfaceflinger-591   (  591) [000] ...1 1034704.709200: tracing_mark_write: E|591
16797  HwBinder:778_1-1087  (  778) [001] ...1 1034704.718189: tracing_mark_write: E|778
16798   SensorService-1283  ( 1151) [003] ...1 1034704.718320: tracing_mark_write: E|1151
16799   SensorService-1283  ( 1151) [003] ...1 1034704.718447: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16800  HwBinder:778_1-1087  (  778) [001] ...1 1034704.718530: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16801  HwBinder:778_1-1087  (  778) [001] ...1 1034704.737380: tracing_mark_write: E|778
16802   SensorService-1283  ( 1151) [003] ...1 1034704.737572: tracing_mark_write: E|1151
16803   SensorService-1283  ( 1151) [003] ...1 1034704.737734: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16804  HwBinder:778_1-1087  (  778) [001] ...1 1034704.737847: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16805  surfaceflinger-591   (  591) [003] ...1 1034704.741186: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16806  composer@2.1-s-593   (  593) [001] ...1 1034704.741425: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16807  composer@2.1-s-593   (  593) [001] ...1 1034704.741539: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16808  composer@2.1-s-593   (  593) [001] ...1 1034704.741572: tracing_mark_write: B|593|HWDevice::Commit::
16809  composer@2.1-s-593   (  593) [001] ...1 1034704.741752: tracing_mark_write: E|593
16810  composer@2.1-s-593   (  593) [001] ...1 1034704.741798: tracing_mark_write: E|593
16811  composer@2.1-s-593   (  593) [001] ...1 1034704.741850: tracing_mark_write: E|593
16812  surfaceflinger-591   (  591) [003] ...1 1034704.741989: tracing_mark_write: E|591
16813  HwBinder:778_1-1087  (  778) [001] ...1 1034704.756347: tracing_mark_write: E|778
16814   SensorService-1283  ( 1151) [003] ...1 1034704.756508: tracing_mark_write: E|1151
16815   SensorService-1283  ( 1151) [003] ...1 1034704.756725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16816  HwBinder:778_1-1087  (  778) [001] ...1 1034704.756817: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16817  HwBinder:778_1-1087  (  778) [002] ...1 1034704.775449: tracing_mark_write: E|778
16818   SensorService-1283  ( 1151) [003] ...1 1034704.775590: tracing_mark_write: E|1151
16819   SensorService-1283  ( 1151) [003] ...1 1034704.775708: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16820  HwBinder:778_1-1087  (  778) [002] ...1 1034704.775784: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16821  surfaceflinger-591   (  591) [000] ...1 1034704.791698: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16822  composer@2.1-s-593   (  593) [001] ...1 1034704.791993: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16823  composer@2.1-s-593   (  593) [001] ...1 1034704.792134: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16824  composer@2.1-s-593   (  593) [001] ...1 1034704.792175: tracing_mark_write: B|593|HWDevice::Commit::
16825  composer@2.1-s-593   (  593) [001] ...1 1034704.792393: tracing_mark_write: E|593
16826  composer@2.1-s-593   (  593) [001] ...1 1034704.792444: tracing_mark_write: E|593
16827  composer@2.1-s-593   (  593) [001] ...1 1034704.792503: tracing_mark_write: E|593
16828  surfaceflinger-591   (  591) [000] ...1 1034704.792648: tracing_mark_write: E|591
16829  HwBinder:778_1-1087  (  778) [001] ...1 1034704.794819: tracing_mark_write: E|778
16830   SensorService-1283  ( 1151) [003] ...1 1034704.794958: tracing_mark_write: E|1151
16831   SensorService-1283  ( 1151) [003] ...1 1034704.795105: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16832  HwBinder:778_1-1087  (  778) [001] ...1 1034704.795199: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16833  HwBinder:778_1-1087  (  778) [002] ...1 1034704.814037: tracing_mark_write: E|778
16834   SensorService-1283  ( 1151) [003] ...1 1034704.814186: tracing_mark_write: E|1151
16835   SensorService-1283  ( 1151) [003] ...1 1034704.814320: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16836  HwBinder:778_1-1087  (  778) [002] ...1 1034704.814414: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16837  HwBinder:778_1-1087  (  778) [001] ...1 1034704.833464: tracing_mark_write: E|778
16838   SensorService-1283  ( 1151) [003] ...1 1034704.833608: tracing_mark_write: E|1151
16839   SensorService-1283  ( 1151) [003] ...1 1034704.833762: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16840  HwBinder:778_1-1087  (  778) [001] ...1 1034704.833866: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16841  surfaceflinger-591   (  591) [002] ...1 1034704.842149: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16842  composer@2.1-s-593   (  593) [001] ...1 1034704.842438: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16843  composer@2.1-s-593   (  593) [001] ...1 1034704.842601: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16844  composer@2.1-s-593   (  593) [001] ...1 1034704.842648: tracing_mark_write: B|593|HWDevice::Commit::
16845  composer@2.1-s-593   (  593) [001] ...1 1034704.842889: tracing_mark_write: E|593
16846  composer@2.1-s-593   (  593) [001] ...1 1034704.842946: tracing_mark_write: E|593
16847  composer@2.1-s-593   (  593) [001] ...1 1034704.843015: tracing_mark_write: E|593
16848  surfaceflinger-591   (  591) [003] ...1 1034704.843179: tracing_mark_write: E|591
16849  HwBinder:778_1-1087  (  778) [000] ...1 1034704.852614: tracing_mark_write: E|778
16850   SensorService-1283  ( 1151) [003] ...1 1034704.852817: tracing_mark_write: E|1151
16851   SensorService-1283  ( 1151) [003] ...1 1034704.852994: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16852  HwBinder:778_1-1087  (  778) [000] ...1 1034704.853110: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16853  HwBinder:778_1-1087  (  778) [000] ...1 1034704.872006: tracing_mark_write: E|778
16854   SensorService-1283  ( 1151) [003] ...1 1034704.872153: tracing_mark_write: E|1151
16855   SensorService-1283  ( 1151) [003] ...1 1034704.872295: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16856  sensors@1.0-se-778   (  778) [005] ...1 1034704.872564: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16857  surfaceflinger-591   (  591) [000] ...1 1034704.875463: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16858  composer@2.1-s-593   (  593) [001] ...1 1034704.875673: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16859  composer@2.1-s-593   (  593) [001] ...1 1034704.875799: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16860  composer@2.1-s-593   (  593) [001] ...1 1034704.875833: tracing_mark_write: B|593|HWDevice::Commit::
16861  composer@2.1-s-593   (  593) [001] ...1 1034704.876038: tracing_mark_write: E|593
16862  composer@2.1-s-593   (  593) [001] ...1 1034704.876084: tracing_mark_write: E|593
16863  composer@2.1-s-593   (  593) [001] ...1 1034704.876139: tracing_mark_write: E|593
16864  surfaceflinger-591   (  591) [000] ...1 1034704.876260: tracing_mark_write: E|591
16865  sensors@1.0-se-778   (  778) [004] ...1 1034704.891079: tracing_mark_write: E|778
16866   SensorService-1283  ( 1151) [003] ...1 1034704.891255: tracing_mark_write: E|1151
16867   SensorService-1283  ( 1151) [003] ...1 1034704.891388: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16868  sensors@1.0-se-778   (  778) [004] ...1 1034704.891549: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16869  sensors@1.0-se-778   (  778) [004] ...1 1034704.910635: tracing_mark_write: E|778
16870   SensorService-1283  ( 1151) [003] ...1 1034704.910845: tracing_mark_write: E|1151
16871   SensorService-1283  ( 1151) [003] ...1 1034704.911039: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16872  sensors@1.0-se-778   (  778) [004] ...1 1034704.911202: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16873  surfaceflinger-591   (  591) [000] ...1 1034704.925789: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16874  composer@2.1-s-593   (  593) [001] ...1 1034704.926036: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16875  composer@2.1-s-593   (  593) [001] ...1 1034704.926158: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16876  composer@2.1-s-593   (  593) [001] ...1 1034704.926194: tracing_mark_write: B|593|HWDevice::Commit::
16877  composer@2.1-s-593   (  593) [001] ...1 1034704.926393: tracing_mark_write: E|593
16878  composer@2.1-s-593   (  593) [001] ...1 1034704.926446: tracing_mark_write: E|593
16879  composer@2.1-s-593   (  593) [001] ...1 1034704.926503: tracing_mark_write: E|593
16880  surfaceflinger-591   (  591) [003] ...1 1034704.926738: tracing_mark_write: E|591
16881  sensors@1.0-se-778   (  778) [004] ...1 1034704.929613: tracing_mark_write: E|778
16882   SensorService-1283  ( 1151) [003] ...1 1034704.929790: tracing_mark_write: E|1151
16883   SensorService-1283  ( 1151) [003] ...1 1034704.930033: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16884  sensors@1.0-se-778   (  778) [004] ...1 1034704.930238: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16885  sensors@1.0-se-778   (  778) [004] ...1 1034704.948857: tracing_mark_write: E|778
16886   SensorService-1283  ( 1151) [003] ...1 1034704.949038: tracing_mark_write: E|1151
16887   SensorService-1283  ( 1151) [003] ...1 1034704.949192: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16888  sensors@1.0-se-778   (  778) [004] ...1 1034704.949419: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16889  surfaceflinger-591   (  591) [001] ...1 1034704.959341: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16890  composer@2.1-s-593   (  593) [000] ...1 1034704.959595: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16891  composer@2.1-s-593   (  593) [000] ...1 1034704.959709: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16892  composer@2.1-s-593   (  593) [000] ...1 1034704.959744: tracing_mark_write: B|593|HWDevice::Commit::
16893  composer@2.1-s-593   (  593) [000] ...1 1034704.959992: tracing_mark_write: E|593
16894  composer@2.1-s-593   (  593) [000] ...1 1034704.960059: tracing_mark_write: E|593
16895  composer@2.1-s-593   (  593) [000] ...1 1034704.960111: tracing_mark_write: E|593
16896  surfaceflinger-591   (  591) [001] ...1 1034704.960243: tracing_mark_write: E|591
16897  sensors@1.0-se-778   (  778) [004] ...1 1034704.968036: tracing_mark_write: E|778
16898   SensorService-1283  ( 1151) [003] ...1 1034704.968196: tracing_mark_write: E|1151
16899   SensorService-1283  ( 1151) [003] ...1 1034704.968320: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16900  HwBinder:778_1-1087  (  778) [000] ...1 1034704.968456: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16901  HwBinder:778_1-1087  (  778) [000] ...1 1034704.987228: tracing_mark_write: E|778
16902   SensorService-1283  ( 1151) [003] ...1 1034704.987371: tracing_mark_write: E|1151
16903   SensorService-1283  ( 1151) [003] ...1 1034704.987515: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16904  HwBinder:778_1-1087  (  778) [000] ...1 1034704.987602: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16905  HwBinder:778_1-1087  (  778) [002] ...1 1034705.006633: tracing_mark_write: E|778
16906   SensorService-1283  ( 1151) [003] ...1 1034705.006806: tracing_mark_write: E|1151
16907   SensorService-1283  ( 1151) [003] ...1 1034705.006973: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16908  HwBinder:778_1-1087  (  778) [002] ...1 1034705.007078: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16909  surfaceflinger-591   (  591) [001] ...1 1034705.009746: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16910  composer@2.1-s-593   (  593) [000] ...1 1034705.010045: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16911  composer@2.1-s-593   (  593) [000] ...1 1034705.010180: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16912  composer@2.1-s-593   (  593) [000] ...1 1034705.010220: tracing_mark_write: B|593|HWDevice::Commit::
16913  composer@2.1-s-593   (  593) [000] ...1 1034705.010433: tracing_mark_write: E|593
16914  composer@2.1-s-593   (  593) [000] ...1 1034705.010485: tracing_mark_write: E|593
16915  composer@2.1-s-593   (  593) [000] ...1 1034705.010550: tracing_mark_write: E|593
16916  surfaceflinger-591   (  591) [001] ...1 1034705.010696: tracing_mark_write: E|591
16917  HwBinder:778_1-1087  (  778) [002] ...1 1034705.025740: tracing_mark_write: E|778
16918   SensorService-1283  ( 1151) [003] ...1 1034705.025899: tracing_mark_write: E|1151
16919   SensorService-1283  ( 1151) [003] ...1 1034705.026027: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16920  HwBinder:778_1-1087  (  778) [002] ...1 1034705.026118: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16921  HwBinder:778_1-1087  (  778) [000] ...1 1034705.045114: tracing_mark_write: E|778
16922   SensorService-1283  ( 1151) [003] ...1 1034705.045319: tracing_mark_write: E|1151
16923   SensorService-1283  ( 1151) [003] ...1 1034705.045498: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16924  HwBinder:778_1-1087  (  778) [000] ...1 1034705.045615: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16925  surfaceflinger-591   (  591) [002] ...1 1034705.060283: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16926  composer@2.1-s-593   (  593) [000] ...1 1034705.060560: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16927  composer@2.1-s-593   (  593) [000] ...1 1034705.060709: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16928  composer@2.1-s-593   (  593) [000] ...1 1034705.060748: tracing_mark_write: B|593|HWDevice::Commit::
16929  composer@2.1-s-593   (  593) [000] ...1 1034705.061002: tracing_mark_write: E|593
16930  composer@2.1-s-593   (  593) [000] ...1 1034705.061073: tracing_mark_write: E|593
16931  composer@2.1-s-593   (  593) [000] ...1 1034705.061160: tracing_mark_write: E|593
16932  surfaceflinger-591   (  591) [002] ...1 1034705.061344: tracing_mark_write: E|591
16933  HwBinder:778_1-1087  (  778) [000] ...1 1034705.064533: tracing_mark_write: E|778
16934   SensorService-1283  ( 1151) [003] ...1 1034705.064754: tracing_mark_write: E|1151
16935   SensorService-1283  ( 1151) [003] ...1 1034705.064979: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16936  HwBinder:778_1-1087  (  778) [000] ...1 1034705.065118: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16937  HwBinder:778_1-1087  (  778) [000] ...1 1034705.083921: tracing_mark_write: E|778
16938   SensorService-1283  ( 1151) [003] ...1 1034705.084183: tracing_mark_write: E|1151
16939   SensorService-1283  ( 1151) [003] ...1 1034705.084473: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16940  HwBinder:778_1-1087  (  778) [000] ...1 1034705.084573: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16941  surfaceflinger-591   (  591) [000] ...1 1034705.093739: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16942  composer@2.1-s-593   (  593) [001] ...1 1034705.094008: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16943  composer@2.1-s-593   (  593) [001] ...1 1034705.094140: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16944  composer@2.1-s-593   (  593) [001] ...1 1034705.094178: tracing_mark_write: B|593|HWDevice::Commit::
16945  composer@2.1-s-593   (  593) [001] ...1 1034705.094390: tracing_mark_write: E|593
16946  composer@2.1-s-593   (  593) [001] ...1 1034705.094439: tracing_mark_write: E|593
16947  composer@2.1-s-593   (  593) [001] ...1 1034705.094494: tracing_mark_write: E|593
16948  surfaceflinger-591   (  591) [000] ...1 1034705.094627: tracing_mark_write: E|591
16949  HwBinder:778_1-1087  (  778) [004] ...1 1034705.103012: tracing_mark_write: E|778
16950   SensorService-1283  ( 1151) [003] ...1 1034705.103308: tracing_mark_write: E|1151
16951   SensorService-1283  ( 1151) [003] ...1 1034705.103503: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16952  HwBinder:778_1-1087  (  778) [004] ...1 1034705.103692: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16953  HwBinder:778_1-1087  (  778) [002] ...1 1034705.125644: tracing_mark_write: E|778
16954   SensorService-1283  ( 1151) [003] ...1 1034705.125846: tracing_mark_write: E|1151
16955   SensorService-1283  ( 1151) [003] ...1 1034705.126071: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16956  HwBinder:778_1-1087  (  778) [002] ...1 1034705.126143: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16957  HwBinder:778_1-1087  (  778) [004] ...1 1034705.143350: tracing_mark_write: E|778
16958   SensorService-1283  ( 1151) [003] ...1 1034705.143653: tracing_mark_write: E|1151
16959   SensorService-1283  ( 1151) [003] ...1 1034705.143754: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16960  HwBinder:778_1-1087  (  778) [004] ...1 1034705.143838: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16961  surfaceflinger-591   (  591) [001] ...1 1034705.143850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16962  composer@2.1-s-593   (  593) [000] ...1 1034705.143994: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16963  composer@2.1-s-593   (  593) [000] ...1 1034705.144080: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16964  composer@2.1-s-593   (  593) [000] ...1 1034705.144107: tracing_mark_write: B|593|HWDevice::Commit::
16965  composer@2.1-s-593   (  593) [000] ...1 1034705.144240: tracing_mark_write: E|593
16966  composer@2.1-s-593   (  593) [000] ...1 1034705.144274: tracing_mark_write: E|593
16967  composer@2.1-s-593   (  593) [000] ...1 1034705.144313: tracing_mark_write: E|593
16968  surfaceflinger-591   (  591) [001] ...1 1034705.144415: tracing_mark_write: E|591
16969  HwBinder:778_1-1087  (  778) [002] ...1 1034705.160346: tracing_mark_write: E|778
16970   SensorService-1283  ( 1151) [003] ...1 1034705.160454: tracing_mark_write: E|1151
16971   SensorService-1283  ( 1151) [003] ...1 1034705.160542: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16972  HwBinder:778_1-1087  (  778) [002] ...1 1034705.160602: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16973  surfaceflinger-591   (  591) [002] ...1 1034705.177163: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16974  composer@2.1-s-593   (  593) [000] ...1 1034705.177315: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16975  composer@2.1-s-593   (  593) [000] ...1 1034705.177399: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16976  composer@2.1-s-593   (  593) [000] ...1 1034705.177424: tracing_mark_write: B|593|HWDevice::Commit::
16977  composer@2.1-s-593   (  593) [000] ...1 1034705.177547: tracing_mark_write: E|593
16978  composer@2.1-s-593   (  593) [000] ...1 1034705.177576: tracing_mark_write: E|593
16979  composer@2.1-s-593   (  593) [000] ...1 1034705.177612: tracing_mark_write: E|593
16980  surfaceflinger-591   (  591) [003] ...1 1034705.177709: tracing_mark_write: E|591
16981  HwBinder:778_1-1087  (  778) [003] ...1 1034705.180113: tracing_mark_write: E|778
16982   SensorService-1283  ( 1151) [002] ...1 1034705.180208: tracing_mark_write: E|1151
16983   SensorService-1283  ( 1151) [002] ...1 1034705.180291: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16984  HwBinder:778_1-1087  (  778) [003] ...1 1034705.180352: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16985  HwBinder:778_1-1087  (  778) [002] ...1 1034705.198731: tracing_mark_write: E|778
16986   SensorService-1283  ( 1151) [003] ...1 1034705.198828: tracing_mark_write: E|1151
16987   SensorService-1283  ( 1151) [003] ...1 1034705.198910: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16988  HwBinder:778_1-1087  (  778) [002] ...1 1034705.198971: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16989  HwBinder:778_1-1087  (  778) [004] ...1 1034705.218183: tracing_mark_write: E|778
16990   SensorService-1283  ( 1151) [003] ...1 1034705.218308: tracing_mark_write: E|1151
16991   SensorService-1283  ( 1151) [003] ...1 1034705.218412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
16992  HwBinder:778_1-1087  (  778) [004] ...1 1034705.218512: tracing_mark_write: B|778|HIDL::ISensors::poll::server
16993  surfaceflinger-591   (  591) [002] ...1 1034705.227561: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
16994  composer@2.1-s-593   (  593) [000] ...1 1034705.227706: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
16995  composer@2.1-s-593   (  593) [000] ...1 1034705.227784: tracing_mark_write: B|593|HWCSession::PresentDisplay::
16996  composer@2.1-s-593   (  593) [000] ...1 1034705.227808: tracing_mark_write: B|593|HWDevice::Commit::
16997  composer@2.1-s-593   (  593) [000] ...1 1034705.227932: tracing_mark_write: E|593
16998  composer@2.1-s-593   (  593) [000] ...1 1034705.227963: tracing_mark_write: E|593
16999  composer@2.1-s-593   (  593) [000] ...1 1034705.227998: tracing_mark_write: E|593
17000  surfaceflinger-591   (  591) [003] ...1 1034705.228108: tracing_mark_write: E|591
17001  HwBinder:778_1-1087  (  778) [003] ...1 1034705.237327: tracing_mark_write: E|778
17002   SensorService-1283  ( 1151) [002] ...1 1034705.237419: tracing_mark_write: E|1151
17003   SensorService-1283  ( 1151) [002] ...1 1034705.237504: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17004  HwBinder:778_1-1087  (  778) [003] ...1 1034705.237562: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17005  HwBinder:778_1-1087  (  778) [003] ...1 1034705.256690: tracing_mark_write: E|778
17006   SensorService-1283  ( 1151) [002] ...1 1034705.256785: tracing_mark_write: E|1151
17007   SensorService-1283  ( 1151) [002] ...1 1034705.256885: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17008  HwBinder:778_1-1087  (  778) [003] ...1 1034705.256948: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17009  surfaceflinger-591   (  591) [002] ...1 1034705.261126: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17010  composer@2.1-s-593   (  593) [000] ...1 1034705.261272: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17011  composer@2.1-s-593   (  593) [000] ...1 1034705.261349: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17012  composer@2.1-s-593   (  593) [000] ...1 1034705.261372: tracing_mark_write: B|593|HWDevice::Commit::
17013  composer@2.1-s-593   (  593) [000] ...1 1034705.261499: tracing_mark_write: E|593
17014  composer@2.1-s-593   (  593) [000] ...1 1034705.261530: tracing_mark_write: E|593
17015  composer@2.1-s-593   (  593) [000] ...1 1034705.261567: tracing_mark_write: E|593
17016  surfaceflinger-591   (  591) [003] ...1 1034705.261670: tracing_mark_write: E|591
17017  HwBinder:778_1-1087  (  778) [001] ...1 1034705.275791: tracing_mark_write: E|778
17018   SensorService-1283  ( 1151) [002] ...1 1034705.275883: tracing_mark_write: E|1151
17019   SensorService-1283  ( 1151) [002] ...1 1034705.275971: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17020  HwBinder:778_1-1087  (  778) [001] ...1 1034705.276029: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17021  HwBinder:778_1-1087  (  778) [002] ...1 1034705.295408: tracing_mark_write: E|778
17022   SensorService-1283  ( 1151) [001] ...1 1034705.295574: tracing_mark_write: E|1151
17023   SensorService-1283  ( 1151) [001] ...1 1034705.295706: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17024  HwBinder:778_1-1087  (  778) [002] ...1 1034705.295796: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17025  surfaceflinger-591   (  591) [002] ...1 1034705.311557: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17026  composer@2.1-s-593   (  593) [000] ...1 1034705.311739: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17027  composer@2.1-s-593   (  593) [000] ...1 1034705.311836: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17028  composer@2.1-s-593   (  593) [000] ...1 1034705.311865: tracing_mark_write: B|593|HWDevice::Commit::
17029  composer@2.1-s-593   (  593) [000] ...1 1034705.312019: tracing_mark_write: E|593
17030  composer@2.1-s-593   (  593) [000] ...1 1034705.312055: tracing_mark_write: E|593
17031  composer@2.1-s-593   (  593) [000] ...1 1034705.312096: tracing_mark_write: E|593
17032  surfaceflinger-591   (  591) [001] ...1 1034705.312196: tracing_mark_write: E|591
17033  HwBinder:778_1-1087  (  778) [000] ...1 1034705.314442: tracing_mark_write: E|778
17034   SensorService-1283  ( 1151) [001] ...1 1034705.314539: tracing_mark_write: E|1151
17035   SensorService-1283  ( 1151) [001] ...1 1034705.314646: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17036  HwBinder:778_1-1087  (  778) [000] ...1 1034705.314709: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17037  HwBinder:778_1-1087  (  778) [000] ...1 1034705.334032: tracing_mark_write: E|778
17038   SensorService-1283  ( 1151) [001] ...1 1034705.334155: tracing_mark_write: E|1151
17039   SensorService-1283  ( 1151) [001] ...1 1034705.334257: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17040  HwBinder:778_1-1087  (  778) [000] ...1 1034705.334327: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17041  surfaceflinger-591   (  591) [002] ...1 1034705.345301: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17042  composer@2.1-s-593   (  593) [000] ...1 1034705.345552: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17043  composer@2.1-s-593   (  593) [000] ...1 1034705.345689: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17044  composer@2.1-s-593   (  593) [000] ...1 1034705.345729: tracing_mark_write: B|593|HWDevice::Commit::
17045  composer@2.1-s-593   (  593) [000] ...1 1034705.345958: tracing_mark_write: E|593
17046  composer@2.1-s-593   (  593) [000] ...1 1034705.346012: tracing_mark_write: E|593
17047  composer@2.1-s-593   (  593) [000] ...1 1034705.346069: tracing_mark_write: E|593
17048  surfaceflinger-591   (  591) [001] ...1 1034705.346227: tracing_mark_write: E|591
17049  HwBinder:778_1-1087  (  778) [001] ...1 1034705.353197: tracing_mark_write: E|778
17050   SensorService-1283  ( 1151) [002] ...1 1034705.353419: tracing_mark_write: E|1151
17051   SensorService-1283  ( 1151) [002] ...1 1034705.353580: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17052  HwBinder:778_1-1087  (  778) [001] ...1 1034705.353683: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17053  HwBinder:778_1-1087  (  778) [001] ...1 1034705.372433: tracing_mark_write: E|778
17054   SensorService-1283  ( 1151) [002] ...1 1034705.372657: tracing_mark_write: E|1151
17055   SensorService-1283  ( 1151) [002] ...1 1034705.372846: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17056  HwBinder:778_1-1087  (  778) [001] ...1 1034705.372961: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17057  HwBinder:778_1-1087  (  778) [001] ...1 1034705.391625: tracing_mark_write: E|778
17058   SensorService-1283  ( 1151) [002] ...1 1034705.391746: tracing_mark_write: E|1151
17059   SensorService-1283  ( 1151) [002] ...1 1034705.391859: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17060  HwBinder:778_1-1087  (  778) [001] ...1 1034705.391929: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17061  surfaceflinger-591   (  591) [001] ...1 1034705.395385: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17062  composer@2.1-s-593   (  593) [000] ...1 1034705.395564: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17063  composer@2.1-s-593   (  593) [000] ...1 1034705.395654: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17064  composer@2.1-s-593   (  593) [000] ...1 1034705.395680: tracing_mark_write: B|593|HWDevice::Commit::
17065  composer@2.1-s-593   (  593) [000] ...1 1034705.395836: tracing_mark_write: E|593
17066  composer@2.1-s-593   (  593) [000] ...1 1034705.395870: tracing_mark_write: E|593
17067  composer@2.1-s-593   (  593) [000] ...1 1034705.395908: tracing_mark_write: E|593
17068  surfaceflinger-591   (  591) [001] ...1 1034705.396001: tracing_mark_write: E|591
17069  HwBinder:778_1-1087  (  778) [000] ...1 1034705.410872: tracing_mark_write: E|778
17070   SensorService-1283  ( 1151) [002] ...1 1034705.410991: tracing_mark_write: E|1151
17071   SensorService-1283  ( 1151) [002] ...1 1034705.411143: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17072  HwBinder:778_1-1087  (  778) [000] ...1 1034705.411221: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17073  surfaceflinger-591   (  591) [001] ...1 1034705.429176: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17074  composer@2.1-s-593   (  593) [000] ...1 1034705.429453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17075  composer@2.1-s-593   (  593) [000] ...1 1034705.429611: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17076  composer@2.1-s-593   (  593) [000] ...1 1034705.429659: tracing_mark_write: B|593|HWDevice::Commit::
17077  composer@2.1-s-593   (  593) [000] ...1 1034705.429951: tracing_mark_write: E|593
17078  composer@2.1-s-593   (  593) [000] ...1 1034705.430015: tracing_mark_write: E|593
17079  composer@2.1-s-593   (  593) [000] ...1 1034705.430083: tracing_mark_write: E|593
17080  surfaceflinger-591   (  591) [001] ...1 1034705.430245: tracing_mark_write: E|591
17081  HwBinder:778_1-1087  (  778) [003] ...1 1034705.430822: tracing_mark_write: E|778
17082   SensorService-1283  ( 1151) [001] ...1 1034705.430974: tracing_mark_write: E|1151
17083   SensorService-1283  ( 1151) [001] ...1 1034705.431141: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17084  HwBinder:778_1-1087  (  778) [003] ...1 1034705.431260: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17085  HwBinder:778_1-1087  (  778) [002] ...1 1034705.449303: tracing_mark_write: E|778
17086   SensorService-1283  ( 1151) [001] ...1 1034705.449470: tracing_mark_write: E|1151
17087   SensorService-1283  ( 1151) [001] ...1 1034705.449620: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17088  HwBinder:778_1-1087  (  778) [002] ...1 1034705.449715: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17089  HwBinder:778_1-1087  (  778) [000] ...1 1034705.468903: tracing_mark_write: E|778
17090   SensorService-1283  ( 1151) [001] ...1 1034705.469154: tracing_mark_write: E|1151
17091   SensorService-1283  ( 1151) [001] ...1 1034705.469395: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17092  HwBinder:778_1-1087  (  778) [000] ...1 1034705.469551: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17093  surfaceflinger-591   (  591) [000] ...1 1034705.479586: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17094  composer@2.1-s-593   (  593) [001] ...1 1034705.479901: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17095  composer@2.1-s-593   (  593) [001] ...1 1034705.480036: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17096  composer@2.1-s-593   (  593) [001] ...1 1034705.480077: tracing_mark_write: B|593|HWDevice::Commit::
17097  composer@2.1-s-593   (  593) [001] ...1 1034705.480281: tracing_mark_write: E|593
17098  composer@2.1-s-593   (  593) [001] ...1 1034705.480331: tracing_mark_write: E|593
17099  composer@2.1-s-593   (  593) [001] ...1 1034705.480389: tracing_mark_write: E|593
17100  surfaceflinger-591   (  591) [000] ...1 1034705.480517: tracing_mark_write: E|591
17101  HwBinder:778_1-1087  (  778) [000] ...1 1034705.487897: tracing_mark_write: E|778
17102   SensorService-1283  ( 1151) [001] ...1 1034705.488069: tracing_mark_write: E|1151
17103   SensorService-1283  ( 1151) [001] ...1 1034705.488208: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17104  HwBinder:778_1-1087  (  778) [000] ...1 1034705.488301: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17105  HwBinder:778_1-1087  (  778) [000] ...1 1034705.507228: tracing_mark_write: E|778
17106   SensorService-1283  ( 1151) [001] ...1 1034705.507419: tracing_mark_write: E|1151
17107   SensorService-1283  ( 1151) [001] ...1 1034705.507592: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17108  HwBinder:778_1-1087  (  778) [000] ...1 1034705.507774: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17109  HwBinder:778_1-1087  (  778) [000] ...1 1034705.526517: tracing_mark_write: E|778
17110   SensorService-1283  ( 1151) [002] ...1 1034705.526780: tracing_mark_write: E|1151
17111   SensorService-1283  ( 1151) [002] ...1 1034705.526941: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17112  HwBinder:778_1-1087  (  778) [000] ...1 1034705.527056: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17113  surfaceflinger-591   (  591) [000] ...1 1034705.529936: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17114  composer@2.1-s-593   (  593) [001] ...1 1034705.530148: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17115  composer@2.1-s-593   (  593) [001] ...1 1034705.530287: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17116  composer@2.1-s-593   (  593) [001] ...1 1034705.530326: tracing_mark_write: B|593|HWDevice::Commit::
17117  composer@2.1-s-593   (  593) [001] ...1 1034705.530553: tracing_mark_write: E|593
17118  composer@2.1-s-593   (  593) [001] ...1 1034705.530605: tracing_mark_write: E|593
17119  composer@2.1-s-593   (  593) [001] ...1 1034705.530662: tracing_mark_write: E|593
17120  surfaceflinger-591   (  591) [000] ...1 1034705.530797: tracing_mark_write: E|591
17121  HwBinder:778_1-1087  (  778) [000] ...1 1034705.545543: tracing_mark_write: E|778
17122   SensorService-1283  ( 1151) [002] ...1 1034705.545719: tracing_mark_write: E|1151
17123   SensorService-1283  ( 1151) [002] ...1 1034705.545890: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17124  HwBinder:778_1-1087  (  778) [003] ...1 1034705.546018: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17125  surfaceflinger-591   (  591) [000] ...1 1034705.563844: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17126  composer@2.1-s-593   (  593) [001] ...1 1034705.564171: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17127  composer@2.1-s-593   (  593) [001] ...1 1034705.564324: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17128  composer@2.1-s-593   (  593) [001] ...1 1034705.564388: tracing_mark_write: B|593|HWDevice::Commit::
17129  composer@2.1-s-593   (  593) [001] ...1 1034705.564644: tracing_mark_write: E|593
17130  composer@2.1-s-593   (  593) [001] ...1 1034705.564704: tracing_mark_write: E|593
17131  composer@2.1-s-593   (  593) [001] ...1 1034705.564772: tracing_mark_write: E|593
17132  HwBinder:778_1-1087  (  778) [000] ...1 1034705.564958: tracing_mark_write: E|778
17133  surfaceflinger-591   (  591) [001] ...1 1034705.565025: tracing_mark_write: E|591
17134   SensorService-1283  ( 1151) [003] ...1 1034705.565096: tracing_mark_write: E|1151
17135   SensorService-1283  ( 1151) [003] ...1 1034705.565260: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17136  HwBinder:778_1-1087  (  778) [000] ...1 1034705.565361: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17137  HwBinder:778_1-1087  (  778) [001] ...1 1034705.584199: tracing_mark_write: E|778
17138   SensorService-1283  ( 1151) [003] ...1 1034705.584346: tracing_mark_write: E|1151
17139   SensorService-1283  ( 1151) [003] ...1 1034705.584470: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17140  HwBinder:778_1-1087  (  778) [001] ...1 1034705.584555: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17141  HwBinder:778_1-1087  (  778) [000] ...1 1034705.603987: tracing_mark_write: E|778
17142   SensorService-1283  ( 1151) [003] ...1 1034705.604182: tracing_mark_write: E|1151
17143   SensorService-1283  ( 1151) [003] ...1 1034705.604348: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17144  HwBinder:778_1-1087  (  778) [000] ...1 1034705.604463: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17145  surfaceflinger-591   (  591) [002] ...1 1034705.614006: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17146  composer@2.1-s-593   (  593) [001] ...1 1034705.614261: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17147  composer@2.1-s-593   (  593) [001] ...1 1034705.614395: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17148  composer@2.1-s-593   (  593) [001] ...1 1034705.614436: tracing_mark_write: B|593|HWDevice::Commit::
17149  composer@2.1-s-593   (  593) [001] ...1 1034705.614645: tracing_mark_write: E|593
17150  composer@2.1-s-593   (  593) [001] ...1 1034705.614697: tracing_mark_write: E|593
17151  composer@2.1-s-593   (  593) [001] ...1 1034705.614757: tracing_mark_write: E|593
17152  surfaceflinger-591   (  591) [000] ...1 1034705.614919: tracing_mark_write: E|591
17153  HwBinder:778_1-1087  (  778) [001] ...1 1034705.622735: tracing_mark_write: E|778
17154   SensorService-1283  ( 1151) [003] ...1 1034705.622868: tracing_mark_write: E|1151
17155   SensorService-1283  ( 1151) [003] ...1 1034705.623004: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17156  HwBinder:778_1-1087  (  778) [001] ...1 1034705.623102: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17157  HwBinder:778_1-1087  (  778) [001] ...1 1034705.641997: tracing_mark_write: E|778
17158   SensorService-1283  ( 1151) [003] ...1 1034705.642177: tracing_mark_write: E|1151
17159   SensorService-1283  ( 1151) [003] ...1 1034705.642336: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17160  HwBinder:778_1-1087  (  778) [001] ...1 1034705.642448: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17161  surfaceflinger-591   (  591) [003] ...1 1034705.647484: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17162  composer@2.1-s-593   (  593) [001] ...1 1034705.647708: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17163  composer@2.1-s-593   (  593) [001] ...1 1034705.647834: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17164  composer@2.1-s-593   (  593) [001] ...1 1034705.647870: tracing_mark_write: B|593|HWDevice::Commit::
17165  composer@2.1-s-593   (  593) [001] ...1 1034705.648071: tracing_mark_write: E|593
17166  composer@2.1-s-593   (  593) [001] ...1 1034705.648120: tracing_mark_write: E|593
17167  composer@2.1-s-593   (  593) [001] ...1 1034705.648174: tracing_mark_write: E|593
17168  surfaceflinger-591   (  591) [003] ...1 1034705.648313: tracing_mark_write: E|591
17169  HwBinder:778_1-1087  (  778) [001] ...1 1034705.661037: tracing_mark_write: E|778
17170   SensorService-1283  ( 1151) [003] ...1 1034705.661219: tracing_mark_write: E|1151
17171   SensorService-1283  ( 1151) [003] ...1 1034705.661399: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17172  HwBinder:778_1-1087  (  778) [001] ...1 1034705.661513: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17173  HwBinder:778_1-1087  (  778) [001] ...1 1034705.680610: tracing_mark_write: E|778
17174   SensorService-1283  ( 1151) [003] ...1 1034705.680915: tracing_mark_write: E|1151
17175   SensorService-1283  ( 1151) [003] ...1 1034705.681202: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17176  HwBinder:778_1-1087  (  778) [001] ...1 1034705.681394: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17177  surfaceflinger-591   (  591) [001] ...1 1034705.697861: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17178  composer@2.1-s-593   (  593) [000] ...1 1034705.698225: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17179  composer@2.1-s-593   (  593) [000] ...1 1034705.698386: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17180  composer@2.1-s-593   (  593) [000] ...1 1034705.698431: tracing_mark_write: B|593|HWDevice::Commit::
17181  composer@2.1-s-593   (  593) [000] ...1 1034705.698667: tracing_mark_write: E|593
17182  composer@2.1-s-593   (  593) [000] ...1 1034705.698728: tracing_mark_write: E|593
17183  composer@2.1-s-593   (  593) [000] ...1 1034705.698796: tracing_mark_write: E|593
17184  surfaceflinger-591   (  591) [001] ...1 1034705.698960: tracing_mark_write: E|591
17185  HwBinder:778_1-1087  (  778) [001] ...1 1034705.699787: tracing_mark_write: E|778
17186   SensorService-1283  ( 1151) [003] ...1 1034705.699966: tracing_mark_write: E|1151
17187   SensorService-1283  ( 1151) [003] ...1 1034705.700115: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17188  HwBinder:778_1-1087  (  778) [001] ...1 1034705.700217: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17189  HwBinder:778_1-1087  (  778) [001] ...1 1034705.718852: tracing_mark_write: E|778
17190   SensorService-1283  ( 1151) [003] ...1 1034705.719041: tracing_mark_write: E|1151
17191   SensorService-1283  ( 1151) [003] ...1 1034705.719189: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17192  HwBinder:778_1-1087  (  778) [001] ...1 1034705.719306: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17193  surfaceflinger-591   (  591) [002] ...1 1034705.731398: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17194  composer@2.1-s-593   (  593) [000] ...1 1034705.731671: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17195  composer@2.1-s-593   (  593) [000] ...1 1034705.731806: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17196  composer@2.1-s-593   (  593) [000] ...1 1034705.731844: tracing_mark_write: B|593|HWDevice::Commit::
17197  composer@2.1-s-593   (  593) [000] ...1 1034705.732054: tracing_mark_write: E|593
17198  composer@2.1-s-593   (  593) [000] ...1 1034705.732104: tracing_mark_write: E|593
17199  composer@2.1-s-593   (  593) [000] ...1 1034705.732162: tracing_mark_write: E|593
17200  surfaceflinger-591   (  591) [001] ...1 1034705.732330: tracing_mark_write: E|591
17201  HwBinder:778_1-1087  (  778) [001] ...1 1034705.738189: tracing_mark_write: E|778
17202   SensorService-1283  ( 1151) [003] ...1 1034705.738367: tracing_mark_write: E|1151
17203   SensorService-1283  ( 1151) [003] ...1 1034705.738524: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17204  HwBinder:778_1-1087  (  778) [001] ...1 1034705.738630: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17205  HwBinder:778_1-1087  (  778) [001] ...1 1034705.757635: tracing_mark_write: E|778
17206   SensorService-1283  ( 1151) [003] ...1 1034705.757777: tracing_mark_write: E|1151
17207   SensorService-1283  ( 1151) [003] ...1 1034705.757895: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17208  HwBinder:778_1-1087  (  778) [001] ...1 1034705.757995: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17209  HwBinder:778_1-1087  (  778) [001] ...1 1034705.776631: tracing_mark_write: E|778
17210   SensorService-1283  ( 1151) [003] ...1 1034705.776807: tracing_mark_write: E|1151
17211   SensorService-1283  ( 1151) [003] ...1 1034705.776967: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17212  HwBinder:778_1-1087  (  778) [001] ...1 1034705.777079: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17213  surfaceflinger-591   (  591) [000] ...1 1034705.781715: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17214  composer@2.1-s-593   (  593) [001] ...1 1034705.781991: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17215  composer@2.1-s-593   (  593) [001] ...1 1034705.782151: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17216  composer@2.1-s-593   (  593) [001] ...1 1034705.782198: tracing_mark_write: B|593|HWDevice::Commit::
17217  composer@2.1-s-593   (  593) [001] ...1 1034705.782443: tracing_mark_write: E|593
17218  composer@2.1-s-593   (  593) [001] ...1 1034705.782503: tracing_mark_write: E|593
17219  composer@2.1-s-593   (  593) [001] ...1 1034705.782572: tracing_mark_write: E|593
17220  surfaceflinger-591   (  591) [000] ...1 1034705.782733: tracing_mark_write: E|591
17221  HwBinder:778_1-1087  (  778) [000] ...1 1034705.796026: tracing_mark_write: E|778
17222   SensorService-1283  ( 1151) [003] ...1 1034705.796184: tracing_mark_write: E|1151
17223   SensorService-1283  ( 1151) [003] ...1 1034705.796352: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17224  HwBinder:778_1-1087  (  778) [000] ...1 1034705.796464: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17225  HwBinder:778_1-1087  (  778) [002] ...1 1034705.815189: tracing_mark_write: E|778
17226  surfaceflinger-591   (  591) [001] ...1 1034705.815354: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17227   SensorService-1283  ( 1151) [003] ...1 1034705.815368: tracing_mark_write: E|1151
17228   SensorService-1283  ( 1151) [003] ...1 1034705.815517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17229  HwBinder:778_1-1087  (  778) [002] ...1 1034705.815607: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17230  composer@2.1-s-593   (  593) [000] ...1 1034705.815610: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17231  composer@2.1-s-593   (  593) [000] ...1 1034705.815776: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17232  composer@2.1-s-593   (  593) [000] ...1 1034705.815826: tracing_mark_write: B|593|HWDevice::Commit::
17233  composer@2.1-s-593   (  593) [000] ...1 1034705.816085: tracing_mark_write: E|593
17234  composer@2.1-s-593   (  593) [000] ...1 1034705.816143: tracing_mark_write: E|593
17235  composer@2.1-s-593   (  593) [000] ...1 1034705.816207: tracing_mark_write: E|593
17236  surfaceflinger-591   (  591) [001] ...1 1034705.816365: tracing_mark_write: E|591
17237  HwBinder:778_1-1087  (  778) [001] ...1 1034705.834448: tracing_mark_write: E|778
17238   SensorService-1283  ( 1151) [003] ...1 1034705.834626: tracing_mark_write: E|1151
17239   SensorService-1283  ( 1151) [003] ...1 1034705.834783: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17240  HwBinder:778_1-1087  (  778) [001] ...1 1034705.834890: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17241  HwBinder:778_1-1087  (  778) [000] ...1 1034705.854100: tracing_mark_write: E|778
17242   SensorService-1283  ( 1151) [003] ...1 1034705.854402: tracing_mark_write: E|1151
17243   SensorService-1283  ( 1151) [003] ...1 1034705.854670: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17244  HwBinder:778_1-1087  (  778) [000] ...1 1034705.854839: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17245  surfaceflinger-591   (  591) [001] ...1 1034705.865691: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17246  composer@2.1-s-593   (  593) [000] ...1 1034705.866057: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17247  composer@2.1-s-593   (  593) [000] ...1 1034705.866214: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17248  composer@2.1-s-593   (  593) [000] ...1 1034705.866260: tracing_mark_write: B|593|HWDevice::Commit::
17249  composer@2.1-s-593   (  593) [000] ...1 1034705.866498: tracing_mark_write: E|593
17250  composer@2.1-s-593   (  593) [000] ...1 1034705.866646: tracing_mark_write: E|593
17251  composer@2.1-s-593   (  593) [000] ...1 1034705.866733: tracing_mark_write: E|593
17252  surfaceflinger-591   (  591) [001] ...1 1034705.866903: tracing_mark_write: E|591
17253  HwBinder:778_1-1087  (  778) [000] ...1 1034705.872893: tracing_mark_write: E|778
17254   SensorService-1283  ( 1151) [003] ...1 1034705.873030: tracing_mark_write: E|1151
17255   SensorService-1283  ( 1151) [003] ...1 1034705.873167: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17256  HwBinder:778_1-1087  (  778) [000] ...1 1034705.873302: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17257  HwBinder:778_1-1087  (  778) [000] ...1 1034705.892432: tracing_mark_write: E|778
17258   SensorService-1283  ( 1151) [003] ...1 1034705.892675: tracing_mark_write: E|1151
17259   SensorService-1283  ( 1151) [003] ...1 1034705.892858: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17260  HwBinder:778_1-1087  (  778) [000] ...1 1034705.892983: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17261  HwBinder:778_1-1087  (  778) [001] ...1 1034705.911530: tracing_mark_write: E|778
17262   SensorService-1283  ( 1151) [003] ...1 1034705.911746: tracing_mark_write: E|1151
17263   SensorService-1283  ( 1151) [003] ...1 1034705.911957: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17264  HwBinder:778_1-1087  (  778) [001] ...1 1034705.912081: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17265  surfaceflinger-591   (  591) [003] ...1 1034705.916032: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17266  composer@2.1-s-593   (  593) [000] ...1 1034705.916336: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17267  composer@2.1-s-593   (  593) [000] ...1 1034705.916509: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17268  composer@2.1-s-593   (  593) [000] ...1 1034705.916613: tracing_mark_write: B|593|HWDevice::Commit::
17269  composer@2.1-s-593   (  593) [000] ...1 1034705.916877: tracing_mark_write: E|593
17270  composer@2.1-s-593   (  593) [000] ...1 1034705.916939: tracing_mark_write: E|593
17271  composer@2.1-s-593   (  593) [000] ...1 1034705.917009: tracing_mark_write: E|593
17272  surfaceflinger-591   (  591) [003] ...1 1034705.917176: tracing_mark_write: E|591
17273  HwBinder:778_1-1087  (  778) [001] ...1 1034705.930699: tracing_mark_write: E|778
17274   SensorService-1283  ( 1151) [003] ...1 1034705.930896: tracing_mark_write: E|1151
17275   SensorService-1283  ( 1151) [003] ...1 1034705.931065: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17276  HwBinder:778_1-1087  (  778) [001] ...1 1034705.931184: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17277  surfaceflinger-591   (  591) [002] ...1 1034705.949335: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17278  composer@2.1-s-593   (  593) [000] ...1 1034705.949595: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17279  composer@2.1-s-593   (  593) [000] ...1 1034705.949709: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17280  composer@2.1-s-593   (  593) [000] ...1 1034705.949744: tracing_mark_write: B|593|HWDevice::Commit::
17281  HwBinder:778_1-1087  (  778) [001] ...1 1034705.949912: tracing_mark_write: E|778
17282  composer@2.1-s-593   (  593) [000] ...1 1034705.949987: tracing_mark_write: E|593
17283  composer@2.1-s-593   (  593) [000] ...1 1034705.950035: tracing_mark_write: E|593
17284   SensorService-1283  ( 1151) [003] ...1 1034705.950037: tracing_mark_write: E|1151
17285  composer@2.1-s-593   (  593) [000] ...1 1034705.950083: tracing_mark_write: E|593
17286   SensorService-1283  ( 1151) [003] ...1 1034705.950160: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17287  surfaceflinger-591   (  591) [001] ...1 1034705.950210: tracing_mark_write: E|591
17288  HwBinder:778_1-1087  (  778) [004] ...1 1034705.950398: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17289  HwBinder:778_1-1087  (  778) [000] ...1 1034705.969106: tracing_mark_write: E|778
17290   SensorService-1283  ( 1151) [003] ...1 1034705.969297: tracing_mark_write: E|1151
17291   SensorService-1283  ( 1151) [003] ...1 1034705.969452: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17292  HwBinder:778_1-1087  (  778) [000] ...1 1034705.969545: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17293  HwBinder:778_1-1087  (  778) [000] ...1 1034705.988458: tracing_mark_write: E|778
17294   SensorService-1283  ( 1151) [003] ...1 1034705.988584: tracing_mark_write: E|1151
17295   SensorService-1283  ( 1151) [003] ...1 1034705.988691: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17296  HwBinder:778_1-1087  (  778) [000] ...1 1034705.988758: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17297  surfaceflinger-591   (  591) [002] ...1 1034705.999700: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17298  composer@2.1-s-593   (  593) [000] ...1 1034705.999961: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17299  composer@2.1-s-593   (  593) [000] ...1 1034706.000094: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17300  composer@2.1-s-593   (  593) [000] ...1 1034706.000129: tracing_mark_write: B|593|HWDevice::Commit::
17301  composer@2.1-s-593   (  593) [000] ...1 1034706.000312: tracing_mark_write: E|593
17302  composer@2.1-s-593   (  593) [000] ...1 1034706.000358: tracing_mark_write: E|593
17303  composer@2.1-s-593   (  593) [000] ...1 1034706.000426: tracing_mark_write: E|593
17304  surfaceflinger-591   (  591) [003] ...1 1034706.000605: tracing_mark_write: E|591
17305  HwBinder:778_1-1087  (  778) [000] ...1 1034706.007387: tracing_mark_write: E|778
17306   SensorService-1283  ( 1151) [003] ...1 1034706.007508: tracing_mark_write: E|1151
17307   SensorService-1283  ( 1151) [003] ...1 1034706.007627: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17308  HwBinder:778_1-1087  (  778) [000] ...1 1034706.007692: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17309  HwBinder:778_1-1087  (  778) [001] ...1 1034706.028283: tracing_mark_write: E|778
17310   SensorService-1283  ( 1151) [003] ...1 1034706.028503: tracing_mark_write: E|1151
17311   SensorService-1283  ( 1151) [003] ...1 1034706.028670: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17312  HwBinder:778_1-1087  (  778) [001] ...1 1034706.028789: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17313  surfaceflinger-591   (  591) [000] ...1 1034706.033344: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17314  composer@2.1-s-593   (  593) [001] ...1 1034706.033598: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17315  composer@2.1-s-593   (  593) [001] ...1 1034706.033714: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17316  composer@2.1-s-593   (  593) [001] ...1 1034706.033750: tracing_mark_write: B|593|HWDevice::Commit::
17317  composer@2.1-s-593   (  593) [001] ...1 1034706.033937: tracing_mark_write: E|593
17318  composer@2.1-s-593   (  593) [001] ...1 1034706.033982: tracing_mark_write: E|593
17319  composer@2.1-s-593   (  593) [001] ...1 1034706.034033: tracing_mark_write: E|593
17320  surfaceflinger-591   (  591) [000] ...1 1034706.034164: tracing_mark_write: E|591
17321  HwBinder:778_1-1087  (  778) [002] ...1 1034706.046966: tracing_mark_write: E|778
17322   SensorService-1283  ( 1151) [003] ...1 1034706.047137: tracing_mark_write: E|1151
17323   SensorService-1283  ( 1151) [003] ...1 1034706.047290: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17324  HwBinder:778_1-1087  (  778) [002] ...1 1034706.047371: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17325  HwBinder:778_1-1087  (  778) [000] ...1 1034706.065368: tracing_mark_write: E|778
17326   SensorService-1283  ( 1151) [003] ...1 1034706.065533: tracing_mark_write: E|1151
17327   SensorService-1283  ( 1151) [003] ...1 1034706.065670: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17328  HwBinder:778_1-1087  (  778) [000] ...1 1034706.065755: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17329  surfaceflinger-591   (  591) [002] ...1 1034706.083721: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17330  composer@2.1-s-593   (  593) [001] ...1 1034706.083979: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17331  composer@2.1-s-593   (  593) [001] ...1 1034706.084104: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17332  composer@2.1-s-593   (  593) [001] ...1 1034706.084140: tracing_mark_write: B|593|HWDevice::Commit::
17333  composer@2.1-s-593   (  593) [001] ...1 1034706.084328: tracing_mark_write: E|593
17334  composer@2.1-s-593   (  593) [001] ...1 1034706.084376: tracing_mark_write: E|593
17335  composer@2.1-s-593   (  593) [001] ...1 1034706.084432: tracing_mark_write: E|593
17336  surfaceflinger-591   (  591) [000] ...1 1034706.084571: tracing_mark_write: E|591
17337  HwBinder:778_1-1087  (  778) [001] ...1 1034706.085135: tracing_mark_write: E|778
17338   SensorService-1283  ( 1151) [003] ...1 1034706.085255: tracing_mark_write: E|1151
17339   SensorService-1283  ( 1151) [003] ...1 1034706.085378: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17340  HwBinder:778_1-1087  (  778) [001] ...1 1034706.085457: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17341  HwBinder:778_1-1087  (  778) [002] ...1 1034706.103979: tracing_mark_write: E|778
17342   SensorService-1283  ( 1151) [003] ...1 1034706.104170: tracing_mark_write: E|1151
17343   SensorService-1283  ( 1151) [003] ...1 1034706.104323: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17344  HwBinder:778_1-1087  (  778) [002] ...1 1034706.104427: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17345  HwBinder:778_1-1087  (  778) [000] ...1 1034706.123170: tracing_mark_write: E|778
17346   SensorService-1283  ( 1151) [003] ...1 1034706.123423: tracing_mark_write: E|1151
17347   SensorService-1283  ( 1151) [003] ...1 1034706.123564: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17348  HwBinder:778_1-1087  (  778) [000] ...1 1034706.123677: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17349  surfaceflinger-591   (  591) [002] ...1 1034706.134021: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17350  composer@2.1-s-593   (  593) [001] ...1 1034706.134274: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17351  composer@2.1-s-593   (  593) [001] ...1 1034706.134405: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17352  composer@2.1-s-593   (  593) [001] ...1 1034706.134443: tracing_mark_write: B|593|HWDevice::Commit::
17353  composer@2.1-s-593   (  593) [001] ...1 1034706.134636: tracing_mark_write: E|593
17354  composer@2.1-s-593   (  593) [001] ...1 1034706.134687: tracing_mark_write: E|593
17355  composer@2.1-s-593   (  593) [001] ...1 1034706.134744: tracing_mark_write: E|593
17356  surfaceflinger-591   (  591) [000] ...1 1034706.134897: tracing_mark_write: E|591
17357  HwBinder:778_1-1087  (  778) [000] ...1 1034706.142345: tracing_mark_write: E|778
17358   SensorService-1283  ( 1151) [003] ...1 1034706.142518: tracing_mark_write: E|1151
17359   SensorService-1283  ( 1151) [003] ...1 1034706.142657: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17360  HwBinder:778_1-1087  (  778) [000] ...1 1034706.142738: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17361  HwBinder:778_1-1087  (  778) [004] ...1 1034706.161992: tracing_mark_write: E|778
17362   SensorService-1283  ( 1151) [003] ...1 1034706.162193: tracing_mark_write: E|1151
17363   SensorService-1283  ( 1151) [003] ...1 1034706.162350: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17364  HwBinder:778_1-1087  (  778) [004] ...1 1034706.162517: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17365  surfaceflinger-591   (  591) [000] ...1 1034706.167578: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17366  composer@2.1-s-593   (  593) [001] ...1 1034706.167839: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17367  composer@2.1-s-593   (  593) [001] ...1 1034706.167972: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17368  composer@2.1-s-593   (  593) [001] ...1 1034706.168012: tracing_mark_write: B|593|HWDevice::Commit::
17369  composer@2.1-s-593   (  593) [001] ...1 1034706.168220: tracing_mark_write: E|593
17370  composer@2.1-s-593   (  593) [001] ...1 1034706.168272: tracing_mark_write: E|593
17371  composer@2.1-s-593   (  593) [001] ...1 1034706.168330: tracing_mark_write: E|593
17372  surfaceflinger-591   (  591) [000] ...1 1034706.168466: tracing_mark_write: E|591
17373  HwBinder:778_1-1087  (  778) [000] ...1 1034706.181019: tracing_mark_write: E|778
17374   SensorService-1283  ( 1151) [003] ...1 1034706.181160: tracing_mark_write: E|1151
17375   SensorService-1283  ( 1151) [003] ...1 1034706.181280: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17376  HwBinder:778_1-1087  (  778) [000] ...1 1034706.181352: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17377  HwBinder:778_1-1087  (  778) [000] ...1 1034706.200240: tracing_mark_write: E|778
17378   SensorService-1283  ( 1151) [001] ...1 1034706.200428: tracing_mark_write: E|1151
17379   SensorService-1283  ( 1151) [001] ...1 1034706.200706: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17380  HwBinder:778_1-1087  (  778) [000] ...1 1034706.200914: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17381  surfaceflinger-591   (  591) [000] ...1 1034706.217942: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17382  composer@2.1-s-593   (  593) [001] ...1 1034706.218277: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17383  composer@2.1-s-593   (  593) [001] ...1 1034706.218409: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17384  composer@2.1-s-593   (  593) [001] ...1 1034706.218448: tracing_mark_write: B|593|HWDevice::Commit::
17385  composer@2.1-s-593   (  593) [001] ...1 1034706.218646: tracing_mark_write: E|593
17386  composer@2.1-s-593   (  593) [001] ...1 1034706.218697: tracing_mark_write: E|593
17387  composer@2.1-s-593   (  593) [001] ...1 1034706.218758: tracing_mark_write: E|593
17388  surfaceflinger-591   (  591) [000] ...1 1034706.218906: tracing_mark_write: E|591
17389  HwBinder:778_1-1087  (  778) [001] ...1 1034706.219453: tracing_mark_write: E|778
17390   SensorService-1283  ( 1151) [000] ...1 1034706.219588: tracing_mark_write: E|1151
17391   SensorService-1283  ( 1151) [000] ...1 1034706.219734: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17392  HwBinder:778_1-1087  (  778) [001] ...1 1034706.219810: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17393  HwBinder:778_1-1087  (  778) [000] ...1 1034706.238532: tracing_mark_write: E|778
17394   SensorService-1283  ( 1151) [001] ...1 1034706.238685: tracing_mark_write: E|1151
17395   SensorService-1283  ( 1151) [001] ...1 1034706.238795: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17396  HwBinder:778_1-1087  (  778) [000] ...1 1034706.238872: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17397  surfaceflinger-591   (  591) [002] ...1 1034706.251463: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17398  composer@2.1-s-593   (  593) [001] ...1 1034706.251724: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17399  composer@2.1-s-593   (  593) [001] ...1 1034706.251855: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17400  composer@2.1-s-593   (  593) [001] ...1 1034706.251895: tracing_mark_write: B|593|HWDevice::Commit::
17401  composer@2.1-s-593   (  593) [001] ...1 1034706.252092: tracing_mark_write: E|593
17402  composer@2.1-s-593   (  593) [001] ...1 1034706.252140: tracing_mark_write: E|593
17403  composer@2.1-s-593   (  593) [001] ...1 1034706.252195: tracing_mark_write: E|593
17404  surfaceflinger-591   (  591) [000] ...1 1034706.252344: tracing_mark_write: E|591
17405  HwBinder:778_1-1087  (  778) [000] ...1 1034706.258545: tracing_mark_write: E|778
17406   SensorService-1283  ( 1151) [001] ...1 1034706.258707: tracing_mark_write: E|1151
17407   SensorService-1283  ( 1151) [001] ...1 1034706.258858: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17408  HwBinder:778_1-1087  (  778) [000] ...1 1034706.258953: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17409  HwBinder:778_1-1087  (  778) [000] ...1 1034706.277610: tracing_mark_write: E|778
17410   SensorService-1283  ( 1151) [001] ...1 1034706.277764: tracing_mark_write: E|1151
17411   SensorService-1283  ( 1151) [001] ...1 1034706.277897: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17412  sensors@1.0-se-778   (  778) [004] ...1 1034706.278103: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17413  sensors@1.0-se-778   (  778) [005] ...1 1034706.296708: tracing_mark_write: E|778
17414   SensorService-1283  ( 1151) [001] ...1 1034706.296880: tracing_mark_write: E|1151
17415   SensorService-1283  ( 1151) [001] ...1 1034706.297025: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17416  sensors@1.0-se-778   (  778) [005] ...1 1034706.297187: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17417  surfaceflinger-591   (  591) [000] ...1 1034706.301648: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17418  composer@2.1-s-593   (  593) [001] ...1 1034706.301870: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17419  composer@2.1-s-593   (  593) [001] ...1 1034706.301990: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17420  composer@2.1-s-593   (  593) [001] ...1 1034706.302025: tracing_mark_write: B|593|HWDevice::Commit::
17421  composer@2.1-s-593   (  593) [001] ...1 1034706.302201: tracing_mark_write: E|593
17422  composer@2.1-s-593   (  593) [001] ...1 1034706.302245: tracing_mark_write: E|593
17423  composer@2.1-s-593   (  593) [001] ...1 1034706.302295: tracing_mark_write: E|593
17424  surfaceflinger-591   (  591) [000] ...1 1034706.302408: tracing_mark_write: E|591
17425  sensors@1.0-se-778   (  778) [005] ...1 1034706.315646: tracing_mark_write: E|778
17426   SensorService-1283  ( 1151) [001] ...1 1034706.315819: tracing_mark_write: E|1151
17427   SensorService-1283  ( 1151) [001] ...1 1034706.315953: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17428  sensors@1.0-se-778   (  778) [005] ...1 1034706.316115: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17429  sensors@1.0-se-778   (  778) [005] ...1 1034706.334995: tracing_mark_write: E|778
17430   SensorService-1283  ( 1151) [001] ...1 1034706.335150: tracing_mark_write: E|1151
17431  surfaceflinger-591   (  591) [002] ...1 1034706.335258: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17432   SensorService-1283  ( 1151) [001] ...1 1034706.335267: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17433  sensors@1.0-se-778   (  778) [005] ...1 1034706.335438: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17434  composer@2.1-s-593   (  593) [000] ...1 1034706.335453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17435  composer@2.1-s-593   (  593) [000] ...1 1034706.335559: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17436  composer@2.1-s-593   (  593) [000] ...1 1034706.335590: tracing_mark_write: B|593|HWDevice::Commit::
17437  composer@2.1-s-593   (  593) [000] ...1 1034706.335768: tracing_mark_write: E|593
17438  composer@2.1-s-593   (  593) [000] ...1 1034706.335811: tracing_mark_write: E|593
17439  composer@2.1-s-593   (  593) [000] ...1 1034706.335859: tracing_mark_write: E|593
17440  surfaceflinger-591   (  591) [001] ...1 1034706.335987: tracing_mark_write: E|591
17441  sensors@1.0-se-778   (  778) [005] ...1 1034706.354082: tracing_mark_write: E|778
17442   SensorService-1283  ( 1151) [001] ...1 1034706.354261: tracing_mark_write: E|1151
17443   SensorService-1283  ( 1151) [001] ...1 1034706.354387: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17444  sensors@1.0-se-778   (  778) [005] ...1 1034706.354520: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17445  sensors@1.0-se-778   (  778) [005] ...1 1034706.373745: tracing_mark_write: E|778
17446   SensorService-1283  ( 1151) [001] ...1 1034706.374043: tracing_mark_write: E|1151
17447   SensorService-1283  ( 1151) [001] ...1 1034706.374386: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17448  sensors@1.0-se-778   (  778) [005] ...1 1034706.374580: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17449  surfaceflinger-591   (  591) [000] ...1 1034706.385555: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17450  composer@2.1-s-593   (  593) [001] ...1 1034706.385784: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17451  composer@2.1-s-593   (  593) [001] ...1 1034706.385906: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17452  composer@2.1-s-593   (  593) [001] ...1 1034706.385941: tracing_mark_write: B|593|HWDevice::Commit::
17453  composer@2.1-s-593   (  593) [001] ...1 1034706.386133: tracing_mark_write: E|593
17454  composer@2.1-s-593   (  593) [001] ...1 1034706.386178: tracing_mark_write: E|593
17455  composer@2.1-s-593   (  593) [001] ...1 1034706.386228: tracing_mark_write: E|593
17456  surfaceflinger-591   (  591) [000] ...1 1034706.386354: tracing_mark_write: E|591
17457  sensors@1.0-se-778   (  778) [005] ...1 1034706.392729: tracing_mark_write: E|778
17458   SensorService-1283  ( 1151) [001] ...1 1034706.392927: tracing_mark_write: E|1151
17459   SensorService-1283  ( 1151) [001] ...1 1034706.393096: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17460  sensors@1.0-se-778   (  778) [005] ...1 1034706.393275: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17461  sensors@1.0-se-778   (  778) [007] ...1 1034706.412284: tracing_mark_write: E|778
17462   SensorService-1283  ( 1151) [001] ...1 1034706.412481: tracing_mark_write: E|1151
17463   SensorService-1283  ( 1151) [001] ...1 1034706.412626: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17464  sensors@1.0-se-778   (  778) [007] ...1 1034706.412800: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17465  sensors@1.0-se-778   (  778) [007] ...1 1034706.431070: tracing_mark_write: E|778
17466   SensorService-1283  ( 1151) [001] ...1 1034706.431204: tracing_mark_write: E|1151
17467   SensorService-1283  ( 1151) [001] ...1 1034706.431310: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17468  sensors@1.0-se-778   (  778) [007] ...1 1034706.431424: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17469  surfaceflinger-591   (  591) [002] ...1 1034706.435955: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17470  composer@2.1-s-593   (  593) [001] ...1 1034706.436174: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17471  composer@2.1-s-593   (  593) [001] ...1 1034706.436285: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17472  composer@2.1-s-593   (  593) [001] ...1 1034706.436318: tracing_mark_write: B|593|HWDevice::Commit::
17473  composer@2.1-s-593   (  593) [001] ...1 1034706.436503: tracing_mark_write: E|593
17474  composer@2.1-s-593   (  593) [001] ...1 1034706.436598: tracing_mark_write: E|593
17475  composer@2.1-s-593   (  593) [001] ...1 1034706.436650: tracing_mark_write: E|593
17476  surfaceflinger-591   (  591) [003] ...1 1034706.436841: tracing_mark_write: E|591
17477  sensors@1.0-se-778   (  778) [007] ...1 1034706.450493: tracing_mark_write: E|778
17478   SensorService-1283  ( 1151) [001] ...1 1034706.450671: tracing_mark_write: E|1151
17479   SensorService-1283  ( 1151) [001] ...1 1034706.450808: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17480  sensors@1.0-se-778   (  778) [007] ...1 1034706.450983: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17481  surfaceflinger-591   (  591) [000] ...1 1034706.469617: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17482  sensors@1.0-se-778   (  778) [007] ...1 1034706.469950: tracing_mark_write: E|778
17483  composer@2.1-s-593   (  593) [001] ...1 1034706.469959: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17484  composer@2.1-s-593   (  593) [001] ...1 1034706.470097: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17485   SensorService-1283  ( 1151) [000] ...1 1034706.470132: tracing_mark_write: E|1151
17486  composer@2.1-s-593   (  593) [001] ...1 1034706.470135: tracing_mark_write: B|593|HWDevice::Commit::
17487   SensorService-1283  ( 1151) [000] ...1 1034706.470270: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17488  composer@2.1-s-593   (  593) [001] ...1 1034706.470338: tracing_mark_write: E|593
17489  composer@2.1-s-593   (  593) [001] ...1 1034706.470385: tracing_mark_write: E|593
17490  sensors@1.0-se-778   (  778) [007] ...1 1034706.470417: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17491  composer@2.1-s-593   (  593) [001] ...1 1034706.470439: tracing_mark_write: E|593
17492  surfaceflinger-591   (  591) [000] ...1 1034706.470572: tracing_mark_write: E|591
17493  sensors@1.0-se-778   (  778) [007] ...1 1034706.488891: tracing_mark_write: E|778
17494   SensorService-1283  ( 1151) [000] ...1 1034706.489084: tracing_mark_write: E|1151
17495   SensorService-1283  ( 1151) [000] ...1 1034706.489238: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17496  sensors@1.0-se-778   (  778) [007] ...1 1034706.489421: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17497  sensors@1.0-se-778   (  778) [007] ...1 1034706.508288: tracing_mark_write: E|778
17498   SensorService-1283  ( 1151) [000] ...1 1034706.508471: tracing_mark_write: E|1151
17499   SensorService-1283  ( 1151) [000] ...1 1034706.508620: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17500  sensors@1.0-se-778   (  778) [007] ...1 1034706.508775: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17501  surfaceflinger-591   (  591) [001] ...1 1034706.519821: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17502  composer@2.1-s-593   (  593) [000] ...1 1034706.520140: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17503  composer@2.1-s-593   (  593) [000] ...1 1034706.520259: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17504  composer@2.1-s-593   (  593) [000] ...1 1034706.520294: tracing_mark_write: B|593|HWDevice::Commit::
17505  composer@2.1-s-593   (  593) [000] ...1 1034706.520481: tracing_mark_write: E|593
17506  composer@2.1-s-593   (  593) [000] ...1 1034706.520523: tracing_mark_write: E|593
17507  composer@2.1-s-593   (  593) [000] ...1 1034706.520574: tracing_mark_write: E|593
17508  surfaceflinger-591   (  591) [001] ...1 1034706.520701: tracing_mark_write: E|591
17509  sensors@1.0-se-778   (  778) [007] ...1 1034706.527394: tracing_mark_write: E|778
17510   SensorService-1283  ( 1151) [000] ...1 1034706.527563: tracing_mark_write: E|1151
17511   SensorService-1283  ( 1151) [000] ...1 1034706.527705: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17512  sensors@1.0-se-778   (  778) [007] ...1 1034706.527868: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17513  sensors@1.0-se-778   (  778) [007] ...1 1034706.546839: tracing_mark_write: E|778
17514   SensorService-1283  ( 1151) [000] ...1 1034706.547058: tracing_mark_write: E|1151
17515   SensorService-1283  ( 1151) [000] ...1 1034706.547242: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17516  sensors@1.0-se-778   (  778) [007] ...1 1034706.547433: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17517  sensors@1.0-se-778   (  778) [007] ...1 1034706.565867: tracing_mark_write: E|778
17518   SensorService-1283  ( 1151) [000] ...1 1034706.566018: tracing_mark_write: E|1151
17519   SensorService-1283  ( 1151) [000] ...1 1034706.566149: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17520  sensors@1.0-se-778   (  778) [007] ...1 1034706.566269: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17521  surfaceflinger-591   (  591) [001] ...1 1034706.570155: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17522  composer@2.1-s-593   (  593) [000] ...1 1034706.570365: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17523  composer@2.1-s-593   (  593) [000] ...1 1034706.570479: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17524  composer@2.1-s-593   (  593) [000] ...1 1034706.570512: tracing_mark_write: B|593|HWDevice::Commit::
17525  composer@2.1-s-593   (  593) [000] ...1 1034706.570683: tracing_mark_write: E|593
17526  composer@2.1-s-593   (  593) [000] ...1 1034706.570725: tracing_mark_write: E|593
17527  composer@2.1-s-593   (  593) [000] ...1 1034706.570771: tracing_mark_write: E|593
17528  surfaceflinger-591   (  591) [001] ...1 1034706.570885: tracing_mark_write: E|591
17529  sensors@1.0-se-778   (  778) [007] ...1 1034706.585128: tracing_mark_write: E|778
17530   SensorService-1283  ( 1151) [000] ...1 1034706.585332: tracing_mark_write: E|1151
17531   SensorService-1283  ( 1151) [000] ...1 1034706.585518: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17532  sensors@1.0-se-778   (  778) [007] ...1 1034706.585694: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17533  surfaceflinger-591   (  591) [000] ...1 1034706.603865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17534  composer@2.1-s-593   (  593) [001] ...1 1034706.604107: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17535  composer@2.1-s-593   (  593) [001] ...1 1034706.604232: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17536  composer@2.1-s-593   (  593) [001] ...1 1034706.604268: tracing_mark_write: B|593|HWDevice::Commit::
17537  sensors@1.0-se-778   (  778) [007] ...1 1034706.604435: tracing_mark_write: E|778
17538  composer@2.1-s-593   (  593) [001] ...1 1034706.604463: tracing_mark_write: E|593
17539  composer@2.1-s-593   (  593) [001] ...1 1034706.604505: tracing_mark_write: E|593
17540  composer@2.1-s-593   (  593) [001] ...1 1034706.604553: tracing_mark_write: E|593
17541   SensorService-1283  ( 1151) [000] ...1 1034706.604585: tracing_mark_write: E|1151
17542  surfaceflinger-591   (  591) [003] ...1 1034706.604689: tracing_mark_write: E|591
17543   SensorService-1283  ( 1151) [000] ...1 1034706.604713: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17544  sensors@1.0-se-778   (  778) [007] ...1 1034706.604846: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17545  sensors@1.0-se-778   (  778) [007] ...1 1034706.623654: tracing_mark_write: E|778
17546   SensorService-1283  ( 1151) [000] ...1 1034706.623820: tracing_mark_write: E|1151
17547   SensorService-1283  ( 1151) [000] ...1 1034706.623943: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17548  sensors@1.0-se-778   (  778) [007] ...1 1034706.624114: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17549  sensors@1.0-se-778   (  778) [007] ...1 1034706.642974: tracing_mark_write: E|778
17550   SensorService-1283  ( 1151) [000] ...1 1034706.643289: tracing_mark_write: E|1151
17551   SensorService-1283  ( 1151) [000] ...1 1034706.643455: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17552  sensors@1.0-se-778   (  778) [007] ...1 1034706.643617: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17553  surfaceflinger-591   (  591) [002] ...1 1034706.654133: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17554  composer@2.1-s-593   (  593) [001] ...1 1034706.654387: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17555  composer@2.1-s-593   (  593) [001] ...1 1034706.654510: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17556  composer@2.1-s-593   (  593) [001] ...1 1034706.654546: tracing_mark_write: B|593|HWDevice::Commit::
17557  composer@2.1-s-593   (  593) [001] ...1 1034706.654778: tracing_mark_write: E|593
17558  composer@2.1-s-593   (  593) [001] ...1 1034706.654826: tracing_mark_write: E|593
17559  composer@2.1-s-593   (  593) [001] ...1 1034706.654879: tracing_mark_write: E|593
17560  surfaceflinger-591   (  591) [000] ...1 1034706.655023: tracing_mark_write: E|591
17561  sensors@1.0-se-778   (  778) [007] ...1 1034706.662308: tracing_mark_write: E|778
17562   SensorService-1283  ( 1151) [000] ...1 1034706.662500: tracing_mark_write: E|1151
17563   SensorService-1283  ( 1151) [000] ...1 1034706.662656: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17564  sensors@1.0-se-778   (  778) [007] ...1 1034706.662860: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17565  sensors@1.0-se-778   (  778) [007] ...1 1034706.681550: tracing_mark_write: E|778
17566   SensorService-1283  ( 1151) [000] ...1 1034706.681751: tracing_mark_write: E|1151
17567   SensorService-1283  ( 1151) [000] ...1 1034706.681935: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17568  sensors@1.0-se-778   (  778) [007] ...1 1034706.682111: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17569  sensors@1.0-se-778   (  778) [007] ...1 1034706.700651: tracing_mark_write: E|778
17570   SensorService-1283  ( 1151) [000] ...1 1034706.700825: tracing_mark_write: E|1151
17571   SensorService-1283  ( 1151) [000] ...1 1034706.700981: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17572  sensors@1.0-se-778   (  778) [007] ...1 1034706.701140: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17573  surfaceflinger-591   (  591) [000] ...1 1034706.704393: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17574  composer@2.1-s-593   (  593) [001] ...1 1034706.704598: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17575  composer@2.1-s-593   (  593) [001] ...1 1034706.704721: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17576  composer@2.1-s-593   (  593) [001] ...1 1034706.704757: tracing_mark_write: B|593|HWDevice::Commit::
17577  composer@2.1-s-593   (  593) [001] ...1 1034706.704944: tracing_mark_write: E|593
17578  composer@2.1-s-593   (  593) [001] ...1 1034706.704993: tracing_mark_write: E|593
17579  composer@2.1-s-593   (  593) [001] ...1 1034706.705047: tracing_mark_write: E|593
17580  surfaceflinger-591   (  591) [000] ...1 1034706.705163: tracing_mark_write: E|591
17581  sensors@1.0-se-778   (  778) [007] ...1 1034706.719723: tracing_mark_write: E|778
17582   SensorService-1283  ( 1151) [000] ...1 1034706.719953: tracing_mark_write: E|1151
17583   SensorService-1283  ( 1151) [000] ...1 1034706.720134: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17584  sensors@1.0-se-778   (  778) [007] ...1 1034706.720255: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17585  surfaceflinger-591   (  591) [002] ...1 1034706.738188: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17586  composer@2.1-s-593   (  593) [001] ...1 1034706.738461: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17587  composer@2.1-s-593   (  593) [001] ...1 1034706.738597: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17588  composer@2.1-s-593   (  593) [001] ...1 1034706.738635: tracing_mark_write: B|593|HWDevice::Commit::
17589  composer@2.1-s-593   (  593) [001] ...1 1034706.738844: tracing_mark_write: E|593
17590  composer@2.1-s-593   (  593) [001] ...1 1034706.738894: tracing_mark_write: E|593
17591  composer@2.1-s-593   (  593) [001] ...1 1034706.738952: tracing_mark_write: E|593
17592  surfaceflinger-591   (  591) [000] ...1 1034706.739126: tracing_mark_write: E|591
17593  sensors@1.0-se-778   (  778) [007] ...1 1034706.739325: tracing_mark_write: E|778
17594   SensorService-1283  ( 1151) [001] ...1 1034706.739486: tracing_mark_write: E|1151
17595   SensorService-1283  ( 1151) [001] ...1 1034706.739632: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17596  sensors@1.0-se-778   (  778) [007] ...1 1034706.739775: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17597  sensors@1.0-se-778   (  778) [007] ...1 1034706.758537: tracing_mark_write: E|778
17598   SensorService-1283  ( 1151) [001] ...1 1034706.758715: tracing_mark_write: E|1151
17599   SensorService-1283  ( 1151) [001] ...1 1034706.758856: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17600  sensors@1.0-se-778   (  778) [007] ...1 1034706.759047: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17601  sensors@1.0-se-778   (  778) [007] ...1 1034706.777834: tracing_mark_write: E|778
17602   SensorService-1283  ( 1151) [001] ...1 1034706.778046: tracing_mark_write: E|1151
17603   SensorService-1283  ( 1151) [001] ...1 1034706.778223: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17604  sensors@1.0-se-778   (  778) [007] ...1 1034706.778408: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17605  surfaceflinger-591   (  591) [001] ...1 1034706.788353: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17606  composer@2.1-s-593   (  593) [000] ...1 1034706.788609: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17607  composer@2.1-s-593   (  593) [000] ...1 1034706.788731: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17608  composer@2.1-s-593   (  593) [000] ...1 1034706.788766: tracing_mark_write: B|593|HWDevice::Commit::
17609  composer@2.1-s-593   (  593) [000] ...1 1034706.788955: tracing_mark_write: E|593
17610  composer@2.1-s-593   (  593) [000] ...1 1034706.789000: tracing_mark_write: E|593
17611  composer@2.1-s-593   (  593) [000] ...1 1034706.789050: tracing_mark_write: E|593
17612  surfaceflinger-591   (  591) [001] ...1 1034706.789180: tracing_mark_write: E|591
17613  sensors@1.0-se-778   (  778) [007] ...1 1034706.797059: tracing_mark_write: E|778
17614   SensorService-1283  ( 1151) [001] ...1 1034706.797239: tracing_mark_write: E|1151
17615   SensorService-1283  ( 1151) [001] ...1 1034706.797380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17616  sensors@1.0-se-778   (  778) [007] ...1 1034706.797549: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17617  sensors@1.0-se-778   (  778) [007] ...1 1034706.816675: tracing_mark_write: E|778
17618   SensorService-1283  ( 1151) [001] ...1 1034706.816966: tracing_mark_write: E|1151
17619   SensorService-1283  ( 1151) [001] ...1 1034706.817263: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17620  sensors@1.0-se-778   (  778) [007] ...1 1034706.817449: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17621  surfaceflinger-591   (  591) [001] ...1 1034706.822063: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17622  composer@2.1-s-593   (  593) [000] ...1 1034706.822371: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17623  composer@2.1-s-593   (  593) [000] ...1 1034706.822512: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17624  composer@2.1-s-593   (  593) [000] ...1 1034706.822553: tracing_mark_write: B|593|HWDevice::Commit::
17625  composer@2.1-s-593   (  593) [000] ...1 1034706.822778: tracing_mark_write: E|593
17626  composer@2.1-s-593   (  593) [000] ...1 1034706.822831: tracing_mark_write: E|593
17627  composer@2.1-s-593   (  593) [000] ...1 1034706.822891: tracing_mark_write: E|593
17628  surfaceflinger-591   (  591) [001] ...1 1034706.823049: tracing_mark_write: E|591
17629  sensors@1.0-se-778   (  778) [007] ...1 1034706.835420: tracing_mark_write: E|778
17630   SensorService-1283  ( 1151) [001] ...1 1034706.835585: tracing_mark_write: E|1151
17631   SensorService-1283  ( 1151) [001] ...1 1034706.835723: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17632  sensors@1.0-se-778   (  778) [007] ...1 1034706.835881: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17633  sensors@1.0-se-778   (  778) [007] ...1 1034706.854660: tracing_mark_write: E|778
17634   SensorService-1283  ( 1151) [003] ...1 1034706.854799: tracing_mark_write: E|1151
17635   SensorService-1283  ( 1151) [003] ...1 1034706.854933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17636  sensors@1.0-se-778   (  778) [007] ...1 1034706.855047: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17637  surfaceflinger-591   (  591) [002] ...1 1034706.872228: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17638  composer@2.1-s-593   (  593) [000] ...1 1034706.872471: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17639  composer@2.1-s-593   (  593) [000] ...1 1034706.872585: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17640  composer@2.1-s-593   (  593) [000] ...1 1034706.872619: tracing_mark_write: B|593|HWDevice::Commit::
17641  composer@2.1-s-593   (  593) [000] ...1 1034706.872796: tracing_mark_write: E|593
17642  composer@2.1-s-593   (  593) [000] ...1 1034706.872840: tracing_mark_write: E|593
17643  composer@2.1-s-593   (  593) [000] ...1 1034706.872890: tracing_mark_write: E|593
17644  surfaceflinger-591   (  591) [003] ...1 1034706.873031: tracing_mark_write: E|591
17645  sensors@1.0-se-778   (  778) [007] ...1 1034706.875747: tracing_mark_write: E|778
17646   SensorService-1283  ( 1151) [003] ...1 1034706.875893: tracing_mark_write: E|1151
17647   SensorService-1283  ( 1151) [003] ...1 1034706.876037: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17648  sensors@1.0-se-778   (  778) [007] ...1 1034706.876184: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17649  sensors@1.0-se-778   (  778) [007] ...1 1034706.893332: tracing_mark_write: E|778
17650   SensorService-1283  ( 1151) [003] ...1 1034706.893523: tracing_mark_write: E|1151
17651   SensorService-1283  ( 1151) [003] ...1 1034706.893677: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17652  sensors@1.0-se-778   (  778) [007] ...1 1034706.893854: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17653  surfaceflinger-591   (  591) [000] ...1 1034706.906003: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17654  composer@2.1-s-593   (  593) [001] ...1 1034706.906284: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17655  composer@2.1-s-593   (  593) [001] ...1 1034706.906417: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17656  composer@2.1-s-593   (  593) [001] ...1 1034706.906457: tracing_mark_write: B|593|HWDevice::Commit::
17657  composer@2.1-s-593   (  593) [001] ...1 1034706.906751: tracing_mark_write: E|593
17658  composer@2.1-s-593   (  593) [001] ...1 1034706.906806: tracing_mark_write: E|593
17659  composer@2.1-s-593   (  593) [001] ...1 1034706.906873: tracing_mark_write: E|593
17660  surfaceflinger-591   (  591) [000] ...1 1034706.907080: tracing_mark_write: E|591
17661  sensors@1.0-se-778   (  778) [007] ...1 1034706.912679: tracing_mark_write: E|778
17662   SensorService-1283  ( 1151) [003] ...1 1034706.912869: tracing_mark_write: E|1151
17663   SensorService-1283  ( 1151) [003] ...1 1034706.913058: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17664  sensors@1.0-se-778   (  778) [007] ...1 1034706.913300: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17665  sensors@1.0-se-778   (  778) [007] ...1 1034706.932096: tracing_mark_write: E|778
17666   SensorService-1283  ( 1151) [003] ...1 1034706.932298: tracing_mark_write: E|1151
17667   SensorService-1283  ( 1151) [003] ...1 1034706.932489: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17668  sensors@1.0-se-778   (  778) [007] ...1 1034706.932672: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17669  sensors@1.0-se-778   (  778) [007] ...1 1034706.951247: tracing_mark_write: E|778
17670   SensorService-1283  ( 1151) [003] ...1 1034706.951423: tracing_mark_write: E|1151
17671   SensorService-1283  ( 1151) [003] ...1 1034706.951577: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17672  sensors@1.0-se-778   (  778) [007] ...1 1034706.951736: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17673  surfaceflinger-591   (  591) [002] ...1 1034706.956212: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17674  composer@2.1-s-593   (  593) [001] ...1 1034706.956485: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17675  composer@2.1-s-593   (  593) [001] ...1 1034706.956682: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17676  composer@2.1-s-593   (  593) [001] ...1 1034706.956720: tracing_mark_write: B|593|HWDevice::Commit::
17677  composer@2.1-s-593   (  593) [001] ...1 1034706.956924: tracing_mark_write: E|593
17678  composer@2.1-s-593   (  593) [001] ...1 1034706.956973: tracing_mark_write: E|593
17679  composer@2.1-s-593   (  593) [001] ...1 1034706.957031: tracing_mark_write: E|593
17680  surfaceflinger-591   (  591) [000] ...1 1034706.957206: tracing_mark_write: E|591
17681  sensors@1.0-se-778   (  778) [007] ...1 1034706.970503: tracing_mark_write: E|778
17682   SensorService-1283  ( 1151) [003] ...1 1034706.970701: tracing_mark_write: E|1151
17683   SensorService-1283  ( 1151) [003] ...1 1034706.970879: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17684  sensors@1.0-se-778   (  778) [007] ...1 1034706.971058: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17685  sensors@1.0-se-778   (  778) [007] ...1 1034706.989548: tracing_mark_write: E|778
17686   SensorService-1283  ( 1151) [003] ...1 1034706.989781: tracing_mark_write: E|1151
17687   SensorService-1283  ( 1151) [003] ...1 1034706.990024: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17688  sensors@1.0-se-778   (  778) [007] ...1 1034706.990223: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17689  surfaceflinger-591   (  591) [002] ...1 1034707.006850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17690  composer@2.1-s-593   (  593) [001] ...1 1034707.007204: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17691  composer@2.1-s-593   (  593) [001] ...1 1034707.007341: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17692  composer@2.1-s-593   (  593) [001] ...1 1034707.007381: tracing_mark_write: B|593|HWDevice::Commit::
17693  composer@2.1-s-593   (  593) [001] ...1 1034707.007601: tracing_mark_write: E|593
17694  composer@2.1-s-593   (  593) [001] ...1 1034707.007652: tracing_mark_write: E|593
17695  composer@2.1-s-593   (  593) [001] ...1 1034707.007714: tracing_mark_write: E|593
17696  surfaceflinger-591   (  591) [000] ...1 1034707.007908: tracing_mark_write: E|591
17697  sensors@1.0-se-778   (  778) [007] ...1 1034707.010765: tracing_mark_write: E|778
17698   SensorService-1283  ( 1151) [003] ...1 1034707.010928: tracing_mark_write: E|1151
17699   SensorService-1283  ( 1151) [003] ...1 1034707.011079: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17700  sensors@1.0-se-778   (  778) [007] ...1 1034707.011225: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17701  sensors@1.0-se-778   (  778) [007] ...1 1034707.028189: tracing_mark_write: E|778
17702   SensorService-1283  ( 1151) [003] ...1 1034707.028380: tracing_mark_write: E|1151
17703   SensorService-1283  ( 1151) [003] ...1 1034707.028528: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17704  sensors@1.0-se-778   (  778) [007] ...1 1034707.028700: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17705  surfaceflinger-591   (  591) [001] ...1 1034707.040285: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17706  composer@2.1-s-593   (  593) [000] ...1 1034707.040542: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17707  composer@2.1-s-593   (  593) [000] ...1 1034707.040659: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17708  composer@2.1-s-593   (  593) [000] ...1 1034707.040692: tracing_mark_write: B|593|HWDevice::Commit::
17709  composer@2.1-s-593   (  593) [000] ...1 1034707.040867: tracing_mark_write: E|593
17710  composer@2.1-s-593   (  593) [000] ...1 1034707.040911: tracing_mark_write: E|593
17711  composer@2.1-s-593   (  593) [000] ...1 1034707.040959: tracing_mark_write: E|593
17712  surfaceflinger-591   (  591) [001] ...1 1034707.041072: tracing_mark_write: E|591
17713  sensors@1.0-se-778   (  778) [007] ...1 1034707.047269: tracing_mark_write: E|778
17714   SensorService-1283  ( 1151) [003] ...1 1034707.047436: tracing_mark_write: E|1151
17715   SensorService-1283  ( 1151) [003] ...1 1034707.047561: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17716  sensors@1.0-se-778   (  778) [007] ...1 1034707.047726: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17717  sensors@1.0-se-778   (  778) [007] ...1 1034707.066636: tracing_mark_write: E|778
17718   SensorService-1283  ( 1151) [003] ...1 1034707.066853: tracing_mark_write: E|1151
17719   SensorService-1283  ( 1151) [003] ...1 1034707.067037: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17720  sensors@1.0-se-778   (  778) [007] ...1 1034707.067227: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17721  sensors@1.0-se-778   (  778) [007] ...1 1034707.085885: tracing_mark_write: E|778
17722   SensorService-1283  ( 1151) [003] ...1 1034707.086062: tracing_mark_write: E|1151
17723   SensorService-1283  ( 1151) [003] ...1 1034707.086213: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17724  sensors@1.0-se-778   (  778) [007] ...1 1034707.086380: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17725  surfaceflinger-591   (  591) [002] ...1 1034707.090388: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17726  composer@2.1-s-593   (  593) [000] ...1 1034707.090619: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17727  composer@2.1-s-593   (  593) [000] ...1 1034707.090747: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17728  composer@2.1-s-593   (  593) [000] ...1 1034707.090783: tracing_mark_write: B|593|HWDevice::Commit::
17729  composer@2.1-s-593   (  593) [000] ...1 1034707.090993: tracing_mark_write: E|593
17730  composer@2.1-s-593   (  593) [000] ...1 1034707.091039: tracing_mark_write: E|593
17731  composer@2.1-s-593   (  593) [000] ...1 1034707.091092: tracing_mark_write: E|593
17732  surfaceflinger-591   (  591) [001] ...1 1034707.091238: tracing_mark_write: E|591
17733  sensors@1.0-se-778   (  778) [007] ...1 1034707.105013: tracing_mark_write: E|778
17734   SensorService-1283  ( 1151) [003] ...1 1034707.105165: tracing_mark_write: E|1151
17735   SensorService-1283  ( 1151) [003] ...1 1034707.105299: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17736  sensors@1.0-se-778   (  778) [007] ...1 1034707.105439: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17737  surfaceflinger-591   (  591) [002] ...1 1034707.124020: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17738  composer@2.1-s-593   (  593) [000] ...1 1034707.124275: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17739  sensors@1.0-se-778   (  778) [007] ...1 1034707.124306: tracing_mark_write: E|778
17740  composer@2.1-s-593   (  593) [000] ...1 1034707.124448: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17741   SensorService-1283  ( 1151) [003] ...1 1034707.124453: tracing_mark_write: E|1151
17742  composer@2.1-s-593   (  593) [000] ...1 1034707.124482: tracing_mark_write: B|593|HWDevice::Commit::
17743   SensorService-1283  ( 1151) [003] ...1 1034707.124584: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17744  composer@2.1-s-593   (  593) [000] ...1 1034707.124667: tracing_mark_write: E|593
17745  sensors@1.0-se-778   (  778) [007] ...1 1034707.124712: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17746  composer@2.1-s-593   (  593) [000] ...1 1034707.124713: tracing_mark_write: E|593
17747  composer@2.1-s-593   (  593) [000] ...1 1034707.124766: tracing_mark_write: E|593
17748  surfaceflinger-591   (  591) [001] ...1 1034707.124893: tracing_mark_write: E|591
17749  sensors@1.0-se-778   (  778) [007] ...1 1034707.143745: tracing_mark_write: E|778
17750   SensorService-1283  ( 1151) [003] ...1 1034707.143933: tracing_mark_write: E|1151
17751   SensorService-1283  ( 1151) [003] ...1 1034707.144101: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17752  sensors@1.0-se-778   (  778) [007] ...1 1034707.144279: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17753  sensors@1.0-se-778   (  778) [007] ...1 1034707.163286: tracing_mark_write: E|778
17754   SensorService-1283  ( 1151) [003] ...1 1034707.163478: tracing_mark_write: E|1151
17755   SensorService-1283  ( 1151) [003] ...1 1034707.163666: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17756  sensors@1.0-se-778   (  778) [007] ...1 1034707.163829: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17757  surfaceflinger-591   (  591) [001] ...1 1034707.174316: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17758  composer@2.1-s-593   (  593) [000] ...1 1034707.174582: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17759  composer@2.1-s-593   (  593) [000] ...1 1034707.174705: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17760  composer@2.1-s-593   (  593) [000] ...1 1034707.174741: tracing_mark_write: B|593|HWDevice::Commit::
17761  composer@2.1-s-593   (  593) [000] ...1 1034707.174937: tracing_mark_write: E|593
17762  composer@2.1-s-593   (  593) [000] ...1 1034707.174985: tracing_mark_write: E|593
17763  composer@2.1-s-593   (  593) [000] ...1 1034707.175036: tracing_mark_write: E|593
17764  surfaceflinger-591   (  591) [001] ...1 1034707.175166: tracing_mark_write: E|591
17765  sensors@1.0-se-778   (  778) [007] ...1 1034707.181956: tracing_mark_write: E|778
17766   SensorService-1283  ( 1151) [003] ...1 1034707.182115: tracing_mark_write: E|1151
17767   SensorService-1283  ( 1151) [003] ...1 1034707.182247: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17768  sensors@1.0-se-778   (  778) [007] ...1 1034707.182398: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17769  sensors@1.0-se-778   (  778) [007] ...1 1034707.201483: tracing_mark_write: E|778
17770   SensorService-1283  ( 1151) [003] ...1 1034707.201685: tracing_mark_write: E|1151
17771   SensorService-1283  ( 1151) [003] ...1 1034707.201883: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17772  sensors@1.0-se-778   (  778) [007] ...1 1034707.202069: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17773  sensors@1.0-se-778   (  778) [007] ...1 1034707.220546: tracing_mark_write: E|778
17774   SensorService-1283  ( 1151) [003] ...1 1034707.220728: tracing_mark_write: E|1151
17775   SensorService-1283  ( 1151) [003] ...1 1034707.220891: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17776  sensors@1.0-se-778   (  778) [007] ...1 1034707.221063: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17777  surfaceflinger-591   (  591) [001] ...1 1034707.224709: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17778  composer@2.1-s-593   (  593) [000] ...1 1034707.224994: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17779  composer@2.1-s-593   (  593) [000] ...1 1034707.225115: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17780  composer@2.1-s-593   (  593) [000] ...1 1034707.225149: tracing_mark_write: B|593|HWDevice::Commit::
17781  composer@2.1-s-593   (  593) [000] ...1 1034707.225337: tracing_mark_write: E|593
17782  composer@2.1-s-593   (  593) [000] ...1 1034707.225379: tracing_mark_write: E|593
17783  composer@2.1-s-593   (  593) [000] ...1 1034707.225427: tracing_mark_write: E|593
17784  surfaceflinger-591   (  591) [001] ...1 1034707.225542: tracing_mark_write: E|591
17785  sensors@1.0-se-778   (  778) [007] ...1 1034707.239983: tracing_mark_write: E|778
17786   SensorService-1283  ( 1151) [003] ...1 1034707.240160: tracing_mark_write: E|1151
17787   SensorService-1283  ( 1151) [003] ...1 1034707.240293: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17788  HwBinder:778_1-1087  (  778) [000] ...1 1034707.240445: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17789  surfaceflinger-591   (  591) [000] ...1 1034707.257964: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17790  composer@2.1-s-593   (  593) [001] ...1 1034707.258140: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17791  composer@2.1-s-593   (  593) [001] ...1 1034707.258227: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17792  composer@2.1-s-593   (  593) [001] ...1 1034707.258253: tracing_mark_write: B|593|HWDevice::Commit::
17793  composer@2.1-s-593   (  593) [001] ...1 1034707.258388: tracing_mark_write: E|593
17794  composer@2.1-s-593   (  593) [001] ...1 1034707.258421: tracing_mark_write: E|593
17795  composer@2.1-s-593   (  593) [001] ...1 1034707.258458: tracing_mark_write: E|593
17796  surfaceflinger-591   (  591) [000] ...1 1034707.258543: tracing_mark_write: E|591
17797  HwBinder:778_1-1087  (  778) [000] ...1 1034707.258929: tracing_mark_write: E|778
17798   SensorService-1283  ( 1151) [003] ...1 1034707.259012: tracing_mark_write: E|1151
17799   SensorService-1283  ( 1151) [003] ...1 1034707.259111: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17800  HwBinder:778_1-1087  (  778) [000] ...1 1034707.259161: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17801  HwBinder:778_1-1087  (  778) [001] ...1 1034707.278217: tracing_mark_write: E|778
17802   SensorService-1283  ( 1151) [003] ...1 1034707.278377: tracing_mark_write: E|1151
17803   SensorService-1283  ( 1151) [003] ...1 1034707.278517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17804  HwBinder:778_1-1087  (  778) [001] ...1 1034707.278612: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17805  HwBinder:778_1-1087  (  778) [000] ...1 1034707.297476: tracing_mark_write: E|778
17806   SensorService-1283  ( 1151) [003] ...1 1034707.297628: tracing_mark_write: E|1151
17807   SensorService-1283  ( 1151) [003] ...1 1034707.297764: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17808  HwBinder:778_1-1087  (  778) [000] ...1 1034707.297848: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17809  surfaceflinger-591   (  591) [001] ...1 1034707.308390: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17810  composer@2.1-s-593   (  593) [000] ...1 1034707.308609: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17811  composer@2.1-s-593   (  593) [000] ...1 1034707.308715: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17812  composer@2.1-s-593   (  593) [000] ...1 1034707.308747: tracing_mark_write: B|593|HWDevice::Commit::
17813  composer@2.1-s-593   (  593) [000] ...1 1034707.308918: tracing_mark_write: E|593
17814  composer@2.1-s-593   (  593) [000] ...1 1034707.308958: tracing_mark_write: E|593
17815  composer@2.1-s-593   (  593) [000] ...1 1034707.309003: tracing_mark_write: E|593
17816  surfaceflinger-591   (  591) [001] ...1 1034707.309110: tracing_mark_write: E|591
17817  HwBinder:778_1-1087  (  778) [000] ...1 1034707.316842: tracing_mark_write: E|778
17818   SensorService-1283  ( 1151) [003] ...1 1034707.317016: tracing_mark_write: E|1151
17819   SensorService-1283  ( 1151) [003] ...1 1034707.317166: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17820  HwBinder:778_1-1087  (  778) [000] ...1 1034707.317268: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17821  HwBinder:778_1-1087  (  778) [000] ...1 1034707.336431: tracing_mark_write: E|778
17822   SensorService-1283  ( 1151) [003] ...1 1034707.336767: tracing_mark_write: E|1151
17823   SensorService-1283  ( 1151) [003] ...1 1034707.336982: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17824  HwBinder:778_1-1087  (  778) [000] ...1 1034707.337149: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17825  surfaceflinger-591   (  591) [000] ...1 1034707.342154: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17826  composer@2.1-s-593   (  593) [001] ...1 1034707.342436: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17827  composer@2.1-s-593   (  593) [001] ...1 1034707.342562: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17828  composer@2.1-s-593   (  593) [001] ...1 1034707.342599: tracing_mark_write: B|593|HWDevice::Commit::
17829  composer@2.1-s-593   (  593) [001] ...1 1034707.342801: tracing_mark_write: E|593
17830  composer@2.1-s-593   (  593) [001] ...1 1034707.342850: tracing_mark_write: E|593
17831  composer@2.1-s-593   (  593) [001] ...1 1034707.342907: tracing_mark_write: E|593
17832  surfaceflinger-591   (  591) [000] ...1 1034707.343078: tracing_mark_write: E|591
17833  HwBinder:778_1-1087  (  778) [000] ...1 1034707.355169: tracing_mark_write: E|778
17834   SensorService-1283  ( 1151) [003] ...1 1034707.355350: tracing_mark_write: E|1151
17835   SensorService-1283  ( 1151) [003] ...1 1034707.355511: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17836  HwBinder:778_1-1087  (  778) [000] ...1 1034707.355610: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17837  HwBinder:778_1-1087  (  778) [000] ...1 1034707.374418: tracing_mark_write: E|778
17838   SensorService-1283  ( 1151) [003] ...1 1034707.374593: tracing_mark_write: E|1151
17839   SensorService-1283  ( 1151) [003] ...1 1034707.374725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17840  HwBinder:778_1-1087  (  778) [000] ...1 1034707.374849: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17841  surfaceflinger-591   (  591) [000] ...1 1034707.392203: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17842  composer@2.1-s-593   (  593) [001] ...1 1034707.392402: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17843  composer@2.1-s-593   (  593) [001] ...1 1034707.392506: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17844  composer@2.1-s-593   (  593) [001] ...1 1034707.392538: tracing_mark_write: B|593|HWDevice::Commit::
17845  composer@2.1-s-593   (  593) [001] ...1 1034707.392701: tracing_mark_write: E|593
17846  composer@2.1-s-593   (  593) [001] ...1 1034707.392741: tracing_mark_write: E|593
17847  composer@2.1-s-593   (  593) [001] ...1 1034707.392788: tracing_mark_write: E|593
17848  surfaceflinger-591   (  591) [000] ...1 1034707.392902: tracing_mark_write: E|591
17849  HwBinder:778_1-1087  (  778) [000] ...1 1034707.393588: tracing_mark_write: E|778
17850   SensorService-1283  ( 1151) [003] ...1 1034707.393686: tracing_mark_write: E|1151
17851   SensorService-1283  ( 1151) [003] ...1 1034707.393798: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17852  HwBinder:778_1-1087  (  778) [000] ...1 1034707.393872: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17853  HwBinder:778_1-1087  (  778) [000] ...1 1034707.412918: tracing_mark_write: E|778
17854   SensorService-1283  ( 1151) [003] ...1 1034707.413055: tracing_mark_write: E|1151
17855   SensorService-1283  ( 1151) [003] ...1 1034707.413188: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17856  HwBinder:778_1-1087  (  778) [000] ...1 1034707.413375: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17857  surfaceflinger-591   (  591) [000] ...1 1034707.426135: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17858  composer@2.1-s-593   (  593) [001] ...1 1034707.426410: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17859  composer@2.1-s-593   (  593) [001] ...1 1034707.426644: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17860  composer@2.1-s-593   (  593) [001] ...1 1034707.426695: tracing_mark_write: B|593|HWDevice::Commit::
17861  composer@2.1-s-593   (  593) [001] ...1 1034707.426981: tracing_mark_write: E|593
17862  composer@2.1-s-593   (  593) [001] ...1 1034707.427050: tracing_mark_write: E|593
17863  composer@2.1-s-593   (  593) [001] ...1 1034707.427131: tracing_mark_write: E|593
17864  surfaceflinger-591   (  591) [000] ...1 1034707.427331: tracing_mark_write: E|591
17865  HwBinder:778_1-1087  (  778) [000] ...1 1034707.432410: tracing_mark_write: E|778
17866   SensorService-1283  ( 1151) [003] ...1 1034707.432561: tracing_mark_write: E|1151
17867   SensorService-1283  ( 1151) [003] ...1 1034707.432721: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17868  HwBinder:778_1-1087  (  778) [000] ...1 1034707.432871: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17869  HwBinder:778_1-1087  (  778) [002] ...1 1034707.451497: tracing_mark_write: E|778
17870   SensorService-1283  ( 1151) [003] ...1 1034707.451633: tracing_mark_write: E|1151
17871   SensorService-1283  ( 1151) [003] ...1 1034707.451766: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17872  HwBinder:778_1-1087  (  778) [002] ...1 1034707.451908: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17873  HwBinder:778_1-1087  (  778) [000] ...1 1034707.470694: tracing_mark_write: E|778
17874   SensorService-1283  ( 1151) [003] ...1 1034707.470811: tracing_mark_write: E|1151
17875   SensorService-1283  ( 1151) [003] ...1 1034707.470923: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17876  HwBinder:778_1-1087  (  778) [000] ...1 1034707.471017: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17877  surfaceflinger-591   (  591) [000] ...1 1034707.476273: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17878  composer@2.1-s-593   (  593) [001] ...1 1034707.476482: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17879  composer@2.1-s-593   (  593) [001] ...1 1034707.476661: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17880  composer@2.1-s-593   (  593) [001] ...1 1034707.476699: tracing_mark_write: B|593|HWDevice::Commit::
17881  composer@2.1-s-593   (  593) [001] ...1 1034707.476899: tracing_mark_write: E|593
17882  composer@2.1-s-593   (  593) [001] ...1 1034707.476949: tracing_mark_write: E|593
17883  composer@2.1-s-593   (  593) [001] ...1 1034707.477006: tracing_mark_write: E|593
17884  surfaceflinger-591   (  591) [000] ...1 1034707.477141: tracing_mark_write: E|591
17885  HwBinder:778_1-1087  (  778) [000] ...1 1034707.490146: tracing_mark_write: E|778
17886   SensorService-1283  ( 1151) [003] ...1 1034707.490305: tracing_mark_write: E|1151
17887   SensorService-1283  ( 1151) [003] ...1 1034707.490460: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17888  HwBinder:778_1-1087  (  778) [000] ...1 1034707.490610: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17889  surfaceflinger-591   (  591) [000] ...1 1034707.510133: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17890  composer@2.1-s-593   (  593) [001] ...1 1034707.510439: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17891  composer@2.1-s-593   (  593) [001] ...1 1034707.510597: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17892  composer@2.1-s-593   (  593) [001] ...1 1034707.510645: tracing_mark_write: B|593|HWDevice::Commit::
17893  composer@2.1-s-593   (  593) [001] ...1 1034707.510921: tracing_mark_write: E|593
17894  composer@2.1-s-593   (  593) [001] ...1 1034707.510997: tracing_mark_write: E|593
17895  HwBinder:778_1-1087  (  778) [004] ...1 1034707.511046: tracing_mark_write: E|778
17896  composer@2.1-s-593   (  593) [001] ...1 1034707.511087: tracing_mark_write: E|593
17897   SensorService-1283  ( 1151) [003] ...1 1034707.511251: tracing_mark_write: E|1151
17898  surfaceflinger-591   (  591) [000] ...1 1034707.511298: tracing_mark_write: E|591
17899   SensorService-1283  ( 1151) [003] ...1 1034707.511435: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17900  HwBinder:778_1-1087  (  778) [004] ...1 1034707.511564: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17901  HwBinder:778_1-1087  (  778) [001] ...1 1034707.528522: tracing_mark_write: E|778
17902   SensorService-1283  ( 1151) [003] ...1 1034707.528627: tracing_mark_write: E|1151
17903   SensorService-1283  ( 1151) [003] ...1 1034707.528719: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17904  HwBinder:778_1-1087  (  778) [001] ...1 1034707.528792: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17905  HwBinder:778_1-1087  (  778) [000] ...1 1034707.547941: tracing_mark_write: E|778
17906   SensorService-1283  ( 1151) [003] ...1 1034707.548084: tracing_mark_write: E|1151
17907   SensorService-1283  ( 1151) [003] ...1 1034707.548207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17908  HwBinder:778_1-1087  (  778) [000] ...1 1034707.548294: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17909  surfaceflinger-591   (  591) [000] ...1 1034707.559994: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17910  composer@2.1-s-593   (  593) [001] ...1 1034707.560155: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17911  composer@2.1-s-593   (  593) [001] ...1 1034707.560242: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17912  composer@2.1-s-593   (  593) [001] ...1 1034707.560268: tracing_mark_write: B|593|HWDevice::Commit::
17913  composer@2.1-s-593   (  593) [001] ...1 1034707.560416: tracing_mark_write: E|593
17914  composer@2.1-s-593   (  593) [001] ...1 1034707.560450: tracing_mark_write: E|593
17915  composer@2.1-s-593   (  593) [001] ...1 1034707.560490: tracing_mark_write: E|593
17916  surfaceflinger-591   (  591) [000] ...1 1034707.560585: tracing_mark_write: E|591
17917  HwBinder:778_1-1087  (  778) [000] ...1 1034707.567241: tracing_mark_write: E|778
17918   SensorService-1283  ( 1151) [003] ...1 1034707.567400: tracing_mark_write: E|1151
17919   SensorService-1283  ( 1151) [003] ...1 1034707.567527: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17920  HwBinder:778_1-1087  (  778) [000] ...1 1034707.567602: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17921  HwBinder:778_1-1087  (  778) [001] ...1 1034707.586637: tracing_mark_write: E|778
17922   SensorService-1283  ( 1151) [003] ...1 1034707.586769: tracing_mark_write: E|1151
17923   SensorService-1283  ( 1151) [003] ...1 1034707.586882: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17924  HwBinder:778_1-1087  (  778) [001] ...1 1034707.586964: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17925  surfaceflinger-591   (  591) [002] ...1 1034707.593933: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17926  composer@2.1-s-593   (  593) [001] ...1 1034707.594203: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17927  composer@2.1-s-593   (  593) [001] ...1 1034707.594341: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17928  composer@2.1-s-593   (  593) [001] ...1 1034707.594380: tracing_mark_write: B|593|HWDevice::Commit::
17929  composer@2.1-s-593   (  593) [001] ...1 1034707.594601: tracing_mark_write: E|593
17930  composer@2.1-s-593   (  593) [001] ...1 1034707.594655: tracing_mark_write: E|593
17931  composer@2.1-s-593   (  593) [001] ...1 1034707.594718: tracing_mark_write: E|593
17932  surfaceflinger-591   (  591) [000] ...1 1034707.594917: tracing_mark_write: E|591
17933  HwBinder:778_1-1087  (  778) [000] ...1 1034707.605776: tracing_mark_write: E|778
17934   SensorService-1283  ( 1151) [003] ...1 1034707.605925: tracing_mark_write: E|1151
17935   SensorService-1283  ( 1151) [003] ...1 1034707.606069: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17936  HwBinder:778_1-1087  (  778) [000] ...1 1034707.606181: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17937  HwBinder:778_1-1087  (  778) [002] ...1 1034707.624913: tracing_mark_write: E|778
17938   SensorService-1283  ( 1151) [003] ...1 1034707.625039: tracing_mark_write: E|1151
17939   SensorService-1283  ( 1151) [003] ...1 1034707.625147: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17940  HwBinder:778_1-1087  (  778) [002] ...1 1034707.625230: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17941  surfaceflinger-591   (  591) [000] ...1 1034707.643949: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17942  composer@2.1-s-593   (  593) [001] ...1 1034707.644151: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17943  composer@2.1-s-593   (  593) [001] ...1 1034707.644243: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17944  composer@2.1-s-593   (  593) [001] ...1 1034707.644271: tracing_mark_write: B|593|HWDevice::Commit::
17945  composer@2.1-s-593   (  593) [001] ...1 1034707.644471: tracing_mark_write: E|593
17946  composer@2.1-s-593   (  593) [001] ...1 1034707.644509: tracing_mark_write: E|593
17947  composer@2.1-s-593   (  593) [001] ...1 1034707.644552: tracing_mark_write: E|593
17948  surfaceflinger-591   (  591) [000] ...1 1034707.644678: tracing_mark_write: E|591
17949  HwBinder:778_1-1087  (  778) [001] ...1 1034707.647030: tracing_mark_write: E|778
17950   SensorService-1283  ( 1151) [003] ...1 1034707.647129: tracing_mark_write: E|1151
17951   SensorService-1283  ( 1151) [003] ...1 1034707.647240: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17952  HwBinder:778_1-1087  (  778) [001] ...1 1034707.647321: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17953  HwBinder:778_1-1087  (  778) [000] ...1 1034707.663487: tracing_mark_write: E|778
17954   SensorService-1283  ( 1151) [003] ...1 1034707.663646: tracing_mark_write: E|1151
17955   SensorService-1283  ( 1151) [003] ...1 1034707.663786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17956  HwBinder:778_1-1087  (  778) [000] ...1 1034707.663881: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17957  surfaceflinger-591   (  591) [001] ...1 1034707.677773: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17958  composer@2.1-s-593   (  593) [000] ...1 1034707.678035: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17959  composer@2.1-s-593   (  593) [000] ...1 1034707.678163: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17960  composer@2.1-s-593   (  593) [000] ...1 1034707.678199: tracing_mark_write: B|593|HWDevice::Commit::
17961  composer@2.1-s-593   (  593) [000] ...1 1034707.678392: tracing_mark_write: E|593
17962  composer@2.1-s-593   (  593) [000] ...1 1034707.678438: tracing_mark_write: E|593
17963  composer@2.1-s-593   (  593) [000] ...1 1034707.678495: tracing_mark_write: E|593
17964  surfaceflinger-591   (  591) [001] ...1 1034707.678631: tracing_mark_write: E|591
17965  HwBinder:778_1-1087  (  778) [000] ...1 1034707.684610: tracing_mark_write: E|778
17966   SensorService-1283  ( 1151) [003] ...1 1034707.684788: tracing_mark_write: E|1151
17967   SensorService-1283  ( 1151) [003] ...1 1034707.684931: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17968  HwBinder:778_1-1087  (  778) [000] ...1 1034707.685026: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17969  HwBinder:778_1-1087  (  778) [000] ...1 1034707.701955: tracing_mark_write: E|778
17970   SensorService-1283  ( 1151) [003] ...1 1034707.702106: tracing_mark_write: E|1151
17971   SensorService-1283  ( 1151) [003] ...1 1034707.702229: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17972  HwBinder:778_1-1087  (  778) [000] ...1 1034707.702317: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17973  HwBinder:778_1-1087  (  778) [000] ...1 1034707.721296: tracing_mark_write: E|778
17974   SensorService-1283  ( 1151) [003] ...1 1034707.721485: tracing_mark_write: E|1151
17975   SensorService-1283  ( 1151) [003] ...1 1034707.721645: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17976  HwBinder:778_1-1087  (  778) [000] ...1 1034707.721751: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17977  surfaceflinger-591   (  591) [000] ...1 1034707.728018: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17978  composer@2.1-s-593   (  593) [001] ...1 1034707.728282: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17979  composer@2.1-s-593   (  593) [001] ...1 1034707.728412: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17980  composer@2.1-s-593   (  593) [001] ...1 1034707.728449: tracing_mark_write: B|593|HWDevice::Commit::
17981  composer@2.1-s-593   (  593) [001] ...1 1034707.728652: tracing_mark_write: E|593
17982  composer@2.1-s-593   (  593) [001] ...1 1034707.728702: tracing_mark_write: E|593
17983  composer@2.1-s-593   (  593) [001] ...1 1034707.728758: tracing_mark_write: E|593
17984  surfaceflinger-591   (  591) [000] ...1 1034707.728888: tracing_mark_write: E|591
17985  HwBinder:778_1-1087  (  778) [001] ...1 1034707.740516: tracing_mark_write: E|778
17986   SensorService-1283  ( 1151) [003] ...1 1034707.740721: tracing_mark_write: E|1151
17987   SensorService-1283  ( 1151) [003] ...1 1034707.740887: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17988  HwBinder:778_1-1087  (  778) [001] ...1 1034707.741001: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17989  HwBinder:778_1-1087  (  778) [000] ...1 1034707.760249: tracing_mark_write: E|778
17990   SensorService-1283  ( 1151) [003] ...1 1034707.760559: tracing_mark_write: E|1151
17991   SensorService-1283  ( 1151) [003] ...1 1034707.760828: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
17992  HwBinder:778_1-1087  (  778) [002] ...1 1034707.760953: tracing_mark_write: B|778|HIDL::ISensors::poll::server
17993  surfaceflinger-591   (  591) [000] ...1 1034707.778472: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
17994  composer@2.1-s-593   (  593) [001] ...1 1034707.778780: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
17995  composer@2.1-s-593   (  593) [001] ...1 1034707.778914: tracing_mark_write: B|593|HWCSession::PresentDisplay::
17996  composer@2.1-s-593   (  593) [001] ...1 1034707.778953: tracing_mark_write: B|593|HWDevice::Commit::
17997  HwBinder:778_1-1087  (  778) [002] ...1 1034707.779058: tracing_mark_write: E|778
17998  composer@2.1-s-593   (  593) [001] ...1 1034707.779159: tracing_mark_write: E|593
17999   SensorService-1283  ( 1151) [003] ...1 1034707.779205: tracing_mark_write: E|1151
18000  composer@2.1-s-593   (  593) [001] ...1 1034707.779214: tracing_mark_write: E|593
18001  composer@2.1-s-593   (  593) [001] ...1 1034707.779268: tracing_mark_write: E|593
18002   SensorService-1283  ( 1151) [003] ...1 1034707.779347: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18003  surfaceflinger-591   (  591) [000] ...1 1034707.779394: tracing_mark_write: E|591
18004  sensors@1.0-se-778   (  778) [007] ...1 1034707.779584: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18005  sensors@1.0-se-778   (  778) [004] ...1 1034707.798096: tracing_mark_write: E|778
18006   SensorService-1283  ( 1151) [003] ...1 1034707.798267: tracing_mark_write: E|1151
18007   SensorService-1283  ( 1151) [003] ...1 1034707.798407: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18008  sensors@1.0-se-778   (  778) [004] ...1 1034707.798538: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18009  surfaceflinger-591   (  591) [000] ...1 1034707.811828: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18010  composer@2.1-s-593   (  593) [001] ...1 1034707.812038: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18011  composer@2.1-s-593   (  593) [001] ...1 1034707.812153: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18012  composer@2.1-s-593   (  593) [001] ...1 1034707.812187: tracing_mark_write: B|593|HWDevice::Commit::
18013  composer@2.1-s-593   (  593) [001] ...1 1034707.812351: tracing_mark_write: E|593
18014  composer@2.1-s-593   (  593) [001] ...1 1034707.812393: tracing_mark_write: E|593
18015  composer@2.1-s-593   (  593) [001] ...1 1034707.812439: tracing_mark_write: E|593
18016  surfaceflinger-591   (  591) [000] ...1 1034707.812550: tracing_mark_write: E|591
18017  sensors@1.0-se-778   (  778) [004] ...1 1034707.817477: tracing_mark_write: E|778
18018   SensorService-1283  ( 1151) [003] ...1 1034707.817644: tracing_mark_write: E|1151
18019   SensorService-1283  ( 1151) [003] ...1 1034707.817786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18020  sensors@1.0-se-778   (  778) [004] ...1 1034707.817946: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18021  sensors@1.0-se-778   (  778) [004] ...1 1034707.836651: tracing_mark_write: E|778
18022   SensorService-1283  ( 1151) [003] ...1 1034707.836826: tracing_mark_write: E|1151
18023   SensorService-1283  ( 1151) [003] ...1 1034707.836957: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18024  sensors@1.0-se-778   (  778) [004] ...1 1034707.837123: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18025  sensors@1.0-se-778   (  778) [004] ...1 1034707.855833: tracing_mark_write: E|778
18026   SensorService-1283  ( 1151) [003] ...1 1034707.856000: tracing_mark_write: E|1151
18027   SensorService-1283  ( 1151) [003] ...1 1034707.856140: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18028  sensors@1.0-se-778   (  778) [004] ...1 1034707.856296: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18029  surfaceflinger-591   (  591) [003] ...1 1034707.862450: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18030  composer@2.1-s-593   (  593) [001] ...1 1034707.862729: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18031  composer@2.1-s-593   (  593) [001] ...1 1034707.862864: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18032  composer@2.1-s-593   (  593) [001] ...1 1034707.862900: tracing_mark_write: B|593|HWDevice::Commit::
18033  composer@2.1-s-593   (  593) [001] ...1 1034707.863097: tracing_mark_write: E|593
18034  composer@2.1-s-593   (  593) [001] ...1 1034707.863146: tracing_mark_write: E|593
18035  composer@2.1-s-593   (  593) [001] ...1 1034707.863255: tracing_mark_write: E|593
18036  surfaceflinger-591   (  591) [003] ...1 1034707.863405: tracing_mark_write: E|591
18037  sensors@1.0-se-778   (  778) [004] ...1 1034707.875406: tracing_mark_write: E|778
18038   SensorService-1283  ( 1151) [003] ...1 1034707.875611: tracing_mark_write: E|1151
18039   SensorService-1283  ( 1151) [003] ...1 1034707.875793: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18040  sensors@1.0-se-778   (  778) [004] ...1 1034707.875969: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18041  sensors@1.0-se-778   (  778) [004] ...1 1034707.894444: tracing_mark_write: E|778
18042   SensorService-1283  ( 1151) [003] ...1 1034707.894626: tracing_mark_write: E|1151
18043   SensorService-1283  ( 1151) [003] ...1 1034707.894785: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18044  sensors@1.0-se-778   (  778) [004] ...1 1034707.894950: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18045  surfaceflinger-591   (  591) [000] ...1 1034707.895865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18046  composer@2.1-s-593   (  593) [001] ...1 1034707.896095: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18047  composer@2.1-s-593   (  593) [001] ...1 1034707.896237: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18048  composer@2.1-s-593   (  593) [001] ...1 1034707.896277: tracing_mark_write: B|593|HWDevice::Commit::
18049  composer@2.1-s-593   (  593) [001] ...1 1034707.896498: tracing_mark_write: E|593
18050  composer@2.1-s-593   (  593) [001] ...1 1034707.896599: tracing_mark_write: E|593
18051  composer@2.1-s-593   (  593) [001] ...1 1034707.896659: tracing_mark_write: E|593
18052  surfaceflinger-591   (  591) [000] ...1 1034707.896795: tracing_mark_write: E|591
18053  sensors@1.0-se-778   (  778) [004] ...1 1034707.913839: tracing_mark_write: E|778
18054   SensorService-1283  ( 1151) [003] ...1 1034707.914023: tracing_mark_write: E|1151
18055   SensorService-1283  ( 1151) [003] ...1 1034707.914162: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18056  sensors@1.0-se-778   (  778) [004] ...1 1034707.914331: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18057  sensors@1.0-se-778   (  778) [004] ...1 1034707.933328: tracing_mark_write: E|778
18058   SensorService-1283  ( 1151) [003] ...1 1034707.933503: tracing_mark_write: E|1151
18059   SensorService-1283  ( 1151) [003] ...1 1034707.933667: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18060  sensors@1.0-se-778   (  778) [004] ...1 1034707.933833: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18061  surfaceflinger-591   (  591) [000] ...1 1034707.946306: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18062  composer@2.1-s-593   (  593) [001] ...1 1034707.946626: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18063  composer@2.1-s-593   (  593) [001] ...1 1034707.946756: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18064  composer@2.1-s-593   (  593) [001] ...1 1034707.946791: tracing_mark_write: B|593|HWDevice::Commit::
18065  composer@2.1-s-593   (  593) [001] ...1 1034707.946988: tracing_mark_write: E|593
18066  composer@2.1-s-593   (  593) [001] ...1 1034707.947041: tracing_mark_write: E|593
18067  composer@2.1-s-593   (  593) [001] ...1 1034707.947104: tracing_mark_write: E|593
18068  surfaceflinger-591   (  591) [000] ...1 1034707.947250: tracing_mark_write: E|591
18069  sensors@1.0-se-778   (  778) [004] ...1 1034707.952335: tracing_mark_write: E|778
18070   SensorService-1283  ( 1151) [003] ...1 1034707.952493: tracing_mark_write: E|1151
18071   SensorService-1283  ( 1151) [003] ...1 1034707.952646: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18072  sensors@1.0-se-778   (  778) [004] ...1 1034707.952790: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18073  sensors@1.0-se-778   (  778) [004] ...1 1034707.974634: tracing_mark_write: E|778
18074   SensorService-1283  ( 1151) [003] ...1 1034707.974895: tracing_mark_write: E|1151
18075   SensorService-1283  ( 1151) [003] ...1 1034707.975145: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18076  sensors@1.0-se-778   (  778) [004] ...1 1034707.975313: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18077  surfaceflinger-591   (  591) [003] ...1 1034707.979722: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18078  composer@2.1-s-593   (  593) [001] ...1 1034707.980001: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18079  composer@2.1-s-593   (  593) [001] ...1 1034707.980128: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18080  composer@2.1-s-593   (  593) [001] ...1 1034707.980164: tracing_mark_write: B|593|HWDevice::Commit::
18081  composer@2.1-s-593   (  593) [001] ...1 1034707.980363: tracing_mark_write: E|593
18082  composer@2.1-s-593   (  593) [001] ...1 1034707.980411: tracing_mark_write: E|593
18083  composer@2.1-s-593   (  593) [001] ...1 1034707.980463: tracing_mark_write: E|593
18084  surfaceflinger-591   (  591) [003] ...1 1034707.980600: tracing_mark_write: E|591
18085  sensors@1.0-se-778   (  778) [004] ...1 1034707.990728: tracing_mark_write: E|778
18086   SensorService-1283  ( 1151) [003] ...1 1034707.990910: tracing_mark_write: E|1151
18087   SensorService-1283  ( 1151) [003] ...1 1034707.991097: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18088  sensors@1.0-se-778   (  778) [004] ...1 1034707.991249: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18089  sensors@1.0-se-778   (  778) [004] ...1 1034708.010157: tracing_mark_write: E|778
18090   SensorService-1283  ( 1151) [003] ...1 1034708.010354: tracing_mark_write: E|1151
18091   SensorService-1283  ( 1151) [003] ...1 1034708.010536: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18092  sensors@1.0-se-778   (  778) [004] ...1 1034708.010717: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18093  surfaceflinger-591   (  591) [002] ...1 1034708.030384: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18094  composer@2.1-s-593   (  593) [001] ...1 1034708.030704: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18095  composer@2.1-s-593   (  593) [001] ...1 1034708.030857: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18096  sensors@1.0-se-778   (  778) [004] ...1 1034708.030876: tracing_mark_write: E|778
18097  composer@2.1-s-593   (  593) [001] ...1 1034708.030904: tracing_mark_write: B|593|HWDevice::Commit::
18098   SensorService-1283  ( 1151) [003] ...1 1034708.031035: tracing_mark_write: E|1151
18099  composer@2.1-s-593   (  593) [001] ...1 1034708.031153: tracing_mark_write: E|593
18100   SensorService-1283  ( 1151) [003] ...1 1034708.031185: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18101  composer@2.1-s-593   (  593) [001] ...1 1034708.031214: tracing_mark_write: E|593
18102  composer@2.1-s-593   (  593) [001] ...1 1034708.031285: tracing_mark_write: E|593
18103  sensors@1.0-se-778   (  778) [004] ...1 1034708.031325: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18104  surfaceflinger-591   (  591) [000] ...1 1034708.031449: tracing_mark_write: E|591
18105  sensors@1.0-se-778   (  778) [004] ...1 1034708.048481: tracing_mark_write: E|778
18106   SensorService-1283  ( 1151) [003] ...1 1034708.048657: tracing_mark_write: E|1151
18107   SensorService-1283  ( 1151) [003] ...1 1034708.048792: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18108  sensors@1.0-se-778   (  778) [004] ...1 1034708.048963: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18109  sensors@1.0-se-778   (  778) [004] ...1 1034708.067832: tracing_mark_write: E|778
18110   SensorService-1283  ( 1151) [003] ...1 1034708.068008: tracing_mark_write: E|1151
18111   SensorService-1283  ( 1151) [003] ...1 1034708.068186: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18112  sensors@1.0-se-778   (  778) [004] ...1 1034708.068343: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18113  surfaceflinger-591   (  591) [000] ...1 1034708.080914: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18114  composer@2.1-s-593   (  593) [001] ...1 1034708.081261: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18115  composer@2.1-s-593   (  593) [001] ...1 1034708.081452: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18116  composer@2.1-s-593   (  593) [001] ...1 1034708.081506: tracing_mark_write: B|593|HWDevice::Commit::
18117  composer@2.1-s-593   (  593) [001] ...1 1034708.081820: tracing_mark_write: E|593
18118  composer@2.1-s-593   (  593) [001] ...1 1034708.081893: tracing_mark_write: E|593
18119  composer@2.1-s-593   (  593) [001] ...1 1034708.081970: tracing_mark_write: E|593
18120  surfaceflinger-591   (  591) [000] ...1 1034708.082169: tracing_mark_write: E|591
18121  sensors@1.0-se-778   (  778) [004] ...1 1034708.087717: tracing_mark_write: E|778
18122   SensorService-1283  ( 1151) [003] ...1 1034708.087902: tracing_mark_write: E|1151
18123   SensorService-1283  ( 1151) [003] ...1 1034708.088091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18124  sensors@1.0-se-778   (  778) [004] ...1 1034708.088252: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18125  sensors@1.0-se-778   (  778) [004] ...1 1034708.106725: tracing_mark_write: E|778
18126   SensorService-1283  ( 1151) [003] ...1 1034708.107066: tracing_mark_write: E|1151
18127   SensorService-1283  ( 1151) [003] ...1 1034708.107440: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18128  sensors@1.0-se-778   (  778) [004] ...1 1034708.107685: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18129  surfaceflinger-591   (  591) [001] ...1 1034708.114686: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18130  composer@2.1-s-593   (  593) [000] ...1 1034708.115100: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18131  composer@2.1-s-593   (  593) [000] ...1 1034708.115318: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18132  composer@2.1-s-593   (  593) [000] ...1 1034708.115384: tracing_mark_write: B|593|HWDevice::Commit::
18133  composer@2.1-s-593   (  593) [000] ...1 1034708.115725: tracing_mark_write: E|593
18134  composer@2.1-s-593   (  593) [000] ...1 1034708.115813: tracing_mark_write: E|593
18135  composer@2.1-s-593   (  593) [000] ...1 1034708.115905: tracing_mark_write: E|593
18136  surfaceflinger-591   (  591) [001] ...1 1034708.116151: tracing_mark_write: E|591
18137  sensors@1.0-se-778   (  778) [004] ...1 1034708.125811: tracing_mark_write: E|778
18138   SensorService-1283  ( 1151) [003] ...1 1034708.126016: tracing_mark_write: E|1151
18139   SensorService-1283  ( 1151) [003] ...1 1034708.126234: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18140  sensors@1.0-se-778   (  778) [004] ...1 1034708.126421: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18141  sensors@1.0-se-778   (  778) [004] ...1 1034708.145266: tracing_mark_write: E|778
18142   SensorService-1283  ( 1151) [003] ...1 1034708.145470: tracing_mark_write: E|1151
18143   SensorService-1283  ( 1151) [003] ...1 1034708.145697: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18144  sensors@1.0-se-778   (  778) [004] ...1 1034708.145920: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18145  sensors@1.0-se-778   (  778) [004] ...1 1034708.163995: tracing_mark_write: E|778
18146   SensorService-1283  ( 1151) [003] ...1 1034708.164205: tracing_mark_write: E|1151
18147   SensorService-1283  ( 1151) [003] ...1 1034708.164438: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18148  sensors@1.0-se-778   (  778) [004] ...1 1034708.164635: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18149  surfaceflinger-591   (  591) [001] ...1 1034708.164799: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18150  composer@2.1-s-593   (  593) [000] ...1 1034708.165138: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18151  composer@2.1-s-593   (  593) [000] ...1 1034708.165342: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18152  composer@2.1-s-593   (  593) [000] ...1 1034708.165404: tracing_mark_write: B|593|HWDevice::Commit::
18153  composer@2.1-s-593   (  593) [000] ...1 1034708.165722: tracing_mark_write: E|593
18154  composer@2.1-s-593   (  593) [000] ...1 1034708.165799: tracing_mark_write: E|593
18155  composer@2.1-s-593   (  593) [000] ...1 1034708.165884: tracing_mark_write: E|593
18156  surfaceflinger-591   (  591) [001] ...1 1034708.166096: tracing_mark_write: E|591
18157  sensors@1.0-se-778   (  778) [004] ...1 1034708.183528: tracing_mark_write: E|778
18158   SensorService-1283  ( 1151) [003] ...1 1034708.183772: tracing_mark_write: E|1151
18159   SensorService-1283  ( 1151) [003] ...1 1034708.183994: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18160  sensors@1.0-se-778   (  778) [004] ...1 1034708.184205: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18161  surfaceflinger-591   (  591) [002] ...1 1034708.198696: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18162  composer@2.1-s-593   (  593) [000] ...1 1034708.199091: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18163  composer@2.1-s-593   (  593) [000] ...1 1034708.199307: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18164  composer@2.1-s-593   (  593) [000] ...1 1034708.199371: tracing_mark_write: B|593|HWDevice::Commit::
18165  composer@2.1-s-593   (  593) [000] ...1 1034708.199725: tracing_mark_write: E|593
18166  composer@2.1-s-593   (  593) [000] ...1 1034708.199808: tracing_mark_write: E|593
18167  composer@2.1-s-593   (  593) [000] ...1 1034708.199983: tracing_mark_write: E|593
18168  surfaceflinger-591   (  591) [001] ...1 1034708.200244: tracing_mark_write: E|591
18169  sensors@1.0-se-778   (  778) [006] ...1 1034708.203474: tracing_mark_write: E|778
18170   SensorService-1283  ( 1151) [003] ...1 1034708.203706: tracing_mark_write: E|1151
18171   SensorService-1283  ( 1151) [003] ...1 1034708.203937: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18172  sensors@1.0-se-778   (  778) [006] ...1 1034708.204133: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18173  sensors@1.0-se-778   (  778) [006] ...1 1034708.221864: tracing_mark_write: E|778
18174   SensorService-1283  ( 1151) [003] ...1 1034708.222042: tracing_mark_write: E|1151
18175   SensorService-1283  ( 1151) [003] ...1 1034708.222183: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18176  sensors@1.0-se-778   (  778) [006] ...1 1034708.222360: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18177  sensors@1.0-se-778   (  778) [006] ...1 1034708.241220: tracing_mark_write: E|778
18178   SensorService-1283  ( 1151) [003] ...1 1034708.241461: tracing_mark_write: E|1151
18179   SensorService-1283  ( 1151) [003] ...1 1034708.241690: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18180  sensors@1.0-se-778   (  778) [006] ...1 1034708.241889: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18181  surfaceflinger-591   (  591) [002] ...1 1034708.248684: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18182  composer@2.1-s-593   (  593) [000] ...1 1034708.248991: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18183  composer@2.1-s-593   (  593) [000] ...1 1034708.249172: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18184  composer@2.1-s-593   (  593) [000] ...1 1034708.249225: tracing_mark_write: B|593|HWDevice::Commit::
18185  composer@2.1-s-593   (  593) [000] ...1 1034708.249522: tracing_mark_write: E|593
18186  composer@2.1-s-593   (  593) [000] ...1 1034708.249595: tracing_mark_write: E|593
18187  composer@2.1-s-593   (  593) [000] ...1 1034708.249678: tracing_mark_write: E|593
18188  surfaceflinger-591   (  591) [003] ...1 1034708.249966: tracing_mark_write: E|591
18189  sensors@1.0-se-778   (  778) [006] ...1 1034708.260521: tracing_mark_write: E|778
18190   SensorService-1283  ( 1151) [003] ...1 1034708.260696: tracing_mark_write: E|1151
18191   SensorService-1283  ( 1151) [003] ...1 1034708.260848: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18192  sensors@1.0-se-778   (  778) [006] ...1 1034708.261009: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18193  sensors@1.0-se-778   (  778) [006] ...1 1034708.280323: tracing_mark_write: E|778
18194   SensorService-1283  ( 1151) [003] ...1 1034708.280584: tracing_mark_write: E|1151
18195   SensorService-1283  ( 1151) [003] ...1 1034708.280784: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18196  sensors@1.0-se-778   (  778) [006] ...1 1034708.280967: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18197  surfaceflinger-591   (  591) [000] ...1 1034708.298598: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18198  composer@2.1-s-593   (  593) [001] ...1 1034708.298882: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18199  composer@2.1-s-593   (  593) [001] ...1 1034708.299021: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18200  composer@2.1-s-593   (  593) [001] ...1 1034708.299061: tracing_mark_write: B|593|HWDevice::Commit::
18201  composer@2.1-s-593   (  593) [001] ...1 1034708.299293: tracing_mark_write: E|593
18202  composer@2.1-s-593   (  593) [001] ...1 1034708.299346: tracing_mark_write: E|593
18203  composer@2.1-s-593   (  593) [001] ...1 1034708.299406: tracing_mark_write: E|593
18204  surfaceflinger-591   (  591) [000] ...1 1034708.299562: tracing_mark_write: E|591
18205  sensors@1.0-se-778   (  778) [006] ...1 1034708.301860: tracing_mark_write: E|778
18206   SensorService-1283  ( 1151) [003] ...1 1034708.302019: tracing_mark_write: E|1151
18207   SensorService-1283  ( 1151) [003] ...1 1034708.302162: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18208  sensors@1.0-se-778   (  778) [006] ...1 1034708.302322: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18209  sensors@1.0-se-778   (  778) [006] ...1 1034708.319380: tracing_mark_write: E|778
18210   SensorService-1283  ( 1151) [003] ...1 1034708.319552: tracing_mark_write: E|1151
18211   SensorService-1283  ( 1151) [003] ...1 1034708.319684: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18212  sensors@1.0-se-778   (  778) [006] ...1 1034708.319836: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18213  surfaceflinger-591   (  591) [001] ...1 1034708.332462: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18214  composer@2.1-s-593   (  593) [000] ...1 1034708.332813: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18215  composer@2.1-s-593   (  593) [000] ...1 1034708.332985: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18216  composer@2.1-s-593   (  593) [000] ...1 1034708.333036: tracing_mark_write: B|593|HWDevice::Commit::
18217  composer@2.1-s-593   (  593) [000] ...1 1034708.333367: tracing_mark_write: E|593
18218  composer@2.1-s-593   (  593) [000] ...1 1034708.333434: tracing_mark_write: E|593
18219  composer@2.1-s-593   (  593) [000] ...1 1034708.333507: tracing_mark_write: E|593
18220  surfaceflinger-591   (  591) [001] ...1 1034708.333692: tracing_mark_write: E|591
18221  sensors@1.0-se-778   (  778) [006] ...1 1034708.337469: tracing_mark_write: E|778
18222   SensorService-1283  ( 1151) [003] ...1 1034708.337626: tracing_mark_write: E|1151
18223   SensorService-1283  ( 1151) [003] ...1 1034708.337778: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18224  sensors@1.0-se-778   (  778) [006] ...1 1034708.337945: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18225  sensors@1.0-se-778   (  778) [006] ...1 1034708.356826: tracing_mark_write: E|778
18226   SensorService-1283  ( 1151) [003] ...1 1034708.357008: tracing_mark_write: E|1151
18227   SensorService-1283  ( 1151) [003] ...1 1034708.357214: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18228  sensors@1.0-se-778   (  778) [006] ...1 1034708.357409: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18229  sensors@1.0-se-778   (  778) [006] ...1 1034708.377183: tracing_mark_write: E|778
18230   SensorService-1283  ( 1151) [003] ...1 1034708.377368: tracing_mark_write: E|1151
18231   SensorService-1283  ( 1151) [003] ...1 1034708.377560: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18232  sensors@1.0-se-778   (  778) [006] ...1 1034708.377758: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18233  surfaceflinger-591   (  591) [001] ...1 1034708.382598: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18234  composer@2.1-s-593   (  593) [000] ...1 1034708.382931: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18235  composer@2.1-s-593   (  593) [000] ...1 1034708.383087: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18236  composer@2.1-s-593   (  593) [000] ...1 1034708.383131: tracing_mark_write: B|593|HWDevice::Commit::
18237  composer@2.1-s-593   (  593) [000] ...1 1034708.383444: tracing_mark_write: E|593
18238  composer@2.1-s-593   (  593) [000] ...1 1034708.383505: tracing_mark_write: E|593
18239  composer@2.1-s-593   (  593) [000] ...1 1034708.383571: tracing_mark_write: E|593
18240  surfaceflinger-591   (  591) [001] ...1 1034708.383748: tracing_mark_write: E|591
18241  sensors@1.0-se-778   (  778) [006] ...1 1034708.395196: tracing_mark_write: E|778
18242   SensorService-1283  ( 1151) [003] ...1 1034708.395395: tracing_mark_write: E|1151
18243   SensorService-1283  ( 1151) [003] ...1 1034708.395564: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18244  sensors@1.0-se-778   (  778) [006] ...1 1034708.395743: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18245  sensors@1.0-se-778   (  778) [006] ...1 1034708.414292: tracing_mark_write: E|778
18246   SensorService-1283  ( 1151) [003] ...1 1034708.414465: tracing_mark_write: E|1151
18247   SensorService-1283  ( 1151) [003] ...1 1034708.414597: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18248  sensors@1.0-se-778   (  778) [006] ...1 1034708.414764: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18249  surfaceflinger-591   (  591) [001] ...1 1034708.415944: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18250  composer@2.1-s-593   (  593) [000] ...1 1034708.416159: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18251  composer@2.1-s-593   (  593) [000] ...1 1034708.416275: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18252  composer@2.1-s-593   (  593) [000] ...1 1034708.416309: tracing_mark_write: B|593|HWDevice::Commit::
18253  composer@2.1-s-593   (  593) [000] ...1 1034708.416509: tracing_mark_write: E|593
18254  composer@2.1-s-593   (  593) [000] ...1 1034708.416620: tracing_mark_write: E|593
18255  composer@2.1-s-593   (  593) [000] ...1 1034708.416679: tracing_mark_write: E|593
18256  surfaceflinger-591   (  591) [001] ...1 1034708.416805: tracing_mark_write: E|591
18257  sensors@1.0-se-778   (  778) [006] ...1 1034708.433538: tracing_mark_write: E|778
18258   SensorService-1283  ( 1151) [003] ...1 1034708.433720: tracing_mark_write: E|1151
18259   SensorService-1283  ( 1151) [003] ...1 1034708.433860: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18260  sensors@1.0-se-778   (  778) [006] ...1 1034708.434028: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18261  sensors@1.0-se-778   (  778) [006] ...1 1034708.452891: tracing_mark_write: E|778
18262   SensorService-1283  ( 1151) [003] ...1 1034708.453123: tracing_mark_write: E|1151
18263   SensorService-1283  ( 1151) [003] ...1 1034708.453387: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18264  sensors@1.0-se-778   (  778) [006] ...1 1034708.453551: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18265  surfaceflinger-591   (  591) [000] ...1 1034708.466492: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18266  composer@2.1-s-593   (  593) [001] ...1 1034708.466848: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18267  composer@2.1-s-593   (  593) [001] ...1 1034708.466990: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18268  composer@2.1-s-593   (  593) [001] ...1 1034708.467036: tracing_mark_write: B|593|HWDevice::Commit::
18269  composer@2.1-s-593   (  593) [001] ...1 1034708.467274: tracing_mark_write: E|593
18270  composer@2.1-s-593   (  593) [001] ...1 1034708.467331: tracing_mark_write: E|593
18271  composer@2.1-s-593   (  593) [001] ...1 1034708.467396: tracing_mark_write: E|593
18272  surfaceflinger-591   (  591) [000] ...1 1034708.467564: tracing_mark_write: E|591
18273  sensors@1.0-se-778   (  778) [006] ...1 1034708.472123: tracing_mark_write: E|778
18274   SensorService-1283  ( 1151) [003] ...1 1034708.472295: tracing_mark_write: E|1151
18275   SensorService-1283  ( 1151) [003] ...1 1034708.472460: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18276  sensors@1.0-se-778   (  778) [006] ...1 1034708.472619: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18277  sensors@1.0-se-778   (  778) [006] ...1 1034708.491886: tracing_mark_write: E|778
18278   SensorService-1283  ( 1151) [003] ...1 1034708.492076: tracing_mark_write: E|1151
18279   SensorService-1283  ( 1151) [003] ...1 1034708.492225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18280  sensors@1.0-se-778   (  778) [006] ...1 1034708.492404: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18281  surfaceflinger-591   (  591) [001] ...1 1034708.500034: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18282  composer@2.1-s-593   (  593) [000] ...1 1034708.500310: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18283  composer@2.1-s-593   (  593) [000] ...1 1034708.500443: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18284  composer@2.1-s-593   (  593) [000] ...1 1034708.500485: tracing_mark_write: B|593|HWDevice::Commit::
18285  composer@2.1-s-593   (  593) [000] ...1 1034708.500700: tracing_mark_write: E|593
18286  composer@2.1-s-593   (  593) [000] ...1 1034708.500754: tracing_mark_write: E|593
18287  composer@2.1-s-593   (  593) [000] ...1 1034708.500818: tracing_mark_write: E|593
18288  surfaceflinger-591   (  591) [001] ...1 1034708.500993: tracing_mark_write: E|591
18289  sensors@1.0-se-778   (  778) [006] ...1 1034708.510584: tracing_mark_write: E|778
18290   SensorService-1283  ( 1151) [003] ...1 1034708.510751: tracing_mark_write: E|1151
18291   SensorService-1283  ( 1151) [003] ...1 1034708.510895: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18292  sensors@1.0-se-778   (  778) [006] ...1 1034708.511056: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18293  sensors@1.0-se-778   (  778) [006] ...1 1034708.529943: tracing_mark_write: E|778
18294   SensorService-1283  ( 1151) [003] ...1 1034708.530107: tracing_mark_write: E|1151
18295   SensorService-1283  ( 1151) [003] ...1 1034708.530243: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18296  sensors@1.0-se-778   (  778) [006] ...1 1034708.530406: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18297  sensors@1.0-se-778   (  778) [006] ...1 1034708.549105: tracing_mark_write: E|778
18298   SensorService-1283  ( 1151) [003] ...1 1034708.549284: tracing_mark_write: E|1151
18299   SensorService-1283  ( 1151) [003] ...1 1034708.549435: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18300  sensors@1.0-se-778   (  778) [006] ...1 1034708.549611: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18301  surfaceflinger-591   (  591) [001] ...1 1034708.550309: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18302  composer@2.1-s-593   (  593) [000] ...1 1034708.550540: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18303  composer@2.1-s-593   (  593) [000] ...1 1034708.550674: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18304  composer@2.1-s-593   (  593) [000] ...1 1034708.550712: tracing_mark_write: B|593|HWDevice::Commit::
18305  composer@2.1-s-593   (  593) [000] ...1 1034708.550912: tracing_mark_write: E|593
18306  composer@2.1-s-593   (  593) [000] ...1 1034708.550960: tracing_mark_write: E|593
18307  composer@2.1-s-593   (  593) [000] ...1 1034708.551014: tracing_mark_write: E|593
18308  surfaceflinger-591   (  591) [001] ...1 1034708.551151: tracing_mark_write: E|591
18309  sensors@1.0-se-778   (  778) [006] ...1 1034708.568326: tracing_mark_write: E|778
18310   SensorService-1283  ( 1151) [003] ...1 1034708.568510: tracing_mark_write: E|1151
18311   SensorService-1283  ( 1151) [003] ...1 1034708.568647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18312  sensors@1.0-se-778   (  778) [006] ...1 1034708.568811: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18313  sensors@1.0-se-778   (  778) [006] ...1 1034708.587541: tracing_mark_write: E|778
18314   SensorService-1283  ( 1151) [003] ...1 1034708.587711: tracing_mark_write: E|1151
18315   SensorService-1283  ( 1151) [003] ...1 1034708.587848: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18316  sensors@1.0-se-778   (  778) [006] ...1 1034708.588007: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18317  surfaceflinger-591   (  591) [000] ...1 1034708.600791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18318  composer@2.1-s-593   (  593) [001] ...1 1034708.601077: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18319  composer@2.1-s-593   (  593) [001] ...1 1034708.601219: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18320  composer@2.1-s-593   (  593) [001] ...1 1034708.601260: tracing_mark_write: B|593|HWDevice::Commit::
18321  composer@2.1-s-593   (  593) [001] ...1 1034708.601470: tracing_mark_write: E|593
18322  composer@2.1-s-593   (  593) [001] ...1 1034708.601521: tracing_mark_write: E|593
18323  composer@2.1-s-593   (  593) [001] ...1 1034708.601580: tracing_mark_write: E|593
18324  surfaceflinger-591   (  591) [000] ...1 1034708.601711: tracing_mark_write: E|591
18325  sensors@1.0-se-778   (  778) [006] ...1 1034708.606792: tracing_mark_write: E|778
18326   SensorService-1283  ( 1151) [003] ...1 1034708.606939: tracing_mark_write: E|1151
18327   SensorService-1283  ( 1151) [003] ...1 1034708.607119: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18328  sensors@1.0-se-778   (  778) [006] ...1 1034708.607264: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18329  sensors@1.0-se-778   (  778) [006] ...1 1034708.627655: tracing_mark_write: E|778
18330   SensorService-1283  ( 1151) [003] ...1 1034708.627812: tracing_mark_write: E|1151
18331   SensorService-1283  ( 1151) [003] ...1 1034708.627948: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18332  sensors@1.0-se-778   (  778) [006] ...1 1034708.628111: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18333  surfaceflinger-591   (  591) [000] ...1 1034708.634247: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18334  composer@2.1-s-593   (  593) [001] ...1 1034708.634520: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18335  composer@2.1-s-593   (  593) [001] ...1 1034708.634654: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18336  composer@2.1-s-593   (  593) [001] ...1 1034708.634694: tracing_mark_write: B|593|HWDevice::Commit::
18337  composer@2.1-s-593   (  593) [001] ...1 1034708.634907: tracing_mark_write: E|593
18338  composer@2.1-s-593   (  593) [001] ...1 1034708.634961: tracing_mark_write: E|593
18339  composer@2.1-s-593   (  593) [001] ...1 1034708.635018: tracing_mark_write: E|593
18340  surfaceflinger-591   (  591) [000] ...1 1034708.635166: tracing_mark_write: E|591
18341  sensors@1.0-se-778   (  778) [006] ...1 1034708.645463: tracing_mark_write: E|778
18342   SensorService-1283  ( 1151) [003] ...1 1034708.645619: tracing_mark_write: E|1151
18343   SensorService-1283  ( 1151) [003] ...1 1034708.645751: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18344  sensors@1.0-se-778   (  778) [006] ...1 1034708.645908: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18345  sensors@1.0-se-778   (  778) [006] ...1 1034708.664616: tracing_mark_write: E|778
18346   SensorService-1283  ( 1151) [003] ...1 1034708.664793: tracing_mark_write: E|1151
18347   SensorService-1283  ( 1151) [003] ...1 1034708.664942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18348  sensors@1.0-se-778   (  778) [006] ...1 1034708.665111: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18349  sensors@1.0-se-778   (  778) [006] ...1 1034708.683947: tracing_mark_write: E|778
18350   SensorService-1283  ( 1151) [000] ...1 1034708.684152: tracing_mark_write: E|1151
18351   SensorService-1283  ( 1151) [000] ...1 1034708.684315: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18352  sensors@1.0-se-778   (  778) [006] ...1 1034708.684497: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18353  surfaceflinger-591   (  591) [003] ...1 1034708.684702: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18354  composer@2.1-s-593   (  593) [001] ...1 1034708.684952: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18355  composer@2.1-s-593   (  593) [001] ...1 1034708.685099: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18356  composer@2.1-s-593   (  593) [001] ...1 1034708.685141: tracing_mark_write: B|593|HWDevice::Commit::
18357  composer@2.1-s-593   (  593) [001] ...1 1034708.685379: tracing_mark_write: E|593
18358  composer@2.1-s-593   (  593) [001] ...1 1034708.685438: tracing_mark_write: E|593
18359  composer@2.1-s-593   (  593) [001] ...1 1034708.685502: tracing_mark_write: E|593
18360  surfaceflinger-591   (  591) [003] ...1 1034708.685658: tracing_mark_write: E|591
18361  sensors@1.0-se-778   (  778) [006] ...1 1034708.703251: tracing_mark_write: E|778
18362   SensorService-1283  ( 1151) [000] ...1 1034708.703450: tracing_mark_write: E|1151
18363   SensorService-1283  ( 1151) [000] ...1 1034708.703595: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18364  sensors@1.0-se-778   (  778) [006] ...1 1034708.703770: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18365  surfaceflinger-591   (  591) [003] ...1 1034708.718054: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18366  composer@2.1-s-593   (  593) [001] ...1 1034708.718263: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18367  composer@2.1-s-593   (  593) [001] ...1 1034708.718375: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18368  composer@2.1-s-593   (  593) [001] ...1 1034708.718408: tracing_mark_write: B|593|HWDevice::Commit::
18369  composer@2.1-s-593   (  593) [001] ...1 1034708.718590: tracing_mark_write: E|593
18370  composer@2.1-s-593   (  593) [001] ...1 1034708.718630: tracing_mark_write: E|593
18371  composer@2.1-s-593   (  593) [001] ...1 1034708.718678: tracing_mark_write: E|593
18372  surfaceflinger-591   (  591) [003] ...1 1034708.718794: tracing_mark_write: E|591
18373  sensors@1.0-se-778   (  778) [006] ...1 1034708.722297: tracing_mark_write: E|778
18374   SensorService-1283  ( 1151) [000] ...1 1034708.722442: tracing_mark_write: E|1151
18375   SensorService-1283  ( 1151) [000] ...1 1034708.722549: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18376  sensors@1.0-se-778   (  778) [006] ...1 1034708.722693: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18377  sensors@1.0-se-778   (  778) [006] ...1 1034708.741599: tracing_mark_write: E|778
18378   SensorService-1283  ( 1151) [000] ...1 1034708.741773: tracing_mark_write: E|1151
18379   SensorService-1283  ( 1151) [000] ...1 1034708.741908: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18380  sensors@1.0-se-778   (  778) [006] ...1 1034708.742074: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18381  sensors@1.0-se-778   (  778) [006] ...1 1034708.761131: tracing_mark_write: E|778
18382   SensorService-1283  ( 1151) [000] ...1 1034708.761330: tracing_mark_write: E|1151
18383   SensorService-1283  ( 1151) [000] ...1 1034708.761497: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18384  sensors@1.0-se-778   (  778) [006] ...1 1034708.761672: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18385  surfaceflinger-591   (  591) [000] ...1 1034708.768604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18386  composer@2.1-s-593   (  593) [001] ...1 1034708.768904: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18387  composer@2.1-s-593   (  593) [001] ...1 1034708.769048: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18388  composer@2.1-s-593   (  593) [001] ...1 1034708.769090: tracing_mark_write: B|593|HWDevice::Commit::
18389  composer@2.1-s-593   (  593) [001] ...1 1034708.769347: tracing_mark_write: E|593
18390  composer@2.1-s-593   (  593) [001] ...1 1034708.769410: tracing_mark_write: E|593
18391  composer@2.1-s-593   (  593) [001] ...1 1034708.769473: tracing_mark_write: E|593
18392  surfaceflinger-591   (  591) [000] ...1 1034708.769632: tracing_mark_write: E|591
18393  sensors@1.0-se-778   (  778) [006] ...1 1034708.780130: tracing_mark_write: E|778
18394   SensorService-1283  ( 1151) [000] ...1 1034708.780298: tracing_mark_write: E|1151
18395   SensorService-1283  ( 1151) [000] ...1 1034708.780463: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18396  sensors@1.0-se-778   (  778) [006] ...1 1034708.780649: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18397  sensors@1.0-se-778   (  778) [006] ...1 1034708.799339: tracing_mark_write: E|778
18398   SensorService-1283  ( 1151) [000] ...1 1034708.799593: tracing_mark_write: E|1151
18399   SensorService-1283  ( 1151) [000] ...1 1034708.799824: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18400  sensors@1.0-se-778   (  778) [006] ...1 1034708.800077: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18401  surfaceflinger-591   (  591) [000] ...1 1034708.801725: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18402  composer@2.1-s-593   (  593) [001] ...1 1034708.801979: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18403  composer@2.1-s-593   (  593) [001] ...1 1034708.802084: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18404  composer@2.1-s-593   (  593) [001] ...1 1034708.802114: tracing_mark_write: B|593|HWDevice::Commit::
18405  composer@2.1-s-593   (  593) [001] ...1 1034708.802277: tracing_mark_write: E|593
18406  composer@2.1-s-593   (  593) [001] ...1 1034708.802318: tracing_mark_write: E|593
18407  composer@2.1-s-593   (  593) [001] ...1 1034708.802364: tracing_mark_write: E|593
18408  surfaceflinger-591   (  591) [000] ...1 1034708.802482: tracing_mark_write: E|591
18409  sensors@1.0-se-778   (  778) [006] ...1 1034708.818615: tracing_mark_write: E|778
18410   SensorService-1283  ( 1151) [000] ...1 1034708.818783: tracing_mark_write: E|1151
18411   SensorService-1283  ( 1151) [000] ...1 1034708.818908: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18412  sensors@1.0-se-778   (  778) [006] ...1 1034708.819075: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18413  sensors@1.0-se-778   (  778) [006] ...1 1034708.837762: tracing_mark_write: E|778
18414   SensorService-1283  ( 1151) [000] ...1 1034708.837958: tracing_mark_write: E|1151
18415   SensorService-1283  ( 1151) [000] ...1 1034708.838102: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18416  HwBinder:778_1-1087  (  778) [002] ...1 1034708.838290: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18417  surfaceflinger-591   (  591) [002] ...1 1034708.852516: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18418  composer@2.1-s-593   (  593) [001] ...1 1034708.852828: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18419  composer@2.1-s-593   (  593) [001] ...1 1034708.852979: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18420  composer@2.1-s-593   (  593) [001] ...1 1034708.853023: tracing_mark_write: B|593|HWDevice::Commit::
18421  composer@2.1-s-593   (  593) [001] ...1 1034708.853314: tracing_mark_write: E|593
18422  composer@2.1-s-593   (  593) [001] ...1 1034708.853375: tracing_mark_write: E|593
18423  composer@2.1-s-593   (  593) [001] ...1 1034708.853444: tracing_mark_write: E|593
18424  surfaceflinger-591   (  591) [000] ...1 1034708.853638: tracing_mark_write: E|591
18425  HwBinder:778_1-1087  (  778) [000] ...1 1034708.857264: tracing_mark_write: E|778
18426   SensorService-1283  ( 1151) [001] ...1 1034708.857431: tracing_mark_write: E|1151
18427   SensorService-1283  ( 1151) [001] ...1 1034708.857612: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18428  HwBinder:778_1-1087  (  778) [000] ...1 1034708.857713: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18429  HwBinder:778_1-1087  (  778) [000] ...1 1034708.876577: tracing_mark_write: E|778
18430   SensorService-1283  ( 1151) [001] ...1 1034708.876775: tracing_mark_write: E|1151
18431   SensorService-1283  ( 1151) [001] ...1 1034708.876962: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18432  HwBinder:778_1-1087  (  778) [000] ...1 1034708.877074: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18433  HwBinder:778_1-1087  (  778) [001] ...1 1034708.895788: tracing_mark_write: E|778
18434   SensorService-1283  ( 1151) [000] ...1 1034708.895996: tracing_mark_write: E|1151
18435   SensorService-1283  ( 1151) [000] ...1 1034708.896152: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18436  HwBinder:778_1-1087  (  778) [001] ...1 1034708.896251: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18437  surfaceflinger-591   (  591) [002] ...1 1034708.902865: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18438  composer@2.1-s-593   (  593) [001] ...1 1034708.903164: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18439  composer@2.1-s-593   (  593) [001] ...1 1034708.903410: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18440  composer@2.1-s-593   (  593) [001] ...1 1034708.903455: tracing_mark_write: B|593|HWDevice::Commit::
18441  composer@2.1-s-593   (  593) [001] ...1 1034708.903697: tracing_mark_write: E|593
18442  composer@2.1-s-593   (  593) [001] ...1 1034708.903749: tracing_mark_write: E|593
18443  composer@2.1-s-593   (  593) [001] ...1 1034708.903805: tracing_mark_write: E|593
18444  surfaceflinger-591   (  591) [003] ...1 1034708.903955: tracing_mark_write: E|591
18445  HwBinder:778_1-1087  (  778) [003] ...1 1034708.914807: tracing_mark_write: E|778
18446   SensorService-1283  ( 1151) [000] ...1 1034708.914991: tracing_mark_write: E|1151
18447   SensorService-1283  ( 1151) [000] ...1 1034708.915135: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18448  HwBinder:778_1-1087  (  778) [003] ...1 1034708.915221: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18449  HwBinder:778_1-1087  (  778) [000] ...1 1034708.934202: tracing_mark_write: E|778
18450   SensorService-1283  ( 1151) [001] ...1 1034708.934367: tracing_mark_write: E|1151
18451   SensorService-1283  ( 1151) [001] ...1 1034708.934508: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18452  HwBinder:778_1-1087  (  778) [000] ...1 1034708.934590: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18453  surfaceflinger-591   (  591) [000] ...1 1034708.936111: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18454  composer@2.1-s-593   (  593) [001] ...1 1034708.936318: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18455  composer@2.1-s-593   (  593) [001] ...1 1034708.936445: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18456  composer@2.1-s-593   (  593) [001] ...1 1034708.936484: tracing_mark_write: B|593|HWDevice::Commit::
18457  composer@2.1-s-593   (  593) [001] ...1 1034708.936767: tracing_mark_write: E|593
18458  composer@2.1-s-593   (  593) [001] ...1 1034708.936816: tracing_mark_write: E|593
18459  composer@2.1-s-593   (  593) [001] ...1 1034708.936870: tracing_mark_write: E|593
18460  surfaceflinger-591   (  591) [000] ...1 1034708.936995: tracing_mark_write: E|591
18461  HwBinder:778_1-1087  (  778) [000] ...1 1034708.953498: tracing_mark_write: E|778
18462   SensorService-1283  ( 1151) [001] ...1 1034708.953696: tracing_mark_write: E|1151
18463   SensorService-1283  ( 1151) [001] ...1 1034708.953850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18464  HwBinder:778_1-1087  (  778) [000] ...1 1034708.953962: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18465  HwBinder:778_1-1087  (  778) [000] ...1 1034708.972977: tracing_mark_write: E|778
18466   SensorService-1283  ( 1151) [001] ...1 1034708.973175: tracing_mark_write: E|1151
18467   SensorService-1283  ( 1151) [001] ...1 1034708.973434: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18468  HwBinder:778_1-1087  (  778) [000] ...1 1034708.973553: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18469  surfaceflinger-591   (  591) [002] ...1 1034708.986695: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18470  composer@2.1-s-593   (  593) [001] ...1 1034708.986973: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18471  composer@2.1-s-593   (  593) [001] ...1 1034708.987113: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18472  composer@2.1-s-593   (  593) [001] ...1 1034708.987152: tracing_mark_write: B|593|HWDevice::Commit::
18473  composer@2.1-s-593   (  593) [001] ...1 1034708.987370: tracing_mark_write: E|593
18474  composer@2.1-s-593   (  593) [001] ...1 1034708.987421: tracing_mark_write: E|593
18475  composer@2.1-s-593   (  593) [001] ...1 1034708.987481: tracing_mark_write: E|593
18476  surfaceflinger-591   (  591) [000] ...1 1034708.987647: tracing_mark_write: E|591
18477  HwBinder:778_1-1087  (  778) [001] ...1 1034708.992187: tracing_mark_write: E|778
18478   SensorService-1283  ( 1151) [002] ...1 1034708.992337: tracing_mark_write: E|1151
18479   SensorService-1283  ( 1151) [002] ...1 1034708.992494: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18480  HwBinder:778_1-1087  (  778) [001] ...1 1034708.992597: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18481  HwBinder:778_1-1087  (  778) [000] ...1 1034709.011336: tracing_mark_write: E|778
18482   SensorService-1283  ( 1151) [002] ...1 1034709.011564: tracing_mark_write: E|1151
18483   SensorService-1283  ( 1151) [002] ...1 1034709.011779: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18484  HwBinder:778_1-1087  (  778) [000] ...1 1034709.011930: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18485  surfaceflinger-591   (  591) [000] ...1 1034709.020274: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18486  composer@2.1-s-593   (  593) [001] ...1 1034709.020557: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18487  composer@2.1-s-593   (  593) [001] ...1 1034709.020718: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18488  composer@2.1-s-593   (  593) [001] ...1 1034709.020764: tracing_mark_write: B|593|HWDevice::Commit::
18489  composer@2.1-s-593   (  593) [001] ...1 1034709.020989: tracing_mark_write: E|593
18490  composer@2.1-s-593   (  593) [001] ...1 1034709.021047: tracing_mark_write: E|593
18491  composer@2.1-s-593   (  593) [001] ...1 1034709.021114: tracing_mark_write: E|593
18492  surfaceflinger-591   (  591) [000] ...1 1034709.021260: tracing_mark_write: E|591
18493  HwBinder:778_1-1087  (  778) [001] ...1 1034709.030443: tracing_mark_write: E|778
18494   SensorService-1283  ( 1151) [002] ...1 1034709.030614: tracing_mark_write: E|1151
18495   SensorService-1283  ( 1151) [002] ...1 1034709.030799: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18496  HwBinder:778_1-1087  (  778) [001] ...1 1034709.030914: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18497  HwBinder:778_1-1087  (  778) [000] ...1 1034709.049770: tracing_mark_write: E|778
18498   SensorService-1283  ( 1151) [002] ...1 1034709.049972: tracing_mark_write: E|1151
18499   SensorService-1283  ( 1151) [002] ...1 1034709.050134: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18500  HwBinder:778_1-1087  (  778) [000] ...1 1034709.050250: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18501  HwBinder:778_1-1087  (  778) [001] ...1 1034709.069019: tracing_mark_write: E|778
18502   SensorService-1283  ( 1151) [002] ...1 1034709.069211: tracing_mark_write: E|1151
18503   SensorService-1283  ( 1151) [002] ...1 1034709.069392: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18504  HwBinder:778_1-1087  (  778) [001] ...1 1034709.069541: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18505  surfaceflinger-591   (  591) [002] ...1 1034709.070655: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18506  composer@2.1-s-593   (  593) [001] ...1 1034709.070949: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18507  composer@2.1-s-593   (  593) [001] ...1 1034709.071113: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18508  composer@2.1-s-593   (  593) [001] ...1 1034709.071162: tracing_mark_write: B|593|HWDevice::Commit::
18509  composer@2.1-s-593   (  593) [001] ...1 1034709.071422: tracing_mark_write: E|593
18510  composer@2.1-s-593   (  593) [001] ...1 1034709.071489: tracing_mark_write: E|593
18511  composer@2.1-s-593   (  593) [001] ...1 1034709.071562: tracing_mark_write: E|593
18512  surfaceflinger-591   (  591) [000] ...1 1034709.071782: tracing_mark_write: E|591
18513  HwBinder:778_1-1087  (  778) [001] ...1 1034709.088081: tracing_mark_write: E|778
18514   SensorService-1283  ( 1151) [002] ...1 1034709.088283: tracing_mark_write: E|1151
18515   SensorService-1283  ( 1151) [002] ...1 1034709.088459: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18516  HwBinder:778_1-1087  (  778) [001] ...1 1034709.088587: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18517  surfaceflinger-591   (  591) [001] ...1 1034709.104202: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18518  composer@2.1-s-593   (  593) [000] ...1 1034709.104512: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18519  composer@2.1-s-593   (  593) [000] ...1 1034709.104655: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18520  composer@2.1-s-593   (  593) [000] ...1 1034709.104695: tracing_mark_write: B|593|HWDevice::Commit::
18521  composer@2.1-s-593   (  593) [000] ...1 1034709.104908: tracing_mark_write: E|593
18522  composer@2.1-s-593   (  593) [000] ...1 1034709.104960: tracing_mark_write: E|593
18523  composer@2.1-s-593   (  593) [000] ...1 1034709.105018: tracing_mark_write: E|593
18524  surfaceflinger-591   (  591) [001] ...1 1034709.105165: tracing_mark_write: E|591
18525  HwBinder:778_1-1087  (  778) [001] ...1 1034709.107458: tracing_mark_write: E|778
18526   SensorService-1283  ( 1151) [002] ...1 1034709.107601: tracing_mark_write: E|1151
18527   SensorService-1283  ( 1151) [002] ...1 1034709.107751: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18528  HwBinder:778_1-1087  (  778) [001] ...1 1034709.107852: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18529  HwBinder:778_1-1087  (  778) [000] ...1 1034709.126853: tracing_mark_write: E|778
18530   SensorService-1283  ( 1151) [002] ...1 1034709.127055: tracing_mark_write: E|1151
18531   SensorService-1283  ( 1151) [002] ...1 1034709.127322: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18532  HwBinder:778_1-1087  (  778) [000] ...1 1034709.127445: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18533  HwBinder:778_1-1087  (  778) [001] ...1 1034709.146069: tracing_mark_write: E|778
18534   SensorService-1283  ( 1151) [002] ...1 1034709.146223: tracing_mark_write: E|1151
18535   SensorService-1283  ( 1151) [002] ...1 1034709.146368: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18536  HwBinder:778_1-1087  (  778) [001] ...1 1034709.146464: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18537  surfaceflinger-591   (  591) [000] ...1 1034709.154297: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18538  composer@2.1-s-593   (  593) [001] ...1 1034709.154555: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18539  composer@2.1-s-593   (  593) [001] ...1 1034709.154679: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18540  composer@2.1-s-593   (  593) [001] ...1 1034709.154718: tracing_mark_write: B|593|HWDevice::Commit::
18541  composer@2.1-s-593   (  593) [001] ...1 1034709.154911: tracing_mark_write: E|593
18542  composer@2.1-s-593   (  593) [001] ...1 1034709.154957: tracing_mark_write: E|593
18543  composer@2.1-s-593   (  593) [001] ...1 1034709.155010: tracing_mark_write: E|593
18544  surfaceflinger-591   (  591) [000] ...1 1034709.155144: tracing_mark_write: E|591
18545  HwBinder:778_1-1087  (  778) [000] ...1 1034709.165428: tracing_mark_write: E|778
18546   SensorService-1283  ( 1151) [002] ...1 1034709.165583: tracing_mark_write: E|1151
18547   SensorService-1283  ( 1151) [002] ...1 1034709.165754: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18548  HwBinder:778_1-1087  (  778) [000] ...1 1034709.165854: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18549  HwBinder:778_1-1087  (  778) [001] ...1 1034709.185978: tracing_mark_write: E|778
18550   SensorService-1283  ( 1151) [002] ...1 1034709.186189: tracing_mark_write: E|1151
18551   SensorService-1283  ( 1151) [002] ...1 1034709.186459: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18552  HwBinder:778_1-1087  (  778) [001] ...1 1034709.186629: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18553  HwBinder:778_1-1087  (  778) [001] ...1 1034709.203721: tracing_mark_write: E|778
18554   SensorService-1283  ( 1151) [002] ...1 1034709.203941: tracing_mark_write: E|1151
18555   SensorService-1283  ( 1151) [002] ...1 1034709.204075: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18556  HwBinder:778_1-1087  (  778) [001] ...1 1034709.204181: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18557  surfaceflinger-591   (  591) [000] ...1 1034709.204770: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18558  composer@2.1-s-593   (  593) [001] ...1 1034709.204983: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18559  composer@2.1-s-593   (  593) [001] ...1 1034709.205122: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18560  composer@2.1-s-593   (  593) [001] ...1 1034709.205164: tracing_mark_write: B|593|HWDevice::Commit::
18561  composer@2.1-s-593   (  593) [001] ...1 1034709.205378: tracing_mark_write: E|593
18562  composer@2.1-s-593   (  593) [001] ...1 1034709.205432: tracing_mark_write: E|593
18563  composer@2.1-s-593   (  593) [001] ...1 1034709.205493: tracing_mark_write: E|593
18564  surfaceflinger-591   (  591) [000] ...1 1034709.205646: tracing_mark_write: E|591
18565  HwBinder:778_1-1087  (  778) [000] ...1 1034709.222890: tracing_mark_write: E|778
18566   SensorService-1283  ( 1151) [002] ...1 1034709.223039: tracing_mark_write: E|1151
18567   SensorService-1283  ( 1151) [002] ...1 1034709.223167: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18568  HwBinder:778_1-1087  (  778) [000] ...1 1034709.223319: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18569  surfaceflinger-591   (  591) [001] ...1 1034709.238300: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18570  composer@2.1-s-593   (  593) [000] ...1 1034709.238596: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18571  composer@2.1-s-593   (  593) [000] ...1 1034709.238739: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18572  composer@2.1-s-593   (  593) [000] ...1 1034709.238780: tracing_mark_write: B|593|HWDevice::Commit::
18573  composer@2.1-s-593   (  593) [000] ...1 1034709.239008: tracing_mark_write: E|593
18574  composer@2.1-s-593   (  593) [000] ...1 1034709.239058: tracing_mark_write: E|593
18575  composer@2.1-s-593   (  593) [000] ...1 1034709.239113: tracing_mark_write: E|593
18576  surfaceflinger-591   (  591) [001] ...1 1034709.239254: tracing_mark_write: E|591
18577  HwBinder:778_1-1087  (  778) [001] ...1 1034709.242241: tracing_mark_write: E|778
18578   SensorService-1283  ( 1151) [002] ...1 1034709.242443: tracing_mark_write: E|1151
18579   SensorService-1283  ( 1151) [002] ...1 1034709.242653: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18580  HwBinder:778_1-1087  (  778) [001] ...1 1034709.242752: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18581  HwBinder:778_1-1087  (  778) [000] ...1 1034709.261462: tracing_mark_write: E|778
18582   SensorService-1283  ( 1151) [002] ...1 1034709.261609: tracing_mark_write: E|1151
18583   SensorService-1283  ( 1151) [002] ...1 1034709.261742: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18584  HwBinder:778_1-1087  (  778) [000] ...1 1034709.261835: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18585  HwBinder:778_1-1087  (  778) [000] ...1 1034709.280659: tracing_mark_write: E|778
18586   SensorService-1283  ( 1151) [002] ...1 1034709.280804: tracing_mark_write: E|1151
18587   SensorService-1283  ( 1151) [002] ...1 1034709.280941: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18588  HwBinder:778_1-1087  (  778) [000] ...1 1034709.281026: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18589  surfaceflinger-591   (  591) [000] ...1 1034709.288819: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18590  composer@2.1-s-593   (  593) [001] ...1 1034709.289127: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18591  composer@2.1-s-593   (  593) [001] ...1 1034709.289284: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18592  composer@2.1-s-593   (  593) [001] ...1 1034709.289333: tracing_mark_write: B|593|HWDevice::Commit::
18593  composer@2.1-s-593   (  593) [001] ...1 1034709.289576: tracing_mark_write: E|593
18594  composer@2.1-s-593   (  593) [001] ...1 1034709.289637: tracing_mark_write: E|593
18595  composer@2.1-s-593   (  593) [001] ...1 1034709.289707: tracing_mark_write: E|593
18596  surfaceflinger-591   (  591) [000] ...1 1034709.289932: tracing_mark_write: E|591
18597  HwBinder:778_1-1087  (  778) [000] ...1 1034709.300003: tracing_mark_write: E|778
18598   SensorService-1283  ( 1151) [002] ...1 1034709.300189: tracing_mark_write: E|1151
18599   SensorService-1283  ( 1151) [002] ...1 1034709.300378: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18600  HwBinder:778_1-1087  (  778) [000] ...1 1034709.300503: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18601  HwBinder:778_1-1087  (  778) [004] ...1 1034709.319516: tracing_mark_write: E|778
18602   SensorService-1283  ( 1151) [002] ...1 1034709.320028: tracing_mark_write: E|1151
18603   SensorService-1283  ( 1151) [002] ...1 1034709.320439: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18604  HwBinder:778_1-1087  (  778) [004] ...1 1034709.320694: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18605  surfaceflinger-591   (  591) [003] ...1 1034709.322530: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18606  composer@2.1-s-593   (  593) [001] ...1 1034709.322855: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18607  composer@2.1-s-593   (  593) [001] ...1 1034709.323033: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18608  composer@2.1-s-593   (  593) [001] ...1 1034709.323086: tracing_mark_write: B|593|HWDevice::Commit::
18609  composer@2.1-s-593   (  593) [001] ...1 1034709.323478: tracing_mark_write: E|593
18610  composer@2.1-s-593   (  593) [001] ...1 1034709.323547: tracing_mark_write: E|593
18611  composer@2.1-s-593   (  593) [001] ...1 1034709.323626: tracing_mark_write: E|593
18612  surfaceflinger-591   (  591) [003] ...1 1034709.323826: tracing_mark_write: E|591
18613  HwBinder:778_1-1087  (  778) [002] ...1 1034709.338723: tracing_mark_write: E|778
18614   SensorService-1283  ( 1151) [003] ...1 1034709.338908: tracing_mark_write: E|1151
18615   SensorService-1283  ( 1151) [003] ...1 1034709.339047: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18616  HwBinder:778_1-1087  (  778) [002] ...1 1034709.339141: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18617  HwBinder:778_1-1087  (  778) [001] ...1 1034709.357624: tracing_mark_write: E|778
18618   SensorService-1283  ( 1151) [003] ...1 1034709.357754: tracing_mark_write: E|1151
18619   SensorService-1283  ( 1151) [003] ...1 1034709.357862: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18620  HwBinder:778_1-1087  (  778) [001] ...1 1034709.357937: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18621  surfaceflinger-591   (  591) [000] ...1 1034709.372390: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18622  composer@2.1-s-593   (  593) [001] ...1 1034709.372638: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18623  composer@2.1-s-593   (  593) [001] ...1 1034709.372757: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18624  composer@2.1-s-593   (  593) [001] ...1 1034709.372791: tracing_mark_write: B|593|HWDevice::Commit::
18625  composer@2.1-s-593   (  593) [001] ...1 1034709.372974: tracing_mark_write: E|593
18626  composer@2.1-s-593   (  593) [001] ...1 1034709.373016: tracing_mark_write: E|593
18627  composer@2.1-s-593   (  593) [001] ...1 1034709.373065: tracing_mark_write: E|593
18628  surfaceflinger-591   (  591) [000] ...1 1034709.373179: tracing_mark_write: E|591
18629  HwBinder:778_1-1087  (  778) [003] ...1 1034709.377141: tracing_mark_write: E|778
18630   SensorService-1283  ( 1151) [000] ...1 1034709.377286: tracing_mark_write: E|1151
18631   SensorService-1283  ( 1151) [000] ...1 1034709.377424: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18632  HwBinder:778_1-1087  (  778) [003] ...1 1034709.377512: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18633  HwBinder:778_1-1087  (  778) [002] ...1 1034709.396469: tracing_mark_write: E|778
18634   SensorService-1283  ( 1151) [000] ...1 1034709.396676: tracing_mark_write: E|1151
18635   SensorService-1283  ( 1151) [000] ...1 1034709.396840: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18636  HwBinder:778_1-1087  (  778) [002] ...1 1034709.396942: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18637  HwBinder:778_1-1087  (  778) [001] ...1 1034709.415571: tracing_mark_write: E|778
18638   SensorService-1283  ( 1151) [000] ...1 1034709.415736: tracing_mark_write: E|1151
18639   SensorService-1283  ( 1151) [000] ...1 1034709.415903: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18640  HwBinder:778_1-1087  (  778) [001] ...1 1034709.416008: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18641  surfaceflinger-591   (  591) [001] ...1 1034709.422995: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18642  composer@2.1-s-593   (  593) [000] ...1 1034709.423399: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18643  composer@2.1-s-593   (  593) [000] ...1 1034709.423563: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18644  composer@2.1-s-593   (  593) [000] ...1 1034709.423612: tracing_mark_write: B|593|HWDevice::Commit::
18645  composer@2.1-s-593   (  593) [000] ...1 1034709.423867: tracing_mark_write: E|593
18646  composer@2.1-s-593   (  593) [000] ...1 1034709.423932: tracing_mark_write: E|593
18647  composer@2.1-s-593   (  593) [000] ...1 1034709.424004: tracing_mark_write: E|593
18648  surfaceflinger-591   (  591) [001] ...1 1034709.424188: tracing_mark_write: E|591
18649  HwBinder:778_1-1087  (  778) [001] ...1 1034709.434724: tracing_mark_write: E|778
18650   SensorService-1283  ( 1151) [000] ...1 1034709.434925: tracing_mark_write: E|1151
18651   SensorService-1283  ( 1151) [000] ...1 1034709.435116: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18652  HwBinder:778_1-1087  (  778) [001] ...1 1034709.435235: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18653  HwBinder:778_1-1087  (  778) [001] ...1 1034709.454205: tracing_mark_write: E|778
18654   SensorService-1283  ( 1151) [000] ...1 1034709.454412: tracing_mark_write: E|1151
18655   SensorService-1283  ( 1151) [000] ...1 1034709.454598: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18656  sensors@1.0-se-778   (  778) [006] ...1 1034709.454818: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18657  surfaceflinger-591   (  591) [000] ...1 1034709.456526: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18658  composer@2.1-s-593   (  593) [001] ...1 1034709.456851: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18659  composer@2.1-s-593   (  593) [001] ...1 1034709.457016: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18660  composer@2.1-s-593   (  593) [001] ...1 1034709.457064: tracing_mark_write: B|593|HWDevice::Commit::
18661  composer@2.1-s-593   (  593) [001] ...1 1034709.457311: tracing_mark_write: E|593
18662  composer@2.1-s-593   (  593) [001] ...1 1034709.457371: tracing_mark_write: E|593
18663  composer@2.1-s-593   (  593) [001] ...1 1034709.457436: tracing_mark_write: E|593
18664  surfaceflinger-591   (  591) [000] ...1 1034709.457589: tracing_mark_write: E|591
18665  sensors@1.0-se-778   (  778) [004] ...1 1034709.473330: tracing_mark_write: E|778
18666   SensorService-1283  ( 1151) [000] ...1 1034709.473561: tracing_mark_write: E|1151
18667   SensorService-1283  ( 1151) [000] ...1 1034709.473698: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18668  sensors@1.0-se-778   (  778) [004] ...1 1034709.473885: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18669  sensors@1.0-se-778   (  778) [006] ...1 1034709.492421: tracing_mark_write: E|778
18670   SensorService-1283  ( 1151) [000] ...1 1034709.492608: tracing_mark_write: E|1151
18671   SensorService-1283  ( 1151) [000] ...1 1034709.492736: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18672  sensors@1.0-se-778   (  778) [006] ...1 1034709.492902: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18673  surfaceflinger-591   (  591) [000] ...1 1034709.506704: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18674  composer@2.1-s-593   (  593) [001] ...1 1034709.506951: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18675  composer@2.1-s-593   (  593) [001] ...1 1034709.507072: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18676  composer@2.1-s-593   (  593) [001] ...1 1034709.507107: tracing_mark_write: B|593|HWDevice::Commit::
18677  composer@2.1-s-593   (  593) [001] ...1 1034709.507290: tracing_mark_write: E|593
18678  composer@2.1-s-593   (  593) [001] ...1 1034709.507336: tracing_mark_write: E|593
18679  composer@2.1-s-593   (  593) [001] ...1 1034709.507387: tracing_mark_write: E|593
18680  surfaceflinger-591   (  591) [000] ...1 1034709.507507: tracing_mark_write: E|591
18681  sensors@1.0-se-778   (  778) [006] ...1 1034709.511696: tracing_mark_write: E|778
18682   SensorService-1283  ( 1151) [000] ...1 1034709.511837: tracing_mark_write: E|1151
18683   SensorService-1283  ( 1151) [000] ...1 1034709.512022: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18684  sensors@1.0-se-778   (  778) [006] ...1 1034709.512132: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18685  sensors@1.0-se-778   (  778) [006] ...1 1034709.533463: tracing_mark_write: E|778
18686   SensorService-1283  ( 1151) [000] ...1 1034709.533713: tracing_mark_write: E|1151
18687   SensorService-1283  ( 1151) [000] ...1 1034709.533970: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18688  sensors@1.0-se-778   (  778) [006] ...1 1034709.534108: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18689  surfaceflinger-591   (  591) [002] ...1 1034709.540450: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18690  composer@2.1-s-593   (  593) [001] ...1 1034709.540725: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18691  composer@2.1-s-593   (  593) [001] ...1 1034709.540888: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18692  composer@2.1-s-593   (  593) [001] ...1 1034709.540934: tracing_mark_write: B|593|HWDevice::Commit::
18693  composer@2.1-s-593   (  593) [001] ...1 1034709.541191: tracing_mark_write: E|593
18694  composer@2.1-s-593   (  593) [001] ...1 1034709.541255: tracing_mark_write: E|593
18695  composer@2.1-s-593   (  593) [001] ...1 1034709.541325: tracing_mark_write: E|593
18696  surfaceflinger-591   (  591) [000] ...1 1034709.541532: tracing_mark_write: E|591
18697  sensors@1.0-se-778   (  778) [006] ...1 1034709.550500: tracing_mark_write: E|778
18698   SensorService-1283  ( 1151) [000] ...1 1034709.550715: tracing_mark_write: E|1151
18699   SensorService-1283  ( 1151) [000] ...1 1034709.550921: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18700  sensors@1.0-se-778   (  778) [006] ...1 1034709.551113: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18701  sensors@1.0-se-778   (  778) [006] ...1 1034709.569586: tracing_mark_write: E|778
18702   SensorService-1283  ( 1151) [000] ...1 1034709.569794: tracing_mark_write: E|1151
18703   SensorService-1283  ( 1151) [000] ...1 1034709.570066: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18704  sensors@1.0-se-778   (  778) [006] ...1 1034709.570249: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18705  sensors@1.0-se-778   (  778) [006] ...1 1034709.588728: tracing_mark_write: E|778
18706   SensorService-1283  ( 1151) [000] ...1 1034709.588941: tracing_mark_write: E|1151
18707   SensorService-1283  ( 1151) [000] ...1 1034709.589128: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18708  sensors@1.0-se-778   (  778) [006] ...1 1034709.589320: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18709  surfaceflinger-591   (  591) [000] ...1 1034709.590777: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18710  composer@2.1-s-593   (  593) [001] ...1 1034709.591061: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18711  composer@2.1-s-593   (  593) [001] ...1 1034709.591226: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18712  composer@2.1-s-593   (  593) [001] ...1 1034709.591275: tracing_mark_write: B|593|HWDevice::Commit::
18713  composer@2.1-s-593   (  593) [001] ...1 1034709.591538: tracing_mark_write: E|593
18714  composer@2.1-s-593   (  593) [001] ...1 1034709.591600: tracing_mark_write: E|593
18715  composer@2.1-s-593   (  593) [001] ...1 1034709.591670: tracing_mark_write: E|593
18716  surfaceflinger-591   (  591) [000] ...1 1034709.591836: tracing_mark_write: E|591
18717  sensors@1.0-se-778   (  778) [006] ...1 1034709.608029: tracing_mark_write: E|778
18718   SensorService-1283  ( 1151) [000] ...1 1034709.608246: tracing_mark_write: E|1151
18719   SensorService-1283  ( 1151) [000] ...1 1034709.608418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18720  sensors@1.0-se-778   (  778) [006] ...1 1034709.608604: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18721  surfaceflinger-591   (  591) [003] ...1 1034709.624128: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18722  composer@2.1-s-593   (  593) [001] ...1 1034709.624372: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18723  composer@2.1-s-593   (  593) [001] ...1 1034709.624492: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18724  composer@2.1-s-593   (  593) [001] ...1 1034709.624527: tracing_mark_write: B|593|HWDevice::Commit::
18725  composer@2.1-s-593   (  593) [001] ...1 1034709.624719: tracing_mark_write: E|593
18726  composer@2.1-s-593   (  593) [001] ...1 1034709.624763: tracing_mark_write: E|593
18727  composer@2.1-s-593   (  593) [001] ...1 1034709.624813: tracing_mark_write: E|593
18728  surfaceflinger-591   (  591) [003] ...1 1034709.624941: tracing_mark_write: E|591
18729  sensors@1.0-se-778   (  778) [006] ...1 1034709.627206: tracing_mark_write: E|778
18730   SensorService-1283  ( 1151) [000] ...1 1034709.627365: tracing_mark_write: E|1151
18731   SensorService-1283  ( 1151) [000] ...1 1034709.627508: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18732  sensors@1.0-se-778   (  778) [006] ...1 1034709.627664: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18733  sensors@1.0-se-778   (  778) [006] ...1 1034709.646468: tracing_mark_write: E|778
18734   SensorService-1283  ( 1151) [000] ...1 1034709.646653: tracing_mark_write: E|1151
18735   SensorService-1283  ( 1151) [000] ...1 1034709.646797: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18736  sensors@1.0-se-778   (  778) [006] ...1 1034709.647033: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18737  sensors@1.0-se-778   (  778) [006] ...1 1034709.665624: tracing_mark_write: E|778
18738   SensorService-1283  ( 1151) [000] ...1 1034709.665792: tracing_mark_write: E|1151
18739   SensorService-1283  ( 1151) [000] ...1 1034709.665907: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18740  sensors@1.0-se-778   (  778) [006] ...1 1034709.666034: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18741  surfaceflinger-591   (  591) [000] ...1 1034709.674353: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18742  composer@2.1-s-593   (  593) [001] ...1 1034709.674578: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18743  composer@2.1-s-593   (  593) [001] ...1 1034709.674691: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18744  composer@2.1-s-593   (  593) [001] ...1 1034709.674725: tracing_mark_write: B|593|HWDevice::Commit::
18745  composer@2.1-s-593   (  593) [001] ...1 1034709.674903: tracing_mark_write: E|593
18746  composer@2.1-s-593   (  593) [001] ...1 1034709.674945: tracing_mark_write: E|593
18747  composer@2.1-s-593   (  593) [001] ...1 1034709.674994: tracing_mark_write: E|593
18748  surfaceflinger-591   (  591) [000] ...1 1034709.675097: tracing_mark_write: E|591
18749  sensors@1.0-se-778   (  778) [006] ...1 1034709.685078: tracing_mark_write: E|778
18750   SensorService-1283  ( 1151) [000] ...1 1034709.685238: tracing_mark_write: E|1151
18751   SensorService-1283  ( 1151) [000] ...1 1034709.685380: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18752  sensors@1.0-se-778   (  778) [006] ...1 1034709.685497: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18753  sensors@1.0-se-778   (  778) [006] ...1 1034709.704269: tracing_mark_write: E|778
18754   SensorService-1283  ( 1151) [000] ...1 1034709.704369: tracing_mark_write: E|1151
18755   SensorService-1283  ( 1151) [000] ...1 1034709.704464: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18756  HwBinder:778_1-1087  (  778) [001] ...1 1034709.704555: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18757  surfaceflinger-591   (  591) [001] ...1 1034709.707762: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18758  composer@2.1-s-593   (  593) [000] ...1 1034709.707914: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18759  composer@2.1-s-593   (  593) [000] ...1 1034709.708000: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18760  composer@2.1-s-593   (  593) [000] ...1 1034709.708026: tracing_mark_write: B|593|HWDevice::Commit::
18761  composer@2.1-s-593   (  593) [000] ...1 1034709.708157: tracing_mark_write: E|593
18762  composer@2.1-s-593   (  593) [000] ...1 1034709.708192: tracing_mark_write: E|593
18763  composer@2.1-s-593   (  593) [000] ...1 1034709.708231: tracing_mark_write: E|593
18764  surfaceflinger-591   (  591) [001] ...1 1034709.708315: tracing_mark_write: E|591
18765  HwBinder:778_1-1087  (  778) [001] ...1 1034709.723268: tracing_mark_write: E|778
18766   SensorService-1283  ( 1151) [000] ...1 1034709.723369: tracing_mark_write: E|1151
18767   SensorService-1283  ( 1151) [000] ...1 1034709.723463: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18768  HwBinder:778_1-1087  (  778) [001] ...1 1034709.723551: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18769  HwBinder:778_1-1087  (  778) [001] ...1 1034709.743008: tracing_mark_write: E|778
18770   SensorService-1283  ( 1151) [002] ...1 1034709.743096: tracing_mark_write: E|1151
18771   SensorService-1283  ( 1151) [002] ...1 1034709.743247: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18772  HwBinder:778_1-1087  (  778) [001] ...1 1034709.743350: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18773  surfaceflinger-591   (  591) [002] ...1 1034709.758194: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18774  composer@2.1-s-593   (  593) [000] ...1 1034709.758385: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18775  composer@2.1-s-593   (  593) [000] ...1 1034709.758478: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18776  composer@2.1-s-593   (  593) [000] ...1 1034709.758506: tracing_mark_write: B|593|HWDevice::Commit::
18777  composer@2.1-s-593   (  593) [000] ...1 1034709.758649: tracing_mark_write: E|593
18778  composer@2.1-s-593   (  593) [000] ...1 1034709.758683: tracing_mark_write: E|593
18779  composer@2.1-s-593   (  593) [000] ...1 1034709.758724: tracing_mark_write: E|593
18780  surfaceflinger-591   (  591) [003] ...1 1034709.758825: tracing_mark_write: E|591
18781  HwBinder:778_1-1087  (  778) [003] ...1 1034709.761696: tracing_mark_write: E|778
18782   SensorService-1283  ( 1151) [002] ...1 1034709.761812: tracing_mark_write: E|1151
18783   SensorService-1283  ( 1151) [002] ...1 1034709.761905: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18784  HwBinder:778_1-1087  (  778) [003] ...1 1034709.761978: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18785  HwBinder:778_1-1087  (  778) [002] ...1 1034709.781019: tracing_mark_write: E|778
18786   SensorService-1283  ( 1151) [000] ...1 1034709.781147: tracing_mark_write: E|1151
18787   SensorService-1283  ( 1151) [000] ...1 1034709.781238: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18788  HwBinder:778_1-1087  (  778) [002] ...1 1034709.781303: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18789  surfaceflinger-591   (  591) [000] ...1 1034709.791607: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18790  composer@2.1-s-593   (  593) [001] ...1 1034709.791747: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18791  composer@2.1-s-593   (  593) [001] ...1 1034709.791815: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18792  composer@2.1-s-593   (  593) [001] ...1 1034709.791835: tracing_mark_write: B|593|HWDevice::Commit::
18793  composer@2.1-s-593   (  593) [001] ...1 1034709.791955: tracing_mark_write: E|593
18794  composer@2.1-s-593   (  593) [001] ...1 1034709.791984: tracing_mark_write: E|593
18795  composer@2.1-s-593   (  593) [001] ...1 1034709.792014: tracing_mark_write: E|593
18796  surfaceflinger-591   (  591) [000] ...1 1034709.792094: tracing_mark_write: E|591
18797  HwBinder:778_1-1087  (  778) [004] ...1 1034709.800496: tracing_mark_write: E|778
18798   SensorService-1283  ( 1151) [000] ...1 1034709.800661: tracing_mark_write: E|1151
18799   SensorService-1283  ( 1151) [000] ...1 1034709.800836: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18800  HwBinder:778_1-1087  (  778) [004] ...1 1034709.800967: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18801  HwBinder:778_1-1087  (  778) [000] ...1 1034709.819587: tracing_mark_write: E|778
18802   SensorService-1283  ( 1151) [001] ...1 1034709.819698: tracing_mark_write: E|1151
18803   SensorService-1283  ( 1151) [001] ...1 1034709.819796: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18804  HwBinder:778_1-1087  (  778) [000] ...1 1034709.819891: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18805  HwBinder:778_1-1087  (  778) [000] ...1 1034709.838952: tracing_mark_write: E|778
18806   SensorService-1283  ( 1151) [001] ...1 1034709.839026: tracing_mark_write: E|1151
18807   SensorService-1283  ( 1151) [001] ...1 1034709.839121: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18808  HwBinder:778_1-1087  (  778) [000] ...1 1034709.839189: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18809  surfaceflinger-591   (  591) [000] ...1 1034709.842119: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18810  composer@2.1-s-593   (  593) [001] ...1 1034709.842301: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18811  composer@2.1-s-593   (  593) [001] ...1 1034709.842418: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18812  composer@2.1-s-593   (  593) [001] ...1 1034709.842452: tracing_mark_write: B|593|HWDevice::Commit::
18813  composer@2.1-s-593   (  593) [001] ...1 1034709.842627: tracing_mark_write: E|593
18814  composer@2.1-s-593   (  593) [001] ...1 1034709.842674: tracing_mark_write: E|593
18815  composer@2.1-s-593   (  593) [001] ...1 1034709.842723: tracing_mark_write: E|593
18816  surfaceflinger-591   (  591) [000] ...1 1034709.842834: tracing_mark_write: E|591
18817  HwBinder:778_1-1087  (  778) [000] ...1 1034709.858532: tracing_mark_write: E|778
18818   SensorService-1283  ( 1151) [002] ...1 1034709.858739: tracing_mark_write: E|1151
18819   SensorService-1283  ( 1151) [002] ...1 1034709.858947: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18820  HwBinder:778_1-1087  (  778) [000] ...1 1034709.859105: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18821  surfaceflinger-591   (  591) [002] ...1 1034709.876044: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18822  composer@2.1-s-593   (  593) [001] ...1 1034709.876318: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18823  composer@2.1-s-593   (  593) [001] ...1 1034709.876480: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18824  composer@2.1-s-593   (  593) [001] ...1 1034709.876527: tracing_mark_write: B|593|HWDevice::Commit::
18825  composer@2.1-s-593   (  593) [001] ...1 1034709.877015: tracing_mark_write: E|593
18826  composer@2.1-s-593   (  593) [001] ...1 1034709.877103: tracing_mark_write: E|593
18827  composer@2.1-s-593   (  593) [001] ...1 1034709.877180: tracing_mark_write: E|593
18828  surfaceflinger-591   (  591) [000] ...1 1034709.877433: tracing_mark_write: E|591
18829  HwBinder:778_1-1087  (  778) [001] ...1 1034709.877780: tracing_mark_write: E|778
18830   SensorService-1283  ( 1151) [003] ...1 1034709.877937: tracing_mark_write: E|1151
18831   SensorService-1283  ( 1151) [003] ...1 1034709.878129: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18832  HwBinder:778_1-1087  (  778) [001] ...1 1034709.878274: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18833  HwBinder:778_1-1087  (  778) [000] ...1 1034709.896732: tracing_mark_write: E|778
18834   SensorService-1283  ( 1151) [003] ...1 1034709.896863: tracing_mark_write: E|1151
18835   SensorService-1283  ( 1151) [003] ...1 1034709.897196: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18836  HwBinder:778_1-1087  (  778) [000] ...1 1034709.897327: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18837  HwBinder:778_1-1087  (  778) [000] ...1 1034709.915949: tracing_mark_write: E|778
18838   SensorService-1283  ( 1151) [003] ...1 1034709.916074: tracing_mark_write: E|1151
18839   SensorService-1283  ( 1151) [003] ...1 1034709.916231: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18840  HwBinder:778_1-1087  (  778) [000] ...1 1034709.916358: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18841  surfaceflinger-591   (  591) [000] ...1 1034709.926312: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18842  composer@2.1-s-593   (  593) [001] ...1 1034709.926586: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18843  composer@2.1-s-593   (  593) [001] ...1 1034709.926744: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18844  composer@2.1-s-593   (  593) [001] ...1 1034709.926929: tracing_mark_write: B|593|HWDevice::Commit::
18845  composer@2.1-s-593   (  593) [001] ...1 1034709.927175: tracing_mark_write: E|593
18846  composer@2.1-s-593   (  593) [001] ...1 1034709.927235: tracing_mark_write: E|593
18847  composer@2.1-s-593   (  593) [001] ...1 1034709.927304: tracing_mark_write: E|593
18848  surfaceflinger-591   (  591) [000] ...1 1034709.927487: tracing_mark_write: E|591
18849  HwBinder:778_1-1087  (  778) [000] ...1 1034709.935277: tracing_mark_write: E|778
18850   SensorService-1283  ( 1151) [003] ...1 1034709.935407: tracing_mark_write: E|1151
18851   SensorService-1283  ( 1151) [003] ...1 1034709.935544: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18852  HwBinder:778_1-1087  (  778) [000] ...1 1034709.935680: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18853  HwBinder:778_1-1087  (  778) [000] ...1 1034709.954274: tracing_mark_write: E|778
18854   SensorService-1283  ( 1151) [003] ...1 1034709.954576: tracing_mark_write: E|1151
18855   SensorService-1283  ( 1151) [003] ...1 1034709.954689: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18856  HwBinder:778_1-1087  (  778) [000] ...1 1034709.954824: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18857  surfaceflinger-591   (  591) [000] ...1 1034709.959971: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18858  composer@2.1-s-593   (  593) [001] ...1 1034709.960195: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18859  composer@2.1-s-593   (  593) [001] ...1 1034709.960326: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18860  composer@2.1-s-593   (  593) [001] ...1 1034709.960365: tracing_mark_write: B|593|HWDevice::Commit::
18861  composer@2.1-s-593   (  593) [001] ...1 1034709.960750: tracing_mark_write: E|593
18862  composer@2.1-s-593   (  593) [001] ...1 1034709.960811: tracing_mark_write: E|593
18863  composer@2.1-s-593   (  593) [001] ...1 1034709.960876: tracing_mark_write: E|593
18864  surfaceflinger-591   (  591) [000] ...1 1034709.961056: tracing_mark_write: E|591
18865  HwBinder:778_1-1087  (  778) [000] ...1 1034709.973584: tracing_mark_write: E|778
18866   SensorService-1283  ( 1151) [003] ...1 1034709.973856: tracing_mark_write: E|1151
18867   SensorService-1283  ( 1151) [003] ...1 1034709.973982: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18868  HwBinder:778_1-1087  (  778) [000] ...1 1034709.974111: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18869  HwBinder:778_1-1087  (  778) [000] ...1 1034709.992759: tracing_mark_write: E|778
18870   SensorService-1283  ( 1151) [003] ...1 1034709.992878: tracing_mark_write: E|1151
18871   SensorService-1283  ( 1151) [003] ...1 1034709.992991: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18872  HwBinder:778_1-1087  (  778) [000] ...1 1034709.993315: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18873  surfaceflinger-591   (  591) [000] ...1 1034710.010393: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18874  composer@2.1-s-593   (  593) [001] ...1 1034710.010615: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18875  composer@2.1-s-593   (  593) [001] ...1 1034710.010745: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18876  composer@2.1-s-593   (  593) [001] ...1 1034710.010782: tracing_mark_write: B|593|HWDevice::Commit::
18877  composer@2.1-s-593   (  593) [001] ...1 1034710.011029: tracing_mark_write: E|593
18878  composer@2.1-s-593   (  593) [001] ...1 1034710.011089: tracing_mark_write: E|593
18879  composer@2.1-s-593   (  593) [001] ...1 1034710.011300: tracing_mark_write: E|593
18880  surfaceflinger-591   (  591) [000] ...1 1034710.011475: tracing_mark_write: E|591
18881  HwBinder:778_1-1087  (  778) [001] ...1 1034710.012040: tracing_mark_write: E|778
18882   SensorService-1283  ( 1151) [003] ...1 1034710.012164: tracing_mark_write: E|1151
18883   SensorService-1283  ( 1151) [003] ...1 1034710.012286: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18884  HwBinder:778_1-1087  (  778) [001] ...1 1034710.012559: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18885  HwBinder:778_1-1087  (  778) [000] ...1 1034710.031722: tracing_mark_write: E|778
18886   SensorService-1283  ( 1151) [003] ...1 1034710.031847: tracing_mark_write: E|1151
18887   SensorService-1283  ( 1151) [003] ...1 1034710.031962: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18888  HwBinder:778_1-1087  (  778) [000] ...1 1034710.032093: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18889  surfaceflinger-591   (  591) [000] ...1 1034710.043854: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18890  composer@2.1-s-593   (  593) [001] ...1 1034710.044131: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18891  composer@2.1-s-593   (  593) [001] ...1 1034710.044303: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18892  composer@2.1-s-593   (  593) [001] ...1 1034710.044353: tracing_mark_write: B|593|HWDevice::Commit::
18893  composer@2.1-s-593   (  593) [001] ...1 1034710.044638: tracing_mark_write: E|593
18894  composer@2.1-s-593   (  593) [001] ...1 1034710.044709: tracing_mark_write: E|593
18895  composer@2.1-s-593   (  593) [001] ...1 1034710.044786: tracing_mark_write: E|593
18896  surfaceflinger-591   (  591) [000] ...1 1034710.044981: tracing_mark_write: E|591
18897  HwBinder:778_1-1087  (  778) [000] ...1 1034710.050622: tracing_mark_write: E|778
18898   SensorService-1283  ( 1151) [003] ...1 1034710.050774: tracing_mark_write: E|1151
18899   SensorService-1283  ( 1151) [003] ...1 1034710.050929: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18900  HwBinder:778_1-1087  (  778) [000] ...1 1034710.051073: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18901  HwBinder:778_1-1087  (  778) [001] ...1 1034710.070000: tracing_mark_write: E|778
18902   SensorService-1283  ( 1151) [003] ...1 1034710.070193: tracing_mark_write: E|1151
18903   SensorService-1283  ( 1151) [003] ...1 1034710.070355: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18904  HwBinder:778_1-1087  (  778) [001] ...1 1034710.070512: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18905  HwBinder:778_1-1087  (  778) [000] ...1 1034710.089513: tracing_mark_write: E|778
18906   SensorService-1283  ( 1151) [003] ...1 1034710.089663: tracing_mark_write: E|1151
18907   SensorService-1283  ( 1151) [003] ...1 1034710.089805: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18908  HwBinder:778_1-1087  (  778) [000] ...1 1034710.089940: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18909  surfaceflinger-591   (  591) [000] ...1 1034710.093978: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18910  composer@2.1-s-593   (  593) [001] ...1 1034710.094188: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18911  composer@2.1-s-593   (  593) [001] ...1 1034710.094323: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18912  composer@2.1-s-593   (  593) [001] ...1 1034710.094361: tracing_mark_write: B|593|HWDevice::Commit::
18913  composer@2.1-s-593   (  593) [001] ...1 1034710.094538: tracing_mark_write: E|593
18914  composer@2.1-s-593   (  593) [001] ...1 1034710.094587: tracing_mark_write: E|593
18915  composer@2.1-s-593   (  593) [001] ...1 1034710.094637: tracing_mark_write: E|593
18916  surfaceflinger-591   (  591) [000] ...1 1034710.094759: tracing_mark_write: E|591
18917  HwBinder:778_1-1087  (  778) [000] ...1 1034710.108348: tracing_mark_write: E|778
18918   SensorService-1283  ( 1151) [003] ...1 1034710.108457: tracing_mark_write: E|1151
18919   SensorService-1283  ( 1151) [003] ...1 1034710.108558: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18920  HwBinder:778_1-1087  (  778) [000] ...1 1034710.108623: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18921  surfaceflinger-591   (  591) [003] ...1 1034710.127437: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18922  composer@2.1-s-593   (  593) [001] ...1 1034710.127661: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18923  composer@2.1-s-593   (  593) [001] ...1 1034710.127755: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18924  composer@2.1-s-593   (  593) [001] ...1 1034710.127782: tracing_mark_write: B|593|HWDevice::Commit::
18925  composer@2.1-s-593   (  593) [001] ...1 1034710.127926: tracing_mark_write: E|593
18926  composer@2.1-s-593   (  593) [001] ...1 1034710.127960: tracing_mark_write: E|593
18927  composer@2.1-s-593   (  593) [001] ...1 1034710.128001: tracing_mark_write: E|593
18928  surfaceflinger-591   (  591) [003] ...1 1034710.128094: tracing_mark_write: E|591
18929  HwBinder:778_1-1087  (  778) [000] ...1 1034710.128335: tracing_mark_write: E|778
18930   SensorService-1283  ( 1151) [001] ...1 1034710.128423: tracing_mark_write: E|1151
18931   SensorService-1283  ( 1151) [001] ...1 1034710.128520: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18932  HwBinder:778_1-1087  (  778) [000] ...1 1034710.128575: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18933  HwBinder:778_1-1087  (  778) [000] ...1 1034710.147110: tracing_mark_write: E|778
18934   SensorService-1283  ( 1151) [001] ...1 1034710.147271: tracing_mark_write: E|1151
18935   SensorService-1283  ( 1151) [001] ...1 1034710.147421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18936  HwBinder:778_1-1087  (  778) [000] ...1 1034710.147573: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18937  HwBinder:778_1-1087  (  778) [000] ...1 1034710.166323: tracing_mark_write: E|778
18938   SensorService-1283  ( 1151) [001] ...1 1034710.166620: tracing_mark_write: E|1151
18939   SensorService-1283  ( 1151) [001] ...1 1034710.166850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18940  HwBinder:778_1-1087  (  778) [000] ...1 1034710.166991: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18941  surfaceflinger-591   (  591) [000] ...1 1034710.178147: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18942  composer@2.1-s-593   (  593) [001] ...1 1034710.178443: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18943  composer@2.1-s-593   (  593) [001] ...1 1034710.178605: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18944  composer@2.1-s-593   (  593) [001] ...1 1034710.178650: tracing_mark_write: B|593|HWDevice::Commit::
18945  composer@2.1-s-593   (  593) [001] ...1 1034710.178902: tracing_mark_write: E|593
18946  composer@2.1-s-593   (  593) [001] ...1 1034710.178962: tracing_mark_write: E|593
18947  composer@2.1-s-593   (  593) [001] ...1 1034710.179028: tracing_mark_write: E|593
18948  surfaceflinger-591   (  591) [000] ...1 1034710.179192: tracing_mark_write: E|591
18949  HwBinder:778_1-1087  (  778) [000] ...1 1034710.185666: tracing_mark_write: E|778
18950   SensorService-1283  ( 1151) [001] ...1 1034710.185901: tracing_mark_write: E|1151
18951   SensorService-1283  ( 1151) [001] ...1 1034710.186070: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18952  HwBinder:778_1-1087  (  778) [000] ...1 1034710.186172: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18953  HwBinder:778_1-1087  (  778) [000] ...1 1034710.205179: tracing_mark_write: E|778
18954   SensorService-1283  ( 1151) [001] ...1 1034710.205411: tracing_mark_write: E|1151
18955   SensorService-1283  ( 1151) [001] ...1 1034710.205627: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18956  HwBinder:778_1-1087  (  778) [000] ...1 1034710.205752: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18957  surfaceflinger-591   (  591) [000] ...1 1034710.211338: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18958  composer@2.1-s-593   (  593) [001] ...1 1034710.211570: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18959  composer@2.1-s-593   (  593) [001] ...1 1034710.211685: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18960  composer@2.1-s-593   (  593) [001] ...1 1034710.211719: tracing_mark_write: B|593|HWDevice::Commit::
18961  composer@2.1-s-593   (  593) [001] ...1 1034710.211893: tracing_mark_write: E|593
18962  composer@2.1-s-593   (  593) [001] ...1 1034710.211936: tracing_mark_write: E|593
18963  composer@2.1-s-593   (  593) [001] ...1 1034710.211984: tracing_mark_write: E|593
18964  surfaceflinger-591   (  591) [000] ...1 1034710.212094: tracing_mark_write: E|591
18965  HwBinder:778_1-1087  (  778) [000] ...1 1034710.223983: tracing_mark_write: E|778
18966   SensorService-1283  ( 1151) [001] ...1 1034710.224129: tracing_mark_write: E|1151
18967   SensorService-1283  ( 1151) [001] ...1 1034710.224240: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18968  HwBinder:778_1-1087  (  778) [000] ...1 1034710.224308: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18969  HwBinder:778_1-1087  (  778) [000] ...1 1034710.243098: tracing_mark_write: E|778
18970   SensorService-1283  ( 1151) [001] ...1 1034710.243188: tracing_mark_write: E|1151
18971   SensorService-1283  ( 1151) [001] ...1 1034710.243307: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18972  HwBinder:778_1-1087  (  778) [000] ...1 1034710.243375: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18973  surfaceflinger-591   (  591) [000] ...1 1034710.262338: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18974  HwBinder:778_1-1087  (  778) [001] ...1 1034710.262744: tracing_mark_write: E|778
18975  composer@2.1-s-593   (  593) [000] ...1 1034710.262784: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18976   SensorService-1283  ( 1151) [002] ...1 1034710.262963: tracing_mark_write: E|1151
18977  composer@2.1-s-593   (  593) [000] ...1 1034710.262982: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18978  composer@2.1-s-593   (  593) [000] ...1 1034710.263044: tracing_mark_write: B|593|HWDevice::Commit::
18979   SensorService-1283  ( 1151) [002] ...1 1034710.263288: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18980  composer@2.1-s-593   (  593) [000] ...1 1034710.263485: tracing_mark_write: E|593
18981  HwBinder:778_1-1087  (  778) [001] ...1 1034710.263499: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18982  composer@2.1-s-593   (  593) [000] ...1 1034710.263575: tracing_mark_write: E|593
18983  composer@2.1-s-593   (  593) [000] ...1 1034710.263645: tracing_mark_write: E|593
18984  surfaceflinger-591   (  591) [001] ...1 1034710.263822: tracing_mark_write: E|591
18985  HwBinder:778_1-1087  (  778) [000] ...1 1034710.281670: tracing_mark_write: E|778
18986   SensorService-1283  ( 1151) [002] ...1 1034710.281808: tracing_mark_write: E|1151
18987   SensorService-1283  ( 1151) [002] ...1 1034710.281942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
18988  HwBinder:778_1-1087  (  778) [000] ...1 1034710.282048: tracing_mark_write: B|778|HIDL::ISensors::poll::server
18989        storaged-1036  (  911) [001] ...1 1034710.282917: tracing_mark_write: B|911|HIDL::IHealth::getDiskStats::client
18990  health@2.0-ser-744   (  744) [001] ...1 1034710.285496: tracing_mark_write: B|744|HIDL::IHealth::getDiskStats::server
18991  health@2.0-ser-744   (  744) [001] ...1 1034710.285974: tracing_mark_write: E|744
18992        storaged-1036  (  911) [001] ...1 1034710.286870: tracing_mark_write: E|911
18993  surfaceflinger-591   (  591) [003] ...1 1034710.296054: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
18994  composer@2.1-s-593   (  593) [000] ...1 1034710.296483: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
18995  composer@2.1-s-593   (  593) [000] ...1 1034710.296763: tracing_mark_write: B|593|HWCSession::PresentDisplay::
18996  composer@2.1-s-593   (  593) [000] ...1 1034710.296828: tracing_mark_write: B|593|HWDevice::Commit::
18997  composer@2.1-s-593   (  593) [000] ...1 1034710.297171: tracing_mark_write: E|593
18998  composer@2.1-s-593   (  593) [000] ...1 1034710.297255: tracing_mark_write: E|593
18999  composer@2.1-s-593   (  593) [000] ...1 1034710.297355: tracing_mark_write: E|593
19000  surfaceflinger-591   (  591) [003] ...1 1034710.297606: tracing_mark_write: E|591
19001  HwBinder:778_1-1087  (  778) [000] ...1 1034710.301556: tracing_mark_write: E|778
19002   SensorService-1283  ( 1151) [001] ...1 1034710.301885: tracing_mark_write: E|1151
19003   SensorService-1283  ( 1151) [001] ...1 1034710.302160: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19004  HwBinder:778_1-1087  (  778) [000] ...1 1034710.302338: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19005  HwBinder:778_1-1087  (  778) [000] ...1 1034710.320277: tracing_mark_write: E|778
19006   SensorService-1283  ( 1151) [001] ...1 1034710.320405: tracing_mark_write: E|1151
19007   SensorService-1283  ( 1151) [001] ...1 1034710.320517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19008  HwBinder:778_1-1087  (  778) [000] ...1 1034710.320617: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19009  HwBinder:778_1-1087  (  778) [001] ...1 1034710.339925: tracing_mark_write: E|778
19010   SensorService-1283  ( 1151) [002] ...1 1034710.340155: tracing_mark_write: E|1151
19011   SensorService-1283  ( 1151) [002] ...1 1034710.340375: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19012  HwBinder:778_1-1087  (  778) [001] ...1 1034710.340530: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19013  surfaceflinger-591   (  591) [001] ...1 1034710.346144: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19014  composer@2.1-s-593   (  593) [000] ...1 1034710.346608: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19015  composer@2.1-s-593   (  593) [000] ...1 1034710.346764: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19016  composer@2.1-s-593   (  593) [000] ...1 1034710.346804: tracing_mark_write: B|593|HWDevice::Commit::
19017  composer@2.1-s-593   (  593) [000] ...1 1034710.347004: tracing_mark_write: E|593
19018  composer@2.1-s-593   (  593) [000] ...1 1034710.347054: tracing_mark_write: E|593
19019  composer@2.1-s-593   (  593) [000] ...1 1034710.347110: tracing_mark_write: E|593
19020  surfaceflinger-591   (  591) [001] ...1 1034710.347242: tracing_mark_write: E|591
19021  HwBinder:778_1-1087  (  778) [001] ...1 1034710.358799: tracing_mark_write: E|778
19022   SensorService-1283  ( 1151) [002] ...1 1034710.358940: tracing_mark_write: E|1151
19023   SensorService-1283  ( 1151) [002] ...1 1034710.359059: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19024  HwBinder:778_1-1087  (  778) [001] ...1 1034710.359132: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19025  HwBinder:778_1-1087  (  778) [000] ...1 1034710.378211: tracing_mark_write: E|778
19026   SensorService-1283  ( 1151) [002] ...1 1034710.378484: tracing_mark_write: E|1151
19027   SensorService-1283  ( 1151) [002] ...1 1034710.378726: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19028  HwBinder:778_1-1087  (  778) [000] ...1 1034710.378864: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19029  surfaceflinger-591   (  591) [000] ...1 1034710.395953: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19030  composer@2.1-s-593   (  593) [001] ...1 1034710.396142: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19031  composer@2.1-s-593   (  593) [001] ...1 1034710.396243: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19032  composer@2.1-s-593   (  593) [001] ...1 1034710.396274: tracing_mark_write: B|593|HWDevice::Commit::
19033  composer@2.1-s-593   (  593) [001] ...1 1034710.396435: tracing_mark_write: E|593
19034  composer@2.1-s-593   (  593) [001] ...1 1034710.396474: tracing_mark_write: E|593
19035  composer@2.1-s-593   (  593) [001] ...1 1034710.396520: tracing_mark_write: E|593
19036  surfaceflinger-591   (  591) [000] ...1 1034710.396671: tracing_mark_write: E|591
19037  HwBinder:778_1-1087  (  778) [001] ...1 1034710.397063: tracing_mark_write: E|778
19038   SensorService-1283  ( 1151) [000] ...1 1034710.397172: tracing_mark_write: E|1151
19039   SensorService-1283  ( 1151) [000] ...1 1034710.397286: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19040  HwBinder:778_1-1087  (  778) [001] ...1 1034710.397359: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19041  HwBinder:778_1-1087  (  778) [000] ...1 1034710.416606: tracing_mark_write: E|778
19042   SensorService-1283  ( 1151) [001] ...1 1034710.416790: tracing_mark_write: E|1151
19043   SensorService-1283  ( 1151) [001] ...1 1034710.416933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19044  HwBinder:778_1-1087  (  778) [000] ...1 1034710.417036: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19045  surfaceflinger-591   (  591) [000] ...1 1034710.430133: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19046  composer@2.1-s-593   (  593) [001] ...1 1034710.430526: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19047  composer@2.1-s-593   (  593) [001] ...1 1034710.430713: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19048  composer@2.1-s-593   (  593) [001] ...1 1034710.430782: tracing_mark_write: B|593|HWDevice::Commit::
19049  composer@2.1-s-593   (  593) [001] ...1 1034710.431098: tracing_mark_write: E|593
19050  composer@2.1-s-593   (  593) [001] ...1 1034710.431180: tracing_mark_write: E|593
19051  composer@2.1-s-593   (  593) [001] ...1 1034710.431264: tracing_mark_write: E|593
19052  surfaceflinger-591   (  591) [000] ...1 1034710.431487: tracing_mark_write: E|591
19053  HwBinder:778_1-1087  (  778) [000] ...1 1034710.436044: tracing_mark_write: E|778
19054   SensorService-1283  ( 1151) [001] ...1 1034710.436307: tracing_mark_write: E|1151
19055   SensorService-1283  ( 1151) [001] ...1 1034710.436587: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19056  HwBinder:778_1-1087  (  778) [000] ...1 1034710.436745: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19057  HwBinder:778_1-1087  (  778) [000] ...1 1034710.456398: tracing_mark_write: E|778
19058   SensorService-1283  ( 1151) [001] ...1 1034710.456618: tracing_mark_write: E|1151
19059   SensorService-1283  ( 1151) [001] ...1 1034710.456787: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19060  HwBinder:778_1-1087  (  778) [000] ...1 1034710.456907: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19061  HwBinder:778_1-1087  (  778) [000] ...1 1034710.474161: tracing_mark_write: E|778
19062   SensorService-1283  ( 1151) [001] ...1 1034710.474299: tracing_mark_write: E|1151
19063   SensorService-1283  ( 1151) [001] ...1 1034710.474410: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19064  HwBinder:778_1-1087  (  778) [000] ...1 1034710.474479: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19065  surfaceflinger-591   (  591) [000] ...1 1034710.479535: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19066  composer@2.1-s-593   (  593) [001] ...1 1034710.479652: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19067  composer@2.1-s-593   (  593) [001] ...1 1034710.479720: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19068  composer@2.1-s-593   (  593) [001] ...1 1034710.479741: tracing_mark_write: B|593|HWDevice::Commit::
19069  composer@2.1-s-593   (  593) [001] ...1 1034710.479852: tracing_mark_write: E|593
19070  composer@2.1-s-593   (  593) [001] ...1 1034710.479900: tracing_mark_write: E|593
19071  composer@2.1-s-593   (  593) [001] ...1 1034710.479931: tracing_mark_write: E|593
19072  surfaceflinger-591   (  591) [000] ...1 1034710.480009: tracing_mark_write: E|591
19073  HwBinder:778_1-1087  (  778) [000] ...1 1034710.493437: tracing_mark_write: E|778
19074   SensorService-1283  ( 1151) [001] ...1 1034710.493546: tracing_mark_write: E|1151
19075   SensorService-1283  ( 1151) [001] ...1 1034710.493791: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19076  HwBinder:778_1-1087  (  778) [000] ...1 1034710.493947: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19077  HwBinder:778_1-1087  (  778) [001] ...1 1034710.512930: tracing_mark_write: E|778
19078   SensorService-1283  ( 1151) [003] ...1 1034710.513108: tracing_mark_write: E|1151
19079   SensorService-1283  ( 1151) [003] ...1 1034710.513352: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19080  HwBinder:778_1-1087  (  778) [001] ...1 1034710.513501: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19081  surfaceflinger-591   (  591) [000] ...1 1034710.513679: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19082  composer@2.1-s-593   (  593) [001] ...1 1034710.513959: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19083  composer@2.1-s-593   (  593) [001] ...1 1034710.514145: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19084  composer@2.1-s-593   (  593) [001] ...1 1034710.514200: tracing_mark_write: B|593|HWDevice::Commit::
19085  composer@2.1-s-593   (  593) [001] ...1 1034710.514601: tracing_mark_write: E|593
19086  composer@2.1-s-593   (  593) [001] ...1 1034710.514681: tracing_mark_write: E|593
19087  composer@2.1-s-593   (  593) [001] ...1 1034710.514762: tracing_mark_write: E|593
19088  surfaceflinger-591   (  591) [000] ...1 1034710.514961: tracing_mark_write: E|591
19089  HwBinder:778_1-1087  (  778) [000] ...1 1034710.532027: tracing_mark_write: E|778
19090   SensorService-1283  ( 1151) [003] ...1 1034710.532181: tracing_mark_write: E|1151
19091   SensorService-1283  ( 1151) [003] ...1 1034710.532331: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19092  HwBinder:778_1-1087  (  778) [000] ...1 1034710.532476: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19093  HwBinder:778_1-1087  (  778) [002] ...1 1034710.551289: tracing_mark_write: E|778
19094   SensorService-1283  ( 1151) [003] ...1 1034710.551470: tracing_mark_write: E|1151
19095   SensorService-1283  ( 1151) [003] ...1 1034710.551639: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19096  HwBinder:778_1-1087  (  778) [002] ...1 1034710.551785: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19097  surfaceflinger-591   (  591) [000] ...1 1034710.564172: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19098  composer@2.1-s-593   (  593) [001] ...1 1034710.564462: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19099  composer@2.1-s-593   (  593) [001] ...1 1034710.564608: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19100  composer@2.1-s-593   (  593) [001] ...1 1034710.564651: tracing_mark_write: B|593|HWDevice::Commit::
19101  composer@2.1-s-593   (  593) [001] ...1 1034710.564899: tracing_mark_write: E|593
19102  composer@2.1-s-593   (  593) [001] ...1 1034710.564958: tracing_mark_write: E|593
19103  composer@2.1-s-593   (  593) [001] ...1 1034710.565028: tracing_mark_write: E|593
19104  surfaceflinger-591   (  591) [000] ...1 1034710.565208: tracing_mark_write: E|591
19105  HwBinder:778_1-1087  (  778) [000] ...1 1034710.570473: tracing_mark_write: E|778
19106   SensorService-1283  ( 1151) [003] ...1 1034710.570599: tracing_mark_write: E|1151
19107   SensorService-1283  ( 1151) [003] ...1 1034710.570739: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19108  HwBinder:778_1-1087  (  778) [000] ...1 1034710.570850: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19109  HwBinder:778_1-1087  (  778) [001] ...1 1034710.589708: tracing_mark_write: E|778
19110   SensorService-1283  ( 1151) [003] ...1 1034710.589864: tracing_mark_write: E|1151
19111   SensorService-1283  ( 1151) [003] ...1 1034710.590091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19112  HwBinder:778_1-1087  (  778) [001] ...1 1034710.590249: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19113  surfaceflinger-591   (  591) [000] ...1 1034710.596987: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19114  composer@2.1-s-593   (  593) [001] ...1 1034710.597120: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19115  composer@2.1-s-593   (  593) [001] ...1 1034710.597203: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19116  composer@2.1-s-593   (  593) [001] ...1 1034710.597230: tracing_mark_write: B|593|HWDevice::Commit::
19117  composer@2.1-s-593   (  593) [001] ...1 1034710.597359: tracing_mark_write: E|593
19118  composer@2.1-s-593   (  593) [001] ...1 1034710.597394: tracing_mark_write: E|593
19119  composer@2.1-s-593   (  593) [001] ...1 1034710.597431: tracing_mark_write: E|593
19120  surfaceflinger-591   (  591) [000] ...1 1034710.597518: tracing_mark_write: E|591
19121  HwBinder:778_1-1087  (  778) [000] ...1 1034710.608970: tracing_mark_write: E|778
19122   SensorService-1283  ( 1151) [003] ...1 1034710.609044: tracing_mark_write: E|1151
19123   SensorService-1283  ( 1151) [003] ...1 1034710.609129: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19124  HwBinder:778_1-1087  (  778) [000] ...1 1034710.609184: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19125  HwBinder:778_1-1087  (  778) [000] ...1 1034710.628204: tracing_mark_write: E|778
19126   SensorService-1283  ( 1151) [003] ...1 1034710.628334: tracing_mark_write: E|1151
19127   SensorService-1283  ( 1151) [003] ...1 1034710.628457: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19128  HwBinder:778_1-1087  (  778) [000] ...1 1034710.628591: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19129  HwBinder:778_1-1087  (  778) [003] ...1 1034710.647895: tracing_mark_write: E|778
19130  surfaceflinger-591   (  591) [002] ...1 1034710.647903: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19131   SensorService-1283  ( 1151) [007] ...1 1034710.648020: tracing_mark_write: E|1151
19132   SensorService-1283  ( 1151) [007] ...1 1034710.648088: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19133  composer@2.1-s-593   (  593) [001] ...1 1034710.648189: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19134  HwBinder:778_1-1087  (  778) [003] ...1 1034710.648198: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19135  composer@2.1-s-593   (  593) [001] ...1 1034710.648355: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19136  composer@2.1-s-593   (  593) [001] ...1 1034710.648405: tracing_mark_write: B|593|HWDevice::Commit::
19137  composer@2.1-s-593   (  593) [001] ...1 1034710.648699: tracing_mark_write: E|593
19138  composer@2.1-s-593   (  593) [001] ...1 1034710.648771: tracing_mark_write: E|593
19139  composer@2.1-s-593   (  593) [001] ...1 1034710.648850: tracing_mark_write: E|593
19140  surfaceflinger-591   (  591) [002] ...1 1034710.649072: tracing_mark_write: E|591
19141  HwBinder:778_1-1087  (  778) [000] ...1 1034710.666910: tracing_mark_write: E|778
19142   SensorService-1283  ( 1151) [007] ...1 1034710.667053: tracing_mark_write: E|1151
19143   SensorService-1283  ( 1151) [007] ...1 1034710.667127: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19144  sensors@1.0-se-778   (  778) [006] ...1 1034710.667214: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19145  surfaceflinger-591   (  591) [000] ...1 1034710.681398: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19146  composer@2.1-s-593   (  593) [001] ...1 1034710.681662: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19147  composer@2.1-s-593   (  593) [001] ...1 1034710.681827: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19148  composer@2.1-s-593   (  593) [001] ...1 1034710.681876: tracing_mark_write: B|593|HWDevice::Commit::
19149  composer@2.1-s-593   (  593) [001] ...1 1034710.682157: tracing_mark_write: E|593
19150  composer@2.1-s-593   (  593) [001] ...1 1034710.682223: tracing_mark_write: E|593
19151  composer@2.1-s-593   (  593) [001] ...1 1034710.682296: tracing_mark_write: E|593
19152  surfaceflinger-591   (  591) [000] ...1 1034710.682475: tracing_mark_write: E|591
19153  sensors@1.0-se-778   (  778) [006] ...1 1034710.685843: tracing_mark_write: E|778
19154   SensorService-1283  ( 1151) [007] ...1 1034710.685892: tracing_mark_write: E|1151
19155   SensorService-1283  ( 1151) [007] ...1 1034710.685933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19156  sensors@1.0-se-778   (  778) [006] ...1 1034710.685963: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19157  sensors@1.0-se-778   (  778) [006] ...1 1034710.705167: tracing_mark_write: E|778
19158   SensorService-1283  ( 1151) [007] ...1 1034710.705187: tracing_mark_write: E|1151
19159   SensorService-1283  ( 1151) [007] ...1 1034710.705202: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19160  sensors@1.0-se-778   (  778) [006] ...1 1034710.705222: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19161  sensors@1.0-se-778   (  778) [006] ...1 1034710.724338: tracing_mark_write: E|778
19162   SensorService-1283  ( 1151) [007] ...1 1034710.724372: tracing_mark_write: E|1151
19163   SensorService-1283  ( 1151) [007] ...1 1034710.724402: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19164  sensors@1.0-se-778   (  778) [006] ...1 1034710.724428: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19165  surfaceflinger-591   (  591) [000] ...1 1034710.731606: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19166  composer@2.1-s-593   (  593) [001] ...1 1034710.731849: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19167  composer@2.1-s-593   (  593) [001] ...1 1034710.731989: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19168  composer@2.1-s-593   (  593) [001] ...1 1034710.732042: tracing_mark_write: B|593|HWDevice::Commit::
19169  composer@2.1-s-593   (  593) [001] ...1 1034710.732322: tracing_mark_write: E|593
19170  composer@2.1-s-593   (  593) [001] ...1 1034710.732387: tracing_mark_write: E|593
19171  composer@2.1-s-593   (  593) [001] ...1 1034710.732457: tracing_mark_write: E|593
19172  surfaceflinger-591   (  591) [000] ...1 1034710.732692: tracing_mark_write: E|591
19173  sensors@1.0-se-778   (  778) [006] ...1 1034710.743672: tracing_mark_write: E|778
19174   SensorService-1283  ( 1151) [007] ...1 1034710.743747: tracing_mark_write: E|1151
19175   SensorService-1283  ( 1151) [007] ...1 1034710.743824: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19176  sensors@1.0-se-778   (  778) [006] ...1 1034710.743894: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19177  sensors@1.0-se-778   (  778) [006] ...1 1034710.763004: tracing_mark_write: E|778
19178   SensorService-1283  ( 1151) [007] ...1 1034710.763073: tracing_mark_write: E|1151
19179   SensorService-1283  ( 1151) [007] ...1 1034710.763139: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19180  sensors@1.0-se-778   (  778) [006] ...1 1034710.763188: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19181  surfaceflinger-591   (  591) [002] ...1 1034710.765388: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19182  composer@2.1-s-593   (  593) [001] ...1 1034710.765690: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19183  composer@2.1-s-593   (  593) [001] ...1 1034710.765844: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19184  composer@2.1-s-593   (  593) [001] ...1 1034710.765888: tracing_mark_write: B|593|HWDevice::Commit::
19185  composer@2.1-s-593   (  593) [001] ...1 1034710.766157: tracing_mark_write: E|593
19186  composer@2.1-s-593   (  593) [001] ...1 1034710.766314: tracing_mark_write: E|593
19187  composer@2.1-s-593   (  593) [001] ...1 1034710.766395: tracing_mark_write: E|593
19188  surfaceflinger-591   (  591) [000] ...1 1034710.766705: tracing_mark_write: E|591
19189  sensors@1.0-se-778   (  778) [006] ...1 1034710.782550: tracing_mark_write: E|778
19190   SensorService-1283  ( 1151) [007] ...1 1034710.782721: tracing_mark_write: E|1151
19191   SensorService-1283  ( 1151) [007] ...1 1034710.782880: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19192  sensors@1.0-se-778   (  778) [004] ...1 1034710.783048: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19193  sensors@1.0-se-778   (  778) [006] ...1 1034710.801888: tracing_mark_write: E|778
19194   SensorService-1283  ( 1151) [007] ...1 1034710.802097: tracing_mark_write: E|1151
19195   SensorService-1283  ( 1151) [007] ...1 1034710.802279: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19196  sensors@1.0-se-778   (  778) [004] ...1 1034710.802470: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19197  surfaceflinger-591   (  591) [000] ...1 1034710.815622: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19198  composer@2.1-s-593   (  593) [001] ...1 1034710.816006: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19199  composer@2.1-s-593   (  593) [001] ...1 1034710.816188: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19200  composer@2.1-s-593   (  593) [001] ...1 1034710.816234: tracing_mark_write: B|593|HWDevice::Commit::
19201  composer@2.1-s-593   (  593) [001] ...1 1034710.816497: tracing_mark_write: E|593
19202  composer@2.1-s-593   (  593) [001] ...1 1034710.816627: tracing_mark_write: E|593
19203  composer@2.1-s-593   (  593) [001] ...1 1034710.816701: tracing_mark_write: E|593
19204  surfaceflinger-591   (  591) [000] ...1 1034710.816900: tracing_mark_write: E|591
19205  sensors@1.0-se-778   (  778) [004] ...1 1034710.821086: tracing_mark_write: E|778
19206   SensorService-1283  ( 1151) [007] ...1 1034710.821260: tracing_mark_write: E|1151
19207   SensorService-1283  ( 1151) [007] ...1 1034710.821420: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19208  sensors@1.0-se-778   (  778) [004] ...1 1034710.821575: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19209  sensors@1.0-se-778   (  778) [004] ...1 1034710.840423: tracing_mark_write: E|778
19210   SensorService-1283  ( 1151) [007] ...1 1034710.840598: tracing_mark_write: E|1151
19211   SensorService-1283  ( 1151) [007] ...1 1034710.840811: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19212  sensors@1.0-se-778   (  778) [004] ...1 1034710.840960: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19213  surfaceflinger-591   (  591) [000] ...1 1034710.849229: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19214  composer@2.1-s-593   (  593) [001] ...1 1034710.849495: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19215  composer@2.1-s-593   (  593) [001] ...1 1034710.849649: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19216  composer@2.1-s-593   (  593) [001] ...1 1034710.849693: tracing_mark_write: B|593|HWDevice::Commit::
19217  composer@2.1-s-593   (  593) [001] ...1 1034710.850088: tracing_mark_write: E|593
19218  composer@2.1-s-593   (  593) [001] ...1 1034710.850153: tracing_mark_write: E|593
19219  composer@2.1-s-593   (  593) [001] ...1 1034710.850225: tracing_mark_write: E|593
19220  surfaceflinger-591   (  591) [000] ...1 1034710.850418: tracing_mark_write: E|591
19221  sensors@1.0-se-778   (  778) [004] ...1 1034710.859481: tracing_mark_write: E|778
19222   SensorService-1283  ( 1151) [007] ...1 1034710.859678: tracing_mark_write: E|1151
19223   SensorService-1283  ( 1151) [007] ...1 1034710.859949: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19224  sensors@1.0-se-778   (  778) [004] ...1 1034710.860098: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19225  sensors@1.0-se-778   (  778) [004] ...1 1034710.878786: tracing_mark_write: E|778
19226   SensorService-1283  ( 1151) [007] ...1 1034710.878936: tracing_mark_write: E|1151
19227   SensorService-1283  ( 1151) [007] ...1 1034710.879091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19228  sensors@1.0-se-778   (  778) [004] ...1 1034710.879229: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19229  sensors@1.0-se-778   (  778) [004] ...1 1034710.898055: tracing_mark_write: E|778
19230   SensorService-1283  ( 1151) [007] ...1 1034710.898243: tracing_mark_write: E|1151
19231   SensorService-1283  ( 1151) [007] ...1 1034710.898438: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19232  sensors@1.0-se-778   (  778) [004] ...1 1034710.898590: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19233  surfaceflinger-591   (  591) [000] ...1 1034710.899474: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19234  composer@2.1-s-593   (  593) [001] ...1 1034710.899809: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19235  composer@2.1-s-593   (  593) [001] ...1 1034710.900164: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19236  composer@2.1-s-593   (  593) [001] ...1 1034710.900209: tracing_mark_write: B|593|HWDevice::Commit::
19237  composer@2.1-s-593   (  593) [001] ...1 1034710.900473: tracing_mark_write: E|593
19238  composer@2.1-s-593   (  593) [001] ...1 1034710.900539: tracing_mark_write: E|593
19239  composer@2.1-s-593   (  593) [001] ...1 1034710.900613: tracing_mark_write: E|593
19240  surfaceflinger-591   (  591) [000] ...1 1034710.900823: tracing_mark_write: E|591
19241  sensors@1.0-se-778   (  778) [004] ...1 1034710.917285: tracing_mark_write: E|778
19242   SensorService-1283  ( 1151) [007] ...1 1034710.917436: tracing_mark_write: E|1151
19243   SensorService-1283  ( 1151) [007] ...1 1034710.917585: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19244  sensors@1.0-se-778   (  778) [004] ...1 1034710.917714: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19245  surfaceflinger-591   (  591) [000] ...1 1034710.933069: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19246  composer@2.1-s-593   (  593) [001] ...1 1034710.933414: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19247  composer@2.1-s-593   (  593) [001] ...1 1034710.933556: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19248  composer@2.1-s-593   (  593) [001] ...1 1034710.933598: tracing_mark_write: B|593|HWDevice::Commit::
19249  composer@2.1-s-593   (  593) [001] ...1 1034710.933855: tracing_mark_write: E|593
19250  composer@2.1-s-593   (  593) [001] ...1 1034710.933918: tracing_mark_write: E|593
19251  composer@2.1-s-593   (  593) [001] ...1 1034710.933989: tracing_mark_write: E|593
19252  surfaceflinger-591   (  591) [000] ...1 1034710.934183: tracing_mark_write: E|591
19253  sensors@1.0-se-778   (  778) [004] ...1 1034710.936604: tracing_mark_write: E|778
19254   SensorService-1283  ( 1151) [007] ...1 1034710.936794: tracing_mark_write: E|1151
19255   SensorService-1283  ( 1151) [007] ...1 1034710.937001: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19256  sensors@1.0-se-778   (  778) [004] ...1 1034710.937153: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19257  sensors@1.0-se-778   (  778) [004] ...1 1034710.955618: tracing_mark_write: E|778
19258   SensorService-1283  ( 1151) [007] ...1 1034710.955802: tracing_mark_write: E|1151
19259   SensorService-1283  ( 1151) [007] ...1 1034710.955965: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19260  sensors@1.0-se-778   (  778) [004] ...1 1034710.956103: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19261  sensors@1.0-se-778   (  778) [004] ...1 1034710.974909: tracing_mark_write: E|778
19262   SensorService-1283  ( 1151) [007] ...1 1034710.975097: tracing_mark_write: E|1151
19263   SensorService-1283  ( 1151) [007] ...1 1034710.975271: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19264  sensors@1.0-se-778   (  778) [004] ...1 1034710.975425: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19265  surfaceflinger-591   (  591) [000] ...1 1034710.983536: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19266  composer@2.1-s-593   (  593) [001] ...1 1034710.983864: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19267  composer@2.1-s-593   (  593) [001] ...1 1034710.984031: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19268  composer@2.1-s-593   (  593) [001] ...1 1034710.984080: tracing_mark_write: B|593|HWDevice::Commit::
19269  composer@2.1-s-593   (  593) [001] ...1 1034710.984354: tracing_mark_write: E|593
19270  composer@2.1-s-593   (  593) [001] ...1 1034710.984421: tracing_mark_write: E|593
19271  composer@2.1-s-593   (  593) [001] ...1 1034710.984499: tracing_mark_write: E|593
19272  surfaceflinger-591   (  591) [000] ...1 1034710.984703: tracing_mark_write: E|591
19273  sensors@1.0-se-778   (  778) [004] ...1 1034710.994415: tracing_mark_write: E|778
19274   SensorService-1283  ( 1151) [007] ...1 1034710.994550: tracing_mark_write: E|1151
19275   SensorService-1283  ( 1151) [007] ...1 1034710.994674: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19276  sensors@1.0-se-778   (  778) [004] ...1 1034710.994794: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19277  sensors@1.0-se-778   (  778) [004] ...1 1034711.013573: tracing_mark_write: E|778
19278   SensorService-1283  ( 1151) [007] ...1 1034711.013710: tracing_mark_write: E|1151
19279   SensorService-1283  ( 1151) [007] ...1 1034711.013835: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19280  sensors@1.0-se-778   (  778) [004] ...1 1034711.013941: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19281  surfaceflinger-591   (  591) [000] ...1 1034711.017004: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19282  composer@2.1-s-593   (  593) [001] ...1 1034711.017279: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19283  composer@2.1-s-593   (  593) [001] ...1 1034711.017437: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19284  composer@2.1-s-593   (  593) [001] ...1 1034711.017486: tracing_mark_write: B|593|HWDevice::Commit::
19285  composer@2.1-s-593   (  593) [001] ...1 1034711.017783: tracing_mark_write: E|593
19286  composer@2.1-s-593   (  593) [000] ...1 1034711.017942: tracing_mark_write: E|593
19287  composer@2.1-s-593   (  593) [000] ...1 1034711.018032: tracing_mark_write: E|593
19288  surfaceflinger-591   (  591) [001] ...1 1034711.018267: tracing_mark_write: E|591
19289  sensors@1.0-se-778   (  778) [004] ...1 1034711.032947: tracing_mark_write: E|778
19290   SensorService-1283  ( 1151) [007] ...1 1034711.033054: tracing_mark_write: E|1151
19291   SensorService-1283  ( 1151) [007] ...1 1034711.033179: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19292  sensors@1.0-se-778   (  778) [004] ...1 1034711.033307: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19293  sensors@1.0-se-778   (  778) [004] ...1 1034711.052062: tracing_mark_write: E|778
19294   SensorService-1283  ( 1151) [007] ...1 1034711.052135: tracing_mark_write: E|1151
19295   SensorService-1283  ( 1151) [007] ...1 1034711.052213: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19296  sensors@1.0-se-778   (  778) [004] ...1 1034711.052277: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19297  surfaceflinger-591   (  591) [001] ...1 1034711.067454: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19298  composer@2.1-s-593   (  593) [000] ...1 1034711.067743: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19299  composer@2.1-s-593   (  593) [000] ...1 1034711.067912: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19300  composer@2.1-s-593   (  593) [000] ...1 1034711.067964: tracing_mark_write: B|593|HWDevice::Commit::
19301  composer@2.1-s-593   (  593) [000] ...1 1034711.068249: tracing_mark_write: E|593
19302  composer@2.1-s-593   (  593) [000] ...1 1034711.068317: tracing_mark_write: E|593
19303  composer@2.1-s-593   (  593) [000] ...1 1034711.068391: tracing_mark_write: E|593
19304  surfaceflinger-591   (  591) [001] ...1 1034711.068588: tracing_mark_write: E|591
19305  sensors@1.0-se-778   (  778) [004] ...1 1034711.071465: tracing_mark_write: E|778
19306   SensorService-1283  ( 1151) [007] ...1 1034711.071577: tracing_mark_write: E|1151
19307   SensorService-1283  ( 1151) [007] ...1 1034711.071668: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19308  sensors@1.0-se-778   (  778) [004] ...1 1034711.071775: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19309  sensors@1.0-se-778   (  778) [004] ...1 1034711.090731: tracing_mark_write: E|778
19310   SensorService-1283  ( 1151) [007] ...1 1034711.090883: tracing_mark_write: E|1151
19311   SensorService-1283  ( 1151) [007] ...1 1034711.091005: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19312  sensors@1.0-se-778   (  778) [004] ...1 1034711.091116: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19313  sensors@1.0-se-778   (  778) [004] ...1 1034711.109807: tracing_mark_write: E|778
19314   SensorService-1283  ( 1151) [007] ...1 1034711.109932: tracing_mark_write: E|1151
19315   SensorService-1283  ( 1151) [007] ...1 1034711.110068: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19316  sensors@1.0-se-778   (  778) [004] ...1 1034711.110156: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19317  surfaceflinger-591   (  591) [000] ...1 1034711.117709: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19318  composer@2.1-s-593   (  593) [001] ...1 1034711.118006: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19319  composer@2.1-s-593   (  593) [001] ...1 1034711.118174: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19320  composer@2.1-s-593   (  593) [001] ...1 1034711.118223: tracing_mark_write: B|593|HWDevice::Commit::
19321  composer@2.1-s-593   (  593) [001] ...1 1034711.118508: tracing_mark_write: E|593
19322  composer@2.1-s-593   (  593) [001] ...1 1034711.118576: tracing_mark_write: E|593
19323  composer@2.1-s-593   (  593) [001] ...1 1034711.118653: tracing_mark_write: E|593
19324  surfaceflinger-591   (  591) [000] ...1 1034711.118888: tracing_mark_write: E|591
19325  sensors@1.0-se-778   (  778) [004] ...1 1034711.129238: tracing_mark_write: E|778
19326   SensorService-1283  ( 1151) [007] ...1 1034711.129393: tracing_mark_write: E|1151
19327   SensorService-1283  ( 1151) [007] ...1 1034711.129530: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19328  sensors@1.0-se-778   (  778) [004] ...1 1034711.129622: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19329  sensors@1.0-se-778   (  778) [004] ...1 1034711.148381: tracing_mark_write: E|778
19330   SensorService-1283  ( 1151) [007] ...1 1034711.148513: tracing_mark_write: E|1151
19331   SensorService-1283  ( 1151) [007] ...1 1034711.148621: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19332  sensors@1.0-se-778   (  778) [004] ...1 1034711.148694: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19333  surfaceflinger-591   (  591) [000] ...1 1034711.151504: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19334  composer@2.1-s-593   (  593) [001] ...1 1034711.151852: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19335  composer@2.1-s-593   (  593) [001] ...1 1034711.152020: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19336  composer@2.1-s-593   (  593) [001] ...1 1034711.152076: tracing_mark_write: B|593|HWDevice::Commit::
19337  composer@2.1-s-593   (  593) [001] ...1 1034711.152385: tracing_mark_write: E|593
19338  composer@2.1-s-593   (  593) [001] ...1 1034711.152459: tracing_mark_write: E|593
19339  composer@2.1-s-593   (  593) [001] ...1 1034711.152545: tracing_mark_write: E|593
19340  surfaceflinger-591   (  591) [000] ...1 1034711.152762: tracing_mark_write: E|591
19341  sensors@1.0-se-778   (  778) [004] ...1 1034711.167725: tracing_mark_write: E|778
19342   SensorService-1283  ( 1151) [007] ...1 1034711.167824: tracing_mark_write: E|1151
19343   SensorService-1283  ( 1151) [007] ...1 1034711.167900: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19344  sensors@1.0-se-778   (  778) [004] ...1 1034711.167957: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19345  sensors@1.0-se-778   (  778) [004] ...1 1034711.187161: tracing_mark_write: E|778
19346   SensorService-1283  ( 1151) [007] ...1 1034711.187247: tracing_mark_write: E|1151
19347   SensorService-1283  ( 1151) [007] ...1 1034711.187328: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19348  sensors@1.0-se-778   (  778) [004] ...1 1034711.187382: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19349  surfaceflinger-591   (  591) [000] ...1 1034711.201682: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19350  composer@2.1-s-593   (  593) [001] ...1 1034711.201963: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19351  composer@2.1-s-593   (  593) [001] ...1 1034711.202130: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19352  composer@2.1-s-593   (  593) [001] ...1 1034711.202178: tracing_mark_write: B|593|HWDevice::Commit::
19353  composer@2.1-s-593   (  593) [001] ...1 1034711.202473: tracing_mark_write: E|593
19354  composer@2.1-s-593   (  593) [001] ...1 1034711.202543: tracing_mark_write: E|593
19355  composer@2.1-s-593   (  593) [001] ...1 1034711.202619: tracing_mark_write: E|593
19356  surfaceflinger-591   (  591) [000] ...1 1034711.202820: tracing_mark_write: E|591
19357  sensors@1.0-se-778   (  778) [004] ...1 1034711.206108: tracing_mark_write: E|778
19358   SensorService-1283  ( 1151) [007] ...1 1034711.206164: tracing_mark_write: E|1151
19359   SensorService-1283  ( 1151) [007] ...1 1034711.206214: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19360  sensors@1.0-se-778   (  778) [004] ...1 1034711.206253: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19361  sensors@1.0-se-778   (  778) [004] ...1 1034711.225282: tracing_mark_write: E|778
19362   SensorService-1283  ( 1151) [007] ...1 1034711.225357: tracing_mark_write: E|1151
19363   SensorService-1283  ( 1151) [007] ...1 1034711.225421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19364  sensors@1.0-se-778   (  778) [004] ...1 1034711.225457: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19365  surfaceflinger-591   (  591) [000] ...1 1034711.235387: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19366  composer@2.1-s-593   (  593) [001] ...1 1034711.235686: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19367  composer@2.1-s-593   (  593) [001] ...1 1034711.235864: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19368  composer@2.1-s-593   (  593) [001] ...1 1034711.235917: tracing_mark_write: B|593|HWDevice::Commit::
19369  composer@2.1-s-593   (  593) [001] ...1 1034711.236242: tracing_mark_write: E|593
19370  composer@2.1-s-593   (  593) [001] ...1 1034711.236316: tracing_mark_write: E|593
19371  composer@2.1-s-593   (  593) [001] ...1 1034711.236399: tracing_mark_write: E|593
19372  surfaceflinger-591   (  591) [000] ...1 1034711.236667: tracing_mark_write: E|591
19373  sensors@1.0-se-778   (  778) [004] ...1 1034711.244619: tracing_mark_write: E|778
19374   SensorService-1283  ( 1151) [007] ...1 1034711.244659: tracing_mark_write: E|1151
19375   SensorService-1283  ( 1151) [007] ...1 1034711.244693: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19376  sensors@1.0-se-778   (  778) [004] .n.1 1034711.244722: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19377  sensors@1.0-se-778   (  778) [004] ...1 1034711.263514: tracing_mark_write: E|778
19378   SensorService-1283  ( 1151) [007] ...1 1034711.263550: tracing_mark_write: E|1151
19379   SensorService-1283  ( 1151) [007] ...1 1034711.263587: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19380  sensors@1.0-se-778   (  778) [004] ...1 1034711.263612: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19381  sensors@1.0-se-778   (  778) [004] ...1 1034711.282881: tracing_mark_write: E|778
19382   SensorService-1283  ( 1151) [007] ...1 1034711.282987: tracing_mark_write: E|1151
19383   SensorService-1283  ( 1151) [007] ...1 1034711.283076: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19384  sensors@1.0-se-778   (  778) [004] ...1 1034711.283122: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19385  surfaceflinger-591   (  591) [000] ...1 1034711.285451: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19386  composer@2.1-s-593   (  593) [001] ...1 1034711.285713: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19387  composer@2.1-s-593   (  593) [001] ...1 1034711.285868: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19388  composer@2.1-s-593   (  593) [001] ...1 1034711.285915: tracing_mark_write: B|593|HWDevice::Commit::
19389  composer@2.1-s-593   (  593) [001] ...1 1034711.286203: tracing_mark_write: E|593
19390  composer@2.1-s-593   (  593) [001] ...1 1034711.286272: tracing_mark_write: E|593
19391  composer@2.1-s-593   (  593) [001] ...1 1034711.286349: tracing_mark_write: E|593
19392  surfaceflinger-591   (  591) [000] ...1 1034711.286611: tracing_mark_write: E|591
19393  sensors@1.0-se-778   (  778) [004] ...1 1034711.302140: tracing_mark_write: E|778
19394   SensorService-1283  ( 1151) [007] ...1 1034711.302402: tracing_mark_write: E|1151
19395   SensorService-1283  ( 1151) [007] ...1 1034711.302625: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19396  sensors@1.0-se-778   (  778) [004] ...1 1034711.302802: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19397  surfaceflinger-591   (  591) [000] ...1 1034711.318967: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19398  composer@2.1-s-593   (  593) [001] ...1 1034711.319228: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19399  composer@2.1-s-593   (  593) [001] ...1 1034711.319380: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19400  composer@2.1-s-593   (  593) [001] ...1 1034711.319425: tracing_mark_write: B|593|HWDevice::Commit::
19401  composer@2.1-s-593   (  593) [001] ...1 1034711.319700: tracing_mark_write: E|593
19402  composer@2.1-s-593   (  593) [001] ...1 1034711.319767: tracing_mark_write: E|593
19403  composer@2.1-s-593   (  593) [001] ...1 1034711.319850: tracing_mark_write: E|593
19404  surfaceflinger-591   (  591) [000] ...1 1034711.320125: tracing_mark_write: E|591
19405  sensors@1.0-se-778   (  778) [004] ...1 1034711.321254: tracing_mark_write: E|778
19406   SensorService-1283  ( 1151) [007] ...1 1034711.321329: tracing_mark_write: E|1151
19407   SensorService-1283  ( 1151) [007] ...1 1034711.321404: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19408  sensors@1.0-se-778   (  778) [004] ...1 1034711.321442: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19409  sensors@1.0-se-778   (  778) [004] ...1 1034711.340582: tracing_mark_write: E|778
19410   SensorService-1283  ( 1151) [007] ...1 1034711.340651: tracing_mark_write: E|1151
19411   SensorService-1283  ( 1151) [007] ...1 1034711.340709: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19412  sensors@1.0-se-778   (  778) [004] ...1 1034711.340760: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19413  sensors@1.0-se-778   (  778) [004] ...1 1034711.360106: tracing_mark_write: E|778
19414   SensorService-1283  ( 1151) [007] ...1 1034711.360193: tracing_mark_write: E|1151
19415   SensorService-1283  ( 1151) [007] ...1 1034711.360269: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19416  sensors@1.0-se-778   (  778) [004] ...1 1034711.360312: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19417  surfaceflinger-591   (  591) [000] ...1 1034711.369411: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19418  composer@2.1-s-593   (  593) [001] ...1 1034711.369733: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19419  composer@2.1-s-593   (  593) [001] ...1 1034711.370059: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19420  composer@2.1-s-593   (  593) [001] ...1 1034711.370106: tracing_mark_write: B|593|HWDevice::Commit::
19421  composer@2.1-s-593   (  593) [001] ...1 1034711.370368: tracing_mark_write: E|593
19422  composer@2.1-s-593   (  593) [001] ...1 1034711.370434: tracing_mark_write: E|593
19423  composer@2.1-s-593   (  593) [001] ...1 1034711.370508: tracing_mark_write: E|593
19424  surfaceflinger-591   (  591) [000] ...1 1034711.370700: tracing_mark_write: E|591
19425  sensors@1.0-se-778   (  778) [004] ...1 1034711.379129: tracing_mark_write: E|778
19426   SensorService-1283  ( 1151) [007] ...1 1034711.379217: tracing_mark_write: E|1151
19427   SensorService-1283  ( 1151) [007] ...1 1034711.379287: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19428  sensors@1.0-se-778   (  778) [004] ...1 1034711.379329: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19429  sensors@1.0-se-778   (  778) [004] ...1 1034711.398161: tracing_mark_write: E|778
19430   SensorService-1283  ( 1151) [007] ...1 1034711.398226: tracing_mark_write: E|1151
19431   SensorService-1283  ( 1151) [007] ...1 1034711.398281: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19432  sensors@1.0-se-778   (  778) [004] ...1 1034711.398315: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19433  surfaceflinger-591   (  591) [002] ...1 1034711.402449: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19434  composer@2.1-s-593   (  593) [001] ...1 1034711.402577: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19435  composer@2.1-s-593   (  593) [001] ...1 1034711.402641: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19436  composer@2.1-s-593   (  593) [001] ...1 1034711.402661: tracing_mark_write: B|593|HWDevice::Commit::
19437  composer@2.1-s-593   (  593) [001] ...1 1034711.402764: tracing_mark_write: E|593
19438  composer@2.1-s-593   (  593) [001] ...1 1034711.402791: tracing_mark_write: E|593
19439  composer@2.1-s-593   (  593) [001] ...1 1034711.402820: tracing_mark_write: E|593
19440  surfaceflinger-591   (  591) [000] ...1 1034711.402904: tracing_mark_write: E|591
19441  sensors@1.0-se-778   (  778) [004] ...1 1034711.417404: tracing_mark_write: E|778
19442   SensorService-1283  ( 1151) [007] ...1 1034711.417475: tracing_mark_write: E|1151
19443   SensorService-1283  ( 1151) [007] ...1 1034711.417532: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19444  sensors@1.0-se-778   (  778) [004] ...1 1034711.417566: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19445  sensors@1.0-se-778   (  778) [004] ...1 1034711.436807: tracing_mark_write: E|778
19446   SensorService-1283  ( 1151) [007] ...1 1034711.436898: tracing_mark_write: E|1151
19447   SensorService-1283  ( 1151) [007] ...1 1034711.436988: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19448  sensors@1.0-se-778   (  778) [004] ...1 1034711.437028: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19449  surfaceflinger-591   (  591) [003] ...1 1034711.452982: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19450  composer@2.1-s-593   (  593) [001] ...1 1034711.453118: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19451  composer@2.1-s-593   (  593) [001] ...1 1034711.453180: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19452  composer@2.1-s-593   (  593) [001] ...1 1034711.453220: tracing_mark_write: B|593|HWDevice::Commit::
19453  composer@2.1-s-593   (  593) [001] ...1 1034711.453324: tracing_mark_write: E|593
19454  composer@2.1-s-593   (  593) [001] ...1 1034711.453348: tracing_mark_write: E|593
19455  composer@2.1-s-593   (  593) [001] ...1 1034711.453376: tracing_mark_write: E|593
19456  surfaceflinger-591   (  591) [003] ...1 1034711.453447: tracing_mark_write: E|591
19457  sensors@1.0-se-778   (  778) [004] ...1 1034711.455906: tracing_mark_write: E|778
19458   SensorService-1283  ( 1151) [007] ...1 1034711.455969: tracing_mark_write: E|1151
19459   SensorService-1283  ( 1151) [007] ...1 1034711.456020: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19460  sensors@1.0-se-778   (  778) [004] ...1 1034711.456054: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19461  sensors@1.0-se-778   (  778) [004] ...1 1034711.475232: tracing_mark_write: E|778
19462   SensorService-1283  ( 1151) [007] ...1 1034711.475310: tracing_mark_write: E|1151
19463   SensorService-1283  ( 1151) [007] ...1 1034711.475363: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19464  sensors@1.0-se-778   (  778) [004] ...1 1034711.475397: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19465  surfaceflinger-591   (  591) [000] ...1 1034711.486337: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19466  composer@2.1-s-593   (  593) [001] ...1 1034711.486473: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19467  composer@2.1-s-593   (  593) [001] ...1 1034711.486555: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19468  composer@2.1-s-593   (  593) [001] ...1 1034711.486590: tracing_mark_write: B|593|HWDevice::Commit::
19469  composer@2.1-s-593   (  593) [001] ...1 1034711.486693: tracing_mark_write: E|593
19470  composer@2.1-s-593   (  593) [001] ...1 1034711.486718: tracing_mark_write: E|593
19471  composer@2.1-s-593   (  593) [001] ...1 1034711.486751: tracing_mark_write: E|593
19472  surfaceflinger-591   (  591) [000] ...1 1034711.486838: tracing_mark_write: E|591
19473  sensors@1.0-se-778   (  778) [004] ...1 1034711.494404: tracing_mark_write: E|778
19474   SensorService-1283  ( 1151) [007] ...1 1034711.494477: tracing_mark_write: E|1151
19475   SensorService-1283  ( 1151) [007] ...1 1034711.494531: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19476  sensors@1.0-se-778   (  778) [004] ...1 1034711.494565: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19477  sensors@1.0-se-778   (  778) [004] ...1 1034711.513771: tracing_mark_write: E|778
19478   SensorService-1283  ( 1151) [007] ...1 1034711.513885: tracing_mark_write: E|1151
19479   SensorService-1283  ( 1151) [007] ...1 1034711.513971: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19480  sensors@1.0-se-778   (  778) [004] ...1 1034711.514019: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19481  sensors@1.0-se-778   (  778) [004] ...1 1034711.533094: tracing_mark_write: E|778
19482   SensorService-1283  ( 1151) [007] ...1 1034711.533196: tracing_mark_write: E|1151
19483   SensorService-1283  ( 1151) [007] ...1 1034711.533295: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19484  sensors@1.0-se-778   (  778) [004] ...1 1034711.533341: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19485  surfaceflinger-591   (  591) [000] ...1 1034711.536830: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19486  composer@2.1-s-593   (  593) [001] ...1 1034711.536995: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19487  composer@2.1-s-593   (  593) [001] ...1 1034711.537086: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19488  composer@2.1-s-593   (  593) [001] ...1 1034711.537114: tracing_mark_write: B|593|HWDevice::Commit::
19489  composer@2.1-s-593   (  593) [001] ...1 1034711.537264: tracing_mark_write: E|593
19490  composer@2.1-s-593   (  593) [001] ...1 1034711.537300: tracing_mark_write: E|593
19491  composer@2.1-s-593   (  593) [001] ...1 1034711.537338: tracing_mark_write: E|593
19492  surfaceflinger-591   (  591) [000] ...1 1034711.537425: tracing_mark_write: E|591
19493  sensors@1.0-se-778   (  778) [004] ...1 1034711.552145: tracing_mark_write: E|778
19494   SensorService-1283  ( 1151) [007] ...1 1034711.552212: tracing_mark_write: E|1151
19495   SensorService-1283  ( 1151) [007] ...1 1034711.552266: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19496  sensors@1.0-se-778   (  778) [004] ...1 1034711.552300: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19497  surfaceflinger-591   (  591) [001] ...1 1034711.570413: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19498  composer@2.1-s-593   (  593) [000] ...1 1034711.570548: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19499  composer@2.1-s-593   (  593) [000] ...1 1034711.570613: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19500  composer@2.1-s-593   (  593) [000] ...1 1034711.570634: tracing_mark_write: B|593|HWDevice::Commit::
19501  composer@2.1-s-593   (  593) [000] ...1 1034711.570731: tracing_mark_write: E|593
19502  composer@2.1-s-593   (  593) [000] ...1 1034711.570756: tracing_mark_write: E|593
19503  composer@2.1-s-593   (  593) [000] ...1 1034711.570783: tracing_mark_write: E|593
19504  surfaceflinger-591   (  591) [001] ...1 1034711.570859: tracing_mark_write: E|591
19505  sensors@1.0-se-778   (  778) [004] ...1 1034711.573000: tracing_mark_write: E|778
19506   SensorService-1283  ( 1151) [007] ...1 1034711.573063: tracing_mark_write: E|1151
19507   SensorService-1283  ( 1151) [007] ...1 1034711.573118: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19508  sensors@1.0-se-778   (  778) [004] ...1 1034711.573154: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19509  sensors@1.0-se-778   (  778) [006] ...1 1034711.590701: tracing_mark_write: E|778
19510   SensorService-1283  ( 1151) [007] ...1 1034711.590769: tracing_mark_write: E|1151
19511   SensorService-1283  ( 1151) [007] ...1 1034711.590820: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19512  sensors@1.0-se-778   (  778) [006] ...1 1034711.590854: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19513  sensors@1.0-se-778   (  778) [006] ...1 1034711.609975: tracing_mark_write: E|778
19514   SensorService-1283  ( 1151) [007] ...1 1034711.610067: tracing_mark_write: E|1151
19515   SensorService-1283  ( 1151) [007] ...1 1034711.610153: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19516  sensors@1.0-se-778   (  778) [006] ...1 1034711.610196: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19517  surfaceflinger-591   (  591) [002] ...1 1034711.620496: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19518  composer@2.1-s-593   (  593) [000] ...1 1034711.620610: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19519  composer@2.1-s-593   (  593) [000] ...1 1034711.620671: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19520  composer@2.1-s-593   (  593) [000] ...1 1034711.620689: tracing_mark_write: B|593|HWDevice::Commit::
19521  composer@2.1-s-593   (  593) [000] ...1 1034711.620785: tracing_mark_write: E|593
19522  composer@2.1-s-593   (  593) [000] ...1 1034711.620811: tracing_mark_write: E|593
19523  composer@2.1-s-593   (  593) [000] ...1 1034711.620839: tracing_mark_write: E|593
19524  surfaceflinger-591   (  591) [002] ...1 1034711.620906: tracing_mark_write: E|591
19525  sensors@1.0-se-778   (  778) [004] ...1 1034711.629149: tracing_mark_write: E|778
19526   SensorService-1283  ( 1151) [007] ...1 1034711.629210: tracing_mark_write: E|1151
19527   SensorService-1283  ( 1151) [007] ...1 1034711.629262: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19528  sensors@1.0-se-778   (  778) [004] ...1 1034711.629294: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19529  sensors@1.0-se-778   (  778) [004] ...1 1034711.648491: tracing_mark_write: E|778
19530   SensorService-1283  ( 1151) [007] ...1 1034711.648554: tracing_mark_write: E|1151
19531   SensorService-1283  ( 1151) [007] ...1 1034711.648609: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19532  sensors@1.0-se-778   (  778) [004] ...1 1034711.648642: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19533  surfaceflinger-591   (  591) [000] ...1 1034711.654320: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19534  composer@2.1-s-593   (  593) [001] ...1 1034711.654451: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19535  composer@2.1-s-593   (  593) [001] ...1 1034711.654512: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19536  composer@2.1-s-593   (  593) [001] ...1 1034711.654530: tracing_mark_write: B|593|HWDevice::Commit::
19537  composer@2.1-s-593   (  593) [001] ...1 1034711.654626: tracing_mark_write: E|593
19538  composer@2.1-s-593   (  593) [001] ...1 1034711.654650: tracing_mark_write: E|593
19539  composer@2.1-s-593   (  593) [001] ...1 1034711.654679: tracing_mark_write: E|593
19540  surfaceflinger-591   (  591) [000] ...1 1034711.654753: tracing_mark_write: E|591
19541  sensors@1.0-se-778   (  778) [004] ...1 1034711.667704: tracing_mark_write: E|778
19542   SensorService-1283  ( 1151) [007] ...1 1034711.667771: tracing_mark_write: E|1151
19543   SensorService-1283  ( 1151) [007] ...1 1034711.667825: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19544  sensors@1.0-se-778   (  778) [004] ...1 1034711.667859: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19545  sensors@1.0-se-778   (  778) [004] ...1 1034711.687311: tracing_mark_write: E|778
19546   SensorService-1283  ( 1151) [007] ...1 1034711.687382: tracing_mark_write: E|1151
19547   SensorService-1283  ( 1151) [007] ...1 1034711.687434: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19548  sensors@1.0-se-778   (  778) [004] ...1 1034711.687469: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19549  surfaceflinger-591   (  591) [000] ...1 1034711.704403: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19550  composer@2.1-s-593   (  593) [001] ...1 1034711.704532: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19551  composer@2.1-s-593   (  593) [001] ...1 1034711.704594: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19552  composer@2.1-s-593   (  593) [001] ...1 1034711.704613: tracing_mark_write: B|593|HWDevice::Commit::
19553  composer@2.1-s-593   (  593) [001] ...1 1034711.704713: tracing_mark_write: E|593
19554  composer@2.1-s-593   (  593) [001] ...1 1034711.704738: tracing_mark_write: E|593
19555  composer@2.1-s-593   (  593) [001] ...1 1034711.704766: tracing_mark_write: E|593
19556  surfaceflinger-591   (  591) [000] ...1 1034711.704836: tracing_mark_write: E|591
19557  sensors@1.0-se-778   (  778) [004] ...1 1034711.706262: tracing_mark_write: E|778
19558   SensorService-1283  ( 1151) [007] ...1 1034711.706323: tracing_mark_write: E|1151
19559   SensorService-1283  ( 1151) [007] ...1 1034711.706374: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19560  sensors@1.0-se-778   (  778) [004] ...1 1034711.706407: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19561  sensors@1.0-se-778   (  778) [004] ...1 1034711.725511: tracing_mark_write: E|778
19562   SensorService-1283  ( 1151) [007] ...1 1034711.725625: tracing_mark_write: E|1151
19563   SensorService-1283  ( 1151) [007] ...1 1034711.725708: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19564  sensors@1.0-se-778   (  778) [004] ...1 1034711.725754: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19565  surfaceflinger-591   (  591) [003] ...1 1034711.738247: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19566  composer@2.1-s-593   (  593) [001] ...1 1034711.738377: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19567  composer@2.1-s-593   (  593) [001] ...1 1034711.738437: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19568  composer@2.1-s-593   (  593) [001] ...1 1034711.738455: tracing_mark_write: B|593|HWDevice::Commit::
19569  composer@2.1-s-593   (  593) [001] ...1 1034711.738552: tracing_mark_write: E|593
19570  composer@2.1-s-593   (  593) [001] ...1 1034711.738577: tracing_mark_write: E|593
19571  composer@2.1-s-593   (  593) [001] ...1 1034711.738605: tracing_mark_write: E|593
19572  surfaceflinger-591   (  591) [003] ...1 1034711.738675: tracing_mark_write: E|591
19573  sensors@1.0-se-778   (  778) [004] ...1 1034711.744723: tracing_mark_write: E|778
19574   SensorService-1283  ( 1151) [007] ...1 1034711.744791: tracing_mark_write: E|1151
19575   SensorService-1283  ( 1151) [007] ...1 1034711.744844: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19576  sensors@1.0-se-778   (  778) [004] ...1 1034711.744879: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19577  sensors@1.0-se-778   (  778) [004] ...1 1034711.764332: tracing_mark_write: E|778
19578   SensorService-1283  ( 1151) [007] ...1 1034711.764408: tracing_mark_write: E|1151
19579   SensorService-1283  ( 1151) [007] ...1 1034711.764464: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19580  sensors@1.0-se-778   (  778) [004] ...1 1034711.764499: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19581  sensors@1.0-se-778   (  778) [004] ...1 1034711.783265: tracing_mark_write: E|778
19582   SensorService-1283  ( 1151) [007] ...1 1034711.783332: tracing_mark_write: E|1151
19583   SensorService-1283  ( 1151) [007] ...1 1034711.783388: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19584  sensors@1.0-se-778   (  778) [004] ...1 1034711.783422: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19585  surfaceflinger-591   (  591) [000] ...1 1034711.788283: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19586  composer@2.1-s-593   (  593) [001] ...1 1034711.788385: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19587  composer@2.1-s-593   (  593) [001] ...1 1034711.788447: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19588  composer@2.1-s-593   (  593) [001] ...1 1034711.788466: tracing_mark_write: B|593|HWDevice::Commit::
19589  composer@2.1-s-593   (  593) [001] ...1 1034711.788562: tracing_mark_write: E|593
19590  composer@2.1-s-593   (  593) [001] ...1 1034711.788586: tracing_mark_write: E|593
19591  composer@2.1-s-593   (  593) [001] ...1 1034711.788612: tracing_mark_write: E|593
19592  surfaceflinger-591   (  591) [000] ...1 1034711.788673: tracing_mark_write: E|591
19593  sensors@1.0-se-778   (  778) [004] ...1 1034711.802625: tracing_mark_write: E|778
19594   SensorService-1283  ( 1151) [007] ...1 1034711.802665: tracing_mark_write: E|1151
19595   SensorService-1283  ( 1151) [007] ...1 1034711.802699: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19596  sensors@1.0-se-778   (  778) [004] ...1 1034711.802737: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19597  sensors@1.0-se-778   (  778) [004] ...1 1034711.822006: tracing_mark_write: E|778
19598   SensorService-1283  ( 1151) [007] ...1 1034711.822091: tracing_mark_write: E|1151
19599   SensorService-1283  ( 1151) [007] ...1 1034711.822156: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19600  sensors@1.0-se-778   (  778) [004] ...1 1034711.822196: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19601  surfaceflinger-591   (  591) [000] ...1 1034711.822430: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19602  composer@2.1-s-593   (  593) [001] ...1 1034711.822679: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19603  composer@2.1-s-593   (  593) [001] ...1 1034711.822827: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19604  composer@2.1-s-593   (  593) [001] ...1 1034711.822874: tracing_mark_write: B|593|HWDevice::Commit::
19605  composer@2.1-s-593   (  593) [001] ...1 1034711.823148: tracing_mark_write: E|593
19606  composer@2.1-s-593   (  593) [001] ...1 1034711.823274: tracing_mark_write: E|593
19607  composer@2.1-s-593   (  593) [001] ...1 1034711.823357: tracing_mark_write: E|593
19608  surfaceflinger-591   (  591) [000] ...1 1034711.823571: tracing_mark_write: E|591
19609  sensors@1.0-se-778   (  778) [004] ...1 1034711.841313: tracing_mark_write: E|778
19610   SensorService-1283  ( 1151) [007] ...1 1034711.841413: tracing_mark_write: E|1151
19611   SensorService-1283  ( 1151) [007] ...1 1034711.841506: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19612  sensors@1.0-se-778   (  778) [004] ...1 1034711.841561: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19613  sensors@1.0-se-778   (  778) [004] ...1 1034711.860683: tracing_mark_write: E|778
19614   SensorService-1283  ( 1151) [007] ...1 1034711.860783: tracing_mark_write: E|1151
19615   SensorService-1283  ( 1151) [007] ...1 1034711.860873: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19616  sensors@1.0-se-778   (  778) [004] ...1 1034711.860927: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19617  surfaceflinger-591   (  591) [000] ...1 1034711.872846: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19618  composer@2.1-s-593   (  593) [001] ...1 1034711.873131: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19619  composer@2.1-s-593   (  593) [001] ...1 1034711.873349: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19620  composer@2.1-s-593   (  593) [001] ...1 1034711.873398: tracing_mark_write: B|593|HWDevice::Commit::
19621  composer@2.1-s-593   (  593) [001] ...1 1034711.873665: tracing_mark_write: E|593
19622  composer@2.1-s-593   (  593) [001] ...1 1034711.873730: tracing_mark_write: E|593
19623  composer@2.1-s-593   (  593) [001] ...1 1034711.873806: tracing_mark_write: E|593
19624  surfaceflinger-591   (  591) [000] ...1 1034711.874010: tracing_mark_write: E|591
19625  sensors@1.0-se-778   (  778) [004] ...1 1034711.879832: tracing_mark_write: E|778
19626   SensorService-1283  ( 1151) [007] ...1 1034711.879966: tracing_mark_write: E|1151
19627   SensorService-1283  ( 1151) [007] ...1 1034711.880054: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19628  sensors@1.0-se-778   (  778) [004] ...1 1034711.880107: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19629  sensors@1.0-se-778   (  778) [004] ...1 1034711.899815: tracing_mark_write: E|778
19630   SensorService-1283  ( 1151) [007] ...1 1034711.899963: tracing_mark_write: E|1151
19631   SensorService-1283  ( 1151) [007] ...1 1034711.900073: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19632  sensors@1.0-se-778   (  778) [004] ...1 1034711.900124: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19633  surfaceflinger-591   (  591) [000] ...1 1034711.906332: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19634  composer@2.1-s-593   (  593) [000] ...1 1034711.906721: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19635  composer@2.1-s-593   (  593) [000] ...1 1034711.906865: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19636  composer@2.1-s-593   (  593) [000] ...1 1034711.906908: tracing_mark_write: B|593|HWDevice::Commit::
19637  composer@2.1-s-593   (  593) [000] ...1 1034711.907159: tracing_mark_write: E|593
19638  composer@2.1-s-593   (  593) [000] ...1 1034711.907222: tracing_mark_write: E|593
19639  composer@2.1-s-593   (  593) [000] ...1 1034711.907292: tracing_mark_write: E|593
19640  surfaceflinger-591   (  591) [002] ...1 1034711.907501: tracing_mark_write: E|591
19641  sensors@1.0-se-778   (  778) [004] ...1 1034711.918376: tracing_mark_write: E|778
19642   SensorService-1283  ( 1151) [007] ...1 1034711.918445: tracing_mark_write: E|1151
19643   SensorService-1283  ( 1151) [007] ...1 1034711.918508: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19644  sensors@1.0-se-778   (  778) [004] ...1 1034711.918544: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19645  sensors@1.0-se-778   (  778) [004] ...1 1034711.937704: tracing_mark_write: E|778
19646   SensorService-1283  ( 1151) [007] ...1 1034711.937770: tracing_mark_write: E|1151
19647   SensorService-1283  ( 1151) [007] ...1 1034711.937990: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19648  sensors@1.0-se-778   (  778) [004] ...1 1034711.938144: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19649  surfaceflinger-591   (  591) [002] ...1 1034711.956698: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19650  composer@2.1-s-593   (  593) [000] ...1 1034711.956936: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19651  composer@2.1-s-593   (  593) [000] ...1 1034711.957067: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19652  composer@2.1-s-593   (  593) [000] ...1 1034711.957107: tracing_mark_write: B|593|HWDevice::Commit::
19653  sensors@1.0-se-778   (  778) [004] ...1 1034711.957299: tracing_mark_write: E|778
19654  composer@2.1-s-593   (  593) [000] ...1 1034711.957342: tracing_mark_write: E|593
19655  composer@2.1-s-593   (  593) [000] ...1 1034711.957398: tracing_mark_write: E|593
19656   SensorService-1283  ( 1151) [007] ...1 1034711.957415: tracing_mark_write: E|1151
19657  composer@2.1-s-593   (  593) [000] ...1 1034711.957465: tracing_mark_write: E|593
19658   SensorService-1283  ( 1151) [007] ...1 1034711.957558: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19659  surfaceflinger-591   (  591) [003] ...1 1034711.957656: tracing_mark_write: E|591
19660  sensors@1.0-se-778   (  778) [004] ...1 1034711.957678: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19661  sensors@1.0-se-778   (  778) [004] ...1 1034711.976408: tracing_mark_write: E|778
19662   SensorService-1283  ( 1151) [007] ...1 1034711.976471: tracing_mark_write: E|1151
19663   SensorService-1283  ( 1151) [007] ...1 1034711.976516: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19664  sensors@1.0-se-778   (  778) [004] ...1 1034711.976581: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19665  surfaceflinger-591   (  591) [000] ...1 1034711.989911: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19666  composer@2.1-s-593   (  593) [001] ...1 1034711.990151: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19667  composer@2.1-s-593   (  593) [001] ...1 1034711.990250: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19668  composer@2.1-s-593   (  593) [001] ...1 1034711.990279: tracing_mark_write: B|593|HWDevice::Commit::
19669  composer@2.1-s-593   (  593) [001] ...1 1034711.990424: tracing_mark_write: E|593
19670  composer@2.1-s-593   (  593) [001] ...1 1034711.990460: tracing_mark_write: E|593
19671  composer@2.1-s-593   (  593) [001] ...1 1034711.990500: tracing_mark_write: E|593
19672  surfaceflinger-591   (  591) [000] ...1 1034711.990591: tracing_mark_write: E|591
19673  sensors@1.0-se-778   (  778) [004] ...1 1034711.995190: tracing_mark_write: E|778
19674   SensorService-1283  ( 1151) [007] ...1 1034711.995226: tracing_mark_write: E|1151
19675   SensorService-1283  ( 1151) [007] ...1 1034711.995309: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19676  sensors@1.0-se-778   (  778) [004] ...1 1034711.995428: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19677  sensors@1.0-se-778   (  778) [005] ...1 1034712.014706: tracing_mark_write: E|778
19678   SensorService-1283  ( 1151) [007] ...1 1034712.014883: tracing_mark_write: E|1151
19679   SensorService-1283  ( 1151) [007] ...1 1034712.015054: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19680  sensors@1.0-se-778   (  778) [005] ...1 1034712.015218: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19681  sensors@1.0-se-778   (  778) [004] ...1 1034712.033619: tracing_mark_write: E|778
19682   SensorService-1283  ( 1151) [007] ...1 1034712.033720: tracing_mark_write: E|1151
19683   SensorService-1283  ( 1151) [007] ...1 1034712.033808: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19684  sensors@1.0-se-778   (  778) [004] ...1 1034712.033881: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19685  surfaceflinger-591   (  591) [000] ...1 1034712.040192: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19686  composer@2.1-s-593   (  593) [001] ...1 1034712.040376: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19687  composer@2.1-s-593   (  593) [001] ...1 1034712.040451: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19688  composer@2.1-s-593   (  593) [001] ...1 1034712.040474: tracing_mark_write: B|593|HWDevice::Commit::
19689  composer@2.1-s-593   (  593) [001] ...1 1034712.040611: tracing_mark_write: E|593
19690  composer@2.1-s-593   (  593) [001] ...1 1034712.040641: tracing_mark_write: E|593
19691  composer@2.1-s-593   (  593) [001] ...1 1034712.040676: tracing_mark_write: E|593
19692  surfaceflinger-591   (  591) [000] ...1 1034712.040751: tracing_mark_write: E|591
19693  sensors@1.0-se-778   (  778) [004] ...1 1034712.052803: tracing_mark_write: E|778
19694   SensorService-1283  ( 1151) [007] ...1 1034712.052881: tracing_mark_write: E|1151
19695   SensorService-1283  ( 1151) [007] ...1 1034712.052948: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19696  sensors@1.0-se-778   (  778) [004] ...1 1034712.052990: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19697  sensors@1.0-se-778   (  778) [004] ...1 1034712.072030: tracing_mark_write: E|778
19698   SensorService-1283  ( 1151) [007] ...1 1034712.072108: tracing_mark_write: E|1151
19699   SensorService-1283  ( 1151) [007] ...1 1034712.072167: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19700  sensors@1.0-se-778   (  778) [004] ...1 1034712.072203: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19701  surfaceflinger-591   (  591) [002] ...1 1034712.073671: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19702  composer@2.1-s-593   (  593) [001] ...1 1034712.073793: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19703  composer@2.1-s-593   (  593) [001] ...1 1034712.073858: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19704  composer@2.1-s-593   (  593) [001] ...1 1034712.073878: tracing_mark_write: B|593|HWDevice::Commit::
19705  composer@2.1-s-593   (  593) [001] ...1 1034712.073987: tracing_mark_write: E|593
19706  composer@2.1-s-593   (  593) [001] ...1 1034712.074014: tracing_mark_write: E|593
19707  composer@2.1-s-593   (  593) [001] ...1 1034712.074047: tracing_mark_write: E|593
19708  surfaceflinger-591   (  591) [003] ...1 1034712.074133: tracing_mark_write: E|591
19709  sensors@1.0-se-778   (  778) [004] ...1 1034712.091207: tracing_mark_write: E|778
19710   SensorService-1283  ( 1151) [007] ...1 1034712.091261: tracing_mark_write: E|1151
19711   SensorService-1283  ( 1151) [007] ...1 1034712.091313: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19712  sensors@1.0-se-778   (  778) [004] ...1 1034712.091345: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19713  sensors@1.0-se-778   (  778) [004] ...1 1034712.110542: tracing_mark_write: E|778
19714   SensorService-1283  ( 1151) [007] ...1 1034712.110605: tracing_mark_write: E|1151
19715   SensorService-1283  ( 1151) [007] ...1 1034712.110662: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19716  sensors@1.0-se-778   (  778) [004] ...1 1034712.110697: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19717  surfaceflinger-591   (  591) [002] ...1 1034712.123987: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19718  composer@2.1-s-593   (  593) [001] ...1 1034712.124146: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19719  composer@2.1-s-593   (  593) [001] ...1 1034712.124207: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19720  composer@2.1-s-593   (  593) [001] ...1 1034712.124225: tracing_mark_write: B|593|HWDevice::Commit::
19721  composer@2.1-s-593   (  593) [001] ...1 1034712.124325: tracing_mark_write: E|593
19722  composer@2.1-s-593   (  593) [001] ...1 1034712.124352: tracing_mark_write: E|593
19723  composer@2.1-s-593   (  593) [001] ...1 1034712.124380: tracing_mark_write: E|593
19724  surfaceflinger-591   (  591) [003] ...1 1034712.124475: tracing_mark_write: E|591
19725  sensors@1.0-se-778   (  778) [006] ...1 1034712.129732: tracing_mark_write: E|778
19726   SensorService-1283  ( 1151) [007] ...1 1034712.129791: tracing_mark_write: E|1151
19727   SensorService-1283  ( 1151) [007] ...1 1034712.129842: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19728  sensors@1.0-se-778   (  778) [006] ...1 1034712.129899: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19729  sensors@1.0-se-778   (  778) [006] ...1 1034712.149032: tracing_mark_write: E|778
19730   SensorService-1283  ( 1151) [007] ...1 1034712.149087: tracing_mark_write: E|1151
19731   SensorService-1283  ( 1151) [007] ...1 1034712.149141: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19732  sensors@1.0-se-778   (  778) [006] ...1 1034712.149175: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19733  surfaceflinger-591   (  591) [002] ...1 1034712.157527: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19734  composer@2.1-s-593   (  593) [001] ...1 1034712.157655: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19735  composer@2.1-s-593   (  593) [001] ...1 1034712.157719: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19736  composer@2.1-s-593   (  593) [001] ...1 1034712.157739: tracing_mark_write: B|593|HWDevice::Commit::
19737  composer@2.1-s-593   (  593) [001] ...1 1034712.157840: tracing_mark_write: E|593
19738  composer@2.1-s-593   (  593) [001] ...1 1034712.157865: tracing_mark_write: E|593
19739  composer@2.1-s-593   (  593) [001] ...1 1034712.157896: tracing_mark_write: E|593
19740  surfaceflinger-591   (  591) [003] ...1 1034712.157977: tracing_mark_write: E|591
19741  sensors@1.0-se-778   (  778) [004] ...1 1034712.168267: tracing_mark_write: E|778
19742   SensorService-1283  ( 1151) [007] ...1 1034712.168330: tracing_mark_write: E|1151
19743   SensorService-1283  ( 1151) [007] ...1 1034712.168382: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19744  sensors@1.0-se-778   (  778) [004] ...1 1034712.168416: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19745  sensors@1.0-se-778   (  778) [007] ...1 1034712.187485: tracing_mark_write: E|778
19746   SensorService-1283  ( 1151) [002] ...1 1034712.187558: tracing_mark_write: E|1151
19747   SensorService-1283  ( 1151) [002] ...1 1034712.187630: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19748  sensors@1.0-se-778   (  778) [007] ...1 1034712.187679: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19749  sensors@1.0-se-778   (  778) [007] ...1 1034712.206818: tracing_mark_write: E|778
19750   SensorService-1283  ( 1151) [002] ...1 1034712.206892: tracing_mark_write: E|1151
19751   SensorService-1283  ( 1151) [002] ...1 1034712.206964: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19752  sensors@1.0-se-778   (  778) [007] ...1 1034712.207012: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19753  surfaceflinger-591   (  591) [002] ...1 1034712.207791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19754  composer@2.1-s-593   (  593) [001] ...1 1034712.207905: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19755  composer@2.1-s-593   (  593) [001] ...1 1034712.207969: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19756  composer@2.1-s-593   (  593) [001] ...1 1034712.207988: tracing_mark_write: B|593|HWDevice::Commit::
19757  composer@2.1-s-593   (  593) [001] ...1 1034712.208091: tracing_mark_write: E|593
19758  composer@2.1-s-593   (  593) [001] ...1 1034712.208117: tracing_mark_write: E|593
19759  composer@2.1-s-593   (  593) [001] ...1 1034712.208144: tracing_mark_write: E|593
19760  surfaceflinger-591   (  591) [003] ...1 1034712.208217: tracing_mark_write: E|591
19761  sensors@1.0-se-778   (  778) [004] ...1 1034712.226100: tracing_mark_write: E|778
19762   SensorService-1283  ( 1151) [002] ...1 1034712.226197: tracing_mark_write: E|1151
19763   SensorService-1283  ( 1151) [002] ...1 1034712.226274: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19764  sensors@1.0-se-778   (  778) [004] ...1 1034712.226352: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19765  surfaceflinger-591   (  591) [002] ...1 1034712.241446: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19766  composer@2.1-s-593   (  593) [001] ...1 1034712.241580: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19767  composer@2.1-s-593   (  593) [001] ...1 1034712.241646: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19768  composer@2.1-s-593   (  593) [001] ...1 1034712.241664: tracing_mark_write: B|593|HWDevice::Commit::
19769  composer@2.1-s-593   (  593) [001] ...1 1034712.241770: tracing_mark_write: E|593
19770  composer@2.1-s-593   (  593) [001] ...1 1034712.241797: tracing_mark_write: E|593
19771  composer@2.1-s-593   (  593) [001] ...1 1034712.241827: tracing_mark_write: E|593
19772  surfaceflinger-591   (  591) [003] ...1 1034712.241915: tracing_mark_write: E|591
19773  sensors@1.0-se-778   (  778) [004] ...1 1034712.245379: tracing_mark_write: E|778
19774   SensorService-1283  ( 1151) [002] ...1 1034712.245477: tracing_mark_write: E|1151
19775   SensorService-1283  ( 1151) [002] ...1 1034712.245557: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19776  sensors@1.0-se-778   (  778) [004] ...1 1034712.245639: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19777  sensors@1.0-se-778   (  778) [004] ...1 1034712.264660: tracing_mark_write: E|778
19778   SensorService-1283  ( 1151) [002] ...1 1034712.264783: tracing_mark_write: E|1151
19779   SensorService-1283  ( 1151) [002] ...1 1034712.264865: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19780  sensors@1.0-se-778   (  778) [004] ...1 1034712.264965: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19781  sensors@1.0-se-778   (  778) [004] ...1 1034712.283892: tracing_mark_write: E|778
19782   SensorService-1283  ( 1151) [002] ...1 1034712.283986: tracing_mark_write: E|1151
19783   SensorService-1283  ( 1151) [002] ...1 1034712.284062: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19784  sensors@1.0-se-778   (  778) [004] ...1 1034712.284159: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19785  surfaceflinger-591   (  591) [002] ...1 1034712.291745: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19786  composer@2.1-s-593   (  593) [001] ...1 1034712.291876: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19787  composer@2.1-s-593   (  593) [001] ...1 1034712.291941: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19788  composer@2.1-s-593   (  593) [001] ...1 1034712.291960: tracing_mark_write: B|593|HWDevice::Commit::
19789  composer@2.1-s-593   (  593) [001] ...1 1034712.292064: tracing_mark_write: E|593
19790  composer@2.1-s-593   (  593) [001] ...1 1034712.292090: tracing_mark_write: E|593
19791  composer@2.1-s-593   (  593) [001] ...1 1034712.292119: tracing_mark_write: E|593
19792  surfaceflinger-591   (  591) [003] ...1 1034712.292191: tracing_mark_write: E|591
19793  sensors@1.0-se-778   (  778) [004] ...1 1034712.303120: tracing_mark_write: E|778
19794   SensorService-1283  ( 1151) [002] ...1 1034712.303258: tracing_mark_write: E|1151
19795   SensorService-1283  ( 1151) [002] ...1 1034712.303351: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19796  sensors@1.0-se-778   (  778) [004] ...1 1034712.303438: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19797  sensors@1.0-se-778   (  778) [004] ...1 1034712.322584: tracing_mark_write: E|778
19798   SensorService-1283  ( 1151) [002] ...1 1034712.322696: tracing_mark_write: E|1151
19799   SensorService-1283  ( 1151) [002] ...1 1034712.322790: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19800  sensors@1.0-se-778   (  778) [004] ...1 1034712.322880: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19801  surfaceflinger-591   (  591) [000] ...1 1034712.325380: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19802  composer@2.1-s-593   (  593) [001] ...1 1034712.325527: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19803  composer@2.1-s-593   (  593) [001] ...1 1034712.325604: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19804  composer@2.1-s-593   (  593) [001] ...1 1034712.325627: tracing_mark_write: B|593|HWDevice::Commit::
19805  composer@2.1-s-593   (  593) [001] ...1 1034712.325747: tracing_mark_write: E|593
19806  composer@2.1-s-593   (  593) [001] ...1 1034712.325776: tracing_mark_write: E|593
19807  composer@2.1-s-593   (  593) [001] ...1 1034712.325807: tracing_mark_write: E|593
19808  surfaceflinger-591   (  591) [000] ...1 1034712.325881: tracing_mark_write: E|591
19809  sensors@1.0-se-778   (  778) [004] ...1 1034712.342105: tracing_mark_write: E|778
19810   SensorService-1283  ( 1151) [002] ...1 1034712.342278: tracing_mark_write: E|1151
19811   SensorService-1283  ( 1151) [002] ...1 1034712.342360: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19812  HwBinder:778_1-1087  (  778) [000] ...1 1034712.342472: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19813  HwBinder:778_1-1087  (  778) [000] ...1 1034712.360910: tracing_mark_write: E|778
19814   SensorService-1283  ( 1151) [002] ...1 1034712.361036: tracing_mark_write: E|1151
19815   SensorService-1283  ( 1151) [002] ...1 1034712.361148: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19816  HwBinder:778_1-1087  (  778) [000] ...1 1034712.361212: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19817  surfaceflinger-591   (  591) [000] ...1 1034712.375850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19818  composer@2.1-s-593   (  593) [001] ...1 1034712.376041: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19819  composer@2.1-s-593   (  593) [001] ...1 1034712.376129: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19820  composer@2.1-s-593   (  593) [001] ...1 1034712.376156: tracing_mark_write: B|593|HWDevice::Commit::
19821  composer@2.1-s-593   (  593) [001] ...1 1034712.376300: tracing_mark_write: E|593
19822  composer@2.1-s-593   (  593) [001] ...1 1034712.376333: tracing_mark_write: E|593
19823  composer@2.1-s-593   (  593) [001] ...1 1034712.376371: tracing_mark_write: E|593
19824  surfaceflinger-591   (  591) [000] ...1 1034712.376452: tracing_mark_write: E|591
19825  HwBinder:778_1-1087  (  778) [000] ...1 1034712.380405: tracing_mark_write: E|778
19826   SensorService-1283  ( 1151) [002] ...1 1034712.380520: tracing_mark_write: E|1151
19827   SensorService-1283  ( 1151) [002] ...1 1034712.380616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19828  HwBinder:778_1-1087  (  778) [000] ...1 1034712.380675: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19829  HwBinder:778_1-1087  (  778) [000] ...1 1034712.399665: tracing_mark_write: E|778
19830   SensorService-1283  ( 1151) [002] ...1 1034712.399791: tracing_mark_write: E|1151
19831   SensorService-1283  ( 1151) [002] ...1 1034712.399921: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19832  HwBinder:778_1-1087  (  778) [000] ...1 1034712.399979: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19833  surfaceflinger-591   (  591) [000] ...1 1034712.409411: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19834  composer@2.1-s-593   (  593) [001] ...1 1034712.409599: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19835  composer@2.1-s-593   (  593) [001] ...1 1034712.409680: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19836  composer@2.1-s-593   (  593) [001] ...1 1034712.409703: tracing_mark_write: B|593|HWDevice::Commit::
19837  composer@2.1-s-593   (  593) [001] ...1 1034712.409834: tracing_mark_write: E|593
19838  composer@2.1-s-593   (  593) [001] ...1 1034712.409914: tracing_mark_write: E|593
19839  composer@2.1-s-593   (  593) [001] ...1 1034712.409948: tracing_mark_write: E|593
19840  surfaceflinger-591   (  591) [000] ...1 1034712.410048: tracing_mark_write: E|591
19841  HwBinder:778_1-1087  (  778) [000] ...1 1034712.418893: tracing_mark_write: E|778
19842   SensorService-1283  ( 1151) [002] ...1 1034712.419022: tracing_mark_write: E|1151
19843   SensorService-1283  ( 1151) [002] ...1 1034712.419126: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19844  HwBinder:778_1-1087  (  778) [000] ...1 1034712.419188: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19845  HwBinder:778_1-1087  (  778) [000] ...1 1034712.438048: tracing_mark_write: E|778
19846   SensorService-1283  ( 1151) [002] ...1 1034712.438162: tracing_mark_write: E|1151
19847   SensorService-1283  ( 1151) [002] ...1 1034712.438254: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19848  HwBinder:778_1-1087  (  778) [000] ...1 1034712.438314: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19849  HwBinder:778_1-1087  (  778) [000] ...1 1034712.457329: tracing_mark_write: E|778
19850   SensorService-1283  ( 1151) [002] ...1 1034712.457438: tracing_mark_write: E|1151
19851   SensorService-1283  ( 1151) [002] ...1 1034712.457537: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19852  HwBinder:778_1-1087  (  778) [000] ...1 1034712.457596: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19853  surfaceflinger-591   (  591) [000] ...1 1034712.459604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19854  composer@2.1-s-593   (  593) [001] ...1 1034712.459742: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19855  composer@2.1-s-593   (  593) [001] ...1 1034712.459820: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19856  composer@2.1-s-593   (  593) [001] ...1 1034712.459843: tracing_mark_write: B|593|HWDevice::Commit::
19857  composer@2.1-s-593   (  593) [001] ...1 1034712.460033: tracing_mark_write: E|593
19858  composer@2.1-s-593   (  593) [001] ...1 1034712.460062: tracing_mark_write: E|593
19859  composer@2.1-s-593   (  593) [001] ...1 1034712.460095: tracing_mark_write: E|593
19860  surfaceflinger-591   (  591) [000] ...1 1034712.460167: tracing_mark_write: E|591
19861  HwBinder:778_1-1087  (  778) [000] ...1 1034712.476426: tracing_mark_write: E|778
19862   SensorService-1283  ( 1151) [002] ...1 1034712.476556: tracing_mark_write: E|1151
19863   SensorService-1283  ( 1151) [002] ...1 1034712.476630: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19864  HwBinder:778_1-1087  (  778) [000] ...1 1034712.476688: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19865  surfaceflinger-591   (  591) [000] ...1 1034712.493321: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19866  composer@2.1-s-593   (  593) [001] ...1 1034712.493516: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19867  composer@2.1-s-593   (  593) [001] ...1 1034712.493605: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19868  composer@2.1-s-593   (  593) [001] ...1 1034712.493631: tracing_mark_write: B|593|HWDevice::Commit::
19869  composer@2.1-s-593   (  593) [001] ...1 1034712.493768: tracing_mark_write: E|593
19870  composer@2.1-s-593   (  593) [001] ...1 1034712.493802: tracing_mark_write: E|593
19871  composer@2.1-s-593   (  593) [001] ...1 1034712.493840: tracing_mark_write: E|593
19872  surfaceflinger-591   (  591) [000] ...1 1034712.493923: tracing_mark_write: E|591
19873  HwBinder:778_1-1087  (  778) [000] ...1 1034712.495753: tracing_mark_write: E|778
19874   SensorService-1283  ( 1151) [003] ...1 1034712.495864: tracing_mark_write: E|1151
19875   SensorService-1283  ( 1151) [003] ...1 1034712.495968: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19876  HwBinder:778_1-1087  (  778) [000] ...1 1034712.496042: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19877  HwBinder:778_1-1087  (  778) [000] ...1 1034712.515027: tracing_mark_write: E|778
19878   SensorService-1283  ( 1151) [003] ...1 1034712.515153: tracing_mark_write: E|1151
19879   SensorService-1283  ( 1151) [003] ...1 1034712.515263: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19880  HwBinder:778_1-1087  (  778) [000] ...1 1034712.515332: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19881  HwBinder:778_1-1087  (  778) [000] ...1 1034712.534371: tracing_mark_write: E|778
19882   SensorService-1283  ( 1151) [003] ...1 1034712.534525: tracing_mark_write: E|1151
19883   SensorService-1283  ( 1151) [003] ...1 1034712.534702: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19884  HwBinder:778_1-1087  (  778) [000] ...1 1034712.534855: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19885  surfaceflinger-591   (  591) [001] ...1 1034712.543715: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19886  composer@2.1-s-593   (  593) [000] ...1 1034712.543930: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19887  composer@2.1-s-593   (  593) [000] ...1 1034712.544043: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19888  composer@2.1-s-593   (  593) [000] ...1 1034712.544075: tracing_mark_write: B|593|HWDevice::Commit::
19889  composer@2.1-s-593   (  593) [000] ...1 1034712.544249: tracing_mark_write: E|593
19890  composer@2.1-s-593   (  593) [000] ...1 1034712.544288: tracing_mark_write: E|593
19891  composer@2.1-s-593   (  593) [000] ...1 1034712.544334: tracing_mark_write: E|593
19892  surfaceflinger-591   (  591) [001] ...1 1034712.544439: tracing_mark_write: E|591
19893  HwBinder:778_1-1087  (  778) [000] ...1 1034712.554234: tracing_mark_write: E|778
19894   SensorService-1283  ( 1151) [003] ...1 1034712.554367: tracing_mark_write: E|1151
19895   SensorService-1283  ( 1151) [003] ...1 1034712.554483: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19896  HwBinder:778_1-1087  (  778) [000] ...1 1034712.554549: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19897  HwBinder:778_1-1087  (  778) [000] ...1 1034712.573196: tracing_mark_write: E|778
19898   SensorService-1283  ( 1151) [003] ...1 1034712.573301: tracing_mark_write: E|1151
19899   SensorService-1283  ( 1151) [003] ...1 1034712.573445: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19900  HwBinder:778_1-1087  (  778) [000] ...1 1034712.573542: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19901  surfaceflinger-591   (  591) [000] ...1 1034712.577253: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19902  composer@2.1-s-593   (  593) [001] ...1 1034712.577453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19903  composer@2.1-s-593   (  593) [001] ...1 1034712.577582: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19904  composer@2.1-s-593   (  593) [001] ...1 1034712.577622: tracing_mark_write: B|593|HWDevice::Commit::
19905  composer@2.1-s-593   (  593) [001] ...1 1034712.577814: tracing_mark_write: E|593
19906  composer@2.1-s-593   (  593) [001] ...1 1034712.577862: tracing_mark_write: E|593
19907  composer@2.1-s-593   (  593) [001] ...1 1034712.577914: tracing_mark_write: E|593
19908  surfaceflinger-591   (  591) [000] ...1 1034712.578012: tracing_mark_write: E|591
19909  HwBinder:778_1-1087  (  778) [000] ...1 1034712.592382: tracing_mark_write: E|778
19910   SensorService-1283  ( 1151) [003] ...1 1034712.592527: tracing_mark_write: E|1151
19911   SensorService-1283  ( 1151) [003] ...1 1034712.592707: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19912  HwBinder:778_1-1087  (  778) [000] ...1 1034712.592842: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19913  HwBinder:778_1-1087  (  778) [000] ...1 1034712.611350: tracing_mark_write: E|778
19914   SensorService-1283  ( 1151) [003] ...1 1034712.611475: tracing_mark_write: E|1151
19915   SensorService-1283  ( 1151) [003] ...1 1034712.611617: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19916  HwBinder:778_1-1087  (  778) [000] ...1 1034712.611740: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19917  surfaceflinger-591   (  591) [000] ...1 1034712.628015: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19918  composer@2.1-s-593   (  593) [001] ...1 1034712.628320: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19919  composer@2.1-s-593   (  593) [001] ...1 1034712.628507: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19920  composer@2.1-s-593   (  593) [001] ...1 1034712.628570: tracing_mark_write: B|593|HWDevice::Commit::
19921  composer@2.1-s-593   (  593) [001] ...1 1034712.628891: tracing_mark_write: E|593
19922  composer@2.1-s-593   (  593) [001] ...1 1034712.628973: tracing_mark_write: E|593
19923  composer@2.1-s-593   (  593) [001] ...1 1034712.629058: tracing_mark_write: E|593
19924  surfaceflinger-591   (  591) [000] ...1 1034712.629279: tracing_mark_write: E|591
19925  HwBinder:778_1-1087  (  778) [000] ...1 1034712.630774: tracing_mark_write: E|778
19926   SensorService-1283  ( 1151) [003] ...1 1034712.630918: tracing_mark_write: E|1151
19927   SensorService-1283  ( 1151) [003] ...1 1034712.631103: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19928  HwBinder:778_1-1087  (  778) [000] ...1 1034712.631263: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19929  HwBinder:778_1-1087  (  778) [001] ...1 1034712.650124: tracing_mark_write: E|778
19930   SensorService-1283  ( 1151) [003] ...1 1034712.650284: tracing_mark_write: E|1151
19931   SensorService-1283  ( 1151) [003] ...1 1034712.650413: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19932  HwBinder:778_1-1087  (  778) [001] ...1 1034712.650491: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19933  surfaceflinger-591   (  591) [001] ...1 1034712.661299: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19934  composer@2.1-s-593   (  593) [000] ...1 1034712.661600: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19935  composer@2.1-s-593   (  593) [000] ...1 1034712.661739: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19936  composer@2.1-s-593   (  593) [000] ...1 1034712.661778: tracing_mark_write: B|593|HWDevice::Commit::
19937  composer@2.1-s-593   (  593) [000] ...1 1034712.661996: tracing_mark_write: E|593
19938  composer@2.1-s-593   (  593) [000] ...1 1034712.662046: tracing_mark_write: E|593
19939  composer@2.1-s-593   (  593) [000] ...1 1034712.662102: tracing_mark_write: E|593
19940  surfaceflinger-591   (  591) [001] ...1 1034712.662229: tracing_mark_write: E|591
19941  HwBinder:778_1-1087  (  778) [000] ...1 1034712.669203: tracing_mark_write: E|778
19942   SensorService-1283  ( 1151) [003] ...1 1034712.669359: tracing_mark_write: E|1151
19943   SensorService-1283  ( 1151) [003] ...1 1034712.669531: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19944  HwBinder:778_1-1087  (  778) [000] ...1 1034712.669608: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19945  HwBinder:778_1-1087  (  778) [001] ...1 1034712.688301: tracing_mark_write: E|778
19946   SensorService-1283  ( 1151) [003] ...1 1034712.688459: tracing_mark_write: E|1151
19947   SensorService-1283  ( 1151) [003] ...1 1034712.688616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19948  HwBinder:778_1-1087  (  778) [001] ...1 1034712.688767: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19949  HwBinder:778_1-1087  (  778) [000] ...1 1034712.707382: tracing_mark_write: E|778
19950   SensorService-1283  ( 1151) [003] ...1 1034712.707445: tracing_mark_write: E|1151
19951   SensorService-1283  ( 1151) [003] ...1 1034712.707515: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19952  HwBinder:778_1-1087  (  778) [000] ...1 1034712.707564: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19953  surfaceflinger-591   (  591) [000] ...1 1034712.711214: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19954  composer@2.1-s-593   (  593) [001] ...1 1034712.711329: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19955  composer@2.1-s-593   (  593) [001] ...1 1034712.711404: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19956  composer@2.1-s-593   (  593) [001] ...1 1034712.711427: tracing_mark_write: B|593|HWDevice::Commit::
19957  composer@2.1-s-593   (  593) [001] ...1 1034712.711543: tracing_mark_write: E|593
19958  composer@2.1-s-593   (  593) [001] ...1 1034712.711571: tracing_mark_write: E|593
19959  composer@2.1-s-593   (  593) [001] ...1 1034712.711602: tracing_mark_write: E|593
19960  surfaceflinger-591   (  591) [000] ...1 1034712.711671: tracing_mark_write: E|591
19961  HwBinder:778_1-1087  (  778) [000] ...1 1034712.726827: tracing_mark_write: E|778
19962   SensorService-1283  ( 1151) [003] ...1 1034712.726992: tracing_mark_write: E|1151
19963   SensorService-1283  ( 1151) [003] ...1 1034712.727211: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19964  HwBinder:778_1-1087  (  778) [000] ...1 1034712.727358: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19965  HwBinder:778_1-1087  (  778) [003] ...1 1034712.746321: tracing_mark_write: E|778
19966   SensorService-1283  ( 1151) [001] ...1 1034712.746691: tracing_mark_write: E|1151
19967   SensorService-1283  ( 1151) [001] ...1 1034712.746920: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19968  HwBinder:778_1-1087  (  778) [003] ...1 1034712.747109: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19969  surfaceflinger-591   (  591) [000] ...1 1034712.762011: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
19970  composer@2.1-s-593   (  593) [001] ...1 1034712.762254: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
19971  composer@2.1-s-593   (  593) [001] ...1 1034712.762388: tracing_mark_write: B|593|HWCSession::PresentDisplay::
19972  composer@2.1-s-593   (  593) [001] ...1 1034712.762427: tracing_mark_write: B|593|HWDevice::Commit::
19973  composer@2.1-s-593   (  593) [001] ...1 1034712.762620: tracing_mark_write: E|593
19974  composer@2.1-s-593   (  593) [001] ...1 1034712.762668: tracing_mark_write: E|593
19975  composer@2.1-s-593   (  593) [001] ...1 1034712.762722: tracing_mark_write: E|593
19976  surfaceflinger-591   (  591) [000] ...1 1034712.762836: tracing_mark_write: E|591
19977  surfaceflinger-668   (  591) [001] ...1 1034712.763242: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client
19978  composer@2.1-s-593   (  593) [001] ...1 1034712.763331: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server
19979  composer@2.1-s-593   (  593) [001] ...1 1034712.763344: tracing_mark_write: C|593|SetVsyncState |1
19980  composer@2.1-s-593   (  593) [001] ...1 1034712.763352: tracing_mark_write: B|593|HWPrimary::SetVSyncState::
19981  composer@2.1-s-593   (  593) [001] ...1 1034712.764696: tracing_mark_write: E|593
19982  composer@2.1-s-593   (  593) [001] ...1 1034712.764705: tracing_mark_write: E|593
19983  surfaceflinger-668   (  591) [001] ...1 1034712.764734: tracing_mark_write: E|591
19984  HwBinder:778_1-1087  (  778) [000] ...1 1034712.765197: tracing_mark_write: E|778
19985   SensorService-1283  ( 1151) [001] ...1 1034712.765293: tracing_mark_write: E|1151
19986   SensorService-1283  ( 1151) [001] ...1 1034712.765415: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19987  HwBinder:778_1-1087  (  778) [000] ...1 1034712.765467: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19988  SDM_EventThrea-634   (  593) [000] ...1 1034712.772497: tracing_mark_write: B|593|HWCCallbacks::Vsync::
19989  SDM_EventThrea-634   (  593) [000] ...1 1034712.772505: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
19990  SDM_EventThrea-634   (  593) [000] ...1 1034712.772605: tracing_mark_write: E|593
19991  SDM_EventThrea-634   (  593) [000] ...1 1034712.772613: tracing_mark_write: E|593
19992  HwBinder:591_1-620   (  591) [001] ...1 1034712.772641: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
19993  HwBinder:591_1-620   (  591) [001] ...1 1034712.772672: tracing_mark_write: E|591
19994  HwBinder:778_1-1087  (  778) [000] ...1 1034712.784755: tracing_mark_write: E|778
19995   SensorService-1283  ( 1151) [001] ...1 1034712.784908: tracing_mark_write: E|1151
19996   SensorService-1283  ( 1151) [001] ...1 1034712.785084: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
19997  HwBinder:778_1-1087  (  778) [000] ...1 1034712.785225: tracing_mark_write: B|778|HIDL::ISensors::poll::server
19998  SDM_EventThrea-634   (  593) [000] ...1 1034712.789294: tracing_mark_write: B|593|HWCCallbacks::Vsync::
19999  SDM_EventThrea-634   (  593) [000] ...1 1034712.789309: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
20000  SDM_EventThrea-634   (  593) [000] ...1 1034712.789379: tracing_mark_write: E|593
20001  SDM_EventThrea-634   (  593) [000] ...1 1034712.789393: tracing_mark_write: E|593
20002  HwBinder:591_1-620   (  591) [001] ...1 1034712.789418: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
20003  HwBinder:591_1-620   (  591) [001] ...1 1034712.789440: tracing_mark_write: E|591
20004  surfaceflinger-591   (  591) [000] ...1 1034712.795787: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20005  composer@2.1-s-593   (  593) [001] ...1 1034712.795955: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20006  composer@2.1-s-593   (  593) [001] ...1 1034712.796072: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20007  composer@2.1-s-593   (  593) [001] ...1 1034712.796106: tracing_mark_write: B|593|HWDevice::Commit::
20008  composer@2.1-s-593   (  593) [001] ...1 1034712.796300: tracing_mark_write: E|593
20009  composer@2.1-s-593   (  593) [001] ...1 1034712.796351: tracing_mark_write: E|593
20010  composer@2.1-s-593   (  593) [001] ...1 1034712.796409: tracing_mark_write: E|593
20011  surfaceflinger-591   (  591) [000] ...1 1034712.796580: tracing_mark_write: E|591
20012  HwBinder:778_1-1087  (  778) [000] ...1 1034712.804289: tracing_mark_write: E|778
20013   SensorService-1283  ( 1151) [001] ...1 1034712.804507: tracing_mark_write: E|1151
20014   SensorService-1283  ( 1151) [001] ...1 1034712.804724: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20015  HwBinder:778_1-1087  (  778) [000] ...1 1034712.804881: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20016  SDM_EventThrea-634   (  593) [000] ...1 1034712.806169: tracing_mark_write: B|593|HWCCallbacks::Vsync::
20017  SDM_EventThrea-634   (  593) [000] ...1 1034712.806188: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
20018  SDM_EventThrea-634   (  593) [000] ...1 1034712.806297: tracing_mark_write: E|593
20019  SDM_EventThrea-634   (  593) [000] ...1 1034712.806319: tracing_mark_write: E|593
20020  HwBinder:591_1-620   (  591) [001] ...1 1034712.806354: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
20021  HwBinder:591_1-620   (  591) [001] ...1 1034712.806387: tracing_mark_write: E|591
20022  SDM_EventThrea-634   (  593) [000] ...1 1034712.822955: tracing_mark_write: B|593|HWCCallbacks::Vsync::
20023  SDM_EventThrea-634   (  593) [000] ...1 1034712.822982: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
20024  SDM_EventThrea-634   (  593) [000] ...1 1034712.823154: tracing_mark_write: E|593
20025  SDM_EventThrea-634   (  593) [000] ...1 1034712.823180: tracing_mark_write: E|593
20026  HwBinder:591_1-620   (  591) [001] ...1 1034712.823267: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
20027  HwBinder:591_1-620   (  591) [001] ...1 1034712.823305: tracing_mark_write: E|591
20028  HwBinder:778_1-1087  (  778) [000] ...1 1034712.825489: tracing_mark_write: E|778
20029   SensorService-1283  ( 1151) [001] ...1 1034712.825681: tracing_mark_write: E|1151
20030   SensorService-1283  ( 1151) [001] ...1 1034712.825902: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20031  HwBinder:778_1-1087  (  778) [000] ...1 1034712.826052: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20032  SDM_EventThrea-634   (  593) [000] ...1 1034712.839756: tracing_mark_write: B|593|HWCCallbacks::Vsync::
20033  SDM_EventThrea-634   (  593) [000] ...1 1034712.839785: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
20034  SDM_EventThrea-634   (  593) [000] ...1 1034712.839992: tracing_mark_write: E|593
20035  SDM_EventThrea-634   (  593) [000] ...1 1034712.840019: tracing_mark_write: E|593
20036  HwBinder:591_1-620   (  591) [001] ...1 1034712.840058: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
20037  HwBinder:591_1-620   (  591) [001] ...1 1034712.840097: tracing_mark_write: E|591
20038  HwBinder:778_1-1087  (  778) [001] ...1 1034712.842775: tracing_mark_write: E|778
20039   SensorService-1283  ( 1151) [002] ...1 1034712.842990: tracing_mark_write: E|1151
20040   SensorService-1283  ( 1151) [002] ...1 1034712.843309: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20041  HwBinder:778_1-1087  (  778) [001] ...1 1034712.843473: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20042  surfaceflinger-591   (  591) [002] ...1 1034712.847091: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20043  composer@2.1-s-593   (  593) [001] ...1 1034712.847445: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20044  composer@2.1-s-593   (  593) [001] ...1 1034712.847644: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20045  composer@2.1-s-593   (  593) [001] ...1 1034712.847703: tracing_mark_write: B|593|HWDevice::Commit::
20046  composer@2.1-s-593   (  593) [001] ...1 1034712.848024: tracing_mark_write: E|593
20047  composer@2.1-s-593   (  593) [001] ...1 1034712.848106: tracing_mark_write: E|593
20048  composer@2.1-s-593   (  593) [001] ...1 1034712.848199: tracing_mark_write: E|593
20049  surfaceflinger-591   (  591) [000] ...1 1034712.848453: tracing_mark_write: E|591
20050  SDM_EventThrea-634   (  593) [000] ...1 1034712.856506: tracing_mark_write: B|593|HWCCallbacks::Vsync::
20051  SDM_EventThrea-634   (  593) [000] ...1 1034712.856526: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
20052  SDM_EventThrea-634   (  593) [000] ...1 1034712.856707: tracing_mark_write: E|593
20053  SDM_EventThrea-634   (  593) [000] ...1 1034712.856730: tracing_mark_write: E|593
20054  HwBinder:591_1-620   (  591) [001] ...1 1034712.856773: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
20055  HwBinder:591_1-620   (  591) [001] ...1 1034712.856912: tracing_mark_write: E|591
20056  HwBinder:778_1-1087  (  778) [002] ...1 1034712.861923: tracing_mark_write: E|778
20057   SensorService-1283  ( 1151) [000] ...1 1034712.862141: tracing_mark_write: E|1151
20058   SensorService-1283  ( 1151) [000] ...1 1034712.862400: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20059  HwBinder:778_1-1087  (  778) [004] ...1 1034712.862657: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20060  SDM_EventThrea-634   (  593) [000] ...1 1034712.873550: tracing_mark_write: B|593|HWCCallbacks::Vsync::
20061  SDM_EventThrea-634   (  593) [000] ...1 1034712.873580: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
20062  SDM_EventThrea-634   (  593) [000] ...1 1034712.873770: tracing_mark_write: E|593
20063  SDM_EventThrea-634   (  593) [000] ...1 1034712.873809: tracing_mark_write: E|593
20064  HwBinder:591_1-620   (  591) [001] ...1 1034712.873944: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
20065  HwBinder:591_1-620   (  591) [001] ...1 1034712.874087: tracing_mark_write: E|591
20066  surfaceflinger-591   (  591) [000] ...1 1034712.880427: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20067  composer@2.1-s-593   (  593) [001] ...1 1034712.880710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20068  composer@2.1-s-593   (  593) [001] ...1 1034712.880890: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20069  composer@2.1-s-593   (  593) [001] ...1 1034712.880943: tracing_mark_write: B|593|HWDevice::Commit::
20070  composer@2.1-s-593   (  593) [001] ...1 1034712.881219: tracing_mark_write: E|593
20071  composer@2.1-s-593   (  593) [001] ...1 1034712.881285: tracing_mark_write: E|593
20072  composer@2.1-s-593   (  593) [001] ...1 1034712.881367: tracing_mark_write: E|593
20073  surfaceflinger-591   (  591) [000] ...1 1034712.881544: tracing_mark_write: E|591
20074  HwBinder:778_1-1087  (  778) [001] ...1 1034712.882068: tracing_mark_write: E|778
20075  surfaceflinger-668   (  591) [001] ...1 1034712.882241: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client
20076   SensorService-1283  ( 1151) [006] ...1 1034712.882315: tracing_mark_write: E|1151
20077   SensorService-1283  ( 1151) [006] ...1 1034712.882547: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20078  HwBinder:778_1-1087  (  778) [001] ...1 1034712.882724: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20079  composer@2.1-s-593   (  593) [001] ...1 1034712.882810: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server
20080  composer@2.1-s-593   (  593) [001] ...1 1034712.882832: tracing_mark_write: C|593|SetVsyncState |0
20081  composer@2.1-s-593   (  593) [001] ...1 1034712.882851: tracing_mark_write: B|593|HWPrimary::SetVSyncState::
20082  composer@2.1-s-593   (  593) [001] ...1 1034712.882887: tracing_mark_write: E|593
20083  composer@2.1-s-593   (  593) [001] ...1 1034712.882908: tracing_mark_write: E|593
20084  surfaceflinger-668   (  591) [001] ...1 1034712.882991: tracing_mark_write: E|591
20085  HwBinder:778_1-1087  (  778) [000] ...1 1034712.900376: tracing_mark_write: E|778
20086   SensorService-1283  ( 1151) [006] ...1 1034712.900537: tracing_mark_write: E|1151
20087   SensorService-1283  ( 1151) [006] ...1 1034712.900684: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20088  HwBinder:778_1-1087  (  778) [000] ...1 1034712.900824: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20089  HwBinder:778_1-1087  (  778) [000] ...1 1034712.919749: tracing_mark_write: E|778
20090   SensorService-1283  ( 1151) [006] ...1 1034712.919991: tracing_mark_write: E|1151
20091   SensorService-1283  ( 1151) [006] ...1 1034712.920146: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20092  HwBinder:778_1-1087  (  778) [000] ...1 1034712.920290: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20093  surfaceflinger-591   (  591) [001] ...1 1034712.930686: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20094  composer@2.1-s-593   (  593) [000] ...1 1034712.931044: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20095  composer@2.1-s-593   (  593) [000] ...1 1034712.931233: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20096  composer@2.1-s-593   (  593) [000] ...1 1034712.931289: tracing_mark_write: B|593|HWDevice::Commit::
20097  composer@2.1-s-593   (  593) [000] ...1 1034712.931580: tracing_mark_write: E|593
20098  composer@2.1-s-593   (  593) [000] ...1 1034712.931654: tracing_mark_write: E|593
20099  composer@2.1-s-593   (  593) [000] ...1 1034712.931735: tracing_mark_write: E|593
20100  surfaceflinger-591   (  591) [001] ...1 1034712.931939: tracing_mark_write: E|591
20101  HwBinder:778_1-1087  (  778) [001] ...1 1034712.938776: tracing_mark_write: E|778
20102   SensorService-1283  ( 1151) [006] ...1 1034712.938936: tracing_mark_write: E|1151
20103   SensorService-1283  ( 1151) [006] ...1 1034712.939067: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20104  HwBinder:778_1-1087  (  778) [001] ...1 1034712.939205: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20105  HwBinder:778_1-1087  (  778) [000] ...1 1034712.958334: tracing_mark_write: E|778
20106   SensorService-1283  ( 1151) [006] ...1 1034712.958586: tracing_mark_write: E|1151
20107   SensorService-1283  ( 1151) [006] ...1 1034712.958759: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20108  HwBinder:778_1-1087  (  778) [000] ...1 1034712.958936: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20109  surfaceflinger-591   (  591) [001] ...1 1034712.964027: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20110  composer@2.1-s-593   (  593) [000] ...1 1034712.964329: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20111  composer@2.1-s-593   (  593) [000] ...1 1034712.964502: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20112  composer@2.1-s-593   (  593) [000] ...1 1034712.964554: tracing_mark_write: B|593|HWDevice::Commit::
20113  composer@2.1-s-593   (  593) [000] ...1 1034712.964823: tracing_mark_write: E|593
20114  composer@2.1-s-593   (  593) [000] ...1 1034712.964890: tracing_mark_write: E|593
20115  composer@2.1-s-593   (  593) [000] ...1 1034712.964963: tracing_mark_write: E|593
20116  surfaceflinger-591   (  591) [001] ...1 1034712.965139: tracing_mark_write: E|591
20117  HwBinder:778_1-1087  (  778) [000] ...1 1034712.977371: tracing_mark_write: E|778
20118   SensorService-1283  ( 1151) [006] ...1 1034712.977537: tracing_mark_write: E|1151
20119   SensorService-1283  ( 1151) [006] ...1 1034712.977699: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20120  HwBinder:778_1-1087  (  778) [000] ...1 1034712.977834: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20121  HwBinder:778_1-1087  (  778) [000] ...1 1034712.996692: tracing_mark_write: E|778
20122   SensorService-1283  ( 1151) [006] ...1 1034712.996872: tracing_mark_write: E|1151
20123   SensorService-1283  ( 1151) [006] ...1 1034712.997017: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20124  HwBinder:778_1-1087  (  778) [000] ...1 1034712.997170: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20125  surfaceflinger-591   (  591) [001] ...1 1034713.014505: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20126  composer@2.1-s-593   (  593) [000] ...1 1034713.014904: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20127  composer@2.1-s-593   (  593) [000] ...1 1034713.015104: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20128  composer@2.1-s-593   (  593) [000] ...1 1034713.015161: tracing_mark_write: B|593|HWDevice::Commit::
20129  composer@2.1-s-593   (  593) [000] ...1 1034713.015469: tracing_mark_write: E|593
20130  composer@2.1-s-593   (  593) [000] ...1 1034713.015546: tracing_mark_write: E|593
20131  composer@2.1-s-593   (  593) [000] ...1 1034713.015634: tracing_mark_write: E|593
20132  surfaceflinger-591   (  591) [001] ...1 1034713.015855: tracing_mark_write: E|591
20133  HwBinder:778_1-1087  (  778) [003] ...1 1034713.016054: tracing_mark_write: E|778
20134   SensorService-1283  ( 1151) [006] ...1 1034713.016229: tracing_mark_write: E|1151
20135   SensorService-1283  ( 1151) [006] ...1 1034713.016382: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20136  HwBinder:778_1-1087  (  778) [003] ...1 1034713.016605: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20137  HwBinder:778_1-1087  (  778) [002] ...1 1034713.035224: tracing_mark_write: E|778
20138   SensorService-1283  ( 1151) [006] ...1 1034713.035404: tracing_mark_write: E|1151
20139   SensorService-1283  ( 1151) [006] ...1 1034713.035530: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20140  HwBinder:778_1-1087  (  778) [002] ...1 1034713.035679: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20141  HwBinder:778_1-1087  (  778) [001] ...1 1034713.054548: tracing_mark_write: E|778
20142   SensorService-1283  ( 1151) [006] ...1 1034713.054730: tracing_mark_write: E|1151
20143   SensorService-1283  ( 1151) [006] ...1 1034713.054873: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20144  HwBinder:778_1-1087  (  778) [001] ...1 1034713.055030: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20145  surfaceflinger-591   (  591) [002] ...1 1034713.064817: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20146  composer@2.1-s-593   (  593) [000] ...1 1034713.065150: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20147  composer@2.1-s-593   (  593) [000] ...1 1034713.065342: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20148  composer@2.1-s-593   (  593) [000] ...1 1034713.065395: tracing_mark_write: B|593|HWDevice::Commit::
20149  composer@2.1-s-593   (  593) [000] ...1 1034713.065686: tracing_mark_write: E|593
20150  composer@2.1-s-593   (  593) [000] ...1 1034713.065757: tracing_mark_write: E|593
20151  composer@2.1-s-593   (  593) [000] ...1 1034713.065836: tracing_mark_write: E|593
20152  surfaceflinger-591   (  591) [001] ...1 1034713.066064: tracing_mark_write: E|591
20153  HwBinder:778_1-1087  (  778) [001] ...1 1034713.073795: tracing_mark_write: E|778
20154   SensorService-1283  ( 1151) [006] ...1 1034713.073950: tracing_mark_write: E|1151
20155   SensorService-1283  ( 1151) [006] ...1 1034713.074071: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20156  HwBinder:778_1-1087  (  778) [001] ...1 1034713.074212: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20157  HwBinder:778_1-1087  (  778) [000] ...1 1034713.093055: tracing_mark_write: E|778
20158   SensorService-1283  ( 1151) [006] ...1 1034713.093364: tracing_mark_write: E|1151
20159   SensorService-1283  ( 1151) [006] ...1 1034713.093533: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20160  HwBinder:778_1-1087  (  778) [000] ...1 1034713.093675: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20161  surfaceflinger-591   (  591) [001] ...1 1034713.098324: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20162  composer@2.1-s-593   (  593) [000] ...1 1034713.098645: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20163  composer@2.1-s-593   (  593) [000] ...1 1034713.098825: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20164  composer@2.1-s-593   (  593) [000] ...1 1034713.098879: tracing_mark_write: B|593|HWDevice::Commit::
20165  composer@2.1-s-593   (  593) [000] ...1 1034713.099161: tracing_mark_write: E|593
20166  composer@2.1-s-593   (  593) [000] ...1 1034713.099231: tracing_mark_write: E|593
20167  composer@2.1-s-593   (  593) [000] ...1 1034713.099309: tracing_mark_write: E|593
20168  surfaceflinger-591   (  591) [001] ...1 1034713.099496: tracing_mark_write: E|591
20169  HwBinder:778_1-1087  (  778) [000] ...1 1034713.112188: tracing_mark_write: E|778
20170   SensorService-1283  ( 1151) [006] ...1 1034713.112353: tracing_mark_write: E|1151
20171   SensorService-1283  ( 1151) [006] ...1 1034713.112490: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20172  HwBinder:778_1-1087  (  778) [000] ...1 1034713.112626: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20173  HwBinder:778_1-1087  (  778) [001] ...1 1034713.131594: tracing_mark_write: E|778
20174   SensorService-1283  ( 1151) [006] ...1 1034713.131791: tracing_mark_write: E|1151
20175   SensorService-1283  ( 1151) [006] ...1 1034713.131931: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20176  HwBinder:778_1-1087  (  778) [001] ...1 1034713.132087: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20177  surfaceflinger-591   (  591) [000] ...1 1034713.148721: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20178  composer@2.1-s-593   (  593) [001] ...1 1034713.149080: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20179  composer@2.1-s-593   (  593) [001] ...1 1034713.149271: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20180  composer@2.1-s-593   (  593) [001] ...1 1034713.149327: tracing_mark_write: B|593|HWDevice::Commit::
20181  composer@2.1-s-593   (  593) [001] ...1 1034713.149619: tracing_mark_write: E|593
20182  composer@2.1-s-593   (  593) [001] ...1 1034713.149690: tracing_mark_write: E|593
20183  composer@2.1-s-593   (  593) [001] ...1 1034713.149771: tracing_mark_write: E|593
20184  surfaceflinger-591   (  591) [000] ...1 1034713.150078: tracing_mark_write: E|591
20185  HwBinder:778_1-1087  (  778) [001] ...1 1034713.153462: tracing_mark_write: E|778
20186   SensorService-1283  ( 1151) [006] ...1 1034713.153613: tracing_mark_write: E|1151
20187   SensorService-1283  ( 1151) [006] ...1 1034713.153756: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20188  HwBinder:778_1-1087  (  778) [001] ...1 1034713.153904: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20189  HwBinder:778_1-1087  (  778) [001] ...1 1034713.169984: tracing_mark_write: E|778
20190   SensorService-1283  ( 1151) [006] ...1 1034713.170149: tracing_mark_write: E|1151
20191   SensorService-1283  ( 1151) [006] ...1 1034713.170262: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20192  HwBinder:778_1-1087  (  778) [001] ...1 1034713.170399: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20193  surfaceflinger-591   (  591) [001] ...1 1034713.182163: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20194  composer@2.1-s-593   (  593) [000] ...1 1034713.182513: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20195  composer@2.1-s-593   (  593) [000] ...1 1034713.182666: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20196  composer@2.1-s-593   (  593) [000] ...1 1034713.182709: tracing_mark_write: B|593|HWDevice::Commit::
20197  composer@2.1-s-593   (  593) [000] ...1 1034713.182946: tracing_mark_write: E|593
20198  composer@2.1-s-593   (  593) [000] ...1 1034713.183002: tracing_mark_write: E|593
20199  composer@2.1-s-593   (  593) [000] ...1 1034713.183068: tracing_mark_write: E|593
20200  surfaceflinger-591   (  591) [001] ...1 1034713.183271: tracing_mark_write: E|591
20201  HwBinder:778_1-1087  (  778) [001] ...1 1034713.189022: tracing_mark_write: E|778
20202   SensorService-1283  ( 1151) [006] ...1 1034713.189159: tracing_mark_write: E|1151
20203   SensorService-1283  ( 1151) [006] ...1 1034713.189267: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20204  HwBinder:778_1-1087  (  778) [001] ...1 1034713.189376: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20205  HwBinder:778_1-1087  (  778) [001] ...1 1034713.208372: tracing_mark_write: E|778
20206   SensorService-1283  ( 1151) [006] ...1 1034713.208515: tracing_mark_write: E|1151
20207   SensorService-1283  ( 1151) [006] ...1 1034713.208619: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20208  HwBinder:778_1-1087  (  778) [001] ...1 1034713.208720: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20209  HwBinder:778_1-1087  (  778) [000] ...1 1034713.227599: tracing_mark_write: E|778
20210   SensorService-1283  ( 1151) [006] ...1 1034713.227774: tracing_mark_write: E|1151
20211   SensorService-1283  ( 1151) [006] ...1 1034713.227862: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20212  HwBinder:778_1-1087  (  778) [000] ...1 1034713.227978: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20213  surfaceflinger-591   (  591) [000] ...1 1034713.232558: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20214  composer@2.1-s-593   (  593) [001] ...1 1034713.232898: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20215  composer@2.1-s-593   (  593) [001] ...1 1034713.233071: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20216  composer@2.1-s-593   (  593) [001] ...1 1034713.233122: tracing_mark_write: B|593|HWDevice::Commit::
20217  composer@2.1-s-593   (  593) [001] ...1 1034713.233428: tracing_mark_write: E|593
20218  composer@2.1-s-593   (  593) [001] ...1 1034713.233492: tracing_mark_write: E|593
20219  composer@2.1-s-593   (  593) [001] ...1 1034713.233569: tracing_mark_write: E|593
20220  surfaceflinger-591   (  591) [000] ...1 1034713.233752: tracing_mark_write: E|591
20221  HwBinder:778_1-1087  (  778) [002] ...1 1034713.246962: tracing_mark_write: E|778
20222   SensorService-1283  ( 1151) [006] ...1 1034713.247162: tracing_mark_write: E|1151
20223   SensorService-1283  ( 1151) [006] ...1 1034713.247257: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20224  HwBinder:778_1-1087  (  778) [002] ...1 1034713.247352: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20225  surfaceflinger-591   (  591) [001] ...1 1034713.266045: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20226  composer@2.1-s-593   (  593) [000] ...1 1034713.266404: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20227  composer@2.1-s-593   (  593) [000] ...1 1034713.266562: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20228  composer@2.1-s-593   (  593) [000] ...1 1034713.266598: tracing_mark_write: B|593|HWDevice::Commit::
20229  HwBinder:778_1-1087  (  778) [002] ...1 1034713.266756: tracing_mark_write: E|778
20230  composer@2.1-s-593   (  593) [000] ...1 1034713.266797: tracing_mark_write: E|593
20231  composer@2.1-s-593   (  593) [000] ...1 1034713.266843: tracing_mark_write: E|593
20232   SensorService-1283  ( 1151) [006] ...1 1034713.266866: tracing_mark_write: E|1151
20233  composer@2.1-s-593   (  593) [000] ...1 1034713.266890: tracing_mark_write: E|593
20234   SensorService-1283  ( 1151) [006] ...1 1034713.266955: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20235  surfaceflinger-591   (  591) [001] ...1 1034713.267003: tracing_mark_write: E|591
20236  HwBinder:778_1-1087  (  778) [002] ...1 1034713.267030: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20237  HwBinder:778_1-1087  (  778) [001] ...1 1034713.285043: tracing_mark_write: E|778
20238   SensorService-1283  ( 1151) [006] ...1 1034713.285142: tracing_mark_write: E|1151
20239   SensorService-1283  ( 1151) [006] ...1 1034713.285219: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20240  HwBinder:778_1-1087  (  778) [001] ...1 1034713.285285: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20241  HwBinder:778_1-1087  (  778) [001] ...1 1034713.304303: tracing_mark_write: E|778
20242   SensorService-1283  ( 1151) [006] ...1 1034713.304395: tracing_mark_write: E|1151
20243   SensorService-1283  ( 1151) [006] ...1 1034713.304516: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20244  HwBinder:778_1-1087  (  778) [001] ...1 1034713.304588: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20245  surfaceflinger-591   (  591) [000] ...1 1034713.315907: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20246  composer@2.1-s-593   (  593) [001] ...1 1034713.316081: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20247  composer@2.1-s-593   (  593) [001] ...1 1034713.316175: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20248  composer@2.1-s-593   (  593) [001] ...1 1034713.316203: tracing_mark_write: B|593|HWDevice::Commit::
20249  composer@2.1-s-593   (  593) [001] ...1 1034713.316346: tracing_mark_write: E|593
20250  composer@2.1-s-593   (  593) [001] ...1 1034713.316383: tracing_mark_write: E|593
20251  composer@2.1-s-593   (  593) [001] ...1 1034713.316425: tracing_mark_write: E|593
20252  surfaceflinger-591   (  591) [000] ...1 1034713.316515: tracing_mark_write: E|591
20253  HwBinder:778_1-1087  (  778) [000] ...1 1034713.323608: tracing_mark_write: E|778
20254   SensorService-1283  ( 1151) [006] ...1 1034713.323716: tracing_mark_write: E|1151
20255   SensorService-1283  ( 1151) [006] ...1 1034713.323868: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20256  HwBinder:778_1-1087  (  778) [000] ...1 1034713.323965: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20257  HwBinder:778_1-1087  (  778) [000] ...1 1034713.342812: tracing_mark_write: E|778
20258   SensorService-1283  ( 1151) [006] ...1 1034713.342936: tracing_mark_write: E|1151
20259   SensorService-1283  ( 1151) [006] ...1 1034713.343042: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20260  HwBinder:778_1-1087  (  778) [000] ...1 1034713.343191: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20261  surfaceflinger-591   (  591) [000] ...1 1034713.349688: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20262  composer@2.1-s-593   (  593) [001] ...1 1034713.349952: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20263  composer@2.1-s-593   (  593) [001] ...1 1034713.350080: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20264  composer@2.1-s-593   (  593) [001] ...1 1034713.350120: tracing_mark_write: B|593|HWDevice::Commit::
20265  composer@2.1-s-593   (  593) [001] ...1 1034713.350351: tracing_mark_write: E|593
20266  composer@2.1-s-593   (  593) [001] ...1 1034713.350407: tracing_mark_write: E|593
20267  composer@2.1-s-593   (  593) [001] ...1 1034713.350471: tracing_mark_write: E|593
20268  surfaceflinger-591   (  591) [000] ...1 1034713.350618: tracing_mark_write: E|591
20269  HwBinder:778_1-1087  (  778) [000] ...1 1034713.362048: tracing_mark_write: E|778
20270   SensorService-1283  ( 1151) [006] ...1 1034713.362170: tracing_mark_write: E|1151
20271   SensorService-1283  ( 1151) [006] ...1 1034713.362265: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20272  HwBinder:778_1-1087  (  778) [000] ...1 1034713.362390: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20273  HwBinder:778_1-1087  (  778) [000] ...1 1034713.381841: tracing_mark_write: E|778
20274   SensorService-1283  ( 1151) [006] ...1 1034713.381982: tracing_mark_write: E|1151
20275   SensorService-1283  ( 1151) [006] ...1 1034713.382082: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20276  HwBinder:778_1-1087  (  778) [000] ...1 1034713.382206: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20277  surfaceflinger-591   (  591) [000] ...1 1034713.400556: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20278  composer@2.1-s-593   (  593) [001] ...1 1034713.400883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20279  composer@2.1-s-593   (  593) [001] ...1 1034713.401065: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20280  composer@2.1-s-593   (  593) [001] ...1 1034713.401118: tracing_mark_write: B|593|HWDevice::Commit::
20281  composer@2.1-s-593   (  593) [001] ...1 1034713.401433: tracing_mark_write: E|593
20282  composer@2.1-s-593   (  593) [001] ...1 1034713.401515: tracing_mark_write: E|593
20283  HwBinder:778_1-1087  (  778) [000] ...1 1034713.401602: tracing_mark_write: E|778
20284  composer@2.1-s-593   (  593) [001] ...1 1034713.401603: tracing_mark_write: E|593
20285   SensorService-1283  ( 1151) [006] ...1 1034713.401719: tracing_mark_write: E|1151
20286   SensorService-1283  ( 1151) [006] ...1 1034713.401782: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20287  sensors@1.0-se-778   (  778) [004] ...1 1034713.401868: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20288  surfaceflinger-591   (  591) [003] ...1 1034713.401995: tracing_mark_write: E|591
20289  sensors@1.0-se-778   (  778) [006] ...1 1034713.420099: tracing_mark_write: E|778
20290   SensorService-1283  ( 1151) [000] ...1 1034713.420292: tracing_mark_write: E|1151
20291   SensorService-1283  ( 1151) [000] ...1 1034713.420511: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20292  sensors@1.0-se-778   (  778) [006] ...1 1034713.420689: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20293  sensors@1.0-se-778   (  778) [006] ...1 1034713.439228: tracing_mark_write: E|778
20294   SensorService-1283  ( 1151) [000] ...1 1034713.439447: tracing_mark_write: E|1151
20295   SensorService-1283  ( 1151) [000] ...1 1034713.439710: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20296  sensors@1.0-se-778   (  778) [006] ...1 1034713.439896: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20297  surfaceflinger-591   (  591) [000] ...1 1034713.450848: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20298  composer@2.1-s-593   (  593) [001] ...1 1034713.451185: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20299  composer@2.1-s-593   (  593) [001] ...1 1034713.451369: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20300  composer@2.1-s-593   (  593) [001] ...1 1034713.451426: tracing_mark_write: B|593|HWDevice::Commit::
20301  composer@2.1-s-593   (  593) [001] ...1 1034713.451742: tracing_mark_write: E|593
20302  composer@2.1-s-593   (  593) [001] ...1 1034713.451817: tracing_mark_write: E|593
20303  composer@2.1-s-593   (  593) [001] ...1 1034713.451904: tracing_mark_write: E|593
20304  surfaceflinger-591   (  591) [000] ...1 1034713.452123: tracing_mark_write: E|591
20305  sensors@1.0-se-778   (  778) [006] ...1 1034713.458496: tracing_mark_write: E|778
20306   SensorService-1283  ( 1151) [000] ...1 1034713.458696: tracing_mark_write: E|1151
20307   SensorService-1283  ( 1151) [000] ...1 1034713.458942: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20308  sensors@1.0-se-778   (  778) [006] ...1 1034713.459091: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20309  sensors@1.0-se-778   (  778) [004] ...1 1034713.478548: tracing_mark_write: E|778
20310   SensorService-1283  ( 1151) [000] ...1 1034713.478821: tracing_mark_write: E|1151
20311   SensorService-1283  ( 1151) [000] ...1 1034713.479062: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20312  sensors@1.0-se-778   (  778) [004] ...1 1034713.479262: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20313  surfaceflinger-591   (  591) [001] ...1 1034713.484522: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20314  composer@2.1-s-593   (  593) [000] ...1 1034713.484905: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20315  composer@2.1-s-593   (  593) [000] ...1 1034713.485112: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20316  composer@2.1-s-593   (  593) [000] ...1 1034713.485169: tracing_mark_write: B|593|HWDevice::Commit::
20317  composer@2.1-s-593   (  593) [000] ...1 1034713.485480: tracing_mark_write: E|593
20318  composer@2.1-s-593   (  593) [000] ...1 1034713.485558: tracing_mark_write: E|593
20319  composer@2.1-s-593   (  593) [000] ...1 1034713.485644: tracing_mark_write: E|593
20320  surfaceflinger-591   (  591) [001] ...1 1034713.485863: tracing_mark_write: E|591
20321  sensors@1.0-se-778   (  778) [004] ...1 1034713.497074: tracing_mark_write: E|778
20322   SensorService-1283  ( 1151) [000] ...1 1034713.497265: tracing_mark_write: E|1151
20323   SensorService-1283  ( 1151) [000] ...1 1034713.497412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20324  sensors@1.0-se-778   (  778) [004] ...1 1034713.497534: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20325  sensors@1.0-se-778   (  778) [004] ...1 1034713.516254: tracing_mark_write: E|778
20326   SensorService-1283  ( 1151) [000] ...1 1034713.516438: tracing_mark_write: E|1151
20327   SensorService-1283  ( 1151) [000] ...1 1034713.516637: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20328  sensors@1.0-se-778   (  778) [004] ...1 1034713.516803: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20329  surfaceflinger-591   (  591) [002] ...1 1034713.534448: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20330  composer@2.1-s-593   (  593) [000] ...1 1034713.534649: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20331  composer@2.1-s-593   (  593) [000] ...1 1034713.534763: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20332  composer@2.1-s-593   (  593) [000] ...1 1034713.534796: tracing_mark_write: B|593|HWDevice::Commit::
20333  composer@2.1-s-593   (  593) [000] ...1 1034713.534979: tracing_mark_write: E|593
20334  composer@2.1-s-593   (  593) [000] ...1 1034713.535026: tracing_mark_write: E|593
20335  composer@2.1-s-593   (  593) [000] ...1 1034713.535077: tracing_mark_write: E|593
20336  surfaceflinger-591   (  591) [003] ...1 1034713.535230: tracing_mark_write: E|591
20337  sensors@1.0-se-778   (  778) [004] ...1 1034713.535389: tracing_mark_write: E|778
20338   SensorService-1283  ( 1151) [000] ...1 1034713.535501: tracing_mark_write: E|1151
20339   SensorService-1283  ( 1151) [000] ...1 1034713.535644: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20340  sensors@1.0-se-778   (  778) [004] ...1 1034713.535735: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20341  sensors@1.0-se-778   (  778) [004] ...1 1034713.554846: tracing_mark_write: E|778
20342   SensorService-1283  ( 1151) [000] ...1 1034713.555002: tracing_mark_write: E|1151
20343   SensorService-1283  ( 1151) [000] ...1 1034713.555152: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20344  sensors@1.0-se-778   (  778) [004] ...1 1034713.555269: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20345  sensors@1.0-se-778   (  778) [004] ...1 1034713.574732: tracing_mark_write: E|778
20346   SensorService-1283  ( 1151) [000] ...1 1034713.574973: tracing_mark_write: E|1151
20347   SensorService-1283  ( 1151) [000] ...1 1034713.575216: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20348  sensors@1.0-se-778   (  778) [004] ...1 1034713.575378: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20349  surfaceflinger-591   (  591) [000] ...1 1034713.585123: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20350  composer@2.1-s-593   (  593) [001] ...1 1034713.585463: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20351  composer@2.1-s-593   (  593) [001] ...1 1034713.585658: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20352  composer@2.1-s-593   (  593) [001] ...1 1034713.585716: tracing_mark_write: B|593|HWDevice::Commit::
20353  composer@2.1-s-593   (  593) [001] ...1 1034713.586029: tracing_mark_write: E|593
20354  composer@2.1-s-593   (  593) [001] ...1 1034713.586106: tracing_mark_write: E|593
20355  composer@2.1-s-593   (  593) [001] ...1 1034713.586193: tracing_mark_write: E|593
20356  surfaceflinger-591   (  591) [000] ...1 1034713.586408: tracing_mark_write: E|591
20357  sensors@1.0-se-778   (  778) [004] ...1 1034713.593578: tracing_mark_write: E|778
20358   SensorService-1283  ( 1151) [000] ...1 1034713.593852: tracing_mark_write: E|1151
20359   SensorService-1283  ( 1151) [000] ...1 1034713.594172: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20360  sensors@1.0-se-778   (  778) [004] ...1 1034713.594354: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20361  sensors@1.0-se-778   (  778) [004] ...1 1034713.613014: tracing_mark_write: E|778
20362   SensorService-1283  ( 1151) [000] ...1 1034713.613301: tracing_mark_write: E|1151
20363   SensorService-1283  ( 1151) [000] ...1 1034713.613547: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20364  sensors@1.0-se-778   (  778) [004] ...1 1034713.613668: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20365  surfaceflinger-591   (  591) [001] ...1 1034713.618894: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20366  composer@2.1-s-593   (  593) [000] ...1 1034713.619268: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20367  composer@2.1-s-593   (  593) [000] ...1 1034713.619469: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20368  composer@2.1-s-593   (  593) [000] ...1 1034713.619528: tracing_mark_write: B|593|HWDevice::Commit::
20369  composer@2.1-s-593   (  593) [000] ...1 1034713.619842: tracing_mark_write: E|593
20370  composer@2.1-s-593   (  593) [000] ...1 1034713.619988: tracing_mark_write: E|593
20371  composer@2.1-s-593   (  593) [000] ...1 1034713.620074: tracing_mark_write: E|593
20372  surfaceflinger-591   (  591) [001] ...1 1034713.620301: tracing_mark_write: E|591
20373  sensors@1.0-se-778   (  778) [004] ...1 1034713.632055: tracing_mark_write: E|778
20374   SensorService-1283  ( 1151) [000] ...1 1034713.632284: tracing_mark_write: E|1151
20375   SensorService-1283  ( 1151) [000] ...1 1034713.632517: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20376  sensors@1.0-se-778   (  778) [004] ...1 1034713.632695: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20377  sensors@1.0-se-778   (  778) [004] ...1 1034713.651185: tracing_mark_write: E|778
20378   SensorService-1283  ( 1151) [000] ...1 1034713.651355: tracing_mark_write: E|1151
20379   SensorService-1283  ( 1151) [000] ...1 1034713.651469: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20380  sensors@1.0-se-778   (  778) [004] ...1 1034713.651627: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20381  surfaceflinger-591   (  591) [002] ...1 1034713.668791: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20382  composer@2.1-s-593   (  593) [000] ...1 1034713.669089: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20383  composer@2.1-s-593   (  593) [000] ...1 1034713.669256: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20384  composer@2.1-s-593   (  593) [000] ...1 1034713.669305: tracing_mark_write: B|593|HWDevice::Commit::
20385  composer@2.1-s-593   (  593) [000] ...1 1034713.669582: tracing_mark_write: E|593
20386  composer@2.1-s-593   (  593) [000] ...1 1034713.669649: tracing_mark_write: E|593
20387  composer@2.1-s-593   (  593) [000] ...1 1034713.669727: tracing_mark_write: E|593
20388  surfaceflinger-591   (  591) [001] ...1 1034713.669992: tracing_mark_write: E|591
20389  sensors@1.0-se-778   (  778) [004] ...1 1034713.671490: tracing_mark_write: E|778
20390   SensorService-1283  ( 1151) [000] ...1 1034713.671671: tracing_mark_write: E|1151
20391   SensorService-1283  ( 1151) [000] ...1 1034713.671872: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20392  sensors@1.0-se-778   (  778) [004] ...1 1034713.672012: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20393  sensors@1.0-se-778   (  778) [004] ...1 1034713.689459: tracing_mark_write: E|778
20394   SensorService-1283  ( 1151) [000] ...1 1034713.689591: tracing_mark_write: E|1151
20395   SensorService-1283  ( 1151) [000] ...1 1034713.689714: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20396  sensors@1.0-se-778   (  778) [004] ...1 1034713.689838: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20397  sensors@1.0-se-778   (  778) [004] ...1 1034713.708705: tracing_mark_write: E|778
20398   SensorService-1283  ( 1151) [000] ...1 1034713.708886: tracing_mark_write: E|1151
20399   SensorService-1283  ( 1151) [000] ...1 1034713.709079: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20400  sensors@1.0-se-778   (  778) [004] ...1 1034713.709220: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20401  surfaceflinger-591   (  591) [000] ...1 1034713.719240: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20402  composer@2.1-s-593   (  593) [001] ...1 1034713.719580: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20403  composer@2.1-s-593   (  593) [001] ...1 1034713.719747: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20404  composer@2.1-s-593   (  593) [001] ...1 1034713.719800: tracing_mark_write: B|593|HWDevice::Commit::
20405  composer@2.1-s-593   (  593) [001] ...1 1034713.720169: tracing_mark_write: E|593
20406  composer@2.1-s-593   (  593) [001] ...1 1034713.720240: tracing_mark_write: E|593
20407  composer@2.1-s-593   (  593) [001] ...1 1034713.720320: tracing_mark_write: E|593
20408  surfaceflinger-591   (  591) [000] ...1 1034713.720535: tracing_mark_write: E|591
20409  sensors@1.0-se-778   (  778) [004] ...1 1034713.727892: tracing_mark_write: E|778
20410   SensorService-1283  ( 1151) [000] ...1 1034713.728050: tracing_mark_write: E|1151
20411   SensorService-1283  ( 1151) [000] ...1 1034713.728256: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20412  sensors@1.0-se-778   (  778) [004] ...1 1034713.728380: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20413  sensors@1.0-se-778   (  778) [004] ...1 1034713.747131: tracing_mark_write: E|778
20414   SensorService-1283  ( 1151) [000] ...1 1034713.747305: tracing_mark_write: E|1151
20415   SensorService-1283  ( 1151) [000] ...1 1034713.747493: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20416  sensors@1.0-se-778   (  778) [004] ...1 1034713.747622: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20417  surfaceflinger-591   (  591) [000] ...1 1034713.752771: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20418  composer@2.1-s-593   (  593) [001] ...1 1034713.753040: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20419  composer@2.1-s-593   (  593) [001] ...1 1034713.753292: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20420  composer@2.1-s-593   (  593) [001] ...1 1034713.753341: tracing_mark_write: B|593|HWDevice::Commit::
20421  composer@2.1-s-593   (  593) [001] ...1 1034713.753624: tracing_mark_write: E|593
20422  composer@2.1-s-593   (  593) [001] ...1 1034713.753690: tracing_mark_write: E|593
20423  composer@2.1-s-593   (  593) [001] ...1 1034713.753763: tracing_mark_write: E|593
20424  surfaceflinger-591   (  591) [000] ...1 1034713.753971: tracing_mark_write: E|591
20425  sensors@1.0-se-778   (  778) [004] ...1 1034713.766584: tracing_mark_write: E|778
20426   SensorService-1283  ( 1151) [000] ...1 1034713.766736: tracing_mark_write: E|1151
20427   SensorService-1283  ( 1151) [000] ...1 1034713.766894: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20428  sensors@1.0-se-778   (  778) [004] ...1 1034713.767017: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20429  sensors@1.0-se-778   (  778) [004] ...1 1034713.785920: tracing_mark_write: E|778
20430   SensorService-1283  ( 1151) [000] ...1 1034713.786085: tracing_mark_write: E|1151
20431   SensorService-1283  ( 1151) [000] ...1 1034713.786258: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20432  sensors@1.0-se-778   (  778) [004] ...1 1034713.786386: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20433  surfaceflinger-591   (  591) [000] ...1 1034713.803156: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20434  composer@2.1-s-593   (  593) [001] ...1 1034713.803552: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20435  composer@2.1-s-593   (  593) [001] ...1 1034713.803731: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20436  composer@2.1-s-593   (  593) [001] ...1 1034713.803784: tracing_mark_write: B|593|HWDevice::Commit::
20437  composer@2.1-s-593   (  593) [001] ...1 1034713.804091: tracing_mark_write: E|593
20438  composer@2.1-s-593   (  593) [001] ...1 1034713.804168: tracing_mark_write: E|593
20439  composer@2.1-s-593   (  593) [001] ...1 1034713.804253: tracing_mark_write: E|593
20440  surfaceflinger-591   (  591) [000] ...1 1034713.804472: tracing_mark_write: E|591
20441  sensors@1.0-se-778   (  778) [004] ...1 1034713.805386: tracing_mark_write: E|778
20442   SensorService-1283  ( 1151) [000] ...1 1034713.805560: tracing_mark_write: E|1151
20443   SensorService-1283  ( 1151) [000] ...1 1034713.805786: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20444  sensors@1.0-se-778   (  778) [004] ...1 1034713.805912: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20445  sensors@1.0-se-778   (  778) [004] ...1 1034713.824295: tracing_mark_write: E|778
20446   SensorService-1283  ( 1151) [000] ...1 1034713.824435: tracing_mark_write: E|1151
20447   SensorService-1283  ( 1151) [000] ...1 1034713.824600: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20448  sensors@1.0-se-778   (  778) [004] ...1 1034713.824722: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20449  surfaceflinger-591   (  591) [000] ...1 1034713.836702: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20450  composer@2.1-s-593   (  593) [001] ...1 1034713.837005: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20451  composer@2.1-s-593   (  593) [001] ...1 1034713.837163: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20452  composer@2.1-s-593   (  593) [001] ...1 1034713.837209: tracing_mark_write: B|593|HWDevice::Commit::
20453  composer@2.1-s-593   (  593) [001] ...1 1034713.837482: tracing_mark_write: E|593
20454  composer@2.1-s-593   (  593) [001] ...1 1034713.837549: tracing_mark_write: E|593
20455  composer@2.1-s-593   (  593) [001] ...1 1034713.837630: tracing_mark_write: E|593
20456  surfaceflinger-591   (  591) [000] ...1 1034713.837841: tracing_mark_write: E|591
20457  sensors@1.0-se-778   (  778) [004] ...1 1034713.843534: tracing_mark_write: E|778
20458   SensorService-1283  ( 1151) [000] ...1 1034713.843683: tracing_mark_write: E|1151
20459   SensorService-1283  ( 1151) [000] ...1 1034713.843896: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20460  sensors@1.0-se-778   (  778) [004] ...1 1034713.844013: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20461  sensors@1.0-se-778   (  778) [004] ...1 1034713.862589: tracing_mark_write: E|778
20462   SensorService-1283  ( 1151) [000] ...1 1034713.862747: tracing_mark_write: E|1151
20463   SensorService-1283  ( 1151) [000] ...1 1034713.862906: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20464  sensors@1.0-se-778   (  778) [004] ...1 1034713.863005: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20465  sensors@1.0-se-778   (  778) [004] ...1 1034713.882129: tracing_mark_write: E|778
20466   SensorService-1283  ( 1151) [000] ...1 1034713.882266: tracing_mark_write: E|1151
20467   SensorService-1283  ( 1151) [000] ...1 1034713.882454: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20468  sensors@1.0-se-778   (  778) [004] ...1 1034713.882554: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20469  surfaceflinger-591   (  591) [001] ...1 1034713.886513: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20470  composer@2.1-s-593   (  593) [000] ...1 1034713.886733: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20471  composer@2.1-s-593   (  593) [000] ...1 1034713.886839: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20472  composer@2.1-s-593   (  593) [000] ...1 1034713.886865: tracing_mark_write: B|593|HWDevice::Commit::
20473  composer@2.1-s-593   (  593) [000] ...1 1034713.887007: tracing_mark_write: E|593
20474  composer@2.1-s-593   (  593) [000] ...1 1034713.887041: tracing_mark_write: E|593
20475  composer@2.1-s-593   (  593) [000] ...1 1034713.887081: tracing_mark_write: E|593
20476  surfaceflinger-591   (  591) [001] ...1 1034713.887194: tracing_mark_write: E|591
20477  sensors@1.0-se-778   (  778) [004] ...1 1034713.901086: tracing_mark_write: E|778
20478   SensorService-1283  ( 1151) [000] ...1 1034713.901186: tracing_mark_write: E|1151
20479   SensorService-1283  ( 1151) [000] ...1 1034713.901281: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20480  sensors@1.0-se-778   (  778) [004] ...1 1034713.901344: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20481  surfaceflinger-591   (  591) [000] ...1 1034713.919948: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20482  composer@2.1-s-593   (  593) [001] ...1 1034713.920085: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20483  composer@2.1-s-593   (  593) [001] ...1 1034713.920147: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20484  composer@2.1-s-593   (  593) [001] ...1 1034713.920166: tracing_mark_write: B|593|HWDevice::Commit::
20485  sensors@1.0-se-778   (  778) [004] ...1 1034713.920261: tracing_mark_write: E|778
20486  composer@2.1-s-593   (  593) [001] ...1 1034713.920271: tracing_mark_write: E|593
20487  composer@2.1-s-593   (  593) [001] ...1 1034713.920296: tracing_mark_write: E|593
20488  composer@2.1-s-593   (  593) [001] ...1 1034713.920322: tracing_mark_write: E|593
20489   SensorService-1283  ( 1151) [000] ...1 1034713.920337: tracing_mark_write: E|1151
20490  surfaceflinger-591   (  591) [003] ...1 1034713.920394: tracing_mark_write: E|591
20491   SensorService-1283  ( 1151) [000] ...1 1034713.920412: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20492  sensors@1.0-se-778   (  778) [004] ...1 1034713.920474: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20493  sensors@1.0-se-778   (  778) [004] ...1 1034713.939488: tracing_mark_write: E|778
20494   SensorService-1283  ( 1151) [000] ...1 1034713.939562: tracing_mark_write: E|1151
20495   SensorService-1283  ( 1151) [000] ...1 1034713.939626: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20496  sensors@1.0-se-778   (  778) [004] ...1 1034713.939687: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20497  sensors@1.0-se-778   (  778) [004] ...1 1034713.959370: tracing_mark_write: E|778
20498   SensorService-1283  ( 1151) [000] ...1 1034713.959572: tracing_mark_write: E|1151
20499   SensorService-1283  ( 1151) [000] ...1 1034713.959835: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20500  sensors@1.0-se-778   (  778) [004] ...1 1034713.960023: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20501  surfaceflinger-591   (  591) [000] ...1 1034713.971148: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20502  composer@2.1-s-593   (  593) [002] ...1 1034713.971452: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20503  composer@2.1-s-593   (  593) [002] ...1 1034713.971618: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20504  composer@2.1-s-593   (  593) [002] ...1 1034713.971667: tracing_mark_write: B|593|HWDevice::Commit::
20505  composer@2.1-s-593   (  593) [002] ...1 1034713.971944: tracing_mark_write: E|593
20506  composer@2.1-s-593   (  593) [002] ...1 1034713.972011: tracing_mark_write: E|593
20507  composer@2.1-s-593   (  593) [002] ...1 1034713.972086: tracing_mark_write: E|593
20508  surfaceflinger-591   (  591) [000] ...1 1034713.972289: tracing_mark_write: E|591
20509  sensors@1.0-se-778   (  778) [004] ...1 1034713.978364: tracing_mark_write: E|778
20510   SensorService-1283  ( 1151) [000] ...1 1034713.978528: tracing_mark_write: E|1151
20511   SensorService-1283  ( 1151) [000] ...1 1034713.978721: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20512  sensors@1.0-se-778   (  778) [004] ...1 1034713.978838: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20513  sensors@1.0-se-778   (  778) [004] ...1 1034713.997923: tracing_mark_write: E|778
20514   SensorService-1283  ( 1151) [000] ...1 1034713.998177: tracing_mark_write: E|1151
20515   SensorService-1283  ( 1151) [000] ...1 1034713.998404: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20516  sensors@1.0-se-778   (  778) [004] ...1 1034713.998586: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20517  surfaceflinger-591   (  591) [000] ...1 1034714.004477: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20518  composer@2.1-s-593   (  593) [002] ...1 1034714.004781: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20519  composer@2.1-s-593   (  593) [002] ...1 1034714.004948: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20520  composer@2.1-s-593   (  593) [002] ...1 1034714.004996: tracing_mark_write: B|593|HWDevice::Commit::
20521  composer@2.1-s-593   (  593) [002] ...1 1034714.005283: tracing_mark_write: E|593
20522  composer@2.1-s-593   (  593) [002] ...1 1034714.005351: tracing_mark_write: E|593
20523  composer@2.1-s-593   (  593) [002] ...1 1034714.005428: tracing_mark_write: E|593
20524  surfaceflinger-591   (  591) [000] ...1 1034714.005731: tracing_mark_write: E|591
20525  sensors@1.0-se-778   (  778) [004] ...1 1034714.016858: tracing_mark_write: E|778
20526   SensorService-1283  ( 1151) [000] ...1 1034714.017011: tracing_mark_write: E|1151
20527   SensorService-1283  ( 1151) [000] ...1 1034714.017192: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20528  sensors@1.0-se-778   (  778) [004] ...1 1034714.017320: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20529  sensors@1.0-se-778   (  778) [004] ...1 1034714.036117: tracing_mark_write: E|778
20530   SensorService-1283  ( 1151) [000] ...1 1034714.036239: tracing_mark_write: E|1151
20531   SensorService-1283  ( 1151) [000] ...1 1034714.036362: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20532  sensors@1.0-se-778   (  778) [004] ...1 1034714.036448: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20533  surfaceflinger-591   (  591) [001] ...1 1034714.054350: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20534  composer@2.1-s-593   (  593) [002] ...1 1034714.054521: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20535  composer@2.1-s-593   (  593) [002] ...1 1034714.054613: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20536  composer@2.1-s-593   (  593) [002] ...1 1034714.054641: tracing_mark_write: B|593|HWDevice::Commit::
20537  composer@2.1-s-593   (  593) [002] ...1 1034714.054803: tracing_mark_write: E|593
20538  composer@2.1-s-593   (  593) [002] ...1 1034714.054844: tracing_mark_write: E|593
20539  composer@2.1-s-593   (  593) [002] ...1 1034714.054888: tracing_mark_write: E|593
20540  surfaceflinger-591   (  591) [001] ...1 1034714.055018: tracing_mark_write: E|591
20541  sensors@1.0-se-778   (  778) [004] ...1 1034714.055182: tracing_mark_write: E|778
20542   SensorService-1283  ( 1151) [000] ...1 1034714.055277: tracing_mark_write: E|1151
20543   SensorService-1283  ( 1151) [000] ...1 1034714.055395: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20544  sensors@1.0-se-778   (  778) [004] ...1 1034714.055472: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20545  sensors@1.0-se-778   (  778) [004] ...1 1034714.074513: tracing_mark_write: E|778
20546   SensorService-1283  ( 1151) [000] ...1 1034714.074645: tracing_mark_write: E|1151
20547   SensorService-1283  ( 1151) [000] ...1 1034714.074758: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20548  sensors@1.0-se-778   (  778) [004] ...1 1034714.074846: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20549  surfaceflinger-591   (  591) [002] ...1 1034714.087977: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20550  composer@2.1-s-593   (  593) [000] ...1 1034714.088178: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20551  composer@2.1-s-593   (  593) [000] ...1 1034714.088268: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20552  composer@2.1-s-593   (  593) [000] ...1 1034714.088295: tracing_mark_write: B|593|HWDevice::Commit::
20553  composer@2.1-s-593   (  593) [000] ...1 1034714.088430: tracing_mark_write: E|593
20554  composer@2.1-s-593   (  593) [000] ...1 1034714.088462: tracing_mark_write: E|593
20555  composer@2.1-s-593   (  593) [000] ...1 1034714.088497: tracing_mark_write: E|593
20556  surfaceflinger-591   (  591) [003] ...1 1034714.088595: tracing_mark_write: E|591
20557  sensors@1.0-se-778   (  778) [004] ...1 1034714.093560: tracing_mark_write: E|778
20558   SensorService-1283  ( 1151) [000] ...1 1034714.093647: tracing_mark_write: E|1151
20559   SensorService-1283  ( 1151) [000] ...1 1034714.093734: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20560  sensors@1.0-se-778   (  778) [004] ...1 1034714.093789: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20561  sensors@1.0-se-778   (  778) [004] ...1 1034714.112821: tracing_mark_write: E|778
20562   SensorService-1283  ( 1151) [000] ...1 1034714.112904: tracing_mark_write: E|1151
20563   SensorService-1283  ( 1151) [000] ...1 1034714.112978: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20564  sensors@1.0-se-778   (  778) [004] ...1 1034714.113096: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20565  sensors@1.0-se-778   (  778) [007] ...1 1034714.132117: tracing_mark_write: E|778
20566   SensorService-1283  ( 1151) [000] ...1 1034714.132271: tracing_mark_write: E|1151
20567   SensorService-1283  ( 1151) [000] ...1 1034714.132341: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20568  sensors@1.0-se-778   (  778) [007] ...1 1034714.132397: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20569  surfaceflinger-591   (  591) [002] ...1 1034714.138054: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20570  composer@2.1-s-593   (  593) [000] ...1 1034714.138178: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20571  composer@2.1-s-593   (  593) [000] ...1 1034714.138243: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20572  composer@2.1-s-593   (  593) [000] ...1 1034714.138263: tracing_mark_write: B|593|HWDevice::Commit::
20573  composer@2.1-s-593   (  593) [000] ...1 1034714.138375: tracing_mark_write: E|593
20574  composer@2.1-s-593   (  593) [000] ...1 1034714.138405: tracing_mark_write: E|593
20575  composer@2.1-s-593   (  593) [000] ...1 1034714.138438: tracing_mark_write: E|593
20576  surfaceflinger-591   (  591) [003] ...1 1034714.138529: tracing_mark_write: E|591
20577  sensors@1.0-se-778   (  778) [006] ...1 1034714.151325: tracing_mark_write: E|778
20578   SensorService-1283  ( 1151) [000] ...1 1034714.151413: tracing_mark_write: E|1151
20579   SensorService-1283  ( 1151) [000] ...1 1034714.151488: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20580  sensors@1.0-se-778   (  778) [006] ...1 1034714.151539: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20581  sensors@1.0-se-778   (  778) [006] ...1 1034714.170566: tracing_mark_write: E|778
20582   SensorService-1283  ( 1151) [000] ...1 1034714.170643: tracing_mark_write: E|1151
20583   SensorService-1283  ( 1151) [000] ...1 1034714.170716: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20584  sensors@1.0-se-778   (  778) [006] ...1 1034714.170768: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20585  surfaceflinger-591   (  591) [003] ...1 1034714.171567: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20586  composer@2.1-s-593   (  593) [000] ...1 1034714.171670: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20587  composer@2.1-s-593   (  593) [000] ...1 1034714.171730: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20588  composer@2.1-s-593   (  593) [000] ...1 1034714.171748: tracing_mark_write: B|593|HWDevice::Commit::
20589  composer@2.1-s-593   (  593) [000] ...1 1034714.171846: tracing_mark_write: E|593
20590  composer@2.1-s-593   (  593) [000] ...1 1034714.171870: tracing_mark_write: E|593
20591  composer@2.1-s-593   (  593) [000] ...1 1034714.171899: tracing_mark_write: E|593
20592  surfaceflinger-591   (  591) [003] ...1 1034714.171966: tracing_mark_write: E|591
20593  sensors@1.0-se-778   (  778) [006] ...1 1034714.189842: tracing_mark_write: E|778
20594   SensorService-1283  ( 1151) [000] ...1 1034714.189973: tracing_mark_write: E|1151
20595   SensorService-1283  ( 1151) [000] ...1 1034714.190050: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20596  sensors@1.0-se-778   (  778) [006] ...1 1034714.190115: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20597  sensors@1.0-se-778   (  778) [004] ...1 1034714.209077: tracing_mark_write: E|778
20598   SensorService-1283  ( 1151) [000] ...1 1034714.209159: tracing_mark_write: E|1151
20599   SensorService-1283  ( 1151) [000] ...1 1034714.209241: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20600  sensors@1.0-se-778   (  778) [004] ...1 1034714.209294: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20601  surfaceflinger-591   (  591) [000] ...1 1034714.221926: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20602  composer@2.1-s-593   (  593) [001] ...1 1034714.222056: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20603  composer@2.1-s-593   (  593) [001] ...1 1034714.222122: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20604  composer@2.1-s-593   (  593) [001] ...1 1034714.222141: tracing_mark_write: B|593|HWDevice::Commit::
20605  composer@2.1-s-593   (  593) [001] ...1 1034714.222247: tracing_mark_write: E|593
20606  composer@2.1-s-593   (  593) [001] ...1 1034714.222272: tracing_mark_write: E|593
20607  composer@2.1-s-593   (  593) [001] ...1 1034714.222300: tracing_mark_write: E|593
20608  surfaceflinger-591   (  591) [000] ...1 1034714.222368: tracing_mark_write: E|591
20609  sensors@1.0-se-778   (  778) [004] ...1 1034714.228309: tracing_mark_write: E|778
20610   SensorService-1283  ( 1151) [000] ...1 1034714.228385: tracing_mark_write: E|1151
20611   SensorService-1283  ( 1151) [000] ...1 1034714.228456: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20612  sensors@1.0-se-778   (  778) [004] ...1 1034714.228510: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20613  sensors@1.0-se-778   (  778) [004] ...1 1034714.248098: tracing_mark_write: E|778
20614   SensorService-1283  ( 1151) [000] ...1 1034714.248268: tracing_mark_write: E|1151
20615   SensorService-1283  ( 1151) [000] ...1 1034714.248362: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20616  sensors@1.0-se-778   (  778) [004] ...1 1034714.248501: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20617  surfaceflinger-591   (  591) [001] ...1 1034714.255842: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20618  composer@2.1-s-593   (  593) [000] ...1 1034714.256066: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20619  composer@2.1-s-593   (  593) [000] ...1 1034714.256165: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20620  composer@2.1-s-593   (  593) [000] ...1 1034714.256193: tracing_mark_write: B|593|HWDevice::Commit::
20621  composer@2.1-s-593   (  593) [000] ...1 1034714.256349: tracing_mark_write: E|593
20622  composer@2.1-s-593   (  593) [000] ...1 1034714.256389: tracing_mark_write: E|593
20623  composer@2.1-s-593   (  593) [000] ...1 1034714.256435: tracing_mark_write: E|593
20624  surfaceflinger-591   (  591) [001] ...1 1034714.256597: tracing_mark_write: E|591
20625  sensors@1.0-se-778   (  778) [004] ...1 1034714.267257: tracing_mark_write: E|778
20626   SensorService-1283  ( 1151) [000] ...1 1034714.267422: tracing_mark_write: E|1151
20627   SensorService-1283  ( 1151) [000] ...1 1034714.267559: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20628  sensors@1.0-se-778   (  778) [004] ...1 1034714.267725: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20629  sensors@1.0-se-778   (  778) [004] ...1 1034714.286435: tracing_mark_write: E|778
20630   SensorService-1283  ( 1151) [000] ...1 1034714.286639: tracing_mark_write: E|1151
20631   SensorService-1283  ( 1151) [000] ...1 1034714.286763: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20632  sensors@1.0-se-778   (  778) [004] ...1 1034714.287006: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20633  sensors@1.0-se-778   (  778) [004] ...1 1034714.305780: tracing_mark_write: E|778
20634   SensorService-1283  ( 1151) [000] ...1 1034714.305997: tracing_mark_write: E|1151
20635   SensorService-1283  ( 1151) [000] ...1 1034714.306175: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20636  sensors@1.0-se-778   (  778) [004] ...1 1034714.306366: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20637  surfaceflinger-591   (  591) [001] ...1 1034714.306604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20638  composer@2.1-s-593   (  593) [000] ...1 1034714.306856: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20639  composer@2.1-s-593   (  593) [000] ...1 1034714.306998: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20640  composer@2.1-s-593   (  593) [000] ...1 1034714.307042: tracing_mark_write: B|593|HWDevice::Commit::
20641  composer@2.1-s-593   (  593) [000] ...1 1034714.307261: tracing_mark_write: E|593
20642  composer@2.1-s-593   (  593) [000] ...1 1034714.307320: tracing_mark_write: E|593
20643  composer@2.1-s-593   (  593) [000] ...1 1034714.307387: tracing_mark_write: E|593
20644  surfaceflinger-591   (  591) [001] ...1 1034714.307548: tracing_mark_write: E|591
20645  sensors@1.0-se-778   (  778) [004] ...1 1034714.324957: tracing_mark_write: E|778
20646   SensorService-1283  ( 1151) [000] ...1 1034714.325220: tracing_mark_write: E|1151
20647   SensorService-1283  ( 1151) [000] ...1 1034714.325394: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20648  sensors@1.0-se-778   (  778) [004] ...1 1034714.325592: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20649  surfaceflinger-591   (  591) [000] ...1 1034714.339842: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20650  composer@2.1-s-593   (  593) [001] ...1 1034714.340129: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20651  composer@2.1-s-593   (  593) [001] ...1 1034714.340255: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20652  composer@2.1-s-593   (  593) [001] ...1 1034714.340292: tracing_mark_write: B|593|HWDevice::Commit::
20653  composer@2.1-s-593   (  593) [001] ...1 1034714.340496: tracing_mark_write: E|593
20654  composer@2.1-s-593   (  593) [001] ...1 1034714.340545: tracing_mark_write: E|593
20655  composer@2.1-s-593   (  593) [001] ...1 1034714.340603: tracing_mark_write: E|593
20656  surfaceflinger-591   (  591) [000] ...1 1034714.340739: tracing_mark_write: E|591
20657  sensors@1.0-se-778   (  778) [004] ...1 1034714.344278: tracing_mark_write: E|778
20658   SensorService-1283  ( 1151) [000] ...1 1034714.344448: tracing_mark_write: E|1151
20659   SensorService-1283  ( 1151) [000] ...1 1034714.344573: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20660  sensors@1.0-se-778   (  778) [004] ...1 1034714.344722: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20661  sensors@1.0-se-778   (  778) [004] ...1 1034714.363946: tracing_mark_write: E|778
20662   SensorService-1283  ( 1151) [000] ...1 1034714.364119: tracing_mark_write: E|1151
20663   SensorService-1283  ( 1151) [000] ...1 1034714.364251: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20664  sensors@1.0-se-778   (  778) [004] ...1 1034714.364417: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20665  sensors@1.0-se-778   (  778) [004] ...1 1034714.382865: tracing_mark_write: E|778
20666   SensorService-1283  ( 1151) [000] ...1 1034714.383071: tracing_mark_write: E|1151
20667   SensorService-1283  ( 1151) [000] ...1 1034714.383304: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20668  sensors@1.0-se-778   (  778) [004] ...1 1034714.383474: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20669  surfaceflinger-591   (  591) [001] ...1 1034714.390195: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20670  composer@2.1-s-593   (  593) [000] ...1 1034714.390453: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20671  composer@2.1-s-593   (  593) [000] ...1 1034714.390570: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20672  composer@2.1-s-593   (  593) [000] ...1 1034714.390606: tracing_mark_write: B|593|HWDevice::Commit::
20673  composer@2.1-s-593   (  593) [000] ...1 1034714.390782: tracing_mark_write: E|593
20674  composer@2.1-s-593   (  593) [000] ...1 1034714.390824: tracing_mark_write: E|593
20675  composer@2.1-s-593   (  593) [000] ...1 1034714.390874: tracing_mark_write: E|593
20676  surfaceflinger-591   (  591) [001] ...1 1034714.390996: tracing_mark_write: E|591
20677  sensors@1.0-se-778   (  778) [004] ...1 1034714.401872: tracing_mark_write: E|778
20678   SensorService-1283  ( 1151) [000] ...1 1034714.402043: tracing_mark_write: E|1151
20679   SensorService-1283  ( 1151) [000] ...1 1034714.402180: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20680  sensors@1.0-se-778   (  778) [004] ...1 1034714.402338: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20681  sensors@1.0-se-778   (  778) [004] ...1 1034714.421373: tracing_mark_write: E|778
20682   SensorService-1283  ( 1151) [000] ...1 1034714.421620: tracing_mark_write: E|1151
20683   SensorService-1283  ( 1151) [000] ...1 1034714.421958: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20684  sensors@1.0-se-778   (  778) [004] ...1 1034714.422137: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20685  sensors@1.0-se-778   (  778) [004] ...1 1034714.440503: tracing_mark_write: E|778
20686   SensorService-1283  ( 1151) [000] ...1 1034714.440695: tracing_mark_write: E|1151
20687  surfaceflinger-591   (  591) [001] ...1 1034714.440850: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20688   SensorService-1283  ( 1151) [000] ...1 1034714.440857: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20689  sensors@1.0-se-778   (  778) [004] ...1 1034714.441034: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20690  composer@2.1-s-593   (  593) [000] ...1 1034714.441101: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20691  composer@2.1-s-593   (  593) [000] ...1 1034714.441253: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20692  composer@2.1-s-593   (  593) [000] ...1 1034714.441306: tracing_mark_write: B|593|HWDevice::Commit::
20693  composer@2.1-s-593   (  593) [000] ...1 1034714.441543: tracing_mark_write: E|593
20694  composer@2.1-s-593   (  593) [000] ...1 1034714.441598: tracing_mark_write: E|593
20695  composer@2.1-s-593   (  593) [000] ...1 1034714.441661: tracing_mark_write: E|593
20696  surfaceflinger-591   (  591) [001] ...1 1034714.441808: tracing_mark_write: E|591
20697  sensors@1.0-se-778   (  778) [004] ...1 1034714.459811: tracing_mark_write: E|778
20698   SensorService-1283  ( 1151) [000] ...1 1034714.460007: tracing_mark_write: E|1151
20699   SensorService-1283  ( 1151) [000] ...1 1034714.460165: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20700  sensors@1.0-se-778   (  778) [004] ...1 1034714.460338: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20701  surfaceflinger-591   (  591) [001] ...1 1034714.474466: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20702  composer@2.1-s-593   (  593) [000] ...1 1034714.474819: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20703  composer@2.1-s-593   (  593) [000] ...1 1034714.474990: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20704  composer@2.1-s-593   (  593) [000] ...1 1034714.475040: tracing_mark_write: B|593|HWDevice::Commit::
20705  composer@2.1-s-593   (  593) [000] ...1 1034714.475302: tracing_mark_write: E|593
20706  composer@2.1-s-593   (  593) [000] ...1 1034714.475366: tracing_mark_write: E|593
20707  composer@2.1-s-593   (  593) [000] ...1 1034714.475437: tracing_mark_write: E|593
20708  surfaceflinger-591   (  591) [001] ...1 1034714.475602: tracing_mark_write: E|591
20709  sensors@1.0-se-778   (  778) [004] ...1 1034714.479208: tracing_mark_write: E|778
20710   SensorService-1283  ( 1151) [000] ...1 1034714.479409: tracing_mark_write: E|1151
20711   SensorService-1283  ( 1151) [000] ...1 1034714.479590: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20712  sensors@1.0-se-778   (  778) [004] ...1 1034714.479766: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20713  sensors@1.0-se-778   (  778) [004] ...1 1034714.498333: tracing_mark_write: E|778
20714   SensorService-1283  ( 1151) [000] ...1 1034714.498522: tracing_mark_write: E|1151
20715   SensorService-1283  ( 1151) [000] ...1 1034714.498676: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20716  sensors@1.0-se-778   (  778) [004] ...1 1034714.498838: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20717  sensors@1.0-se-778   (  778) [004] ...1 1034714.517452: tracing_mark_write: E|778
20718   SensorService-1283  ( 1151) [000] ...1 1034714.517633: tracing_mark_write: E|1151
20719   SensorService-1283  ( 1151) [000] ...1 1034714.517780: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20720  sensors@1.0-se-778   (  778) [004] ...1 1034714.517940: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20721  surfaceflinger-591   (  591) [003] ...1 1034714.524653: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20722  composer@2.1-s-593   (  593) [000] ...1 1034714.524904: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20723  composer@2.1-s-593   (  593) [000] ...1 1034714.525026: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20724  composer@2.1-s-593   (  593) [000] ...1 1034714.525062: tracing_mark_write: B|593|HWDevice::Commit::
20725  composer@2.1-s-593   (  593) [000] ...1 1034714.525249: tracing_mark_write: E|593
20726  composer@2.1-s-593   (  593) [000] ...1 1034714.525293: tracing_mark_write: E|593
20727  composer@2.1-s-593   (  593) [000] ...1 1034714.525346: tracing_mark_write: E|593
20728  surfaceflinger-591   (  591) [003] ...1 1034714.525471: tracing_mark_write: E|591
20729  sensors@1.0-se-778   (  778) [004] ...1 1034714.536731: tracing_mark_write: E|778
20730   SensorService-1283  ( 1151) [000] ...1 1034714.536915: tracing_mark_write: E|1151
20731   SensorService-1283  ( 1151) [000] ...1 1034714.537068: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20732  sensors@1.0-se-778   (  778) [004] ...1 1034714.537228: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20733  sensors@1.0-se-778   (  778) [004] ...1 1034714.556072: tracing_mark_write: E|778
20734   SensorService-1283  ( 1151) [000] ...1 1034714.556250: tracing_mark_write: E|1151
20735   SensorService-1283  ( 1151) [000] ...1 1034714.556403: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20736  sensors@1.0-se-778   (  778) [004] ...1 1034714.556611: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20737  surfaceflinger-591   (  591) [000] ...1 1034714.558166: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20738  composer@2.1-s-593   (  593) [001] ...1 1034714.558424: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20739  composer@2.1-s-593   (  593) [001] ...1 1034714.558577: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20740  composer@2.1-s-593   (  593) [001] ...1 1034714.558622: tracing_mark_write: B|593|HWDevice::Commit::
20741  composer@2.1-s-593   (  593) [001] ...1 1034714.558859: tracing_mark_write: E|593
20742  composer@2.1-s-593   (  593) [001] ...1 1034714.558915: tracing_mark_write: E|593
20743  composer@2.1-s-593   (  593) [001] ...1 1034714.558974: tracing_mark_write: E|593
20744  surfaceflinger-591   (  591) [000] ...1 1034714.559114: tracing_mark_write: E|591
20745  sensors@1.0-se-778   (  778) [004] ...1 1034714.575094: tracing_mark_write: E|778
20746   SensorService-1283  ( 1151) [000] ...1 1034714.575245: tracing_mark_write: E|1151
20747   SensorService-1283  ( 1151) [000] ...1 1034714.575356: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20748  sensors@1.0-se-778   (  778) [004] ...1 1034714.575487: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20749  sensors@1.0-se-778   (  778) [004] ...1 1034714.594487: tracing_mark_write: E|778
20750   SensorService-1283  ( 1151) [000] ...1 1034714.594706: tracing_mark_write: E|1151
20751   SensorService-1283  ( 1151) [000] ...1 1034714.594946: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20752  sensors@1.0-se-778   (  778) [004] ...1 1034714.595050: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20753  surfaceflinger-591   (  591) [001] ...1 1034714.608249: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20754  composer@2.1-s-593   (  593) [000] ...1 1034714.608468: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20755  composer@2.1-s-593   (  593) [000] ...1 1034714.608575: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20756  composer@2.1-s-593   (  593) [000] ...1 1034714.608607: tracing_mark_write: B|593|HWDevice::Commit::
20757  composer@2.1-s-593   (  593) [000] ...1 1034714.608766: tracing_mark_write: E|593
20758  composer@2.1-s-593   (  593) [000] ...1 1034714.608806: tracing_mark_write: E|593
20759  composer@2.1-s-593   (  593) [000] ...1 1034714.608851: tracing_mark_write: E|593
20760  surfaceflinger-591   (  591) [001] ...1 1034714.608957: tracing_mark_write: E|591
20761  sensors@1.0-se-778   (  778) [004] ...1 1034714.613740: tracing_mark_write: E|778
20762   SensorService-1283  ( 1151) [000] ...1 1034714.613883: tracing_mark_write: E|1151
20763   SensorService-1283  ( 1151) [000] ...1 1034714.613999: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20764  sensors@1.0-se-778   (  778) [004] ...1 1034714.614130: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20765  sensors@1.0-se-778   (  778) [004] ...1 1034714.632941: tracing_mark_write: E|778
20766   SensorService-1283  ( 1151) [000] ...1 1034714.633118: tracing_mark_write: E|1151
20767   SensorService-1283  ( 1151) [000] ...1 1034714.633294: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20768  sensors@1.0-se-778   (  778) [004] ...1 1034714.633531: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20769  surfaceflinger-591   (  591) [000] ...1 1034714.642055: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20770  composer@2.1-s-593   (  593) [001] ...1 1034714.642358: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20771  composer@2.1-s-593   (  593) [001] ...1 1034714.642508: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20772  composer@2.1-s-593   (  593) [001] ...1 1034714.642554: tracing_mark_write: B|593|HWDevice::Commit::
20773  composer@2.1-s-593   (  593) [001] ...1 1034714.642786: tracing_mark_write: E|593
20774  composer@2.1-s-593   (  593) [001] ...1 1034714.642841: tracing_mark_write: E|593
20775  composer@2.1-s-593   (  593) [001] ...1 1034714.642900: tracing_mark_write: E|593
20776  surfaceflinger-591   (  591) [000] ...1 1034714.643046: tracing_mark_write: E|591
20777  sensors@1.0-se-778   (  778) [004] ...1 1034714.652314: tracing_mark_write: E|778
20778   SensorService-1283  ( 1151) [000] ...1 1034714.652484: tracing_mark_write: E|1151
20779   SensorService-1283  ( 1151) [000] ...1 1034714.652615: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20780  sensors@1.0-se-778   (  778) [004] ...1 1034714.652774: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20781  sensors@1.0-se-778   (  778) [004] ...1 1034714.671594: tracing_mark_write: E|778
20782   SensorService-1283  ( 1151) [000] ...1 1034714.671829: tracing_mark_write: E|1151
20783   SensorService-1283  ( 1151) [000] ...1 1034714.672050: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20784  sensors@1.0-se-778   (  778) [004] ...1 1034714.672250: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20785  sensors@1.0-se-778   (  778) [004] ...1 1034714.690903: tracing_mark_write: E|778
20786   SensorService-1283  ( 1151) [000] ...1 1034714.691112: tracing_mark_write: E|1151
20787   SensorService-1283  ( 1151) [000] ...1 1034714.691283: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20788  sensors@1.0-se-778   (  778) [004] ...1 1034714.691466: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20789  surfaceflinger-591   (  591) [002] ...1 1034714.692351: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20790  composer@2.1-s-593   (  593) [001] ...1 1034714.692634: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20791  composer@2.1-s-593   (  593) [001] ...1 1034714.692778: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20792  composer@2.1-s-593   (  593) [001] ...1 1034714.692822: tracing_mark_write: B|593|HWDevice::Commit::
20793  composer@2.1-s-593   (  593) [001] ...1 1034714.693058: tracing_mark_write: E|593
20794  composer@2.1-s-593   (  593) [001] ...1 1034714.693115: tracing_mark_write: E|593
20795  composer@2.1-s-593   (  593) [001] ...1 1034714.693181: tracing_mark_write: E|593
20796  surfaceflinger-591   (  591) [003] ...1 1034714.693434: tracing_mark_write: E|591
20797  sensors@1.0-se-778   (  778) [004] ...1 1034714.710192: tracing_mark_write: E|778
20798   SensorService-1283  ( 1151) [000] ...1 1034714.710386: tracing_mark_write: E|1151
20799   SensorService-1283  ( 1151) [000] ...1 1034714.710519: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20800  sensors@1.0-se-778   (  778) [004] ...1 1034714.710701: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20801  sensors@1.0-se-778   (  778) [004] ...1 1034714.729244: tracing_mark_write: E|778
20802   SensorService-1283  ( 1151) [000] ...1 1034714.729408: tracing_mark_write: E|1151
20803   SensorService-1283  ( 1151) [000] ...1 1034714.729531: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20804  sensors@1.0-se-778   (  778) [004] ...1 1034714.729674: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20805  surfaceflinger-591   (  591) [003] ...1 1034714.742567: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20806  composer@2.1-s-593   (  593) [001] ...1 1034714.742814: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20807  composer@2.1-s-593   (  593) [001] ...1 1034714.742926: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20808  composer@2.1-s-593   (  593) [001] ...1 1034714.742958: tracing_mark_write: B|593|HWDevice::Commit::
20809  composer@2.1-s-593   (  593) [001] ...1 1034714.743124: tracing_mark_write: E|593
20810  composer@2.1-s-593   (  593) [001] ...1 1034714.743164: tracing_mark_write: E|593
20811  composer@2.1-s-593   (  593) [001] ...1 1034714.743260: tracing_mark_write: E|593
20812  surfaceflinger-591   (  591) [003] ...1 1034714.743372: tracing_mark_write: E|591
20813  sensors@1.0-se-778   (  778) [004] ...1 1034714.748475: tracing_mark_write: E|778
20814   SensorService-1283  ( 1151) [000] ...1 1034714.748622: tracing_mark_write: E|1151
20815   SensorService-1283  ( 1151) [000] ...1 1034714.748741: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20816  sensors@1.0-se-778   (  778) [004] ...1 1034714.748881: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20817  sensors@1.0-se-778   (  778) [004] ...1 1034714.769096: tracing_mark_write: E|778
20818   SensorService-1283  ( 1151) [000] ...1 1034714.769286: tracing_mark_write: E|1151
20819   SensorService-1283  ( 1151) [000] ...1 1034714.769502: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20820  sensors@1.0-se-778   (  778) [004] ...1 1034714.769630: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20821  surfaceflinger-591   (  591) [001] ...1 1034714.776123: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20822  composer@2.1-s-593   (  593) [000] ...1 1034714.776344: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20823  composer@2.1-s-593   (  593) [000] ...1 1034714.776452: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20824  composer@2.1-s-593   (  593) [000] ...1 1034714.776485: tracing_mark_write: B|593|HWDevice::Commit::
20825  composer@2.1-s-593   (  593) [000] ...1 1034714.776703: tracing_mark_write: E|593
20826  composer@2.1-s-593   (  593) [000] ...1 1034714.776743: tracing_mark_write: E|593
20827  composer@2.1-s-593   (  593) [000] ...1 1034714.776790: tracing_mark_write: E|593
20828  surfaceflinger-591   (  591) [001] ...1 1034714.776904: tracing_mark_write: E|591
20829  sensors@1.0-se-778   (  778) [004] ...1 1034714.787145: tracing_mark_write: E|778
20830   SensorService-1283  ( 1151) [000] ...1 1034714.787315: tracing_mark_write: E|1151
20831   SensorService-1283  ( 1151) [000] ...1 1034714.787434: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20832  sensors@1.0-se-778   (  778) [004] ...1 1034714.787595: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20833  sensors@1.0-se-778   (  778) [004] ...1 1034714.806380: tracing_mark_write: E|778
20834   SensorService-1283  ( 1151) [000] ...1 1034714.806643: tracing_mark_write: E|1151
20835   SensorService-1283  ( 1151) [000] ...1 1034714.806825: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20836  sensors@1.0-se-778   (  778) [004] ...1 1034714.806993: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20837  sensors@1.0-se-778   (  778) [004] ...1 1034714.825593: tracing_mark_write: E|778
20838   SensorService-1283  ( 1151) [000] ...1 1034714.825798: tracing_mark_write: E|1151
20839   SensorService-1283  ( 1151) [000] ...1 1034714.825945: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20840  sensors@1.0-se-778   (  778) [004] ...1 1034714.826078: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20841  surfaceflinger-591   (  591) [003] ...1 1034714.826685: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20842  composer@2.1-s-593   (  593) [000] ...1 1034714.826936: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20843  composer@2.1-s-593   (  593) [000] ...1 1034714.827092: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20844  composer@2.1-s-593   (  593) [000] ...1 1034714.827137: tracing_mark_write: B|593|HWDevice::Commit::
20845  composer@2.1-s-593   (  593) [000] ...1 1034714.827384: tracing_mark_write: E|593
20846  composer@2.1-s-593   (  593) [000] ...1 1034714.827437: tracing_mark_write: E|593
20847  composer@2.1-s-593   (  593) [000] ...1 1034714.827498: tracing_mark_write: E|593
20848  surfaceflinger-591   (  591) [003] ...1 1034714.827637: tracing_mark_write: E|591
20849  sensors@1.0-se-778   (  778) [004] ...1 1034714.844810: tracing_mark_write: E|778
20850   SensorService-1283  ( 1151) [000] ...1 1034714.844985: tracing_mark_write: E|1151
20851   SensorService-1283  ( 1151) [000] ...1 1034714.845129: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20852  sensors@1.0-se-778   (  778) [004] ...1 1034714.845288: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20853  surfaceflinger-591   (  591) [000] ...1 1034714.860448: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20854  composer@2.1-s-593   (  593) [001] ...1 1034714.860741: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20855  composer@2.1-s-593   (  593) [001] ...1 1034714.860897: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20856  composer@2.1-s-593   (  593) [001] ...1 1034714.860944: tracing_mark_write: B|593|HWDevice::Commit::
20857  composer@2.1-s-593   (  593) [001] ...1 1034714.861195: tracing_mark_write: E|593
20858  composer@2.1-s-593   (  593) [001] ...1 1034714.861258: tracing_mark_write: E|593
20859  composer@2.1-s-593   (  593) [001] ...1 1034714.861340: tracing_mark_write: E|593
20860  surfaceflinger-591   (  591) [000] ...1 1034714.861505: tracing_mark_write: E|591
20861  sensors@1.0-se-778   (  778) [004] ...1 1034714.864160: tracing_mark_write: E|778
20862   SensorService-1283  ( 1151) [000] ...1 1034714.864328: tracing_mark_write: E|1151
20863   SensorService-1283  ( 1151) [000] ...1 1034714.864496: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20864  sensors@1.0-se-778   (  778) [004] ...1 1034714.864641: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20865  sensors@1.0-se-778   (  778) [004] ...1 1034714.883325: tracing_mark_write: E|778
20866   SensorService-1283  ( 1151) [000] ...1 1034714.883503: tracing_mark_write: E|1151
20867   SensorService-1283  ( 1151) [000] ...1 1034714.883651: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20868  sensors@1.0-se-778   (  778) [004] ...1 1034714.883806: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20869  sensors@1.0-se-778   (  778) [004] ...1 1034714.902745: tracing_mark_write: E|778
20870   SensorService-1283  ( 1151) [000] ...1 1034714.902903: tracing_mark_write: E|1151
20871   SensorService-1283  ( 1151) [000] ...1 1034714.903034: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20872  sensors@1.0-se-778   (  778) [004] ...1 1034714.903183: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20873  surfaceflinger-591   (  591) [000] ...1 1034714.910196: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20874  composer@2.1-s-593   (  593) [001] ...1 1034714.910415: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20875  composer@2.1-s-593   (  593) [001] ...1 1034714.910521: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20876  composer@2.1-s-593   (  593) [001] ...1 1034714.910553: tracing_mark_write: B|593|HWDevice::Commit::
20877  composer@2.1-s-593   (  593) [001] ...1 1034714.910712: tracing_mark_write: E|593
20878  composer@2.1-s-593   (  593) [001] ...1 1034714.910751: tracing_mark_write: E|593
20879  composer@2.1-s-593   (  593) [001] ...1 1034714.910794: tracing_mark_write: E|593
20880  surfaceflinger-591   (  591) [000] ...1 1034714.910893: tracing_mark_write: E|591
20881  sensors@1.0-se-778   (  778) [004] ...1 1034714.921503: tracing_mark_write: E|778
20882   SensorService-1283  ( 1151) [000] ...1 1034714.921599: tracing_mark_write: E|1151
20883   SensorService-1283  ( 1151) [000] ...1 1034714.921695: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20884  sensors@1.0-se-778   (  778) [004] ...1 1034714.921761: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20885  sensors@1.0-se-778   (  778) [004] ...1 1034714.940925: tracing_mark_write: E|778
20886   SensorService-1283  ( 1151) [000] ...1 1034714.941101: tracing_mark_write: E|1151
20887   SensorService-1283  ( 1151) [000] ...1 1034714.941347: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20888  sensors@1.0-se-778   (  778) [004] ...1 1034714.941457: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20889  surfaceflinger-591   (  591) [000] ...1 1034714.944065: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20890  composer@2.1-s-593   (  593) [001] ...1 1034714.944311: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20891  composer@2.1-s-593   (  593) [001] ...1 1034714.944458: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20892  composer@2.1-s-593   (  593) [001] ...1 1034714.944499: tracing_mark_write: B|593|HWDevice::Commit::
20893  composer@2.1-s-593   (  593) [001] ...1 1034714.944741: tracing_mark_write: E|593
20894  composer@2.1-s-593   (  593) [001] ...1 1034714.944801: tracing_mark_write: E|593
20895  composer@2.1-s-593   (  593) [001] ...1 1034714.944868: tracing_mark_write: E|593
20896  surfaceflinger-591   (  591) [000] ...1 1034714.945042: tracing_mark_write: E|591
20897  sensors@1.0-se-778   (  778) [004] ...1 1034714.960108: tracing_mark_write: E|778
20898   SensorService-1283  ( 1151) [001] ...1 1034714.960259: tracing_mark_write: E|1151
20899   SensorService-1283  ( 1151) [001] ...1 1034714.960454: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20900  sensors@1.0-se-778   (  778) [004] ...1 1034714.960559: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20901  sensors@1.0-se-778   (  778) [004] ...1 1034714.979314: tracing_mark_write: E|778
20902   SensorService-1283  ( 1151) [001] ...1 1034714.979428: tracing_mark_write: E|1151
20903   SensorService-1283  ( 1151) [001] ...1 1034714.979596: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20904  sensors@1.0-se-778   (  778) [004] ...1 1034714.979695: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20905  surfaceflinger-591   (  591) [000] ...1 1034714.994771: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20906  composer@2.1-s-593   (  593) [001] ...1 1034714.995160: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20907  composer@2.1-s-593   (  593) [001] ...1 1034714.995374: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20908  composer@2.1-s-593   (  593) [001] ...1 1034714.995441: tracing_mark_write: B|593|HWDevice::Commit::
20909  composer@2.1-s-593   (  593) [001] ...1 1034714.995779: tracing_mark_write: E|593
20910  composer@2.1-s-593   (  593) [001] ...1 1034714.995864: tracing_mark_write: E|593
20911  composer@2.1-s-593   (  593) [001] ...1 1034714.995959: tracing_mark_write: E|593
20912  surfaceflinger-591   (  591) [000] ...1 1034714.996196: tracing_mark_write: E|591
20913  sensors@1.0-se-778   (  778) [004] ...1 1034714.998785: tracing_mark_write: E|778
20914   SensorService-1283  ( 1151) [001] ...1 1034714.998964: tracing_mark_write: E|1151
20915   SensorService-1283  ( 1151) [001] ...1 1034714.999232: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20916  sensors@1.0-se-778   (  778) [004] ...1 1034714.999361: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20917  sensors@1.0-se-778   (  778) [004] ...1 1034715.017815: tracing_mark_write: E|778
20918   SensorService-1283  ( 1151) [001] ...1 1034715.017994: tracing_mark_write: E|1151
20919   SensorService-1283  ( 1151) [001] ...1 1034715.018177: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20920  sensors@1.0-se-778   (  778) [004] ...1 1034715.018396: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20921  sensors@1.0-se-778   (  778) [004] ...1 1034715.037130: tracing_mark_write: E|778
20922   SensorService-1283  ( 1151) [001] ...1 1034715.037255: tracing_mark_write: E|1151
20923   SensorService-1283  ( 1151) [001] ...1 1034715.037397: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20924  sensors@1.0-se-778   (  778) [004] ...1 1034715.037489: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20925  surfaceflinger-591   (  591) [002] ...1 1034715.044596: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20926  composer@2.1-s-593   (  593) [001] ...1 1034715.044803: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20927  composer@2.1-s-593   (  593) [001] ...1 1034715.044915: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20928  composer@2.1-s-593   (  593) [001] ...1 1034715.044945: tracing_mark_write: B|593|HWDevice::Commit::
20929  composer@2.1-s-593   (  593) [001] ...1 1034715.045103: tracing_mark_write: E|593
20930  composer@2.1-s-593   (  593) [001] ...1 1034715.045141: tracing_mark_write: E|593
20931  composer@2.1-s-593   (  593) [001] ...1 1034715.045183: tracing_mark_write: E|593
20932  surfaceflinger-591   (  591) [000] ...1 1034715.045304: tracing_mark_write: E|591
20933  sensors@1.0-se-778   (  778) [004] ...1 1034715.056333: tracing_mark_write: E|778
20934   SensorService-1283  ( 1151) [001] ...1 1034715.056431: tracing_mark_write: E|1151
20935   SensorService-1283  ( 1151) [001] ...1 1034715.056571: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20936  sensors@1.0-se-778   (  778) [004] ...1 1034715.056672: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20937  sensors@1.0-se-778   (  778) [004] ...1 1034715.075993: tracing_mark_write: E|778
20938   SensorService-1283  ( 1151) [001] ...1 1034715.076153: tracing_mark_write: E|1151
20939   SensorService-1283  ( 1151) [001] ...1 1034715.076273: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20940  sensors@1.0-se-778   (  778) [004] ...1 1034715.076424: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20941  surfaceflinger-591   (  591) [000] ...1 1034715.077940: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20942  composer@2.1-s-593   (  593) [001] ...1 1034715.078105: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20943  composer@2.1-s-593   (  593) [001] ...1 1034715.078189: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20944  composer@2.1-s-593   (  593) [001] ...1 1034715.078215: tracing_mark_write: B|593|HWDevice::Commit::
20945  composer@2.1-s-593   (  593) [001] ...1 1034715.078351: tracing_mark_write: E|593
20946  composer@2.1-s-593   (  593) [001] ...1 1034715.078384: tracing_mark_write: E|593
20947  composer@2.1-s-593   (  593) [001] ...1 1034715.078421: tracing_mark_write: E|593
20948  surfaceflinger-591   (  591) [000] ...1 1034715.078517: tracing_mark_write: E|591
20949  sensors@1.0-se-778   (  778) [004] ...1 1034715.094943: tracing_mark_write: E|778
20950   SensorService-1283  ( 1151) [001] ...1 1034715.095086: tracing_mark_write: E|1151
20951   SensorService-1283  ( 1151) [001] ...1 1034715.095179: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20952  sensors@1.0-se-778   (  778) [004] ...1 1034715.095325: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20953  sensors@1.0-se-778   (  778) [004] ...1 1034715.114072: tracing_mark_write: E|778
20954   SensorService-1283  ( 1151) [001] ...1 1034715.114179: tracing_mark_write: E|1151
20955   SensorService-1283  ( 1151) [001] ...1 1034715.114287: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20956  sensors@1.0-se-778   (  778) [004] ...1 1034715.114362: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20957  surfaceflinger-591   (  591) [000] ...1 1034715.128810: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20958  composer@2.1-s-593   (  593) [001] ...1 1034715.129075: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20959  composer@2.1-s-593   (  593) [001] ...1 1034715.129231: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20960  composer@2.1-s-593   (  593) [001] ...1 1034715.129277: tracing_mark_write: B|593|HWDevice::Commit::
20961  composer@2.1-s-593   (  593) [001] ...1 1034715.129505: tracing_mark_write: E|593
20962  composer@2.1-s-593   (  593) [001] ...1 1034715.129566: tracing_mark_write: E|593
20963  composer@2.1-s-593   (  593) [001] ...1 1034715.129632: tracing_mark_write: E|593
20964  surfaceflinger-591   (  591) [000] ...1 1034715.129775: tracing_mark_write: E|591
20965  sensors@1.0-se-778   (  778) [004] ...1 1034715.133658: tracing_mark_write: E|778
20966   SensorService-1283  ( 1151) [001] ...1 1034715.133825: tracing_mark_write: E|1151
20967   SensorService-1283  ( 1151) [001] ...1 1034715.134009: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20968  sensors@1.0-se-778   (  778) [004] ...1 1034715.134131: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20969  sensors@1.0-se-778   (  778) [004] ...1 1034715.152716: tracing_mark_write: E|778
20970   SensorService-1283  ( 1151) [001] ...1 1034715.152869: tracing_mark_write: E|1151
20971   SensorService-1283  ( 1151) [001] ...1 1034715.153065: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20972  sensors@1.0-se-778   (  778) [004] ...1 1034715.153183: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20973  surfaceflinger-591   (  591) [000] ...1 1034715.162386: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20974  composer@2.1-s-593   (  593) [001] ...1 1034715.162665: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20975  composer@2.1-s-593   (  593) [001] ...1 1034715.162818: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20976  composer@2.1-s-593   (  593) [001] ...1 1034715.162863: tracing_mark_write: B|593|HWDevice::Commit::
20977  composer@2.1-s-593   (  593) [001] ...1 1034715.163123: tracing_mark_write: E|593
20978  composer@2.1-s-593   (  593) [001] ...1 1034715.163187: tracing_mark_write: E|593
20979  composer@2.1-s-593   (  593) [001] ...1 1034715.163323: tracing_mark_write: E|593
20980  surfaceflinger-591   (  591) [000] ...1 1034715.163530: tracing_mark_write: E|591
20981  sensors@1.0-se-778   (  778) [004] ...1 1034715.173435: tracing_mark_write: E|778
20982   SensorService-1283  ( 1151) [001] ...1 1034715.173584: tracing_mark_write: E|1151
20983   SensorService-1283  ( 1151) [001] ...1 1034715.173775: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20984  sensors@1.0-se-778   (  778) [004] ...1 1034715.173890: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20985  sensors@1.0-se-778   (  778) [004] ...1 1034715.191217: tracing_mark_write: E|778
20986   SensorService-1283  ( 1151) [001] ...1 1034715.191335: tracing_mark_write: E|1151
20987   SensorService-1283  ( 1151) [001] ...1 1034715.191480: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20988  sensors@1.0-se-778   (  778) [004] ...1 1034715.191581: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20989  sensors@1.0-se-778   (  778) [004] ...1 1034715.210744: tracing_mark_write: E|778
20990   SensorService-1283  ( 1151) [001] ...1 1034715.210897: tracing_mark_write: E|1151
20991   SensorService-1283  ( 1151) [001] ...1 1034715.211083: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
20992  sensors@1.0-se-778   (  778) [004] ...1 1034715.211191: tracing_mark_write: B|778|HIDL::ISensors::poll::server
20993  surfaceflinger-591   (  591) [000] ...1 1034715.212708: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
20994  composer@2.1-s-593   (  593) [001] ...1 1034715.213017: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
20995  composer@2.1-s-593   (  593) [001] ...1 1034715.213178: tracing_mark_write: B|593|HWCSession::PresentDisplay::
20996  composer@2.1-s-593   (  593) [001] ...1 1034715.213278: tracing_mark_write: B|593|HWDevice::Commit::
20997  composer@2.1-s-593   (  593) [001] ...1 1034715.213550: tracing_mark_write: E|593
20998  composer@2.1-s-593   (  593) [001] ...1 1034715.213619: tracing_mark_write: E|593
20999  composer@2.1-s-593   (  593) [001] ...1 1034715.213695: tracing_mark_write: E|593
21000  surfaceflinger-591   (  591) [002] ...1 1034715.213919: tracing_mark_write: E|591
21001  sensors@1.0-se-778   (  778) [004] ...1 1034715.229782: tracing_mark_write: E|778
21002   SensorService-1283  ( 1151) [001] ...1 1034715.230090: tracing_mark_write: E|1151
21003   SensorService-1283  ( 1151) [001] ...1 1034715.230260: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21004  sensors@1.0-se-778   (  778) [004] ...1 1034715.230365: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21005  surfaceflinger-591   (  591) [000] ...1 1034715.246309: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21006  composer@2.1-s-593   (  593) [001] ...1 1034715.246701: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21007  composer@2.1-s-593   (  593) [001] ...1 1034715.246860: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21008  composer@2.1-s-593   (  593) [001] ...1 1034715.246909: tracing_mark_write: B|593|HWDevice::Commit::
21009  composer@2.1-s-593   (  593) [001] ...1 1034715.247265: tracing_mark_write: E|593
21010  composer@2.1-s-593   (  593) [001] ...1 1034715.247332: tracing_mark_write: E|593
21011  composer@2.1-s-593   (  593) [001] ...1 1034715.247411: tracing_mark_write: E|593
21012  surfaceflinger-591   (  591) [000] ...1 1034715.247622: tracing_mark_write: E|591
21013  sensors@1.0-se-778   (  778) [004] ...1 1034715.248879: tracing_mark_write: E|778
21014   SensorService-1283  ( 1151) [000] ...1 1034715.249052: tracing_mark_write: E|1151
21015   SensorService-1283  ( 1151) [000] ...1 1034715.249262: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21016  sensors@1.0-se-778   (  778) [004] ...1 1034715.249383: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21017  sensors@1.0-se-778   (  778) [004] ...1 1034715.268539: tracing_mark_write: E|778
21018   SensorService-1283  ( 1151) [000] ...1 1034715.268695: tracing_mark_write: E|1151
21019   SensorService-1283  ( 1151) [000] ...1 1034715.268829: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21020  sensors@1.0-se-778   (  778) [004] ...1 1034715.268959: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21021  sensors@1.0-se-778   (  778) [004] ...1 1034715.288676: tracing_mark_write: E|778
21022   SensorService-1283  ( 1151) [000] ...1 1034715.288818: tracing_mark_write: E|1151
21023   SensorService-1283  ( 1151) [000] ...1 1034715.288955: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21024  sensors@1.0-se-778   (  778) [004] ...1 1034715.289071: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21025  surfaceflinger-591   (  591) [000] ...1 1034715.296222: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21026  composer@2.1-s-593   (  593) [000] ...1 1034715.296452: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21027  composer@2.1-s-593   (  593) [000] ...1 1034715.296608: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21028  composer@2.1-s-593   (  593) [000] ...1 1034715.296640: tracing_mark_write: B|593|HWDevice::Commit::
21029  composer@2.1-s-593   (  593) [000] ...1 1034715.296805: tracing_mark_write: E|593
21030  composer@2.1-s-593   (  593) [000] ...1 1034715.296849: tracing_mark_write: E|593
21031  composer@2.1-s-593   (  593) [000] ...1 1034715.296901: tracing_mark_write: E|593
21032  surfaceflinger-591   (  591) [001] ...1 1034715.297060: tracing_mark_write: E|591
21033  sensors@1.0-se-778   (  778) [004] ...1 1034715.306809: tracing_mark_write: E|778
21034   SensorService-1283  ( 1151) [000] ...1 1034715.306930: tracing_mark_write: E|1151
21035   SensorService-1283  ( 1151) [000] ...1 1034715.307025: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21036  sensors@1.0-se-778   (  778) [004] ...1 1034715.307111: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21037      android.bg-1184  ( 1151) [000] ...1 1034715.307414: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21038  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307540: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21039  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307568: tracing_mark_write: E|748
21040      android.bg-1184  ( 1151) [000] ...1 1034715.307645: tracing_mark_write: E|1151
21041      android.bg-1184  ( 1151) [000] ...1 1034715.307656: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21042  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307687: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21043  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307793: tracing_mark_write: E|748
21044      android.bg-1184  ( 1151) [000] ...1 1034715.307840: tracing_mark_write: E|1151
21045      android.bg-1184  ( 1151) [000] ...1 1034715.307849: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21046  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307880: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21047  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307910: tracing_mark_write: E|748
21048      android.bg-1184  ( 1151) [000] ...1 1034715.307946: tracing_mark_write: E|1151
21049      android.bg-1184  ( 1151) [000] ...1 1034715.307953: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21050  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307980: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21051  memtrack@1.0-s-748   (  748) [000] ...1 1034715.307987: tracing_mark_write: E|748
21052      android.bg-1184  ( 1151) [000] ...1 1034715.308018: tracing_mark_write: E|1151
21053      android.bg-1184  ( 1151) [000] ...1 1034715.308024: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21054  memtrack@1.0-s-748   (  748) [000] ...1 1034715.308049: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21055  memtrack@1.0-s-748   (  748) [000] ...1 1034715.308056: tracing_mark_write: E|748
21056      android.bg-1184  ( 1151) [000] ...1 1034715.308088: tracing_mark_write: E|1151
21057  sensors@1.0-se-778   (  778) [005] ...1 1034715.325902: tracing_mark_write: E|778
21058   SensorService-1283  ( 1151) [000] ...1 1034715.326030: tracing_mark_write: E|1151
21059   SensorService-1283  ( 1151) [000] ...1 1034715.326128: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21060  sensors@1.0-se-778   (  778) [005] ...1 1034715.326212: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21061  surfaceflinger-591   (  591) [002] ...1 1034715.329633: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21062  composer@2.1-s-593   (  593) [000] ...1 1034715.329805: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21063  composer@2.1-s-593   (  593) [000] ...1 1034715.329930: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21064  composer@2.1-s-593   (  593) [000] ...1 1034715.329952: tracing_mark_write: B|593|HWDevice::Commit::
21065  composer@2.1-s-593   (  593) [000] ...1 1034715.330082: tracing_mark_write: E|593
21066  composer@2.1-s-593   (  593) [000] ...1 1034715.330110: tracing_mark_write: E|593
21067  composer@2.1-s-593   (  593) [000] ...1 1034715.330143: tracing_mark_write: E|593
21068  surfaceflinger-591   (  591) [003] ...1 1034715.330229: tracing_mark_write: E|591
21069  sensors@1.0-se-778   (  778) [007] ...1 1034715.345069: tracing_mark_write: E|778
21070   SensorService-1283  ( 1151) [000] ...1 1034715.345149: tracing_mark_write: E|1151
21071   SensorService-1283  ( 1151) [000] ...1 1034715.345225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21072  sensors@1.0-se-778   (  778) [007] ...1 1034715.345276: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21073  sensors@1.0-se-778   (  778) [004] ...1 1034715.364227: tracing_mark_write: E|778
21074   SensorService-1283  ( 1151) [000] ...1 1034715.364313: tracing_mark_write: E|1151
21075   SensorService-1283  ( 1151) [000] ...1 1034715.364389: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21076  sensors@1.0-se-778   (  778) [004] ...1 1034715.364445: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21077  surfaceflinger-591   (  591) [002] ...1 1034715.379849: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21078  composer@2.1-s-593   (  593) [000] ...1 1034715.380036: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21079  composer@2.1-s-593   (  593) [000] ...1 1034715.380098: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21080  composer@2.1-s-593   (  593) [000] ...1 1034715.380118: tracing_mark_write: B|593|HWDevice::Commit::
21081  composer@2.1-s-593   (  593) [000] ...1 1034715.380224: tracing_mark_write: E|593
21082  composer@2.1-s-593   (  593) [000] ...1 1034715.380248: tracing_mark_write: E|593
21083  composer@2.1-s-593   (  593) [000] ...1 1034715.380276: tracing_mark_write: E|593
21084  surfaceflinger-591   (  591) [003] ...1 1034715.380352: tracing_mark_write: E|591
21085  sensors@1.0-se-778   (  778) [004] ...1 1034715.383735: tracing_mark_write: E|778
21086   SensorService-1283  ( 1151) [000] ...1 1034715.383815: tracing_mark_write: E|1151
21087   SensorService-1283  ( 1151) [000] ...1 1034715.383892: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21088  sensors@1.0-se-778   (  778) [004] ...1 1034715.383943: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21089      android.bg-1184  ( 1151) [000] ...1 1034715.395623: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21090  memtrack@1.0-s-748   (  748) [004] ...1 1034715.395710: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21091  memtrack@1.0-s-748   (  748) [004] ...1 1034715.395725: tracing_mark_write: E|748
21092      android.bg-1184  ( 1151) [000] ...1 1034715.396110: tracing_mark_write: E|1151
21093      android.bg-1184  ( 1151) [000] ...1 1034715.396123: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21094  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396161: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21095  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396197: tracing_mark_write: E|748
21096      android.bg-1184  ( 1151) [000] ...1 1034715.396229: tracing_mark_write: E|1151
21097      android.bg-1184  ( 1151) [000] ...1 1034715.396236: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21098  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396266: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21099  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396279: tracing_mark_write: E|748
21100      android.bg-1184  ( 1151) [000] ...1 1034715.396307: tracing_mark_write: E|1151
21101      android.bg-1184  ( 1151) [000] ...1 1034715.396313: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21102  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396343: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21103  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396346: tracing_mark_write: E|748
21104      android.bg-1184  ( 1151) [001] ...1 1034715.396382: tracing_mark_write: E|1151
21105      android.bg-1184  ( 1151) [001] ...1 1034715.396390: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21106  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396418: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21107  memtrack@1.0-s-748   (  748) [004] ...1 1034715.396421: tracing_mark_write: E|748
21108      android.bg-1184  ( 1151) [001] ...1 1034715.396452: tracing_mark_write: E|1151
21109  sensors@1.0-se-778   (  778) [004] ...1 1034715.402867: tracing_mark_write: E|778
21110   SensorService-1283  ( 1151) [000] ...1 1034715.402937: tracing_mark_write: E|1151
21111   SensorService-1283  ( 1151) [000] ...1 1034715.403006: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21112  sensors@1.0-se-778   (  778) [004] ...1 1034715.403058: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21113  surfaceflinger-591   (  591) [002] ...1 1034715.413431: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21114  composer@2.1-s-593   (  593) [000] ...1 1034715.413541: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21115  composer@2.1-s-593   (  593) [000] ...1 1034715.413603: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21116  composer@2.1-s-593   (  593) [000] ...1 1034715.413623: tracing_mark_write: B|593|HWDevice::Commit::
21117  composer@2.1-s-593   (  593) [000] ...1 1034715.413725: tracing_mark_write: E|593
21118  composer@2.1-s-593   (  593) [000] ...1 1034715.413750: tracing_mark_write: E|593
21119  composer@2.1-s-593   (  593) [000] ...1 1034715.413779: tracing_mark_write: E|593
21120  surfaceflinger-591   (  591) [003] ...1 1034715.413861: tracing_mark_write: E|591
21121  sensors@1.0-se-778   (  778) [004] ...1 1034715.421930: tracing_mark_write: E|778
21122   SensorService-1283  ( 1151) [000] ...1 1034715.422006: tracing_mark_write: E|1151
21123   SensorService-1283  ( 1151) [000] ...1 1034715.422083: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21124  sensors@1.0-se-778   (  778) [004] ...1 1034715.422132: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21125      android.bg-1184  ( 1151) [001] ...1 1034715.428194: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21126  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428271: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21127  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428284: tracing_mark_write: E|748
21128      android.bg-1184  ( 1151) [001] ...1 1034715.428333: tracing_mark_write: E|1151
21129      android.bg-1184  ( 1151) [001] ...1 1034715.428342: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21130  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428376: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21131  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428410: tracing_mark_write: E|748
21132      android.bg-1184  ( 1151) [000] ...1 1034715.428449: tracing_mark_write: E|1151
21133      android.bg-1184  ( 1151) [000] ...1 1034715.428456: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21134  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428492: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21135  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428507: tracing_mark_write: E|748
21136      android.bg-1184  ( 1151) [000] ...1 1034715.428537: tracing_mark_write: E|1151
21137      android.bg-1184  ( 1151) [000] ...1 1034715.428542: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21138  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428575: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21139  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428579: tracing_mark_write: E|748
21140      android.bg-1184  ( 1151) [001] ...1 1034715.428611: tracing_mark_write: E|1151
21141      android.bg-1184  ( 1151) [001] ...1 1034715.428617: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
21142  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428649: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
21143  memtrack@1.0-s-748   (  748) [004] ...1 1034715.428653: tracing_mark_write: E|748
21144      android.bg-1184  ( 1151) [001] ...1 1034715.428682: tracing_mark_write: E|1151
21145  sensors@1.0-se-778   (  778) [006] ...1 1034715.441250: tracing_mark_write: E|778
21146   SensorService-1283  ( 1151) [000] ...1 1034715.441331: tracing_mark_write: E|1151
21147   SensorService-1283  ( 1151) [000] ...1 1034715.441406: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21148  sensors@1.0-se-778   (  778) [006] ...1 1034715.441459: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21149  sensors@1.0-se-778   (  778) [006] ...1 1034715.460548: tracing_mark_write: E|778
21150   SensorService-1283  ( 1151) [000] ...1 1034715.460623: tracing_mark_write: E|1151
21151   SensorService-1283  ( 1151) [000] ...1 1034715.460715: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21152  sensors@1.0-se-778   (  778) [006] ...1 1034715.460767: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21153  surfaceflinger-591   (  591) [002] ...1 1034715.463738: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21154  composer@2.1-s-593   (  593) [000] ...1 1034715.463864: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21155  composer@2.1-s-593   (  593) [000] ...1 1034715.463928: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21156  composer@2.1-s-593   (  593) [000] ...1 1034715.463947: tracing_mark_write: B|593|HWDevice::Commit::
21157  composer@2.1-s-593   (  593) [000] ...1 1034715.464050: tracing_mark_write: E|593
21158  composer@2.1-s-593   (  593) [000] ...1 1034715.464074: tracing_mark_write: E|593
21159  composer@2.1-s-593   (  593) [000] ...1 1034715.464103: tracing_mark_write: E|593
21160  surfaceflinger-591   (  591) [003] ...1 1034715.464178: tracing_mark_write: E|591
21161  sensors@1.0-se-778   (  778) [006] ...1 1034715.479761: tracing_mark_write: E|778
21162   SensorService-1283  ( 1151) [000] ...1 1034715.479847: tracing_mark_write: E|1151
21163   SensorService-1283  ( 1151) [000] ...1 1034715.479947: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21164  sensors@1.0-se-778   (  778) [006] ...1 1034715.480006: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21165  surfaceflinger-591   (  591) [000] ...1 1034715.497358: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21166  composer@2.1-s-593   (  593) [001] ...1 1034715.497513: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21167  composer@2.1-s-593   (  593) [001] ...1 1034715.497578: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21168  composer@2.1-s-593   (  593) [001] ...1 1034715.497597: tracing_mark_write: B|593|HWDevice::Commit::
21169  composer@2.1-s-593   (  593) [001] ...1 1034715.497700: tracing_mark_write: E|593
21170  composer@2.1-s-593   (  593) [001] ...1 1034715.497726: tracing_mark_write: E|593
21171  composer@2.1-s-593   (  593) [001] ...1 1034715.497755: tracing_mark_write: E|593
21172  surfaceflinger-591   (  591) [000] ...1 1034715.497831: tracing_mark_write: E|591
21173  sensors@1.0-se-778   (  778) [007] ...1 1034715.498999: tracing_mark_write: E|778
21174   SensorService-1283  ( 1151) [000] ...1 1034715.499068: tracing_mark_write: E|1151
21175   SensorService-1283  ( 1151) [000] ...1 1034715.499143: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21176  sensors@1.0-se-778   (  778) [007] ...1 1034715.499195: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21177  sensors@1.0-se-778   (  778) [005] ...1 1034715.518309: tracing_mark_write: E|778
21178   SensorService-1283  ( 1151) [000] ...1 1034715.518391: tracing_mark_write: E|1151
21179   SensorService-1283  ( 1151) [000] ...1 1034715.518458: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21180  sensors@1.0-se-778   (  778) [005] ...1 1034715.518513: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21181  sensors@1.0-se-778   (  778) [005] ...1 1034715.537468: tracing_mark_write: E|778
21182   SensorService-1283  ( 1151) [000] ...1 1034715.537578: tracing_mark_write: E|1151
21183   SensorService-1283  ( 1151) [000] ...1 1034715.537702: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21184  sensors@1.0-se-778   (  778) [005] ...1 1034715.537797: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21185  surfaceflinger-591   (  591) [000] ...1 1034715.548155: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21186  composer@2.1-s-593   (  593) [001] ...1 1034715.548405: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21187  composer@2.1-s-593   (  593) [001] ...1 1034715.548598: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21188  composer@2.1-s-593   (  593) [001] ...1 1034715.548642: tracing_mark_write: B|593|HWDevice::Commit::
21189  composer@2.1-s-593   (  593) [001] ...1 1034715.548903: tracing_mark_write: E|593
21190  composer@2.1-s-593   (  593) [001] ...1 1034715.548966: tracing_mark_write: E|593
21191  composer@2.1-s-593   (  593) [001] ...1 1034715.549038: tracing_mark_write: E|593
21192  surfaceflinger-591   (  591) [000] ...1 1034715.549228: tracing_mark_write: E|591
21193  sensors@1.0-se-778   (  778) [005] ...1 1034715.556789: tracing_mark_write: E|778
21194   SensorService-1283  ( 1151) [000] ...1 1034715.556913: tracing_mark_write: E|1151
21195   SensorService-1283  ( 1151) [000] ...1 1034715.557064: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21196  sensors@1.0-se-778   (  778) [005] ...1 1034715.557162: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21197  sensors@1.0-se-778   (  778) [005] ...1 1034715.576152: tracing_mark_write: E|778
21198   SensorService-1283  ( 1151) [000] ...1 1034715.576279: tracing_mark_write: E|1151
21199   SensorService-1283  ( 1151) [000] ...1 1034715.576466: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21200  sensors@1.0-se-778   (  778) [005] ...1 1034715.576614: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21201  surfaceflinger-591   (  591) [000] ...1 1034715.581769: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21202  composer@2.1-s-593   (  593) [001] ...1 1034715.582017: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21203  composer@2.1-s-593   (  593) [001] ...1 1034715.582167: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21204  composer@2.1-s-593   (  593) [001] ...1 1034715.582212: tracing_mark_write: B|593|HWDevice::Commit::
21205  composer@2.1-s-593   (  593) [001] ...1 1034715.582471: tracing_mark_write: E|593
21206  composer@2.1-s-593   (  593) [001] ...1 1034715.582534: tracing_mark_write: E|593
21207  composer@2.1-s-593   (  593) [001] ...1 1034715.582604: tracing_mark_write: E|593
21208  surfaceflinger-591   (  591) [000] ...1 1034715.582792: tracing_mark_write: E|591
21209  sensors@1.0-se-778   (  778) [005] ...1 1034715.595448: tracing_mark_write: E|778
21210   SensorService-1283  ( 1151) [000] ...1 1034715.595583: tracing_mark_write: E|1151
21211   SensorService-1283  ( 1151) [000] ...1 1034715.595763: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21212  sensors@1.0-se-778   (  778) [005] ...1 1034715.595875: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21213  sensors@1.0-se-778   (  778) [005] ...1 1034715.614712: tracing_mark_write: E|778
21214   SensorService-1283  ( 1151) [000] ...1 1034715.614871: tracing_mark_write: E|1151
21215   SensorService-1283  ( 1151) [000] ...1 1034715.615049: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21216  sensors@1.0-se-778   (  778) [005] ...1 1034715.615170: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21217  surfaceflinger-591   (  591) [001] ...1 1034715.631732: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21218  composer@2.1-s-593   (  593) [000] ...1 1034715.631892: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21219  composer@2.1-s-593   (  593) [000] ...1 1034715.631975: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21220  composer@2.1-s-593   (  593) [000] ...1 1034715.632000: tracing_mark_write: B|593|HWDevice::Commit::
21221  composer@2.1-s-593   (  593) [000] ...1 1034715.632134: tracing_mark_write: E|593
21222  composer@2.1-s-593   (  593) [000] ...1 1034715.632167: tracing_mark_write: E|593
21223  composer@2.1-s-593   (  593) [000] ...1 1034715.632203: tracing_mark_write: E|593
21224  surfaceflinger-591   (  591) [001] ...1 1034715.632289: tracing_mark_write: E|591
21225  sensors@1.0-se-778   (  778) [005] ...1 1034715.634628: tracing_mark_write: E|778
21226   SensorService-1283  ( 1151) [000] ...1 1034715.634772: tracing_mark_write: E|1151
21227   SensorService-1283  ( 1151) [000] ...1 1034715.634885: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21228  sensors@1.0-se-778   (  778) [005] ...1 1034715.635028: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21229  sensors@1.0-se-778   (  778) [005] ...1 1034715.653016: tracing_mark_write: E|778
21230   SensorService-1283  ( 1151) [000] ...1 1034715.653107: tracing_mark_write: E|1151
21231   SensorService-1283  ( 1151) [000] ...1 1034715.653193: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21232  sensors@1.0-se-778   (  778) [005] ...1 1034715.653284: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21233  surfaceflinger-591   (  591) [000] ...1 1034715.665320: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21234  composer@2.1-s-593   (  593) [001] ...1 1034715.665523: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21235  composer@2.1-s-593   (  593) [001] ...1 1034715.665629: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21236  composer@2.1-s-593   (  593) [001] ...1 1034715.665659: tracing_mark_write: B|593|HWDevice::Commit::
21237  composer@2.1-s-593   (  593) [001] ...1 1034715.665823: tracing_mark_write: E|593
21238  composer@2.1-s-593   (  593) [001] ...1 1034715.665862: tracing_mark_write: E|593
21239  composer@2.1-s-593   (  593) [001] ...1 1034715.665908: tracing_mark_write: E|593
21240  surfaceflinger-591   (  591) [000] ...1 1034715.666011: tracing_mark_write: E|591
21241  sensors@1.0-se-778   (  778) [005] ...1 1034715.672547: tracing_mark_write: E|778
21242   SensorService-1283  ( 1151) [000] ...1 1034715.672711: tracing_mark_write: E|1151
21243   SensorService-1283  ( 1151) [000] ...1 1034715.672933: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21244  sensors@1.0-se-778   (  778) [005] ...1 1034715.673058: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21245  sensors@1.0-se-778   (  778) [005] ...1 1034715.691925: tracing_mark_write: E|778
21246   SensorService-1283  ( 1151) [000] ...1 1034715.692084: tracing_mark_write: E|1151
21247   SensorService-1283  ( 1151) [000] ...1 1034715.692272: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21248  sensors@1.0-se-778   (  778) [005] ...1 1034715.692403: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21249  sensors@1.0-se-778   (  778) [005] ...1 1034715.711280: tracing_mark_write: E|778
21250   SensorService-1283  ( 1151) [000] ...1 1034715.711413: tracing_mark_write: E|1151
21251   SensorService-1283  ( 1151) [000] ...1 1034715.711586: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21252  sensors@1.0-se-778   (  778) [005] ...1 1034715.711695: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21253  surfaceflinger-591   (  591) [000] ...1 1034715.716063: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21254  composer@2.1-s-593   (  593) [001] ...1 1034715.716324: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21255  composer@2.1-s-593   (  593) [001] ...1 1034715.716483: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21256  composer@2.1-s-593   (  593) [001] ...1 1034715.716588: tracing_mark_write: B|593|HWDevice::Commit::
21257  composer@2.1-s-593   (  593) [001] ...1 1034715.716866: tracing_mark_write: E|593
21258  composer@2.1-s-593   (  593) [001] ...1 1034715.716933: tracing_mark_write: E|593
21259  composer@2.1-s-593   (  593) [001] ...1 1034715.717011: tracing_mark_write: E|593
21260  surfaceflinger-591   (  591) [000] ...1 1034715.717212: tracing_mark_write: E|591
21261  sensors@1.0-se-778   (  778) [005] ...1 1034715.730517: tracing_mark_write: E|778
21262   SensorService-1283  ( 1151) [000] ...1 1034715.730660: tracing_mark_write: E|1151
21263   SensorService-1283  ( 1151) [000] ...1 1034715.730862: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21264  sensors@1.0-se-778   (  778) [005] ...1 1034715.730978: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21265  surfaceflinger-591   (  591) [000] ...1 1034715.749531: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21266  composer@2.1-s-593   (  593) [001] ...1 1034715.749797: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21267  composer@2.1-s-593   (  593) [001] ...1 1034715.750055: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21268  composer@2.1-s-593   (  593) [001] ...1 1034715.750158: tracing_mark_write: B|593|HWDevice::Commit::
21269  sensors@1.0-se-778   (  778) [005] ...1 1034715.750300: tracing_mark_write: E|778
21270  composer@2.1-s-593   (  593) [001] ...1 1034715.750430: tracing_mark_write: E|593
21271   SensorService-1283  ( 1151) [000] ...1 1034715.750446: tracing_mark_write: E|1151
21272  composer@2.1-s-593   (  593) [001] ...1 1034715.750496: tracing_mark_write: E|593
21273  composer@2.1-s-593   (  593) [001] ...1 1034715.750570: tracing_mark_write: E|593
21274   SensorService-1283  ( 1151) [000] ...1 1034715.750616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21275  sensors@1.0-se-778   (  778) [005] ...1 1034715.750725: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21276  surfaceflinger-591   (  591) [003] ...1 1034715.750801: tracing_mark_write: E|591
21277  sensors@1.0-se-778   (  778) [005] ...1 1034715.768842: tracing_mark_write: E|778
21278   SensorService-1283  ( 1151) [000] ...1 1034715.769001: tracing_mark_write: E|1151
21279   SensorService-1283  ( 1151) [000] ...1 1034715.769184: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21280  sensors@1.0-se-778   (  778) [005] ...1 1034715.769299: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21281  sensors@1.0-se-778   (  778) [005] ...1 1034715.788772: tracing_mark_write: E|778
21282   SensorService-1283  ( 1151) [000] ...1 1034715.788931: tracing_mark_write: E|1151
21283   SensorService-1283  ( 1151) [000] ...1 1034715.789126: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21284  sensors@1.0-se-778   (  778) [005] ...1 1034715.789257: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21285  surfaceflinger-591   (  591) [003] ...1 1034715.800086: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21286  composer@2.1-s-593   (  593) [000] ...1 1034715.800398: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21287  composer@2.1-s-593   (  593) [000] ...1 1034715.800543: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21288  composer@2.1-s-593   (  593) [000] ...1 1034715.800586: tracing_mark_write: B|593|HWDevice::Commit::
21289  composer@2.1-s-593   (  593) [000] ...1 1034715.800822: tracing_mark_write: E|593
21290  composer@2.1-s-593   (  593) [000] ...1 1034715.800885: tracing_mark_write: E|593
21291  composer@2.1-s-593   (  593) [000] ...1 1034715.800953: tracing_mark_write: E|593
21292  surfaceflinger-591   (  591) [003] ...1 1034715.801139: tracing_mark_write: E|591
21293  sensors@1.0-se-778   (  778) [005] ...1 1034715.807797: tracing_mark_write: E|778
21294   SensorService-1283  ( 1151) [000] ...1 1034715.807934: tracing_mark_write: E|1151
21295   SensorService-1283  ( 1151) [000] ...1 1034715.808103: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21296  sensors@1.0-se-778   (  778) [005] ...1 1034715.808208: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21297  sensors@1.0-se-778   (  778) [005] ...1 1034715.826563: tracing_mark_write: E|778
21298   SensorService-1283  ( 1151) [000] ...1 1034715.826662: tracing_mark_write: E|1151
21299   SensorService-1283  ( 1151) [000] ...1 1034715.826762: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21300  sensors@1.0-se-778   (  778) [005] ...1 1034715.826831: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21301  surfaceflinger-591   (  591) [003] ...1 1034715.833099: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21302  composer@2.1-s-593   (  593) [000] ...1 1034715.833287: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21303  composer@2.1-s-593   (  593) [000] ...1 1034715.833367: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21304  composer@2.1-s-593   (  593) [000] ...1 1034715.833390: tracing_mark_write: B|593|HWDevice::Commit::
21305  composer@2.1-s-593   (  593) [000] ...1 1034715.833512: tracing_mark_write: E|593
21306  composer@2.1-s-593   (  593) [000] ...1 1034715.833543: tracing_mark_write: E|593
21307  composer@2.1-s-593   (  593) [000] ...1 1034715.833579: tracing_mark_write: E|593
21308  surfaceflinger-591   (  591) [003] ...1 1034715.833681: tracing_mark_write: E|591
21309  sensors@1.0-se-778   (  778) [004] ...1 1034715.845668: tracing_mark_write: E|778
21310   SensorService-1283  ( 1151) [000] ...1 1034715.845767: tracing_mark_write: E|1151
21311   SensorService-1283  ( 1151) [000] ...1 1034715.845845: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21312  sensors@1.0-se-778   (  778) [004] ...1 1034715.845918: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21313  sensors@1.0-se-778   (  778) [006] ...1 1034715.864934: tracing_mark_write: E|778
21314   SensorService-1283  ( 1151) [000] ...1 1034715.865028: tracing_mark_write: E|1151
21315   SensorService-1283  ( 1151) [000] ...1 1034715.865111: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21316  sensors@1.0-se-778   (  778) [006] ...1 1034715.865169: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21317  surfaceflinger-591   (  591) [000] ...1 1034715.866494: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21318  composer@2.1-s-593   (  593) [001] ...1 1034715.866631: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21319  composer@2.1-s-593   (  593) [001] ...1 1034715.866692: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21320  composer@2.1-s-593   (  593) [001] ...1 1034715.866711: tracing_mark_write: B|593|HWDevice::Commit::
21321  composer@2.1-s-593   (  593) [001] ...1 1034715.866812: tracing_mark_write: E|593
21322  composer@2.1-s-593   (  593) [001] ...1 1034715.866836: tracing_mark_write: E|593
21323  composer@2.1-s-593   (  593) [001] ...1 1034715.866863: tracing_mark_write: E|593
21324  surfaceflinger-591   (  591) [000] ...1 1034715.866934: tracing_mark_write: E|591
21325  sensors@1.0-se-778   (  778) [005] ...1 1034715.884081: tracing_mark_write: E|778
21326   SensorService-1283  ( 1151) [000] ...1 1034715.884158: tracing_mark_write: E|1151
21327   SensorService-1283  ( 1151) [000] ...1 1034715.884226: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21328  sensors@1.0-se-778   (  778) [005] ...1 1034715.884280: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21329  sensors@1.0-se-778   (  778) [002] ...1 1034715.903428: tracing_mark_write: E|778
21330   SensorService-1283  ( 1151) [000] ...1 1034715.903508: tracing_mark_write: E|1151
21331   SensorService-1283  ( 1151) [000] ...1 1034715.903578: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21332  sensors@1.0-se-778   (  778) [002] ...1 1034715.903633: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21333  surfaceflinger-591   (  591) [000] ...1 1034715.916870: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21334  composer@2.1-s-593   (  593) [001] ...1 1034715.916984: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21335  composer@2.1-s-593   (  593) [001] ...1 1034715.917050: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21336  composer@2.1-s-593   (  593) [001] ...1 1034715.917069: tracing_mark_write: B|593|HWDevice::Commit::
21337  composer@2.1-s-593   (  593) [001] ...1 1034715.917169: tracing_mark_write: E|593
21338  composer@2.1-s-593   (  593) [001] ...1 1034715.917194: tracing_mark_write: E|593
21339  composer@2.1-s-593   (  593) [001] ...1 1034715.917223: tracing_mark_write: E|593
21340  surfaceflinger-591   (  591) [000] ...1 1034715.917295: tracing_mark_write: E|591
21341  sensors@1.0-se-778   (  778) [002] ...1 1034715.922644: tracing_mark_write: E|778
21342   SensorService-1283  ( 1151) [000] ...1 1034715.922722: tracing_mark_write: E|1151
21343   SensorService-1283  ( 1151) [000] ...1 1034715.922797: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21344  sensors@1.0-se-778   (  778) [002] ...1 1034715.922847: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21345  sensors@1.0-se-778   (  778) [002] ...1 1034715.941847: tracing_mark_write: E|778
21346   SensorService-1283  ( 1151) [000] ...1 1034715.941921: tracing_mark_write: E|1151
21347   SensorService-1283  ( 1151) [000] ...1 1034715.941993: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21348  sensors@1.0-se-778   (  778) [002] ...1 1034715.942046: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21349  surfaceflinger-591   (  591) [001] ...1 1034715.950423: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21350  composer@2.1-s-593   (  593) [000] ...1 1034715.950546: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21351  composer@2.1-s-593   (  593) [000] ...1 1034715.950610: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21352  composer@2.1-s-593   (  593) [000] ...1 1034715.950629: tracing_mark_write: B|593|HWDevice::Commit::
21353  composer@2.1-s-593   (  593) [000] ...1 1034715.950732: tracing_mark_write: E|593
21354  composer@2.1-s-593   (  593) [000] ...1 1034715.950759: tracing_mark_write: E|593
21355  composer@2.1-s-593   (  593) [000] ...1 1034715.950807: tracing_mark_write: E|593
21356  surfaceflinger-591   (  591) [003] ...1 1034715.950895: tracing_mark_write: E|591
21357  sensors@1.0-se-778   (  778) [002] ...1 1034715.961127: tracing_mark_write: E|778
21358   SensorService-1283  ( 1151) [000] ...1 1034715.961211: tracing_mark_write: E|1151
21359   SensorService-1283  ( 1151) [000] ...1 1034715.961292: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21360  sensors@1.0-se-778   (  778) [002] ...1 1034715.961343: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21361  sensors@1.0-se-778   (  778) [003] ...1 1034715.980484: tracing_mark_write: E|778
21362   SensorService-1283  ( 1151) [000] ...1 1034715.980573: tracing_mark_write: E|1151
21363   SensorService-1283  ( 1151) [000] ...1 1034715.980647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21364  sensors@1.0-se-778   (  778) [003] ...1 1034715.980698: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21365  sensors@1.0-se-778   (  778) [003] ...1 1034715.999731: tracing_mark_write: E|778
21366   SensorService-1283  ( 1151) [000] ...1 1034715.999827: tracing_mark_write: E|1151
21367   SensorService-1283  ( 1151) [000] ...1 1034715.999965: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21368  sensors@1.0-se-778   (  778) [003] ...1 1034716.000030: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21369  surfaceflinger-591   (  591) [000] ...1 1034716.000804: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21370  composer@2.1-s-593   (  593) [001] ...1 1034716.000927: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21371  composer@2.1-s-593   (  593) [001] ...1 1034716.001002: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21372  composer@2.1-s-593   (  593) [001] ...1 1034716.001024: tracing_mark_write: B|593|HWDevice::Commit::
21373  composer@2.1-s-593   (  593) [001] ...1 1034716.001150: tracing_mark_write: E|593
21374  composer@2.1-s-593   (  593) [001] ...1 1034716.001178: tracing_mark_write: E|593
21375  composer@2.1-s-593   (  593) [001] ...1 1034716.001210: tracing_mark_write: E|593
21376  surfaceflinger-591   (  591) [000] ...1 1034716.001280: tracing_mark_write: E|591
21377  sensors@1.0-se-778   (  778) [003] ...1 1034716.018884: tracing_mark_write: E|778
21378   SensorService-1283  ( 1151) [000] ...1 1034716.018954: tracing_mark_write: E|1151
21379   SensorService-1283  ( 1151) [000] ...1 1034716.019018: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21380  sensors@1.0-se-778   (  778) [003] ...1 1034716.019067: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21381  surfaceflinger-591   (  591) [000] ...1 1034716.034314: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21382  composer@2.1-s-593   (  593) [001] ...1 1034716.034431: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21383  composer@2.1-s-593   (  593) [001] ...1 1034716.034507: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21384  composer@2.1-s-593   (  593) [001] ...1 1034716.034532: tracing_mark_write: B|593|HWDevice::Commit::
21385  composer@2.1-s-593   (  593) [001] ...1 1034716.034656: tracing_mark_write: E|593
21386  composer@2.1-s-593   (  593) [001] ...1 1034716.034690: tracing_mark_write: E|593
21387  composer@2.1-s-593   (  593) [001] ...1 1034716.034727: tracing_mark_write: E|593
21388  surfaceflinger-591   (  591) [000] ...1 1034716.034806: tracing_mark_write: E|591
21389  sensors@1.0-se-778   (  778) [003] ...1 1034716.038367: tracing_mark_write: E|778
21390   SensorService-1283  ( 1151) [000] ...1 1034716.038464: tracing_mark_write: E|1151
21391   SensorService-1283  ( 1151) [000] ...1 1034716.038589: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21392  sensors@1.0-se-778   (  778) [003] ...1 1034716.038651: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21393  sensors@1.0-se-778   (  778) [003] ...1 1034716.057766: tracing_mark_write: E|778
21394   SensorService-1283  ( 1151) [000] ...1 1034716.057905: tracing_mark_write: E|1151
21395   SensorService-1283  ( 1151) [000] ...1 1034716.058075: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21396  sensors@1.0-se-778   (  778) [003] ...1 1034716.058216: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21397  sensors@1.0-se-778   (  778) [003] ...1 1034716.077068: tracing_mark_write: E|778
21398   SensorService-1283  ( 1151) [000] ...1 1034716.077208: tracing_mark_write: E|1151
21399   SensorService-1283  ( 1151) [000] ...1 1034716.077383: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21400  sensors@1.0-se-778   (  778) [003] ...1 1034716.077522: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21401  surfaceflinger-591   (  591) [000] ...1 1034716.085371: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21402  composer@2.1-s-593   (  593) [001] ...1 1034716.085685: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21403  composer@2.1-s-593   (  593) [001] ...1 1034716.085878: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21404  composer@2.1-s-593   (  593) [001] ...1 1034716.085935: tracing_mark_write: B|593|HWDevice::Commit::
21405  composer@2.1-s-593   (  593) [001] ...1 1034716.086275: tracing_mark_write: E|593
21406  composer@2.1-s-593   (  593) [001] ...1 1034716.086356: tracing_mark_write: E|593
21407  composer@2.1-s-593   (  593) [001] ...1 1034716.086445: tracing_mark_write: E|593
21408  surfaceflinger-591   (  591) [000] ...1 1034716.086675: tracing_mark_write: E|591
21409  sensors@1.0-se-778   (  778) [003] ...1 1034716.096612: tracing_mark_write: E|778
21410   SensorService-1283  ( 1151) [000] ...1 1034716.096795: tracing_mark_write: E|1151
21411   SensorService-1283  ( 1151) [000] ...1 1034716.097039: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21412  sensors@1.0-se-778   (  778) [003] ...1 1034716.097201: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21413  sensors@1.0-se-778   (  778) [003] ...1 1034716.115867: tracing_mark_write: E|778
21414   SensorService-1283  ( 1151) [000] ...1 1034716.116106: tracing_mark_write: E|1151
21415   SensorService-1283  ( 1151) [000] ...1 1034716.116385: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21416  sensors@1.0-se-778   (  778) [003] ...1 1034716.116644: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21417  surfaceflinger-591   (  591) [000] ...1 1034716.119096: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21418  composer@2.1-s-593   (  593) [001] ...1 1034716.119410: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21419  composer@2.1-s-593   (  593) [001] ...1 1034716.119612: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21420  composer@2.1-s-593   (  593) [001] ...1 1034716.119672: tracing_mark_write: B|593|HWDevice::Commit::
21421  composer@2.1-s-593   (  593) [001] ...1 1034716.120146: tracing_mark_write: E|593
21422  composer@2.1-s-593   (  593) [001] ...1 1034716.120233: tracing_mark_write: E|593
21423  composer@2.1-s-593   (  593) [001] ...1 1034716.120325: tracing_mark_write: E|593
21424  surfaceflinger-591   (  591) [000] ...1 1034716.120537: tracing_mark_write: E|591
21425  sensors@1.0-se-778   (  778) [003] ...1 1034716.134983: tracing_mark_write: E|778
21426   SensorService-1283  ( 1151) [001] ...1 1034716.135179: tracing_mark_write: E|1151
21427   SensorService-1283  ( 1151) [001] ...1 1034716.135405: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21428  sensors@1.0-se-778   (  778) [003] ...1 1034716.135579: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21429  sensors@1.0-se-778   (  778) [003] ...1 1034716.154160: tracing_mark_write: E|778
21430   SensorService-1283  ( 1151) [001] ...1 1034716.154318: tracing_mark_write: E|1151
21431   SensorService-1283  ( 1151) [001] ...1 1034716.154488: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21432  sensors@1.0-se-778   (  778) [003] ...1 1034716.154631: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21433  surfaceflinger-591   (  591) [001] ...1 1034716.169235: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21434  composer@2.1-s-593   (  593) [000] ...1 1034716.169558: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21435  composer@2.1-s-593   (  593) [000] ...1 1034716.169726: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21436  composer@2.1-s-593   (  593) [000] ...1 1034716.169771: tracing_mark_write: B|593|HWDevice::Commit::
21437  composer@2.1-s-593   (  593) [000] ...1 1034716.170171: tracing_mark_write: E|593
21438  composer@2.1-s-593   (  593) [000] ...1 1034716.170240: tracing_mark_write: E|593
21439  composer@2.1-s-593   (  593) [000] ...1 1034716.170317: tracing_mark_write: E|593
21440  surfaceflinger-591   (  591) [001] ...1 1034716.170531: tracing_mark_write: E|591
21441  sensors@1.0-se-778   (  778) [003] ...1 1034716.173104: tracing_mark_write: E|778
21442   SensorService-1283  ( 1151) [001] ...1 1034716.173271: tracing_mark_write: E|1151
21443   SensorService-1283  ( 1151) [001] ...1 1034716.173403: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21444  sensors@1.0-se-778   (  778) [003] ...1 1034716.173493: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21445  sensors@1.0-se-778   (  778) [003] ...1 1034716.192325: tracing_mark_write: E|778
21446   SensorService-1283  ( 1151) [001] ...1 1034716.192433: tracing_mark_write: E|1151
21447   SensorService-1283  ( 1151) [001] ...1 1034716.192529: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21448  sensors@1.0-se-778   (  778) [003] ...1 1034716.192595: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21449  surfaceflinger-591   (  591) [001] ...1 1034716.202258: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21450  composer@2.1-s-593   (  593) [000] ...1 1034716.202428: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21451  composer@2.1-s-593   (  593) [000] ...1 1034716.202513: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21452  composer@2.1-s-593   (  593) [000] ...1 1034716.202538: tracing_mark_write: B|593|HWDevice::Commit::
21453  composer@2.1-s-593   (  593) [000] ...1 1034716.202671: tracing_mark_write: E|593
21454  composer@2.1-s-593   (  593) [000] ...1 1034716.202702: tracing_mark_write: E|593
21455  composer@2.1-s-593   (  593) [000] ...1 1034716.202740: tracing_mark_write: E|593
21456  surfaceflinger-591   (  591) [001] ...1 1034716.202830: tracing_mark_write: E|591
21457  sensors@1.0-se-778   (  778) [000] ...1 1034716.211722: tracing_mark_write: E|778
21458   SensorService-1283  ( 1151) [001] ...1 1034716.211894: tracing_mark_write: E|1151
21459   SensorService-1283  ( 1151) [001] ...1 1034716.212042: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21460  sensors@1.0-se-778   (  778) [000] ...1 1034716.212124: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21461  sensors@1.0-se-778   (  778) [000] ...1 1034716.231157: tracing_mark_write: E|778
21462   SensorService-1283  ( 1151) [001] ...1 1034716.231412: tracing_mark_write: E|1151
21463   SensorService-1283  ( 1151) [001] ...1 1034716.231607: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21464  sensors@1.0-se-778   (  778) [000] ...1 1034716.231768: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21465  sensors@1.0-se-778   (  778) [000] ...1 1034716.250428: tracing_mark_write: E|778
21466   SensorService-1283  ( 1151) [001] ...1 1034716.250577: tracing_mark_write: E|1151
21467   SensorService-1283  ( 1151) [001] ...1 1034716.250744: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21468  sensors@1.0-se-778   (  778) [000] ...1 1034716.250902: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21469  surfaceflinger-591   (  591) [001] ...1 1034716.253354: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21470  composer@2.1-s-593   (  593) [000] ...1 1034716.253630: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21471  composer@2.1-s-593   (  593) [000] ...1 1034716.253789: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21472  composer@2.1-s-593   (  593) [000] ...1 1034716.253836: tracing_mark_write: B|593|HWDevice::Commit::
21473  composer@2.1-s-593   (  593) [000] ...1 1034716.254111: tracing_mark_write: E|593
21474  composer@2.1-s-593   (  593) [001] ...1 1034716.254264: tracing_mark_write: E|593
21475  composer@2.1-s-593   (  593) [001] ...1 1034716.254369: tracing_mark_write: E|593
21476  surfaceflinger-591   (  591) [000] ...1 1034716.254590: tracing_mark_write: E|591
21477  sensors@1.0-se-778   (  778) [000] ...1 1034716.270012: tracing_mark_write: E|778
21478   SensorService-1283  ( 1151) [001] ...1 1034716.270192: tracing_mark_write: E|1151
21479   SensorService-1283  ( 1151) [001] ...1 1034716.270376: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21480  sensors@1.0-se-778   (  778) [000] ...1 1034716.270533: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21481  surfaceflinger-591   (  591) [000] ...1 1034716.286680: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21482  composer@2.1-s-593   (  593) [001] ...1 1034716.286950: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21483  composer@2.1-s-593   (  593) [001] ...1 1034716.287105: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21484  composer@2.1-s-593   (  593) [001] ...1 1034716.287151: tracing_mark_write: B|593|HWDevice::Commit::
21485  composer@2.1-s-593   (  593) [001] ...1 1034716.287421: tracing_mark_write: E|593
21486  composer@2.1-s-593   (  593) [001] ...1 1034716.287487: tracing_mark_write: E|593
21487  composer@2.1-s-593   (  593) [001] ...1 1034716.287561: tracing_mark_write: E|593
21488  surfaceflinger-591   (  591) [000] ...1 1034716.287757: tracing_mark_write: E|591
21489  sensors@1.0-se-778   (  778) [000] ...1 1034716.289977: tracing_mark_write: E|778
21490   SensorService-1283  ( 1151) [001] ...1 1034716.290134: tracing_mark_write: E|1151
21491   SensorService-1283  ( 1151) [001] ...1 1034716.290322: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21492  sensors@1.0-se-778   (  778) [000] ...1 1034716.290466: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21493  sensors@1.0-se-778   (  778) [000] ...1 1034716.308162: tracing_mark_write: E|778
21494   SensorService-1283  ( 1151) [001] ...1 1034716.308302: tracing_mark_write: E|1151
21495   SensorService-1283  ( 1151) [001] ...1 1034716.308457: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21496  sensors@1.0-se-778   (  778) [000] ...1 1034716.308595: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21497  sensors@1.0-se-778   (  778) [000] ...1 1034716.327516: tracing_mark_write: E|778
21498   SensorService-1283  ( 1151) [001] ...1 1034716.327676: tracing_mark_write: E|1151
21499   SensorService-1283  ( 1151) [001] ...1 1034716.327850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21500  sensors@1.0-se-778   (  778) [000] ...1 1034716.327988: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21501  surfaceflinger-591   (  591) [000] ...1 1034716.337107: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21502  composer@2.1-s-593   (  593) [001] ...1 1034716.337395: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21503  composer@2.1-s-593   (  593) [001] ...1 1034716.337559: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21504  composer@2.1-s-593   (  593) [001] ...1 1034716.337607: tracing_mark_write: B|593|HWDevice::Commit::
21505  composer@2.1-s-593   (  593) [001] ...1 1034716.337878: tracing_mark_write: E|593
21506  composer@2.1-s-593   (  593) [001] ...1 1034716.337944: tracing_mark_write: E|593
21507  composer@2.1-s-593   (  593) [001] ...1 1034716.338022: tracing_mark_write: E|593
21508  surfaceflinger-591   (  591) [000] ...1 1034716.338231: tracing_mark_write: E|591
21509  sensors@1.0-se-778   (  778) [003] ...1 1034716.347463: tracing_mark_write: E|778
21510   SensorService-1283  ( 1151) [001] ...1 1034716.347627: tracing_mark_write: E|1151
21511   SensorService-1283  ( 1151) [001] ...1 1034716.347792: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21512  sensors@1.0-se-778   (  778) [003] ...1 1034716.347916: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21513  sensors@1.0-se-778   (  778) [003] ...1 1034716.365860: tracing_mark_write: E|778
21514   SensorService-1283  ( 1151) [001] ...1 1034716.365997: tracing_mark_write: E|1151
21515   SensorService-1283  ( 1151) [001] ...1 1034716.366101: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21516  sensors@1.0-se-778   (  778) [003] ...1 1034716.366183: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21517  surfaceflinger-591   (  591) [002] ...1 1034716.370185: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21518  composer@2.1-s-593   (  593) [001] ...1 1034716.370348: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21519  composer@2.1-s-593   (  593) [001] ...1 1034716.370431: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21520  composer@2.1-s-593   (  593) [001] ...1 1034716.370456: tracing_mark_write: B|593|HWDevice::Commit::
21521  composer@2.1-s-593   (  593) [001] ...1 1034716.370605: tracing_mark_write: E|593
21522  composer@2.1-s-593   (  593) [001] ...1 1034716.370640: tracing_mark_write: E|593
21523  composer@2.1-s-593   (  593) [001] ...1 1034716.370679: tracing_mark_write: E|593
21524  surfaceflinger-591   (  591) [003] ...1 1034716.370797: tracing_mark_write: E|591
21525  sensors@1.0-se-778   (  778) [003] ...1 1034716.384881: tracing_mark_write: E|778
21526   SensorService-1283  ( 1151) [001] ...1 1034716.384985: tracing_mark_write: E|1151
21527   SensorService-1283  ( 1151) [001] ...1 1034716.385086: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21528  sensors@1.0-se-778   (  778) [003] ...1 1034716.385149: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21529  sensors@1.0-se-778   (  778) [001] ...1 1034716.403957: tracing_mark_write: E|778
21530   SensorService-1283  ( 1151) [002] ...1 1034716.404054: tracing_mark_write: E|1151
21531   SensorService-1283  ( 1151) [002] ...1 1034716.404133: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21532  sensors@1.0-se-778   (  778) [001] ...1 1034716.404191: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21533  surfaceflinger-591   (  591) [002] ...1 1034716.420377: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21534  composer@2.1-s-593   (  593) [001] ...1 1034716.420561: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21535  composer@2.1-s-593   (  593) [001] ...1 1034716.420625: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21536  composer@2.1-s-593   (  593) [001] ...1 1034716.420644: tracing_mark_write: B|593|HWDevice::Commit::
21537  composer@2.1-s-593   (  593) [001] ...1 1034716.420751: tracing_mark_write: E|593
21538  composer@2.1-s-593   (  593) [001] ...1 1034716.420776: tracing_mark_write: E|593
21539  composer@2.1-s-593   (  593) [001] ...1 1034716.420805: tracing_mark_write: E|593
21540  surfaceflinger-591   (  591) [003] ...1 1034716.420950: tracing_mark_write: E|591
21541  sensors@1.0-se-778   (  778) [002] ...1 1034716.423485: tracing_mark_write: E|778
21542   SensorService-1283  ( 1151) [003] ...1 1034716.423566: tracing_mark_write: E|1151
21543   SensorService-1283  ( 1151) [003] ...1 1034716.423636: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21544  sensors@1.0-se-778   (  778) [002] ...1 1034716.423692: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21545  sensors@1.0-se-778   (  778) [002] ...1 1034716.442490: tracing_mark_write: E|778
21546   SensorService-1283  ( 1151) [003] ...1 1034716.442567: tracing_mark_write: E|1151
21547   SensorService-1283  ( 1151) [003] ...1 1034716.442637: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21548  sensors@1.0-se-778   (  778) [002] ...1 1034716.442695: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21549  surfaceflinger-591   (  591) [002] ...1 1034716.453896: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21550  composer@2.1-s-593   (  593) [001] ...1 1034716.454021: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21551  composer@2.1-s-593   (  593) [001] ...1 1034716.454083: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21552  composer@2.1-s-593   (  593) [001] ...1 1034716.454102: tracing_mark_write: B|593|HWDevice::Commit::
21553  composer@2.1-s-593   (  593) [001] ...1 1034716.454204: tracing_mark_write: E|593
21554  composer@2.1-s-593   (  593) [001] ...1 1034716.454229: tracing_mark_write: E|593
21555  composer@2.1-s-593   (  593) [001] ...1 1034716.454259: tracing_mark_write: E|593
21556  surfaceflinger-591   (  591) [003] ...1 1034716.454350: tracing_mark_write: E|591
21557  sensors@1.0-se-778   (  778) [002] ...1 1034716.461657: tracing_mark_write: E|778
21558   SensorService-1283  ( 1151) [003] ...1 1034716.461730: tracing_mark_write: E|1151
21559   SensorService-1283  ( 1151) [003] ...1 1034716.461797: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21560  sensors@1.0-se-778   (  778) [002] ...1 1034716.461847: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21561  sensors@1.0-se-778   (  778) [002] ...1 1034716.480986: tracing_mark_write: E|778
21562   SensorService-1283  ( 1151) [003] ...1 1034716.481065: tracing_mark_write: E|1151
21563   SensorService-1283  ( 1151) [003] ...1 1034716.481137: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21564  sensors@1.0-se-778   (  778) [002] ...1 1034716.481187: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21565  sensors@1.0-se-778   (  778) [002] ...1 1034716.500293: tracing_mark_write: E|778
21566   SensorService-1283  ( 1151) [003] ...1 1034716.500364: tracing_mark_write: E|1151
21567   SensorService-1283  ( 1151) [003] ...1 1034716.500438: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21568  sensors@1.0-se-778   (  778) [002] ...1 1034716.500491: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21569  surfaceflinger-591   (  591) [000] ...1 1034716.504203: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21570  composer@2.1-s-593   (  593) [001] ...1 1034716.504376: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21571  composer@2.1-s-593   (  593) [001] ...1 1034716.504445: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21572  composer@2.1-s-593   (  593) [001] ...1 1034716.504466: tracing_mark_write: B|593|HWDevice::Commit::
21573  composer@2.1-s-593   (  593) [001] ...1 1034716.504579: tracing_mark_write: E|593
21574  composer@2.1-s-593   (  593) [001] ...1 1034716.504609: tracing_mark_write: E|593
21575  composer@2.1-s-593   (  593) [001] ...1 1034716.504642: tracing_mark_write: E|593
21576  surfaceflinger-591   (  591) [000] ...1 1034716.504722: tracing_mark_write: E|591
21577  sensors@1.0-se-778   (  778) [002] ...1 1034716.519492: tracing_mark_write: E|778
21578   SensorService-1283  ( 1151) [003] ...1 1034716.519572: tracing_mark_write: E|1151
21579   SensorService-1283  ( 1151) [003] ...1 1034716.519650: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21580  sensors@1.0-se-778   (  778) [002] ...1 1034716.519699: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21581  surfaceflinger-591   (  591) [000] ...1 1034716.537934: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21582  composer@2.1-s-593   (  593) [001] ...1 1034716.538118: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21583  composer@2.1-s-593   (  593) [001] ...1 1034716.538205: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21584  composer@2.1-s-593   (  593) [001] ...1 1034716.538232: tracing_mark_write: B|593|HWDevice::Commit::
21585  composer@2.1-s-593   (  593) [001] ...1 1034716.538362: tracing_mark_write: E|593
21586  composer@2.1-s-593   (  593) [001] ...1 1034716.538396: tracing_mark_write: E|593
21587  composer@2.1-s-593   (  593) [001] ...1 1034716.538436: tracing_mark_write: E|593
21588  surfaceflinger-591   (  591) [000] ...1 1034716.538519: tracing_mark_write: E|591
21589  sensors@1.0-se-778   (  778) [002] ...1 1034716.540466: tracing_mark_write: E|778
21590   SensorService-1283  ( 1151) [003] ...1 1034716.540564: tracing_mark_write: E|1151
21591   SensorService-1283  ( 1151) [003] ...1 1034716.540658: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21592  sensors@1.0-se-778   (  778) [002] ...1 1034716.540719: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21593  sensors@1.0-se-778   (  778) [002] ...1 1034716.558312: tracing_mark_write: E|778
21594   SensorService-1283  ( 1151) [003] ...1 1034716.558429: tracing_mark_write: E|1151
21595   SensorService-1283  ( 1151) [003] ...1 1034716.558521: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21596  sensors@1.0-se-778   (  778) [002] ...1 1034716.558588: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21597  sensors@1.0-se-778   (  778) [002] ...1 1034716.577737: tracing_mark_write: E|778
21598   SensorService-1283  ( 1151) [003] ...1 1034716.577933: tracing_mark_write: E|1151
21599   SensorService-1283  ( 1151) [003] ...1 1034716.578108: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21600  sensors@1.0-se-778   (  778) [002] ...1 1034716.578266: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21601  surfaceflinger-591   (  591) [000] ...1 1034716.588978: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21602  composer@2.1-s-593   (  593) [001] ...1 1034716.589346: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21603  composer@2.1-s-593   (  593) [001] ...1 1034716.589566: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21604  composer@2.1-s-593   (  593) [001] ...1 1034716.589632: tracing_mark_write: B|593|HWDevice::Commit::
21605  composer@2.1-s-593   (  593) [001] ...1 1034716.590052: tracing_mark_write: E|593
21606  composer@2.1-s-593   (  593) [001] ...1 1034716.590139: tracing_mark_write: E|593
21607  composer@2.1-s-593   (  593) [001] ...1 1034716.590229: tracing_mark_write: E|593
21608  surfaceflinger-591   (  591) [000] ...1 1034716.590462: tracing_mark_write: E|591
21609  sensors@1.0-se-778   (  778) [002] ...1 1034716.597252: tracing_mark_write: E|778
21610   SensorService-1283  ( 1151) [003] ...1 1034716.597430: tracing_mark_write: E|1151
21611   SensorService-1283  ( 1151) [003] ...1 1034716.597639: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21612  sensors@1.0-se-778   (  778) [002] ...1 1034716.597802: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21613  sensors@1.0-se-778   (  778) [002] ...1 1034716.616352: tracing_mark_write: E|778
21614   SensorService-1283  ( 1151) [003] ...1 1034716.616510: tracing_mark_write: E|1151
21615   SensorService-1283  ( 1151) [003] ...1 1034716.616804: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21616  sensors@1.0-se-778   (  778) [002] ...1 1034716.616954: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21617  surfaceflinger-591   (  591) [000] ...1 1034716.622358: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21618  composer@2.1-s-593   (  593) [001] ...1 1034716.622651: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21619  composer@2.1-s-593   (  593) [001] ...1 1034716.622841: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21620  composer@2.1-s-593   (  593) [001] ...1 1034716.622898: tracing_mark_write: B|593|HWDevice::Commit::
21621  composer@2.1-s-593   (  593) [001] ...1 1034716.623309: tracing_mark_write: E|593
21622  composer@2.1-s-593   (  593) [001] ...1 1034716.623391: tracing_mark_write: E|593
21623  composer@2.1-s-593   (  593) [001] ...1 1034716.623476: tracing_mark_write: E|593
21624  surfaceflinger-591   (  591) [000] ...1 1034716.623699: tracing_mark_write: E|591
21625  sensors@1.0-se-778   (  778) [002] ...1 1034716.635478: tracing_mark_write: E|778
21626   SensorService-1283  ( 1151) [003] ...1 1034716.635640: tracing_mark_write: E|1151
21627   SensorService-1283  ( 1151) [003] ...1 1034716.635830: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21628  sensors@1.0-se-778   (  778) [002] ...1 1034716.635983: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21629  sensors@1.0-se-778   (  778) [002] ...1 1034716.654707: tracing_mark_write: E|778
21630   SensorService-1283  ( 1151) [003] ...1 1034716.654847: tracing_mark_write: E|1151
21631   SensorService-1283  ( 1151) [003] ...1 1034716.655003: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21632  sensors@1.0-se-778   (  778) [002] ...1 1034716.655144: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21633  surfaceflinger-591   (  591) [003] ...1 1034716.672753: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21634  composer@2.1-s-593   (  593) [001] ...1 1034716.673062: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21635  composer@2.1-s-593   (  593) [001] ...1 1034716.673326: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21636  composer@2.1-s-593   (  593) [001] ...1 1034716.673385: tracing_mark_write: B|593|HWDevice::Commit::
21637  composer@2.1-s-593   (  593) [001] ...1 1034716.673714: tracing_mark_write: E|593
21638  composer@2.1-s-593   (  593) [001] ...1 1034716.673792: tracing_mark_write: E|593
21639  composer@2.1-s-593   (  593) [001] ...1 1034716.673880: tracing_mark_write: E|593
21640  surfaceflinger-591   (  591) [003] ...1 1034716.674100: tracing_mark_write: E|591
21641  sensors@1.0-se-778   (  778) [002] ...1 1034716.676979: tracing_mark_write: E|778
21642   SensorService-1283  ( 1151) [003] ...1 1034716.677161: tracing_mark_write: E|1151
21643   SensorService-1283  ( 1151) [003] ...1 1034716.677377: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21644  sensors@1.0-se-778   (  778) [002] ...1 1034716.677540: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21645  sensors@1.0-se-778   (  778) [002] ...1 1034716.693145: tracing_mark_write: E|778
21646   SensorService-1283  ( 1151) [003] ...1 1034716.693279: tracing_mark_write: E|1151
21647   SensorService-1283  ( 1151) [003] ...1 1034716.693408: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21648  sensors@1.0-se-778   (  778) [002] ...1 1034716.693543: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21649  surfaceflinger-591   (  591) [000] ...1 1034716.706281: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21650  composer@2.1-s-593   (  593) [001] ...1 1034716.706657: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21651  composer@2.1-s-593   (  593) [001] ...1 1034716.706852: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21652  composer@2.1-s-593   (  593) [001] ...1 1034716.706908: tracing_mark_write: B|593|HWDevice::Commit::
21653  composer@2.1-s-593   (  593) [001] ...1 1034716.707228: tracing_mark_write: E|593
21654  composer@2.1-s-593   (  593) [001] ...1 1034716.707310: tracing_mark_write: E|593
21655  composer@2.1-s-593   (  593) [001] ...1 1034716.707395: tracing_mark_write: E|593
21656  surfaceflinger-591   (  591) [000] ...1 1034716.707616: tracing_mark_write: E|591
21657  sensors@1.0-se-778   (  778) [002] ...1 1034716.712552: tracing_mark_write: E|778
21658   SensorService-1283  ( 1151) [003] ...1 1034716.712726: tracing_mark_write: E|1151
21659   SensorService-1283  ( 1151) [003] ...1 1034716.712925: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21660  sensors@1.0-se-778   (  778) [002] ...1 1034716.713080: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21661  sensors@1.0-se-778   (  778) [002] ...1 1034716.731694: tracing_mark_write: E|778
21662   SensorService-1283  ( 1151) [003] ...1 1034716.731823: tracing_mark_write: E|1151
21663   SensorService-1283  ( 1151) [003] ...1 1034716.731976: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21664  sensors@1.0-se-778   (  778) [002] ...1 1034716.732112: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21665  sensors@1.0-se-778   (  778) [002] ...1 1034716.751196: tracing_mark_write: E|778
21666   SensorService-1283  ( 1151) [003] ...1 1034716.751338: tracing_mark_write: E|1151
21667   SensorService-1283  ( 1151) [003] ...1 1034716.751476: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21668  sensors@1.0-se-778   (  778) [002] ...1 1034716.751614: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21669  surfaceflinger-591   (  591) [000] ...1 1034716.756767: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21670  composer@2.1-s-593   (  593) [001] ...1 1034716.757080: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21671  composer@2.1-s-593   (  593) [001] ...1 1034716.757278: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21672  composer@2.1-s-593   (  593) [001] ...1 1034716.757337: tracing_mark_write: B|593|HWDevice::Commit::
21673  composer@2.1-s-593   (  593) [001] ...1 1034716.757687: tracing_mark_write: E|593
21674  composer@2.1-s-593   (  593) [001] ...1 1034716.757770: tracing_mark_write: E|593
21675  composer@2.1-s-593   (  593) [001] ...1 1034716.757856: tracing_mark_write: E|593
21676  surfaceflinger-591   (  591) [000] ...1 1034716.758081: tracing_mark_write: E|591
21677  sensors@1.0-se-778   (  778) [002] ...1 1034716.770485: tracing_mark_write: E|778
21678   SensorService-1283  ( 1151) [003] ...1 1034716.770672: tracing_mark_write: E|1151
21679   SensorService-1283  ( 1151) [003] ...1 1034716.770894: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21680  sensors@1.0-se-778   (  778) [002] ...1 1034716.771053: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21681  sensors@1.0-se-778   (  778) [002] ...1 1034716.789549: tracing_mark_write: E|778
21682   SensorService-1283  ( 1151) [003] ...1 1034716.789699: tracing_mark_write: E|1151
21683   SensorService-1283  ( 1151) [003] ...1 1034716.789861: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21684  sensors@1.0-se-778   (  778) [002] ...1 1034716.790074: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21685  surfaceflinger-591   (  591) [001] ...1 1034716.790269: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21686  composer@2.1-s-593   (  593) [000] ...1 1034716.790595: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21687  composer@2.1-s-593   (  593) [000] ...1 1034716.790804: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21688  composer@2.1-s-593   (  593) [000] ...1 1034716.790863: tracing_mark_write: B|593|HWDevice::Commit::
21689  composer@2.1-s-593   (  593) [000] ...1 1034716.791195: tracing_mark_write: E|593
21690  composer@2.1-s-593   (  593) [000] ...1 1034716.791275: tracing_mark_write: E|593
21691  composer@2.1-s-593   (  593) [000] ...1 1034716.791361: tracing_mark_write: E|593
21692  surfaceflinger-591   (  591) [001] ...1 1034716.791583: tracing_mark_write: E|591
21693  sensors@1.0-se-778   (  778) [002] ...1 1034716.808804: tracing_mark_write: E|778
21694   SensorService-1283  ( 1151) [003] ...1 1034716.808990: tracing_mark_write: E|1151
21695   SensorService-1283  ( 1151) [003] ...1 1034716.809189: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21696  sensors@1.0-se-778   (  778) [002] ...1 1034716.809349: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21697  sensors@1.0-se-778   (  778) [002] ...1 1034716.828312: tracing_mark_write: E|778
21698   SensorService-1283  ( 1151) [003] ...1 1034716.828549: tracing_mark_write: E|1151
21699   SensorService-1283  ( 1151) [003] ...1 1034716.828836: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21700  sensors@1.0-se-778   (  778) [002] ...1 1034716.829047: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21701  surfaceflinger-591   (  591) [002] ...1 1034716.841011: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21702  composer@2.1-s-593   (  593) [000] ...1 1034716.841454: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21703  composer@2.1-s-593   (  593) [000] ...1 1034716.841707: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21704  composer@2.1-s-593   (  593) [000] ...1 1034716.841785: tracing_mark_write: B|593|HWDevice::Commit::
21705  composer@2.1-s-593   (  593) [000] ...1 1034716.842190: tracing_mark_write: E|593
21706  composer@2.1-s-593   (  593) [000] ...1 1034716.842289: tracing_mark_write: E|593
21707  composer@2.1-s-593   (  593) [000] ...1 1034716.842400: tracing_mark_write: E|593
21708  surfaceflinger-591   (  591) [001] ...1 1034716.842727: tracing_mark_write: E|591
21709  sensors@1.0-se-778   (  778) [002] ...1 1034716.848036: tracing_mark_write: E|778
21710   SensorService-1283  ( 1151) [003] ...1 1034716.848251: tracing_mark_write: E|1151
21711   SensorService-1283  ( 1151) [003] ...1 1034716.848501: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21712  sensors@1.0-se-778   (  778) [002] ...1 1034716.848675: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21713  sensors@1.0-se-778   (  778) [002] ...1 1034716.867430: tracing_mark_write: E|778
21714   SensorService-1283  ( 1151) [003] ...1 1034716.867589: tracing_mark_write: E|1151
21715   SensorService-1283  ( 1151) [003] ...1 1034716.867761: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21716  sensors@1.0-se-778   (  778) [002] ...1 1034716.867914: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21717  sensors@1.0-se-778   (  778) [002] ...1 1034716.886120: tracing_mark_write: E|778
21718   SensorService-1283  ( 1151) [003] ...1 1034716.886345: tracing_mark_write: E|1151
21719   SensorService-1283  ( 1151) [003] ...1 1034716.886617: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21720  sensors@1.0-se-778   (  778) [002] ...1 1034716.886785: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21721  surfaceflinger-591   (  591) [002] ...1 1034716.891207: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21722  composer@2.1-s-593   (  593) [000] ...1 1034716.891548: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21723  composer@2.1-s-593   (  593) [000] ...1 1034716.891767: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21724  composer@2.1-s-593   (  593) [000] ...1 1034716.891834: tracing_mark_write: B|593|HWDevice::Commit::
21725  composer@2.1-s-593   (  593) [000] ...1 1034716.892183: tracing_mark_write: E|593
21726  composer@2.1-s-593   (  593) [000] ...1 1034716.892268: tracing_mark_write: E|593
21727  composer@2.1-s-593   (  593) [000] ...1 1034716.892362: tracing_mark_write: E|593
21728  surfaceflinger-591   (  591) [001] ...1 1034716.892601: tracing_mark_write: E|591
21729  sensors@1.0-se-778   (  778) [000] ...1 1034716.905177: tracing_mark_write: E|778
21730   SensorService-1283  ( 1151) [003] ...1 1034716.905353: tracing_mark_write: E|1151
21731   SensorService-1283  ( 1151) [003] ...1 1034716.905576: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21732  sensors@1.0-se-778   (  778) [000] ...1 1034716.905736: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21733  surfaceflinger-591   (  591) [000] ...1 1034716.924745: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21734  composer@2.1-s-593   (  593) [001] ...1 1034716.925155: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21735  composer@2.1-s-593   (  593) [001] ...1 1034716.925364: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21736  composer@2.1-s-593   (  593) [001] ...1 1034716.925424: tracing_mark_write: B|593|HWDevice::Commit::
21737  composer@2.1-s-593   (  593) [001] ...1 1034716.925758: tracing_mark_write: E|593
21738  sensors@1.0-se-778   (  778) [000] ...1 1034716.925786: tracing_mark_write: E|778
21739  composer@2.1-s-593   (  593) [001] ...1 1034716.925845: tracing_mark_write: E|593
21740  composer@2.1-s-593   (  593) [001] ...1 1034716.925936: tracing_mark_write: E|593
21741   SensorService-1283  ( 1151) [003] ...1 1034716.925992: tracing_mark_write: E|1151
21742  surfaceflinger-591   (  591) [000] ...1 1034716.926157: tracing_mark_write: E|591
21743   SensorService-1283  ( 1151) [003] ...1 1034716.926207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21744  HwBinder:778_1-1087  (  778) [001] ...1 1034716.926405: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21745  HwBinder:778_1-1087  (  778) [002] ...1 1034716.943812: tracing_mark_write: E|778
21746   SensorService-1283  ( 1151) [003] ...1 1034716.944037: tracing_mark_write: E|1151
21747   SensorService-1283  ( 1151) [003] ...1 1034716.944255: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21748  HwBinder:778_1-1087  (  778) [002] ...1 1034716.944423: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21749  HwBinder:778_1-1087  (  778) [001] ...1 1034716.963679: tracing_mark_write: E|778
21750   SensorService-1283  ( 1151) [003] ...1 1034716.963948: tracing_mark_write: E|1151
21751   SensorService-1283  ( 1151) [003] ...1 1034716.964248: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21752  HwBinder:778_1-1087  (  778) [001] ...1 1034716.964456: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21753  surfaceflinger-591   (  591) [000] ...1 1034716.975043: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21754  composer@2.1-s-593   (  593) [001] ...1 1034716.975414: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21755  composer@2.1-s-593   (  593) [001] ...1 1034716.975636: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21756  composer@2.1-s-593   (  593) [001] ...1 1034716.975700: tracing_mark_write: B|593|HWDevice::Commit::
21757  composer@2.1-s-593   (  593) [001] ...1 1034716.976064: tracing_mark_write: E|593
21758  composer@2.1-s-593   (  593) [001] ...1 1034716.976149: tracing_mark_write: E|593
21759  composer@2.1-s-593   (  593) [001] ...1 1034716.976244: tracing_mark_write: E|593
21760  surfaceflinger-591   (  591) [000] ...1 1034716.976479: tracing_mark_write: E|591
21761  HwBinder:778_1-1087  (  778) [001] ...1 1034716.982217: tracing_mark_write: E|778
21762   SensorService-1283  ( 1151) [003] ...1 1034716.982396: tracing_mark_write: E|1151
21763   SensorService-1283  ( 1151) [003] ...1 1034716.982609: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21764  HwBinder:778_1-1087  (  778) [001] ...1 1034716.982773: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21765  HwBinder:778_1-1087  (  778) [001] ...1 1034717.001301: tracing_mark_write: E|778
21766   SensorService-1283  ( 1151) [003] ...1 1034717.001441: tracing_mark_write: E|1151
21767   SensorService-1283  ( 1151) [003] ...1 1034717.001593: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21768  HwBinder:778_1-1087  (  778) [001] ...1 1034717.001749: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21769  surfaceflinger-591   (  591) [001] ...1 1034717.008559: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21770  composer@2.1-s-593   (  593) [000] ...1 1034717.008966: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21771  composer@2.1-s-593   (  593) [000] ...1 1034717.009181: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21772  composer@2.1-s-593   (  593) [000] ...1 1034717.009246: tracing_mark_write: B|593|HWDevice::Commit::
21773  composer@2.1-s-593   (  593) [000] ...1 1034717.009601: tracing_mark_write: E|593
21774  composer@2.1-s-593   (  593) [000] ...1 1034717.009688: tracing_mark_write: E|593
21775  composer@2.1-s-593   (  593) [000] ...1 1034717.009780: tracing_mark_write: E|593
21776  surfaceflinger-591   (  591) [001] ...1 1034717.010028: tracing_mark_write: E|591
21777  HwBinder:778_1-1087  (  778) [001] ...1 1034717.020714: tracing_mark_write: E|778
21778   SensorService-1283  ( 1151) [003] ...1 1034717.020942: tracing_mark_write: E|1151
21779   SensorService-1283  ( 1151) [003] ...1 1034717.021207: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21780  HwBinder:778_1-1087  (  778) [001] ...1 1034717.021385: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21781  HwBinder:778_1-1087  (  778) [001] ...1 1034717.039576: tracing_mark_write: E|778
21782   SensorService-1283  ( 1151) [003] ...1 1034717.039718: tracing_mark_write: E|1151
21783   SensorService-1283  ( 1151) [003] ...1 1034717.039934: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21784  HwBinder:778_1-1087  (  778) [001] ...1 1034717.040084: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21785  surfaceflinger-591   (  591) [000] ...1 1034717.058939: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21786  composer@2.1-s-593   (  593) [001] ...1 1034717.059346: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21787  composer@2.1-s-593   (  593) [001] ...1 1034717.059548: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21788  composer@2.1-s-593   (  593) [001] ...1 1034717.059608: tracing_mark_write: B|593|HWDevice::Commit::
21789  composer@2.1-s-593   (  593) [001] ...1 1034717.060014: tracing_mark_write: E|593
21790  HwBinder:778_1-1087  (  778) [003] ...1 1034717.060096: tracing_mark_write: E|778
21791  composer@2.1-s-593   (  593) [001] ...1 1034717.060101: tracing_mark_write: E|593
21792  composer@2.1-s-593   (  593) [001] ...1 1034717.060194: tracing_mark_write: E|593
21793   SensorService-1283  ( 1151) [000] ...1 1034717.060332: tracing_mark_write: E|1151
21794  surfaceflinger-591   (  591) [003] ...1 1034717.060453: tracing_mark_write: E|591
21795   SensorService-1283  ( 1151) [000] ...1 1034717.060573: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21796  sensors@1.0-se-778   (  778) [001] ...1 1034717.060793: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21797  sensors@1.0-se-778   (  778) [000] ...1 1034717.078470: tracing_mark_write: E|778
21798   SensorService-1283  ( 1151) [001] ...1 1034717.078675: tracing_mark_write: E|1151
21799   SensorService-1283  ( 1151) [001] ...1 1034717.078858: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21800  sensors@1.0-se-778   (  778) [000] ...1 1034717.079022: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21801  sensors@1.0-se-778   (  778) [000] ...1 1034717.097703: tracing_mark_write: E|778
21802   SensorService-1283  ( 1151) [001] ...1 1034717.097957: tracing_mark_write: E|1151
21803   SensorService-1283  ( 1151) [001] ...1 1034717.098222: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21804  sensors@1.0-se-778   (  778) [000] ...1 1034717.098407: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21805  surfaceflinger-591   (  591) [002] ...1 1034717.109307: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21806  composer@2.1-s-593   (  593) [001] ...1 1034717.109672: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21807  composer@2.1-s-593   (  593) [001] ...1 1034717.109955: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21808  composer@2.1-s-593   (  593) [001] ...1 1034717.110018: tracing_mark_write: B|593|HWDevice::Commit::
21809  composer@2.1-s-593   (  593) [001] ...1 1034717.110387: tracing_mark_write: E|593
21810  composer@2.1-s-593   (  593) [001] ...1 1034717.110474: tracing_mark_write: E|593
21811  composer@2.1-s-593   (  593) [001] ...1 1034717.110568: tracing_mark_write: E|593
21812  surfaceflinger-591   (  591) [000] ...1 1034717.110849: tracing_mark_write: E|591
21813  sensors@1.0-se-778   (  778) [000] ...1 1034717.116802: tracing_mark_write: E|778
21814   SensorService-1283  ( 1151) [001] ...1 1034717.117039: tracing_mark_write: E|1151
21815   SensorService-1283  ( 1151) [001] ...1 1034717.117301: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21816  sensors@1.0-se-778   (  778) [000] ...1 1034717.117479: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21817  sensors@1.0-se-778   (  778) [003] ...1 1034717.135912: tracing_mark_write: E|778
21818   SensorService-1283  ( 1151) [001] ...1 1034717.136079: tracing_mark_write: E|1151
21819   SensorService-1283  ( 1151) [001] ...1 1034717.136239: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21820  sensors@1.0-se-778   (  778) [003] ...1 1034717.136394: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21821  surfaceflinger-591   (  591) [001] ...1 1034717.142475: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21822  composer@2.1-s-593   (  593) [000] ...1 1034717.142765: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21823  composer@2.1-s-593   (  593) [000] ...1 1034717.142931: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21824  composer@2.1-s-593   (  593) [000] ...1 1034717.142980: tracing_mark_write: B|593|HWDevice::Commit::
21825  composer@2.1-s-593   (  593) [000] ...1 1034717.143358: tracing_mark_write: E|593
21826  composer@2.1-s-593   (  593) [000] ...1 1034717.143428: tracing_mark_write: E|593
21827  composer@2.1-s-593   (  593) [000] ...1 1034717.143506: tracing_mark_write: E|593
21828  surfaceflinger-591   (  591) [001] ...1 1034717.143711: tracing_mark_write: E|591
21829  sensors@1.0-se-778   (  778) [003] ...1 1034717.155044: tracing_mark_write: E|778
21830   SensorService-1283  ( 1151) [001] ...1 1034717.155205: tracing_mark_write: E|1151
21831   SensorService-1283  ( 1151) [001] ...1 1034717.155375: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21832  sensors@1.0-se-778   (  778) [003] ...1 1034717.155522: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21833  sensors@1.0-se-778   (  778) [003] ...1 1034717.174276: tracing_mark_write: E|778
21834   SensorService-1283  ( 1151) [001] ...1 1034717.174436: tracing_mark_write: E|1151
21835   SensorService-1283  ( 1151) [001] ...1 1034717.174591: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21836  sensors@1.0-se-778   (  778) [003] ...1 1034717.174738: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21837  surfaceflinger-591   (  591) [000] ...1 1034717.192783: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21838  composer@2.1-s-593   (  593) [001] ...1 1034717.193070: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21839  composer@2.1-s-593   (  593) [001] ...1 1034717.193301: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21840  composer@2.1-s-593   (  593) [001] ...1 1034717.193374: tracing_mark_write: B|593|HWDevice::Commit::
21841  sensors@1.0-se-778   (  778) [003] ...1 1034717.193611: tracing_mark_write: E|778
21842  composer@2.1-s-593   (  593) [001] ...1 1034717.193666: tracing_mark_write: E|593
21843  composer@2.1-s-593   (  593) [001] ...1 1034717.193741: tracing_mark_write: E|593
21844   SensorService-1283  ( 1151) [000] ...1 1034717.193772: tracing_mark_write: E|1151
21845  composer@2.1-s-593   (  593) [001] ...1 1034717.193823: tracing_mark_write: E|593
21846   SensorService-1283  ( 1151) [000] ...1 1034717.193938: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21847  surfaceflinger-591   (  591) [003] ...1 1034717.194068: tracing_mark_write: E|591
21848  sensors@1.0-se-778   (  778) [004] ...1 1034717.194074: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21849  sensors@1.0-se-778   (  778) [004] ...1 1034717.212759: tracing_mark_write: E|778
21850   SensorService-1283  ( 1151) [000] ...1 1034717.212910: tracing_mark_write: E|1151
21851   SensorService-1283  ( 1151) [000] ...1 1034717.213067: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21852  sensors@1.0-se-778   (  778) [004] ...1 1034717.213190: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21853  surfaceflinger-591   (  591) [000] ...1 1034717.226629: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21854  composer@2.1-s-593   (  593) [001] ...1 1034717.226955: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21855  composer@2.1-s-593   (  593) [001] ...1 1034717.227117: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21856  composer@2.1-s-593   (  593) [001] ...1 1034717.227178: tracing_mark_write: B|593|HWDevice::Commit::
21857  composer@2.1-s-593   (  593) [001] ...1 1034717.227488: tracing_mark_write: E|593
21858  composer@2.1-s-593   (  593) [001] ...1 1034717.227561: tracing_mark_write: E|593
21859  composer@2.1-s-593   (  593) [001] ...1 1034717.227659: tracing_mark_write: E|593
21860  surfaceflinger-591   (  591) [000] ...1 1034717.227902: tracing_mark_write: E|591
21861  sensors@1.0-se-778   (  778) [004] ...1 1034717.231896: tracing_mark_write: E|778
21862   SensorService-1283  ( 1151) [000] ...1 1034717.232049: tracing_mark_write: E|1151
21863   SensorService-1283  ( 1151) [000] ...1 1034717.232225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21864  sensors@1.0-se-778   (  778) [004] ...1 1034717.232331: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21865  sensors@1.0-se-778   (  778) [004] ...1 1034717.251151: tracing_mark_write: E|778
21866   SensorService-1283  ( 1151) [000] ...1 1034717.251267: tracing_mark_write: E|1151
21867   SensorService-1283  ( 1151) [000] ...1 1034717.251453: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21868  sensors@1.0-se-778   (  778) [004] ...1 1034717.251544: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21869  sensors@1.0-se-778   (  778) [004] ...1 1034717.270375: tracing_mark_write: E|778
21870   SensorService-1283  ( 1151) [000] ...1 1034717.270494: tracing_mark_write: E|1151
21871   SensorService-1283  ( 1151) [000] ...1 1034717.270616: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21872  sensors@1.0-se-778   (  778) [004] ...1 1034717.270721: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21873  surfaceflinger-591   (  591) [000] ...1 1034717.276744: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21874  composer@2.1-s-593   (  593) [001] ...1 1034717.277013: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21875  composer@2.1-s-593   (  593) [001] ...1 1034717.277196: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21876  composer@2.1-s-593   (  593) [001] ...1 1034717.277247: tracing_mark_write: B|593|HWDevice::Commit::
21877  composer@2.1-s-593   (  593) [001] ...1 1034717.277533: tracing_mark_write: E|593
21878  composer@2.1-s-593   (  593) [001] ...1 1034717.277601: tracing_mark_write: E|593
21879  composer@2.1-s-593   (  593) [001] ...1 1034717.277679: tracing_mark_write: E|593
21880  surfaceflinger-591   (  591) [000] ...1 1034717.277877: tracing_mark_write: E|591
21881  sensors@1.0-se-778   (  778) [004] ...1 1034717.289582: tracing_mark_write: E|778
21882   SensorService-1283  ( 1151) [000] ...1 1034717.289713: tracing_mark_write: E|1151
21883   SensorService-1283  ( 1151) [000] ...1 1034717.289929: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21884  sensors@1.0-se-778   (  778) [004] ...1 1034717.290160: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21885  sensors@1.0-se-778   (  778) [004] ...1 1034717.308958: tracing_mark_write: E|778
21886   SensorService-1283  ( 1151) [000] ...1 1034717.309094: tracing_mark_write: E|1151
21887   SensorService-1283  ( 1151) [000] ...1 1034717.309244: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21888  sensors@1.0-se-778   (  778) [004] ...1 1034717.309379: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21889  surfaceflinger-591   (  591) [001] ...1 1034717.310255: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21890  composer@2.1-s-593   (  593) [000] ...1 1034717.310498: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21891  composer@2.1-s-593   (  593) [000] ...1 1034717.310639: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21892  composer@2.1-s-593   (  593) [000] ...1 1034717.310682: tracing_mark_write: B|593|HWDevice::Commit::
21893  composer@2.1-s-593   (  593) [000] ...1 1034717.310923: tracing_mark_write: E|593
21894  composer@2.1-s-593   (  593) [000] ...1 1034717.310972: tracing_mark_write: E|593
21895  composer@2.1-s-593   (  593) [000] ...1 1034717.311026: tracing_mark_write: E|593
21896  surfaceflinger-591   (  591) [001] ...1 1034717.311163: tracing_mark_write: E|591
21897  sensors@1.0-se-778   (  778) [004] ...1 1034717.328102: tracing_mark_write: E|778
21898   SensorService-1283  ( 1151) [000] ...1 1034717.328222: tracing_mark_write: E|1151
21899   SensorService-1283  ( 1151) [000] ...1 1034717.328339: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21900  sensors@1.0-se-778   (  778) [004] ...1 1034717.328425: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21901  sensors@1.0-se-778   (  778) [004] ...1 1034717.347724: tracing_mark_write: E|778
21902   SensorService-1283  ( 1151) [000] ...1 1034717.347888: tracing_mark_write: E|1151
21903   SensorService-1283  ( 1151) [000] ...1 1034717.348091: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21904  sensors@1.0-se-778   (  778) [004] ...1 1034717.348225: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21905  surfaceflinger-591   (  591) [000] ...1 1034717.360893: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21906  composer@2.1-s-593   (  593) [001] ...1 1034717.361224: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21907  composer@2.1-s-593   (  593) [001] ...1 1034717.361410: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21908  composer@2.1-s-593   (  593) [001] ...1 1034717.361464: tracing_mark_write: B|593|HWDevice::Commit::
21909  composer@2.1-s-593   (  593) [001] ...1 1034717.361770: tracing_mark_write: E|593
21910  composer@2.1-s-593   (  593) [001] ...1 1034717.361849: tracing_mark_write: E|593
21911  composer@2.1-s-593   (  593) [001] ...1 1034717.361935: tracing_mark_write: E|593
21912  surfaceflinger-591   (  591) [000] ...1 1034717.362152: tracing_mark_write: E|591
21913  sensors@1.0-se-778   (  778) [004] ...1 1034717.367055: tracing_mark_write: E|778
21914   SensorService-1283  ( 1151) [000] ...1 1034717.367190: tracing_mark_write: E|1151
21915   SensorService-1283  ( 1151) [000] ...1 1034717.367303: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21916  sensors@1.0-se-778   (  778) [004] ...1 1034717.367378: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21917  sensors@1.0-se-778   (  778) [004] ...1 1034717.386246: tracing_mark_write: E|778
21918   SensorService-1283  ( 1151) [000] ...1 1034717.386769: tracing_mark_write: E|1151
21919   SensorService-1283  ( 1151) [000] ...1 1034717.387028: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21920  sensors@1.0-se-778   (  778) [004] ...1 1034717.387156: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21921  surfaceflinger-591   (  591) [000] ...1 1034717.394242: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21922  composer@2.1-s-593   (  593) [001] ...1 1034717.394599: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21923  composer@2.1-s-593   (  593) [001] ...1 1034717.394764: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21924  composer@2.1-s-593   (  593) [001] ...1 1034717.394813: tracing_mark_write: B|593|HWDevice::Commit::
21925  composer@2.1-s-593   (  593) [001] ...1 1034717.395090: tracing_mark_write: E|593
21926  composer@2.1-s-593   (  593) [001] ...1 1034717.395157: tracing_mark_write: E|593
21927  composer@2.1-s-593   (  593) [001] ...1 1034717.395234: tracing_mark_write: E|593
21928  surfaceflinger-591   (  591) [000] ...1 1034717.395436: tracing_mark_write: E|591
21929  sensors@1.0-se-778   (  778) [004] ...1 1034717.405368: tracing_mark_write: E|778
21930   SensorService-1283  ( 1151) [000] ...1 1034717.405518: tracing_mark_write: E|1151
21931   SensorService-1283  ( 1151) [000] ...1 1034717.405726: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21932  sensors@1.0-se-778   (  778) [004] ...1 1034717.405833: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21933  sensors@1.0-se-778   (  778) [005] ...1 1034717.424590: tracing_mark_write: E|778
21934   SensorService-1283  ( 1151) [000] ...1 1034717.424775: tracing_mark_write: E|1151
21935   SensorService-1283  ( 1151) [000] ...1 1034717.424983: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21936  sensors@1.0-se-778   (  778) [005] ...1 1034717.425116: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21937  sensors@1.0-se-778   (  778) [005] ...1 1034717.443769: tracing_mark_write: E|778
21938   SensorService-1283  ( 1151) [000] ...1 1034717.443891: tracing_mark_write: E|1151
21939   SensorService-1283  ( 1151) [000] ...1 1034717.444031: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21940  sensors@1.0-se-778   (  778) [005] ...1 1034717.444140: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21941  surfaceflinger-591   (  591) [000] ...1 1034717.444727: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21942  composer@2.1-s-593   (  593) [002] ...1 1034717.445002: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21943  composer@2.1-s-593   (  593) [002] ...1 1034717.445173: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21944  composer@2.1-s-593   (  593) [002] ...1 1034717.445221: tracing_mark_write: B|593|HWDevice::Commit::
21945  composer@2.1-s-593   (  593) [002] ...1 1034717.445518: tracing_mark_write: E|593
21946  composer@2.1-s-593   (  593) [002] ...1 1034717.445588: tracing_mark_write: E|593
21947  composer@2.1-s-593   (  593) [002] ...1 1034717.445669: tracing_mark_write: E|593
21948  surfaceflinger-591   (  591) [000] ...1 1034717.445872: tracing_mark_write: E|591
21949  sensors@1.0-se-778   (  778) [005] ...1 1034717.462929: tracing_mark_write: E|778
21950   SensorService-1283  ( 1151) [000] ...1 1034717.463053: tracing_mark_write: E|1151
21951   SensorService-1283  ( 1151) [000] ...1 1034717.463193: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21952  sensors@1.0-se-778   (  778) [005] ...1 1034717.463360: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21953  surfaceflinger-591   (  591) [000] ...1 1034717.477960: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21954  composer@2.1-s-593   (  593) [002] ...1 1034717.478188: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21955  composer@2.1-s-593   (  593) [002] ...1 1034717.478319: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21956  composer@2.1-s-593   (  593) [002] ...1 1034717.478358: tracing_mark_write: B|593|HWDevice::Commit::
21957  composer@2.1-s-593   (  593) [002] ...1 1034717.478610: tracing_mark_write: E|593
21958  composer@2.1-s-593   (  593) [002] ...1 1034717.478672: tracing_mark_write: E|593
21959  composer@2.1-s-593   (  593) [002] ...1 1034717.478736: tracing_mark_write: E|593
21960  surfaceflinger-591   (  591) [000] ...1 1034717.478915: tracing_mark_write: E|591
21961  sensors@1.0-se-778   (  778) [005] ...1 1034717.482191: tracing_mark_write: E|778
21962   SensorService-1283  ( 1151) [000] ...1 1034717.482305: tracing_mark_write: E|1151
21963   SensorService-1283  ( 1151) [000] ...1 1034717.482446: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21964  sensors@1.0-se-778   (  778) [005] ...1 1034717.482538: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21965  sensors@1.0-se-778   (  778) [005] ...1 1034717.501386: tracing_mark_write: E|778
21966   SensorService-1283  ( 1151) [000] ...1 1034717.501494: tracing_mark_write: E|1151
21967   SensorService-1283  ( 1151) [000] ...1 1034717.501612: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21968  sensors@1.0-se-778   (  778) [005] ...1 1034717.501703: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21969  sensors@1.0-se-778   (  778) [005] ...1 1034717.520695: tracing_mark_write: E|778
21970   SensorService-1283  ( 1151) [000] ...1 1034717.520844: tracing_mark_write: E|1151
21971   SensorService-1283  ( 1151) [000] ...1 1034717.521014: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21972  sensors@1.0-se-778   (  778) [005] ...1 1034717.521119: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21973  surfaceflinger-591   (  591) [000] ...1 1034717.528609: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21974  composer@2.1-s-593   (  593) [002] ...1 1034717.528883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21975  composer@2.1-s-593   (  593) [002] ...1 1034717.529044: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21976  composer@2.1-s-593   (  593) [002] ...1 1034717.529091: tracing_mark_write: B|593|HWDevice::Commit::
21977  composer@2.1-s-593   (  593) [002] ...1 1034717.529379: tracing_mark_write: E|593
21978  composer@2.1-s-593   (  593) [002] ...1 1034717.529444: tracing_mark_write: E|593
21979  composer@2.1-s-593   (  593) [002] ...1 1034717.529518: tracing_mark_write: E|593
21980  surfaceflinger-591   (  591) [000] ...1 1034717.529717: tracing_mark_write: E|591
21981  sensors@1.0-se-778   (  778) [005] ...1 1034717.540175: tracing_mark_write: E|778
21982   SensorService-1283  ( 1151) [000] ...1 1034717.540323: tracing_mark_write: E|1151
21983   SensorService-1283  ( 1151) [000] ...1 1034717.540522: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21984  sensors@1.0-se-778   (  778) [005] ...1 1034717.540646: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21985  sensors@1.0-se-778   (  778) [005] ...1 1034717.559160: tracing_mark_write: E|778
21986   SensorService-1283  ( 1151) [000] ...1 1034717.559279: tracing_mark_write: E|1151
21987   SensorService-1283  ( 1151) [000] ...1 1034717.559389: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
21988  sensors@1.0-se-778   (  778) [005] ...1 1034717.559481: tracing_mark_write: B|778|HIDL::ISensors::poll::server
21989  surfaceflinger-591   (  591) [000] ...1 1034717.561772: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
21990  composer@2.1-s-593   (  593) [002] ...1 1034717.561989: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
21991  composer@2.1-s-593   (  593) [002] ...1 1034717.562118: tracing_mark_write: B|593|HWCSession::PresentDisplay::
21992  composer@2.1-s-593   (  593) [002] ...1 1034717.562153: tracing_mark_write: B|593|HWDevice::Commit::
21993  composer@2.1-s-593   (  593) [002] ...1 1034717.562386: tracing_mark_write: E|593
21994  composer@2.1-s-593   (  593) [002] ...1 1034717.562437: tracing_mark_write: E|593
21995  composer@2.1-s-593   (  593) [002] ...1 1034717.562496: tracing_mark_write: E|593
21996  surfaceflinger-591   (  591) [000] ...1 1034717.562635: tracing_mark_write: E|591
21997  sensors@1.0-se-778   (  778) [005] ...1 1034717.578487: tracing_mark_write: E|778
21998   SensorService-1283  ( 1151) [000] ...1 1034717.578634: tracing_mark_write: E|1151
21999   SensorService-1283  ( 1151) [000] ...1 1034717.578791: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22000  sensors@1.0-se-778   (  778) [005] ...1 1034717.578902: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22001  sensors@1.0-se-778   (  778) [005] ...1 1034717.597728: tracing_mark_write: E|778
22002   SensorService-1283  ( 1151) [000] ...1 1034717.597838: tracing_mark_write: E|1151
22003   SensorService-1283  ( 1151) [000] ...1 1034717.597969: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22004  sensors@1.0-se-778   (  778) [005] ...1 1034717.598070: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22005  surfaceflinger-591   (  591) [000] ...1 1034717.612263: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22006  composer@2.1-s-593   (  593) [002] ...1 1034717.612507: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22007  composer@2.1-s-593   (  593) [002] ...1 1034717.612661: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22008  composer@2.1-s-593   (  593) [002] ...1 1034717.612708: tracing_mark_write: B|593|HWDevice::Commit::
22009  composer@2.1-s-593   (  593) [002] ...1 1034717.612987: tracing_mark_write: E|593
22010  composer@2.1-s-593   (  593) [002] ...1 1034717.613054: tracing_mark_write: E|593
22011  composer@2.1-s-593   (  593) [002] ...1 1034717.613127: tracing_mark_write: E|593
22012  surfaceflinger-591   (  591) [000] ...1 1034717.613344: tracing_mark_write: E|591
22013  sensors@1.0-se-778   (  778) [005] ...1 1034717.616897: tracing_mark_write: E|778
22014   SensorService-1283  ( 1151) [000] ...1 1034717.617020: tracing_mark_write: E|1151
22015   SensorService-1283  ( 1151) [000] ...1 1034717.617170: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22016  sensors@1.0-se-778   (  778) [005] ...1 1034717.617270: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22017  sensors@1.0-se-778   (  778) [005] ...1 1034717.636242: tracing_mark_write: E|778
22018   SensorService-1283  ( 1151) [000] ...1 1034717.636348: tracing_mark_write: E|1151
22019   SensorService-1283  ( 1151) [000] ...1 1034717.636463: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22020  sensors@1.0-se-778   (  778) [005] ...1 1034717.636597: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22021  surfaceflinger-591   (  591) [000] ...1 1034717.646132: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22022  composer@2.1-s-593   (  593) [002] ...1 1034717.646505: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22023  composer@2.1-s-593   (  593) [002] ...1 1034717.646738: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22024  composer@2.1-s-593   (  593) [002] ...1 1034717.646790: tracing_mark_write: B|593|HWDevice::Commit::
22025  composer@2.1-s-593   (  593) [002] ...1 1034717.647084: tracing_mark_write: E|593
22026  composer@2.1-s-593   (  593) [002] ...1 1034717.647158: tracing_mark_write: E|593
22027  composer@2.1-s-593   (  593) [002] ...1 1034717.647238: tracing_mark_write: E|593
22028  surfaceflinger-591   (  591) [000] ...1 1034717.647465: tracing_mark_write: E|591
22029  sensors@1.0-se-778   (  778) [005] ...1 1034717.655626: tracing_mark_write: E|778
22030   SensorService-1283  ( 1151) [000] ...1 1034717.655807: tracing_mark_write: E|1151
22031   SensorService-1283  ( 1151) [000] ...1 1034717.656082: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22032  sensors@1.0-se-778   (  778) [005] ...1 1034717.656224: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22033  sensors@1.0-se-778   (  778) [005] ...1 1034717.674688: tracing_mark_write: E|778
22034   SensorService-1283  ( 1151) [000] ...1 1034717.674816: tracing_mark_write: E|1151
22035   SensorService-1283  ( 1151) [000] ...1 1034717.674937: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22036  sensors@1.0-se-778   (  778) [005] ...1 1034717.675032: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22037  sensors@1.0-se-778   (  778) [005] ...1 1034717.693979: tracing_mark_write: E|778
22038   SensorService-1283  ( 1151) [000] ...1 1034717.694098: tracing_mark_write: E|1151
22039   SensorService-1283  ( 1151) [000] ...1 1034717.694225: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22040  sensors@1.0-se-778   (  778) [005] ...1 1034717.694323: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22041  surfaceflinger-591   (  591) [000] ...1 1034717.696260: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22042  composer@2.1-s-593   (  593) [002] ...1 1034717.696603: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22043  composer@2.1-s-593   (  593) [002] ...1 1034717.696787: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22044  composer@2.1-s-593   (  593) [002] ...1 1034717.696842: tracing_mark_write: B|593|HWDevice::Commit::
22045  composer@2.1-s-593   (  593) [002] ...1 1034717.697144: tracing_mark_write: E|593
22046  composer@2.1-s-593   (  593) [002] ...1 1034717.697216: tracing_mark_write: E|593
22047  composer@2.1-s-593   (  593) [002] ...1 1034717.697299: tracing_mark_write: E|593
22048  surfaceflinger-591   (  591) [000] ...1 1034717.697508: tracing_mark_write: E|591
22049  sensors@1.0-se-778   (  778) [005] ...1 1034717.713415: tracing_mark_write: E|778
22050   SensorService-1283  ( 1151) [000] ...1 1034717.713605: tracing_mark_write: E|1151
22051   SensorService-1283  ( 1151) [000] ...1 1034717.713795: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22052  sensors@1.0-se-778   (  778) [005] ...1 1034717.713919: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22053  surfaceflinger-591   (  591) [000] ...1 1034717.729747: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22054  composer@2.1-s-593   (  593) [002] ...1 1034717.730017: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22055  composer@2.1-s-593   (  593) [002] ...1 1034717.730114: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22056  composer@2.1-s-593   (  593) [002] ...1 1034717.730143: tracing_mark_write: B|593|HWDevice::Commit::
22057  composer@2.1-s-593   (  593) [002] ...1 1034717.730317: tracing_mark_write: E|593
22058  composer@2.1-s-593   (  593) [002] ...1 1034717.730359: tracing_mark_write: E|593
22059  composer@2.1-s-593   (  593) [002] ...1 1034717.730406: tracing_mark_write: E|593
22060  surfaceflinger-591   (  591) [000] ...1 1034717.730534: tracing_mark_write: E|591
22061  sensors@1.0-se-778   (  778) [005] ...1 1034717.733013: tracing_mark_write: E|778
22062   SensorService-1283  ( 1151) [000] ...1 1034717.733333: tracing_mark_write: E|1151
22063   SensorService-1283  ( 1151) [000] ...1 1034717.733461: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22064  HwBinder:778_1-1087  (  778) [003] ...1 1034717.733611: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22065  HwBinder:778_1-1087  (  778) [001] ...1 1034717.751858: tracing_mark_write: E|778
22066   SensorService-1283  ( 1151) [000] ...1 1034717.752001: tracing_mark_write: E|1151
22067   SensorService-1283  ( 1151) [000] ...1 1034717.752131: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22068  HwBinder:778_1-1087  (  778) [001] ...1 1034717.752268: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22069  surfaceflinger-591   (  591) [003] ...1 1034717.763141: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22070  composer@2.1-s-593   (  593) [002] ...1 1034717.763359: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22071  composer@2.1-s-593   (  593) [002] ...1 1034717.763459: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22072  composer@2.1-s-593   (  593) [002] ...1 1034717.763488: tracing_mark_write: B|593|HWDevice::Commit::
22073  composer@2.1-s-593   (  593) [002] ...1 1034717.763665: tracing_mark_write: E|593
22074  composer@2.1-s-593   (  593) [002] ...1 1034717.763705: tracing_mark_write: E|593
22075  composer@2.1-s-593   (  593) [002] ...1 1034717.763747: tracing_mark_write: E|593
22076  surfaceflinger-591   (  591) [003] ...1 1034717.763854: tracing_mark_write: E|591
22077  HwBinder:778_1-1087  (  778) [000] ...1 1034717.770944: tracing_mark_write: E|778
22078   SensorService-1283  ( 1151) [001] ...1 1034717.771041: tracing_mark_write: E|1151
22079   SensorService-1283  ( 1151) [001] ...1 1034717.771139: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22080  HwBinder:778_1-1087  (  778) [000] ...1 1034717.771219: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22081  HwBinder:778_1-1087  (  778) [001] ...1 1034717.790173: tracing_mark_write: E|778
22082   SensorService-1283  ( 1151) [000] ...1 1034717.790310: tracing_mark_write: E|1151
22083   SensorService-1283  ( 1151) [000] ...1 1034717.790444: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22084  HwBinder:778_1-1087  (  778) [001] ...1 1034717.790575: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22085  HwBinder:778_1-1087  (  778) [001] ...1 1034717.809452: tracing_mark_write: E|778
22086   SensorService-1283  ( 1151) [000] ...1 1034717.809573: tracing_mark_write: E|1151
22087   SensorService-1283  ( 1151) [000] ...1 1034717.809689: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22088  HwBinder:778_1-1087  (  778) [001] ...1 1034717.809812: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22089  surfaceflinger-591   (  591) [000] ...1 1034717.813678: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22090  composer@2.1-s-593   (  593) [002] ...1 1034717.813936: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22091  composer@2.1-s-593   (  593) [002] ...1 1034717.814093: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22092  composer@2.1-s-593   (  593) [002] ...1 1034717.814141: tracing_mark_write: B|593|HWDevice::Commit::
22093  composer@2.1-s-593   (  593) [002] ...1 1034717.814422: tracing_mark_write: E|593
22094  composer@2.1-s-593   (  593) [002] ...1 1034717.814492: tracing_mark_write: E|593
22095  composer@2.1-s-593   (  593) [002] ...1 1034717.814568: tracing_mark_write: E|593
22096  surfaceflinger-591   (  591) [000] ...1 1034717.814764: tracing_mark_write: E|591
22097  HwBinder:778_1-1087  (  778) [001] ...1 1034717.828890: tracing_mark_write: E|778
22098   SensorService-1283  ( 1151) [000] ...1 1034717.829032: tracing_mark_write: E|1151
22099   SensorService-1283  ( 1151) [000] ...1 1034717.829176: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22100  HwBinder:778_1-1087  (  778) [001] ...1 1034717.829313: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22101  surfaceflinger-591   (  591) [000] ...1 1034717.847757: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22102  composer@2.1-s-593   (  593) [002] ...1 1034717.848120: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22103  HwBinder:778_1-1087  (  778) [003] ...1 1034717.848141: tracing_mark_write: E|778
22104  composer@2.1-s-593   (  593) [002] ...1 1034717.848283: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22105   SensorService-1283  ( 1151) [000] ...1 1034717.848318: tracing_mark_write: E|1151
22106  composer@2.1-s-593   (  593) [002] ...1 1034717.848330: tracing_mark_write: B|593|HWDevice::Commit::
22107   SensorService-1283  ( 1151) [000] ...1 1034717.848483: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22108  HwBinder:778_1-1087  (  778) [003] ...1 1034717.848630: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22109  composer@2.1-s-593   (  593) [000] ...1 1034717.848695: tracing_mark_write: E|593
22110  composer@2.1-s-593   (  593) [000] ...1 1034717.848775: tracing_mark_write: E|593
22111  composer@2.1-s-593   (  593) [000] ...1 1034717.848859: tracing_mark_write: E|593
22112  surfaceflinger-591   (  591) [001] ...1 1034717.849089: tracing_mark_write: E|591
22113  HwBinder:778_1-1087  (  778) [000] ...1 1034717.867266: tracing_mark_write: E|778
22114   SensorService-1283  ( 1151) [001] ...1 1034717.867428: tracing_mark_write: E|1151
22115   SensorService-1283  ( 1151) [001] ...1 1034717.867560: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22116  HwBinder:778_1-1087  (  778) [000] ...1 1034717.867672: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22117  HwBinder:778_1-1087  (  778) [000] ...1 1034717.886773: tracing_mark_write: E|778
22118   SensorService-1283  ( 1151) [001] ...1 1034717.886971: tracing_mark_write: E|1151
22119   SensorService-1283  ( 1151) [001] ...1 1034717.887103: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22120  HwBinder:778_1-1087  (  778) [000] ...1 1034717.887245: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22121  surfaceflinger-591   (  591) [000] ...1 1034717.897525: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22122  composer@2.1-s-593   (  593) [001] ...1 1034717.897769: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22123  composer@2.1-s-593   (  593) [001] ...1 1034717.897906: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22124  composer@2.1-s-593   (  593) [001] ...1 1034717.897949: tracing_mark_write: B|593|HWDevice::Commit::
22125  composer@2.1-s-593   (  593) [001] ...1 1034717.898209: tracing_mark_write: E|593
22126  composer@2.1-s-593   (  593) [001] ...1 1034717.898274: tracing_mark_write: E|593
22127  composer@2.1-s-593   (  593) [001] ...1 1034717.898343: tracing_mark_write: E|593
22128  surfaceflinger-591   (  591) [000] ...1 1034717.898533: tracing_mark_write: E|591
22129  HwBinder:778_1-1087  (  778) [000] ...1 1034717.905765: tracing_mark_write: E|778
22130   SensorService-1283  ( 1151) [001] ...1 1034717.905913: tracing_mark_write: E|1151
22131   SensorService-1283  ( 1151) [001] ...1 1034717.906056: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22132  HwBinder:778_1-1087  (  778) [000] ...1 1034717.906194: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22133  HwBinder:778_1-1087  (  778) [000] ...1 1034717.925113: tracing_mark_write: E|778
22134   SensorService-1283  ( 1151) [001] ...1 1034717.925252: tracing_mark_write: E|1151
22135   SensorService-1283  ( 1151) [001] ...1 1034717.925378: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22136  HwBinder:778_1-1087  (  778) [000] ...1 1034717.925512: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22137  surfaceflinger-591   (  591) [001] ...1 1034717.928572: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22138  composer@2.1-s-593   (  593) [000] ...1 1034717.928764: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22139  composer@2.1-s-593   (  593) [000] ...1 1034717.928806: tracing_mark_write: E|593
22140  surfaceflinger-591   (  591) [001] ...1 1034717.928934: tracing_mark_write: E|591
22141  surfaceflinger-591   (  591) [000] ...1 1034717.930097: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22142  composer@2.1-s-593   (  593) [001] ...1 1034717.930242: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22143  composer@2.1-s-593   (  593) [001] ...1 1034717.930268: tracing_mark_write: E|593
22144  surfaceflinger-591   (  591) [003] ...1 1034717.930391: tracing_mark_write: E|591
22145  surfaceflinger-591   (  591) [003] ...1 1034717.932674: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22146  composer@2.1-s-593   (  593) [001] ...1 1034717.932884: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22147  composer@2.1-s-593   (  593) [001] ...1 1034717.933060: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22148  composer@2.1-s-593   (  593) [001] ...1 1034717.933101: tracing_mark_write: B|593|HWDevice::Commit::
22149  composer@2.1-s-593   (  593) [001] ...1 1034717.933471: tracing_mark_write: E|593
22150  composer@2.1-s-593   (  593) [001] ...1 1034717.933534: tracing_mark_write: E|593
22151  composer@2.1-s-593   (  593) [001] ...1 1034717.933610: tracing_mark_write: E|593
22152  surfaceflinger-591   (  591) [003] ...1 1034717.933798: tracing_mark_write: E|591
22153  surfaceflinger-591   (  591) [003] ...1 1034717.934719: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22154  composer@2.1-s-593   (  593) [001] ...1 1034717.934869: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22155  composer@2.1-s-593   (  593) [001] ...1 1034717.934893: tracing_mark_write: E|593
22156  surfaceflinger-591   (  591) [003] ...1 1034717.935000: tracing_mark_write: E|591
22157   Binder:1151_9-1624  ( 1151) [007] ...1 1034717.939372: tracing_mark_write: B|1151|HIDL::IPower::powerHintAsync::client
22158   Binder:1151_9-1624  ( 1151) [007] ...1 1034717.939614: tracing_mark_write: E|1151
22159  power@1.2-serv-773   (  773) [004] ...1 1034717.939694: tracing_mark_write: B|773|HIDL::IPower::powerHintAsync::server
22160  power@1.2-serv-773   (  773) [004] ...1 1034717.940314: tracing_mark_write: B|773|launch
22161  power@1.2-serv-773   (  773) [004] ...1 1034717.940328: tracing_mark_write: C|773|launch_lock|1
22162  power@1.2-serv-773   (  773) [004] ...1 1034717.940708: tracing_mark_write: E|773
22163  power@1.2-serv-773   (  773) [004] ...1 1034717.940723: tracing_mark_write: E|773
22164  surfaceflinger-591   (  591) [000] ...1 1034717.941313: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22165  composer@2.1-s-593   (  593) [001] ...1 1034717.941362: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22166  composer@2.1-s-593   (  593) [001] ...1 1034717.941370: tracing_mark_write: E|593
22167  surfaceflinger-591   (  591) [000] ...1 1034717.941396: tracing_mark_write: E|591
22168  surfaceflinger-591   (  591) [000] ...1 1034717.947749: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22169  composer@2.1-s-593   (  593) [001] ...1 1034717.947883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22170  composer@2.1-s-593   (  593) [001] ...1 1034717.947954: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22171  composer@2.1-s-593   (  593) [001] ...1 1034717.947963: tracing_mark_write: E|593
22172  composer@2.1-s-593   (  593) [001] ...1 1034717.947968: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22173  composer@2.1-s-593   (  593) [001] ...1 1034717.948249: tracing_mark_write: B|593|HWDevice::Validate::
22174  composer@2.1-s-593   (  593) [001] ...1 1034717.948313: tracing_mark_write: E|593
22175  composer@2.1-s-593   (  593) [001] ...1 1034717.948332: tracing_mark_write: E|593
22176  composer@2.1-s-593   (  593) [001] ...1 1034717.948352: tracing_mark_write: E|593
22177  surfaceflinger-591   (  591) [000] ...1 1034717.948407: tracing_mark_write: E|591
22178  surfaceflinger-591   (  591) [000] ...1 1034717.948476: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22179  composer@2.1-s-593   (  593) [001] ...1 1034717.948526: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22180  composer@2.1-s-593   (  593) [001] ...1 1034717.948536: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22181  composer@2.1-s-593   (  593) [001] ...1 1034717.948547: tracing_mark_write: B|593|HWDevice::Commit::
22182  HwBinder:778_1-1087  (  778) [000] ...1 1034717.948604: tracing_mark_write: E|778
22183  composer@2.1-s-593   (  593) [001] ...1 1034717.948634: tracing_mark_write: E|593
22184  composer@2.1-s-593   (  593) [001] ...1 1034717.948652: tracing_mark_write: E|593
22185   SensorService-1283  ( 1151) [003] ...1 1034717.948663: tracing_mark_write: E|1151
22186  composer@2.1-s-593   (  593) [001] ...1 1034717.948673: tracing_mark_write: E|593
22187  surfaceflinger-591   (  591) [000] ...1 1034717.948720: tracing_mark_write: E|591
22188   SensorService-1283  ( 1151) [003] ...1 1034717.948730: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22189  HwBinder:778_1-1087  (  778) [004] ...1 1034717.948783: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22190  surfaceflinger-591   (  591) [000] ...1 1034717.948922: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22191  composer@2.1-s-593   (  593) [001] ...1 1034717.948969: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22192  composer@2.1-s-593   (  593) [001] ...1 1034717.948979: tracing_mark_write: E|593
22193  surfaceflinger-591   (  591) [000] ...1 1034717.949005: tracing_mark_write: E|591
22194  surfaceflinger-591   (  591) [001] ...1 1034717.961674: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22195  composer@2.1-s-593   (  593) [000] ...1 1034717.961765: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22196  composer@2.1-s-593   (  593) [000] ...1 1034717.961781: tracing_mark_write: E|593
22197  surfaceflinger-591   (  591) [001] ...1 1034717.961819: tracing_mark_write: E|591
22198  HwBinder:778_1-1087  (  778) [005] ...1 1034717.963511: tracing_mark_write: E|778
22199   SensorService-1283  ( 1151) [003] ...1 1034717.963585: tracing_mark_write: E|1151
22200   SensorService-1283  ( 1151) [003] ...1 1034717.963656: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22201  HwBinder:778_1-1087  (  778) [005] ...1 1034717.963707: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22202  surfaceflinger-591   (  591) [001] ...1 1034717.963855: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22203  composer@2.1-s-593   (  593) [000] ...1 1034717.963929: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22204  composer@2.1-s-593   (  593) [000] ...1 1034717.963946: tracing_mark_write: E|593
22205  surfaceflinger-591   (  591) [001] ...1 1034717.963979: tracing_mark_write: E|591
22206  surfaceflinger-591   (  591) [001] ...1 1034717.964750: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22207  composer@2.1-s-593   (  593) [000] ...1 1034717.964819: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22208  composer@2.1-s-593   (  593) [000] ...1 1034717.964886: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22209  composer@2.1-s-593   (  593) [000] ...1 1034717.964905: tracing_mark_write: B|593|HWDevice::Commit::
22210  composer@2.1-s-593   (  593) [000] ...1 1034717.965004: tracing_mark_write: E|593
22211  composer@2.1-s-593   (  593) [000] ...1 1034717.965030: tracing_mark_write: E|593
22212  composer@2.1-s-593   (  593) [000] ...1 1034717.965057: tracing_mark_write: E|593
22213  surfaceflinger-591   (  591) [001] ...1 1034717.965113: tracing_mark_write: E|591
22214  surfaceflinger-591   (  591) [001] ...1 1034717.965320: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22215  composer@2.1-s-593   (  593) [000] ...1 1034717.965363: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22216  composer@2.1-s-593   (  593) [000] ...1 1034717.965369: tracing_mark_write: E|593
22217  surfaceflinger-591   (  591) [001] ...1 1034717.965395: tracing_mark_write: E|591
22218    Binder:591_4-1671  (  591) [002] ...1 1034717.978916: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22219    Binder:591_4-1671  (  591) [002] ...1 1034717.978932: tracing_mark_write: E|591
22220    Binder:591_4-1671  (  591) [002] ...1 1034717.978947: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22221  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979078: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22222  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979124: tracing_mark_write: B|595|AllocBuffer
22223  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979135: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
22224  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979274: tracing_mark_write: E|595
22225  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979277: tracing_mark_write: B|595|ION_IOC_MAP
22226  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979290: tracing_mark_write: E|595
22227  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979294: tracing_mark_write: E|595
22228  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979297: tracing_mark_write: B|595|AllocBuffer
22229  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979301: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22230  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979308: tracing_mark_write: E|595
22231  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979311: tracing_mark_write: B|595|ION_IOC_MAP
22232  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979317: tracing_mark_write: E|595
22233  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979320: tracing_mark_write: E|595
22234  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979363: tracing_mark_write: E|595
22235  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979430: tracing_mark_write: B|595|FreeBuffer
22236  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979438: tracing_mark_write: E|595
22237  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979440: tracing_mark_write: B|595|FreeBuffer
22238    Binder:591_4-1671  (  591) [000] ...1 1034717.979443: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22239  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979443: tracing_mark_write: B|595|UnmapBuffer
22240  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979455: tracing_mark_write: E|595
22241  HwBinder:595_2-1778  (  595) [003] ...1 1034717.979460: tracing_mark_write: E|595
22242    Binder:591_4-1671  (  591) [000] ...1 1034717.979497: tracing_mark_write: E|591
22243    Binder:591_4-1671  (  591) [000] ...1 1034717.979502: tracing_mark_write: E|591
22244    android.anim-1277  ( 1151) [007] ...1 1034717.979672: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough
22245    android.anim-1277  ( 1151) [007] ...1 1034717.979718: tracing_mark_write: E|1151
22246    android.anim-1277  ( 1151) [007] ...1 1034717.979743: tracing_mark_write: B|1151|HIDL::IMapper::lock::passthrough
22247    android.anim-1277  ( 1151) [007] ...1 1034717.979748: tracing_mark_write: B|1151|LockBuffer
22248    android.anim-1277  ( 1151) [007] ...1 1034717.979752: tracing_mark_write: B|1151|MapBuffer
22249    android.anim-1277  ( 1151) [007] ...1 1034717.979782: tracing_mark_write: E|1151
22250    android.anim-1277  ( 1151) [007] ...1 1034717.979784: tracing_mark_write: B|1151|CleanBuffer
22251    android.anim-1277  ( 1151) [007] ...1 1034717.979785: tracing_mark_write: C|1151|operation id|2
22252  surfaceflinger-591   (  591) [002] ...1 1034717.980696: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22253  composer@2.1-s-593   (  593) [000] ...1 1034717.980763: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22254  composer@2.1-s-593   (  593) [000] ...1 1034717.980777: tracing_mark_write: E|593
22255  surfaceflinger-591   (  591) [002] ...1 1034717.980807: tracing_mark_write: E|591
22256  surfaceflinger-591   (  591) [002] ...1 1034717.981826: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22257  composer@2.1-s-593   (  593) [000] ...1 1034717.981950: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22258  composer@2.1-s-593   (  593) [000] ...1 1034717.982023: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22259  composer@2.1-s-593   (  593) [000] ...1 1034717.982034: tracing_mark_write: E|593
22260  composer@2.1-s-593   (  593) [000] ...1 1034717.982038: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22261    android.anim-1277  ( 1151) [007] ...1 1034717.982046: tracing_mark_write: E|1151
22262    android.anim-1277  ( 1151) [007] ...1 1034717.982051: tracing_mark_write: E|1151
22263    android.anim-1277  ( 1151) [007] ...1 1034717.982057: tracing_mark_write: E|1151
22264  composer@2.1-s-593   (  593) [000] ...1 1034717.982342: tracing_mark_write: B|593|HWDevice::Validate::
22265  composer@2.1-s-593   (  593) [000] ...1 1034717.982429: tracing_mark_write: E|593
22266    Binder:591_4-1671  (  591) [001] ...1 1034717.982441: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22267  composer@2.1-s-593   (  593) [000] ...1 1034717.982449: tracing_mark_write: E|593
22268    Binder:591_4-1671  (  591) [001] ...1 1034717.982450: tracing_mark_write: E|591
22269    Binder:591_4-1671  (  591) [001] ...1 1034717.982466: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22270  composer@2.1-s-593   (  593) [000] ...1 1034717.982472: tracing_mark_write: E|593
22271  surfaceflinger-591   (  591) [002] ...1 1034717.982535: tracing_mark_write: E|591
22272  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982586: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22273  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982616: tracing_mark_write: B|595|AllocBuffer
22274  surfaceflinger-591   (  591) [002] ...1 1034717.982617: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22275  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982626: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3891200
22276  composer@2.1-s-593   (  593) [000] ...1 1034717.982663: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22277  composer@2.1-s-593   (  593) [000] ...1 1034717.982674: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22278  composer@2.1-s-593   (  593) [000] ...1 1034717.982687: tracing_mark_write: B|593|HWDevice::Commit::
22279  composer@2.1-s-593   (  593) [000] ...1 1034717.982785: tracing_mark_write: E|593
22280  composer@2.1-s-593   (  593) [000] ...1 1034717.982807: tracing_mark_write: E|593
22281  HwBinder:778_1-1087  (  778) [003] ...1 1034717.982822: tracing_mark_write: E|778
22282  composer@2.1-s-593   (  593) [000] ...1 1034717.982830: tracing_mark_write: E|593
22283  surfaceflinger-591   (  591) [002] ...1 1034717.982882: tracing_mark_write: E|591
22284   SensorService-1283  ( 1151) [001] ...1 1034717.982885: tracing_mark_write: E|1151
22285  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982939: tracing_mark_write: E|595
22286  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982942: tracing_mark_write: B|595|ION_IOC_MAP
22287   SensorService-1283  ( 1151) [001] ...1 1034717.982954: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22288  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982955: tracing_mark_write: E|595
22289  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982960: tracing_mark_write: E|595
22290  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982964: tracing_mark_write: B|595|AllocBuffer
22291  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982970: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22292  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982981: tracing_mark_write: E|595
22293  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982984: tracing_mark_write: B|595|ION_IOC_MAP
22294  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982990: tracing_mark_write: E|595
22295  HwBinder:595_2-1778  (  595) [000] ...1 1034717.982993: tracing_mark_write: E|595
22296  HwBinder:778_1-1087  (  778) [003] ...1 1034717.982997: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22297  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983035: tracing_mark_write: E|595
22298  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983074: tracing_mark_write: B|595|FreeBuffer
22299    Binder:591_4-1671  (  591) [001] ...1 1034717.983082: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22300  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983082: tracing_mark_write: E|595
22301  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983085: tracing_mark_write: B|595|FreeBuffer
22302  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983087: tracing_mark_write: B|595|UnmapBuffer
22303  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983099: tracing_mark_write: E|595
22304  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983105: tracing_mark_write: E|595
22305    Binder:591_4-1671  (  591) [001] ...1 1034717.983113: tracing_mark_write: E|591
22306    Binder:591_4-1671  (  591) [001] ...1 1034717.983118: tracing_mark_write: E|591
22307    Binder:591_4-1671  (  591) [001] ...1 1034717.983152: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22308    Binder:591_4-1671  (  591) [001] ...1 1034717.983157: tracing_mark_write: E|591
22309    Binder:591_4-1671  (  591) [001] ...1 1034717.983166: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22310  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983252: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22311  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983267: tracing_mark_write: B|595|AllocBuffer
22312  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983271: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3891200
22313  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983327: tracing_mark_write: E|595
22314  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983330: tracing_mark_write: B|595|ION_IOC_MAP
22315  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983338: tracing_mark_write: E|595
22316  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983341: tracing_mark_write: E|595
22317  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983343: tracing_mark_write: B|595|AllocBuffer
22318  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983347: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22319  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983354: tracing_mark_write: E|595
22320  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983356: tracing_mark_write: B|595|ION_IOC_MAP
22321  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983363: tracing_mark_write: E|595
22322  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983366: tracing_mark_write: E|595
22323  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983387: tracing_mark_write: E|595
22324  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983417: tracing_mark_write: B|595|FreeBuffer
22325    Binder:591_4-1671  (  591) [001] ...1 1034717.983421: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22326  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983423: tracing_mark_write: E|595
22327  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983425: tracing_mark_write: B|595|FreeBuffer
22328  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983428: tracing_mark_write: B|595|UnmapBuffer
22329  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983434: tracing_mark_write: E|595
22330  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983439: tracing_mark_write: E|595
22331    Binder:591_4-1671  (  591) [001] ...1 1034717.983441: tracing_mark_write: E|591
22332    Binder:591_4-1671  (  591) [001] ...1 1034717.983445: tracing_mark_write: E|591
22333    Binder:591_4-1671  (  591) [001] ...1 1034717.983461: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22334    Binder:591_4-1671  (  591) [001] ...1 1034717.983465: tracing_mark_write: E|591
22335    Binder:591_4-1671  (  591) [001] ...1 1034717.983470: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22336  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983503: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22337  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983511: tracing_mark_write: B|595|AllocBuffer
22338  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983515: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3891200
22339  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983562: tracing_mark_write: E|595
22340  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983564: tracing_mark_write: B|595|ION_IOC_MAP
22341  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983572: tracing_mark_write: E|595
22342  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983575: tracing_mark_write: E|595
22343  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983577: tracing_mark_write: B|595|AllocBuffer
22344  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983581: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22345  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983587: tracing_mark_write: E|595
22346  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983590: tracing_mark_write: B|595|ION_IOC_MAP
22347  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983597: tracing_mark_write: E|595
22348  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983599: tracing_mark_write: E|595
22349  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983616: tracing_mark_write: E|595
22350  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983643: tracing_mark_write: B|595|FreeBuffer
22351    Binder:591_4-1671  (  591) [001] ...1 1034717.983647: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22352  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983649: tracing_mark_write: E|595
22353  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983651: tracing_mark_write: B|595|FreeBuffer
22354  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983654: tracing_mark_write: B|595|UnmapBuffer
22355  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983659: tracing_mark_write: E|595
22356    Binder:591_4-1671  (  591) [001] ...1 1034717.983661: tracing_mark_write: E|591
22357  HwBinder:595_2-1778  (  595) [000] ...1 1034717.983664: tracing_mark_write: E|595
22358    Binder:591_4-1671  (  591) [001] ...1 1034717.983664: tracing_mark_write: E|591
22359    android.anim-1277  ( 1151) [004] ...1 1034717.989541: tracing_mark_write: B|1151|HIDL::IMapper::unlock::passthrough
22360    android.anim-1277  ( 1151) [004] ...1 1034717.989557: tracing_mark_write: B|1151|CleanBuffer
22361    android.anim-1277  ( 1151) [004] ...1 1034717.989560: tracing_mark_write: C|1151|operation id|1
22362    android.anim-1277  ( 1151) [004] ...1 1034717.991550: tracing_mark_write: E|1151
22363    android.anim-1277  ( 1151) [004] ...1 1034717.991560: tracing_mark_write: E|1151
22364  surfaceflinger-591   (  591) [000] ...1 1034717.992446: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22365  composer@2.1-s-593   (  593) [001] ...1 1034717.992541: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22366  composer@2.1-s-593   (  593) [001] ...1 1034717.992559: tracing_mark_write: E|593
22367  surfaceflinger-591   (  591) [000] ...1 1034717.992593: tracing_mark_write: E|591
22368  surfaceflinger-591   (  591) [000] ...1 1034717.995061: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22369  composer@2.1-s-593   (  593) [001] ...1 1034717.995106: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22370  composer@2.1-s-593   (  593) [001] ...1 1034717.995115: tracing_mark_write: E|593
22371  surfaceflinger-591   (  591) [000] ...1 1034717.995142: tracing_mark_write: E|591
22372  surfaceflinger-591   (  591) [000] ...1 1034717.996511: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22373  composer@2.1-s-593   (  593) [001] ...1 1034717.996546: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22374  composer@2.1-s-593   (  593) [001] ...1 1034717.996551: tracing_mark_write: E|593
22375  surfaceflinger-591   (  591) [000] ...1 1034717.996576: tracing_mark_write: E|591
22376  surfaceflinger-591   (  591) [000] ...1 1034717.998108: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22377  composer@2.1-s-593   (  593) [001] ...1 1034717.998170: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22378  composer@2.1-s-593   (  593) [001] ...1 1034717.998234: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22379  composer@2.1-s-593   (  593) [001] ...1 1034717.998243: tracing_mark_write: E|593
22380  composer@2.1-s-593   (  593) [001] ...1 1034717.998248: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22381  composer@2.1-s-593   (  593) [001] ...1 1034717.998476: tracing_mark_write: B|593|HWDevice::Validate::
22382  composer@2.1-s-593   (  593) [001] ...1 1034717.998538: tracing_mark_write: E|593
22383  composer@2.1-s-593   (  593) [001] ...1 1034717.998556: tracing_mark_write: E|593
22384  composer@2.1-s-593   (  593) [001] ...1 1034717.998572: tracing_mark_write: E|593
22385  surfaceflinger-591   (  591) [000] ...1 1034717.998614: tracing_mark_write: E|591
22386  surfaceflinger-591   (  591) [000] ...1 1034717.998672: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22387  composer@2.1-s-593   (  593) [001] ...1 1034717.998710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22388  composer@2.1-s-593   (  593) [001] ...1 1034717.998718: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22389  composer@2.1-s-593   (  593) [001] ...1 1034717.998729: tracing_mark_write: B|593|HWDevice::Commit::
22390  composer@2.1-s-593   (  593) [001] ...1 1034717.998813: tracing_mark_write: E|593
22391  composer@2.1-s-593   (  593) [001] ...1 1034717.998830: tracing_mark_write: E|593
22392  composer@2.1-s-593   (  593) [001] ...1 1034717.998850: tracing_mark_write: E|593
22393  surfaceflinger-591   (  591) [000] ...1 1034717.998890: tracing_mark_write: E|591
22394  surfaceflinger-591   (  591) [000] ...1 1034718.001338: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22395  composer@2.1-s-593   (  593) [001] ...1 1034718.001376: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22396  composer@2.1-s-593   (  593) [001] ...1 1034718.001382: tracing_mark_write: E|593
22397  surfaceflinger-591   (  591) [000] ...1 1034718.001406: tracing_mark_write: E|591
22398  HwBinder:778_1-1087  (  778) [001] ...1 1034718.001973: tracing_mark_write: E|778
22399   SensorService-1283  ( 1151) [000] ...1 1034718.002034: tracing_mark_write: E|1151
22400   SensorService-1283  ( 1151) [000] ...1 1034718.002097: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22401  HwBinder:778_1-1087  (  778) [001] ...1 1034718.002138: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22402    Binder:591_3-1218  (  591) [005] ...1 1034718.003009: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22403    Binder:591_3-1218  (  591) [005] ...1 1034718.003016: tracing_mark_write: E|591
22404    Binder:591_3-1218  (  591) [005] ...1 1034718.003025: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22405  HwBinder:595_2-1778  (  595) [000] ...1 1034718.003087: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22406  HwBinder:595_2-1778  (  595) [000] ...1 1034718.003116: tracing_mark_write: B|595|AllocBuffer
22407  HwBinder:595_2-1778  (  595) [000] ...1 1034718.003124: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
22408    Binder:591_4-1671  (  591) [006] ...1 1034718.004124: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
22409    Binder:591_4-1671  (  591) [006] ...1 1034718.004160: tracing_mark_write: B|591|FreeBuffer
22410    Binder:591_4-1671  (  591) [006] ...1 1034718.004218: tracing_mark_write: E|591
22411    Binder:591_4-1671  (  591) [006] ...1 1034718.004220: tracing_mark_write: B|591|FreeBuffer
22412    Binder:591_4-1671  (  591) [006] ...1 1034718.004230: tracing_mark_write: E|591
22413    Binder:591_4-1671  (  591) [006] ...1 1034718.004237: tracing_mark_write: E|591
22414    Binder:591_4-1671  (  591) [006] ...1 1034718.004254: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22415    Binder:591_4-1671  (  591) [006] ...1 1034718.004259: tracing_mark_write: E|591
22416    Binder:591_4-1671  (  591) [006] ...1 1034718.004272: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22417  allocator@2.0--595   (  595) [006] ...1 1034718.004387: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22418  HwBinder:595_2-1778  (  595) [005] ...1 1034718.005344: tracing_mark_write: E|595
22419  HwBinder:595_2-1778  (  595) [005] ...1 1034718.005347: tracing_mark_write: B|595|ION_IOC_MAP
22420  HwBinder:595_2-1778  (  595) [005] ...1 1034718.005358: tracing_mark_write: E|595
22421  HwBinder:595_2-1778  (  595) [005] ...1 1034718.005362: tracing_mark_write: E|595
22422  HwBinder:595_2-1778  (  595) [005] ...1 1034718.005364: tracing_mark_write: B|595|AllocBuffer
22423  HwBinder:595_2-1778  (  595) [005] ...1 1034718.005368: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22424  HwBinder:595_2-1778  (  595) [000] ...1 1034718.005420: tracing_mark_write: E|595
22425  HwBinder:595_2-1778  (  595) [000] ...1 1034718.005423: tracing_mark_write: B|595|ION_IOC_MAP
22426  HwBinder:595_2-1778  (  595) [000] ...1 1034718.005435: tracing_mark_write: E|595
22427  HwBinder:595_2-1778  (  595) [000] ...1 1034718.005438: tracing_mark_write: E|595
22428  HwBinder:595_2-1778  (  595) [000] ...1 1034718.005501: tracing_mark_write: E|595
22429  allocator@2.0--595   (  595) [006] ...1 1034718.005545: tracing_mark_write: B|595|AllocBuffer
22430  allocator@2.0--595   (  595) [006] ...1 1034718.005549: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3919872
22431    Binder:591_3-1218  (  591) [000] ...1 1034718.005568: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22432  allocator@2.0--595   (  595) [006] ...1 1034718.005590: tracing_mark_write: E|595
22433  allocator@2.0--595   (  595) [006] ...1 1034718.005592: tracing_mark_write: B|595|ION_IOC_MAP
22434    Binder:591_3-1218  (  591) [000] ...1 1034718.005595: tracing_mark_write: E|591
22435  allocator@2.0--595   (  595) [006] ...1 1034718.005598: tracing_mark_write: E|595
22436  allocator@2.0--595   (  595) [006] ...1 1034718.005600: tracing_mark_write: E|595
22437  allocator@2.0--595   (  595) [006] ...1 1034718.005601: tracing_mark_write: B|595|AllocBuffer
22438    Binder:591_3-1218  (  591) [000] ...1 1034718.005601: tracing_mark_write: E|591
22439  allocator@2.0--595   (  595) [006] ...1 1034718.005602: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22440  allocator@2.0--595   (  595) [006] ...1 1034718.005607: tracing_mark_write: E|595
22441  allocator@2.0--595   (  595) [006] ...1 1034718.005608: tracing_mark_write: B|595|ION_IOC_MAP
22442  allocator@2.0--595   (  595) [006] ...1 1034718.005611: tracing_mark_write: E|595
22443  allocator@2.0--595   (  595) [006] ...1 1034718.005612: tracing_mark_write: E|595
22444  allocator@2.0--595   (  595) [006] ...1 1034718.005637: tracing_mark_write: E|595
22445    Binder:591_3-1218  (  591) [000] ...1 1034718.005638: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22446    Binder:591_3-1218  (  591) [000] ...1 1034718.005642: tracing_mark_write: E|591
22447    Binder:591_3-1218  (  591) [000] ...1 1034718.005649: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22448  HwBinder:595_2-1778  (  595) [001] ...1 1034718.005650: tracing_mark_write: B|595|FreeBuffer
22449  HwBinder:595_2-1778  (  595) [001] ...1 1034718.005659: tracing_mark_write: E|595
22450  HwBinder:595_2-1778  (  595) [001] ...1 1034718.005662: tracing_mark_write: B|595|FreeBuffer
22451  HwBinder:595_2-1778  (  595) [001] ...1 1034718.005664: tracing_mark_write: B|595|UnmapBuffer
22452    Binder:591_4-1671  (  591) [006] ...1 1034718.005676: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22453  HwBinder:595_2-1778  (  595) [001] ...1 1034718.005678: tracing_mark_write: E|595
22454  HwBinder:595_2-1778  (  595) [001] ...1 1034718.005683: tracing_mark_write: E|595
22455    Binder:591_4-1671  (  591) [006] ...1 1034718.005689: tracing_mark_write: E|591
22456    Binder:591_4-1671  (  591) [006] ...1 1034718.005692: tracing_mark_write: E|591
22457  allocator@2.0--595   (  595) [006] ...1 1034718.005702: tracing_mark_write: B|595|FreeBuffer
22458  HwBinder:595_3-1779  (  595) [000] ...1 1034718.005705: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22459  allocator@2.0--595   (  595) [006] ...1 1034718.005708: tracing_mark_write: E|595
22460  allocator@2.0--595   (  595) [006] ...1 1034718.005709: tracing_mark_write: B|595|FreeBuffer
22461  allocator@2.0--595   (  595) [006] ...1 1034718.005710: tracing_mark_write: B|595|UnmapBuffer
22462  allocator@2.0--595   (  595) [006] ...1 1034718.005716: tracing_mark_write: E|595
22463  allocator@2.0--595   (  595) [006] ...1 1034718.005718: tracing_mark_write: E|595
22464  HwBinder:595_3-1779  (  595) [001] ...1 1034718.005742: tracing_mark_write: B|595|AllocBuffer
22465  HwBinder:595_3-1779  (  595) [001] ...1 1034718.005747: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
22466    RenderThread-11249 ( 1151) [006] ...1 1034718.005864: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough
22467    RenderThread-11249 ( 1151) [006] ...1 1034718.005882: tracing_mark_write: E|1151
22468  HwBinder:595_3-1779  (  595) [001] ...1 1034718.007742: tracing_mark_write: E|595
22469  HwBinder:595_3-1779  (  595) [001] ...1 1034718.007746: tracing_mark_write: B|595|ION_IOC_MAP
22470  HwBinder:595_3-1779  (  595) [001] ...1 1034718.007758: tracing_mark_write: E|595
22471  HwBinder:595_3-1779  (  595) [001] ...1 1034718.007762: tracing_mark_write: E|595
22472  HwBinder:595_3-1779  (  595) [001] ...1 1034718.007764: tracing_mark_write: B|595|AllocBuffer
22473  HwBinder:595_3-1779  (  595) [001] ...1 1034718.007768: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22474  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007816: tracing_mark_write: E|595
22475  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007819: tracing_mark_write: B|595|ION_IOC_MAP
22476  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007828: tracing_mark_write: E|595
22477  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007830: tracing_mark_write: E|595
22478  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007863: tracing_mark_write: E|595
22479  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007894: tracing_mark_write: B|595|FreeBuffer
22480  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007900: tracing_mark_write: E|595
22481  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007902: tracing_mark_write: B|595|FreeBuffer
22482  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007905: tracing_mark_write: B|595|UnmapBuffer
22483  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007916: tracing_mark_write: E|595
22484  HwBinder:595_3-1779  (  595) [000] ...1 1034718.007921: tracing_mark_write: E|595
22485    Binder:591_3-1218  (  591) [000] ...1 1034718.007952: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22486    Binder:591_3-1218  (  591) [000] ...1 1034718.007973: tracing_mark_write: E|591
22487    Binder:591_3-1218  (  591) [000] ...1 1034718.007977: tracing_mark_write: E|591
22488    Binder:591_3-1218  (  591) [000] ...1 1034718.008007: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22489    Binder:591_3-1218  (  591) [000] ...1 1034718.008011: tracing_mark_write: E|591
22490    Binder:591_3-1218  (  591) [000] ...1 1034718.008016: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22491  HwBinder:595_3-1779  (  595) [000] ...1 1034718.008046: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22492  HwBinder:595_3-1779  (  595) [000] ...1 1034718.008055: tracing_mark_write: B|595|AllocBuffer
22493  HwBinder:595_3-1779  (  595) [000] ...1 1034718.008059: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
22494    RenderThread-27026 (27005) [004] ...1 1034718.009950: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client
22495  hwservicemanag-570   (  570) [003] ...1 1034718.010072: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server
22496  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010358: tracing_mark_write: E|595
22497  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010362: tracing_mark_write: B|595|ION_IOC_MAP
22498  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010377: tracing_mark_write: E|595
22499  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010382: tracing_mark_write: E|595
22500  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010386: tracing_mark_write: B|595|AllocBuffer
22501  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010392: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22502  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010401: tracing_mark_write: E|595
22503  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010403: tracing_mark_write: B|595|ION_IOC_MAP
22504  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010410: tracing_mark_write: E|595
22505  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010413: tracing_mark_write: E|595
22506  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010456: tracing_mark_write: E|595
22507  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010498: tracing_mark_write: B|595|FreeBuffer
22508  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010505: tracing_mark_write: E|595
22509  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010507: tracing_mark_write: B|595|FreeBuffer
22510  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010510: tracing_mark_write: B|595|UnmapBuffer
22511  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010519: tracing_mark_write: E|595
22512  HwBinder:595_3-1779  (  595) [000] ...1 1034718.010524: tracing_mark_write: E|595
22513  hwservicemanag-570   (  570) [003] ...1 1034718.010539: tracing_mark_write: E|570
22514    Binder:591_3-1218  (  591) [000] ...1 1034718.010573: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22515    Binder:591_3-1218  (  591) [000] ...1 1034718.010601: tracing_mark_write: E|591
22516    Binder:591_3-1218  (  591) [000] ...1 1034718.010606: tracing_mark_write: E|591
22517    RenderThread-27026 (27005) [003] ...1 1034718.010630: tracing_mark_write: E|27005
22518    RenderThread-27026 (27005) [003] ...1 1034718.010656: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client
22519  hwservicemanag-570   (  570) [003] ...1 1034718.011094: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server
22520  hwservicemanag-570   (  570) [003] ...1 1034718.011292: tracing_mark_write: B|570|HIDL::IServiceNotification::onRegistration::client
22521  hwservicemanag-570   (  570) [003] ...1 1034718.011343: tracing_mark_write: E|570
22522  hwservicemanag-570   (  570) [003] ...1 1034718.011351: tracing_mark_write: E|570
22523  HwBinder:27005-27027 (27005) [004] ...1 1034718.011364: tracing_mark_write: B|27005|HIDL::IServiceNotification::onRegistration::server
22524  HwBinder:27005-27027 (27005) [004] ...1 1034718.011371: tracing_mark_write: E|27005
22525    RenderThread-27026 (27005) [003] ...1 1034718.011406: tracing_mark_write: E|27005
22526    RenderThread-27026 (27005) [003] ...1 1034718.011422: tracing_mark_write: B|27005|HIDL::IServiceManager::get::client
22527  hwservicemanag-570   (  570) [003] ...1 1034718.011462: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
22528  hwservicemanag-570   (  570) [003] ...1 1034718.011606: tracing_mark_write: E|570
22529    RenderThread-27026 (27005) [003] ...1 1034718.011671: tracing_mark_write: E|27005
22530    RenderThread-27026 (27005) [003] ...1 1034718.011681: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client
22531  HwBinder:594_2-7100  (  594) [003] ...1 1034718.011767: tracing_mark_write: B|594|HIDL::IBase::interfaceChain::server
22532  HwBinder:594_2-7100  (  594) [003] ...1 1034718.011800: tracing_mark_write: E|594
22533    RenderThread-27026 (27005) [003] ...1 1034718.011861: tracing_mark_write: E|27005
22534    RenderThread-27026 (27005) [003] ...1 1034718.011870: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client
22535  hwservicemanag-570   (  570) [003] ...1 1034718.011940: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server
22536  hwservicemanag-570   (  570) [003] ...1 1034718.011953: tracing_mark_write: E|570
22537    RenderThread-27026 (27005) [003] ...1 1034718.011997: tracing_mark_write: E|27005
22538    RenderThread-27026 (27005) [003] ...1 1034718.012058: tracing_mark_write: B|27005|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::client
22539  HwBinder:594_2-7100  (  594) [003] ...1 1034718.012089: tracing_mark_write: B|594|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::server
22540  HwBinder:594_2-7100  (  594) [003] ...1 1034718.012097: tracing_mark_write: E|594
22541    RenderThread-27026 (27005) [003] ...1 1034718.012133: tracing_mark_write: E|27005
22542    RenderThread-27026 (27005) [003] ...1 1034718.012281: tracing_mark_write: B|27005|HIDL::ISurfaceFlingerConfigs::hasHDRDisplay::client
22543  HwBinder:594_2-7100  (  594) [003] ...1 1034718.012310: tracing_mark_write: B|594|HIDL::ISurfaceFlingerConfigs::hasHDRDisplay::server
22544  HwBinder:594_2-7100  (  594) [003] ...1 1034718.012317: tracing_mark_write: E|594
22545    RenderThread-27026 (27005) [003] ...1 1034718.012339: tracing_mark_write: E|27005
22546  surfaceflinger-591   (  591) [000] ...1 1034718.015259: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22547  composer@2.1-s-593   (  593) [001] ...1 1034718.015375: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22548  composer@2.1-s-593   (  593) [001] ...1 1034718.015449: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22549  composer@2.1-s-593   (  593) [001] ...1 1034718.015459: tracing_mark_write: E|593
22550  composer@2.1-s-593   (  593) [001] ...1 1034718.015463: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22551  composer@2.1-s-593   (  593) [001] ...1 1034718.015702: tracing_mark_write: B|593|HWDevice::Validate::
22552  composer@2.1-s-593   (  593) [001] ...1 1034718.015766: tracing_mark_write: E|593
22553  composer@2.1-s-593   (  593) [001] ...1 1034718.015784: tracing_mark_write: E|593
22554  composer@2.1-s-593   (  593) [001] ...1 1034718.015804: tracing_mark_write: E|593
22555  surfaceflinger-591   (  591) [000] ...1 1034718.015865: tracing_mark_write: E|591
22556  surfaceflinger-591   (  591) [000] ...1 1034718.015935: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22557  composer@2.1-s-593   (  593) [001] ...1 1034718.015976: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22558  composer@2.1-s-593   (  593) [001] ...1 1034718.015986: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22559  composer@2.1-s-593   (  593) [001] ...1 1034718.015998: tracing_mark_write: B|593|HWDevice::Commit::
22560  composer@2.1-s-593   (  593) [001] ...1 1034718.016088: tracing_mark_write: E|593
22561  composer@2.1-s-593   (  593) [001] ...1 1034718.016106: tracing_mark_write: E|593
22562  composer@2.1-s-593   (  593) [001] ...1 1034718.016128: tracing_mark_write: E|593
22563  surfaceflinger-591   (  591) [000] ...1 1034718.016175: tracing_mark_write: E|591
22564    Binder:591_4-1671  (  591) [005] ...1 1034718.018549: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
22565    Binder:591_4-1671  (  591) [005] ...1 1034718.018565: tracing_mark_write: B|591|FreeBuffer
22566    Binder:591_4-1671  (  591) [005] ...1 1034718.018588: tracing_mark_write: E|591
22567    Binder:591_4-1671  (  591) [005] ...1 1034718.018589: tracing_mark_write: B|591|FreeBuffer
22568    Binder:591_4-1671  (  591) [005] ...1 1034718.018596: tracing_mark_write: E|591
22569    Binder:591_4-1671  (  591) [005] ...1 1034718.018600: tracing_mark_write: E|591
22570    Binder:591_4-1671  (  591) [005] ...1 1034718.018609: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22571    Binder:591_4-1671  (  591) [005] ...1 1034718.018612: tracing_mark_write: E|591
22572    Binder:591_4-1671  (  591) [005] ...1 1034718.018619: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22573  surfaceflinger-591   (  591) [000] ...1 1034718.018633: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22574  HwBinder:595_3-1779  (  595) [005] ...1 1034718.018690: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22575  HwBinder:595_3-1779  (  595) [005] ...1 1034718.018711: tracing_mark_write: B|595|AllocBuffer
22576  HwBinder:595_3-1779  (  595) [005] ...1 1034718.018716: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3919872
22577  composer@2.1-s-593   (  593) [001] ...1 1034718.018717: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22578  composer@2.1-s-593   (  593) [001] ...1 1034718.018731: tracing_mark_write: E|593
22579  surfaceflinger-591   (  591) [000] ...1 1034718.018768: tracing_mark_write: E|591
22580  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020191: tracing_mark_write: E|595
22581  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020194: tracing_mark_write: B|595|ION_IOC_MAP
22582  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020206: tracing_mark_write: E|595
22583  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020208: tracing_mark_write: E|595
22584  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020210: tracing_mark_write: B|595|AllocBuffer
22585  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020213: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22586  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020219: tracing_mark_write: E|595
22587  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020220: tracing_mark_write: B|595|ION_IOC_MAP
22588  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020223: tracing_mark_write: E|595
22589  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020224: tracing_mark_write: E|595
22590  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020255: tracing_mark_write: E|595
22591  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020282: tracing_mark_write: B|595|FreeBuffer
22592  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020286: tracing_mark_write: E|595
22593  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020287: tracing_mark_write: B|595|FreeBuffer
22594  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020289: tracing_mark_write: B|595|UnmapBuffer
22595  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020294: tracing_mark_write: E|595
22596  HwBinder:595_3-1779  (  595) [005] ...1 1034718.020297: tracing_mark_write: E|595
22597    Binder:591_4-1671  (  591) [005] ...1 1034718.020333: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22598    Binder:591_4-1671  (  591) [005] ...1 1034718.020350: tracing_mark_write: E|591
22599    Binder:591_4-1671  (  591) [005] ...1 1034718.020353: tracing_mark_write: E|591
22600  surfaceflinger-591   (  591) [000] ...1 1034718.020475: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22601    RenderThread-11249 ( 1151) [006] ...1 1034718.020477: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough
22602    RenderThread-11249 ( 1151) [006] ...1 1034718.020496: tracing_mark_write: E|1151
22603  composer@2.1-s-593   (  593) [001] ...1 1034718.020529: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22604  composer@2.1-s-593   (  593) [001] ...1 1034718.020539: tracing_mark_write: E|593
22605  surfaceflinger-591   (  591) [000] ...1 1034718.020568: tracing_mark_write: E|591
22606  HwBinder:778_1-1087  (  778) [004] ...1 1034718.021161: tracing_mark_write: E|778
22607  surfaceflinger-591   (  591) [001] ...1 1034718.021188: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22608   SensorService-1283  ( 1151) [000] ...1 1034718.021225: tracing_mark_write: E|1151
22609  composer@2.1-s-593   (  593) [002] ...1 1034718.021247: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22610  composer@2.1-s-593   (  593) [002] ...1 1034718.021260: tracing_mark_write: E|593
22611  surfaceflinger-591   (  591) [001] ...1 1034718.021292: tracing_mark_write: E|591
22612   SensorService-1283  ( 1151) [000] ...1 1034718.021293: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22613  HwBinder:778_1-1087  (  778) [004] ...1 1034718.021335: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22614    Binder:591_4-1671  (  591) [006] ...1 1034718.022819: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
22615    Binder:591_4-1671  (  591) [006] ...1 1034718.022962: tracing_mark_write: B|591|FreeBuffer
22616    Binder:591_4-1671  (  591) [006] ...1 1034718.022992: tracing_mark_write: E|591
22617    Binder:591_4-1671  (  591) [006] ...1 1034718.022993: tracing_mark_write: B|591|FreeBuffer
22618    Binder:591_4-1671  (  591) [006] ...1 1034718.023000: tracing_mark_write: E|591
22619    Binder:591_4-1671  (  591) [006] ...1 1034718.023004: tracing_mark_write: E|591
22620    Binder:591_4-1671  (  591) [006] ...1 1034718.023019: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22621    Binder:591_4-1671  (  591) [006] ...1 1034718.023021: tracing_mark_write: E|591
22622    Binder:591_4-1671  (  591) [006] ...1 1034718.023028: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22623  HwBinder:595_3-1779  (  595) [006] ...1 1034718.023081: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22624  HwBinder:595_3-1779  (  595) [006] ...1 1034718.023103: tracing_mark_write: B|595|AllocBuffer
22625  HwBinder:595_3-1779  (  595) [006] ...1 1034718.023110: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280
22626  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025001: tracing_mark_write: E|595
22627  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025005: tracing_mark_write: B|595|ION_IOC_MAP
22628  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025017: tracing_mark_write: E|595
22629  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025020: tracing_mark_write: E|595
22630  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025022: tracing_mark_write: B|595|AllocBuffer
22631  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025026: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22632  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025032: tracing_mark_write: E|595
22633  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025033: tracing_mark_write: B|595|ION_IOC_MAP
22634  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025037: tracing_mark_write: E|595
22635  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025038: tracing_mark_write: E|595
22636  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025077: tracing_mark_write: E|595
22637  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025113: tracing_mark_write: B|595|FreeBuffer
22638  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025118: tracing_mark_write: E|595
22639  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025119: tracing_mark_write: B|595|FreeBuffer
22640  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025120: tracing_mark_write: B|595|UnmapBuffer
22641  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025131: tracing_mark_write: E|595
22642    Binder:591_4-1671  (  591) [005] ...1 1034718.025134: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22643  HwBinder:595_3-1779  (  595) [006] ...1 1034718.025135: tracing_mark_write: E|595
22644    Binder:591_4-1671  (  591) [005] ...1 1034718.025159: tracing_mark_write: E|591
22645    Binder:591_4-1671  (  591) [005] ...1 1034718.025163: tracing_mark_write: E|591
22646    RenderThread-27026 (27005) [006] ...1 1034718.025348: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client
22647  hwservicemanag-570   (  570) [000] ...1 1034718.025432: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server
22648  hwservicemanag-570   (  570) [000] ...1 1034718.025772: tracing_mark_write: E|570
22649    RenderThread-27026 (27005) [005] ...1 1034718.025816: tracing_mark_write: E|27005
22650    RenderThread-27026 (27005) [005] ...1 1034718.025828: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client
22651  hwservicemanag-570   (  570) [000] ...1 1034718.025984: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server
22652  hwservicemanag-570   (  570) [000] ...1 1034718.026127: tracing_mark_write: E|570
22653    RenderThread-27026 (27005) [007] ...1 1034718.026167: tracing_mark_write: E|27005
22654    RenderThread-27026 (27005) [007] ...1 1034718.026174: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client
22655  hwservicemanag-570   (  570) [000] ...1 1034718.026240: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server
22656  hwservicemanag-570   (  570) [000] ...1 1034718.026255: tracing_mark_write: E|570
22657    RenderThread-27026 (27005) [005] ...1 1034718.026286: tracing_mark_write: E|27005
22658    RenderThread-27026 (27005) [005] ...1 1034718.027042: tracing_mark_write: B|27005|HIDL::IServiceManager::registerPassthroughClient::client
22659  hwservicemanag-570   (  570) [000] ...1 1034718.027087: tracing_mark_write: B|570|HIDL::IServiceManager::registerPassthroughClient::server
22660  hwservicemanag-570   (  570) [000] ...1 1034718.027214: tracing_mark_write: E|570
22661    RenderThread-27026 (27005) [004] ...1 1034718.027256: tracing_mark_write: E|27005
22662    RenderThread-27026 (27005) [004] ...1 1034718.027322: tracing_mark_write: B|27005|HIDL::IMapper::interfaceChain::passthrough
22663    RenderThread-27026 (27005) [004] ...1 1034718.027327: tracing_mark_write: E|27005
22664    RenderThread-27026 (27005) [004] ...1 1034718.027339: tracing_mark_write: B|27005|HIDL::IMapper::interfaceChain::passthrough
22665    RenderThread-27026 (27005) [004] ...1 1034718.027341: tracing_mark_write: E|27005
22666    RenderThread-27026 (27005) [004] ...1 1034718.027357: tracing_mark_write: B|27005|HIDL::IMapper::importBuffer::passthrough
22667    RenderThread-27026 (27005) [004] ...1 1034718.027391: tracing_mark_write: E|27005
22668    Binder:591_4-1671  (  591) [005] ...1 1034718.027455: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
22669    Binder:591_4-1671  (  591) [005] ...1 1034718.027465: tracing_mark_write: B|591|FreeBuffer
22670    Binder:591_4-1671  (  591) [005] ...1 1034718.027482: tracing_mark_write: E|591
22671    Binder:591_4-1671  (  591) [005] ...1 1034718.027484: tracing_mark_write: B|591|FreeBuffer
22672    Binder:591_4-1671  (  591) [005] ...1 1034718.027491: tracing_mark_write: E|591
22673    Binder:591_4-1671  (  591) [005] ...1 1034718.027494: tracing_mark_write: E|591
22674    Binder:591_4-1671  (  591) [005] ...1 1034718.027503: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22675    Binder:591_4-1671  (  591) [005] ...1 1034718.027506: tracing_mark_write: E|591
22676    Binder:591_4-1671  (  591) [005] ...1 1034718.027511: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22677  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027551: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22678  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027566: tracing_mark_write: B|595|AllocBuffer
22679  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027570: tracing_mark_write: B|595|ION_IOC_ALLOC size: 3919872
22680  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027615: tracing_mark_write: E|595
22681  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027616: tracing_mark_write: B|595|ION_IOC_MAP
22682  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027622: tracing_mark_write: E|595
22683  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027624: tracing_mark_write: E|595
22684  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027625: tracing_mark_write: B|595|AllocBuffer
22685  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027627: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22686  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027631: tracing_mark_write: E|595
22687  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027632: tracing_mark_write: B|595|ION_IOC_MAP
22688  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027636: tracing_mark_write: E|595
22689  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027638: tracing_mark_write: E|595
22690  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027659: tracing_mark_write: E|595
22691  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027679: tracing_mark_write: B|595|FreeBuffer
22692  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027684: tracing_mark_write: E|595
22693  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027686: tracing_mark_write: B|595|FreeBuffer
22694  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027687: tracing_mark_write: B|595|UnmapBuffer
22695  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027693: tracing_mark_write: E|595
22696    Binder:591_4-1671  (  591) [004] ...1 1034718.027694: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22697  HwBinder:595_3-1779  (  595) [006] ...1 1034718.027697: tracing_mark_write: E|595
22698    Binder:591_4-1671  (  591) [004] ...1 1034718.027708: tracing_mark_write: E|591
22699    Binder:591_4-1671  (  591) [004] ...1 1034718.027711: tracing_mark_write: E|591
22700    RenderThread-11249 ( 1151) [006] ...1 1034718.027813: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough
22701    RenderThread-11249 ( 1151) [006] ...1 1034718.027831: tracing_mark_write: E|1151
22702  surfaceflinger-591   (  591) [000] ...1 1034718.032046: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client
22703  composer@2.1-s-593   (  593) [002] ...1 1034718.032146: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server
22704  composer@2.1-s-593   (  593) [002] ...1 1034718.032205: tracing_mark_write: E|593
22705  surfaceflinger-591   (  591) [000] ...1 1034718.032249: tracing_mark_write: E|591
22706  surfaceflinger-591   (  591) [000] ...1 1034718.032369: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22707  composer@2.1-s-593   (  593) [002] ...1 1034718.032442: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22708  composer@2.1-s-593   (  593) [002] ...1 1034718.032515: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22709  composer@2.1-s-593   (  593) [002] ...1 1034718.032525: tracing_mark_write: E|593
22710  composer@2.1-s-593   (  593) [002] ...1 1034718.032530: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22711  composer@2.1-s-593   (  593) [002] ...1 1034718.032888: tracing_mark_write: B|593|HWDevice::Validate::
22712  composer@2.1-s-593   (  593) [002] ...1 1034718.032986: tracing_mark_write: E|593
22713  composer@2.1-s-593   (  593) [002] ...1 1034718.033009: tracing_mark_write: E|593
22714  composer@2.1-s-593   (  593) [002] ...1 1034718.033030: tracing_mark_write: E|593
22715  surfaceflinger-591   (  591) [000] ...1 1034718.033084: tracing_mark_write: E|591
22716  surfaceflinger-591   (  591) [000] ...1 1034718.033154: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22717  composer@2.1-s-593   (  593) [002] ...1 1034718.033230: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22718  composer@2.1-s-593   (  593) [002] ...1 1034718.033242: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22719  composer@2.1-s-593   (  593) [002] ...1 1034718.033256: tracing_mark_write: B|593|HWDevice::Commit::
22720  composer@2.1-s-593   (  593) [002] ...1 1034718.033372: tracing_mark_write: E|593
22721  composer@2.1-s-593   (  593) [002] ...1 1034718.033391: tracing_mark_write: E|593
22722  composer@2.1-s-593   (  593) [002] ...1 1034718.033416: tracing_mark_write: E|593
22723  surfaceflinger-591   (  591) [000] ...1 1034718.033462: tracing_mark_write: E|591
22724  HwBinder:778_1-1087  (  778) [001] ...1 1034718.040462: tracing_mark_write: E|778
22725   SensorService-1283  ( 1151) [000] ...1 1034718.040546: tracing_mark_write: E|1151
22726   SensorService-1283  ( 1151) [000] ...1 1034718.040628: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22727  HwBinder:778_1-1087  (  778) [001] ...1 1034718.040687: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22728  surfaceflinger-591   (  591) [000] ...1 1034718.048840: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22729  composer@2.1-s-593   (  593) [002] ...1 1034718.048964: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22730  composer@2.1-s-593   (  593) [002] ...1 1034718.049045: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22731  composer@2.1-s-593   (  593) [002] ...1 1034718.049055: tracing_mark_write: E|593
22732  composer@2.1-s-593   (  593) [002] ...1 1034718.049060: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22733  composer@2.1-s-593   (  593) [002] ...1 1034718.049344: tracing_mark_write: B|593|HWDevice::Validate::
22734  composer@2.1-s-593   (  593) [002] ...1 1034718.049416: tracing_mark_write: E|593
22735  composer@2.1-s-593   (  593) [002] ...1 1034718.049436: tracing_mark_write: E|593
22736  composer@2.1-s-593   (  593) [002] ...1 1034718.049459: tracing_mark_write: E|593
22737  surfaceflinger-591   (  591) [000] ...1 1034718.049521: tracing_mark_write: E|591
22738  surfaceflinger-591   (  591) [000] ...1 1034718.049599: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22739  composer@2.1-s-593   (  593) [002] ...1 1034718.049640: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22740  composer@2.1-s-593   (  593) [002] ...1 1034718.049650: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22741  composer@2.1-s-593   (  593) [002] ...1 1034718.049661: tracing_mark_write: B|593|HWDevice::Commit::
22742  composer@2.1-s-593   (  593) [002] ...1 1034718.049749: tracing_mark_write: E|593
22743  composer@2.1-s-593   (  593) [002] ...1 1034718.049768: tracing_mark_write: E|593
22744  composer@2.1-s-593   (  593) [002] ...1 1034718.049794: tracing_mark_write: E|593
22745  surfaceflinger-591   (  591) [000] ...1 1034718.049839: tracing_mark_write: E|591
22746    Binder:591_4-1671  (  591) [005] ...1 1034718.059510: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
22747    Binder:591_4-1671  (  591) [005] ...1 1034718.059528: tracing_mark_write: B|591|FreeBuffer
22748    Binder:591_4-1671  (  591) [005] ...1 1034718.059571: tracing_mark_write: E|591
22749    Binder:591_4-1671  (  591) [005] ...1 1034718.059573: tracing_mark_write: B|591|FreeBuffer
22750    Binder:591_4-1671  (  591) [005] ...1 1034718.059580: tracing_mark_write: E|591
22751    Binder:591_4-1671  (  591) [005] ...1 1034718.059584: tracing_mark_write: E|591
22752    Binder:591_4-1671  (  591) [005] ...1 1034718.059600: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22753    Binder:591_4-1671  (  591) [005] ...1 1034718.059603: tracing_mark_write: E|591
22754    Binder:591_4-1671  (  591) [005] ...1 1034718.059611: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22755  HwBinder:595_3-1779  (  595) [007] ...1 1034718.059675: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22756  HwBinder:595_3-1779  (  595) [007] ...1 1034718.059696: tracing_mark_write: B|595|AllocBuffer
22757  HwBinder:595_3-1779  (  595) [007] ...1 1034718.059706: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280
22758  HwBinder:778_1-1087  (  778) [001] ...1 1034718.059749: tracing_mark_write: E|778
22759   SensorService-1283  ( 1151) [000] ...1 1034718.059854: tracing_mark_write: E|1151
22760   SensorService-1283  ( 1151) [000] ...1 1034718.059977: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22761  HwBinder:778_1-1087  (  778) [001] ...1 1034718.060053: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22762  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060495: tracing_mark_write: E|595
22763  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060497: tracing_mark_write: B|595|ION_IOC_MAP
22764  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060508: tracing_mark_write: E|595
22765  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060510: tracing_mark_write: E|595
22766  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060512: tracing_mark_write: B|595|AllocBuffer
22767  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060516: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22768  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060522: tracing_mark_write: E|595
22769  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060523: tracing_mark_write: B|595|ION_IOC_MAP
22770  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060527: tracing_mark_write: E|595
22771  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060528: tracing_mark_write: E|595
22772  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060562: tracing_mark_write: E|595
22773  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060594: tracing_mark_write: B|595|FreeBuffer
22774  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060599: tracing_mark_write: E|595
22775  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060600: tracing_mark_write: B|595|FreeBuffer
22776  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060601: tracing_mark_write: B|595|UnmapBuffer
22777    Binder:591_4-1671  (  591) [005] ...1 1034718.060607: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22778  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060615: tracing_mark_write: E|595
22779  HwBinder:595_3-1779  (  595) [007] ...1 1034718.060618: tracing_mark_write: E|595
22780    Binder:591_4-1671  (  591) [005] ...1 1034718.060628: tracing_mark_write: E|591
22781    Binder:591_4-1671  (  591) [005] ...1 1034718.060632: tracing_mark_write: E|591
22782    RenderThread-27026 (27005) [005] ...1 1034718.061298: tracing_mark_write: B|27005|HIDL::IMapper::importBuffer::passthrough
22783    RenderThread-27026 (27005) [005] ...1 1034718.061996: tracing_mark_write: E|27005
22784  surfaceflinger-591   (  591) [000] ...1 1034718.062894: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
22785  composer@2.1-s-593   (  593) [002] ...1 1034718.062992: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
22786  composer@2.1-s-593   (  593) [002] ...1 1034718.063009: tracing_mark_write: E|593
22787  surfaceflinger-591   (  591) [000] ...1 1034718.063047: tracing_mark_write: E|591
22788  surfaceflinger-591   (  591) [000] ...1 1034718.065644: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client
22789  composer@2.1-s-593   (  593) [002] ...1 1034718.065759: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server
22790  composer@2.1-s-593   (  593) [002] ...1 1034718.065803: tracing_mark_write: E|593
22791  surfaceflinger-591   (  591) [000] ...1 1034718.065846: tracing_mark_write: E|591
22792  surfaceflinger-591   (  591) [000] ...1 1034718.065977: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22793  composer@2.1-s-593   (  593) [002] ...1 1034718.066088: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22794  composer@2.1-s-593   (  593) [002] ...1 1034718.066158: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
22795  composer@2.1-s-593   (  593) [002] ...1 1034718.066212: tracing_mark_write: E|593
22796  composer@2.1-s-593   (  593) [002] ...1 1034718.066267: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22797  composer@2.1-s-593   (  593) [002] ...1 1034718.066276: tracing_mark_write: E|593
22798  composer@2.1-s-593   (  593) [002] ...1 1034718.066281: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22799  composer@2.1-s-593   (  593) [002] ...1 1034718.066607: tracing_mark_write: B|593|HWDevice::Validate::
22800  composer@2.1-s-593   (  593) [002] ...1 1034718.066702: tracing_mark_write: E|593
22801  composer@2.1-s-593   (  593) [002] ...1 1034718.066725: tracing_mark_write: E|593
22802  composer@2.1-s-593   (  593) [002] ...1 1034718.066748: tracing_mark_write: E|593
22803  surfaceflinger-591   (  591) [000] ...1 1034718.066817: tracing_mark_write: E|591
22804  surfaceflinger-591   (  591) [000] ...1 1034718.066906: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22805  composer@2.1-s-593   (  593) [002] ...1 1034718.066956: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22806  composer@2.1-s-593   (  593) [002] ...1 1034718.066969: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22807  composer@2.1-s-593   (  593) [002] ...1 1034718.066984: tracing_mark_write: B|593|HWDevice::Commit::
22808  composer@2.1-s-593   (  593) [002] ...1 1034718.067095: tracing_mark_write: E|593
22809  composer@2.1-s-593   (  593) [002] ...1 1034718.067118: tracing_mark_write: E|593
22810  composer@2.1-s-593   (  593) [002] ...1 1034718.067146: tracing_mark_write: E|593
22811  surfaceflinger-591   (  591) [000] ...1 1034718.067204: tracing_mark_write: E|591
22812    RenderThread-11249 ( 1151) [007] ...1 1034718.068600: tracing_mark_write: B|1151|HIDL::IMapper::createDescriptor::passthrough
22813    RenderThread-11249 ( 1151) [007] ...1 1034718.068607: tracing_mark_write: E|1151
22814    RenderThread-11249 ( 1151) [007] ...1 1034718.068621: tracing_mark_write: B|1151|HIDL::IAllocator::allocate::client
22815  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068705: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22816  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068726: tracing_mark_write: B|595|AllocBuffer
22817  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068731: tracing_mark_write: B|595|ION_IOC_ALLOC size: 2211840
22818  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068774: tracing_mark_write: E|595
22819  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068775: tracing_mark_write: B|595|ION_IOC_MAP
22820  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068783: tracing_mark_write: E|595
22821  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068785: tracing_mark_write: E|595
22822  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068787: tracing_mark_write: B|595|AllocBuffer
22823  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068789: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22824  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068793: tracing_mark_write: E|595
22825  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068794: tracing_mark_write: B|595|ION_IOC_MAP
22826  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068798: tracing_mark_write: E|595
22827  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068799: tracing_mark_write: E|595
22828  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068828: tracing_mark_write: E|595
22829  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068850: tracing_mark_write: B|595|FreeBuffer
22830  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068855: tracing_mark_write: E|595
22831  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068856: tracing_mark_write: B|595|FreeBuffer
22832  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068857: tracing_mark_write: B|595|UnmapBuffer
22833    RenderThread-11249 ( 1151) [007] ...1 1034718.068862: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough
22834  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068866: tracing_mark_write: E|595
22835  HwBinder:595_3-1779  (  595) [004] ...1 1034718.068869: tracing_mark_write: E|595
22836    RenderThread-11249 ( 1151) [007] ...1 1034718.068879: tracing_mark_write: E|1151
22837    RenderThread-11249 ( 1151) [007] ...1 1034718.068882: tracing_mark_write: E|1151
22838    RenderThread-11249 ( 1151) [007] ...1 1034718.069506: tracing_mark_write: B|1151|LockBuffer
22839    RenderThread-11249 ( 1151) [007] ...1 1034718.069511: tracing_mark_write: B|1151|MapBuffer
22840    RenderThread-11249 ( 1151) [007] ...1 1034718.069528: tracing_mark_write: E|1151
22841    RenderThread-11249 ( 1151) [007] ...1 1034718.069531: tracing_mark_write: B|1151|CleanBuffer
22842    RenderThread-11249 ( 1151) [007] ...1 1034718.069532: tracing_mark_write: C|1151|operation id|2
22843    RenderThread-11249 ( 1151) [007] ...1 1034718.070009: tracing_mark_write: E|1151
22844    RenderThread-11249 ( 1151) [007] ...1 1034718.070012: tracing_mark_write: E|1151
22845    RenderThread-11249 ( 1151) [007] ...1 1034718.071636: tracing_mark_write: B|1151|CleanBuffer
22846    RenderThread-11249 ( 1151) [007] ...1 1034718.071641: tracing_mark_write: C|1151|operation id|1
22847    RenderThread-11249 ( 1151) [007] ...1 1034718.072064: tracing_mark_write: E|1151
22848   Binder:2279_3-2325  ( 2279) [007] ...1 1034718.072623: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough
22849   Binder:2279_3-2325  ( 2279) [007] ...1 1034718.072679: tracing_mark_write: E|2279
22850    Binder:591_3-1218  (  591) [004] ...1 1034718.074330: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
22851    Binder:591_3-1218  (  591) [004] ...1 1034718.074348: tracing_mark_write: B|591|FreeBuffer
22852    Binder:591_3-1218  (  591) [004] ...1 1034718.074369: tracing_mark_write: E|591
22853    Binder:591_3-1218  (  591) [004] ...1 1034718.074371: tracing_mark_write: B|591|FreeBuffer
22854    Binder:591_3-1218  (  591) [004] ...1 1034718.074378: tracing_mark_write: E|591
22855    Binder:591_3-1218  (  591) [004] ...1 1034718.074382: tracing_mark_write: E|591
22856    Binder:591_3-1218  (  591) [004] ...1 1034718.074399: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
22857    Binder:591_3-1218  (  591) [004] ...1 1034718.074403: tracing_mark_write: E|591
22858    Binder:591_3-1218  (  591) [004] ...1 1034718.074410: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
22859  HwBinder:595_3-1779  (  595) [004] ...1 1034718.074473: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
22860  HwBinder:595_3-1779  (  595) [004] ...1 1034718.074493: tracing_mark_write: B|595|AllocBuffer
22861  HwBinder:595_3-1779  (  595) [004] ...1 1034718.074499: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280
22862  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075553: tracing_mark_write: E|595
22863  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075555: tracing_mark_write: B|595|ION_IOC_MAP
22864  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075566: tracing_mark_write: E|595
22865  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075569: tracing_mark_write: E|595
22866  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075571: tracing_mark_write: B|595|AllocBuffer
22867  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075575: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
22868  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075583: tracing_mark_write: E|595
22869  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075584: tracing_mark_write: B|595|ION_IOC_MAP
22870  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075588: tracing_mark_write: E|595
22871  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075589: tracing_mark_write: E|595
22872  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075621: tracing_mark_write: E|595
22873  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075659: tracing_mark_write: B|595|FreeBuffer
22874  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075664: tracing_mark_write: E|595
22875  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075665: tracing_mark_write: B|595|FreeBuffer
22876  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075667: tracing_mark_write: B|595|UnmapBuffer
22877  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075673: tracing_mark_write: E|595
22878  HwBinder:595_3-1779  (  595) [004] ...1 1034718.075676: tracing_mark_write: E|595
22879    Binder:591_3-1218  (  591) [004] ...1 1034718.075716: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
22880    Binder:591_3-1218  (  591) [004] ...1 1034718.075735: tracing_mark_write: E|591
22881    Binder:591_3-1218  (  591) [004] ...1 1034718.075739: tracing_mark_write: E|591
22882    RenderThread-27026 (27005) [005] ...1 1034718.075868: tracing_mark_write: B|27005|HIDL::IMapper::importBuffer::passthrough
22883    RenderThread-27026 (27005) [004] ...1 1034718.075942: tracing_mark_write: E|27005
22884   Binder:1151_D-2620  ( 1151) [007] ...1 1034718.078687: tracing_mark_write: B|1151|HIDL::IPower::powerHintAsync::client
22885   Binder:1151_D-2620  ( 1151) [007] ...1 1034718.078730: tracing_mark_write: E|1151
22886  power@1.2-serv-773   (  773) [004] ...1 1034718.078771: tracing_mark_write: B|773|HIDL::IPower::powerHintAsync::server
22887  power@1.2-serv-773   (  773) [004] ...1 1034718.078853: tracing_mark_write: B|773|launch
22888  power@1.2-serv-773   (  773) [004] ...1 1034718.078856: tracing_mark_write: C|773|launch_lock|0
22889  HwBinder:778_1-1087  (  778) [000] ...1 1034718.078903: tracing_mark_write: E|778
22890  power@1.2-serv-773   (  773) [004] ...1 1034718.078903: tracing_mark_write: E|773
22891  power@1.2-serv-773   (  773) [004] ...1 1034718.078906: tracing_mark_write: E|773
22892   SensorService-1283  ( 1151) [006] ...1 1034718.078979: tracing_mark_write: E|1151
22893   SensorService-1283  ( 1151) [006] ...1 1034718.079028: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22894  HwBinder:778_1-1087  (  778) [000] ...1 1034718.079084: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22895      android.bg-1184  ( 1151) [000] ...1 1034718.079654: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
22896  memtrack@1.0-s-748   (  748) [004] ...1 1034718.079750: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
22897  memtrack@1.0-s-748   (  748) [004] ...1 1034718.079764: tracing_mark_write: E|748
22898      android.bg-1184  ( 1151) [000] ...1 1034718.079813: tracing_mark_write: E|1151
22899      android.bg-1184  ( 1151) [000] ...1 1034718.079823: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
22900  memtrack@1.0-s-748   (  748) [001] ...1 1034718.079899: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
22901  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080002: tracing_mark_write: E|748
22902      android.bg-1184  ( 1151) [000] ...1 1034718.080040: tracing_mark_write: E|1151
22903      android.bg-1184  ( 1151) [000] ...1 1034718.080048: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
22904  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080086: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
22905  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080115: tracing_mark_write: E|748
22906      android.bg-1184  ( 1151) [000] ...1 1034718.080141: tracing_mark_write: E|1151
22907      android.bg-1184  ( 1151) [000] ...1 1034718.080146: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
22908  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080181: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
22909  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080189: tracing_mark_write: E|748
22910      android.bg-1184  ( 1151) [000] ...1 1034718.080220: tracing_mark_write: E|1151
22911      android.bg-1184  ( 1151) [000] ...1 1034718.080227: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
22912  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080264: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
22913  memtrack@1.0-s-748   (  748) [001] ...1 1034718.080271: tracing_mark_write: E|748
22914      android.bg-1184  ( 1151) [000] ...1 1034718.080302: tracing_mark_write: E|1151
22915  surfaceflinger-591   (  591) [000] ...1 1034718.082795: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22916  composer@2.1-s-593   (  593) [002] ...1 1034718.082927: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22917  composer@2.1-s-593   (  593) [002] ...1 1034718.083005: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
22918  composer@2.1-s-593   (  593) [002] ...1 1034718.083042: tracing_mark_write: E|593
22919  composer@2.1-s-593   (  593) [002] ...1 1034718.083100: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22920  composer@2.1-s-593   (  593) [002] ...1 1034718.083111: tracing_mark_write: E|593
22921  composer@2.1-s-593   (  593) [002] ...1 1034718.083116: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22922  composer@2.1-s-593   (  593) [002] ...1 1034718.083490: tracing_mark_write: B|593|HWDevice::Validate::
22923  composer@2.1-s-593   (  593) [002] ...1 1034718.083591: tracing_mark_write: E|593
22924  composer@2.1-s-593   (  593) [002] ...1 1034718.083616: tracing_mark_write: E|593
22925  composer@2.1-s-593   (  593) [002] ...1 1034718.083643: tracing_mark_write: E|593
22926  surfaceflinger-591   (  591) [000] ...1 1034718.083722: tracing_mark_write: E|591
22927  surfaceflinger-591   (  591) [000] ...1 1034718.083819: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22928  composer@2.1-s-593   (  593) [002] ...1 1034718.083866: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22929  composer@2.1-s-593   (  593) [002] ...1 1034718.083876: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22930  composer@2.1-s-593   (  593) [002] ...1 1034718.083887: tracing_mark_write: B|593|HWDevice::Commit::
22931  composer@2.1-s-593   (  593) [002] ...1 1034718.083988: tracing_mark_write: E|593
22932  composer@2.1-s-593   (  593) [002] ...1 1034718.084009: tracing_mark_write: E|593
22933  composer@2.1-s-593   (  593) [002] ...1 1034718.084033: tracing_mark_write: E|593
22934  surfaceflinger-591   (  591) [000] ...1 1034718.084082: tracing_mark_write: E|591
22935  HwBinder:778_1-1087  (  778) [004] ...1 1034718.098173: tracing_mark_write: E|778
22936   SensorService-1283  ( 1151) [006] ...1 1034718.098314: tracing_mark_write: E|1151
22937   SensorService-1283  ( 1151) [006] ...1 1034718.098365: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22938  HwBinder:778_1-1087  (  778) [004] ...1 1034718.098414: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22939  surfaceflinger-591   (  591) [000] ...1 1034718.099413: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22940  composer@2.1-s-593   (  593) [002] ...1 1034718.099530: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22941  composer@2.1-s-593   (  593) [002] ...1 1034718.099598: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
22942  composer@2.1-s-593   (  593) [002] ...1 1034718.099643: tracing_mark_write: E|593
22943  composer@2.1-s-593   (  593) [002] ...1 1034718.099695: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22944  composer@2.1-s-593   (  593) [002] ...1 1034718.099704: tracing_mark_write: E|593
22945  composer@2.1-s-593   (  593) [002] ...1 1034718.099709: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22946  composer@2.1-s-593   (  593) [002] ...1 1034718.100140: tracing_mark_write: B|593|HWDevice::Validate::
22947  composer@2.1-s-593   (  593) [002] ...1 1034718.100258: tracing_mark_write: E|593
22948  composer@2.1-s-593   (  593) [002] ...1 1034718.100288: tracing_mark_write: E|593
22949  composer@2.1-s-593   (  593) [002] ...1 1034718.100315: tracing_mark_write: E|593
22950  surfaceflinger-591   (  591) [000] ...1 1034718.100412: tracing_mark_write: E|591
22951  surfaceflinger-591   (  591) [000] ...1 1034718.100529: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22952  composer@2.1-s-593   (  593) [002] ...1 1034718.100597: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22953  composer@2.1-s-593   (  593) [002] ...1 1034718.100613: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22954  composer@2.1-s-593   (  593) [002] ...1 1034718.100629: tracing_mark_write: B|593|HWDevice::Commit::
22955  composer@2.1-s-593   (  593) [002] ...1 1034718.100762: tracing_mark_write: E|593
22956  composer@2.1-s-593   (  593) [002] ...1 1034718.100789: tracing_mark_write: E|593
22957  composer@2.1-s-593   (  593) [002] ...1 1034718.100822: tracing_mark_write: E|593
22958  surfaceflinger-591   (  591) [000] ...1 1034718.100890: tracing_mark_write: E|591
22959  surfaceflinger-591   (  591) [001] ...1 1034718.115962: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22960  composer@2.1-s-593   (  593) [002] ...1 1034718.116079: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22961  composer@2.1-s-593   (  593) [002] ...1 1034718.116160: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22962  composer@2.1-s-593   (  593) [002] ...1 1034718.116170: tracing_mark_write: E|593
22963  composer@2.1-s-593   (  593) [002] ...1 1034718.116174: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22964  composer@2.1-s-593   (  593) [002] ...1 1034718.116450: tracing_mark_write: B|593|HWDevice::Validate::
22965  composer@2.1-s-593   (  593) [002] ...1 1034718.116557: tracing_mark_write: E|593
22966  composer@2.1-s-593   (  593) [002] ...1 1034718.116579: tracing_mark_write: E|593
22967  composer@2.1-s-593   (  593) [002] ...1 1034718.116600: tracing_mark_write: E|593
22968  surfaceflinger-591   (  591) [001] ...1 1034718.116657: tracing_mark_write: E|591
22969  surfaceflinger-591   (  591) [001] ...1 1034718.116733: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22970  composer@2.1-s-593   (  593) [002] ...1 1034718.116775: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22971  composer@2.1-s-593   (  593) [002] ...1 1034718.116784: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22972  composer@2.1-s-593   (  593) [002] ...1 1034718.116796: tracing_mark_write: B|593|HWDevice::Commit::
22973  composer@2.1-s-593   (  593) [002] ...1 1034718.116889: tracing_mark_write: E|593
22974  composer@2.1-s-593   (  593) [002] ...1 1034718.116909: tracing_mark_write: E|593
22975  composer@2.1-s-593   (  593) [002] ...1 1034718.116933: tracing_mark_write: E|593
22976  surfaceflinger-591   (  591) [001] ...1 1034718.117001: tracing_mark_write: E|591
22977  HwBinder:778_1-1087  (  778) [001] ...1 1034718.117481: tracing_mark_write: E|778
22978   SensorService-1283  ( 1151) [006] ...1 1034718.117537: tracing_mark_write: E|1151
22979   SensorService-1283  ( 1151) [006] ...1 1034718.117586: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
22980  HwBinder:778_1-1087  (  778) [001] ...1 1034718.117627: tracing_mark_write: B|778|HIDL::ISensors::poll::server
22981  surfaceflinger-591   (  591) [000] ...1 1034718.133037: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22982  composer@2.1-s-593   (  593) [002] ...1 1034718.133280: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22983  composer@2.1-s-593   (  593) [002] ...1 1034718.133410: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22984  composer@2.1-s-593   (  593) [002] ...1 1034718.133421: tracing_mark_write: E|593
22985  composer@2.1-s-593   (  593) [002] ...1 1034718.133426: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
22986  composer@2.1-s-593   (  593) [002] ...1 1034718.133873: tracing_mark_write: B|593|HWDevice::Validate::
22987  composer@2.1-s-593   (  593) [002] ...1 1034718.134003: tracing_mark_write: E|593
22988  composer@2.1-s-593   (  593) [002] ...1 1034718.134033: tracing_mark_write: E|593
22989  composer@2.1-s-593   (  593) [002] ...1 1034718.134061: tracing_mark_write: E|593
22990  surfaceflinger-591   (  591) [000] ...1 1034718.134149: tracing_mark_write: E|591
22991  surfaceflinger-591   (  591) [000] ...1 1034718.134247: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
22992  composer@2.1-s-593   (  593) [002] ...1 1034718.134299: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
22993  composer@2.1-s-593   (  593) [002] ...1 1034718.134310: tracing_mark_write: B|593|HWCSession::PresentDisplay::
22994  composer@2.1-s-593   (  593) [002] ...1 1034718.134325: tracing_mark_write: B|593|HWDevice::Commit::
22995  composer@2.1-s-593   (  593) [002] ...1 1034718.134463: tracing_mark_write: E|593
22996  composer@2.1-s-593   (  593) [002] ...1 1034718.134491: tracing_mark_write: E|593
22997  composer@2.1-s-593   (  593) [002] ...1 1034718.134527: tracing_mark_write: E|593
22998  surfaceflinger-591   (  591) [000] ...1 1034718.134579: tracing_mark_write: E|591
22999  HwBinder:778_1-1087  (  778) [000] ...1 1034718.136929: tracing_mark_write: E|778
23000   SensorService-1283  ( 1151) [006] ...1 1034718.137058: tracing_mark_write: E|1151
23001   SensorService-1283  ( 1151) [006] ...1 1034718.137116: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23002  HwBinder:778_1-1087  (  778) [000] ...1 1034718.137165: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23003  surfaceflinger-591   (  591) [001] ...1 1034718.150136: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23004  composer@2.1-s-593   (  593) [002] ...1 1034718.150276: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23005  composer@2.1-s-593   (  593) [002] ...1 1034718.150370: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23006  composer@2.1-s-593   (  593) [002] ...1 1034718.150380: tracing_mark_write: E|593
23007  composer@2.1-s-593   (  593) [002] ...1 1034718.150386: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23008  composer@2.1-s-593   (  593) [002] ...1 1034718.150734: tracing_mark_write: B|593|HWDevice::Validate::
23009  composer@2.1-s-593   (  593) [002] ...1 1034718.150837: tracing_mark_write: E|593
23010  composer@2.1-s-593   (  593) [002] ...1 1034718.150859: tracing_mark_write: E|593
23011  composer@2.1-s-593   (  593) [002] ...1 1034718.150883: tracing_mark_write: E|593
23012  surfaceflinger-591   (  591) [001] ...1 1034718.150945: tracing_mark_write: E|591
23013  surfaceflinger-591   (  591) [001] ...1 1034718.151024: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23014  composer@2.1-s-593   (  593) [002] ...1 1034718.151063: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23015  composer@2.1-s-593   (  593) [002] ...1 1034718.151073: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23016  composer@2.1-s-593   (  593) [002] ...1 1034718.151085: tracing_mark_write: B|593|HWDevice::Commit::
23017  composer@2.1-s-593   (  593) [002] ...1 1034718.151197: tracing_mark_write: E|593
23018  composer@2.1-s-593   (  593) [002] ...1 1034718.151217: tracing_mark_write: E|593
23019  composer@2.1-s-593   (  593) [002] ...1 1034718.151243: tracing_mark_write: E|593
23020  surfaceflinger-591   (  591) [001] ...1 1034718.151290: tracing_mark_write: E|591
23021  HwBinder:778_1-1087  (  778) [000] ...1 1034718.155952: tracing_mark_write: E|778
23022   SensorService-1283  ( 1151) [006] ...1 1034718.156026: tracing_mark_write: E|1151
23023   SensorService-1283  ( 1151) [006] ...1 1034718.156086: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23024  HwBinder:778_1-1087  (  778) [000] ...1 1034718.156136: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23025  surfaceflinger-591   (  591) [000] ...1 1034718.166195: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23026  composer@2.1-s-593   (  593) [002] ...1 1034718.166288: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23027  composer@2.1-s-593   (  593) [002] ...1 1034718.166365: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23028  composer@2.1-s-593   (  593) [002] ...1 1034718.166373: tracing_mark_write: E|593
23029  composer@2.1-s-593   (  593) [002] ...1 1034718.166378: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23030  composer@2.1-s-593   (  593) [002] ...1 1034718.166728: tracing_mark_write: B|593|HWDevice::Validate::
23031  composer@2.1-s-593   (  593) [002] ...1 1034718.166822: tracing_mark_write: E|593
23032  composer@2.1-s-593   (  593) [002] ...1 1034718.166843: tracing_mark_write: E|593
23033  composer@2.1-s-593   (  593) [002] ...1 1034718.166862: tracing_mark_write: E|593
23034  surfaceflinger-591   (  591) [000] ...1 1034718.166913: tracing_mark_write: E|591
23035  surfaceflinger-591   (  591) [000] ...1 1034718.166988: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23036  composer@2.1-s-593   (  593) [002] ...1 1034718.167028: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23037  composer@2.1-s-593   (  593) [002] ...1 1034718.167037: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23038  composer@2.1-s-593   (  593) [002] ...1 1034718.167049: tracing_mark_write: B|593|HWDevice::Commit::
23039  composer@2.1-s-593   (  593) [002] ...1 1034718.167148: tracing_mark_write: E|593
23040  composer@2.1-s-593   (  593) [002] ...1 1034718.167168: tracing_mark_write: E|593
23041  composer@2.1-s-593   (  593) [002] ...1 1034718.167194: tracing_mark_write: E|593
23042  surfaceflinger-591   (  591) [000] ...1 1034718.167240: tracing_mark_write: E|591
23043  HwBinder:778_1-1087  (  778) [000] ...1 1034718.175320: tracing_mark_write: E|778
23044   SensorService-1283  ( 1151) [006] ...1 1034718.175431: tracing_mark_write: E|1151
23045   SensorService-1283  ( 1151) [006] ...1 1034718.175500: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23046  HwBinder:778_1-1087  (  778) [000] ...1 1034718.175603: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23047  surfaceflinger-591   (  591) [000] ...1 1034718.185847: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23048  composer@2.1-s-593   (  593) [002] ...1 1034718.186084: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23049  composer@2.1-s-593   (  593) [002] ...1 1034718.186279: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23050  composer@2.1-s-593   (  593) [002] ...1 1034718.186305: tracing_mark_write: E|593
23051  composer@2.1-s-593   (  593) [002] ...1 1034718.186321: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23052  composer@2.1-s-593   (  593) [002] ...1 1034718.187078: tracing_mark_write: B|593|HWDevice::Validate::
23053  composer@2.1-s-593   (  593) [002] ...1 1034718.187271: tracing_mark_write: E|593
23054  composer@2.1-s-593   (  593) [002] ...1 1034718.187331: tracing_mark_write: E|593
23055  composer@2.1-s-593   (  593) [002] ...1 1034718.187376: tracing_mark_write: E|593
23056  surfaceflinger-591   (  591) [000] ...1 1034718.187517: tracing_mark_write: E|591
23057  surfaceflinger-591   (  591) [000] ...1 1034718.187707: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23058  composer@2.1-s-593   (  593) [002] ...1 1034718.187840: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23059  composer@2.1-s-593   (  593) [002] ...1 1034718.187869: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23060  composer@2.1-s-593   (  593) [002] ...1 1034718.187900: tracing_mark_write: B|593|HWDevice::Commit::
23061  composer@2.1-s-593   (  593) [002] ...1 1034718.188169: tracing_mark_write: E|593
23062  composer@2.1-s-593   (  593) [002] ...1 1034718.188225: tracing_mark_write: E|593
23063  composer@2.1-s-593   (  593) [002] ...1 1034718.188296: tracing_mark_write: E|593
23064  surfaceflinger-591   (  591) [000] ...1 1034718.188460: tracing_mark_write: E|591
23065  HwBinder:778_1-1087  (  778) [000] ...1 1034718.194501: tracing_mark_write: E|778
23066   SensorService-1283  ( 1151) [006] ...1 1034718.194632: tracing_mark_write: E|1151
23067   SensorService-1283  ( 1151) [006] ...1 1034718.194839: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23068  HwBinder:778_1-1087  (  778) [000] ...1 1034718.194998: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23069  surfaceflinger-591   (  591) [000] ...1 1034718.202222: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23070  composer@2.1-s-593   (  593) [002] ...1 1034718.202455: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23071  composer@2.1-s-593   (  593) [002] ...1 1034718.202656: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23072  composer@2.1-s-593   (  593) [002] ...1 1034718.202683: tracing_mark_write: E|593
23073  composer@2.1-s-593   (  593) [002] ...1 1034718.202699: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23074  composer@2.1-s-593   (  593) [002] ...1 1034718.203537: tracing_mark_write: B|593|HWDevice::Validate::
23075  composer@2.1-s-593   (  593) [002] ...1 1034718.203757: tracing_mark_write: E|593
23076  composer@2.1-s-593   (  593) [002] ...1 1034718.203823: tracing_mark_write: E|593
23077  composer@2.1-s-593   (  593) [002] ...1 1034718.203876: tracing_mark_write: E|593
23078  surfaceflinger-591   (  591) [000] ...1 1034718.204033: tracing_mark_write: E|591
23079  surfaceflinger-591   (  591) [000] ...1 1034718.204260: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23080  composer@2.1-s-593   (  593) [002] ...1 1034718.204406: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23081  composer@2.1-s-593   (  593) [002] ...1 1034718.204439: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23082  composer@2.1-s-593   (  593) [002] ...1 1034718.204478: tracing_mark_write: B|593|HWDevice::Commit::
23083  composer@2.1-s-593   (  593) [002] ...1 1034718.204797: tracing_mark_write: E|593
23084  composer@2.1-s-593   (  593) [002] ...1 1034718.204861: tracing_mark_write: E|593
23085  composer@2.1-s-593   (  593) [002] ...1 1034718.204938: tracing_mark_write: E|593
23086  surfaceflinger-591   (  591) [000] ...1 1034718.205110: tracing_mark_write: E|591
23087  HwBinder:778_1-1087  (  778) [000] ...1 1034718.213950: tracing_mark_write: E|778
23088   SensorService-1283  ( 1151) [006] ...1 1034718.214092: tracing_mark_write: E|1151
23089   SensorService-1283  ( 1151) [006] ...1 1034718.214194: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23090  HwBinder:778_1-1087  (  778) [000] ...1 1034718.214313: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23091  surfaceflinger-591   (  591) [000] ...1 1034718.218240: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23092  composer@2.1-s-593   (  593) [002] ...1 1034718.218402: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23093  composer@2.1-s-593   (  593) [002] ...1 1034718.218542: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23094  composer@2.1-s-593   (  593) [002] ...1 1034718.218558: tracing_mark_write: E|593
23095  composer@2.1-s-593   (  593) [002] ...1 1034718.218567: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23096  composer@2.1-s-593   (  593) [002] ...1 1034718.219080: tracing_mark_write: B|593|HWDevice::Validate::
23097  composer@2.1-s-593   (  593) [002] ...1 1034718.219206: tracing_mark_write: E|593
23098  composer@2.1-s-593   (  593) [002] ...1 1034718.219243: tracing_mark_write: E|593
23099  composer@2.1-s-593   (  593) [002] ...1 1034718.219276: tracing_mark_write: E|593
23100  surfaceflinger-591   (  591) [000] ...1 1034718.219376: tracing_mark_write: E|591
23101  surfaceflinger-591   (  591) [000] ...1 1034718.219510: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23102  composer@2.1-s-593   (  593) [002] ...1 1034718.219590: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23103  composer@2.1-s-593   (  593) [002] ...1 1034718.219607: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23104  composer@2.1-s-593   (  593) [002] ...1 1034718.219628: tracing_mark_write: B|593|HWDevice::Commit::
23105  composer@2.1-s-593   (  593) [002] ...1 1034718.219807: tracing_mark_write: E|593
23106  composer@2.1-s-593   (  593) [002] ...1 1034718.219840: tracing_mark_write: E|593
23107  composer@2.1-s-593   (  593) [002] ...1 1034718.219944: tracing_mark_write: E|593
23108  surfaceflinger-591   (  591) [000] ...1 1034718.220036: tracing_mark_write: E|591
23109  HwBinder:778_1-1087  (  778) [006] ...1 1034718.233317: tracing_mark_write: E|778
23110   SensorService-1283  ( 1151) [003] ...1 1034718.233420: tracing_mark_write: E|1151
23111   SensorService-1283  ( 1151) [003] ...1 1034718.233543: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23112  HwBinder:778_1-1087  (  778) [006] ...1 1034718.233625: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23113  surfaceflinger-591   (  591) [000] ...1 1034718.234747: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23114  composer@2.1-s-593   (  593) [002] ...1 1034718.234908: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23115  composer@2.1-s-593   (  593) [002] ...1 1034718.235045: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23116  composer@2.1-s-593   (  593) [002] ...1 1034718.235062: tracing_mark_write: E|593
23117  composer@2.1-s-593   (  593) [002] ...1 1034718.235070: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23118    android.anim-1277  ( 1151) [004] ...1 1034718.235362: tracing_mark_write: B|1151|HIDL::IMapper::freeBuffer::passthrough
23119    android.anim-1277  ( 1151) [004] ...1 1034718.235387: tracing_mark_write: B|1151|FreeBuffer
23120    android.anim-1277  ( 1151) [004] ...1 1034718.235391: tracing_mark_write: B|1151|UnmapBuffer
23121    android.anim-1277  ( 1151) [004] ...1 1034718.235461: tracing_mark_write: E|1151
23122    android.anim-1277  ( 1151) [004] ...1 1034718.235508: tracing_mark_write: E|1151
23123    android.anim-1277  ( 1151) [004] ...1 1034718.235510: tracing_mark_write: B|1151|FreeBuffer
23124    android.anim-1277  ( 1151) [004] ...1 1034718.235515: tracing_mark_write: E|1151
23125    android.anim-1277  ( 1151) [004] ...1 1034718.235523: tracing_mark_write: E|1151
23126  composer@2.1-s-593   (  593) [002] ...1 1034718.235598: tracing_mark_write: B|593|HWDevice::Validate::
23127  composer@2.1-s-593   (  593) [002] ...1 1034718.235725: tracing_mark_write: E|593
23128  composer@2.1-s-593   (  593) [002] ...1 1034718.235765: tracing_mark_write: E|593
23129  composer@2.1-s-593   (  593) [002] ...1 1034718.235800: tracing_mark_write: E|593
23130  surfaceflinger-591   (  591) [000] ...1 1034718.235892: tracing_mark_write: E|591
23131  surfaceflinger-591   (  591) [000] ...1 1034718.236022: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23132  composer@2.1-s-593   (  593) [002] ...1 1034718.236103: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23133  composer@2.1-s-593   (  593) [002] ...1 1034718.236120: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23134  composer@2.1-s-593   (  593) [002] ...1 1034718.236142: tracing_mark_write: B|593|HWDevice::Commit::
23135  composer@2.1-s-593   (  593) [002] ...1 1034718.236328: tracing_mark_write: E|593
23136  composer@2.1-s-593   (  593) [002] ...1 1034718.236365: tracing_mark_write: E|593
23137  composer@2.1-s-593   (  593) [002] ...1 1034718.236410: tracing_mark_write: E|593
23138  surfaceflinger-591   (  591) [000] ...1 1034718.236510: tracing_mark_write: E|591
23139  surfaceflinger-591   (  591) [000] ...1 1034718.249911: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
23140  surfaceflinger-591   (  591) [000] ...1 1034718.249945: tracing_mark_write: B|591|FreeBuffer
23141  surfaceflinger-591   (  591) [000] ...1 1034718.250007: tracing_mark_write: E|591
23142  surfaceflinger-591   (  591) [000] ...1 1034718.250014: tracing_mark_write: B|591|FreeBuffer
23143  surfaceflinger-591   (  591) [000] ...1 1034718.250036: tracing_mark_write: E|591
23144  surfaceflinger-591   (  591) [000] ...1 1034718.250047: tracing_mark_write: E|591
23145  surfaceflinger-591   (  591) [000] ...1 1034718.251623: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23146  composer@2.1-s-593   (  593) [002] ...1 1034718.251837: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23147  composer@2.1-s-593   (  593) [002] ...1 1034718.251988: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23148  composer@2.1-s-593   (  593) [002] ...1 1034718.252006: tracing_mark_write: E|593
23149  composer@2.1-s-593   (  593) [002] ...1 1034718.252016: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23150  HwBinder:778_1-1087  (  778) [000] ...1 1034718.252346: tracing_mark_write: E|778
23151   SensorService-1283  ( 1151) [003] ...1 1034718.252469: tracing_mark_write: E|1151
23152  composer@2.1-s-593   (  593) [002] ...1 1034718.252563: tracing_mark_write: B|593|HWDevice::Validate::
23153   SensorService-1283  ( 1151) [003] ...1 1034718.252617: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23154  composer@2.1-s-593   (  593) [002] ...1 1034718.252698: tracing_mark_write: E|593
23155  HwBinder:778_1-1087  (  778) [000] ...1 1034718.252708: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23156  composer@2.1-s-593   (  593) [002] ...1 1034718.252741: tracing_mark_write: E|593
23157  composer@2.1-s-593   (  593) [002] ...1 1034718.252777: tracing_mark_write: E|593
23158  surfaceflinger-591   (  591) [000] ...1 1034718.252873: tracing_mark_write: E|591
23159  surfaceflinger-591   (  591) [000] ...1 1034718.253014: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23160  composer@2.1-s-593   (  593) [002] ...1 1034718.253095: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23161  composer@2.1-s-593   (  593) [002] ...1 1034718.253115: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23162  composer@2.1-s-593   (  593) [002] ...1 1034718.253136: tracing_mark_write: B|593|HWDevice::Commit::
23163  composer@2.1-s-593   (  593) [002] ...1 1034718.253372: tracing_mark_write: E|593
23164  composer@2.1-s-593   (  593) [002] ...1 1034718.253407: tracing_mark_write: E|593
23165  composer@2.1-s-593   (  593) [002] ...1 1034718.253448: tracing_mark_write: E|593
23166  surfaceflinger-591   (  591) [000] ...1 1034718.253543: tracing_mark_write: E|591
23167  surfaceflinger-591   (  591) [000] ...1 1034718.268958: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23168  composer@2.1-s-593   (  593) [002] ...1 1034718.269089: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23169  composer@2.1-s-593   (  593) [002] ...1 1034718.269192: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23170  composer@2.1-s-593   (  593) [002] ...1 1034718.269205: tracing_mark_write: E|593
23171  composer@2.1-s-593   (  593) [002] ...1 1034718.269211: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23172  composer@2.1-s-593   (  593) [002] ...1 1034718.269575: tracing_mark_write: B|593|HWDevice::Validate::
23173  composer@2.1-s-593   (  593) [002] ...1 1034718.269666: tracing_mark_write: E|593
23174  composer@2.1-s-593   (  593) [002] ...1 1034718.269693: tracing_mark_write: E|593
23175  composer@2.1-s-593   (  593) [002] ...1 1034718.269719: tracing_mark_write: E|593
23176  surfaceflinger-591   (  591) [000] ...1 1034718.269792: tracing_mark_write: E|591
23177  surfaceflinger-591   (  591) [000] ...1 1034718.269922: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23178  composer@2.1-s-593   (  593) [002] ...1 1034718.269983: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23179  composer@2.1-s-593   (  593) [002] ...1 1034718.269999: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23180  composer@2.1-s-593   (  593) [002] ...1 1034718.270014: tracing_mark_write: B|593|HWDevice::Commit::
23181  composer@2.1-s-593   (  593) [002] ...1 1034718.270146: tracing_mark_write: E|593
23182  composer@2.1-s-593   (  593) [002] ...1 1034718.270171: tracing_mark_write: E|593
23183  composer@2.1-s-593   (  593) [002] ...1 1034718.270201: tracing_mark_write: E|593
23184  surfaceflinger-591   (  591) [000] ...1 1034718.270269: tracing_mark_write: E|591
23185  HwBinder:778_1-1087  (  778) [000] ...1 1034718.271516: tracing_mark_write: E|778
23186   SensorService-1283  ( 1151) [003] ...1 1034718.271596: tracing_mark_write: E|1151
23187   SensorService-1283  ( 1151) [003] ...1 1034718.271696: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23188  HwBinder:778_1-1087  (  778) [000] ...1 1034718.271757: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23189  surfaceflinger-591   (  591) [002] ...1 1034718.284138: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23190  composer@2.1-s-593   (  593) [000] ...1 1034718.284268: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23191  composer@2.1-s-593   (  593) [000] ...1 1034718.284368: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23192  composer@2.1-s-593   (  593) [000] ...1 1034718.284380: tracing_mark_write: E|593
23193  composer@2.1-s-593   (  593) [000] ...1 1034718.284388: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23194  composer@2.1-s-593   (  593) [000] ...1 1034718.284742: tracing_mark_write: B|593|HWDevice::Validate::
23195  composer@2.1-s-593   (  593) [000] ...1 1034718.284828: tracing_mark_write: E|593
23196  composer@2.1-s-593   (  593) [000] ...1 1034718.284855: tracing_mark_write: E|593
23197  composer@2.1-s-593   (  593) [000] ...1 1034718.284879: tracing_mark_write: E|593
23198  surfaceflinger-591   (  591) [002] ...1 1034718.284944: tracing_mark_write: E|591
23199  surfaceflinger-591   (  591) [002] ...1 1034718.285040: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23200  composer@2.1-s-593   (  593) [000] ...1 1034718.285096: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23201  composer@2.1-s-593   (  593) [000] ...1 1034718.285109: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23202  composer@2.1-s-593   (  593) [000] ...1 1034718.285124: tracing_mark_write: B|593|HWDevice::Commit::
23203  composer@2.1-s-593   (  593) [000] ...1 1034718.285248: tracing_mark_write: E|593
23204  composer@2.1-s-593   (  593) [000] ...1 1034718.285273: tracing_mark_write: E|593
23205  composer@2.1-s-593   (  593) [000] ...1 1034718.285303: tracing_mark_write: E|593
23206  surfaceflinger-591   (  591) [002] ...1 1034718.285366: tracing_mark_write: E|591
23207  HwBinder:778_1-1087  (  778) [000] ...1 1034718.291039: tracing_mark_write: E|778
23208   SensorService-1283  ( 1151) [003] ...1 1034718.291186: tracing_mark_write: E|1151
23209   SensorService-1283  ( 1151) [003] ...1 1034718.291422: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23210  HwBinder:778_1-1087  (  778) [000] ...1 1034718.291563: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23211  surfaceflinger-591   (  591) [000] ...1 1034718.302960: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23212  composer@2.1-s-593   (  593) [001] ...1 1034718.303260: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23213  MobileIQWorker-27051 (27005) [005] ...1 1034718.303435: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized
23214  composer@2.1-s-593   (  593) [001] ...1 1034718.303487: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23215  composer@2.1-s-593   (  593) [001] ...1 1034718.303515: tracing_mark_write: E|593
23216  composer@2.1-s-593   (  593) [001] ...1 1034718.303532: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23217  composer@2.1-s-593   (  593) [001] ...1 1034718.304285: tracing_mark_write: B|593|HWDevice::Validate::
23218  composer@2.1-s-593   (  593) [001] ...1 1034718.304456: tracing_mark_write: E|593
23219  composer@2.1-s-593   (  593) [001] ...1 1034718.304521: tracing_mark_write: E|593
23220  composer@2.1-s-593   (  593) [001] ...1 1034718.304575: tracing_mark_write: E|593
23221  surfaceflinger-591   (  591) [000] ...1 1034718.304735: tracing_mark_write: E|591
23222  surfaceflinger-591   (  591) [000] ...1 1034718.304961: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23223  composer@2.1-s-593   (  593) [001] ...1 1034718.305105: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23224  composer@2.1-s-593   (  593) [001] ...1 1034718.305134: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23225  composer@2.1-s-593   (  593) [001] ...1 1034718.305166: tracing_mark_write: B|593|HWDevice::Commit::
23226  composer@2.1-s-593   (  593) [001] ...1 1034718.305429: tracing_mark_write: E|593
23227  composer@2.1-s-593   (  593) [001] ...1 1034718.305482: tracing_mark_write: E|593
23228  composer@2.1-s-593   (  593) [001] ...1 1034718.305552: tracing_mark_write: E|593
23229  surfaceflinger-591   (  591) [000] ...1 1034718.305713: tracing_mark_write: E|591
23230  HwBinder:778_1-1087  (  778) [000] ...1 1034718.310433: tracing_mark_write: E|778
23231   SensorService-1283  ( 1151) [003] ...1 1034718.310583: tracing_mark_write: E|1151
23232   SensorService-1283  ( 1151) [003] ...1 1034718.310739: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23233  HwBinder:778_1-1087  (  778) [000] ...1 1034718.310881: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23234  surfaceflinger-591   (  591) [000] ...1 1034718.319671: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23235  composer@2.1-s-593   (  593) [001] ...1 1034718.319947: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23236  composer@2.1-s-593   (  593) [001] ...1 1034718.320145: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23237  composer@2.1-s-593   (  593) [001] ...1 1034718.320171: tracing_mark_write: E|593
23238  composer@2.1-s-593   (  593) [001] ...1 1034718.320188: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23239  composer@2.1-s-593   (  593) [001] ...1 1034718.320894: tracing_mark_write: B|593|HWDevice::Validate::
23240  composer@2.1-s-593   (  593) [001] ...1 1034718.321058: tracing_mark_write: E|593
23241  composer@2.1-s-593   (  593) [001] ...1 1034718.321117: tracing_mark_write: E|593
23242  composer@2.1-s-593   (  593) [001] ...1 1034718.321163: tracing_mark_write: E|593
23243  surfaceflinger-591   (  591) [000] ...1 1034718.321303: tracing_mark_write: E|591
23244  surfaceflinger-591   (  591) [000] ...1 1034718.321503: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23245  composer@2.1-s-593   (  593) [001] ...1 1034718.321635: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23246  composer@2.1-s-593   (  593) [001] ...1 1034718.321664: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23247  composer@2.1-s-593   (  593) [001] ...1 1034718.321695: tracing_mark_write: B|593|HWDevice::Commit::
23248  composer@2.1-s-593   (  593) [001] ...1 1034718.321955: tracing_mark_write: E|593
23249  composer@2.1-s-593   (  593) [001] ...1 1034718.322006: tracing_mark_write: E|593
23250  composer@2.1-s-593   (  593) [001] ...1 1034718.322076: tracing_mark_write: E|593
23251  surfaceflinger-591   (  591) [000] ...1 1034718.322231: tracing_mark_write: E|591
23252  HwBinder:778_1-1087  (  778) [000] ...1 1034718.329559: tracing_mark_write: E|778
23253   SensorService-1283  ( 1151) [003] ...1 1034718.329711: tracing_mark_write: E|1151
23254   SensorService-1283  ( 1151) [003] ...1 1034718.329853: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23255  HwBinder:778_1-1087  (  778) [000] ...1 1034718.330045: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23256  surfaceflinger-591   (  591) [000] ...1 1034718.336034: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client
23257  composer@2.1-s-593   (  593) [001] ...1 1034718.336204: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server
23258  composer@2.1-s-593   (  593) [001] ...1 1034718.336297: tracing_mark_write: E|593
23259  surfaceflinger-591   (  591) [000] ...1 1034718.336399: tracing_mark_write: E|591
23260  surfaceflinger-591   (  591) [000] ...1 1034718.336962: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23261  composer@2.1-s-593   (  593) [001] ...1 1034718.337251: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23262  composer@2.1-s-593   (  593) [001] ...1 1034718.337412: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
23263  composer@2.1-s-593   (  593) [001] ...1 1034718.337479: tracing_mark_write: E|593
23264  composer@2.1-s-593   (  593) [001] ...1 1034718.337621: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23265  composer@2.1-s-593   (  593) [001] ...1 1034718.337650: tracing_mark_write: E|593
23266  composer@2.1-s-593   (  593) [001] ...1 1034718.337669: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23267  composer@2.1-s-593   (  593) [001] ...1 1034718.338420: tracing_mark_write: B|593|HWDevice::Validate::
23268  composer@2.1-s-593   (  593) [001] ...1 1034718.338685: tracing_mark_write: E|593
23269  composer@2.1-s-593   (  593) [001] ...1 1034718.338751: tracing_mark_write: E|593
23270  composer@2.1-s-593   (  593) [001] ...1 1034718.338795: tracing_mark_write: E|593
23271  surfaceflinger-591   (  591) [000] ...1 1034718.338923: tracing_mark_write: E|591
23272  surfaceflinger-591   (  591) [000] ...1 1034718.339139: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23273  composer@2.1-s-593   (  593) [001] ...1 1034718.339269: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23274  composer@2.1-s-593   (  593) [001] ...1 1034718.339298: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23275  composer@2.1-s-593   (  593) [001] ...1 1034718.339330: tracing_mark_write: B|593|HWDevice::Commit::
23276  composer@2.1-s-593   (  593) [001] ...1 1034718.339632: tracing_mark_write: E|593
23277  composer@2.1-s-593   (  593) [001] ...1 1034718.339690: tracing_mark_write: E|593
23278  composer@2.1-s-593   (  593) [001] ...1 1034718.339766: tracing_mark_write: E|593
23279  surfaceflinger-591   (  591) [000] ...1 1034718.339973: tracing_mark_write: E|591
23280  HwBinder:778_1-1087  (  778) [000] ...1 1034718.348830: tracing_mark_write: E|778
23281   SensorService-1283  ( 1151) [003] ...1 1034718.348981: tracing_mark_write: E|1151
23282   SensorService-1283  ( 1151) [003] ...1 1034718.349124: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23283  HwBinder:778_1-1087  (  778) [000] ...1 1034718.349266: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23284  surfaceflinger-591   (  591) [002] ...1 1034718.353783: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23285  composer@2.1-s-593   (  593) [001] ...1 1034718.354080: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23286  composer@2.1-s-593   (  593) [001] ...1 1034718.354258: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
23287  composer@2.1-s-593   (  593) [001] ...1 1034718.354345: tracing_mark_write: E|593
23288  composer@2.1-s-593   (  593) [001] ...1 1034718.354516: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23289  composer@2.1-s-593   (  593) [001] ...1 1034718.354547: tracing_mark_write: E|593
23290  composer@2.1-s-593   (  593) [001] ...1 1034718.354564: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23291  composer@2.1-s-593   (  593) [001] ...1 1034718.355434: tracing_mark_write: B|593|HWDevice::Validate::
23292  composer@2.1-s-593   (  593) [001] ...1 1034718.355677: tracing_mark_write: E|593
23293  composer@2.1-s-593   (  593) [001] ...1 1034718.355749: tracing_mark_write: E|593
23294  composer@2.1-s-593   (  593) [001] ...1 1034718.355804: tracing_mark_write: E|593
23295  surfaceflinger-591   (  591) [002] ...1 1034718.355960: tracing_mark_write: E|591
23296  surfaceflinger-591   (  591) [002] ...1 1034718.356203: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23297  composer@2.1-s-593   (  593) [001] ...1 1034718.356345: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23298  composer@2.1-s-593   (  593) [001] ...1 1034718.356376: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23299  composer@2.1-s-593   (  593) [001] ...1 1034718.356413: tracing_mark_write: B|593|HWDevice::Commit::
23300  composer@2.1-s-593   (  593) [001] ...1 1034718.356811: tracing_mark_write: E|593
23301  composer@2.1-s-593   (  593) [001] ...1 1034718.356870: tracing_mark_write: E|593
23302  composer@2.1-s-593   (  593) [001] ...1 1034718.356953: tracing_mark_write: E|593
23303  surfaceflinger-591   (  591) [000] ...1 1034718.357143: tracing_mark_write: E|591
23304  HwBinder:778_1-1087  (  778) [002] ...1 1034718.368109: tracing_mark_write: E|778
23305   SensorService-1283  ( 1151) [003] ...1 1034718.368287: tracing_mark_write: E|1151
23306   SensorService-1283  ( 1151) [003] ...1 1034718.368448: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23307  HwBinder:778_1-1087  (  778) [002] ...1 1034718.368592: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23308  MobileIQWorker-27051 (27005) [005] ...1 1034718.370141: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark
23309  surfaceflinger-591   (  591) [000] ...1 1034718.370459: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23310  MobileIQWorker-27051 (27005) [005] ...1 1034718.370644: tracing_mark_write: B|27005|HIDL::IServiceManager::listByInterface::client
23311  composer@2.1-s-593   (  593) [001] ...1 1034718.370750: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23312  hwservicemanag-570   (  570) [003] ...1 1034718.370839: tracing_mark_write: B|570|HIDL::IServiceManager::listByInterface::server
23313  composer@2.1-s-593   (  593) [001] ...1 1034718.370932: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
23314  composer@2.1-s-593   (  593) [001] ...1 1034718.371015: tracing_mark_write: E|593
23315  composer@2.1-s-593   (  593) [001] ...1 1034718.371180: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23316  composer@2.1-s-593   (  593) [001] ...1 1034718.371212: tracing_mark_write: E|593
23317  composer@2.1-s-593   (  593) [001] ...1 1034718.371229: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23318  composer@2.1-s-593   (  593) [001] ...1 1034718.372111: tracing_mark_write: B|593|HWDevice::Validate::
23319  hwservicemanag-570   (  570) [003] ...1 1034718.372291: tracing_mark_write: E|570
23320  composer@2.1-s-593   (  593) [001] ...1 1034718.372378: tracing_mark_write: E|593
23321  MobileIQWorker-27051 (27005) [004] ...1 1034718.372417: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client
23322  composer@2.1-s-593   (  593) [001] ...1 1034718.372458: tracing_mark_write: E|593
23323  composer@2.1-s-593   (  593) [001] ...1 1034718.372516: tracing_mark_write: E|593
23324  hwservicemanag-570   (  570) [003] ...1 1034718.372573: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server
23325  surfaceflinger-591   (  591) [000] ...1 1034718.372688: tracing_mark_write: E|591
23326  surfaceflinger-591   (  591) [000] ...1 1034718.373019: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23327  composer@2.1-s-593   (  593) [001] ...1 1034718.373168: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23328  composer@2.1-s-593   (  593) [001] ...1 1034718.373306: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23329  composer@2.1-s-593   (  593) [001] ...1 1034718.373350: tracing_mark_write: B|593|HWDevice::Commit::
23330  hwservicemanag-570   (  570) [003] .n.1 1034718.373539: tracing_mark_write: E|570
23331  composer@2.1-s-593   (  593) [001] ...1 1034718.373692: tracing_mark_write: E|593
23332  MobileIQWorker-27051 (27005) [005] ...1 1034718.373711: tracing_mark_write: E|27005
23333  MobileIQWorker-27051 (27005) [005] ...1 1034718.373724: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client
23334  composer@2.1-s-593   (  593) [001] ...1 1034718.373751: tracing_mark_write: E|593
23335  composer@2.1-s-593   (  593) [001] ...1 1034718.373852: tracing_mark_write: E|593
23336  hwservicemanag-570   (  570) [003] ...1 1034718.374000: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server
23337  surfaceflinger-591   (  591) [000] ...1 1034718.374031: tracing_mark_write: E|591
23338  hwservicemanag-570   (  570) [003] ...1 1034718.374566: tracing_mark_write: B|570|HIDL::IServiceNotification::onRegistration::client
23339  HwBinder:27005-27027 (27005) [004] ...1 1034718.374714: tracing_mark_write: B|27005|HIDL::IServiceNotification::onRegistration::server
23340  hwservicemanag-570   (  570) [003] ...1 1034718.374717: tracing_mark_write: E|570
23341  HwBinder:27005-27027 (27005) [004] ...1 1034718.374719: tracing_mark_write: E|27005
23342  hwservicemanag-570   (  570) [003] ...1 1034718.374749: tracing_mark_write: E|570
23343  MobileIQWorker-27051 (27005) [004] ...1 1034718.374811: tracing_mark_write: E|27005
23344  MobileIQWorker-27051 (27005) [004] ...1 1034718.374816: tracing_mark_write: B|27005|HIDL::IServiceManager::get::client
23345  hwservicemanag-570   (  570) [003] ...1 1034718.374871: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
23346  hwservicemanag-570   (  570) [003] ...1 1034718.375330: tracing_mark_write: E|570
23347  MobileIQWorker-27051 (27005) [005] ...1 1034718.375419: tracing_mark_write: E|27005
23348  MobileIQWorker-27051 (27005) [005] ...1 1034718.375425: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client
23349  HwBinder:756_2-23196 (  756) [006] ...1 1034718.375509: tracing_mark_write: B|756|HIDL::IBase::interfaceChain::server
23350  HwBinder:756_2-23196 (  756) [006] ...1 1034718.375602: tracing_mark_write: E|756
23351  MobileIQWorker-27051 (27005) [005] ...1 1034718.375641: tracing_mark_write: E|27005
23352  MobileIQWorker-27051 (27005) [005] ...1 1034718.375646: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client
23353  hwservicemanag-570   (  570) [003] ...1 1034718.375846: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server
23354  hwservicemanag-570   (  570) [003] ...1 1034718.375889: tracing_mark_write: E|570
23355  MobileIQWorker-27051 (27005) [004] ...1 1034718.375957: tracing_mark_write: E|27005
23356  MobileIQWorker-27051 (27005) [004] ...1 1034718.376005: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client
23357  HwBinder:756_2-23196 (  756) [006] ...1 1034718.376042: tracing_mark_write: B|756|HIDL::IBase::interfaceChain::server
23358  HwBinder:756_2-23196 (  756) [006] ...1 1034718.376046: tracing_mark_write: E|756
23359  MobileIQWorker-27051 (27005) [004] ...1 1034718.376064: tracing_mark_write: E|27005
23360  MobileIQWorker-27051 (27005) [004] ...1 1034718.376073: tracing_mark_write: B|27005|HIDL::IDevice::getCapabilities::client
23361  HwBinder:756_2-23196 (  756) [006] ...1 1034718.376094: tracing_mark_write: B|756|HIDL::IDevice::getCapabilities::server
23362  surfaceflinger-591   (  591) [000] ...1 1034718.385754: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23363  composer@2.1-s-593   (  593) [001] ...1 1034718.385939: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23364  composer@2.1-s-593   (  593) [001] ...1 1034718.386101: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23365  composer@2.1-s-593   (  593) [001] ...1 1034718.386121: tracing_mark_write: E|593
23366  composer@2.1-s-593   (  593) [001] ...1 1034718.386131: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23367  composer@2.1-s-593   (  593) [001] ...1 1034718.386742: tracing_mark_write: B|593|HWDevice::Validate::
23368  composer@2.1-s-593   (  593) [001] ...1 1034718.386910: tracing_mark_write: E|593
23369  composer@2.1-s-593   (  593) [001] ...1 1034718.386970: tracing_mark_write: E|593
23370  composer@2.1-s-593   (  593) [001] ...1 1034718.387013: tracing_mark_write: E|593
23371  surfaceflinger-591   (  591) [000] ...1 1034718.387153: tracing_mark_write: E|591
23372  surfaceflinger-591   (  591) [000] ...1 1034718.387370: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23373  composer@2.1-s-593   (  593) [001] ...1 1034718.387479: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23374  composer@2.1-s-593   (  593) [001] ...1 1034718.387511: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23375  composer@2.1-s-593   (  593) [001] ...1 1034718.387544: tracing_mark_write: B|593|HWDevice::Commit::
23376  composer@2.1-s-593   (  593) [001] ...1 1034718.387785: tracing_mark_write: E|593
23377  composer@2.1-s-593   (  593) [001] ...1 1034718.387840: tracing_mark_write: E|593
23378  composer@2.1-s-593   (  593) [001] ...1 1034718.387901: tracing_mark_write: E|593
23379  surfaceflinger-591   (  591) [000] ...1 1034718.388030: tracing_mark_write: E|591
23380  HwBinder:778_1-1087  (  778) [003] ...1 1034718.388153: tracing_mark_write: E|778
23381   SensorService-1283  ( 1151) [001] ...1 1034718.388281: tracing_mark_write: E|1151
23382   SensorService-1283  ( 1151) [001] ...1 1034718.388403: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23383  HwBinder:778_1-1087  (  778) [003] ...1 1034718.388504: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23384  surfaceflinger-591   (  591) [000] ...1 1034718.402050: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23385  composer@2.1-s-593   (  593) [001] ...1 1034718.402232: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23386  composer@2.1-s-593   (  593) [001] ...1 1034718.402378: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23387  composer@2.1-s-593   (  593) [001] ...1 1034718.402396: tracing_mark_write: E|593
23388  composer@2.1-s-593   (  593) [001] ...1 1034718.402404: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23389  composer@2.1-s-593   (  593) [001] ...1 1034718.402887: tracing_mark_write: B|593|HWDevice::Validate::
23390  composer@2.1-s-593   (  593) [001] ...1 1034718.403027: tracing_mark_write: E|593
23391  composer@2.1-s-593   (  593) [001] ...1 1034718.403064: tracing_mark_write: E|593
23392  composer@2.1-s-593   (  593) [001] ...1 1034718.403097: tracing_mark_write: E|593
23393  surfaceflinger-591   (  591) [000] ...1 1034718.403183: tracing_mark_write: E|591
23394  surfaceflinger-591   (  591) [000] ...1 1034718.403397: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23395  composer@2.1-s-593   (  593) [001] ...1 1034718.403459: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23396  composer@2.1-s-593   (  593) [001] ...1 1034718.403475: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23397  composer@2.1-s-593   (  593) [001] ...1 1034718.403493: tracing_mark_write: B|593|HWDevice::Commit::
23398  composer@2.1-s-593   (  593) [001] ...1 1034718.403658: tracing_mark_write: E|593
23399  composer@2.1-s-593   (  593) [001] ...1 1034718.403687: tracing_mark_write: E|593
23400  composer@2.1-s-593   (  593) [001] ...1 1034718.403726: tracing_mark_write: E|593
23401  surfaceflinger-591   (  591) [000] ...1 1034718.403802: tracing_mark_write: E|591
23402  HwBinder:778_1-1087  (  778) [000] ...1 1034718.406492: tracing_mark_write: E|778
23403   SensorService-1283  ( 1151) [001] ...1 1034718.406598: tracing_mark_write: E|1151
23404   SensorService-1283  ( 1151) [001] ...1 1034718.406693: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23405  HwBinder:778_1-1087  (  778) [000] ...1 1034718.406757: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23406  surfaceflinger-591   (  591) [000] ...1 1034718.418444: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23407  composer@2.1-s-593   (  593) [002] ...1 1034718.418625: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23408  composer@2.1-s-593   (  593) [002] ...1 1034718.418758: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23409  composer@2.1-s-593   (  593) [002] ...1 1034718.418773: tracing_mark_write: E|593
23410  composer@2.1-s-593   (  593) [002] ...1 1034718.418781: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23411  composer@2.1-s-593   (  593) [002] ...1 1034718.419224: tracing_mark_write: B|593|HWDevice::Validate::
23412  composer@2.1-s-593   (  593) [002] ...1 1034718.419351: tracing_mark_write: E|593
23413  composer@2.1-s-593   (  593) [002] ...1 1034718.419384: tracing_mark_write: E|593
23414  composer@2.1-s-593   (  593) [002] ...1 1034718.419415: tracing_mark_write: E|593
23415  surfaceflinger-591   (  591) [000] ...1 1034718.419515: tracing_mark_write: E|591
23416  surfaceflinger-591   (  591) [000] ...1 1034718.419658: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23417  composer@2.1-s-593   (  593) [002] ...1 1034718.419730: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23418  composer@2.1-s-593   (  593) [002] ...1 1034718.419746: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23419  composer@2.1-s-593   (  593) [002] ...1 1034718.419763: tracing_mark_write: B|593|HWDevice::Commit::
23420  composer@2.1-s-593   (  593) [002] ...1 1034718.419981: tracing_mark_write: E|593
23421  composer@2.1-s-593   (  593) [002] ...1 1034718.420012: tracing_mark_write: E|593
23422  composer@2.1-s-593   (  593) [002] ...1 1034718.420051: tracing_mark_write: E|593
23423  surfaceflinger-591   (  591) [000] ...1 1034718.420130: tracing_mark_write: E|591
23424  HwBinder:778_1-1087  (  778) [000] ...1 1034718.425745: tracing_mark_write: E|778
23425   SensorService-1283  ( 1151) [001] ...1 1034718.425949: tracing_mark_write: E|1151
23426   SensorService-1283  ( 1151) [001] ...1 1034718.426116: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23427  HwBinder:778_1-1087  (  778) [000] ...1 1034718.426244: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23428  surfaceflinger-591   (  591) [002] ...1 1034718.435845: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23429  composer@2.1-s-593   (  593) [000] ...1 1034718.436053: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23430  composer@2.1-s-593   (  593) [000] ...1 1034718.436212: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23431  composer@2.1-s-593   (  593) [000] ...1 1034718.436231: tracing_mark_write: E|593
23432  composer@2.1-s-593   (  593) [000] ...1 1034718.436240: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23433  composer@2.1-s-593   (  593) [000] ...1 1034718.436805: tracing_mark_write: B|593|HWDevice::Validate::
23434  composer@2.1-s-593   (  593) [000] ...1 1034718.436955: tracing_mark_write: E|593
23435  composer@2.1-s-593   (  593) [000] ...1 1034718.436996: tracing_mark_write: E|593
23436  composer@2.1-s-593   (  593) [000] ...1 1034718.437034: tracing_mark_write: E|593
23437  surfaceflinger-591   (  591) [002] ...1 1034718.437144: tracing_mark_write: E|591
23438  surfaceflinger-591   (  591) [002] ...1 1034718.437316: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23439  composer@2.1-s-593   (  593) [000] ...1 1034718.437419: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23440  composer@2.1-s-593   (  593) [000] ...1 1034718.437443: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23441  composer@2.1-s-593   (  593) [000] ...1 1034718.437470: tracing_mark_write: B|593|HWDevice::Commit::
23442  composer@2.1-s-593   (  593) [000] ...1 1034718.437692: tracing_mark_write: E|593
23443  composer@2.1-s-593   (  593) [000] ...1 1034718.437736: tracing_mark_write: E|593
23444  composer@2.1-s-593   (  593) [000] ...1 1034718.437789: tracing_mark_write: E|593
23445  surfaceflinger-591   (  591) [002] ...1 1034718.437901: tracing_mark_write: E|591
23446  HwBinder:778_1-1087  (  778) [001] ...1 1034718.445035: tracing_mark_write: E|778
23447   SensorService-1283  ( 1151) [000] ...1 1034718.445183: tracing_mark_write: E|1151
23448   SensorService-1283  ( 1151) [000] ...1 1034718.445312: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
23449  HwBinder:778_1-1087  (  778) [001] ...1 1034718.445407: tracing_mark_write: B|778|HIDL::ISensors::poll::server
23450  HwBinder:756_2-23196 (  756) [003] ...1 1034718.450509: tracing_mark_write: E|756
23451  MobileIQWorker-27051 (27005) [003] ...1 1034718.450716: tracing_mark_write: E|27005
23452  MobileIQWorker-27051 (27005) [003] ...1 1034718.450745: tracing_mark_write: E|27005
23453  MobileIQWorker-27051 (27005) [003] ...1 1034718.451209: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client
23454  HwBinder:756_2-23196 (  756) [003] ...1 1034718.451696: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server
23455  surfaceflinger-591   (  591) [000] ...1 1034718.451845: tracing_mark_write: B|591|HIDL::IComposerClient::destroyLayer::client
23456  composer@2.1-s-593   (  593) [001] ...1 1034718.452011: tracing_mark_write: B|593|HIDL::IComposerClient::destroyLayer::server
23457  composer@2.1-s-593   (  593) [001] ...1 1034718.452052: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
23458  composer@2.1-s-593   (  593) [001] ...1 1034718.452078: tracing_mark_write: B|593|FreeBuffer
23459  composer@2.1-s-593   (  593) [001] ...1 1034718.452094: tracing_mark_write: E|593
23460  composer@2.1-s-593   (  593) [001] ...1 1034718.452099: tracing_mark_write: B|593|FreeBuffer
23461  composer@2.1-s-593   (  593) [001] ...1 1034718.452104: tracing_mark_write: B|593|UnmapBuffer
23462  composer@2.1-s-593   (  593) [001] ...1 1034718.452127: tracing_mark_write: E|593
23463  composer@2.1-s-593   (  593) [001] ...1 1034718.452138: tracing_mark_write: E|593
23464  composer@2.1-s-593   (  593) [001] ...1 1034718.452146: tracing_mark_write: E|593
23465  composer@2.1-s-593   (  593) [001] ...1 1034718.452152: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
23466  composer@2.1-s-593   (  593) [001] ...1 1034718.452160: tracing_mark_write: B|593|FreeBuffer
23467  composer@2.1-s-593   (  593) [001] ...1 1034718.452170: tracing_mark_write: E|593
23468  composer@2.1-s-593   (  593) [001] ...1 1034718.452175: tracing_mark_write: B|593|FreeBuffer
23469  composer@2.1-s-593   (  593) [001] ...1 1034718.452180: tracing_mark_write: B|593|UnmapBuffer
23470  composer@2.1-s-593   (  593) [001] ...1 1034718.452192: tracing_mark_write: E|593
23471  composer@2.1-s-593   (  593) [001] ...1 1034718.452204: tracing_mark_write: E|593
23472  composer@2.1-s-593   (  593) [001] ...1 1034718.452212: tracing_mark_write: E|593
23473  composer@2.1-s-593   (  593) [001] ...1 1034718.452219: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
23474  composer@2.1-s-593   (  593) [001] ...1 1034718.452230: tracing_mark_write: B|593|FreeBuffer
23475  composer@2.1-s-593   (  593) [001] ...1 1034718.452243: tracing_mark_write: E|593
23476  composer@2.1-s-593   (  593) [001] ...1 1034718.452249: tracing_mark_write: B|593|FreeBuffer
23477  composer@2.1-s-593   (  593) [001] ...1 1034718.452254: tracing_mark_write: B|593|UnmapBuffer
23478  composer@2.1-s-593   (  593) [001] ...1 1034718.452270: tracing_mark_write: E|593
23479  composer@2.1-s-593   (  593) [001] ...1 1034718.452285: tracing_mark_write: E|593
23480  composer@2.1-s-593   (  593) [001] ...1 1034718.452294: tracing_mark_write: E|593
23481  composer@2.1-s-593   (  593) [001] ...1 1034718.452309: tracing_mark_write: E|593
23482  surfaceflinger-591   (  591) [000] ...1 1034718.452372: tracing_mark_write: E|591
23483  HwBinder:756_2-23196 (  756) [002] ...1 1034718.452453: tracing_mark_write: E|756
23484    RenderThread-2506  ( 2279) [001] ...1 1034718.452544: tracing_mark_write: B|2279|HIDL::IMapper::freeBuffer::passthrough
23485    RenderThread-2506  ( 2279) [001] ...1 1034718.452564: tracing_mark_write: B|2279|FreeBuffer
23486    RenderThread-2506  ( 2279) [001] ...1 1034718.452582: tracing_mark_write: E|2279
23487    RenderThread-2506  ( 2279) [001] ...1 1034718.452588: tracing_mark_write: B|2279|FreeBuffer
23488    RenderThread-2506  ( 2279) [001] ...1 1034718.452600: tracing_mark_write: E|2279
23489    RenderThread-2506  ( 2279) [001] ...1 1034718.452610: tracing_mark_write: E|2279
23490    RenderThread-2506  ( 2279) [001] ...1 1034718.452627: tracing_mark_write: B|2279|HIDL::IMapper::freeBuffer::passthrough
23491    RenderThread-2506  ( 2279) [001] ...1 1034718.452640: tracing_mark_write: B|2279|FreeBuffer
23492    RenderThread-2506  ( 2279) [001] ...1 1034718.452652: tracing_mark_write: E|2279
23493    RenderThread-2506  ( 2279) [001] ...1 1034718.452659: tracing_mark_write: B|2279|FreeBuffer
23494    RenderThread-2506  ( 2279) [001] ...1 1034718.452674: tracing_mark_write: E|2279
23495    RenderThread-2506  ( 2279) [001] ...1 1034718.452698: tracing_mark_write: E|2279
23496    RenderThread-2506  ( 2279) [001] ...1 1034718.452723: tracing_mark_write: B|2279|HIDL::IMapper::freeBuffer::passthrough
23497  MobileIQWorker-27051 (27005) [002] ...1 1034718.452725: tracing_mark_write: E|27005
23498    RenderThread-2506  ( 2279) [001] ...1 1034718.452737: tracing_mark_write: B|2279|FreeBuffer
23499    RenderThread-2506  ( 2279) [001] ...1 1034718.452756: tracing_mark_write: E|2279
23500    RenderThread-2506  ( 2279) [001] ...1 1034718.452768: tracing_mark_write: B|2279|FreeBuffer
23501    RenderThread-2506  ( 2279) [001] ...1 1034718.452787: tracing_mark_write: E|2279
23502    RenderThread-2506  ( 2279) [001] ...1 1034718.452799: tracing_mark_write: E|2279
23503  surfaceflinger-591   (  591) [000] ...1 1034718.452948: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23504    Binder:591_5-1775  (  591) [001] .n.1 1034718.453045: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
23505  composer@2.1-s-593   (  593) [001] ...1 1034718.453109: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23506  composer@2.1-s-593   (  593) [001] ...1 1034718.453347: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23507  composer@2.1-s-593   (  593) [001] ...1 1034718.453382: tracing_mark_write: E|593
23508  composer@2.1-s-593   (  593) [001] ...1 1034718.453395: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23509  MobileIQWorker-27051 (27005) [002] ...1 1034718.453498: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client
23510  composer@2.1-s-593   (  593) [001] ...1 1034718.453751: tracing_mark_write: B|593|HWDevice::Validate::
23511  composer@2.1-s-593   (  593) [001] ...1 1034718.453873: tracing_mark_write: E|593
23512  composer@2.1-s-593   (  593) [001] ...1 1034718.453901: tracing_mark_write: E|593
23513  composer@2.1-s-593   (  593) [001] ...1 1034718.453927: tracing_mark_write: E|593
23514  HwBinder:756_2-23196 (  756) [002] ...1 1034718.453969: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server
23515  surfaceflinger-591   (  591) [000] ...1 1034718.454037: tracing_mark_write: E|591
23516    Binder:591_5-1775  (  591) [001] ...1 1034718.454055: tracing_mark_write: B|591|FreeBuffer
23517    Binder:591_5-1775  (  591) [001] ...1 1034718.454070: tracing_mark_write: E|591
23518    Binder:591_5-1775  (  591) [001] ...1 1034718.454074: tracing_mark_write: B|591|FreeBuffer
23519    Binder:591_5-1775  (  591) [001] ...1 1034718.454110: tracing_mark_write: E|591
23520    Binder:591_5-1775  (  591) [001] ...1 1034718.454119: tracing_mark_write: E|591
23521  surfaceflinger-591   (  591) [000] ...1 1034718.454159: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23522  composer@2.1-s-593   (  593) [001] ...1 1034718.454234: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23523  composer@2.1-s-593   (  593) [001] ...1 1034718.454250: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23524  composer@2.1-s-593   (  593) [001] ...1 1034718.454267: tracing_mark_write: B|593|HWDevice::Commit::
23525  composer@2.1-s-593   (  593) [001] ...1 1034718.454399: tracing_mark_write: E|593
23526  composer@2.1-s-593   (  593) [001] ...1 1034718.454427: tracing_mark_write: E|593
23527  composer@2.1-s-593   (  593) [001] ...1 1034718.454461: tracing_mark_write: E|593
23528  surfaceflinger-591   (  591) [000] ...1 1034718.454536: tracing_mark_write: E|591
23529    Binder:591_5-1775  (  591) [001] ...1 1034718.454628: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
23530    Binder:591_5-1775  (  591) [001] ...1 1034718.454641: tracing_mark_write: B|591|FreeBuffer
23531    Binder:591_5-1775  (  591) [001] ...1 1034718.454999: tracing_mark_write: E|591
23532    Binder:591_5-1775  (  591) [001] ...1 1034718.455004: tracing_mark_write: B|591|FreeBuffer
23533    Binder:591_5-1775  (  591) [001] ...1 1034718.455022: tracing_mark_write: E|591
23534    Binder:591_5-1775  (  591) [001] ...1 1034718.455029: tracing_mark_write: E|591
23535   Binder:1151_9-1624  ( 1151) [001] ...1 1034718.456193: tracing_mark_write: B|1151|HIDL::ISensors::activate::client
23536  sensors@1.0-se-778   (  778) [001] ...1 1034718.456318: tracing_mark_write: B|778|HIDL::ISensors::activate::server
23537  sensors@1.0-se-778   (  778) [001] ...1 1034718.457945: tracing_mark_write: E|778
23538   Binder:1151_9-1624  ( 1151) [001] ...1 1034718.458070: tracing_mark_write: E|1151
23539  surfaceflinger-591   (  591) [000] ...1 1034718.468266: tracing_mark_write: B|591|HIDL::IComposerClient::destroyLayer::client
23540  composer@2.1-s-593   (  593) [001] ...1 1034718.468383: tracing_mark_write: B|593|HIDL::IComposerClient::destroyLayer::server
23541  composer@2.1-s-593   (  593) [001] ...1 1034718.468413: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
23542  composer@2.1-s-593   (  593) [001] ...1 1034718.468426: tracing_mark_write: B|593|FreeBuffer
23543  composer@2.1-s-593   (  593) [001] ...1 1034718.468439: tracing_mark_write: E|593
23544  composer@2.1-s-593   (  593) [001] ...1 1034718.468441: tracing_mark_write: B|593|FreeBuffer
23545  composer@2.1-s-593   (  593) [001] ...1 1034718.468444: tracing_mark_write: B|593|UnmapBuffer
23546  composer@2.1-s-593   (  593) [001] ...1 1034718.468466: tracing_mark_write: E|593
23547  composer@2.1-s-593   (  593) [001] ...1 1034718.468472: tracing_mark_write: E|593
23548  composer@2.1-s-593   (  593) [001] ...1 1034718.468477: tracing_mark_write: E|593
23549  composer@2.1-s-593   (  593) [001] ...1 1034718.468480: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
23550  composer@2.1-s-593   (  593) [001] ...1 1034718.468487: tracing_mark_write: B|593|FreeBuffer
23551  composer@2.1-s-593   (  593) [001] ...1 1034718.468493: tracing_mark_write: E|593
23552  composer@2.1-s-593   (  593) [001] ...1 1034718.468495: tracing_mark_write: B|593|FreeBuffer
23553  composer@2.1-s-593   (  593) [001] ...1 1034718.468498: tracing_mark_write: B|593|UnmapBuffer
23554  composer@2.1-s-593   (  593) [001] ...1 1034718.468508: tracing_mark_write: E|593
23555  composer@2.1-s-593   (  593) [001] ...1 1034718.468514: tracing_mark_write: E|593
23556  composer@2.1-s-593   (  593) [001] ...1 1034718.468517: tracing_mark_write: E|593
23557  composer@2.1-s-593   (  593) [001] ...1 1034718.468519: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
23558  composer@2.1-s-593   (  593) [001] ...1 1034718.468525: tracing_mark_write: B|593|FreeBuffer
23559  composer@2.1-s-593   (  593) [001] ...1 1034718.468531: tracing_mark_write: E|593
23560  composer@2.1-s-593   (  593) [001] ...1 1034718.468534: tracing_mark_write: B|593|FreeBuffer
23561  composer@2.1-s-593   (  593) [001] ...1 1034718.468536: tracing_mark_write: B|593|UnmapBuffer
23562  composer@2.1-s-593   (  593) [001] ...1 1034718.468544: tracing_mark_write: E|593
23563  composer@2.1-s-593   (  593) [001] ...1 1034718.468550: tracing_mark_write: E|593
23564  composer@2.1-s-593   (  593) [001] ...1 1034718.468553: tracing_mark_write: E|593
23565  composer@2.1-s-593   (  593) [001] ...1 1034718.468564: tracing_mark_write: E|593
23566  surfaceflinger-591   (  591) [000] ...1 1034718.468606: tracing_mark_write: E|591
23567  surfaceflinger-591   (  591) [000] ...1 1034718.468873: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23568  composer@2.1-s-593   (  593) [001] ...1 1034718.468939: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23569  composer@2.1-s-593   (  593) [001] ...1 1034718.469013: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23570  composer@2.1-s-593   (  593) [001] ...1 1034718.469023: tracing_mark_write: E|593
23571  composer@2.1-s-593   (  593) [001] ...1 1034718.469028: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23572  composer@2.1-s-593   (  593) [001] ...1 1034718.469294: tracing_mark_write: B|593|HWDevice::Validate::
23573  composer@2.1-s-593   (  593) [001] ...1 1034718.469387: tracing_mark_write: E|593
23574  composer@2.1-s-593   (  593) [001] ...1 1034718.469407: tracing_mark_write: E|593
23575  composer@2.1-s-593   (  593) [001] ...1 1034718.469426: tracing_mark_write: E|593
23576  surfaceflinger-591   (  591) [000] ...1 1034718.469474: tracing_mark_write: E|591
23577  surfaceflinger-591   (  591) [000] ...1 1034718.469545: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23578  composer@2.1-s-593   (  593) [001] ...1 1034718.469600: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23579  composer@2.1-s-593   (  593) [001] ...1 1034718.469611: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23580  composer@2.1-s-593   (  593) [001] ...1 1034718.469623: tracing_mark_write: B|593|HWDevice::Commit::
23581  composer@2.1-s-593   (  593) [001] ...1 1034718.469776: tracing_mark_write: E|593
23582  composer@2.1-s-593   (  593) [001] ...1 1034718.469819: tracing_mark_write: E|593
23583  composer@2.1-s-593   (  593) [001] ...1 1034718.469862: tracing_mark_write: E|593
23584  surfaceflinger-591   (  591) [000] ...1 1034718.469961: tracing_mark_write: E|591
23585     GLThread 36-1854  ( 1529) [000] ...1 1034718.474138: tracing_mark_write: B|1529|HIDL::IMapper::freeBuffer::passthrough
23586     GLThread 36-1854  ( 1529) [000] ...1 1034718.474165: tracing_mark_write: B|1529|FreeBuffer
23587     GLThread 36-1854  ( 1529) [000] ...1 1034718.474195: tracing_mark_write: E|1529
23588     GLThread 36-1854  ( 1529) [000] ...1 1034718.474199: tracing_mark_write: B|1529|FreeBuffer
23589     GLThread 36-1854  ( 1529) [000] ...1 1034718.474207: tracing_mark_write: E|1529
23590     GLThread 36-1854  ( 1529) [000] ...1 1034718.474214: tracing_mark_write: E|1529
23591     GLThread 36-1854  ( 1529) [000] ...1 1034718.474221: tracing_mark_write: B|1529|HIDL::IMapper::freeBuffer::passthrough
23592     GLThread 36-1854  ( 1529) [000] ...1 1034718.474227: tracing_mark_write: B|1529|FreeBuffer
23593     GLThread 36-1854  ( 1529) [000] ...1 1034718.474234: tracing_mark_write: E|1529
23594     GLThread 36-1854  ( 1529) [000] ...1 1034718.474237: tracing_mark_write: B|1529|FreeBuffer
23595     GLThread 36-1854  ( 1529) [000] ...1 1034718.474244: tracing_mark_write: E|1529
23596     GLThread 36-1854  ( 1529) [000] ...1 1034718.474250: tracing_mark_write: E|1529
23597     GLThread 36-1854  ( 1529) [000] ...1 1034718.474255: tracing_mark_write: B|1529|HIDL::IMapper::freeBuffer::passthrough
23598     GLThread 36-1854  ( 1529) [000] ...1 1034718.474260: tracing_mark_write: B|1529|FreeBuffer
23599     GLThread 36-1854  ( 1529) [000] ...1 1034718.474267: tracing_mark_write: E|1529
23600     GLThread 36-1854  ( 1529) [000] ...1 1034718.474270: tracing_mark_write: B|1529|FreeBuffer
23601     GLThread 36-1854  ( 1529) [000] ...1 1034718.474277: tracing_mark_write: E|1529
23602     GLThread 36-1854  ( 1529) [000] ...1 1034718.474281: tracing_mark_write: E|1529
23603    Binder:591_5-1775  (  591) [000] ...1 1034718.474494: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
23604    Binder:591_5-1775  (  591) [000] ...1 1034718.474511: tracing_mark_write: B|591|FreeBuffer
23605    Binder:591_5-1775  (  591) [000] ...1 1034718.474740: tracing_mark_write: E|591
23606    Binder:591_5-1775  (  591) [000] ...1 1034718.474743: tracing_mark_write: B|591|FreeBuffer
23607    Binder:591_5-1775  (  591) [000] ...1 1034718.474755: tracing_mark_write: E|591
23608    Binder:591_5-1775  (  591) [000] ...1 1034718.474760: tracing_mark_write: E|591
23609  surfaceflinger-591   (  591) [000] ...1 1034718.484510: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
23610  surfaceflinger-591   (  591) [000] ...1 1034718.484530: tracing_mark_write: B|591|FreeBuffer
23611  surfaceflinger-591   (  591) [000] ...1 1034718.484544: tracing_mark_write: E|591
23612  surfaceflinger-591   (  591) [000] ...1 1034718.484546: tracing_mark_write: B|591|FreeBuffer
23613  surfaceflinger-591   (  591) [000] ...1 1034718.484573: tracing_mark_write: E|591
23614  surfaceflinger-591   (  591) [000] ...1 1034718.484580: tracing_mark_write: E|591
23615  surfaceflinger-591   (  591) [000] ...1 1034718.485330: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23616  composer@2.1-s-593   (  593) [001] ...1 1034718.485455: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23617  composer@2.1-s-593   (  593) [001] ...1 1034718.485536: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23618  composer@2.1-s-593   (  593) [001] ...1 1034718.485545: tracing_mark_write: E|593
23619  composer@2.1-s-593   (  593) [001] ...1 1034718.485550: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23620  composer@2.1-s-593   (  593) [001] ...1 1034718.485818: tracing_mark_write: B|593|HWDevice::Validate::
23621  composer@2.1-s-593   (  593) [001] ...1 1034718.485900: tracing_mark_write: E|593
23622  composer@2.1-s-593   (  593) [001] ...1 1034718.485920: tracing_mark_write: E|593
23623  composer@2.1-s-593   (  593) [001] ...1 1034718.485942: tracing_mark_write: E|593
23624  surfaceflinger-591   (  591) [000] ...1 1034718.486000: tracing_mark_write: E|591
23625  surfaceflinger-591   (  591) [000] ...1 1034718.486077: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23626  composer@2.1-s-593   (  593) [001] ...1 1034718.486123: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23627  composer@2.1-s-593   (  593) [001] ...1 1034718.486133: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23628  composer@2.1-s-593   (  593) [001] ...1 1034718.486146: tracing_mark_write: B|593|HWDevice::Commit::
23629  composer@2.1-s-593   (  593) [001] ...1 1034718.486235: tracing_mark_write: E|593
23630  composer@2.1-s-593   (  593) [001] ...1 1034718.486255: tracing_mark_write: E|593
23631  composer@2.1-s-593   (  593) [001] ...1 1034718.486280: tracing_mark_write: E|593
23632  surfaceflinger-591   (  591) [000] ...1 1034718.486327: tracing_mark_write: E|591
23633  surfaceflinger-591   (  591) [000] ...1 1034718.502614: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23634  composer@2.1-s-593   (  593) [001] ...1 1034718.502781: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23635  composer@2.1-s-593   (  593) [001] ...1 1034718.502885: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23636  composer@2.1-s-593   (  593) [001] ...1 1034718.502898: tracing_mark_write: E|593
23637  composer@2.1-s-593   (  593) [001] ...1 1034718.502907: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23638  composer@2.1-s-593   (  593) [001] ...1 1034718.503239: tracing_mark_write: B|593|HWDevice::Validate::
23639  composer@2.1-s-593   (  593) [001] ...1 1034718.503392: tracing_mark_write: E|593
23640  composer@2.1-s-593   (  593) [001] ...1 1034718.503412: tracing_mark_write: E|593
23641  composer@2.1-s-593   (  593) [001] ...1 1034718.503439: tracing_mark_write: E|593
23642  surfaceflinger-591   (  591) [000] ...1 1034718.503749: tracing_mark_write: E|591
23643  surfaceflinger-591   (  591) [000] ...1 1034718.503846: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23644  composer@2.1-s-593   (  593) [001] ...1 1034718.504198: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23645  composer@2.1-s-593   (  593) [001] ...1 1034718.504210: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23646  composer@2.1-s-593   (  593) [001] ...1 1034718.504222: tracing_mark_write: B|593|HWDevice::Commit::
23647  composer@2.1-s-593   (  593) [001] ...1 1034718.504344: tracing_mark_write: E|593
23648  composer@2.1-s-593   (  593) [001] ...1 1034718.504366: tracing_mark_write: E|593
23649  composer@2.1-s-593   (  593) [001] ...1 1034718.504396: tracing_mark_write: E|593
23650  surfaceflinger-591   (  591) [000] ...1 1034718.504454: tracing_mark_write: E|591
23651  surfaceflinger-591   (  591) [000] ...1 1034718.518794: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23652  composer@2.1-s-593   (  593) [001] ...1 1034718.518958: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23653  composer@2.1-s-593   (  593) [001] ...1 1034718.519085: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23654  composer@2.1-s-593   (  593) [001] ...1 1034718.519096: tracing_mark_write: E|593
23655  composer@2.1-s-593   (  593) [001] ...1 1034718.519115: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23656  composer@2.1-s-593   (  593) [001] ...1 1034718.519488: tracing_mark_write: B|593|HWDevice::Validate::
23657  composer@2.1-s-593   (  593) [001] ...1 1034718.519632: tracing_mark_write: E|593
23658  composer@2.1-s-593   (  593) [001] ...1 1034718.519655: tracing_mark_write: E|593
23659  composer@2.1-s-593   (  593) [001] ...1 1034718.519694: tracing_mark_write: E|593
23660  surfaceflinger-591   (  591) [000] ...1 1034718.519780: tracing_mark_write: E|591
23661  surfaceflinger-591   (  591) [000] ...1 1034718.519899: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23662  composer@2.1-s-593   (  593) [001] ...1 1034718.519962: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23663  composer@2.1-s-593   (  593) [001] ...1 1034718.519977: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23664  composer@2.1-s-593   (  593) [001] ...1 1034718.520021: tracing_mark_write: B|593|HWDevice::Commit::
23665  composer@2.1-s-593   (  593) [001] ...1 1034718.520162: tracing_mark_write: E|593
23666  composer@2.1-s-593   (  593) [001] ...1 1034718.520190: tracing_mark_write: E|593
23667  composer@2.1-s-593   (  593) [001] ...1 1034718.520249: tracing_mark_write: E|593
23668  surfaceflinger-591   (  591) [000] ...1 1034718.520345: tracing_mark_write: E|591
23669  surfaceflinger-591   (  591) [000] ...1 1034718.535648: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23670  composer@2.1-s-593   (  593) [001] ...1 1034718.535816: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23671  composer@2.1-s-593   (  593) [001] ...1 1034718.535902: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23672  composer@2.1-s-593   (  593) [001] ...1 1034718.535916: tracing_mark_write: E|593
23673  composer@2.1-s-593   (  593) [001] ...1 1034718.535920: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23674  composer@2.1-s-593   (  593) [001] ...1 1034718.536218: tracing_mark_write: B|593|HWDevice::Validate::
23675  composer@2.1-s-593   (  593) [001] ...1 1034718.536332: tracing_mark_write: E|593
23676  composer@2.1-s-593   (  593) [001] ...1 1034718.536361: tracing_mark_write: E|593
23677  composer@2.1-s-593   (  593) [001] ...1 1034718.536392: tracing_mark_write: E|593
23678  surfaceflinger-591   (  591) [000] ...1 1034718.536495: tracing_mark_write: E|591
23679  surfaceflinger-591   (  591) [000] ...1 1034718.536637: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23680  composer@2.1-s-593   (  593) [001] ...1 1034718.536723: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23681  composer@2.1-s-593   (  593) [001] ...1 1034718.536737: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23682  composer@2.1-s-593   (  593) [001] ...1 1034718.536752: tracing_mark_write: B|593|HWDevice::Commit::
23683  composer@2.1-s-593   (  593) [001] ...1 1034718.536881: tracing_mark_write: E|593
23684  composer@2.1-s-593   (  593) [001] ...1 1034718.536907: tracing_mark_write: E|593
23685  composer@2.1-s-593   (  593) [001] ...1 1034718.536949: tracing_mark_write: E|593
23686  surfaceflinger-591   (  591) [000] ...1 1034718.537022: tracing_mark_write: E|591
23687  surfaceflinger-591   (  591) [000] ...1 1034718.552250: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23688  composer@2.1-s-593   (  593) [001] ...1 1034718.552393: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23689  composer@2.1-s-593   (  593) [001] ...1 1034718.552472: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23690  composer@2.1-s-593   (  593) [001] ...1 1034718.552481: tracing_mark_write: E|593
23691  composer@2.1-s-593   (  593) [001] ...1 1034718.552485: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23692  composer@2.1-s-593   (  593) [001] ...1 1034718.552737: tracing_mark_write: B|593|HWDevice::Validate::
23693  composer@2.1-s-593   (  593) [001] ...1 1034718.552817: tracing_mark_write: E|593
23694  composer@2.1-s-593   (  593) [001] ...1 1034718.552835: tracing_mark_write: E|593
23695  composer@2.1-s-593   (  593) [001] ...1 1034718.552856: tracing_mark_write: E|593
23696  surfaceflinger-591   (  591) [000] ...1 1034718.552922: tracing_mark_write: E|591
23697  surfaceflinger-591   (  591) [000] ...1 1034718.553005: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23698  composer@2.1-s-593   (  593) [001] ...1 1034718.553047: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23699  composer@2.1-s-593   (  593) [001] ...1 1034718.553056: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23700  composer@2.1-s-593   (  593) [001] ...1 1034718.553067: tracing_mark_write: B|593|HWDevice::Commit::
23701  composer@2.1-s-593   (  593) [001] ...1 1034718.553157: tracing_mark_write: E|593
23702  composer@2.1-s-593   (  593) [001] ...1 1034718.553174: tracing_mark_write: E|593
23703  composer@2.1-s-593   (  593) [001] ...1 1034718.553196: tracing_mark_write: E|593
23704  surfaceflinger-591   (  591) [003] ...1 1034718.553303: tracing_mark_write: E|591
23705  surfaceflinger-591   (  591) [000] ...1 1034718.569238: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23706  composer@2.1-s-593   (  593) [001] ...1 1034718.569398: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23707  composer@2.1-s-593   (  593) [001] ...1 1034718.569483: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23708  composer@2.1-s-593   (  593) [001] ...1 1034718.569493: tracing_mark_write: E|593
23709  composer@2.1-s-593   (  593) [001] ...1 1034718.569497: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23710  composer@2.1-s-593   (  593) [001] ...1 1034718.569772: tracing_mark_write: B|593|HWDevice::Validate::
23711  composer@2.1-s-593   (  593) [001] ...1 1034718.569908: tracing_mark_write: E|593
23712  composer@2.1-s-593   (  593) [001] ...1 1034718.569936: tracing_mark_write: E|593
23713  composer@2.1-s-593   (  593) [001] ...1 1034718.569968: tracing_mark_write: E|593
23714  surfaceflinger-591   (  591) [000] ...1 1034718.570075: tracing_mark_write: E|591
23715  surfaceflinger-591   (  591) [000] ...1 1034718.570186: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23716  composer@2.1-s-593   (  593) [001] ...1 1034718.570259: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23717  composer@2.1-s-593   (  593) [001] ...1 1034718.570273: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23718  composer@2.1-s-593   (  593) [001] ...1 1034718.570287: tracing_mark_write: B|593|HWDevice::Commit::
23719  composer@2.1-s-593   (  593) [001] ...1 1034718.570408: tracing_mark_write: E|593
23720  composer@2.1-s-593   (  593) [001] ...1 1034718.570432: tracing_mark_write: E|593
23721  composer@2.1-s-593   (  593) [001] ...1 1034718.570464: tracing_mark_write: E|593
23722  surfaceflinger-591   (  591) [000] ...1 1034718.570532: tracing_mark_write: E|591
23723  surfaceflinger-591   (  591) [000] ...1 1034718.585688: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23724  composer@2.1-s-593   (  593) [001] ...1 1034718.585803: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23725  composer@2.1-s-593   (  593) [001] ...1 1034718.585878: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23726  composer@2.1-s-593   (  593) [001] ...1 1034718.585887: tracing_mark_write: E|593
23727  composer@2.1-s-593   (  593) [001] ...1 1034718.585891: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23728  composer@2.1-s-593   (  593) [001] ...1 1034718.586188: tracing_mark_write: B|593|HWDevice::Validate::
23729  composer@2.1-s-593   (  593) [001] ...1 1034718.586267: tracing_mark_write: E|593
23730  composer@2.1-s-593   (  593) [001] ...1 1034718.586286: tracing_mark_write: E|593
23731  composer@2.1-s-593   (  593) [001] ...1 1034718.586305: tracing_mark_write: E|593
23732  surfaceflinger-591   (  591) [000] ...1 1034718.586358: tracing_mark_write: E|591
23733  surfaceflinger-591   (  591) [000] ...1 1034718.586423: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23734  composer@2.1-s-593   (  593) [001] ...1 1034718.586463: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23735  composer@2.1-s-593   (  593) [001] ...1 1034718.586473: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23736  composer@2.1-s-593   (  593) [001] ...1 1034718.586484: tracing_mark_write: B|593|HWDevice::Commit::
23737  composer@2.1-s-593   (  593) [001] ...1 1034718.586615: tracing_mark_write: E|593
23738  composer@2.1-s-593   (  593) [001] ...1 1034718.586632: tracing_mark_write: E|593
23739  composer@2.1-s-593   (  593) [001] ...1 1034718.586668: tracing_mark_write: E|593
23740  surfaceflinger-591   (  591) [000] ...1 1034718.586714: tracing_mark_write: E|591
23741  surfaceflinger-591   (  591) [000] ...1 1034718.602426: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23742  composer@2.1-s-593   (  593) [001] ...1 1034718.602532: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23743  composer@2.1-s-593   (  593) [001] ...1 1034718.602603: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23744  composer@2.1-s-593   (  593) [001] ...1 1034718.602612: tracing_mark_write: E|593
23745  composer@2.1-s-593   (  593) [001] ...1 1034718.602616: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23746  composer@2.1-s-593   (  593) [001] ...1 1034718.602861: tracing_mark_write: B|593|HWDevice::Validate::
23747  composer@2.1-s-593   (  593) [001] ...1 1034718.602937: tracing_mark_write: E|593
23748  composer@2.1-s-593   (  593) [001] ...1 1034718.602955: tracing_mark_write: E|593
23749  composer@2.1-s-593   (  593) [001] ...1 1034718.602975: tracing_mark_write: E|593
23750  surfaceflinger-591   (  591) [000] ...1 1034718.603026: tracing_mark_write: E|591
23751  surfaceflinger-591   (  591) [000] ...1 1034718.603090: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23752  composer@2.1-s-593   (  593) [001] ...1 1034718.603128: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23753  composer@2.1-s-593   (  593) [001] ...1 1034718.603137: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23754  composer@2.1-s-593   (  593) [001] ...1 1034718.603148: tracing_mark_write: B|593|HWDevice::Commit::
23755  composer@2.1-s-593   (  593) [001] ...1 1034718.603265: tracing_mark_write: E|593
23756  composer@2.1-s-593   (  593) [001] ...1 1034718.603282: tracing_mark_write: E|593
23757  composer@2.1-s-593   (  593) [001] ...1 1034718.603305: tracing_mark_write: E|593
23758  surfaceflinger-591   (  591) [000] ...1 1034718.603348: tracing_mark_write: E|591
23759  surfaceflinger-591   (  591) [000] ...1 1034718.620504: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23760  composer@2.1-s-593   (  593) [001] ...1 1034718.620688: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23761  composer@2.1-s-593   (  593) [001] ...1 1034718.620821: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23762  composer@2.1-s-593   (  593) [001] ...1 1034718.620840: tracing_mark_write: E|593
23763  composer@2.1-s-593   (  593) [001] ...1 1034718.620852: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23764  composer@2.1-s-593   (  593) [001] ...1 1034718.621309: tracing_mark_write: B|593|HWDevice::Validate::
23765  composer@2.1-s-593   (  593) [001] ...1 1034718.621441: tracing_mark_write: E|593
23766  composer@2.1-s-593   (  593) [001] ...1 1034718.621480: tracing_mark_write: E|593
23767  composer@2.1-s-593   (  593) [001] ...1 1034718.621515: tracing_mark_write: E|593
23768  surfaceflinger-591   (  591) [000] ...1 1034718.621614: tracing_mark_write: E|591
23769  surfaceflinger-591   (  591) [000] ...1 1034718.621746: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23770  composer@2.1-s-593   (  593) [001] ...1 1034718.621838: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23771  composer@2.1-s-593   (  593) [001] ...1 1034718.621857: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23772  composer@2.1-s-593   (  593) [001] ...1 1034718.621880: tracing_mark_write: B|593|HWDevice::Commit::
23773  composer@2.1-s-593   (  593) [001] ...1 1034718.622049: tracing_mark_write: E|593
23774  composer@2.1-s-593   (  593) [001] ...1 1034718.622086: tracing_mark_write: E|593
23775  composer@2.1-s-593   (  593) [001] ...1 1034718.622132: tracing_mark_write: E|593
23776  surfaceflinger-591   (  591) [000] ...1 1034718.622239: tracing_mark_write: E|591
23777  surfaceflinger-591   (  591) [000] ...1 1034718.637729: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23778  composer@2.1-s-593   (  593) [001] ...1 1034718.637975: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23779  composer@2.1-s-593   (  593) [001] ...1 1034718.638155: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23780  composer@2.1-s-593   (  593) [001] ...1 1034718.638180: tracing_mark_write: E|593
23781  composer@2.1-s-593   (  593) [001] ...1 1034718.638197: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23782  composer@2.1-s-593   (  593) [001] ...1 1034718.638823: tracing_mark_write: B|593|HWDevice::Validate::
23783  composer@2.1-s-593   (  593) [001] ...1 1034718.639000: tracing_mark_write: E|593
23784  composer@2.1-s-593   (  593) [001] ...1 1034718.639056: tracing_mark_write: E|593
23785  composer@2.1-s-593   (  593) [001] ...1 1034718.639103: tracing_mark_write: E|593
23786  surfaceflinger-591   (  591) [000] ...1 1034718.639248: tracing_mark_write: E|591
23787  surfaceflinger-591   (  591) [000] ...1 1034718.639434: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23788  composer@2.1-s-593   (  593) [001] ...1 1034718.639569: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23789  composer@2.1-s-593   (  593) [001] ...1 1034718.639598: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23790  composer@2.1-s-593   (  593) [001] ...1 1034718.639632: tracing_mark_write: B|593|HWDevice::Commit::
23791  composer@2.1-s-593   (  593) [001] ...1 1034718.639943: tracing_mark_write: E|593
23792  composer@2.1-s-593   (  593) [001] ...1 1034718.639996: tracing_mark_write: E|593
23793  composer@2.1-s-593   (  593) [001] ...1 1034718.640061: tracing_mark_write: E|593
23794  surfaceflinger-591   (  591) [000] ...1 1034718.640222: tracing_mark_write: E|591
23795  surfaceflinger-591   (  591) [000] ...1 1034718.654998: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23796  composer@2.1-s-593   (  593) [001] ...1 1034718.655245: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23797  composer@2.1-s-593   (  593) [001] ...1 1034718.655425: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23798  composer@2.1-s-593   (  593) [001] ...1 1034718.655450: tracing_mark_write: E|593
23799  composer@2.1-s-593   (  593) [001] ...1 1034718.655466: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23800  composer@2.1-s-593   (  593) [001] ...1 1034718.656112: tracing_mark_write: B|593|HWDevice::Validate::
23801  composer@2.1-s-593   (  593) [001] ...1 1034718.656269: tracing_mark_write: E|593
23802  composer@2.1-s-593   (  593) [001] ...1 1034718.656325: tracing_mark_write: E|593
23803  composer@2.1-s-593   (  593) [001] ...1 1034718.656372: tracing_mark_write: E|593
23804  surfaceflinger-591   (  591) [000] ...1 1034718.656518: tracing_mark_write: E|591
23805  surfaceflinger-591   (  591) [000] ...1 1034718.656862: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23806  composer@2.1-s-593   (  593) [001] ...1 1034718.656999: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23807  composer@2.1-s-593   (  593) [001] ...1 1034718.657029: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23808  composer@2.1-s-593   (  593) [001] ...1 1034718.657062: tracing_mark_write: B|593|HWDevice::Commit::
23809  composer@2.1-s-593   (  593) [001] ...1 1034718.657312: tracing_mark_write: E|593
23810  composer@2.1-s-593   (  593) [001] ...1 1034718.657363: tracing_mark_write: E|593
23811  composer@2.1-s-593   (  593) [001] ...1 1034718.657429: tracing_mark_write: E|593
23812  surfaceflinger-591   (  591) [000] ...1 1034718.657583: tracing_mark_write: E|591
23813  surfaceflinger-591   (  591) [000] ...1 1034718.671821: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23814  composer@2.1-s-593   (  593) [001] ...1 1034718.672069: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23815  composer@2.1-s-593   (  593) [001] ...1 1034718.672246: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23816  composer@2.1-s-593   (  593) [001] ...1 1034718.672272: tracing_mark_write: E|593
23817  composer@2.1-s-593   (  593) [001] ...1 1034718.672289: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23818  composer@2.1-s-593   (  593) [001] ...1 1034718.672933: tracing_mark_write: B|593|HWDevice::Validate::
23819  composer@2.1-s-593   (  593) [001] ...1 1034718.673114: tracing_mark_write: E|593
23820  composer@2.1-s-593   (  593) [001] ...1 1034718.673172: tracing_mark_write: E|593
23821  composer@2.1-s-593   (  593) [001] ...1 1034718.673292: tracing_mark_write: E|593
23822  surfaceflinger-591   (  591) [000] ...1 1034718.673437: tracing_mark_write: E|591
23823  surfaceflinger-591   (  591) [000] ...1 1034718.673624: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23824  composer@2.1-s-593   (  593) [001] ...1 1034718.673760: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23825  composer@2.1-s-593   (  593) [001] ...1 1034718.673790: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23826  composer@2.1-s-593   (  593) [001] ...1 1034718.673822: tracing_mark_write: B|593|HWDevice::Commit::
23827  composer@2.1-s-593   (  593) [001] ...1 1034718.674067: tracing_mark_write: E|593
23828  composer@2.1-s-593   (  593) [001] ...1 1034718.674123: tracing_mark_write: E|593
23829  composer@2.1-s-593   (  593) [001] ...1 1034718.674191: tracing_mark_write: E|593
23830  surfaceflinger-591   (  591) [000] ...1 1034718.674347: tracing_mark_write: E|591
23831  surfaceflinger-591   (  591) [000] ...1 1034718.688563: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23832  composer@2.1-s-593   (  593) [001] ...1 1034718.688805: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23833  composer@2.1-s-593   (  593) [001] ...1 1034718.688983: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23834  composer@2.1-s-593   (  593) [001] ...1 1034718.689009: tracing_mark_write: E|593
23835  composer@2.1-s-593   (  593) [001] ...1 1034718.689026: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23836  composer@2.1-s-593   (  593) [001] ...1 1034718.689660: tracing_mark_write: B|593|HWDevice::Validate::
23837  composer@2.1-s-593   (  593) [001] ...1 1034718.689819: tracing_mark_write: E|593
23838  composer@2.1-s-593   (  593) [001] ...1 1034718.689941: tracing_mark_write: E|593
23839  composer@2.1-s-593   (  593) [001] ...1 1034718.689989: tracing_mark_write: E|593
23840  surfaceflinger-591   (  591) [000] ...1 1034718.690134: tracing_mark_write: E|591
23841  surfaceflinger-591   (  591) [000] ...1 1034718.690321: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23842  composer@2.1-s-593   (  593) [001] ...1 1034718.690456: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23843  composer@2.1-s-593   (  593) [001] ...1 1034718.690486: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23844  composer@2.1-s-593   (  593) [001] ...1 1034718.690520: tracing_mark_write: B|593|HWDevice::Commit::
23845  composer@2.1-s-593   (  593) [001] ...1 1034718.690776: tracing_mark_write: E|593
23846  composer@2.1-s-593   (  593) [001] ...1 1034718.690828: tracing_mark_write: E|593
23847  composer@2.1-s-593   (  593) [001] ...1 1034718.690895: tracing_mark_write: E|593
23848  surfaceflinger-591   (  591) [000] ...1 1034718.691051: tracing_mark_write: E|591
23849  surfaceflinger-591   (  591) [000] ...1 1034718.705269: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23850  composer@2.1-s-593   (  593) [001] ...1 1034718.705516: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23851  composer@2.1-s-593   (  593) [001] ...1 1034718.705697: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23852  composer@2.1-s-593   (  593) [001] ...1 1034718.705722: tracing_mark_write: E|593
23853  composer@2.1-s-593   (  593) [001] ...1 1034718.705741: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23854  composer@2.1-s-593   (  593) [001] ...1 1034718.706368: tracing_mark_write: B|593|HWDevice::Validate::
23855  composer@2.1-s-593   (  593) [001] ...1 1034718.706523: tracing_mark_write: E|593
23856  composer@2.1-s-593   (  593) [001] ...1 1034718.706724: tracing_mark_write: E|593
23857  composer@2.1-s-593   (  593) [001] ...1 1034718.706798: tracing_mark_write: E|593
23858  surfaceflinger-591   (  591) [000] ...1 1034718.706944: tracing_mark_write: E|591
23859  surfaceflinger-591   (  591) [000] ...1 1034718.707132: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23860  composer@2.1-s-593   (  593) [001] ...1 1034718.707266: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23861  composer@2.1-s-593   (  593) [001] ...1 1034718.707295: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23862  composer@2.1-s-593   (  593) [001] ...1 1034718.707327: tracing_mark_write: B|593|HWDevice::Commit::
23863  composer@2.1-s-593   (  593) [001] ...1 1034718.707573: tracing_mark_write: E|593
23864  composer@2.1-s-593   (  593) [001] ...1 1034718.707624: tracing_mark_write: E|593
23865  composer@2.1-s-593   (  593) [001] ...1 1034718.707690: tracing_mark_write: E|593
23866  surfaceflinger-591   (  591) [000] ...1 1034718.707842: tracing_mark_write: E|591
23867  surfaceflinger-591   (  591) [000] ...1 1034718.722037: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23868  composer@2.1-s-593   (  593) [001] ...1 1034718.722254: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23869  composer@2.1-s-593   (  593) [001] ...1 1034718.722416: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23870  composer@2.1-s-593   (  593) [001] ...1 1034718.722442: tracing_mark_write: E|593
23871  composer@2.1-s-593   (  593) [001] ...1 1034718.722458: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23872  composer@2.1-s-593   (  593) [001] ...1 1034718.723055: tracing_mark_write: B|593|HWDevice::Validate::
23873  composer@2.1-s-593   (  593) [001] ...1 1034718.723260: tracing_mark_write: E|593
23874  composer@2.1-s-593   (  593) [001] ...1 1034718.723317: tracing_mark_write: E|593
23875  composer@2.1-s-593   (  593) [001] ...1 1034718.723361: tracing_mark_write: E|593
23876  surfaceflinger-591   (  591) [000] ...1 1034718.723495: tracing_mark_write: E|591
23877  surfaceflinger-591   (  591) [000] ...1 1034718.723676: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23878  composer@2.1-s-593   (  593) [001] ...1 1034718.723810: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23879  composer@2.1-s-593   (  593) [001] ...1 1034718.723839: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23880  composer@2.1-s-593   (  593) [001] ...1 1034718.723871: tracing_mark_write: B|593|HWDevice::Commit::
23881  composer@2.1-s-593   (  593) [001] ...1 1034718.724104: tracing_mark_write: E|593
23882  composer@2.1-s-593   (  593) [001] ...1 1034718.724157: tracing_mark_write: E|593
23883  composer@2.1-s-593   (  593) [001] ...1 1034718.724221: tracing_mark_write: E|593
23884  surfaceflinger-591   (  591) [000] ...1 1034718.724375: tracing_mark_write: E|591
23885  surfaceflinger-591   (  591) [002] ...1 1034718.738925: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23886  composer@2.1-s-593   (  593) [001] ...1 1034718.739147: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23887  composer@2.1-s-593   (  593) [001] ...1 1034718.739315: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23888  composer@2.1-s-593   (  593) [001] ...1 1034718.739340: tracing_mark_write: E|593
23889  composer@2.1-s-593   (  593) [001] ...1 1034718.739356: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23890  composer@2.1-s-593   (  593) [001] ...1 1034718.740063: tracing_mark_write: B|593|HWDevice::Validate::
23891  composer@2.1-s-593   (  593) [001] ...1 1034718.740213: tracing_mark_write: E|593
23892  composer@2.1-s-593   (  593) [001] ...1 1034718.740269: tracing_mark_write: E|593
23893  composer@2.1-s-593   (  593) [001] ...1 1034718.740317: tracing_mark_write: E|593
23894  surfaceflinger-591   (  591) [002] ...1 1034718.740456: tracing_mark_write: E|591
23895  surfaceflinger-591   (  591) [002] ...1 1034718.740648: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23896  composer@2.1-s-593   (  593) [001] ...1 1034718.740791: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23897  composer@2.1-s-593   (  593) [001] ...1 1034718.740822: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23898  composer@2.1-s-593   (  593) [001] ...1 1034718.740854: tracing_mark_write: B|593|HWDevice::Commit::
23899  composer@2.1-s-593   (  593) [001] ...1 1034718.741102: tracing_mark_write: E|593
23900  composer@2.1-s-593   (  593) [001] ...1 1034718.741153: tracing_mark_write: E|593
23901  composer@2.1-s-593   (  593) [001] ...1 1034718.741218: tracing_mark_write: E|593
23902  surfaceflinger-591   (  591) [002] ...1 1034718.741378: tracing_mark_write: E|591
23903      android.bg-1184  ( 1151) [000] ...1 1034718.754041: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
23904  memtrack@1.0-s-748   (  748) [000] ...1 1034718.754257: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
23905  memtrack@1.0-s-748   (  748) [000] ...1 1034718.754313: tracing_mark_write: E|748
23906      android.bg-1184  ( 1151) [000] ...1 1034718.754477: tracing_mark_write: E|1151
23907      android.bg-1184  ( 1151) [000] ...1 1034718.754504: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
23908  memtrack@1.0-s-748   (  748) [000] ...1 1034718.754607: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
23909  memtrack@1.0-s-748   (  748) [000] ...1 1034718.754786: tracing_mark_write: E|748
23910      android.bg-1184  ( 1151) [000] ...1 1034718.755608: tracing_mark_write: E|1151
23911      android.bg-1184  ( 1151) [000] ...1 1034718.755638: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
23912  memtrack@1.0-s-748   (  748) [000] ...1 1034718.755757: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
23913  surfaceflinger-591   (  591) [001] ...1 1034718.755770: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23914  memtrack@1.0-s-748   (  748) [000] ...1 1034718.755869: tracing_mark_write: E|748
23915  composer@2.1-s-593   (  593) [000] ...1 1034718.756022: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23916  composer@2.1-s-593   (  593) [000] ...1 1034718.756211: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23917  composer@2.1-s-593   (  593) [000] ...1 1034718.756239: tracing_mark_write: E|593
23918  composer@2.1-s-593   (  593) [000] ...1 1034718.756255: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23919  composer@2.1-s-593   (  593) [000] ...1 1034718.757038: tracing_mark_write: B|593|HWDevice::Validate::
23920  composer@2.1-s-593   (  593) [000] ...1 1034718.757201: tracing_mark_write: E|593
23921  composer@2.1-s-593   (  593) [000] ...1 1034718.757261: tracing_mark_write: E|593
23922  composer@2.1-s-593   (  593) [000] ...1 1034718.757312: tracing_mark_write: E|593
23923  surfaceflinger-591   (  591) [003] ...1 1034718.757473: tracing_mark_write: E|591
23924      android.bg-1184  ( 1151) [000] ...1 1034718.757603: tracing_mark_write: E|1151
23925      android.bg-1184  ( 1151) [000] ...1 1034718.757635: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
23926  surfaceflinger-591   (  591) [003] ...1 1034718.757695: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23927  memtrack@1.0-s-748   (  748) [000] ...1 1034718.757774: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
23928  composer@2.1-s-593   (  593) [000] ...1 1034718.757844: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23929  composer@2.1-s-593   (  593) [000] ...1 1034718.757878: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23930  composer@2.1-s-593   (  593) [000] ...1 1034718.757914: tracing_mark_write: B|593|HWDevice::Commit::
23931  composer@2.1-s-593   (  593) [000] ...1 1034718.758179: tracing_mark_write: E|593
23932  composer@2.1-s-593   (  593) [000] ...1 1034718.758237: tracing_mark_write: E|593
23933  composer@2.1-s-593   (  593) [000] ...1 1034718.758309: tracing_mark_write: E|593
23934  surfaceflinger-591   (  591) [003] ...1 1034718.758477: tracing_mark_write: E|591
23935  memtrack@1.0-s-748   (  748) [000] ...1 1034718.758800: tracing_mark_write: E|748
23936      android.bg-1184  ( 1151) [000] ...1 1034718.758961: tracing_mark_write: E|1151
23937      android.bg-1184  ( 1151) [000] ...1 1034718.758991: tracing_mark_write: B|1151|HIDL::IMemtrack::getMemory::client
23938  memtrack@1.0-s-748   (  748) [000] ...1 1034718.759108: tracing_mark_write: B|748|HIDL::IMemtrack::getMemory::server
23939  memtrack@1.0-s-748   (  748) [000] ...1 1034718.759136: tracing_mark_write: E|748
23940      android.bg-1184  ( 1151) [000] ...1 1034718.759259: tracing_mark_write: E|1151
23941  surfaceflinger-591   (  591) [001] ...1 1034718.770482: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
23942  surfaceflinger-591   (  591) [001] ...1 1034718.770519: tracing_mark_write: B|591|FreeBuffer
23943  surfaceflinger-591   (  591) [001] ...1 1034718.770990: tracing_mark_write: E|591
23944  surfaceflinger-591   (  591) [001] ...1 1034718.770999: tracing_mark_write: B|591|FreeBuffer
23945  surfaceflinger-591   (  591) [001] ...1 1034718.771025: tracing_mark_write: E|591
23946  surfaceflinger-591   (  591) [001] ...1 1034718.771038: tracing_mark_write: E|591
23947  surfaceflinger-591   (  591) [003] ...1 1034718.773167: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23948  composer@2.1-s-593   (  593) [000] ...1 1034718.773406: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23949  composer@2.1-s-593   (  593) [000] ...1 1034718.773543: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23950  composer@2.1-s-593   (  593) [000] ...1 1034718.773563: tracing_mark_write: E|593
23951  composer@2.1-s-593   (  593) [000] ...1 1034718.773574: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23952  composer@2.1-s-593   (  593) [000] ...1 1034718.774052: tracing_mark_write: B|593|HWDevice::Validate::
23953  composer@2.1-s-593   (  593) [000] ...1 1034718.774171: tracing_mark_write: E|593
23954  composer@2.1-s-593   (  593) [000] ...1 1034718.774211: tracing_mark_write: E|593
23955  composer@2.1-s-593   (  593) [000] ...1 1034718.774248: tracing_mark_write: E|593
23956  surfaceflinger-591   (  591) [003] ...1 1034718.774359: tracing_mark_write: E|591
23957  surfaceflinger-591   (  591) [003] ...1 1034718.774507: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23958  composer@2.1-s-593   (  593) [000] ...1 1034718.774607: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23959  composer@2.1-s-593   (  593) [000] ...1 1034718.774630: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23960  composer@2.1-s-593   (  593) [000] ...1 1034718.774655: tracing_mark_write: B|593|HWDevice::Commit::
23961  composer@2.1-s-593   (  593) [000] ...1 1034718.774831: tracing_mark_write: E|593
23962  composer@2.1-s-593   (  593) [000] ...1 1034718.774872: tracing_mark_write: E|593
23963  composer@2.1-s-593   (  593) [000] ...1 1034718.774921: tracing_mark_write: E|593
23964  surfaceflinger-591   (  591) [003] ...1 1034718.775032: tracing_mark_write: E|591
23965  surfaceflinger-591   (  591) [002] ...1 1034718.787667: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23966  composer@2.1-s-593   (  593) [000] ...1 1034718.787820: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23967  composer@2.1-s-593   (  593) [000] ...1 1034718.787924: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23968  composer@2.1-s-593   (  593) [000] ...1 1034718.787938: tracing_mark_write: E|593
23969  composer@2.1-s-593   (  593) [000] ...1 1034718.787945: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
23970  composer@2.1-s-593   (  593) [000] ...1 1034718.788304: tracing_mark_write: B|593|HWDevice::Validate::
23971  composer@2.1-s-593   (  593) [000] ...1 1034718.788392: tracing_mark_write: E|593
23972  composer@2.1-s-593   (  593) [000] ...1 1034718.788420: tracing_mark_write: E|593
23973  composer@2.1-s-593   (  593) [000] ...1 1034718.788448: tracing_mark_write: E|593
23974  surfaceflinger-591   (  591) [002] ...1 1034718.788534: tracing_mark_write: E|591
23975  surfaceflinger-591   (  591) [002] ...1 1034718.788640: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23976  composer@2.1-s-593   (  593) [000] ...1 1034718.788707: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23977  composer@2.1-s-593   (  593) [000] ...1 1034718.788722: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23978  composer@2.1-s-593   (  593) [000] ...1 1034718.788740: tracing_mark_write: B|593|HWDevice::Commit::
23979  composer@2.1-s-593   (  593) [000] ...1 1034718.788863: tracing_mark_write: E|593
23980  composer@2.1-s-593   (  593) [000] ...1 1034718.788891: tracing_mark_write: E|593
23981  composer@2.1-s-593   (  593) [000] ...1 1034718.788924: tracing_mark_write: E|593
23982  surfaceflinger-591   (  591) [002] ...1 1034718.788996: tracing_mark_write: E|591
23983  surfaceflinger-591   (  591) [001] ...1 1034718.803419: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23984  composer@2.1-s-593   (  593) [000] ...1 1034718.803562: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23985  composer@2.1-s-593   (  593) [000] ...1 1034718.803642: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23986  composer@2.1-s-593   (  593) [000] ...1 1034718.803664: tracing_mark_write: B|593|HWDevice::Commit::
23987  composer@2.1-s-593   (  593) [000] ...1 1034718.803803: tracing_mark_write: E|593
23988  composer@2.1-s-593   (  593) [000] ...1 1034718.803836: tracing_mark_write: E|593
23989  composer@2.1-s-593   (  593) [000] ...1 1034718.803874: tracing_mark_write: E|593
23990  surfaceflinger-591   (  591) [001] ...1 1034718.803964: tracing_mark_write: E|591
23991  surfaceflinger-591   (  591) [001] ...1 1034718.820011: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
23992  composer@2.1-s-593   (  593) [000] ...1 1034718.820176: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
23993  composer@2.1-s-593   (  593) [000] ...1 1034718.820240: tracing_mark_write: B|593|HWCSession::PresentDisplay::
23994  composer@2.1-s-593   (  593) [000] ...1 1034718.820260: tracing_mark_write: B|593|HWDevice::Commit::
23995  composer@2.1-s-593   (  593) [000] ...1 1034718.820364: tracing_mark_write: E|593
23996  composer@2.1-s-593   (  593) [000] ...1 1034718.820390: tracing_mark_write: E|593
23997  composer@2.1-s-593   (  593) [000] ...1 1034718.820419: tracing_mark_write: E|593
23998  surfaceflinger-591   (  591) [001] ...1 1034718.820493: tracing_mark_write: E|591
23999  surfaceflinger-591   (  591) [001] ...1 1034718.836756: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24000  composer@2.1-s-593   (  593) [000] ...1 1034718.836865: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24001  composer@2.1-s-593   (  593) [000] ...1 1034718.836915: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24002  composer@2.1-s-593   (  593) [000] ...1 1034718.836931: tracing_mark_write: B|593|HWDevice::Commit::
24003  composer@2.1-s-593   (  593) [000] ...1 1034718.837026: tracing_mark_write: E|593
24004  composer@2.1-s-593   (  593) [000] ...1 1034718.837049: tracing_mark_write: E|593
24005  composer@2.1-s-593   (  593) [000] ...1 1034718.837073: tracing_mark_write: E|593
24006  surfaceflinger-591   (  591) [001] ...1 1034718.837132: tracing_mark_write: E|591
24007  surfaceflinger-591   (  591) [001] ...1 1034718.854122: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24008  composer@2.1-s-593   (  593) [000] ...1 1034718.854365: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24009  composer@2.1-s-593   (  593) [000] ...1 1034718.854512: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24010  composer@2.1-s-593   (  593) [000] ...1 1034718.854555: tracing_mark_write: B|593|HWDevice::Commit::
24011  composer@2.1-s-593   (  593) [000] ...1 1034718.854807: tracing_mark_write: E|593
24012  composer@2.1-s-593   (  593) [000] ...1 1034718.854871: tracing_mark_write: E|593
24013  composer@2.1-s-593   (  593) [000] ...1 1034718.854945: tracing_mark_write: E|593
24014  surfaceflinger-591   (  591) [001] ...1 1034718.855124: tracing_mark_write: E|591
24015  surfaceflinger-591   (  591) [001] ...1 1034718.870970: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24016  composer@2.1-s-593   (  593) [000] ...1 1034718.871219: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24017  composer@2.1-s-593   (  593) [000] ...1 1034718.871368: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24018  composer@2.1-s-593   (  593) [000] ...1 1034718.871412: tracing_mark_write: B|593|HWDevice::Commit::
24019  composer@2.1-s-593   (  593) [000] ...1 1034718.871664: tracing_mark_write: E|593
24020  composer@2.1-s-593   (  593) [000] ...1 1034718.871729: tracing_mark_write: E|593
24021  composer@2.1-s-593   (  593) [000] ...1 1034718.871804: tracing_mark_write: E|593
24022  surfaceflinger-591   (  591) [001] ...1 1034718.871987: tracing_mark_write: E|591
24023  surfaceflinger-591   (  591) [001] ...1 1034718.887681: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24024  composer@2.1-s-593   (  593) [000] ...1 1034718.887934: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24025  composer@2.1-s-593   (  593) [000] ...1 1034718.888081: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24026  composer@2.1-s-593   (  593) [000] ...1 1034718.888123: tracing_mark_write: B|593|HWDevice::Commit::
24027  composer@2.1-s-593   (  593) [000] ...1 1034718.888377: tracing_mark_write: E|593
24028  composer@2.1-s-593   (  593) [000] ...1 1034718.888443: tracing_mark_write: E|593
24029  composer@2.1-s-593   (  593) [000] ...1 1034718.888515: tracing_mark_write: E|593
24030  surfaceflinger-591   (  591) [001] ...1 1034718.888691: tracing_mark_write: E|591
24031  surfaceflinger-591   (  591) [001] ...1 1034718.904518: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24032  composer@2.1-s-593   (  593) [000] ...1 1034718.904763: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24033  composer@2.1-s-593   (  593) [000] ...1 1034718.904912: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24034  composer@2.1-s-593   (  593) [000] ...1 1034718.904956: tracing_mark_write: B|593|HWDevice::Commit::
24035  composer@2.1-s-593   (  593) [000] ...1 1034718.905216: tracing_mark_write: E|593
24036  composer@2.1-s-593   (  593) [000] ...1 1034718.905281: tracing_mark_write: E|593
24037  composer@2.1-s-593   (  593) [000] ...1 1034718.905354: tracing_mark_write: E|593
24038  surfaceflinger-591   (  591) [001] ...1 1034718.905534: tracing_mark_write: E|591
24039  surfaceflinger-591   (  591) [001] ...1 1034718.921262: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24040  composer@2.1-s-593   (  593) [000] ...1 1034718.921506: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24041  composer@2.1-s-593   (  593) [000] ...1 1034718.921652: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24042  composer@2.1-s-593   (  593) [000] ...1 1034718.921695: tracing_mark_write: B|593|HWDevice::Commit::
24043  composer@2.1-s-593   (  593) [000] ...1 1034718.921952: tracing_mark_write: E|593
24044  composer@2.1-s-593   (  593) [000] ...1 1034718.922017: tracing_mark_write: E|593
24045  composer@2.1-s-593   (  593) [000] ...1 1034718.922091: tracing_mark_write: E|593
24046  surfaceflinger-591   (  591) [001] ...1 1034718.922271: tracing_mark_write: E|591
24047  surfaceflinger-591   (  591) [001] ...1 1034718.938094: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24048  composer@2.1-s-593   (  593) [000] ...1 1034718.938340: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24049  composer@2.1-s-593   (  593) [000] ...1 1034718.938487: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24050  composer@2.1-s-593   (  593) [000] ...1 1034718.938529: tracing_mark_write: B|593|HWDevice::Commit::
24051  composer@2.1-s-593   (  593) [000] ...1 1034718.938787: tracing_mark_write: E|593
24052  composer@2.1-s-593   (  593) [000] ...1 1034718.938853: tracing_mark_write: E|593
24053  composer@2.1-s-593   (  593) [000] ...1 1034718.938925: tracing_mark_write: E|593
24054  surfaceflinger-591   (  591) [001] ...1 1034718.939103: tracing_mark_write: E|591
24055  surfaceflinger-591   (  591) [001] ...1 1034718.954818: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24056  composer@2.1-s-593   (  593) [000] ...1 1034718.955063: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24057  composer@2.1-s-593   (  593) [000] ...1 1034718.955212: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24058  composer@2.1-s-593   (  593) [000] ...1 1034718.955255: tracing_mark_write: B|593|HWDevice::Commit::
24059  composer@2.1-s-593   (  593) [000] ...1 1034718.955515: tracing_mark_write: E|593
24060  composer@2.1-s-593   (  593) [000] ...1 1034718.955580: tracing_mark_write: E|593
24061  composer@2.1-s-593   (  593) [000] ...1 1034718.955653: tracing_mark_write: E|593
24062  surfaceflinger-591   (  591) [001] ...1 1034718.955829: tracing_mark_write: E|591
24063  surfaceflinger-591   (  591) [000] ...1 1034718.971632: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24064  composer@2.1-s-593   (  593) [001] ...1 1034718.971883: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24065  composer@2.1-s-593   (  593) [001] ...1 1034718.972031: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24066  composer@2.1-s-593   (  593) [001] ...1 1034718.972075: tracing_mark_write: B|593|HWDevice::Commit::
24067  composer@2.1-s-593   (  593) [001] ...1 1034718.972331: tracing_mark_write: E|593
24068  composer@2.1-s-593   (  593) [001] ...1 1034718.972396: tracing_mark_write: E|593
24069  composer@2.1-s-593   (  593) [001] ...1 1034718.972470: tracing_mark_write: E|593
24070  surfaceflinger-591   (  591) [000] ...1 1034718.972651: tracing_mark_write: E|591
24071  surfaceflinger-591   (  591) [000] ...1 1034718.988346: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24072  composer@2.1-s-593   (  593) [001] ...1 1034718.988584: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24073  composer@2.1-s-593   (  593) [001] ...1 1034718.988725: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24074  composer@2.1-s-593   (  593) [001] ...1 1034718.988766: tracing_mark_write: B|593|HWDevice::Commit::
24075  composer@2.1-s-593   (  593) [001] ...1 1034718.989025: tracing_mark_write: E|593
24076  composer@2.1-s-593   (  593) [001] ...1 1034718.989088: tracing_mark_write: E|593
24077  composer@2.1-s-593   (  593) [001] ...1 1034718.989160: tracing_mark_write: E|593
24078  surfaceflinger-591   (  591) [000] ...1 1034718.989337: tracing_mark_write: E|591
24079  HwBinder:756_2-23196 (  756) [001] ...1 1034718.997638: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client
24080  HwBinder:756_2-23196 (  756) [001] ...1 1034718.998150: tracing_mark_write: E|756
24081  HwBinder:756_2-23196 (  756) [001] ...1 1034718.998181: tracing_mark_write: E|756
24082  MobileIQWorker-27051 (27005) [001] ...1 1034718.998383: tracing_mark_write: E|27005
24083  HwBinder:27005-27027 (27005) [004] ...1 1034718.998405: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server
24084  HwBinder:27005-27027 (27005) [004] ...1 1034718.998439: tracing_mark_write: E|27005
24085  MobileIQWorker-27058 (27005) [004] ...1 1034718.999993: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client
24086  hwservicemanag-570   (  570) [003] ...1 1034719.000244: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server
24087  hwservicemanag-570   (  570) [003] ...1 1034719.001485: tracing_mark_write: E|570
24088  MobileIQWorker-27058 (27005) [003] ...1 1034719.001656: tracing_mark_write: E|27005
24089  MobileIQWorker-27058 (27005) [003] ...1 1034719.001713: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client
24090  hwservicemanag-570   (  570) [003] ...1 1034719.002044: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server
24091  hwservicemanag-570   (  570) [003] ...1 1034719.002417: tracing_mark_write: B|570|HIDL::IServiceNotification::onRegistration::client
24092  hwservicemanag-570   (  570) [003] ...1 1034719.002490: tracing_mark_write: E|570
24093  hwservicemanag-570   (  570) [003] ...1 1034719.002509: tracing_mark_write: E|570
24094  HwBinder:27005-27027 (27005) [004] ...1 1034719.002576: tracing_mark_write: B|27005|HIDL::IServiceNotification::onRegistration::server
24095  HwBinder:27005-27027 (27005) [004] ...1 1034719.002601: tracing_mark_write: E|27005
24096  MobileIQWorker-27058 (27005) [003] ...1 1034719.002613: tracing_mark_write: E|27005
24097  MobileIQWorker-27058 (27005) [003] ...1 1034719.002644: tracing_mark_write: B|27005|HIDL::IServiceManager::get::client
24098  hwservicemanag-570   (  570) [003] ...1 1034719.002747: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
24099  hwservicemanag-570   (  570) [003] ...1 1034719.003048: tracing_mark_write: E|570
24100  MobileIQWorker-27058 (27005) [003] ...1 1034719.003313: tracing_mark_write: E|27005
24101  MobileIQWorker-27058 (27005) [003] ...1 1034719.003341: tracing_mark_write: B|27005|HIDL::IBase::interfaceChain::client
24102  allocator@1.0--731   (  731) [003] ...1 1034719.003556: tracing_mark_write: B|731|HIDL::IBase::interfaceChain::server
24103  allocator@1.0--731   (  731) [003] ...1 1034719.003658: tracing_mark_write: E|731
24104  MobileIQWorker-27058 (27005) [003] ...1 1034719.003781: tracing_mark_write: E|27005
24105  MobileIQWorker-27058 (27005) [003] ...1 1034719.003800: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client
24106  hwservicemanag-570   (  570) [003] ...1 1034719.003958: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server
24107  hwservicemanag-570   (  570) [003] ...1 1034719.003988: tracing_mark_write: E|570
24108  MobileIQWorker-27058 (27005) [003] ...1 1034719.004083: tracing_mark_write: E|27005
24109  MobileIQWorker-27058 (27005) [003] ...1 1034719.004220: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24110  allocator@1.0--731   (  731) [003] ...1 1034719.004295: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24111  allocator@1.0--731   (  731) [003] ...1 1034719.004741: tracing_mark_write: E|731
24112  surfaceflinger-591   (  591) [000] ...1 1034719.004858: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24113  composer@2.1-s-593   (  593) [001] ...1 1034719.005010: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24114  composer@2.1-s-593   (  593) [001] ...1 1034719.005109: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24115  composer@2.1-s-593   (  593) [001] ...1 1034719.005138: tracing_mark_write: B|593|HWDevice::Commit::
24116  MobileIQWorker-27058 (27005) [003] ...1 1034719.005288: tracing_mark_write: E|27005
24117  composer@2.1-s-593   (  593) [001] ...1 1034719.005309: tracing_mark_write: E|593
24118  composer@2.1-s-593   (  593) [001] ...1 1034719.005350: tracing_mark_write: E|593
24119  MobileIQWorker-27058 (27005) [003] ...1 1034719.005382: tracing_mark_write: B|27005|HIDL::IServiceManager::getTransport::client
24120  composer@2.1-s-593   (  593) [001] ...1 1034719.005397: tracing_mark_write: E|593
24121  hwservicemanag-570   (  570) [003] ...1 1034719.005480: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server
24122  surfaceflinger-591   (  591) [000] ...1 1034719.005498: tracing_mark_write: E|591
24123  hwservicemanag-570   (  570) [003] ...1 1034719.006148: tracing_mark_write: E|570
24124  MobileIQWorker-27058 (27005) [003] ...1 1034719.006230: tracing_mark_write: E|27005
24125  MobileIQWorker-27058 (27005) [003] ...1 1034719.006259: tracing_mark_write: B|27005|HIDL::IServiceManager::registerForNotifications::client
24126  hwservicemanag-570   (  570) [003] ...1 1034719.006510: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server
24127  hwservicemanag-570   (  570) [003] ...1 1034719.006895: tracing_mark_write: E|570
24128  MobileIQWorker-27058 (27005) [003] ...1 1034719.006972: tracing_mark_write: E|27005
24129  MobileIQWorker-27058 (27005) [003] ...1 1034719.006991: tracing_mark_write: B|27005|HIDL::IServiceManager::unregisterForNotifications::client
24130  hwservicemanag-570   (  570) [003] ...1 1034719.007121: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server
24131  hwservicemanag-570   (  570) [003] ...1 1034719.007145: tracing_mark_write: E|570
24132  MobileIQWorker-27058 (27005) [003] ...1 1034719.007233: tracing_mark_write: E|27005
24133  MobileIQWorker-27058 (27005) [003] ...1 1034719.011829: tracing_mark_write: B|27005|HIDL::IServiceManager::registerPassthroughClient::client
24134  hwservicemanag-570   (  570) [003] ...1 1034719.011941: tracing_mark_write: B|570|HIDL::IServiceManager::registerPassthroughClient::server
24135  hwservicemanag-570   (  570) [003] ...1 1034719.012191: tracing_mark_write: E|570
24136  MobileIQWorker-27058 (27005) [003] ...1 1034719.012271: tracing_mark_write: E|27005
24137  MobileIQWorker-27058 (27005) [003] ...1 1034719.012549: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24138  allocator@1.0--731   (  731) [003] ...1 1034719.012633: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24139  allocator@1.0--731   (  731) [003] ...1 1034719.012836: tracing_mark_write: E|731
24140  MobileIQWorker-27058 (27005) [003] ...1 1034719.013048: tracing_mark_write: E|27005
24141  MobileIQWorker-27058 (27005) [003] ...1 1034719.013621: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client
24142  HwBinder:756_2-23196 (  756) [003] ...1 1034719.014024: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server
24143  HwBinder:756_2-23196 (  756) [000] ...1 1034719.018363: tracing_mark_write: B|756|HIDL::IServiceManager::getTransport::client
24144  hwservicemanag-570   (  570) [000] ...1 1034719.018536: tracing_mark_write: B|570|HIDL::IServiceManager::getTransport::server
24145  hwservicemanag-570   (  570) [000] ...1 1034719.019276: tracing_mark_write: E|570
24146  HwBinder:756_2-23196 (  756) [000] ...1 1034719.019395: tracing_mark_write: E|756
24147  HwBinder:756_2-23196 (  756) [000] ...1 1034719.019491: tracing_mark_write: B|756|HIDL::IServiceManager::registerForNotifications::client
24148  hwservicemanag-570   (  570) [000] ...1 1034719.019803: tracing_mark_write: B|570|HIDL::IServiceManager::registerForNotifications::server
24149  hwservicemanag-570   (  570) [000] ...1 1034719.020274: tracing_mark_write: E|570
24150  HwBinder:756_2-23196 (  756) [000] ...1 1034719.020361: tracing_mark_write: E|756
24151  HwBinder:756_2-23196 (  756) [000] ...1 1034719.020389: tracing_mark_write: B|756|HIDL::IServiceManager::unregisterForNotifications::client
24152  hwservicemanag-570   (  570) [000] ...1 1034719.020539: tracing_mark_write: B|570|HIDL::IServiceManager::unregisterForNotifications::server
24153  hwservicemanag-570   (  570) [000] ...1 1034719.020566: tracing_mark_write: E|570
24154  HwBinder:756_2-23196 (  756) [000] ...1 1034719.020680: tracing_mark_write: E|756
24155  surfaceflinger-591   (  591) [001] ...1 1034719.021658: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24156  composer@2.1-s-593   (  593) [000] ...1 1034719.021822: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24157  composer@2.1-s-593   (  593) [000] ...1 1034719.021920: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24158  composer@2.1-s-593   (  593) [000] ...1 1034719.021949: tracing_mark_write: B|593|HWDevice::Commit::
24159  composer@2.1-s-593   (  593) [000] ...1 1034719.022118: tracing_mark_write: E|593
24160  composer@2.1-s-593   (  593) [000] ...1 1034719.022159: tracing_mark_write: E|593
24161  composer@2.1-s-593   (  593) [000] ...1 1034719.022204: tracing_mark_write: E|593
24162  surfaceflinger-591   (  591) [001] ...1 1034719.022313: tracing_mark_write: E|591
24163  HwBinder:756_2-23196 (  756) [000] ...1 1034719.024034: tracing_mark_write: B|756|HIDL::IServiceManager::registerPassthroughClient::client
24164  hwservicemanag-570   (  570) [000] ...1 1034719.024153: tracing_mark_write: B|570|HIDL::IServiceManager::registerPassthroughClient::server
24165  hwservicemanag-570   (  570) [000] ...1 1034719.024428: tracing_mark_write: E|570
24166  HwBinder:756_2-23196 (  756) [000] ...1 1034719.024508: tracing_mark_write: E|756
24167  HwBinder:756_2-23196 (  756) [000] ...1 1034719.034754: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client
24168  HwBinder:756_2-23196 (  756) [000] ...1 1034719.034839: tracing_mark_write: E|756
24169  HwBinder:756_2-23196 (  756) [000] ...1 1034719.034860: tracing_mark_write: E|756
24170  HwBinder:27005-27027 (27005) [004] ...1 1034719.034945: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server
24171  HwBinder:27005-27027 (27005) [004] ...1 1034719.034976: tracing_mark_write: E|27005
24172  MobileIQWorker-27058 (27005) [000] ...1 1034719.035059: tracing_mark_write: E|27005
24173  MobileIQWorker-27051 (27005) [004] ...1 1034719.035802: tracing_mark_write: E|27005
24174  surfaceflinger-591   (  591) [000] ...1 1034719.038316: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24175  composer@2.1-s-593   (  593) [001] ...1 1034719.038462: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24176  composer@2.1-s-593   (  593) [001] ...1 1034719.038549: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24177  composer@2.1-s-593   (  593) [001] ...1 1034719.038572: tracing_mark_write: B|593|HWDevice::Commit::
24178  composer@2.1-s-593   (  593) [001] ...1 1034719.038705: tracing_mark_write: E|593
24179  composer@2.1-s-593   (  593) [001] ...1 1034719.038738: tracing_mark_write: E|593
24180  composer@2.1-s-593   (  593) [001] ...1 1034719.038775: tracing_mark_write: E|593
24181  surfaceflinger-591   (  591) [000] ...1 1034719.038860: tracing_mark_write: E|591
24182  MobileIQWorker-27051 (27005) [005] ...1 1034719.041231: tracing_mark_write: E|27005
24183  MobileIQWorker-27051 (27005) [005] ...1 1034719.052604: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized
24184  surfaceflinger-591   (  591) [000] ...1 1034719.055026: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24185  composer@2.1-s-593   (  593) [001] ...1 1034719.055156: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24186  composer@2.1-s-593   (  593) [001] ...1 1034719.055231: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24187  composer@2.1-s-593   (  593) [001] ...1 1034719.055253: tracing_mark_write: B|593|HWDevice::Commit::
24188  composer@2.1-s-593   (  593) [001] ...1 1034719.055384: tracing_mark_write: E|593
24189  composer@2.1-s-593   (  593) [001] ...1 1034719.055416: tracing_mark_write: E|593
24190  composer@2.1-s-593   (  593) [001] ...1 1034719.055451: tracing_mark_write: E|593
24191  surfaceflinger-591   (  591) [000] ...1 1034719.055532: tracing_mark_write: E|591
24192  surfaceflinger-591   (  591) [000] ...1 1034719.072264: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24193  composer@2.1-s-593   (  593) [001] ...1 1034719.072507: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24194  composer@2.1-s-593   (  593) [001] ...1 1034719.072688: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24195  composer@2.1-s-593   (  593) [001] ...1 1034719.072731: tracing_mark_write: B|593|HWDevice::Commit::
24196  composer@2.1-s-593   (  593) [001] ...1 1034719.072991: tracing_mark_write: E|593
24197  composer@2.1-s-593   (  593) [001] ...1 1034719.073054: tracing_mark_write: E|593
24198  composer@2.1-s-593   (  593) [001] ...1 1034719.073126: tracing_mark_write: E|593
24199  surfaceflinger-591   (  591) [000] ...1 1034719.073309: tracing_mark_write: E|591
24200  surfaceflinger-591   (  591) [000] ...1 1034719.089234: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24201  composer@2.1-s-593   (  593) [001] ...1 1034719.089472: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24202  composer@2.1-s-593   (  593) [001] ...1 1034719.089613: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24203  composer@2.1-s-593   (  593) [001] ...1 1034719.089638: tracing_mark_write: E|593
24204  composer@2.1-s-593   (  593) [001] ...1 1034719.089654: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24205  composer@2.1-s-593   (  593) [001] ...1 1034719.090346: tracing_mark_write: B|593|HWDevice::Validate::
24206  composer@2.1-s-593   (  593) [001] ...1 1034719.090499: tracing_mark_write: E|593
24207  composer@2.1-s-593   (  593) [001] ...1 1034719.090558: tracing_mark_write: E|593
24208  composer@2.1-s-593   (  593) [001] ...1 1034719.090605: tracing_mark_write: E|593
24209  surfaceflinger-591   (  591) [000] ...1 1034719.090743: tracing_mark_write: E|591
24210  surfaceflinger-591   (  591) [000] ...1 1034719.090925: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24211  composer@2.1-s-593   (  593) [001] ...1 1034719.091057: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24212  composer@2.1-s-593   (  593) [001] ...1 1034719.091087: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24213  composer@2.1-s-593   (  593) [001] ...1 1034719.091118: tracing_mark_write: B|593|HWDevice::Commit::
24214  composer@2.1-s-593   (  593) [001] ...1 1034719.091349: tracing_mark_write: E|593
24215  composer@2.1-s-593   (  593) [001] ...1 1034719.091400: tracing_mark_write: E|593
24216  composer@2.1-s-593   (  593) [001] ...1 1034719.091464: tracing_mark_write: E|593
24217  surfaceflinger-591   (  591) [000] ...1 1034719.091616: tracing_mark_write: E|591
24218  surfaceflinger-591   (  591) [000] ...1 1034719.105882: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24219  composer@2.1-s-593   (  593) [001] ...1 1034719.106132: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24220  composer@2.1-s-593   (  593) [001] ...1 1034719.106283: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24221  composer@2.1-s-593   (  593) [001] ...1 1034719.106310: tracing_mark_write: E|593
24222  composer@2.1-s-593   (  593) [001] ...1 1034719.106327: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24223  composer@2.1-s-593   (  593) [001] ...1 1034719.107040: tracing_mark_write: B|593|HWDevice::Validate::
24224  composer@2.1-s-593   (  593) [001] ...1 1034719.107197: tracing_mark_write: E|593
24225  composer@2.1-s-593   (  593) [001] ...1 1034719.107258: tracing_mark_write: E|593
24226  composer@2.1-s-593   (  593) [001] ...1 1034719.107306: tracing_mark_write: E|593
24227  surfaceflinger-591   (  591) [000] ...1 1034719.107445: tracing_mark_write: E|591
24228  surfaceflinger-591   (  591) [000] ...1 1034719.107628: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24229  composer@2.1-s-593   (  593) [001] ...1 1034719.107764: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24230  composer@2.1-s-593   (  593) [001] ...1 1034719.107795: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24231  composer@2.1-s-593   (  593) [001] ...1 1034719.107828: tracing_mark_write: B|593|HWDevice::Commit::
24232  composer@2.1-s-593   (  593) [001] ...1 1034719.108069: tracing_mark_write: E|593
24233  composer@2.1-s-593   (  593) [001] ...1 1034719.108121: tracing_mark_write: E|593
24234  composer@2.1-s-593   (  593) [001] ...1 1034719.108186: tracing_mark_write: E|593
24235  surfaceflinger-591   (  591) [000] ...1 1034719.108340: tracing_mark_write: E|591
24236  surfaceflinger-591   (  591) [000] ...1 1034719.122671: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24237  composer@2.1-s-593   (  593) [001] ...1 1034719.122917: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24238  composer@2.1-s-593   (  593) [001] ...1 1034719.123065: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24239  composer@2.1-s-593   (  593) [001] ...1 1034719.123108: tracing_mark_write: B|593|HWDevice::Commit::
24240  composer@2.1-s-593   (  593) [001] ...1 1034719.123450: tracing_mark_write: E|593
24241  composer@2.1-s-593   (  593) [001] ...1 1034719.123515: tracing_mark_write: E|593
24242  composer@2.1-s-593   (  593) [001] ...1 1034719.123589: tracing_mark_write: E|593
24243  surfaceflinger-591   (  591) [000] ...1 1034719.123776: tracing_mark_write: E|591
24244  surfaceflinger-591   (  591) [000] ...1 1034719.139409: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24245  composer@2.1-s-593   (  593) [001] ...1 1034719.139659: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24246  composer@2.1-s-593   (  593) [001] ...1 1034719.139809: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24247  composer@2.1-s-593   (  593) [001] ...1 1034719.139852: tracing_mark_write: B|593|HWDevice::Commit::
24248  composer@2.1-s-593   (  593) [001] ...1 1034719.140163: tracing_mark_write: E|593
24249  composer@2.1-s-593   (  593) [001] ...1 1034719.140227: tracing_mark_write: E|593
24250  composer@2.1-s-593   (  593) [001] ...1 1034719.140303: tracing_mark_write: E|593
24251  surfaceflinger-591   (  591) [000] ...1 1034719.140494: tracing_mark_write: E|591
24252  surfaceflinger-591   (  591) [000] ...1 1034719.156125: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24253  composer@2.1-s-593   (  593) [001] ...1 1034719.156344: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24254  composer@2.1-s-593   (  593) [001] ...1 1034719.156477: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24255  composer@2.1-s-593   (  593) [001] ...1 1034719.156516: tracing_mark_write: B|593|HWDevice::Commit::
24256  composer@2.1-s-593   (  593) [001] ...1 1034719.156813: tracing_mark_write: E|593
24257  composer@2.1-s-593   (  593) [001] ...1 1034719.156874: tracing_mark_write: E|593
24258  composer@2.1-s-593   (  593) [001] ...1 1034719.156943: tracing_mark_write: E|593
24259  surfaceflinger-591   (  591) [000] ...1 1034719.157123: tracing_mark_write: E|591
24260  MobileIQWorker-27051 (27005) [006] ...1 1034719.163738: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark
24261  MobileIQWorker-27051 (27005) [006] ...1 1034719.163987: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client
24262  HwBinder:756_3-27059 (  756) [004] ...1 1034719.164151: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server
24263  HwBinder:756_3-27059 (  756) [004] ...1 1034719.164599: tracing_mark_write: E|756
24264  MobileIQWorker-27051 (27005) [006] ...1 1034719.164633: tracing_mark_write: E|27005
24265  MobileIQWorker-27051 (27005) [006] ...1 1034719.164724: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client
24266  HwBinder:756_3-27059 (  756) [004] ...1 1034719.164852: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server
24267  surfaceflinger-591   (  591) [000] ...1 1034719.173459: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24268  composer@2.1-s-593   (  593) [001] ...1 1034719.173721: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24269  composer@2.1-s-593   (  593) [001] ...1 1034719.173867: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24270  composer@2.1-s-593   (  593) [001] ...1 1034719.173911: tracing_mark_write: B|593|HWDevice::Commit::
24271  composer@2.1-s-593   (  593) [001] ...1 1034719.174173: tracing_mark_write: E|593
24272  composer@2.1-s-593   (  593) [001] ...1 1034719.174238: tracing_mark_write: E|593
24273  composer@2.1-s-593   (  593) [001] ...1 1034719.174313: tracing_mark_write: E|593
24274  surfaceflinger-591   (  591) [000] ...1 1034719.174496: tracing_mark_write: E|591
24275  surfaceflinger-591   (  591) [000] ...1 1034719.189548: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24276  composer@2.1-s-593   (  593) [001] ...1 1034719.189725: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24277  composer@2.1-s-593   (  593) [001] ...1 1034719.189828: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24278  composer@2.1-s-593   (  593) [001] ...1 1034719.189858: tracing_mark_write: B|593|HWDevice::Commit::
24279  composer@2.1-s-593   (  593) [001] ...1 1034719.190070: tracing_mark_write: E|593
24280  composer@2.1-s-593   (  593) [001] ...1 1034719.190116: tracing_mark_write: E|593
24281  composer@2.1-s-593   (  593) [001] ...1 1034719.190166: tracing_mark_write: E|593
24282  surfaceflinger-591   (  591) [000] ...1 1034719.190288: tracing_mark_write: E|591
24283  surfaceflinger-591   (  591) [001] ...1 1034719.206219: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24284  composer@2.1-s-593   (  593) [000] ...1 1034719.206372: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24285  composer@2.1-s-593   (  593) [000] ...1 1034719.206455: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24286  composer@2.1-s-593   (  593) [000] ...1 1034719.206480: tracing_mark_write: B|593|HWDevice::Commit::
24287  composer@2.1-s-593   (  593) [000] ...1 1034719.206655: tracing_mark_write: E|593
24288  composer@2.1-s-593   (  593) [000] ...1 1034719.206690: tracing_mark_write: E|593
24289  composer@2.1-s-593   (  593) [000] ...1 1034719.206726: tracing_mark_write: E|593
24290  surfaceflinger-591   (  591) [001] ...1 1034719.206814: tracing_mark_write: E|591
24291  surfaceflinger-591   (  591) [000] ...1 1034719.222967: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24292  composer@2.1-s-593   (  593) [001] ...1 1034719.223110: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24293  composer@2.1-s-593   (  593) [001] ...1 1034719.223189: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24294  composer@2.1-s-593   (  593) [001] ...1 1034719.223300: tracing_mark_write: B|593|HWDevice::Commit::
24295  composer@2.1-s-593   (  593) [001] ...1 1034719.223452: tracing_mark_write: E|593
24296  composer@2.1-s-593   (  593) [001] ...1 1034719.223488: tracing_mark_write: E|593
24297  composer@2.1-s-593   (  593) [001] ...1 1034719.223528: tracing_mark_write: E|593
24298  surfaceflinger-591   (  591) [000] ...1 1034719.223618: tracing_mark_write: E|591
24299  surfaceflinger-591   (  591) [000] ...1 1034719.239619: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24300  composer@2.1-s-593   (  593) [001] ...1 1034719.239754: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24301  composer@2.1-s-593   (  593) [001] ...1 1034719.239821: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24302  composer@2.1-s-593   (  593) [001] ...1 1034719.239841: tracing_mark_write: B|593|HWDevice::Commit::
24303  composer@2.1-s-593   (  593) [001] ...1 1034719.239983: tracing_mark_write: E|593
24304  composer@2.1-s-593   (  593) [001] ...1 1034719.240009: tracing_mark_write: E|593
24305  composer@2.1-s-593   (  593) [001] ...1 1034719.240039: tracing_mark_write: E|593
24306  surfaceflinger-591   (  591) [000] ...1 1034719.240109: tracing_mark_write: E|591
24307  surfaceflinger-591   (  591) [000] ...1 1034719.256883: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24308  composer@2.1-s-593   (  593) [001] ...1 1034719.257104: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24309  composer@2.1-s-593   (  593) [001] ...1 1034719.257241: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24310  composer@2.1-s-593   (  593) [001] ...1 1034719.257280: tracing_mark_write: B|593|HWDevice::Commit::
24311  composer@2.1-s-593   (  593) [001] ...1 1034719.257514: tracing_mark_write: E|593
24312  composer@2.1-s-593   (  593) [001] ...1 1034719.257571: tracing_mark_write: E|593
24313  composer@2.1-s-593   (  593) [001] ...1 1034719.257636: tracing_mark_write: E|593
24314  surfaceflinger-591   (  591) [000] ...1 1034719.257795: tracing_mark_write: E|591
24315  surfaceflinger-591   (  591) [000] ...1 1034719.273279: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24316  composer@2.1-s-593   (  593) [001] ...1 1034719.273433: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24317  composer@2.1-s-593   (  593) [001] ...1 1034719.273505: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24318  composer@2.1-s-593   (  593) [001] ...1 1034719.273527: tracing_mark_write: B|593|HWDevice::Commit::
24319  composer@2.1-s-593   (  593) [001] ...1 1034719.273651: tracing_mark_write: E|593
24320  composer@2.1-s-593   (  593) [001] ...1 1034719.273679: tracing_mark_write: E|593
24321  composer@2.1-s-593   (  593) [001] ...1 1034719.273711: tracing_mark_write: E|593
24322  surfaceflinger-591   (  591) [000] ...1 1034719.273787: tracing_mark_write: E|591
24323  surfaceflinger-591   (  591) [000] ...1 1034719.289981: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24324  composer@2.1-s-593   (  593) [001] ...1 1034719.290105: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24325  composer@2.1-s-593   (  593) [001] ...1 1034719.290176: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24326  composer@2.1-s-593   (  593) [001] ...1 1034719.290197: tracing_mark_write: B|593|HWDevice::Commit::
24327  composer@2.1-s-593   (  593) [001] ...1 1034719.290321: tracing_mark_write: E|593
24328  composer@2.1-s-593   (  593) [001] ...1 1034719.290349: tracing_mark_write: E|593
24329  composer@2.1-s-593   (  593) [001] ...1 1034719.290380: tracing_mark_write: E|593
24330  surfaceflinger-591   (  591) [000] ...1 1034719.290457: tracing_mark_write: E|591
24331  surfaceflinger-591   (  591) [000] ...1 1034719.306780: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24332  composer@2.1-s-593   (  593) [001] ...1 1034719.306898: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24333  composer@2.1-s-593   (  593) [001] ...1 1034719.306966: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24334  composer@2.1-s-593   (  593) [001] ...1 1034719.306987: tracing_mark_write: B|593|HWDevice::Commit::
24335  composer@2.1-s-593   (  593) [001] ...1 1034719.307111: tracing_mark_write: E|593
24336  composer@2.1-s-593   (  593) [001] ...1 1034719.307138: tracing_mark_write: E|593
24337  composer@2.1-s-593   (  593) [001] ...1 1034719.307170: tracing_mark_write: E|593
24338  surfaceflinger-591   (  591) [000] ...1 1034719.307243: tracing_mark_write: E|591
24339  surfaceflinger-591   (  591) [000] ...1 1034719.324201: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24340  composer@2.1-s-593   (  593) [001] ...1 1034719.324451: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24341  composer@2.1-s-593   (  593) [001] ...1 1034719.324591: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24342  composer@2.1-s-593   (  593) [001] ...1 1034719.324630: tracing_mark_write: B|593|HWDevice::Commit::
24343  composer@2.1-s-593   (  593) [001] ...1 1034719.324866: tracing_mark_write: E|593
24344  composer@2.1-s-593   (  593) [001] ...1 1034719.324923: tracing_mark_write: E|593
24345  composer@2.1-s-593   (  593) [001] ...1 1034719.324988: tracing_mark_write: E|593
24346  surfaceflinger-591   (  591) [000] ...1 1034719.325145: tracing_mark_write: E|591
24347  surfaceflinger-591   (  591) [000] ...1 1034719.340724: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24348  composer@2.1-s-593   (  593) [001] ...1 1034719.340944: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24349  composer@2.1-s-593   (  593) [001] ...1 1034719.341080: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24350  composer@2.1-s-593   (  593) [001] ...1 1034719.341119: tracing_mark_write: B|593|HWDevice::Commit::
24351  composer@2.1-s-593   (  593) [001] ...1 1034719.341351: tracing_mark_write: E|593
24352  composer@2.1-s-593   (  593) [001] ...1 1034719.341409: tracing_mark_write: E|593
24353  composer@2.1-s-593   (  593) [001] ...1 1034719.341475: tracing_mark_write: E|593
24354  surfaceflinger-591   (  591) [000] ...1 1034719.341641: tracing_mark_write: E|591
24355  surfaceflinger-591   (  591) [000] ...1 1034719.357623: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24356  composer@2.1-s-593   (  593) [001] ...1 1034719.357878: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24357  composer@2.1-s-593   (  593) [001] ...1 1034719.358032: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24358  composer@2.1-s-593   (  593) [001] ...1 1034719.358076: tracing_mark_write: B|593|HWDevice::Commit::
24359  composer@2.1-s-593   (  593) [001] ...1 1034719.358338: tracing_mark_write: E|593
24360  composer@2.1-s-593   (  593) [001] ...1 1034719.358404: tracing_mark_write: E|593
24361  composer@2.1-s-593   (  593) [001] ...1 1034719.358479: tracing_mark_write: E|593
24362  surfaceflinger-591   (  591) [000] ...1 1034719.358661: tracing_mark_write: E|591
24363  surfaceflinger-591   (  591) [000] ...1 1034719.374370: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24364  composer@2.1-s-593   (  593) [001] ...1 1034719.374624: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24365  composer@2.1-s-593   (  593) [001] ...1 1034719.374773: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24366  composer@2.1-s-593   (  593) [001] ...1 1034719.374818: tracing_mark_write: B|593|HWDevice::Commit::
24367  composer@2.1-s-593   (  593) [001] ...1 1034719.375079: tracing_mark_write: E|593
24368  composer@2.1-s-593   (  593) [001] ...1 1034719.375142: tracing_mark_write: E|593
24369  composer@2.1-s-593   (  593) [001] ...1 1034719.375216: tracing_mark_write: E|593
24370  surfaceflinger-591   (  591) [000] ...1 1034719.375394: tracing_mark_write: E|591
24371  surfaceflinger-591   (  591) [000] ...1 1034719.391177: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24372  composer@2.1-s-593   (  593) [001] ...1 1034719.391423: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24373  composer@2.1-s-593   (  593) [001] ...1 1034719.391572: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24374  composer@2.1-s-593   (  593) [001] ...1 1034719.391616: tracing_mark_write: B|593|HWDevice::Commit::
24375  composer@2.1-s-593   (  593) [001] ...1 1034719.391875: tracing_mark_write: E|593
24376  composer@2.1-s-593   (  593) [001] ...1 1034719.391939: tracing_mark_write: E|593
24377  composer@2.1-s-593   (  593) [001] ...1 1034719.392012: tracing_mark_write: E|593
24378  surfaceflinger-591   (  591) [000] ...1 1034719.392189: tracing_mark_write: E|591
24379  surfaceflinger-591   (  591) [000] ...1 1034719.407920: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24380  composer@2.1-s-593   (  593) [001] ...1 1034719.408163: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24381  composer@2.1-s-593   (  593) [001] ...1 1034719.408310: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24382  composer@2.1-s-593   (  593) [001] ...1 1034719.408353: tracing_mark_write: B|593|HWDevice::Commit::
24383  composer@2.1-s-593   (  593) [001] ...1 1034719.408613: tracing_mark_write: E|593
24384  composer@2.1-s-593   (  593) [001] ...1 1034719.408678: tracing_mark_write: E|593
24385  composer@2.1-s-593   (  593) [001] ...1 1034719.408752: tracing_mark_write: E|593
24386  surfaceflinger-591   (  591) [000] ...1 1034719.408926: tracing_mark_write: E|591
24387  surfaceflinger-591   (  591) [000] ...1 1034719.424740: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24388  composer@2.1-s-593   (  593) [001] ...1 1034719.424987: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24389  composer@2.1-s-593   (  593) [001] ...1 1034719.425133: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24390  composer@2.1-s-593   (  593) [001] ...1 1034719.425176: tracing_mark_write: B|593|HWDevice::Commit::
24391  composer@2.1-s-593   (  593) [001] ...1 1034719.425422: tracing_mark_write: E|593
24392  composer@2.1-s-593   (  593) [001] ...1 1034719.425485: tracing_mark_write: E|593
24393  composer@2.1-s-593   (  593) [001] ...1 1034719.425559: tracing_mark_write: E|593
24394  surfaceflinger-591   (  591) [000] ...1 1034719.425736: tracing_mark_write: E|591
24395  surfaceflinger-591   (  591) [000] ...1 1034719.441458: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24396  composer@2.1-s-593   (  593) [001] ...1 1034719.441701: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24397  composer@2.1-s-593   (  593) [001] ...1 1034719.441848: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24398  composer@2.1-s-593   (  593) [001] ...1 1034719.441892: tracing_mark_write: B|593|HWDevice::Commit::
24399  composer@2.1-s-593   (  593) [001] ...1 1034719.442146: tracing_mark_write: E|593
24400  composer@2.1-s-593   (  593) [001] ...1 1034719.442209: tracing_mark_write: E|593
24401  composer@2.1-s-593   (  593) [001] ...1 1034719.442282: tracing_mark_write: E|593
24402  surfaceflinger-591   (  591) [000] ...1 1034719.442455: tracing_mark_write: E|591
24403  surfaceflinger-591   (  591) [000] ...1 1034719.458286: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24404  composer@2.1-s-593   (  593) [001] ...1 1034719.458529: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24405  composer@2.1-s-593   (  593) [001] ...1 1034719.458678: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24406  composer@2.1-s-593   (  593) [001] ...1 1034719.458721: tracing_mark_write: B|593|HWDevice::Commit::
24407  composer@2.1-s-593   (  593) [001] ...1 1034719.458977: tracing_mark_write: E|593
24408  composer@2.1-s-593   (  593) [001] ...1 1034719.459040: tracing_mark_write: E|593
24409  composer@2.1-s-593   (  593) [001] ...1 1034719.459114: tracing_mark_write: E|593
24410  surfaceflinger-591   (  591) [000] ...1 1034719.459290: tracing_mark_write: E|591
24411  surfaceflinger-591   (  591) [000] ...1 1034719.475038: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24412  composer@2.1-s-593   (  593) [001] ...1 1034719.475283: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24413  composer@2.1-s-593   (  593) [001] ...1 1034719.475429: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24414  composer@2.1-s-593   (  593) [001] ...1 1034719.475472: tracing_mark_write: B|593|HWDevice::Commit::
24415  composer@2.1-s-593   (  593) [001] ...1 1034719.475733: tracing_mark_write: E|593
24416  composer@2.1-s-593   (  593) [001] ...1 1034719.475798: tracing_mark_write: E|593
24417  composer@2.1-s-593   (  593) [001] ...1 1034719.475872: tracing_mark_write: E|593
24418  surfaceflinger-591   (  591) [000] ...1 1034719.476046: tracing_mark_write: E|591
24419  surfaceflinger-591   (  591) [000] ...1 1034719.491786: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24420  composer@2.1-s-593   (  593) [001] ...1 1034719.492036: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24421  composer@2.1-s-593   (  593) [001] ...1 1034719.492184: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24422  composer@2.1-s-593   (  593) [001] ...1 1034719.492227: tracing_mark_write: B|593|HWDevice::Commit::
24423  composer@2.1-s-593   (  593) [001] ...1 1034719.492481: tracing_mark_write: E|593
24424  composer@2.1-s-593   (  593) [001] ...1 1034719.492544: tracing_mark_write: E|593
24425  composer@2.1-s-593   (  593) [001] ...1 1034719.492616: tracing_mark_write: E|593
24426  surfaceflinger-591   (  591) [000] ...1 1034719.492792: tracing_mark_write: E|591
24427  surfaceflinger-591   (  591) [000] ...1 1034719.508597: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24428  composer@2.1-s-593   (  593) [001] ...1 1034719.508843: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24429  composer@2.1-s-593   (  593) [001] ...1 1034719.508989: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24430  composer@2.1-s-593   (  593) [001] ...1 1034719.509031: tracing_mark_write: B|593|HWDevice::Commit::
24431  composer@2.1-s-593   (  593) [001] ...1 1034719.509291: tracing_mark_write: E|593
24432  composer@2.1-s-593   (  593) [001] ...1 1034719.509355: tracing_mark_write: E|593
24433  composer@2.1-s-593   (  593) [001] ...1 1034719.509428: tracing_mark_write: E|593
24434  surfaceflinger-591   (  591) [000] ...1 1034719.509604: tracing_mark_write: E|591
24435  surfaceflinger-591   (  591) [000] ...1 1034719.525370: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24436  composer@2.1-s-593   (  593) [001] ...1 1034719.525613: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24437  composer@2.1-s-593   (  593) [001] ...1 1034719.525761: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24438  composer@2.1-s-593   (  593) [001] ...1 1034719.525804: tracing_mark_write: B|593|HWDevice::Commit::
24439  composer@2.1-s-593   (  593) [001] ...1 1034719.526062: tracing_mark_write: E|593
24440  composer@2.1-s-593   (  593) [001] ...1 1034719.526127: tracing_mark_write: E|593
24441  composer@2.1-s-593   (  593) [001] ...1 1034719.526199: tracing_mark_write: E|593
24442  surfaceflinger-591   (  591) [000] ...1 1034719.526377: tracing_mark_write: E|591
24443  surfaceflinger-591   (  591) [000] ...1 1034719.542148: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24444  composer@2.1-s-593   (  593) [001] ...1 1034719.542391: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24445  composer@2.1-s-593   (  593) [001] ...1 1034719.542538: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24446  composer@2.1-s-593   (  593) [001] ...1 1034719.542582: tracing_mark_write: B|593|HWDevice::Commit::
24447  composer@2.1-s-593   (  593) [001] ...1 1034719.542847: tracing_mark_write: E|593
24448  composer@2.1-s-593   (  593) [001] ...1 1034719.542912: tracing_mark_write: E|593
24449  composer@2.1-s-593   (  593) [001] ...1 1034719.542985: tracing_mark_write: E|593
24450  surfaceflinger-591   (  591) [000] ...1 1034719.543162: tracing_mark_write: E|591
24451  surfaceflinger-591   (  591) [000] ...1 1034719.558931: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24452  composer@2.1-s-593   (  593) [001] ...1 1034719.559172: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24453  composer@2.1-s-593   (  593) [001] ...1 1034719.559321: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24454  composer@2.1-s-593   (  593) [001] ...1 1034719.559365: tracing_mark_write: B|593|HWDevice::Commit::
24455  composer@2.1-s-593   (  593) [001] ...1 1034719.559622: tracing_mark_write: E|593
24456  composer@2.1-s-593   (  593) [001] ...1 1034719.559684: tracing_mark_write: E|593
24457  composer@2.1-s-593   (  593) [001] ...1 1034719.559759: tracing_mark_write: E|593
24458  surfaceflinger-591   (  591) [000] ...1 1034719.560093: tracing_mark_write: E|591
24459  surfaceflinger-591   (  591) [000] ...1 1034719.575737: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24460  composer@2.1-s-593   (  593) [001] ...1 1034719.575984: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24461  composer@2.1-s-593   (  593) [001] ...1 1034719.576130: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24462  composer@2.1-s-593   (  593) [001] ...1 1034719.576173: tracing_mark_write: B|593|HWDevice::Commit::
24463  composer@2.1-s-593   (  593) [001] ...1 1034719.576424: tracing_mark_write: E|593
24464  composer@2.1-s-593   (  593) [001] ...1 1034719.576489: tracing_mark_write: E|593
24465  composer@2.1-s-593   (  593) [001] ...1 1034719.576629: tracing_mark_write: E|593
24466  surfaceflinger-591   (  591) [000] ...1 1034719.576810: tracing_mark_write: E|591
24467  surfaceflinger-591   (  591) [000] ...1 1034719.592597: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24468  composer@2.1-s-593   (  593) [000] ...1 1034719.592949: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24469  composer@2.1-s-593   (  593) [000] ...1 1034719.593111: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24470  composer@2.1-s-593   (  593) [000] ...1 1034719.593162: tracing_mark_write: B|593|HWDevice::Commit::
24471  composer@2.1-s-593   (  593) [000] ...1 1034719.593618: tracing_mark_write: E|593
24472  composer@2.1-s-593   (  593) [000] ...1 1034719.593683: tracing_mark_write: E|593
24473  composer@2.1-s-593   (  593) [000] ...1 1034719.593758: tracing_mark_write: E|593
24474  surfaceflinger-591   (  591) [001] ...1 1034719.593956: tracing_mark_write: E|591
24475  surfaceflinger-591   (  591) [000] ...1 1034719.609590: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24476  composer@2.1-s-593   (  593) [001] ...1 1034719.609849: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24477  composer@2.1-s-593   (  593) [001] ...1 1034719.610082: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24478  composer@2.1-s-593   (  593) [001] ...1 1034719.610110: tracing_mark_write: E|593
24479  composer@2.1-s-593   (  593) [001] ...1 1034719.610126: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24480  composer@2.1-s-593   (  593) [001] ...1 1034719.610756: tracing_mark_write: B|593|HWDevice::Validate::
24481  composer@2.1-s-593   (  593) [001] ...1 1034719.610909: tracing_mark_write: E|593
24482  composer@2.1-s-593   (  593) [001] ...1 1034719.610967: tracing_mark_write: E|593
24483  composer@2.1-s-593   (  593) [001] ...1 1034719.611015: tracing_mark_write: E|593
24484  surfaceflinger-591   (  591) [000] ...1 1034719.611153: tracing_mark_write: E|591
24485  surfaceflinger-591   (  591) [000] ...1 1034719.611335: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24486  composer@2.1-s-593   (  593) [001] ...1 1034719.611469: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24487  composer@2.1-s-593   (  593) [001] ...1 1034719.611499: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24488  composer@2.1-s-593   (  593) [001] ...1 1034719.611530: tracing_mark_write: B|593|HWDevice::Commit::
24489  composer@2.1-s-593   (  593) [001] ...1 1034719.611759: tracing_mark_write: E|593
24490  composer@2.1-s-593   (  593) [001] ...1 1034719.611811: tracing_mark_write: E|593
24491  composer@2.1-s-593   (  593) [001] ...1 1034719.611877: tracing_mark_write: E|593
24492  surfaceflinger-591   (  591) [000] ...1 1034719.612028: tracing_mark_write: E|591
24493  surfaceflinger-591   (  591) [000] ...1 1034719.626311: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24494  composer@2.1-s-593   (  593) [001] ...1 1034719.626654: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24495  composer@2.1-s-593   (  593) [001] ...1 1034719.626801: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24496  composer@2.1-s-593   (  593) [001] ...1 1034719.626844: tracing_mark_write: B|593|HWDevice::Commit::
24497  composer@2.1-s-593   (  593) [001] ...1 1034719.627100: tracing_mark_write: E|593
24498  composer@2.1-s-593   (  593) [001] ...1 1034719.627172: tracing_mark_write: E|593
24499  composer@2.1-s-593   (  593) [001] ...1 1034719.627259: tracing_mark_write: E|593
24500  surfaceflinger-591   (  591) [000] ...1 1034719.627445: tracing_mark_write: E|591
24501  surfaceflinger-591   (  591) [001] ...1 1034719.643128: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24502  composer@2.1-s-593   (  593) [000] ...1 1034719.643462: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24503  composer@2.1-s-593   (  593) [000] ...1 1034719.643612: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24504  composer@2.1-s-593   (  593) [000] ...1 1034719.643655: tracing_mark_write: B|593|HWDevice::Commit::
24505  composer@2.1-s-593   (  593) [000] ...1 1034719.643904: tracing_mark_write: E|593
24506  composer@2.1-s-593   (  593) [000] ...1 1034719.643970: tracing_mark_write: E|593
24507  composer@2.1-s-593   (  593) [000] ...1 1034719.644044: tracing_mark_write: E|593
24508  surfaceflinger-591   (  591) [001] ...1 1034719.644228: tracing_mark_write: E|591
24509  surfaceflinger-591   (  591) [000] ...1 1034719.659839: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24510  composer@2.1-s-593   (  593) [001] ...1 1034719.660217: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24511  composer@2.1-s-593   (  593) [001] ...1 1034719.660367: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24512  composer@2.1-s-593   (  593) [001] ...1 1034719.660411: tracing_mark_write: B|593|HWDevice::Commit::
24513  composer@2.1-s-593   (  593) [001] ...1 1034719.660660: tracing_mark_write: E|593
24514  composer@2.1-s-593   (  593) [001] ...1 1034719.660724: tracing_mark_write: E|593
24515  composer@2.1-s-593   (  593) [001] ...1 1034719.660800: tracing_mark_write: E|593
24516  surfaceflinger-591   (  591) [000] ...1 1034719.660976: tracing_mark_write: E|591
24517  surfaceflinger-591   (  591) [000] ...1 1034719.676681: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24518  composer@2.1-s-593   (  593) [001] ...1 1034719.676927: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24519  composer@2.1-s-593   (  593) [001] ...1 1034719.677077: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24520  composer@2.1-s-593   (  593) [001] ...1 1034719.677121: tracing_mark_write: B|593|HWDevice::Commit::
24521  composer@2.1-s-593   (  593) [001] ...1 1034719.677367: tracing_mark_write: E|593
24522  composer@2.1-s-593   (  593) [001] ...1 1034719.677432: tracing_mark_write: E|593
24523  composer@2.1-s-593   (  593) [001] ...1 1034719.677506: tracing_mark_write: E|593
24524  surfaceflinger-591   (  591) [000] ...1 1034719.677681: tracing_mark_write: E|591
24525  HwBinder:756_3-27059 (  756) [000] ...1 1034719.686691: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client
24526  HwBinder:756_3-27059 (  756) [000] ...1 1034719.686898: tracing_mark_write: E|756
24527  HwBinder:756_3-27059 (  756) [000] ...1 1034719.686930: tracing_mark_write: E|756
24528  MobileIQWorker-27051 (27005) [000] ...1 1034719.687091: tracing_mark_write: E|27005
24529  HwBinder:27005-27027 (27005) [004] ...1 1034719.687124: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server
24530  HwBinder:27005-27027 (27005) [004] ...1 1034719.687159: tracing_mark_write: E|27005
24531  MobileIQWorker-27064 (27005) [004] ...1 1034719.688449: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24532  allocator@1.0--731   (  731) [004] ...1 1034719.688637: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24533  allocator@1.0--731   (  731) [004] ...1 1034719.688985: tracing_mark_write: E|731
24534  MobileIQWorker-27064 (27005) [004] ...1 1034719.689167: tracing_mark_write: E|27005
24535  MobileIQWorker-27064 (27005) [004] ...1 1034719.689327: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24536  allocator@1.0--731   (  731) [004] ...1 1034719.689431: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24537  allocator@1.0--731   (  731) [004] ...1 1034719.689612: tracing_mark_write: E|731
24538  MobileIQWorker-27064 (27005) [004] ...1 1034719.689747: tracing_mark_write: E|27005
24539  MobileIQWorker-27064 (27005) [004] ...1 1034719.690321: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client
24540  HwBinder:756_3-27059 (  756) [004] ...1 1034719.690639: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server
24541  surfaceflinger-591   (  591) [000] ...1 1034719.693108: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24542  composer@2.1-s-593   (  593) [001] ...1 1034719.693378: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24543  composer@2.1-s-593   (  593) [001] ...1 1034719.693489: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24544  composer@2.1-s-593   (  593) [001] ...1 1034719.693519: tracing_mark_write: B|593|HWDevice::Commit::
24545  composer@2.1-s-593   (  593) [001] ...1 1034719.693688: tracing_mark_write: E|593
24546  composer@2.1-s-593   (  593) [001] ...1 1034719.693732: tracing_mark_write: E|593
24547  composer@2.1-s-593   (  593) [001] ...1 1034719.693782: tracing_mark_write: E|593
24548  surfaceflinger-591   (  591) [000] ...1 1034719.693900: tracing_mark_write: E|591
24549  HwBinder:756_3-27059 (  756) [000] ...1 1034719.701158: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client
24550  HwBinder:756_3-27059 (  756) [000] ...1 1034719.701230: tracing_mark_write: E|756
24551  HwBinder:756_3-27059 (  756) [000] ...1 1034719.701248: tracing_mark_write: E|756
24552  HwBinder:27005-27027 (27005) [004] ...1 1034719.701305: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server
24553  HwBinder:27005-27027 (27005) [004] ...1 1034719.701325: tracing_mark_write: E|27005
24554  MobileIQWorker-27064 (27005) [000] ...1 1034719.701607: tracing_mark_write: E|27005
24555  MobileIQWorker-27051 (27005) [004] ...1 1034719.702243: tracing_mark_write: E|27005
24556  MobileIQWorker-27051 (27005) [005] ...1 1034719.706714: tracing_mark_write: E|27005
24557  surfaceflinger-591   (  591) [000] ...1 1034719.710350: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24558  composer@2.1-s-593   (  593) [001] ...1 1034719.710607: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24559  MobileIQWorker-27051 (27005) [005] ...1 1034719.710621: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized
24560  composer@2.1-s-593   (  593) [001] ...1 1034719.710760: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24561  composer@2.1-s-593   (  593) [001] ...1 1034719.710804: tracing_mark_write: B|593|HWDevice::Commit::
24562  composer@2.1-s-593   (  593) [001] ...1 1034719.711067: tracing_mark_write: E|593
24563  composer@2.1-s-593   (  593) [001] ...1 1034719.711131: tracing_mark_write: E|593
24564  composer@2.1-s-593   (  593) [001] ...1 1034719.711210: tracing_mark_write: E|593
24565  surfaceflinger-591   (  591) [000] ...1 1034719.711405: tracing_mark_write: E|591
24566  surfaceflinger-591   (  591) [000] ...1 1034719.727115: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24567  composer@2.1-s-593   (  593) [001] ...1 1034719.727381: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24568  composer@2.1-s-593   (  593) [001] ...1 1034719.727530: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24569  composer@2.1-s-593   (  593) [001] ...1 1034719.727573: tracing_mark_write: B|593|HWDevice::Commit::
24570  composer@2.1-s-593   (  593) [001] ...1 1034719.727824: tracing_mark_write: E|593
24571  composer@2.1-s-593   (  593) [001] ...1 1034719.727887: tracing_mark_write: E|593
24572  composer@2.1-s-593   (  593) [001] ...1 1034719.727960: tracing_mark_write: E|593
24573  surfaceflinger-591   (  591) [000] ...1 1034719.728140: tracing_mark_write: E|591
24574  surfaceflinger-591   (  591) [000] ...1 1034719.744053: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24575  composer@2.1-s-593   (  593) [001] ...1 1034719.744298: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24576  composer@2.1-s-593   (  593) [001] ...1 1034719.744449: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24577  composer@2.1-s-593   (  593) [001] ...1 1034719.744478: tracing_mark_write: E|593
24578  composer@2.1-s-593   (  593) [001] ...1 1034719.744494: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24579  composer@2.1-s-593   (  593) [001] ...1 1034719.745136: tracing_mark_write: B|593|HWDevice::Validate::
24580  composer@2.1-s-593   (  593) [001] ...1 1034719.745291: tracing_mark_write: E|593
24581  composer@2.1-s-593   (  593) [001] ...1 1034719.745351: tracing_mark_write: E|593
24582  composer@2.1-s-593   (  593) [001] ...1 1034719.745399: tracing_mark_write: E|593
24583  surfaceflinger-591   (  591) [000] ...1 1034719.745538: tracing_mark_write: E|591
24584  surfaceflinger-591   (  591) [000] ...1 1034719.745734: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24585  composer@2.1-s-593   (  593) [001] ...1 1034719.745868: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24586  composer@2.1-s-593   (  593) [001] ...1 1034719.745899: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24587  composer@2.1-s-593   (  593) [001] ...1 1034719.745933: tracing_mark_write: B|593|HWDevice::Commit::
24588  composer@2.1-s-593   (  593) [001] ...1 1034719.746173: tracing_mark_write: E|593
24589  composer@2.1-s-593   (  593) [001] ...1 1034719.746225: tracing_mark_write: E|593
24590  composer@2.1-s-593   (  593) [001] ...1 1034719.746295: tracing_mark_write: E|593
24591  surfaceflinger-591   (  591) [000] ...1 1034719.746449: tracing_mark_write: E|591
24592  surfaceflinger-591   (  591) [000] ...1 1034719.760569: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24593  composer@2.1-s-593   (  593) [001] ...1 1034719.760813: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24594  composer@2.1-s-593   (  593) [001] ...1 1034719.760960: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24595  composer@2.1-s-593   (  593) [001] ...1 1034719.760987: tracing_mark_write: E|593
24596  composer@2.1-s-593   (  593) [001] ...1 1034719.761003: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24597  composer@2.1-s-593   (  593) [001] ...1 1034719.761641: tracing_mark_write: B|593|HWDevice::Validate::
24598  composer@2.1-s-593   (  593) [001] ...1 1034719.761795: tracing_mark_write: E|593
24599  composer@2.1-s-593   (  593) [001] ...1 1034719.761855: tracing_mark_write: E|593
24600  composer@2.1-s-593   (  593) [001] ...1 1034719.761902: tracing_mark_write: E|593
24601  surfaceflinger-591   (  591) [000] ...1 1034719.762037: tracing_mark_write: E|591
24602  surfaceflinger-591   (  591) [000] ...1 1034719.762228: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24603  composer@2.1-s-593   (  593) [001] ...1 1034719.762364: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24604  composer@2.1-s-593   (  593) [001] ...1 1034719.762394: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24605  composer@2.1-s-593   (  593) [001] ...1 1034719.762428: tracing_mark_write: B|593|HWDevice::Commit::
24606  composer@2.1-s-593   (  593) [001] ...1 1034719.762659: tracing_mark_write: E|593
24607  composer@2.1-s-593   (  593) [001] ...1 1034719.762711: tracing_mark_write: E|593
24608  composer@2.1-s-593   (  593) [001] ...1 1034719.762776: tracing_mark_write: E|593
24609  surfaceflinger-591   (  591) [000] ...1 1034719.762929: tracing_mark_write: E|591
24610  surfaceflinger-591   (  591) [000] ...1 1034719.777363: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24611  composer@2.1-s-593   (  593) [001] ...1 1034719.777629: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24612  composer@2.1-s-593   (  593) [001] ...1 1034719.777777: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24613  composer@2.1-s-593   (  593) [001] ...1 1034719.777821: tracing_mark_write: B|593|HWDevice::Commit::
24614  composer@2.1-s-593   (  593) [001] ...1 1034719.778077: tracing_mark_write: E|593
24615  composer@2.1-s-593   (  593) [001] ...1 1034719.778140: tracing_mark_write: E|593
24616  composer@2.1-s-593   (  593) [001] ...1 1034719.778214: tracing_mark_write: E|593
24617  surfaceflinger-591   (  591) [000] ...1 1034719.778392: tracing_mark_write: E|591
24618  surfaceflinger-591   (  591) [000] ...1 1034719.794187: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24619  composer@2.1-s-593   (  593) [001] ...1 1034719.794430: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24620  composer@2.1-s-593   (  593) [001] ...1 1034719.794577: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24621  composer@2.1-s-593   (  593) [001] ...1 1034719.794621: tracing_mark_write: B|593|HWDevice::Commit::
24622  composer@2.1-s-593   (  593) [001] ...1 1034719.794879: tracing_mark_write: E|593
24623  composer@2.1-s-593   (  593) [001] ...1 1034719.794941: tracing_mark_write: E|593
24624  composer@2.1-s-593   (  593) [001] ...1 1034719.795015: tracing_mark_write: E|593
24625  surfaceflinger-591   (  591) [000] ...1 1034719.795198: tracing_mark_write: E|591
24626  surfaceflinger-591   (  591) [000] ...1 1034719.810757: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24627  composer@2.1-s-593   (  593) [001] ...1 1034719.810981: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24628  composer@2.1-s-593   (  593) [001] ...1 1034719.811115: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24629  composer@2.1-s-593   (  593) [001] ...1 1034719.811155: tracing_mark_write: B|593|HWDevice::Commit::
24630  composer@2.1-s-593   (  593) [001] ...1 1034719.811399: tracing_mark_write: E|593
24631  composer@2.1-s-593   (  593) [001] ...1 1034719.811463: tracing_mark_write: E|593
24632  composer@2.1-s-593   (  593) [001] ...1 1034719.811532: tracing_mark_write: E|593
24633  surfaceflinger-591   (  591) [000] ...1 1034719.811706: tracing_mark_write: E|591
24634  MobileIQWorker-27051 (27005) [007] ...1 1034719.822231: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark
24635  MobileIQWorker-27051 (27005) [007] ...1 1034719.822462: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client
24636  neuralnetworks-756   (  756) [006] ...1 1034719.822620: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server
24637  neuralnetworks-756   (  756) [007] ...1 1034719.822912: tracing_mark_write: E|756
24638  MobileIQWorker-27051 (27005) [004] ...1 1034719.822945: tracing_mark_write: E|27005
24639  MobileIQWorker-27051 (27005) [004] ...1 1034719.823030: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client
24640  neuralnetworks-756   (  756) [005] ...1 1034719.823155: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server
24641  surfaceflinger-591   (  591) [000] ...1 1034719.827731: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24642  composer@2.1-s-593   (  593) [001] ...1 1034719.828038: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24643  composer@2.1-s-593   (  593) [001] ...1 1034719.828370: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24644  composer@2.1-s-593   (  593) [001] ...1 1034719.828482: tracing_mark_write: B|593|HWDevice::Commit::
24645  composer@2.1-s-593   (  593) [001] ...1 1034719.829010: tracing_mark_write: E|593
24646  composer@2.1-s-593   (  593) [001] ...1 1034719.829169: tracing_mark_write: E|593
24647  composer@2.1-s-593   (  593) [001] ...1 1034719.829340: tracing_mark_write: E|593
24648  surfaceflinger-591   (  591) [000] ...1 1034719.829634: tracing_mark_write: E|591
24649  surfaceflinger-591   (  591) [000] ...1 1034719.844344: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24650  composer@2.1-s-593   (  593) [001] ...1 1034719.844725: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24651  composer@2.1-s-593   (  593) [001] ...1 1034719.845126: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24652  composer@2.1-s-593   (  593) [001] ...1 1034719.845258: tracing_mark_write: B|593|HWDevice::Commit::
24653  composer@2.1-s-593   (  593) [001] ...1 1034719.845862: tracing_mark_write: E|593
24654  composer@2.1-s-593   (  593) [001] ...1 1034719.846061: tracing_mark_write: E|593
24655  composer@2.1-s-593   (  593) [001] ...1 1034719.846222: tracing_mark_write: E|593
24656  surfaceflinger-591   (  591) [000] ...1 1034719.846658: tracing_mark_write: E|591
24657  surfaceflinger-591   (  591) [000] ...1 1034719.861192: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24658  composer@2.1-s-593   (  593) [001] ...1 1034719.861608: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24659  composer@2.1-s-593   (  593) [001] ...1 1034719.862109: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24660  composer@2.1-s-593   (  593) [001] ...1 1034719.862277: tracing_mark_write: B|593|HWDevice::Commit::
24661  composer@2.1-s-593   (  593) [001] ...1 1034719.863028: tracing_mark_write: E|593
24662  composer@2.1-s-593   (  593) [001] ...1 1034719.863169: tracing_mark_write: E|593
24663  composer@2.1-s-593   (  593) [001] ...1 1034719.863655: tracing_mark_write: E|593
24664  surfaceflinger-591   (  591) [000] ...1 1034719.863954: tracing_mark_write: E|591
24665  surfaceflinger-591   (  591) [000] ...1 1034719.877909: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24666  composer@2.1-s-593   (  593) [001] ...1 1034719.878318: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24667  composer@2.1-s-593   (  593) [001] ...1 1034719.878702: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24668  composer@2.1-s-593   (  593) [001] ...1 1034719.878871: tracing_mark_write: B|593|HWDevice::Commit::
24669  composer@2.1-s-593   (  593) [001] ...1 1034719.879731: tracing_mark_write: E|593
24670  composer@2.1-s-593   (  593) [001] ...1 1034719.880091: tracing_mark_write: E|593
24671  composer@2.1-s-593   (  593) [001] ...1 1034719.880404: tracing_mark_write: E|593
24672  surfaceflinger-591   (  591) [000] ...1 1034719.880704: tracing_mark_write: E|591
24673  surfaceflinger-591   (  591) [000] ...1 1034719.894462: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24674  composer@2.1-s-593   (  593) [001] ...1 1034719.894681: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24675  composer@2.1-s-593   (  593) [001] ...1 1034719.894810: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24676  composer@2.1-s-593   (  593) [001] ...1 1034719.894835: tracing_mark_write: E|593
24677  composer@2.1-s-593   (  593) [001] ...1 1034719.894851: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24678  composer@2.1-s-593   (  593) [001] ...1 1034719.895480: tracing_mark_write: B|593|HWDevice::Validate::
24679  composer@2.1-s-593   (  593) [001] ...1 1034719.895637: tracing_mark_write: E|593
24680  composer@2.1-s-593   (  593) [001] ...1 1034719.895696: tracing_mark_write: E|593
24681  composer@2.1-s-593   (  593) [001] ...1 1034719.895742: tracing_mark_write: E|593
24682  surfaceflinger-591   (  591) [000] ...1 1034719.895874: tracing_mark_write: E|591
24683  surfaceflinger-591   (  591) [000] ...1 1034719.896057: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24684  composer@2.1-s-593   (  593) [001] ...1 1034719.896191: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24685  composer@2.1-s-593   (  593) [001] ...1 1034719.896220: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24686  composer@2.1-s-593   (  593) [001] ...1 1034719.896252: tracing_mark_write: B|593|HWDevice::Commit::
24687  composer@2.1-s-593   (  593) [001] ...1 1034719.896494: tracing_mark_write: E|593
24688  composer@2.1-s-593   (  593) [001] ...1 1034719.896600: tracing_mark_write: E|593
24689  composer@2.1-s-593   (  593) [001] ...1 1034719.896689: tracing_mark_write: E|593
24690  surfaceflinger-591   (  591) [000] ...1 1034719.896841: tracing_mark_write: E|591
24691  surfaceflinger-591   (  591) [000] ...1 1034719.911270: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24692  composer@2.1-s-593   (  593) [001] ...1 1034719.911487: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24693  composer@2.1-s-593   (  593) [001] ...1 1034719.911621: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24694  composer@2.1-s-593   (  593) [001] ...1 1034719.911658: tracing_mark_write: B|593|HWDevice::Commit::
24695  composer@2.1-s-593   (  593) [001] ...1 1034719.911905: tracing_mark_write: E|593
24696  composer@2.1-s-593   (  593) [001] ...1 1034719.911964: tracing_mark_write: E|593
24697  composer@2.1-s-593   (  593) [001] ...1 1034719.912030: tracing_mark_write: E|593
24698  surfaceflinger-591   (  591) [000] ...1 1034719.912199: tracing_mark_write: E|591
24699  surfaceflinger-591   (  591) [000] ...1 1034719.928175: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24700  composer@2.1-s-593   (  593) [001] ...1 1034719.928510: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24701  composer@2.1-s-593   (  593) [001] ...1 1034719.928703: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24702  composer@2.1-s-593   (  593) [001] ...1 1034719.928747: tracing_mark_write: B|593|HWDevice::Commit::
24703  composer@2.1-s-593   (  593) [001] ...1 1034719.929150: tracing_mark_write: E|593
24704  composer@2.1-s-593   (  593) [001] ...1 1034719.929300: tracing_mark_write: E|593
24705  composer@2.1-s-593   (  593) [001] ...1 1034719.929413: tracing_mark_write: E|593
24706  surfaceflinger-591   (  591) [000] ...1 1034719.929606: tracing_mark_write: E|591
24707  surfaceflinger-591   (  591) [001] ...1 1034719.945303: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24708  composer@2.1-s-593   (  593) [000] ...1 1034719.945657: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24709  composer@2.1-s-593   (  593) [000] ...1 1034719.945806: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24710  composer@2.1-s-593   (  593) [000] ...1 1034719.945848: tracing_mark_write: B|593|HWDevice::Commit::
24711  composer@2.1-s-593   (  593) [000] ...1 1034719.946110: tracing_mark_write: E|593
24712  composer@2.1-s-593   (  593) [000] ...1 1034719.946174: tracing_mark_write: E|593
24713  composer@2.1-s-593   (  593) [000] ...1 1034719.946249: tracing_mark_write: E|593
24714  surfaceflinger-591   (  591) [001] ...1 1034719.946457: tracing_mark_write: E|591
24715  surfaceflinger-591   (  591) [001] ...1 1034719.961717: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24716  composer@2.1-s-593   (  593) [000] ...1 1034719.961965: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24717  composer@2.1-s-593   (  593) [000] ...1 1034719.962114: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24718  composer@2.1-s-593   (  593) [000] ...1 1034719.962157: tracing_mark_write: B|593|HWDevice::Commit::
24719  composer@2.1-s-593   (  593) [000] ...1 1034719.962413: tracing_mark_write: E|593
24720  composer@2.1-s-593   (  593) [000] ...1 1034719.962479: tracing_mark_write: E|593
24721  composer@2.1-s-593   (  593) [000] ...1 1034719.962553: tracing_mark_write: E|593
24722  surfaceflinger-591   (  591) [001] ...1 1034719.962731: tracing_mark_write: E|591
24723  surfaceflinger-591   (  591) [001] ...1 1034719.978481: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24724  composer@2.1-s-593   (  593) [000] ...1 1034719.978737: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24725  composer@2.1-s-593   (  593) [000] ...1 1034719.978885: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24726  composer@2.1-s-593   (  593) [000] ...1 1034719.978927: tracing_mark_write: B|593|HWDevice::Commit::
24727  composer@2.1-s-593   (  593) [000] ...1 1034719.979183: tracing_mark_write: E|593
24728  composer@2.1-s-593   (  593) [000] ...1 1034719.979248: tracing_mark_write: E|593
24729  composer@2.1-s-593   (  593) [000] ...1 1034719.979320: tracing_mark_write: E|593
24730  surfaceflinger-591   (  591) [001] ...1 1034719.979501: tracing_mark_write: E|591
24731  surfaceflinger-591   (  591) [002] ...1 1034719.995204: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24732  composer@2.1-s-593   (  593) [000] ...1 1034719.995424: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24733  composer@2.1-s-593   (  593) [000] ...1 1034719.995546: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24734  composer@2.1-s-593   (  593) [000] ...1 1034719.995583: tracing_mark_write: B|593|HWDevice::Commit::
24735  composer@2.1-s-593   (  593) [000] ...1 1034719.995829: tracing_mark_write: E|593
24736  composer@2.1-s-593   (  593) [000] ...1 1034719.995889: tracing_mark_write: E|593
24737  composer@2.1-s-593   (  593) [000] ...1 1034719.995957: tracing_mark_write: E|593
24738  surfaceflinger-591   (  591) [002] ...1 1034719.996118: tracing_mark_write: E|591
24739  neuralnetworks-756   (  756) [007] ...1 1034720.366908: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client
24740  neuralnetworks-756   (  756) [007] ...1 1034720.367189: tracing_mark_write: E|756
24741  neuralnetworks-756   (  756) [007] ...1 1034720.367222: tracing_mark_write: E|756
24742  MobileIQWorker-27051 (27005) [007] ...1 1034720.367401: tracing_mark_write: E|27005
24743  HwBinder:27005-27027 (27005) [004] ...1 1034720.367581: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server
24744  HwBinder:27005-27027 (27005) [004] ...1 1034720.367610: tracing_mark_write: E|27005
24745  MobileIQWorker-27069 (27005) [005] ...1 1034720.368515: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24746  allocator@1.0--731   (  731) [005] ...1 1034720.368707: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24747  allocator@1.0--731   (  731) [005] ...1 1034720.369015: tracing_mark_write: E|731
24748  MobileIQWorker-27069 (27005) [005] ...1 1034720.369206: tracing_mark_write: E|27005
24749  MobileIQWorker-27069 (27005) [005] ...1 1034720.369372: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24750  allocator@1.0--731   (  731) [005] ...1 1034720.369495: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24751  allocator@1.0--731   (  731) [005] ...1 1034720.369689: tracing_mark_write: E|731
24752  MobileIQWorker-27069 (27005) [005] ...1 1034720.369848: tracing_mark_write: E|27005
24753  MobileIQWorker-27069 (27005) [005] ...1 1034720.370465: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client
24754  neuralnetworks-756   (  756) [005] ...1 1034720.370805: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server
24755  neuralnetworks-756   (  756) [005] ...1 1034720.384989: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client
24756  neuralnetworks-756   (  756) [005] ...1 1034720.385118: tracing_mark_write: E|756
24757  neuralnetworks-756   (  756) [005] ...1 1034720.385144: tracing_mark_write: E|756
24758  HwBinder:27005-27027 (27005) [004] ...1 1034720.385394: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server
24759  HwBinder:27005-27027 (27005) [004] ...1 1034720.385423: tracing_mark_write: E|27005
24760  MobileIQWorker-27069 (27005) [005] ...1 1034720.385489: tracing_mark_write: E|27005
24761  MobileIQWorker-27051 (27005) [004] ...1 1034720.386216: tracing_mark_write: E|27005
24762  MobileIQWorker-27051 (27005) [005] ...1 1034720.391329: tracing_mark_write: E|27005
24763  MobileIQWorker-27051 (27005) [005] ...1 1034720.395048: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized
24764  surfaceflinger-591   (  591) [000] ...1 1034720.431628: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24765  composer@2.1-s-593   (  593) [001] ...1 1034720.431894: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24766  composer@2.1-s-593   (  593) [001] ...1 1034720.432058: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24767  composer@2.1-s-593   (  593) [001] ...1 1034720.432087: tracing_mark_write: E|593
24768  composer@2.1-s-593   (  593) [001] ...1 1034720.432104: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24769  composer@2.1-s-593   (  593) [001] ...1 1034720.432766: tracing_mark_write: B|593|HWDevice::Validate::
24770  composer@2.1-s-593   (  593) [001] ...1 1034720.432926: tracing_mark_write: E|593
24771  composer@2.1-s-593   (  593) [001] ...1 1034720.432988: tracing_mark_write: E|593
24772  composer@2.1-s-593   (  593) [001] ...1 1034720.433038: tracing_mark_write: E|593
24773  surfaceflinger-591   (  591) [000] ...1 1034720.433180: tracing_mark_write: E|591
24774  surfaceflinger-591   (  591) [000] ...1 1034720.433440: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24775  composer@2.1-s-593   (  593) [001] ...1 1034720.433583: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24776  composer@2.1-s-593   (  593) [001] ...1 1034720.433615: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24777  composer@2.1-s-593   (  593) [001] ...1 1034720.433650: tracing_mark_write: B|593|HWDevice::Commit::
24778  composer@2.1-s-593   (  593) [001] ...1 1034720.433898: tracing_mark_write: E|593
24779  composer@2.1-s-593   (  593) [001] ...1 1034720.433951: tracing_mark_write: E|593
24780  composer@2.1-s-593   (  593) [001] ...1 1034720.434018: tracing_mark_write: E|593
24781  surfaceflinger-591   (  591) [000] ...1 1034720.434178: tracing_mark_write: E|591
24782  MobileIQWorker-27051 (27005) [007] ...1 1034720.514122: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark
24783  MobileIQWorker-27051 (27005) [007] ...1 1034720.514361: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client
24784  neuralnetworks-756   (  756) [005] ...1 1034720.514669: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server
24785  neuralnetworks-756   (  756) [005] ...1 1034720.515329: tracing_mark_write: E|756
24786  MobileIQWorker-27051 (27005) [006] ...1 1034720.515369: tracing_mark_write: E|27005
24787  MobileIQWorker-27051 (27005) [006] ...1 1034720.515458: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client
24788  neuralnetworks-756   (  756) [007] ...1 1034720.515590: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server
24789  neuralnetworks-756   (  756) [006] ...1 1034721.184087: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client
24790  neuralnetworks-756   (  756) [006] ...1 1034721.184347: tracing_mark_write: E|756
24791  neuralnetworks-756   (  756) [006] ...1 1034721.184380: tracing_mark_write: E|756
24792  MobileIQWorker-27051 (27005) [006] ...1 1034721.184660: tracing_mark_write: E|27005
24793  HwBinder:27005-27027 (27005) [004] ...1 1034721.184700: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server
24794  HwBinder:27005-27027 (27005) [004] ...1 1034721.184731: tracing_mark_write: E|27005
24795  MobileIQWorker-27075 (27005) [005] ...1 1034721.185731: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24796  allocator@1.0--731   (  731) [005] ...1 1034721.185916: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24797  allocator@1.0--731   (  731) [005] ...1 1034721.186229: tracing_mark_write: E|731
24798  MobileIQWorker-27075 (27005) [005] ...1 1034721.186424: tracing_mark_write: E|27005
24799  MobileIQWorker-27075 (27005) [005] ...1 1034721.186654: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24800  allocator@1.0--731   (  731) [005] ...1 1034721.186771: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24801  allocator@1.0--731   (  731) [005] ...1 1034721.186965: tracing_mark_write: E|731
24802  MobileIQWorker-27075 (27005) [005] ...1 1034721.187129: tracing_mark_write: E|27005
24803  MobileIQWorker-27075 (27005) [005] ...1 1034721.187687: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client
24804  neuralnetworks-756   (  756) [005] ...1 1034721.188014: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server
24805  neuralnetworks-756   (  756) [005] ...1 1034721.203997: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client
24806  neuralnetworks-756   (  756) [005] ...1 1034721.204138: tracing_mark_write: E|756
24807  neuralnetworks-756   (  756) [005] ...1 1034721.204165: tracing_mark_write: E|756
24808  MobileIQWorker-27075 (27005) [005] ...1 1034721.204406: tracing_mark_write: E|27005
24809  HwBinder:27005-27027 (27005) [004] ...1 1034721.204420: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server
24810  HwBinder:27005-27027 (27005) [004] ...1 1034721.204521: tracing_mark_write: E|27005
24811  MobileIQWorker-27051 (27005) [004] ...1 1034721.205415: tracing_mark_write: E|27005
24812  MobileIQWorker-27051 (27005) [004] ...1 1034721.210742: tracing_mark_write: E|27005
24813  MobileIQWorker-27051 (27005) [004] ...1 1034721.214429: tracing_mark_write: B|27005|[NN_LA_PO]mobilenet_quantized
24814    Binder:591_5-1775  (  591) [001] ...1 1034721.214506: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
24815  composer@2.1-s-593   (  593) [001] ...1 1034721.214717: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
24816  composer@2.1-s-593   (  593) [001] ...1 1034721.214753: tracing_mark_write: E|593
24817    Binder:591_5-1775  (  591) [001] ...1 1034721.214858: tracing_mark_write: E|591
24818  surfaceflinger-668   (  591) [002] ...1 1034721.215199: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client
24819  composer@2.1-s-593   (  593) [002] ...1 1034721.215349: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server
24820  composer@2.1-s-593   (  593) [002] ...1 1034721.215373: tracing_mark_write: C|593|SetVsyncState |1
24821  composer@2.1-s-593   (  593) [002] ...1 1034721.215397: tracing_mark_write: B|593|HWPrimary::SetVSyncState::
24822  composer@2.1-s-593   (  593) [002] ...1 1034721.218839: tracing_mark_write: E|593
24823  composer@2.1-s-593   (  593) [002] ...1 1034721.218865: tracing_mark_write: E|593
24824  surfaceflinger-668   (  591) [002] ...1 1034721.218966: tracing_mark_write: E|591
24825  SDM_EventThrea-634   (  593) [000] ...1 1034721.230796: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24826  SDM_EventThrea-634   (  593) [000] ...1 1034721.230815: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24827  SDM_EventThrea-634   (  593) [000] ...1 1034721.230986: tracing_mark_write: E|593
24828  SDM_EventThrea-634   (  593) [000] ...1 1034721.231006: tracing_mark_write: E|593
24829  HwBinder:591_1-620   (  591) [001] ...1 1034721.231194: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24830  HwBinder:591_1-620   (  591) [001] ...1 1034721.231251: tracing_mark_write: E|591
24831  SDM_EventThrea-634   (  593) [000] ...1 1034721.247281: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24832  SDM_EventThrea-634   (  593) [000] ...1 1034721.247298: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24833  SDM_EventThrea-634   (  593) [000] ...1 1034721.247389: tracing_mark_write: E|593
24834  SDM_EventThrea-634   (  593) [000] ...1 1034721.247407: tracing_mark_write: E|593
24835  HwBinder:591_1-620   (  591) [001] ...1 1034721.247428: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24836  HwBinder:591_1-620   (  591) [001] ...1 1034721.247453: tracing_mark_write: E|591
24837  surfaceflinger-591   (  591) [000] ...1 1034721.254125: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24838  composer@2.1-s-593   (  593) [002] ...1 1034721.254346: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24839  composer@2.1-s-593   (  593) [002] ...1 1034721.254497: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24840  composer@2.1-s-593   (  593) [002] ...1 1034721.254539: tracing_mark_write: B|593|HWDevice::Commit::
24841  composer@2.1-s-593   (  593) [002] ...1 1034721.254798: tracing_mark_write: E|593
24842  composer@2.1-s-593   (  593) [002] ...1 1034721.254864: tracing_mark_write: E|593
24843  composer@2.1-s-593   (  593) [002] ...1 1034721.254942: tracing_mark_write: E|593
24844  surfaceflinger-591   (  591) [000] ...1 1034721.255140: tracing_mark_write: E|591
24845  SDM_EventThrea-634   (  593) [000] ...1 1034721.264096: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24846  SDM_EventThrea-634   (  593) [000] ...1 1034721.264113: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24847  SDM_EventThrea-634   (  593) [000] ...1 1034721.264209: tracing_mark_write: E|593
24848  SDM_EventThrea-634   (  593) [000] ...1 1034721.264227: tracing_mark_write: E|593
24849  HwBinder:591_1-620   (  591) [001] ...1 1034721.264250: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24850  HwBinder:591_1-620   (  591) [001] ...1 1034721.264276: tracing_mark_write: E|591
24851  SDM_EventThrea-634   (  593) [000] ...1 1034721.280829: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24852  SDM_EventThrea-634   (  593) [000] ...1 1034721.280845: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24853  SDM_EventThrea-634   (  593) [000] ...1 1034721.280932: tracing_mark_write: E|593
24854  SDM_EventThrea-634   (  593) [000] ...1 1034721.280948: tracing_mark_write: E|593
24855  HwBinder:591_1-620   (  591) [001] ...1 1034721.280964: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24856  HwBinder:591_1-620   (  591) [001] ...1 1034721.280987: tracing_mark_write: E|591
24857  SDM_EventThrea-634   (  593) [000] ...1 1034721.297610: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24858  SDM_EventThrea-634   (  593) [000] ...1 1034721.297627: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24859  SDM_EventThrea-634   (  593) [000] ...1 1034721.297711: tracing_mark_write: E|593
24860  SDM_EventThrea-634   (  593) [000] ...1 1034721.297728: tracing_mark_write: E|593
24861  HwBinder:591_1-620   (  591) [001] ...1 1034721.297742: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24862  HwBinder:591_1-620   (  591) [001] ...1 1034721.297764: tracing_mark_write: E|591
24863  SDM_EventThrea-634   (  593) [000] ...1 1034721.314386: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24864  SDM_EventThrea-634   (  593) [000] ...1 1034721.314399: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24865  SDM_EventThrea-634   (  593) [000] ...1 1034721.314479: tracing_mark_write: E|593
24866  SDM_EventThrea-634   (  593) [000] ...1 1034721.314495: tracing_mark_write: E|593
24867  HwBinder:591_1-620   (  591) [001] ...1 1034721.314505: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24868  HwBinder:591_1-620   (  591) [001] ...1 1034721.314613: tracing_mark_write: E|591
24869  surfaceflinger-668   (  591) [000] ...1 1034721.314649: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client
24870  composer@2.1-s-593   (  593) [000] ...1 1034721.314805: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server
24871  composer@2.1-s-593   (  593) [000] ...1 1034721.314825: tracing_mark_write: C|593|SetVsyncState |0
24872  composer@2.1-s-593   (  593) [000] ...1 1034721.314846: tracing_mark_write: B|593|HWPrimary::SetVSyncState::
24873  composer@2.1-s-593   (  593) [000] ...1 1034721.315857: tracing_mark_write: E|593
24874  composer@2.1-s-593   (  593) [000] ...1 1034721.315883: tracing_mark_write: E|593
24875  surfaceflinger-668   (  591) [000] ...1 1034721.315983: tracing_mark_write: E|591
24876  MobileIQWorker-27051 (27005) [005] ...1 1034721.327371: tracing_mark_write: B|27005|[NN_LA_PE]BenchmarkModel::benchmark
24877  MobileIQWorker-27051 (27005) [005] ...1 1034721.327604: tracing_mark_write: B|27005|HIDL::IDevice::getSupportedOperations::client
24878  neuralnetworks-756   (  756) [007] ...1 1034721.327926: tracing_mark_write: B|756|HIDL::IDevice::getSupportedOperations::server
24879  neuralnetworks-756   (  756) [006] ...1 1034721.328729: tracing_mark_write: E|756
24880  MobileIQWorker-27051 (27005) [005] ...1 1034721.328870: tracing_mark_write: E|27005
24881  MobileIQWorker-27051 (27005) [005] ...1 1034721.328956: tracing_mark_write: B|27005|HIDL::IDevice::prepareModel::client
24882  neuralnetworks-756   (  756) [006] ...1 1034721.329180: tracing_mark_write: B|756|HIDL::IDevice::prepareModel::server
24883  neuralnetworks-756   (  756) [001] ...1 1034722.025592: tracing_mark_write: B|756|HIDL::IPreparedModelCallback::notify::client
24884  neuralnetworks-756   (  756) [001] ...1 1034722.025852: tracing_mark_write: E|756
24885  neuralnetworks-756   (  756) [001] ...1 1034722.025888: tracing_mark_write: E|756
24886  MobileIQWorker-27051 (27005) [001] ...1 1034722.026387: tracing_mark_write: E|27005
24887  HwBinder:27005-27027 (27005) [004] ...1 1034722.026899: tracing_mark_write: B|27005|HIDL::IPreparedModelCallback::notify::server
24888  HwBinder:27005-27027 (27005) [004] ...1 1034722.026969: tracing_mark_write: E|27005
24889  MobileIQWorker-27082 (27005) [006] ...1 1034722.028173: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24890  allocator@1.0--731   (  731) [006] ...1 1034722.028373: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24891  allocator@1.0--731   (  731) [006] ...1 1034722.028784: tracing_mark_write: E|731
24892  MobileIQWorker-27082 (27005) [006] ...1 1034722.028979: tracing_mark_write: E|27005
24893  MobileIQWorker-27082 (27005) [006] ...1 1034722.029137: tracing_mark_write: B|27005|HIDL::IAllocator::allocate::client
24894  allocator@1.0--731   (  731) [006] ...1 1034722.029256: tracing_mark_write: B|731|HIDL::IAllocator::allocate::server
24895  allocator@1.0--731   (  731) [006] ...1 1034722.029450: tracing_mark_write: E|731
24896  MobileIQWorker-27082 (27005) [006] ...1 1034722.029610: tracing_mark_write: E|27005
24897  MobileIQWorker-27082 (27005) [006] ...1 1034722.030247: tracing_mark_write: B|27005|HIDL::IPreparedModel::execute::client
24898  neuralnetworks-756   (  756) [006] ...1 1034722.030612: tracing_mark_write: B|756|HIDL::IPreparedModel::execute::server
24899  neuralnetworks-756   (  756) [006] ...1 1034722.043624: tracing_mark_write: B|756|HIDL::IExecutionCallback::notify::client
24900  neuralnetworks-756   (  756) [006] ...1 1034722.043735: tracing_mark_write: E|756
24901  neuralnetworks-756   (  756) [006] ...1 1034722.043757: tracing_mark_write: E|756
24902  HwBinder:27005-27027 (27005) [005] ...1 1034722.043793: tracing_mark_write: B|27005|HIDL::IExecutionCallback::notify::server
24903  HwBinder:27005-27027 (27005) [005] ...1 1034722.043820: tracing_mark_write: E|27005
24904  MobileIQWorker-27082 (27005) [006] ...1 1034722.043942: tracing_mark_write: E|27005
24905  MobileIQWorker-27051 (27005) [005] ...1 1034722.044722: tracing_mark_write: E|27005
24906  MobileIQWorker-27051 (27005) [005] ...1 1034722.049978: tracing_mark_write: E|27005
24907    Binder:591_5-1775  (  591) [000] ...1 1034722.053677: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
24908  composer@2.1-s-593   (  593) [000] ...1 1034722.053838: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
24909  composer@2.1-s-593   (  593) [000] ...1 1034722.053866: tracing_mark_write: E|593
24910    Binder:591_5-1775  (  591) [000] ...1 1034722.053940: tracing_mark_write: E|591
24911  surfaceflinger-668   (  591) [003] ...1 1034722.054204: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client
24912  composer@2.1-s-593   (  593) [003] ...1 1034722.054304: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server
24913  composer@2.1-s-593   (  593) [003] ...1 1034722.054320: tracing_mark_write: C|593|SetVsyncState |1
24914  composer@2.1-s-593   (  593) [003] ...1 1034722.054338: tracing_mark_write: B|593|HWPrimary::SetVSyncState::
24915  composer@2.1-s-593   (  593) [003] ...1 1034722.057641: tracing_mark_write: E|593
24916  composer@2.1-s-593   (  593) [003] ...1 1034722.057662: tracing_mark_write: E|593
24917  surfaceflinger-668   (  591) [003] ...1 1034722.057862: tracing_mark_write: E|591
24918  SDM_EventThrea-634   (  593) [000] ...1 1034722.069735: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24919  SDM_EventThrea-634   (  593) [000] ...1 1034722.069752: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24920  SDM_EventThrea-634   (  593) [000] ...1 1034722.069854: tracing_mark_write: E|593
24921  SDM_EventThrea-634   (  593) [000] ...1 1034722.069947: tracing_mark_write: E|593
24922  HwBinder:591_1-620   (  591) [001] ...1 1034722.069961: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24923  HwBinder:591_1-620   (  591) [001] ...1 1034722.070022: tracing_mark_write: E|591
24924  surfaceflinger-591   (  591) [000] ...1 1034722.076389: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24925  composer@2.1-s-593   (  593) [003] ...1 1034722.076641: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24926  composer@2.1-s-593   (  593) [003] ...1 1034722.076811: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24927  composer@2.1-s-593   (  593) [003] ...1 1034722.076879: tracing_mark_write: B|593|HWDevice::Commit::
24928  composer@2.1-s-593   (  593) [003] ...1 1034722.077135: tracing_mark_write: E|593
24929  composer@2.1-s-593   (  593) [003] ...1 1034722.077204: tracing_mark_write: E|593
24930  composer@2.1-s-593   (  593) [003] ...1 1034722.077284: tracing_mark_write: E|593
24931  surfaceflinger-591   (  591) [000] ...1 1034722.077491: tracing_mark_write: E|591
24932  SDM_EventThrea-634   (  593) [000] ...1 1034722.086527: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24933  SDM_EventThrea-634   (  593) [000] ...1 1034722.086593: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24934  SDM_EventThrea-634   (  593) [000] ...1 1034722.086717: tracing_mark_write: E|593
24935  SDM_EventThrea-634   (  593) [000] ...1 1034722.086736: tracing_mark_write: E|593
24936  HwBinder:591_1-620   (  591) [001] ...1 1034722.086758: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24937  HwBinder:591_1-620   (  591) [001] ...1 1034722.086785: tracing_mark_write: E|591
24938  SDM_EventThrea-634   (  593) [000] ...1 1034722.103290: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24939  SDM_EventThrea-634   (  593) [000] ...1 1034722.103306: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24940  SDM_EventThrea-634   (  593) [000] ...1 1034722.103394: tracing_mark_write: E|593
24941  SDM_EventThrea-634   (  593) [000] ...1 1034722.103411: tracing_mark_write: E|593
24942  HwBinder:591_1-620   (  591) [001] ...1 1034722.103427: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24943  HwBinder:591_1-620   (  591) [001] ...1 1034722.103451: tracing_mark_write: E|591
24944  SDM_EventThrea-634   (  593) [000] ...1 1034722.119994: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24945  SDM_EventThrea-634   (  593) [000] ...1 1034722.120011: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24946  SDM_EventThrea-634   (  593) [000] ...1 1034722.120100: tracing_mark_write: E|593
24947  SDM_EventThrea-634   (  593) [000] ...1 1034722.120117: tracing_mark_write: E|593
24948  HwBinder:591_1-620   (  591) [001] ...1 1034722.120135: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24949  HwBinder:591_1-620   (  591) [001] ...1 1034722.120158: tracing_mark_write: E|591
24950  surfaceflinger-591   (  591) [000] ...1 1034722.126337: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24951  composer@2.1-s-593   (  593) [003] ...1 1034722.126696: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24952  composer@2.1-s-593   (  593) [003] ...1 1034722.126837: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24953  composer@2.1-s-593   (  593) [003] ...1 1034722.126863: tracing_mark_write: E|593
24954  composer@2.1-s-593   (  593) [003] ...1 1034722.126879: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
24955  composer@2.1-s-593   (  593) [003] ...1 1034722.127536: tracing_mark_write: B|593|HWDevice::Validate::
24956  composer@2.1-s-593   (  593) [003] ...1 1034722.127694: tracing_mark_write: E|593
24957  composer@2.1-s-593   (  593) [003] ...1 1034722.127756: tracing_mark_write: E|593
24958  composer@2.1-s-593   (  593) [003] ...1 1034722.127801: tracing_mark_write: E|593
24959  surfaceflinger-591   (  591) [000] ...1 1034722.127952: tracing_mark_write: E|591
24960  surfaceflinger-591   (  591) [000] ...1 1034722.128145: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24961  composer@2.1-s-593   (  593) [003] ...1 1034722.128286: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24962  composer@2.1-s-593   (  593) [003] ...1 1034722.128318: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24963  composer@2.1-s-593   (  593) [003] ...1 1034722.128352: tracing_mark_write: B|593|HWDevice::Commit::
24964  composer@2.1-s-593   (  593) [003] ...1 1034722.128598: tracing_mark_write: E|593
24965  composer@2.1-s-593   (  593) [003] ...1 1034722.128650: tracing_mark_write: E|593
24966  composer@2.1-s-593   (  593) [003] ...1 1034722.128720: tracing_mark_write: E|593
24967  surfaceflinger-591   (  591) [000] ...1 1034722.128879: tracing_mark_write: E|591
24968  SDM_EventThrea-634   (  593) [000] ...1 1034722.137012: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24969  SDM_EventThrea-634   (  593) [000] ...1 1034722.137029: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24970  SDM_EventThrea-634   (  593) [000] ...1 1034722.137127: tracing_mark_write: E|593
24971  SDM_EventThrea-634   (  593) [000] ...1 1034722.137147: tracing_mark_write: E|593
24972  HwBinder:591_1-620   (  591) [001] ...1 1034722.137167: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24973  HwBinder:591_1-620   (  591) [001] ...1 1034722.137193: tracing_mark_write: E|591
24974  surfaceflinger-591   (  591) [000] ...1 1034722.142961: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24975  composer@2.1-s-593   (  593) [003] ...1 1034722.143159: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24976  composer@2.1-s-593   (  593) [003] ...1 1034722.143360: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24977  composer@2.1-s-593   (  593) [003] ...1 1034722.143395: tracing_mark_write: B|593|HWDevice::Commit::
24978  composer@2.1-s-593   (  593) [003] ...1 1034722.143626: tracing_mark_write: E|593
24979  composer@2.1-s-593   (  593) [003] ...1 1034722.143684: tracing_mark_write: E|593
24980  composer@2.1-s-593   (  593) [003] ...1 1034722.143747: tracing_mark_write: E|593
24981  surfaceflinger-591   (  591) [000] ...1 1034722.143923: tracing_mark_write: E|591
24982  SDM_EventThrea-634   (  593) [000] ...1 1034722.153581: tracing_mark_write: B|593|HWCCallbacks::Vsync::
24983  SDM_EventThrea-634   (  593) [000] ...1 1034722.153597: tracing_mark_write: B|593|HIDL::IComposerCallback::onVsync::client
24984  SDM_EventThrea-634   (  593) [000] ...1 1034722.153690: tracing_mark_write: E|593
24985  SDM_EventThrea-634   (  593) [000] ...1 1034722.153707: tracing_mark_write: E|593
24986  HwBinder:591_1-620   (  591) [001] ...1 1034722.153724: tracing_mark_write: B|591|HIDL::IComposerCallback::onVsync::server
24987  HwBinder:591_1-620   (  591) [001] ...1 1034722.153819: tracing_mark_write: E|591
24988  surfaceflinger-668   (  591) [002] ...1 1034722.153851: tracing_mark_write: B|591|HIDL::IComposerClient::setVsyncEnabled::client
24989  composer@2.1-s-593   (  593) [002] ...1 1034722.154008: tracing_mark_write: B|593|HIDL::IComposerClient::setVsyncEnabled::server
24990  composer@2.1-s-593   (  593) [002] ...1 1034722.154029: tracing_mark_write: C|593|SetVsyncState |0
24991  composer@2.1-s-593   (  593) [002] ...1 1034722.154050: tracing_mark_write: B|593|HWPrimary::SetVSyncState::
24992  composer@2.1-s-593   (  593) [002] ...1 1034722.154090: tracing_mark_write: E|593
24993  composer@2.1-s-593   (  593) [002] ...1 1034722.154112: tracing_mark_write: E|593
24994  surfaceflinger-668   (  591) [002] ...1 1034722.154199: tracing_mark_write: E|591
24995  surfaceflinger-591   (  591) [000] ...1 1034722.160319: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
24996  composer@2.1-s-593   (  593) [002] ...1 1034722.160527: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
24997  composer@2.1-s-593   (  593) [002] ...1 1034722.160663: tracing_mark_write: B|593|HWCSession::PresentDisplay::
24998  composer@2.1-s-593   (  593) [002] ...1 1034722.160700: tracing_mark_write: B|593|HWDevice::Commit::
24999  composer@2.1-s-593   (  593) [002] ...1 1034722.160940: tracing_mark_write: E|593
25000  composer@2.1-s-593   (  593) [002] ...1 1034722.160999: tracing_mark_write: E|593
25001  composer@2.1-s-593   (  593) [002] ...1 1034722.161066: tracing_mark_write: E|593
25002  surfaceflinger-591   (  591) [000] ...1 1034722.161231: tracing_mark_write: E|591
25003  surfaceflinger-591   (  591) [000] ...1 1034722.176995: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25004  composer@2.1-s-593   (  593) [002] ...1 1034722.177196: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25005  composer@2.1-s-593   (  593) [002] ...1 1034722.177314: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25006  composer@2.1-s-593   (  593) [002] ...1 1034722.177352: tracing_mark_write: B|593|HWDevice::Commit::
25007  composer@2.1-s-593   (  593) [002] ...1 1034722.177582: tracing_mark_write: E|593
25008  composer@2.1-s-593   (  593) [002] ...1 1034722.177640: tracing_mark_write: E|593
25009  composer@2.1-s-593   (  593) [002] ...1 1034722.177706: tracing_mark_write: E|593
25010  surfaceflinger-591   (  591) [000] ...1 1034722.177871: tracing_mark_write: E|591
25011  surfaceflinger-591   (  591) [001] ...1 1034722.194053: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25012  composer@2.1-s-593   (  593) [002] ...1 1034722.194295: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25013  composer@2.1-s-593   (  593) [002] ...1 1034722.194439: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25014  composer@2.1-s-593   (  593) [002] ...1 1034722.194482: tracing_mark_write: B|593|HWDevice::Commit::
25015  composer@2.1-s-593   (  593) [002] ...1 1034722.194744: tracing_mark_write: E|593
25016  composer@2.1-s-593   (  593) [002] ...1 1034722.194807: tracing_mark_write: E|593
25017  composer@2.1-s-593   (  593) [002] ...1 1034722.194881: tracing_mark_write: E|593
25018  surfaceflinger-591   (  591) [001] ...1 1034722.195064: tracing_mark_write: E|591
25019  surfaceflinger-591   (  591) [002] ...1 1034722.210997: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25020  composer@2.1-s-593   (  593) [000] ...1 1034722.211150: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25021  composer@2.1-s-593   (  593) [000] ...1 1034722.211247: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25022  composer@2.1-s-593   (  593) [000] ...1 1034722.211260: tracing_mark_write: E|593
25023  composer@2.1-s-593   (  593) [000] ...1 1034722.211267: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25024  composer@2.1-s-593   (  593) [000] ...1 1034722.211593: tracing_mark_write: B|593|HWDevice::Validate::
25025  composer@2.1-s-593   (  593) [000] ...1 1034722.211680: tracing_mark_write: E|593
25026  composer@2.1-s-593   (  593) [000] ...1 1034722.211706: tracing_mark_write: E|593
25027  composer@2.1-s-593   (  593) [000] ...1 1034722.211734: tracing_mark_write: E|593
25028  surfaceflinger-591   (  591) [002] ...1 1034722.211821: tracing_mark_write: E|591
25029  surfaceflinger-591   (  591) [002] ...1 1034722.211930: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25030  composer@2.1-s-593   (  593) [000] ...1 1034722.212003: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25031  composer@2.1-s-593   (  593) [000] ...1 1034722.212020: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25032  composer@2.1-s-593   (  593) [000] ...1 1034722.212038: tracing_mark_write: B|593|HWDevice::Commit::
25033  composer@2.1-s-593   (  593) [000] ...1 1034722.212169: tracing_mark_write: E|593
25034  composer@2.1-s-593   (  593) [000] ...1 1034722.212197: tracing_mark_write: E|593
25035  composer@2.1-s-593   (  593) [000] ...1 1034722.212228: tracing_mark_write: E|593
25036  surfaceflinger-591   (  591) [002] ...1 1034722.212303: tracing_mark_write: E|591
25037  surfaceflinger-591   (  591) [001] ...1 1034722.227667: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25038  composer@2.1-s-593   (  593) [000] ...1 1034722.227819: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25039  composer@2.1-s-593   (  593) [000] ...1 1034722.227899: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25040  composer@2.1-s-593   (  593) [000] ...1 1034722.227909: tracing_mark_write: E|593
25041  composer@2.1-s-593   (  593) [000] ...1 1034722.227914: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25042  composer@2.1-s-593   (  593) [000] ...1 1034722.228179: tracing_mark_write: B|593|HWDevice::Validate::
25043  composer@2.1-s-593   (  593) [000] ...1 1034722.228251: tracing_mark_write: E|593
25044  composer@2.1-s-593   (  593) [000] ...1 1034722.228271: tracing_mark_write: E|593
25045  composer@2.1-s-593   (  593) [000] ...1 1034722.228293: tracing_mark_write: E|593
25046  surfaceflinger-591   (  591) [001] ...1 1034722.228367: tracing_mark_write: E|591
25047  surfaceflinger-591   (  591) [001] ...1 1034722.228452: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25048  composer@2.1-s-593   (  593) [000] ...1 1034722.228504: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25049  composer@2.1-s-593   (  593) [000] ...1 1034722.228516: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25050  composer@2.1-s-593   (  593) [000] ...1 1034722.228529: tracing_mark_write: B|593|HWDevice::Commit::
25051  composer@2.1-s-593   (  593) [000] ...1 1034722.228630: tracing_mark_write: E|593
25052  composer@2.1-s-593   (  593) [000] ...1 1034722.228653: tracing_mark_write: E|593
25053  composer@2.1-s-593   (  593) [000] ...1 1034722.228679: tracing_mark_write: E|593
25054  surfaceflinger-591   (  591) [001] ...1 1034722.228738: tracing_mark_write: E|591
25055  surfaceflinger-591   (  591) [003] ...1 1034722.244194: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25056  composer@2.1-s-593   (  593) [000] ...1 1034722.244309: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25057  composer@2.1-s-593   (  593) [000] ...1 1034722.244385: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25058  composer@2.1-s-593   (  593) [000] ...1 1034722.244396: tracing_mark_write: E|593
25059  composer@2.1-s-593   (  593) [000] ...1 1034722.244400: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25060  composer@2.1-s-593   (  593) [000] ...1 1034722.244654: tracing_mark_write: B|593|HWDevice::Validate::
25061  composer@2.1-s-593   (  593) [000] ...1 1034722.244720: tracing_mark_write: E|593
25062  composer@2.1-s-593   (  593) [000] ...1 1034722.244740: tracing_mark_write: E|593
25063  composer@2.1-s-593   (  593) [000] ...1 1034722.244761: tracing_mark_write: E|593
25064  surfaceflinger-591   (  591) [003] ...1 1034722.244822: tracing_mark_write: E|591
25065  surfaceflinger-591   (  591) [003] ...1 1034722.244896: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25066  composer@2.1-s-593   (  593) [000] ...1 1034722.244943: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25067  composer@2.1-s-593   (  593) [000] ...1 1034722.244955: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25068  composer@2.1-s-593   (  593) [000] ...1 1034722.244966: tracing_mark_write: B|593|HWDevice::Commit::
25069  composer@2.1-s-593   (  593) [000] ...1 1034722.245062: tracing_mark_write: E|593
25070  composer@2.1-s-593   (  593) [000] ...1 1034722.245082: tracing_mark_write: E|593
25071  composer@2.1-s-593   (  593) [000] ...1 1034722.245104: tracing_mark_write: E|593
25072  surfaceflinger-591   (  591) [003] ...1 1034722.245149: tracing_mark_write: E|591
25073  surfaceflinger-591   (  591) [003] ...1 1034722.245357: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
25074  composer@2.1-s-593   (  593) [000] ...1 1034722.245395: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
25075  composer@2.1-s-593   (  593) [000] ...1 1034722.245402: tracing_mark_write: E|593
25076  surfaceflinger-591   (  591) [003] ...1 1034722.245428: tracing_mark_write: E|591
25077    Binder:591_3-1218  (  591) [006] ...1 1034722.246522: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25078    Binder:591_3-1218  (  591) [006] ...1 1034722.246529: tracing_mark_write: E|591
25079    Binder:591_3-1218  (  591) [006] ...1 1034722.246558: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25080  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246630: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25081  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246650: tracing_mark_write: B|595|AllocBuffer
25082  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246657: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
25083  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246743: tracing_mark_write: E|595
25084  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246744: tracing_mark_write: B|595|ION_IOC_MAP
25085  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246753: tracing_mark_write: E|595
25086  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246756: tracing_mark_write: E|595
25087  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246758: tracing_mark_write: B|595|AllocBuffer
25088  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246760: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25089  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246765: tracing_mark_write: E|595
25090  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246766: tracing_mark_write: B|595|ION_IOC_MAP
25091  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246769: tracing_mark_write: E|595
25092  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246770: tracing_mark_write: E|595
25093  HwBinder:595_3-1779  (  595) [006] ...1 1034722.246796: tracing_mark_write: E|595
25094    Binder:591_3-1218  (  591) [006] ...1 1034722.246844: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25095    Binder:591_3-1218  (  591) [006] ...1 1034722.246864: tracing_mark_write: E|591
25096    Binder:591_3-1218  (  591) [006] ...1 1034722.246867: tracing_mark_write: E|591
25097    Binder:591_3-1218  (  591) [006] ...1 1034722.246883: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25098    Binder:591_3-1218  (  591) [006] ...1 1034722.246886: tracing_mark_write: E|591
25099    Binder:591_3-1218  (  591) [006] ...1 1034722.246889: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25100  allocator@2.0--595   (  595) [006] ...1 1034722.246919: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25101  allocator@2.0--595   (  595) [006] ...1 1034722.246927: tracing_mark_write: B|595|AllocBuffer
25102  allocator@2.0--595   (  595) [006] ...1 1034722.246929: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
25103  allocator@2.0--595   (  595) [006] ...1 1034722.246993: tracing_mark_write: E|595
25104  allocator@2.0--595   (  595) [006] ...1 1034722.246994: tracing_mark_write: B|595|ION_IOC_MAP
25105  allocator@2.0--595   (  595) [006] ...1 1034722.246998: tracing_mark_write: E|595
25106  allocator@2.0--595   (  595) [006] ...1 1034722.247001: tracing_mark_write: E|595
25107  allocator@2.0--595   (  595) [006] ...1 1034722.247002: tracing_mark_write: B|595|AllocBuffer
25108  allocator@2.0--595   (  595) [006] ...1 1034722.247004: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25109  allocator@2.0--595   (  595) [006] ...1 1034722.247007: tracing_mark_write: E|595
25110  allocator@2.0--595   (  595) [006] ...1 1034722.247008: tracing_mark_write: B|595|ION_IOC_MAP
25111  allocator@2.0--595   (  595) [006] ...1 1034722.247011: tracing_mark_write: E|595
25112  allocator@2.0--595   (  595) [006] ...1 1034722.247012: tracing_mark_write: E|595
25113  allocator@2.0--595   (  595) [006] ...1 1034722.247025: tracing_mark_write: E|595
25114  allocator@2.0--595   (  595) [006] ...1 1034722.247041: tracing_mark_write: B|595|FreeBuffer
25115  allocator@2.0--595   (  595) [006] ...1 1034722.247047: tracing_mark_write: E|595
25116  allocator@2.0--595   (  595) [006] ...1 1034722.247048: tracing_mark_write: B|595|FreeBuffer
25117  allocator@2.0--595   (  595) [006] ...1 1034722.247049: tracing_mark_write: B|595|UnmapBuffer
25118  allocator@2.0--595   (  595) [006] ...1 1034722.247056: tracing_mark_write: E|595
25119  allocator@2.0--595   (  595) [006] ...1 1034722.247059: tracing_mark_write: E|595
25120    Binder:591_3-1218  (  591) [006] ...1 1034722.247076: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25121    Binder:591_3-1218  (  591) [006] ...1 1034722.247087: tracing_mark_write: E|591
25122    Binder:591_3-1218  (  591) [006] ...1 1034722.247089: tracing_mark_write: E|591
25123    Binder:591_3-1218  (  591) [006] ...1 1034722.247102: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25124    Binder:591_3-1218  (  591) [006] ...1 1034722.247104: tracing_mark_write: E|591
25125    Binder:591_3-1218  (  591) [006] ...1 1034722.247107: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25126  HwBinder:595_3-1779  (  595) [006] ...1 1034722.247126: tracing_mark_write: B|595|FreeBuffer
25127  HwBinder:595_3-1779  (  595) [006] ...1 1034722.247129: tracing_mark_write: E|595
25128  HwBinder:595_3-1779  (  595) [006] ...1 1034722.247130: tracing_mark_write: B|595|FreeBuffer
25129  HwBinder:595_3-1779  (  595) [006] ...1 1034722.247131: tracing_mark_write: B|595|UnmapBuffer
25130  HwBinder:595_3-1779  (  595) [006] ...1 1034722.247135: tracing_mark_write: E|595
25131  HwBinder:595_3-1779  (  595) [006] ...1 1034722.247138: tracing_mark_write: E|595
25132  allocator@2.0--595   (  595) [006] ...1 1034722.247152: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25133  allocator@2.0--595   (  595) [006] ...1 1034722.247156: tracing_mark_write: B|595|AllocBuffer
25134  allocator@2.0--595   (  595) [006] ...1 1034722.247158: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
25135  allocator@2.0--595   (  595) [006] ...1 1034722.247229: tracing_mark_write: E|595
25136  allocator@2.0--595   (  595) [006] ...1 1034722.247231: tracing_mark_write: B|595|ION_IOC_MAP
25137  allocator@2.0--595   (  595) [006] ...1 1034722.247234: tracing_mark_write: E|595
25138  allocator@2.0--595   (  595) [006] ...1 1034722.247236: tracing_mark_write: E|595
25139  allocator@2.0--595   (  595) [006] ...1 1034722.247237: tracing_mark_write: B|595|AllocBuffer
25140  allocator@2.0--595   (  595) [006] ...1 1034722.247239: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25141  allocator@2.0--595   (  595) [006] ...1 1034722.247242: tracing_mark_write: E|595
25142  allocator@2.0--595   (  595) [006] ...1 1034722.247243: tracing_mark_write: B|595|ION_IOC_MAP
25143  allocator@2.0--595   (  595) [006] ...1 1034722.247246: tracing_mark_write: E|595
25144  allocator@2.0--595   (  595) [006] ...1 1034722.247248: tracing_mark_write: E|595
25145  allocator@2.0--595   (  595) [006] ...1 1034722.247257: tracing_mark_write: E|595
25146    Binder:591_3-1218  (  591) [006] ...1 1034722.247275: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25147    Binder:591_3-1218  (  591) [006] ...1 1034722.247286: tracing_mark_write: E|591
25148    Binder:591_3-1218  (  591) [006] ...1 1034722.247288: tracing_mark_write: E|591
25149  allocator@2.0--595   (  595) [006] ...1 1034722.247380: tracing_mark_write: B|595|FreeBuffer
25150  allocator@2.0--595   (  595) [006] ...1 1034722.247383: tracing_mark_write: E|595
25151  allocator@2.0--595   (  595) [006] ...1 1034722.247385: tracing_mark_write: B|595|FreeBuffer
25152  allocator@2.0--595   (  595) [006] ...1 1034722.247386: tracing_mark_write: B|595|UnmapBuffer
25153  allocator@2.0--595   (  595) [006] ...1 1034722.247390: tracing_mark_write: E|595
25154  allocator@2.0--595   (  595) [006] ...1 1034722.247392: tracing_mark_write: E|595
25155    Binder:591_5-1775  (  591) [005] ...1 1034722.256972: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
25156    Binder:591_5-1775  (  591) [005] ...1 1034722.256982: tracing_mark_write: B|591|FreeBuffer
25157    Binder:591_5-1775  (  591) [005] ...1 1034722.257005: tracing_mark_write: E|591
25158    Binder:591_5-1775  (  591) [005] ...1 1034722.257006: tracing_mark_write: B|591|FreeBuffer
25159    Binder:591_5-1775  (  591) [005] ...1 1034722.257011: tracing_mark_write: E|591
25160    Binder:591_5-1775  (  591) [005] ...1 1034722.257018: tracing_mark_write: E|591
25161    Binder:591_5-1775  (  591) [005] ...1 1034722.257029: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25162    Binder:591_5-1775  (  591) [005] ...1 1034722.257032: tracing_mark_write: E|591
25163    Binder:591_5-1775  (  591) [005] ...1 1034722.257036: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25164  allocator@2.0--595   (  595) [005] ...1 1034722.257072: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25165  allocator@2.0--595   (  595) [005] ...1 1034722.257083: tracing_mark_write: B|595|AllocBuffer
25166  allocator@2.0--595   (  595) [005] ...1 1034722.257086: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280
25167  allocator@2.0--595   (  595) [005] ...1 1034722.257157: tracing_mark_write: E|595
25168  allocator@2.0--595   (  595) [005] ...1 1034722.257159: tracing_mark_write: B|595|ION_IOC_MAP
25169  allocator@2.0--595   (  595) [005] ...1 1034722.257165: tracing_mark_write: E|595
25170  allocator@2.0--595   (  595) [005] ...1 1034722.257166: tracing_mark_write: E|595
25171  allocator@2.0--595   (  595) [005] ...1 1034722.257167: tracing_mark_write: B|595|AllocBuffer
25172  allocator@2.0--595   (  595) [005] ...1 1034722.257169: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25173  allocator@2.0--595   (  595) [005] ...1 1034722.257174: tracing_mark_write: E|595
25174  allocator@2.0--595   (  595) [005] ...1 1034722.257174: tracing_mark_write: B|595|ION_IOC_MAP
25175  allocator@2.0--595   (  595) [005] ...1 1034722.257178: tracing_mark_write: E|595
25176  allocator@2.0--595   (  595) [005] ...1 1034722.257179: tracing_mark_write: E|595
25177  allocator@2.0--595   (  595) [005] ...1 1034722.257198: tracing_mark_write: E|595
25178  allocator@2.0--595   (  595) [005] ...1 1034722.257216: tracing_mark_write: B|595|FreeBuffer
25179  allocator@2.0--595   (  595) [005] ...1 1034722.257220: tracing_mark_write: E|595
25180  allocator@2.0--595   (  595) [005] ...1 1034722.257221: tracing_mark_write: B|595|FreeBuffer
25181  allocator@2.0--595   (  595) [005] ...1 1034722.257222: tracing_mark_write: B|595|UnmapBuffer
25182  allocator@2.0--595   (  595) [005] ...1 1034722.257228: tracing_mark_write: E|595
25183  allocator@2.0--595   (  595) [005] ...1 1034722.257231: tracing_mark_write: E|595
25184    Binder:591_5-1775  (  591) [005] ...1 1034722.257253: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25185    Binder:591_5-1775  (  591) [005] ...1 1034722.257267: tracing_mark_write: E|591
25186    Binder:591_5-1775  (  591) [005] ...1 1034722.257270: tracing_mark_write: E|591
25187    RenderThread-2506  ( 2279) [005] ...1 1034722.257390: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough
25188    RenderThread-2506  ( 2279) [005] ...1 1034722.257410: tracing_mark_write: E|2279
25189  surfaceflinger-591   (  591) [000] ...1 1034722.261031: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25190  composer@2.1-s-593   (  593) [001] ...1 1034722.261144: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25191  composer@2.1-s-593   (  593) [001] ...1 1034722.261219: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25192  composer@2.1-s-593   (  593) [001] ...1 1034722.261228: tracing_mark_write: E|593
25193  composer@2.1-s-593   (  593) [001] ...1 1034722.261233: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25194  composer@2.1-s-593   (  593) [001] ...1 1034722.261485: tracing_mark_write: B|593|HWDevice::Validate::
25195  composer@2.1-s-593   (  593) [001] ...1 1034722.261553: tracing_mark_write: E|593
25196  composer@2.1-s-593   (  593) [001] ...1 1034722.261572: tracing_mark_write: E|593
25197  composer@2.1-s-593   (  593) [001] ...1 1034722.261593: tracing_mark_write: E|593
25198  surfaceflinger-591   (  591) [000] ...1 1034722.261665: tracing_mark_write: E|591
25199  surfaceflinger-591   (  591) [000] ...1 1034722.261751: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25200  composer@2.1-s-593   (  593) [001] ...1 1034722.261798: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25201  composer@2.1-s-593   (  593) [001] ...1 1034722.261809: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25202  composer@2.1-s-593   (  593) [001] ...1 1034722.261821: tracing_mark_write: B|593|HWDevice::Commit::
25203  composer@2.1-s-593   (  593) [001] ...1 1034722.261907: tracing_mark_write: E|593
25204  composer@2.1-s-593   (  593) [001] ...1 1034722.261927: tracing_mark_write: E|593
25205  composer@2.1-s-593   (  593) [001] ...1 1034722.261949: tracing_mark_write: E|593
25206  surfaceflinger-591   (  591) [000] ...1 1034722.261996: tracing_mark_write: E|591
25207  Binder:1151_16-25177 ( 1151) [006] ...1 1034722.262213: tracing_mark_write: B|1151|HIDL::ISensors::batch::client
25208  surfaceflinger-591   (  591) [000] ...1 1034722.262224: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
25209  composer@2.1-s-593   (  593) [001] ...1 1034722.262264: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
25210  composer@2.1-s-593   (  593) [001] ...1 1034722.262272: tracing_mark_write: E|593
25211  sensors@1.0-se-778   (  778) [007] ...1 1034722.262278: tracing_mark_write: B|778|HIDL::ISensors::batch::server
25212  surfaceflinger-591   (  591) [000] ...1 1034722.262297: tracing_mark_write: E|591
25213  sensors@1.0-se-778   (  778) [007] ...1 1034722.262302: tracing_mark_write: E|778
25214  Binder:1151_16-25177 ( 1151) [006] ...1 1034722.262339: tracing_mark_write: E|1151
25215  Binder:1151_16-25177 ( 1151) [006] ...1 1034722.262347: tracing_mark_write: B|1151|HIDL::ISensors::activate::client
25216  sensors@1.0-se-778   (  778) [007] ...1 1034722.262368: tracing_mark_write: B|778|HIDL::ISensors::activate::server
25217  surfaceflinger-591   (  591) [000] ...1 1034722.263315: tracing_mark_write: B|591|HIDL::IComposerClient::getActiveConfig::client
25218  composer@2.1-s-593   (  593) [001] ...1 1034722.263354: tracing_mark_write: B|593|HIDL::IComposerClient::getActiveConfig::server
25219  composer@2.1-s-593   (  593) [001] ...1 1034722.263361: tracing_mark_write: E|593
25220  surfaceflinger-591   (  591) [000] ...1 1034722.263387: tracing_mark_write: E|591
25221  sensors@1.0-se-778   (  778) [007] ...1 1034722.263575: tracing_mark_write: E|778
25222  Binder:1151_16-25177 ( 1151) [007] ...1 1034722.263604: tracing_mark_write: E|1151
25223    Binder:591_3-1218  (  591) [001] ...1 1034722.264691: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25224    Binder:591_3-1218  (  591) [001] ...1 1034722.264704: tracing_mark_write: E|591
25225    Binder:591_3-1218  (  591) [001] ...1 1034722.264717: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25226  allocator@2.0--595   (  595) [001] ...1 1034722.264806: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25227  allocator@2.0--595   (  595) [001] ...1 1034722.264834: tracing_mark_write: B|595|AllocBuffer
25228  allocator@2.0--595   (  595) [001] ...1 1034722.264843: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8355840
25229  allocator@2.0--595   (  595) [001] ...1 1034722.264971: tracing_mark_write: E|595
25230  allocator@2.0--595   (  595) [001] ...1 1034722.264974: tracing_mark_write: B|595|ION_IOC_MAP
25231  allocator@2.0--595   (  595) [001] ...1 1034722.264991: tracing_mark_write: E|595
25232  allocator@2.0--595   (  595) [001] ...1 1034722.264995: tracing_mark_write: E|595
25233  allocator@2.0--595   (  595) [001] ...1 1034722.264997: tracing_mark_write: B|595|AllocBuffer
25234  allocator@2.0--595   (  595) [001] ...1 1034722.265001: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25235  allocator@2.0--595   (  595) [001] ...1 1034722.265008: tracing_mark_write: E|595
25236  allocator@2.0--595   (  595) [001] ...1 1034722.265010: tracing_mark_write: B|595|ION_IOC_MAP
25237  allocator@2.0--595   (  595) [001] ...1 1034722.265016: tracing_mark_write: E|595
25238  allocator@2.0--595   (  595) [001] ...1 1034722.265019: tracing_mark_write: E|595
25239  allocator@2.0--595   (  595) [001] ...1 1034722.265067: tracing_mark_write: E|595
25240    Binder:591_3-1218  (  591) [001] ...1 1034722.265118: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25241    Binder:591_3-1218  (  591) [001] ...1 1034722.265144: tracing_mark_write: E|591
25242    Binder:591_3-1218  (  591) [001] ...1 1034722.265148: tracing_mark_write: E|591
25243  allocator@2.0--595   (  595) [001] ...1 1034722.265227: tracing_mark_write: B|595|FreeBuffer
25244  allocator@2.0--595   (  595) [001] ...1 1034722.265236: tracing_mark_write: E|595
25245  allocator@2.0--595   (  595) [001] ...1 1034722.265238: tracing_mark_write: B|595|FreeBuffer
25246  allocator@2.0--595   (  595) [001] ...1 1034722.265241: tracing_mark_write: B|595|UnmapBuffer
25247  allocator@2.0--595   (  595) [001] ...1 1034722.265259: tracing_mark_write: E|595
25248  allocator@2.0--595   (  595) [001] ...1 1034722.265266: tracing_mark_write: E|595
25249    android.anim-1277  ( 1151) [004] ...1 1034722.268271: tracing_mark_write: B|1151|HIDL::IMapper::importBuffer::passthrough
25250    android.anim-1277  ( 1151) [004] ...1 1034722.268330: tracing_mark_write: E|1151
25251   Binder:2279_3-2325  ( 2279) [005] ...1 1034722.276786: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough
25252   Binder:2279_3-2325  ( 2279) [005] ...1 1034722.276825: tracing_mark_write: E|2279
25253    Binder:591_5-1775  (  591) [001] ...1 1034722.276866: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25254    Binder:591_5-1775  (  591) [001] ...1 1034722.276876: tracing_mark_write: E|591
25255    Binder:591_5-1775  (  591) [001] ...1 1034722.276888: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25256  allocator@2.0--595   (  595) [001] ...1 1034722.276970: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25257  allocator@2.0--595   (  595) [001] ...1 1034722.277005: tracing_mark_write: B|595|AllocBuffer
25258   Binder:1469_2-1492  ( 1469) [007] ...1 1034722.277013: tracing_mark_write: B|1469|HIDL::IMapper::importBuffer::passthrough
25259  allocator@2.0--595   (  595) [001] ...1 1034722.277014: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4485120
25260   Binder:1469_2-1492  ( 1469) [007] ...1 1034722.277087: tracing_mark_write: E|1469
25261   Binder:1469_5-1995  ( 1469) [007] ...1 1034722.277310: tracing_mark_write: B|1469|HIDL::IMapper::importBuffer::passthrough
25262  allocator@2.0--595   (  595) [001] ...1 1034722.277313: tracing_mark_write: E|595
25263  allocator@2.0--595   (  595) [001] ...1 1034722.277317: tracing_mark_write: B|595|ION_IOC_MAP
25264   Binder:1469_5-1995  ( 1469) [007] ...1 1034722.277330: tracing_mark_write: E|1469
25265  allocator@2.0--595   (  595) [001] ...1 1034722.277331: tracing_mark_write: E|595
25266  allocator@2.0--595   (  595) [001] ...1 1034722.277335: tracing_mark_write: E|595
25267  allocator@2.0--595   (  595) [001] ...1 1034722.277339: tracing_mark_write: B|595|AllocBuffer
25268  allocator@2.0--595   (  595) [001] ...1 1034722.277343: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25269  allocator@2.0--595   (  595) [001] ...1 1034722.277352: tracing_mark_write: E|595
25270  allocator@2.0--595   (  595) [001] ...1 1034722.277355: tracing_mark_write: B|595|ION_IOC_MAP
25271  allocator@2.0--595   (  595) [001] ...1 1034722.277362: tracing_mark_write: E|595
25272  allocator@2.0--595   (  595) [001] ...1 1034722.277365: tracing_mark_write: E|595
25273  allocator@2.0--595   (  595) [001] ...1 1034722.277415: tracing_mark_write: E|595
25274  allocator@2.0--595   (  595) [001] ...1 1034722.277442: tracing_mark_write: B|595|FreeBuffer
25275  allocator@2.0--595   (  595) [001] ...1 1034722.277450: tracing_mark_write: E|595
25276  allocator@2.0--595   (  595) [001] ...1 1034722.277453: tracing_mark_write: B|595|FreeBuffer
25277  allocator@2.0--595   (  595) [001] ...1 1034722.277455: tracing_mark_write: B|595|UnmapBuffer
25278  allocator@2.0--595   (  595) [001] ...1 1034722.277470: tracing_mark_write: E|595
25279  allocator@2.0--595   (  595) [001] ...1 1034722.277476: tracing_mark_write: E|595
25280    Binder:591_5-1775  (  591) [001] ...1 1034722.277534: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25281    Binder:591_5-1775  (  591) [001] ...1 1034722.277560: tracing_mark_write: E|591
25282    Binder:591_5-1775  (  591) [001] ...1 1034722.277566: tracing_mark_write: E|591
25283     GLThread 36-1854  ( 1529) [001] ...1 1034722.277784: tracing_mark_write: B|1529|HIDL::IMapper::importBuffer::passthrough
25284     GLThread 36-1854  ( 1529) [001] ...1 1034722.277819: tracing_mark_write: E|1529
25285  surfaceflinger-591   (  591) [003] ...1 1034722.277968: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25286  composer@2.1-s-593   (  593) [001] ...1 1034722.278067: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25287  composer@2.1-s-593   (  593) [001] ...1 1034722.278154: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25288  composer@2.1-s-593   (  593) [001] ...1 1034722.278163: tracing_mark_write: E|593
25289  composer@2.1-s-593   (  593) [001] ...1 1034722.278167: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25290  composer@2.1-s-593   (  593) [001] ...1 1034722.278425: tracing_mark_write: B|593|HWDevice::Validate::
25291  composer@2.1-s-593   (  593) [001] ...1 1034722.278494: tracing_mark_write: E|593
25292  composer@2.1-s-593   (  593) [001] ...1 1034722.278513: tracing_mark_write: E|593
25293  composer@2.1-s-593   (  593) [001] ...1 1034722.278532: tracing_mark_write: E|593
25294  surfaceflinger-591   (  591) [003] ...1 1034722.278590: tracing_mark_write: E|591
25295  surfaceflinger-591   (  591) [003] ...1 1034722.278666: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25296  composer@2.1-s-593   (  593) [001] ...1 1034722.278710: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25297  composer@2.1-s-593   (  593) [001] ...1 1034722.278720: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25298  composer@2.1-s-593   (  593) [001] ...1 1034722.278733: tracing_mark_write: B|593|HWDevice::Commit::
25299  composer@2.1-s-593   (  593) [001] ...1 1034722.278826: tracing_mark_write: E|593
25300  composer@2.1-s-593   (  593) [001] ...1 1034722.278845: tracing_mark_write: E|593
25301  composer@2.1-s-593   (  593) [001] ...1 1034722.278864: tracing_mark_write: E|593
25302  surfaceflinger-591   (  591) [003] ...1 1034722.278909: tracing_mark_write: E|591
25303    Binder:591_2-624   (  591) [005] ...1 1034722.290504: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
25304    Binder:591_2-624   (  591) [005] ...1 1034722.290523: tracing_mark_write: B|591|FreeBuffer
25305    Binder:591_2-624   (  591) [005] ...1 1034722.290562: tracing_mark_write: E|591
25306    Binder:591_2-624   (  591) [005] ...1 1034722.290565: tracing_mark_write: B|591|FreeBuffer
25307    Binder:591_2-624   (  591) [005] ...1 1034722.290576: tracing_mark_write: E|591
25308    Binder:591_2-624   (  591) [005] ...1 1034722.290581: tracing_mark_write: E|591
25309    Binder:591_2-624   (  591) [005] ...1 1034722.290600: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25310    Binder:591_2-624   (  591) [005] ...1 1034722.290604: tracing_mark_write: E|591
25311    Binder:591_2-624   (  591) [005] ...1 1034722.290614: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25312  allocator@2.0--595   (  595) [005] ...1 1034722.290693: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25313  allocator@2.0--595   (  595) [005] ...1 1034722.290722: tracing_mark_write: B|595|AllocBuffer
25314  allocator@2.0--595   (  595) [005] ...1 1034722.290731: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280
25315  allocator@2.0--595   (  595) [005] ...1 1034722.292872: tracing_mark_write: E|595
25316  allocator@2.0--595   (  595) [005] ...1 1034722.292876: tracing_mark_write: B|595|ION_IOC_MAP
25317  allocator@2.0--595   (  595) [005] ...1 1034722.292891: tracing_mark_write: E|595
25318  allocator@2.0--595   (  595) [005] ...1 1034722.292896: tracing_mark_write: E|595
25319  allocator@2.0--595   (  595) [005] ...1 1034722.292899: tracing_mark_write: B|595|AllocBuffer
25320  allocator@2.0--595   (  595) [005] ...1 1034722.292904: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25321  allocator@2.0--595   (  595) [005] ...1 1034722.292913: tracing_mark_write: E|595
25322  allocator@2.0--595   (  595) [005] ...1 1034722.292915: tracing_mark_write: B|595|ION_IOC_MAP
25323  allocator@2.0--595   (  595) [005] ...1 1034722.292922: tracing_mark_write: E|595
25324  allocator@2.0--595   (  595) [005] ...1 1034722.292925: tracing_mark_write: E|595
25325  allocator@2.0--595   (  595) [005] ...1 1034722.292969: tracing_mark_write: E|595
25326  allocator@2.0--595   (  595) [005] ...1 1034722.293017: tracing_mark_write: B|595|FreeBuffer
25327  allocator@2.0--595   (  595) [005] ...1 1034722.293025: tracing_mark_write: E|595
25328  allocator@2.0--595   (  595) [005] ...1 1034722.293027: tracing_mark_write: B|595|FreeBuffer
25329  allocator@2.0--595   (  595) [005] ...1 1034722.293030: tracing_mark_write: B|595|UnmapBuffer
25330  allocator@2.0--595   (  595) [005] ...1 1034722.293043: tracing_mark_write: E|595
25331  allocator@2.0--595   (  595) [005] ...1 1034722.293049: tracing_mark_write: E|595
25332    Binder:591_2-624   (  591) [005] ...1 1034722.293110: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25333    Binder:591_2-624   (  591) [005] ...1 1034722.293140: tracing_mark_write: E|591
25334    Binder:591_2-624   (  591) [005] ...1 1034722.293145: tracing_mark_write: E|591
25335    RenderThread-2506  ( 2279) [005] ...1 1034722.293404: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough
25336    RenderThread-2506  ( 2279) [005] ...1 1034722.293432: tracing_mark_write: E|2279
25337  surfaceflinger-591   (  591) [000] ...1 1034722.294754: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25338  composer@2.1-s-593   (  593) [001] ...1 1034722.294863: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25339  composer@2.1-s-593   (  593) [001] ...1 1034722.294937: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25340  composer@2.1-s-593   (  593) [001] ...1 1034722.294946: tracing_mark_write: E|593
25341  composer@2.1-s-593   (  593) [001] ...1 1034722.294951: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25342  composer@2.1-s-593   (  593) [001] ...1 1034722.295206: tracing_mark_write: B|593|HWDevice::Validate::
25343  composer@2.1-s-593   (  593) [001] ...1 1034722.295273: tracing_mark_write: E|593
25344  composer@2.1-s-593   (  593) [001] ...1 1034722.295294: tracing_mark_write: E|593
25345  composer@2.1-s-593   (  593) [001] ...1 1034722.295315: tracing_mark_write: E|593
25346  surfaceflinger-591   (  591) [000] ...1 1034722.295375: tracing_mark_write: E|591
25347  surfaceflinger-591   (  591) [000] ...1 1034722.295444: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25348  composer@2.1-s-593   (  593) [001] ...1 1034722.295487: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25349  composer@2.1-s-593   (  593) [001] ...1 1034722.295496: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25350  composer@2.1-s-593   (  593) [001] ...1 1034722.295508: tracing_mark_write: B|593|HWDevice::Commit::
25351  composer@2.1-s-593   (  593) [001] ...1 1034722.295597: tracing_mark_write: E|593
25352  composer@2.1-s-593   (  593) [001] ...1 1034722.295616: tracing_mark_write: E|593
25353  composer@2.1-s-593   (  593) [001] ...1 1034722.295637: tracing_mark_write: E|593
25354  surfaceflinger-591   (  591) [000] ...1 1034722.295679: tracing_mark_write: E|591
25355  surfaceflinger-591   (  591) [000] ...1 1034722.312557: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25356  composer@2.1-s-593   (  593) [001] ...1 1034722.312719: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25357  composer@2.1-s-593   (  593) [001] ...1 1034722.312840: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25358  composer@2.1-s-593   (  593) [001] ...1 1034722.312856: tracing_mark_write: E|593
25359  composer@2.1-s-593   (  593) [001] ...1 1034722.312866: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25360  composer@2.1-s-593   (  593) [001] ...1 1034722.313342: tracing_mark_write: B|593|HWDevice::Validate::
25361  composer@2.1-s-593   (  593) [001] ...1 1034722.313448: tracing_mark_write: E|593
25362  composer@2.1-s-593   (  593) [001] ...1 1034722.313483: tracing_mark_write: E|593
25363  composer@2.1-s-593   (  593) [001] ...1 1034722.313514: tracing_mark_write: E|593
25364  surfaceflinger-591   (  591) [000] ...1 1034722.313610: tracing_mark_write: E|591
25365  surfaceflinger-591   (  591) [000] ...1 1034722.313728: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25366  composer@2.1-s-593   (  593) [001] ...1 1034722.313812: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25367  composer@2.1-s-593   (  593) [001] ...1 1034722.313831: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25368  composer@2.1-s-593   (  593) [001] ...1 1034722.313852: tracing_mark_write: B|593|HWDevice::Commit::
25369  composer@2.1-s-593   (  593) [001] ...1 1034722.314005: tracing_mark_write: E|593
25370  composer@2.1-s-593   (  593) [001] ...1 1034722.314038: tracing_mark_write: E|593
25371  composer@2.1-s-593   (  593) [001] ...1 1034722.314078: tracing_mark_write: E|593
25372  surfaceflinger-591   (  591) [000] ...1 1034722.314171: tracing_mark_write: E|591
25373    Binder:591_2-624   (  591) [001] ...1 1034722.327148: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25374    Binder:591_2-624   (  591) [001] ...1 1034722.327161: tracing_mark_write: E|591
25375    Binder:591_2-624   (  591) [001] ...1 1034722.327175: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25376  allocator@2.0--595   (  595) [001] ...1 1034722.327276: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25377  allocator@2.0--595   (  595) [001] ...1 1034722.327315: tracing_mark_write: B|595|AllocBuffer
25378  allocator@2.0--595   (  595) [001] ...1 1034722.327327: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4485120
25379  allocator@2.0--595   (  595) [001] ...1 1034722.327426: tracing_mark_write: E|595
25380  allocator@2.0--595   (  595) [001] ...1 1034722.327430: tracing_mark_write: B|595|ION_IOC_MAP
25381  allocator@2.0--595   (  595) [001] ...1 1034722.327445: tracing_mark_write: E|595
25382  allocator@2.0--595   (  595) [001] ...1 1034722.327450: tracing_mark_write: E|595
25383  allocator@2.0--595   (  595) [001] ...1 1034722.327454: tracing_mark_write: B|595|AllocBuffer
25384  allocator@2.0--595   (  595) [001] ...1 1034722.327459: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25385  allocator@2.0--595   (  595) [001] ...1 1034722.327469: tracing_mark_write: E|595
25386  allocator@2.0--595   (  595) [001] ...1 1034722.327473: tracing_mark_write: B|595|ION_IOC_MAP
25387  allocator@2.0--595   (  595) [001] ...1 1034722.327481: tracing_mark_write: E|595
25388  allocator@2.0--595   (  595) [001] ...1 1034722.327485: tracing_mark_write: E|595
25389  allocator@2.0--595   (  595) [001] ...1 1034722.327538: tracing_mark_write: E|595
25390  allocator@2.0--595   (  595) [001] ...1 1034722.327582: tracing_mark_write: B|595|FreeBuffer
25391  allocator@2.0--595   (  595) [001] ...1 1034722.327592: tracing_mark_write: E|595
25392  allocator@2.0--595   (  595) [001] ...1 1034722.327595: tracing_mark_write: B|595|FreeBuffer
25393  allocator@2.0--595   (  595) [001] ...1 1034722.327599: tracing_mark_write: B|595|UnmapBuffer
25394  allocator@2.0--595   (  595) [001] ...1 1034722.327611: tracing_mark_write: E|595
25395  allocator@2.0--595   (  595) [001] ...1 1034722.327619: tracing_mark_write: E|595
25396    Binder:591_2-624   (  591) [001] ...1 1034722.327678: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25397    Binder:591_2-624   (  591) [001] ...1 1034722.327709: tracing_mark_write: E|591
25398    Binder:591_2-624   (  591) [001] ...1 1034722.327715: tracing_mark_write: E|591
25399     GLThread 36-1854  ( 1529) [001] ...1 1034722.327918: tracing_mark_write: B|1529|HIDL::IMapper::importBuffer::passthrough
25400     GLThread 36-1854  ( 1529) [001] ...1 1034722.327950: tracing_mark_write: E|1529
25401  surfaceflinger-591   (  591) [000] ...1 1034722.328507: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client
25402  composer@2.1-s-593   (  593) [001] ...1 1034722.328614: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server
25403  composer@2.1-s-593   (  593) [001] ...1 1034722.328653: tracing_mark_write: E|593
25404  surfaceflinger-591   (  591) [000] ...1 1034722.328702: tracing_mark_write: E|591
25405  surfaceflinger-591   (  591) [000] ...1 1034722.328744: tracing_mark_write: B|591|HIDL::IComposerClient::createLayer::client
25406  composer@2.1-s-593   (  593) [001] ...1 1034722.328789: tracing_mark_write: B|593|HIDL::IComposerClient::createLayer::server
25407  composer@2.1-s-593   (  593) [001] ...1 1034722.328807: tracing_mark_write: E|593
25408  surfaceflinger-591   (  591) [000] ...1 1034722.328841: tracing_mark_write: E|591
25409  surfaceflinger-591   (  591) [000] ...1 1034722.329072: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25410  composer@2.1-s-593   (  593) [001] ...1 1034722.329169: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25411  composer@2.1-s-593   (  593) [001] ...1 1034722.329224: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25412  composer@2.1-s-593   (  593) [001] ...1 1034722.329254: tracing_mark_write: E|593
25413  composer@2.1-s-593   (  593) [001] ...1 1034722.329303: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25414  composer@2.1-s-593   (  593) [001] ...1 1034722.329322: tracing_mark_write: E|593
25415  composer@2.1-s-593   (  593) [001] ...1 1034722.329377: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25416  composer@2.1-s-593   (  593) [001] ...1 1034722.329389: tracing_mark_write: E|593
25417  composer@2.1-s-593   (  593) [001] ...1 1034722.329396: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25418  composer@2.1-s-593   (  593) [001] ...1 1034722.329787: tracing_mark_write: B|593|HWDevice::Validate::
25419  composer@2.1-s-593   (  593) [001] ...1 1034722.329953: tracing_mark_write: E|593
25420  composer@2.1-s-593   (  593) [001] ...1 1034722.329985: tracing_mark_write: E|593
25421  composer@2.1-s-593   (  593) [001] ...1 1034722.330008: tracing_mark_write: E|593
25422  surfaceflinger-591   (  591) [000] ...1 1034722.330073: tracing_mark_write: E|591
25423  surfaceflinger-591   (  591) [000] ...1 1034722.330186: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25424  composer@2.1-s-593   (  593) [001] ...1 1034722.330247: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25425  composer@2.1-s-593   (  593) [001] ...1 1034722.330261: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25426  composer@2.1-s-593   (  593) [001] ...1 1034722.330278: tracing_mark_write: B|593|HWDevice::Commit::
25427  composer@2.1-s-593   (  593) [001] ...1 1034722.330576: tracing_mark_write: E|593
25428  composer@2.1-s-593   (  593) [001] ...1 1034722.330606: tracing_mark_write: E|593
25429  composer@2.1-s-593   (  593) [001] ...1 1034722.330638: tracing_mark_write: E|593
25430  surfaceflinger-591   (  591) [000] ...1 1034722.330708: tracing_mark_write: E|591
25431   Binder:1469_2-1492  ( 1469) [007] ...1 1034722.335072: tracing_mark_write: B|1469|HIDL::IMapper::importBuffer::passthrough
25432   Binder:1469_2-1492  ( 1469) [007] ...1 1034722.335109: tracing_mark_write: E|1469
25433  surfaceflinger-591   (  591) [000] ...1 1034722.345449: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25434  composer@2.1-s-593   (  593) [001] ...1 1034722.345599: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25435  composer@2.1-s-593   (  593) [001] ...1 1034722.345655: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25436  composer@2.1-s-593   (  593) [001] ...1 1034722.345687: tracing_mark_write: E|593
25437  composer@2.1-s-593   (  593) [001] ...1 1034722.345775: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25438  composer@2.1-s-593   (  593) [001] ...1 1034722.345788: tracing_mark_write: E|593
25439  composer@2.1-s-593   (  593) [001] ...1 1034722.345793: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25440  composer@2.1-s-593   (  593) [001] ...1 1034722.346134: tracing_mark_write: B|593|HWDevice::Validate::
25441  composer@2.1-s-593   (  593) [001] ...1 1034722.346233: tracing_mark_write: E|593
25442  composer@2.1-s-593   (  593) [001] ...1 1034722.346258: tracing_mark_write: E|593
25443  composer@2.1-s-593   (  593) [001] ...1 1034722.346281: tracing_mark_write: E|593
25444  surfaceflinger-591   (  591) [000] ...1 1034722.346351: tracing_mark_write: E|591
25445  surfaceflinger-591   (  591) [000] ...1 1034722.346444: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25446  composer@2.1-s-593   (  593) [001] ...1 1034722.346496: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25447  composer@2.1-s-593   (  593) [001] ...1 1034722.346507: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25448  composer@2.1-s-593   (  593) [001] ...1 1034722.346521: tracing_mark_write: B|593|HWDevice::Commit::
25449  composer@2.1-s-593   (  593) [001] ...1 1034722.346777: tracing_mark_write: E|593
25450  composer@2.1-s-593   (  593) [001] ...1 1034722.346801: tracing_mark_write: E|593
25451  composer@2.1-s-593   (  593) [001] ...1 1034722.346832: tracing_mark_write: E|593
25452  surfaceflinger-591   (  591) [000] ...1 1034722.346894: tracing_mark_write: E|591
25453   Binder:2279_3-2325  ( 2279) [000] ...1 1034722.351005: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough
25454   Binder:2279_3-2325  ( 2279) [000] ...1 1034722.351038: tracing_mark_write: E|2279
25455  surfaceflinger-591   (  591) [001] ...1 1034722.361873: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25456  composer@2.1-s-593   (  593) [000] ...1 1034722.361994: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25457  composer@2.1-s-593   (  593) [000] ...1 1034722.362084: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25458  composer@2.1-s-593   (  593) [000] ...1 1034722.362094: tracing_mark_write: E|593
25459  composer@2.1-s-593   (  593) [000] ...1 1034722.362099: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25460  composer@2.1-s-593   (  593) [000] ...1 1034722.362397: tracing_mark_write: B|593|HWDevice::Validate::
25461  composer@2.1-s-593   (  593) [000] ...1 1034722.362488: tracing_mark_write: E|593
25462  composer@2.1-s-593   (  593) [000] ...1 1034722.362508: tracing_mark_write: E|593
25463  composer@2.1-s-593   (  593) [000] ...1 1034722.362528: tracing_mark_write: E|593
25464  surfaceflinger-591   (  591) [001] ...1 1034722.362588: tracing_mark_write: E|591
25465  surfaceflinger-591   (  591) [001] ...1 1034722.362666: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25466  composer@2.1-s-593   (  593) [000] ...1 1034722.362708: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25467  composer@2.1-s-593   (  593) [000] ...1 1034722.362717: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25468  composer@2.1-s-593   (  593) [000] ...1 1034722.362728: tracing_mark_write: B|593|HWDevice::Commit::
25469  composer@2.1-s-593   (  593) [000] ...1 1034722.362911: tracing_mark_write: E|593
25470  composer@2.1-s-593   (  593) [000] ...1 1034722.362930: tracing_mark_write: E|593
25471  composer@2.1-s-593   (  593) [000] ...1 1034722.362955: tracing_mark_write: E|593
25472  surfaceflinger-591   (  591) [001] ...1 1034722.363003: tracing_mark_write: E|591
25473    Binder:591_5-1775  (  591) [001] ...1 1034722.368077: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25474    Binder:591_5-1775  (  591) [001] ...1 1034722.368088: tracing_mark_write: E|591
25475    Binder:591_5-1775  (  591) [001] ...1 1034722.368100: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25476  allocator@2.0--595   (  595) [001] ...1 1034722.368177: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25477  allocator@2.0--595   (  595) [001] ...1 1034722.368208: tracing_mark_write: B|595|AllocBuffer
25478  allocator@2.0--595   (  595) [001] ...1 1034722.368217: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4485120
25479  allocator@2.0--595   (  595) [001] ...1 1034722.368296: tracing_mark_write: E|595
25480  allocator@2.0--595   (  595) [001] ...1 1034722.368299: tracing_mark_write: B|595|ION_IOC_MAP
25481  allocator@2.0--595   (  595) [001] ...1 1034722.368311: tracing_mark_write: E|595
25482  allocator@2.0--595   (  595) [001] ...1 1034722.368315: tracing_mark_write: E|595
25483  allocator@2.0--595   (  595) [001] ...1 1034722.368318: tracing_mark_write: B|595|AllocBuffer
25484  allocator@2.0--595   (  595) [001] ...1 1034722.368322: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25485  allocator@2.0--595   (  595) [001] ...1 1034722.368329: tracing_mark_write: E|595
25486  allocator@2.0--595   (  595) [001] ...1 1034722.368332: tracing_mark_write: B|595|ION_IOC_MAP
25487  allocator@2.0--595   (  595) [001] ...1 1034722.368338: tracing_mark_write: E|595
25488  allocator@2.0--595   (  595) [001] ...1 1034722.368340: tracing_mark_write: E|595
25489  allocator@2.0--595   (  595) [001] ...1 1034722.368389: tracing_mark_write: E|595
25490  allocator@2.0--595   (  595) [001] ...1 1034722.368417: tracing_mark_write: B|595|FreeBuffer
25491  allocator@2.0--595   (  595) [001] ...1 1034722.368424: tracing_mark_write: E|595
25492  allocator@2.0--595   (  595) [001] ...1 1034722.368427: tracing_mark_write: B|595|FreeBuffer
25493  allocator@2.0--595   (  595) [001] ...1 1034722.368429: tracing_mark_write: B|595|UnmapBuffer
25494  allocator@2.0--595   (  595) [001] ...1 1034722.368445: tracing_mark_write: E|595
25495  allocator@2.0--595   (  595) [001] ...1 1034722.368450: tracing_mark_write: E|595
25496    Binder:591_5-1775  (  591) [001] ...1 1034722.368486: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25497    Binder:591_5-1775  (  591) [001] ...1 1034722.368512: tracing_mark_write: E|591
25498    Binder:591_5-1775  (  591) [001] ...1 1034722.368516: tracing_mark_write: E|591
25499     GLThread 36-1854  ( 1529) [001] ...1 1034722.368660: tracing_mark_write: B|1529|HIDL::IMapper::importBuffer::passthrough
25500     GLThread 36-1854  ( 1529) [001] ...1 1034722.368683: tracing_mark_write: E|1529
25501  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370661: tracing_mark_write: B|1469|HIDL::IMapper::freeBuffer::passthrough
25502  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370680: tracing_mark_write: B|1469|FreeBuffer
25503  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370692: tracing_mark_write: E|1469
25504  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370695: tracing_mark_write: B|1469|FreeBuffer
25505  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370700: tracing_mark_write: E|1469
25506  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370707: tracing_mark_write: E|1469
25507  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370718: tracing_mark_write: B|1469|HIDL::IMapper::freeBuffer::passthrough
25508  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370727: tracing_mark_write: B|1469|FreeBuffer
25509  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370733: tracing_mark_write: E|1469
25510  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370736: tracing_mark_write: B|1469|FreeBuffer
25511  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370740: tracing_mark_write: E|1469
25512  FinalizerDaemo-1487  ( 1469) [001] ...1 1034722.370744: tracing_mark_write: E|1469
25513  surfaceflinger-591   (  591) [000] ...1 1034722.378846: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25514  composer@2.1-s-593   (  593) [001] ...1 1034722.378977: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25515  composer@2.1-s-593   (  593) [001] ...1 1034722.379029: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25516  composer@2.1-s-593   (  593) [001] ...1 1034722.379072: tracing_mark_write: E|593
25517  composer@2.1-s-593   (  593) [001] ...1 1034722.379157: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25518  composer@2.1-s-593   (  593) [001] ...1 1034722.379167: tracing_mark_write: E|593
25519  composer@2.1-s-593   (  593) [001] ...1 1034722.379172: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25520  composer@2.1-s-593   (  593) [001] ...1 1034722.379497: tracing_mark_write: B|593|HWDevice::Validate::
25521  composer@2.1-s-593   (  593) [001] ...1 1034722.379590: tracing_mark_write: E|593
25522  composer@2.1-s-593   (  593) [001] ...1 1034722.379614: tracing_mark_write: E|593
25523  composer@2.1-s-593   (  593) [001] ...1 1034722.379635: tracing_mark_write: E|593
25524  surfaceflinger-591   (  591) [000] ...1 1034722.379695: tracing_mark_write: E|591
25525  surfaceflinger-591   (  591) [000] ...1 1034722.379776: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25526  composer@2.1-s-593   (  593) [001] ...1 1034722.379822: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25527  composer@2.1-s-593   (  593) [001] ...1 1034722.379831: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25528  composer@2.1-s-593   (  593) [001] ...1 1034722.379843: tracing_mark_write: B|593|HWDevice::Commit::
25529  composer@2.1-s-593   (  593) [001] ...1 1034722.380105: tracing_mark_write: E|593
25530  composer@2.1-s-593   (  593) [001] ...1 1034722.380127: tracing_mark_write: E|593
25531  composer@2.1-s-593   (  593) [001] ...1 1034722.380156: tracing_mark_write: E|593
25532  surfaceflinger-591   (  591) [000] ...1 1034722.380210: tracing_mark_write: E|591
25533  HwBinder:778_1-1087  (  778) [000] ...1 1034722.390075: tracing_mark_write: E|778
25534   SensorService-1283  ( 1151) [001] ...1 1034722.390153: tracing_mark_write: E|1151
25535   SensorService-1283  ( 1151) [001] ...1 1034722.390238: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25536  HwBinder:778_1-1087  (  778) [000] ...1 1034722.390288: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25537  surfaceflinger-591   (  591) [002] ...1 1034722.395544: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25538  composer@2.1-s-593   (  593) [001] ...1 1034722.395675: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25539  composer@2.1-s-593   (  593) [001] ...1 1034722.395771: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25540  composer@2.1-s-593   (  593) [001] ...1 1034722.395782: tracing_mark_write: E|593
25541  composer@2.1-s-593   (  593) [001] ...1 1034722.395787: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25542  composer@2.1-s-593   (  593) [001] ...1 1034722.396103: tracing_mark_write: B|593|HWDevice::Validate::
25543  composer@2.1-s-593   (  593) [001] ...1 1034722.396207: tracing_mark_write: E|593
25544  composer@2.1-s-593   (  593) [001] ...1 1034722.396231: tracing_mark_write: E|593
25545  composer@2.1-s-593   (  593) [001] ...1 1034722.396253: tracing_mark_write: E|593
25546  surfaceflinger-591   (  591) [002] ...1 1034722.396313: tracing_mark_write: E|591
25547  surfaceflinger-591   (  591) [002] ...1 1034722.396398: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25548  composer@2.1-s-593   (  593) [001] ...1 1034722.396445: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25549  composer@2.1-s-593   (  593) [001] ...1 1034722.396455: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25550  composer@2.1-s-593   (  593) [001] ...1 1034722.396467: tracing_mark_write: B|593|HWDevice::Commit::
25551  composer@2.1-s-593   (  593) [001] ...1 1034722.396703: tracing_mark_write: E|593
25552  composer@2.1-s-593   (  593) [001] ...1 1034722.396724: tracing_mark_write: E|593
25553  composer@2.1-s-593   (  593) [001] ...1 1034722.396753: tracing_mark_write: E|593
25554  surfaceflinger-591   (  591) [000] ...1 1034722.396819: tracing_mark_write: E|591
25555    Binder:591_5-1775  (  591) [005] ...1 1034722.409571: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
25556  HwBinder:778_1-1087  (  778) [000] ...1 1034722.409575: tracing_mark_write: E|778
25557    Binder:591_5-1775  (  591) [005] ...1 1034722.409613: tracing_mark_write: B|591|FreeBuffer
25558    Binder:591_5-1775  (  591) [005] ...1 1034722.409698: tracing_mark_write: E|591
25559    Binder:591_5-1775  (  591) [005] ...1 1034722.409706: tracing_mark_write: B|591|FreeBuffer
25560   SensorService-1283  ( 1151) [001] ...1 1034722.409731: tracing_mark_write: E|1151
25561    Binder:591_5-1775  (  591) [005] ...1 1034722.409740: tracing_mark_write: E|591
25562    Binder:591_5-1775  (  591) [005] ...1 1034722.409757: tracing_mark_write: E|591
25563    Binder:591_5-1775  (  591) [005] ...1 1034722.409786: tracing_mark_write: B|591|HIDL::IMapper::createDescriptor::passthrough
25564    Binder:591_5-1775  (  591) [005] ...1 1034722.409799: tracing_mark_write: E|591
25565    Binder:591_5-1775  (  591) [005] ...1 1034722.409822: tracing_mark_write: B|591|HIDL::IAllocator::allocate::client
25566   SensorService-1283  ( 1151) [001] ...1 1034722.409964: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25567  allocator@2.0--595   (  595) [005] ...1 1034722.410048: tracing_mark_write: B|595|HIDL::IAllocator::allocate::server
25568  allocator@2.0--595   (  595) [005] ...1 1034722.410099: tracing_mark_write: B|595|AllocBuffer
25569  HwBinder:778_1-1087  (  778) [000] ...1 1034722.410100: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25570  allocator@2.0--595   (  595) [005] ...1 1034722.410119: tracing_mark_write: B|595|ION_IOC_ALLOC size: 8417280
25571  allocator@2.0--595   (  595) [005] ...1 1034722.412130: tracing_mark_write: E|595
25572  allocator@2.0--595   (  595) [005] ...1 1034722.412140: tracing_mark_write: B|595|ION_IOC_MAP
25573  allocator@2.0--595   (  595) [005] ...1 1034722.412173: tracing_mark_write: E|595
25574  allocator@2.0--595   (  595) [005] ...1 1034722.412184: tracing_mark_write: E|595
25575  allocator@2.0--595   (  595) [005] ...1 1034722.412191: tracing_mark_write: B|595|AllocBuffer
25576  allocator@2.0--595   (  595) [005] ...1 1034722.412202: tracing_mark_write: B|595|ION_IOC_ALLOC size: 4096
25577  allocator@2.0--595   (  595) [005] ...1 1034722.412226: tracing_mark_write: E|595
25578  allocator@2.0--595   (  595) [005] ...1 1034722.412233: tracing_mark_write: B|595|ION_IOC_MAP
25579  allocator@2.0--595   (  595) [005] ...1 1034722.412251: tracing_mark_write: E|595
25580  allocator@2.0--595   (  595) [005] ...1 1034722.412257: tracing_mark_write: E|595
25581  allocator@2.0--595   (  595) [005] ...1 1034722.412356: tracing_mark_write: E|595
25582  allocator@2.0--595   (  595) [005] ...1 1034722.412462: tracing_mark_write: B|595|FreeBuffer
25583  allocator@2.0--595   (  595) [005] ...1 1034722.412484: tracing_mark_write: E|595
25584  allocator@2.0--595   (  595) [005] ...1 1034722.412491: tracing_mark_write: B|595|FreeBuffer
25585  allocator@2.0--595   (  595) [005] ...1 1034722.412498: tracing_mark_write: B|595|UnmapBuffer
25586  allocator@2.0--595   (  595) [005] ...1 1034722.412531: tracing_mark_write: E|595
25587  allocator@2.0--595   (  595) [005] ...1 1034722.412549: tracing_mark_write: E|595
25588    Binder:591_5-1775  (  591) [005] ...1 1034722.412668: tracing_mark_write: B|591|HIDL::IMapper::importBuffer::passthrough
25589    Binder:591_5-1775  (  591) [005] ...1 1034722.412737: tracing_mark_write: E|591
25590    Binder:591_5-1775  (  591) [005] ...1 1034722.412751: tracing_mark_write: E|591
25591    RenderThread-2506  ( 2279) [005] ...1 1034722.413355: tracing_mark_write: B|2279|HIDL::IMapper::importBuffer::passthrough
25592    RenderThread-2506  ( 2279) [005] ...1 1034722.413430: tracing_mark_write: E|2279
25593  surfaceflinger-591   (  591) [000] ...1 1034722.414430: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25594  composer@2.1-s-593   (  593) [001] ...1 1034722.414698: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25595  composer@2.1-s-593   (  593) [001] ...1 1034722.414905: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25596  composer@2.1-s-593   (  593) [001] ...1 1034722.414931: tracing_mark_write: E|593
25597  composer@2.1-s-593   (  593) [001] ...1 1034722.414945: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25598  composer@2.1-s-593   (  593) [001] ...1 1034722.415639: tracing_mark_write: B|593|HWDevice::Validate::
25599  composer@2.1-s-593   (  593) [001] ...1 1034722.415831: tracing_mark_write: E|593
25600  composer@2.1-s-593   (  593) [001] ...1 1034722.415890: tracing_mark_write: E|593
25601  composer@2.1-s-593   (  593) [001] ...1 1034722.415934: tracing_mark_write: E|593
25602  surfaceflinger-591   (  591) [000] ...1 1034722.416074: tracing_mark_write: E|591
25603  surfaceflinger-591   (  591) [000] ...1 1034722.416280: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25604  composer@2.1-s-593   (  593) [001] ...1 1034722.416413: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25605  composer@2.1-s-593   (  593) [001] ...1 1034722.416442: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25606  composer@2.1-s-593   (  593) [001] ...1 1034722.416471: tracing_mark_write: B|593|HWDevice::Commit::
25607  composer@2.1-s-593   (  593) [001] ...1 1034722.417040: tracing_mark_write: E|593
25608  composer@2.1-s-593   (  593) [001] ...1 1034722.417096: tracing_mark_write: E|593
25609  composer@2.1-s-593   (  593) [001] ...1 1034722.417164: tracing_mark_write: E|593
25610  surfaceflinger-591   (  591) [000] ...1 1034722.417324: tracing_mark_write: E|591
25611  HwBinder:778_1-1087  (  778) [001] ...1 1034722.428757: tracing_mark_write: E|778
25612   SensorService-1283  ( 1151) [002] ...1 1034722.428919: tracing_mark_write: E|1151
25613   SensorService-1283  ( 1151) [002] ...1 1034722.429096: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25614  HwBinder:778_1-1087  (  778) [001] ...1 1034722.429228: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25615  surfaceflinger-591   (  591) [000] ...1 1034722.431368: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
25616  surfaceflinger-591   (  591) [000] ...1 1034722.431402: tracing_mark_write: B|591|FreeBuffer
25617  surfaceflinger-591   (  591) [000] ...1 1034722.431431: tracing_mark_write: E|591
25618  surfaceflinger-591   (  591) [000] ...1 1034722.431440: tracing_mark_write: B|591|FreeBuffer
25619  surfaceflinger-591   (  591) [000] ...1 1034722.431459: tracing_mark_write: E|591
25620  surfaceflinger-591   (  591) [000] ...1 1034722.431472: tracing_mark_write: E|591
25621  surfaceflinger-591   (  591) [000] ...1 1034722.431652: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25622  composer@2.1-s-593   (  593) [001] ...1 1034722.431903: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25623  composer@2.1-s-593   (  593) [001] ...1 1034722.432012: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25624  composer@2.1-s-593   (  593) [001] ...1 1034722.432074: tracing_mark_write: E|593
25625  composer@2.1-s-593   (  593) [001] ...1 1034722.432162: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
25626  composer@2.1-s-593   (  593) [001] ...1 1034722.432181: tracing_mark_write: B|593|FreeBuffer
25627  composer@2.1-s-593   (  593) [001] ...1 1034722.432795: tracing_mark_write: E|593
25628  composer@2.1-s-593   (  593) [001] ...1 1034722.432807: tracing_mark_write: B|593|FreeBuffer
25629  composer@2.1-s-593   (  593) [001] ...1 1034722.432815: tracing_mark_write: B|593|UnmapBuffer
25630  composer@2.1-s-593   (  593) [001] ...1 1034722.432853: tracing_mark_write: E|593
25631  composer@2.1-s-593   (  593) [001] ...1 1034722.432887: tracing_mark_write: E|593
25632  composer@2.1-s-593   (  593) [001] ...1 1034722.432903: tracing_mark_write: E|593
25633  composer@2.1-s-593   (  593) [001] ...1 1034722.432926: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25634  composer@2.1-s-593   (  593) [001] ...1 1034722.432968: tracing_mark_write: E|593
25635  composer@2.1-s-593   (  593) [001] ...1 1034722.433092: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25636  composer@2.1-s-593   (  593) [001] ...1 1034722.433121: tracing_mark_write: E|593
25637  composer@2.1-s-593   (  593) [001] ...1 1034722.433136: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25638  composer@2.1-s-593   (  593) [001] ...1 1034722.434080: tracing_mark_write: B|593|HWDevice::Validate::
25639  composer@2.1-s-593   (  593) [001] ...1 1034722.434306: tracing_mark_write: E|593
25640  composer@2.1-s-593   (  593) [001] ...1 1034722.434372: tracing_mark_write: E|593
25641  composer@2.1-s-593   (  593) [001] ...1 1034722.434423: tracing_mark_write: E|593
25642  surfaceflinger-591   (  591) [000] ...1 1034722.434582: tracing_mark_write: E|591
25643  surfaceflinger-591   (  591) [000] ...1 1034722.434813: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25644  composer@2.1-s-593   (  593) [001] ...1 1034722.434939: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25645  composer@2.1-s-593   (  593) [001] ...1 1034722.434965: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25646  composer@2.1-s-593   (  593) [001] ...1 1034722.434997: tracing_mark_write: B|593|HWDevice::Commit::
25647  composer@2.1-s-593   (  593) [001] ...1 1034722.435444: tracing_mark_write: E|593
25648  composer@2.1-s-593   (  593) [001] ...1 1034722.435499: tracing_mark_write: E|593
25649  composer@2.1-s-593   (  593) [001] ...1 1034722.435566: tracing_mark_write: E|593
25650  surfaceflinger-591   (  591) [000] ...1 1034722.435714: tracing_mark_write: E|591
25651  HwBinder:778_1-1087  (  778) [001] ...1 1034722.447910: tracing_mark_write: E|778
25652   SensorService-1283  ( 1151) [002] ...1 1034722.448100: tracing_mark_write: E|1151
25653  surfaceflinger-591   (  591) [000] ...1 1034722.448134: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25654   SensorService-1283  ( 1151) [002] ...1 1034722.448267: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25655  composer@2.1-s-593   (  593) [001] ...1 1034722.448371: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25656  HwBinder:778_1-1087  (  778) [000] ...1 1034722.448402: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25657  composer@2.1-s-593   (  593) [001] ...1 1034722.448498: tracing_mark_write: B|593|HIDL::IMapper::importBuffer::passthrough
25658  composer@2.1-s-593   (  593) [001] ...1 1034722.448558: tracing_mark_write: E|593
25659  composer@2.1-s-593   (  593) [001] ...1 1034722.448697: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25660  composer@2.1-s-593   (  593) [001] ...1 1034722.448723: tracing_mark_write: E|593
25661  composer@2.1-s-593   (  593) [001] ...1 1034722.448737: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25662  composer@2.1-s-593   (  593) [001] ...1 1034722.449433: tracing_mark_write: B|593|HWDevice::Validate::
25663  composer@2.1-s-593   (  593) [001] ...1 1034722.449614: tracing_mark_write: E|593
25664  composer@2.1-s-593   (  593) [001] ...1 1034722.449670: tracing_mark_write: E|593
25665  composer@2.1-s-593   (  593) [001] ...1 1034722.449710: tracing_mark_write: E|593
25666  surfaceflinger-591   (  591) [000] ...1 1034722.449831: tracing_mark_write: E|591
25667  surfaceflinger-591   (  591) [000] ...1 1034722.450077: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25668  composer@2.1-s-593   (  593) [001] ...1 1034722.450199: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25669  composer@2.1-s-593   (  593) [001] ...1 1034722.450224: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25670  composer@2.1-s-593   (  593) [001] ...1 1034722.450254: tracing_mark_write: B|593|HWDevice::Commit::
25671  composer@2.1-s-593   (  593) [001] ...1 1034722.450530: tracing_mark_write: E|593
25672  composer@2.1-s-593   (  593) [001] ...1 1034722.450582: tracing_mark_write: E|593
25673  composer@2.1-s-593   (  593) [001] ...1 1034722.450646: tracing_mark_write: E|593
25674  surfaceflinger-591   (  591) [000] ...1 1034722.450788: tracing_mark_write: E|591
25675  surfaceflinger-591   (  591) [000] ...1 1034722.464995: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25676  composer@2.1-s-593   (  593) [001] ...1 1034722.465234: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25677  composer@2.1-s-593   (  593) [001] ...1 1034722.465436: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25678  composer@2.1-s-593   (  593) [001] ...1 1034722.465462: tracing_mark_write: E|593
25679  composer@2.1-s-593   (  593) [001] ...1 1034722.465476: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25680  composer@2.1-s-593   (  593) [001] ...1 1034722.466157: tracing_mark_write: B|593|HWDevice::Validate::
25681  composer@2.1-s-593   (  593) [001] ...1 1034722.466343: tracing_mark_write: E|593
25682  composer@2.1-s-593   (  593) [001] ...1 1034722.466401: tracing_mark_write: E|593
25683  composer@2.1-s-593   (  593) [001] ...1 1034722.466449: tracing_mark_write: E|593
25684  surfaceflinger-591   (  591) [000] ...1 1034722.466642: tracing_mark_write: E|591
25685  surfaceflinger-591   (  591) [000] ...1 1034722.466869: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25686  composer@2.1-s-593   (  593) [001] ...1 1034722.466991: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25687  composer@2.1-s-593   (  593) [001] ...1 1034722.467017: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25688  composer@2.1-s-593   (  593) [001] ...1 1034722.467046: tracing_mark_write: B|593|HWDevice::Commit::
25689  HwBinder:778_1-1087  (  778) [000] ...1 1034722.467325: tracing_mark_write: E|778
25690   SensorService-1283  ( 1151) [002] ...1 1034722.467469: tracing_mark_write: E|1151
25691  composer@2.1-s-593   (  593) [001] ...1 1034722.467550: tracing_mark_write: E|593
25692  composer@2.1-s-593   (  593) [001] ...1 1034722.467606: tracing_mark_write: E|593
25693   SensorService-1283  ( 1151) [002] ...1 1034722.467636: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25694  composer@2.1-s-593   (  593) [001] ...1 1034722.467673: tracing_mark_write: E|593
25695  HwBinder:778_1-1087  (  778) [000] ...1 1034722.467761: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25696  surfaceflinger-591   (  591) [002] ...1 1034722.467839: tracing_mark_write: E|591
25697  surfaceflinger-591   (  591) [000] ...1 1034722.481625: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25698  composer@2.1-s-593   (  593) [001] ...1 1034722.481863: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25699  composer@2.1-s-593   (  593) [001] ...1 1034722.482067: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25700  composer@2.1-s-593   (  593) [001] ...1 1034722.482093: tracing_mark_write: E|593
25701  composer@2.1-s-593   (  593) [001] ...1 1034722.482107: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25702  composer@2.1-s-593   (  593) [001] ...1 1034722.482788: tracing_mark_write: B|593|HWDevice::Validate::
25703  composer@2.1-s-593   (  593) [001] ...1 1034722.482969: tracing_mark_write: E|593
25704  composer@2.1-s-593   (  593) [001] ...1 1034722.483026: tracing_mark_write: E|593
25705  composer@2.1-s-593   (  593) [001] ...1 1034722.483069: tracing_mark_write: E|593
25706  surfaceflinger-591   (  591) [000] ...1 1034722.483270: tracing_mark_write: E|591
25707  surfaceflinger-591   (  591) [000] ...1 1034722.483471: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25708  composer@2.1-s-593   (  593) [001] ...1 1034722.483592: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25709  composer@2.1-s-593   (  593) [001] ...1 1034722.483637: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25710  composer@2.1-s-593   (  593) [001] ...1 1034722.483667: tracing_mark_write: B|593|HWDevice::Commit::
25711  composer@2.1-s-593   (  593) [001] ...1 1034722.484097: tracing_mark_write: E|593
25712  composer@2.1-s-593   (  593) [001] ...1 1034722.484151: tracing_mark_write: E|593
25713  composer@2.1-s-593   (  593) [001] ...1 1034722.484219: tracing_mark_write: E|593
25714  surfaceflinger-591   (  591) [000] ...1 1034722.484370: tracing_mark_write: E|591
25715  HwBinder:778_1-1087  (  778) [000] ...1 1034722.486601: tracing_mark_write: E|778
25716   SensorService-1283  ( 1151) [002] ...1 1034722.486733: tracing_mark_write: E|1151
25717   SensorService-1283  ( 1151) [002] ...1 1034722.486900: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25718  HwBinder:778_1-1087  (  778) [000] ...1 1034722.487020: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25719  surfaceflinger-591   (  591) [000] ...1 1034722.498580: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25720  composer@2.1-s-593   (  593) [001] ...1 1034722.498841: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25721  composer@2.1-s-593   (  593) [001] ...1 1034722.499047: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25722  composer@2.1-s-593   (  593) [001] ...1 1034722.499075: tracing_mark_write: E|593
25723  composer@2.1-s-593   (  593) [001] ...1 1034722.499089: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25724  composer@2.1-s-593   (  593) [001] ...1 1034722.499780: tracing_mark_write: B|593|HWDevice::Validate::
25725  composer@2.1-s-593   (  593) [001] ...1 1034722.500033: tracing_mark_write: E|593
25726  composer@2.1-s-593   (  593) [001] ...1 1034722.500091: tracing_mark_write: E|593
25727  composer@2.1-s-593   (  593) [001] ...1 1034722.500135: tracing_mark_write: E|593
25728  surfaceflinger-591   (  591) [000] ...1 1034722.500268: tracing_mark_write: E|591
25729  surfaceflinger-591   (  591) [000] ...1 1034722.500465: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25730  composer@2.1-s-593   (  593) [001] ...1 1034722.500586: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25731  composer@2.1-s-593   (  593) [001] ...1 1034722.500612: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25732  composer@2.1-s-593   (  593) [001] ...1 1034722.500641: tracing_mark_write: B|593|HWDevice::Commit::
25733  composer@2.1-s-593   (  593) [001] ...1 1034722.500921: tracing_mark_write: E|593
25734  composer@2.1-s-593   (  593) [001] ...1 1034722.500974: tracing_mark_write: E|593
25735  composer@2.1-s-593   (  593) [001] ...1 1034722.501037: tracing_mark_write: E|593
25736  surfaceflinger-591   (  591) [000] ...1 1034722.501183: tracing_mark_write: E|591
25737  HwBinder:778_1-1087  (  778) [000] ...1 1034722.505993: tracing_mark_write: E|778
25738   SensorService-1283  ( 1151) [002] ...1 1034722.506151: tracing_mark_write: E|1151
25739   SensorService-1283  ( 1151) [002] ...1 1034722.506347: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25740  HwBinder:778_1-1087  (  778) [000] ...1 1034722.506491: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25741  surfaceflinger-591   (  591) [000] ...1 1034722.515419: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25742  composer@2.1-s-593   (  593) [001] ...1 1034722.515681: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25743  composer@2.1-s-593   (  593) [001] ...1 1034722.515889: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25744  composer@2.1-s-593   (  593) [001] ...1 1034722.515915: tracing_mark_write: E|593
25745  composer@2.1-s-593   (  593) [001] ...1 1034722.515929: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25746  composer@2.1-s-593   (  593) [001] ...1 1034722.516696: tracing_mark_write: B|593|HWDevice::Validate::
25747  composer@2.1-s-593   (  593) [001] ...1 1034722.516876: tracing_mark_write: E|593
25748  composer@2.1-s-593   (  593) [001] ...1 1034722.516934: tracing_mark_write: E|593
25749  composer@2.1-s-593   (  593) [001] ...1 1034722.516979: tracing_mark_write: E|593
25750  surfaceflinger-591   (  591) [000] ...1 1034722.517112: tracing_mark_write: E|591
25751  surfaceflinger-591   (  591) [000] ...1 1034722.517340: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25752  composer@2.1-s-593   (  593) [001] ...1 1034722.517469: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25753  composer@2.1-s-593   (  593) [001] ...1 1034722.517496: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25754  composer@2.1-s-593   (  593) [001] ...1 1034722.517525: tracing_mark_write: B|593|HWDevice::Commit::
25755  composer@2.1-s-593   (  593) [001] ...1 1034722.518012: tracing_mark_write: E|593
25756  composer@2.1-s-593   (  593) [001] ...1 1034722.518069: tracing_mark_write: E|593
25757  composer@2.1-s-593   (  593) [001] ...1 1034722.518136: tracing_mark_write: E|593
25758  surfaceflinger-591   (  591) [000] ...1 1034722.518283: tracing_mark_write: E|591
25759  HwBinder:778_1-1087  (  778) [001] ...1 1034722.525025: tracing_mark_write: E|778
25760   SensorService-1283  ( 1151) [002] ...1 1034722.525165: tracing_mark_write: E|1151
25761   SensorService-1283  ( 1151) [002] ...1 1034722.525331: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25762  HwBinder:778_1-1087  (  778) [001] ...1 1034722.525465: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25763  surfaceflinger-591   (  591) [000] ...1 1034722.531351: tracing_mark_write: B|591|HIDL::IComposerClient::destroyLayer::client
25764  composer@2.1-s-593   (  593) [001] ...1 1034722.531532: tracing_mark_write: B|593|HIDL::IComposerClient::destroyLayer::server
25765  composer@2.1-s-593   (  593) [001] ...1 1034722.531585: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
25766  composer@2.1-s-593   (  593) [001] ...1 1034722.531610: tracing_mark_write: B|593|FreeBuffer
25767  composer@2.1-s-593   (  593) [001] ...1 1034722.531635: tracing_mark_write: E|593
25768  composer@2.1-s-593   (  593) [001] ...1 1034722.531644: tracing_mark_write: B|593|FreeBuffer
25769  composer@2.1-s-593   (  593) [001] ...1 1034722.531652: tracing_mark_write: B|593|UnmapBuffer
25770  composer@2.1-s-593   (  593) [001] ...1 1034722.531686: tracing_mark_write: E|593
25771  composer@2.1-s-593   (  593) [001] ...1 1034722.531704: tracing_mark_write: E|593
25772  composer@2.1-s-593   (  593) [001] ...1 1034722.531717: tracing_mark_write: E|593
25773  composer@2.1-s-593   (  593) [001] ...1 1034722.531726: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
25774  composer@2.1-s-593   (  593) [001] ...1 1034722.531740: tracing_mark_write: B|593|FreeBuffer
25775  composer@2.1-s-593   (  593) [001] ...1 1034722.531757: tracing_mark_write: E|593
25776  composer@2.1-s-593   (  593) [001] ...1 1034722.531765: tracing_mark_write: B|593|FreeBuffer
25777  composer@2.1-s-593   (  593) [001] ...1 1034722.531773: tracing_mark_write: B|593|UnmapBuffer
25778  composer@2.1-s-593   (  593) [001] ...1 1034722.531794: tracing_mark_write: E|593
25779  composer@2.1-s-593   (  593) [001] ...1 1034722.531812: tracing_mark_write: E|593
25780  composer@2.1-s-593   (  593) [001] ...1 1034722.531823: tracing_mark_write: E|593
25781  composer@2.1-s-593   (  593) [001] ...1 1034722.531831: tracing_mark_write: B|593|HIDL::IMapper::freeBuffer::passthrough
25782  composer@2.1-s-593   (  593) [001] ...1 1034722.531847: tracing_mark_write: B|593|FreeBuffer
25783  composer@2.1-s-593   (  593) [001] ...1 1034722.531863: tracing_mark_write: E|593
25784  composer@2.1-s-593   (  593) [001] ...1 1034722.531871: tracing_mark_write: B|593|FreeBuffer
25785  composer@2.1-s-593   (  593) [001] ...1 1034722.531878: tracing_mark_write: B|593|UnmapBuffer
25786  composer@2.1-s-593   (  593) [001] ...1 1034722.531896: tracing_mark_write: E|593
25787  composer@2.1-s-593   (  593) [001] ...1 1034722.531913: tracing_mark_write: E|593
25788  composer@2.1-s-593   (  593) [001] ...1 1034722.531922: tracing_mark_write: E|593
25789  composer@2.1-s-593   (  593) [001] ...1 1034722.531944: tracing_mark_write: E|593
25790  surfaceflinger-591   (  591) [000] ...1 1034722.532037: tracing_mark_write: E|591
25791  surfaceflinger-591   (  591) [000] ...1 1034722.532661: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25792  composer@2.1-s-593   (  593) [001] ...1 1034722.532822: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25793  composer@2.1-s-593   (  593) [001] ...1 1034722.532998: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25794  composer@2.1-s-593   (  593) [001] ...1 1034722.533022: tracing_mark_write: E|593
25795  composer@2.1-s-593   (  593) [001] ...1 1034722.533037: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25796  composer@2.1-s-593   (  593) [001] ...1 1034722.533807: tracing_mark_write: B|593|HWDevice::Validate::
25797  composer@2.1-s-593   (  593) [001] ...1 1034722.534022: tracing_mark_write: E|593
25798  composer@2.1-s-593   (  593) [001] ...1 1034722.534076: tracing_mark_write: E|593
25799  composer@2.1-s-593   (  593) [001] ...1 1034722.534118: tracing_mark_write: E|593
25800  surfaceflinger-591   (  591) [000] ...1 1034722.534235: tracing_mark_write: E|591
25801  surfaceflinger-591   (  591) [000] ...1 1034722.534414: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25802  composer@2.1-s-593   (  593) [001] ...1 1034722.534525: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25803  composer@2.1-s-593   (  593) [001] ...1 1034722.534551: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25804  composer@2.1-s-593   (  593) [001] ...1 1034722.534579: tracing_mark_write: B|593|HWDevice::Commit::
25805  composer@2.1-s-593   (  593) [001] ...1 1034722.534966: tracing_mark_write: E|593
25806  composer@2.1-s-593   (  593) [001] ...1 1034722.535017: tracing_mark_write: E|593
25807  composer@2.1-s-593   (  593) [001] ...1 1034722.535082: tracing_mark_write: E|593
25808  surfaceflinger-591   (  591) [000] ...1 1034722.535225: tracing_mark_write: E|591
25809  HwBinder:778_1-1087  (  778) [000] ...1 1034722.544289: tracing_mark_write: E|778
25810   SensorService-1283  ( 1151) [002] ...1 1034722.544451: tracing_mark_write: E|1151
25811   SensorService-1283  ( 1151) [002] ...1 1034722.544635: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25812  HwBinder:778_1-1087  (  778) [000] ...1 1034722.544776: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25813  surfaceflinger-591   (  591) [000] ...1 1034722.549413: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25814  composer@2.1-s-593   (  593) [001] ...1 1034722.549669: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25815  composer@2.1-s-593   (  593) [001] ...1 1034722.549936: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25816  composer@2.1-s-593   (  593) [001] ...1 1034722.549966: tracing_mark_write: E|593
25817  composer@2.1-s-593   (  593) [001] ...1 1034722.549983: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25818  composer@2.1-s-593   (  593) [001] ...1 1034722.550723: tracing_mark_write: B|593|HWDevice::Validate::
25819  composer@2.1-s-593   (  593) [001] ...1 1034722.550890: tracing_mark_write: E|593
25820  composer@2.1-s-593   (  593) [001] ...1 1034722.550948: tracing_mark_write: E|593
25821  composer@2.1-s-593   (  593) [001] ...1 1034722.551070: tracing_mark_write: E|593
25822  surfaceflinger-591   (  591) [000] ...1 1034722.551213: tracing_mark_write: E|591
25823  surfaceflinger-591   (  591) [000] ...1 1034722.551429: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25824  composer@2.1-s-593   (  593) [001] ...1 1034722.551564: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25825  composer@2.1-s-593   (  593) [001] ...1 1034722.551592: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25826  composer@2.1-s-593   (  593) [001] ...1 1034722.551625: tracing_mark_write: B|593|HWDevice::Commit::
25827  composer@2.1-s-593   (  593) [001] ...1 1034722.551900: tracing_mark_write: E|593
25828  composer@2.1-s-593   (  593) [001] ...1 1034722.551954: tracing_mark_write: E|593
25829  composer@2.1-s-593   (  593) [001] ...1 1034722.552022: tracing_mark_write: E|593
25830  surfaceflinger-591   (  591) [000] ...1 1034722.552182: tracing_mark_write: E|591
25831  surfaceflinger-591   (  591) [000] ...1 1034722.565712: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25832  composer@2.1-s-593   (  593) [001] ...1 1034722.565933: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25833  composer@2.1-s-593   (  593) [001] ...1 1034722.566122: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25834  composer@2.1-s-593   (  593) [001] ...1 1034722.566147: tracing_mark_write: E|593
25835  composer@2.1-s-593   (  593) [001] ...1 1034722.566163: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25836  HwBinder:778_1-1087  (  778) [000] ...1 1034722.566371: tracing_mark_write: E|778
25837   SensorService-1283  ( 1151) [002] ...1 1034722.566529: tracing_mark_write: E|1151
25838   SensorService-1283  ( 1151) [002] ...1 1034722.566764: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25839  HwBinder:778_1-1087  (  778) [000] ...1 1034722.566911: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25840  composer@2.1-s-593   (  593) [001] ...1 1034722.566926: tracing_mark_write: B|593|HWDevice::Validate::
25841  composer@2.1-s-593   (  593) [001] ...1 1034722.567089: tracing_mark_write: E|593
25842  composer@2.1-s-593   (  593) [001] ...1 1034722.567149: tracing_mark_write: E|593
25843  composer@2.1-s-593   (  593) [001] ...1 1034722.567195: tracing_mark_write: E|593
25844  surfaceflinger-591   (  591) [000] ...1 1034722.567339: tracing_mark_write: E|591
25845  surfaceflinger-591   (  591) [000] ...1 1034722.567564: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25846  composer@2.1-s-593   (  593) [001] ...1 1034722.567706: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25847  composer@2.1-s-593   (  593) [001] ...1 1034722.567736: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25848  composer@2.1-s-593   (  593) [001] ...1 1034722.567769: tracing_mark_write: B|593|HWDevice::Commit::
25849  composer@2.1-s-593   (  593) [001] ...1 1034722.568276: tracing_mark_write: E|593
25850  composer@2.1-s-593   (  593) [001] ...1 1034722.568330: tracing_mark_write: E|593
25851  composer@2.1-s-593   (  593) [001] ...1 1034722.568400: tracing_mark_write: E|593
25852  surfaceflinger-591   (  591) [000] ...1 1034722.568563: tracing_mark_write: E|591
25853  surfaceflinger-591   (  591) [000] ...1 1034722.582454: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25854  composer@2.1-s-593   (  593) [001] ...1 1034722.582734: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25855  composer@2.1-s-593   (  593) [001] ...1 1034722.582946: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25856  composer@2.1-s-593   (  593) [001] ...1 1034722.582975: tracing_mark_write: E|593
25857  composer@2.1-s-593   (  593) [001] ...1 1034722.582992: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25858  HwBinder:778_1-1087  (  778) [003] ...1 1034722.583495: tracing_mark_write: E|778
25859   SensorService-1283  ( 1151) [002] ...1 1034722.583652: tracing_mark_write: E|1151
25860   SensorService-1283  ( 1151) [002] ...1 1034722.583850: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25861  composer@2.1-s-593   (  593) [001] ...1 1034722.583868: tracing_mark_write: B|593|HWDevice::Validate::
25862  HwBinder:778_1-1087  (  778) [003] ...1 1034722.583995: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25863  composer@2.1-s-593   (  593) [001] ...1 1034722.584043: tracing_mark_write: E|593
25864  composer@2.1-s-593   (  593) [001] ...1 1034722.584104: tracing_mark_write: E|593
25865  composer@2.1-s-593   (  593) [001] ...1 1034722.584155: tracing_mark_write: E|593
25866  surfaceflinger-591   (  591) [000] ...1 1034722.584308: tracing_mark_write: E|591
25867  surfaceflinger-591   (  591) [000] ...1 1034722.584600: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25868  composer@2.1-s-593   (  593) [001] ...1 1034722.584750: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25869  composer@2.1-s-593   (  593) [001] ...1 1034722.584784: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25870  composer@2.1-s-593   (  593) [001] ...1 1034722.584820: tracing_mark_write: B|593|HWDevice::Commit::
25871  composer@2.1-s-593   (  593) [001] ...1 1034722.585281: tracing_mark_write: E|593
25872  composer@2.1-s-593   (  593) [001] ...1 1034722.585337: tracing_mark_write: E|593
25873  composer@2.1-s-593   (  593) [001] ...1 1034722.585409: tracing_mark_write: E|593
25874  surfaceflinger-591   (  591) [000] ...1 1034722.585578: tracing_mark_write: E|591
25875  surfaceflinger-591   (  591) [000] ...1 1034722.599388: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25876  composer@2.1-s-593   (  593) [001] ...1 1034722.599623: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25877  composer@2.1-s-593   (  593) [001] ...1 1034722.599821: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25878  composer@2.1-s-593   (  593) [001] ...1 1034722.599847: tracing_mark_write: E|593
25879  composer@2.1-s-593   (  593) [001] ...1 1034722.599925: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25880  composer@2.1-s-593   (  593) [001] ...1 1034722.600635: tracing_mark_write: B|593|HWDevice::Validate::
25881  composer@2.1-s-593   (  593) [001] ...1 1034722.600795: tracing_mark_write: E|593
25882  composer@2.1-s-593   (  593) [001] ...1 1034722.600852: tracing_mark_write: E|593
25883  composer@2.1-s-593   (  593) [001] ...1 1034722.600899: tracing_mark_write: E|593
25884  surfaceflinger-591   (  591) [000] ...1 1034722.601042: tracing_mark_write: E|591
25885  surfaceflinger-591   (  591) [000] ...1 1034722.601253: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25886  composer@2.1-s-593   (  593) [001] ...1 1034722.601391: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25887  composer@2.1-s-593   (  593) [001] ...1 1034722.601422: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25888  composer@2.1-s-593   (  593) [001] ...1 1034722.601453: tracing_mark_write: B|593|HWDevice::Commit::
25889  composer@2.1-s-593   (  593) [001] ...1 1034722.601717: tracing_mark_write: E|593
25890  composer@2.1-s-593   (  593) [001] ...1 1034722.601772: tracing_mark_write: E|593
25891  composer@2.1-s-593   (  593) [001] ...1 1034722.601841: tracing_mark_write: E|593
25892  surfaceflinger-591   (  591) [000] ...1 1034722.602016: tracing_mark_write: E|591
25893  HwBinder:778_1-1087  (  778) [003] ...1 1034722.602044: tracing_mark_write: E|778
25894   SensorService-1283  ( 1151) [002] ...1 1034722.602185: tracing_mark_write: E|1151
25895   SensorService-1283  ( 1151) [002] ...1 1034722.602373: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25896  HwBinder:778_1-1087  (  778) [003] ...1 1034722.602509: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25897  surfaceflinger-591   (  591) [000] ...1 1034722.615957: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25898  composer@2.1-s-593   (  593) [001] ...1 1034722.616182: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25899  composer@2.1-s-593   (  593) [001] ...1 1034722.616373: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25900  composer@2.1-s-593   (  593) [001] ...1 1034722.616399: tracing_mark_write: E|593
25901  composer@2.1-s-593   (  593) [001] ...1 1034722.616416: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25902  composer@2.1-s-593   (  593) [001] ...1 1034722.617232: tracing_mark_write: B|593|HWDevice::Validate::
25903  composer@2.1-s-593   (  593) [001] ...1 1034722.617391: tracing_mark_write: E|593
25904  composer@2.1-s-593   (  593) [001] ...1 1034722.617447: tracing_mark_write: E|593
25905  composer@2.1-s-593   (  593) [001] ...1 1034722.617493: tracing_mark_write: E|593
25906  surfaceflinger-591   (  591) [000] ...1 1034722.617631: tracing_mark_write: E|591
25907  surfaceflinger-591   (  591) [000] ...1 1034722.617837: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25908  composer@2.1-s-593   (  593) [001] ...1 1034722.617973: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25909  composer@2.1-s-593   (  593) [001] ...1 1034722.618004: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25910  composer@2.1-s-593   (  593) [001] ...1 1034722.618038: tracing_mark_write: B|593|HWDevice::Commit::
25911  composer@2.1-s-593   (  593) [001] ...1 1034722.618543: tracing_mark_write: E|593
25912  composer@2.1-s-593   (  593) [001] ...1 1034722.618596: tracing_mark_write: E|593
25913  composer@2.1-s-593   (  593) [001] ...1 1034722.618666: tracing_mark_write: E|593
25914  surfaceflinger-591   (  591) [000] ...1 1034722.618828: tracing_mark_write: E|591
25915  HwBinder:778_1-1087  (  778) [000] ...1 1034722.621269: tracing_mark_write: E|778
25916   SensorService-1283  ( 1151) [002] ...1 1034722.621415: tracing_mark_write: E|1151
25917   SensorService-1283  ( 1151) [002] ...1 1034722.621606: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25918  HwBinder:778_1-1087  (  778) [000] ...1 1034722.621749: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25919  surfaceflinger-591   (  591) [001] ...1 1034722.633035: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25920  composer@2.1-s-593   (  593) [000] ...1 1034722.633340: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25921  composer@2.1-s-593   (  593) [000] ...1 1034722.633551: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25922  composer@2.1-s-593   (  593) [000] ...1 1034722.633579: tracing_mark_write: E|593
25923  composer@2.1-s-593   (  593) [000] ...1 1034722.633595: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25924  composer@2.1-s-593   (  593) [000] ...1 1034722.634301: tracing_mark_write: B|593|HWDevice::Validate::
25925  composer@2.1-s-593   (  593) [000] ...1 1034722.634466: tracing_mark_write: E|593
25926  composer@2.1-s-593   (  593) [000] ...1 1034722.634525: tracing_mark_write: E|593
25927  composer@2.1-s-593   (  593) [000] ...1 1034722.634574: tracing_mark_write: E|593
25928  surfaceflinger-591   (  591) [001] ...1 1034722.634721: tracing_mark_write: E|591
25929  surfaceflinger-591   (  591) [001] ...1 1034722.634958: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25930  composer@2.1-s-593   (  593) [000] ...1 1034722.635102: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25931  composer@2.1-s-593   (  593) [000] ...1 1034722.635132: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25932  composer@2.1-s-593   (  593) [000] ...1 1034722.635166: tracing_mark_write: B|593|HWDevice::Commit::
25933  composer@2.1-s-593   (  593) [000] ...1 1034722.635603: tracing_mark_write: E|593
25934  composer@2.1-s-593   (  593) [000] ...1 1034722.635658: tracing_mark_write: E|593
25935  composer@2.1-s-593   (  593) [000] ...1 1034722.635729: tracing_mark_write: E|593
25936  surfaceflinger-591   (  591) [001] ...1 1034722.635890: tracing_mark_write: E|591
25937  HwBinder:778_1-1087  (  778) [000] ...1 1034722.640679: tracing_mark_write: E|778
25938   SensorService-1283  ( 1151) [002] ...1 1034722.640827: tracing_mark_write: E|1151
25939   SensorService-1283  ( 1151) [002] ...1 1034722.641026: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25940  HwBinder:778_1-1087  (  778) [000] ...1 1034722.641164: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25941  surfaceflinger-591   (  591) [003] ...1 1034722.649112: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25942  composer@2.1-s-593   (  593) [000] ...1 1034722.649329: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25943  composer@2.1-s-593   (  593) [000] ...1 1034722.649506: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25944  composer@2.1-s-593   (  593) [000] ...1 1034722.649529: tracing_mark_write: E|593
25945  composer@2.1-s-593   (  593) [000] ...1 1034722.649543: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25946  composer@2.1-s-593   (  593) [000] ...1 1034722.650228: tracing_mark_write: B|593|HWDevice::Validate::
25947  composer@2.1-s-593   (  593) [000] ...1 1034722.650372: tracing_mark_write: E|593
25948  composer@2.1-s-593   (  593) [000] ...1 1034722.650424: tracing_mark_write: E|593
25949  composer@2.1-s-593   (  593) [000] ...1 1034722.650466: tracing_mark_write: E|593
25950  surfaceflinger-591   (  591) [003] ...1 1034722.650589: tracing_mark_write: E|591
25951  surfaceflinger-591   (  591) [003] ...1 1034722.650771: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25952  composer@2.1-s-593   (  593) [000] ...1 1034722.650886: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25953  composer@2.1-s-593   (  593) [000] ...1 1034722.650911: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25954  composer@2.1-s-593   (  593) [000] ...1 1034722.650939: tracing_mark_write: B|593|HWDevice::Commit::
25955  composer@2.1-s-593   (  593) [000] ...1 1034722.651178: tracing_mark_write: E|593
25956  composer@2.1-s-593   (  593) [000] ...1 1034722.651224: tracing_mark_write: E|593
25957  composer@2.1-s-593   (  593) [000] ...1 1034722.651284: tracing_mark_write: E|593
25958  surfaceflinger-591   (  591) [003] ...1 1034722.651423: tracing_mark_write: E|591
25959  HwBinder:778_1-1087  (  778) [000] ...1 1034722.659782: tracing_mark_write: E|778
25960   SensorService-1283  ( 1151) [002] ...1 1034722.659995: tracing_mark_write: E|1151
25961   SensorService-1283  ( 1151) [002] ...1 1034722.660130: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25962  HwBinder:778_1-1087  (  778) [000] ...1 1034722.660250: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25963  surfaceflinger-591   (  591) [000] ...1 1034722.665604: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25964  composer@2.1-s-593   (  593) [001] ...1 1034722.665811: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25965  composer@2.1-s-593   (  593) [001] ...1 1034722.665976: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25966  composer@2.1-s-593   (  593) [001] ...1 1034722.665999: tracing_mark_write: E|593
25967  composer@2.1-s-593   (  593) [001] ...1 1034722.666011: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25968  composer@2.1-s-593   (  593) [001] ...1 1034722.666652: tracing_mark_write: B|593|HWDevice::Validate::
25969  composer@2.1-s-593   (  593) [001] ...1 1034722.666792: tracing_mark_write: E|593
25970  composer@2.1-s-593   (  593) [001] ...1 1034722.666839: tracing_mark_write: E|593
25971  composer@2.1-s-593   (  593) [001] ...1 1034722.666879: tracing_mark_write: E|593
25972  surfaceflinger-591   (  591) [000] ...1 1034722.666997: tracing_mark_write: E|591
25973  surfaceflinger-591   (  591) [000] ...1 1034722.667168: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25974  composer@2.1-s-593   (  593) [001] ...1 1034722.667274: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25975  composer@2.1-s-593   (  593) [001] ...1 1034722.667299: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25976  composer@2.1-s-593   (  593) [001] ...1 1034722.667325: tracing_mark_write: B|593|HWDevice::Commit::
25977  composer@2.1-s-593   (  593) [001] ...1 1034722.667738: tracing_mark_write: E|593
25978  composer@2.1-s-593   (  593) [001] ...1 1034722.667783: tracing_mark_write: E|593
25979  composer@2.1-s-593   (  593) [001] ...1 1034722.667841: tracing_mark_write: E|593
25980  surfaceflinger-591   (  591) [000] ...1 1034722.667963: tracing_mark_write: E|591
25981  HwBinder:778_1-1087  (  778) [000] ...1 1034722.679144: tracing_mark_write: E|778
25982   SensorService-1283  ( 1151) [002] ...1 1034722.679273: tracing_mark_write: E|1151
25983   SensorService-1283  ( 1151) [002] ...1 1034722.679393: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
25984  HwBinder:778_1-1087  (  778) [000] ...1 1034722.679501: tracing_mark_write: B|778|HIDL::ISensors::poll::server
25985  surfaceflinger-591   (  591) [000] ...1 1034722.680649: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25986  composer@2.1-s-593   (  593) [001] ...1 1034722.680835: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25987  composer@2.1-s-593   (  593) [001] ...1 1034722.680962: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25988  composer@2.1-s-593   (  593) [001] ...1 1034722.680984: tracing_mark_write: E|593
25989  composer@2.1-s-593   (  593) [001] ...1 1034722.680996: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
25990  composer@2.1-s-593   (  593) [001] ...1 1034722.681553: tracing_mark_write: B|593|HWDevice::Validate::
25991  composer@2.1-s-593   (  593) [001] ...1 1034722.681685: tracing_mark_write: E|593
25992  composer@2.1-s-593   (  593) [001] ...1 1034722.681735: tracing_mark_write: E|593
25993  composer@2.1-s-593   (  593) [001] ...1 1034722.681773: tracing_mark_write: E|593
25994  surfaceflinger-591   (  591) [000] ...1 1034722.681879: tracing_mark_write: E|591
25995  surfaceflinger-591   (  591) [000] ...1 1034722.682039: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
25996  composer@2.1-s-593   (  593) [001] ...1 1034722.682144: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
25997  composer@2.1-s-593   (  593) [001] ...1 1034722.682168: tracing_mark_write: B|593|HWCSession::PresentDisplay::
25998  composer@2.1-s-593   (  593) [001] ...1 1034722.682193: tracing_mark_write: B|593|HWDevice::Commit::
25999  composer@2.1-s-593   (  593) [001] ...1 1034722.682525: tracing_mark_write: E|593
26000  composer@2.1-s-593   (  593) [001] ...1 1034722.682567: tracing_mark_write: E|593
26001  composer@2.1-s-593   (  593) [001] ...1 1034722.682619: tracing_mark_write: E|593
26002  surfaceflinger-591   (  591) [000] ...1 1034722.682740: tracing_mark_write: E|591
26003  surfaceflinger-591   (  591) [000] ...1 1034722.697377: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26004  composer@2.1-s-593   (  593) [001] ...1 1034722.697587: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26005  composer@2.1-s-593   (  593) [001] ...1 1034722.697728: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26006  composer@2.1-s-593   (  593) [001] ...1 1034722.697753: tracing_mark_write: E|593
26007  composer@2.1-s-593   (  593) [001] ...1 1034722.697770: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26008  composer@2.1-s-593   (  593) [001] ...1 1034722.698442: tracing_mark_write: B|593|HWDevice::Validate::
26009  composer@2.1-s-593   (  593) [001] ...1 1034722.698602: tracing_mark_write: E|593
26010  composer@2.1-s-593   (  593) [001] ...1 1034722.698669: tracing_mark_write: E|593
26011  HwBinder:778_1-1087  (  778) [000] ...1 1034722.698682: tracing_mark_write: E|778
26012  composer@2.1-s-593   (  593) [001] ...1 1034722.698715: tracing_mark_write: E|593
26013   SensorService-1283  ( 1151) [002] ...1 1034722.698855: tracing_mark_write: E|1151
26014  surfaceflinger-591   (  591) [003] ...1 1034722.698879: tracing_mark_write: E|591
26015   SensorService-1283  ( 1151) [002] ...1 1034722.699026: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26016  surfaceflinger-591   (  591) [003] ...1 1034722.699092: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26017  HwBinder:778_1-1087  (  778) [000] ...1 1034722.699165: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26018  composer@2.1-s-593   (  593) [001] ...1 1034722.699233: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26019  composer@2.1-s-593   (  593) [001] ...1 1034722.699264: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26020  composer@2.1-s-593   (  593) [001] ...1 1034722.699299: tracing_mark_write: B|593|HWDevice::Commit::
26021  composer@2.1-s-593   (  593) [001] ...1 1034722.699575: tracing_mark_write: E|593
26022  composer@2.1-s-593   (  593) [001] ...1 1034722.699629: tracing_mark_write: E|593
26023  composer@2.1-s-593   (  593) [001] ...1 1034722.699700: tracing_mark_write: E|593
26024  surfaceflinger-591   (  591) [003] ...1 1034722.699862: tracing_mark_write: E|591
26025  surfaceflinger-591   (  591) [000] ...1 1034722.714482: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26026  composer@2.1-s-593   (  593) [001] ...1 1034722.714744: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26027  composer@2.1-s-593   (  593) [001] ...1 1034722.714909: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26028  composer@2.1-s-593   (  593) [001] ...1 1034722.714937: tracing_mark_write: E|593
26029  composer@2.1-s-593   (  593) [001] ...1 1034722.714954: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26030  composer@2.1-s-593   (  593) [001] ...1 1034722.715660: tracing_mark_write: B|593|HWDevice::Validate::
26031  composer@2.1-s-593   (  593) [001] ...1 1034722.715827: tracing_mark_write: E|593
26032  composer@2.1-s-593   (  593) [001] ...1 1034722.715890: tracing_mark_write: E|593
26033  composer@2.1-s-593   (  593) [001] ...1 1034722.715938: tracing_mark_write: E|593
26034  surfaceflinger-591   (  591) [000] ...1 1034722.716076: tracing_mark_write: E|591
26035  surfaceflinger-591   (  591) [000] ...1 1034722.716287: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26036  composer@2.1-s-593   (  593) [001] ...1 1034722.716423: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26037  composer@2.1-s-593   (  593) [001] ...1 1034722.716452: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26038  composer@2.1-s-593   (  593) [001] ...1 1034722.716486: tracing_mark_write: B|593|HWDevice::Commit::
26039  composer@2.1-s-593   (  593) [001] ...1 1034722.717063: tracing_mark_write: E|593
26040  composer@2.1-s-593   (  593) [001] ...1 1034722.717118: tracing_mark_write: E|593
26041  composer@2.1-s-593   (  593) [001] ...1 1034722.717187: tracing_mark_write: E|593
26042  surfaceflinger-591   (  591) [000] ...1 1034722.717350: tracing_mark_write: E|591
26043  HwBinder:778_1-1087  (  778) [001] ...1 1034722.718335: tracing_mark_write: E|778
26044   SensorService-1283  ( 1151) [002] ...1 1034722.718488: tracing_mark_write: E|1151
26045   SensorService-1283  ( 1151) [002] ...1 1034722.718647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26046  HwBinder:778_1-1087  (  778) [001] ...1 1034722.718784: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26047  surfaceflinger-591   (  591) [000] ...1 1034722.730931: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26048  composer@2.1-s-593   (  593) [001] ...1 1034722.731155: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26049  composer@2.1-s-593   (  593) [001] ...1 1034722.731306: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26050  composer@2.1-s-593   (  593) [001] ...1 1034722.731332: tracing_mark_write: E|593
26051  composer@2.1-s-593   (  593) [001] ...1 1034722.731348: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26052  composer@2.1-s-593   (  593) [001] ...1 1034722.732041: tracing_mark_write: B|593|HWDevice::Validate::
26053  composer@2.1-s-593   (  593) [001] ...1 1034722.732205: tracing_mark_write: E|593
26054  composer@2.1-s-593   (  593) [001] ...1 1034722.732267: tracing_mark_write: E|593
26055  composer@2.1-s-593   (  593) [001] ...1 1034722.732313: tracing_mark_write: E|593
26056  surfaceflinger-591   (  591) [000] ...1 1034722.732447: tracing_mark_write: E|591
26057  surfaceflinger-591   (  591) [000] ...1 1034722.732656: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26058  composer@2.1-s-593   (  593) [001] ...1 1034722.732794: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26059  composer@2.1-s-593   (  593) [001] ...1 1034722.732824: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26060  composer@2.1-s-593   (  593) [001] ...1 1034722.732858: tracing_mark_write: B|593|HWDevice::Commit::
26061  composer@2.1-s-593   (  593) [001] ...1 1034722.733436: tracing_mark_write: E|593
26062  composer@2.1-s-593   (  593) [001] ...1 1034722.733489: tracing_mark_write: E|593
26063  composer@2.1-s-593   (  593) [001] ...1 1034722.733559: tracing_mark_write: E|593
26064  surfaceflinger-591   (  591) [000] ...1 1034722.733718: tracing_mark_write: E|591
26065  HwBinder:778_1-1087  (  778) [001] ...1 1034722.736924: tracing_mark_write: E|778
26066   SensorService-1283  ( 1151) [002] ...1 1034722.737075: tracing_mark_write: E|1151
26067   SensorService-1283  ( 1151) [002] ...1 1034722.737231: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26068  HwBinder:778_1-1087  (  778) [001] ...1 1034722.737368: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26069  surfaceflinger-591   (  591) [000] ...1 1034722.747778: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26070  composer@2.1-s-593   (  593) [001] ...1 1034722.748071: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26071  composer@2.1-s-593   (  593) [001] ...1 1034722.748221: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26072  composer@2.1-s-593   (  593) [001] ...1 1034722.748259: tracing_mark_write: B|593|HWDevice::Commit::
26073  composer@2.1-s-593   (  593) [001] ...1 1034722.748535: tracing_mark_write: E|593
26074  composer@2.1-s-593   (  593) [001] ...1 1034722.748598: tracing_mark_write: E|593
26075  composer@2.1-s-593   (  593) [001] ...1 1034722.748671: tracing_mark_write: E|593
26076  surfaceflinger-591   (  591) [000] ...1 1034722.748854: tracing_mark_write: E|591
26077  HwBinder:778_1-1087  (  778) [001] ...1 1034722.756177: tracing_mark_write: E|778
26078   SensorService-1283  ( 1151) [002] ...1 1034722.756346: tracing_mark_write: E|1151
26079   SensorService-1283  ( 1151) [002] ...1 1034722.756515: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26080  HwBinder:778_1-1087  (  778) [001] ...1 1034722.756749: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26081  surfaceflinger-591   (  591) [000] ...1 1034722.764743: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26082  composer@2.1-s-593   (  593) [001] ...1 1034722.764987: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26083  composer@2.1-s-593   (  593) [001] ...1 1034722.765152: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26084  composer@2.1-s-593   (  593) [001] ...1 1034722.765180: tracing_mark_write: E|593
26085  composer@2.1-s-593   (  593) [001] ...1 1034722.765197: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26086  composer@2.1-s-593   (  593) [001] ...1 1034722.765904: tracing_mark_write: B|593|HWDevice::Validate::
26087  composer@2.1-s-593   (  593) [001] ...1 1034722.766071: tracing_mark_write: E|593
26088  composer@2.1-s-593   (  593) [001] ...1 1034722.766136: tracing_mark_write: E|593
26089  composer@2.1-s-593   (  593) [001] ...1 1034722.766186: tracing_mark_write: E|593
26090  surfaceflinger-591   (  591) [000] ...1 1034722.766323: tracing_mark_write: E|591
26091  surfaceflinger-591   (  591) [000] ...1 1034722.766653: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26092  composer@2.1-s-593   (  593) [001] ...1 1034722.766789: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26093  composer@2.1-s-593   (  593) [001] ...1 1034722.766821: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26094  composer@2.1-s-593   (  593) [001] ...1 1034722.766856: tracing_mark_write: B|593|HWDevice::Commit::
26095  composer@2.1-s-593   (  593) [001] ...1 1034722.767358: tracing_mark_write: E|593
26096  composer@2.1-s-593   (  593) [001] ...1 1034722.767414: tracing_mark_write: E|593
26097  composer@2.1-s-593   (  593) [001] ...1 1034722.767486: tracing_mark_write: E|593
26098  surfaceflinger-591   (  591) [000] ...1 1034722.767649: tracing_mark_write: E|591
26099  HwBinder:778_1-1087  (  778) [001] ...1 1034722.775390: tracing_mark_write: E|778
26100   SensorService-1283  ( 1151) [002] ...1 1034722.775539: tracing_mark_write: E|1151
26101   SensorService-1283  ( 1151) [002] ...1 1034722.775694: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26102  HwBinder:778_1-1087  (  778) [001] ...1 1034722.775831: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26103  surfaceflinger-591   (  591) [000] ...1 1034722.781341: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26104  composer@2.1-s-593   (  593) [001] ...1 1034722.781564: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26105  composer@2.1-s-593   (  593) [001] ...1 1034722.781716: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26106  composer@2.1-s-593   (  593) [001] ...1 1034722.781743: tracing_mark_write: E|593
26107  composer@2.1-s-593   (  593) [001] ...1 1034722.781759: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26108  composer@2.1-s-593   (  593) [001] ...1 1034722.782450: tracing_mark_write: B|593|HWDevice::Validate::
26109  composer@2.1-s-593   (  593) [001] ...1 1034722.782608: tracing_mark_write: E|593
26110  composer@2.1-s-593   (  593) [001] ...1 1034722.782669: tracing_mark_write: E|593
26111  composer@2.1-s-593   (  593) [001] ...1 1034722.782716: tracing_mark_write: E|593
26112  surfaceflinger-591   (  591) [000] ...1 1034722.782848: tracing_mark_write: E|591
26113  surfaceflinger-591   (  591) [000] ...1 1034722.783051: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26114  composer@2.1-s-593   (  593) [001] ...1 1034722.783186: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26115  composer@2.1-s-593   (  593) [001] ...1 1034722.783333: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26116  composer@2.1-s-593   (  593) [001] ...1 1034722.783390: tracing_mark_write: B|593|HWDevice::Commit::
26117  composer@2.1-s-593   (  593) [001] ...1 1034722.783822: tracing_mark_write: E|593
26118  composer@2.1-s-593   (  593) [001] ...1 1034722.783878: tracing_mark_write: E|593
26119  composer@2.1-s-593   (  593) [001] ...1 1034722.783948: tracing_mark_write: E|593
26120  surfaceflinger-591   (  591) [000] ...1 1034722.784111: tracing_mark_write: E|591
26121  HwBinder:778_1-1087  (  778) [001] ...1 1034722.796132: tracing_mark_write: E|778
26122   SensorService-1283  ( 1151) [002] ...1 1034722.796294: tracing_mark_write: E|1151
26123   SensorService-1283  ( 1151) [002] ...1 1034722.796471: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26124  HwBinder:778_1-1087  (  778) [001] ...1 1034722.796732: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26125  surfaceflinger-591   (  591) [000] ...1 1034722.798433: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26126  composer@2.1-s-593   (  593) [001] ...1 1034722.798681: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26127  composer@2.1-s-593   (  593) [001] ...1 1034722.798844: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26128  composer@2.1-s-593   (  593) [001] ...1 1034722.798873: tracing_mark_write: E|593
26129  composer@2.1-s-593   (  593) [001] ...1 1034722.798889: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26130  composer@2.1-s-593   (  593) [001] ...1 1034722.799616: tracing_mark_write: B|593|HWDevice::Validate::
26131  composer@2.1-s-593   (  593) [001] ...1 1034722.799784: tracing_mark_write: E|593
26132  composer@2.1-s-593   (  593) [001] ...1 1034722.799847: tracing_mark_write: E|593
26133  composer@2.1-s-593   (  593) [001] ...1 1034722.799956: tracing_mark_write: E|593
26134  surfaceflinger-591   (  591) [000] ...1 1034722.800094: tracing_mark_write: E|591
26135  surfaceflinger-591   (  591) [000] ...1 1034722.800304: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26136  composer@2.1-s-593   (  593) [001] ...1 1034722.800440: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26137  composer@2.1-s-593   (  593) [001] ...1 1034722.800471: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26138  composer@2.1-s-593   (  593) [001] ...1 1034722.800505: tracing_mark_write: B|593|HWDevice::Commit::
26139  composer@2.1-s-593   (  593) [001] ...1 1034722.800770: tracing_mark_write: E|593
26140  composer@2.1-s-593   (  593) [001] ...1 1034722.800826: tracing_mark_write: E|593
26141  composer@2.1-s-593   (  593) [001] ...1 1034722.800898: tracing_mark_write: E|593
26142  surfaceflinger-591   (  591) [000] ...1 1034722.801073: tracing_mark_write: E|591
26143  HwBinder:778_1-1087  (  778) [001] ...1 1034722.813970: tracing_mark_write: E|778
26144   SensorService-1283  ( 1151) [003] ...1 1034722.814151: tracing_mark_write: E|1151
26145   SensorService-1283  ( 1151) [003] ...1 1034722.814323: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26146  HwBinder:778_1-1087  (  778) [001] ...1 1034722.814467: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26147  surfaceflinger-591   (  591) [000] ...1 1034722.814973: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26148  composer@2.1-s-593   (  593) [001] ...1 1034722.815188: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26149  composer@2.1-s-593   (  593) [001] ...1 1034722.815340: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26150  composer@2.1-s-593   (  593) [001] ...1 1034722.815367: tracing_mark_write: E|593
26151  composer@2.1-s-593   (  593) [001] ...1 1034722.815383: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26152  composer@2.1-s-593   (  593) [001] ...1 1034722.816071: tracing_mark_write: B|593|HWDevice::Validate::
26153  composer@2.1-s-593   (  593) [001] ...1 1034722.816232: tracing_mark_write: E|593
26154  composer@2.1-s-593   (  593) [001] ...1 1034722.816294: tracing_mark_write: E|593
26155  composer@2.1-s-593   (  593) [001] ...1 1034722.816340: tracing_mark_write: E|593
26156  surfaceflinger-591   (  591) [000] ...1 1034722.816469: tracing_mark_write: E|591
26157  surfaceflinger-591   (  591) [000] ...1 1034722.816768: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26158  composer@2.1-s-593   (  593) [001] ...1 1034722.816908: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26159  composer@2.1-s-593   (  593) [001] ...1 1034722.816938: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26160  composer@2.1-s-593   (  593) [001] ...1 1034722.816971: tracing_mark_write: B|593|HWDevice::Commit::
26161  composer@2.1-s-593   (  593) [001] ...1 1034722.817492: tracing_mark_write: E|593
26162  composer@2.1-s-593   (  593) [001] ...1 1034722.817545: tracing_mark_write: E|593
26163  composer@2.1-s-593   (  593) [001] ...1 1034722.817616: tracing_mark_write: E|593
26164  surfaceflinger-591   (  591) [000] ...1 1034722.817779: tracing_mark_write: E|591
26165  surfaceflinger-591   (  591) [000] ...1 1034722.831594: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26166  composer@2.1-s-593   (  593) [001] ...1 1034722.831800: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26167  composer@2.1-s-593   (  593) [001] ...1 1034722.831940: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26168  composer@2.1-s-593   (  593) [001] ...1 1034722.831976: tracing_mark_write: B|593|HWDevice::Commit::
26169  composer@2.1-s-593   (  593) [001] ...1 1034722.832402: tracing_mark_write: E|593
26170  composer@2.1-s-593   (  593) [001] ...1 1034722.832464: tracing_mark_write: E|593
26171  composer@2.1-s-593   (  593) [001] ...1 1034722.832532: tracing_mark_write: E|593
26172  surfaceflinger-591   (  591) [000] ...1 1034722.832704: tracing_mark_write: E|591
26173  HwBinder:778_1-1087  (  778) [001] ...1 1034722.833772: tracing_mark_write: E|778
26174   SensorService-1283  ( 1151) [003] ...1 1034722.833917: tracing_mark_write: E|1151
26175   SensorService-1283  ( 1151) [003] ...1 1034722.834072: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26176  HwBinder:778_1-1087  (  778) [001] ...1 1034722.834205: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26177  surfaceflinger-591   (  591) [000] ...1 1034722.848749: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26178  composer@2.1-s-593   (  593) [001] ...1 1034722.849009: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26179  composer@2.1-s-593   (  593) [001] ...1 1034722.849172: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26180  composer@2.1-s-593   (  593) [001] ...1 1034722.849201: tracing_mark_write: E|593
26181  composer@2.1-s-593   (  593) [001] ...1 1034722.849218: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26182  composer@2.1-s-593   (  593) [001] ...1 1034722.850013: tracing_mark_write: B|593|HWDevice::Validate::
26183  composer@2.1-s-593   (  593) [001] ...1 1034722.850179: tracing_mark_write: E|593
26184  composer@2.1-s-593   (  593) [001] ...1 1034722.850241: tracing_mark_write: E|593
26185  composer@2.1-s-593   (  593) [001] ...1 1034722.850289: tracing_mark_write: E|593
26186  surfaceflinger-591   (  591) [000] ...1 1034722.850436: tracing_mark_write: E|591
26187  surfaceflinger-591   (  591) [000] ...1 1034722.850653: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26188  composer@2.1-s-593   (  593) [001] ...1 1034722.850789: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26189  composer@2.1-s-593   (  593) [001] ...1 1034722.850822: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26190  composer@2.1-s-593   (  593) [001] ...1 1034722.850856: tracing_mark_write: B|593|HWDevice::Commit::
26191  composer@2.1-s-593   (  593) [001] ...1 1034722.851118: tracing_mark_write: E|593
26192  composer@2.1-s-593   (  593) [001] ...1 1034722.851173: tracing_mark_write: E|593
26193  composer@2.1-s-593   (  593) [001] ...1 1034722.851244: tracing_mark_write: E|593
26194  surfaceflinger-591   (  591) [000] ...1 1034722.851416: tracing_mark_write: E|591
26195  HwBinder:778_1-1087  (  778) [001] ...1 1034722.852356: tracing_mark_write: E|778
26196   SensorService-1283  ( 1151) [003] ...1 1034722.852491: tracing_mark_write: E|1151
26197   SensorService-1283  ( 1151) [003] ...1 1034722.852647: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26198  HwBinder:778_1-1087  (  778) [001] ...1 1034722.852778: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26199  surfaceflinger-591   (  591) [000] ...1 1034722.865263: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26200  composer@2.1-s-593   (  593) [001] ...1 1034722.865496: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26201  composer@2.1-s-593   (  593) [001] ...1 1034722.865649: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26202  composer@2.1-s-593   (  593) [001] ...1 1034722.865676: tracing_mark_write: E|593
26203  composer@2.1-s-593   (  593) [001] ...1 1034722.865692: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26204  composer@2.1-s-593   (  593) [001] ...1 1034722.866387: tracing_mark_write: B|593|HWDevice::Validate::
26205  composer@2.1-s-593   (  593) [001] ...1 1034722.866643: tracing_mark_write: E|593
26206  composer@2.1-s-593   (  593) [001] ...1 1034722.866708: tracing_mark_write: E|593
26207  composer@2.1-s-593   (  593) [001] ...1 1034722.866758: tracing_mark_write: E|593
26208  surfaceflinger-591   (  591) [000] ...1 1034722.866892: tracing_mark_write: E|591
26209  surfaceflinger-591   (  591) [000] ...1 1034722.867121: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26210  composer@2.1-s-593   (  593) [001] ...1 1034722.867257: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26211  composer@2.1-s-593   (  593) [001] ...1 1034722.867288: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26212  composer@2.1-s-593   (  593) [001] ...1 1034722.867321: tracing_mark_write: B|593|HWDevice::Commit::
26213  composer@2.1-s-593   (  593) [001] ...1 1034722.867821: tracing_mark_write: E|593
26214  composer@2.1-s-593   (  593) [001] ...1 1034722.867876: tracing_mark_write: E|593
26215  composer@2.1-s-593   (  593) [001] ...1 1034722.867947: tracing_mark_write: E|593
26216  surfaceflinger-591   (  591) [000] ...1 1034722.868108: tracing_mark_write: E|591
26217  HwBinder:778_1-1087  (  778) [001] ...1 1034722.871707: tracing_mark_write: E|778
26218   SensorService-1283  ( 1151) [003] ...1 1034722.871842: tracing_mark_write: E|1151
26219   SensorService-1283  ( 1151) [003] ...1 1034722.871998: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26220  HwBinder:778_1-1087  (  778) [001] ...1 1034722.872129: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26221  surfaceflinger-591   (  591) [000] ...1 1034722.882453: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26222  composer@2.1-s-593   (  593) [001] ...1 1034722.882723: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26223  composer@2.1-s-593   (  593) [001] ...1 1034722.882890: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26224  composer@2.1-s-593   (  593) [001] ...1 1034722.882918: tracing_mark_write: E|593
26225  composer@2.1-s-593   (  593) [001] ...1 1034722.882935: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26226  composer@2.1-s-593   (  593) [001] ...1 1034722.883781: tracing_mark_write: B|593|HWDevice::Validate::
26227  composer@2.1-s-593   (  593) [001] ...1 1034722.883986: tracing_mark_write: E|593
26228  composer@2.1-s-593   (  593) [001] ...1 1034722.884054: tracing_mark_write: E|593
26229  composer@2.1-s-593   (  593) [001] ...1 1034722.884107: tracing_mark_write: E|593
26230  surfaceflinger-591   (  591) [000] ...1 1034722.884271: tracing_mark_write: E|591
26231  surfaceflinger-591   (  591) [000] ...1 1034722.884514: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26232  composer@2.1-s-593   (  593) [000] ...1 1034722.884738: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26233  composer@2.1-s-593   (  593) [000] ...1 1034722.884776: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26234  composer@2.1-s-593   (  593) [000] ...1 1034722.884814: tracing_mark_write: B|593|HWDevice::Commit::
26235  composer@2.1-s-593   (  593) [000] ...1 1034722.885259: tracing_mark_write: E|593
26236  composer@2.1-s-593   (  593) [000] ...1 1034722.885319: tracing_mark_write: E|593
26237  composer@2.1-s-593   (  593) [000] ...1 1034722.885394: tracing_mark_write: E|593
26238  surfaceflinger-591   (  591) [001] ...1 1034722.885595: tracing_mark_write: E|591
26239  HwBinder:778_1-1087  (  778) [001] ...1 1034722.892288: tracing_mark_write: E|778
26240   SensorService-1283  ( 1151) [003] ...1 1034722.892446: tracing_mark_write: E|1151
26241   SensorService-1283  ( 1151) [003] ...1 1034722.892615: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26242  HwBinder:778_1-1087  (  778) [001] ...1 1034722.892760: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26243    RenderThread-27026 (27005) [002] ...1 1034722.897304: tracing_mark_write: B|27005|HIDL::IMapper::freeBuffer::passthrough
26244    RenderThread-27026 (27005) [002] ...1 1034722.897866: tracing_mark_write: B|27005|FreeBuffer
26245    RenderThread-27026 (27005) [002] ...1 1034722.897907: tracing_mark_write: E|27005
26246    RenderThread-27026 (27005) [002] ...1 1034722.897921: tracing_mark_write: B|27005|FreeBuffer
26247    RenderThread-27026 (27005) [002] ...1 1034722.897946: tracing_mark_write: E|27005
26248    RenderThread-27026 (27005) [002] ...1 1034722.897973: tracing_mark_write: E|27005
26249    RenderThread-27026 (27005) [002] ...1 1034722.898000: tracing_mark_write: B|27005|HIDL::IMapper::freeBuffer::passthrough
26250    RenderThread-27026 (27005) [002] ...1 1034722.898028: tracing_mark_write: B|27005|FreeBuffer
26251    RenderThread-27026 (27005) [002] ...1 1034722.898054: tracing_mark_write: E|27005
26252    RenderThread-27026 (27005) [002] ...1 1034722.898066: tracing_mark_write: B|27005|FreeBuffer
26253    RenderThread-27026 (27005) [002] ...1 1034722.898089: tracing_mark_write: E|27005
26254    RenderThread-27026 (27005) [002] ...1 1034722.898106: tracing_mark_write: E|27005
26255    RenderThread-27026 (27005) [002] ...1 1034722.898126: tracing_mark_write: B|27005|HIDL::IMapper::freeBuffer::passthrough
26256    RenderThread-27026 (27005) [002] ...1 1034722.898144: tracing_mark_write: B|27005|FreeBuffer
26257    RenderThread-27026 (27005) [002] ...1 1034722.898169: tracing_mark_write: E|27005
26258    RenderThread-27026 (27005) [002] ...1 1034722.898180: tracing_mark_write: B|27005|FreeBuffer
26259    RenderThread-27026 (27005) [002] ...1 1034722.898204: tracing_mark_write: E|27005
26260    RenderThread-27026 (27005) [002] ...1 1034722.898225: tracing_mark_write: E|27005
26261    Binder:591_1-623   (  591) [002] ...1 1034722.898515: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
26262    Binder:591_1-623   (  591) [002] ...1 1034722.898548: tracing_mark_write: B|591|FreeBuffer
26263    Binder:591_1-623   (  591) [002] ...1 1034722.899198: tracing_mark_write: E|591
26264    Binder:591_1-623   (  591) [002] ...1 1034722.899212: tracing_mark_write: B|591|FreeBuffer
26265    Binder:591_1-623   (  591) [002] ...1 1034722.899256: tracing_mark_write: E|591
26266    Binder:591_1-623   (  591) [002] ...1 1034722.899275: tracing_mark_write: E|591
26267    Binder:591_1-623   (  591) [002] ...1 1034722.899326: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
26268    Binder:591_1-623   (  591) [002] ...1 1034722.899358: tracing_mark_write: B|591|FreeBuffer
26269    Binder:591_1-623   (  591) [002] ...1 1034722.900021: tracing_mark_write: E|591
26270    Binder:591_1-623   (  591) [002] ...1 1034722.900035: tracing_mark_write: B|591|FreeBuffer
26271    Binder:591_1-623   (  591) [002] ...1 1034722.900074: tracing_mark_write: E|591
26272    Binder:591_1-623   (  591) [002] ...1 1034722.900092: tracing_mark_write: E|591
26273  surfaceflinger-591   (  591) [001] ...1 1034722.902324: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26274  composer@2.1-s-593   (  593) [000] ...1 1034722.902526: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26275  composer@2.1-s-593   (  593) [000] ...1 1034722.902670: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26276  composer@2.1-s-593   (  593) [000] ...1 1034722.902687: tracing_mark_write: E|593
26277  composer@2.1-s-593   (  593) [000] ...1 1034722.902696: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26278  composer@2.1-s-593   (  593) [000] ...1 1034722.903183: tracing_mark_write: B|593|HWDevice::Validate::
26279  composer@2.1-s-593   (  593) [000] ...1 1034722.903382: tracing_mark_write: E|593
26280  composer@2.1-s-593   (  593) [000] ...1 1034722.903410: tracing_mark_write: E|593
26281  composer@2.1-s-593   (  593) [000] ...1 1034722.903440: tracing_mark_write: E|593
26282  surfaceflinger-591   (  591) [001] ...1 1034722.903536: tracing_mark_write: E|591
26283  surfaceflinger-591   (  591) [001] ...1 1034722.903662: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26284  composer@2.1-s-593   (  593) [000] ...1 1034722.903737: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26285  composer@2.1-s-593   (  593) [000] ...1 1034722.903755: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26286  composer@2.1-s-593   (  593) [000] ...1 1034722.903774: tracing_mark_write: B|593|HWDevice::Commit::
26287  composer@2.1-s-593   (  593) [000] ...1 1034722.903916: tracing_mark_write: E|593
26288  composer@2.1-s-593   (  593) [000] ...1 1034722.903947: tracing_mark_write: E|593
26289  composer@2.1-s-593   (  593) [000] ...1 1034722.903981: tracing_mark_write: E|593
26290  surfaceflinger-591   (  591) [001] ...1 1034722.904062: tracing_mark_write: E|591
26291  HwBinder:778_1-1087  (  778) [002] ...1 1034722.909819: tracing_mark_write: E|778
26292   SensorService-1283  ( 1151) [003] ...1 1034722.909938: tracing_mark_write: E|1151
26293   SensorService-1283  ( 1151) [003] ...1 1034722.910030: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26294  HwBinder:778_1-1087  (  778) [002] ...1 1034722.910103: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26295  surfaceflinger-591   (  591) [001] ...1 1034722.915675: tracing_mark_write: B|591|HIDL::IMapper::freeBuffer::passthrough
26296  surfaceflinger-591   (  591) [001] ...1 1034722.915701: tracing_mark_write: B|591|FreeBuffer
26297  surfaceflinger-591   (  591) [001] ...1 1034722.915720: tracing_mark_write: E|591
26298  surfaceflinger-591   (  591) [001] ...1 1034722.915724: tracing_mark_write: B|591|FreeBuffer
26299  surfaceflinger-591   (  591) [001] ...1 1034722.915763: tracing_mark_write: E|591
26300  surfaceflinger-591   (  591) [001] ...1 1034722.915772: tracing_mark_write: E|591
26301  surfaceflinger-591   (  591) [001] ...1 1034722.916722: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26302  composer@2.1-s-593   (  593) [000] ...1 1034722.916895: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26303  composer@2.1-s-593   (  593) [000] ...1 1034722.917013: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26304  composer@2.1-s-593   (  593) [000] ...1 1034722.917027: tracing_mark_write: E|593
26305  composer@2.1-s-593   (  593) [000] ...1 1034722.917034: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26306  composer@2.1-s-593   (  593) [000] ...1 1034722.917449: tracing_mark_write: B|593|HWDevice::Validate::
26307  composer@2.1-s-593   (  593) [000] ...1 1034722.917548: tracing_mark_write: E|593
26308  composer@2.1-s-593   (  593) [000] ...1 1034722.917578: tracing_mark_write: E|593
26309  composer@2.1-s-593   (  593) [000] ...1 1034722.917607: tracing_mark_write: E|593
26310  surfaceflinger-591   (  591) [001] ...1 1034722.917684: tracing_mark_write: E|591
26311  surfaceflinger-591   (  591) [001] ...1 1034722.917792: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26312  composer@2.1-s-593   (  593) [000] ...1 1034722.917856: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26313  composer@2.1-s-593   (  593) [000] ...1 1034722.917871: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26314  composer@2.1-s-593   (  593) [000] ...1 1034722.917889: tracing_mark_write: B|593|HWDevice::Commit::
26315  composer@2.1-s-593   (  593) [000] ...1 1034722.918038: tracing_mark_write: E|593
26316  composer@2.1-s-593   (  593) [000] ...1 1034722.918067: tracing_mark_write: E|593
26317  composer@2.1-s-593   (  593) [000] ...1 1034722.918100: tracing_mark_write: E|593
26318  surfaceflinger-591   (  591) [001] ...1 1034722.918169: tracing_mark_write: E|591
26319  HwBinder:778_1-1087  (  778) [001] ...1 1034722.929122: tracing_mark_write: E|778
26320   SensorService-1283  ( 1151) [003] ...1 1034722.929201: tracing_mark_write: E|1151
26321   SensorService-1283  ( 1151) [003] ...1 1034722.929282: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26322  HwBinder:778_1-1087  (  778) [001] ...1 1034722.929333: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26323  surfaceflinger-591   (  591) [000] ...1 1034722.932781: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26324  composer@2.1-s-593   (  593) [001] ...1 1034722.932909: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26325  composer@2.1-s-593   (  593) [001] ...1 1034722.933011: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26326  composer@2.1-s-593   (  593) [001] ...1 1034722.933022: tracing_mark_write: E|593
26327  composer@2.1-s-593   (  593) [001] ...1 1034722.933027: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26328  composer@2.1-s-593   (  593) [001] ...1 1034722.933425: tracing_mark_write: B|593|HWDevice::Validate::
26329  composer@2.1-s-593   (  593) [001] ...1 1034722.933513: tracing_mark_write: E|593
26330  composer@2.1-s-593   (  593) [001] ...1 1034722.933536: tracing_mark_write: E|593
26331  composer@2.1-s-593   (  593) [001] ...1 1034722.933558: tracing_mark_write: E|593
26332  surfaceflinger-591   (  591) [000] ...1 1034722.933614: tracing_mark_write: E|591
26333  surfaceflinger-591   (  591) [000] ...1 1034722.933689: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26334  composer@2.1-s-593   (  593) [001] ...1 1034722.933728: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26335  composer@2.1-s-593   (  593) [001] ...1 1034722.933739: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26336  composer@2.1-s-593   (  593) [001] ...1 1034722.933750: tracing_mark_write: B|593|HWDevice::Commit::
26337  composer@2.1-s-593   (  593) [001] ...1 1034722.933857: tracing_mark_write: E|593
26338  composer@2.1-s-593   (  593) [001] ...1 1034722.933878: tracing_mark_write: E|593
26339  composer@2.1-s-593   (  593) [001] ...1 1034722.933900: tracing_mark_write: E|593
26340  surfaceflinger-591   (  591) [000] ...1 1034722.933946: tracing_mark_write: E|591
26341  HwBinder:778_1-1087  (  778) [002] ...1 1034722.948791: tracing_mark_write: E|778
26342   SensorService-1283  ( 1151) [003] ...1 1034722.948941: tracing_mark_write: E|1151
26343   SensorService-1283  ( 1151) [003] ...1 1034722.949123: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26344  HwBinder:778_1-1087  (  778) [002] ...1 1034722.949265: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26345  surfaceflinger-591   (  591) [001] ...1 1034722.951047: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26346  composer@2.1-s-593   (  593) [000] ...1 1034722.951219: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26347  composer@2.1-s-593   (  593) [000] ...1 1034722.951368: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26348  composer@2.1-s-593   (  593) [000] ...1 1034722.951387: tracing_mark_write: E|593
26349  composer@2.1-s-593   (  593) [000] ...1 1034722.951398: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26350  composer@2.1-s-593   (  593) [000] ...1 1034722.951943: tracing_mark_write: B|593|HWDevice::Validate::
26351  composer@2.1-s-593   (  593) [000] ...1 1034722.952072: tracing_mark_write: E|593
26352  composer@2.1-s-593   (  593) [000] ...1 1034722.952114: tracing_mark_write: E|593
26353  composer@2.1-s-593   (  593) [000] ...1 1034722.952151: tracing_mark_write: E|593
26354  surfaceflinger-591   (  591) [001] ...1 1034722.952267: tracing_mark_write: E|591
26355  surfaceflinger-591   (  591) [001] ...1 1034722.952427: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26356  composer@2.1-s-593   (  593) [000] ...1 1034722.952524: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26357  composer@2.1-s-593   (  593) [000] ...1 1034722.952546: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26358  composer@2.1-s-593   (  593) [000] ...1 1034722.952570: tracing_mark_write: B|593|HWDevice::Commit::
26359  composer@2.1-s-593   (  593) [000] ...1 1034722.952819: tracing_mark_write: E|593
26360  composer@2.1-s-593   (  593) [000] ...1 1034722.952863: tracing_mark_write: E|593
26361  composer@2.1-s-593   (  593) [000] ...1 1034722.952919: tracing_mark_write: E|593
26362  surfaceflinger-591   (  591) [001] ...1 1034722.953048: tracing_mark_write: E|591
26363  HwBinder:778_1-1087  (  778) [004] ...1 1034722.979517: tracing_mark_write: E|778
26364   SensorService-1283  ( 1151) [003] ...1 1034722.979687: tracing_mark_write: E|1151
26365   SensorService-1283  ( 1151) [003] ...1 1034722.979828: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26366  HwBinder:778_1-1087  (  778) [004] ...1 1034722.979977: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26367  surfaceflinger-591   (  591) [000] ...1 1034722.984318: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26368  composer@2.1-s-593   (  593) [001] ...1 1034722.984612: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26369  composer@2.1-s-593   (  593) [001] ...1 1034722.984749: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26370  composer@2.1-s-593   (  593) [001] ...1 1034722.984765: tracing_mark_write: E|593
26371  composer@2.1-s-593   (  593) [001] ...1 1034722.984774: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26372  composer@2.1-s-593   (  593) [001] ...1 1034722.985227: tracing_mark_write: B|593|HWDevice::Validate::
26373  composer@2.1-s-593   (  593) [001] ...1 1034722.985335: tracing_mark_write: E|593
26374  composer@2.1-s-593   (  593) [001] ...1 1034722.985371: tracing_mark_write: E|593
26375  composer@2.1-s-593   (  593) [001] ...1 1034722.985407: tracing_mark_write: E|593
26376  surfaceflinger-591   (  591) [000] ...1 1034722.985528: tracing_mark_write: E|591
26377  surfaceflinger-591   (  591) [000] ...1 1034722.985668: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26378  composer@2.1-s-593   (  593) [001] ...1 1034722.985760: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26379  composer@2.1-s-593   (  593) [001] ...1 1034722.985781: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26380  composer@2.1-s-593   (  593) [001] ...1 1034722.985804: tracing_mark_write: B|593|HWDevice::Commit::
26381  composer@2.1-s-593   (  593) [001] ...1 1034722.985970: tracing_mark_write: E|593
26382  composer@2.1-s-593   (  593) [001] ...1 1034722.986009: tracing_mark_write: E|593
26383  composer@2.1-s-593   (  593) [001] ...1 1034722.986054: tracing_mark_write: E|593
26384  surfaceflinger-591   (  591) [000] ...1 1034722.986167: tracing_mark_write: E|591
26385  HwBinder:778_1-1087  (  778) [003] ...1 1034722.987164: tracing_mark_write: E|778
26386   SensorService-1283  ( 1151) [000] ...1 1034722.987272: tracing_mark_write: E|1151
26387   SensorService-1283  ( 1151) [000] ...1 1034722.987370: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26388  HwBinder:778_1-1087  (  778) [003] ...1 1034722.987441: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26389  surfaceflinger-591   (  591) [000] ...1 1034723.000273: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26390  composer@2.1-s-593   (  593) [001] ...1 1034723.000449: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26391  composer@2.1-s-593   (  593) [001] ...1 1034723.000561: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26392  composer@2.1-s-593   (  593) [001] ...1 1034723.000574: tracing_mark_write: E|593
26393  composer@2.1-s-593   (  593) [001] ...1 1034723.000581: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26394  composer@2.1-s-593   (  593) [001] ...1 1034723.000952: tracing_mark_write: B|593|HWDevice::Validate::
26395  composer@2.1-s-593   (  593) [001] ...1 1034723.001046: tracing_mark_write: E|593
26396  composer@2.1-s-593   (  593) [001] ...1 1034723.001074: tracing_mark_write: E|593
26397  composer@2.1-s-593   (  593) [001] ...1 1034723.001103: tracing_mark_write: E|593
26398  surfaceflinger-591   (  591) [000] ...1 1034723.001203: tracing_mark_write: E|591
26399  surfaceflinger-591   (  591) [000] ...1 1034723.001325: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26400  composer@2.1-s-593   (  593) [001] ...1 1034723.001397: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26401  composer@2.1-s-593   (  593) [001] ...1 1034723.001413: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26402  composer@2.1-s-593   (  593) [001] ...1 1034723.001430: tracing_mark_write: B|593|HWDevice::Commit::
26403  composer@2.1-s-593   (  593) [001] ...1 1034723.001569: tracing_mark_write: E|593
26404  composer@2.1-s-593   (  593) [001] ...1 1034723.001598: tracing_mark_write: E|593
26405  composer@2.1-s-593   (  593) [001] ...1 1034723.001632: tracing_mark_write: E|593
26406  surfaceflinger-591   (  591) [000] ...1 1034723.001708: tracing_mark_write: E|591
26407  HwBinder:778_1-1087  (  778) [002] ...1 1034723.006192: tracing_mark_write: E|778
26408   SensorService-1283  ( 1151) [000] ...1 1034723.006308: tracing_mark_write: E|1151
26409   SensorService-1283  ( 1151) [000] ...1 1034723.006421: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26410  HwBinder:778_1-1087  (  778) [002] ...1 1034723.006520: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26411  surfaceflinger-591   (  591) [000] ...1 1034723.015968: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26412  composer@2.1-s-593   (  593) [001] ...1 1034723.016136: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26413  composer@2.1-s-593   (  593) [001] ...1 1034723.016213: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26414  composer@2.1-s-593   (  593) [001] ...1 1034723.016225: tracing_mark_write: E|593
26415  composer@2.1-s-593   (  593) [001] ...1 1034723.016230: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26416  composer@2.1-s-593   (  593) [001] ...1 1034723.016528: tracing_mark_write: B|593|HWDevice::Validate::
26417  composer@2.1-s-593   (  593) [001] ...1 1034723.016631: tracing_mark_write: E|593
26418  composer@2.1-s-593   (  593) [001] ...1 1034723.016655: tracing_mark_write: E|593
26419  composer@2.1-s-593   (  593) [001] ...1 1034723.016677: tracing_mark_write: E|593
26420  surfaceflinger-591   (  591) [000] ...1 1034723.016741: tracing_mark_write: E|591
26421  surfaceflinger-591   (  591) [000] ...1 1034723.016830: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26422  composer@2.1-s-593   (  593) [001] ...1 1034723.016884: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26423  composer@2.1-s-593   (  593) [001] ...1 1034723.016896: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26424  composer@2.1-s-593   (  593) [001] ...1 1034723.016909: tracing_mark_write: B|593|HWDevice::Commit::
26425  composer@2.1-s-593   (  593) [001] ...1 1034723.017030: tracing_mark_write: E|593
26426  composer@2.1-s-593   (  593) [001] ...1 1034723.017053: tracing_mark_write: E|593
26427  composer@2.1-s-593   (  593) [001] ...1 1034723.017079: tracing_mark_write: E|593
26428  surfaceflinger-591   (  591) [000] ...1 1034723.017137: tracing_mark_write: E|591
26429  HwBinder:778_1-1087  (  778) [000] ...1 1034723.025626: tracing_mark_write: E|778
26430   SensorService-1283  ( 1151) [001] ...1 1034723.025754: tracing_mark_write: E|1151
26431   SensorService-1283  ( 1151) [001] ...1 1034723.025845: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26432  HwBinder:778_1-1087  (  778) [000] ...1 1034723.025905: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26433  HwBinder:778_1-1087  (  778) [000] ...1 1034723.044530: tracing_mark_write: E|778
26434   SensorService-1283  ( 1151) [001] ...1 1034723.044602: tracing_mark_write: E|1151
26435   SensorService-1283  ( 1151) [001] ...1 1034723.044669: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26436  HwBinder:778_1-1087  (  778) [000] ...1 1034723.044718: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26437  surfaceflinger-591   (  591) [000] ...1 1034723.049245: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26438  composer@2.1-s-593   (  593) [001] ...1 1034723.049342: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26439  composer@2.1-s-593   (  593) [001] ...1 1034723.049409: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26440  composer@2.1-s-593   (  593) [001] ...1 1034723.049429: tracing_mark_write: B|593|HWDevice::Commit::
26441  composer@2.1-s-593   (  593) [001] ...1 1034723.049545: tracing_mark_write: E|593
26442  composer@2.1-s-593   (  593) [001] ...1 1034723.049570: tracing_mark_write: E|593
26443  composer@2.1-s-593   (  593) [001] ...1 1034723.049598: tracing_mark_write: E|593
26444  surfaceflinger-591   (  591) [000] ...1 1034723.049666: tracing_mark_write: E|591
26445              sh-27089 (27089) [005] ...1 1034723.059427: tracing_mark_write: trace_event_clock_sync: name=ed6e2e24-98d1-4b4b-83d2-7509d113d490
26446  HwBinder:778_1-1087  (  778) [000] ...1 1034723.063945: tracing_mark_write: E|778
26447   SensorService-1283  ( 1151) [001] ...1 1034723.064109: tracing_mark_write: E|1151
26448   SensorService-1283  ( 1151) [001] ...1 1034723.064297: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26449  HwBinder:778_1-1087  (  778) [000] ...1 1034723.064437: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26450  HwBinder:778_1-1087  (  778) [000] ...1 1034723.083058: tracing_mark_write: E|778
26451   SensorService-1283  ( 1151) [001] ...1 1034723.083186: tracing_mark_write: E|1151
26452   SensorService-1283  ( 1151) [001] ...1 1034723.083382: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26453  HwBinder:778_1-1087  (  778) [000] ...1 1034723.083511: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26454  surfaceflinger-591   (  591) [000] ...1 1034723.100375: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26455  composer@2.1-s-593   (  593) [001] ...1 1034723.100686: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26456  composer@2.1-s-593   (  593) [001] ...1 1034723.100856: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26457  composer@2.1-s-593   (  593) [001] ...1 1034723.100899: tracing_mark_write: B|593|HWDevice::Commit::
26458  composer@2.1-s-593   (  593) [001] ...1 1034723.101194: tracing_mark_write: E|593
26459  composer@2.1-s-593   (  593) [001] ...1 1034723.101262: tracing_mark_write: E|593
26460  composer@2.1-s-593   (  593) [001] ...1 1034723.101337: tracing_mark_write: E|593
26461  surfaceflinger-591   (  591) [000] ...1 1034723.101577: tracing_mark_write: E|591
26462  HwBinder:778_1-1087  (  778) [001] ...1 1034723.102513: tracing_mark_write: E|778
26463   SensorService-1283  ( 1151) [000] ...1 1034723.102681: tracing_mark_write: E|1151
26464   SensorService-1283  ( 1151) [000] ...1 1034723.102866: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26465  HwBinder:778_1-1087  (  778) [001] ...1 1034723.103005: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26466  HwBinder:778_1-1087  (  778) [000] ...1 1034723.121592: tracing_mark_write: E|778
26467   SensorService-1283  ( 1151) [001] ...1 1034723.121718: tracing_mark_write: E|1151
26468   SensorService-1283  ( 1151) [001] ...1 1034723.121866: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26469  HwBinder:778_1-1087  (  778) [000] ...1 1034723.122018: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26470  HwBinder:778_1-1087  (  778) [000] ...1 1034723.140810: tracing_mark_write: E|778
26471   SensorService-1283  ( 1151) [001] ...1 1034723.140971: tracing_mark_write: E|1151
26472   SensorService-1283  ( 1151) [001] ...1 1034723.141178: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26473  HwBinder:778_1-1087  (  778) [000] ...1 1034723.141322: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26474  surfaceflinger-591   (  591) [000] ...1 1034723.150806: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26475  composer@2.1-s-593   (  593) [001] ...1 1034723.151140: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26476  composer@2.1-s-593   (  593) [001] ...1 1034723.151308: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26477  composer@2.1-s-593   (  593) [001] ...1 1034723.151353: tracing_mark_write: B|593|HWDevice::Commit::
26478  composer@2.1-s-593   (  593) [001] ...1 1034723.151674: tracing_mark_write: E|593
26479  composer@2.1-s-593   (  593) [001] ...1 1034723.151742: tracing_mark_write: E|593
26480  composer@2.1-s-593   (  593) [001] ...1 1034723.151817: tracing_mark_write: E|593
26481  surfaceflinger-591   (  591) [000] ...1 1034723.152027: tracing_mark_write: E|591
26482  HwBinder:778_1-1087  (  778) [000] ...1 1034723.160398: tracing_mark_write: E|778
26483   SensorService-1283  ( 1151) [001] ...1 1034723.160578: tracing_mark_write: E|1151
26484   SensorService-1283  ( 1151) [001] ...1 1034723.160741: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26485  HwBinder:778_1-1087  (  778) [000] ...1 1034723.160925: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26486  HwBinder:778_1-1087  (  778) [000] ...1 1034723.179428: tracing_mark_write: E|778
26487   SensorService-1283  ( 1151) [001] ...1 1034723.179617: tracing_mark_write: E|1151
26488   SensorService-1283  ( 1151) [001] ...1 1034723.179785: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26489  HwBinder:778_1-1087  (  778) [000] ...1 1034723.180056: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26490  surfaceflinger-591   (  591) [000] ...1 1034723.184376: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26491  composer@2.1-s-593   (  593) [001] ...1 1034723.184814: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26492  composer@2.1-s-593   (  593) [001] ...1 1034723.184989: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26493  composer@2.1-s-593   (  593) [001] ...1 1034723.185032: tracing_mark_write: B|593|HWDevice::Commit::
26494  composer@2.1-s-593   (  593) [001] ...1 1034723.185347: tracing_mark_write: E|593
26495  composer@2.1-s-593   (  593) [001] ...1 1034723.185415: tracing_mark_write: E|593
26496  composer@2.1-s-593   (  593) [001] ...1 1034723.185528: tracing_mark_write: E|593
26497  surfaceflinger-591   (  591) [000] ...1 1034723.185750: tracing_mark_write: E|591
26498  HwBinder:778_1-1087  (  778) [000] ...1 1034723.198586: tracing_mark_write: E|778
26499   SensorService-1283  ( 1151) [001] ...1 1034723.198798: tracing_mark_write: E|1151
26500   SensorService-1283  ( 1151) [001] ...1 1034723.198978: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26501  HwBinder:778_1-1087  (  778) [000] ...1 1034723.199121: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26502  HwBinder:778_1-1087  (  778) [001] ...1 1034723.217857: tracing_mark_write: E|778
26503   SensorService-1283  ( 1151) [002] ...1 1034723.218148: tracing_mark_write: E|1151
26504   SensorService-1283  ( 1151) [002] ...1 1034723.218359: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26505  HwBinder:778_1-1087  (  778) [001] ...1 1034723.218457: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26506  surfaceflinger-591   (  591) [000] ...1 1034723.234227: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26507  composer@2.1-s-593   (  593) [001] ...1 1034723.234402: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26508  composer@2.1-s-593   (  593) [001] ...1 1034723.234519: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26509  composer@2.1-s-593   (  593) [001] ...1 1034723.234550: tracing_mark_write: B|593|HWDevice::Commit::
26510  composer@2.1-s-593   (  593) [001] ...1 1034723.234761: tracing_mark_write: E|593
26511  composer@2.1-s-593   (  593) [001] ...1 1034723.234805: tracing_mark_write: E|593
26512  composer@2.1-s-593   (  593) [001] ...1 1034723.234856: tracing_mark_write: E|593
26513  surfaceflinger-591   (  591) [000] ...1 1034723.234990: tracing_mark_write: E|591
26514  HwBinder:778_1-1087  (  778) [000] ...1 1034723.237005: tracing_mark_write: E|778
26515   SensorService-1283  ( 1151) [001] ...1 1034723.237151: tracing_mark_write: E|1151
26516   SensorService-1283  ( 1151) [001] ...1 1034723.237325: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26517  HwBinder:778_1-1087  (  778) [000] ...1 1034723.237426: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26518  HwBinder:778_1-1087  (  778) [000] ...1 1034723.256262: tracing_mark_write: E|778
26519   SensorService-1283  ( 1151) [001] ...1 1034723.256368: tracing_mark_write: E|1151
26520   SensorService-1283  ( 1151) [001] ...1 1034723.256473: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26521  HwBinder:778_1-1087  (  778) [000] ...1 1034723.256611: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26522  surfaceflinger-591   (  591) [000] ...1 1034723.268053: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26523  composer@2.1-s-593   (  593) [001] ...1 1034723.268295: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26524  composer@2.1-s-593   (  593) [001] ...1 1034723.268448: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26525  composer@2.1-s-593   (  593) [001] ...1 1034723.268488: tracing_mark_write: B|593|HWDevice::Commit::
26526  composer@2.1-s-593   (  593) [001] ...1 1034723.268741: tracing_mark_write: E|593
26527  composer@2.1-s-593   (  593) [001] ...1 1034723.268799: tracing_mark_write: E|593
26528  composer@2.1-s-593   (  593) [001] ...1 1034723.268870: tracing_mark_write: E|593
26529  surfaceflinger-591   (  591) [000] ...1 1034723.269046: tracing_mark_write: E|591
26530  HwBinder:778_1-1087  (  778) [000] ...1 1034723.275596: tracing_mark_write: E|778
26531   SensorService-1283  ( 1151) [001] ...1 1034723.275738: tracing_mark_write: E|1151
26532   SensorService-1283  ( 1151) [001] ...1 1034723.275874: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26533  HwBinder:778_1-1087  (  778) [000] ...1 1034723.276027: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26534  HwBinder:778_1-1087  (  778) [000] ...1 1034723.295235: tracing_mark_write: E|778
26535   SensorService-1283  ( 1151) [001] ...1 1034723.295372: tracing_mark_write: E|1151
26536   SensorService-1283  ( 1151) [001] ...1 1034723.295499: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26537  HwBinder:778_1-1087  (  778) [000] ...1 1034723.295632: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26538  HwBinder:778_1-1087  (  778) [000] ...1 1034723.314097: tracing_mark_write: E|778
26539   SensorService-1283  ( 1151) [001] ...1 1034723.314225: tracing_mark_write: E|1151
26540   SensorService-1283  ( 1151) [001] ...1 1034723.314374: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26541  HwBinder:778_1-1087  (  778) [000] ...1 1034723.314505: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26542  surfaceflinger-591   (  591) [000] ...1 1034723.318401: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26543  composer@2.1-s-593   (  593) [001] ...1 1034723.318688: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26544  composer@2.1-s-593   (  593) [001] ...1 1034723.318847: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26545  composer@2.1-s-593   (  593) [001] ...1 1034723.318890: tracing_mark_write: B|593|HWDevice::Commit::
26546  composer@2.1-s-593   (  593) [001] ...1 1034723.319175: tracing_mark_write: E|593
26547  composer@2.1-s-593   (  593) [001] ...1 1034723.319246: tracing_mark_write: E|593
26548  composer@2.1-s-593   (  593) [001] ...1 1034723.319320: tracing_mark_write: E|593
26549  surfaceflinger-591   (  591) [000] ...1 1034723.319517: tracing_mark_write: E|591
26550  HwBinder:778_1-1087  (  778) [000] ...1 1034723.333387: tracing_mark_write: E|778
26551   SensorService-1283  ( 1151) [001] ...1 1034723.333524: tracing_mark_write: E|1151
26552   SensorService-1283  ( 1151) [001] ...1 1034723.333688: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26553  HwBinder:778_1-1087  (  778) [000] ...1 1034723.333828: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26554  surfaceflinger-591   (  591) [000] ...1 1034723.351422: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26555  composer@2.1-s-593   (  593) [001] ...1 1034723.351533: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26556  composer@2.1-s-593   (  593) [001] ...1 1034723.351601: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26557  composer@2.1-s-593   (  593) [001] ...1 1034723.351621: tracing_mark_write: B|593|HWDevice::Commit::
26558  composer@2.1-s-593   (  593) [001] ...1 1034723.351733: tracing_mark_write: E|593
26559  composer@2.1-s-593   (  593) [001] ...1 1034723.351758: tracing_mark_write: E|593
26560  composer@2.1-s-593   (  593) [001] ...1 1034723.351788: tracing_mark_write: E|593
26561  surfaceflinger-591   (  591) [000] ...1 1034723.351863: tracing_mark_write: E|591
26562  HwBinder:778_1-1087  (  778) [001] ...1 1034723.352532: tracing_mark_write: E|778
26563   SensorService-1283  ( 1151) [000] ...1 1034723.352598: tracing_mark_write: E|1151
26564   SensorService-1283  ( 1151) [000] ...1 1034723.352669: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26565  HwBinder:778_1-1087  (  778) [001] ...1 1034723.352717: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26566  HwBinder:778_1-1087  (  778) [000] ...1 1034723.372058: tracing_mark_write: E|778
26567   SensorService-1283  ( 1151) [001] ...1 1034723.372132: tracing_mark_write: E|1151
26568   SensorService-1283  ( 1151) [001] ...1 1034723.372197: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26569  HwBinder:778_1-1087  (  778) [000] ...1 1034723.372244: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26570  HwBinder:778_1-1087  (  778) [000] ...1 1034723.391074: tracing_mark_write: E|778
26571   SensorService-1283  ( 1151) [001] ...1 1034723.391143: tracing_mark_write: E|1151
26572   SensorService-1283  ( 1151) [001] ...1 1034723.391224: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26573  HwBinder:778_1-1087  (  778) [000] ...1 1034723.391272: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26574  surfaceflinger-591   (  591) [001] ...1 1034723.401775: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26575  composer@2.1-s-593   (  593) [000] ...1 1034723.401933: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26576  composer@2.1-s-593   (  593) [000] ...1 1034723.402040: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26577  composer@2.1-s-593   (  593) [000] ...1 1034723.402050: tracing_mark_write: E|593
26578  composer@2.1-s-593   (  593) [000] ...1 1034723.402054: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26579  composer@2.1-s-593   (  593) [000] ...1 1034723.402330: tracing_mark_write: B|593|HWDevice::Validate::
26580  composer@2.1-s-593   (  593) [000] ...1 1034723.402401: tracing_mark_write: E|593
26581  composer@2.1-s-593   (  593) [000] ...1 1034723.402422: tracing_mark_write: E|593
26582  composer@2.1-s-593   (  593) [000] ...1 1034723.402443: tracing_mark_write: E|593
26583  surfaceflinger-591   (  591) [001] ...1 1034723.402505: tracing_mark_write: E|591
26584  surfaceflinger-591   (  591) [001] ...1 1034723.402582: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26585  composer@2.1-s-593   (  593) [000] ...1 1034723.402629: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26586  composer@2.1-s-593   (  593) [000] ...1 1034723.402639: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26587  composer@2.1-s-593   (  593) [000] ...1 1034723.402650: tracing_mark_write: B|593|HWDevice::Commit::
26588  composer@2.1-s-593   (  593) [000] ...1 1034723.402746: tracing_mark_write: E|593
26589  composer@2.1-s-593   (  593) [000] ...1 1034723.402764: tracing_mark_write: E|593
26590  composer@2.1-s-593   (  593) [000] ...1 1034723.402786: tracing_mark_write: E|593
26591  surfaceflinger-591   (  591) [001] ...1 1034723.402832: tracing_mark_write: E|591
26592  HwBinder:778_1-1087  (  778) [000] ...1 1034723.410267: tracing_mark_write: E|778
26593   SensorService-1283  ( 1151) [001] ...1 1034723.410333: tracing_mark_write: E|1151
26594   SensorService-1283  ( 1151) [001] ...1 1034723.410418: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26595  HwBinder:778_1-1087  (  778) [000] ...1 1034723.410465: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26596  surfaceflinger-591   (  591) [000] ...1 1034723.418613: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26597  composer@2.1-s-593   (  593) [001] ...1 1034723.418728: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26598  composer@2.1-s-593   (  593) [001] ...1 1034723.418797: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26599  composer@2.1-s-593   (  593) [001] ...1 1034723.418807: tracing_mark_write: E|593
26600  composer@2.1-s-593   (  593) [001] ...1 1034723.418812: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26601  composer@2.1-s-593   (  593) [001] ...1 1034723.419083: tracing_mark_write: B|593|HWDevice::Validate::
26602  composer@2.1-s-593   (  593) [001] ...1 1034723.419152: tracing_mark_write: E|593
26603  composer@2.1-s-593   (  593) [001] ...1 1034723.419173: tracing_mark_write: E|593
26604  composer@2.1-s-593   (  593) [001] ...1 1034723.419194: tracing_mark_write: E|593
26605  surfaceflinger-591   (  591) [000] ...1 1034723.419257: tracing_mark_write: E|591
26606  surfaceflinger-591   (  591) [000] ...1 1034723.419334: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26607  composer@2.1-s-593   (  593) [001] ...1 1034723.419376: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26608  composer@2.1-s-593   (  593) [001] ...1 1034723.419386: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26609  composer@2.1-s-593   (  593) [001] ...1 1034723.419397: tracing_mark_write: B|593|HWDevice::Commit::
26610  composer@2.1-s-593   (  593) [001] ...1 1034723.419565: tracing_mark_write: E|593
26611  composer@2.1-s-593   (  593) [001] ...1 1034723.419587: tracing_mark_write: E|593
26612  composer@2.1-s-593   (  593) [001] ...1 1034723.419612: tracing_mark_write: E|593
26613  surfaceflinger-591   (  591) [000] ...1 1034723.419664: tracing_mark_write: E|591
26614  HwBinder:778_1-1087  (  778) [001] ...1 1034723.429491: tracing_mark_write: E|778
26615   SensorService-1283  ( 1151) [000] ...1 1034723.429563: tracing_mark_write: E|1151
26616   SensorService-1283  ( 1151) [000] ...1 1034723.429643: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26617  HwBinder:778_1-1087  (  778) [001] ...1 1034723.429688: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26618  surfaceflinger-591   (  591) [000] ...1 1034723.435349: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26619  composer@2.1-s-593   (  593) [001] ...1 1034723.435455: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26620  composer@2.1-s-593   (  593) [001] ...1 1034723.435524: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26621  composer@2.1-s-593   (  593) [001] ...1 1034723.435535: tracing_mark_write: E|593
26622  composer@2.1-s-593   (  593) [001] ...1 1034723.435539: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26623  composer@2.1-s-593   (  593) [001] ...1 1034723.435810: tracing_mark_write: B|593|HWDevice::Validate::
26624  composer@2.1-s-593   (  593) [001] ...1 1034723.435880: tracing_mark_write: E|593
26625  composer@2.1-s-593   (  593) [001] ...1 1034723.435900: tracing_mark_write: E|593
26626  composer@2.1-s-593   (  593) [001] ...1 1034723.435921: tracing_mark_write: E|593
26627  surfaceflinger-591   (  591) [000] ...1 1034723.435975: tracing_mark_write: E|591
26628  surfaceflinger-591   (  591) [000] ...1 1034723.436049: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26629  composer@2.1-s-593   (  593) [001] ...1 1034723.436087: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26630  composer@2.1-s-593   (  593) [001] ...1 1034723.436097: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26631  composer@2.1-s-593   (  593) [001] ...1 1034723.436108: tracing_mark_write: B|593|HWDevice::Commit::
26632  composer@2.1-s-593   (  593) [001] ...1 1034723.436270: tracing_mark_write: E|593
26633  composer@2.1-s-593   (  593) [001] ...1 1034723.436288: tracing_mark_write: E|593
26634  composer@2.1-s-593   (  593) [001] ...1 1034723.436309: tracing_mark_write: E|593
26635  surfaceflinger-591   (  591) [000] ...1 1034723.436354: tracing_mark_write: E|591
26636  HwBinder:778_1-1087  (  778) [000] ...1 1034723.448867: tracing_mark_write: E|778
26637   SensorService-1283  ( 1151) [001] ...1 1034723.448937: tracing_mark_write: E|1151
26638   SensorService-1283  ( 1151) [001] ...1 1034723.449004: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26639  HwBinder:778_1-1087  (  778) [000] ...1 1034723.449050: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26640  HwBinder:778_1-1087  (  778) [000] ...1 1034723.468029: tracing_mark_write: E|778
26641   SensorService-1283  ( 1151) [001] ...1 1034723.468118: tracing_mark_write: E|1151
26642   SensorService-1283  ( 1151) [001] ...1 1034723.468196: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
26643  HwBinder:778_1-1087  (  778) [000] ...1 1034723.468250: tracing_mark_write: B|778|HIDL::ISensors::poll::server
26644          atrace-27096 (27096) [005] ...1 1034723.471876: tracing_mark_write: B|27096|HIDL::IServiceManager::list::client
26645  hwservicemanag-570   (  570) [003] ...1 1034723.472053: tracing_mark_write: B|570|HIDL::IServiceManager::list::server
26646  hwservicemanag-570   (  570) [003] ...1 1034723.473019: tracing_mark_write: E|570
26647          atrace-27096 (27096) [005] ...1 1034723.473192: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26648  hwservicemanag-570   (  570) [003] ...1 1034723.473326: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26649  hwservicemanag-570   (  570) [003] ...1 1034723.473652: tracing_mark_write: E|570
26650          atrace-27096 (27096) [005] ...1 1034723.473744: tracing_mark_write: E|27096
26651          atrace-27096 (27096) [005] ...1 1034723.473756: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26652          atrace-27096 (27096) [005] ...1 1034723.473784: tracing_mark_write: E|27096
26653          atrace-27096 (27096) [005] ...1 1034723.473803: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26654  hwservicemanag-570   (  570) [003] ...1 1034723.473867: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26655  HwBinder:591_1-620   (  591) [001] ...1 1034723.473907: tracing_mark_write: B|591|HIDL::IBase::notifySyspropsChanged::server
26656  hwservicemanag-570   (  570) [003] ...1 1034723.474102: tracing_mark_write: E|570
26657  HwBinder:591_1-620   (  591) [001] ...1 1034723.474130: tracing_mark_write: E|591
26658          atrace-27096 (27096) [005] ...1 1034723.474146: tracing_mark_write: E|27096
26659          atrace-27096 (27096) [005] ...1 1034723.474151: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26660          atrace-27096 (27096) [005] ...1 1034723.474183: tracing_mark_write: E|27096
26661          atrace-27096 (27096) [005] ...1 1034723.474195: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26662  HwBinder:1151_-1990  ( 1151) [006] ...1 1034723.474233: tracing_mark_write: B|1151|HIDL::IBase::notifySyspropsChanged::server
26663  hwservicemanag-570   (  570) [002] ...1 1034723.474241: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26664  hwservicemanag-570   (  570) [002] ...1 1034723.474370: tracing_mark_write: E|570
26665          atrace-27096 (27096) [005] ...1 1034723.474414: tracing_mark_write: E|27096
26666          atrace-27096 (27096) [005] ...1 1034723.474419: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26667          atrace-27096 (27096) [005] ...1 1034723.474448: tracing_mark_write: E|27096
26668          atrace-27096 (27096) [005] ...1 1034723.474459: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26669  hwservicemanag-570   (  570) [002] ...1 1034723.474496: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26670  hwservicemanag-570   (  570) [002] ...1 1034723.474613: tracing_mark_write: E|570
26671          atrace-27096 (27096) [005] ...1 1034723.474655: tracing_mark_write: E|27096
26672          atrace-27096 (27096) [005] ...1 1034723.474659: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26673          atrace-27096 (27096) [005] ...1 1034723.474706: tracing_mark_write: E|27096
26674          atrace-27096 (27096) [005] ...1 1034723.474718: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26675  hwservicemanag-570   (  570) [002] ...1 1034723.474755: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26676  HwBinder:1151_-1194  ( 1151) [006] ...1 1034723.474828: tracing_mark_write: B|1151|HIDL::IBase::notifySyspropsChanged::server
26677  hwservicemanag-570   (  570) [002] ...1 1034723.474863: tracing_mark_write: E|570
26678          atrace-27096 (27096) [005] ...1 1034723.474906: tracing_mark_write: E|27096
26679          atrace-27096 (27096) [005] ...1 1034723.474911: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26680          atrace-27096 (27096) [005] ...1 1034723.474939: tracing_mark_write: E|27096
26681          atrace-27096 (27096) [005] ...1 1034723.474950: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26682  hwservicemanag-570   (  570) [002] ...1 1034723.474988: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26683  hwservicemanag-570   (  570) [002] ...1 1034723.475122: tracing_mark_write: E|570
26684          atrace-27096 (27096) [005] ...1 1034723.475163: tracing_mark_write: E|27096
26685          atrace-27096 (27096) [005] ...1 1034723.475168: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26686          atrace-27096 (27096) [005] ...1 1034723.475212: tracing_mark_write: E|27096
26687  HwBinder:733_4-2714  (  733) [002] ...1 1034723.475217: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server
26688          atrace-27096 (27096) [005] ...1 1034723.475224: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26689  HwBinder:935_1-1139  (  935) [007] ...1 1034723.475264: tracing_mark_write: B|935|HIDL::IBase::notifySyspropsChanged::server
26690  HwBinder:733_3-1347  (  733) [006] ...1 1034723.475305: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server
26691  HwBinder:733_4-2714  (  733) [002] ...1 1034723.475381: tracing_mark_write: E|733
26692  HwBinder:733_3-1347  (  733) [006] ...1 1034723.475405: tracing_mark_write: E|733
26693  HwBinder:935_1-1139  (  935) [007] ...1 1034723.475420: tracing_mark_write: E|935
26694  hwservicemanag-570   (  570) [002] ...1 1034723.475424: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26695  hwservicemanag-570   (  570) [002] ...1 1034723.475535: tracing_mark_write: E|570
26696          atrace-27096 (27096) [005] ...1 1034723.475584: tracing_mark_write: E|27096
26697          atrace-27096 (27096) [005] ...1 1034723.475589: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26698  HwBinder:1151_-1990  ( 1151) [006] ...1 1034723.475615: tracing_mark_write: E|1151
26699          atrace-27096 (27096) [005] ...1 1034723.475629: tracing_mark_write: E|27096
26700          atrace-27096 (27096) [005] ...1 1034723.475641: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26701  HwBinder:734_1-746   (  734) [002] ...1 1034723.475685: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server
26702  HwBinder:734_1-746   (  734) [002] ...1 1034723.475803: tracing_mark_write: E|734
26703  HwBinder:1151_-1194  ( 1151) [006] ...1 1034723.475822: tracing_mark_write: E|1151
26704  hwservicemanag-570   (  570) [002] ...1 1034723.475842: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26705  hwservicemanag-570   (  570) [002] ...1 1034723.475947: tracing_mark_write: E|570
26706          atrace-27096 (27096) [004] ...1 1034723.476013: tracing_mark_write: E|27096
26707          atrace-27096 (27096) [004] ...1 1034723.476021: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26708          atrace-27096 (27096) [004] ...1 1034723.476083: tracing_mark_write: E|27096
26709          atrace-27096 (27096) [004] ...1 1034723.476100: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26710  boot@1.0-servi-586   (  586) [006] ...1 1034723.476127: tracing_mark_write: B|586|HIDL::IBase::notifySyspropsChanged::server
26711  hwservicemanag-570   (  570) [002] ...1 1034723.476142: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26712  hwservicemanag-570   (  570) [002] ...1 1034723.476269: tracing_mark_write: E|570
26713  boot@1.0-servi-586   (  586) [006] ...1 1034723.476273: tracing_mark_write: E|586
26714          atrace-27096 (27096) [004] ...1 1034723.476318: tracing_mark_write: E|27096
26715          atrace-27096 (27096) [004] ...1 1034723.476323: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26716          atrace-27096 (27096) [004] ...1 1034723.476373: tracing_mark_write: E|27096
26717          atrace-27096 (27096) [004] ...1 1034723.476385: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26718  provider@2.4-s-736   (  736) [005] ...1 1034723.476408: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server
26719  hwservicemanag-570   (  570) [002] ...1 1034723.476422: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26720  hwservicemanag-570   (  570) [002] ...1 1034723.476526: tracing_mark_write: E|570
26721  provider@2.4-s-736   (  736) [005] ...1 1034723.476588: tracing_mark_write: E|736
26722          atrace-27096 (27096) [006] ...1 1034723.476628: tracing_mark_write: E|27096
26723          atrace-27096 (27096) [006] ...1 1034723.476636: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26724          atrace-27096 (27096) [006] ...1 1034723.476687: tracing_mark_write: E|27096
26725          atrace-27096 (27096) [006] ...1 1034723.476702: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26726  HwBinder:737_2-23186 (  737) [007] ...1 1034723.476722: tracing_mark_write: B|737|HIDL::IBase::notifySyspropsChanged::server
26727  hwservicemanag-570   (  570) [002] ...1 1034723.476744: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26728  hwservicemanag-570   (  570) [002] ...1 1034723.476868: tracing_mark_write: E|570
26729  HwBinder:737_2-23186 (  737) [007] ...1 1034723.476885: tracing_mark_write: E|737
26730          atrace-27096 (27096) [005] ...1 1034723.476923: tracing_mark_write: E|27096
26731          atrace-27096 (27096) [005] ...1 1034723.476929: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26732          atrace-27096 (27096) [005] ...1 1034723.476974: tracing_mark_write: E|27096
26733          atrace-27096 (27096) [005] ...1 1034723.476989: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26734  HwBinder:594_2-7100  (  594) [003] ...1 1034723.477027: tracing_mark_write: B|594|HIDL::IBase::notifySyspropsChanged::server
26735  hwservicemanag-570   (  570) [002] ...1 1034723.477029: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26736  hwservicemanag-570   (  570) [002] ...1 1034723.477141: tracing_mark_write: E|570
26737  HwBinder:594_2-7100  (  594) [003] ...1 1034723.477158: tracing_mark_write: E|594
26738          atrace-27096 (27096) [005] ...1 1034723.477186: tracing_mark_write: E|27096
26739          atrace-27096 (27096) [005] ...1 1034723.477191: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26740          atrace-27096 (27096) [005] ...1 1034723.477235: tracing_mark_write: E|27096
26741          atrace-27096 (27096) [005] ...1 1034723.477247: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26742  contexthub@1.0-738   (  738) [006] ...1 1034723.477279: tracing_mark_write: B|738|HIDL::IBase::notifySyspropsChanged::server
26743  hwservicemanag-570   (  570) [003] ...1 1034723.477292: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26744  hwservicemanag-570   (  570) [003] ...1 1034723.477399: tracing_mark_write: E|570
26745  contexthub@1.0-738   (  738) [006] ...1 1034723.477421: tracing_mark_write: E|738
26746          atrace-27096 (27096) [005] ...1 1034723.477442: tracing_mark_write: E|27096
26747          atrace-27096 (27096) [005] ...1 1034723.477447: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26748          atrace-27096 (27096) [005] ...1 1034723.477488: tracing_mark_write: E|27096
26749          atrace-27096 (27096) [005] ...1 1034723.477499: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26750  HwBinder:741_4-23194 (  741) [006] ...1 1034723.477533: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server
26751  hwservicemanag-570   (  570) [003] ...1 1034723.477539: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26752  hwservicemanag-570   (  570) [003] ...1 1034723.477641: tracing_mark_write: E|570
26753  HwBinder:741_4-23194 (  741) [006] ...1 1034723.477679: tracing_mark_write: E|741
26754          atrace-27096 (27096) [005] ...1 1034723.477684: tracing_mark_write: E|27096
26755          atrace-27096 (27096) [005] ...1 1034723.477689: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26756          atrace-27096 (27096) [005] ...1 1034723.477728: tracing_mark_write: E|27096
26757          atrace-27096 (27096) [005] ...1 1034723.477739: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26758  HwBinder:739_1-846   (  739) [006] ...1 1034723.477761: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server
26759  hwservicemanag-570   (  570) [003] ...1 1034723.477778: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26760  hwservicemanag-570   (  570) [003] ...1 1034723.477879: tracing_mark_write: E|570
26761  HwBinder:739_1-846   (  739) [006] ...1 1034723.477908: tracing_mark_write: E|739
26762          atrace-27096 (27096) [005] ...1 1034723.477922: tracing_mark_write: E|27096
26763          atrace-27096 (27096) [005] ...1 1034723.477926: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26764          atrace-27096 (27096) [005] ...1 1034723.477967: tracing_mark_write: E|27096
26765          atrace-27096 (27096) [005] ...1 1034723.477979: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26766  HwBinder:740_2-23191 (  740) [006] ...1 1034723.478001: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server
26767  hwservicemanag-570   (  570) [003] ...1 1034723.478016: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26768  hwservicemanag-570   (  570) [003] ...1 1034723.478108: tracing_mark_write: E|570
26769  HwBinder:740_2-23191 (  740) [006] ...1 1034723.478138: tracing_mark_write: E|740
26770          atrace-27096 (27096) [005] ...1 1034723.478149: tracing_mark_write: E|27096
26771          atrace-27096 (27096) [005] ...1 1034723.478153: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26772          atrace-27096 (27096) [005] ...1 1034723.478176: tracing_mark_write: E|27096
26773          atrace-27096 (27096) [005] ...1 1034723.478186: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26774  HwBinder:741_4-23194 (  741) [006] ...1 1034723.478189: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server
26775  hwservicemanag-570   (  570) [003] ...1 1034723.478223: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26776  HwBinder:741_4-23194 (  741) [006] ...1 1034723.478254: tracing_mark_write: E|741
26777  hwservicemanag-570   (  570) [003] ...1 1034723.478316: tracing_mark_write: E|570
26778          atrace-27096 (27096) [006] ...1 1034723.478378: tracing_mark_write: E|27096
26779          atrace-27096 (27096) [006] ...1 1034723.478386: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26780          atrace-27096 (27096) [006] ...1 1034723.478420: tracing_mark_write: E|27096
26781          atrace-27096 (27096) [006] ...1 1034723.478436: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26782  HwBinder:739_1-846   (  739) [007] ...1 1034723.478439: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server
26783  hwservicemanag-570   (  570) [003] ...1 1034723.478478: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26784  HwBinder:739_1-846   (  739) [007] ...1 1034723.478520: tracing_mark_write: E|739
26785  hwservicemanag-570   (  570) [003] ...1 1034723.478571: tracing_mark_write: E|570
26786          atrace-27096 (27096) [005] ...1 1034723.478618: tracing_mark_write: E|27096
26787          atrace-27096 (27096) [005] ...1 1034723.478624: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26788          atrace-27096 (27096) [005] ...1 1034723.478652: tracing_mark_write: E|27096
26789          atrace-27096 (27096) [005] ...1 1034723.478663: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26790  HwBinder:740_2-23191 (  740) [006] ...1 1034723.478672: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server
26791  hwservicemanag-570   (  570) [003] ...1 1034723.478699: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26792  HwBinder:740_2-23191 (  740) [006] ...1 1034723.478753: tracing_mark_write: E|740
26793  hwservicemanag-570   (  570) [003] ...1 1034723.478800: tracing_mark_write: E|570
26794          atrace-27096 (27096) [006] ...1 1034723.478857: tracing_mark_write: E|27096
26795          atrace-27096 (27096) [006] ...1 1034723.478863: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26796          atrace-27096 (27096) [006] ...1 1034723.478895: tracing_mark_write: E|27096
26797          atrace-27096 (27096) [006] ...1 1034723.478909: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26798  HwBinder:741_4-23194 (  741) [007] ...1 1034723.478912: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server
26799  hwservicemanag-570   (  570) [003] ...1 1034723.478949: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26800  HwBinder:741_4-23194 (  741) [007] ...1 1034723.478982: tracing_mark_write: E|741
26801  hwservicemanag-570   (  570) [003] ...1 1034723.479042: tracing_mark_write: E|570
26802          atrace-27096 (27096) [005] ...1 1034723.479089: tracing_mark_write: E|27096
26803          atrace-27096 (27096) [005] ...1 1034723.479094: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26804          atrace-27096 (27096) [005] ...1 1034723.479122: tracing_mark_write: E|27096
26805          atrace-27096 (27096) [005] ...1 1034723.479133: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26806  HwBinder:741_4-23194 (  741) [006] ...1 1034723.479137: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server
26807  hwservicemanag-570   (  570) [003] ...1 1034723.479170: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26808  HwBinder:741_4-23194 (  741) [006] ...1 1034723.479214: tracing_mark_write: E|741
26809  hwservicemanag-570   (  570) [003] ...1 1034723.479284: tracing_mark_write: E|570
26810          atrace-27096 (27096) [006] ...1 1034723.479340: tracing_mark_write: E|27096
26811          atrace-27096 (27096) [006] ...1 1034723.479346: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26812          atrace-27096 (27096) [006] ...1 1034723.479394: tracing_mark_write: E|27096
26813          atrace-27096 (27096) [006] ...1 1034723.479407: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26814  dumpstate@1.0--742   (  742) [004] ...1 1034723.479443: tracing_mark_write: B|742|HIDL::IBase::notifySyspropsChanged::server
26815  hwservicemanag-570   (  570) [003] ...1 1034723.479449: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26816  hwservicemanag-570   (  570) [003] ...1 1034723.479556: tracing_mark_write: E|570
26817  dumpstate@1.0--742   (  742) [004] ...1 1034723.479587: tracing_mark_write: E|742
26818          atrace-27096 (27096) [005] ...1 1034723.479600: tracing_mark_write: E|27096
26819          atrace-27096 (27096) [005] ...1 1034723.479605: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26820          atrace-27096 (27096) [005] ...1 1034723.479652: tracing_mark_write: E|27096
26821          atrace-27096 (27096) [005] ...1 1034723.479663: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26822  gatekeeper@1.0-587   (  587) [006] ...1 1034723.479699: tracing_mark_write: B|587|HIDL::IBase::notifySyspropsChanged::server
26823  hwservicemanag-570   (  570) [003] ...1 1034723.479701: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26824  hwservicemanag-570   (  570) [003] ...1 1034723.479792: tracing_mark_write: E|570
26825  gatekeeper@1.0-587   (  587) [006] ...1 1034723.479832: tracing_mark_write: E|587
26826          atrace-27096 (27096) [005] ...1 1034723.479833: tracing_mark_write: E|27096
26827          atrace-27096 (27096) [005] ...1 1034723.479838: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26828          atrace-27096 (27096) [005] ...1 1034723.479890: tracing_mark_write: E|27096
26829          atrace-27096 (27096) [005] ...1 1034723.479902: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26830  gnss@1.0-servi-743   (  743) [007] ...1 1034723.479933: tracing_mark_write: B|743|HIDL::IBase::notifySyspropsChanged::server
26831  hwservicemanag-570   (  570) [003] ...1 1034723.479943: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26832  hwservicemanag-570   (  570) [003] ...1 1034723.480059: tracing_mark_write: E|570
26833  gnss@1.0-servi-743   (  743) [007] ...1 1034723.480068: tracing_mark_write: E|743
26834          atrace-27096 (27096) [005] ...1 1034723.480100: tracing_mark_write: E|27096
26835          atrace-27096 (27096) [005] ...1 1034723.480104: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26836  allocator@2.0--595   (  595) [005] ...1 1034723.480180: tracing_mark_write: B|595|HIDL::IBase::notifySyspropsChanged::server
26837  allocator@2.0--595   (  595) [005] ...1 1034723.480334: tracing_mark_write: E|595
26838          atrace-27096 (27096) [005] ...1 1034723.480378: tracing_mark_write: E|27096
26839          atrace-27096 (27096) [005] ...1 1034723.480394: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26840  hwservicemanag-570   (  570) [003] ...1 1034723.480436: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26841  hwservicemanag-570   (  570) [003] ...1 1034723.480552: tracing_mark_write: E|570
26842          atrace-27096 (27096) [005] ...1 1034723.480603: tracing_mark_write: E|27096
26843          atrace-27096 (27096) [005] ...1 1034723.480608: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26844          atrace-27096 (27096) [005] ...1 1034723.480656: tracing_mark_write: E|27096
26845          atrace-27096 (27096) [005] ...1 1034723.480670: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26846  composer@2.1-s-593   (  593) [000] ...1 1034723.480698: tracing_mark_write: B|593|HIDL::IBase::notifySyspropsChanged::server
26847  hwservicemanag-570   (  570) [003] ...1 1034723.480710: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26848  composer@2.1-s-593   (  593) [000] ...1 1034723.480823: tracing_mark_write: E|593
26849  hwservicemanag-570   (  570) [003] ...1 1034723.480825: tracing_mark_write: E|570
26850          atrace-27096 (27096) [005] ...1 1034723.480869: tracing_mark_write: E|27096
26851          atrace-27096 (27096) [005] ...1 1034723.480874: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26852          atrace-27096 (27096) [005] ...1 1034723.480901: tracing_mark_write: E|27096
26853          atrace-27096 (27096) [005] ...1 1034723.480916: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26854  HwBinder:732_1-767   (  732) [002] ...1 1034723.480941: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server
26855  hwservicemanag-570   (  570) [003] ...1 1034723.480956: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26856  HwBinder:732_1-767   (  732) [002] ...1 1034723.481005: tracing_mark_write: E|732
26857  hwservicemanag-570   (  570) [003] ...1 1034723.481052: tracing_mark_write: E|570
26858          atrace-27096 (27096) [005] ...1 1034723.481096: tracing_mark_write: E|27096
26859          atrace-27096 (27096) [005] ...1 1034723.481100: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26860          atrace-27096 (27096) [005] ...1 1034723.481141: tracing_mark_write: E|27096
26861          atrace-27096 (27096) [005] ...1 1034723.481152: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26862  hwservicemanag-570   (  570) [003] ...1 1034723.481194: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26863         healthd-729   (  729) [002] ...1 1034723.481202: tracing_mark_write: B|729|HIDL::IBase::notifySyspropsChanged::server
26864  hwservicemanag-570   (  570) [003] ...1 1034723.481288: tracing_mark_write: E|570
26865         healthd-729   (  729) [002] ...1 1034723.481303: tracing_mark_write: E|729
26866          atrace-27096 (27096) [005] ...1 1034723.481332: tracing_mark_write: E|27096
26867          atrace-27096 (27096) [005] ...1 1034723.481336: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26868          atrace-27096 (27096) [005] ...1 1034723.481376: tracing_mark_write: E|27096
26869          atrace-27096 (27096) [005] ...1 1034723.481387: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26870  hwservicemanag-570   (  570) [003] ...1 1034723.481427: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26871  health@2.0-ser-744   (  744) [001] ...1 1034723.481445: tracing_mark_write: B|744|HIDL::IBase::notifySyspropsChanged::server
26872  hwservicemanag-570   (  570) [003] ...1 1034723.481549: tracing_mark_write: E|570
26873  health@2.0-ser-744   (  744) [001] ...1 1034723.481561: tracing_mark_write: E|744
26874          atrace-27096 (27096) [005] ...1 1034723.481592: tracing_mark_write: E|27096
26875          atrace-27096 (27096) [005] ...1 1034723.481597: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26876          atrace-27096 (27096) [005] ...1 1034723.481637: tracing_mark_write: E|27096
26877          atrace-27096 (27096) [005] ...1 1034723.481648: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26878  keyprimary@3.0--588   (  588) [006] ...1 1034723.481686: tracing_mark_write: B|588|HIDL::IBase::notifySyspropsChanged::server
26879  hwservicemanag-570   (  570) [002] ...1 1034723.481693: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26880  hwservicemanag-570   (  570) [002] ...1 1034723.481813: tracing_mark_write: E|570
26881  keyprimary@3.0--588   (  588) [006] ...1 1034723.481829: tracing_mark_write: E|588
26882          atrace-27096 (27096) [005] ...1 1034723.481857: tracing_mark_write: E|27096
26883          atrace-27096 (27096) [005] ...1 1034723.481862: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26884          atrace-27096 (27096) [005] ...1 1034723.481899: tracing_mark_write: E|27096
26885          atrace-27096 (27096) [005] ...1 1034723.481910: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26886  keyprimary@4.0--589   (  589) [007] ...1 1034723.481945: tracing_mark_write: B|589|HIDL::IBase::notifySyspropsChanged::server
26887  hwservicemanag-570   (  570) [002] ...1 1034723.481953: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26888  hwservicemanag-570   (  570) [002] ...1 1034723.482041: tracing_mark_write: E|570
26889  keyprimary@4.0--589   (  589) [007] ...1 1034723.482081: tracing_mark_write: E|589
26890          atrace-27096 (27096) [005] ...1 1034723.482083: tracing_mark_write: E|27096
26891          atrace-27096 (27096) [005] ...1 1034723.482087: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26892          atrace-27096 (27096) [005] ...1 1034723.482128: tracing_mark_write: E|27096
26893          atrace-27096 (27096) [005] ...1 1034723.482139: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26894  light@2.0-serv-745   (  745) [007] ...1 1034723.482170: tracing_mark_write: B|745|HIDL::IBase::notifySyspropsChanged::server
26895  hwservicemanag-570   (  570) [002] ...1 1034723.482179: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26896  hwservicemanag-570   (  570) [002] ...1 1034723.482270: tracing_mark_write: E|570
26897  light@2.0-serv-745   (  745) [007] ...1 1034723.482302: tracing_mark_write: E|745
26898          atrace-27096 (27096) [005] ...1 1034723.482312: tracing_mark_write: E|27096
26899          atrace-27096 (27096) [005] ...1 1034723.482317: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26900          atrace-27096 (27096) [005] ...1 1034723.482362: tracing_mark_write: E|27096
26901          atrace-27096 (27096) [005] ...1 1034723.482384: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26902  omx@1.0-servic-914   (  914) [006] ...1 1034723.482411: tracing_mark_write: B|914|HIDL::IBase::notifySyspropsChanged::server
26903  hwservicemanag-570   (  570) [002] ...1 1034723.482425: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26904  hwservicemanag-570   (  570) [002] ...1 1034723.482528: tracing_mark_write: E|570
26905  omx@1.0-servic-914   (  914) [006] ...1 1034723.482549: tracing_mark_write: E|914
26906          atrace-27096 (27096) [005] ...1 1034723.482571: tracing_mark_write: E|27096
26907          atrace-27096 (27096) [005] ...1 1034723.482575: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26908          atrace-27096 (27096) [005] ...1 1034723.482598: tracing_mark_write: E|27096
26909          atrace-27096 (27096) [005] ...1 1034723.482609: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26910  omx@1.0-servic-914   (  914) [006] ...1 1034723.482613: tracing_mark_write: B|914|HIDL::IBase::notifySyspropsChanged::server
26911  hwservicemanag-570   (  570) [002] ...1 1034723.482644: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26912  omx@1.0-servic-914   (  914) [006] ...1 1034723.482692: tracing_mark_write: E|914
26913  hwservicemanag-570   (  570) [002] ...1 1034723.482748: tracing_mark_write: E|570
26914          atrace-27096 (27096) [006] ...1 1034723.482810: tracing_mark_write: E|27096
26915          atrace-27096 (27096) [006] ...1 1034723.482817: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26916          atrace-27096 (27096) [006] ...1 1034723.482863: tracing_mark_write: E|27096
26917          atrace-27096 (27096) [006] ...1 1034723.482878: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26918  memtrack@1.0-s-748   (  748) [000] ...1 1034723.482904: tracing_mark_write: B|748|HIDL::IBase::notifySyspropsChanged::server
26919  hwservicemanag-570   (  570) [002] ...1 1034723.482919: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26920  memtrack@1.0-s-748   (  748) [000] ...1 1034723.483020: tracing_mark_write: E|748
26921  hwservicemanag-570   (  570) [002] ...1 1034723.483027: tracing_mark_write: E|570
26922          atrace-27096 (27096) [005] ...1 1034723.483075: tracing_mark_write: E|27096
26923          atrace-27096 (27096) [005] ...1 1034723.483080: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26924          atrace-27096 (27096) [005] ...1 1034723.483125: tracing_mark_write: E|27096
26925          atrace-27096 (27096) [005] ...1 1034723.483136: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26926  neuralnetworks-756   (  756) [006] ...1 1034723.483153: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server
26927  hwservicemanag-570   (  570) [003] ...1 1034723.483178: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26928  hwservicemanag-570   (  570) [003] ...1 1034723.483294: tracing_mark_write: E|570
26929  neuralnetworks-756   (  756) [006] ...1 1034723.483309: tracing_mark_write: E|756
26930          atrace-27096 (27096) [004] ...1 1034723.483552: tracing_mark_write: E|27096
26931          atrace-27096 (27096) [004] ...1 1034723.483567: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26932          atrace-27096 (27096) [004] ...1 1034723.483656: tracing_mark_write: E|27096
26933          atrace-27096 (27096) [004] ...1 1034723.483685: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26934  nfc@1.0-servic-759   (  759) [005] ...1 1034723.483735: tracing_mark_write: B|759|HIDL::IBase::notifySyspropsChanged::server
26935  hwservicemanag-570   (  570) [002] ...1 1034723.483756: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26936  hwservicemanag-570   (  570) [002] ...1 1034723.483858: tracing_mark_write: E|570
26937  nfc@1.0-servic-759   (  759) [005] ...1 1034723.484019: tracing_mark_write: E|759
26938          atrace-27096 (27096) [005] ...1 1034723.484119: tracing_mark_write: E|27096
26939          atrace-27096 (27096) [005] ...1 1034723.484131: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26940          atrace-27096 (27096) [005] ...1 1034723.484215: tracing_mark_write: E|27096
26941          atrace-27096 (27096) [005] ...1 1034723.484240: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26942  oemlock@1.0-se-760   (  760) [006] ...1 1034723.484290: tracing_mark_write: B|760|HIDL::IBase::notifySyspropsChanged::server
26943  hwservicemanag-570   (  570) [003] ...1 1034723.484308: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26944  hwservicemanag-570   (  570) [003] ...1 1034723.484399: tracing_mark_write: E|570
26945          atrace-27096 (27096) [004] ...1 1034723.484480: tracing_mark_write: E|27096
26946          atrace-27096 (27096) [004] ...1 1034723.484491: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26947  oemlock@1.0-se-760   (  760) [006] ...1 1034723.484527: tracing_mark_write: E|760
26948          atrace-27096 (27096) [004] ...1 1034723.484575: tracing_mark_write: E|27096
26949          atrace-27096 (27096) [004] ...1 1034723.484600: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26950  power@1.2-serv-773   (  773) [005] ...1 1034723.484654: tracing_mark_write: B|773|HIDL::IBase::notifySyspropsChanged::server
26951  hwservicemanag-570   (  570) [002] ...1 1034723.484664: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26952  hwservicemanag-570   (  570) [002] ...1 1034723.484757: tracing_mark_write: E|570
26953  power@1.2-serv-773   (  773) [005] ...1 1034723.484927: tracing_mark_write: E|773
26954          atrace-27096 (27096) [005] ...1 1034723.485030: tracing_mark_write: E|27096
26955          atrace-27096 (27096) [005] ...1 1034723.485043: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26956          atrace-27096 (27096) [005] ...1 1034723.485099: tracing_mark_write: E|27096
26957          atrace-27096 (27096) [005] ...1 1034723.485123: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26958  power@1.2-serv-773   (  773) [004] ...1 1034723.485125: tracing_mark_write: B|773|HIDL::IBase::notifySyspropsChanged::server
26959  hwservicemanag-570   (  570) [003] ...1 1034723.485184: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26960  hwservicemanag-570   (  570) [003] ...1 1034723.485274: tracing_mark_write: E|570
26961  power@1.2-serv-773   (  773) [004] ...1 1034723.485275: tracing_mark_write: E|773
26962          atrace-27096 (27096) [004] ...1 1034723.485365: tracing_mark_write: E|27096
26963          atrace-27096 (27096) [004] ...1 1034723.485378: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26964          atrace-27096 (27096) [004] ...1 1034723.485438: tracing_mark_write: E|27096
26965  power@1.2-serv-773   (  773) [005] ...1 1034723.485460: tracing_mark_write: B|773|HIDL::IBase::notifySyspropsChanged::server
26966          atrace-27096 (27096) [004] ...1 1034723.485464: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26967  power@1.2-serv-773   (  773) [005] ...1 1034723.485599: tracing_mark_write: E|773
26968  surfaceflinger-591   (  591) [000] ...1 1034723.485748: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26969  hwservicemanag-570   (  570) [000] ...1 1034723.485878: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26970  composer@2.1-s-593   (  593) [001] ...1 1034723.485887: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26971  composer@2.1-s-593   (  593) [001] ...1 1034723.485953: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26972  composer@2.1-s-593   (  593) [001] ...1 1034723.485963: tracing_mark_write: E|593
26973  composer@2.1-s-593   (  593) [001] ...1 1034723.485967: tracing_mark_write: B|593|HWCSession::ValidateDisplay::
26974  hwservicemanag-570   (  570) [000] ...1 1034723.486020: tracing_mark_write: E|570
26975          atrace-27096 (27096) [005] ...1 1034723.486105: tracing_mark_write: E|27096
26976          atrace-27096 (27096) [005] ...1 1034723.486117: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26977  composer@2.1-s-593   (  593) [001] ...1 1034723.486241: tracing_mark_write: B|593|HWDevice::Validate::
26978            rild-917   (  917) [005] ...1 1034723.486278: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
26979  composer@2.1-s-593   (  593) [001] ...1 1034723.486328: tracing_mark_write: E|593
26980  composer@2.1-s-593   (  593) [001] ...1 1034723.486349: tracing_mark_write: E|593
26981  composer@2.1-s-593   (  593) [001] ...1 1034723.486368: tracing_mark_write: E|593
26982  surfaceflinger-591   (  591) [000] ...1 1034723.486422: tracing_mark_write: E|591
26983  surfaceflinger-591   (  591) [000] ...1 1034723.486504: tracing_mark_write: B|591|HIDL::IComposerClient::executeCommands::client
26984  composer@2.1-s-593   (  593) [001] ...1 1034723.486551: tracing_mark_write: B|593|HIDL::IComposerClient::executeCommands::server
26985  composer@2.1-s-593   (  593) [001] ...1 1034723.486561: tracing_mark_write: B|593|HWCSession::PresentDisplay::
26986  composer@2.1-s-593   (  593) [001] ...1 1034723.486572: tracing_mark_write: B|593|HWDevice::Commit::
26987            rild-917   (  917) [005] ...1 1034723.486631: tracing_mark_write: E|917
26988          atrace-27096 (27096) [005] ...1 1034723.486712: tracing_mark_write: E|27096
26989  composer@2.1-s-593   (  593) [001] ...1 1034723.486744: tracing_mark_write: E|593
26990          atrace-27096 (27096) [005] ...1 1034723.486748: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
26991  composer@2.1-s-593   (  593) [001] ...1 1034723.486763: tracing_mark_write: E|593
26992  composer@2.1-s-593   (  593) [001] ...1 1034723.486784: tracing_mark_write: E|593
26993  surfaceflinger-591   (  591) [000] ...1 1034723.486836: tracing_mark_write: E|591
26994  hwservicemanag-570   (  570) [000] ...1 1034723.487129: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
26995  hwservicemanag-570   (  570) [000] ...1 1034723.487284: tracing_mark_write: E|570
26996          atrace-27096 (27096) [005] ...1 1034723.487412: tracing_mark_write: E|27096
26997          atrace-27096 (27096) [005] ...1 1034723.487426: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
26998  HwBinder:778_1-1087  (  778) [000] ...1 1034723.487483: tracing_mark_write: E|778
26999            rild-917   (  917) [005] ...1 1034723.487521: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27000   SensorService-1283  ( 1151) [001] ...1 1034723.487549: tracing_mark_write: E|1151
27001   SensorService-1283  ( 1151) [001] ...1 1034723.487619: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
27002  HwBinder:778_1-1087  (  778) [000] ...1 1034723.487662: tracing_mark_write: B|778|HIDL::ISensors::poll::server
27003            rild-917   (  917) [005] ...1 1034723.487674: tracing_mark_write: E|917
27004          atrace-27096 (27096) [005] ...1 1034723.487729: tracing_mark_write: E|27096
27005          atrace-27096 (27096) [005] ...1 1034723.487761: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27006  hwservicemanag-570   (  570) [000] ...1 1034723.487840: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27007  hwservicemanag-570   (  570) [000] ...1 1034723.487949: tracing_mark_write: E|570
27008          atrace-27096 (27096) [000] ...1 1034723.488019: tracing_mark_write: E|27096
27009          atrace-27096 (27096) [000] ...1 1034723.488031: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27010          atrace-27096 (27096) [000] ...1 1034723.488062: tracing_mark_write: E|27096
27011          atrace-27096 (27096) [000] ...1 1034723.488080: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27012            rild-917   (  917) [005] ...1 1034723.488105: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27013  hwservicemanag-570   (  570) [001] ...1 1034723.488120: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27014  hwservicemanag-570   (  570) [001] ...1 1034723.488217: tracing_mark_write: E|570
27015          atrace-27096 (27096) [001] ...1 1034723.488265: tracing_mark_write: E|27096
27016          atrace-27096 (27096) [001] ...1 1034723.488271: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27017            rild-917   (  917) [005] ...1 1034723.488285: tracing_mark_write: E|917
27018          atrace-27096 (27096) [001] ...1 1034723.488299: tracing_mark_write: E|27096
27019          atrace-27096 (27096) [001] ...1 1034723.488312: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27020  HwBinder:917_1-1223  (  917) [004] ...1 1034723.488346: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27021  hwservicemanag-570   (  570) [000] ...1 1034723.488350: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27022  hwservicemanag-570   (  570) [000] ...1 1034723.488447: tracing_mark_write: E|570
27023          atrace-27096 (27096) [000] ...1 1034723.488493: tracing_mark_write: E|27096
27024          atrace-27096 (27096) [000] ...1 1034723.488499: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27025  HwBinder:917_1-1223  (  917) [004] ...1 1034723.488503: tracing_mark_write: E|917
27026          atrace-27096 (27096) [000] ...1 1034723.488528: tracing_mark_write: E|27096
27027          atrace-27096 (27096) [000] ...1 1034723.488542: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27028            rild-917   (  917) [005] ...1 1034723.488562: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27029  hwservicemanag-570   (  570) [001] ...1 1034723.488579: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27030            rild-917   (  917) [005] ...1 1034723.488688: tracing_mark_write: E|917
27031  hwservicemanag-570   (  570) [001] ...1 1034723.488704: tracing_mark_write: E|570
27032          atrace-27096 (27096) [005] ...1 1034723.488789: tracing_mark_write: E|27096
27033          atrace-27096 (27096) [005] ...1 1034723.488807: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27034          atrace-27096 (27096) [005] ...1 1034723.488903: tracing_mark_write: E|27096
27035          atrace-27096 (27096) [005] ...1 1034723.488933: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27036  sensors@1.0-se-778   (  778) [007] ...1 1034723.488946: tracing_mark_write: B|778|HIDL::IBase::notifySyspropsChanged::server
27037  hwservicemanag-570   (  570) [001] ...1 1034723.489005: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27038  hwservicemanag-570   (  570) [001] ...1 1034723.489138: tracing_mark_write: E|570
27039  sensors@1.0-se-778   (  778) [007] ...1 1034723.489173: tracing_mark_write: E|778
27040          atrace-27096 (27096) [001] ...1 1034723.489203: tracing_mark_write: E|27096
27041          atrace-27096 (27096) [001] ...1 1034723.489210: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27042          atrace-27096 (27096) [001] ...1 1034723.489242: tracing_mark_write: E|27096
27043          atrace-27096 (27096) [001] ...1 1034723.489255: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27044  hwservicemanag-570   (  570) [000] ...1 1034723.489293: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27045  HwBinder:733_3-1347  (  733) [007] ...1 1034723.489312: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server
27046  hwservicemanag-570   (  570) [000] ...1 1034723.489414: tracing_mark_write: E|570
27047          atrace-27096 (27096) [000] ...1 1034723.489460: tracing_mark_write: E|27096
27048          atrace-27096 (27096) [000] ...1 1034723.489466: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27049          atrace-27096 (27096) [000] ...1 1034723.489482: tracing_mark_write: E|27096
27050          atrace-27096 (27096) [000] ...1 1034723.489494: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27051  HwBinder:733_3-1347  (  733) [007] ...1 1034723.489518: tracing_mark_write: E|733
27052  hwservicemanag-570   (  570) [001] ...1 1034723.489529: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27053  HwBinder:733_3-1347  (  733) [007] ...1 1034723.489611: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server
27054  hwservicemanag-570   (  570) [001] ...1 1034723.489657: tracing_mark_write: E|570
27055          atrace-27096 (27096) [001] ...1 1034723.489705: tracing_mark_write: E|27096
27056          atrace-27096 (27096) [001] ...1 1034723.489710: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27057  HwBinder:733_3-1347  (  733) [007] ...1 1034723.489746: tracing_mark_write: E|733
27058          atrace-27096 (27096) [001] ...1 1034723.489756: tracing_mark_write: E|27096
27059          atrace-27096 (27096) [001] ...1 1034723.489768: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27060  hwservicemanag-570   (  570) [000] ...1 1034723.489804: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27061  HwBinder:898_1-951   (  898) [004] ...1 1034723.489900: tracing_mark_write: B|898|HIDL::IBase::notifySyspropsChanged::server
27062  hwservicemanag-570   (  570) [000] ...1 1034723.489990: tracing_mark_write: E|570
27063          atrace-27096 (27096) [000] ...1 1034723.490038: tracing_mark_write: E|27096
27064          atrace-27096 (27096) [000] ...1 1034723.490043: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27065          atrace-27096 (27096) [000] ...1 1034723.490060: tracing_mark_write: E|27096
27066          atrace-27096 (27096) [000] ...1 1034723.490072: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27067  hwservicemanag-570   (  570) [002] ...1 1034723.490110: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27068  HwBinder:898_1-951   (  898) [004] ...1 1034723.490193: tracing_mark_write: E|898
27069  hwservicemanag-570   (  570) [002] ...1 1034723.490217: tracing_mark_write: E|570
27070  HwBinder:898_1-951   (  898) [004] ...1 1034723.490261: tracing_mark_write: B|898|HIDL::IBase::notifySyspropsChanged::server
27071          atrace-27096 (27096) [002] ...1 1034723.490267: tracing_mark_write: E|27096
27072          atrace-27096 (27096) [002] ...1 1034723.490273: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27073          atrace-27096 (27096) [002] ...1 1034723.490312: tracing_mark_write: E|27096
27074          atrace-27096 (27096) [002] ...1 1034723.490324: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27075  hwservicemanag-570   (  570) [000] ...1 1034723.490360: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27076  HwBinder:730_1-747   (  730) [005] ...1 1034723.490383: tracing_mark_write: B|730|HIDL::IBase::notifySyspropsChanged::server
27077  HwBinder:898_1-951   (  898) [004] ...1 1034723.490384: tracing_mark_write: E|898
27078  hwservicemanag-570   (  570) [000] ...1 1034723.490463: tracing_mark_write: E|570
27079          atrace-27096 (27096) [000] ...1 1034723.490508: tracing_mark_write: E|27096
27080          atrace-27096 (27096) [000] ...1 1034723.490513: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27081          atrace-27096 (27096) [000] ...1 1034723.490528: tracing_mark_write: E|27096
27082          atrace-27096 (27096) [000] ...1 1034723.490540: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27083  hwservicemanag-570   (  570) [002] ...1 1034723.490575: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27084  HwBinder:730_1-747   (  730) [005] ...1 1034723.490648: tracing_mark_write: E|730
27085  hwservicemanag-570   (  570) [002] ...1 1034723.490688: tracing_mark_write: E|570
27086  HwBinder:730_1-747   (  730) [005] ...1 1034723.490712: tracing_mark_write: B|730|HIDL::IBase::notifySyspropsChanged::server
27087          atrace-27096 (27096) [002] ...1 1034723.490734: tracing_mark_write: E|27096
27088          atrace-27096 (27096) [002] ...1 1034723.490739: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27089          atrace-27096 (27096) [002] ...1 1034723.490785: tracing_mark_write: E|27096
27090          atrace-27096 (27096) [002] ...1 1034723.490798: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27091  HwBinder:730_1-747   (  730) [005] ...1 1034723.490831: tracing_mark_write: E|730
27092  hwservicemanag-570   (  570) [000] ...1 1034723.490833: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27093  usb@1.1-servic-787   (  787) [003] ...1 1034723.490837: tracing_mark_write: B|787|HIDL::IBase::notifySyspropsChanged::server
27094  hwservicemanag-570   (  570) [000] ...1 1034723.490924: tracing_mark_write: E|570
27095          atrace-27096 (27096) [000] ...1 1034723.490987: tracing_mark_write: E|27096
27096          atrace-27096 (27096) [000] ...1 1034723.490992: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27097  usb@1.1-servic-787   (  787) [003] ...1 1034723.491009: tracing_mark_write: E|787
27098          atrace-27096 (27096) [000] ...1 1034723.491019: tracing_mark_write: E|27096
27099          atrace-27096 (27096) [000] ...1 1034723.491031: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27100  HwBinder:787_1-957   (  787) [001] ...1 1034723.491035: tracing_mark_write: B|787|HIDL::IBase::notifySyspropsChanged::server
27101  hwservicemanag-570   (  570) [002] ...1 1034723.491067: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27102  HwBinder:787_1-957   (  787) [001] ...1 1034723.491104: tracing_mark_write: E|787
27103  hwservicemanag-570   (  570) [002] ...1 1034723.491158: tracing_mark_write: E|570
27104          atrace-27096 (27096) [002] ...1 1034723.491204: tracing_mark_write: E|27096
27105          atrace-27096 (27096) [002] ...1 1034723.491209: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27106          atrace-27096 (27096) [002] ...1 1034723.491231: tracing_mark_write: E|27096
27107  HwBinder:787_1-957   (  787) [001] ...1 1034723.491239: tracing_mark_write: B|787|HIDL::IBase::notifySyspropsChanged::server
27108          atrace-27096 (27096) [002] ...1 1034723.491243: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27109  hwservicemanag-570   (  570) [000] ...1 1034723.491277: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27110  HwBinder:787_1-957   (  787) [001] ...1 1034723.491298: tracing_mark_write: E|787
27111  hwservicemanag-570   (  570) [000] ...1 1034723.491395: tracing_mark_write: E|570
27112          atrace-27096 (27096) [000] ...1 1034723.491442: tracing_mark_write: E|27096
27113          atrace-27096 (27096) [000] ...1 1034723.491447: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27114          atrace-27096 (27096) [000] ...1 1034723.491491: tracing_mark_write: E|27096
27115          atrace-27096 (27096) [000] ...1 1034723.491502: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27116  hwservicemanag-570   (  570) [002] ...1 1034723.491541: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27117  vibrator@1.2-s-793   (  793) [005] ...1 1034723.491591: tracing_mark_write: B|793|HIDL::IBase::notifySyspropsChanged::server
27118  hwservicemanag-570   (  570) [002] ...1 1034723.491647: tracing_mark_write: E|570
27119          atrace-27096 (27096) [002] ...1 1034723.491693: tracing_mark_write: E|27096
27120          atrace-27096 (27096) [002] ...1 1034723.491699: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27121          atrace-27096 (27096) [002] ...1 1034723.491714: tracing_mark_write: E|27096
27122          atrace-27096 (27096) [002] ...1 1034723.491725: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27123  hwservicemanag-570   (  570) [000] ...1 1034723.491759: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27124  vibrator@1.2-s-793   (  793) [005] ...1 1034723.491839: tracing_mark_write: E|793
27125  hwservicemanag-570   (  570) [000] ...1 1034723.491862: tracing_mark_write: E|570
27126  vibrator@1.2-s-793   (  793) [005] ...1 1034723.491896: tracing_mark_write: B|793|HIDL::IBase::notifySyspropsChanged::server
27127          atrace-27096 (27096) [000] ...1 1034723.491910: tracing_mark_write: E|27096
27128          atrace-27096 (27096) [000] ...1 1034723.491915: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27129          atrace-27096 (27096) [000] ...1 1034723.491932: tracing_mark_write: E|27096
27130          atrace-27096 (27096) [000] ...1 1034723.491943: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27131  hwservicemanag-570   (  570) [002] ...1 1034723.491977: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27132  vibrator@1.2-s-793   (  793) [005] ...1 1034723.492010: tracing_mark_write: E|793
27133  vibrator@1.2-s-793   (  793) [005] ...1 1034723.492043: tracing_mark_write: B|793|HIDL::IBase::notifySyspropsChanged::server
27134  hwservicemanag-570   (  570) [002] ...1 1034723.492063: tracing_mark_write: E|570
27135          atrace-27096 (27096) [002] ...1 1034723.492109: tracing_mark_write: E|27096
27136          atrace-27096 (27096) [002] ...1 1034723.492114: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27137          atrace-27096 (27096) [002] ...1 1034723.492153: tracing_mark_write: E|27096
27138          atrace-27096 (27096) [002] ...1 1034723.492164: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27139  vibrator@1.2-s-793   (  793) [005] ...1 1034723.492188: tracing_mark_write: E|793
27140  hwservicemanag-570   (  570) [000] ...1 1034723.492199: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27141  vr@1.0-service-802   (  802) [006] ...1 1034723.492259: tracing_mark_write: B|802|HIDL::IBase::notifySyspropsChanged::server
27142  hwservicemanag-570   (  570) [000] ...1 1034723.492305: tracing_mark_write: E|570
27143          atrace-27096 (27096) [000] ...1 1034723.492351: tracing_mark_write: E|27096
27144          atrace-27096 (27096) [000] ...1 1034723.492357: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27145          atrace-27096 (27096) [000] ...1 1034723.492398: tracing_mark_write: E|27096
27146          atrace-27096 (27096) [000] ...1 1034723.492410: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27147  hwservicemanag-570   (  570) [002] ...1 1034723.492444: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27148            esed-813   (  813) [005] ...1 1034723.492495: tracing_mark_write: B|813|HIDL::IBase::notifySyspropsChanged::server
27149  vr@1.0-service-802   (  802) [006] ...1 1034723.492522: tracing_mark_write: E|802
27150  hwservicemanag-570   (  570) [002] ...1 1034723.492560: tracing_mark_write: E|570
27151          atrace-27096 (27096) [006] ...1 1034723.492732: tracing_mark_write: E|27096
27152            esed-813   (  813) [005] ...1 1034723.492732: tracing_mark_write: E|813
27153          atrace-27096 (27096) [006] ...1 1034723.492739: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27154          atrace-27096 (27096) [006] ...1 1034723.492797: tracing_mark_write: E|27096
27155          atrace-27096 (27096) [006] ...1 1034723.492814: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27156  offload@1.0-se-807   (  807) [004] ...1 1034723.492845: tracing_mark_write: B|807|HIDL::IBase::notifySyspropsChanged::server
27157  hwservicemanag-570   (  570) [000] ...1 1034723.492871: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27158  hwservicemanag-570   (  570) [000] ...1 1034723.492961: tracing_mark_write: E|570
27159  offload@1.0-se-807   (  807) [004] ...1 1034723.493007: tracing_mark_write: E|807
27160          atrace-27096 (27096) [000] ...1 1034723.493017: tracing_mark_write: E|27096
27161          atrace-27096 (27096) [000] ...1 1034723.493023: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27162          atrace-27096 (27096) [000] ...1 1034723.493059: tracing_mark_write: E|27096
27163          atrace-27096 (27096) [000] ...1 1034723.493071: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27164  hwservicemanag-570   (  570) [002] ...1 1034723.493107: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27165  android.hardwa-812   (  812) [006] ...1 1034723.493116: tracing_mark_write: B|812|HIDL::IBase::notifySyspropsChanged::server
27166  hwservicemanag-570   (  570) [002] ...1 1034723.493191: tracing_mark_write: E|570
27167          atrace-27096 (27096) [002] ...1 1034723.493253: tracing_mark_write: E|27096
27168          atrace-27096 (27096) [002] ...1 1034723.493259: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27169          atrace-27096 (27096) [002] ...1 1034723.493274: tracing_mark_write: E|27096
27170          atrace-27096 (27096) [002] ...1 1034723.493286: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27171  android.hardwa-812   (  812) [006] ...1 1034723.493299: tracing_mark_write: E|812
27172  hwservicemanag-570   (  570) [000] ...1 1034723.493321: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27173  android.hardwa-812   (  812) [006] ...1 1034723.493334: tracing_mark_write: B|812|HIDL::IBase::notifySyspropsChanged::server
27174  android.hardwa-812   (  812) [006] ...1 1034723.493398: tracing_mark_write: E|812
27175  hwservicemanag-570   (  570) [000] ...1 1034723.493408: tracing_mark_write: E|570
27176          atrace-27096 (27096) [000] ...1 1034723.493454: tracing_mark_write: E|27096
27177          atrace-27096 (27096) [000] ...1 1034723.493460: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27178          atrace-27096 (27096) [000] ...1 1034723.493483: tracing_mark_write: E|27096
27179          atrace-27096 (27096) [000] ...1 1034723.493494: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27180  android.hardwa-812   (  812) [006] ...1 1034723.493504: tracing_mark_write: B|812|HIDL::IBase::notifySyspropsChanged::server
27181  hwservicemanag-570   (  570) [002] ...1 1034723.493528: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27182  android.hardwa-812   (  812) [006] ...1 1034723.493570: tracing_mark_write: E|812
27183  hwservicemanag-570   (  570) [002] ...1 1034723.493630: tracing_mark_write: E|570
27184          atrace-27096 (27096) [002] ...1 1034723.493681: tracing_mark_write: E|27096
27185          atrace-27096 (27096) [002] ...1 1034723.493687: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27186          atrace-27096 (27096) [002] ...1 1034723.493730: tracing_mark_write: E|27096
27187          atrace-27096 (27096) [002] ...1 1034723.493743: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27188  allocator@1.0--731   (  731) [005] ...1 1034723.493772: tracing_mark_write: B|731|HIDL::IBase::notifySyspropsChanged::server
27189  hwservicemanag-570   (  570) [000] ...1 1034723.493778: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27190  hwservicemanag-570   (  570) [000] ...1 1034723.493865: tracing_mark_write: E|570
27191  allocator@1.0--731   (  731) [005] ...1 1034723.493901: tracing_mark_write: E|731
27192          atrace-27096 (27096) [000] ...1 1034723.493911: tracing_mark_write: E|27096
27193          atrace-27096 (27096) [000] ...1 1034723.493916: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27194          atrace-27096 (27096) [000] ...1 1034723.493956: tracing_mark_write: E|27096
27195          atrace-27096 (27096) [000] ...1 1034723.493969: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27196  hwservicemanag-570   (  570) [002] ...1 1034723.494004: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27197  hwservicemanag-570   (  570) [002] ...1 1034723.494089: tracing_mark_write: E|570
27198          atrace-27096 (27096) [002] ...1 1034723.494139: tracing_mark_write: E|27096
27199          atrace-27096 (27096) [002] ...1 1034723.494144: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27200          atrace-27096 (27096) [002] ...1 1034723.494168: tracing_mark_write: E|27096
27201          atrace-27096 (27096) [002] ...1 1034723.494180: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27202  allocator@1.0--731   (  731) [005] ...1 1034723.494188: tracing_mark_write: B|731|HIDL::IBase::notifySyspropsChanged::server
27203  hwservicemanag-570   (  570) [000] ...1 1034723.494215: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27204  allocator@1.0--731   (  731) [005] ...1 1034723.494241: tracing_mark_write: E|731
27205  hwservicemanag-570   (  570) [000] ...1 1034723.494300: tracing_mark_write: E|570
27206          atrace-27096 (27096) [000] ...1 1034723.494353: tracing_mark_write: E|27096
27207          atrace-27096 (27096) [000] ...1 1034723.494359: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27208          atrace-27096 (27096) [000] ...1 1034723.494398: tracing_mark_write: E|27096
27209          atrace-27096 (27096) [000] ...1 1034723.494410: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27210         healthd-729   (  729) [002] ...1 1034723.494434: tracing_mark_write: B|729|HIDL::IBase::notifySyspropsChanged::server
27211  hwservicemanag-570   (  570) [000] ...1 1034723.494450: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27212         healthd-729   (  729) [002] ...1 1034723.494492: tracing_mark_write: E|729
27213  hwservicemanag-570   (  570) [000] ...1 1034723.494533: tracing_mark_write: E|570
27214          atrace-27096 (27096) [005] ...1 1034723.494595: tracing_mark_write: E|27096
27215          atrace-27096 (27096) [005] ...1 1034723.494603: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27216          atrace-27096 (27096) [005] ...1 1034723.494654: tracing_mark_write: E|27096
27217          atrace-27096 (27096) [005] ...1 1034723.494670: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27218  HwBinder:741_4-23194 (  741) [006] ...1 1034723.494678: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server
27219  hwservicemanag-570   (  570) [000] ...1 1034723.494713: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27220  HwBinder:741_4-23194 (  741) [006] ...1 1034723.494764: tracing_mark_write: E|741
27221  hwservicemanag-570   (  570) [000] ...1 1034723.494795: tracing_mark_write: E|570
27222          atrace-27096 (27096) [000] ...1 1034723.494850: tracing_mark_write: E|27096
27223          atrace-27096 (27096) [000] ...1 1034723.494857: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27224          atrace-27096 (27096) [000] ...1 1034723.494899: tracing_mark_write: E|27096
27225          atrace-27096 (27096) [000] ...1 1034723.494911: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27226  hwservicemanag-570   (  570) [002] ...1 1034723.494947: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27227  HwBinder:890_1-946   (  890) [005] ...1 1034723.494972: tracing_mark_write: B|890|HIDL::IBase::notifySyspropsChanged::server
27228  hwservicemanag-570   (  570) [002] ...1 1034723.495033: tracing_mark_write: E|570
27229          atrace-27096 (27096) [002] ...1 1034723.495080: tracing_mark_write: E|27096
27230          atrace-27096 (27096) [002] ...1 1034723.495086: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27231          atrace-27096 (27096) [002] ...1 1034723.495113: tracing_mark_write: E|27096
27232          atrace-27096 (27096) [002] ...1 1034723.495125: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27233  HwBinder:890_1-946   (  890) [005] ...1 1034723.495134: tracing_mark_write: E|890
27234  HwBinder:1151_-1194  ( 1151) [007] ...1 1034723.495155: tracing_mark_write: B|1151|HIDL::IBase::notifySyspropsChanged::server
27235  hwservicemanag-570   (  570) [000] ...1 1034723.495160: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27236  hwservicemanag-570   (  570) [000] ...1 1034723.495247: tracing_mark_write: E|570
27237          atrace-27096 (27096) [000] ...1 1034723.495293: tracing_mark_write: E|27096
27238          atrace-27096 (27096) [000] ...1 1034723.495298: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27239          atrace-27096 (27096) [000] ...1 1034723.495325: tracing_mark_write: E|27096
27240          atrace-27096 (27096) [000] ...1 1034723.495337: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27241  neuralnetworks-756   (  756) [005] ...1 1034723.495360: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server
27242  hwservicemanag-570   (  570) [002] ...1 1034723.495370: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27243  neuralnetworks-756   (  756) [005] ...1 1034723.495446: tracing_mark_write: E|756
27244  hwservicemanag-570   (  570) [002] ...1 1034723.495466: tracing_mark_write: E|570
27245          atrace-27096 (27096) [002] ...1 1034723.495512: tracing_mark_write: E|27096
27246          atrace-27096 (27096) [002] ...1 1034723.495518: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27247          atrace-27096 (27096) [002] ...1 1034723.495543: tracing_mark_write: E|27096
27248          atrace-27096 (27096) [002] ...1 1034723.495555: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27249            rild-917   (  917) [005] ...1 1034723.495575: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27250  hwservicemanag-570   (  570) [000] ...1 1034723.495590: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27251            rild-917   (  917) [005] ...1 1034723.495655: tracing_mark_write: E|917
27252  hwservicemanag-570   (  570) [000] ...1 1034723.495674: tracing_mark_write: E|570
27253          atrace-27096 (27096) [000] ...1 1034723.495722: tracing_mark_write: E|27096
27254          atrace-27096 (27096) [000] ...1 1034723.495727: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27255          atrace-27096 (27096) [000] ...1 1034723.495752: tracing_mark_write: E|27096
27256          atrace-27096 (27096) [000] ...1 1034723.495764: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27257  provider@2.4-s-736   (  736) [005] ...1 1034723.495793: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server
27258  hwservicemanag-570   (  570) [002] ...1 1034723.495797: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27259  hwservicemanag-570   (  570) [002] ...1 1034723.495900: tracing_mark_write: E|570
27260  provider@2.4-s-736   (  736) [005] ...1 1034723.495904: tracing_mark_write: E|736
27261  HwBinder:1151_-1194  ( 1151) [007] ...1 1034723.495939: tracing_mark_write: E|1151
27262          atrace-27096 (27096) [005] ...1 1034723.495978: tracing_mark_write: E|27096
27263          atrace-27096 (27096) [005] ...1 1034723.495985: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27264            rild-917   (  917) [005] ...1 1034723.496033: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27265            rild-917   (  917) [005] ...1 1034723.496112: tracing_mark_write: E|917
27266          atrace-27096 (27096) [005] ...1 1034723.496143: tracing_mark_write: E|27096
27267          atrace-27096 (27096) [005] ...1 1034723.496161: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27268  hwservicemanag-570   (  570) [000] ...1 1034723.496281: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27269  hwservicemanag-570   (  570) [000] ...1 1034723.496478: tracing_mark_write: E|570
27270          atrace-27096 (27096) [000] ...1 1034723.496574: tracing_mark_write: E|27096
27271          atrace-27096 (27096) [000] ...1 1034723.496584: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27272          atrace-27096 (27096) [000] ...1 1034723.496619: tracing_mark_write: E|27096
27273            rild-917   (  917) [005] ...1 1034723.496637: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27274          atrace-27096 (27096) [000] ...1 1034723.496638: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27275  hwservicemanag-570   (  570) [001] ...1 1034723.496693: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27276            rild-917   (  917) [005] ...1 1034723.496714: tracing_mark_write: E|917
27277  hwservicemanag-570   (  570) [001] ...1 1034723.496819: tracing_mark_write: E|570
27278          atrace-27096 (27096) [001] ...1 1034723.496917: tracing_mark_write: E|27096
27279          atrace-27096 (27096) [001] ...1 1034723.496926: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27280          atrace-27096 (27096) [001] ...1 1034723.497001: tracing_mark_write: E|27096
27281          atrace-27096 (27096) [001] ...1 1034723.497022: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27282  HwBinder:732_1-767   (  732) [002] ...1 1034723.497033: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server
27283  hwservicemanag-570   (  570) [001] ...1 1034723.497070: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27284  HwBinder:732_1-767   (  732) [002] ...1 1034723.497095: tracing_mark_write: E|732
27285  hwservicemanag-570   (  570) [001] ...1 1034723.497151: tracing_mark_write: E|570
27286          atrace-27096 (27096) [005] ...1 1034723.497210: tracing_mark_write: E|27096
27287          atrace-27096 (27096) [005] ...1 1034723.497217: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27288          atrace-27096 (27096) [005] ...1 1034723.497262: tracing_mark_write: E|27096
27289          atrace-27096 (27096) [005] ...1 1034723.497277: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27290  HwBinder:740_2-23191 (  740) [006] ...1 1034723.497292: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server
27291  hwservicemanag-570   (  570) [000] ...1 1034723.497329: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27292  HwBinder:740_2-23191 (  740) [006] ...1 1034723.497394: tracing_mark_write: E|740
27293  hwservicemanag-570   (  570) [000] ...1 1034723.497446: tracing_mark_write: E|570
27294          atrace-27096 (27096) [000] ...1 1034723.497501: tracing_mark_write: E|27096
27295          atrace-27096 (27096) [000] ...1 1034723.497508: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27296          atrace-27096 (27096) [000] ...1 1034723.497533: tracing_mark_write: E|27096
27297  hwservicemanag-570   (  570) [001] ...1 1034723.497543: tracing_mark_write: B|570|HIDL::IBase::notifySyspropsChanged::server
27298          atrace-27096 (27096) [000] ...1 1034723.497545: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27299  hwservicemanag-570   (  570) [001] ...1 1034723.500417: tracing_mark_write: E|570
27300  hwservicemanag-570   (  570) [001] ...1 1034723.500433: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27301  hwservicemanag-570   (  570) [001] ...1 1034723.500545: tracing_mark_write: E|570
27302          atrace-27096 (27096) [001] ...1 1034723.500591: tracing_mark_write: E|27096
27303          atrace-27096 (27096) [001] ...1 1034723.500596: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27304          atrace-27096 (27096) [001] ...1 1034723.500619: tracing_mark_write: E|27096
27305  hwservicemanag-570   (  570) [000] ...1 1034723.500629: tracing_mark_write: B|570|HIDL::IBase::notifySyspropsChanged::server
27306          atrace-27096 (27096) [001] ...1 1034723.500631: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27307  hwservicemanag-570   (  570) [000] ...1 1034723.503454: tracing_mark_write: E|570
27308  hwservicemanag-570   (  570) [000] ...1 1034723.503470: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27309  hwservicemanag-570   (  570) [000] ...1 1034723.503572: tracing_mark_write: E|570
27310          atrace-27096 (27096) [005] ...1 1034723.503623: tracing_mark_write: E|27096
27311          atrace-27096 (27096) [005] ...1 1034723.503629: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27312          atrace-27096 (27096) [005] ...1 1034723.503659: tracing_mark_write: E|27096
27313          atrace-27096 (27096) [005] ...1 1034723.503672: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27314  hwservicemanag-570   (  570) [001] ...1 1034723.503679: tracing_mark_write: B|570|HIDL::IBase::notifySyspropsChanged::server
27315  hwservicemanag-570   (  570) [001] ...1 1034723.506461: tracing_mark_write: E|570
27316  hwservicemanag-570   (  570) [001] ...1 1034723.506479: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27317  hwservicemanag-570   (  570) [001] ...1 1034723.506597: tracing_mark_write: E|570
27318  HwBinder:778_1-1087  (  778) [000] ...1 1034723.506605: tracing_mark_write: E|778
27319          atrace-27096 (27096) [004] ...1 1034723.506661: tracing_mark_write: E|27096
27320   SensorService-1283  ( 1151) [001] ...1 1034723.506663: tracing_mark_write: E|1151
27321          atrace-27096 (27096) [004] ...1 1034723.506670: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27322          atrace-27096 (27096) [004] ...1 1034723.506705: tracing_mark_write: E|27096
27323          atrace-27096 (27096) [004] ...1 1034723.506721: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27324   SensorService-1283  ( 1151) [001] ...1 1034723.506725: tracing_mark_write: B|1151|HIDL::ISensors::poll::client
27325  HwBinder:685_1-717   (  685) [006] ...1 1034723.506739: tracing_mark_write: B|685|HIDL::IBase::notifySyspropsChanged::server
27326  HwBinder:778_1-1087  (  778) [000] ...1 1034723.506769: tracing_mark_write: B|778|HIDL::ISensors::poll::server
27327  hwservicemanag-570   (  570) [001] ...1 1034723.506776: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27328  HwBinder:685_1-717   (  685) [006] ...1 1034723.506845: tracing_mark_write: E|685
27329  hwservicemanag-570   (  570) [001] ...1 1034723.506892: tracing_mark_write: E|570
27330          atrace-27096 (27096) [006] ...1 1034723.506957: tracing_mark_write: E|27096
27331          atrace-27096 (27096) [006] ...1 1034723.506964: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27332          atrace-27096 (27096) [006] ...1 1034723.507006: tracing_mark_write: E|27096
27333          atrace-27096 (27096) [006] ...1 1034723.507022: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27334  HwBinder:904_1-997   (  904) [007] ...1 1034723.507047: tracing_mark_write: B|904|HIDL::IBase::notifySyspropsChanged::server
27335  hwservicemanag-570   (  570) [000] ...1 1034723.507073: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27336  HwBinder:904_1-997   (  904) [007] ...1 1034723.507127: tracing_mark_write: E|904
27337  hwservicemanag-570   (  570) [000] ...1 1034723.507182: tracing_mark_write: E|570
27338          atrace-27096 (27096) [007] ...1 1034723.507253: tracing_mark_write: E|27096
27339          atrace-27096 (27096) [007] ...1 1034723.507262: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27340          atrace-27096 (27096) [007] ...1 1034723.507301: tracing_mark_write: E|27096
27341            rild-917   (  917) [004] ...1 1034723.507317: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27342          atrace-27096 (27096) [007] ...1 1034723.507318: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27343  hwservicemanag-570   (  570) [003] ...1 1034723.507371: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27344            rild-917   (  917) [004] ...1 1034723.507398: tracing_mark_write: E|917
27345  hwservicemanag-570   (  570) [003] ...1 1034723.507481: tracing_mark_write: E|570
27346          atrace-27096 (27096) [003] ...1 1034723.507546: tracing_mark_write: E|27096
27347          atrace-27096 (27096) [003] ...1 1034723.507553: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27348          atrace-27096 (27096) [003] ...1 1034723.507581: tracing_mark_write: E|27096
27349          atrace-27096 (27096) [003] ...1 1034723.507595: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27350            rild-917   (  917) [004] ...1 1034723.507601: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27351  hwservicemanag-570   (  570) [000] ...1 1034723.507631: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27352            rild-917   (  917) [004] ...1 1034723.507674: tracing_mark_write: E|917
27353  hwservicemanag-570   (  570) [000] ...1 1034723.507745: tracing_mark_write: E|570
27354          atrace-27096 (27096) [004] ...1 1034723.507807: tracing_mark_write: E|27096
27355          atrace-27096 (27096) [004] ...1 1034723.507816: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27356          atrace-27096 (27096) [004] ...1 1034723.507852: tracing_mark_write: E|27096
27357            rild-917   (  917) [006] ...1 1034723.507867: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27358          atrace-27096 (27096) [004] ...1 1034723.507869: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27359  hwservicemanag-570   (  570) [003] ...1 1034723.507916: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27360            rild-917   (  917) [006] ...1 1034723.507950: tracing_mark_write: E|917
27361  hwservicemanag-570   (  570) [003] ...1 1034723.508010: tracing_mark_write: E|570
27362          atrace-27096 (27096) [003] ...1 1034723.508066: tracing_mark_write: E|27096
27363          atrace-27096 (27096) [003] ...1 1034723.508072: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27364          atrace-27096 (27096) [003] ...1 1034723.508100: tracing_mark_write: E|27096
27365          atrace-27096 (27096) [003] ...1 1034723.508111: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27366  HwBinder:890_1-946   (  890) [006] ...1 1034723.508130: tracing_mark_write: B|890|HIDL::IBase::notifySyspropsChanged::server
27367  hwservicemanag-570   (  570) [000] ...1 1034723.508145: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27368  HwBinder:890_1-946   (  890) [006] ...1 1034723.508215: tracing_mark_write: E|890
27369  hwservicemanag-570   (  570) [000] ...1 1034723.508232: tracing_mark_write: E|570
27370          atrace-27096 (27096) [006] ...1 1034723.508313: tracing_mark_write: E|27096
27371          atrace-27096 (27096) [006] ...1 1034723.508321: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27372          atrace-27096 (27096) [006] ...1 1034723.508353: tracing_mark_write: E|27096
27373          atrace-27096 (27096) [006] ...1 1034723.508368: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27374  HwBinder:890_1-946   (  890) [004] ...1 1034723.508368: tracing_mark_write: B|890|HIDL::IBase::notifySyspropsChanged::server
27375  hwservicemanag-570   (  570) [003] ...1 1034723.508415: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27376  HwBinder:890_1-946   (  890) [004] ...1 1034723.508448: tracing_mark_write: E|890
27377  hwservicemanag-570   (  570) [003] ...1 1034723.508507: tracing_mark_write: E|570
27378          atrace-27096 (27096) [003] ...1 1034723.508563: tracing_mark_write: E|27096
27379          atrace-27096 (27096) [003] ...1 1034723.508569: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27380          atrace-27096 (27096) [003] ...1 1034723.508598: tracing_mark_write: E|27096
27381          atrace-27096 (27096) [003] ...1 1034723.508610: tracing_mark_write: B|27096|HIDL::IServiceManager::get::client
27382  hwservicemanag-570   (  570) [003] ...1 1034723.508650: tracing_mark_write: B|570|HIDL::IServiceManager::get::server
27383  hwservicemanag-570   (  570) [003] ...1 1034723.508740: tracing_mark_write: E|570
27384          atrace-27096 (27096) [004] ...1 1034723.508800: tracing_mark_write: E|27096
27385          atrace-27096 (27096) [004] ...1 1034723.508808: tracing_mark_write: B|27096|HIDL::IBase::notifySyspropsChanged::client
27386          atrace-27096 (27096) [004] ...1 1034723.508848: tracing_mark_write: E|27096
27387          atrace-27096 (27096) [004] ...1 1034723.508862: tracing_mark_write: E|27096
27388            rild-917   (  917) [006] ...1 1034723.508863: tracing_mark_write: B|917|HIDL::IBase::notifySyspropsChanged::server
27389            rild-917   (  917) [006] ...1 1034723.508939: tracing_mark_write: E|917
27390  </script>
27391  <script class="trace-data" type="application/text">
27392{"traceEvents": [{"category": "process_argv", "name": "process_argv", "args": {"argv": ["/tmp/sar.systrace_sh.sar.0.9CzsyqQ9sZ/systrace_sh.runfiles/google3/third_party/java/android/android_sdk_linux/platforms/experimental/build-tools/systrace/systrace.py", "-e", "FA7BN1A03755", "-o", "/var/www/mh_lab_gen_files/c5d48edf-3a6f-4f85-8d5d-476a33a7834b/test_83e62778-66cb-4be0-94b2-c991ec74574e/systrace.html", "nnapi", "hal", "--app=com.google.android.testing.mlts.benchmark.mobileiq", "-b", "131072"]}, "pid": 102360, "ts": 12743874060593.143, "tid": 139948335695616, "ph": "M"}, {"category": "python", "name": "clock_sync", "args": {"issue_ts": 12743897028173.988, "sync_id": "ed6e2e24-98d1-4b4b-83d2-7509d113d490"}, "pid": 102360, "ts": 12743897032380.14, "tid": 139948390774592, "ph": "c"}], "metadata": {"clock-domain": "SYSTRACE"}}  </script>
27393<!-- END TRACE -->
27394</body>
27395</html>
27396